diff options
author | Fernando Herrera <fherrera@onirica.com> | 2005-03-08 09:58:52 (GMT) |
---|---|---|
committer | Fernando Herrera de las Heras <fherrera@src.gnome.org> | 2005-03-08 09:58:52 (GMT) |
commit | 09aa3e2b90d20966010f76a7e5459f4581ef3247 (patch) | |
tree | 119bdd72c86511372ba005095c85e68e0e07a2f2 /thumbnailer | |
parent | 09b4b9d7e54c3ce7fd621bb1c80301749732caa6 (diff) |
add -s option for thumbnail size.
2005-03-08 Fernando Herrera <fherrera@onirica.com>
* thumbnailer/evince-thumbnailer.schemas:
* thumbnailer/evince-thumbnailer.c: (evince_thumbnail_pngenc_get),
(main): add -s option for thumbnail size.
Diffstat (limited to 'thumbnailer')
-rw-r--r-- | thumbnailer/evince-thumbnailer.c | 31 | ||||
-rw-r--r-- | thumbnailer/evince-thumbnailer.schemas | 2 |
2 files changed, 25 insertions, 8 deletions
diff --git a/thumbnailer/evince-thumbnailer.c b/thumbnailer/evince-thumbnailer.c index d7db265..6794a69 100644 --- a/thumbnailer/evince-thumbnailer.c +++ b/thumbnailer/evince-thumbnailer.c @@ -31,7 +31,7 @@ #define THUMBNAIL_SIZE 128 static gboolean -evince_thumbnail_pngenc_get (const char *uri, const char *thumbnail) +evince_thumbnail_pngenc_get (const char *uri, const char *thumbnail, int size) { EvDocument *document = NULL; char *mime_type; @@ -57,7 +57,7 @@ evince_thumbnail_pngenc_get (const char *uri, const char *thumbnail) } pixbuf = ev_document_thumbnails_get_thumbnail - (EV_DOCUMENT_THUMBNAILS (document), 0, THUMBNAIL_SIZE, FALSE); + (EV_DOCUMENT_THUMBNAILS (document), 0, size, FALSE); if (pixbuf != NULL) { GdkPixbuf *pdflogo; @@ -97,19 +97,36 @@ int main (int argc, char *argv[]) { int res; + char *input, *output; + int size; char *uri; - if (argc != 3) { - g_print ("%s: thumbnailer for Nautilus\n", argv[0]); - g_print ("usage: %s <input-filename> <output-filename>\n", argv[0]); + if (argc <= 2 || argc > 5 || strcmp (argv[1], "-h") == 0 || + strcmp (argv[1], "--help") == 0) { + g_print ("Usage: %s [-s <size>] <input> <output>\n", argv[0]); return -1; } res = gnome_vfs_init (); - uri = gnome_vfs_make_uri_from_shell_arg (argv[1]); + if (!strcmp (argv[1], "-s")) { + input = argv[3]; + output = argv[4]; + size = g_strtod (argv[2], NULL); + } else { + input = argv[1]; + output = argv[2]; + size = THUMBNAIL_SIZE; + } + + if (size < 40) { + g_print ("Size cannot be smaller than 40 pixels\n"); + return -1; + } + + uri = gnome_vfs_make_uri_from_shell_arg (input); - if (evince_thumbnail_pngenc_get (uri, argv[2])) { + if (evince_thumbnail_pngenc_get (uri, output, size)) { g_free (uri); return 0; } else { diff --git a/thumbnailer/evince-thumbnailer.schemas b/thumbnailer/evince-thumbnailer.schemas index 2cc5f28..cf82b9d 100644 --- a/thumbnailer/evince-thumbnailer.schemas +++ b/thumbnailer/evince-thumbnailer.schemas @@ -19,7 +19,7 @@ <applyto>/desktop/gnome/thumbnailers/application@pdf/command</applyto> <owner>evince</owner> <type>string</type> - <default>evince-thumbnailer %u %o</default> + <default>evince-thumbnailer -s %s %u %o</default> <locale name="C"> <short></short> <long></long> |