Imported Upstream version 2.3.6

This commit is contained in:
Ari Pollak
2010-08-11 01:18:19 -04:00
parent 7802c3a9cb
commit de5dc4f4c2
3129 changed files with 762016 additions and 525609 deletions

20
AUTHORS
View File

@ -18,7 +18,6 @@ This file is generated from authors.xml, do not edit it directly.
Xavier Bouchoux
Roberto Boyd
Stanislav Brabec
Robert Brady
Hans Breuer
Simon Budig
João S. O. Bueno Calligaris
@ -30,7 +29,6 @@ This file is generated from authors.xml, do not edit it directly.
George J. Carrette
Sean Cier
Winston Chang
Kenneth Christiansen
Zbigniew Chyla
Branko Collin
Ed Connel
@ -39,7 +37,7 @@ This file is generated from authors.xml, do not edit it directly.
Jay Cox
Kevin Cozens
Brian Degenhardt
Gert Dewit
Karine Delvare
Andreas Dilger
Austin Donnelly
Scott Draves
@ -49,13 +47,11 @@ This file is generated from authors.xml, do not edit it directly.
Morton Eriksen
Larry Ewing
Nick Fetchak
Valek Filippov
Shlomi Fish
David Forsyth
Raphael Francois
Jochen Friedrich
Jordi Gay
Sami Gerdt
Jim Geuther
Graeme Gill
Pedro Gimeno
@ -67,8 +63,6 @@ This file is generated from authors.xml, do not edit it directly.
Pavel Grinfeld
Dov Grobgeld
Michael Hammel
Henrik Hansen
Ville Hautamäki
James Henstridge
Eric Hernes
David Hodson
@ -76,12 +70,9 @@ This file is generated from authors.xml, do not edit it directly.
Wolfgang Hofer
Alan Horkan
Jan Hubička
Andreas Hyden
Ben Jackson
Krzysztof Jakubowski
Simon Janes
Tim Janik
Fellmann Joaquim
Róman Joost
Geert Jordaens
Andrew Kieschnick
@ -118,7 +109,6 @@ This file is generated from authors.xml, do not edit it directly.
Torsten Martinsen
Gordon Matzigkeit
Gregory McLean
Daniele Medri
Federico Mena Quintero
Jim Meyer
James Mitchell
@ -127,7 +117,6 @@ This file is generated from authors.xml, do not edit it directly.
Adam D Moss
Balazs Nagy
Yukihiro Nakai
Sung-Hyun Nam
Shuji Narazaki
Felix Natter
Michael Natterer
@ -144,23 +133,19 @@ This file is generated from authors.xml, do not edit it directly.
Garry R. Osgood
Alan Paeth
Jay Painter
Sergey Panov
Ville Pätsi
Akkana Peck
Asbjorn Pettersen
Mike Phillips
Artur Polaczynski
Ari Pollak
Karine Proot
Raphaël Quinet
Tom Rathborne
Vincent Renardias
Jens Restemeier
Maurits Rijk
Daniel Risacher
James Robinson
Guillermo S. Romero
Tim Rowley
Pablo Saratxaga
Mike Schaeffer
John Schlag
Norbert Schmitz
@ -178,7 +163,6 @@ This file is generated from authors.xml, do not edit it directly.
Jakub Steiner
Nathan Summers
Mike Sweet
Yuri Syrota
Eiichi Takamori
Tristan Tarrant
Michael Taylor

15624
ChangeLog

File diff suppressed because it is too large Load Diff

51
HACKING
View File

@ -5,15 +5,15 @@ to have the following packages (or newer versions) installed:
* GNU autoconf 2.54
- ftp://ftp.gnu.org/gnu/autoconf/
* GNU automake 1.8 or newer
* GNU automake 1.9 (automake 1.8 should also work)
- ftp://ftp.gnu.org/gnu/automake/
* GNU libtool 1.4 (1.5 if you are compiling on Win32)
* GNU libtool 1.4 (libtool 1.5 if you are compiling on Win32)
- ftp://ftp.gnu.org/gnu/libtool/
Fine GNU mirrors are listed at http://www.gnu.org/prep/ftp.html
Beta software can be found at alpha.gnu.org.
* pkg-config 0.7.0 (or preferably a newer version)
* pkg-config 0.15.0 (or preferably a newer version)
- http://www.freedesktop.org/software/pkgconfig/
* intltoolize 0.31.1 (or preferably a newer version)
@ -26,25 +26,24 @@ Beta software can be found at alpha.gnu.org.
- ftp://ftp.gnome.org/pub/GNOME/sources/libxslt/1.1/
These are only the additional requirements if you want to compile from
the Subversion repository. The file INSTALL lists the various libraries
we depend on.
CVS. The file INSTALL lists the various libraries we depend on.
Compilation
-----------
If you are accessing gimp via Subversion, then you will need to take
several steps to get it to compile. You can do all these steps at once
If you are accessing gimp via CVS, then you will need to take several
steps to get it to compile. You can do all these steps at once
by running:
gimp/trunk$ ./autogen.sh
cvsroot/gimp$ ./autogen.sh
Basically this does the following for you:
gimp/trunk$ aclocal-1.9; libtoolize; automake-1.9 -a;
gimp/trunk$ autoconf; glib-gettextize; intltoolize
cvsroot/gimp$ aclocal-1.9; libtoolize; automake-1.9 -a;
cvsroot/gimp$ autoconf; glib-gettextize; intltoolize
The above commands create the "configure" script. Now you can run the
configure script in gimp/trunk to create all the Makefiles.
configure script in cvsroot/gimp to create all the Makefiles.
Before running autogen.sh or configure, make sure you have libtool in
your path. Also make sure glib-2.0.m4 glib-gettext.m4, gtk-2.0.m4,
@ -70,29 +69,25 @@ disable the support for gtk-doc so you will not be able to generate
the API documentation.
Subversion
----------
GIMP is available from GNOME Subversion. You can also grab glib, pango,
atk, gtk+, libart, gtkhtml2 as well as intltool and gtk-doc from the
same Subversion server. You can use the following commands to get them
from the anonymous Subversion server:
For getting the trunk, use:
$ svn co http://svn.gnome.org/svn/<module>/trunk <module>
For getting a branch, use:
$ svn co http://svn.gnome.org/svn/<module>/branches/<branch> <module>
CVS
---
GIMP is available from GNOME CVS. You can also grab glib, pango, atk,
gtk+, libart, gtkhtml2 as well as intltool and gtk-doc from the same
CVS server. You can use the following commands to get them from the
anonymous CVS server:
$ export CVSROOT=':pserver:anonymous@anoncvs.gimp.org:/cvs/gnome'
$ cvs login
(there is no password, just hit return)
$ cvs -z3 checkout [-r <branch>] <module>
The interesting modules and the suggested stable branches to use are:
* gimp
* glib (glib-2-4)
* glib (glib-2-6)
* atk (gnome-2-6)
* pango (pango-1-4)
* gtk+ (gtk-2-4)
* pango (pango-1-8)
* gtk+ (gtk-2-6)
* libart_lgpl
* gtkhtml2
* intltool

127
INSTALL
View File

@ -1,16 +1,17 @@
Installation instructions for GIMP 2.2
Installation instructions for GIMP 2.3
--------------------------------------
There are some basic steps to building and installing The GIMP.
GIMP 2.2 replaces GIMP 2.0. It is advised that you uninstall GIMP 2.0
before installing GIMP 2.2. If you want to keep GIMP 2.0 installed in
parallel to GIMP 2.2, you have to choose a separate prefix which is
not in your default library search path.
GIMP 2.3 replaces earlier GIMP 2.x versions. It is advised that you
uninstall them before installing GIMP 2.3. If you want to keep your
older GIMP 2.x installation in parallel to GIMP 2.3, you have to
choose a separate prefix which is not in your default library search
path.
GIMP 2.2 is fully backward compatible to GIMP 2.0. Plug-ins and
GIMP 2.x is fully backward compatible to GIMP 2.0. Plug-ins and
scripts written for GIMP 2.0 will continue to work and don't need to
be changed nor recompiled to be used with GIMP 2.2.
be changed nor recompiled to be used with GIMP 2.x.
The most important part is to make sure the requirements for a build
are fulfilled. We depend on a number of tools and libraries which are
@ -27,12 +28,12 @@ header files installed.
1. You need to have installed a recent version of pkg-config available
from http://www.freedesktop.org/software/pkgconfig/.
2. You need to have installed GTK+ version 2.4.4 or better. Do not
try to use an older GTK+ version (1.2.x), it will not work.
GTK+ itself needs recent versions of GLib (>= 2.4.5),
Pango (>= 1.4.0) and ATK. Sources for these can be grabbed from
ftp://ftp.gtk.org/. GTK+-2.x and friends can be installed side
by side with GTK+-1.2.
2. You need to have installed GTK+ version 2.6.0 or newer. Do not
try to use an older GTK+ version (1.2.x), it will not work. GIMP
needs an even more recent version of GLib (>= 2.8.0). It also
wants Pango (>= 1.8.0) and ATK. Sources for these can be grabbed
from ftp://ftp.gtk.org/. GTK+-2.x and friends can be installed
side by side with GTK+-1.2.
3. We require PangoFT2, a Pango backend that uses FreeType2. Make
sure you have FreeType2 and fontconfig installed before you
@ -40,29 +41,28 @@ header files installed.
http://www.freetype.org/. Fontconfig from
http://freedesktop.org/fontconfig/. GIMP 2.2 depends on
freetype2 being newer than version 2.1.7. Older versions are
known to have bugs that seriously affect stability of The GIMP.
known to have bugs that seriously affect stability of GIMP.
4. We use libart2. Grab the module libart_lgpl from the GNOME
Subversion repository or fetch the tarball from
4. We use libart2. Grab the module libart_lgpl out of GNOME CVS or
fetch the tarball from
ftp://ftp.gnome.org/pub/gnome/sources/libart_lgpl/
5. You may want to install other third party libraries or programs that
are needed for some of the available plugins. We recommend to check
that the following libraries are installed: libpng, libjpeg,
libtiff, gimp-print (4.2.x), gtkhtml-2, libmng, librsvg, libwmf.
5. You may want to install other third party libraries or programs
that are needed for some of the available plugins. We recommend
to check that the following libraries are installed: libpng,
libjpeg, libpoppler, libtiff, gtkhtml-2, libmng, librsvg, libwmf.
6. Configure the GIMP by running the `configure' script. You may want
6. Configure GIMP by running the `configure' script. You may want
to pass some options to it, see below.
7. Build the GIMP by running `make'. The use of GNU make is recommened.
7. Build GIMP by running `make'. The use of GNU make is recommened.
If you need to tweak the build to make it work with other flavours
of make, we'd appreciate if you'd send us a patch with the changes.
8. Install the GIMP by running `make install'. In order to avoid clashes
with other versions of The GIMP, we install a binary called gimp-2.2.
8. Install GIMP by running `make install'. In order to avoid clashes
with other versions of GIMP, we install a binary called gimp-2.3.
By default there's also a link created so that you can type 'gimp'
to start gimp-2.2. If you have the 2.0 version installed, you should
still be able to run it using 'gimp-2.0'.
to start gimp-2.3.
Please make sure you don't have any old GTK+-2.x, jpeg, etc. libraries
lying around on your system, otherwise configure may fail to find the
@ -71,19 +71,19 @@ new ones.
Generic instructions for configuring and compiling auto-configured
packages are included below. Here is an illustration of commands that
might be used to build and install the GIMP. The actual configuration,
might be used to build and install GIMP. The actual configuration,
compilation and installation output is not shown.
% tar xvfz gimp-2.2.x.tar.gz # unpack the sources
% cd gimp-2.2.x # change to the toplevel directory
% tar xvfz gimp-2.3.x.tar.gz # unpack the sources
% cd gimp-2.3.x # change to the toplevel directory
% ./configure # run the `configure' script
% make # build the GIMP
% make install # install the GIMP
% make # build GIMP
% make install # install GIMP
The `configure' script examines your system, and adapts the GIMP to
run on it. The script has many options, some of which are described in
the generic instructions included at the end of this file. All of the
The `configure' script examines your system, and adapts GIMP to run on
it. The script has many options, some of which are described in the
generic instructions included at the end of this file. All of the
options can be listed using the command `./configure --help'. There
are several special options the GIMP `configure' script recognizes.
These are:
@ -95,7 +95,7 @@ These are:
--enable-debug and --disable-debug. This option causes the build
process to compile with debugging enabled. If debugging is
disabled, the GIMP will instead be compiled with optimizations turned
disabled, GIMP will instead be compiled with optimizations turned
on. The default is for debugging to be disabled. NOTE: This
option is intended primarily as a convenience for developers.
@ -105,8 +105,13 @@ These are:
is intended primarily as a convenience for developers.
--enable-gimpdir=DIR. This option changes the default directory
the gimp uses to search for its configuration files from ~/.gimp-2.2
(the directory .gimp-2.2 in the users home directory) to DIR.
GIMP uses to search for its configuration files from ~/.gimp-2.3
(the directory .gimp-2.3 in the users home directory) to DIR.
--enable-binreloc. When compiled for Linux with this option enabled,
GIMP will be binary relocatable. Plug-ins and data files will
be searched relative to the gimp binary instead of in the paths
defined at compile time.
--without-libtiff, --without-libjpeg, --without-libpng. configure
will bail out if libtiff, libjpeg or libpng can not be found. You
@ -136,6 +141,19 @@ These are:
--without-lcms. If for some reason you want to build GIMP without
using lcms for color support, you can build with --without-lcms.
--without-poppler. If for some reason you don't want to build the PDF
import plug-in that uses libpoppler, you can use --without-poppler.
--without-gnomeprint. If you don't want to build the Print plug-in
that uses libgnomeprint, you can use --without-gnomeprint.
--without-gimpprint. The gimp-print plug-in provides Print support
by means of libgimpprint (see http://gimp-print.sourceforge.net/).
The gimp-print project has changed its name to gutenprint in the
meantime and you may find that libgimpprint 4.2 is somewhat outdated.
You can disable the build of this plug-in and instead grab a beta
release of gutenprint which comes with a GIMP plug-in.
--with-gif-compression=[lzw|rle|none]. Allows to tune the compression
algorithm used by the GIF plug-in. If you are afraid of Unisys' LZW
patent (which should have expired in most countries by now), you
@ -145,7 +163,7 @@ These are:
--enable-gtk-doc. This option controls whether the libgimp API
references will be created using gtk-doc. The HTML pages are
included in a standard tarball, so you will only need this if you
are building from a Subversion checkout.
are building from CVS.
--with-html-dir=PATH. This option allows to specify where the
libgimp API reference should be installed. You might want to modify
@ -153,13 +171,6 @@ These are:
their API references so that the libgimp reference can link to
them.
--disable-print. The print plug-in requires a recent version of
libgimpprint. If you don't have it already installed, download
it from http://gimp-print.sourceforge.net/. You need to pass
--without-gimp to gimp-print's configure script to build it without
having gimp-1.2 installed. If you want to compile GIMP without
support for printing, use the --disable-print option.
--enable-mp. This options control whether to build GIMP with or without
support for multiple processors. This option is off by default. If
you do have multiply processors and run GIMP with an OS supporting
@ -172,26 +183,26 @@ These are:
because configure tries to find it in the usual places.
--with-desktop-dir=[PATH]. This option specifies where to install
links to the gimp desktop files. These files are used by desktop
environments that comply to the specs published at freedesktop.org.
The default value ${prefix}/share should be fine if your desktop
environment is installed in the same prefix as gimp. No links are
created if the desktop directories don't exist or you used
--without-desktop-dir.
desktop files. These files are used by desktop environments that
comply to the specs published at freedesktop.org. The default
value ${prefix}/share should be fine if your desktop environment
is installed in the same prefix as gimp. No files are installed
if you call configure with --without-desktop-dir.
--disable-default-binary. Use this option if you don't want to make
gimp-2.2 the default gimp installation. Otherwise a link called
gimp pointing to the gimp-2.2 executable will be installed.
gimp-2.3 the default gimp installation. Otherwise a link called
gimp pointing to the gimp-2.3 executable will be installed.
--enable-gimp-console. In addition to the standard gimp binary,
build a console-only binary which does not link GTK+ at all.
--disable-gimp-console. Use this option if you don't want the
gimp-console binary to be built in addition to the standard binary.
gimp-console is useful for command-line batch mode or as a server.
The `make' command builds several things:
- A bunch of public libraries in the directories starting with 'libgimp'.
- The plug-in programs in the 'plug-ins' directory.
- Some modules in the 'modules' subdirectory.
- The main GIMP program 'gimp-2.2' in `app'.
- The main GIMP program 'gimp-2.3' in `app'.
The `make install' commands installs the gimp header files associated
with the libgimp libraries, the plug-ins, some data files and the GIMP
@ -273,10 +284,6 @@ certain place, e.g. if you are working in a bash shell you would say:
export CPPFLAGS="-I<path_to_header_file> -I<path_to_another_one>"
before you run configure.
* If the check for gimpprint fails even though you have version 4.2.x
installed, please try the latest available 4.2 package (which is
gimp-print 4.2.7 at the time of this writing).
Generic Instructions for Building Auto-Configured Packages
==========================================================

View File

@ -10,12 +10,14 @@ SUBDIRS = \
po-libgimp \
po-plug-ins \
po-script-fu \
po-tips \
data \
desktop \
menus \
tips \
libgimpbase \
libgimpcolor \
libgimpmath \
libgimpconfig \
libgimpmodule \
libgimpthumb \
libgimpwidgets \
@ -76,7 +78,7 @@ EXTRA_DIST = \
po-script-fu/update.sh
DISTCHECK_CONFIGURE_FLAGS = --enable-gimp-console --disable-print
DISTCHECK_CONFIGURE_FLAGS = --enable-gimp-console
DISTCLEANFILES = \
intltool-extract \
@ -94,5 +96,6 @@ if HAVE_XMLLINT
( echo "* authors.xml INVALID *"; exit 1; )
endif
all-local: AUTHORS
dist-hook: validate-authors

View File

@ -48,7 +48,12 @@ DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \
subdir = .
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
$(top_srcdir)/configure.in
$(top_srcdir)/m4macros/detectcflags.m4 \
$(top_srcdir)/m4macros/pythondev.m4 \
$(top_srcdir)/m4macros/gimpprint.m4 \
$(top_srcdir)/m4macros/alsa.m4 \
$(top_srcdir)/m4macros/gtk-doc.m4 \
$(top_srcdir)/m4macros/binreloc.m4 $(top_srcdir)/configure.in
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
@ -93,9 +98,9 @@ distcleancheck_listfiles = find . -type f -print
AA = @AA@
ACLOCAL = @ACLOCAL@
ALLOCA = @ALLOCA@
ALL_LINGUAS = @ALL_LINGUAS@
ALSA_CFLAGS = @ALSA_CFLAGS@
ALSA_LIBS = @ALSA_LIBS@
ALTIVEC_EXTRA_CFLAGS = @ALTIVEC_EXTRA_CFLAGS@
AMDEP_FALSE = @AMDEP_FALSE@
AMDEP_TRUE = @AMDEP_TRUE@
AMTAR = @AMTAR@
@ -105,6 +110,8 @@ AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
BINRELOC_CFLAGS = @BINRELOC_CFLAGS@
BINRELOC_LIBS = @BINRELOC_LIBS@
BUILD_HELPBROWSER_FALSE = @BUILD_HELPBROWSER_FALSE@
BUILD_HELPBROWSER_TRUE = @BUILD_HELPBROWSER_TRUE@
BUILD_PRINT_FALSE = @BUILD_PRINT_FALSE@
@ -136,6 +143,7 @@ DESKTOP_DATADIR = @DESKTOP_DATADIR@
DESKTOP_DATADIR_FALSE = @DESKTOP_DATADIR_FALSE@
DESKTOP_DATADIR_TRUE = @DESKTOP_DATADIR_TRUE@
DLLTOOL = @DLLTOOL@
DOC_SHOOTER = @DOC_SHOOTER@
ECHO = @ECHO@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
@ -170,7 +178,6 @@ GIMP_API_VERSION = @GIMP_API_VERSION@
GIMP_APP_VERSION = @GIMP_APP_VERSION@
GIMP_BINARY_AGE = @GIMP_BINARY_AGE@
GIMP_DATA_VERSION = @GIMP_DATA_VERSION@
GIMP_DESKTOP_ICON = @GIMP_DESKTOP_ICON@
GIMP_FULL_NAME = @GIMP_FULL_NAME@
GIMP_INTERFACE_AGE = @GIMP_INTERFACE_AGE@
GIMP_MAJOR_VERSION = @GIMP_MAJOR_VERSION@
@ -178,18 +185,16 @@ GIMP_MICRO_VERSION = @GIMP_MICRO_VERSION@
GIMP_MINOR_VERSION = @GIMP_MINOR_VERSION@
GIMP_MKENUMS = @GIMP_MKENUMS@
GIMP_MODULES = @GIMP_MODULES@
GIMP_MP_FLAGS = @GIMP_MP_FLAGS@
GIMP_MP_LIBS = @GIMP_MP_LIBS@
GIMP_PKGCONFIG_VERSION = @GIMP_PKGCONFIG_VERSION@
GIMP_PLUGINS = @GIMP_PLUGINS@
GIMP_PLUGIN_VERSION = @GIMP_PLUGIN_VERSION@
GIMP_REAL_VERSION = @GIMP_REAL_VERSION@
GIMP_REMOTE = @GIMP_REMOTE@
GIMP_SYSCONF_VERSION = @GIMP_SYSCONF_VERSION@
GIMP_THREAD_FLAGS = @GIMP_THREAD_FLAGS@
GIMP_THREAD_LIBS = @GIMP_THREAD_LIBS@
GIMP_TOOL_VERSION = @GIMP_TOOL_VERSION@
GIMP_UNSTABLE = @GIMP_UNSTABLE@
GIMP_UNSTABLE_FALSE = @GIMP_UNSTABLE_FALSE@
GIMP_UNSTABLE_TRUE = @GIMP_UNSTABLE_TRUE@
GIMP_USER_VERSION = @GIMP_USER_VERSION@
GIMP_VERSION = @GIMP_VERSION@
GLIB_CFLAGS = @GLIB_CFLAGS@
@ -201,8 +206,12 @@ GMODULE_CFLAGS = @GMODULE_CFLAGS@
GMODULE_LIBS = @GMODULE_LIBS@
GMOFILES = @GMOFILES@
GMSGFMT = @GMSGFMT@
GNOMEPRINT = @GNOMEPRINT@
GNOMEPRINT_CFLAGS = @GNOMEPRINT_CFLAGS@
GNOMEPRINT_LIBS = @GNOMEPRINT_LIBS@
GOBJECT_QUERY = @GOBJECT_QUERY@
GREP = @GREP@
GTHREAD_CFLAGS = @GTHREAD_CFLAGS@
GTHREAD_LIBS = @GTHREAD_LIBS@
GTKDOC_REQUIRED_VERSION = @GTKDOC_REQUIRED_VERSION@
GTKHTML2_CFLAGS = @GTKHTML2_CFLAGS@
GTKHTML2_LIBS = @GTKHTML2_LIBS@
@ -216,6 +225,10 @@ HAVE_FINITE = @HAVE_FINITE@
HAVE_GLIBC_REGEX = @HAVE_GLIBC_REGEX@
HAVE_GLIBC_REGEX_FALSE = @HAVE_GLIBC_REGEX_FALSE@
HAVE_GLIBC_REGEX_TRUE = @HAVE_GLIBC_REGEX_TRUE@
HAVE_GNOMEPRINT_FALSE = @HAVE_GNOMEPRINT_FALSE@
HAVE_GNOMEPRINT_TRUE = @HAVE_GNOMEPRINT_TRUE@
HAVE_GNOMEVFS_FALSE = @HAVE_GNOMEVFS_FALSE@
HAVE_GNOMEVFS_TRUE = @HAVE_GNOMEVFS_TRUE@
HAVE_ISFINITE = @HAVE_ISFINITE@
HAVE_LCMS_FALSE = @HAVE_LCMS_FALSE@
HAVE_LCMS_TRUE = @HAVE_LCMS_TRUE@
@ -252,7 +265,6 @@ INTLTOOL_PONG_RULE = @INTLTOOL_PONG_RULE@
INTLTOOL_PROP_RULE = @INTLTOOL_PROP_RULE@
INTLTOOL_SCHEMAS_RULE = @INTLTOOL_SCHEMAS_RULE@
INTLTOOL_SERVER_RULE = @INTLTOOL_SERVER_RULE@
INTLTOOL_SERVICE_RULE = @INTLTOOL_SERVICE_RULE@
INTLTOOL_SHEET_RULE = @INTLTOOL_SHEET_RULE@
INTLTOOL_SOUNDLIST_RULE = @INTLTOOL_SOUNDLIST_RULE@
INTLTOOL_THEME_RULE = @INTLTOOL_THEME_RULE@
@ -268,10 +280,12 @@ LDFLAGS = @LDFLAGS@
LIBAA = @LIBAA@
LIBART_CFLAGS = @LIBART_CFLAGS@
LIBART_LIBS = @LIBART_LIBS@
LIBGNOMEPRINT = @LIBGNOMEPRINT@
LIBJPEG = @LIBJPEG@
LIBMNG = @LIBMNG@
LIBOBJS = @LIBOBJS@
LIBPNG = @LIBPNG@
LIBPOPPLER = @LIBPOPPLER@
LIBS = @LIBS@
LIBSCREENSHOT = @LIBSCREENSHOT@
LIBSVG = @LIBSVG@
@ -294,7 +308,6 @@ MKINSTALLDIRS = @MKINSTALLDIRS@
MMX_EXTRA_CFLAGS = @MMX_EXTRA_CFLAGS@
MNG = @MNG@
MSGFMT = @MSGFMT@
MSGFMT_OPTS = @MSGFMT_OPTS@
MS_LIB_AVAILABLE_FALSE = @MS_LIB_AVAILABLE_FALSE@
MS_LIB_AVAILABLE_TRUE = @MS_LIB_AVAILABLE_TRUE@
OBJDUMP = @OBJDUMP@
@ -320,15 +333,22 @@ PLATFORM_WIN32_FALSE = @PLATFORM_WIN32_FALSE@
PLATFORM_WIN32_TRUE = @PLATFORM_WIN32_TRUE@
PNG = @PNG@
POFILES = @POFILES@
POPPLER = @POPPLER@
POPPLER_CFLAGS = @POPPLER_CFLAGS@
POPPLER_LIBS = @POPPLER_LIBS@
POSUB = @POSUB@
PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@
PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@
PRINT_CFLAGS = @PRINT_CFLAGS@
PRINT_LIBS = @PRINT_LIBS@
PSP = @PSP@
PYBIN_PATH = @PYBIN_PATH@
PYGIMP_EXTRA_CFLAGS = @PYGIMP_EXTRA_CFLAGS@
PYGTK_CFLAGS = @PYGTK_CFLAGS@
PYGTK_CODEGEN = @PYGTK_CODEGEN@
PYGTK_DEFSDIR = @PYGTK_DEFSDIR@
PYGTK_LIBS = @PYGTK_LIBS@
PYLINK_LIBS = @PYLINK_LIBS@
PYTHON = @PYTHON@
PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
PYTHON_INCLUDES = @PYTHON_INCLUDES@
@ -352,10 +372,10 @@ SVG_CFLAGS = @SVG_CFLAGS@
SVG_LIBS = @SVG_LIBS@
SYMPREFIX = @SYMPREFIX@
TIFF = @TIFF@
URL = @URL@
URI_CFLAGS = @URI_CFLAGS@
URI_LIBS = @URI_LIBS@
USE_NLS = @USE_NLS@
VERSION = @VERSION@
WINCLIPBOARD = @WINCLIPBOARD@
WINDRES = @WINDRES@
WINPRINT = @WINPRINT@
WITH_PDBGEN_FALSE = @WITH_PDBGEN_FALSE@
@ -365,7 +385,6 @@ WMF_CFLAGS = @WMF_CFLAGS@
WMF_CONFIG = @WMF_CONFIG@
WMF_REQUIRED_VERSION = @WMF_REQUIRED_VERSION@
XGETTEXT = @XGETTEXT@
XMKMF = @XMKMF@
XMLLINT = @XMLLINT@
XPM = @XPM@
XSLTPROC = @XSLTPROC@
@ -373,9 +392,17 @@ X_CFLAGS = @X_CFLAGS@
X_EXTRA_LIBS = @X_EXTRA_LIBS@
X_LIBS = @X_LIBS@
X_PRE_LIBS = @X_PRE_LIBS@
ac_ct_AR = @ac_ct_AR@
ac_ct_AS = @ac_ct_AS@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
ac_ct_DLLTOOL = @ac_ct_DLLTOOL@
ac_ct_F77 = @ac_ct_F77@
ac_ct_OBJDUMP = @ac_ct_OBJDUMP@
ac_ct_RANLIB = @ac_ct_RANLIB@
ac_ct_STRIP = @ac_ct_STRIP@
ac_ct_WINDRES = @ac_ct_WINDRES@
ac_pt_PKG_CONFIG = @ac_pt_PKG_CONFIG@
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
@ -392,12 +419,10 @@ build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
datadir = @datadir@
datarootdir = @datarootdir@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
gimpdatadir = @gimpdatadir@
gimpdir = @gimpdir@
gimplocaledir = @gimplocaledir@
gimpplugindir = @gimpplugindir@
gimpsysconfdir = @gimpsysconfdir@
host = @host@
@ -405,24 +430,20 @@ host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
ms_librarian = @ms_librarian@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
pkgpyexecdir = @pkgpyexecdir@
pkgpythondir = @pkgpythondir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
pyexecdir = @pyexecdir@
pythondir = @pythondir@
sbindir = @sbindir@
@ -439,12 +460,14 @@ SUBDIRS = \
po-libgimp \
po-plug-ins \
po-script-fu \
po-tips \
data \
desktop \
menus \
tips \
libgimpbase \
libgimpcolor \
libgimpmath \
libgimpconfig \
libgimpmodule \
libgimpthumb \
libgimpwidgets \
@ -495,7 +518,7 @@ EXTRA_DIST = \
po-plug-ins/update.sh \
po-script-fu/update.sh
DISTCHECK_CONFIGURE_FLAGS = --enable-gimp-console --disable-print
DISTCHECK_CONFIGURE_FLAGS = --enable-gimp-console
DISTCLEANFILES = \
intltool-extract \
intltool-merge \
@ -749,7 +772,7 @@ distclean-tags:
distdir: $(DISTFILES)
$(am__remove_distdir)
mkdir $(distdir)
$(mkdir_p) $(distdir)/. $(distdir)/data/misc $(distdir)/devel-docs/app $(distdir)/devel-docs/libgimp $(distdir)/devel-docs/libgimpbase $(distdir)/devel-docs/libgimpcolor $(distdir)/devel-docs/libgimpmath $(distdir)/devel-docs/libgimpmodule $(distdir)/devel-docs/libgimpthumb $(distdir)/devel-docs/libgimpwidgets $(distdir)/docs $(distdir)/po $(distdir)/po-libgimp $(distdir)/po-plug-ins $(distdir)/po-script-fu
$(mkdir_p) $(distdir)/. $(distdir)/desktop $(distdir)/devel-docs/app $(distdir)/devel-docs/libgimp $(distdir)/devel-docs/libgimpbase $(distdir)/devel-docs/libgimpcolor $(distdir)/devel-docs/libgimpconfig $(distdir)/devel-docs/libgimpmath $(distdir)/devel-docs/libgimpmodule $(distdir)/devel-docs/libgimpthumb $(distdir)/devel-docs/libgimpwidgets $(distdir)/docs $(distdir)/m4macros $(distdir)/po $(distdir)/po-libgimp $(distdir)/po-plug-ins $(distdir)/po-script-fu $(distdir)/po-tips
@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
list='$(DISTFILES)'; for file in $$list; do \
@ -893,7 +916,7 @@ distcleancheck: distclean
exit 1; } >&2
check-am: all-am
check: check-recursive
all-am: Makefile $(SCRIPTS) $(DATA) config.h
all-am: Makefile $(SCRIPTS) $(DATA) config.h all-local
installdirs: installdirs-recursive
installdirs-am:
for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(pkgconfigdir)"; do \
@ -977,11 +1000,11 @@ uninstall-am: uninstall-binSCRIPTS uninstall-info-am \
uninstall-info: uninstall-info-recursive
.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am am--refresh check \
check-am clean clean-generic clean-libtool clean-recursive \
ctags ctags-recursive dist dist-all dist-bzip2 dist-gzip \
dist-hook dist-shar dist-tarZ dist-zip distcheck distclean \
distclean-generic distclean-hdr distclean-libtool \
.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am all-local \
am--refresh check check-am clean clean-generic clean-libtool \
clean-recursive ctags ctags-recursive dist dist-all dist-bzip2 \
dist-gzip dist-hook dist-shar dist-tarZ dist-zip distcheck \
distclean distclean-generic distclean-hdr distclean-libtool \
distclean-recursive distclean-tags distcleancheck distdir \
distuninstallcheck dvi dvi-am html html-am info info-am \
install install-am install-binSCRIPTS install-data \
@ -1005,6 +1028,8 @@ validate-authors:
@HAVE_XMLLINT_TRUE@ @$(XMLLINT) --noout --valid authors.xml || \
@HAVE_XMLLINT_TRUE@ ( echo "* authors.xml INVALID *"; exit 1; )
all-local: AUTHORS
dist-hook: validate-authors
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.

545
NEWS
View File

@ -1,358 +1,231 @@
The GNU Image Manipulation Program Version 2.2
----------------------------------------------
------------------------------
GNU Image Manipulation Program
Development Branch
------------------------------
This is the stable branch of GIMP 2.2. Only bug-fixes are applied
here. New features are being added in the HEAD branch that will be
released as GIMP version 2.4.
This is the development branch of The GIMP. Here's where all the shiny
new stuff is being done that will one day be released as GIMP 2.4.
Bugs fixed in GIMP 2.2.17
=========================
Changes in GIMP 2.3.6
=====================
- fixed regression in PSD load plug-in (bug #456042)
- fixed crash when loading a corrupt PSD file (bug #327444)
- work around for Pango appending " Not-Rotated" to font names
- even faster application startup
- binary relocatibility on Linux by means of binreloc
- be more verbose when being asked for it
- select color index when picking from an indexed drawable
- allow to migrate windows between displays
- mouse-wheel scrolling and zooming in plug-in previews
- added keyboard shortcuts ([ and ]) for changing the brush radius
- improved Oilify plug-in
- bug fixes and code cleanup
Bugs fixed in GIMP 2.2.16
=========================
Changes in GIMP 2.3.5
=====================
- improved input value validation in several file plug-ins (bug #453973)
- improved handling of corrupt or invalid XCF files
- guard against integer overflows in several file plug-ins (bug #451379)
- fixed handling of background alpha channel in XCF files (bug #443097)
- improved forward compatibility of the config parser
- fixed crash when previewing some animated brushes (bug #446005)
- optionally add jitter to paint strokes
- implemented Snap to Path
- added PDB API to access the Image Grid
- ease access to Keyboard Shortcuts editor
- optimizations to the Tile Cache and Undo/Redo implementations
- more work on the Buffer PDB API
- bug fixes to the new zoomable plug-in previews
- optimization of the SIOX algorithm
- menu reorganisation in the Toolbox menu
- export "Open As Layer" to the PDB as file-load-layer
- added keyboard control for the Curves tool
- load and save embedded ICC profiles from/to PNG images
- improved appearance of some tool icons on dark background
- added PDB API to get and set path visibility
- let data editors follow the active brush, palette and gradient (optional)
- some rearrangements in the new toplevel Colors menu
- speed up reloading of data files
- allow to copy the location of data files to the clipboard
- allow to disable saving of the document history in the preferences
- slightly faster application startup
- more use of ngettext for plural forms
- bug fixes and code cleanup
Bugs fixed in GIMP 2.2.15
=========================
Changes in GIMP 2.3.4
=====================
- fixed parsing of GFig files with CRLF line endings (bug #346988)
- guard against a possible stack overflow in the Sunras loader (bug #433902)
- fixed definition of datarootdir in gimptool-2.0 (bug #436386)
- fixed Perspective tool crash on Mac OS X (bug #349483)
- fixed area resizing in the Image Map plug-in (bug #439222)
- added missing library in gimptool-2.0 --libs output
- added new localizations: Occitan and Persian
- allow plug-ins and scripts to register menu entries in the <Brushes>,
<Gradients>, <Palettes>, <Patterns> and <Fonts> menus
- replaced Selection to Brush/Pattern scripts with scripts that paste
a new brush/pattern from the content of the clipboard
- allow to easily close all opened images
- added a first version of a Print plug-in using libgnomeprint
- improved Sphere Designer plug-in
- improved Compose plug-in
- added a zoomable preview widget for plug-ins
- implement copy and paste of paths as SVG
- use new stock icons introduced with GTK+ 2.6
- allow to zoom in/out using the +/- keys on the numerical keypad
- make it easier to drop dockables below the toolbox
- set plug-in dialogs transient to the window they have been called from
- added PDB function to obtain handles to the image and progress windows
- export named buffers to the PDB
- easier access to the popup menu in empty container views
- use ngettext for plural forms
- implement "Sample Merged" for the Clone tool
- various Win32 fixes
- fixed capitalization for better HIG compliance
- use a descriptive verb instead of "OK" as button label in most dialogs
- redone About dialog to be more informative
- take the default unit from the locale settings
- moved color-related tools and plug-ins to a new toplevel Colors menu
- let the gnomevfs plug-in use GNOME authentication manager if available
- rewritten Crop tool (work in progress)
- added page selector to the Postscript Import plug-in
- added preview to Checkerboard and Threshold Alpha plug-ins
- more PDB procedure and parameter name canonicalization
- touched up new path tool cursors and added one for the Join operation
- bug fixes and code cleanup
Bugs fixed in GIMP 2.2.14
=========================
Changes in GIMP 2.3.3
=====================
- avoid crashing on newer versions of the winicon format (bug #352899)
- fixed crash in Postscript plug-in (bug #353381)
- fixed handling of TABs in the text tool (bug #353132)
- fixed bug in Depth Merge plug-in (bug #355219)
- fixed bug in GimpDrawablePreview widget (bug #353639)
- fixed bug in Line Nove script (bug #357433)
- fixed bug in Ripple plug-in (bug #357431)
- save locale independent files from Fractal Explorer plug-in (bug #360095)
- fixed bug in Super Nova plug-in (bug #340073)
- be more robust against broken XCF files (bug #357809)
- fixed drawing issues in Image Map plug-in (bug #311621)
- fixed smoothing option in Fractal Explorer plug-in (bug #372671)
- load channels in the proper order when opening an XCF file (bug #378003)
- deal with floating selections in the Burn-In Animation script (bug #384096)
- fixed clipping in the GimpPreviewArea widget (bug #392692)
- fixed a potential crash in gimp-remote (bug #392111)
- work around a file-chooser problem on Windows (bug #398726)
- fixed markup of the gimp(1) manual page (bug #401145)
- fixed the fix for the right-to-left layout in layers dialog (bug #348347)
- fixed PSD save plug-in on 64bit architectures (bug #335130)
- added missing dependency in gimpui-2.0.pc file (bug #356394)
- fixed a crash in the PSD save plug-in (bug #395385)
- improved robustness of transform tool preview code (bug #420595)
- improved forward compatibility of XCF loader (bug #316207)
- don't crash in the Compressor plug-in if files can't be opened (bug #422444)
- fixed sensitivity of input fields in the Lighting plug-in (bug #359833)
- improved new GimpPageSelector widget
- minor improvements to the Procedure and Plug-In browsers
- set alternative button order in some places that were missed earlier
- added SIOX algorithm for foreground extraction
- fixed most gcc 4.0 warnings
- improved Cursor view and Sample Points functionality
- prepared code and UI for more layer lock types
- added new PDF import plug-in based on libpoppler
- undeprecated and improved palette editor, added cursor navigation
- show more information in the Image Properties dialog
- added prototype of SIOX foreground selection tool
- fixed build of MMX code on gcc 4.0
- moved procedure browser to libgimpwidgets as GimpProcBrowserDialog
- canonicalize PDB procedure and parameter names
- use the coefficients from the sRGB spec when calculating luminance
- allow to remove alpha channel from a layer
- added more different cursors for the paths tool
- bug fixes and code cleanup
Bugs fixed in GIMP 2.2.13
=========================
Changes in GIMP 2.3.2
=====================
- avoid endless looping when loading a corrupt XCF file (bug #345802)
- fixed regression in file dialogs (bug #347544)
- fixed right-to-left layout in layers dialog (bug #348347)
- avoid a crash when loading a corrupt gradient file (bug #349996)
- fixed segfault in Warp plug-in on 64bit architectures (bug #327479)
- fixed crash in GimpDrawablePreview (bug #350760)
- fixed error in Winicon load plug-in (bug #172503)
- fixed errors in Autocrop plug-in (bug #337888)
- fixed compile errors in regression tests on OS X (bug #352221)
- fixed regression in Gaussian Blur plug-in (bug #343047)
- fixed crash when opening an RGB image in an indexed image (bug #345051)
- fixed a possible crash in the Save dialog (bug #329001)
- fixed Lighten Only layer mode on SSE2 platforms (bug #164061)
- work with newer versions of autoconf
- protect against bogus values returned from GDK (bug #340056)
- fixed handling of indexed images in the Winicon save plug-in (bug #342883)
- more standard way of dealing with translation of the startup tips
- allow to use the selected font in the text tool's text editor
- some minor UI changes for HIG compliance
- redid the framework that deals with installing desktop files
- started to reorganize menus, mainly plug-ins and scripts
- renamed "Scatter RGB" and "Scatter HSV" to "RGB Noise" and "HSV Noise"
- allow to clear the document history
- don't normalize the result in the Laplace plug-in (bug #306874)
- ported FractalExplorer GUI to GtkTreeView, getting rid of the last
XPM icons that were being used
- added an option to Motion Blur to blur outwards
- added support for the proposed ICC Profiles In X Specification
- added new widget GimpEnumLabel to libgimpwidgets
- let the lcms display filter module show information about the used
color profiles
- improved drawing of the brush outline
- fixed build of Python language binding on Win32
- allow plug-ins to access the user's color management configuration
- added new widget GimpPageSelector to libgimpwidgets
- reenabled the Debug menu
- load and save ICC color profiles from/to JPEG images
- bug fixes and code cleanup
Bugs fixed in GIMP 2.2.12
=========================
Changes in GIMP 2.3.1
=====================
- fixed display problem in the Animation Playback plug-in (bug #338378)
- fixed misbehaviour of the user installation dialog (bug #324254)
- make sure that session-managed windows are mapped completely inside a
monitor (bug #339099, bug #324254)
- don't use long deprecated libpng API (bug #339402)
- fixed possible segfault when closing image while saving it (bug #322978)
- halt tools when the image mode changes (bug #330083)
- fixed problem in Scale and Resize widgets (bug #336259)
- fixed wrong offset in transform PDB functions (bug #342548)
- fixed bugs in the Dicom load plug-in (bug #163256)
- make sure text widgets get all key events first (bug #301006)
- fixed problems with default values in the PNG save plug-in (bug #343284)
- fixed Save As dialog not displaying the filename (bug #343284)
- fixed compilation problem with gcc 4.1 (bug #345473)
- plugged a possible buffer overrun in the XCF parser (bug #346742)
- don't save image parasites twice in XCF files (bug #346754)
- allow to copy and paste SVG between GIMP and other applications
- added a utility for testing and debugging clipboard operations
- more work on the new vectors PDB API
- made screen edges active in the image display in fullscreen mode
- made file and color selection dialogs transient to their parent windows
- moved browser widget from Procedure Browser plug-in to libgimpwidgets
- allow more search types in the Procedure Browser
- reduced size of the Colors dockable by moving the hex entry down
- added object properties to GimpColorArea and GimpColorButton
- changed default for RGB->Indexed conversion to not to any dithering
- allow to paste a new image using Ctrl-V on the toolbox
- show previews of dash presets in Stroke Options dialog
- Escape key cancels the window selection in the Screenshot plug-in
- allow to operate the Brightness Contrast tool by clicking and dragging
on the canvas
- improved Sample Points dockable
- added first draft of new align tool
- turned image and drawable combo boxes in libgimpui into real widgets
- further improved Python bindings
- nicer DND icons for viewables
- allow to hide the button-bar found at the bottom of most dockables
- turned font selection in libgimpui into a real widget
- added support for BMP files with alpha channel (RGBA)
- bug fixes and code cleanup
Bugs fixed in GIMP 2.2.11
=========================
Changes in GIMP 2.3.0
=====================
- fixed handling of EXIF data in JPEG plug-in (bug #303383)
- let gimptool use pkg-config to determine compiler and linker flags at
run-time (bug #324761)
- added GTK+ category in gimp.desktop file (bug #328012)
- fixed guides scripts to allow guides at the right and bottom (bug #328320)
- fixed icons in color picker buttons in Levels tool (bug #325745)
- fixed parameter check in Compressor plug-in
- made the internal help browser the default for all platforms (bug #329888)
- fixed handling of alpha channel in Gaussian Blur plug-in (bug #331051)
- fixed incorrect bitshifts in Win Icon plug-in (bug #330692)
- fixed a potential crash in the Animation Playback plug-in (bug #328919)
- corrected tile cache size in Unsharp Mask plug-in (bug #331344)
- fixed the import of SVG circles
- fixed rounding of resolution in BMP plug-in (bug #332501)
- fixed resolution handling in PSD load plug-in
- store resolution when saving in the PSD file format (bug #310426)
- fixed crash in Revert function (bug #333568)
- flush the projection before reading from it (bug #332933)
- fixed MMX instructions on Pentium II machines (bug #162778)
- fixed possible crash on closing a dockable (bug #338286)
Bugs fixed in GIMP 2.2.10
=========================
- fixed build error on Sun C compiler (bug #319811)
- fixed issue with Guides scripts (bug #320933)
- corrected selection display problem (bug #319029)
- fixed potential wget issue (bug #322977)
- fixed non-interactive use of gimp-edit-stroke (bug #323778)
- fixed Script-Fu crash in some locales such as Chinese (bug #163212)
- fixed build of librsvg plug-in (bug #314400)
- fixed parameter type in "plug-in-unsharp-mask" procedure (bug #325007).
Bugs fixed in GIMP 2.2.9
========================
- fixed minor problem in JPEG plug-in (bug #309091)
- allow to disable build of gtkhtml2, svg, and lcms features (bug #307704)
- fixed bug in Imagemap plug-in (bug #169698)
- handle PSD files with untitled channels (bug #312963)
- fixed build of MMX/SSE assembly code on gcc 4.0 (bug #308412)
- fixed crash in image preview code (bug #312144)
- fixed redraw of previews in Rotate Colormap plug-in (bug #172284)
- fixed redraw of previews in Filterpack plug-in (bug #160032)
- cross-compilation fixes and build fixes for Cygwin (bug #314893)
- fixed character placement in Text Circle script (bug #144588)
- made GIMP more robust against strange characters in directory names
- fixed minor issue in Dicom plug-in (bug #313008)
- deal with API change in librsvg >= 2.11.0 (bug #314400)
- fixed bug in ellipse selection (bug #315417)
- fixed build issue on Cygwin (bug #314893)
- fixed problem in ellipse selection (bug #315417)
- ease closing of iscissors outline (bug #134250)
- fixed handling of Tab key if NumLock is active (bug #317118)
- fixed problem with random number generator in QBist plug-in (bug #317355)
- raise palettes grid instead of creating a new one (bug #317435)
- fixed problem with environment maps in Lighting plug-in (bug #313872)
- fixed Gaussian Blur for small radii (bug #315953)
- fixed Select By Color tool on grayscale layers (bug #319683)
Bugs fixed in GIMP 2.2.8
========================
- fixed possible crash in plug-ins-query PDB function
- fixes to Script-Fu server mode on Win32
- fixed possible crash in win32 gimptool variant
- plugged a tiny memleak in the image display code
- plugged a tiny memleak in libgimpwidgets
- attempt to fix calling the web-browser on win32 (bug #171200)
- fixed loading of images in help-browser plug-in on win32
- fixed zoom offsets if dot-for-dot mode is disabled (bug #306476)
- fixes to Gfig parasite loading
- disabled buggy gimprc option stingy-memory-use (bug #306617)
- don't try to create a preview for a non-existant image file (bug #307672)
- fixed bug in Retinex plug-in (bug #157915)
- fixed bug in Newsprint plug-in (bug #161573)
- fixed bug in Shift plug-in (bug #308748)
- fixed bug in Grid plug-in (bug #308754)
Bugs fixed in GIMP 2.2.7
========================
- update layer previews on colormap changes (bug #301033)
- fixed loading of text layers from XCF files (bug #301028)
- when loading a PDF, honor CropBox over MediaBox (bug #301432)
- fixed incompatibility of GimpIntStore with GTK+ 2.6 (bug #301524)
- fixed navigation popup in plug-in previews (bug #301523)
- fixed handling of compression types in TIFF plug-in (bug #301557)
- fixed bug in Lighting Effects plug-in (bug #302075)
- fixed focus issues in message dialogs (bug #302400)
- fixed bug in SSE2 assembly for Lighten Only layer mode (bug #164061)
- fixed resize-window-on-zoom feature (bug #164281)
- corrected upper limit of tile-cache-size (bug #303371)
Bugs fixed in GIMP 2.2.6
========================
- reverted change to the print plug-in (see bug #169909)
Bugs fixed in GIMP 2.2.5
========================
- fixed double-click behaviour of GimpButton
- properly handle 302 redirect output from wget in URL plug-in (bug #168322)
- fixed loading of layer masks in PSD plug-in (bug #166976)
- fixed bugs in PSD save plug-in (bugs #167139 and #121871)
- fixed Reset in Scale and Resize dialogs (bug #169011)
- fixed filename encoding issues when loading Script-Fu scripts (bug #165002)
- fixed i18n build quirks (bug #169274)
- improve autoscrolling with tablets in Windows (bug #167960)
- fixed setup of size entries in tool-options (bug #169066)
- when opening images as layers, do it interactively (bug #168936)
- fixed precondition checks in gimp_drawable_transform_scale (bug #170195)
- fixed handling of resolution unit in Print Size dialog (bug #170200)
- disable "gtk-alternative-button-order" setting because our code
doesn't honor it (bug #170543)
- fixed behaviour of selection tool when dragging from top-right (bug #143887)
- speed up conversion of grayscale images to indexed colors (bug #170801)
- fixed bug in grayscale to indexed color conversion (bug #170825)
- don't offer empty palettes for conversion to indexed color (bug #170973)
- disable search in container tree-views since it interferes with global
accelerators (bug #169339)
- corrected mousewheel section of default controllerrc (bug #171083)
- fixed build on amd64/gcc-4.0 (bug #300227)
- unset Keep Transparency from Color to Alpha plug-in.
- fixed crash caused by Histogram dockable in RGB mode (bug #170116)
- fixed statusbar display for negative moves (bug #171497)
- fixed a couple of problems in the BMP plug-in (bug #171306, bug #171453
and bug #171562)
- fixed bug in Resize dialog if previews are turned off (bug #171827)
- fixed disappearing previews in Rotate Colormap plug-in (bug #172284)
- fixed deletion of fractals in Fractal Explorer plug-in (bug #172347)
- fixed preview in Deinterlace plug-in (bug #172589)
- fixed crashes on exit in some locales (bug #172581)
- fixed installation directories for message catalogs (bug #169274)
- handle deletion of layers and channels that have a floating selection
attached (bug #168582)
- plugged some smaller memory leaks
- fixed preview in Gaussian Blur plug-in for zero radii (bug #173039)
- fixed a couple of problems in the Winicon plug-in
- fixed bug in GIF loader that was triggered with a broken GIF (bug #173119)
- fixed crash in Ink tool (bug #164272)
- let the text tool remember the last-used font (bug #171024)
- quote the print command used in the Print plug-in (bug #169909)
Bugs fixed in GIMP 2.2.4
========================
- fixed an out-of-bounds read access in the Edge plug-in (bug #164963)
- limit aspect ratio in crop tool to sane values (bug #164827)
- fixed indexed conversion on floating selections (bug #165342)
- fixed button order in resize and scale dialogs
- improved handling of UNC paths on Windows
- fixed crash in winicon save plug-in (bug #162742)
- fixed image types registration for some python plug-ins (bug #1666650)
- workaround problems with font names ending in numbers (bug #166540)
- show clone source when cloning from a different image (bug #167002)
- corrected coordinate limits in New Guide script (bug #167529)
- fixed crash in gradient editor (bug #167604)
- don't give keyboard focus to combo boxes in image window (bug #167809)
- fixed saving of MNG files with negative layer offsets (bug #166059)
- fixed use of the text tool on floating selections (bug #166829)
- don't create duplicate templates when migrating user settings (bug #167893)
- let the py-slice script ignore out-of-bounds guides (bug #167843)
- store thumbnails in temporary folder if no valid home directory exists
(bug #167973)
- fixed Emboss plug-in for small images (bug #168022)
- avoid crashes in toolbox size allocation code (bug #162500)
- switch from display-wide grab to application-wide grab while tool
actions are being performed (bug #162823)
Bugs fixed in GIMP 2.2.3
========================
- fixed build problem in MIDI input controller (bug #163593)
- remember last used directory in file open and save dialogs (bug #162385)
- fixed crashed in DND of indexed drawables (bug #163879)
- removed bumpmap artifacts in Lighting Effects plug-in (bug #163877)
- fixed non-interactive mode of Retinex plug-in
- fixed undo of ink strokes (bug #163670)
- fixed expose event handling in Curve Bend plug-in (bug #164207)
- added a missing pressure sensitivity toggle to Airbrush tool (bug #164237)
- fixed loading of XJT images files from read-only folders (bug #164116)
- fixed bug in the Info dialog that crashed the Crop tool (bug #163617)
- fixed yet another entry problem in the Scale Image dialog (bug #163951)
- fixed serialization of binary parasites (bug #163131)
- correctly initialize the preview in the Bumpmap plug-in (bug #162285)
- give visual feedback if a dialog is already opened (bug #164156)
- fixed saving of JPEG images with large quality settings (bug #164087)
- update the menus when selecting a component in the Channels dialog
(bug #164195)
- fixed issues with the save dialog in the Imagemap plug-in (bug #164864)
- update filesize in JPEG dialog if size of EXIF data changes (bug #164914)
Bugs fixed in GIMP 2.2.2
========================
- let Decompose plug-in create layers with alpha channel
- fixed crash in save dialog (bug #162443)
- fixed misbehaviour in Scale and Resize dialogs (bug #162387)
- fixed preview in Imagemap plug-in (bug #162592)
- fixed handling of broken menu path translations (bug #162590)
- fixed bugs in the Sparkle plug-in and the Frosty Logo script (bug #132145)
- fixed two broken Python scripts (bug #162707)
- changed default response in Close dialog (bug #162872)
- flush the display when plug-in dialogs are disposed (bug #163084)
- fixed build problem on amd64 with gcc-4.0 (bug #163041)
- fixed problem in locales that are rendered right-to-left (bug #162663)
- fixed bug in Frosty Logo Script-Fu (bug #132145)
- raise the toolbox when it is selected from the Tools menu (bug #163381)
- improved usability of Keyboard Shortcuts editor (bug #163385)
- fixed gradient selection widget in libgimpui (bug #163427)
- workaround a problem in the MMX code (bug #162778)
Bugs fixed in GIMP 2.2.1
========================
- added python logo to EXTRA_DIST so it shows up in the tarball (bug #161716)
- fixed mempory corruption in FracalExplorer plug-in (bug #161729)
- fixed crash in gradient editor (bug #161411)
- fixed crash in unsharp mask plug-in preview code (bug #157910)
- fixed bug in unsharp mask plug-in that caused artefacts when a large blur
radius was being used on a small drawable; minor optimizations
- removed broken asc2img Script-Fu
- fixed channel drag-n-drop (bug #161877)
- fixed misbehaviour of entries in Scale and Resize dialogs (bug #161756)
- speed up preview in several plug-ins
- fixed bug in Despeckle plug-in that caused it to run very slowly
(bug #162129)
- fixed a crash in the error dialog (bug #162147)
- fixed parameter value range in Weave script (bug #162182)
- fixed crash in brush preview (bug #162232)
- minor improvements to the API docs
- added Recompose plug-in
- added rectangle tool in GFig plug-in
- improved palette editor color DND
- improved EXIF handling in JPEG plug-in
- smoother autoscrolling in image display
- added Snap to Canvas Border and Snap to Path (yet unimplemented)
- added previews to Mosaic, Pixelize and Sparkle plug-ins
- added Lanczos interpolation method
- added Open as Image menu entries to brushes and patterns dialogs
- improved drag-n-drop of drawables within GIMP
- added a prototype of a new rectangular select tool
- moved a bunch of enums from core into libgimpbase
- moved GimpConfig functionality from core into libgimpconfig
- moved GimpEnumStore and GimpEnumComboBox to libgimpwidgets
- moved convenience constructors for property views to libgimpwidgets
- ported ImageMap plug-in to action based menus.
- first steps towards color management
- use GOptionContext for command-line parsing
- added a gnome-vfs backend for the uri plug-in (former url plug-in)
- prepared code for accessing remote files in the file-chooser
- let all dialogs obey the gtk-alternative-button-order setting
- extended GimpProgress PDB API
- improved file type handling in file save dialog
- resurrected threaded pixel processor and enable it by default
- parallelized a few more internal functions
- speed up gradient dithering
- improved PSD save plug-in
- improved Python bindings
- allow to resize layers with the image
- allow to control letter spacing in the text tool
- added path-on-path functionality, use it to implement Text on Path
- improved gradient editor
- allow to import paths from a string
- ported all code to gstdio wrappers
- added infrastructure for color sample points
- added first draft of a metadata editor plug-in
- speed up burn compositing function
- added Altivec versions of some compositing functions
- added PDB API to control the number of columns in a palette
- allow to control hue overlap in Hue-Saturation tool
- added a PDB API to register menu branches
- added missing mnemonics
- improved Screenshot plug-in
- allow to drag brushes/patterns/gradients... to the selectors in Script-Fu
- allow to save images by dragging them to a filemanager that supports the
XDS protocol
- optimizations in the Color Deficiency display filter
- transfer the clipboard content to a clipboard manager on exit
- moved cursor info out of the Info window into a dockable
- moved remaining bits of the Info Window to a new Image Properties dialog
- build and install gimp-console by default
- allow to drag and drop image data into GIMP
- use the statusbar more to display hints and info about the tool state
- resurrected --no-data functionality
- zoom to the cursor position instead of the display center
- some improvements to the Helpbrowser plug-in
- load PS brushes in the .abr format
- allow to choose between different algorithms for Desaturate
- added thumbnail loader to Winicon plug-in
- improved configuration of input controllers
- added an option to make the dock windows transient to the active image display
- lots of code cleanup and bug-fixes

47
README
View File

@ -1,37 +1,30 @@
The GNU Image Manipulation Program Version 2.2
The GNU Image Manipulation Program Version 2.3
----------------------------------------------
This is version 2.2 of The GIMP. Version 2.2 is an update on GIMP 2.0.
GIMP 2.2 is fully backward compatible to GIMP 2.0. Plug-ins and
scripts written for GIMP 2.0 will continue to work and don't need to
be changed nor recompiled to be used with GIMP 2.2. We do however
hope that plug-in authors will update their plug-ins for GIMP 2.2 and
adapt the GUI changes we did with this version.
This is an unstable development version of GIMP. Please realize that
this is in no way a final product. A lot of new features are
incomplete and some things may even be completely broken. If you need
to get work done, please use the stable version, GIMP 2.2.
GIMP 2.2 replaces GIMP 2.0. It is advised that you uninstall GIMP 2.0
before installing GIMP 2.2. If you want to keep GIMP 2.0 installed in
parallel to GIMP 2.2, you have to choose a separate prefix which is
not in your default library search path.
GIMP 2.3 replaces earlier GIMP 2.x versions. It is advised that you
uninstall them before installing GIMP 2.3. If you want to keep your
older GIMP 2.x installation in parallel to GIMP 2.3, you have to
choose a separate prefix which is not in your default library search
path. Otherwise your GIMP 2.2 or GIMP 2.0 installation will start to
use the new libraries. You have been warned.
This code has already seen quite some testing but a lot has changed
since version GIMP 2.0 and we could very well have introduced new
bugs. If you find any , make sure you report them at bugzilla.gnome.org
(after checking that it isn't reported already).
If you think you found a bug in this version, please make sure that it
hasn't been reported earlier and that it is not just new stuff that is
still being worked on and obviously not quite finished yet.
The GIMP 2.2 API is guaranteed to be backward compatible (source and
binary) with the GIMP 2.0 API. If you find that your 2.0 plug-in break
when used with the GIMP 2.2 libraries, or if you cannot compile a GIMP
2.0 plug-in against the GIMP 2.2 header files, please report that as a
bug.
If you want to hack on The GIMP, please read the file HACKING. For
If you want to hack on GIMP, please read the file HACKING. For
detailed installation instructions, see the file INSTALL.
1. Web Resources
================
The GIMP's home page is at:
GIMP's home page is at:
http://www.gimp.org/
@ -45,7 +38,7 @@ The automated plug-in registry is located at:
There you can get the latest versions of plug-ins, using a convenient
forms-based interface.
The latest version of The GIMP can be found at:
The latest version of GIMP can be found at:
http://www.gimp.org/downloads/
@ -68,8 +61,8 @@ releases of GIMP and plug-ins. Gimp-user is a mailing list dedicated
to user problems, hints and tips, discussion of cool effects, etc.
Gimp-developer is oriented to GIMP core and plug-in developers. Most
people will only want to be subscribed to gimp-user. If you want to
help develop The GIMP, the gimp-developer mailing list is a good
starting point.
help develop GIMP, the gimp-developer mailing list is a good starting
point.
There is also a mailing list, "gimpwin-users", dedicated to users of the
Win32 port. To subscribe, send an empty message to
@ -103,7 +96,7 @@ The look of GIMP's interface can be customized like any other GTK app
by editing the ~/.gtkrc-2.0 file or by using "themes" (ready-made
customizations). For downloadable themes and further details, see
http://gtk.themes.org. Additionally, GIMP reads ~/.gimp-2.2/gtkrc so
you can have settings that only apply to The GIMP.
you can have settings that only apply to GIMP.
Included is a set of keybindings similar to those in Adobe Photoshop.
You can find them in the ps-menurc file. To use them, copy this file

View File

@ -61,7 +61,7 @@ sections, but you definitely want to read sections 5 - 9.
- If not, the caller will receive a pointer to the original string.
This way it is ensured that there isn't any harm caused to the program
(i.e. The GIMP) if no useful catalog is installed.
if no useful catalog is installed.
Please note that it is important to use _() directly (and not gettext())
for simple messages because of reasons that will be mentioned below.
@ -165,7 +165,7 @@ this one may not necessarily fit.
po-libgimp/gimp20-libgimp.pot -- the libgimp library
po-plugins/gimp20-std-plugins.pot -- most of the plug-ins
po-script-fu/gimp20-script-fu.pot -- the script-fu scripts
tips/gimp-tips20.pot -- the startup tips
po-tips/gimp20-tips.pot -- the startup tips
If you are looking for the translations of gimp-perl, please note that
gimp-perl has been moved into it's own CVS module called gimp-perl.
@ -177,7 +177,7 @@ this one may not necessarily fit.
get this wrong, Gimp will warn you at startup about bad translations.
So do always test your translations and watch the console for output.
The version of The GIMP you are holding in your hand uses GTK+-2.0.
The version of GIMP you are holding in your hand uses GTK+-2.0.
GTK+-2.0 requires that all strings are UTF-8 encoded. Therefore to make
internationalisation work, po files need to be UTF-8 encoded. If your
editor doesn't support UTF-8, you need to convert it to an encoding your
@ -189,13 +189,13 @@ this one may not necessarily fit.
Third-party plug-ins (plug-ins that are not distributed with The
GIMP) can't have their messages in the gimp-std-plugins textdomain.
We have therefore provided a mechanism that allows plug-ins to install
their own message catalogs and tell The GIMP to bind to that
textdomain. This is necessary so that The GIMP can correctly translate
the menu paths the plug-in registers. Basically the plug-in has to call
gimp_plugin_domain_add() or gimp_domain_plugin_add_with_path() before
it registers any functions. Have a look at the script-fu plug-in to see
how this is done in detail.
We have therefore provided a mechanism that allows plug-ins to
install their own message catalogs and tell GIMP to bind to that
textdomain. This is necessary so that GIMP can correctly translate
the menu paths the plug-in registers. Basically the plug-in has to
call gimp_plugin_domain_add() or gimp_domain_plugin_add_with_path()
before it registers any functions. Have a look at the script-fu
plug-in to see how this is done in detail.
8. Tip of the Day messages

View File

@ -1,10 +1,6 @@
For pre-built binary packages of GIMP, see
http://gimp-win.sourceforge.net.
GIMP 2.2.x should be built against GLib 2.4. Building against GLib 2.6
or later will result in a GIMP that doesn't handle non-ASCII filenames
correctly. It is fine to *run* GIMP 2.2.x against GLib 2.6 or later,
though.
For pre-built binary packages of GLib, GTK etc, see
http://www.gimp.org/win32/downloads.html . No pre-built GIMP 1.3
packages, though.
Building GIMP on Win32
======================

View File

@ -1,439 +1,6 @@
## Add your own autoconf macros here.
## Find the install dirs for the python installation.
## By James Henstridge
dnl a macro to check for ability to create python extensions
dnl AM_CHECK_PYTHON_HEADERS([ACTION-IF-POSSIBLE], [ACTION-IF-NOT-POSSIBLE])
dnl function also defines PYTHON_INCLUDES
AC_DEFUN([AM_CHECK_PYTHON_HEADERS],
[AC_REQUIRE([AM_PATH_PYTHON])
AC_MSG_CHECKING(for headers required to compile python extensions)
dnl deduce PYTHON_INCLUDES
py_prefix=`$PYTHON -c "import sys; print sys.prefix"`
py_exec_prefix=`$PYTHON -c "import sys; print sys.exec_prefix"`
PYTHON_INCLUDES="-I${py_prefix}/include/python${PYTHON_VERSION}"
if test "$py_prefix" != "$py_exec_prefix"; then
PYTHON_INCLUDES="$PYTHON_INCLUDES -I${py_exec_prefix}/include/python${PYTHON_VERSION}"
fi
AC_SUBST(PYTHON_INCLUDES)
dnl check if the headers exist:
save_CPPFLAGS="$CPPFLAGS"
CPPFLAGS="$CPPFLAGS $PYTHON_INCLUDES"
AC_TRY_CPP([#include <Python.h>],dnl
[AC_MSG_RESULT(found)
$1],dnl
[AC_MSG_RESULT(not found)
$2])
CPPFLAGS="$save_CPPFLAGS"
])
# Configure paths for gimp-print
# Roger Leigh -- Sat, 10 Feb 2001
# (based on gimpprint.m4 by Owen Taylor 97-11-3)
dnl AM_PATH_GIMPPRINT([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND [, MODULES]]]])
dnl Test for GIMP-PRINT, and define GIMPPRINT_CFLAGS and GIMPPRINT_LIBS
dnl
AC_DEFUN([AM_PATH_GIMPPRINT],
[dnl
dnl Get the cflags and libraries from the gimpprint-config script
dnl
AC_ARG_WITH(gimpprint-prefix,[ --with-gimpprint-prefix=PFX Prefix where GIMP-PRINT is installed (optional)],
gimpprint_config_prefix="$withval", gimpprint_config_prefix="")
AC_ARG_WITH(gimpprint-exec-prefix,[ --with-gimpprint-exec-prefix=PFX Exec prefix where GIMP-PRINT is installed
(optional)],
gimpprint_config_exec_prefix="$withval", gimpprint_config_exec_prefix="")
AC_ARG_ENABLE(gimpprinttest, [ --disable-gimpprinttest Do not try to compile and run a test GIMP-PRINT
program],
, enable_gimpprinttest=yes)
if test x$gimpprint_config_exec_prefix != x ; then
gimpprint_config_args="$gimpprint_config_args --exec-prefix=$gimpprint_config_exec_prefix"
if test x${GIMPPRINT_CONFIG+set} != xset ; then
GIMPPRINT_CONFIG=$gimpprint_config_exec_prefix/bin/gimpprint-config
fi
fi
if test x$gimpprint_config_prefix != x ; then
gimpprint_config_args="$gimpprint_config_args --prefix=$gimpprint_config_prefix"
if test x${GIMPPRINT_CONFIG+set} != xset ; then
GIMPPRINT_CONFIG=$gimpprint_config_prefix/bin/gimpprint-config
fi
fi
AC_PATH_PROG(GIMPPRINT_CONFIG, gimpprint-config, no)
min_gimpprint_version=ifelse([$1], ,4.1.4,$1)
AC_MSG_CHECKING(for GIMP-PRINT - version >= $min_gimpprint_version)
no_gimpprint=""
if test "$GIMPPRINT_CONFIG" = "no" ; then
no_gimpprint=yes
else
GIMPPRINT_CFLAGS=`$GIMPPRINT_CONFIG $gimpprint_config_args --cflags`
GIMPPRINT_LIBS=`$GIMPPRINT_CONFIG $gimpprint_config_args --libs`
gimpprint_config_major_version=`$GIMPPRINT_CONFIG $gimpprint_config_args --version | \
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
gimpprint_config_minor_version=`$GIMPPRINT_CONFIG $gimpprint_config_args --version | \
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
gimpprint_config_micro_version=`$GIMPPRINT_CONFIG $gimpprint_config_args --version | \
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
if test "x$enable_gimpprinttest" = "xyes" ; then
ac_save_CFLAGS="$CFLAGS"
ac_save_LIBS="$LIBS"
CFLAGS="$CFLAGS $GIMPPRINT_CFLAGS"
LIBS="$GIMPPRINT_LIBS $LIBS"
dnl
dnl Now check if the installed GIMP-PRINT is sufficiently new. (Also sanity
dnl checks the results of gimpprint-config to some extent
dnl
rm -f conf.gimpprinttest
AC_TRY_RUN([
#include <gimp-print/gimp-print.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int
main ()
{
int major, minor, micro;
char *tmp_version;
system ("touch conf.gimpprinttest");
/* HP/UX 9 (%@#!) writes to sscanf strings */
tmp_version = strdup("$min_gimpprint_version");
if (!tmp_version) {
exit(1);
}
if (sscanf(tmp_version, "%d.%d.%d", &major, &minor, &micro) != 3) {
printf("%s, bad version string\n", "$min_gimpprint_version");
exit(1);
}
if ((gimpprint_major_version != $gimpprint_config_major_version) ||
(gimpprint_minor_version != $gimpprint_config_minor_version) ||
(gimpprint_micro_version != $gimpprint_config_micro_version))
{
printf("\n*** 'gimpprint-config --version' returned %d.%d.%d, but GIMP-PRINT (%d.%d.%d)\n",
$gimpprint_config_major_version, $gimpprint_config_minor_version, $gimpprint_config_micro_version,
gimpprint_major_version, gimpprint_minor_version, gimpprint_micro_version);
printf ("*** was found! If gimpprint-config was correct, then it is best\n");
printf ("*** to remove the old version of GIMP-PRINT. You may also be able to fix the\n");
printf("*** error by modifying your LD_LIBRARY_PATH enviroment variable, or by\n");
printf("*** editing /etc/ld.so.conf. Make sure you have run ldconfig if that is\n");
printf("*** required on your system.\n");
printf("*** If gimpprint-config was wrong, set the environment variable GIMPPRINT_CONFIG\n");
printf("*** to point to the correct copy of gimpprint-config, and remove the file\n");
printf("*** config.cache before re-running configure\n");
}
#if defined (GIMPPRINT_MAJOR_VERSION) && defined (GIMPPRINT_MINOR_VERSION) && defined (GIMPPRINT_MICRO_VERSION)
else if ((gimpprint_major_version != GIMPPRINT_MAJOR_VERSION) ||
(gimpprint_minor_version != GIMPPRINT_MINOR_VERSION) ||
(gimpprint_micro_version != GIMPPRINT_MICRO_VERSION))
{
printf("\n*** GIMP-PRINT header files (version %d.%d.%d) do not match\n",
GIMPPRINT_MAJOR_VERSION, GIMPPRINT_MINOR_VERSION, GIMPPRINT_MICRO_VERSION);
printf("*** library (version %d.%d.%d)\n",
gimpprint_major_version, gimpprint_minor_version, gimpprint_micro_version);
}
#endif /* defined (GIMPPRINT_MAJOR_VERSION) ... */
else
{
if ((gimpprint_major_version > major) ||
((gimpprint_major_version == major) && (gimpprint_minor_version > minor)) ||
((gimpprint_major_version == major) && (gimpprint_minor_version == minor) && (gimpprint_micro_version >= micro)))
{
return 0;
}
else
{
printf("\n*** An old version of GIMP-PRINT (%d.%d.%d) was found.\n",
gimpprint_major_version, gimpprint_minor_version, gimpprint_micro_version);
printf("*** You need a version of GIMP-PRINT newer than %d.%d.%d. The latest version of\n",
major, minor, micro);
printf("*** GIMP-PRINT is always available from\n");
printf("*** http://sourceforge.net/project/showfiles.php?group_id=1537.\n");
printf("***\n");
printf("*** If you have already installed a sufficiently new version, this error\n");
printf("*** probably means that the wrong copy of the gimpprint-config shell script is\n");
printf("*** being found. The easiest way to fix this is to remove the old version\n");
printf("*** of GIMP-PRINT, but you can also set the GIMPPRINT_CONFIG environment to\n");
printf("*** point to the correct copy of gimpprint-config. (In this case, you will have\n");
printf("*** to modify your LD_LIBRARY_PATH enviroment variable, or edit /etc/ld.so.conf\n");
printf("*** so that the correct libraries are found at run-time))\n");
}
}
return 1;
}
],, no_gimpprint=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"])
CFLAGS="$ac_save_CFLAGS"
LIBS="$ac_save_LIBS"
fi
fi
if test "x$no_gimpprint" = x ; then
AC_MSG_RESULT(yes)
ifelse([$2], , :, [$2])
else
AC_MSG_RESULT(no)
if test "$GIMPPRINT_CONFIG" = "no" ; then
echo "*** The gimpprint-config script installed by GIMP-PRINT could not be found"
echo "*** If GIMP-PRINT was installed in PREFIX, make sure PREFIX/bin is in"
echo "*** your path, or set the GIMPPRINT_CONFIG environment variable to the"
echo "*** full path to gimpprint-config."
else
if test -f conf.gimpprinttest ; then
:
else
echo "*** Could not run GIMP-PRINT test program, checking why..."
CFLAGS="$CFLAGS $GIMPPRINT_CFLAGS"
LIBS="$LIBS $GIMPPRINT_LIBS"
AC_TRY_LINK([
#include <gimp-print/gimp-print.h>
#include <stdio.h>
#include <string.h>
], [ return ((gimpprint_major_version) || (gimpprint_minor_version) || (gimpprint_micro_version)); ],
[ echo "*** The test program compiled, but did not run. This usually means"
echo "*** that the run-time linker is not finding GIMP-PRINT or finding the wrong"
echo "*** version of GIMP-PRINT. If it is not finding GIMP-PRINT, you'll need to set"
echo "*** your LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point"
echo "*** to the installed location Also, make sure you have run ldconfig if that"
echo "*** is required on your system"
echo "***"
echo "*** If you have an old version installed, it is best to remove it, although"
echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH" ],
[ echo "*** The test program failed to compile or link. See the file config.log for the"
echo "*** exact error that occured. This usually means GIMP-PRINT was incorrectly"
echo "*** installed or that you have moved GIMP-PRINT since it was installed. In the"
echo "*** latter case, you may want to edit the gimpprint-config script:"
echo "*** $GIMPPRINT_CONFIG" ])
CFLAGS="$ac_save_CFLAGS"
LIBS="$ac_save_LIBS"
fi
fi
GIMPPRINT_CFLAGS=""
GIMPPRINT_LIBS=""
ifelse([$3], , :, [$3])
fi
AC_SUBST(GIMPPRINT_CFLAGS)
AC_SUBST(GIMPPRINT_LIBS)
rm -f conf.gimpprinttest
])
dnl Configure Paths for Alsa
dnl Some modifications by Richard Boulton <richard-alsa@tartarus.org>
dnl Christopher Lansdown <lansdoct@cs.alfred.edu>
dnl Jaroslav Kysela <perex@suse.cz>
dnl Last modification: alsa.m4,v 1.23 2004/01/16 18:14:22 tiwai Exp
dnl AM_PATH_ALSA([MINIMUM-VERSION [, ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]])
dnl Test for libasound, and define ALSA_CFLAGS and ALSA_LIBS as appropriate.
dnl enables arguments --with-alsa-prefix=
dnl --with-alsa-enc-prefix=
dnl --disable-alsatest
dnl
dnl For backwards compatibility, if ACTION_IF_NOT_FOUND is not specified,
dnl and the alsa libraries are not found, a fatal AC_MSG_ERROR() will result.
dnl
AC_DEFUN([AM_PATH_ALSA],
[dnl Save the original CFLAGS, LDFLAGS, and LIBS
alsa_save_CFLAGS="$CFLAGS"
alsa_save_LDFLAGS="$LDFLAGS"
alsa_save_LIBS="$LIBS"
alsa_found=yes
dnl
dnl Get the cflags and libraries for alsa
dnl
AC_ARG_WITH(alsa-prefix,
[ --with-alsa-prefix=PFX Prefix where Alsa library is installed(optional)],
[alsa_prefix="$withval"], [alsa_prefix=""])
AC_ARG_WITH(alsa-inc-prefix,
[ --with-alsa-inc-prefix=PFX Prefix where include libraries are (optional)],
[alsa_inc_prefix="$withval"], [alsa_inc_prefix=""])
dnl FIXME: this is not yet implemented
AC_ARG_ENABLE(alsatest,
[ --disable-alsatest Do not try to compile and run a test Alsa program],
[enable_alsatest="$enableval"],
[enable_alsatest=yes])
dnl Add any special include directories
AC_MSG_CHECKING(for ALSA CFLAGS)
if test "$alsa_inc_prefix" != "" ; then
ALSA_CFLAGS="$ALSA_CFLAGS -I$alsa_inc_prefix"
CFLAGS="$CFLAGS -I$alsa_inc_prefix"
fi
AC_MSG_RESULT($ALSA_CFLAGS)
CFLAGS="$alsa_save_CFLAGS"
dnl add any special lib dirs
AC_MSG_CHECKING(for ALSA LDFLAGS)
if test "$alsa_prefix" != "" ; then
ALSA_LIBS="$ALSA_LIBS -L$alsa_prefix"
LDFLAGS="$LDFLAGS $ALSA_LIBS"
fi
dnl add the alsa library
ALSA_LIBS="$ALSA_LIBS -lasound -lm -ldl -lpthread"
LIBS=`echo $LIBS | sed 's/-lm//'`
LIBS=`echo $LIBS | sed 's/-ldl//'`
LIBS=`echo $LIBS | sed 's/-lpthread//'`
LIBS=`echo $LIBS | sed 's/ //'`
LIBS="$ALSA_LIBS $LIBS"
AC_MSG_RESULT($ALSA_LIBS)
dnl Check for a working version of libasound that is of the right version.
min_alsa_version=ifelse([$1], ,0.1.1,$1)
AC_MSG_CHECKING(for libasound headers version >= $min_alsa_version)
no_alsa=""
alsa_min_major_version=`echo $min_alsa_version | \
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
alsa_min_minor_version=`echo $min_alsa_version | \
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
alsa_min_micro_version=`echo $min_alsa_version | \
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
AC_LANG_SAVE
AC_LANG_C
AC_TRY_COMPILE([
#include <alsa/asoundlib.h>
], [
/* ensure backward compatibility */
#if !defined(SND_LIB_MAJOR) && defined(SOUNDLIB_VERSION_MAJOR)
#define SND_LIB_MAJOR SOUNDLIB_VERSION_MAJOR
#endif
#if !defined(SND_LIB_MINOR) && defined(SOUNDLIB_VERSION_MINOR)
#define SND_LIB_MINOR SOUNDLIB_VERSION_MINOR
#endif
#if !defined(SND_LIB_SUBMINOR) && defined(SOUNDLIB_VERSION_SUBMINOR)
#define SND_LIB_SUBMINOR SOUNDLIB_VERSION_SUBMINOR
#endif
# if(SND_LIB_MAJOR > $alsa_min_major_version)
exit(0);
# else
# if(SND_LIB_MAJOR < $alsa_min_major_version)
# error not present
# endif
# if(SND_LIB_MINOR > $alsa_min_minor_version)
exit(0);
# else
# if(SND_LIB_MINOR < $alsa_min_minor_version)
# error not present
# endif
# if(SND_LIB_SUBMINOR < $alsa_min_micro_version)
# error not present
# endif
# endif
# endif
exit(0);
],
[AC_MSG_RESULT(found.)],
[AC_MSG_RESULT(not present.)
ifelse([$3], , [AC_MSG_ERROR(Sufficiently new version of libasound not found.)])
alsa_found=no]
)
AC_LANG_RESTORE
dnl Now that we know that we have the right version, let's see if we have the library and not just the headers.
if test "x$enable_alsatest" = "xyes"; then
AC_CHECK_LIB([asound], [snd_ctl_open],,
[ifelse([$3], , [AC_MSG_ERROR(No linkable libasound was found.)])
alsa_found=no]
)
fi
LDFLAGS="$alsa_save_LDFLAGS"
LIBS="$alsa_save_LIBS"
if test "x$alsa_found" = "xyes" ; then
ifelse([$2], , :, [$2])
else
ALSA_CFLAGS=""
ALSA_LIBS=""
ifelse([$3], , :, [$3])
fi
dnl That should be it. Now just export out symbols:
AC_SUBST(ALSA_CFLAGS)
AC_SUBST(ALSA_LIBS)
])
dnl The following lines were copied from gtk-doc.m4
dnl Usage:
dnl GTK_DOC_CHECK([minimum-gtk-doc-version])
AC_DEFUN([GTK_DOC_CHECK],
[
AC_BEFORE([AC_PROG_LIBTOOL],[$0])dnl setup libtool first
AC_BEFORE([AM_PROG_LIBTOOL],[$0])dnl setup libtool first
dnl for overriding the documentation installation directory
AC_ARG_WITH(html-dir,
AC_HELP_STRING([--with-html-dir=PATH], [path to installed docs]),,
[with_html_dir='${datadir}/gtk-doc/html'])
HTML_DIR="$with_html_dir"
AC_SUBST(HTML_DIR)
dnl enable/disable documentation building
AC_ARG_ENABLE(gtk-doc,
AC_HELP_STRING([--enable-gtk-doc],
[use gtk-doc to build documentation (default=no)]),,
enable_gtk_doc=no)
have_gtk_doc=no
if test x$enable_gtk_doc = xyes; then
if test -z "$PKG_CONFIG"; then
AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
fi
if test "$PKG_CONFIG" != "no" && $PKG_CONFIG --exists gtk-doc; then
have_gtk_doc=yes
fi
dnl do we want to do a version check?
ifelse([$1],[],,
[gtk_doc_min_version=$1
if test "$have_gtk_doc" = yes; then
AC_MSG_CHECKING([gtk-doc version >= $gtk_doc_min_version])
if $PKG_CONFIG --atleast-version $gtk_doc_min_version gtk-doc; then
AC_MSG_RESULT(yes)
else
AC_MSG_RESULT(no)
have_gtk_doc=no
fi
fi
])
if test "$have_gtk_doc" != yes; then
enable_gtk_doc=no
fi
fi
AM_CONDITIONAL(ENABLE_GTK_DOC, test x$enable_gtk_doc = xyes)
AM_CONDITIONAL(GTK_DOC_USE_LIBTOOL, test -n "$LIBTOOL")
])
dnl GIMP_DETECT_CFLAGS(RESULT, FLAGSET)
dnl Detect if the compiler supports a set of flags
AC_DEFUN([GIMP_DETECT_CFLAGS],
[
$1=
for flag in $2; do
if test -z "[$]$1"; then
$1_save_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS $flag"
AC_MSG_CHECKING([whether [$]CC understands [$]flag])
AC_TRY_COMPILE([], [], [$1_works=yes], [$1_works=no])
AC_MSG_RESULT([$]$1_works)
CFLAGS="[$]$1_save_CFLAGS"
if test "x[$]$1_works" = "xyes"; then
$1="$flag"
fi
fi
done
])
m4_include([m4macros/detectcflags.m4])
m4_include([m4macros/pythondev.m4])
m4_include([m4macros/gimpprint.m4])
m4_include([m4macros/alsa.m4])
m4_include([m4macros/gtk-doc.m4])
m4_include([m4macros/binreloc.m4])

1017
aclocal.m4 vendored

File diff suppressed because it is too large Load Diff

View File

@ -1,12 +1,14 @@
## Process this file with automake to produce Makefile.in
libgimpbase = $(top_builddir)/libgimpbase/libgimpbase-$(GIMP_API_VERSION).la
libgimpconfig = $(top_builddir)/libgimpconfig/libgimpconfig-$(GIMP_API_VERSION).la
libgimpcolor = $(top_builddir)/libgimpcolor/libgimpcolor-$(GIMP_API_VERSION).la
libgimpmath = $(top_builddir)/libgimpmath/libgimpmath-$(GIMP_API_VERSION).la
libgimpmodule = $(top_builddir)/libgimpmodule/libgimpmodule-$(GIMP_API_VERSION).la
libgimpwidgets = $(top_builddir)/libgimpwidgets/libgimpwidgets-$(GIMP_API_VERSION).la
libgimpthumb = $(top_builddir)/libgimpthumb/libgimpthumb-$(GIMP_API_VERSION).la
SUBDIRS = \
paint-funcs \
composite \
@ -28,12 +30,11 @@ SUBDIRS = \
gui \
pdb
scriptdata =
if ENABLE_GIMP_CONSOLE
bin_PROGRAMS = gimp-2.2 gimp-console-2.2
bin_PROGRAMS = gimp-2.3 gimp-console-2.3
else
bin_PROGRAMS = gimp-2.2
bin_PROGRAMS = gimp-2.3
endif
app_sources = \
@ -50,7 +51,7 @@ app_sources = \
units.h \
gimp-intl.h
gimp_2_2_SOURCES = $(app_sources)
gimp_2_3_SOURCES = $(app_sources)
EXTRA_DIST = \
@ -69,6 +70,9 @@ endif
if OS_WIN32
mwindows = -mwindows
endif
if OS_UNIX
munix = -Wl,-rpath '-Wl,$$ORIGIN/../lib'
endif
if HAVE_WINDRES
GIMPICONRC = gimprc.o
@ -77,18 +81,17 @@ endif
AM_CPPFLAGS = \
-DG_LOG_DOMAIN=\"Gimp\" \
-DGIMP_APP_GLUE_COMPILATION \
@GIMP_THREAD_FLAGS@ \
@GIMP_MP_FLAGS@
@GTHREAD_CFLAGS@
INCLUDES = \
-I$(top_srcdir) \
$(GTK_CFLAGS) \
$(PANGOFT2_CFLAGS) \
-I$(top_srcdir) \
$(GTK_CFLAGS) \
$(PANGOFT2_CFLAGS) \
-I$(includedir)
gimp_2_2_LDFLAGS = $(mwindows)
gimp_2_3_LDFLAGS = $(mwindows) $(munix)
gimp_2_2_LDADD = \
gimp_2_3_LDADD = \
gui/libappgui.a \
actions/libappactions.a \
dialogs/libappdialogs.a \
@ -113,6 +116,7 @@ gimp_2_2_LDADD = \
$(libgimpcolor) \
$(libgimpthumb) \
$(libgimpmath) \
$(libgimpconfig) \
$(libgimpbase) \
$(REGEXREPL) \
$(GTK_LIBS) \
@ -120,8 +124,7 @@ gimp_2_2_LDADD = \
$(PANGOFT2_LIBS) \
$(FONTCONFIG_LIBS) \
$(FREETYPE_LIBS) \
$(GIMP_THREAD_LIBS) \
$(GIMP_MP_LIBS) \
$(GTHREAD_LIBS) \
$(RT_LIBS) \
$(INTLLIBS) \
$(GIMPICONRC)
@ -129,15 +132,13 @@ gimp_2_2_LDADD = \
if ENABLE_GIMP_CONSOLE
gimp_console_2_2_SOURCES = $(app_sources)
gimp_console_2_3_SOURCES = $(app_sources)
gimp_console_2_2_CPPFLAGS = \
gimp_console_2_3_CPPFLAGS = \
$(AM_CPPFLAGS) \
-DGIMP_CONSOLE_COMPILATION
gimp_console_2_2_LDFLAGS = $(gimp_2_2_LDFLAGS)
gimp_console_2_2_LDADD = \
gimp_console_2_3_LDADD = \
widgets/widgets-enums.o \
display/display-enums.o \
display/gimpdisplayoptions.o \
@ -157,6 +158,7 @@ gimp_console_2_2_LDADD = \
$(libgimpcolor) \
$(libgimpthumb) \
$(libgimpmath) \
$(libgimpconfig) \
$(libgimpbase) \
$(REGEXREPL) \
$(GDK_PIXBUF_LIBS) \
@ -164,8 +166,7 @@ gimp_console_2_2_LDADD = \
$(PANGOFT2_LIBS) \
$(FONTCONFIG_LIBS) \
$(FREETYPE_LIBS) \
$(GIMP_THREAD_LIBS) \
$(GIMP_MP_LIBS) \
$(GTHREAD_LIBS) \
$(RT_LIBS) \
$(INTLLIBS) \
$(GIMPICONRC)
@ -209,9 +210,14 @@ endif
# uptodate when a release is made
#
dist-dump-gimprc: gimp-console-$(GIMP_APP_VERSION)$(EXEEXT)
./$< --dump-gimprc-system > $(top_srcdir)/etc/gimprc
./$< --dump-gimprc-manpage > $(top_srcdir)/docs/gimprc.5.in
./$< --dump-gimprc-system > gimprc.tmp \
&& (cmp -s gimprc.tmp $(top_srcdir)/etc/gimprc || \
cp gimprc.tmp $(top_srcdir)/etc/gimprc) \
&& rm gimprc.tmp
./$< --dump-gimprc-manpage > gimprc.tmp \
&& (cmp -s gimprc.tmp $(top_srcdir)/docs/gimprc.5.in || \
cp gimprc.tmp $(top_srcdir)/docs/gimprc.5.in) \
&& rm gimprc.tmp
dist-hook: dist-check-gimp-console dist-dump-gimprc

View File

@ -36,14 +36,19 @@ PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
@ENABLE_GIMP_CONSOLE_FALSE@bin_PROGRAMS = gimp-2.2$(EXEEXT)
@ENABLE_GIMP_CONSOLE_TRUE@bin_PROGRAMS = gimp-2.2$(EXEEXT) \
@ENABLE_GIMP_CONSOLE_TRUE@ gimp-console-2.2$(EXEEXT)
@ENABLE_GIMP_CONSOLE_FALSE@bin_PROGRAMS = gimp-2.3$(EXEEXT)
@ENABLE_GIMP_CONSOLE_TRUE@bin_PROGRAMS = gimp-2.3$(EXEEXT) \
@ENABLE_GIMP_CONSOLE_TRUE@ gimp-console-2.3$(EXEEXT)
subdir = app
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
$(top_srcdir)/configure.in
$(top_srcdir)/m4macros/detectcflags.m4 \
$(top_srcdir)/m4macros/pythondev.m4 \
$(top_srcdir)/m4macros/gimpprint.m4 \
$(top_srcdir)/m4macros/alsa.m4 \
$(top_srcdir)/m4macros/gtk-doc.m4 \
$(top_srcdir)/m4macros/binreloc.m4 $(top_srcdir)/configure.in
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
@ -54,19 +59,20 @@ binPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
PROGRAMS = $(bin_PROGRAMS)
am__objects_1 = app_procs.$(OBJEXT) main.$(OBJEXT) batch.$(OBJEXT) \
errors.$(OBJEXT) sanity.$(OBJEXT) units.$(OBJEXT)
am_gimp_2_2_OBJECTS = $(am__objects_1)
gimp_2_2_OBJECTS = $(am_gimp_2_2_OBJECTS)
am_gimp_2_3_OBJECTS = $(am__objects_1)
gimp_2_3_OBJECTS = $(am_gimp_2_3_OBJECTS)
am__DEPENDENCIES_1 = $(top_builddir)/libgimpwidgets/libgimpwidgets-$(GIMP_API_VERSION).la
am__DEPENDENCIES_2 = $(top_builddir)/libgimpmodule/libgimpmodule-$(GIMP_API_VERSION).la
am__DEPENDENCIES_3 = $(top_builddir)/libgimpcolor/libgimpcolor-$(GIMP_API_VERSION).la
am__DEPENDENCIES_4 = $(top_builddir)/libgimpthumb/libgimpthumb-$(GIMP_API_VERSION).la
am__DEPENDENCIES_5 = $(top_builddir)/libgimpmath/libgimpmath-$(GIMP_API_VERSION).la
am__DEPENDENCIES_6 = $(top_builddir)/libgimpbase/libgimpbase-$(GIMP_API_VERSION).la
@HAVE_GLIBC_REGEX_FALSE@am__DEPENDENCIES_7 = \
am__DEPENDENCIES_6 = $(top_builddir)/libgimpconfig/libgimpconfig-$(GIMP_API_VERSION).la
am__DEPENDENCIES_7 = $(top_builddir)/libgimpbase/libgimpbase-$(GIMP_API_VERSION).la
@HAVE_GLIBC_REGEX_FALSE@am__DEPENDENCIES_8 = \
@HAVE_GLIBC_REGEX_FALSE@ $(top_builddir)/regexrepl/libregex.a
am__DEPENDENCIES_8 =
@HAVE_WINDRES_TRUE@am__DEPENDENCIES_9 = gimprc.o
gimp_2_2_DEPENDENCIES = gui/libappgui.a actions/libappactions.a \
am__DEPENDENCIES_9 =
@HAVE_WINDRES_TRUE@am__DEPENDENCIES_10 = gimprc.o
gimp_2_3_DEPENDENCIES = gui/libappgui.a actions/libappactions.a \
dialogs/libappdialogs.a menus/libappmenus.a \
display/libappdisplay.a tools/libapptools.a \
widgets/libappwidgets.a pdb/libapppdb.a \
@ -78,24 +84,24 @@ gimp_2_2_DEPENDENCIES = gui/libappgui.a actions/libappactions.a \
$(am__DEPENDENCIES_3) $(am__DEPENDENCIES_4) \
$(am__DEPENDENCIES_5) $(am__DEPENDENCIES_6) \
$(am__DEPENDENCIES_7) $(am__DEPENDENCIES_8) \
$(am__DEPENDENCIES_8) $(am__DEPENDENCIES_8) \
$(am__DEPENDENCIES_8) $(am__DEPENDENCIES_8) \
$(am__DEPENDENCIES_8) $(am__DEPENDENCIES_8) \
$(am__DEPENDENCIES_8) $(am__DEPENDENCIES_8) \
$(am__DEPENDENCIES_9)
am__gimp_console_2_2_SOURCES_DIST = app_procs.c app_procs.h main.c \
$(am__DEPENDENCIES_9) $(am__DEPENDENCIES_9) \
$(am__DEPENDENCIES_9) $(am__DEPENDENCIES_9) \
$(am__DEPENDENCIES_9) $(am__DEPENDENCIES_9) \
$(am__DEPENDENCIES_9) $(am__DEPENDENCIES_9) \
$(am__DEPENDENCIES_10)
am__gimp_console_2_3_SOURCES_DIST = app_procs.c app_procs.h main.c \
batch.c batch.h errors.c errors.h sanity.c sanity.h units.c \
units.h gimp-intl.h
am__objects_2 = gimp_console_2_2-app_procs.$(OBJEXT) \
gimp_console_2_2-main.$(OBJEXT) \
gimp_console_2_2-batch.$(OBJEXT) \
gimp_console_2_2-errors.$(OBJEXT) \
gimp_console_2_2-sanity.$(OBJEXT) \
gimp_console_2_2-units.$(OBJEXT)
@ENABLE_GIMP_CONSOLE_TRUE@am_gimp_console_2_2_OBJECTS = \
am__objects_2 = gimp_console_2_3-app_procs.$(OBJEXT) \
gimp_console_2_3-main.$(OBJEXT) \
gimp_console_2_3-batch.$(OBJEXT) \
gimp_console_2_3-errors.$(OBJEXT) \
gimp_console_2_3-sanity.$(OBJEXT) \
gimp_console_2_3-units.$(OBJEXT)
@ENABLE_GIMP_CONSOLE_TRUE@am_gimp_console_2_3_OBJECTS = \
@ENABLE_GIMP_CONSOLE_TRUE@ $(am__objects_2)
gimp_console_2_2_OBJECTS = $(am_gimp_console_2_2_OBJECTS)
@ENABLE_GIMP_CONSOLE_TRUE@gimp_console_2_2_DEPENDENCIES = \
gimp_console_2_3_OBJECTS = $(am_gimp_console_2_3_OBJECTS)
@ENABLE_GIMP_CONSOLE_TRUE@gimp_console_2_3_DEPENDENCIES = \
@ENABLE_GIMP_CONSOLE_TRUE@ widgets/widgets-enums.o \
@ENABLE_GIMP_CONSOLE_TRUE@ display/display-enums.o \
@ENABLE_GIMP_CONSOLE_TRUE@ display/gimpdisplayoptions.o \
@ -116,15 +122,15 @@ gimp_console_2_2_OBJECTS = $(am_gimp_console_2_2_OBJECTS)
@ENABLE_GIMP_CONSOLE_TRUE@ $(am__DEPENDENCIES_6) \
@ENABLE_GIMP_CONSOLE_TRUE@ $(am__DEPENDENCIES_7) \
@ENABLE_GIMP_CONSOLE_TRUE@ $(am__DEPENDENCIES_8) \
@ENABLE_GIMP_CONSOLE_TRUE@ $(am__DEPENDENCIES_8) \
@ENABLE_GIMP_CONSOLE_TRUE@ $(am__DEPENDENCIES_8) \
@ENABLE_GIMP_CONSOLE_TRUE@ $(am__DEPENDENCIES_8) \
@ENABLE_GIMP_CONSOLE_TRUE@ $(am__DEPENDENCIES_8) \
@ENABLE_GIMP_CONSOLE_TRUE@ $(am__DEPENDENCIES_8) \
@ENABLE_GIMP_CONSOLE_TRUE@ $(am__DEPENDENCIES_8) \
@ENABLE_GIMP_CONSOLE_TRUE@ $(am__DEPENDENCIES_8) \
@ENABLE_GIMP_CONSOLE_TRUE@ $(am__DEPENDENCIES_8) \
@ENABLE_GIMP_CONSOLE_TRUE@ $(am__DEPENDENCIES_9)
@ENABLE_GIMP_CONSOLE_TRUE@ $(am__DEPENDENCIES_9) \
@ENABLE_GIMP_CONSOLE_TRUE@ $(am__DEPENDENCIES_9) \
@ENABLE_GIMP_CONSOLE_TRUE@ $(am__DEPENDENCIES_9) \
@ENABLE_GIMP_CONSOLE_TRUE@ $(am__DEPENDENCIES_9) \
@ENABLE_GIMP_CONSOLE_TRUE@ $(am__DEPENDENCIES_9) \
@ENABLE_GIMP_CONSOLE_TRUE@ $(am__DEPENDENCIES_9) \
@ENABLE_GIMP_CONSOLE_TRUE@ $(am__DEPENDENCIES_9) \
@ENABLE_GIMP_CONSOLE_TRUE@ $(am__DEPENDENCIES_9) \
@ENABLE_GIMP_CONSOLE_TRUE@ $(am__DEPENDENCIES_10)
DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
@ -136,9 +142,9 @@ LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \
CCLD = $(CC)
LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
$(AM_LDFLAGS) $(LDFLAGS) -o $@
SOURCES = $(gimp_2_2_SOURCES) $(gimp_console_2_2_SOURCES)
DIST_SOURCES = $(gimp_2_2_SOURCES) \
$(am__gimp_console_2_2_SOURCES_DIST)
SOURCES = $(gimp_2_3_SOURCES) $(gimp_console_2_3_SOURCES)
DIST_SOURCES = $(gimp_2_3_SOURCES) \
$(am__gimp_console_2_3_SOURCES_DIST)
RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
html-recursive info-recursive install-data-recursive \
install-exec-recursive install-info-recursive \
@ -152,9 +158,9 @@ DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
AA = @AA@
ACLOCAL = @ACLOCAL@
ALLOCA = @ALLOCA@
ALL_LINGUAS = @ALL_LINGUAS@
ALSA_CFLAGS = @ALSA_CFLAGS@
ALSA_LIBS = @ALSA_LIBS@
ALTIVEC_EXTRA_CFLAGS = @ALTIVEC_EXTRA_CFLAGS@
AMDEP_FALSE = @AMDEP_FALSE@
AMDEP_TRUE = @AMDEP_TRUE@
AMTAR = @AMTAR@
@ -164,6 +170,8 @@ AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
BINRELOC_CFLAGS = @BINRELOC_CFLAGS@
BINRELOC_LIBS = @BINRELOC_LIBS@
BUILD_HELPBROWSER_FALSE = @BUILD_HELPBROWSER_FALSE@
BUILD_HELPBROWSER_TRUE = @BUILD_HELPBROWSER_TRUE@
BUILD_PRINT_FALSE = @BUILD_PRINT_FALSE@
@ -195,6 +203,7 @@ DESKTOP_DATADIR = @DESKTOP_DATADIR@
DESKTOP_DATADIR_FALSE = @DESKTOP_DATADIR_FALSE@
DESKTOP_DATADIR_TRUE = @DESKTOP_DATADIR_TRUE@
DLLTOOL = @DLLTOOL@
DOC_SHOOTER = @DOC_SHOOTER@
ECHO = @ECHO@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
@ -229,7 +238,6 @@ GIMP_API_VERSION = @GIMP_API_VERSION@
GIMP_APP_VERSION = @GIMP_APP_VERSION@
GIMP_BINARY_AGE = @GIMP_BINARY_AGE@
GIMP_DATA_VERSION = @GIMP_DATA_VERSION@
GIMP_DESKTOP_ICON = @GIMP_DESKTOP_ICON@
GIMP_FULL_NAME = @GIMP_FULL_NAME@
GIMP_INTERFACE_AGE = @GIMP_INTERFACE_AGE@
GIMP_MAJOR_VERSION = @GIMP_MAJOR_VERSION@
@ -237,18 +245,16 @@ GIMP_MICRO_VERSION = @GIMP_MICRO_VERSION@
GIMP_MINOR_VERSION = @GIMP_MINOR_VERSION@
GIMP_MKENUMS = @GIMP_MKENUMS@
GIMP_MODULES = @GIMP_MODULES@
GIMP_MP_FLAGS = @GIMP_MP_FLAGS@
GIMP_MP_LIBS = @GIMP_MP_LIBS@
GIMP_PKGCONFIG_VERSION = @GIMP_PKGCONFIG_VERSION@
GIMP_PLUGINS = @GIMP_PLUGINS@
GIMP_PLUGIN_VERSION = @GIMP_PLUGIN_VERSION@
GIMP_REAL_VERSION = @GIMP_REAL_VERSION@
GIMP_REMOTE = @GIMP_REMOTE@
GIMP_SYSCONF_VERSION = @GIMP_SYSCONF_VERSION@
GIMP_THREAD_FLAGS = @GIMP_THREAD_FLAGS@
GIMP_THREAD_LIBS = @GIMP_THREAD_LIBS@
GIMP_TOOL_VERSION = @GIMP_TOOL_VERSION@
GIMP_UNSTABLE = @GIMP_UNSTABLE@
GIMP_UNSTABLE_FALSE = @GIMP_UNSTABLE_FALSE@
GIMP_UNSTABLE_TRUE = @GIMP_UNSTABLE_TRUE@
GIMP_USER_VERSION = @GIMP_USER_VERSION@
GIMP_VERSION = @GIMP_VERSION@
GLIB_CFLAGS = @GLIB_CFLAGS@
@ -260,8 +266,12 @@ GMODULE_CFLAGS = @GMODULE_CFLAGS@
GMODULE_LIBS = @GMODULE_LIBS@
GMOFILES = @GMOFILES@
GMSGFMT = @GMSGFMT@
GNOMEPRINT = @GNOMEPRINT@
GNOMEPRINT_CFLAGS = @GNOMEPRINT_CFLAGS@
GNOMEPRINT_LIBS = @GNOMEPRINT_LIBS@
GOBJECT_QUERY = @GOBJECT_QUERY@
GREP = @GREP@
GTHREAD_CFLAGS = @GTHREAD_CFLAGS@
GTHREAD_LIBS = @GTHREAD_LIBS@
GTKDOC_REQUIRED_VERSION = @GTKDOC_REQUIRED_VERSION@
GTKHTML2_CFLAGS = @GTKHTML2_CFLAGS@
GTKHTML2_LIBS = @GTKHTML2_LIBS@
@ -275,6 +285,10 @@ HAVE_FINITE = @HAVE_FINITE@
HAVE_GLIBC_REGEX = @HAVE_GLIBC_REGEX@
HAVE_GLIBC_REGEX_FALSE = @HAVE_GLIBC_REGEX_FALSE@
HAVE_GLIBC_REGEX_TRUE = @HAVE_GLIBC_REGEX_TRUE@
HAVE_GNOMEPRINT_FALSE = @HAVE_GNOMEPRINT_FALSE@
HAVE_GNOMEPRINT_TRUE = @HAVE_GNOMEPRINT_TRUE@
HAVE_GNOMEVFS_FALSE = @HAVE_GNOMEVFS_FALSE@
HAVE_GNOMEVFS_TRUE = @HAVE_GNOMEVFS_TRUE@
HAVE_ISFINITE = @HAVE_ISFINITE@
HAVE_LCMS_FALSE = @HAVE_LCMS_FALSE@
HAVE_LCMS_TRUE = @HAVE_LCMS_TRUE@
@ -311,7 +325,6 @@ INTLTOOL_PONG_RULE = @INTLTOOL_PONG_RULE@
INTLTOOL_PROP_RULE = @INTLTOOL_PROP_RULE@
INTLTOOL_SCHEMAS_RULE = @INTLTOOL_SCHEMAS_RULE@
INTLTOOL_SERVER_RULE = @INTLTOOL_SERVER_RULE@
INTLTOOL_SERVICE_RULE = @INTLTOOL_SERVICE_RULE@
INTLTOOL_SHEET_RULE = @INTLTOOL_SHEET_RULE@
INTLTOOL_SOUNDLIST_RULE = @INTLTOOL_SOUNDLIST_RULE@
INTLTOOL_THEME_RULE = @INTLTOOL_THEME_RULE@
@ -327,10 +340,12 @@ LDFLAGS = @LDFLAGS@
LIBAA = @LIBAA@
LIBART_CFLAGS = @LIBART_CFLAGS@
LIBART_LIBS = @LIBART_LIBS@
LIBGNOMEPRINT = @LIBGNOMEPRINT@
LIBJPEG = @LIBJPEG@
LIBMNG = @LIBMNG@
LIBOBJS = @LIBOBJS@
LIBPNG = @LIBPNG@
LIBPOPPLER = @LIBPOPPLER@
LIBS = @LIBS@
LIBSCREENSHOT = @LIBSCREENSHOT@
LIBSVG = @LIBSVG@
@ -353,7 +368,6 @@ MKINSTALLDIRS = @MKINSTALLDIRS@
MMX_EXTRA_CFLAGS = @MMX_EXTRA_CFLAGS@
MNG = @MNG@
MSGFMT = @MSGFMT@
MSGFMT_OPTS = @MSGFMT_OPTS@
MS_LIB_AVAILABLE_FALSE = @MS_LIB_AVAILABLE_FALSE@
MS_LIB_AVAILABLE_TRUE = @MS_LIB_AVAILABLE_TRUE@
OBJDUMP = @OBJDUMP@
@ -379,15 +393,22 @@ PLATFORM_WIN32_FALSE = @PLATFORM_WIN32_FALSE@
PLATFORM_WIN32_TRUE = @PLATFORM_WIN32_TRUE@
PNG = @PNG@
POFILES = @POFILES@
POPPLER = @POPPLER@
POPPLER_CFLAGS = @POPPLER_CFLAGS@
POPPLER_LIBS = @POPPLER_LIBS@
POSUB = @POSUB@
PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@
PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@
PRINT_CFLAGS = @PRINT_CFLAGS@
PRINT_LIBS = @PRINT_LIBS@
PSP = @PSP@
PYBIN_PATH = @PYBIN_PATH@
PYGIMP_EXTRA_CFLAGS = @PYGIMP_EXTRA_CFLAGS@
PYGTK_CFLAGS = @PYGTK_CFLAGS@
PYGTK_CODEGEN = @PYGTK_CODEGEN@
PYGTK_DEFSDIR = @PYGTK_DEFSDIR@
PYGTK_LIBS = @PYGTK_LIBS@
PYLINK_LIBS = @PYLINK_LIBS@
PYTHON = @PYTHON@
PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
PYTHON_INCLUDES = @PYTHON_INCLUDES@
@ -411,10 +432,10 @@ SVG_CFLAGS = @SVG_CFLAGS@
SVG_LIBS = @SVG_LIBS@
SYMPREFIX = @SYMPREFIX@
TIFF = @TIFF@
URL = @URL@
URI_CFLAGS = @URI_CFLAGS@
URI_LIBS = @URI_LIBS@
USE_NLS = @USE_NLS@
VERSION = @VERSION@
WINCLIPBOARD = @WINCLIPBOARD@
WINDRES = @WINDRES@
WINPRINT = @WINPRINT@
WITH_PDBGEN_FALSE = @WITH_PDBGEN_FALSE@
@ -424,7 +445,6 @@ WMF_CFLAGS = @WMF_CFLAGS@
WMF_CONFIG = @WMF_CONFIG@
WMF_REQUIRED_VERSION = @WMF_REQUIRED_VERSION@
XGETTEXT = @XGETTEXT@
XMKMF = @XMKMF@
XMLLINT = @XMLLINT@
XPM = @XPM@
XSLTPROC = @XSLTPROC@
@ -432,9 +452,17 @@ X_CFLAGS = @X_CFLAGS@
X_EXTRA_LIBS = @X_EXTRA_LIBS@
X_LIBS = @X_LIBS@
X_PRE_LIBS = @X_PRE_LIBS@
ac_ct_AR = @ac_ct_AR@
ac_ct_AS = @ac_ct_AS@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
ac_ct_DLLTOOL = @ac_ct_DLLTOOL@
ac_ct_F77 = @ac_ct_F77@
ac_ct_OBJDUMP = @ac_ct_OBJDUMP@
ac_ct_RANLIB = @ac_ct_RANLIB@
ac_ct_STRIP = @ac_ct_STRIP@
ac_ct_WINDRES = @ac_ct_WINDRES@
ac_pt_PKG_CONFIG = @ac_pt_PKG_CONFIG@
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
@ -451,12 +479,10 @@ build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
datadir = @datadir@
datarootdir = @datarootdir@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
gimpdatadir = @gimpdatadir@
gimpdir = @gimpdir@
gimplocaledir = @gimplocaledir@
gimpplugindir = @gimpplugindir@
gimpsysconfdir = @gimpsysconfdir@
host = @host@
@ -464,24 +490,20 @@ host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
ms_librarian = @ms_librarian@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
pkgpyexecdir = @pkgpyexecdir@
pkgpythondir = @pkgpythondir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
pyexecdir = @pyexecdir@
pythondir = @pythondir@
sbindir = @sbindir@
@ -489,6 +511,7 @@ sharedstatedir = @sharedstatedir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
libgimpbase = $(top_builddir)/libgimpbase/libgimpbase-$(GIMP_API_VERSION).la
libgimpconfig = $(top_builddir)/libgimpconfig/libgimpconfig-$(GIMP_API_VERSION).la
libgimpcolor = $(top_builddir)/libgimpcolor/libgimpcolor-$(GIMP_API_VERSION).la
libgimpmath = $(top_builddir)/libgimpmath/libgimpmath-$(GIMP_API_VERSION).la
libgimpmodule = $(top_builddir)/libgimpmodule/libgimpmodule-$(GIMP_API_VERSION).la
@ -515,7 +538,6 @@ SUBDIRS = \
gui \
pdb
scriptdata =
app_sources = \
app_procs.c \
app_procs.h \
@ -530,7 +552,7 @@ app_sources = \
units.h \
gimp-intl.h
gimp_2_2_SOURCES = $(app_sources)
gimp_2_3_SOURCES = $(app_sources)
EXTRA_DIST = \
makefile.msc \
gimp.rc \
@ -540,21 +562,21 @@ EXTRA_DIST = \
@HAVE_GLIBC_REGEX_FALSE@REGEXREPL = $(top_builddir)/regexrepl/libregex.a
@HAVE_GLIBC_REGEX_TRUE@REGEXREPL =
@OS_WIN32_TRUE@mwindows = -mwindows
@OS_UNIX_TRUE@munix = -Wl,-rpath '-Wl,$$ORIGIN/../lib'
@HAVE_WINDRES_TRUE@GIMPICONRC = gimprc.o
AM_CPPFLAGS = \
-DG_LOG_DOMAIN=\"Gimp\" \
-DGIMP_APP_GLUE_COMPILATION \
@GIMP_THREAD_FLAGS@ \
@GIMP_MP_FLAGS@
@GTHREAD_CFLAGS@
INCLUDES = \
-I$(top_srcdir) \
$(GTK_CFLAGS) \
$(PANGOFT2_CFLAGS) \
-I$(top_srcdir) \
$(GTK_CFLAGS) \
$(PANGOFT2_CFLAGS) \
-I$(includedir)
gimp_2_2_LDFLAGS = $(mwindows)
gimp_2_2_LDADD = \
gimp_2_3_LDFLAGS = $(mwindows) $(munix)
gimp_2_3_LDADD = \
gui/libappgui.a \
actions/libappactions.a \
dialogs/libappdialogs.a \
@ -579,6 +601,7 @@ gimp_2_2_LDADD = \
$(libgimpcolor) \
$(libgimpthumb) \
$(libgimpmath) \
$(libgimpconfig) \
$(libgimpbase) \
$(REGEXREPL) \
$(GTK_LIBS) \
@ -586,19 +609,17 @@ gimp_2_2_LDADD = \
$(PANGOFT2_LIBS) \
$(FONTCONFIG_LIBS) \
$(FREETYPE_LIBS) \
$(GIMP_THREAD_LIBS) \
$(GIMP_MP_LIBS) \
$(GTHREAD_LIBS) \
$(RT_LIBS) \
$(INTLLIBS) \
$(GIMPICONRC)
@ENABLE_GIMP_CONSOLE_TRUE@gimp_console_2_2_SOURCES = $(app_sources)
@ENABLE_GIMP_CONSOLE_TRUE@gimp_console_2_2_CPPFLAGS = \
@ENABLE_GIMP_CONSOLE_TRUE@gimp_console_2_3_SOURCES = $(app_sources)
@ENABLE_GIMP_CONSOLE_TRUE@gimp_console_2_3_CPPFLAGS = \
@ENABLE_GIMP_CONSOLE_TRUE@ $(AM_CPPFLAGS) \
@ENABLE_GIMP_CONSOLE_TRUE@ -DGIMP_CONSOLE_COMPILATION
@ENABLE_GIMP_CONSOLE_TRUE@gimp_console_2_2_LDFLAGS = $(gimp_2_2_LDFLAGS)
@ENABLE_GIMP_CONSOLE_TRUE@gimp_console_2_2_LDADD = \
@ENABLE_GIMP_CONSOLE_TRUE@gimp_console_2_3_LDADD = \
@ENABLE_GIMP_CONSOLE_TRUE@ widgets/widgets-enums.o \
@ENABLE_GIMP_CONSOLE_TRUE@ display/display-enums.o \
@ENABLE_GIMP_CONSOLE_TRUE@ display/gimpdisplayoptions.o \
@ -618,6 +639,7 @@ gimp_2_2_LDADD = \
@ENABLE_GIMP_CONSOLE_TRUE@ $(libgimpcolor) \
@ENABLE_GIMP_CONSOLE_TRUE@ $(libgimpthumb) \
@ENABLE_GIMP_CONSOLE_TRUE@ $(libgimpmath) \
@ENABLE_GIMP_CONSOLE_TRUE@ $(libgimpconfig) \
@ENABLE_GIMP_CONSOLE_TRUE@ $(libgimpbase) \
@ENABLE_GIMP_CONSOLE_TRUE@ $(REGEXREPL) \
@ENABLE_GIMP_CONSOLE_TRUE@ $(GDK_PIXBUF_LIBS) \
@ -625,8 +647,7 @@ gimp_2_2_LDADD = \
@ENABLE_GIMP_CONSOLE_TRUE@ $(PANGOFT2_LIBS) \
@ENABLE_GIMP_CONSOLE_TRUE@ $(FONTCONFIG_LIBS) \
@ENABLE_GIMP_CONSOLE_TRUE@ $(FREETYPE_LIBS) \
@ENABLE_GIMP_CONSOLE_TRUE@ $(GIMP_THREAD_LIBS) \
@ENABLE_GIMP_CONSOLE_TRUE@ $(GIMP_MP_LIBS) \
@ENABLE_GIMP_CONSOLE_TRUE@ $(GTHREAD_LIBS) \
@ENABLE_GIMP_CONSOLE_TRUE@ $(RT_LIBS) \
@ENABLE_GIMP_CONSOLE_TRUE@ $(INTLLIBS) \
@ENABLE_GIMP_CONSOLE_TRUE@ $(GIMPICONRC)
@ -692,12 +713,12 @@ clean-binPROGRAMS:
echo " rm -f $$p $$f"; \
rm -f $$p $$f ; \
done
gimp-2.2$(EXEEXT): $(gimp_2_2_OBJECTS) $(gimp_2_2_DEPENDENCIES)
@rm -f gimp-2.2$(EXEEXT)
$(LINK) $(gimp_2_2_LDFLAGS) $(gimp_2_2_OBJECTS) $(gimp_2_2_LDADD) $(LIBS)
gimp-console-2.2$(EXEEXT): $(gimp_console_2_2_OBJECTS) $(gimp_console_2_2_DEPENDENCIES)
@rm -f gimp-console-2.2$(EXEEXT)
$(LINK) $(gimp_console_2_2_LDFLAGS) $(gimp_console_2_2_OBJECTS) $(gimp_console_2_2_LDADD) $(LIBS)
gimp-2.3$(EXEEXT): $(gimp_2_3_OBJECTS) $(gimp_2_3_DEPENDENCIES)
@rm -f gimp-2.3$(EXEEXT)
$(LINK) $(gimp_2_3_LDFLAGS) $(gimp_2_3_OBJECTS) $(gimp_2_3_LDADD) $(LIBS)
gimp-console-2.3$(EXEEXT): $(gimp_console_2_3_OBJECTS) $(gimp_console_2_3_DEPENDENCIES)
@rm -f gimp-console-2.3$(EXEEXT)
$(LINK) $(gimp_console_2_3_LDFLAGS) $(gimp_console_2_3_OBJECTS) $(gimp_console_2_3_LDADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
@ -708,12 +729,12 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/app_procs.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/batch.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/errors.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gimp_console_2_2-app_procs.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gimp_console_2_2-batch.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gimp_console_2_2-errors.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gimp_console_2_2-main.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gimp_console_2_2-sanity.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gimp_console_2_2-units.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gimp_console_2_3-app_procs.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gimp_console_2_3-batch.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gimp_console_2_3-errors.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gimp_console_2_3-main.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gimp_console_2_3-sanity.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gimp_console_2_3-units.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/main.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sanity.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/units.Po@am__quote@
@ -739,89 +760,89 @@ distclean-compile:
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
gimp_console_2_2-app_procs.o: app_procs.c
@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gimp_console_2_2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT gimp_console_2_2-app_procs.o -MD -MP -MF "$(DEPDIR)/gimp_console_2_2-app_procs.Tpo" -c -o gimp_console_2_2-app_procs.o `test -f 'app_procs.c' || echo '$(srcdir)/'`app_procs.c; \
@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/gimp_console_2_2-app_procs.Tpo" "$(DEPDIR)/gimp_console_2_2-app_procs.Po"; else rm -f "$(DEPDIR)/gimp_console_2_2-app_procs.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='app_procs.c' object='gimp_console_2_2-app_procs.o' libtool=no @AMDEPBACKSLASH@
gimp_console_2_3-app_procs.o: app_procs.c
@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gimp_console_2_3_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT gimp_console_2_3-app_procs.o -MD -MP -MF "$(DEPDIR)/gimp_console_2_3-app_procs.Tpo" -c -o gimp_console_2_3-app_procs.o `test -f 'app_procs.c' || echo '$(srcdir)/'`app_procs.c; \
@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/gimp_console_2_3-app_procs.Tpo" "$(DEPDIR)/gimp_console_2_3-app_procs.Po"; else rm -f "$(DEPDIR)/gimp_console_2_3-app_procs.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='app_procs.c' object='gimp_console_2_3-app_procs.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gimp_console_2_2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o gimp_console_2_2-app_procs.o `test -f 'app_procs.c' || echo '$(srcdir)/'`app_procs.c
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gimp_console_2_3_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o gimp_console_2_3-app_procs.o `test -f 'app_procs.c' || echo '$(srcdir)/'`app_procs.c
gimp_console_2_2-app_procs.obj: app_procs.c
@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gimp_console_2_2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT gimp_console_2_2-app_procs.obj -MD -MP -MF "$(DEPDIR)/gimp_console_2_2-app_procs.Tpo" -c -o gimp_console_2_2-app_procs.obj `if test -f 'app_procs.c'; then $(CYGPATH_W) 'app_procs.c'; else $(CYGPATH_W) '$(srcdir)/app_procs.c'; fi`; \
@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/gimp_console_2_2-app_procs.Tpo" "$(DEPDIR)/gimp_console_2_2-app_procs.Po"; else rm -f "$(DEPDIR)/gimp_console_2_2-app_procs.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='app_procs.c' object='gimp_console_2_2-app_procs.obj' libtool=no @AMDEPBACKSLASH@
gimp_console_2_3-app_procs.obj: app_procs.c
@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gimp_console_2_3_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT gimp_console_2_3-app_procs.obj -MD -MP -MF "$(DEPDIR)/gimp_console_2_3-app_procs.Tpo" -c -o gimp_console_2_3-app_procs.obj `if test -f 'app_procs.c'; then $(CYGPATH_W) 'app_procs.c'; else $(CYGPATH_W) '$(srcdir)/app_procs.c'; fi`; \
@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/gimp_console_2_3-app_procs.Tpo" "$(DEPDIR)/gimp_console_2_3-app_procs.Po"; else rm -f "$(DEPDIR)/gimp_console_2_3-app_procs.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='app_procs.c' object='gimp_console_2_3-app_procs.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gimp_console_2_2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o gimp_console_2_2-app_procs.obj `if test -f 'app_procs.c'; then $(CYGPATH_W) 'app_procs.c'; else $(CYGPATH_W) '$(srcdir)/app_procs.c'; fi`
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gimp_console_2_3_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o gimp_console_2_3-app_procs.obj `if test -f 'app_procs.c'; then $(CYGPATH_W) 'app_procs.c'; else $(CYGPATH_W) '$(srcdir)/app_procs.c'; fi`
gimp_console_2_2-main.o: main.c
@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gimp_console_2_2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT gimp_console_2_2-main.o -MD -MP -MF "$(DEPDIR)/gimp_console_2_2-main.Tpo" -c -o gimp_console_2_2-main.o `test -f 'main.c' || echo '$(srcdir)/'`main.c; \
@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/gimp_console_2_2-main.Tpo" "$(DEPDIR)/gimp_console_2_2-main.Po"; else rm -f "$(DEPDIR)/gimp_console_2_2-main.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='main.c' object='gimp_console_2_2-main.o' libtool=no @AMDEPBACKSLASH@
gimp_console_2_3-main.o: main.c
@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gimp_console_2_3_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT gimp_console_2_3-main.o -MD -MP -MF "$(DEPDIR)/gimp_console_2_3-main.Tpo" -c -o gimp_console_2_3-main.o `test -f 'main.c' || echo '$(srcdir)/'`main.c; \
@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/gimp_console_2_3-main.Tpo" "$(DEPDIR)/gimp_console_2_3-main.Po"; else rm -f "$(DEPDIR)/gimp_console_2_3-main.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='main.c' object='gimp_console_2_3-main.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gimp_console_2_2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o gimp_console_2_2-main.o `test -f 'main.c' || echo '$(srcdir)/'`main.c
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gimp_console_2_3_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o gimp_console_2_3-main.o `test -f 'main.c' || echo '$(srcdir)/'`main.c
gimp_console_2_2-main.obj: main.c
@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gimp_console_2_2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT gimp_console_2_2-main.obj -MD -MP -MF "$(DEPDIR)/gimp_console_2_2-main.Tpo" -c -o gimp_console_2_2-main.obj `if test -f 'main.c'; then $(CYGPATH_W) 'main.c'; else $(CYGPATH_W) '$(srcdir)/main.c'; fi`; \
@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/gimp_console_2_2-main.Tpo" "$(DEPDIR)/gimp_console_2_2-main.Po"; else rm -f "$(DEPDIR)/gimp_console_2_2-main.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='main.c' object='gimp_console_2_2-main.obj' libtool=no @AMDEPBACKSLASH@
gimp_console_2_3-main.obj: main.c
@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gimp_console_2_3_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT gimp_console_2_3-main.obj -MD -MP -MF "$(DEPDIR)/gimp_console_2_3-main.Tpo" -c -o gimp_console_2_3-main.obj `if test -f 'main.c'; then $(CYGPATH_W) 'main.c'; else $(CYGPATH_W) '$(srcdir)/main.c'; fi`; \
@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/gimp_console_2_3-main.Tpo" "$(DEPDIR)/gimp_console_2_3-main.Po"; else rm -f "$(DEPDIR)/gimp_console_2_3-main.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='main.c' object='gimp_console_2_3-main.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gimp_console_2_2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o gimp_console_2_2-main.obj `if test -f 'main.c'; then $(CYGPATH_W) 'main.c'; else $(CYGPATH_W) '$(srcdir)/main.c'; fi`
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gimp_console_2_3_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o gimp_console_2_3-main.obj `if test -f 'main.c'; then $(CYGPATH_W) 'main.c'; else $(CYGPATH_W) '$(srcdir)/main.c'; fi`
gimp_console_2_2-batch.o: batch.c
@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gimp_console_2_2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT gimp_console_2_2-batch.o -MD -MP -MF "$(DEPDIR)/gimp_console_2_2-batch.Tpo" -c -o gimp_console_2_2-batch.o `test -f 'batch.c' || echo '$(srcdir)/'`batch.c; \
@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/gimp_console_2_2-batch.Tpo" "$(DEPDIR)/gimp_console_2_2-batch.Po"; else rm -f "$(DEPDIR)/gimp_console_2_2-batch.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='batch.c' object='gimp_console_2_2-batch.o' libtool=no @AMDEPBACKSLASH@
gimp_console_2_3-batch.o: batch.c
@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gimp_console_2_3_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT gimp_console_2_3-batch.o -MD -MP -MF "$(DEPDIR)/gimp_console_2_3-batch.Tpo" -c -o gimp_console_2_3-batch.o `test -f 'batch.c' || echo '$(srcdir)/'`batch.c; \
@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/gimp_console_2_3-batch.Tpo" "$(DEPDIR)/gimp_console_2_3-batch.Po"; else rm -f "$(DEPDIR)/gimp_console_2_3-batch.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='batch.c' object='gimp_console_2_3-batch.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gimp_console_2_2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o gimp_console_2_2-batch.o `test -f 'batch.c' || echo '$(srcdir)/'`batch.c
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gimp_console_2_3_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o gimp_console_2_3-batch.o `test -f 'batch.c' || echo '$(srcdir)/'`batch.c
gimp_console_2_2-batch.obj: batch.c
@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gimp_console_2_2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT gimp_console_2_2-batch.obj -MD -MP -MF "$(DEPDIR)/gimp_console_2_2-batch.Tpo" -c -o gimp_console_2_2-batch.obj `if test -f 'batch.c'; then $(CYGPATH_W) 'batch.c'; else $(CYGPATH_W) '$(srcdir)/batch.c'; fi`; \
@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/gimp_console_2_2-batch.Tpo" "$(DEPDIR)/gimp_console_2_2-batch.Po"; else rm -f "$(DEPDIR)/gimp_console_2_2-batch.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='batch.c' object='gimp_console_2_2-batch.obj' libtool=no @AMDEPBACKSLASH@
gimp_console_2_3-batch.obj: batch.c
@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gimp_console_2_3_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT gimp_console_2_3-batch.obj -MD -MP -MF "$(DEPDIR)/gimp_console_2_3-batch.Tpo" -c -o gimp_console_2_3-batch.obj `if test -f 'batch.c'; then $(CYGPATH_W) 'batch.c'; else $(CYGPATH_W) '$(srcdir)/batch.c'; fi`; \
@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/gimp_console_2_3-batch.Tpo" "$(DEPDIR)/gimp_console_2_3-batch.Po"; else rm -f "$(DEPDIR)/gimp_console_2_3-batch.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='batch.c' object='gimp_console_2_3-batch.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gimp_console_2_2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o gimp_console_2_2-batch.obj `if test -f 'batch.c'; then $(CYGPATH_W) 'batch.c'; else $(CYGPATH_W) '$(srcdir)/batch.c'; fi`
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gimp_console_2_3_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o gimp_console_2_3-batch.obj `if test -f 'batch.c'; then $(CYGPATH_W) 'batch.c'; else $(CYGPATH_W) '$(srcdir)/batch.c'; fi`
gimp_console_2_2-errors.o: errors.c
@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gimp_console_2_2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT gimp_console_2_2-errors.o -MD -MP -MF "$(DEPDIR)/gimp_console_2_2-errors.Tpo" -c -o gimp_console_2_2-errors.o `test -f 'errors.c' || echo '$(srcdir)/'`errors.c; \
@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/gimp_console_2_2-errors.Tpo" "$(DEPDIR)/gimp_console_2_2-errors.Po"; else rm -f "$(DEPDIR)/gimp_console_2_2-errors.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='errors.c' object='gimp_console_2_2-errors.o' libtool=no @AMDEPBACKSLASH@
gimp_console_2_3-errors.o: errors.c
@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gimp_console_2_3_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT gimp_console_2_3-errors.o -MD -MP -MF "$(DEPDIR)/gimp_console_2_3-errors.Tpo" -c -o gimp_console_2_3-errors.o `test -f 'errors.c' || echo '$(srcdir)/'`errors.c; \
@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/gimp_console_2_3-errors.Tpo" "$(DEPDIR)/gimp_console_2_3-errors.Po"; else rm -f "$(DEPDIR)/gimp_console_2_3-errors.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='errors.c' object='gimp_console_2_3-errors.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gimp_console_2_2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o gimp_console_2_2-errors.o `test -f 'errors.c' || echo '$(srcdir)/'`errors.c
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gimp_console_2_3_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o gimp_console_2_3-errors.o `test -f 'errors.c' || echo '$(srcdir)/'`errors.c
gimp_console_2_2-errors.obj: errors.c
@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gimp_console_2_2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT gimp_console_2_2-errors.obj -MD -MP -MF "$(DEPDIR)/gimp_console_2_2-errors.Tpo" -c -o gimp_console_2_2-errors.obj `if test -f 'errors.c'; then $(CYGPATH_W) 'errors.c'; else $(CYGPATH_W) '$(srcdir)/errors.c'; fi`; \
@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/gimp_console_2_2-errors.Tpo" "$(DEPDIR)/gimp_console_2_2-errors.Po"; else rm -f "$(DEPDIR)/gimp_console_2_2-errors.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='errors.c' object='gimp_console_2_2-errors.obj' libtool=no @AMDEPBACKSLASH@
gimp_console_2_3-errors.obj: errors.c
@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gimp_console_2_3_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT gimp_console_2_3-errors.obj -MD -MP -MF "$(DEPDIR)/gimp_console_2_3-errors.Tpo" -c -o gimp_console_2_3-errors.obj `if test -f 'errors.c'; then $(CYGPATH_W) 'errors.c'; else $(CYGPATH_W) '$(srcdir)/errors.c'; fi`; \
@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/gimp_console_2_3-errors.Tpo" "$(DEPDIR)/gimp_console_2_3-errors.Po"; else rm -f "$(DEPDIR)/gimp_console_2_3-errors.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='errors.c' object='gimp_console_2_3-errors.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gimp_console_2_2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o gimp_console_2_2-errors.obj `if test -f 'errors.c'; then $(CYGPATH_W) 'errors.c'; else $(CYGPATH_W) '$(srcdir)/errors.c'; fi`
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gimp_console_2_3_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o gimp_console_2_3-errors.obj `if test -f 'errors.c'; then $(CYGPATH_W) 'errors.c'; else $(CYGPATH_W) '$(srcdir)/errors.c'; fi`
gimp_console_2_2-sanity.o: sanity.c
@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gimp_console_2_2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT gimp_console_2_2-sanity.o -MD -MP -MF "$(DEPDIR)/gimp_console_2_2-sanity.Tpo" -c -o gimp_console_2_2-sanity.o `test -f 'sanity.c' || echo '$(srcdir)/'`sanity.c; \
@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/gimp_console_2_2-sanity.Tpo" "$(DEPDIR)/gimp_console_2_2-sanity.Po"; else rm -f "$(DEPDIR)/gimp_console_2_2-sanity.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='sanity.c' object='gimp_console_2_2-sanity.o' libtool=no @AMDEPBACKSLASH@
gimp_console_2_3-sanity.o: sanity.c
@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gimp_console_2_3_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT gimp_console_2_3-sanity.o -MD -MP -MF "$(DEPDIR)/gimp_console_2_3-sanity.Tpo" -c -o gimp_console_2_3-sanity.o `test -f 'sanity.c' || echo '$(srcdir)/'`sanity.c; \
@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/gimp_console_2_3-sanity.Tpo" "$(DEPDIR)/gimp_console_2_3-sanity.Po"; else rm -f "$(DEPDIR)/gimp_console_2_3-sanity.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='sanity.c' object='gimp_console_2_3-sanity.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gimp_console_2_2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o gimp_console_2_2-sanity.o `test -f 'sanity.c' || echo '$(srcdir)/'`sanity.c
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gimp_console_2_3_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o gimp_console_2_3-sanity.o `test -f 'sanity.c' || echo '$(srcdir)/'`sanity.c
gimp_console_2_2-sanity.obj: sanity.c
@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gimp_console_2_2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT gimp_console_2_2-sanity.obj -MD -MP -MF "$(DEPDIR)/gimp_console_2_2-sanity.Tpo" -c -o gimp_console_2_2-sanity.obj `if test -f 'sanity.c'; then $(CYGPATH_W) 'sanity.c'; else $(CYGPATH_W) '$(srcdir)/sanity.c'; fi`; \
@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/gimp_console_2_2-sanity.Tpo" "$(DEPDIR)/gimp_console_2_2-sanity.Po"; else rm -f "$(DEPDIR)/gimp_console_2_2-sanity.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='sanity.c' object='gimp_console_2_2-sanity.obj' libtool=no @AMDEPBACKSLASH@
gimp_console_2_3-sanity.obj: sanity.c
@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gimp_console_2_3_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT gimp_console_2_3-sanity.obj -MD -MP -MF "$(DEPDIR)/gimp_console_2_3-sanity.Tpo" -c -o gimp_console_2_3-sanity.obj `if test -f 'sanity.c'; then $(CYGPATH_W) 'sanity.c'; else $(CYGPATH_W) '$(srcdir)/sanity.c'; fi`; \
@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/gimp_console_2_3-sanity.Tpo" "$(DEPDIR)/gimp_console_2_3-sanity.Po"; else rm -f "$(DEPDIR)/gimp_console_2_3-sanity.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='sanity.c' object='gimp_console_2_3-sanity.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gimp_console_2_2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o gimp_console_2_2-sanity.obj `if test -f 'sanity.c'; then $(CYGPATH_W) 'sanity.c'; else $(CYGPATH_W) '$(srcdir)/sanity.c'; fi`
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gimp_console_2_3_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o gimp_console_2_3-sanity.obj `if test -f 'sanity.c'; then $(CYGPATH_W) 'sanity.c'; else $(CYGPATH_W) '$(srcdir)/sanity.c'; fi`
gimp_console_2_2-units.o: units.c
@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gimp_console_2_2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT gimp_console_2_2-units.o -MD -MP -MF "$(DEPDIR)/gimp_console_2_2-units.Tpo" -c -o gimp_console_2_2-units.o `test -f 'units.c' || echo '$(srcdir)/'`units.c; \
@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/gimp_console_2_2-units.Tpo" "$(DEPDIR)/gimp_console_2_2-units.Po"; else rm -f "$(DEPDIR)/gimp_console_2_2-units.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='units.c' object='gimp_console_2_2-units.o' libtool=no @AMDEPBACKSLASH@
gimp_console_2_3-units.o: units.c
@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gimp_console_2_3_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT gimp_console_2_3-units.o -MD -MP -MF "$(DEPDIR)/gimp_console_2_3-units.Tpo" -c -o gimp_console_2_3-units.o `test -f 'units.c' || echo '$(srcdir)/'`units.c; \
@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/gimp_console_2_3-units.Tpo" "$(DEPDIR)/gimp_console_2_3-units.Po"; else rm -f "$(DEPDIR)/gimp_console_2_3-units.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='units.c' object='gimp_console_2_3-units.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gimp_console_2_2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o gimp_console_2_2-units.o `test -f 'units.c' || echo '$(srcdir)/'`units.c
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gimp_console_2_3_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o gimp_console_2_3-units.o `test -f 'units.c' || echo '$(srcdir)/'`units.c
gimp_console_2_2-units.obj: units.c
@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gimp_console_2_2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT gimp_console_2_2-units.obj -MD -MP -MF "$(DEPDIR)/gimp_console_2_2-units.Tpo" -c -o gimp_console_2_2-units.obj `if test -f 'units.c'; then $(CYGPATH_W) 'units.c'; else $(CYGPATH_W) '$(srcdir)/units.c'; fi`; \
@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/gimp_console_2_2-units.Tpo" "$(DEPDIR)/gimp_console_2_2-units.Po"; else rm -f "$(DEPDIR)/gimp_console_2_2-units.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='units.c' object='gimp_console_2_2-units.obj' libtool=no @AMDEPBACKSLASH@
gimp_console_2_3-units.obj: units.c
@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gimp_console_2_3_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT gimp_console_2_3-units.obj -MD -MP -MF "$(DEPDIR)/gimp_console_2_3-units.Tpo" -c -o gimp_console_2_3-units.obj `if test -f 'units.c'; then $(CYGPATH_W) 'units.c'; else $(CYGPATH_W) '$(srcdir)/units.c'; fi`; \
@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/gimp_console_2_3-units.Tpo" "$(DEPDIR)/gimp_console_2_3-units.Po"; else rm -f "$(DEPDIR)/gimp_console_2_3-units.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='units.c' object='gimp_console_2_3-units.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gimp_console_2_2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o gimp_console_2_2-units.obj `if test -f 'units.c'; then $(CYGPATH_W) 'units.c'; else $(CYGPATH_W) '$(srcdir)/units.c'; fi`
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gimp_console_2_3_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o gimp_console_2_3-units.obj `if test -f 'units.c'; then $(CYGPATH_W) 'units.c'; else $(CYGPATH_W) '$(srcdir)/units.c'; fi`
mostlyclean-libtool:
-rm -f *.lo
@ -1135,8 +1156,14 @@ uninstall-local:
# uptodate when a release is made
#
dist-dump-gimprc: gimp-console-$(GIMP_APP_VERSION)$(EXEEXT)
./$< --dump-gimprc-system > $(top_srcdir)/etc/gimprc
./$< --dump-gimprc-manpage > $(top_srcdir)/docs/gimprc.5.in
./$< --dump-gimprc-system > gimprc.tmp \
&& (cmp -s gimprc.tmp $(top_srcdir)/etc/gimprc || \
cp gimprc.tmp $(top_srcdir)/etc/gimprc) \
&& rm gimprc.tmp
./$< --dump-gimprc-manpage > gimprc.tmp \
&& (cmp -s gimprc.tmp $(top_srcdir)/docs/gimprc.5.in || \
cp gimprc.tmp $(top_srcdir)/docs/gimprc.5.in) \
&& rm gimprc.tmp
dist-hook: dist-check-gimp-console dist-dump-gimprc

View File

@ -7,6 +7,8 @@ libappactions_a_SOURCES = \
actions.c \
actions.h \
\
brush-editor-actions.c \
brush-editor-actions.h \
brushes-actions.c \
brushes-actions.h \
buffers-actions.c \
@ -25,8 +27,14 @@ libappactions_a_SOURCES = \
context-actions.h \
context-commands.c \
context-commands.h \
cursor-info-actions.c \
cursor-info-actions.h \
cursor-info-commands.c \
cursor-info-commands.h \
data-commands.c \
data-commands.h \
data-editor-commands.c \
data-editor-commands.h \
debug-actions.c \
debug-actions.h \
debug-commands.c \
@ -35,6 +43,10 @@ libappactions_a_SOURCES = \
dialogs-actions.h \
dialogs-commands.c \
dialogs-commands.h \
dock-actions.c \
dock-actions.h \
dock-commands.c \
dock-commands.h \
dockable-actions.c \
dockable-actions.h \
dockable-commands.c \
@ -101,10 +113,14 @@ libappactions_a_SOURCES = \
plug-in-actions.h \
plug-in-commands.c \
plug-in-commands.h \
qmask-actions.c \
qmask-actions.h \
qmask-commands.c \
qmask-commands.h \
quick-mask-actions.c \
quick-mask-actions.h \
quick-mask-commands.c \
quick-mask-commands.h \
sample-point-editor-actions.c \
sample-point-editor-actions.h \
sample-point-editor-commands.c \
sample-point-editor-commands.h \
select-actions.c \
select-actions.h \
select-commands.c \
@ -132,7 +148,11 @@ libappactions_a_SOURCES = \
view-actions.c \
view-actions.h \
view-commands.c \
view-commands.h
view-commands.h \
window-actions.c \
window-actions.h \
window-commands.c \
window-commands.h
EXTRA_DIST = \
@ -140,8 +160,7 @@ EXTRA_DIST = \
AM_CPPFLAGS = \
-DG_LOG_DOMAIN=\"Gimp-Actions\" \
@GIMP_THREAD_FLAGS@ \
@GIMP_MP_FLAGS@
@GTHREAD_CFLAGS@
INCLUDES = \
-I$(top_builddir) \

View File

@ -40,7 +40,12 @@ subdir = app/actions
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
$(top_srcdir)/configure.in
$(top_srcdir)/m4macros/detectcflags.m4 \
$(top_srcdir)/m4macros/pythondev.m4 \
$(top_srcdir)/m4macros/gimpprint.m4 \
$(top_srcdir)/m4macros/alsa.m4 \
$(top_srcdir)/m4macros/gtk-doc.m4 \
$(top_srcdir)/m4macros/binreloc.m4 $(top_srcdir)/configure.in
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
@ -51,18 +56,21 @@ ARFLAGS = cru
libappactions_a_AR = $(AR) $(ARFLAGS)
libappactions_a_LIBADD =
am_libappactions_a_OBJECTS = actions.$(OBJEXT) \
brushes-actions.$(OBJEXT) buffers-actions.$(OBJEXT) \
buffers-commands.$(OBJEXT) channels-actions.$(OBJEXT) \
channels-commands.$(OBJEXT) colormap-editor-actions.$(OBJEXT) \
brush-editor-actions.$(OBJEXT) brushes-actions.$(OBJEXT) \
buffers-actions.$(OBJEXT) buffers-commands.$(OBJEXT) \
channels-actions.$(OBJEXT) channels-commands.$(OBJEXT) \
colormap-editor-actions.$(OBJEXT) \
colormap-editor-commands.$(OBJEXT) context-actions.$(OBJEXT) \
context-commands.$(OBJEXT) data-commands.$(OBJEXT) \
debug-actions.$(OBJEXT) debug-commands.$(OBJEXT) \
dialogs-actions.$(OBJEXT) dialogs-commands.$(OBJEXT) \
dockable-actions.$(OBJEXT) dockable-commands.$(OBJEXT) \
documents-actions.$(OBJEXT) documents-commands.$(OBJEXT) \
drawable-actions.$(OBJEXT) drawable-commands.$(OBJEXT) \
edit-actions.$(OBJEXT) edit-commands.$(OBJEXT) \
error-console-actions.$(OBJEXT) \
context-commands.$(OBJEXT) cursor-info-actions.$(OBJEXT) \
cursor-info-commands.$(OBJEXT) data-commands.$(OBJEXT) \
data-editor-commands.$(OBJEXT) debug-actions.$(OBJEXT) \
debug-commands.$(OBJEXT) dialogs-actions.$(OBJEXT) \
dialogs-commands.$(OBJEXT) dock-actions.$(OBJEXT) \
dock-commands.$(OBJEXT) dockable-actions.$(OBJEXT) \
dockable-commands.$(OBJEXT) documents-actions.$(OBJEXT) \
documents-commands.$(OBJEXT) drawable-actions.$(OBJEXT) \
drawable-commands.$(OBJEXT) edit-actions.$(OBJEXT) \
edit-commands.$(OBJEXT) error-console-actions.$(OBJEXT) \
error-console-commands.$(OBJEXT) file-actions.$(OBJEXT) \
file-commands.$(OBJEXT) fonts-actions.$(OBJEXT) \
fonts-commands.$(OBJEXT) gradient-editor-actions.$(OBJEXT) \
@ -75,14 +83,17 @@ am_libappactions_a_OBJECTS = actions.$(OBJEXT) \
palette-editor-commands.$(OBJEXT) palettes-actions.$(OBJEXT) \
palettes-commands.$(OBJEXT) patterns-actions.$(OBJEXT) \
plug-in-actions.$(OBJEXT) plug-in-commands.$(OBJEXT) \
qmask-actions.$(OBJEXT) qmask-commands.$(OBJEXT) \
quick-mask-actions.$(OBJEXT) quick-mask-commands.$(OBJEXT) \
sample-point-editor-actions.$(OBJEXT) \
sample-point-editor-commands.$(OBJEXT) \
select-actions.$(OBJEXT) select-commands.$(OBJEXT) \
templates-actions.$(OBJEXT) templates-commands.$(OBJEXT) \
text-editor-actions.$(OBJEXT) text-editor-commands.$(OBJEXT) \
tool-options-actions.$(OBJEXT) tool-options-commands.$(OBJEXT) \
tools-actions.$(OBJEXT) tools-commands.$(OBJEXT) \
vectors-actions.$(OBJEXT) vectors-commands.$(OBJEXT) \
view-actions.$(OBJEXT) view-commands.$(OBJEXT)
view-actions.$(OBJEXT) view-commands.$(OBJEXT) \
window-actions.$(OBJEXT) window-commands.$(OBJEXT)
libappactions_a_OBJECTS = $(am_libappactions_a_OBJECTS)
DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
@ -103,9 +114,9 @@ DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
AA = @AA@
ACLOCAL = @ACLOCAL@
ALLOCA = @ALLOCA@
ALL_LINGUAS = @ALL_LINGUAS@
ALSA_CFLAGS = @ALSA_CFLAGS@
ALSA_LIBS = @ALSA_LIBS@
ALTIVEC_EXTRA_CFLAGS = @ALTIVEC_EXTRA_CFLAGS@
AMDEP_FALSE = @AMDEP_FALSE@
AMDEP_TRUE = @AMDEP_TRUE@
AMTAR = @AMTAR@
@ -115,6 +126,8 @@ AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
BINRELOC_CFLAGS = @BINRELOC_CFLAGS@
BINRELOC_LIBS = @BINRELOC_LIBS@
BUILD_HELPBROWSER_FALSE = @BUILD_HELPBROWSER_FALSE@
BUILD_HELPBROWSER_TRUE = @BUILD_HELPBROWSER_TRUE@
BUILD_PRINT_FALSE = @BUILD_PRINT_FALSE@
@ -146,6 +159,7 @@ DESKTOP_DATADIR = @DESKTOP_DATADIR@
DESKTOP_DATADIR_FALSE = @DESKTOP_DATADIR_FALSE@
DESKTOP_DATADIR_TRUE = @DESKTOP_DATADIR_TRUE@
DLLTOOL = @DLLTOOL@
DOC_SHOOTER = @DOC_SHOOTER@
ECHO = @ECHO@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
@ -180,7 +194,6 @@ GIMP_API_VERSION = @GIMP_API_VERSION@
GIMP_APP_VERSION = @GIMP_APP_VERSION@
GIMP_BINARY_AGE = @GIMP_BINARY_AGE@
GIMP_DATA_VERSION = @GIMP_DATA_VERSION@
GIMP_DESKTOP_ICON = @GIMP_DESKTOP_ICON@
GIMP_FULL_NAME = @GIMP_FULL_NAME@
GIMP_INTERFACE_AGE = @GIMP_INTERFACE_AGE@
GIMP_MAJOR_VERSION = @GIMP_MAJOR_VERSION@
@ -188,18 +201,16 @@ GIMP_MICRO_VERSION = @GIMP_MICRO_VERSION@
GIMP_MINOR_VERSION = @GIMP_MINOR_VERSION@
GIMP_MKENUMS = @GIMP_MKENUMS@
GIMP_MODULES = @GIMP_MODULES@
GIMP_MP_FLAGS = @GIMP_MP_FLAGS@
GIMP_MP_LIBS = @GIMP_MP_LIBS@
GIMP_PKGCONFIG_VERSION = @GIMP_PKGCONFIG_VERSION@
GIMP_PLUGINS = @GIMP_PLUGINS@
GIMP_PLUGIN_VERSION = @GIMP_PLUGIN_VERSION@
GIMP_REAL_VERSION = @GIMP_REAL_VERSION@
GIMP_REMOTE = @GIMP_REMOTE@
GIMP_SYSCONF_VERSION = @GIMP_SYSCONF_VERSION@
GIMP_THREAD_FLAGS = @GIMP_THREAD_FLAGS@
GIMP_THREAD_LIBS = @GIMP_THREAD_LIBS@
GIMP_TOOL_VERSION = @GIMP_TOOL_VERSION@
GIMP_UNSTABLE = @GIMP_UNSTABLE@
GIMP_UNSTABLE_FALSE = @GIMP_UNSTABLE_FALSE@
GIMP_UNSTABLE_TRUE = @GIMP_UNSTABLE_TRUE@
GIMP_USER_VERSION = @GIMP_USER_VERSION@
GIMP_VERSION = @GIMP_VERSION@
GLIB_CFLAGS = @GLIB_CFLAGS@
@ -211,8 +222,12 @@ GMODULE_CFLAGS = @GMODULE_CFLAGS@
GMODULE_LIBS = @GMODULE_LIBS@
GMOFILES = @GMOFILES@
GMSGFMT = @GMSGFMT@
GNOMEPRINT = @GNOMEPRINT@
GNOMEPRINT_CFLAGS = @GNOMEPRINT_CFLAGS@
GNOMEPRINT_LIBS = @GNOMEPRINT_LIBS@
GOBJECT_QUERY = @GOBJECT_QUERY@
GREP = @GREP@
GTHREAD_CFLAGS = @GTHREAD_CFLAGS@
GTHREAD_LIBS = @GTHREAD_LIBS@
GTKDOC_REQUIRED_VERSION = @GTKDOC_REQUIRED_VERSION@
GTKHTML2_CFLAGS = @GTKHTML2_CFLAGS@
GTKHTML2_LIBS = @GTKHTML2_LIBS@
@ -226,6 +241,10 @@ HAVE_FINITE = @HAVE_FINITE@
HAVE_GLIBC_REGEX = @HAVE_GLIBC_REGEX@
HAVE_GLIBC_REGEX_FALSE = @HAVE_GLIBC_REGEX_FALSE@
HAVE_GLIBC_REGEX_TRUE = @HAVE_GLIBC_REGEX_TRUE@
HAVE_GNOMEPRINT_FALSE = @HAVE_GNOMEPRINT_FALSE@
HAVE_GNOMEPRINT_TRUE = @HAVE_GNOMEPRINT_TRUE@
HAVE_GNOMEVFS_FALSE = @HAVE_GNOMEVFS_FALSE@
HAVE_GNOMEVFS_TRUE = @HAVE_GNOMEVFS_TRUE@
HAVE_ISFINITE = @HAVE_ISFINITE@
HAVE_LCMS_FALSE = @HAVE_LCMS_FALSE@
HAVE_LCMS_TRUE = @HAVE_LCMS_TRUE@
@ -262,7 +281,6 @@ INTLTOOL_PONG_RULE = @INTLTOOL_PONG_RULE@
INTLTOOL_PROP_RULE = @INTLTOOL_PROP_RULE@
INTLTOOL_SCHEMAS_RULE = @INTLTOOL_SCHEMAS_RULE@
INTLTOOL_SERVER_RULE = @INTLTOOL_SERVER_RULE@
INTLTOOL_SERVICE_RULE = @INTLTOOL_SERVICE_RULE@
INTLTOOL_SHEET_RULE = @INTLTOOL_SHEET_RULE@
INTLTOOL_SOUNDLIST_RULE = @INTLTOOL_SOUNDLIST_RULE@
INTLTOOL_THEME_RULE = @INTLTOOL_THEME_RULE@
@ -278,10 +296,12 @@ LDFLAGS = @LDFLAGS@
LIBAA = @LIBAA@
LIBART_CFLAGS = @LIBART_CFLAGS@
LIBART_LIBS = @LIBART_LIBS@
LIBGNOMEPRINT = @LIBGNOMEPRINT@
LIBJPEG = @LIBJPEG@
LIBMNG = @LIBMNG@
LIBOBJS = @LIBOBJS@
LIBPNG = @LIBPNG@
LIBPOPPLER = @LIBPOPPLER@
LIBS = @LIBS@
LIBSCREENSHOT = @LIBSCREENSHOT@
LIBSVG = @LIBSVG@
@ -304,7 +324,6 @@ MKINSTALLDIRS = @MKINSTALLDIRS@
MMX_EXTRA_CFLAGS = @MMX_EXTRA_CFLAGS@
MNG = @MNG@
MSGFMT = @MSGFMT@
MSGFMT_OPTS = @MSGFMT_OPTS@
MS_LIB_AVAILABLE_FALSE = @MS_LIB_AVAILABLE_FALSE@
MS_LIB_AVAILABLE_TRUE = @MS_LIB_AVAILABLE_TRUE@
OBJDUMP = @OBJDUMP@
@ -330,15 +349,22 @@ PLATFORM_WIN32_FALSE = @PLATFORM_WIN32_FALSE@
PLATFORM_WIN32_TRUE = @PLATFORM_WIN32_TRUE@
PNG = @PNG@
POFILES = @POFILES@
POPPLER = @POPPLER@
POPPLER_CFLAGS = @POPPLER_CFLAGS@
POPPLER_LIBS = @POPPLER_LIBS@
POSUB = @POSUB@
PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@
PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@
PRINT_CFLAGS = @PRINT_CFLAGS@
PRINT_LIBS = @PRINT_LIBS@
PSP = @PSP@
PYBIN_PATH = @PYBIN_PATH@
PYGIMP_EXTRA_CFLAGS = @PYGIMP_EXTRA_CFLAGS@
PYGTK_CFLAGS = @PYGTK_CFLAGS@
PYGTK_CODEGEN = @PYGTK_CODEGEN@
PYGTK_DEFSDIR = @PYGTK_DEFSDIR@
PYGTK_LIBS = @PYGTK_LIBS@
PYLINK_LIBS = @PYLINK_LIBS@
PYTHON = @PYTHON@
PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
PYTHON_INCLUDES = @PYTHON_INCLUDES@
@ -362,10 +388,10 @@ SVG_CFLAGS = @SVG_CFLAGS@
SVG_LIBS = @SVG_LIBS@
SYMPREFIX = @SYMPREFIX@
TIFF = @TIFF@
URL = @URL@
URI_CFLAGS = @URI_CFLAGS@
URI_LIBS = @URI_LIBS@
USE_NLS = @USE_NLS@
VERSION = @VERSION@
WINCLIPBOARD = @WINCLIPBOARD@
WINDRES = @WINDRES@
WINPRINT = @WINPRINT@
WITH_PDBGEN_FALSE = @WITH_PDBGEN_FALSE@
@ -375,7 +401,6 @@ WMF_CFLAGS = @WMF_CFLAGS@
WMF_CONFIG = @WMF_CONFIG@
WMF_REQUIRED_VERSION = @WMF_REQUIRED_VERSION@
XGETTEXT = @XGETTEXT@
XMKMF = @XMKMF@
XMLLINT = @XMLLINT@
XPM = @XPM@
XSLTPROC = @XSLTPROC@
@ -383,9 +408,17 @@ X_CFLAGS = @X_CFLAGS@
X_EXTRA_LIBS = @X_EXTRA_LIBS@
X_LIBS = @X_LIBS@
X_PRE_LIBS = @X_PRE_LIBS@
ac_ct_AR = @ac_ct_AR@
ac_ct_AS = @ac_ct_AS@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
ac_ct_DLLTOOL = @ac_ct_DLLTOOL@
ac_ct_F77 = @ac_ct_F77@
ac_ct_OBJDUMP = @ac_ct_OBJDUMP@
ac_ct_RANLIB = @ac_ct_RANLIB@
ac_ct_STRIP = @ac_ct_STRIP@
ac_ct_WINDRES = @ac_ct_WINDRES@
ac_pt_PKG_CONFIG = @ac_pt_PKG_CONFIG@
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
@ -402,12 +435,10 @@ build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
datadir = @datadir@
datarootdir = @datarootdir@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
gimpdatadir = @gimpdatadir@
gimpdir = @gimpdir@
gimplocaledir = @gimplocaledir@
gimpplugindir = @gimpplugindir@
gimpsysconfdir = @gimpsysconfdir@
host = @host@
@ -415,24 +446,20 @@ host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
ms_librarian = @ms_librarian@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
pkgpyexecdir = @pkgpyexecdir@
pkgpythondir = @pkgpythondir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
pyexecdir = @pyexecdir@
pythondir = @pythondir@
sbindir = @sbindir@
@ -445,6 +472,8 @@ libappactions_a_SOURCES = \
actions.c \
actions.h \
\
brush-editor-actions.c \
brush-editor-actions.h \
brushes-actions.c \
brushes-actions.h \
buffers-actions.c \
@ -463,8 +492,14 @@ libappactions_a_SOURCES = \
context-actions.h \
context-commands.c \
context-commands.h \
cursor-info-actions.c \
cursor-info-actions.h \
cursor-info-commands.c \
cursor-info-commands.h \
data-commands.c \
data-commands.h \
data-editor-commands.c \
data-editor-commands.h \
debug-actions.c \
debug-actions.h \
debug-commands.c \
@ -473,6 +508,10 @@ libappactions_a_SOURCES = \
dialogs-actions.h \
dialogs-commands.c \
dialogs-commands.h \
dock-actions.c \
dock-actions.h \
dock-commands.c \
dock-commands.h \
dockable-actions.c \
dockable-actions.h \
dockable-commands.c \
@ -539,10 +578,14 @@ libappactions_a_SOURCES = \
plug-in-actions.h \
plug-in-commands.c \
plug-in-commands.h \
qmask-actions.c \
qmask-actions.h \
qmask-commands.c \
qmask-commands.h \
quick-mask-actions.c \
quick-mask-actions.h \
quick-mask-commands.c \
quick-mask-commands.h \
sample-point-editor-actions.c \
sample-point-editor-actions.h \
sample-point-editor-commands.c \
sample-point-editor-commands.h \
select-actions.c \
select-actions.h \
select-commands.c \
@ -570,15 +613,18 @@ libappactions_a_SOURCES = \
view-actions.c \
view-actions.h \
view-commands.c \
view-commands.h
view-commands.h \
window-actions.c \
window-actions.h \
window-commands.c \
window-commands.h
EXTRA_DIST = \
makefile.msc
AM_CPPFLAGS = \
-DG_LOG_DOMAIN=\"Gimp-Actions\" \
@GIMP_THREAD_FLAGS@ \
@GIMP_MP_FLAGS@
@GTHREAD_CFLAGS@
INCLUDES = \
-I$(top_builddir) \
@ -636,6 +682,7 @@ distclean-compile:
-rm -f *.tab.c
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/actions.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/brush-editor-actions.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/brushes-actions.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/buffers-actions.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/buffers-commands.Po@am__quote@
@ -645,11 +692,16 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/colormap-editor-commands.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/context-actions.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/context-commands.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cursor-info-actions.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cursor-info-commands.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/data-commands.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/data-editor-commands.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/debug-actions.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/debug-commands.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dialogs-actions.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dialogs-commands.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dock-actions.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dock-commands.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dockable-actions.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dockable-commands.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/documents-actions.Po@am__quote@
@ -683,8 +735,10 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/patterns-actions.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/plug-in-actions.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/plug-in-commands.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/qmask-actions.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/qmask-commands.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/quick-mask-actions.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/quick-mask-commands.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sample-point-editor-actions.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sample-point-editor-commands.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/select-actions.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/select-commands.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/templates-actions.Po@am__quote@
@ -699,6 +753,8 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vectors-commands.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/view-actions.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/view-commands.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/window-actions.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/window-commands.Po@am__quote@
.c.o:
@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \

View File

@ -46,13 +46,16 @@
#include "dialogs/dialogs.h"
#include "brush-editor-actions.h"
#include "brushes-actions.h"
#include "buffers-actions.h"
#include "channels-actions.h"
#include "colormap-editor-actions.h"
#include "context-actions.h"
#include "cursor-info-actions.h"
#include "debug-actions.h"
#include "dialogs-actions.h"
#include "dock-actions.h"
#include "dockable-actions.h"
#include "documents-actions.h"
#include "drawable-actions.h"
@ -70,7 +73,8 @@
#include "palettes-actions.h"
#include "patterns-actions.h"
#include "plug-in-actions.h"
#include "qmask-actions.h"
#include "quick-mask-actions.h"
#include "sample-point-editor-actions.h"
#include "select-actions.h"
#include "templates-actions.h"
#include "text-editor-actions.h"
@ -91,6 +95,9 @@ GimpActionFactory *global_action_factory = NULL;
static GimpActionFactoryEntry action_groups[] =
{
{ "brush-editor", N_("Brush Editor"), GIMP_STOCK_BRUSH,
brush_editor_actions_setup,
brush_editor_actions_update },
{ "brushes", N_("Brushes"), GIMP_STOCK_BRUSH,
brushes_actions_setup,
brushes_actions_update },
@ -106,12 +113,18 @@ static GimpActionFactoryEntry action_groups[] =
{ "context", N_("Context"), NULL,
context_actions_setup,
context_actions_update },
{ "cursor-info", N_("Cursor Info"), NULL,
cursor_info_actions_setup,
cursor_info_actions_update },
{ "debug", N_("Debug"), NULL,
debug_actions_setup,
debug_actions_update },
{ "dialogs", N_("Dialogs"), NULL,
dialogs_actions_setup,
dialogs_actions_update },
{ "dock", N_("Dock"), NULL,
dock_actions_setup,
dock_actions_update },
{ "dockable", N_("Dockable"), NULL,
dockable_actions_setup,
dockable_actions_update },
@ -121,13 +134,13 @@ static GimpActionFactoryEntry action_groups[] =
{ "drawable", N_("Drawable"), GIMP_STOCK_LAYER,
drawable_actions_setup,
drawable_actions_update },
{ "edit", N_("Edit"), GIMP_STOCK_EDIT,
{ "edit", N_("Edit"), GTK_STOCK_EDIT,
edit_actions_setup,
edit_actions_update },
{ "error-console", N_("Error Console"), GIMP_STOCK_WARNING,
error_console_actions_setup,
error_console_actions_update },
{ "file", N_("File"), GTK_STOCK_OPEN,
{ "file", N_("File"), GTK_STOCK_FILE,
file_actions_setup,
file_actions_update },
{ "fonts", N_("Fonts"), GIMP_STOCK_FONT,
@ -163,16 +176,19 @@ static GimpActionFactoryEntry action_groups[] =
{ "plug-in", N_("Plug-Ins"), GIMP_STOCK_PLUGIN,
plug_in_actions_setup,
plug_in_actions_update },
{ "qmask", N_("Quick Mask"), GIMP_STOCK_QMASK_ON,
qmask_actions_setup,
qmask_actions_update },
{ "quick-mask", N_("Quick Mask"), GIMP_STOCK_QUICK_MASK_ON,
quick_mask_actions_setup,
quick_mask_actions_update },
{ "sample-point-editor", N_("Sample Points"), GIMP_STOCK_SAMPLE_POINT,
sample_point_editor_actions_setup,
sample_point_editor_actions_update },
{ "select", N_("Select"), GIMP_STOCK_SELECTION,
select_actions_setup,
select_actions_update },
{ "templates", N_("Templates"), GIMP_STOCK_TEMPLATE,
templates_actions_setup,
templates_actions_update },
{ "text-editor", N_("Text Editor"), GIMP_STOCK_EDIT,
{ "text-editor", N_("Text Editor"), GTK_STOCK_EDIT,
text_editor_actions_setup,
text_editor_actions_update },
{ "tool-options", N_("Tool Options"), GIMP_STOCK_TOOL_OPTIONS,
@ -242,6 +258,10 @@ action_data_get_gimp (gpointer data)
context = ((GimpDock *) data)->context;
else if (GIMP_IS_ITEM_TREE_VIEW (data))
context = ((GimpItemTreeView *) data)->context;
else if (GIMP_IS_CONTAINER_VIEW (data))
context = gimp_container_view_get_context ((GimpContainerView *) data);
else if (GIMP_IS_CONTAINER_EDITOR (data))
context = gimp_container_view_get_context (((GimpContainerEditor *) data)->view);
else if (GIMP_IS_IMAGE_EDITOR (data))
context = ((GimpImageEditor *) data)->context;
else if (GIMP_IS_NAVIGATION_EDITOR (data))
@ -332,17 +352,22 @@ action_data_get_display (gpointer data)
GtkWidget *
action_data_get_widget (gpointer data)
{
GimpDisplay *display = NULL;
if (! data)
return NULL;
if (GIMP_IS_DISPLAY (data))
return ((GimpDisplay *) data)->shell;
display = data;
else if (GIMP_IS_GIMP (data))
return dialogs_get_toolbox ();
display = gimp_context_get_display (gimp_get_user_context (data));
else if (GTK_IS_WIDGET (data))
return data;
return NULL;
if (display)
return display->shell;
return dialogs_get_toolbox ();
}
gdouble
@ -381,7 +406,7 @@ action_select_value (GimpActionSelectType select_type,
break;
default:
if (value >= 0)
if ((gint) select_type >= 0)
value = (gdouble) select_type * (max - min) / 1000.0 + min;
else
g_return_val_if_reached (value);
@ -404,6 +429,36 @@ action_select_value (GimpActionSelectType select_type,
return value;
}
void
action_select_property (GimpActionSelectType select_type,
GObject *object,
const gchar *property_name,
gdouble inc,
gdouble skip_inc,
gboolean wrap)
{
GParamSpec *pspec;
gdouble value;
g_return_if_fail (G_IS_OBJECT (object));
g_return_if_fail (property_name != NULL);
pspec = g_object_class_find_property (G_OBJECT_GET_CLASS (object),
property_name);
g_return_if_fail (G_IS_PARAM_SPEC_DOUBLE (pspec));
g_object_get (object, property_name, &value, NULL);
value = action_select_value (select_type,
value,
G_PARAM_SPEC_DOUBLE (pspec)->minimum,
G_PARAM_SPEC_DOUBLE (pspec)->maximum,
inc, skip_inc, wrap);
g_object_set (object, property_name, value, NULL);
}
GimpObject *
action_select_object (GimpActionSelectType select_type,
GimpContainer *container,
@ -450,7 +505,10 @@ action_select_object (GimpActionSelectType select_type,
break;
default:
g_return_val_if_reached (current);
if ((gint) select_type >= 0)
select_index = (gint) select_type;
else
g_return_val_if_reached (current);
break;
}

View File

@ -39,6 +39,12 @@ gdouble action_select_value (GimpActionSelectType select_type,
gdouble inc,
gdouble skip_inc,
gboolean wrap);
void action_select_property (GimpActionSelectType select_type,
GObject *object,
const gchar *property_name,
gdouble inc,
gdouble skip_inc,
gboolean wrap);
GimpObject * action_select_object (GimpActionSelectType select_type,
GimpContainer *container,
GimpObject *current);

View File

@ -0,0 +1,99 @@
/* The GIMP -- an image manipulation program
* Copyright (C) 1995 Spencer Kimball and Peter Mattis
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
#include "config.h"
#include <gtk/gtk.h>
#include "libgimpwidgets/gimpwidgets.h"
#include "actions-types.h"
#include "core/gimp.h"
#include "core/gimpcontext.h"
#include "widgets/gimpactiongroup.h"
#include "widgets/gimphelp-ids.h"
#include "widgets/gimpbrusheditor.h"
#include "data-editor-commands.h"
#include "gimp-intl.h"
static GimpActionEntry brush_editor_actions[] =
{
{ "brush-editor-popup", GIMP_STOCK_BRUSH,
N_("Brush Editor Menu"), NULL, NULL, NULL,
GIMP_HELP_BRUSH_EDITOR_DIALOG }
};
static GimpToggleActionEntry brush_editor_toggle_actions[] =
{
{ "brush-editor-edit-active", GIMP_STOCK_LINKED,
N_("Edit Active Brush"), NULL, NULL,
G_CALLBACK (data_editor_edit_active_cmd_callback),
FALSE,
GIMP_HELP_BRUSH_EDITOR_EDIT_ACTIVE }
};
void
brush_editor_actions_setup (GimpActionGroup *group)
{
gimp_action_group_add_actions (group,
brush_editor_actions,
G_N_ELEMENTS (brush_editor_actions));
gimp_action_group_add_toggle_actions (group,
brush_editor_toggle_actions,
G_N_ELEMENTS (brush_editor_toggle_actions));
}
void
brush_editor_actions_update (GimpActionGroup *group,
gpointer user_data)
{
GimpDataEditor *data_editor = GIMP_DATA_EDITOR (user_data);
GimpContext *context;
GimpData *data;
gboolean editable = FALSE;
gboolean edit_active = FALSE;
context = gimp_get_user_context (group->gimp);
data = data_editor->data;
if (data)
{
if (data_editor->data_editable)
editable = TRUE;
}
edit_active = gimp_data_editor_get_edit_active (data_editor);
#define SET_SENSITIVE(action,condition) \
gimp_action_group_set_action_sensitive (group, action, (condition) != 0)
#define SET_ACTIVE(action,condition) \
gimp_action_group_set_action_active (group, action, (condition) != 0)
SET_ACTIVE ("brush-editor-edit-active", edit_active);
#undef SET_SENSITIVE
#undef SET_ACTIVE
}

View File

@ -16,17 +16,13 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
#ifndef __QMASK_COMMANDS_H__
#define __QMASK_COMMANDS_H__
#ifndef __BRUSH_EDITOR_ACTIONS_H__
#define __BRUSH_EDITOR_ACTIONS_H__
void qmask_toggle_cmd_callback (GtkAction *action,
gpointer data);
void qmask_invert_cmd_callback (GtkAction *action,
GtkAction *current,
gpointer data);
void qmask_configure_cmd_callback (GtkAction *action,
gpointer data);
void brush_editor_actions_setup (GimpActionGroup *group);
void brush_editor_actions_update (GimpActionGroup *group,
gpointer data);
#endif /* __QMASK_COMMANDS_H__ */
#endif /* __BRUSH_EDITOR_ACTIONS_H__ */

View File

@ -24,8 +24,8 @@
#include "actions-types.h"
#include "core/gimpbrushgenerated.h"
#include "core/gimpcontext.h"
#include "core/gimpdata.h"
#include "widgets/gimpactiongroup.h"
#include "widgets/gimphelp-ids.h"
@ -43,34 +43,46 @@ static GimpActionEntry brushes_actions[] =
N_("Brushes Menu"), NULL, NULL, NULL,
GIMP_HELP_BRUSH_DIALOG },
{ "brushes-open-as-image", GTK_STOCK_OPEN,
N_("_Open Brush as Image"), "",
N_("Open brush as image"),
G_CALLBACK (data_open_as_image_cmd_callback),
GIMP_HELP_BRUSH_OPEN_AS_IMAGE },
{ "brushes-new", GTK_STOCK_NEW,
N_("_New Brush"), "",
N_("New brush"),
G_CALLBACK (data_new_data_cmd_callback),
G_CALLBACK (data_new_cmd_callback),
GIMP_HELP_BRUSH_NEW },
{ "brushes-duplicate", GIMP_STOCK_DUPLICATE,
N_("D_uplicate Brush"), NULL,
N_("Duplicate brush"),
G_CALLBACK (data_duplicate_data_cmd_callback),
G_CALLBACK (data_duplicate_cmd_callback),
GIMP_HELP_BRUSH_DUPLICATE },
{ "brushes-copy-location", GTK_STOCK_COPY,
N_("Copy Brush _Location"), "",
N_("Copy brush file location to clipboard"),
G_CALLBACK (data_copy_location_cmd_callback),
GIMP_HELP_BRUSH_COPY_LOCATION },
{ "brushes-delete", GTK_STOCK_DELETE,
N_("_Delete Brush"), "",
N_("Delete brush"),
G_CALLBACK (data_delete_data_cmd_callback),
G_CALLBACK (data_delete_cmd_callback),
GIMP_HELP_BRUSH_DELETE },
{ "brushes-refresh", GTK_STOCK_REFRESH,
N_("_Refresh Brushes"), "",
N_("Refresh brushes"),
G_CALLBACK (data_refresh_data_cmd_callback),
G_CALLBACK (data_refresh_cmd_callback),
GIMP_HELP_BRUSH_REFRESH }
};
static GimpStringActionEntry brushes_edit_actions[] =
{
{ "brushes-edit", GIMP_STOCK_EDIT,
{ "brushes-edit", GTK_STOCK_EDIT,
N_("_Edit Brush..."), NULL,
N_("Edit brush"),
"gimp-brush-editor",
@ -88,7 +100,7 @@ brushes_actions_setup (GimpActionGroup *group)
gimp_action_group_add_string_actions (group,
brushes_edit_actions,
G_N_ELEMENTS (brushes_edit_actions),
G_CALLBACK (data_edit_data_cmd_callback));
G_CALLBACK (data_edit_cmd_callback));
}
void
@ -110,9 +122,11 @@ brushes_actions_update (GimpActionGroup *group,
#define SET_SENSITIVE(action,condition) \
gimp_action_group_set_action_sensitive (group, action, (condition) != 0)
SET_SENSITIVE ("brushes-edit", brush);
SET_SENSITIVE ("brushes-duplicate", brush && GIMP_DATA_GET_CLASS (data)->duplicate);
SET_SENSITIVE ("brushes-delete", brush && data->deletable);
SET_SENSITIVE ("brushes-edit", brush);
SET_SENSITIVE ("brushes-open-as-image", brush && data->filename && ! GIMP_IS_BRUSH_GENERATED (brush));
SET_SENSITIVE ("brushes-duplicate", brush && GIMP_DATA_GET_CLASS (data)->duplicate);
SET_SENSITIVE ("brushes-copy-location", brush && data->filename);
SET_SENSITIVE ("brushes-delete", brush && data->deletable);
#undef SET_SENSITIVE
}

View File

@ -45,25 +45,25 @@ static GimpActionEntry buffers_actions[] =
{ "buffers-paste", GTK_STOCK_PASTE,
N_("_Paste Buffer"), "",
N_("Paste the selected buffer"),
G_CALLBACK (buffers_paste_buffer_cmd_callback),
G_CALLBACK (buffers_paste_cmd_callback),
GIMP_HELP_BUFFER_PASTE },
{ "buffers-paste-into", GIMP_STOCK_PASTE_INTO,
N_("Paste Buffer _Into"), NULL,
N_("Paste the selected buffer into the selection"),
G_CALLBACK (buffers_paste_buffer_into_cmd_callback),
G_CALLBACK (buffers_paste_into_cmd_callback),
GIMP_HELP_BUFFER_PASTE_INTO },
{ "buffers-paste-as-new", GIMP_STOCK_PASTE_AS_NEW,
N_("Paste Buffer as _New"), NULL,
N_("Paste the selected buffer as new image"),
G_CALLBACK (buffers_paste_buffer_as_new_cmd_callback),
G_CALLBACK (buffers_paste_as_new_cmd_callback),
GIMP_HELP_BUFFER_PASTE_AS_NEW },
{ "buffers-delete", GTK_STOCK_DELETE,
N_("_Delete Buffer"), "",
N_("Delete the selected buffer"),
G_CALLBACK (buffers_delete_buffer_cmd_callback),
G_CALLBACK (buffers_delete_cmd_callback),
GIMP_HELP_BUFFER_DELETE }
};

View File

@ -22,6 +22,7 @@
#include "actions-types.h"
#include "core/gimp.h"
#include "core/gimp-edit.h"
#include "core/gimpcontainer.h"
#include "core/gimpcontext.h"
@ -48,22 +49,22 @@ static void buffers_paste (GimpBufferView *view,
/* public functionss */
void
buffers_paste_buffer_cmd_callback (GtkAction *action,
gpointer data)
buffers_paste_cmd_callback (GtkAction *action,
gpointer data)
{
buffers_paste (GIMP_BUFFER_VIEW (data), FALSE);
}
void
buffers_paste_buffer_into_cmd_callback (GtkAction *action,
gpointer data)
buffers_paste_into_cmd_callback (GtkAction *action,
gpointer data)
{
buffers_paste (GIMP_BUFFER_VIEW (data), TRUE);
}
void
buffers_paste_buffer_as_new_cmd_callback (GtkAction *action,
gpointer data)
buffers_paste_as_new_cmd_callback (GtkAction *action,
gpointer data)
{
GimpContainerEditor *editor = GIMP_CONTAINER_EDITOR (data);
GimpContainer *container;
@ -77,16 +78,27 @@ buffers_paste_buffer_as_new_cmd_callback (GtkAction *action,
if (buffer && gimp_container_have (container, GIMP_OBJECT (buffer)))
{
GimpImage *gimage = gimp_context_get_image (context);
GimpImage *image = gimp_context_get_image (context);
if (gimage)
gimp_edit_paste_as_new (gimage->gimp, gimage, buffer);
if (image)
{
GimpImage *new_image;
new_image = gimp_edit_paste_as_new (image->gimp, image, buffer);
if (new_image)
{
gimp_create_display (image->gimp, new_image,
GIMP_UNIT_PIXEL, 1.0);
g_object_unref (new_image);
}
}
}
}
void
buffers_delete_buffer_cmd_callback (GtkAction *action,
gpointer data)
buffers_delete_cmd_callback (GtkAction *action,
gpointer data)
{
GimpContainerEditor *editor = GIMP_CONTAINER_EDITOR (data);
GimpContainer *container;

View File

@ -20,14 +20,14 @@
#define __BUFFERS_COMMANDS_H__
void buffers_paste_buffer_cmd_callback (GtkAction *action,
gpointer data);
void buffers_paste_buffer_into_cmd_callback (GtkAction *action,
gpointer data);
void buffers_paste_buffer_as_new_cmd_callback (GtkAction *action,
gpointer data);
void buffers_delete_buffer_cmd_callback (GtkAction *action,
gpointer data);
void buffers_paste_cmd_callback (GtkAction *action,
gpointer data);
void buffers_paste_into_cmd_callback (GtkAction *action,
gpointer data);
void buffers_paste_as_new_cmd_callback (GtkAction *action,
gpointer data);
void buffers_delete_cmd_callback (GtkAction *action,
gpointer data);
#endif /* __BUFFERS_COMMANDS_H__ */

View File

@ -44,7 +44,7 @@ static GimpActionEntry channels_actions[] =
N_("Channels Menu"), NULL, NULL, NULL,
GIMP_HELP_CHANNEL_DIALOG },
{ "channels-edit-attributes", GIMP_STOCK_EDIT,
{ "channels-edit-attributes", GTK_STOCK_EDIT,
N_("_Edit Channel Attributes..."), NULL,
N_("Edit channel attributes"),
G_CALLBACK (channels_edit_attributes_cmd_callback),

View File

@ -85,11 +85,12 @@ channels_edit_attributes_cmd_callback (GtkAction *action,
gimp_object_get_name (GIMP_OBJECT (channel)),
_("Channel Attributes"),
"gimp-channel-edit",
GIMP_STOCK_EDIT,
GTK_STOCK_EDIT,
_("Edit Channel Attributes"),
GIMP_HELP_CHANNEL_EDIT,
_("Edit Channel Color"),
_("Fill Opacity:"));
_("_Fill opacity:"),
FALSE);
g_signal_connect (options->dialog, "response",
G_CALLBACK (channels_edit_channel_response),
@ -121,7 +122,8 @@ channels_new_cmd_callback (GtkAction *action,
_("New Channel Options"),
GIMP_HELP_CHANNEL_NEW,
_("New Channel Color"),
_("Fill Opacity:"));
_("_Fill opacity:"),
TRUE);
g_signal_connect (options->dialog, "response",
G_CALLBACK (channels_new_channel_response),
@ -230,14 +232,11 @@ channels_duplicate_cmd_callback (GtkAction *action,
if (GIMP_IS_COMPONENT_EDITOR (data))
{
GimpRGB color;
GimpChannelType component;
const gchar *desc;
gchar *name;
return_if_no_image (gimage, data);
gimp_rgba_set (&color, 0, 0, 0, 0.5);
component = GIMP_COMPONENT_EDITOR (data)->clicked_component;
gimp_enum_get_value (GIMP_TYPE_CHANNEL_TYPE, component,
@ -246,7 +245,7 @@ channels_duplicate_cmd_callback (GtkAction *action,
name = g_strdup_printf (_("%s Channel Copy"), desc);
new_channel = gimp_channel_new_from_component (gimage, component,
name, &color);
name, NULL);
/* copied components are invisible by default so subsequent copies
* of components don't affect each other
@ -336,15 +335,30 @@ channels_new_channel_response (GtkWidget *widget,
gimp_color_button_get_color (GIMP_COLOR_BUTTON (options->color_panel),
&channel_color);
new_channel = gimp_channel_new (options->gimage,
options->gimage->width,
options->gimage->height,
channel_name,
&channel_color);
if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (options->save_sel_checkbutton)))
{
GimpChannel *selection = gimp_image_get_mask (options->gimage);
gimp_drawable_fill_by_type (GIMP_DRAWABLE (new_channel),
options->context,
GIMP_TRANSPARENT_FILL);
new_channel =
GIMP_CHANNEL (gimp_item_duplicate (GIMP_ITEM (selection),
GIMP_TYPE_CHANNEL,
FALSE));
gimp_object_set_name (GIMP_OBJECT (new_channel), channel_name);
gimp_channel_set_color (new_channel, &channel_color, FALSE);
}
else
{
new_channel = gimp_channel_new (options->gimage,
options->gimage->width,
options->gimage->height,
channel_name,
&channel_color);
gimp_drawable_fill_by_type (GIMP_DRAWABLE (new_channel),
options->context,
GIMP_TRANSPARENT_FILL);
}
gimp_image_add_channel (options->gimage, new_channel, -1);
gimp_image_flush (options->gimage);

View File

@ -43,7 +43,7 @@ static GimpActionEntry colormap_editor_actions[] =
N_("Colormap Menu"), NULL, NULL, NULL,
GIMP_HELP_INDEXED_PALETTE_DIALOG },
{ "colormap-editor-edit-color", GIMP_STOCK_EDIT,
{ "colormap-editor-edit-color", GTK_STOCK_EDIT,
N_("_Edit Color..."), NULL,
N_("Edit color"),
G_CALLBACK (colormap_editor_edit_color_cmd_callback),

View File

@ -264,6 +264,198 @@ static GimpEnumActionEntry context_background_blue_actions[] =
NULL }
};
static GimpEnumActionEntry context_foreground_hue_actions[] =
{
{ "context-foreground-hue-set", GIMP_STOCK_TOOL_HUE_SATURATION,
"Foreground Hue Set", NULL, NULL,
GIMP_ACTION_SELECT_SET, TRUE,
NULL },
{ "context-foreground-hue-minimum", GIMP_STOCK_TOOL_HUE_SATURATION,
"Foreground Hue Minimum", NULL, NULL,
GIMP_ACTION_SELECT_FIRST, FALSE,
NULL },
{ "context-foreground-hue-maximum", GIMP_STOCK_TOOL_HUE_SATURATION,
"Foreground Hue Maximum", NULL, NULL,
GIMP_ACTION_SELECT_LAST, FALSE,
NULL },
{ "context-foreground-hue-decrease", GIMP_STOCK_TOOL_HUE_SATURATION,
"Foreground Hue Decrease", NULL, NULL,
GIMP_ACTION_SELECT_PREVIOUS, FALSE,
NULL },
{ "context-foreground-hue-increase", GIMP_STOCK_TOOL_HUE_SATURATION,
"Foreground Hue Increase", NULL, NULL,
GIMP_ACTION_SELECT_NEXT, FALSE,
NULL },
{ "context-foreground-hue-decrease-skip", GIMP_STOCK_TOOL_HUE_SATURATION,
"Foreground Hue Decrease 10%", NULL, NULL,
GIMP_ACTION_SELECT_SKIP_PREVIOUS, FALSE,
NULL },
{ "context-foreground-hue-increase-skip", GIMP_STOCK_TOOL_HUE_SATURATION,
"Foreground Hue Increase 10%", NULL, NULL,
GIMP_ACTION_SELECT_SKIP_NEXT, FALSE,
NULL }
};
static GimpEnumActionEntry context_foreground_saturation_actions[] =
{
{ "context-foreground-saturation-set", GIMP_STOCK_TOOL_HUE_SATURATION,
"Foreground Saturation Set", NULL, NULL,
GIMP_ACTION_SELECT_SET, TRUE,
NULL },
{ "context-foreground-saturation-minimum", GIMP_STOCK_TOOL_HUE_SATURATION,
"Foreground Saturation Minimum", NULL, NULL,
GIMP_ACTION_SELECT_FIRST, FALSE,
NULL },
{ "context-foreground-saturation-maximum", GIMP_STOCK_TOOL_HUE_SATURATION,
"Foreground Saturation Maximum", NULL, NULL,
GIMP_ACTION_SELECT_LAST, FALSE,
NULL },
{ "context-foreground-saturation-decrease", GIMP_STOCK_TOOL_HUE_SATURATION,
"Foreground Saturation Decrease", NULL, NULL,
GIMP_ACTION_SELECT_PREVIOUS, FALSE,
NULL },
{ "context-foreground-saturation-increase", GIMP_STOCK_TOOL_HUE_SATURATION,
"Foreground Saturation Increase", NULL, NULL,
GIMP_ACTION_SELECT_NEXT, FALSE,
NULL },
{ "context-foreground-saturation-decrease-skip", GIMP_STOCK_TOOL_HUE_SATURATION,
"Foreground Saturation Decrease 10%", NULL, NULL,
GIMP_ACTION_SELECT_SKIP_PREVIOUS, FALSE,
NULL },
{ "context-foreground-saturation-increase-skip", GIMP_STOCK_TOOL_HUE_SATURATION,
"Foreground Saturation Increase 10%", NULL, NULL,
GIMP_ACTION_SELECT_SKIP_NEXT, FALSE,
NULL }
};
static GimpEnumActionEntry context_foreground_value_actions[] =
{
{ "context-foreground-value-set", GIMP_STOCK_TOOL_HUE_SATURATION,
"Foreground Value Set", NULL, NULL,
GIMP_ACTION_SELECT_SET, TRUE,
NULL },
{ "context-foreground-value-minimum", GIMP_STOCK_TOOL_HUE_SATURATION,
"Foreground Value Minimum", NULL, NULL,
GIMP_ACTION_SELECT_FIRST, FALSE,
NULL },
{ "context-foreground-value-maximum", GIMP_STOCK_TOOL_HUE_SATURATION,
"Foreground Value Maximum", NULL, NULL,
GIMP_ACTION_SELECT_LAST, FALSE,
NULL },
{ "context-foreground-value-decrease", GIMP_STOCK_TOOL_HUE_SATURATION,
"Foreground Value Decrease", NULL, NULL,
GIMP_ACTION_SELECT_PREVIOUS, FALSE,
NULL },
{ "context-foreground-value-increase", GIMP_STOCK_TOOL_HUE_SATURATION,
"Foreground Value Increase", NULL, NULL,
GIMP_ACTION_SELECT_NEXT, FALSE,
NULL },
{ "context-foreground-value-decrease-skip", GIMP_STOCK_TOOL_HUE_SATURATION,
"Foreground Value Decrease 10%", NULL, NULL,
GIMP_ACTION_SELECT_SKIP_PREVIOUS, FALSE,
NULL },
{ "context-foreground-value-increase-skip", GIMP_STOCK_TOOL_HUE_SATURATION,
"Foreground Value Increase 10%", NULL, NULL,
GIMP_ACTION_SELECT_SKIP_NEXT, FALSE,
NULL }
};
static GimpEnumActionEntry context_background_hue_actions[] =
{
{ "context-background-hue-set", GIMP_STOCK_TOOL_HUE_SATURATION,
"Background Hue Set", NULL, NULL,
GIMP_ACTION_SELECT_SET, TRUE,
NULL },
{ "context-background-hue-minimum", GIMP_STOCK_TOOL_HUE_SATURATION,
"Background Hue Minimum", NULL, NULL,
GIMP_ACTION_SELECT_FIRST, FALSE,
NULL },
{ "context-background-hue-maximum", GIMP_STOCK_TOOL_HUE_SATURATION,
"Background Hue Maximum", NULL, NULL,
GIMP_ACTION_SELECT_LAST, FALSE,
NULL },
{ "context-background-hue-decrease", GIMP_STOCK_TOOL_HUE_SATURATION,
"Background Hue Decrease", NULL, NULL,
GIMP_ACTION_SELECT_PREVIOUS, FALSE,
NULL },
{ "context-background-hue-increase", GIMP_STOCK_TOOL_HUE_SATURATION,
"Background Hue Increase", NULL, NULL,
GIMP_ACTION_SELECT_NEXT, FALSE,
NULL },
{ "context-background-hue-decrease-skip", GIMP_STOCK_TOOL_HUE_SATURATION,
"Background Hue Decrease 10%", NULL, NULL,
GIMP_ACTION_SELECT_SKIP_PREVIOUS, FALSE,
NULL },
{ "context-background-hue-increase-skip", GIMP_STOCK_TOOL_HUE_SATURATION,
"Background Hue Increase 10%", NULL, NULL,
GIMP_ACTION_SELECT_SKIP_NEXT, FALSE,
NULL }
};
static GimpEnumActionEntry context_background_saturation_actions[] =
{
{ "context-background-saturation-set", GIMP_STOCK_TOOL_HUE_SATURATION,
"Background Saturation Set", NULL, NULL,
GIMP_ACTION_SELECT_SET, TRUE,
NULL },
{ "context-background-saturation-minimum", GIMP_STOCK_TOOL_HUE_SATURATION,
"Background Saturation Minimum", NULL, NULL,
GIMP_ACTION_SELECT_FIRST, FALSE,
NULL },
{ "context-background-saturation-maximum", GIMP_STOCK_TOOL_HUE_SATURATION,
"Background Saturation Maximum", NULL, NULL,
GIMP_ACTION_SELECT_LAST, FALSE,
NULL },
{ "context-background-saturation-decrease", GIMP_STOCK_TOOL_HUE_SATURATION,
"Background Saturation Decrease", NULL, NULL,
GIMP_ACTION_SELECT_PREVIOUS, FALSE,
NULL },
{ "context-background-saturation-increase", GIMP_STOCK_TOOL_HUE_SATURATION,
"Background Saturation Increase", NULL, NULL,
GIMP_ACTION_SELECT_NEXT, FALSE,
NULL },
{ "context-background-saturation-decrease-skip", GIMP_STOCK_TOOL_HUE_SATURATION,
"Background Saturation Decrease 10%", NULL, NULL,
GIMP_ACTION_SELECT_SKIP_PREVIOUS, FALSE,
NULL },
{ "context-background-saturation-increase-skip", GIMP_STOCK_TOOL_HUE_SATURATION,
"Background Saturation Increase 10%", NULL, NULL,
GIMP_ACTION_SELECT_SKIP_NEXT, FALSE,
NULL }
};
static GimpEnumActionEntry context_background_value_actions[] =
{
{ "context-background-value-set", GIMP_STOCK_TOOL_HUE_SATURATION,
"Background Value Set", NULL, NULL,
GIMP_ACTION_SELECT_SET, TRUE,
NULL },
{ "context-background-value-minimum", GIMP_STOCK_TOOL_HUE_SATURATION,
"Background Value Minimum", NULL, NULL,
GIMP_ACTION_SELECT_FIRST, FALSE,
NULL },
{ "context-background-value-maximum", GIMP_STOCK_TOOL_HUE_SATURATION,
"Background Value Maximum", NULL, NULL,
GIMP_ACTION_SELECT_LAST, FALSE,
NULL },
{ "context-background-value-decrease", GIMP_STOCK_TOOL_HUE_SATURATION,
"Background Value Decrease", NULL, NULL,
GIMP_ACTION_SELECT_PREVIOUS, FALSE,
NULL },
{ "context-background-value-increase", GIMP_STOCK_TOOL_HUE_SATURATION,
"Background Value Increase", NULL, NULL,
GIMP_ACTION_SELECT_NEXT, FALSE,
NULL },
{ "context-background-value-decrease-skip", GIMP_STOCK_TOOL_HUE_SATURATION,
"Background Value Decrease 10%", NULL, NULL,
GIMP_ACTION_SELECT_SKIP_PREVIOUS, FALSE,
NULL },
{ "context-background-value-increase-skip", GIMP_STOCK_TOOL_HUE_SATURATION,
"Background Value Increase 10%", NULL, NULL,
GIMP_ACTION_SELECT_SKIP_NEXT, FALSE,
NULL }
};
static GimpEnumActionEntry context_opacity_actions[] =
{
{ "context-opacity-set", GIMP_STOCK_TRANSPARENCY,
@ -318,6 +510,10 @@ static GimpEnumActionEntry context_paint_mode_actions[] =
static GimpEnumActionEntry context_tool_select_actions[] =
{
{ "context-tool-select-set", GIMP_STOCK_TOOLS,
"Select Tool by Index", NULL, NULL,
GIMP_ACTION_SELECT_SET, TRUE,
NULL },
{ "context-tool-select-first", GIMP_STOCK_TOOLS,
"First Tool", NULL, NULL,
GIMP_ACTION_SELECT_FIRST, FALSE,
@ -338,6 +534,10 @@ static GimpEnumActionEntry context_tool_select_actions[] =
static GimpEnumActionEntry context_brush_select_actions[] =
{
{ "context-brush-select-set", GIMP_STOCK_BRUSH,
"Select Brush by Index", NULL, NULL,
GIMP_ACTION_SELECT_SET, TRUE,
NULL },
{ "context-brush-select-first", GIMP_STOCK_BRUSH,
"First Brush", NULL, NULL,
GIMP_ACTION_SELECT_FIRST, FALSE,
@ -358,6 +558,10 @@ static GimpEnumActionEntry context_brush_select_actions[] =
static GimpEnumActionEntry context_pattern_select_actions[] =
{
{ "context-pattern-select-set", GIMP_STOCK_PATTERN,
"Select Pattern by Index", NULL, NULL,
GIMP_ACTION_SELECT_SET, TRUE,
NULL },
{ "context-pattern-select-first", GIMP_STOCK_PATTERN,
"First Pattern", NULL, NULL,
GIMP_ACTION_SELECT_FIRST, FALSE,
@ -378,6 +582,10 @@ static GimpEnumActionEntry context_pattern_select_actions[] =
static GimpEnumActionEntry context_palette_select_actions[] =
{
{ "context-palette-select-set", GIMP_STOCK_PALETTE,
"Select Palette by Index", NULL, NULL,
GIMP_ACTION_SELECT_SET, TRUE,
NULL },
{ "context-palette-select-first", GIMP_STOCK_PALETTE,
"First Palette", NULL, NULL,
GIMP_ACTION_SELECT_FIRST, FALSE,
@ -398,6 +606,10 @@ static GimpEnumActionEntry context_palette_select_actions[] =
static GimpEnumActionEntry context_gradient_select_actions[] =
{
{ "context-gradient-select-set", GIMP_STOCK_GRADIENT,
"Select Gradient by Index", NULL, NULL,
GIMP_ACTION_SELECT_SET, TRUE,
NULL },
{ "context-gradient-select-first", GIMP_STOCK_GRADIENT,
"First Gradient", NULL, NULL,
GIMP_ACTION_SELECT_FIRST, FALSE,
@ -418,6 +630,10 @@ static GimpEnumActionEntry context_gradient_select_actions[] =
static GimpEnumActionEntry context_font_select_actions[] =
{
{ "context-font-select-set", GIMP_STOCK_FONT,
"Select Font by Index", NULL, NULL,
GIMP_ACTION_SELECT_SET, TRUE,
NULL },
{ "context-font-select-first", GIMP_STOCK_FONT,
"First Font", NULL, NULL,
GIMP_ACTION_SELECT_FIRST, FALSE,
@ -467,19 +683,19 @@ static GimpEnumActionEntry context_brush_radius_actions[] =
GIMP_ACTION_SELECT_LAST, FALSE,
NULL },
{ "context-brush-radius-decrease", GIMP_STOCK_BRUSH,
"Decrease Radius", NULL, NULL,
"Decrease Radius", "bracketleft", NULL,
GIMP_ACTION_SELECT_PREVIOUS, FALSE,
NULL },
{ "context-brush-radius-increase", GIMP_STOCK_BRUSH,
"Increase Radius", NULL, NULL,
"Increase Radius", "bracketright", NULL,
GIMP_ACTION_SELECT_NEXT, FALSE,
NULL },
{ "context-brush-radius-decrease-skip", GIMP_STOCK_BRUSH,
"Decrease Radius More", NULL, NULL,
"Decrease Radius More", "<shift>bracketleft", NULL,
GIMP_ACTION_SELECT_SKIP_PREVIOUS, FALSE,
NULL },
{ "context-brush-radius-increase-skip", GIMP_STOCK_BRUSH,
"Increase Radius More", NULL, NULL,
"Increase Radius More", "<shift>bracketright", NULL,
GIMP_ACTION_SELECT_SKIP_NEXT, FALSE,
NULL },
};
@ -633,6 +849,19 @@ context_actions_setup (GimpActionGroup *group)
G_N_ELEMENTS (context_foreground_blue_actions),
G_CALLBACK (context_foreground_blue_cmd_callback));
gimp_action_group_add_enum_actions (group,
context_foreground_hue_actions,
G_N_ELEMENTS (context_foreground_hue_actions),
G_CALLBACK (context_foreground_hue_cmd_callback));
gimp_action_group_add_enum_actions (group,
context_foreground_saturation_actions,
G_N_ELEMENTS (context_foreground_saturation_actions),
G_CALLBACK (context_foreground_saturation_cmd_callback));
gimp_action_group_add_enum_actions (group,
context_foreground_value_actions,
G_N_ELEMENTS (context_foreground_value_actions),
G_CALLBACK (context_foreground_value_cmd_callback));
gimp_action_group_add_enum_actions (group,
context_background_red_actions,
G_N_ELEMENTS (context_background_red_actions),
@ -646,6 +875,19 @@ context_actions_setup (GimpActionGroup *group)
G_N_ELEMENTS (context_background_blue_actions),
G_CALLBACK (context_background_blue_cmd_callback));
gimp_action_group_add_enum_actions (group,
context_background_hue_actions,
G_N_ELEMENTS (context_background_hue_actions),
G_CALLBACK (context_background_hue_cmd_callback));
gimp_action_group_add_enum_actions (group,
context_background_saturation_actions,
G_N_ELEMENTS (context_background_saturation_actions),
G_CALLBACK (context_background_saturation_cmd_callback));
gimp_action_group_add_enum_actions (group,
context_background_value_actions,
G_N_ELEMENTS (context_background_value_actions),
G_CALLBACK (context_background_value_cmd_callback));
gimp_action_group_add_enum_actions (group,
context_opacity_actions,
G_N_ELEMENTS (context_opacity_actions),

View File

@ -22,6 +22,7 @@
#include <gtk/gtk.h>
#include "libgimpcolor/gimpcolor.h"
#include "libgimpwidgets/gimpwidgets.h"
#include "actions-types.h"
@ -195,6 +196,126 @@ context_background_blue_cmd_callback (GtkAction *action,
gimp_context_set_background (context, &color);
}
void
context_foreground_hue_cmd_callback (GtkAction *action,
gint value,
gpointer data)
{
GimpContext *context;
GimpRGB color;
GimpHSV hsv;
return_if_no_context (context, data);
gimp_context_get_foreground (context, &color);
gimp_rgb_to_hsv (&color, &hsv);
hsv.h = action_select_value ((GimpActionSelectType) value,
hsv.h,
0.0, 1.0,
0.01, 0.1, FALSE);
gimp_hsv_to_rgb (&hsv, &color);
gimp_context_set_foreground (context, &color);
}
void
context_foreground_saturation_cmd_callback (GtkAction *action,
gint value,
gpointer data)
{
GimpContext *context;
GimpRGB color;
GimpHSV hsv;
return_if_no_context (context, data);
gimp_context_get_foreground (context, &color);
gimp_rgb_to_hsv (&color, &hsv);
hsv.s = action_select_value ((GimpActionSelectType) value,
hsv.s,
0.0, 1.0,
0.01, 0.1, FALSE);
gimp_hsv_to_rgb (&hsv, &color);
gimp_context_set_foreground (context, &color);
}
void
context_foreground_value_cmd_callback (GtkAction *action,
gint value,
gpointer data)
{
GimpContext *context;
GimpRGB color;
GimpHSV hsv;
return_if_no_context (context, data);
gimp_context_get_foreground (context, &color);
gimp_rgb_to_hsv (&color, &hsv);
hsv.v = action_select_value ((GimpActionSelectType) value,
hsv.v,
0.0, 1.0,
0.01, 0.1, FALSE);
gimp_hsv_to_rgb (&hsv, &color);
gimp_context_set_foreground (context, &color);
}
void
context_background_hue_cmd_callback (GtkAction *action,
gint value,
gpointer data)
{
GimpContext *context;
GimpRGB color;
GimpHSV hsv;
return_if_no_context (context, data);
gimp_context_get_background (context, &color);
gimp_rgb_to_hsv (&color, &hsv);
hsv.h = action_select_value ((GimpActionSelectType) value,
hsv.h,
0.0, 1.0,
0.01, 0.1, FALSE);
gimp_hsv_to_rgb (&hsv, &color);
gimp_context_set_background (context, &color);
}
void
context_background_saturation_cmd_callback (GtkAction *action,
gint value,
gpointer data)
{
GimpContext *context;
GimpRGB color;
GimpHSV hsv;
return_if_no_context (context, data);
gimp_context_get_background (context, &color);
gimp_rgb_to_hsv (&color, &hsv);
hsv.s = action_select_value ((GimpActionSelectType) value,
hsv.s,
0.0, 1.0,
0.01, 0.1, FALSE);
gimp_hsv_to_rgb (&hsv, &color);
gimp_context_set_background (context, &color);
}
void
context_background_value_cmd_callback (GtkAction *action,
gint value,
gpointer data)
{
GimpContext *context;
GimpRGB color;
GimpHSV hsv;
return_if_no_context (context, data);
gimp_context_get_background (context, &color);
gimp_rgb_to_hsv (&color, &hsv);
hsv.v = action_select_value ((GimpActionSelectType) value,
hsv.v,
0.0, 1.0,
0.01, 0.1, FALSE);
gimp_hsv_to_rgb (&hsv, &color);
gimp_context_set_background (context, &color);
}
void
context_opacity_cmd_callback (GtkAction *action,
gint value,

View File

@ -45,6 +45,26 @@ void context_background_blue_cmd_callback (GtkAction *action,
gint value,
gpointer data);
void context_foreground_hue_cmd_callback (GtkAction *action,
gint value,
gpointer data);
void context_foreground_saturation_cmd_callback (GtkAction *action,
gint value,
gpointer data);
void context_foreground_value_cmd_callback (GtkAction *action,
gint value,
gpointer data);
void context_background_hue_cmd_callback (GtkAction *action,
gint value,
gpointer data);
void context_background_saturation_cmd_callback (GtkAction *action,
gint value,
gpointer data);
void context_background_value_cmd_callback (GtkAction *action,
gint value,
gpointer data);
void context_opacity_cmd_callback (GtkAction *action,
gint value,
gpointer data);

View File

@ -0,0 +1,80 @@
/* The GIMP -- an image manipulation program
* Copyright (C) 1995 Spencer Kimball and Peter Mattis
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
#include "config.h"
#include <gtk/gtk.h>
#include "libgimpwidgets/gimpwidgets.h"
#include "actions-types.h"
#include "widgets/gimpactiongroup.h"
#include "widgets/gimpcursorview.h"
#include "widgets/gimphelp-ids.h"
#include "cursor-info-actions.h"
#include "cursor-info-commands.h"
#include "gimp-intl.h"
static GimpActionEntry cursor_info_actions[] =
{
{ "cursor-info-popup", GIMP_STOCK_CURSOR,
N_("Cursor Info Menu"), NULL, NULL, NULL,
GIMP_HELP_CURSOR_INFO_DIALOG }
};
static GimpToggleActionEntry cursor_info_toggle_actions[] =
{
{ "cursor-info-sample-merged", NULL,
N_("_Sample Merged"), "",
N_("Sample Merged"),
G_CALLBACK (cursor_info_sample_merged_cmd_callback),
TRUE,
GIMP_HELP_CURSOR_INFO_SAMPLE_MERGED }
};
void
cursor_info_actions_setup (GimpActionGroup *group)
{
gimp_action_group_add_actions (group,
cursor_info_actions,
G_N_ELEMENTS (cursor_info_actions));
gimp_action_group_add_toggle_actions (group,
cursor_info_toggle_actions,
G_N_ELEMENTS (cursor_info_toggle_actions));
}
void
cursor_info_actions_update (GimpActionGroup *group,
gpointer data)
{
GimpCursorView *view = GIMP_CURSOR_VIEW (data);
#define SET_ACTIVE(action,condition) \
gimp_action_group_set_action_active (group, action, (condition) != 0)
SET_ACTIVE ("cursor-info-sample-merged",
gimp_cursor_view_get_sample_merged (view));
#undef SET_ACTIVE
}

View File

@ -0,0 +1,28 @@
/* The GIMP -- an image manipulation program
* Copyright (C) 1995 Spencer Kimball and Peter Mattis
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
#ifndef __CURSOR_INFO_ACIONS_H__
#define __CURSOR_INFO_ACIONS_H__
void cursor_info_actions_setup (GimpActionGroup *group);
void cursor_info_actions_update (GimpActionGroup *group,
gpointer data);
#endif /* __CURSOR_INFO_ACTIONS_H__ */

View File

@ -1,9 +1,6 @@
/* The GIMP -- an image manipulation program
* Copyright (C) 1995 Spencer Kimball and Peter Mattis
*
* ValueTypes for config objects
* Copyright (C) 2001 Sven Neumann <sven@gimp.org>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
@ -19,20 +16,34 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
#ifndef __GIMP_CONFIG_TYPES_H__
#define __GIMP_CONFIG_TYPES_H__
#include "config.h"
#include <gtk/gtk.h>
#include "libgimpbase/gimpbase.h"
#include "libgimpwidgets/gimpwidgets.h"
#include "actions-types.h"
#include "widgets/gimpcursorview.h"
#include "widgets/gimphelp-ids.h"
#include "widgets/gimpwidgets-utils.h"
#include "cursor-info-commands.h"
#include "gimp-intl.h"
#define GIMP_TYPE_MATRIX2 (gimp_matrix2_get_type ())
#define GIMP_VALUE_HOLDS_MATRIX2(value) (G_TYPE_CHECK_VALUE_TYPE ((value), GIMP_TYPE_MATRIX2))
/* public functions */
GType gimp_matrix2_get_type (void) G_GNUC_CONST;
void
cursor_info_sample_merged_cmd_callback (GtkAction *action,
gpointer data)
{
GimpCursorView *view = GIMP_CURSOR_VIEW (data);
gboolean active;
active = gtk_toggle_action_get_active (GTK_TOGGLE_ACTION (action));
#define GIMP_TYPE_PATH (gimp_path_get_type ())
#define GIMP_VALUE_HOLDS_PATH(value) (G_TYPE_CHECK_VALUE_TYPE ((value), GIMP_TYPE_PATH))
GType gimp_path_get_type (void) G_GNUC_CONST;
#endif /* __GIMP_CONFIG_TYPES_H__ */
gimp_cursor_view_set_sample_merged (view, active);
}

View File

@ -16,13 +16,12 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
#ifndef __QMASK_ACTIONS_H__
#define __QMASK_ACTIONS_H__
#ifndef __CURSOR_INFO_COMMANDS_H__
#define __CURSOR_INFO_COMMANDS_H__
void qmask_actions_setup (GimpActionGroup *group);
void qmask_actions_update (GimpActionGroup *group,
gpointer data);
void cursor_info_sample_merged_cmd_callback (GtkAction *action,
gpointer data);
#endif /* __QMASK_ACTIONS_H__ */
#endif /* __CURSOR_INFO_COMMANDS_H__ */

View File

@ -24,11 +24,16 @@
#include "actions-types.h"
#include "core/gimp.h"
#include "core/gimpcontainer.h"
#include "core/gimpcontext.h"
#include "core/gimpdata.h"
#include "core/gimpdatafactory.h"
#include "file/file-open.h"
#include "file/file-utils.h"
#include "widgets/gimpclipboard.h"
#include "widgets/gimpcontainerview.h"
#include "widgets/gimpdataeditor.h"
#include "widgets/gimpdatafactoryview.h"
@ -63,8 +68,52 @@ static void data_delete_confirm_response (GtkWidget *dialog,
/* public functions */
void
data_new_data_cmd_callback (GtkAction *action,
gpointer user_data)
data_open_as_image_cmd_callback (GtkAction *action,
gpointer user_data)
{
GimpDataFactoryView *view = GIMP_DATA_FACTORY_VIEW (user_data);
GimpContext *context;
GimpData *data;
context = gimp_container_view_get_context (GIMP_CONTAINER_EDITOR (view)->view);
data = (GimpData *)
gimp_context_get_by_type (context,
view->factory->container->children_type);
if (data && data->filename)
{
gchar *uri = g_filename_to_uri (data->filename, NULL, NULL);
if (uri)
{
GimpImage *image;
GimpPDBStatusType status;
GError *error = NULL;
image = file_open_with_display (context->gimp, context, NULL, uri,
&status, &error);
if (! image && status != GIMP_PDB_CANCEL)
{
gchar *filename;
filename = file_utils_uri_display_name (uri);
g_message (_("Opening '%s' failed:\n\n%s"),
filename, error->message);
g_clear_error (&error);
g_free (filename);
}
g_free (uri);
}
}
}
void
data_new_cmd_callback (GtkAction *action,
gpointer user_data)
{
GimpDataFactoryView *view = GIMP_DATA_FACTORY_VIEW (user_data);
@ -90,8 +139,8 @@ data_new_data_cmd_callback (GtkAction *action,
}
void
data_duplicate_data_cmd_callback (GtkAction *action,
gpointer user_data)
data_duplicate_cmd_callback (GtkAction *action,
gpointer user_data)
{
GimpDataFactoryView *view = GIMP_DATA_FACTORY_VIEW (user_data);
GimpContext *context;
@ -122,8 +171,34 @@ data_duplicate_data_cmd_callback (GtkAction *action,
}
void
data_delete_data_cmd_callback (GtkAction *action,
gpointer user_data)
data_copy_location_cmd_callback (GtkAction *action,
gpointer user_data)
{
GimpDataFactoryView *view = GIMP_DATA_FACTORY_VIEW (user_data);
GimpContext *context;
GimpData *data;
context = gimp_container_view_get_context (GIMP_CONTAINER_EDITOR (view)->view);
data = (GimpData *)
gimp_context_get_by_type (context,
view->factory->container->children_type);
if (data && data->filename && *data->filename)
{
gchar *uri = g_filename_to_uri (data->filename, NULL, NULL);
if (uri)
{
gimp_clipboard_set_text (context->gimp, uri);
g_free (uri);
}
}
}
void
data_delete_cmd_callback (GtkAction *action,
gpointer user_data)
{
GimpDataFactoryView *view = GIMP_DATA_FACTORY_VIEW (user_data);
GimpContext *context;
@ -155,6 +230,11 @@ data_delete_data_cmd_callback (GtkAction *action,
NULL);
gtk_dialog_set_alternative_button_order (GTK_DIALOG (dialog),
GTK_RESPONSE_OK,
GTK_RESPONSE_CANCEL,
-1);
g_signal_connect_object (data, "disconnect",
G_CALLBACK (gtk_widget_destroy),
dialog, G_CONNECT_SWAPPED);
@ -172,19 +252,22 @@ data_delete_data_cmd_callback (GtkAction *action,
}
void
data_refresh_data_cmd_callback (GtkAction *action,
gpointer user_data)
data_refresh_cmd_callback (GtkAction *action,
gpointer user_data)
{
GimpDataFactoryView *view = GIMP_DATA_FACTORY_VIEW (user_data);
Gimp *gimp;
return_if_no_gimp (gimp, user_data);
gimp_data_factory_data_save (view->factory);
gimp_data_factory_data_init (view->factory, FALSE);
gimp_set_busy (gimp);
gimp_data_factory_data_refresh (view->factory);
gimp_unset_busy (gimp);
}
void
data_edit_data_cmd_callback (GtkAction *action,
const gchar *value,
gpointer user_data)
data_edit_cmd_callback (GtkAction *action,
const gchar *value,
gpointer user_data)
{
GimpDataFactoryView *view = GIMP_DATA_FACTORY_VIEW (user_data);
GimpContext *context;

View File

@ -20,17 +20,21 @@
#define __DATA_COMMANDS_H__
void data_new_data_cmd_callback (GtkAction *action,
gpointer data);
void data_duplicate_data_cmd_callback (GtkAction *action,
gpointer data);
void data_delete_data_cmd_callback (GtkAction *action,
gpointer data);
void data_refresh_data_cmd_callback (GtkAction *action,
gpointer data);
void data_edit_data_cmd_callback (GtkAction *action,
const gchar *value,
gpointer data);
void data_open_as_image_cmd_callback (GtkAction *action,
gpointer data);
void data_new_cmd_callback (GtkAction *action,
gpointer data);
void data_duplicate_cmd_callback (GtkAction *action,
gpointer data);
void data_copy_location_cmd_callback (GtkAction *action,
gpointer user_data);
void data_delete_cmd_callback (GtkAction *action,
gpointer data);
void data_refresh_cmd_callback (GtkAction *action,
gpointer data);
void data_edit_cmd_callback (GtkAction *action,
const gchar *value,
gpointer data);
#endif /* __DATA_COMMANDS_H__ */

View File

@ -1,9 +1,6 @@
/* The GIMP -- an image manipulation program
* Copyright (C) 1995 Spencer Kimball and Peter Mattis
*
* Object properties deserialization routines
* Copyright (C) 2001-2002 Sven Neumann <sven@gimp.org>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
@ -19,14 +16,27 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
#ifndef __GIMP_CONFIG_DESERIALIZE_H__
#define __GIMP_CONFIG_DESERIALIZE_H__
#include "config.h"
#include <gtk/gtk.h>
#include "actions-types.h"
#include "widgets/gimpdataeditor.h"
#include "data-editor-commands.h"
gboolean gimp_config_deserialize_properties (GimpConfig *config,
GScanner *scanner,
gint nest_level,
gboolean store_unknown_tokens);
/* public functionss */
void
data_editor_edit_active_cmd_callback (GtkAction *action,
gpointer data)
{
GimpDataEditor *editor = GIMP_DATA_EDITOR (data);
gboolean edit_active;
#endif /* __GIMP_CONFIG_DESERIALIZE_H__ */
edit_active = gtk_toggle_action_get_active (GTK_TOGGLE_ACTION (action));
gimp_data_editor_set_edit_active (editor, edit_active);
}

View File

@ -0,0 +1,27 @@
/* The GIMP -- an image manipulation program
* Copyright (C) 1995 Spencer Kimball and Peter Mattis
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
#ifndef __DATA_EDITOR_COMMANDS_H__
#define __DATA_EDITOR_COMMANDS_H__
void data_editor_edit_active_cmd_callback (GtkAction *action,
gpointer data);
#endif /* __DATA_EDITOR_COMMANDS_H__ */

View File

@ -33,6 +33,7 @@
#include "menus/menus.h"
#include "actions.h"
#include "debug-commands.h"
@ -51,11 +52,13 @@ void
debug_mem_profile_cmd_callback (GtkAction *action,
gpointer data)
{
extern gboolean gimp_debug_memsize;
extern gboolean gimp_debug_memsize;
Gimp *gimp;
return_if_no_gimp (gimp, data);
gimp_debug_memsize = TRUE;
gimp_object_get_memsize (GIMP_OBJECT (data), NULL);
gimp_object_get_memsize (GIMP_OBJECT (gimp), NULL);
gimp_debug_memsize = FALSE;
}
@ -70,31 +73,33 @@ debug_dump_menus_cmd_callback (GtkAction *action,
list;
list = g_list_next (list))
{
#if 0
FIXME
GimpMenuFactoryEntry *entry = list->data;
GimpItemFactory *item_factory;
GList *managers;
item_factory = gimp_item_factory_from_path (entry->identifier);
managers = gimp_ui_managers_from_name (entry->identifier);
if (item_factory)
if (managers)
{
GtkWidget *menu_item;
GimpUIManager *manager = managers->data;
GList *list;
g_print ("%s\n", entry->identifier);
for (list = manager->registered_uis; list; list = g_list_next (list))
{
GimpUIManagerUIEntry *ui_entry = list->data;
menu_item = gtk_item_factory_get_item (GTK_ITEM_FACTORY (item_factory),
entry->entries[0].entry.path);
if (GTK_IS_MENU_SHELL (ui_entry->widget))
{
g_print ("\n\n========================================\n"
"Menu: %s%s\n"
"========================================\n\n",
entry->identifier, ui_entry->ui_path);
if (menu_item &&
menu_item->parent &&
GTK_IS_MENU (menu_item->parent))
debug_dump_menus_recurse_menu (menu_item->parent, 1,
entry->identifier);
g_print ("\n");
debug_dump_menus_recurse_menu (ui_entry->widget, 1,
entry->identifier);
g_print ("\n");
}
}
}
#endif
}
}
@ -133,14 +138,12 @@ debug_dump_menus_recurse_menu (GtkWidget *menu,
gint depth,
gchar *path)
{
#if 0
GtkItemFactory *item_factory;
GtkWidget *menu_item;
GList *list;
const gchar *label;
gchar *help_page;
gchar *full_path;
gchar *format_str;
GtkWidget *menu_item;
GList *list;
const gchar *label;
gchar *help_page;
gchar *full_path;
gchar *format_str;
for (list = GTK_MENU_SHELL (menu)->children; list; list = g_list_next (list))
{
@ -151,10 +154,7 @@ debug_dump_menus_recurse_menu (GtkWidget *menu,
label = gtk_label_get_text (GTK_LABEL (GTK_BIN (menu_item)->child));
full_path = g_strconcat (path, "/", label, NULL);
item_factory = GTK_ITEM_FACTORY (gimp_item_factory_from_path (path));
help_page = g_object_get_data (G_OBJECT (menu_item),
"gimp-help-id");
help_page = g_object_get_data (G_OBJECT (menu_item), "gimp-help-id");
help_page = g_strdup (help_page);
format_str = g_strdup_printf ("%%%ds%%%ds %%-20s %%s\n",
@ -171,7 +171,6 @@ debug_dump_menus_recurse_menu (GtkWidget *menu,
g_free (full_path);
}
}
#endif
}
#endif /* ENABLE_DEBUG_MENU */

View File

@ -54,7 +54,7 @@ static GimpActionEntry dialogs_actions[] =
GIMP_HELP_DOCK },
{ "dialogs-toolbox", NULL,
N_("Tool_box"), NULL, NULL,
N_("Tool_box"), "<control>B", NULL,
G_CALLBACK (dialogs_show_toolbox_cmd_callback),
GIMP_HELP_TOOLBOX }
};
@ -62,112 +62,122 @@ static GimpActionEntry dialogs_actions[] =
GimpStringActionEntry dialogs_dockable_actions[] =
{
{ "dialogs-tool-options", GIMP_STOCK_TOOL_OPTIONS,
N_("Tool _Options"), "<control><shift>T", NULL,
N_("Tool _Options"), NULL, N_("Tool Options"),
"gimp-tool-options",
GIMP_HELP_TOOL_OPTIONS_DIALOG },
{ "dialogs-device-status", GIMP_STOCK_DEVICE_STATUS,
N_("_Device Status"), NULL, NULL,
N_("_Device Status"), NULL, N_("Device Status"),
"gimp-device-status",
GIMP_HELP_DEVICE_STATUS_DIALOG },
{ "dialogs-layers", GIMP_STOCK_LAYERS,
N_("_Layers"), "<control>L", NULL,
N_("_Layers"), "<control>L", N_("Layers"),
"gimp-layer-list",
GIMP_HELP_LAYER_DIALOG },
{ "dialogs-channels", GIMP_STOCK_CHANNELS,
N_("_Channels"), NULL, NULL,
N_("_Channels"), NULL, N_("Channels"),
"gimp-channel-list",
GIMP_HELP_CHANNEL_DIALOG },
{ "dialogs-vectors", GIMP_STOCK_PATHS,
N_("_Paths"), NULL, NULL,
N_("_Paths"), NULL, N_("Paths"),
"gimp-vectors-list",
GIMP_HELP_PATH_DIALOG },
{ "dialogs-indexed-palette", GIMP_STOCK_INDEXED_PALETTE,
N_("Color_map"), NULL, NULL,
N_("Color_map"), NULL, N_("Colormap"),
"gimp-indexed-palette",
GIMP_HELP_INDEXED_PALETTE_DIALOG },
{ "dialogs-histogram", GIMP_STOCK_HISTOGRAM,
N_("Histogra_m"), NULL, NULL,
N_("Histogra_m"), NULL, N_("Histogram"),
"gimp-histogram-editor",
GIMP_HELP_HISTOGRAM_DIALOG },
{ "dialogs-selection-editor", GIMP_STOCK_TOOL_RECT_SELECT,
N_("_Selection Editor"), NULL, NULL,
N_("_Selection Editor"), NULL, N_("Selection Editor"),
"gimp-selection-editor",
GIMP_HELP_SELECTION_DIALOG },
{ "dialogs-navigation", GIMP_STOCK_NAVIGATION,
N_("Na_vigation"), NULL, NULL,
N_("Na_vigation"), NULL, N_("Display Navigation"),
"gimp-navigation-view",
GIMP_HELP_NAVIGATION_DIALOG },
{ "dialogs-undo-history", GIMP_STOCK_UNDO_HISTORY,
N_("Undo _History"), NULL, NULL,
N_("Undo _History"), NULL, N_("Undo History"),
"gimp-undo-history",
GIMP_HELP_UNDO_DIALOG },
{ "dialogs-cursor", GIMP_STOCK_CURSOR,
N_("_Cursor"), NULL, N_("Cursor Info"),
"gimp-cursor-view",
GIMP_HELP_CURSOR_INFO_DIALOG },
{ "dialogs-sample-points", GIMP_STOCK_SAMPLE_POINT,
N_("_Sample Points"), NULL, N_("Sample Points"),
"gimp-sample-point-editor",
GIMP_HELP_SAMPLE_POINT_DIALOG },
{ "dialogs-colors", GIMP_STOCK_DEFAULT_COLORS,
N_("Colo_rs"), NULL, NULL,
N_("Colo_rs"), NULL, N_("FG/BG Color"),
"gimp-color-editor",
GIMP_HELP_COLOR_DIALOG },
{ "dialogs-brushes", GIMP_STOCK_BRUSH,
N_("_Brushes"), "<control><shift>B", NULL,
N_("_Brushes"), "<control><shift>B", N_("Brushes"),
"gimp-brush-grid|gimp-brush-list",
GIMP_HELP_BRUSH_DIALOG },
{ "dialogs-patterns", GIMP_STOCK_PATTERN,
N_("P_atterns"), "<control><shift>P", NULL,
N_("P_atterns"), "<control><shift>P", N_("Patterns"),
"gimp-pattern-grid|gimp-pattern-list",
GIMP_HELP_PATTERN_DIALOG },
{ "dialogs-gradients", GIMP_STOCK_GRADIENT,
N_("_Gradients"), "<control>G", NULL,
N_("_Gradients"), "<control>G", N_("Gradients"),
"gimp-gradient-list|gimp-gradient-grid",
GIMP_HELP_GRADIENT_DIALOG },
{ "dialogs-palettes", GIMP_STOCK_PALETTE,
N_("Pal_ettes"), "<control>P", NULL,
N_("Pal_ettes"), "<control>P", N_("Palettes"),
"gimp-palette-list|gimp-palette-grid",
GIMP_HELP_PALETTE_DIALOG },
{ "dialogs-fonts", GIMP_STOCK_FONT,
N_("_Fonts"), NULL, NULL,
N_("_Fonts"), NULL, N_("Fonts"),
"gimp-font-list|gimp-font-grid",
GIMP_HELP_FONT_DIALOG },
{ "dialogs-buffers", GIMP_STOCK_BUFFER,
N_("B_uffers"), "", NULL,
N_("B_uffers"), "", N_("Buffers"),
"gimp-buffer-list|gimp-buffer-grid",
GIMP_HELP_BUFFER_DIALOG },
{ "dialogs-images", GIMP_STOCK_IMAGES,
N_("_Images"), NULL, NULL,
N_("_Images"), NULL, N_("Images"),
"gimp-image-list|gimp-image-grid",
GIMP_HELP_IMAGE_DIALOG },
{ "dialogs-document-history", GTK_STOCK_OPEN,
N_("Document Histor_y"), "", NULL,
N_("Document Histor_y"), "", N_("Document History"),
"gimp-document-list|gimp-document-grid",
GIMP_HELP_DOCUMENT_DIALOG },
{ "dialogs-templates", GIMP_STOCK_TEMPLATE,
N_("_Templates"), "", NULL,
N_("_Templates"), "", N_("Image Templates"),
"gimp-template-list|gimp-template-grid",
GIMP_HELP_TEMPLATE_DIALOG },
{ "dialogs-tools", GIMP_STOCK_TOOLS,
N_("T_ools"), NULL, NULL,
N_("T_ools"), NULL, N_("Tools"),
"gimp-tool-list|gimp-tool-grid",
GIMP_HELP_TOOLS_DIALOG },
{ "dialogs-error-console", GIMP_STOCK_WARNING,
N_("Error Co_nsole"), NULL, NULL,
N_("Error Co_nsole"), NULL, N_("Error Console"),
"gimp-error-console",
GIMP_HELP_ERRORS_DIALOG }
};
@ -181,6 +191,11 @@ static GimpStringActionEntry dialogs_toplevel_actions[] =
"gimp-preferences-dialog",
GIMP_HELP_PREFS_DIALOG },
{ "dialogs-keyboard-shortcuts", GIMP_STOCK_CHAR_PICKER,
N_("_Keyboard Shortcuts"), NULL, NULL,
"gimp-keyboard-shortcuts-dialog",
GIMP_HELP_KEYBOARD_SHORTCUTS },
{ "dialogs-module-dialog", GTK_STOCK_EXECUTE,
N_("_Module Manager"), NULL, NULL,
"gimp-module-dialog",
@ -191,7 +206,7 @@ static GimpStringActionEntry dialogs_toplevel_actions[] =
"gimp-tips-dialog",
GIMP_HELP_TIPS_DIALOG },
{ "dialogs-about", GIMP_STOCK_WILBER,
{ "dialogs-about", GTK_STOCK_ABOUT,
N_("_About"), NULL, NULL,
"gimp-about-dialog",
GIMP_HELP_ABOUT_DIALOG }

View File

@ -31,7 +31,7 @@
#include "widgets/gimpdialogfactory.h"
#include "widgets/gimpdockable.h"
#include "widgets/gimpdockbook.h"
#include "widgets/gimpimagedock.h"
#include "widgets/gimpmenudock.h"
#include "dialogs/dialogs.h"
@ -176,7 +176,7 @@ dialogs_create_dock (GdkScreen *screen,
dock = gimp_dialog_factory_dock_new (global_dock_factory, screen);
gimp_image_dock_set_show_image_menu (GIMP_IMAGE_DOCK (dock), show_image_menu);
gimp_menu_dock_set_show_image_menu (GIMP_MENU_DOCK (dock), show_image_menu);
dockbook = gimp_dockbook_new (global_dock_factory->menu_factory);

129
app/actions/dock-actions.c Normal file
View File

@ -0,0 +1,129 @@
/* The GIMP -- an image manipulation program
* Copyright (C) 1995 Spencer Kimball and Peter Mattis
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
#include "config.h"
#include <gtk/gtk.h>
#include "libgimpwidgets/gimpwidgets.h"
#include "actions-types.h"
#include "widgets/gimpactiongroup.h"
#include "widgets/gimphelp-ids.h"
#include "widgets/gimpmenudock.h"
#include "actions.h"
#include "dock-actions.h"
#include "dock-commands.h"
#include "window-actions.h"
#include "window-commands.h"
#include "gimp-intl.h"
static GimpActionEntry dock_actions[] =
{
{ "dock-move-to-screen-menu", GIMP_STOCK_MOVE_TO_SCREEN,
N_("M_ove to Screen"), NULL, NULL, NULL,
GIMP_HELP_DOCK_CHANGE_SCREEN },
{ "dock-close", GTK_STOCK_CLOSE,
N_("Close Dock"), "<control>W", NULL,
G_CALLBACK (window_close_cmd_callback),
GIMP_HELP_DOCK_CLOSE },
{ "dock-open-display", NULL,
N_("_Open Display..."), NULL, NULL,
G_CALLBACK (window_open_display_cmd_callback),
NULL }
};
static GimpToggleActionEntry dock_toggle_actions[] =
{
{ "dock-show-image-menu", NULL,
N_("_Show Image Selection"), NULL, NULL,
G_CALLBACK (dock_toggle_image_menu_cmd_callback),
TRUE,
GIMP_HELP_DOCK_IMAGE_MENU },
{ "dock-auto-follow-active", NULL,
N_("Auto _Follow Active Image"), NULL, NULL,
G_CALLBACK (dock_toggle_auto_cmd_callback),
TRUE,
GIMP_HELP_DOCK_AUTO_BUTTON }
};
void
dock_actions_setup (GimpActionGroup *group)
{
gimp_action_group_add_actions (group,
dock_actions,
G_N_ELEMENTS (dock_actions));
gimp_action_group_add_toggle_actions (group,
dock_toggle_actions,
G_N_ELEMENTS (dock_toggle_actions));
window_actions_setup (group, GIMP_HELP_DOCK_CHANGE_SCREEN);
}
void
dock_actions_update (GimpActionGroup *group,
gpointer data)
{
GtkWidget *widget = action_data_get_widget (data);
GtkWidget *toplevel = NULL;
if (widget)
toplevel = gtk_widget_get_toplevel (widget);
#define SET_ACTIVE(action,active) \
gimp_action_group_set_action_active (group, action, (active) != 0)
#define SET_VISIBLE(action,active) \
gimp_action_group_set_action_visible (group, action, (active) != 0)
if (GIMP_IS_MENU_DOCK (toplevel))
{
GimpMenuDock *menu_dock = GIMP_MENU_DOCK (toplevel);
SET_VISIBLE ("dock-show-image-menu", TRUE);
SET_VISIBLE ("dock-auto-follow-active", TRUE);
SET_ACTIVE ("dock-show-image-menu", menu_dock->show_image_menu);
SET_ACTIVE ("dock-auto-follow-active", menu_dock->auto_follow_active);
}
else
{
SET_VISIBLE ("dock-show-image-menu", FALSE);
SET_VISIBLE ("dock-auto-follow-active", FALSE);
}
if (GIMP_IS_DOCK (toplevel))
{
/* update the window actions only in the context of their
* own window (not in the context of some display or NULL)
* (see view-actions.c)
*/
window_actions_update (group, toplevel);
}
#undef SET_ACTIVE
#undef SET_VISIBLE
}

View File

@ -0,0 +1,28 @@
/* The GIMP -- an image manipulation program
* Copyright (C) 1995 Spencer Kimball and Peter Mattis
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
#ifndef __DOCK_ACTIONS_H__
#define __DOCK_ACTIONS_H__
void dock_actions_setup (GimpActionGroup *group);
void dock_actions_update (GimpActionGroup *group,
gpointer data);
#endif /* __DOCK_ACTIONS_H__ */

View File

@ -0,0 +1,67 @@
/* The GIMP -- an image manipulation program
* Copyright (C) 1995 Spencer Kimball and Peter Mattis
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
#include "config.h"
#include <gtk/gtk.h>
#include "libgimpwidgets/gimpwidgets.h"
#include "actions-types.h"
#include "widgets/gimpmenudock.h"
#include "actions.h"
#include "dock-commands.h"
/* public functions */
void
dock_toggle_image_menu_cmd_callback (GtkAction *action,
gpointer data)
{
GtkWidget *widget;
gboolean active;
return_if_no_widget (widget, data);
if (! GTK_WIDGET_TOPLEVEL (widget))
widget = gtk_widget_get_toplevel (widget);
active = gtk_toggle_action_get_active (GTK_TOGGLE_ACTION (action));
if (GIMP_IS_MENU_DOCK (widget))
gimp_menu_dock_set_show_image_menu (GIMP_MENU_DOCK (widget), active);
}
void
dock_toggle_auto_cmd_callback (GtkAction *action,
gpointer data)
{
GtkWidget *widget;
gboolean active;
return_if_no_widget (widget, data);
if (! GTK_WIDGET_TOPLEVEL (widget))
widget = gtk_widget_get_toplevel (widget);
active = gtk_toggle_action_get_active (GTK_TOGGLE_ACTION (action));
if (GIMP_IS_MENU_DOCK (widget))
gimp_menu_dock_set_auto_follow_active (GIMP_MENU_DOCK (widget), active);
}

View File

@ -0,0 +1,29 @@
/* The GIMP -- an image manipulation program
* Copyright (C) 1995 Spencer Kimball and Peter Mattis
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
#ifndef __DOCK_COMMANDS_H__
#define __DOCK_COMMANDS_H__
void dock_toggle_image_menu_cmd_callback (GtkAction *action,
gpointer data);
void dock_toggle_auto_cmd_callback (GtkAction *action,
gpointer data);
#endif /* __DOCK_COMMANDS_H__ */

View File

@ -30,11 +30,11 @@
#include "widgets/gimpcontainerview.h"
#include "widgets/gimpcontainerview-utils.h"
#include "widgets/gimpdialogfactory.h"
#include "widgets/gimpdock.h"
#include "widgets/gimpdockable.h"
#include "widgets/gimpdockbook.h"
#include "widgets/gimpdocked.h"
#include "widgets/gimphelp-ids.h"
#include "widgets/gimpimagedock.h"
#include "dialogs-actions.h"
#include "dockable-actions.h"
@ -49,10 +49,10 @@ static GimpActionEntry dockable_actions[] =
N_("Dialogs Menu"), NULL, NULL, NULL,
GIMP_HELP_DOCK },
{ "dockable-menu", GTK_STOCK_MISSING_IMAGE, "" },
{ "dockable-add-tab-menu", NULL, N_("_Add Tab") },
{ "dockable-preview-size-menu", NULL, N_("_Preview Size") },
{ "dockable-tab-style-menu", NULL, N_("_Tab Style") },
{ "dockable-menu", GTK_STOCK_MISSING_IMAGE, "" },
{ "dockable-add-tab-menu", NULL, N_("_Add Tab") },
{ "dockable-preview-size-menu", NULL, N_("_Preview Size") },
{ "dockable-tab-style-menu", NULL, N_("_Tab Style") },
{ "dockable-close-tab", GTK_STOCK_CLOSE,
N_("_Close Tab"), "", NULL,
@ -62,27 +62,7 @@ static GimpActionEntry dockable_actions[] =
{ "dockable-detach-tab", GTK_STOCK_CONVERT,
N_("_Detach Tab"), "", NULL,
G_CALLBACK (dockable_detach_tab_cmd_callback),
GIMP_HELP_DOCK_TAB_DETACH },
{ "dockable-move-to-screen", GIMP_STOCK_MOVE_TO_SCREEN,
N_("M_ove to Screen..."), NULL, NULL,
G_CALLBACK (dockable_change_screen_cmd_callback),
GIMP_HELP_DOCK_CHANGE_SCREEN }
};
static GimpToggleActionEntry dockable_toggle_actions[] =
{
{ "dockable-show-image-menu", NULL,
N_("_Show Image Selection"), NULL, NULL,
G_CALLBACK (dockable_toggle_image_menu_cmd_callback),
TRUE,
GIMP_HELP_DOCK_IMAGE_MENU },
{ "dockable-auto-follow-active", NULL,
N_("Auto _Follow Active Image"), NULL, NULL,
G_CALLBACK (dockable_toggle_auto_cmd_callback),
TRUE,
GIMP_HELP_DOCK_AUTO_BUTTON }
GIMP_HELP_DOCK_TAB_DETACH }
};
#define PREVIEW_SIZE(action,label,size) \
@ -121,6 +101,16 @@ static GimpRadioActionEntry dockable_tab_style_actions[] =
#undef PREVIEW_SIZE
#undef TAB_STYLE
static GimpToggleActionEntry dockable_toggle_actions[] =
{
{ "dockable-show-button-bar", NULL,
N_("Show _Button Bar"), NULL, NULL,
G_CALLBACK (dockable_show_button_bar_cmd_callback),
TRUE,
GIMP_HELP_DOCK_SHOW_BUTTON_BAR }
};
static GimpRadioActionEntry dockable_view_type_actions[] =
{
{ "dockable-view-type-list", NULL,
@ -154,18 +144,21 @@ dockable_actions_setup (GimpActionGroup *group)
gimp_action_group_add_radio_actions (group,
dockable_preview_size_actions,
G_N_ELEMENTS (dockable_preview_size_actions),
NULL,
GIMP_VIEW_SIZE_MEDIUM,
G_CALLBACK (dockable_preview_size_cmd_callback));
gimp_action_group_add_radio_actions (group,
dockable_tab_style_actions,
G_N_ELEMENTS (dockable_tab_style_actions),
NULL,
GIMP_TAB_STYLE_PREVIEW,
G_CALLBACK (dockable_tab_style_cmd_callback));
gimp_action_group_add_radio_actions (group,
dockable_view_type_actions,
G_N_ELEMENTS (dockable_view_type_actions),
NULL,
GIMP_VIEW_TYPE_LIST,
G_CALLBACK (dockable_toggle_view_cmd_callback));
}
@ -176,6 +169,7 @@ dockable_actions_update (GimpActionGroup *group,
{
GimpDockable *dockable;
GimpDockbook *dockbook;
GimpDocked *docked;
GimpDialogFactoryEntry *entry;
GimpContainerView *view;
GimpViewType view_type = -1;
@ -184,7 +178,7 @@ dockable_actions_update (GimpActionGroup *group,
GimpViewSize preview_size = -1;
GimpTabStyle tab_style = -1;
gint n_pages = 0;
gint n_screens = 1;
gint n_books = 0;
if (GIMP_IS_DOCKBOOK (data))
{
@ -207,6 +201,8 @@ dockable_actions_update (GimpActionGroup *group,
return;
}
docked = GIMP_DOCKED (gtk_bin_get_child (GTK_BIN (dockable)));
gimp_dialog_factory_from_widget (GTK_WIDGET (dockable), &entry);
if (entry)
@ -245,6 +241,7 @@ dockable_actions_update (GimpActionGroup *group,
tab_style = dockable->tab_style;
n_pages = gtk_notebook_get_n_pages (GTK_NOTEBOOK (dockbook));
n_books = g_list_length (dockbook->dock->dockbooks);
#define SET_ACTIVE(action,active) \
gimp_action_group_set_action_active (group, action, (active) != 0)
@ -253,7 +250,7 @@ dockable_actions_update (GimpActionGroup *group,
#define SET_SENSITIVE(action,sensitive) \
gimp_action_group_set_action_sensitive (group, action, (sensitive) != 0)
SET_SENSITIVE ("dockable-detach-tab", n_pages > 1);
SET_SENSITIVE ("dockable-detach-tab", n_pages > 1 || n_books > 1);
SET_VISIBLE ("dockable-preview-size-menu", preview_size != -1);
@ -297,13 +294,11 @@ dockable_actions_update (GimpActionGroup *group,
}
}
SET_VISIBLE ("dockable-tab-style-menu", n_pages > 1);
SET_VISIBLE ("dockable-tab-style-menu", n_pages > 1);
if (n_pages > 1)
{
GimpDockedInterface *docked_iface;
docked_iface = GIMP_DOCKED_GET_INTERFACE (GTK_BIN (dockable)->child);
GimpDockedInterface *docked_iface = GIMP_DOCKED_GET_INTERFACE (docked);
if (tab_style == GIMP_TAB_STYLE_ICON)
SET_ACTIVE ("dockable-tab-style-icon", TRUE);
@ -336,26 +331,9 @@ dockable_actions_update (GimpActionGroup *group,
SET_SENSITIVE ("dockable-view-type-list", list_view_available);
}
n_screens = gdk_display_get_n_screens
(gtk_widget_get_display (GTK_WIDGET (dockbook->dock)));
if (GIMP_IS_IMAGE_DOCK (dockbook->dock))
{
GimpImageDock *image_dock = GIMP_IMAGE_DOCK (dockbook->dock);
SET_VISIBLE ("dockable-show-image-menu", TRUE);
SET_VISIBLE ("dockable-auto-follow-active", TRUE);
SET_ACTIVE ("dockable-show-image-menu", image_dock->show_image_menu);
SET_ACTIVE ("dockable-auto-follow-active", image_dock->auto_follow_active);
}
else
{
SET_VISIBLE ("dockable-show-image-menu", FALSE);
SET_VISIBLE ("dockable-auto-follow-active", FALSE);
}
SET_VISIBLE ("dockable-move-to-screen", n_screens > 1);
SET_VISIBLE ("dockable-show-button-bar", gimp_docked_has_button_bar (docked));
SET_ACTIVE ("dockable-show-button-bar",
gimp_docked_get_show_button_bar (docked));
#undef SET_ACTIVE
#undef SET_VISIBLE

View File

@ -29,9 +29,10 @@
#include "widgets/gimpcontainerview.h"
#include "widgets/gimpcontainerview-utils.h"
#include "widgets/gimpdialogfactory.h"
#include "widgets/gimpdock.h"
#include "widgets/gimpdockable.h"
#include "widgets/gimpdockbook.h"
#include "widgets/gimpimagedock.h"
#include "widgets/gimpdocked.h"
#include "widgets/gimpsessioninfo.h"
#include "dialogs/dialogs.h"
@ -39,15 +40,6 @@
#include "dockable-commands.h"
/* local function prototypes */
static void dockable_change_screen_confirm_callback (GtkWidget *dialog,
gint value,
gpointer data);
static void dockable_change_screen_destroy_callback (GtkWidget *dialog,
GtkWidget *dock);
/* public functions */
void
@ -181,12 +173,23 @@ dockable_toggle_view_cmd_callback (GtkAction *action,
preview_size = gimp_container_view_get_preview_size (old_view,
NULL);
new_dockable =
gimp_dialog_factory_dockable_new (dockbook->dock->dialog_factory,
dockbook->dock,
identifier,
preview_size);
if (new_dockable)
{
GimpDocked *old = GIMP_DOCKED (GTK_BIN (dockable)->child);
GimpDocked *new = GIMP_DOCKED (GTK_BIN (new_dockable)->child);
gboolean show;
show = gimp_docked_get_show_button_bar (old);
gimp_docked_set_show_button_bar (new, show);
}
/* Maybe gimp_dialog_factory_dockable_new() returned
* an already existing singleton dockable, so check
* if it already is attached to a dockbook.
@ -277,99 +280,23 @@ dockable_tab_style_cmd_callback (GtkAction *action,
}
void
dockable_toggle_image_menu_cmd_callback (GtkAction *action,
gpointer data)
dockable_show_button_bar_cmd_callback (GtkAction *action,
gpointer data)
{
GimpDockbook *dockbook = GIMP_DOCKBOOK (data);
gboolean active;
GimpDockable *dockable;
gint page_num;
active = gtk_toggle_action_get_active (GTK_TOGGLE_ACTION (action));
page_num = gtk_notebook_get_current_page (GTK_NOTEBOOK (dockbook));
if (GIMP_IS_IMAGE_DOCK (dockbook->dock))
gimp_image_dock_set_show_image_menu (GIMP_IMAGE_DOCK (dockbook->dock),
active);
}
dockable = (GimpDockable *)
gtk_notebook_get_nth_page (GTK_NOTEBOOK (dockbook), page_num);
void
dockable_toggle_auto_cmd_callback (GtkAction *action,
gpointer data)
{
GimpDockbook *dockbook = GIMP_DOCKBOOK (data);
gboolean active;
active = gtk_toggle_action_get_active (GTK_TOGGLE_ACTION (action));
if (GIMP_IS_IMAGE_DOCK (dockbook->dock))
gimp_image_dock_set_auto_follow_active (GIMP_IMAGE_DOCK (dockbook->dock),
active);
}
void
dockable_change_screen_cmd_callback (GtkAction *action,
gpointer data)
{
GimpDockbook *dockbook = GIMP_DOCKBOOK (data);
GtkWidget *dock;
GdkScreen *screen;
GdkDisplay *display;
gint cur_screen;
gint num_screens;
GtkWidget *dialog;
dock = GTK_WIDGET (dockbook->dock);
dialog = g_object_get_data (G_OBJECT (dock), "gimp-change-screen-dialog");
if (dialog)
if (dockable)
{
gtk_window_present (GTK_WINDOW (dialog));
return;
gboolean show = gtk_toggle_action_get_active (GTK_TOGGLE_ACTION (action));
gimp_docked_set_show_button_bar (GIMP_DOCKED (GTK_BIN (dockable)->child),
show);
}
screen = gtk_widget_get_screen (dock);
display = gtk_widget_get_display (dock);
cur_screen = gdk_screen_get_number (screen);
num_screens = gdk_display_get_n_screens (display);
dialog = gimp_query_int_box ("Move Dock to Screen",
dock,
NULL, NULL,
"Enter destination screen",
cur_screen, 0, num_screens - 1,
G_OBJECT (dock), "destroy",
dockable_change_screen_confirm_callback,
dock);
g_object_set_data (G_OBJECT (dock), "gimp-change-screen-dialog", dialog);
g_signal_connect (dialog, "destroy",
G_CALLBACK (dockable_change_screen_destroy_callback),
dock);
gtk_widget_show (dialog);
}
/* private functions */
static void
dockable_change_screen_confirm_callback (GtkWidget *dialog,
gint value,
gpointer data)
{
GdkScreen *screen;
screen = gdk_display_get_screen (gtk_widget_get_display (GTK_WIDGET (data)),
value);
if (screen)
gtk_window_set_screen (GTK_WINDOW (data), screen);
}
static void
dockable_change_screen_destroy_callback (GtkWidget *dialog,
GtkWidget *dock)
{
g_object_set_data (G_OBJECT (dock), "gimp-change-screen-dialog", NULL);
}

View File

@ -20,30 +20,25 @@
#define __DOCKABLE_COMMANDS_H__
void dockable_add_tab_cmd_callback (GtkAction *action,
const gchar *value,
gpointer data);
void dockable_close_tab_cmd_callback (GtkAction *action,
gpointer data);
void dockable_detach_tab_cmd_callback (GtkAction *action,
gpointer data);
void dockable_add_tab_cmd_callback (GtkAction *action,
const gchar *value,
gpointer data);
void dockable_close_tab_cmd_callback (GtkAction *action,
gpointer data);
void dockable_detach_tab_cmd_callback (GtkAction *action,
gpointer data);
void dockable_toggle_view_cmd_callback (GtkAction *action,
GtkAction *current,
gpointer data);
void dockable_preview_size_cmd_callback (GtkAction *action,
GtkAction *current,
gpointer data);
void dockable_tab_style_cmd_callback (GtkAction *action,
GtkAction *current,
gpointer data);
void dockable_toggle_image_menu_cmd_callback (GtkAction *action,
gpointer data);
void dockable_toggle_auto_cmd_callback (GtkAction *action,
gpointer data);
void dockable_change_screen_cmd_callback (GtkAction *action,
gpointer data);
void dockable_toggle_view_cmd_callback (GtkAction *action,
GtkAction *current,
gpointer data);
void dockable_preview_size_cmd_callback (GtkAction *action,
GtkAction *current,
gpointer data);
void dockable_tab_style_cmd_callback (GtkAction *action,
GtkAction *current,
gpointer data);
void dockable_show_button_bar_cmd_callback (GtkAction *action,
gpointer data);
#endif /* __DOCKABLE_COMMANDS_H__ */

View File

@ -45,13 +45,13 @@ static GimpActionEntry documents_actions[] =
{ "documents-open", GTK_STOCK_OPEN,
N_("_Open Image"), "",
N_("Open the selected entry"),
G_CALLBACK (documents_open_document_cmd_callback),
G_CALLBACK (documents_open_cmd_callback),
GIMP_HELP_DOCUMENT_OPEN },
{ "documents-raise-or-open", GTK_STOCK_OPEN,
N_("_Raise or Open Image"), "",
N_("Raise window if already open"),
G_CALLBACK (documents_raise_or_open_document_cmd_callback),
G_CALLBACK (documents_raise_or_open_cmd_callback),
GIMP_HELP_DOCUMENT_OPEN },
{ "documents-file-open-dialog", GTK_STOCK_OPEN,
@ -60,12 +60,24 @@ static GimpActionEntry documents_actions[] =
G_CALLBACK (documents_file_open_dialog_cmd_callback),
GIMP_HELP_DOCUMENT_OPEN },
{ "documents-copy-location", GTK_STOCK_COPY,
N_("Copy Image _Location"), "",
N_("Copy image location to clipboard"),
G_CALLBACK (documents_copy_location_cmd_callback),
GIMP_HELP_DOCUMENT_COPY_LOCATION },
{ "documents-remove", GTK_STOCK_REMOVE,
N_("Remove _Entry"), "",
N_("Remove the selected entry"),
G_CALLBACK (documents_remove_document_cmd_callback),
G_CALLBACK (documents_remove_cmd_callback),
GIMP_HELP_DOCUMENT_REMOVE },
{ "documents-clear", GTK_STOCK_CLEAR,
N_("_Clear History"), "",
N_("Clear the entire document history"),
G_CALLBACK (documents_clear_cmd_callback),
GIMP_HELP_DOCUMENT_CLEAR },
{ "documents-recreate-preview", GTK_STOCK_REFRESH,
N_("Recreate _Preview"), "",
N_("Recreate preview"),
@ -81,7 +93,7 @@ static GimpActionEntry documents_actions[] =
{ "documents-remove-dangling", GTK_STOCK_REFRESH,
N_("Remove Dangling E_ntries"), "",
N_("Remove dangling entries"),
G_CALLBACK (documents_delete_dangling_documents_cmd_callback),
G_CALLBACK (documents_remove_dangling_cmd_callback),
GIMP_HELP_DOCUMENT_REFRESH }
};
@ -112,7 +124,9 @@ documents_actions_update (GimpActionGroup *group,
SET_SENSITIVE ("documents-open", imagefile);
SET_SENSITIVE ("documents-raise-or-open", imagefile);
SET_SENSITIVE ("documents-file-open-dialog", TRUE);
SET_SENSITIVE ("documents-copy-location", imagefile);
SET_SENSITIVE ("documents-remove", imagefile);
SET_SENSITIVE ("documents-clear", TRUE);
SET_SENSITIVE ("documents-recreate-preview", imagefile);
SET_SENSITIVE ("documents-reload-previews", imagefile);
SET_SENSITIVE ("documents-remove-dangling", imagefile);

View File

@ -30,6 +30,7 @@
#include "config/gimpcoreconfig.h"
#include "core/gimp.h"
#include "core/gimp-documents.h"
#include "core/gimpcontainer.h"
#include "core/gimpcontext.h"
#include "core/gimpimagefile.h"
@ -37,8 +38,11 @@
#include "file/file-open.h"
#include "file/file-utils.h"
#include "widgets/gimpclipboard.h"
#include "widgets/gimpcontainerview.h"
#include "widgets/gimpdocumentview.h"
#include "widgets/gimpmessagebox.h"
#include "widgets/gimpmessagedialog.h"
#include "display/gimpdisplay.h"
#include "display/gimpdisplay-foreach.h"
@ -69,8 +73,8 @@ static void documents_raise_display (gpointer data,
/* public functions */
void
documents_open_document_cmd_callback (GtkAction *action,
gpointer data)
documents_open_cmd_callback (GtkAction *action,
gpointer data)
{
GimpContainerEditor *editor = GIMP_CONTAINER_EDITOR (data);
GimpContext *context;
@ -93,8 +97,8 @@ documents_open_document_cmd_callback (GtkAction *action,
}
void
documents_raise_or_open_document_cmd_callback (GtkAction *action,
gpointer data)
documents_raise_or_open_cmd_callback (GtkAction *action,
gpointer data)
{
GimpContainerEditor *editor = GIMP_CONTAINER_EDITOR (data);
GimpContext *context;
@ -145,8 +149,24 @@ documents_file_open_dialog_cmd_callback (GtkAction *action,
}
void
documents_remove_document_cmd_callback (GtkAction *action,
gpointer data)
documents_copy_location_cmd_callback (GtkAction *action,
gpointer data)
{
GimpContainerEditor *editor = GIMP_CONTAINER_EDITOR (data);
GimpContext *context;
GimpImagefile *imagefile;
context = gimp_container_view_get_context (editor->view);
imagefile = gimp_context_get_imagefile (context);
if (imagefile)
gimp_clipboard_set_text (context->gimp,
gimp_object_get_name (GIMP_OBJECT (imagefile)));
}
void
documents_remove_cmd_callback (GtkAction *action,
gpointer data)
{
GimpContainerEditor *editor = GIMP_CONTAINER_EDITOR (data);
GimpContext *context;
@ -164,6 +184,55 @@ documents_remove_document_cmd_callback (GtkAction *action,
}
}
void
documents_clear_cmd_callback (GtkAction *action,
gpointer data)
{
GimpContainerEditor *editor = GIMP_CONTAINER_EDITOR (data);
GimpContext *context;
GtkWidget *dialog;
context = gimp_container_view_get_context (editor->view);
dialog = gimp_message_dialog_new (_("Clear Document History"),
GIMP_STOCK_QUESTION,
GTK_WIDGET (editor),
GTK_DIALOG_MODAL |
GTK_DIALOG_DESTROY_WITH_PARENT,
gimp_standard_help_func, NULL,
GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
GTK_STOCK_CLEAR, GTK_RESPONSE_OK,
NULL);
gtk_dialog_set_alternative_button_order (GTK_DIALOG (dialog),
GTK_RESPONSE_OK,
GTK_RESPONSE_CANCEL,
-1);
g_signal_connect_object (gtk_widget_get_toplevel (GTK_WIDGET (editor)),
"unmap",
G_CALLBACK (gtk_widget_destroy),
dialog, G_CONNECT_SWAPPED);
gimp_message_box_set_primary_text (GIMP_MESSAGE_DIALOG (dialog)->box,
_("Remove all entries from the "
"document history?"));
gimp_message_box_set_text (GIMP_MESSAGE_DIALOG (dialog)->box,
_("Clearing the document history will permanently "
"remove all currently listed entries."));
if (gimp_dialog_run (GIMP_DIALOG (dialog)) == GTK_RESPONSE_OK)
{
gimp_container_clear (context->gimp->documents);
gimp_documents_save (context->gimp);
}
gtk_widget_destroy (dialog);
}
void
documents_recreate_preview_cmd_callback (GtkAction *action,
gpointer data)
@ -202,7 +271,7 @@ documents_reload_previews_cmd_callback (GtkAction *action,
}
static void
documents_delete_dangling_foreach (GimpImagefile *imagefile,
documents_remove_dangling_foreach (GimpImagefile *imagefile,
GimpContainer *container)
{
if (gimp_thumbnail_peek_image (imagefile->thumbnail) ==
@ -213,8 +282,8 @@ documents_delete_dangling_foreach (GimpImagefile *imagefile,
}
void
documents_delete_dangling_documents_cmd_callback (GtkAction *action,
gpointer data)
documents_remove_dangling_cmd_callback (GtkAction *action,
gpointer data)
{
GimpContainerEditor *editor = GIMP_CONTAINER_EDITOR (data);
GimpContainer *container;
@ -222,7 +291,7 @@ documents_delete_dangling_documents_cmd_callback (GtkAction *action,
container = gimp_container_view_get_container (editor->view);
gimp_container_foreach (container,
(GFunc) documents_delete_dangling_foreach,
(GFunc) documents_remove_dangling_foreach,
container);
}
@ -247,7 +316,7 @@ documents_open_image (GimpContext *context,
{
gchar *filename;
filename = file_utils_uri_to_utf8_filename (uri);
filename = file_utils_uri_display_name (uri);
g_message (_("Opening '%s' failed:\n\n%s"),
filename, error->message);
g_clear_error (&error);

View File

@ -20,20 +20,24 @@
#define __DOCUMENTS_COMMANDS_H__
void documents_open_document_cmd_callback (GtkAction *action,
gpointer data);
void documents_raise_or_open_document_cmd_callback (GtkAction *action,
gpointer data);
void documents_file_open_dialog_cmd_callback (GtkAction *action,
gpointer data);
void documents_remove_document_cmd_callback (GtkAction *action,
gpointer data);
void documents_recreate_preview_cmd_callback (GtkAction *action,
gpointer data);
void documents_reload_previews_cmd_callback (GtkAction *action,
gpointer data);
void documents_delete_dangling_documents_cmd_callback (GtkAction *action,
gpointer data);
void documents_open_cmd_callback (GtkAction *action,
gpointer data);
void documents_raise_or_open_cmd_callback (GtkAction *action,
gpointer data);
void documents_file_open_dialog_cmd_callback (GtkAction *action,
gpointer data);
void documents_copy_location_cmd_callback (GtkAction *action,
gpointer data);
void documents_remove_cmd_callback (GtkAction *action,
gpointer data);
void documents_clear_cmd_callback (GtkAction *action,
gpointer data);
void documents_recreate_preview_cmd_callback (GtkAction *action,
gpointer data);
void documents_reload_previews_cmd_callback (GtkAction *action,
gpointer data);
void documents_remove_dangling_cmd_callback (GtkAction *action,
gpointer data);
#endif /* __DOCUMENTS_COMMANDS_H__ */

View File

@ -42,7 +42,7 @@
static GimpActionEntry drawable_actions[] =
{
{ "drawable-desaturate", GIMP_STOCK_CONVERT_GRAYSCALE,
N_("_Desaturate"), NULL, NULL,
N_("_Desaturate..."), NULL, NULL,
G_CALLBACK (drawable_desaturate_cmd_callback),
GIMP_HELP_LAYER_DESATURATE },

View File

@ -35,6 +35,7 @@
#include "core/gimpitemundo.h"
#include "core/gimplayermask.h"
#include "dialogs/desaturate-dialog.h"
#include "dialogs/offset-dialog.h"
#include "actions.h"
@ -43,15 +44,30 @@
#include "gimp-intl.h"
/* local function prototypes */
static void desaturate_response (GtkWidget *widget,
gint response_id,
DesaturateDialog *dialog);
/* private variables */
static GimpDesaturateMode desaturate_mode = GIMP_DESATURATE_LIGHTNESS;
/* public functions */
void
drawable_desaturate_cmd_callback (GtkAction *action,
gpointer data)
{
GimpImage *gimage;
GimpDrawable *drawable;
DesaturateDialog *dialog;
GimpImage *gimage;
GimpDrawable *drawable;
GtkWidget *widget;
return_if_no_drawable (gimage, drawable, data);
return_if_no_widget (widget, data);
if (! gimp_drawable_is_rgb (drawable))
{
@ -59,8 +75,13 @@ drawable_desaturate_cmd_callback (GtkAction *action,
return;
}
gimp_drawable_desaturate (drawable);
gimp_image_flush (gimage);
dialog = desaturate_dialog_new (drawable, widget, desaturate_mode);
g_signal_connect (dialog->dialog, "response",
G_CALLBACK (desaturate_response),
dialog);
gtk_widget_show (dialog->dialog);
}
void
@ -287,3 +308,26 @@ drawable_rotate_cmd_callback (GtkAction *action,
gimp_image_flush (gimage);
}
/* private functions */
static void
desaturate_response (GtkWidget *widget,
gint response_id,
DesaturateDialog *dialog)
{
if (response_id == GTK_RESPONSE_OK)
{
GimpDrawable *drawable = dialog->drawable;
GimpImage *gimage = gimp_item_get_image (GIMP_ITEM (drawable));
/* remember for next invocation of the dialog */
desaturate_mode = dialog->mode;
gimp_drawable_desaturate (drawable, desaturate_mode);
gimp_image_flush (gimage);
}
gtk_widget_destroy (dialog->dialog);
}

View File

@ -30,14 +30,6 @@ void drawable_levels_stretch_cmd_callback (GtkAction *action,
gpointer data);
void drawable_offset_cmd_callback (GtkAction *action,
gpointer data);
void drawable_desaturate_cmd_callback (GtkAction *action,
gpointer data);
void drawable_equalize_cmd_callback (GtkAction *action,
gpointer data);
void drawable_invert_cmd_callback (GtkAction *action,
gpointer data);
void drawable_offset_cmd_callback (GtkAction *action,
gpointer data);
void drawable_linked_cmd_callback (GtkAction *action,
gpointer data);

View File

@ -58,8 +58,13 @@ static void edit_actions_pattern_changed (GimpContext *context,
static GimpActionEntry edit_actions[] =
{
{ "edit-menu", NULL, N_("_Edit") },
{ "edit-buffer-menu", NULL, N_("_Buffer") },
{ "edit-menu", NULL, N_("_Edit") },
{ "edit-paste-as-menu", NULL, N_("_Paste as") },
{ "edit-buffer-menu", NULL, N_("_Buffer") },
{ "undo-editor-popup",
GTK_STOCK_UNDO, N_("Undo History Menu"), NULL, NULL, NULL,
GIMP_HELP_UNDO_DIALOG },
{ "edit-undo", GTK_STOCK_UNDO,
N_("_Undo"), "<control>Z",
@ -75,7 +80,7 @@ static GimpActionEntry edit_actions[] =
{ "edit-undo-clear", GTK_STOCK_CLEAR,
N_("_Clear Undo History"), "",
N_("Clear undo history..."),
N_("Clear undo history"),
G_CALLBACK (edit_undo_clear_cmd_callback),
GIMP_HELP_EDIT_UNDO_CLEAR },
@ -105,7 +110,12 @@ static GimpActionEntry edit_actions[] =
GIMP_HELP_EDIT_PASTE_INTO },
{ "edit-paste-as-new", GIMP_STOCK_PASTE_AS_NEW,
N_("Paste as _New"), NULL, NULL,
N_("Paste as New"), NULL, NULL,
G_CALLBACK (edit_paste_as_new_cmd_callback),
GIMP_HELP_EDIT_PASTE_AS_NEW },
{ "edit-paste-as-new-short", GIMP_STOCK_PASTE_AS_NEW,
N_("_New Image"), NULL, NULL,
G_CALLBACK (edit_paste_as_new_cmd_callback),
GIMP_HELP_EDIT_PASTE_AS_NEW },
@ -119,13 +129,18 @@ static GimpActionEntry edit_actions[] =
G_CALLBACK (edit_named_copy_cmd_callback),
GIMP_HELP_BUFFER_COPY },
{ "edit-named-copy-visible", NULL, /* GIMP_STOCK_COPY_VISIBLE, */
N_("Copy _Visible Named..."), "", NULL,
G_CALLBACK (edit_named_copy_visible_cmd_callback),
GIMP_HELP_BUFFER_COPY },
{ "edit-named-paste", GTK_STOCK_PASTE,
N_("_Paste Named..."), "<control><shift>V", NULL,
G_CALLBACK (edit_named_paste_cmd_callback),
GIMP_HELP_BUFFER_PASTE },
{ "edit-clear", GTK_STOCK_CLEAR,
N_("Cl_ear"), "<control>K", NULL,
N_("Cl_ear"), "Delete", NULL,
G_CALLBACK (edit_clear_cmd_callback),
GIMP_HELP_EDIT_CLEAR }
};
@ -155,6 +170,7 @@ edit_actions_setup (GimpActionGroup *group)
GimpContext *context = gimp_get_user_context (group->gimp);
GimpRGB color;
GimpPattern *pattern;
GtkAction *action;
gimp_action_group_add_actions (group,
edit_actions,
@ -165,13 +181,17 @@ edit_actions_setup (GimpActionGroup *group)
G_N_ELEMENTS (edit_fill_actions),
G_CALLBACK (edit_fill_cmd_callback));
g_signal_connect_object (context, "foreground_changed",
action = gtk_action_group_get_action (GTK_ACTION_GROUP (group),
"edit-paste-as-new-short");
gtk_action_set_accel_path (action, "<Actions>/edit/edit-paste-as-new");
g_signal_connect_object (context, "foreground-changed",
G_CALLBACK (edit_actions_foreground_changed),
group, 0);
g_signal_connect_object (context, "background_changed",
g_signal_connect_object (context, "background-changed",
G_CALLBACK (edit_actions_background_changed),
group, 0);
g_signal_connect_object (context, "pattern_changed",
g_signal_connect_object (context, "pattern-changed",
G_CALLBACK (edit_actions_pattern_changed),
group, 0);
@ -240,12 +260,13 @@ edit_actions_update (GimpActionGroup *group,
SET_SENSITIVE ("edit-cut", drawable);
SET_SENSITIVE ("edit-copy", drawable);
SET_SENSITIVE ("edit-copy-visible", gimage);
SET_SENSITIVE ("edit-paste", gimage);
/* "edit-paste" is always enabled */
SET_SENSITIVE ("edit-paste-into", gimage);
SET_SENSITIVE ("edit-named-cut", drawable);
SET_SENSITIVE ("edit-named-copy", drawable);
SET_SENSITIVE ("edit-named-paste", gimage);
SET_SENSITIVE ("edit-named-cut", drawable);
SET_SENSITIVE ("edit-named-copy", drawable);
SET_SENSITIVE ("edit-named-copy-visible", drawable);
SET_SENSITIVE ("edit-named-paste", gimage);
SET_SENSITIVE ("edit-clear", drawable);
SET_SENSITIVE ("edit-fill-fg", drawable);

View File

@ -22,6 +22,7 @@
#include <gtk/gtk.h>
#include "libgimpbase/gimpbase.h"
#include "libgimpwidgets/gimpwidgets.h"
#include "actions-types.h"
@ -34,6 +35,8 @@
#include "core/gimpimage.h"
#include "core/gimpimage-undo.h"
#include "vectors/gimpvectors-import.h"
#include "display/gimpdisplay.h"
#include "display/gimpdisplayshell.h"
#include "display/gimpdisplayshell-transform.h"
@ -54,17 +57,17 @@
/* local function prototypes */
static void edit_paste (GimpDisplay *gdisp,
gboolean paste_into);
static void edit_undo_clear_response (GtkWidget *dialog,
gint response_id,
GimpImage *gimage);
static void cut_named_buffer_callback (GtkWidget *widget,
const gchar *name,
gpointer data);
static void copy_named_buffer_callback (GtkWidget *widget,
const gchar *name,
gpointer data);
static void edit_paste (GimpDisplay *gdisp,
gboolean paste_into);
static void cut_named_buffer_callback (GtkWidget *widget,
const gchar *name,
gpointer data);
static void copy_named_buffer_callback (GtkWidget *widget,
const gchar *name,
gpointer data);
static void copy_named_visible_buffer_callback (GtkWidget *widget,
const gchar *name,
gpointer data);
/* public functions */
@ -98,30 +101,62 @@ edit_undo_clear_cmd_callback (GtkAction *action,
GimpImage *gimage;
GtkWidget *widget;
GtkWidget *dialog;
gchar *size;
gint64 memsize;
gint64 guisize;
return_if_no_image (gimage, data);
return_if_no_widget (widget, data);
dialog = gimp_message_dialog_new (_("Clear Undo History"), GIMP_STOCK_WARNING,
widget, 0,
gimp_standard_help_func, NULL,
widget,
GTK_DIALOG_MODAL |
GTK_DIALOG_DESTROY_WITH_PARENT,
gimp_standard_help_func,
GIMP_HELP_EDIT_UNDO_CLEAR,
GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
GTK_STOCK_CLEAR, GTK_RESPONSE_OK,
NULL);
gtk_dialog_set_alternative_button_order (GTK_DIALOG (dialog),
GTK_RESPONSE_OK,
GTK_RESPONSE_CANCEL,
-1);
g_signal_connect_object (gtk_widget_get_toplevel (widget), "unmap",
G_CALLBACK (gtk_widget_destroy),
dialog, G_CONNECT_SWAPPED);
g_signal_connect_object (gimage, "disconnect",
G_CALLBACK (gtk_widget_destroy),
dialog, G_CONNECT_SWAPPED);
g_signal_connect (dialog, "response",
G_CALLBACK (edit_undo_clear_response),
gimage);
gimp_message_box_set_primary_text (GIMP_MESSAGE_DIALOG (dialog)->box,
_("Really clear image's undo history?"));
gtk_widget_show (dialog);
memsize = gimp_object_get_memsize (GIMP_OBJECT (gimage->undo_stack),
&guisize);
memsize += guisize;
memsize += gimp_object_get_memsize (GIMP_OBJECT (gimage->redo_stack),
&guisize);
memsize += guisize;
size = gimp_memsize_to_string (memsize);
gimp_message_box_set_text (GIMP_MESSAGE_DIALOG (dialog)->box,
_("Clearing the undo history of this "
"image will gain %s of memory."), size);
g_free (size);
if (gimp_dialog_run (GIMP_DIALOG (dialog)) == GTK_RESPONSE_OK)
{
gimp_image_undo_disable (gimage);
gimp_image_undo_enable (gimage);
gimp_image_flush (gimage);
}
gtk_widget_destroy (dialog);
}
void
@ -163,10 +198,12 @@ void
edit_paste_cmd_callback (GtkAction *action,
gpointer data)
{
GimpDisplay *gdisp;
return_if_no_display (gdisp, data);
GimpDisplay *gdisp = action_data_get_display (data);
edit_paste (gdisp, FALSE);
if (gdisp)
edit_paste (gdisp, FALSE);
else
edit_paste_as_new_cmd_callback (action, data);
}
void
@ -191,7 +228,16 @@ edit_paste_as_new_cmd_callback (GtkAction *action,
if (buffer)
{
gimp_edit_paste_as_new (gimp, action_data_get_image (data), buffer);
GimpImage *image;
image = gimp_edit_paste_as_new (gimp, action_data_get_image (data),
buffer);
if (image)
{
gimp_create_display (image->gimp, image, GIMP_UNIT_PIXEL, 1.0);
g_object_unref (image);
}
g_object_unref (buffer);
}
@ -237,6 +283,26 @@ edit_named_copy_cmd_callback (GtkAction *action,
gtk_widget_show (dialog);
}
void
edit_named_copy_visible_cmd_callback (GtkAction *action,
gpointer data)
{
GimpImage *gimage;
GtkWidget *widget;
GtkWidget *dialog;
return_if_no_image (gimage, data);
return_if_no_widget (widget, data);
dialog = gimp_query_string_box (_("Copy Visible Named "), widget,
gimp_standard_help_func,
GIMP_HELP_BUFFER_COPY,
_("Enter a name for this buffer"),
NULL,
G_OBJECT (gimage), "disconnect",
copy_named_visible_buffer_callback, gimage);
gtk_widget_show (dialog);
}
void
edit_named_paste_cmd_callback (GtkAction *action,
gpointer data)
@ -285,39 +351,45 @@ static void
edit_paste (GimpDisplay *gdisp,
gboolean paste_into)
{
GimpBuffer *buffer = gimp_clipboard_get_buffer (gdisp->gimage->gimp);
gchar *svg;
gsize svg_size;
if (buffer)
svg = gimp_clipboard_get_svg (gdisp->gimage->gimp, &svg_size);
if (svg)
{
GimpDisplayShell *shell = GIMP_DISPLAY_SHELL (gdisp->shell);
gint x, y;
gint width, height;
gimp_display_shell_untransform_viewport (shell, &x, &y, &width, &height);
if (gimp_edit_paste (gdisp->gimage,
gimp_image_active_drawable (gdisp->gimage),
buffer, paste_into, x, y, width, height))
{
if (gimp_vectors_import_buffer (gdisp->gimage, svg, svg_size,
TRUE, TRUE, -1, NULL))
{
gimp_image_flush (gdisp->gimage);
}
}
g_object_unref (buffer);
g_free (svg);
}
}
static void
edit_undo_clear_response (GtkWidget *dialog,
gint response_id,
GimpImage *gimage)
{
gtk_widget_destroy (dialog);
if (response_id == GTK_RESPONSE_OK)
else
{
gimp_image_undo_disable (gimage);
gimp_image_undo_enable (gimage);
gimp_image_flush (gimage);
GimpBuffer *buffer;
buffer = gimp_clipboard_get_buffer (gdisp->gimage->gimp);
if (buffer)
{
GimpDisplayShell *shell = GIMP_DISPLAY_SHELL (gdisp->shell);
gint x, y;
gint width, height;
gimp_display_shell_untransform_viewport (shell,
&x, &y, &width, &height);
if (gimp_edit_paste (gdisp->gimage,
gimp_image_active_drawable (gdisp->gimage),
buffer, paste_into, x, y, width, height))
{
gimp_image_flush (gdisp->gimage);
}
g_object_unref (buffer);
}
}
}
@ -326,9 +398,8 @@ cut_named_buffer_callback (GtkWidget *widget,
const gchar *name,
gpointer data)
{
GimpImage *gimage = GIMP_IMAGE (data);
const GimpBuffer *cut_buffer;
GimpDrawable *drawable;
GimpImage *gimage = GIMP_IMAGE (data);
GimpDrawable *drawable;
drawable = gimp_image_active_drawable (gimage);
@ -338,22 +409,12 @@ cut_named_buffer_callback (GtkWidget *widget,
return;
}
cut_buffer = gimp_edit_cut (gimage, drawable,
gimp_get_user_context (gimage->gimp));
if (! (name && strlen (name)))
name = _("(Unnamed Buffer)");
if (cut_buffer)
if (gimp_edit_named_cut (gimage, name, drawable,
gimp_get_user_context (gimage->gimp)))
{
GimpBuffer *new_buffer;
if (! (name && strlen (name)))
name = _("(Unnamed Buffer)");
new_buffer = gimp_buffer_new (cut_buffer->tiles, name, TRUE);
gimp_container_add (gimage->gimp->named_buffers,
GIMP_OBJECT (new_buffer));
g_object_unref (new_buffer);
gimp_image_flush (gimage);
}
}
@ -363,9 +424,8 @@ copy_named_buffer_callback (GtkWidget *widget,
const gchar *name,
gpointer data)
{
GimpImage *gimage = GIMP_IMAGE (data);
const GimpBuffer *copy_buffer;
GimpDrawable *drawable;
GimpImage *gimage = GIMP_IMAGE (data);
GimpDrawable *drawable;
drawable = gimp_image_active_drawable (gimage);
@ -375,22 +435,29 @@ copy_named_buffer_callback (GtkWidget *widget,
return;
}
copy_buffer = gimp_edit_copy (gimage, drawable,
gimp_get_user_context (gimage->gimp));
if (! (name && strlen (name)))
name = _("(Unnamed Buffer)");
if (copy_buffer)
if (gimp_edit_named_copy (gimage, name, drawable,
gimp_get_user_context (gimage->gimp)))
{
gimp_image_flush (gimage);
}
}
static void
copy_named_visible_buffer_callback (GtkWidget *widget,
const gchar *name,
gpointer data)
{
GimpImage *gimage = GIMP_IMAGE (data);
if (! (name && strlen (name)))
name = _("(Unnamed Buffer)");
if (gimp_edit_named_copy_visible (gimage, name,
gimp_get_user_context (gimage->gimp)))
{
GimpBuffer *new_buffer;
if (! (name && strlen (name)))
name = _("(Unnamed Buffer)");
new_buffer = gimp_buffer_new (copy_buffer->tiles, name, TRUE);
gimp_container_add (gimage->gimp->named_buffers,
GIMP_OBJECT (new_buffer));
g_object_unref (new_buffer);
gimp_image_flush (gimage);
}
}

View File

@ -20,35 +20,37 @@
#define __EDIT_COMMANDS_H__
void edit_undo_cmd_callback (GtkAction *action,
gpointer data);
void edit_redo_cmd_callback (GtkAction *action,
gpointer data);
void edit_undo_clear_cmd_callback (GtkAction *action,
gpointer data);
void edit_cut_cmd_callback (GtkAction *action,
gpointer data);
void edit_copy_cmd_callback (GtkAction *action,
gpointer data);
void edit_copy_visible_cmd_callback (GtkAction *action,
gpointer data);
void edit_paste_cmd_callback (GtkAction *action,
gpointer data);
void edit_paste_into_cmd_callback (GtkAction *action,
gpointer data);
void edit_paste_as_new_cmd_callback (GtkAction *action,
gpointer data);
void edit_named_cut_cmd_callback (GtkAction *action,
gpointer data);
void edit_named_copy_cmd_callback (GtkAction *action,
gpointer data);
void edit_named_paste_cmd_callback (GtkAction *action,
gpointer data);
void edit_clear_cmd_callback (GtkAction *action,
gpointer data);
void edit_fill_cmd_callback (GtkAction *action,
gint value,
gpointer data);
void edit_undo_cmd_callback (GtkAction *action,
gpointer data);
void edit_redo_cmd_callback (GtkAction *action,
gpointer data);
void edit_undo_clear_cmd_callback (GtkAction *action,
gpointer data);
void edit_cut_cmd_callback (GtkAction *action,
gpointer data);
void edit_copy_cmd_callback (GtkAction *action,
gpointer data);
void edit_copy_visible_cmd_callback (GtkAction *action,
gpointer data);
void edit_paste_cmd_callback (GtkAction *action,
gpointer data);
void edit_paste_into_cmd_callback (GtkAction *action,
gpointer data);
void edit_paste_as_new_cmd_callback (GtkAction *action,
gpointer data);
void edit_named_cut_cmd_callback (GtkAction *action,
gpointer data);
void edit_named_copy_cmd_callback (GtkAction *action,
gpointer data);
void edit_named_copy_visible_cmd_callback (GtkAction *action,
gpointer data);
void edit_named_paste_cmd_callback (GtkAction *action,
gpointer data);
void edit_clear_cmd_callback (GtkAction *action,
gpointer data);
void edit_fill_cmd_callback (GtkAction *action,
gint value,
gpointer data);
#endif /* __EDIT_COMMANDS_H__ */

View File

@ -85,6 +85,11 @@ error_console_save_cmd_callback (GtkAction *action,
NULL);
gtk_dialog_set_alternative_button_order (GTK_DIALOG (console->file_dialog),
GTK_RESPONSE_OK,
GTK_RESPONSE_CANCEL,
-1);
console->save_selection = value;
g_object_add_weak_pointer (G_OBJECT (console->file_dialog),
@ -101,7 +106,7 @@ error_console_save_cmd_callback (GtkAction *action,
g_signal_connect (chooser, "response",
G_CALLBACK (error_console_save_response),
console);
g_signal_connect (chooser, "delete_event",
g_signal_connect (chooser, "delete-event",
G_CALLBACK (gtk_true),
NULL);

View File

@ -54,6 +54,9 @@ static void file_actions_last_opened_reorder (GimpContainer *container,
GimpImagefile *unused1,
gint unused2,
GimpActionGroup *group);
static void file_actions_close_all_update (GimpContainer *container,
GimpObject *unused,
GimpActionGroup *group);
static GimpActionEntry file_actions[] =
@ -88,7 +91,7 @@ static GimpActionEntry file_actions[] =
GIMP_HELP_FILE_SAVE },
{ "file-save-as", GTK_STOCK_SAVE_AS,
N_("Save _as..."), "<control><shift>S", NULL,
N_("Save _As..."), "<control><shift>S", NULL,
G_CALLBACK (file_save_as_cmd_callback),
GIMP_HELP_FILE_SAVE_AS },
@ -103,10 +106,15 @@ static GimpActionEntry file_actions[] =
GIMP_HELP_FILE_SAVE_AS_TEMPLATE },
{ "file-revert", GTK_STOCK_REVERT_TO_SAVED,
N_("Re_vert..."), NULL, NULL,
N_("Re_vert"), NULL, NULL,
G_CALLBACK (file_revert_cmd_callback),
GIMP_HELP_FILE_REVERT },
{ "file-close-all", GTK_STOCK_CLOSE,
N_("Close all"), "<shift><control>W", NULL,
G_CALLBACK (file_close_all_cmd_callback),
GIMP_HELP_FILE_CLOSE_ALL },
{ "file-quit", GTK_STOCK_QUIT,
N_("_Quit"), "<control>Q", NULL,
G_CALLBACK (file_quit_cmd_callback),
@ -130,12 +138,6 @@ file_actions_setup (GimpActionGroup *group)
"file-open-from-image");
gtk_action_set_accel_path (action, "<Actions>/file/file-open");
#ifdef __GNUC__
#warning FIXME: remove accel_path hack
#endif
g_object_set_data (G_OBJECT (action), "gimp-accel-path",
"<Actions>/file/file-open");
n_entries = GIMP_GUI_CONFIG (group->gimp->config)->last_opened_size;
entries = g_new0 (GimpEnumActionEntry, n_entries);
@ -185,6 +187,15 @@ file_actions_setup (GimpActionGroup *group)
group, 0);
file_actions_last_opened_update (group->gimp->documents, NULL, group);
g_signal_connect_object (group->gimp->displays, "add",
G_CALLBACK (file_actions_close_all_update),
group, 0);
g_signal_connect_object (group->gimp->displays, "remove",
G_CALLBACK (file_actions_close_all_update),
group, 0);
file_actions_close_all_update (group->gimp->displays, NULL, group);
}
void
@ -245,8 +256,8 @@ file_actions_last_opened_update (GimpContainer *container,
uri = gimp_object_get_name (GIMP_OBJECT (imagefile));
filename = file_utils_uri_to_utf8_filename (uri);
basename = file_utils_uri_to_utf8_basename (uri);
filename = file_utils_uri_display_name (uri);
basename = file_utils_uri_display_basename (uri);
escaped = gimp_escape_uline (basename);
@ -283,3 +294,14 @@ file_actions_last_opened_reorder (GimpContainer *container,
{
file_actions_last_opened_update (container, unused1, group);
}
static void
file_actions_close_all_update (GimpContainer *container,
GimpObject *unused,
GimpActionGroup *group)
{
gint n_displays = gimp_container_num_children (container);
gimp_action_group_set_action_sensitive (group, "file-close-all",
n_displays > 0);
}

View File

@ -38,6 +38,7 @@
#include "file/file-save.h"
#include "file/file-utils.h"
#include "widgets/gimpactiongroup.h"
#include "widgets/gimpdialogfactory.h"
#include "widgets/gimpfiledialog.h"
#include "widgets/gimphelp-ids.h"
@ -113,10 +114,15 @@ file_open_as_layer_cmd_callback (GtkAction *action,
{
GimpDisplay *gdisp;
GtkWidget *widget;
GimpImage *image;
const gchar *uri;
return_if_no_display (gdisp, data);
return_if_no_widget (widget, data);
file_open_dialog_show (widget, gdisp->gimage, NULL, TRUE);
image = gdisp->gimage;
uri = gimp_object_get_name (GIMP_OBJECT (image));
file_open_dialog_show (widget, image, uri, TRUE);
}
void
@ -162,10 +168,8 @@ file_last_opened_cmd_callback (GtkAction *action,
if (! gimage && status != GIMP_PDB_CANCEL)
{
gchar *filename;
filename =
file_utils_uri_to_utf8_filename (GIMP_OBJECT (imagefile)->name);
gchar *filename =
file_utils_uri_display_name (GIMP_OBJECT (imagefile)->name);
g_message (_("Opening '%s' failed:\n\n%s"),
filename, error->message);
@ -181,18 +185,28 @@ file_save_cmd_callback (GtkAction *action,
gpointer data)
{
GimpDisplay *gdisp;
GimpImage *gimage;
return_if_no_display (gdisp, data);
if (! gimp_image_active_drawable (gdisp->gimage))
gimage = gdisp->gimage;
if (! gimp_image_active_drawable (gimage))
return;
/* Only save if the gimage has been modified */
if (gdisp->gimage->dirty ||
! GIMP_GUI_CONFIG (gdisp->gimage->gimp->config)->trust_dirty_flag)
if (gimage->dirty ||
! GIMP_GUI_CONFIG (gimage->gimp->config)->trust_dirty_flag)
{
const gchar *uri = gimp_object_get_name (GIMP_OBJECT (gdisp->gimage));
const gchar *uri;
PlugInProcDef *save_proc = NULL;
if (! uri)
uri = gimp_object_get_name (GIMP_OBJECT (gimage));
save_proc = gimp_image_get_save_proc (gimage);
if (uri && ! save_proc)
save_proc = file_utils_find_proc (gimage->gimp->save_procs, uri);
if (! (uri && save_proc))
{
file_save_as_cmd_callback (action, data);
}
@ -200,17 +214,25 @@ file_save_cmd_callback (GtkAction *action,
{
GimpPDBStatusType status;
GError *error = NULL;
GList *list;
status = file_save (gdisp->gimage, action_data_get_context (data),
for (list = gimp_action_groups_from_name ("file");
list;
list = g_list_next (list))
{
gimp_action_group_set_action_sensitive (list->data, "file-quit",
FALSE);
}
status = file_save (gimage, action_data_get_context (data),
GIMP_PROGRESS (gdisp),
GIMP_RUN_WITH_LAST_VALS, &error);
uri, save_proc,
GIMP_RUN_WITH_LAST_VALS, FALSE, &error);
if (status != GIMP_PDB_SUCCESS &&
status != GIMP_PDB_CANCEL)
{
gchar *filename;
filename = file_utils_uri_to_utf8_filename (uri);
gchar *filename = file_utils_uri_display_name (uri);
g_message (_("Saving '%s' failed:\n\n%s"),
filename, error->message);
@ -218,6 +240,14 @@ file_save_cmd_callback (GtkAction *action,
g_free (filename);
}
for (list = gimp_action_groups_from_name ("file");
list;
list = g_list_next (list))
{
gimp_action_group_set_action_sensitive (list->data, "file-quit",
TRUE);
}
}
}
}
@ -309,6 +339,11 @@ file_revert_cmd_callback (GtkAction *action,
NULL);
gtk_dialog_set_alternative_button_order (GTK_DIALOG (dialog),
GTK_RESPONSE_OK,
GTK_RESPONSE_CANCEL,
-1);
g_signal_connect_object (gdisp, "disconnect",
G_CALLBACK (gtk_widget_destroy),
dialog, G_CONNECT_SWAPPED);
@ -317,8 +352,8 @@ file_revert_cmd_callback (GtkAction *action,
G_CALLBACK (file_revert_confirm_response),
gdisp);
basename = g_path_get_basename (uri);
filename = file_utils_uri_to_utf8_filename (uri);
basename = file_utils_uri_display_basename (uri);
filename = file_utils_uri_display_name (uri);
gimp_message_box_set_primary_text (GIMP_MESSAGE_DIALOG (dialog)->box,
_("Revert '%s' to '%s'?"),
@ -337,6 +372,28 @@ file_revert_cmd_callback (GtkAction *action,
}
}
void
file_close_all_cmd_callback (GtkAction *action,
gpointer data)
{
Gimp *gimp;
return_if_no_gimp (gimp, data);
if (! gimp_displays_dirty (gimp))
{
gimp_displays_delete (gimp);
}
else
{
GtkWidget *widget;
return_if_no_widget (widget, data);
gimp_dialog_factory_dialog_raise (global_dialog_factory,
gtk_widget_get_screen (widget),
"gimp-close-all-dialog", -1);
}
}
void
file_quit_cmd_callback (GtkAction *action,
gpointer data)
@ -386,6 +443,8 @@ file_open_dialog_show (GtkWidget *parent,
GIMP_FILE_DIALOG (dialog)->gimage = NULL;
}
gtk_window_set_transient_for (GTK_WINDOW (dialog), GTK_WINDOW (parent));
gtk_window_present (GTK_WINDOW (dialog));
}
}
@ -409,6 +468,9 @@ file_save_dialog_show (GimpImage *gimage,
if (dialog)
{
gtk_window_set_transient_for (GTK_WINDOW (dialog),
GTK_WINDOW (parent));
g_object_set_data_full (G_OBJECT (gimage),
"gimp-file-save-dialog", dialog,
(GDestroyNotify) gtk_widget_destroy);
@ -495,7 +557,7 @@ file_revert_confirm_response (GtkWidget *dialog,
{
gchar *filename;
filename = file_utils_uri_to_utf8_filename (uri);
filename = file_utils_uri_display_name (uri);
g_message (_("Reverting to '%s' failed:\n\n%s"),
filename, error->message);

View File

@ -43,6 +43,8 @@ void file_save_template_cmd_callback (GtkAction *action,
void file_revert_cmd_callback (GtkAction *action,
gpointer data);
void file_close_all_cmd_callback (GtkAction *action,
gpointer data);
void file_quit_cmd_callback (GtkAction *action,
gpointer data);

View File

@ -30,10 +30,10 @@
#include "core/gimpgradient.h"
#include "widgets/gimpactiongroup.h"
#include "widgets/gimpdataeditor.h"
#include "widgets/gimpgradienteditor.h"
#include "widgets/gimphelp-ids.h"
#include "data-editor-commands.h"
#include "gradient-editor-actions.h"
#include "gradient-editor-commands.h"
@ -115,6 +115,15 @@ static GimpActionEntry gradient_editor_actions[] =
GIMP_HELP_GRADIENT_EDITOR_BLEND_OPACITY }
};
static GimpToggleActionEntry gradient_editor_toggle_actions[] =
{
{ "gradient-editor-edit-active", GIMP_STOCK_LINKED,
N_("Edit Active Gradient"), NULL, NULL,
G_CALLBACK (data_editor_edit_active_cmd_callback),
FALSE,
GIMP_HELP_GRADIENT_EDITOR_EDIT_ACTIVE }
};
#define LOAD_LEFT_FROM(num,magic) \
{ "gradient-editor-load-left-" num, NULL, \
@ -141,34 +150,34 @@ static GimpEnumActionEntry gradient_editor_load_left_actions[] =
{
{ "gradient-editor-load-left-left-neighbor", NULL,
N_("_Left Neighbor's Right Endpoint"), NULL, NULL,
0, FALSE,
GRADIENT_EDITOR_COLOR_NEIGHBOR_ENDPOINT, FALSE,
GIMP_HELP_GRADIENT_EDITOR_LEFT_LOAD },
{ "gradient-editor-load-left-right-endpoint", NULL,
N_("_Right Endpoint"), NULL, NULL,
1, FALSE,
GRADIENT_EDITOR_COLOR_OTHER_ENDPOINT, FALSE,
GIMP_HELP_GRADIENT_EDITOR_LEFT_LOAD },
{ "gradient-editor-load-left-fg", NULL,
N_("_FG Color"), NULL, NULL,
2, FALSE,
GRADIENT_EDITOR_COLOR_FOREGROUND, FALSE,
GIMP_HELP_GRADIENT_EDITOR_LEFT_LOAD },
{ "gradient-editor-load-left-bg", NULL,
N_("_BG Color"), NULL, NULL,
3, FALSE,
GRADIENT_EDITOR_COLOR_BACKGROUND, FALSE,
GIMP_HELP_GRADIENT_EDITOR_LEFT_LOAD },
LOAD_LEFT_FROM ("01", 4),
LOAD_LEFT_FROM ("02", 5),
LOAD_LEFT_FROM ("03", 6),
LOAD_LEFT_FROM ("04", 7),
LOAD_LEFT_FROM ("05", 8),
LOAD_LEFT_FROM ("06", 9),
LOAD_LEFT_FROM ("07", 10),
LOAD_LEFT_FROM ("08", 11),
LOAD_LEFT_FROM ("09", 12),
LOAD_LEFT_FROM ("10", 13)
LOAD_LEFT_FROM ("01", GRADIENT_EDITOR_COLOR_FIRST_CUSTOM + 0),
LOAD_LEFT_FROM ("02", GRADIENT_EDITOR_COLOR_FIRST_CUSTOM + 1),
LOAD_LEFT_FROM ("03", GRADIENT_EDITOR_COLOR_FIRST_CUSTOM + 2),
LOAD_LEFT_FROM ("04", GRADIENT_EDITOR_COLOR_FIRST_CUSTOM + 3),
LOAD_LEFT_FROM ("05", GRADIENT_EDITOR_COLOR_FIRST_CUSTOM + 4),
LOAD_LEFT_FROM ("06", GRADIENT_EDITOR_COLOR_FIRST_CUSTOM + 5),
LOAD_LEFT_FROM ("07", GRADIENT_EDITOR_COLOR_FIRST_CUSTOM + 6),
LOAD_LEFT_FROM ("08", GRADIENT_EDITOR_COLOR_FIRST_CUSTOM + 7),
LOAD_LEFT_FROM ("09", GRADIENT_EDITOR_COLOR_FIRST_CUSTOM + 8),
LOAD_LEFT_FROM ("10", GRADIENT_EDITOR_COLOR_FIRST_CUSTOM + 9)
};
static GimpEnumActionEntry gradient_editor_save_left_actions[] =
@ -189,34 +198,34 @@ static GimpEnumActionEntry gradient_editor_load_right_actions[] =
{
{ "gradient-editor-load-right-right-neighbor", NULL,
N_("_Right Neighbor's Left Endpoint"), NULL, NULL,
0, FALSE,
GRADIENT_EDITOR_COLOR_NEIGHBOR_ENDPOINT, FALSE,
GIMP_HELP_GRADIENT_EDITOR_RIGHT_LOAD },
{ "gradient-editor-load-right-left-endpoint", NULL,
N_("_Left Endpoint"), NULL, NULL,
1, FALSE,
GRADIENT_EDITOR_COLOR_OTHER_ENDPOINT, FALSE,
GIMP_HELP_GRADIENT_EDITOR_RIGHT_LOAD },
{ "gradient-editor-load-right-fg", NULL,
N_("_FG Color"), NULL, NULL,
2, FALSE,
GRADIENT_EDITOR_COLOR_FOREGROUND, FALSE,
GIMP_HELP_GRADIENT_EDITOR_RIGHT_LOAD },
{ "gradient-editor-load-right-bg", NULL,
N_("_BG Color"), NULL, NULL,
3, FALSE,
GRADIENT_EDITOR_COLOR_BACKGROUND, FALSE,
GIMP_HELP_GRADIENT_EDITOR_RIGHT_LOAD },
LOAD_RIGHT_FROM ("01", 4),
LOAD_RIGHT_FROM ("02", 5),
LOAD_RIGHT_FROM ("03", 6),
LOAD_RIGHT_FROM ("04", 7),
LOAD_RIGHT_FROM ("05", 8),
LOAD_RIGHT_FROM ("06", 9),
LOAD_RIGHT_FROM ("07", 10),
LOAD_RIGHT_FROM ("08", 11),
LOAD_RIGHT_FROM ("09", 12),
LOAD_RIGHT_FROM ("10", 13)
LOAD_RIGHT_FROM ("01", GRADIENT_EDITOR_COLOR_FIRST_CUSTOM + 0),
LOAD_RIGHT_FROM ("02", GRADIENT_EDITOR_COLOR_FIRST_CUSTOM + 1),
LOAD_RIGHT_FROM ("03", GRADIENT_EDITOR_COLOR_FIRST_CUSTOM + 2),
LOAD_RIGHT_FROM ("04", GRADIENT_EDITOR_COLOR_FIRST_CUSTOM + 3),
LOAD_RIGHT_FROM ("05", GRADIENT_EDITOR_COLOR_FIRST_CUSTOM + 4),
LOAD_RIGHT_FROM ("06", GRADIENT_EDITOR_COLOR_FIRST_CUSTOM + 5),
LOAD_RIGHT_FROM ("07", GRADIENT_EDITOR_COLOR_FIRST_CUSTOM + 6),
LOAD_RIGHT_FROM ("08", GRADIENT_EDITOR_COLOR_FIRST_CUSTOM + 7),
LOAD_RIGHT_FROM ("09", GRADIENT_EDITOR_COLOR_FIRST_CUSTOM + 8),
LOAD_RIGHT_FROM ("10", GRADIENT_EDITOR_COLOR_FIRST_CUSTOM + 9)
};
static GimpEnumActionEntry gradient_editor_save_right_actions[] =
@ -324,6 +333,10 @@ gradient_editor_actions_setup (GimpActionGroup *group)
gradient_editor_actions,
G_N_ELEMENTS (gradient_editor_actions));
gimp_action_group_add_toggle_actions (group,
gradient_editor_toggle_actions,
G_N_ELEMENTS (gradient_editor_toggle_actions));
gimp_action_group_add_enum_actions (group,
gradient_editor_load_left_actions,
G_N_ELEMENTS (gradient_editor_load_left_actions),
@ -348,12 +361,14 @@ gradient_editor_actions_setup (GimpActionGroup *group)
gimp_action_group_add_radio_actions (group,
gradient_editor_blending_actions,
G_N_ELEMENTS (gradient_editor_blending_actions),
NULL,
0,
G_CALLBACK (gradient_editor_blending_func_cmd_callback));
gimp_action_group_add_radio_actions (group,
gradient_editor_coloring_actions,
G_N_ELEMENTS (gradient_editor_coloring_actions),
NULL,
0,
G_CALLBACK (gradient_editor_coloring_type_cmd_callback));
@ -380,6 +395,7 @@ gradient_editor_actions_update (GimpActionGroup *group,
gboolean coloring_equal = TRUE;
gboolean selection = FALSE;
gboolean delete = FALSE;
gboolean edit_active = FALSE;
gradient = GIMP_GRADIENT (data_editor->data);
@ -436,6 +452,8 @@ gradient_editor_actions_update (GimpActionGroup *group,
if (! GTK_WIDGET_SENSITIVE (editor))
editable = FALSE;
edit_active = gimp_data_editor_get_edit_active (data_editor);
#define SET_ACTIVE(action,condition) \
gimp_action_group_set_action_active (group, action, (condition) != 0)
#define SET_COLOR(action,color,set_label) \
@ -697,6 +715,8 @@ gradient_editor_actions_update (GimpActionGroup *group,
SET_SENSITIVE ("gradient-editor-zoom-in", gradient);
SET_SENSITIVE ("gradient-editor-zoom-all", gradient);
SET_ACTIVE ("gradient-editor-edit-active", edit_active);
#undef SET_ACTIVE
#undef SET_COLOR
#undef SET_LABEL

View File

@ -124,7 +124,7 @@ gradient_editor_load_left_cmd_callback (GtkAction *action,
switch (value)
{
case 0: /* Fetch from left neighbor's right endpoint */
case GRADIENT_EDITOR_COLOR_NEIGHBOR_ENDPOINT:
if (editor->control_sel_l->prev != NULL)
seg = editor->control_sel_l->prev;
else
@ -133,20 +133,20 @@ gradient_editor_load_left_cmd_callback (GtkAction *action,
color = seg->right_color;
break;
case 1: /* Fetch from right endpoint */
case GRADIENT_EDITOR_COLOR_OTHER_ENDPOINT:
color = editor->control_sel_r->right_color;
break;
case 2: /* Fetch from FG color */
case GRADIENT_EDITOR_COLOR_FOREGROUND:
gimp_context_get_foreground (context, &color);
break;
case 3: /* Fetch from BG color */
case GRADIENT_EDITOR_COLOR_BACKGROUND:
gimp_context_get_background (context, &color);
break;
default: /* Load a color */
color = editor->saved_colors[value - 4];
color = editor->saved_colors[value - GRADIENT_EDITOR_COLOR_FIRST_CUSTOM];
break;
}
@ -228,7 +228,7 @@ gradient_editor_load_right_cmd_callback (GtkAction *action,
switch (value)
{
case 0: /* Fetch from right neighbor's left endpoint */
case GRADIENT_EDITOR_COLOR_NEIGHBOR_ENDPOINT:
if (editor->control_sel_r->next != NULL)
seg = editor->control_sel_r->next;
else
@ -237,20 +237,20 @@ gradient_editor_load_right_cmd_callback (GtkAction *action,
color = seg->left_color;
break;
case 1: /* Fetch from left endpoint */
case GRADIENT_EDITOR_COLOR_OTHER_ENDPOINT:
color = editor->control_sel_l->left_color;
break;
case 2: /* Fetch from FG color */
case GRADIENT_EDITOR_COLOR_FOREGROUND:
gimp_context_get_foreground (context, &color);
break;
case 3: /* Fetch from BG color */
case GRADIENT_EDITOR_COLOR_BACKGROUND:
gimp_context_get_background (context, &color);
break;
default: /* Load a color */
color = editor->saved_colors[value - 4];
color = editor->saved_colors[value - GRADIENT_EDITOR_COLOR_FIRST_CUSTOM];
break;
}
@ -377,6 +377,11 @@ gradient_editor_replicate_cmd_callback (GtkAction *action,
NULL);
gtk_dialog_set_alternative_button_order (GTK_DIALOG (dialog),
GTK_RESPONSE_OK,
GTK_RESPONSE_CANCEL,
-1);
g_signal_connect (dialog, "response",
G_CALLBACK (gradient_editor_replicate_response),
editor);
@ -407,7 +412,7 @@ gradient_editor_replicate_cmd_callback (GtkAction *action,
gtk_box_pack_start (GTK_BOX (vbox), scale, FALSE, TRUE, 4);
gtk_widget_show (scale);
g_signal_connect (scale_data, "value_changed",
g_signal_connect (scale_data, "value-changed",
G_CALLBACK (gimp_int_adjustment_update),
&editor->replicate_times);
@ -471,6 +476,11 @@ gradient_editor_split_uniformly_cmd_callback (GtkAction *action,
NULL);
gtk_dialog_set_alternative_button_order (GTK_DIALOG (dialog),
GTK_RESPONSE_OK,
GTK_RESPONSE_CANCEL,
-1);
g_signal_connect (dialog, "response",
G_CALLBACK (gradient_editor_split_uniform_response),
editor);
@ -502,7 +512,7 @@ gradient_editor_split_uniformly_cmd_callback (GtkAction *action,
gtk_box_pack_start (GTK_BOX (vbox), scale, FALSE, FALSE, 4);
gtk_widget_show (scale);
g_signal_connect (scale_data, "value_changed",
g_signal_connect (scale_data, "value-changed",
G_CALLBACK (gimp_int_adjustment_update),
&editor->split_parts);
@ -770,8 +780,6 @@ gradient_editor_replace_selection (GimpGradientEditor *editor,
editor->control_sel_l = replace_seg;
editor->control_sel_r = replace_last;
gradient->last_visited = NULL; /* Force re-search */
}
static void

View File

@ -20,6 +20,16 @@
#define __GRADIENT_EDITOR_COMMANDS_H__
enum
{
GRADIENT_EDITOR_COLOR_NEIGHBOR_ENDPOINT,
GRADIENT_EDITOR_COLOR_OTHER_ENDPOINT,
GRADIENT_EDITOR_COLOR_FOREGROUND,
GRADIENT_EDITOR_COLOR_BACKGROUND,
GRADIENT_EDITOR_COLOR_FIRST_CUSTOM
};
void gradient_editor_left_color_cmd_callback (GtkAction *action,
gpointer data);
void gradient_editor_load_left_cmd_callback (GtkAction *action,

View File

@ -47,15 +47,21 @@ static GimpActionEntry gradients_actions[] =
{ "gradients-new", GTK_STOCK_NEW,
N_("_New Gradient"), "",
N_("New gradient"),
G_CALLBACK (data_new_data_cmd_callback),
G_CALLBACK (data_new_cmd_callback),
GIMP_HELP_GRADIENT_NEW },
{ "gradients-duplicate", GIMP_STOCK_DUPLICATE,
N_("D_uplicate Gradient"), NULL,
N_("Duplicate gradient"),
G_CALLBACK (data_duplicate_data_cmd_callback),
G_CALLBACK (data_duplicate_cmd_callback),
GIMP_HELP_GRADIENT_DUPLICATE },
{ "gradients-copy-location", GTK_STOCK_COPY,
N_("Copy Gradient _Location"), "",
N_("Copy gradient file location to clipboard"),
G_CALLBACK (data_copy_location_cmd_callback),
GIMP_HELP_GRADIENT_COPY_LOCATION },
{ "gradients-save-as-pov", GTK_STOCK_SAVE_AS,
N_("Save as _POV-Ray..."), "",
N_("Save gradient as POV-Ray"),
@ -63,21 +69,21 @@ static GimpActionEntry gradients_actions[] =
GIMP_HELP_GRADIENT_SAVE_AS_POV },
{ "gradients-delete", GTK_STOCK_DELETE,
N_("_Delete Gradient..."), "",
N_("_Delete Gradient"), "",
N_("Delete gradient"),
G_CALLBACK (data_delete_data_cmd_callback),
G_CALLBACK (data_delete_cmd_callback),
GIMP_HELP_GRADIENT_DELETE },
{ "gradients-refresh", GTK_STOCK_REFRESH,
N_("_Refresh Gradients"), "",
N_("Refresh gradients"),
G_CALLBACK (data_refresh_data_cmd_callback),
G_CALLBACK (data_refresh_cmd_callback),
GIMP_HELP_GRADIENT_REFRESH }
};
static GimpStringActionEntry gradients_edit_actions[] =
{
{ "gradients-edit", GIMP_STOCK_EDIT,
{ "gradients-edit", GTK_STOCK_EDIT,
N_("_Edit Gradient..."), NULL,
N_("Edit gradient"),
"gimp-gradient-editor",
@ -95,7 +101,7 @@ gradients_actions_setup (GimpActionGroup *group)
gimp_action_group_add_string_actions (group,
gradients_edit_actions,
G_N_ELEMENTS (gradients_edit_actions),
G_CALLBACK (data_edit_data_cmd_callback));
G_CALLBACK (data_edit_cmd_callback));
}
void
@ -117,10 +123,11 @@ gradients_actions_update (GimpActionGroup *group,
#define SET_SENSITIVE(action,condition) \
gimp_action_group_set_action_sensitive (group, action, (condition) != 0)
SET_SENSITIVE ("gradients-edit", gradient);
SET_SENSITIVE ("gradients-duplicate", gradient);
SET_SENSITIVE ("gradients-save-as-pov", gradient);
SET_SENSITIVE ("gradients-delete", gradient && data->deletable);
SET_SENSITIVE ("gradients-edit", gradient);
SET_SENSITIVE ("gradients-duplicate", gradient);
SET_SENSITIVE ("gradients-save-as-pov", gradient);
SET_SENSITIVE ("gradients-copy-location", gradient && data->filename);
SET_SENSITIVE ("gradients-delete", gradient && data->deletable);
#undef SET_SENSITIVE
}

View File

@ -74,6 +74,11 @@ gradients_save_as_pov_ray_cmd_callback (GtkAction *action,
NULL));
gtk_dialog_set_alternative_button_order (GTK_DIALOG (chooser),
GTK_RESPONSE_OK,
GTK_RESPONSE_CANCEL,
-1);
g_free (title);
gtk_window_set_screen (GTK_WINDOW (chooser),
@ -85,7 +90,7 @@ gradients_save_as_pov_ray_cmd_callback (GtkAction *action,
g_signal_connect (chooser, "response",
G_CALLBACK (gradients_save_as_pov_ray_response),
gradient);
g_signal_connect (chooser, "delete_event",
g_signal_connect (chooser, "delete-event",
G_CALLBACK (gtk_true),
NULL);

View File

@ -39,8 +39,8 @@ void
help_context_help_cmd_callback (GtkAction *action,
gpointer data)
{
GtkWidget *widget = action_data_get_widget (data);
GtkWidget *widget;
return_if_no_widget (widget, data);
if (widget)
gimp_context_help (widget);
gimp_context_help (widget);
}

View File

@ -55,11 +55,18 @@ static GimpActionEntry image_actions[] =
N_("Image Menu"), NULL, NULL, NULL,
GIMP_HELP_IMAGE_WINDOW },
{ "extensions-menu", NULL, N_("_Xtns") },
{ "image-menu", NULL, N_("_Image") },
{ "image-mode-menu", NULL, N_("_Mode") },
{ "image-transform-menu", NULL, N_("_Transform") },
{ "image-guides-menu", NULL, N_("_Guides") },
{ "extensions-menu", NULL, N_("_Xtns") },
{ "image-menu", NULL, N_("_Image") },
{ "image-mode-menu", NULL, N_("_Mode") },
{ "image-transform-menu", NULL, N_("_Transform") },
{ "image-guides-menu", NULL, N_("_Guides") },
{ "colors-menu", NULL, N_("_Colors") },
{ "colors-info-menu", NULL, N_("I_nfo") },
{ "colors-auto-menu", NULL, N_("_Auto") },
{ "colors-map-menu", NULL, N_("Ma_p") },
{ "colors-components-menu", NULL, N_("_Components") },
{ "image-new", GTK_STOCK_NEW,
N_("_New..."), "<control>N", NULL,
@ -114,7 +121,12 @@ static GimpActionEntry image_actions[] =
{ "image-configure-grid", GIMP_STOCK_GRID,
N_("Configure G_rid..."), NULL, NULL,
G_CALLBACK (image_configure_grid_cmd_callback),
GIMP_HELP_IMAGE_GRID }
GIMP_HELP_IMAGE_GRID },
{ "image-properties", GTK_STOCK_PROPERTIES,
N_("Image Properties"), NULL, NULL,
G_CALLBACK (image_properties_cmd_callback),
GIMP_HELP_IMAGE_PROPERTIES }
};
static GimpEnumActionEntry image_convert_actions[] =
@ -181,12 +193,6 @@ image_actions_setup (GimpActionGroup *group)
"image-new-from-image");
gtk_action_set_accel_path (action, "<Actions>/image/image-new");
#ifdef __GNUC__
#warning FIXME: remove accel_path hack
#endif
g_object_set_data (G_OBJECT (action), "gimp-accel-path",
"<Actions>/image/image-new");
gimp_action_group_add_enum_actions (group,
image_convert_actions,
G_N_ELEMENTS (image_convert_actions),
@ -254,6 +260,7 @@ image_actions_update (GimpActionGroup *group,
SET_SENSITIVE ("image-merge-layers", gimage && !fs && !aux && lp);
SET_SENSITIVE ("image-flatten", gimage && !fs && !aux && lp);
SET_SENSITIVE ("image-configure-grid", gimage);
SET_SENSITIVE ("image-properties", gimage);
#undef SET_SENSITIVE
}

View File

@ -52,6 +52,7 @@
#include "dialogs/grid-dialog.h"
#include "dialogs/image-merge-layers-dialog.h"
#include "dialogs/image-new-dialog.h"
#include "dialogs/image-properties-dialog.h"
#include "dialogs/image-scale-dialog.h"
#include "dialogs/print-size-dialog.h"
#include "dialogs/resize-dialog.h"
@ -77,8 +78,10 @@ static void image_resize_callback (GtkWidget *dialog,
GimpViewable *viewable,
gint width,
gint height,
GimpUnit unit,
gint offset_x,
gint offset_y,
GimpImageResizeLayers resize_layers,
gpointer data);
static void image_print_size_callback (GtkWidget *dialog,
GimpImage *image,
@ -175,11 +178,12 @@ image_resize_cmd_callback (GtkAction *action,
gpointer data)
{
ImageResizeOptions *options;
GimpImage *gimage;
GimpImage *image;
GtkWidget *widget;
GimpDisplay *gdisp;
GtkWidget *dialog;
return_if_no_image (gimage, data);
GimpUnit unit;
return_if_no_image (image, data);
return_if_no_widget (widget, data);
return_if_no_display (gdisp, data);
@ -188,11 +192,16 @@ image_resize_cmd_callback (GtkAction *action,
options->gdisp = gdisp;
options->context = action_data_get_context (data);
dialog = resize_dialog_new (GIMP_VIEWABLE (gimage),
unit = GPOINTER_TO_INT (g_object_get_data (G_OBJECT (image),
"scale-dialog-unit"));
if (! unit)
unit = GIMP_DISPLAY_SHELL (gdisp->shell)->unit;
dialog = resize_dialog_new (GIMP_VIEWABLE (image),
_("Set Image Canvas Size"), "gimp-image-resize",
widget,
gimp_standard_help_func, GIMP_HELP_IMAGE_RESIZE,
GIMP_DISPLAY_SHELL (gdisp->shell)->unit,
unit,
image_resize_callback,
options);
@ -216,7 +225,7 @@ image_resize_to_layers_cmd_callback (GtkAction *action,
return_if_no_display (gdisp, data);
progress = gimp_progress_start (GIMP_PROGRESS (gdisp),
_("Resizing..."), FALSE);
_("Resizing"), FALSE);
gimp_image_resize_to_layers (gdisp->gimage,
action_data_get_context (data),
@ -286,7 +295,7 @@ image_flip_cmd_callback (GtkAction *action,
return_if_no_display (gdisp, data);
progress = gimp_progress_start (GIMP_PROGRESS (gdisp),
_("Flipping..."), FALSE);
_("Flipping"), FALSE);
gimp_image_flip (gdisp->gimage, action_data_get_context (data),
(GimpOrientationType) value, progress);
@ -307,7 +316,7 @@ image_rotate_cmd_callback (GtkAction *action,
return_if_no_display (gdisp, data);
progress = gimp_progress_start (GIMP_PROGRESS (gdisp),
_("Rotating..."), FALSE);
_("Rotating"), FALSE);
gimp_image_rotate (gdisp->gimage, action_data_get_context (data),
(GimpRotationType) value, progress);
@ -353,7 +362,8 @@ image_duplicate_cmd_callback (GtkAction *action,
gimp_create_display (new_gimage->gimp,
new_gimage,
shell->unit, shell->scale);
shell->unit,
gimp_zoom_model_get_factor (shell->zoom));
g_object_unref (new_gimage);
}
@ -419,17 +429,42 @@ image_configure_grid_cmd_callback (GtkAction *action,
gtk_window_present (GTK_WINDOW (shell->grid_dialog));
}
void
image_properties_cmd_callback (GtkAction *action,
gpointer data)
{
GimpDisplay *gdisp;
GimpDisplayShell *shell;
GimpImage *gimage;
GtkWidget *dialog;
return_if_no_display (gdisp, data);
shell = GIMP_DISPLAY_SHELL (gdisp->shell);
gimage = gdisp->gimage;
dialog = image_properties_dialog_new (gdisp->gimage, gdisp->shell);
gtk_window_set_transient_for (GTK_WINDOW (dialog),
GTK_WINDOW (gdisp->shell));
gtk_window_set_destroy_with_parent (GTK_WINDOW (dialog),
TRUE);
gtk_window_present (GTK_WINDOW (dialog));
}
/* private functions */
static void
image_resize_callback (GtkWidget *dialog,
GimpViewable *viewable,
gint width,
gint height,
gint offset_x,
gint offset_y,
gpointer data)
image_resize_callback (GtkWidget *dialog,
GimpViewable *viewable,
gint width,
gint height,
GimpUnit unit,
gint offset_x,
gint offset_y,
GimpImageResizeLayers resize_layers,
gpointer data)
{
ImageResizeOptions *options = data;
@ -442,16 +477,21 @@ image_resize_callback (GtkWidget *dialog,
gtk_widget_destroy (dialog);
/* remember the last used unit */
g_object_set_data (G_OBJECT (image),
"scale-dialog-unit", GINT_TO_POINTER (unit));
if (width == image->width && height == image->height)
return;
progress = gimp_progress_start (GIMP_PROGRESS (gdisp),
_("Resizing..."), FALSE);
_("Resizing"), FALSE);
gimp_image_resize (image,
context,
width, height, offset_x, offset_y,
progress);
gimp_image_resize_with_layers (image,
context,
width, height, offset_x, offset_y,
resize_layers,
progress);
if (progress)
gimp_progress_end (progress);
@ -518,7 +558,7 @@ image_scale_callback (ImageScaleDialog *dialog)
GimpProgress *progress;
progress = gimp_progress_start (GIMP_PROGRESS (dialog->gdisp),
_("Scaling..."), FALSE);
_("Scaling"), FALSE);
gimp_image_scale (image,
dialog->width,

View File

@ -56,6 +56,8 @@ void image_flatten_image_cmd_callback (GtkAction *action,
void image_configure_grid_cmd_callback (GtkAction *action,
gpointer data);
void image_properties_cmd_callback (GtkAction *action,
gpointer data);
#endif /* __IMAGE_COMMANDS_H__ */

View File

@ -50,12 +50,10 @@ static GimpActionEntry layers_actions[] =
{ "layers-menu", NULL, N_("_Layer") },
{ "layers-stack-menu", NULL, N_("Stac_k") },
{ "layers-colors-menu", NULL, N_("_Colors") },
{ "layers-colors-auto-menu", NULL, N_("_Auto") },
{ "layers-mask-menu", NULL, N_("_Mask") },
{ "layers-transparency-menu", NULL, N_("Tr_ansparency") },
{ "layers-transform-menu", NULL, N_("_Transform") },
{ "layers-properties-menu", NULL, N_("_Properties") },
{ "layers-properties-menu", GTK_STOCK_PROPERTIES, N_("_Properties") },
{ "layers-opacity-menu", GIMP_STOCK_TRANSPARENCY, N_("_Opacity") },
{ "layers-mode-menu", GIMP_STOCK_TOOL_PENCIL, N_("Layer _Mode") },
@ -64,14 +62,14 @@ static GimpActionEntry layers_actions[] =
G_CALLBACK (layers_text_tool_cmd_callback),
GIMP_HELP_TOOL_TEXT },
{ "layers-edit-attributes", GIMP_STOCK_EDIT,
{ "layers-edit-attributes", GTK_STOCK_EDIT,
N_("_Edit Layer Attributes..."), NULL,
N_("Edit layer attributes"),
G_CALLBACK (layers_edit_attributes_cmd_callback),
GIMP_HELP_LAYER_EDIT },
{ "layers-new", GTK_STOCK_NEW,
N_("_New Layer..."), "",
N_("_New Layer..."), "<control><shift>N",
N_("New layer..."),
G_CALLBACK (layers_new_cmd_callback),
GIMP_HELP_LAYER_NEW },
@ -83,7 +81,7 @@ static GimpActionEntry layers_actions[] =
GIMP_HELP_LAYER_NEW },
{ "layers-duplicate", GIMP_STOCK_DUPLICATE,
N_("D_uplicate Layer"), NULL,
N_("D_uplicate Layer"), "<control><shift>D",
N_("Duplicate layer"),
G_CALLBACK (layers_duplicate_cmd_callback),
GIMP_HELP_LAYER_DUPLICATE },
@ -172,31 +170,36 @@ static GimpActionEntry layers_actions[] =
{ "layers-alpha-add", GIMP_STOCK_TRANSPARENCY,
N_("Add Alpha C_hannel"), NULL, NULL,
G_CALLBACK (layers_alpha_add_cmd_callback),
GIMP_HELP_LAYER_ALPHA_ADD }
GIMP_HELP_LAYER_ALPHA_ADD },
{ "layers-alpha-remove", NULL,
N_("_Remove Alpha Channel"), NULL, NULL,
G_CALLBACK (layers_alpha_remove_cmd_callback),
GIMP_HELP_LAYER_ALPHA_REMOVE }
};
static GimpToggleActionEntry layers_toggle_actions[] =
{
{ "layers-preserve-transparency", GIMP_STOCK_TRANSPARENCY,
N_("Keep Transparency"), NULL, NULL,
G_CALLBACK (layers_preserve_trans_cmd_callback),
{ "layers-lock-alpha", GIMP_STOCK_TRANSPARENCY,
N_("Lock Alph_a Channel"), NULL, NULL,
G_CALLBACK (layers_lock_alpha_cmd_callback),
FALSE,
GIMP_HELP_LAYER_KEEP_TRANSPARENCY },
GIMP_HELP_LAYER_LOCK_ALPHA },
{ "layers-mask-edit", GIMP_STOCK_EDIT,
N_("Edit Layer Mask"), NULL, NULL,
{ "layers-mask-edit", GTK_STOCK_EDIT,
N_("_Edit Layer Mask"), NULL, NULL,
G_CALLBACK (layers_mask_edit_cmd_callback),
FALSE,
GIMP_HELP_LAYER_MASK_EDIT },
{ "layers-mask-show", GIMP_STOCK_VISIBLE,
N_("Show Layer Mask"), NULL, NULL,
N_("S_how Layer Mask"), NULL, NULL,
G_CALLBACK (layers_mask_show_cmd_callback),
FALSE,
GIMP_HELP_LAYER_MASK_SHOW },
{ "layers-mask-disable", NULL,
N_("Disable Layer Mask"), NULL, NULL,
N_("_Disable Layer Mask"), NULL, NULL,
G_CALLBACK (layers_mask_disable_cmd_callback),
FALSE,
GIMP_HELP_LAYER_MASK_DISABLE }
@ -391,8 +394,7 @@ layers_actions_update (GimpActionGroup *group,
gboolean sel = FALSE;
gboolean alpha = FALSE; /* alpha channel present */
gboolean indexed = FALSE; /* is indexed */
gboolean preserve = FALSE;
gboolean next_alpha = FALSE;
gboolean lock_alpha = FALSE;
gboolean text_layer = FALSE;
GList *next = NULL;
GList *prev = NULL;
@ -410,9 +412,9 @@ layers_actions_update (GimpActionGroup *group,
{
GList *list;
mask = gimp_layer_get_mask (layer);
preserve = gimp_layer_get_preserve_trans (layer);
alpha = gimp_drawable_has_alpha (GIMP_DRAWABLE (layer));
mask = gimp_layer_get_mask (layer);
lock_alpha = gimp_layer_get_lock_alpha (layer);
alpha = gimp_drawable_has_alpha (GIMP_DRAWABLE (layer));
list = g_list_find (GIMP_LIST (gimage->layers)->list, layer);
@ -422,9 +424,6 @@ layers_actions_update (GimpActionGroup *group,
next = g_list_next (list);
}
if (next)
next_alpha = gimp_drawable_has_alpha (GIMP_DRAWABLE (next->data));
if (layer)
text_layer = gimp_drawable_is_text_layer (GIMP_DRAWABLE (layer));
}
@ -450,10 +449,10 @@ layers_actions_update (GimpActionGroup *group,
SET_SENSITIVE ("layers-select-previous", layer && !fs && !ac && prev);
SET_SENSITIVE ("layers-select-next", layer && !fs && !ac && next);
SET_SENSITIVE ("layers-raise", layer && !fs && !ac && alpha && prev);
SET_SENSITIVE ("layers-raise-to-top", layer && !fs && !ac && alpha && prev);
SET_SENSITIVE ("layers-lower", layer && !fs && !ac && next && next_alpha);
SET_SENSITIVE ("layers-lower-to-bottom", layer && !fs && !ac && next && next_alpha);
SET_SENSITIVE ("layers-raise", layer && !fs && !ac && prev);
SET_SENSITIVE ("layers-raise-to-top", layer && !fs && !ac && prev);
SET_SENSITIVE ("layers-lower", layer && !fs && !ac && next);
SET_SENSITIVE ("layers-lower-to-bottom", layer && !fs && !ac && next);
SET_SENSITIVE ("layers-anchor", layer && fs && !ac);
SET_SENSITIVE ("layers-merge-down", layer && !fs && !ac && next);
@ -467,10 +466,11 @@ layers_actions_update (GimpActionGroup *group,
SET_SENSITIVE ("layers-crop", layer && sel);
SET_SENSITIVE ("layers-alpha-add", layer && !fs && !alpha);
SET_SENSITIVE ("layers-alpha-add", layer && !fs && !alpha);
SET_SENSITIVE ("layers-alpha-remove", layer && !fs && alpha);
SET_SENSITIVE ("layers-preserve-transparency", layer);
SET_ACTIVE ("layers-preserve-transparency", preserve);
SET_SENSITIVE ("layers-lock-alpha", layer);
SET_ACTIVE ("layers-lock-alpha", lock_alpha);
SET_SENSITIVE ("layers-mask-add", layer && !fs && !ac && !mask);
SET_SENSITIVE ("layers-mask-apply", layer && !fs && !ac && mask);

View File

@ -36,6 +36,7 @@
#include "core/gimpimage.h"
#include "core/gimpimage-merge.h"
#include "core/gimpimage-undo.h"
#include "core/gimpimage-undo-push.h"
#include "core/gimpitemundo.h"
#include "core/gimplayer.h"
#include "core/gimplayer-floating-sel.h"
@ -122,8 +123,10 @@ static void layers_resize_layer_callback (GtkWidget *dialog,
GimpViewable *viewable,
gint width,
gint height,
GimpUnit unit,
gint offset_x,
gint offset_y,
GimpImageResizeLayers unused,
gpointer data);
static gint layers_mode_index (GimpLayerModeEffects layer_mode);
@ -195,7 +198,7 @@ layers_edit_attributes_cmd_callback (GtkAction *action,
layer_fill_type,
_("Layer Attributes"),
"gimp-layer-edit",
GIMP_STOCK_EDIT,
GTK_STOCK_EDIT,
_("Edit Layer Attributes"),
GIMP_HELP_LAYER_EDIT);
@ -457,22 +460,26 @@ layers_resize_cmd_callback (GtkAction *action,
gpointer data)
{
GimpDisplay *gdisp;
GimpImage *gimage;
GimpImage *image;
GimpLayer *layer;
GtkWidget *widget;
GtkWidget *dialog;
return_if_no_layer (gimage, layer, data);
GimpUnit unit;
return_if_no_layer (image, layer, data);
return_if_no_widget (widget, data);
gdisp = GIMP_IS_DISPLAY (data) ? data : NULL;
unit = GPOINTER_TO_INT (g_object_get_data (G_OBJECT (image),
"scale-dialog-unit"));
if (! unit)
unit = gdisp ? GIMP_DISPLAY_SHELL (gdisp->shell)->unit : GIMP_UNIT_PIXEL;
dialog = resize_dialog_new (GIMP_VIEWABLE (layer),
_("Set Layer Boundary Size"), "gimp-layer-resize",
widget,
gimp_standard_help_func, GIMP_HELP_LAYER_RESIZE,
(gdisp ?
GIMP_DISPLAY_SHELL (gdisp->shell)->unit :
GIMP_UNIT_PIXEL),
unit,
layers_resize_layer_callback,
action_data_get_context (data));
@ -495,24 +502,27 @@ void
layers_scale_cmd_callback (GtkAction *action,
gpointer data)
{
GimpImage *gimage;
GimpImage *image;
GimpLayer *layer;
GtkWidget *widget;
GimpDisplay *gdisp;
GtkWidget *dialog;
GimpUnit unit;
return_if_no_layer (gimage, layer, data);
return_if_no_layer (image, layer, data);
return_if_no_widget (widget, data);
gdisp = action_data_get_display (data);
unit = gdisp ? GIMP_DISPLAY_SHELL (gdisp->shell)->unit : GIMP_UNIT_PIXEL;
unit = GPOINTER_TO_INT (g_object_get_data (G_OBJECT (image),
"scale-dialog-unit"));
if (! unit)
unit = gdisp ? GIMP_DISPLAY_SHELL (gdisp->shell)->unit : GIMP_UNIT_PIXEL;
dialog = scale_dialog_new (GIMP_VIEWABLE (layer),
_("Scale Layer"), "gimp-layer-scale",
widget,
gimp_standard_help_func, GIMP_HELP_LAYER_SCALE,
unit, gimage->gimp->config->interpolation_type,
unit, image->gimp->config->interpolation_type,
layers_scale_layer_callback,
gdisp);
@ -631,7 +641,7 @@ layers_mask_show_cmd_callback (GtkAction *action,
active = gtk_toggle_action_get_active (GTK_TOGGLE_ACTION (action));
gimp_layer_mask_set_show (mask, active);
gimp_layer_mask_set_show (mask, active, TRUE);
gimp_image_flush (gimage);
}
}
@ -653,7 +663,7 @@ layers_mask_disable_cmd_callback (GtkAction *action,
active = gtk_toggle_action_get_active (GTK_TOGGLE_ACTION (action));
gimp_layer_mask_set_apply (mask, ! active);
gimp_layer_mask_set_apply (mask, ! active, TRUE);
gimp_image_flush (gimage);
}
}
@ -703,6 +713,21 @@ layers_alpha_add_cmd_callback (GtkAction *action,
}
}
void
layers_alpha_remove_cmd_callback (GtkAction *action,
gpointer data)
{
GimpImage *gimage;
GimpLayer *layer;
return_if_no_layer (gimage, layer, data);
if (gimp_drawable_has_alpha (GIMP_DRAWABLE (layer)))
{
gimp_layer_flatten (layer, action_data_get_context (data));
gimp_image_flush (gimage);
}
}
void
layers_alpha_to_selection_cmd_callback (GtkAction *action,
gint value,
@ -777,28 +802,28 @@ layers_mode_cmd_callback (GtkAction *action,
}
void
layers_preserve_trans_cmd_callback (GtkAction *action,
gpointer data)
layers_lock_alpha_cmd_callback (GtkAction *action,
gpointer data)
{
GimpImage *gimage;
GimpLayer *layer;
gboolean preserve;
gboolean lock_alpha;
return_if_no_layer (gimage, layer, data);
preserve = gtk_toggle_action_get_active (GTK_TOGGLE_ACTION (action));
lock_alpha = gtk_toggle_action_get_active (GTK_TOGGLE_ACTION (action));
if (preserve != gimp_layer_get_preserve_trans (layer))
if (lock_alpha != gimp_layer_get_lock_alpha (layer))
{
GimpUndo *undo;
gboolean push_undo = TRUE;
undo = gimp_image_undo_can_compress (gimage, GIMP_TYPE_ITEM_UNDO,
GIMP_UNDO_LAYER_PRESERVE_TRANS);
GIMP_UNDO_LAYER_LOCK_ALPHA);
if (undo && GIMP_ITEM_UNDO (undo)->item == GIMP_ITEM (layer))
push_undo = FALSE;
gimp_layer_set_preserve_trans (layer, preserve, push_undo);
gimp_layer_set_lock_alpha (layer, lock_alpha, push_undo);
gimp_image_flush (gimage);
}
}
@ -943,6 +968,10 @@ layers_scale_layer_callback (GtkWidget *dialog,
gtk_widget_destroy (dialog);
/* remember the last used unit */
g_object_set_data (G_OBJECT (gimp_item_get_image (item)),
"scale-dialog-unit", GINT_TO_POINTER (unit));
if (width == gimp_item_width (item) && height == gimp_item_height (item))
return;
@ -956,7 +985,7 @@ layers_scale_layer_callback (GtkWidget *dialog,
progress = GIMP_PROGRESS (progress_dialog);
}
progress = gimp_progress_start (progress, _("Scaling..."), FALSE);
progress = gimp_progress_start (progress, _("Scaling"), FALSE);
gimp_item_scale_by_origin (item,
width, height, interpolation,
@ -977,13 +1006,15 @@ layers_scale_layer_callback (GtkWidget *dialog,
}
static void
layers_resize_layer_callback (GtkWidget *dialog,
GimpViewable *viewable,
gint width,
gint height,
gint offset_x,
gint offset_y,
gpointer data)
layers_resize_layer_callback (GtkWidget *dialog,
GimpViewable *viewable,
gint width,
gint height,
GimpUnit unit,
gint offset_x,
gint offset_y,
GimpImageResizeLayers unused,
gpointer data)
{
GimpContext *context = GIMP_CONTEXT (data);
@ -993,6 +1024,10 @@ layers_resize_layer_callback (GtkWidget *dialog,
gtk_widget_destroy (dialog);
/* remember the last used unit */
g_object_set_data (G_OBJECT (gimp_item_get_image (item)),
"scale-dialog-unit", GINT_TO_POINTER (unit));
if (width == gimp_item_width (item) && height == gimp_item_height (item))
return;

View File

@ -79,6 +79,8 @@ void layers_mask_to_selection_cmd_callback (GtkAction *action,
void layers_alpha_add_cmd_callback (GtkAction *action,
gpointer data);
void layers_alpha_remove_cmd_callback (GtkAction *action,
gpointer data);
void layers_alpha_to_selection_cmd_callback (GtkAction *action,
gint value,
gpointer data);
@ -90,7 +92,7 @@ void layers_mode_cmd_callback (GtkAction *action,
gint value,
gpointer data);
void layers_preserve_trans_cmd_callback (GtkAction *action,
void layers_lock_alpha_cmd_callback (GtkAction *action,
gpointer data);

View File

@ -34,11 +34,15 @@ OBJECTS = \
colormap-editor-commands.obj \
context-actions.obj \
context-commands.obj \
cursor-info-actions.obj \
cursor-info-commands.obj \
data-commands.obj \
debug-actions.obj \
debug-commands.obj \
dialogs-actions.obj \
dialogs-commands.obj \
dock-actions.obj \
dock-commands.obj \
dockable-actions.obj \
dockable-commands.obj \
documents-actions.obj \
@ -72,8 +76,10 @@ OBJECTS = \
patterns-actions.obj \
plug-in-actions.obj \
plug-in-commands.obj \
qmask-actions.obj \
qmask-commands.obj \
quick-mask-actions.obj \
quick-mask-commands.obj \
sample-point-editor-actions.obj \
sample-point-editor-commands.obj \
select-actions.obj \
select-commands.obj \
templates-actions.obj \
@ -88,6 +94,7 @@ OBJECTS = \
vectors-commands.obj \
view-actions.obj \
view-commands.obj \
window-actions.obj \
$(PRJ_TOP)\config.h: $(PRJ_TOP)\config.h.win32

View File

@ -31,6 +31,7 @@
#include "widgets/gimphelp-ids.h"
#include "widgets/gimppaletteeditor.h"
#include "data-editor-commands.h"
#include "palette-editor-actions.h"
#include "palette-editor-commands.h"
@ -43,7 +44,7 @@ static GimpActionEntry palette_editor_actions[] =
N_("Palette Editor Menu"), NULL, NULL, NULL,
GIMP_HELP_PALETTE_EDITOR_DIALOG },
{ "palette-editor-edit-color", GIMP_STOCK_EDIT,
{ "palette-editor-edit-color", GTK_STOCK_EDIT,
N_("_Edit Color..."), "",
N_("Edit color"),
G_CALLBACK (palette_editor_edit_color_cmd_callback),
@ -56,6 +57,15 @@ static GimpActionEntry palette_editor_actions[] =
GIMP_HELP_PALETTE_EDITOR_DELETE }
};
static GimpToggleActionEntry palette_editor_toggle_actions[] =
{
{ "palette-editor-edit-active", GIMP_STOCK_LINKED,
N_("Edit Active Palette"), NULL, NULL,
G_CALLBACK (data_editor_edit_active_cmd_callback),
FALSE,
GIMP_HELP_PALETTE_EDITOR_EDIT_ACTIVE }
};
static GimpEnumActionEntry palette_editor_new_actions[] =
{
{ "palette-editor-new-color-fg", GTK_STOCK_NEW,
@ -100,6 +110,10 @@ palette_editor_actions_setup (GimpActionGroup *group)
palette_editor_actions,
G_N_ELEMENTS (palette_editor_actions));
gimp_action_group_add_toggle_actions (group,
palette_editor_toggle_actions,
G_N_ELEMENTS (palette_editor_toggle_actions));
gimp_action_group_add_enum_actions (group,
palette_editor_new_actions,
G_N_ELEMENTS (palette_editor_new_actions),
@ -122,6 +136,7 @@ palette_editor_actions_update (GimpActionGroup *group,
gboolean editable = FALSE;
GimpRGB fg;
GimpRGB bg;
gboolean edit_active = FALSE;
context = gimp_get_user_context (group->gimp);
@ -139,8 +154,12 @@ palette_editor_actions_update (GimpActionGroup *group,
gimp_context_get_background (context, &bg);
}
edit_active = gimp_data_editor_get_edit_active (data_editor);
#define SET_SENSITIVE(action,condition) \
gimp_action_group_set_action_sensitive (group, action, (condition) != 0)
#define SET_ACTIVE(action,condition) \
gimp_action_group_set_action_active (group, action, (condition) != 0)
#define SET_COLOR(action,color) \
gimp_action_group_set_action_color (group, action, color, FALSE);
@ -157,6 +176,9 @@ palette_editor_actions_update (GimpActionGroup *group,
SET_SENSITIVE ("palette-editor-zoom-in", data);
SET_SENSITIVE ("palette-editor-zoom-all", data);
SET_ACTIVE ("palette-editor-edit-active", edit_active);
#undef SET_SENSITIVE
#undef SET_ACTIVE
#undef SET_COLOR
}

View File

@ -56,7 +56,7 @@ palette_editor_edit_color_cmd_callback (GtkAction *action,
GimpDataEditor *data_editor = GIMP_DATA_EDITOR (data);
GimpPalette *palette;
if (! (data_editor->data && data_editor->data_editable && editor->color))
if (! (data_editor->data_editable && editor->color))
return;
palette = GIMP_PALETTE (data_editor->data);
@ -71,7 +71,7 @@ palette_editor_edit_color_cmd_callback (GtkAction *action,
GTK_WIDGET (editor),
gimp_dialog_factory_from_name ("toplevel"),
"gimp-palette-editor-color-dialog",
(const GimpRGB *) &editor->color->color,
&editor->color->color,
FALSE, FALSE);
g_signal_connect (editor->color_dialog, "destroy",
@ -101,7 +101,7 @@ palette_editor_new_color_cmd_callback (GtkAction *action,
GimpPaletteEditor *editor = GIMP_PALETTE_EDITOR (data);
GimpDataEditor *data_editor = GIMP_DATA_EDITOR (data);
if (data_editor->data && data_editor->data_editable)
if (data_editor->data_editable)
{
GimpPalette *palette = GIMP_PALETTE (data_editor->data);
GimpContext *context;
@ -114,7 +114,7 @@ palette_editor_new_color_cmd_callback (GtkAction *action,
else
gimp_context_get_foreground (context, &color);
editor->color = gimp_palette_add_entry (palette, NULL, &color);
editor->color = gimp_palette_add_entry (palette, -1, NULL, &color);
}
}
@ -125,7 +125,7 @@ palette_editor_delete_color_cmd_callback (GtkAction *action,
GimpPaletteEditor *editor = GIMP_PALETTE_EDITOR (data);
GimpDataEditor *data_editor = GIMP_DATA_EDITOR (data);
if (data_editor->data && data_editor->data_editable && editor->color)
if (data_editor->data_editable && editor->color)
{
GimpPalette *palette = GIMP_PALETTE (data_editor->data);

View File

@ -47,43 +47,49 @@ static GimpActionEntry palettes_actions[] =
{ "palettes-new", GTK_STOCK_NEW,
N_("_New Palette"), "",
N_("New palette"),
G_CALLBACK (data_new_data_cmd_callback),
G_CALLBACK (data_new_cmd_callback),
GIMP_HELP_PALETTE_NEW },
{ "palettes-import", GTK_STOCK_CONVERT,
N_("_Import Palette..."), "",
N_("Import palette"),
G_CALLBACK (palettes_import_palette_cmd_callback),
G_CALLBACK (palettes_import_cmd_callback),
GIMP_HELP_PALETTE_IMPORT },
{ "palettes-duplicate", GIMP_STOCK_DUPLICATE,
N_("D_uplicate Palette"), NULL,
N_("Duplicate palette"),
G_CALLBACK (data_duplicate_data_cmd_callback),
G_CALLBACK (data_duplicate_cmd_callback),
GIMP_HELP_PALETTE_DUPLICATE },
{ "palettes-merge", NULL,
N_("_Merge Palettes..."), NULL,
N_("Merge palettes"),
G_CALLBACK (palettes_merge_palettes_cmd_callback),
G_CALLBACK (palettes_merge_cmd_callback),
GIMP_HELP_PALETTE_MERGE },
{ "palettes-copy-location", GTK_STOCK_COPY,
N_("Copy Palette _Location"), "",
N_("Copy palette file location to clipboard"),
G_CALLBACK (data_copy_location_cmd_callback),
GIMP_HELP_PALETTE_COPY_LOCATION },
{ "palettes-delete", GTK_STOCK_DELETE,
N_("_Delete Palette"), "",
N_("Delete palette"),
G_CALLBACK (data_delete_data_cmd_callback),
G_CALLBACK (data_delete_cmd_callback),
GIMP_HELP_PALETTE_DELETE },
{ "palettes-refresh", GTK_STOCK_REFRESH,
N_("_Refresh Palettes"), "",
N_("Refresh palettes"),
G_CALLBACK (data_refresh_data_cmd_callback),
G_CALLBACK (data_refresh_cmd_callback),
GIMP_HELP_PALETTE_REFRESH }
};
static GimpStringActionEntry palettes_edit_actions[] =
{
{ "palettes-edit", GIMP_STOCK_EDIT,
{ "palettes-edit", GTK_STOCK_EDIT,
N_("_Edit Palette..."), NULL,
N_("Edit palette"),
"gimp-palette-editor",
@ -101,7 +107,7 @@ palettes_actions_setup (GimpActionGroup *group)
gimp_action_group_add_string_actions (group,
palettes_edit_actions,
G_N_ELEMENTS (palettes_edit_actions),
G_CALLBACK (data_edit_data_cmd_callback));
G_CALLBACK (data_edit_cmd_callback));
}
void
@ -123,10 +129,11 @@ palettes_actions_update (GimpActionGroup *group,
#define SET_SENSITIVE(action,condition) \
gimp_action_group_set_action_sensitive (group, action, (condition) != 0)
SET_SENSITIVE ("palettes-edit", palette);
SET_SENSITIVE ("palettes-duplicate", palette && GIMP_DATA_GET_CLASS (data)->duplicate);
SET_SENSITIVE ("palettes-merge", FALSE); /* FIXME palette && GIMP_IS_CONTAINER_LIST_VIEW (editor->view)); */
SET_SENSITIVE ("palettes-delete", palette && data->deletable);
SET_SENSITIVE ("palettes-edit", palette);
SET_SENSITIVE ("palettes-duplicate", palette && GIMP_DATA_GET_CLASS (data)->duplicate);
SET_SENSITIVE ("palettes-merge", FALSE); /* FIXME palette && GIMP_IS_CONTAINER_LIST_VIEW (editor->view)); */
SET_SENSITIVE ("palettes-copy-location", palette && data->filename);
SET_SENSITIVE ("palettes-delete", palette && data->deletable);
#undef SET_SENSITIVE
}

View File

@ -43,16 +43,16 @@
/* local function prototypes */
static void palettes_merge_palettes_callback (GtkWidget *widget,
const gchar *palette_name,
gpointer data);
static void palettes_merge_callback (GtkWidget *widget,
const gchar *palette_name,
gpointer data);
/* public functionss */
void
palettes_import_palette_cmd_callback (GtkAction *action,
gpointer data)
palettes_import_cmd_callback (GtkAction *action,
gpointer data)
{
GimpContainerEditor *editor = GIMP_CONTAINER_EDITOR (data);
GimpContext *context;
@ -63,8 +63,8 @@ palettes_import_palette_cmd_callback (GtkAction *action,
}
void
palettes_merge_palettes_cmd_callback (GtkAction *action,
gpointer data)
palettes_merge_cmd_callback (GtkAction *action,
gpointer data)
{
GimpContainerEditor *editor = GIMP_CONTAINER_EDITOR (data);
GtkWidget *dialog;
@ -76,7 +76,7 @@ palettes_merge_palettes_cmd_callback (GtkAction *action,
_("Enter a name for the merged palette"),
NULL,
G_OBJECT (editor), "destroy",
palettes_merge_palettes_callback,
palettes_merge_callback,
editor);
gtk_widget_show (dialog);
}
@ -85,12 +85,12 @@ palettes_merge_palettes_cmd_callback (GtkAction *action,
/* private functions */
static void
palettes_merge_palettes_callback (GtkWidget *widget,
const gchar *palette_name,
gpointer data)
palettes_merge_callback (GtkWidget *widget,
const gchar *palette_name,
gpointer data)
{
#ifdef __GNUC__
#warning FIXME: reimplement palettes_merge_palettes_callback()
#warning FIXME: reimplement palettes_merge_callback()
#endif
#if 0
GimpContainerEditor *editor;

View File

@ -20,10 +20,10 @@
#define __PALETTES_COMMANDS_H__
void palettes_import_palette_cmd_callback (GtkAction *action,
gpointer data);
void palettes_merge_palettes_cmd_callback (GtkAction *action,
gpointer data);
void palettes_import_cmd_callback (GtkAction *action,
gpointer data);
void palettes_merge_cmd_callback (GtkAction *action,
gpointer data);
#endif /* __PALETTES_COMMANDS_H__ */

View File

@ -43,34 +43,46 @@ static GimpActionEntry patterns_actions[] =
N_("Patterns Menu"), NULL, NULL, NULL,
GIMP_HELP_PATTERN_DIALOG },
{ "patterns-open-as-image", GTK_STOCK_OPEN,
N_("_Open Pattern as Image"), "",
N_("Open pattern as image"),
G_CALLBACK (data_open_as_image_cmd_callback),
GIMP_HELP_PATTERN_OPEN_AS_IMAGE },
{ "patterns-new", GTK_STOCK_NEW,
N_("_New Pattern"), "",
N_("New pattern"),
G_CALLBACK (data_new_data_cmd_callback),
G_CALLBACK (data_new_cmd_callback),
GIMP_HELP_PATTERN_NEW },
{ "patterns-duplicate", GIMP_STOCK_DUPLICATE,
N_("D_uplicate Pattern"), NULL,
N_("Duplicate pattern"),
G_CALLBACK (data_duplicate_data_cmd_callback),
G_CALLBACK (data_duplicate_cmd_callback),
GIMP_HELP_PATTERN_DUPLICATE },
{ "patterns-copy-location", GTK_STOCK_COPY,
N_("Copy Pattern _Location"), "",
N_("Copy pattern file location to clipboard"),
G_CALLBACK (data_copy_location_cmd_callback),
GIMP_HELP_PATTERN_COPY_LOCATION },
{ "patterns-delete", GTK_STOCK_DELETE,
N_("_Delete Pattern..."), "",
N_("_Delete Pattern"), "",
N_("Delete pattern"),
G_CALLBACK (data_delete_data_cmd_callback),
G_CALLBACK (data_delete_cmd_callback),
GIMP_HELP_PATTERN_DELETE },
{ "patterns-refresh", GTK_STOCK_REFRESH,
N_("_Refresh Patterns"), "",
N_("Refresh patterns"),
G_CALLBACK (data_refresh_data_cmd_callback),
G_CALLBACK (data_refresh_cmd_callback),
GIMP_HELP_PATTERN_REFRESH }
};
static GimpStringActionEntry patterns_edit_actions[] =
{
{ "patterns-edit", GIMP_STOCK_EDIT,
{ "patterns-edit", GTK_STOCK_EDIT,
N_("_Edit Pattern..."), NULL,
N_("Edit pattern"),
"gimp-pattern-editor",
@ -88,7 +100,7 @@ patterns_actions_setup (GimpActionGroup *group)
gimp_action_group_add_string_actions (group,
patterns_edit_actions,
G_N_ELEMENTS (patterns_edit_actions),
G_CALLBACK (data_edit_data_cmd_callback));
G_CALLBACK (data_edit_cmd_callback));
}
void
@ -110,9 +122,11 @@ patterns_actions_update (GimpActionGroup *group,
#define SET_SENSITIVE(action,condition) \
gimp_action_group_set_action_sensitive (group, action, (condition) != 0)
SET_SENSITIVE ("patterns-edit", pattern && FALSE);
SET_SENSITIVE ("patterns-duplicate", pattern && GIMP_DATA_GET_CLASS (data)->duplicate);
SET_SENSITIVE ("patterns-delete", pattern && data->deletable);
SET_SENSITIVE ("patterns-edit", pattern && FALSE);
SET_SENSITIVE ("patterns-open-as-image", pattern && data->filename);
SET_SENSITIVE ("patterns-duplicate", pattern && GIMP_DATA_GET_CLASS (data)->duplicate);
SET_SENSITIVE ("patterns-copy-location", pattern && data->filename);
SET_SENSITIVE ("patterns-delete", pattern && data->deletable);
#undef SET_SENSITIVE
}

View File

@ -59,30 +59,26 @@ static void plug_in_actions_build_path (GimpActionGroup *group,
static GimpActionEntry plug_in_actions[] =
{
{ "plug-in-menu", NULL, N_("Filte_rs") },
{ "plug-in-blur-menu", NULL, N_("_Blur") },
{ "plug-in-colors-menu", NULL, N_("_Colors") },
{ "plug-in-colors-map-menu", NULL, N_("Ma_p") },
{ "plug-in-noise-menu", NULL, N_("_Noise") },
{ "plug-in-edge-detect-menu", NULL, N_("Edge-De_tect") },
{ "plug-in-enhance-menu", NULL, N_("En_hance") },
{ "plug-in-generic-menu", NULL, N_("_Generic") },
{ "plug-in-glass-effects-menu", NULL, N_("Gla_ss Effects") },
{ "plug-in-light-effects-menu", NULL, N_("_Light Effects") },
{ "plug-in-distorts-menu", NULL, N_("_Distorts") },
{ "plug-in-artistic-menu", NULL, N_("_Artistic") },
{ "plug-in-map-menu", NULL, N_("_Map") },
{ "plug-in-render-menu", NULL, N_("_Render") },
{ "plug-in-render-clouds-menu", NULL, N_("_Clouds") },
{ "plug-in-render-nature-menu", NULL, N_("_Nature") },
{ "plug-in-render-pattern-menu", NULL, N_("_Pattern") },
{ "plug-in-web-menu", NULL, N_("_Web") },
{ "plug-in-animation-menu", NULL, N_("An_imation") },
{ "plug-in-combine-menu", NULL, N_("C_ombine") },
{ "plug-in-toys-menu", NULL, N_("To_ys") },
{ "plug-in-menu", NULL, N_("Filte_rs") },
{ "plug-in-blur-menu", NULL, N_("_Blur") },
{ "plug-in-noise-menu", NULL, N_("_Noise") },
{ "plug-in-edge-detect-menu", NULL, N_("Edge-De_tect") },
{ "plug-in-enhance-menu", NULL, N_("En_hance") },
{ "plug-in-combine-menu", NULL, N_("C_ombine") },
{ "plug-in-generic-menu", NULL, N_("_Generic") },
{ "plug-in-light-shadow-menu", NULL, N_("_Light and Shadow") },
{ "plug-in-distorts-menu", NULL, N_("_Distorts") },
{ "plug-in-artistic-menu", NULL, N_("_Artistic") },
{ "plug-in-map-menu", NULL, N_("_Map") },
{ "plug-in-render-menu", NULL, N_("_Render") },
{ "plug-in-render-clouds-menu", NULL, N_("_Clouds") },
{ "plug-in-render-nature-menu", NULL, N_("_Nature") },
{ "plug-in-render-pattern-menu", NULL, N_("_Pattern") },
{ "plug-in-web-menu", NULL, N_("_Web") },
{ "plug-in-animation-menu", NULL, N_("An_imation") },
{ "plug-in-reset-all", GIMP_STOCK_RESET,
N_("Reset all Filters..."), NULL, NULL,
N_("Reset all _Filters"), NULL, NULL,
G_CALLBACK (plug_in_reset_all_cmd_callback),
GIMP_HELP_FILTER_RESET_ALL }
};
@ -90,12 +86,12 @@ static GimpActionEntry plug_in_actions[] =
static GimpEnumActionEntry plug_in_repeat_actions[] =
{
{ "plug-in-repeat", GTK_STOCK_EXECUTE,
N_("Repeat Last"), "<control>F", NULL,
N_("Re_peat Last"), "<control>F", NULL,
FALSE, FALSE,
GIMP_HELP_FILTER_REPEAT },
{ "plug-in-reshow", GIMP_STOCK_RESHOW_FILTER,
N_("Re-Show Last"), "<control><shift>F", NULL,
N_("R_e-Show Last"), "<control><shift>F", NULL,
TRUE, FALSE,
GIMP_HELP_FILTER_RESHOW }
};
@ -117,6 +113,18 @@ plug_in_actions_setup (GimpActionGroup *group)
G_N_ELEMENTS (plug_in_repeat_actions),
G_CALLBACK (plug_in_repeat_cmd_callback));
for (list = group->gimp->plug_in_menu_branches;
list;
list = g_slist_next (list))
{
PlugInMenuBranch *branch = list->data;
plug_in_actions_add_branch (group,
branch->prog_name,
branch->menu_path,
branch->menu_label);
}
for (list = group->gimp->plug_in_proc_defs;
list;
list = g_slist_next (list))
@ -136,6 +144,7 @@ plug_in_actions_setup (GimpActionGroup *group)
g_signal_connect_object (group->gimp, "last-plug-in-changed",
G_CALLBACK (plug_in_actions_last_changed),
group, 0);
plug_in_actions_last_changed (group->gimp, group);
}
@ -284,7 +293,7 @@ plug_in_actions_add_path (GimpActionGroup *group,
{
const gchar *progname;
const gchar *locale_domain;
gchar *path_translated = NULL;
const gchar *path_translated;
g_return_if_fail (GIMP_IS_ACTION_GROUP (group));
g_return_if_fail (proc_def != NULL);
@ -325,6 +334,39 @@ plug_in_actions_remove_proc (GimpActionGroup *group,
}
}
void
plug_in_actions_add_branch (GimpActionGroup *group,
const gchar *progname,
const gchar *menu_path,
const gchar *menu_label)
{
const gchar *locale_domain;
const gchar *path_translated;
const gchar *label_translated;
gchar *full;
gchar *full_translated;
g_return_if_fail (GIMP_IS_ACTION_GROUP (group));
g_return_if_fail (menu_path != NULL);
g_return_if_fail (menu_label != NULL);
locale_domain = plug_ins_locale_domain (group->gimp, progname, NULL);
path_translated = dgettext (locale_domain, menu_path);
label_translated = dgettext (locale_domain, menu_label);
full = g_strconcat (menu_path, "/", menu_label, NULL);
full_translated = g_strconcat (path_translated, "/", label_translated, NULL);
if (plug_in_actions_check_translation (full, full_translated))
plug_in_actions_build_path (group, full, full_translated);
else
plug_in_actions_build_path (group, full, full);
g_free (full_translated);
g_free (full);
}
/* private functions */
@ -342,12 +384,12 @@ plug_in_actions_last_changed (Gimp *gimp,
gchar *reshow;
progname = plug_in_proc_def_get_progname (proc_def);
domain = plug_ins_locale_domain (group->gimp, progname, NULL);
domain = plug_ins_locale_domain (gimp, progname, NULL);
label = plug_in_proc_def_get_label (proc_def, domain);
repeat = g_strdup_printf (_("Re_peat \"%s\""), label);
reshow = g_strdup_printf (_("R_e-show \"%s\""), label);
reshow = g_strdup_printf (_("R_e-Show \"%s\""), label);
g_free (label);
@ -364,6 +406,9 @@ plug_in_actions_last_changed (Gimp *gimp,
gimp_action_group_set_action_label (group, "plug-in-reshow",
_("Re-Show Last"));
}
/* update sensitivity of the "plug-in-repeat" and "plug-in-reshow" actions */
plug_in_actions_update (group, gimp);
}
static gboolean
@ -430,6 +475,8 @@ plug_in_actions_build_path (GimpActionGroup *group,
const gchar *path_translated)
{
GHashTable *path_table;
gchar *copy_original;
gchar *copy_translated;
gchar *p1, *p2;
path_table = g_object_get_data (G_OBJECT (group), "plug-in-path-table");
@ -444,13 +491,14 @@ plug_in_actions_build_path (GimpActionGroup *group,
(GDestroyNotify) g_hash_table_destroy);
}
p1 = strrchr (path_original, '/');
p2 = strrchr (path_translated, '/');
copy_original = gimp_strip_uline (path_original);
copy_translated = g_strdup (path_translated);
if (p1 && p2 && ! g_hash_table_lookup (path_table, path_original))
p1 = strrchr (copy_original, '/');
p2 = strrchr (copy_translated, '/');
if (p1 && p2 && ! g_hash_table_lookup (path_table, copy_original))
{
gchar *copy_original = g_strdup (path_original);
gchar *copy_translated = g_strdup (path_translated);
gchar *label;
GtkAction *action;
@ -458,24 +506,21 @@ plug_in_actions_build_path (GimpActionGroup *group,
#if 0
g_print ("adding plug-in submenu '%s' (%s)\n",
path_original, label);
copy_original, label);
#endif
action = gtk_action_new (path_original, label, NULL, NULL);
action = gtk_action_new (copy_original, label, NULL, NULL);
gtk_action_group_add_action (GTK_ACTION_GROUP (group), action);
g_object_unref (action);
g_hash_table_insert (path_table, g_strdup (path_original), action);
p1 = strrchr (copy_original, '/');
p2 = strrchr (copy_translated, '/');
g_hash_table_insert (path_table, g_strdup (copy_original), action);
*p1 = '\0';
*p2 = '\0';
plug_in_actions_build_path (group, copy_original, copy_translated);
g_free (copy_original);
g_free (copy_translated);
}
g_free (copy_original);
g_free (copy_translated);
}

View File

@ -32,5 +32,10 @@ void plug_in_actions_add_path (GimpActionGroup *group,
void plug_in_actions_remove_proc (GimpActionGroup *group,
PlugInProcDef *proc_def);
void plug_in_actions_add_branch (GimpActionGroup *group,
const gchar *progname,
const gchar *menu_path,
const gchar *menu_label);
#endif /* __PLUG_IN_ACTIONS_H__ */

View File

@ -61,13 +61,12 @@ plug_in_run_cmd_callback (GtkAction *action,
PlugInProcDef *proc_def,
gpointer data)
{
Gimp *gimp;
ProcRecord *proc_rec;
Argument *args;
GimpDisplay *gdisp = NULL;
gint gdisp_ID = -1;
gint i;
gint argc;
Gimp *gimp;
ProcRecord *proc_rec;
Argument *args;
gint n_args = 0;
GimpDisplay *gdisp = NULL;
gint i;
gimp = action_data_get_gimp (data);
if (! gimp)
@ -83,8 +82,8 @@ plug_in_run_cmd_callback (GtkAction *action,
args[i].arg_type = proc_rec->args[i].arg_type;
/* initialize the first argument */
args[0].value.pdb_int = GIMP_RUN_INTERACTIVE;
argc = 1;
args[n_args].value.pdb_int = GIMP_RUN_INTERACTIVE;
n_args++;
switch (proc_rec->proc_type)
{
@ -93,20 +92,18 @@ plug_in_run_cmd_callback (GtkAction *action,
case GIMP_PLUGIN:
case GIMP_TEMPORARY:
if (proc_rec->num_args >= 2 &&
proc_rec->args[1].arg_type == GIMP_PDB_IMAGE)
if (proc_rec->num_args > n_args &&
proc_rec->args[n_args].arg_type == GIMP_PDB_IMAGE)
{
gdisp = action_data_get_display (data);
if (gdisp)
{
gdisp_ID = gimp_display_get_ID (gdisp);
args[n_args].value.pdb_int = gimp_image_get_ID (gdisp->gimage);
n_args++;
args[1].value.pdb_int = gimp_image_get_ID (gdisp->gimage);
argc++;
if (proc_rec->num_args >= 2 &&
proc_rec->args[2].arg_type == GIMP_PDB_DRAWABLE)
if (proc_rec->num_args > n_args &&
proc_rec->args[n_args].arg_type == GIMP_PDB_DRAWABLE)
{
GimpDrawable *drawable;
@ -114,9 +111,9 @@ plug_in_run_cmd_callback (GtkAction *action,
if (drawable)
{
args[2].value.pdb_int =
args[n_args].value.pdb_int =
gimp_item_get_ID (GIMP_ITEM (drawable));
argc++;
n_args++;
}
else
{
@ -137,8 +134,9 @@ plug_in_run_cmd_callback (GtkAction *action,
/* run the plug-in procedure */
plug_in_run (gimp, gimp_get_user_context (gimp),
gdisp ? GIMP_PROGRESS (gdisp) : NULL,
proc_rec, args, argc, FALSE, TRUE, gdisp_ID);
GIMP_PROGRESS (gdisp),
proc_rec, args, n_args, FALSE, TRUE,
gdisp ? gimp_display_get_ID (gdisp) : -1);
/* remember only "standard" plug-ins */
if (proc_rec->proc_type == GIMP_PLUGIN &&
@ -199,6 +197,11 @@ plug_in_reset_all_cmd_callback (GtkAction *action,
NULL);
gtk_dialog_set_alternative_button_order (GTK_DIALOG (dialog),
GTK_RESPONSE_OK,
GTK_RESPONSE_CANCEL,
-1);
g_signal_connect (dialog, "response",
G_CALLBACK (plug_in_reset_all_response),
gimp);

View File

@ -1,146 +0,0 @@
/* The GIMP -- an image manipulation program
* Copyright (C) 1995 Spencer Kimball and Peter Mattis
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
#include "config.h"
#include <gtk/gtk.h>
#include "libgimpwidgets/gimpwidgets.h"
#include "actions-types.h"
#include "core/gimpimage.h"
#include "widgets/gimpactiongroup.h"
#include "widgets/gimphelp-ids.h"
#include "actions.h"
#include "qmask-actions.h"
#include "qmask-commands.h"
#include "gimp-intl.h"
static GimpActionEntry qmask_actions[] =
{
{ "qmask-popup", NULL,
N_("Quick Mask Menu"), NULL, NULL, NULL,
GIMP_HELP_QMASK },
{ "qmask-configure", NULL,
N_("_Configure Color and Opacity..."), NULL, NULL,
G_CALLBACK (qmask_configure_cmd_callback),
GIMP_HELP_QMASK_EDIT }
};
static GimpToggleActionEntry qmask_toggle_actions[] =
{
{ "qmask-active", NULL,
N_("_Quick Mask Active"), NULL, NULL,
G_CALLBACK (qmask_toggle_cmd_callback),
FALSE,
GIMP_HELP_QMASK_TOGGLE },
{ "qmask-toggle", GIMP_STOCK_QMASK_ON,
N_("Toggle _Quick Mask"), "<shift>Q", NULL,
G_CALLBACK (qmask_toggle_cmd_callback),
FALSE,
GIMP_HELP_QMASK_TOGGLE }
};
static GimpRadioActionEntry qmask_invert_actions[] =
{
{ "qmask-invert-on", NULL,
N_("Mask _Selected Areas"), NULL, NULL,
TRUE,
GIMP_HELP_QMASK_INVERT },
{ "qmask-invert-off", NULL,
N_("Mask _Unselected Areas"), NULL, NULL,
FALSE,
GIMP_HELP_QMASK_INVERT }
};
void
qmask_actions_setup (GimpActionGroup *group)
{
GtkAction *action;
gimp_action_group_add_actions (group,
qmask_actions,
G_N_ELEMENTS (qmask_actions));
gimp_action_group_add_toggle_actions (group,
qmask_toggle_actions,
G_N_ELEMENTS (qmask_toggle_actions));
gimp_action_group_add_radio_actions (group,
qmask_invert_actions,
G_N_ELEMENTS (qmask_invert_actions),
FALSE,
G_CALLBACK (qmask_invert_cmd_callback));
action = gtk_action_group_get_action (GTK_ACTION_GROUP (group),
"qmask-active");
gtk_action_set_accel_path (action, "<Actions>/qmask/qmask-toggle");
#ifdef __GNUC__
#warning FIXME: remove accel_path hack
#endif
g_object_set_data (G_OBJECT (action), "gimp-accel-path",
"<Actions>/qmask/qmask-toggle");
}
void
qmask_actions_update (GimpActionGroup *group,
gpointer data)
{
GimpImage *gimage = action_data_get_image (data);
#define SET_SENSITIVE(action,sensitive) \
gimp_action_group_set_action_sensitive (group, action, (sensitive) != 0)
#define SET_ACTIVE(action,active) \
gimp_action_group_set_action_active (group, action, (active) != 0)
#define SET_COLOR(action,color) \
gimp_action_group_set_action_color (group, action, (color), FALSE)
SET_SENSITIVE ("qmask-active", gimage);
SET_SENSITIVE ("qmask-toggle", gimage);
SET_ACTIVE ("qmask-active", gimage && gimage->qmask_state);
SET_ACTIVE ("qmask-toggle", gimage && gimage->qmask_state);
SET_SENSITIVE ("qmask-invert-on", gimage);
SET_SENSITIVE ("qmask-invert-off", gimage);
if (gimage && gimage->qmask_inverted)
SET_ACTIVE ("qmask-invert-on", TRUE);
else
SET_ACTIVE ("qmask-invert-off", TRUE);
SET_SENSITIVE ("qmask-configure", gimage);
if (gimage)
SET_COLOR ("qmask-configure", &gimage->qmask_color);
#undef SET_SENSITIVE
#undef SET_ACTIVE
#undef SET_COLOR
}

View File

@ -0,0 +1,125 @@
/* The GIMP -- an image manipulation program
* Copyright (C) 1995 Spencer Kimball and Peter Mattis
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
#include "config.h"
#include <gtk/gtk.h>
#include "libgimpwidgets/gimpwidgets.h"
#include "actions-types.h"
#include "core/gimpimage.h"
#include "widgets/gimpactiongroup.h"
#include "widgets/gimphelp-ids.h"
#include "actions.h"
#include "quick-mask-actions.h"
#include "quick-mask-commands.h"
#include "gimp-intl.h"
static GimpActionEntry quick_mask_actions[] =
{
{ "quick-mask-popup", NULL,
N_("Quick Mask Menu"), NULL, NULL, NULL,
GIMP_HELP_QUICK_MASK },
{ "quick-mask-configure", NULL,
N_("_Configure Color and Opacity..."), NULL, NULL,
G_CALLBACK (quick_mask_configure_cmd_callback),
GIMP_HELP_QUICK_MASK_EDIT }
};
static GimpToggleActionEntry quick_mask_toggle_actions[] =
{
{ "quick-mask-toggle", GIMP_STOCK_QUICK_MASK_ON,
N_("Toggle _Quick Mask"), "<shift>Q", N_("Toggle Quick Mask"),
G_CALLBACK (quick_mask_toggle_cmd_callback),
FALSE,
GIMP_HELP_QUICK_MASK_TOGGLE }
};
static GimpRadioActionEntry quick_mask_invert_actions[] =
{
{ "quick-mask-invert-on", NULL,
N_("Mask _Selected Areas"), NULL, NULL,
TRUE,
GIMP_HELP_QUICK_MASK_INVERT },
{ "quick-mask-invert-off", NULL,
N_("Mask _Unselected Areas"), NULL, NULL,
FALSE,
GIMP_HELP_QUICK_MASK_INVERT }
};
void
quick_mask_actions_setup (GimpActionGroup *group)
{
gimp_action_group_add_actions (group,
quick_mask_actions,
G_N_ELEMENTS (quick_mask_actions));
gimp_action_group_add_toggle_actions (group,
quick_mask_toggle_actions,
G_N_ELEMENTS (quick_mask_toggle_actions));
gimp_action_group_add_radio_actions (group,
quick_mask_invert_actions,
G_N_ELEMENTS (quick_mask_invert_actions),
NULL,
FALSE,
G_CALLBACK (quick_mask_invert_cmd_callback));
}
void
quick_mask_actions_update (GimpActionGroup *group,
gpointer data)
{
GimpImage *gimage = action_data_get_image (data);
#define SET_SENSITIVE(action,sensitive) \
gimp_action_group_set_action_sensitive (group, action, (sensitive) != 0)
#define SET_ACTIVE(action,active) \
gimp_action_group_set_action_active (group, action, (active) != 0)
#define SET_COLOR(action,color) \
gimp_action_group_set_action_color (group, action, (color), FALSE)
SET_SENSITIVE ("quick-mask-toggle", gimage);
SET_ACTIVE ("quick-mask-toggle", gimage && gimage->quick_mask_state);
SET_SENSITIVE ("quick-mask-invert-on", gimage);
SET_SENSITIVE ("quick-mask-invert-off", gimage);
if (gimage && gimage->quick_mask_inverted)
SET_ACTIVE ("quick-mask-invert-on", TRUE);
else
SET_ACTIVE ("quick-mask-invert-off", TRUE);
SET_SENSITIVE ("quick-mask-configure", gimage);
if (gimage)
SET_COLOR ("quick-mask-configure", &gimage->quick_mask_color);
#undef SET_SENSITIVE
#undef SET_ACTIVE
#undef SET_COLOR
}

View File

@ -0,0 +1,28 @@
/* The GIMP -- an image manipulation program
* Copyright (C) 1995 Spencer Kimball and Peter Mattis
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
#ifndef __QUICK_MASK_ACTIONS_H__
#define __QUICK_MASK_ACTIONS_H__
void quick_mask_actions_setup (GimpActionGroup *group);
void quick_mask_actions_update (GimpActionGroup *group,
gpointer data);
#endif /* __QUICK_MASK_ACTIONS_H__ */

View File

@ -28,30 +28,30 @@
#include "core/gimp.h"
#include "core/gimpchannel.h"
#include "core/gimpimage.h"
#include "core/gimpimage-qmask.h"
#include "core/gimpimage-quick-mask.h"
#include "widgets/gimphelp-ids.h"
#include "dialogs/channel-options-dialog.h"
#include "actions.h"
#include "qmask-commands.h"
#include "quick-mask-commands.h"
#include "gimp-intl.h"
/* local function prototypes */
static void qmask_configure_response (GtkWidget *widget,
gint response_id,
ChannelOptionsDialog *options);
static void quick_mask_configure_response (GtkWidget *widget,
gint response_id,
ChannelOptionsDialog *options);
/* public functionss */
void
qmask_toggle_cmd_callback (GtkAction *action,
gpointer data)
quick_mask_toggle_cmd_callback (GtkAction *action,
gpointer data)
{
GimpImage *gimage;
gboolean active;
@ -59,17 +59,17 @@ qmask_toggle_cmd_callback (GtkAction *action,
active = gtk_toggle_action_get_active (GTK_TOGGLE_ACTION (action));
if (active != gimp_image_get_qmask_state (gimage))
if (active != gimp_image_get_quick_mask_state (gimage))
{
gimp_image_set_qmask_state (gimage, active);
gimp_image_set_quick_mask_state (gimage, active);
gimp_image_flush (gimage);
}
}
void
qmask_invert_cmd_callback (GtkAction *action,
GtkAction *current,
gpointer data)
quick_mask_invert_cmd_callback (GtkAction *action,
GtkAction *current,
gpointer data)
{
GimpImage *gimage;
gint value;
@ -77,16 +77,16 @@ qmask_invert_cmd_callback (GtkAction *action,
value = gtk_radio_action_get_current_value (GTK_RADIO_ACTION (action));
if (value != gimage->qmask_inverted)
if (value != gimage->quick_mask_inverted)
{
gimp_image_qmask_invert (gimage);
gimp_image_quick_mask_invert (gimage);
gimp_image_flush (gimage);
}
}
void
qmask_configure_cmd_callback (GtkAction *action,
gpointer data)
quick_mask_configure_cmd_callback (GtkAction *action,
gpointer data)
{
ChannelOptionsDialog *options;
GimpImage *gimage;
@ -95,7 +95,7 @@ qmask_configure_cmd_callback (GtkAction *action,
return_if_no_image (gimage, data);
return_if_no_widget (widget, data);
gimp_image_get_qmask_color (gimage, &color);
gimp_image_get_quick_mask_color (gimage, &color);
options = channel_options_dialog_new (gimage,
action_data_get_context (data),
@ -104,15 +104,16 @@ qmask_configure_cmd_callback (GtkAction *action,
&color,
NULL,
_("Quick Mask Attributes"),
"gimp-qmask-edit",
GIMP_STOCK_QMASK_ON,
"gimp-quick-mask-edit",
GIMP_STOCK_QUICK_MASK_ON,
_("Edit Quick Mask Attributes"),
GIMP_HELP_QMASK_EDIT,
GIMP_HELP_QUICK_MASK_EDIT,
_("Edit Quick Mask Color"),
_("Mask Opacity:"));
_("_Mask opacity:"),
FALSE);
g_signal_connect (options->dialog, "response",
G_CALLBACK (qmask_configure_response),
G_CALLBACK (quick_mask_configure_response),
options);
gtk_widget_show (options->dialog);
@ -122,22 +123,22 @@ qmask_configure_cmd_callback (GtkAction *action,
/* private functions */
static void
qmask_configure_response (GtkWidget *widget,
gint response_id,
ChannelOptionsDialog *options)
quick_mask_configure_response (GtkWidget *widget,
gint response_id,
ChannelOptionsDialog *options)
{
if (response_id == GTK_RESPONSE_OK)
{
GimpRGB old_color;
GimpRGB new_color;
gimp_image_get_qmask_color (options->gimage, &old_color);
gimp_image_get_quick_mask_color (options->gimage, &old_color);
gimp_color_button_get_color (GIMP_COLOR_BUTTON (options->color_panel),
&new_color);
if (gimp_rgba_distance (&old_color, &new_color) > 0.0001)
{
gimp_image_set_qmask_color (options->gimage, &new_color);
gimp_image_set_quick_mask_color (options->gimage, &new_color);
gimp_image_flush (options->gimage);
}

View File

@ -0,0 +1,32 @@
/* The GIMP -- an image manipulation program
* Copyright (C) 1995 Spencer Kimball and Peter Mattis
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
#ifndef __QUICK_MASK_COMMANDS_H__
#define __QUICK_MASK_COMMANDS_H__
void quick_mask_toggle_cmd_callback (GtkAction *action,
gpointer data);
void quick_mask_invert_cmd_callback (GtkAction *action,
GtkAction *current,
gpointer data);
void quick_mask_configure_cmd_callback (GtkAction *action,
gpointer data);
#endif /* __QUICK_MASK_COMMANDS_H__ */

View File

@ -0,0 +1,80 @@
/* The GIMP -- an image manipulation program
* Copyright (C) 1995 Spencer Kimball and Peter Mattis
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
#include "config.h"
#include <gtk/gtk.h>
#include "libgimpwidgets/gimpwidgets.h"
#include "actions-types.h"
#include "widgets/gimpactiongroup.h"
#include "widgets/gimphelp-ids.h"
#include "widgets/gimpsamplepointeditor.h"
#include "sample-point-editor-actions.h"
#include "sample-point-editor-commands.h"
#include "gimp-intl.h"
static GimpActionEntry sample_point_editor_actions[] =
{
{ "sample-point-editor-popup", GIMP_STOCK_SAMPLE_POINT,
N_("Sample Point Menu"), NULL, NULL, NULL,
GIMP_HELP_SAMPLE_POINT_DIALOG }
};
static GimpToggleActionEntry sample_point_editor_toggle_actions[] =
{
{ "sample-point-editor-sample-merged", NULL,
N_("_Sample Merged"), "",
N_("Sample Merged"),
G_CALLBACK (sample_point_editor_sample_merged_cmd_callback),
TRUE,
GIMP_HELP_SAMPLE_POINT_SAMPLE_MERGED }
};
void
sample_point_editor_actions_setup (GimpActionGroup *group)
{
gimp_action_group_add_actions (group,
sample_point_editor_actions,
G_N_ELEMENTS (sample_point_editor_actions));
gimp_action_group_add_toggle_actions (group,
sample_point_editor_toggle_actions,
G_N_ELEMENTS (sample_point_editor_toggle_actions));
}
void
sample_point_editor_actions_update (GimpActionGroup *group,
gpointer data)
{
GimpSamplePointEditor *editor = GIMP_SAMPLE_POINT_EDITOR (data);
#define SET_ACTIVE(action,condition) \
gimp_action_group_set_action_active (group, action, (condition) != 0)
SET_ACTIVE ("sample-point-editor-sample-merged",
gimp_sample_point_editor_get_sample_merged (editor));
#undef SET_ACTIVE
}

View File

@ -0,0 +1,28 @@
/* The GIMP -- an image manipulation program
* Copyright (C) 1995 Spencer Kimball and Peter Mattis
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
#ifndef __SAMPLE_POINT_EDITOR_ACIONS_H__
#define __SAMPLE_POINT_EDITOR_ACIONS_H__
void sample_point_editor_actions_setup (GimpActionGroup *group);
void sample_point_editor_actions_update (GimpActionGroup *group,
gpointer data);
#endif /* __SAMPLE_POINT_EDITOR_ACTIONS_H__ */

View File

@ -0,0 +1,48 @@
/* The GIMP -- an image manipulation program
* Copyright (C) 1995 Spencer Kimball and Peter Mattis
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
#include "config.h"
#include <gtk/gtk.h>
#include "libgimpbase/gimpbase.h"
#include "libgimpwidgets/gimpwidgets.h"
#include "actions-types.h"
#include "widgets/gimphelp-ids.h"
#include "widgets/gimpsamplepointeditor.h"
#include "sample-point-editor-commands.h"
#include "gimp-intl.h"
/* public functions */
void
sample_point_editor_sample_merged_cmd_callback (GtkAction *action,
gpointer data)
{
GimpSamplePointEditor *editor = GIMP_SAMPLE_POINT_EDITOR (data);
gboolean active;
active = gtk_toggle_action_get_active (GTK_TOGGLE_ACTION (action));
gimp_sample_point_editor_set_sample_merged (editor, active);
}

View File

@ -0,0 +1,27 @@
/* The GIMP -- an image manipulation program
* Copyright (C) 1995 Spencer Kimball and Peter Mattis
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
#ifndef __SAMPLE_POINT_EDITOR_COMMANDS_H__
#define __SAMPLE_POINT_EDITOR_COMMANDS_H__
void sample_point_editor_sample_merged_cmd_callback (GtkAction *action,
gpointer data);
#endif /* __SAMPLE_POINT_EDITOR_COMMANDS_H__ */

View File

@ -51,25 +51,25 @@ static GimpActionEntry templates_actions[] =
{ "templates-new", GTK_STOCK_NEW,
N_("_New Template..."), "",
N_("Create a new template"),
G_CALLBACK (templates_new_template_cmd_callback),
G_CALLBACK (templates_new_cmd_callback),
GIMP_HELP_TEMPLATE_NEW },
{ "templates-duplicate", GIMP_STOCK_DUPLICATE,
N_("D_uplicate Template..."), "",
N_("Duplicate the selected template"),
G_CALLBACK (templates_duplicate_template_cmd_callback),
G_CALLBACK (templates_duplicate_cmd_callback),
GIMP_HELP_TEMPLATE_DUPLICATE },
{ "templates-edit", GIMP_STOCK_EDIT,
{ "templates-edit", GTK_STOCK_EDIT,
N_("_Edit Template..."), "",
N_("Edit the selected template"),
G_CALLBACK (templates_edit_template_cmd_callback),
G_CALLBACK (templates_edit_cmd_callback),
GIMP_HELP_TEMPLATE_EDIT },
{ "templates-delete", GTK_STOCK_DELETE,
N_("_Delete Template"), "",
N_("Delete the selected template"),
G_CALLBACK (templates_delete_template_cmd_callback),
G_CALLBACK (templates_delete_cmd_callback),
GIMP_HELP_TEMPLATE_DELETE }
};

View File

@ -20,12 +20,11 @@
#include <gtk/gtk.h>
#include "libgimpconfig/gimpconfig.h"
#include "libgimpwidgets/gimpwidgets.h"
#include "actions-types.h"
#include "config/gimpconfig.h"
#include "config/gimpconfig-utils.h"
#include "config/gimpcoreconfig.h"
#include "core/gimp.h"
@ -61,15 +60,15 @@ struct _TemplateDeleteData
/* local function prototypes */
static void templates_new_template_response (GtkWidget *dialog,
gint response_id,
TemplateOptionsDialog *options);
static void templates_edit_template_response (GtkWidget *widget,
gint response_id,
TemplateOptionsDialog *options);
static void templates_delete_template_response (GtkWidget *dialog,
gint response_id,
TemplateDeleteData *delete_data);
static void templates_new_response (GtkWidget *dialog,
gint response_id,
TemplateOptionsDialog *options);
static void templates_edit_response (GtkWidget *widget,
gint response_id,
TemplateOptionsDialog *options);
static void templates_delete_response (GtkWidget *dialog,
gint response_id,
TemplateDeleteData *delete_data);
/* public functions */
@ -109,8 +108,8 @@ templates_create_image_cmd_callback (GtkAction *action,
}
void
templates_new_template_cmd_callback (GtkAction *action,
gpointer data)
templates_new_cmd_callback (GtkAction *action,
gpointer data)
{
GimpContainerEditor *editor = GIMP_CONTAINER_EDITOR (data);
GimpContext *context;
@ -127,15 +126,15 @@ templates_new_template_cmd_callback (GtkAction *action,
GIMP_HELP_TEMPLATE_NEW);
g_signal_connect (options->dialog, "response",
G_CALLBACK (templates_new_template_response),
G_CALLBACK (templates_new_response),
options);
gtk_widget_show (options->dialog);
}
void
templates_duplicate_template_cmd_callback (GtkAction *action,
gpointer data)
templates_duplicate_cmd_callback (GtkAction *action,
gpointer data)
{
GimpContainerEditor *editor = GIMP_CONTAINER_EDITOR (data);
GimpContainer *container;
@ -158,13 +157,13 @@ templates_duplicate_template_cmd_callback (GtkAction *action,
GIMP_OBJECT (new_template));
g_object_unref (new_template);
templates_edit_template_cmd_callback (action, data);
templates_edit_cmd_callback (action, data);
}
}
void
templates_edit_template_cmd_callback (GtkAction *action,
gpointer data)
templates_edit_cmd_callback (GtkAction *action,
gpointer data)
{
GimpContainerEditor *editor = GIMP_CONTAINER_EDITOR (data);
GimpContainer *container;
@ -184,12 +183,12 @@ templates_edit_template_cmd_callback (GtkAction *action,
GTK_WIDGET (editor),
_("Edit Template"),
"gimp-template-edit",
GIMP_STOCK_EDIT,
GTK_STOCK_EDIT,
_("Edit Template"),
GIMP_HELP_TEMPLATE_EDIT);
g_signal_connect (options->dialog, "response",
G_CALLBACK (templates_edit_template_response),
G_CALLBACK (templates_edit_response),
options);
gtk_widget_show (options->dialog);
@ -197,8 +196,8 @@ templates_edit_template_cmd_callback (GtkAction *action,
}
void
templates_delete_template_cmd_callback (GtkAction *action,
gpointer data)
templates_delete_cmd_callback (GtkAction *action,
gpointer data)
{
GimpContainerEditor *editor = GIMP_CONTAINER_EDITOR (data);
GimpContainer *container;
@ -230,13 +229,18 @@ templates_delete_template_cmd_callback (GtkAction *action,
NULL);
gtk_dialog_set_alternative_button_order (GTK_DIALOG (dialog),
GTK_RESPONSE_OK,
GTK_RESPONSE_CANCEL,
-1);
g_object_weak_ref (G_OBJECT (dialog), (GWeakNotify) g_free, delete_data);
g_signal_connect_object (template, "disconnect",
G_CALLBACK (gtk_widget_destroy),
dialog, G_CONNECT_SWAPPED);
g_signal_connect (dialog, "response",
G_CALLBACK (templates_delete_template_response),
G_CALLBACK (templates_delete_response),
delete_data);
gimp_message_box_set_primary_text (GIMP_MESSAGE_DIALOG (dialog)->box,
@ -252,9 +256,9 @@ templates_delete_template_cmd_callback (GtkAction *action,
/* private functions */
static void
templates_new_template_response (GtkWidget *dialog,
gint response_id,
TemplateOptionsDialog *options)
templates_new_response (GtkWidget *dialog,
gint response_id,
TemplateOptionsDialog *options)
{
if (response_id == GTK_RESPONSE_OK)
{
@ -270,25 +274,25 @@ templates_new_template_response (GtkWidget *dialog,
}
static void
templates_edit_template_response (GtkWidget *dialog,
gint response_id,
TemplateOptionsDialog *options)
templates_edit_response (GtkWidget *dialog,
gint response_id,
TemplateOptionsDialog *options)
{
if (response_id == GTK_RESPONSE_OK)
{
GimpTemplateEditor *editor = GIMP_TEMPLATE_EDITOR (options->editor);
gimp_config_sync (GIMP_CONFIG (editor->template),
GIMP_CONFIG (options->template), 0);
gimp_config_sync (G_OBJECT (editor->template),
G_OBJECT (options->template), 0);
}
gtk_widget_destroy (dialog);
}
static void
templates_delete_template_response (GtkWidget *dialog,
gint response_id,
TemplateDeleteData *delete_data)
templates_delete_response (GtkWidget *dialog,
gint response_id,
TemplateDeleteData *delete_data)
{
if (response_id == GTK_RESPONSE_OK)
{

View File

@ -20,16 +20,16 @@
#define __TEMPLATES_COMMANDS_H__
void templates_create_image_cmd_callback (GtkAction *action,
gpointer data);
void templates_new_template_cmd_callback (GtkAction *action,
gpointer data);
void templates_duplicate_template_cmd_callback (GtkAction *action,
gpointer data);
void templates_edit_template_cmd_callback (GtkAction *action,
gpointer data);
void templates_delete_template_cmd_callback (GtkAction *action,
gpointer data);
void templates_create_image_cmd_callback (GtkAction *action,
gpointer data);
void templates_new_cmd_callback (GtkAction *action,
gpointer data);
void templates_duplicate_cmd_callback (GtkAction *action,
gpointer data);
void templates_edit_cmd_callback (GtkAction *action,
gpointer data);
void templates_delete_cmd_callback (GtkAction *action,
gpointer data);
#endif /* __TEMPLATES_COMMANDS_H__ */

View File

@ -36,7 +36,7 @@
static GimpActionEntry text_editor_actions[] =
{
{ "text-editor-toolbar", GIMP_STOCK_EDIT,
{ "text-editor-toolbar", GTK_STOCK_EDIT,
"Text Editor Toolbar", NULL, NULL, NULL,
GIMP_HELP_TEXT_EDITOR_DIALOG },
@ -79,6 +79,7 @@ text_editor_actions_setup (GimpActionGroup *group)
gimp_action_group_add_radio_actions (group,
text_editor_direction_actions,
G_N_ELEMENTS (text_editor_direction_actions),
NULL,
GIMP_TEXT_DIRECTION_LTR,
G_CALLBACK (text_editor_direction_cmd_callback));
}

View File

@ -68,6 +68,11 @@ text_editor_load_cmd_callback (GtkAction *action,
chooser = GTK_FILE_CHOOSER (editor->file_dialog);
gtk_dialog_set_alternative_button_order (GTK_DIALOG (editor->file_dialog),
GTK_RESPONSE_OK,
GTK_RESPONSE_CANCEL,
-1);
g_object_add_weak_pointer (G_OBJECT (chooser),
(gpointer) &editor->file_dialog);
@ -78,7 +83,7 @@ text_editor_load_cmd_callback (GtkAction *action,
g_signal_connect (chooser, "response",
G_CALLBACK (text_editor_load_response),
editor);
g_signal_connect (chooser, "delete_event",
g_signal_connect (chooser, "delete-event",
G_CALLBACK (gtk_true),
NULL);

View File

@ -57,14 +57,14 @@ static GimpActionEntry tool_options_actions[] =
GIMP_HELP_TOOL_OPTIONS_DIALOG },
{ "tool-options-save-menu", GTK_STOCK_SAVE,
N_("_Save Options to"), "", NULL, NULL,
N_("_Save Options To"), "", NULL, NULL,
GIMP_HELP_TOOL_OPTIONS_SAVE },
{ "tool-options-restore-menu", GTK_STOCK_REVERT_TO_SAVED,
N_("_Restore Options from"), "", NULL, NULL,
N_("_Restore Options From"), "", NULL, NULL,
GIMP_HELP_TOOL_OPTIONS_RESTORE },
{ "tool-options-rename-menu", GIMP_STOCK_EDIT,
{ "tool-options-rename-menu", GTK_STOCK_EDIT,
N_("Re_name Saved Options"), NULL, NULL, NULL,
GIMP_HELP_TOOL_OPTIONS_RENAME },
@ -84,7 +84,7 @@ static GimpActionEntry tool_options_actions[] =
GIMP_HELP_TOOL_OPTIONS_RESET },
{ "tool-options-reset-all", GIMP_STOCK_RESET,
N_("Reset _all Tool Options..."), "",
N_("Reset _all Tool Options"), "",
N_("Reset all tool options"),
G_CALLBACK (tool_options_reset_all_cmd_callback),
GIMP_HELP_TOOL_OPTIONS_RESET }
@ -95,8 +95,8 @@ static GimpActionEntry tool_options_actions[] =
#define SET_VISIBLE(action,condition) \
gimp_action_group_set_action_visible (group, action, (condition) != 0)
#define SET_IMPORTANT(action,condition) \
gimp_action_group_set_action_important (group, action, (condition) != 0)
#define SET_HIDE_EMPTY(action,condition) \
gimp_action_group_set_action_hide_empty (group, action, (condition) != 0)
void
tool_options_actions_setup (GimpActionGroup *group)
@ -105,9 +105,9 @@ tool_options_actions_setup (GimpActionGroup *group)
tool_options_actions,
G_N_ELEMENTS (tool_options_actions));
SET_IMPORTANT ("tool-options-restore-menu", TRUE);
SET_IMPORTANT ("tool-options-rename-menu", TRUE);
SET_IMPORTANT ("tool-options-delete-menu", TRUE);
SET_HIDE_EMPTY ("tool-options-restore-menu", FALSE);
SET_HIDE_EMPTY ("tool-options-rename-menu", FALSE);
SET_HIDE_EMPTY ("tool-options-delete-menu", FALSE);
}
void
@ -136,7 +136,7 @@ tool_options_actions_update (GimpActionGroup *group,
tool_options_actions_update_presets (group, "tool-options-rename-",
G_CALLBACK (tool_options_rename_saved_cmd_callback),
GIMP_STOCK_EDIT,
GTK_STOCK_EDIT,
GIMP_HELP_TOOL_OPTIONS_RENAME,
tool_info->options_presets);
@ -148,7 +148,7 @@ tool_options_actions_update (GimpActionGroup *group,
}
/* privat function */
/* private function */
static void
tool_options_actions_update_presets (GimpActionGroup *group,
@ -212,4 +212,4 @@ tool_options_actions_update_presets (GimpActionGroup *group,
}
#undef SET_VISIBLE
#undef SET_IMPORTANT
#undef SET_HIDE_EMPTY

View File

@ -22,13 +22,11 @@
#include <gtk/gtk.h>
#include "libgimpconfig/gimpconfig.h"
#include "libgimpwidgets/gimpwidgets.h"
#include "actions-types.h"
#include "config/gimpconfig.h"
#include "config/gimpconfig-utils.h"
#include "core/gimp.h"
#include "core/gimplist.h"
#include "core/gimptoolinfo.h"
@ -100,8 +98,8 @@ tool_options_save_to_cmd_callback (GtkAction *action,
name = g_strdup (gimp_object_get_name (GIMP_OBJECT (options)));
gimp_config_sync (GIMP_CONFIG (tool_info->tool_options),
GIMP_CONFIG (options), 0);
gimp_config_sync (G_OBJECT (tool_info->tool_options),
G_OBJECT (options), 0);
gimp_object_set_name (GIMP_OBJECT (options), name);
g_free (name);
@ -122,8 +120,8 @@ tool_options_restore_from_cmd_callback (GtkAction *action,
gimp_container_get_child_by_index (tool_info->options_presets, value);
if (options)
gimp_config_sync (GIMP_CONFIG (options),
GIMP_CONFIG (tool_info->tool_options), 0);
gimp_config_sync (G_OBJECT (options),
G_OBJECT (tool_info->tool_options), 0);
}
void
@ -183,15 +181,41 @@ tool_options_reset_cmd_callback (GtkAction *action,
gimp_tool_options_reset (tool_info->tool_options);
}
static void
tool_options_reset_all_response (GtkWidget *dialog,
gint response_id,
Gimp *gimp)
void
tool_options_reset_all_cmd_callback (GtkAction *action,
gpointer data)
{
gtk_widget_destroy (dialog);
GimpEditor *editor = GIMP_EDITOR (data);
GtkWidget *dialog;
if (response_id == GTK_RESPONSE_OK)
dialog = gimp_message_dialog_new (_("Reset Tool Options"), GIMP_STOCK_QUESTION,
GTK_WIDGET (editor),
GTK_DIALOG_MODAL |
GTK_DIALOG_DESTROY_WITH_PARENT,
gimp_standard_help_func, NULL,
GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
GIMP_STOCK_RESET, GTK_RESPONSE_OK,
NULL);
gtk_dialog_set_alternative_button_order (GTK_DIALOG (dialog),
GTK_RESPONSE_OK,
GTK_RESPONSE_CANCEL,
-1);
g_signal_connect_object (gtk_widget_get_toplevel (GTK_WIDGET (editor)),
"unmap",
G_CALLBACK (gtk_widget_destroy),
dialog, G_CONNECT_SWAPPED);
gimp_message_box_set_primary_text (GIMP_MESSAGE_DIALOG (dialog)->box,
_("Do you really want to reset all "
"tool options to default values?"));
if (gimp_dialog_run (GIMP_DIALOG (dialog)) == GTK_RESPONSE_OK)
{
Gimp *gimp = editor->ui_manager->gimp;
GList *list;
for (list = GIMP_LIST (gimp->tool_info_list)->list;
@ -203,37 +227,8 @@ tool_options_reset_all_response (GtkWidget *dialog,
gimp_tool_options_reset (tool_info->tool_options);
}
}
}
void
tool_options_reset_all_cmd_callback (GtkAction *action,
gpointer data)
{
GimpEditor *editor = GIMP_EDITOR (data);
GtkWidget *dialog;
dialog = gimp_message_dialog_new (_("Reset Tool Options"), GIMP_STOCK_QUESTION,
GTK_WIDGET (editor), 0,
gimp_standard_help_func, NULL,
GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
GIMP_STOCK_RESET, GTK_RESPONSE_OK,
NULL);
g_signal_connect_object (editor, "unmap",
G_CALLBACK (gtk_widget_destroy),
dialog, G_CONNECT_SWAPPED);
g_signal_connect (dialog, "response",
G_CALLBACK (tool_options_reset_all_response),
editor->ui_manager->gimp);
gimp_message_box_set_primary_text (GIMP_MESSAGE_DIALOG (dialog)->box,
_("Do you really want to reset all "
"tool options to default values?"));
gtk_widget_show (dialog);
gtk_widget_destroy (dialog);
}

View File

@ -53,6 +53,30 @@ static GimpActionEntry tools_actions[] =
{ "tools-transform-menu", NULL, N_("_Transform Tools") },
{ "tools-color-menu", NULL, N_("_Color Tools") },
{ "tools-raise", GTK_STOCK_GO_UP,
N_("R_aise Tool"), NULL,
N_("Raise tool"),
G_CALLBACK (tools_raise_cmd_callback),
NULL },
{ "tools-raise-to-top", GTK_STOCK_GOTO_TOP,
N_("Ra_ise to Top"), NULL,
N_("Raise tool to top"),
G_CALLBACK (tools_raise_to_top_cmd_callback),
NULL },
{ "tools-lower", GTK_STOCK_GO_DOWN,
N_("L_ower Tool"), NULL,
N_("Lower tool"),
G_CALLBACK (tools_lower_cmd_callback),
NULL },
{ "tools-lower-to-bottom", GTK_STOCK_GOTO_BOTTOM,
N_("Lo_wer to Bottom"), NULL,
N_("Lower tool to bottom"),
G_CALLBACK (tools_lower_to_bottom_cmd_callback),
NULL },
{ "tools-reset", GIMP_STOCK_RESET,
N_("_Reset Order & Visibility"), NULL,
N_("Reset tool order and visibility"),
@ -78,10 +102,316 @@ static GimpStringActionEntry tools_alternative_actions[] =
{ "tools-rotate-arbitrary", GIMP_STOCK_TOOL_ROTATE,
N_("_Arbitrary Rotation..."), NULL, NULL,
"gimp-rotate-tool",
"gimp-rotate-layer",
GIMP_HELP_TOOL_ROTATE }
};
static GimpEnumActionEntry tools_color_average_radius_actions[] =
{
{ "tools-color-average-radius-set", GIMP_STOCK_TOOL_COLOR_PICKER,
"Set Color Picker Radius", NULL, NULL,
GIMP_ACTION_SELECT_SET, TRUE,
NULL },
{ "tools-color-average-radius-minimum", GIMP_STOCK_TOOL_COLOR_PICKER,
"Minumum Color Picker Radius", NULL, NULL,
GIMP_ACTION_SELECT_FIRST, FALSE,
NULL },
{ "tools-color-average-radius-maximum", GIMP_STOCK_TOOL_COLOR_PICKER,
"Maximum Color Picker Radius", NULL, NULL,
GIMP_ACTION_SELECT_LAST, FALSE,
NULL },
{ "tools-color-average-radius-decrease", GIMP_STOCK_TOOL_COLOR_PICKER,
"Decrease Color Picker Radius", NULL, NULL,
GIMP_ACTION_SELECT_PREVIOUS, FALSE,
NULL },
{ "tools-color-average-radius-increase", GIMP_STOCK_TOOL_COLOR_PICKER,
"Increase Color Picker Radius", NULL, NULL,
GIMP_ACTION_SELECT_NEXT, FALSE,
NULL },
{ "tools-color-average-radius-decrease-skip",
GIMP_STOCK_TOOL_COLOR_PICKER,
"Decrease Color Picker Radius More", NULL, NULL,
GIMP_ACTION_SELECT_SKIP_PREVIOUS, FALSE,
NULL },
{ "tools-color-average-radius-increase-skip",
GIMP_STOCK_TOOL_COLOR_PICKER,
"Increase Color Picker Radius More", NULL, NULL,
GIMP_ACTION_SELECT_SKIP_NEXT, FALSE,
NULL },
};
static GimpEnumActionEntry tools_ink_blob_size_actions[] =
{
{ "tools-ink-blob-size-set", GIMP_STOCK_TOOL_INK,
"Set Ink Blob Size", NULL, NULL,
GIMP_ACTION_SELECT_SET, TRUE,
NULL },
{ "tools-ink-blob-size-minimum", GIMP_STOCK_TOOL_INK,
"Minumum Ink Blob Size", NULL, NULL,
GIMP_ACTION_SELECT_FIRST, FALSE,
NULL },
{ "tools-ink-blob-size-maximum", GIMP_STOCK_TOOL_INK,
"Maximum Ink Blob Size", NULL, NULL,
GIMP_ACTION_SELECT_LAST, FALSE,
NULL },
{ "tools-ink-blob-size-decrease", GIMP_STOCK_TOOL_INK,
"Decrease Ink Blob Size", NULL, NULL,
GIMP_ACTION_SELECT_PREVIOUS, FALSE,
NULL },
{ "tools-ink-blob-size-increase", GIMP_STOCK_TOOL_INK,
"Increase Ink Blob Size", NULL, NULL,
GIMP_ACTION_SELECT_NEXT, FALSE,
NULL },
{ "tools-ink-blob-size-decrease-skip", GIMP_STOCK_TOOL_INK,
"Decrease Ink Blob Size More", NULL, NULL,
GIMP_ACTION_SELECT_SKIP_PREVIOUS, FALSE,
NULL },
{ "tools-ink-blob-size-increase-skip", GIMP_STOCK_TOOL_INK,
"Increase Ink Blob Size More", NULL, NULL,
GIMP_ACTION_SELECT_SKIP_NEXT, FALSE,
NULL },
};
static GimpEnumActionEntry tools_ink_blob_aspect_actions[] =
{
{ "tools-ink-blob-aspect-set", GIMP_STOCK_TOOL_INK,
"Set Ink Blob Aspect", NULL, NULL,
GIMP_ACTION_SELECT_SET, TRUE,
NULL },
{ "tools-ink-blob-aspect-minimum", GIMP_STOCK_TOOL_INK,
"Minumum Ink Blob Aspect", NULL, NULL,
GIMP_ACTION_SELECT_FIRST, FALSE,
NULL },
{ "tools-ink-blob-aspect-maximum", GIMP_STOCK_TOOL_INK,
"Maximum Ink Blob Aspect", NULL, NULL,
GIMP_ACTION_SELECT_LAST, FALSE,
NULL },
{ "tools-ink-blob-aspect-decrease", GIMP_STOCK_TOOL_INK,
"Decrease Ink Blob Aspect", NULL, NULL,
GIMP_ACTION_SELECT_PREVIOUS, FALSE,
NULL },
{ "tools-ink-blob-aspect-increase", GIMP_STOCK_TOOL_INK,
"Increase Ink Blob Aspect", NULL, NULL,
GIMP_ACTION_SELECT_NEXT, FALSE,
NULL },
{ "tools-ink-blob-aspect-decrease-skip", GIMP_STOCK_TOOL_INK,
"Decrease Ink Blob Aspect More", NULL, NULL,
GIMP_ACTION_SELECT_SKIP_PREVIOUS, FALSE,
NULL },
{ "tools-ink-blob-aspect-increase-skip", GIMP_STOCK_TOOL_INK,
"Increase Ink Blob Aspect More", NULL, NULL,
GIMP_ACTION_SELECT_SKIP_NEXT, FALSE,
NULL },
};
static GimpEnumActionEntry tools_ink_blob_angle_actions[] =
{
{ "tools-ink-blob-angle-set", GIMP_STOCK_TOOL_INK,
"Set Ink Blob Angle", NULL, NULL,
GIMP_ACTION_SELECT_SET, TRUE,
NULL },
{ "tools-ink-blob-angle-minimum", GIMP_STOCK_TOOL_INK,
"Minumum Ink Blob Angle", NULL, NULL,
GIMP_ACTION_SELECT_FIRST, FALSE,
NULL },
{ "tools-ink-blob-angle-maximum", GIMP_STOCK_TOOL_INK,
"Maximum Ink Blob Angle", NULL, NULL,
GIMP_ACTION_SELECT_LAST, FALSE,
NULL },
{ "tools-ink-blob-angle-decrease", GIMP_STOCK_TOOL_INK,
"Decrease Ink Blob Angle", NULL, NULL,
GIMP_ACTION_SELECT_PREVIOUS, FALSE,
NULL },
{ "tools-ink-blob-angle-increase", GIMP_STOCK_TOOL_INK,
"Increase Ink Blob Angle", NULL, NULL,
GIMP_ACTION_SELECT_NEXT, FALSE,
NULL },
{ "tools-ink-blob-angle-decrease-skip", GIMP_STOCK_TOOL_INK,
"Decrease Ink Blob Angle More", NULL, NULL,
GIMP_ACTION_SELECT_SKIP_PREVIOUS, FALSE,
NULL },
{ "tools-ink-blob-angle-increase-skip", GIMP_STOCK_TOOL_INK,
"Increase Ink Blob Angle More", NULL, NULL,
GIMP_ACTION_SELECT_SKIP_NEXT, FALSE,
NULL },
};
static GimpEnumActionEntry tools_value_1_actions[] =
{
{ "tools-value-1-set", GIMP_STOCK_TOOL_OPTIONS,
"Set Value 1", NULL, NULL,
GIMP_ACTION_SELECT_SET, TRUE,
NULL },
{ "tools-value-1-minimum", GIMP_STOCK_TOOL_OPTIONS,
"Minimize Value 1", NULL, NULL,
GIMP_ACTION_SELECT_FIRST, FALSE,
NULL },
{ "tools-value-1-maximum", GIMP_STOCK_TOOL_OPTIONS,
"Maximize Value 1", NULL, NULL,
GIMP_ACTION_SELECT_LAST, FALSE,
NULL },
{ "tools-value-1-decrease", GIMP_STOCK_TOOL_OPTIONS,
"Decrease Value 1", NULL, NULL,
GIMP_ACTION_SELECT_PREVIOUS, FALSE,
NULL },
{ "tools-value-1-increase", GIMP_STOCK_TOOL_OPTIONS,
"Increase Value 1", NULL, NULL,
GIMP_ACTION_SELECT_NEXT, FALSE,
NULL },
{ "tools-value-1-decrease-skip", GIMP_STOCK_TOOL_OPTIONS,
"Decrease Value 1 More", NULL, NULL,
GIMP_ACTION_SELECT_SKIP_PREVIOUS, FALSE,
NULL },
{ "tools-value-1-increase-skip", GIMP_STOCK_TOOL_OPTIONS,
"Increase Value 1 More", NULL, NULL,
GIMP_ACTION_SELECT_SKIP_NEXT, FALSE,
NULL },
};
static GimpEnumActionEntry tools_value_2_actions[] =
{
{ "tools-value-2-set", GIMP_STOCK_TOOL_OPTIONS,
"Set Value 2", NULL, NULL,
GIMP_ACTION_SELECT_SET, TRUE,
NULL },
{ "tools-value-2-minimum", GIMP_STOCK_TOOL_OPTIONS,
"Minimize Value 2", NULL, NULL,
GIMP_ACTION_SELECT_FIRST, FALSE,
NULL },
{ "tools-value-2-maximum", GIMP_STOCK_TOOL_OPTIONS,
"Maximize Value 2", NULL, NULL,
GIMP_ACTION_SELECT_LAST, FALSE,
NULL },
{ "tools-value-2-decrease", GIMP_STOCK_TOOL_OPTIONS,
"Decrease Value 2", NULL, NULL,
GIMP_ACTION_SELECT_PREVIOUS, FALSE,
NULL },
{ "tools-value-2-increase", GIMP_STOCK_TOOL_OPTIONS,
"Increase Value 2", NULL, NULL,
GIMP_ACTION_SELECT_NEXT, FALSE,
NULL },
{ "tools-value-2-decrease-skip", GIMP_STOCK_TOOL_OPTIONS,
"Decrease Value 2 More", NULL, NULL,
GIMP_ACTION_SELECT_SKIP_PREVIOUS, FALSE,
NULL },
{ "tools-value-2-increase-skip", GIMP_STOCK_TOOL_OPTIONS,
"Increase Value 2 More", NULL, NULL,
GIMP_ACTION_SELECT_SKIP_NEXT, FALSE,
NULL },
};
static GimpEnumActionEntry tools_value_3_actions[] =
{
{ "tools-value-3-set", GIMP_STOCK_TOOL_OPTIONS,
"Set Value 3", NULL, NULL,
GIMP_ACTION_SELECT_SET, TRUE,
NULL },
{ "tools-value-3-minimum", GIMP_STOCK_TOOL_OPTIONS,
"Minimize Value 3", NULL, NULL,
GIMP_ACTION_SELECT_FIRST, FALSE,
NULL },
{ "tools-value-3-maximum", GIMP_STOCK_TOOL_OPTIONS,
"Maximize Value 3", NULL, NULL,
GIMP_ACTION_SELECT_LAST, FALSE,
NULL },
{ "tools-value-3-decrease", GIMP_STOCK_TOOL_OPTIONS,
"Decrease Value 3", NULL, NULL,
GIMP_ACTION_SELECT_PREVIOUS, FALSE,
NULL },
{ "tools-value-3-increase", GIMP_STOCK_TOOL_OPTIONS,
"Increase Value 3", NULL, NULL,
GIMP_ACTION_SELECT_NEXT, FALSE,
NULL },
{ "tools-value-3-decrease-skip", GIMP_STOCK_TOOL_OPTIONS,
"Decrease Value 3 More", NULL, NULL,
GIMP_ACTION_SELECT_SKIP_PREVIOUS, FALSE,
NULL },
{ "tools-value-3-increase-skip", GIMP_STOCK_TOOL_OPTIONS,
"Increase Value 3 More", NULL, NULL,
GIMP_ACTION_SELECT_SKIP_NEXT, FALSE,
NULL },
};
static GimpEnumActionEntry tools_value_4_actions[] =
{
{ "tools-value-4-set", GIMP_STOCK_TOOL_OPTIONS,
"Set Value 4", NULL, NULL,
GIMP_ACTION_SELECT_SET, TRUE,
NULL },
{ "tools-value-4-minimum", GIMP_STOCK_TOOL_OPTIONS,
"Minimize Value 4", NULL, NULL,
GIMP_ACTION_SELECT_FIRST, FALSE,
NULL },
{ "tools-value-4-maximum", GIMP_STOCK_TOOL_OPTIONS,
"Maximize Value 4", NULL, NULL,
GIMP_ACTION_SELECT_LAST, FALSE,
NULL },
{ "tools-value-4-decrease", GIMP_STOCK_TOOL_OPTIONS,
"Decrease Value 4", NULL, NULL,
GIMP_ACTION_SELECT_PREVIOUS, FALSE,
NULL },
{ "tools-value-4-increase", GIMP_STOCK_TOOL_OPTIONS,
"Increase Value 4", NULL, NULL,
GIMP_ACTION_SELECT_NEXT, FALSE,
NULL },
{ "tools-value-4-decrease-skip", GIMP_STOCK_TOOL_OPTIONS,
"Decrease Value 4 More", NULL, NULL,
GIMP_ACTION_SELECT_SKIP_PREVIOUS, FALSE,
NULL },
{ "tools-value-4-increase-skip", GIMP_STOCK_TOOL_OPTIONS,
"Increase Value 4 More", NULL, NULL,
GIMP_ACTION_SELECT_SKIP_NEXT, FALSE,
NULL },
};
static GimpEnumActionEntry tools_object_1_actions[] =
{
{ "tools-object-1-set", GIMP_STOCK_TOOL_OPTIONS,
"Select Object 1 by Index", NULL, NULL,
GIMP_ACTION_SELECT_SET, TRUE,
NULL },
{ "tools-object-1-first", GIMP_STOCK_TOOL_OPTIONS,
"First Object 1", NULL, NULL,
GIMP_ACTION_SELECT_FIRST, FALSE,
NULL },
{ "tools-object-1-last", GIMP_STOCK_TOOL_OPTIONS,
"Last Object 1", NULL, NULL,
GIMP_ACTION_SELECT_LAST, FALSE,
NULL },
{ "tools-object-1-previous", GIMP_STOCK_TOOL_OPTIONS,
"Previous Object 1", NULL, NULL,
GIMP_ACTION_SELECT_PREVIOUS, FALSE,
NULL },
{ "tools-object-1-next", GIMP_STOCK_TOOL_OPTIONS,
"Next Object 1", NULL, NULL,
GIMP_ACTION_SELECT_NEXT, FALSE,
NULL }
};
static GimpEnumActionEntry tools_object_2_actions[] =
{
{ "tools-object-2-set", GIMP_STOCK_TOOL_OPTIONS,
"Select Object 2 by Index", NULL, NULL,
GIMP_ACTION_SELECT_SET, TRUE,
NULL },
{ "tools-object-2-first", GIMP_STOCK_TOOL_OPTIONS,
"First Object 2", NULL, NULL,
GIMP_ACTION_SELECT_FIRST, FALSE,
NULL },
{ "tools-object-2-last", GIMP_STOCK_TOOL_OPTIONS,
"Last Object 2", NULL, NULL,
GIMP_ACTION_SELECT_LAST, FALSE,
NULL },
{ "tools-object-2-previous", GIMP_STOCK_TOOL_OPTIONS,
"Previous Object 2", NULL, NULL,
GIMP_ACTION_SELECT_PREVIOUS, FALSE,
NULL },
{ "tools-object-2-next", GIMP_STOCK_TOOL_OPTIONS,
"Next Object 2", NULL, NULL,
GIMP_ACTION_SELECT_NEXT, FALSE,
NULL }
};
void
tools_actions_setup (GimpActionGroup *group)
@ -106,21 +436,53 @@ tools_actions_setup (GimpActionGroup *group)
"tools-by-color-select-short");
gtk_action_set_accel_path (action, "<Actions>/tools/tools-by-color-select");
#ifdef __GNUC__
#warning FIXME: remove accel_path hack
#endif
g_object_set_data (G_OBJECT (action), "gimp-accel-path",
"<Actions>/tools/tools-by-color-select");
action = gtk_action_group_get_action (GTK_ACTION_GROUP (group),
"tools-rotate-arbitrary");
gtk_action_set_accel_path (action, "<Actions>/tools/tools-rotate");
#ifdef __GNUC__
#warning FIXME: remove accel_path hack
#endif
g_object_set_data (G_OBJECT (action), "gimp-accel-path",
"<Actions>/tools/tools-rotate");
gimp_action_group_add_enum_actions (group,
tools_color_average_radius_actions,
G_N_ELEMENTS (tools_color_average_radius_actions),
G_CALLBACK (tools_color_average_radius_cmd_callback));
gimp_action_group_add_enum_actions (group,
tools_ink_blob_size_actions,
G_N_ELEMENTS (tools_ink_blob_size_actions),
G_CALLBACK (tools_ink_blob_size_cmd_callback));
gimp_action_group_add_enum_actions (group,
tools_ink_blob_aspect_actions,
G_N_ELEMENTS (tools_ink_blob_aspect_actions),
G_CALLBACK (tools_ink_blob_aspect_cmd_callback));
gimp_action_group_add_enum_actions (group,
tools_ink_blob_angle_actions,
G_N_ELEMENTS (tools_ink_blob_angle_actions),
G_CALLBACK (tools_ink_blob_angle_cmd_callback));
gimp_action_group_add_enum_actions (group,
tools_value_1_actions,
G_N_ELEMENTS (tools_value_1_actions),
G_CALLBACK (tools_value_1_cmd_callback));
gimp_action_group_add_enum_actions (group,
tools_value_2_actions,
G_N_ELEMENTS (tools_value_2_actions),
G_CALLBACK (tools_value_2_cmd_callback));
gimp_action_group_add_enum_actions (group,
tools_value_3_actions,
G_N_ELEMENTS (tools_value_3_actions),
G_CALLBACK (tools_value_3_cmd_callback));
gimp_action_group_add_enum_actions (group,
tools_value_4_actions,
G_N_ELEMENTS (tools_value_4_actions),
G_CALLBACK (tools_value_4_cmd_callback));
gimp_action_group_add_enum_actions (group,
tools_object_1_actions,
G_N_ELEMENTS (tools_object_1_actions),
G_CALLBACK (tools_object_1_cmd_callback));
gimp_action_group_add_enum_actions (group,
tools_object_2_actions,
G_N_ELEMENTS (tools_object_2_actions),
G_CALLBACK (tools_object_2_cmd_callback));
for (list = GIMP_LIST (group->gimp->tool_info_list)->list;
list;
@ -148,7 +510,7 @@ tools_actions_setup (GimpActionGroup *group)
entry.stock_id = stock_id;
entry.label = tool_info->menu_path;
entry.accelerator = tool_info->menu_accel;
entry.tooltip = tool_info->blurb;
entry.tooltip = tool_info->help;
entry.help_id = tool_info->help_id;
entry.value = identifier;
@ -165,8 +527,11 @@ void
tools_actions_update (GimpActionGroup *group,
gpointer data)
{
GimpContext *context = gimp_get_user_context (group->gimp);
GimpToolInfo *tool_info = gimp_context_get_tool (context);
GimpContext *context = gimp_get_user_context (group->gimp);
GimpToolInfo *tool_info = gimp_context_get_tool (context);
GimpContainer *container = context->gimp->tool_info_list;
gboolean raise = FALSE;
gboolean lower = FALSE;
#define SET_SENSITIVE(action,condition) \
gimp_action_group_set_action_sensitive (group, action, (condition) != 0)
@ -176,7 +541,24 @@ tools_actions_update (GimpActionGroup *group,
SET_SENSITIVE ("tools-visibility", tool_info);
if (tool_info)
SET_ACTIVE ("tools-visibility", tool_info->visible);
{
gint last_index;
gint index;
SET_ACTIVE ("tools-visibility", tool_info->visible);
last_index = gimp_container_num_children (container) -1;
index = gimp_container_get_child_index (container,
GIMP_OBJECT (tool_info));
raise = index != 0;
lower = index != last_index;
}
SET_SENSITIVE ("tools-raise", raise);
SET_SENSITIVE ("tools-raise-to-top", raise);
SET_SENSITIVE ("tools-lower", lower);
SET_SENSITIVE ("tools-lower-to-bottom", lower);
#undef SET_SENSITIVE
#undef SET_ACTIVE

Some files were not shown because too many files have changed in this diff Show More