mirror of https://github.com/GNOME/gimp.git
libgimpbase/gimpbaseenums.[ch] changed enum GimpUserDirectory and API of
2007-08-11 Michael Natterer <mitch@gimp.org> * libgimpbase/gimpbaseenums.[ch] * libgimpbase/gimpenv.[ch]: changed enum GimpUserDirectory and API of gimp_user_directory() so that g_get_user_special_dir() can be used instead as soon as we depend on GLib 2.14. * tools/pdbgen/enums.pl: regenerated. * app/widgets/gimpfiledialog.c * plug-ins/pygimp/gimpmodule.c: changed accordingly. svn path=/trunk/; revision=23212
This commit is contained in:
parent
7f5d403615
commit
0d17856e58
12
ChangeLog
12
ChangeLog
|
@ -1,3 +1,15 @@
|
|||
2007-08-11 Michael Natterer <mitch@gimp.org>
|
||||
|
||||
* libgimpbase/gimpbaseenums.[ch]
|
||||
* libgimpbase/gimpenv.[ch]: changed enum GimpUserDirectory and API
|
||||
of gimp_user_directory() so that g_get_user_special_dir() can be
|
||||
used instead as soon as we depend on GLib 2.14.
|
||||
|
||||
* tools/pdbgen/enums.pl: regenerated.
|
||||
|
||||
* app/widgets/gimpfiledialog.c
|
||||
* plug-ins/pygimp/gimpmodule.c: changed accordingly.
|
||||
|
||||
2007-08-11 Sven Neumann <sven@gimp.org>
|
||||
|
||||
* menus/image-menu.xml.in: added "<Image>/Image/Mode/Color Profile"
|
||||
|
|
|
@ -256,7 +256,7 @@ gimp_file_dialog_new (Gimp *gimp,
|
|||
GSList *file_procs;
|
||||
const gchar *automatic;
|
||||
const gchar *automatic_help_id;
|
||||
gchar *pictures;
|
||||
const gchar *pictures;
|
||||
gboolean local_only;
|
||||
|
||||
g_return_val_if_fail (GIMP_IS_GIMP (gimp), NULL);
|
||||
|
@ -338,11 +338,8 @@ gimp_file_dialog_new (Gimp *gimp,
|
|||
pictures = gimp_user_directory (GIMP_USER_DIRECTORY_PICTURES);
|
||||
|
||||
if (pictures)
|
||||
{
|
||||
gtk_file_chooser_add_shortcut_folder (GTK_FILE_CHOOSER (dialog),
|
||||
pictures, NULL);
|
||||
g_free (pictures);
|
||||
}
|
||||
gtk_file_chooser_add_shortcut_folder (GTK_FILE_CHOOSER (dialog),
|
||||
pictures, NULL);
|
||||
|
||||
gimp_file_dialog_add_preview (dialog, gimp);
|
||||
|
||||
|
|
|
@ -1038,8 +1038,10 @@ gimp_user_directory_get_type (void)
|
|||
{
|
||||
{ GIMP_USER_DIRECTORY_DESKTOP, "GIMP_USER_DIRECTORY_DESKTOP", "desktop" },
|
||||
{ GIMP_USER_DIRECTORY_DOCUMENTS, "GIMP_USER_DIRECTORY_DOCUMENTS", "documents" },
|
||||
{ GIMP_USER_DIRECTORY_DOWNLOAD, "GIMP_USER_DIRECTORY_DOWNLOAD", "download" },
|
||||
{ GIMP_USER_DIRECTORY_MUSIC, "GIMP_USER_DIRECTORY_MUSIC", "music" },
|
||||
{ GIMP_USER_DIRECTORY_PICTURES, "GIMP_USER_DIRECTORY_PICTURES", "pictures" },
|
||||
{ GIMP_USER_DIRECTORY_PUBLIC_SHARE, "GIMP_USER_DIRECTORY_PUBLIC_SHARE", "public-share" },
|
||||
{ GIMP_USER_DIRECTORY_TEMPLATES, "GIMP_USER_DIRECTORY_TEMPLATES", "templates" },
|
||||
{ GIMP_USER_DIRECTORY_VIDEOS, "GIMP_USER_DIRECTORY_VIDEOS", "videos" },
|
||||
{ 0, NULL, NULL }
|
||||
|
@ -1049,8 +1051,10 @@ gimp_user_directory_get_type (void)
|
|||
{
|
||||
{ GIMP_USER_DIRECTORY_DESKTOP, "GIMP_USER_DIRECTORY_DESKTOP", NULL },
|
||||
{ GIMP_USER_DIRECTORY_DOCUMENTS, "GIMP_USER_DIRECTORY_DOCUMENTS", NULL },
|
||||
{ GIMP_USER_DIRECTORY_DOWNLOAD, "GIMP_USER_DIRECTORY_DOWNLOAD", NULL },
|
||||
{ GIMP_USER_DIRECTORY_MUSIC, "GIMP_USER_DIRECTORY_MUSIC", NULL },
|
||||
{ GIMP_USER_DIRECTORY_PICTURES, "GIMP_USER_DIRECTORY_PICTURES", NULL },
|
||||
{ GIMP_USER_DIRECTORY_PUBLIC_SHARE, "GIMP_USER_DIRECTORY_PUBLIC_SHARE", NULL },
|
||||
{ GIMP_USER_DIRECTORY_TEMPLATES, "GIMP_USER_DIRECTORY_TEMPLATES", NULL },
|
||||
{ GIMP_USER_DIRECTORY_VIDEOS, "GIMP_USER_DIRECTORY_VIDEOS", NULL },
|
||||
{ 0, NULL, NULL }
|
||||
|
|
|
@ -457,8 +457,10 @@ typedef enum
|
|||
{
|
||||
GIMP_USER_DIRECTORY_DESKTOP,
|
||||
GIMP_USER_DIRECTORY_DOCUMENTS,
|
||||
GIMP_USER_DIRECTORY_DOWNLOAD,
|
||||
GIMP_USER_DIRECTORY_MUSIC,
|
||||
GIMP_USER_DIRECTORY_PICTURES,
|
||||
GIMP_USER_DIRECTORY_PUBLIC_SHARE,
|
||||
GIMP_USER_DIRECTORY_TEMPLATES,
|
||||
GIMP_USER_DIRECTORY_VIDEOS
|
||||
} GimpUserDirectory;
|
||||
|
|
|
@ -488,6 +488,8 @@ find_folder (OSType type)
|
|||
}
|
||||
#endif
|
||||
|
||||
static gchar **gimp_user_directories = NULL;
|
||||
|
||||
/**
|
||||
* gimp_user_directory:
|
||||
* @type: the type of user directory to retrieve
|
||||
|
@ -498,77 +500,87 @@ find_folder (OSType type)
|
|||
* Plug-ins may want to use this function to add shortcuts to such
|
||||
* folders to a file-chooser.
|
||||
*
|
||||
* Returns: a newly allocated directory name in filesystem encoding,
|
||||
* or %NULL
|
||||
* Returns: The path to the specified user directory, or %NULL if the
|
||||
* logical ID was not found.
|
||||
*
|
||||
* Since: GIMP 2.4
|
||||
**/
|
||||
gchar *
|
||||
const gchar *
|
||||
gimp_user_directory (GimpUserDirectory type)
|
||||
{
|
||||
switch (type)
|
||||
g_return_val_if_fail (type >= GIMP_USER_DIRECTORY_DESKTOP &&
|
||||
type <= GIMP_USER_DIRECTORY_VIDEOS, NULL);
|
||||
|
||||
if (G_UNLIKELY (gimp_user_directories == NULL))
|
||||
{
|
||||
gimp_user_directories = g_new0 (gchar *, GIMP_USER_DIRECTORY_VIDEOS + 1);
|
||||
|
||||
#ifdef G_OS_WIN32
|
||||
case GIMP_USER_DIRECTORY_DESKTOP:
|
||||
return get_special_folder (CSIDL_DESKTOPDIRECTORY);
|
||||
|
||||
case GIMP_USER_DIRECTORY_DOCUMENTS:
|
||||
return get_special_folder (CSIDL_MYDOCUMENTS);
|
||||
|
||||
case GIMP_USER_DIRECTORY_MUSIC:
|
||||
return get_special_folder (CSIDL_MYMUSIC);
|
||||
|
||||
case GIMP_USER_DIRECTORY_PICTURES:
|
||||
return get_special_folder (CSIDL_MYPICTURES);
|
||||
|
||||
case GIMP_USER_DIRECTORY_TEMPLATES:
|
||||
return get_special_folder (CSIDL_TEMPLATES);
|
||||
|
||||
case GIMP_USER_DIRECTORY_VIDEOS:
|
||||
return get_special_folder (CSIDL_MYVIDEO);
|
||||
gimp_user_directories[GIMP_USER_DIRECTORY_DESKTOP] =
|
||||
get_special_folder (CSIDL_DESKTOPDIRECTORY);
|
||||
gimp_user_directories[GIMP_USER_DIRECTORY_DOCUMENTS] =
|
||||
get_special_folder (CSIDL_MYDOCUMENTS);
|
||||
gimp_user_directories[GIMP_USER_DIRECTORY_DOWNLOAD] =
|
||||
get_special_folder (CSIDL_DESKTOPDIRECTORY);
|
||||
gimp_user_directories[GIMP_USER_DIRECTORY_MUSIC] =
|
||||
get_special_folder (CSIDL_MYMUSIC);
|
||||
gimp_user_directories[GIMP_USER_DIRECTORY_PICTURES] =
|
||||
get_special_folder (CSIDL_MYPICTURES);
|
||||
gimp_user_directories[GIMP_USER_DIRECTORY_PUBLIC_SHARE] =
|
||||
get_special_folder (CSIDL_COMMON_DOCUMENTS);
|
||||
gimp_user_directories[GIMP_USER_DIRECTORY_TEMPLATES] =
|
||||
get_special_folder (CSIDL_TEMPLATES);
|
||||
gimp_user_directories[GIMP_USER_DIRECTORY_VIDEOS] =
|
||||
get_special_folder (CSIDL_MYVIDEO);
|
||||
|
||||
#elif HAVE_CARBON
|
||||
case GIMP_USER_DIRECTORY_DESKTOP:
|
||||
return find_folder (kDesktopFolderType);
|
||||
|
||||
case GIMP_USER_DIRECTORY_DOCUMENTS:
|
||||
return find_folder (kDocumentsFolderType);
|
||||
|
||||
case GIMP_USER_DIRECTORY_MUSIC:
|
||||
return find_folder (kMusicDocumentsFolderType);
|
||||
|
||||
case GIMP_USER_DIRECTORY_PICTURES:
|
||||
return find_folder (kPictureDocumentsFolderType);
|
||||
|
||||
case GIMP_USER_DIRECTORY_TEMPLATES:
|
||||
return NULL;
|
||||
|
||||
case GIMP_USER_DIRECTORY_VIDEOS:
|
||||
return find_folder (kMovieDocumentsFolderType);
|
||||
gimp_user_directories[GIMP_USER_DIRECTORY_DESKTOP] =
|
||||
find_folder (kDesktopFolderType);
|
||||
gimp_user_directories[GIMP_USER_DIRECTORY_DOCUMENTS] =
|
||||
find_folder (kDocumentsFolderType);
|
||||
gimp_user_directories[GIMP_USER_DIRECTORY_DOWNLOAD] =
|
||||
find_folder (kDesktopFolderType); /* ??? */
|
||||
gimp_user_directories[GIMP_USER_DIRECTORY_MUSIC] =
|
||||
find_folder (kMusicDocumentsFolderType);
|
||||
gimp_user_directories[GIMP_USER_DIRECTORY_PICTURES] =
|
||||
find_folder (kPictureDocumentsFolderType);
|
||||
gimp_user_directories[GIMP_USER_DIRECTORY_PUBLIC_SHARE] = NULL;
|
||||
gimp_user_directories[GIMP_USER_DIRECTORY_TEMPLATES] = NULL;
|
||||
gimp_user_directories[GIMP_USER_DIRECTORY_VIDEOS] =
|
||||
find_folder (kMovieDocumentsFolderType);
|
||||
|
||||
#else
|
||||
case GIMP_USER_DIRECTORY_DESKTOP:
|
||||
return _xdg_user_dir_lookup ("DESKTOP");
|
||||
|
||||
case GIMP_USER_DIRECTORY_DOCUMENTS:
|
||||
return _xdg_user_dir_lookup ("DOCUMENTS");
|
||||
|
||||
case GIMP_USER_DIRECTORY_MUSIC:
|
||||
return _xdg_user_dir_lookup ("MUSIC");
|
||||
|
||||
case GIMP_USER_DIRECTORY_PICTURES:
|
||||
return _xdg_user_dir_lookup ("PICTURES");
|
||||
|
||||
case GIMP_USER_DIRECTORY_TEMPLATES:
|
||||
return _xdg_user_dir_lookup ("TEMPLATES");
|
||||
|
||||
case GIMP_USER_DIRECTORY_VIDEOS:
|
||||
return _xdg_user_dir_lookup ("VIDEOS");
|
||||
gimp_user_directories[GIMP_USER_DIRECTORY_DESKTOP] =
|
||||
_xdg_user_dir_lookup ("DESKTOP");
|
||||
gimp_user_directories[GIMP_USER_DIRECTORY_DOCUMENTS] =
|
||||
_xdg_user_dir_lookup ("DOCUMENTS");
|
||||
gimp_user_directories[GIMP_USER_DIRECTORY_DOWNLOAD] =
|
||||
_xdg_user_dir_lookup ("DOWNLOAD");
|
||||
gimp_user_directories[GIMP_USER_DIRECTORY_MUSIC] =
|
||||
_xdg_user_dir_lookup ("MUSIC");
|
||||
gimp_user_directories[GIMP_USER_DIRECTORY_PICTURES] =
|
||||
_xdg_user_dir_lookup ("PICTURES");
|
||||
gimp_user_directories[GIMP_USER_DIRECTORY_PUBLIC_SHARE] =
|
||||
_xdg_user_dir_lookup ("PUBLICSHARE");
|
||||
gimp_user_directories[GIMP_USER_DIRECTORY_TEMPLATES] =
|
||||
_xdg_user_dir_lookup ("TEMPLATES");
|
||||
gimp_user_directories[GIMP_USER_DIRECTORY_VIDEOS] =
|
||||
_xdg_user_dir_lookup ("VIDEOS");
|
||||
|
||||
#endif
|
||||
default:
|
||||
return NULL;
|
||||
|
||||
/* Special-case desktop for historical compatibility */
|
||||
if (gimp_user_directories[GIMP_USER_DIRECTORY_DESKTOP] == NULL)
|
||||
{
|
||||
gimp_user_directories[GIMP_USER_DIRECTORY_DESKTOP] =
|
||||
g_build_filename (g_get_home_dir (), "Desktop", NULL);
|
||||
}
|
||||
}
|
||||
|
||||
return gimp_user_directories[type];
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -49,7 +49,7 @@ const gchar * gimp_data_directory (void) G_GNUC_CONST;
|
|||
const gchar * gimp_locale_directory (void) G_GNUC_CONST;
|
||||
const gchar * gimp_sysconf_directory (void) G_GNUC_CONST;
|
||||
const gchar * gimp_plug_in_directory (void) G_GNUC_CONST;
|
||||
gchar * gimp_user_directory (GimpUserDirectory type) G_GNUC_MALLOC;
|
||||
const gchar * gimp_user_directory (GimpUserDirectory type) G_GNUC_CONST;
|
||||
|
||||
const gchar * gimp_gtkrc (void) G_GNUC_CONST;
|
||||
gchar * gimp_personal_rc_file (const gchar *basename) G_GNUC_MALLOC;
|
||||
|
|
|
@ -1399,7 +1399,7 @@ static PyObject *
|
|||
pygimp_user_directory(PyObject *self, PyObject *args, PyObject *kwargs)
|
||||
{
|
||||
GimpUserDirectory type;
|
||||
char *user_dir;
|
||||
const char *user_dir;
|
||||
PyObject *py_type, *ret;
|
||||
|
||||
static char *kwlist[] = { "type", NULL };
|
||||
|
@ -1416,7 +1416,6 @@ pygimp_user_directory(PyObject *self, PyObject *args, PyObject *kwargs)
|
|||
|
||||
if (user_dir) {
|
||||
ret = PyString_FromString(user_dir);
|
||||
g_free(user_dir);
|
||||
} else {
|
||||
Py_INCREF(Py_None);
|
||||
ret = Py_None;
|
||||
|
|
|
@ -353,16 +353,20 @@ package Gimp::CodeGen::enums;
|
|||
header => 'libgimpbase/gimpbaseenums.h',
|
||||
symbols => [ qw(GIMP_USER_DIRECTORY_DESKTOP
|
||||
GIMP_USER_DIRECTORY_DOCUMENTS
|
||||
GIMP_USER_DIRECTORY_DOWNLOAD
|
||||
GIMP_USER_DIRECTORY_MUSIC
|
||||
GIMP_USER_DIRECTORY_PICTURES
|
||||
GIMP_USER_DIRECTORY_PUBLIC_SHARE
|
||||
GIMP_USER_DIRECTORY_TEMPLATES
|
||||
GIMP_USER_DIRECTORY_VIDEOS) ],
|
||||
mapping => { GIMP_USER_DIRECTORY_DESKTOP => '0',
|
||||
GIMP_USER_DIRECTORY_DOCUMENTS => '1',
|
||||
GIMP_USER_DIRECTORY_MUSIC => '2',
|
||||
GIMP_USER_DIRECTORY_PICTURES => '3',
|
||||
GIMP_USER_DIRECTORY_TEMPLATES => '4',
|
||||
GIMP_USER_DIRECTORY_VIDEOS => '5' }
|
||||
GIMP_USER_DIRECTORY_DOWNLOAD => '2',
|
||||
GIMP_USER_DIRECTORY_MUSIC => '3',
|
||||
GIMP_USER_DIRECTORY_PICTURES => '4',
|
||||
GIMP_USER_DIRECTORY_PUBLIC_SHARE => '5',
|
||||
GIMP_USER_DIRECTORY_TEMPLATES => '6',
|
||||
GIMP_USER_DIRECTORY_VIDEOS => '7' }
|
||||
},
|
||||
GimpVectorsStrokeType =>
|
||||
{ contig => 1,
|
||||
|
|
Loading…
Reference in New Issue