mirror of
https://gitlab.gnome.org/GNOME/gimp
synced 2024-10-22 04:22:29 +00:00
a430463819
2004-02-04 Sven Neumann <sven@gimp.org> * app/config/gimprc.[ch]: added the new function gimp_rc_set_unknown_token() to get autosave working for unknown gimprc tokens. * app/config/gimpconfig.c: indentation. * tools/pdbgen/pdb/gimprc.pdb: gimp->edit_config was used for a good reason, it's the one that's saved. Reverted a change I did about a month ago. Use gimp_rc_set_unknown_token() so unknown tokens get saved. This really fixes gimp_gimprc_set(). * app/pdb/gimprc_cmds.c: regenerated.
213 lines
5.5 KiB
Plaintext
213 lines
5.5 KiB
Plaintext
# 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.
|
|
|
|
# "Perlized" from C source by Manish Singh <yosh@gimp.org>
|
|
# Added a PDB entry for writing a gimprc entry, by
|
|
# Seth Burgess <sjburges@gimp.org> 15/04/99
|
|
|
|
# The defs
|
|
|
|
sub gimprc_query {
|
|
$blurb = <<'BLURB';
|
|
Queries the gimprc file parser for information on a specified token.
|
|
BLURB
|
|
|
|
$help = <<'HELP';
|
|
This procedure is used to locate additional information contained in the gimprc
|
|
file considered extraneous to the operation of the GIMP. Plug-ins that need
|
|
configuration information can expect it will be stored in the user gimprc
|
|
file and can use this procedure to retrieve it. This query procedure will
|
|
return the value associated with the specified token. This corresponds _only_
|
|
to entries with the format: (<token> <value>). The value must be a string.
|
|
Entries not corresponding to this format will cause warnings to be issued on
|
|
gimprc parsing and will not be queryable.
|
|
HELP
|
|
|
|
&std_pdb_misc;
|
|
$date = '1997';
|
|
|
|
@inargs = (
|
|
{ name => 'token', type => 'string',
|
|
desc => 'The token to query for' }
|
|
);
|
|
|
|
@outargs = (
|
|
{ name => 'value', type => 'string',
|
|
desc => 'The value associated with the queried token',
|
|
no_declare => 1 }
|
|
);
|
|
|
|
%invoke = (
|
|
headers => [ qw("config/gimprc.h") ],
|
|
vars => [ 'gchar *value = NULL' ],
|
|
code => <<'CODE'
|
|
{
|
|
/* use edit_config because unknown tokens are set there */
|
|
value = gimp_rc_query (GIMP_RC (gimp->edit_config), token);
|
|
|
|
if (! value)
|
|
success = FALSE;
|
|
}
|
|
CODE
|
|
);
|
|
}
|
|
|
|
sub gimprc_set {
|
|
$blurb = 'Sets a gimprc token to a value and saves it in the gimprc.';
|
|
|
|
$help = <<'HELP';
|
|
This procedure is used to add or change additional information in the gimprc
|
|
file that is considered extraneous to the operation of the GIMP. Plug-ins that
|
|
need configuration information can use this function to store it, and
|
|
gimp_gimprc_query to retrieve it. This will accept _only_ string values in
|
|
UTF-8 encoding.
|
|
HELP
|
|
|
|
$author = $copyright = 'Seth Burgess';
|
|
$date = '1999';
|
|
|
|
@inargs = (
|
|
{ name => 'token', type => 'string',
|
|
desc => 'The token to add or modify' },
|
|
{ name => 'value', type => 'string',
|
|
desc => 'The value to set the token to' }
|
|
);
|
|
|
|
%invoke = (
|
|
headers => [ qw("config/gimpconfig.h") ],
|
|
code => <<'CODE'
|
|
{
|
|
/* use edit_config because that's the one that gets saved */
|
|
gimp_rc_set_unknown_token (GIMP_RC (gimp->edit_config), token, value);
|
|
}
|
|
CODE
|
|
);
|
|
}
|
|
|
|
sub get_monitor_resolution {
|
|
$blurb = 'Get the monitor resolution as specified in the Preferences.';
|
|
|
|
$help = <<'HELP';
|
|
Returns the resolution of the monitor in pixels/inch. This value
|
|
is taken from the Preferences (or the windowing system if this is set in
|
|
the Preferences) and there's no guarantee for the value to be reasonable.
|
|
HELP
|
|
|
|
&std_pdb_misc;
|
|
|
|
@inargs = ( );
|
|
|
|
@outargs = (
|
|
{ name => 'xres', type => 'float', void_ret => 1,
|
|
desc => 'X resolution', alias => 'xres' },
|
|
{ name => 'yres', type => 'float',
|
|
desc => 'Y resolution', alias => 'yres' },
|
|
);
|
|
|
|
%invoke = (
|
|
headers => [ qw("config/gimpdisplayconfig.h") ],
|
|
code => <<'CODE'
|
|
{
|
|
xres = GIMP_DISPLAY_CONFIG (gimp->config)->monitor_xres;
|
|
yres = GIMP_DISPLAY_CONFIG (gimp->config)->monitor_yres;
|
|
}
|
|
CODE
|
|
);
|
|
}
|
|
|
|
sub get_default_comment {
|
|
$blurb = 'Get the default image comment as specified in the Preferences.';
|
|
|
|
$help = 'Returns a copy of the default image comment.';
|
|
|
|
&std_pdb_misc;
|
|
|
|
@inargs = ( );
|
|
|
|
@outargs = (
|
|
{ name => 'comment', type => 'string',
|
|
desc => 'Default Image Comment' }
|
|
);
|
|
|
|
%invoke = (
|
|
headers => [ qw("config/gimpcoreconfig.h" "core/gimptemplate.h") ],
|
|
code => <<'CODE'
|
|
{
|
|
comment = g_strdup (gimp->config->default_image->comment);
|
|
}
|
|
CODE
|
|
);
|
|
}
|
|
|
|
sub get_theme_dir {
|
|
$blurb = 'Get the directory of the current GUI theme.';
|
|
|
|
$help = 'Returns a copy of the current GUI theme dir.';
|
|
|
|
&std_pdb_misc;
|
|
|
|
@inargs = ( );
|
|
|
|
@outargs = (
|
|
{ name => 'theme_dir', type => 'string',
|
|
desc => 'The GUI theme dir' }
|
|
);
|
|
|
|
%invoke = (
|
|
code => <<'CODE'
|
|
{
|
|
theme_dir = g_strdup (gimp_get_theme_dir (gimp));
|
|
}
|
|
CODE
|
|
);
|
|
}
|
|
|
|
sub get_module_load_inhibit {
|
|
$blurb = 'Get the list of modules which should not be loaded.';
|
|
|
|
$help = 'Returns a copy of the list of modules which should not be loaded.';
|
|
|
|
&std_pdb_misc;
|
|
|
|
@inargs = ( );
|
|
|
|
@outargs = (
|
|
{ name => 'load_inhibit', type => 'string',
|
|
desc => 'The list of modules' }
|
|
);
|
|
|
|
%invoke = (
|
|
headers => [ qw("libgimpmodule/gimpmodule.h") ],
|
|
code => <<'CODE'
|
|
{
|
|
load_inhibit = g_strdup (gimp_module_db_get_load_inhibit (gimp->module_db));
|
|
}
|
|
CODE
|
|
);
|
|
}
|
|
|
|
@headers = qw("core/gimp.h");
|
|
|
|
@procs = qw(gimprc_query gimprc_set
|
|
get_default_comment get_monitor_resolution get_theme_dir
|
|
get_module_load_inhibit);
|
|
%exports = (app => [@procs], lib => [@procs]);
|
|
|
|
$desc = 'Gimprc procedures';
|
|
|
|
1;
|