[Xfce4-commits] <ristretto:ristretto-0.0> Merge commit 'ristretto-0.0.91' into ristretto-0.0
Stephan Arts
noreply at xfce.org
Sun Oct 23 19:30:55 CEST 2011
Updating branch refs/heads/ristretto-0.0
to cad7fed05e7e62ef88408bf3a99a042cf6bad21a (commit)
from 98bbfd20d34652cee8d645925281393bc9a40135 (commit)
commit cad7fed05e7e62ef88408bf3a99a042cf6bad21a
Merge: 98bbfd2 bedb600
Author: Stephan Arts <stephan at xfce.org>
Date: Sun Oct 23 08:34:12 2011 +0200
Merge commit 'ristretto-0.0.91' into ristretto-0.0
Conflicts:
po/ru.po
src/main.c
commit bedb6009b7af371fdedd9401c9710acc90ad0c64
Author: Stephan Arts <stephan at xfce.org>
Date: Mon Jul 12 23:16:46 2010 +0200
Update NEWS, ChangeLog, and version-number
commit b9192a847107dfce64889adfd0a2dc5f97f31039
Author: Stephan Arts <stephan at xfce.org>
Date: Mon Jul 12 22:56:28 2010 +0200
Implement preloading
Fix bug with iter-clone operation - make sure it also gets the same position as the cloned iter
commit d9be1e3096ae3b487f08d7a09e8d88fee8b9948f
Author: Stephan Arts <stephan at xfce.org>
Date: Mon Jul 12 21:52:11 2010 +0200
- Add gnome-wallpaper-manager skeleton code
- Fix warning (could've segfaulted ristretto, evil bug)
- Update picture-viewer when bgcolor-properties get updated
commit da1b9a846a031e45dd83c367ba7e8e966f4d37e2
Merge: 4043912 f7d4828
Author: Stephan Arts <stephan at xfce.org>
Date: Mon Jul 12 11:17:34 2010 +0200
Merge branch 'devel'
commit f7d4828aee88787aa5c996a5425e0dd107c7a46e
Author: Stephan Arts <stephan at xfce.org>
Date: Mon Jul 12 11:13:22 2010 +0200
- Fix compile warning
- Save paned position for thumbnailbar-size
commit 4043912214732a0ec2685648636f0209faca7f89
Author: Johannes Lips <johannes.lips at googlemail.com>
Date: Thu Jul 1 15:16:44 2010 +0200
l10n: Updated German (de) translation to 88%
New status: 110 messages complete with 13 fuzzies and 1 untranslated.
Transmitted-via: Transifex (translations.xfce.org).
commit d2c9a43d82b30b195a287b64c4316b0e2a2a6ed5
Author: Johannes Lips <johannes.lips at googlemail.com>
Date: Wed Jun 30 21:35:38 2010 +0200
l10n: Updated German (de) translation to 78%
New status: 97 messages complete with 26 fuzzies and 1 untranslated.
Transmitted-via: Transifex (translations.xfce.org).
commit 51d119dbb179dbda459eaef02f1c151b023b83e8
Author: Johannes Lips <johannes.lips at googlemail.com>
Date: Wed Jun 30 21:33:39 2010 +0200
l10n: Updated German (de) translation to 78%
New status: 97 messages complete with 26 fuzzies and 1 untranslated.
Transmitted-via: Transifex (translations.xfce.org).
commit 856ebde82e2798464f63dd909d52e20e21c2b274
Author: Ivica Kolić <ikoli at yahoo.com>
Date: Fri Jun 11 19:41:44 2010 +0200
l10n: Updates to Croatian (hr) translation
New status: 105 messages complete with 0 fuzzies and 19 untranslated.
Transmitted-via: Transifex (translations.xfce.org).
commit 5a11c6f007d2341eaa69eda7fe971b58c88649b0
Author: Ivica Kolić <ikoli at yahoo.com>
Date: Thu Jun 10 00:28:03 2010 +0200
l10n: Updates to Croatian (hr) translation
New status: 105 messages complete with 0 fuzzies and 19 untranslated.
Transmitted-via: Transifex (translations.xfce.org).
commit acea18ea59da9fa98fc3ef67c57d93d842b154c1
Author: Johannes Lips <johannes.lips at googlemail.com>
Date: Wed Jun 2 06:29:07 2010 +0200
l10n: Updated German (de) translation to 76%
New status: 95 messages complete with 28 fuzzies and 1 untranslated.
Transmitted-via: Transifex (translations.xfce.org).
commit 2a0b97f618373d3599826dca55e24414cffc95e6
Author: Ivica Kolić <ikoli at yahoo.com>
Date: Tue Jun 1 00:25:16 2010 +0200
l10n: Updates to Croatian (hr) translation
New status: 105 messages complete with 0 fuzzies and 19 untranslated.
Transmitted-via: Transifex (translations.xfce.org).
commit 0311ed1ac9684ba90689421577f83ffc3a131044
Author: Ivica Kolić <ikoli at yahoo.com>
Date: Tue Jun 1 00:21:22 2010 +0200
l10n: Updates to Croatian (hr) translation
New status: 105 messages complete with 0 fuzzies and 19 untranslated.
Transmitted-via: Transifex (translations.xfce.org).
commit 6b11ddbf3c520dd9470601df9d625e467e73f70b
Author: Johannes Lips <johannes.lips at googlemail.com>
Date: Mon May 31 21:22:53 2010 +0200
l10n: Updated German (de) translation to 75%
New status: 94 messages complete with 29 fuzzies and 1 untranslated.
Transmitted-via: Transifex (translations.xfce.org).
commit cca29c15481bcf582c079e8113877bb23bb8abeb
Author: Gheyret Kenji <gheyret at yahoo.com>
Date: Mon May 31 02:54:22 2010 +0200
l10n: Updated Uyghur (ug) translation to 92%
New status: 115 messages complete with 0 fuzzies and 9 untranslated.
Transmitted-via: Transifex (translations.xfce.org).
commit b8210e9d738860d22de6cd92758caf1d66fb15a7
Author: Johannes Lips <johannes.lips at googlemail.com>
Date: Sat May 29 22:39:40 2010 +0200
l10n: Updated German (de) translation to 75%
New status: 93 messages complete with 29 fuzzies and 2 untranslated.
Transmitted-via: Transifex (translations.xfce.org).
commit f206808db6cbd0f205dda6fea76a305f3b11543c
Author: Ivica Kolić <ikoli at yahoo.com>
Date: Thu May 27 10:24:47 2010 +0200
l10n: Updated Croatian (hr) translation to 76%
New status: 95 messages complete with 0 fuzzies and 29 untranslated.
Transmitted-via: Transifex (translations.xfce.org).
commit 1b4582a4207137b25a70d45ba9ac5a5e36bf6f7e
Author: Ivica Kolić <ikoli at yahoo.com>
Date: Tue May 25 00:56:20 2010 +0200
l10n: Initial Croatian (hr) translation
New status: 87 messages complete with 0 fuzzies and 37 untranslated.
Transmitted-via: Transifex (translations.xfce.org).
commit 5f864df84af735a318fbcb85e751bfd042d04a9a
Author: Johannes Lips <johannes.lips at googlemail.com>
Date: Sat May 22 13:31:01 2010 +0200
l10n: Updated German (de) translation to 75%
New status: 93 messages complete with 29 fuzzies and 2 untranslated.
Transmitted-via: Transifex (translations.xfce.org).
commit 1e3624b82adc028e40f6560ffe6cbf7ae0a742a2
Author: Gheyret Kenji <gheyret at yahoo.com>
Date: Fri May 21 09:53:06 2010 +0200
l10n: Uyghur Translation
New status: 28 messages complete with 0 fuzzies and 96 untranslated.
Transmitted-via: Transifex (translations.xfce.org).
commit a3ce7663c0c5e8f177064140d17a74d5113613e7
Author: Johannes Lips <johannes.lips at googlemail.com>
Date: Sat May 15 21:50:27 2010 +0200
l10n: Updated German (de) translation to 75%
New status: 93 messages complete with 28 fuzzies and 3 untranslated.
Transmitted-via: Transifex (translations.xfce.org).
commit a6cae3500c4b4aa2732b1d634f714e307fd40d3b
Author: Ayhan YALÇINSOY <ayhanyalcinsoy at gmail.com>
Date: Mon May 10 22:01:48 2010 +0200
l10n: Updated Turkish (tr) translation to 99%
New status: 123 messages complete with 0 fuzzies and 1 untranslated.
Transmitted-via: Transifex (translations.xfce.org).
commit b358e88a517de151d514b1de4dd5b38fbf08c224
Author: Ayhan YALÇINSOY <ayhanyalcinsoy at gmail.com>
Date: Mon May 10 17:16:04 2010 +0200
l10n: Updated Turkish (tr) translation to 90%
New status: 112 messages complete with 2 fuzzies and 10 untranslated.
Transmitted-via: Transifex (translations.xfce.org).
commit ed296aef6bdd3a0b2e26b7e937af3a64cfef992b
Author: Ayhan YALÇINSOY <ayhanyalcinsoy at gmail.com>
Date: Mon May 10 09:18:21 2010 +0200
l10n: Updated Turkish (tr) translation to 86%
New status: 107 messages complete with 6 fuzzies and 11 untranslated.
Transmitted-via: Transifex (translations.xfce.org).
commit 45dafa92b164c3c94d14a13fd35cd64c7b96430e
Author: Ayhan YALÇINSOY <ayhanyalcinsoy at gmail.com>
Date: Mon May 10 09:12:34 2010 +0200
l10n: Updated Turkish (tr) translation to 71%
New status: 89 messages complete with 15 fuzzies and 20 untranslated.
Transmitted-via: Transifex (translations.xfce.org).
commit f504c8ec37891141a0eea95e3dda2193f669b51e
Author: Ayhan YALÇINSOY <ayhanyalcinsoy at gmail.com>
Date: Mon May 10 09:06:37 2010 +0200
l10n: Updated Turkish (tr) translation to 58%
New status: 73 messages complete with 20 fuzzies and 31 untranslated.
Transmitted-via: Transifex (translations.xfce.org).
commit 55903c7e71d806d6cedba4322d0a1d1003111db0
Author: Ayhan YALÇINSOY <ayhanyalcinsoy at gmail.com>
Date: Mon May 10 08:59:39 2010 +0200
l10n: Updated Turkish (tr) translation to 40%
New status: 50 messages complete with 26 fuzzies and 48 untranslated.
Transmitted-via: Transifex (translations.xfce.org).
commit 1f9a15efbec66c43b4b638dad75e3767266719fe
Author: Andres Kovtunos <kovtunos at yandex.ru>
Date: Tue Apr 27 07:49:47 2010 +0200
l10n: Updated Russian (ru) translation to 100%
New status: 124 messages complete with 0 fuzzies and 0 untranslated.
Transmitted-via: Transifex (translations.xfce.org).
commit 20d6daa3a26b5fbf65e4ce83f2910dba18d7e0c9
Author: Rihards Prieditis <rprieditis at gmail.com>
Date: Thu Mar 25 22:53:14 2010 +0100
l10n: Updated Latvian (lv) translation to 100%
New status: 124 messages complete with 0 fuzzies and 0 untranslated.
Transmitted-via: Transifex (translations.xfce.org).
commit d6bf6ead0a4e43772534de42ce5472b89f1b738d
Author: Abel Martín <abel.martin.ruiz at gmail.com>
Date: Sat Mar 20 18:50:09 2010 +0100
l10n: Updated Spanish (Castilian) (es) translation to 100%
New status: 124 messages complete with 0 fuzzies and 0 untranslated.
Transmitted-via: Transifex (translations.xfce.org).
commit d3fb0443685dbcdc18d3f3a72def2d04fb7f14bc
Author: Dmitry Nikitin <luckas_fb at mail.ru>
Date: Wed Mar 17 19:08:26 2010 +0100
l10n: Updated Ukrainian (uk) translation to 100%
New status: 124 messages complete with 0 fuzzies and 0 untranslated.
Transmitted-via: Transifex (translations.xfce.org).
commit b5077997f3ec0c504590f1078359cfd0ee21cdc6
Author: Dmitry Nikitin <luckas_fb at mail.ru>
Date: Wed Mar 17 19:01:57 2010 +0100
l10n: Updated Ukrainian (uk) translation to 83%
New status: 104 messages complete with 10 fuzzies and 10 untranslated.
Transmitted-via: Transifex (translations.xfce.org).
commit 797d27751453cd881c827e60a2045853f2f3f0fe
Author: Dmitry Nikitin <luckas_fb at mail.ru>
Date: Wed Mar 17 18:05:32 2010 +0100
l10n: Updated Ukrainian (uk) translation to 67%
New status: 84 messages complete with 16 fuzzies and 24 untranslated.
Transmitted-via: Transifex (translations.xfce.org).
commit a8e5423386c917ed10d01f1f3ee8c1d86898136f
Author: Piarres Beobide <pi at beobide.net>
Date: Fri Mar 12 11:36:50 2010 +0100
l10n: Updated Basque (eu) translation to 100%
New status: 124 messages complete with 0 fuzzies and 0 untranslated.
Transmitted-via: Transifex (translations.xfce.org).
commit 9ead98119bd9d0e82ba2a6ae653362f33049cc52
Author: Piarres Beobide <pi at beobide.net>
Date: Fri Mar 12 11:35:57 2010 +0100
l10n: Updated Basque (eu) translation to 99%
New status: 123 messages complete with 1 fuzzy and 0 untranslated.
Transmitted-via: Transifex (translations.xfce.org).
commit f030d5eb9e77dad7946c1036b7f7e09cd360281d
Author: Piarres Beobide <pi at beobide.net>
Date: Fri Mar 12 11:30:00 2010 +0100
l10n: Updated Basque (eu) translation to 70%
New status: 87 messages complete with 11 fuzzies and 26 untranslated.
Transmitted-via: Transifex (translations.xfce.org).
commit fc525672a0261ed1e89241199dc75c114df35568
Author: Piarres Beobide <pi at beobide.net>
Date: Fri Mar 12 11:20:08 2010 +0100
l10n: Updated Basque (eu) translation to 38%
New status: 48 messages complete with 24 fuzzies and 52 untranslated.
Transmitted-via: Transifex (translations.xfce.org).
commit e05ba9604a3957d6b143aac33ce09ceab43ada54
Author: Jari Rahkonen <jari.rahkonen at pp1.inet.fi>
Date: Thu Mar 11 10:38:56 2010 +0100
l10n: Updated Finnish (fi) translation to 100%
New status: 124 messages complete with 0 fuzzies and 0 untranslated.
Transmitted-via: Transifex (translations.xfce.org).
commit 360fecfe81a6d1ac8a955981b17f70ba0a3b22ad
Author: Robert Hartl <hartl.robert at gmail.com>
Date: Mon Mar 8 12:01:53 2010 +0100
l10n: Updated Slovak (sk) translation to 83%
New status: 103 messages complete with 8 fuzzies and 13 untranslated.
Transmitted-via: Transifex (translations.xfce.org).
commit 2cf4dfa68f74d73289e9536f41a6b3365a41029e
Author: Cristian Marchi <cri.penta at gmail.com>
Date: Thu Mar 4 19:58:20 2010 +0100
l10n: Updated Italian (it) translation to 100%
New status: 124 messages complete with 0 fuzzies and 0 untranslated.
Transmitted-via: Transifex (translations.xfce.org).
commit 28da05eef41549fb3aebed5d2c7989f84a42f950
Author: Christoph Wickert <christoph.wickert at googlemail.com>
Date: Tue Mar 2 22:58:09 2010 +0100
l10n: Updated German (de) translation to 74%
New status: 92 messages complete with 28 fuzzies and 4 untranslated.
Transmitted-via: Transifex (translations.xfce.org).
commit 032a925aaaadb28632bb478ebb59013ac672aad0
Author: Paul Seyfert <pseyfert at mathphys.fsk.uni-heidelberg.de>
Date: Fri Feb 19 16:00:43 2010 +0100
l10n: Updated German (de) translation to 66%
New status: 83 messages complete with 37 fuzzies and 4 untranslated.
Transmitted-via: Transifex (translations.xfce.org).
commit f1ebf959b51054a40912d1e4ca077dff0ba80965
Author: Paul Seyfert <pseyfert at mathphys.fsk.uni-heidelberg.de>
Date: Tue Feb 16 23:58:34 2010 +0100
l10n: Updated German (de) translation to 54%
New status: 68 messages complete with 26 fuzzies and 30 untranslated.
Transmitted-via: Transifex (translations.xfce.org).
commit c250474497c28bbb35b5bb309e192193766e17a9
Author: douart patrick <patrick.2 at laposte.net>
Date: Thu Feb 11 15:33:13 2010 +0100
l10n: Updated French (fr) translation to 99%
New status: 123 messages complete with 1 fuzzy and 0 untranslated.
Transmitted-via: Transifex (translations.xfce.org).
commit adeeb8904a9044d6404799f25bf5f6b0ddbf571a
Author: Leandro Regueiro <leandro.regueiro at gmail.com>
Date: Wed Feb 10 12:58:42 2010 +0100
l10n: Updated Galician (gl) translation to 100%
New status: 124 messages complete with 0 fuzzies and 0 untranslated.
Transmitted-via: Transifex (translations.xfce.org).
commit 17dfd8dc6c3fe25b55fbe585f0989722bf8154d4
Author: Gabor Kelemen <kelemeng at gnome.hu>
Date: Fri Feb 5 16:48:54 2010 +0100
l10n: Updated Hungarian (hu) translation to 100%
New status: 124 messages complete with 0 fuzzies and 0 untranslated.
Transmitted-via: Transifex (translations.xfce.org).
commit e3eea4abc64a70ed6d5b532b965082178b052426
Author: Evaggelos Balaskas <ebalaskas at ebalaskas.gr>
Date: Mon Feb 1 07:36:08 2010 +0100
l10n: Updated Greek (el) translation to 100%
New status: 124 messages complete with 0 fuzzies and 0 untranslated.
Transmitted-via: Transifex (translations.xfce.org).
commit 4a9819bea49ca0be4507437ec125d66b50e0dd37
Author: Dmitrij Smirnov <arch at cnc-parts.info>
Date: Fri Jan 29 08:23:52 2010 +0100
l10n: Updated Russian (ru) translation to 99%
New status: 123 messages complete with 1 fuzzy and 0 untranslated.
Transmitted-via: Transifex (translations.xfce.org).
commit 2e96f0e16cd4b5cfabe016575b5abe147dcace69
Author: Dmitrij Smirnov <arch at cnc-parts.info>
Date: Fri Jan 29 08:21:42 2010 +0100
l10n: Updated Russian (ru) translation to 99%
New status: 123 messages complete with 1 fuzzy and 0 untranslated.
Transmitted-via: Transifex (translations.xfce.org).
commit e6d9ce42edad388c85e472fb6472a0e7895b6db4
Author: Dmitrij Smirnov <arch at cnc-parts.info>
Date: Tue Jan 26 19:51:56 2010 +0100
l10n: Updated Russian (ru) translation to 97%
New status: 121 messages complete with 3 fuzzies and 0 untranslated.
Transmitted-via: Transifex (translations.xfce.org).
commit e89e51324da58c6209ffbf5986d8fdb6012893d7
Author: Dmitrij Smirnov <arch at cnc-parts.info>
Date: Tue Jan 26 19:36:22 2010 +0100
l10n: Updated Russian (ru) translation to 77%
New status: 96 messages complete with 28 fuzzies and 0 untranslated.
Transmitted-via: Transifex (translations.xfce.org).
commit 04111281fa63cc4588a42bbc84ec787e91d73633
Author: Jeff Bailes <thepizzaking at gmail.com>
Date: Sun Jan 24 04:08:41 2010 +0100
l10n: Updated English (United Kingdom) (en_GB) translation to 100%
New status: 124 messages complete with 0 fuzzies and 0 untranslated.
Transmitted-via: Transifex (translations.xfce.org).
commit 0f8b9dcc06054dcae82a863b2134238cc4b716b1
Author: Leandro Regueiro <leandro.regueiro at gmail.com>
Date: Thu Jan 21 12:07:01 2010 +0100
l10n: Updated Galician (gl) translation to 100%
New status: 121 messages complete with 0 fuzzies and 0 untranslated.
Transmitted-via: Transifex (translations.xfce.org).
commit e8ca976ea2624ad9dd61ee01576180ba3cd0865e
Author: Leandro Regueiro <leandro.regueiro at gmail.com>
Date: Wed Jan 20 15:09:25 2010 +0100
l10n: Updated Galician (gl) translation to 100%
New status: 124 messages complete with 0 fuzzies and 0 untranslated.
Transmitted-via: Transifex (translations.xfce.org).
commit 712754c04b5e89350350a5c4aea1f90e4ed3f3f0
Author: Xu Meihong <mhuntxu at gmail.com>
Date: Tue Jan 19 22:13:04 2010 +0100
l10n: Updated Chinese (China) (zh_CN) translation to 100%
New status: 124 messages complete with 0 fuzzies and 0 untranslated.
Transmitted-via: Transifex (translations.xfce.org).
commit 2db9180ce3e3c116f0a72e1e3ee3f55d604f7035
Author: Sergio Marques <smarquespt at gmail.com>
Date: Tue Jan 19 11:25:17 2010 +0100
l10n: Updated Portuguese (pt) translation to 100%
New status: 124 messages complete with 0 fuzzies and 0 untranslated.
Transmitted-via: Transifex (translations.xfce.org).
commit 618b94f2c2ebc49ebe309a6454cdc83ae8c78ebe
Author: Stephan Arts <stephan at xfce.org>
Date: Tue Jan 19 01:42:07 2010 +0100
Update ChangeLog and NEWS
commit 829b15698f827857705ac70b968dfd3af7908f66
Author: Stephan Arts <stephan at xfce.org>
Date: Tue Jan 19 01:26:34 2010 +0100
Reset adjustments when no image is loaded.
commit 2a31e2ed23f60bd7500a74172f18011f14678c4d
Merge: 405d604 1987552
Author: Stephan Arts <stephan at xfce.org>
Date: Sun Jan 17 23:51:55 2010 +0100
Merge branch 'master' of ssh://git.xfce.org/git/apps/ristretto
commit 1987552645a6b9c161c2ce8ff81e293035942fbd
Author: Michal Várady <miko.vaji at gmail.com>
Date: Sun Jan 17 15:55:05 2010 +0100
l10n: Updated Czech (cs) translation to 100%
New status: 124 messages complete with 0 fuzzies and 0 untranslated.
Transmitted-via: Transifex (translations.xfce.org).
commit 6c5800892d6e269bb0de61e0f2aae64f03803ebe
Author: Carles Muñoz Gorriz <carlesmu at internautas.org>
Date: Sat Jan 16 18:22:16 2010 +0100
l10n: Updated Catalan (Valencian) (ca) translation to 100%
New status: 124 messages complete with 0 fuzzies and 0 untranslated.
Transmitted-via: Transifex (translations.xfce.org).
commit 3fa2374936ce8337cbb7903d883d24afc02c14af
Author: Per Kongstad <p_kongstad at op.pl>
Date: Fri Jan 15 12:01:01 2010 +0100
l10n: Updated Danish (da) translation to 100%
New status: 124 messages complete with 0 fuzzies and 0 untranslated.
Transmitted-via: Transifex (translations.xfce.org).
commit 405d60417346e65dcc6a02f5e5501e7ce66547be
Author: Stephan Arts <stephan at xfce.org>
Date: Fri Jan 15 01:03:57 2010 +0100
remove fixme notice, was fixed
commit e43e2b4e5fcf4b23c763314c2af49c2e21afadb2
Author: Stephan Arts <stephan at xfce.org>
Date: Fri Jan 15 00:57:54 2010 +0100
Update .po files
commit fe9d58b921b5b1f9b37cbfadafd464a1f2a13539
Author: Stephan Arts <stephan at xfce.org>
Date: Fri Jan 15 00:50:16 2010 +0100
Fix box-zoom when image is rendered at below-maximum resolution
commit 61d59ea78f70e4a1b94d8a1c040bcc4a2f4491bd
Author: Stephan Arts <stephan at xfce.org>
Date: Thu Jan 14 00:49:27 2010 +0100
Update copyright messages
commit 8a1e66cd4e1f9095133abcebd6ecf5ab2e0d9601
Author: Stephan Arts <stephan at xfce.org>
Date: Tue Jan 12 10:27:33 2010 +0100
Implement box-zoom... it only works when the image is loaded at max-quality... still need to fix that
commit ca420c8020448401b22a125e0530844002cb9574
Author: Stephan Arts <stephan at xfce.org>
Date: Sat Jan 9 08:58:15 2010 +0100
Remove stuff that is not going to be ready for 0.1.0
commit 66d3f626989162041657ec69da6ad726267fa57e
Author: Timo Verbeek <timoverbeek10 at hotmail.com>
Date: Thu Jan 14 15:23:44 2010 +0100
l10n: Updated Dutch (Flemish) (nl) translation to 88%
New status: 107 messages complete with 11 fuzzies and 3 untranslated.
Transmitted-via: Transifex (translations.xfce.org).
commit 2f5ac49acd1bca48b4396f8c4a372d2697fed5e0
Merge: f7df9db 62b93c5
Author: Stephan Arts <stephan at xfce.org>
Date: Fri Jan 8 23:38:52 2010 +0100
Merge branch 'master' of ssh://git.xfce.org/git/apps/ristretto
commit f7df9dbb483a663e5ff618012f91c9c8ac71c894
Author: Stephan Arts <stephan at xfce.org>
Date: Fri Jan 8 23:37:45 2010 +0100
Make thumbnailing work with non-jpeg mimetypes and vertical thumbnailbars...
commit 62b93c550b09942fac0d994f79f80f37b49320ff
Author: Leandro Regueiro <leandro.regueiro at gmail.com>
Date: Fri Jan 8 18:19:19 2010 +0100
l10n: Updates to Galician (gl) translation
Transmitted-via: Transifex (translations.xfce.org)
commit 6b4af04bc51d590c35ddc710119d82811494be86
Author: Stephan Arts <stephan at xfce.org>
Date: Fri Jan 8 09:04:16 2010 +0100
Remove debug statement
Update TODO
Remove thumbnails from thumbnail-queue when ready
commit d28d43cb7ad6d88f031befcfc3d112883b1c6833
Author: Stephan Arts <stephan at xfce.org>
Date: Fri Jan 8 00:39:15 2010 +0100
Fix assert
commit 84884ba370e3a8cee3458eeeeb4d53066e1b948a
Merge: 6e636be 69619f1
Author: Stephan Arts <stephan at xfce.org>
Date: Fri Jan 8 00:29:42 2010 +0100
Merge branch 'master' of ssh://git.xfce.org/git/apps/ristretto
commit 6e636bef4a505fb4a42a70a372b7891dc15286b2
Author: Stephan Arts <stephan at xfce.org>
Date: Fri Jan 8 00:29:15 2010 +0100
Add rudimentary support for tumbler.
commit 3e01c494643d4cbdff7cb0c08e44028c35c0893a
Author: Stephan Arts <stephan at xfce.org>
Date: Thu Jan 7 22:47:19 2010 +0100
Remove excess break statement
commit 69619f1202394434a263ff98ce61479e5a8c1487
Author: Carles Muñoz Gorriz <carlesmu at internautas.org>
Date: Wed Jan 6 19:08:41 2010 +0100
l10n: Updates to Catalan (Valencian) (ca) translation
Transmitted-via: Transifex (translations.xfce.org)
commit 5686b2b3260e74c0eaadad0e24797a22e9f8af04
Author: Evaggelos Balaskas <ebalaskas at ebalaskas.gr>
Date: Thu Dec 31 19:36:24 2009 +0000
l10n: Updates to Greek (el) translation
Transmitted-via: Transifex (translations.xfce.org)
commit 9d0ed1f3fec275a3b819dafb6c18c00dbb4f761f
Author: Daniel Nylander <po at danielnylander.se>
Date: Wed Dec 16 17:29:14 2009 +0000
l10n: Updates to Swedish (sv) translation
Transmitted-via: Transifex (translations.xfce.org)
commit e8d6832ca83477a70a83a3f35f90bad1d1f6b1c3
Author: Nuno Miguel <nunis at netcabo.pt>
Date: Tue Dec 15 15:31:14 2009 +0000
l10n: Updates to Portuguese (pt) translation
Transmitted-via: Transifex (translations.xfce.org)
commit dcee380e59df1f7339027e6773992814b6ac6388
Author: Cristian Marchi <cri.penta at gmail.com>
Date: Thu Dec 10 18:48:01 2009 +0000
l10n: Updates to Italian (it) translation
Transmitted-via: Transifex (translations.xfce.org)
commit c6147693a100115e16bd0d141a46e287cdeb4a87
Author: Xu Meihong <mhuntxu at gmail.com>
Date: Mon Nov 16 15:17:05 2009 +0000
l10n: Updates to Chinese (China) (zh_CN) translation
Transmitted-via: Transifex (translations.xfce.org)
commit 845f8cf015184530130dd492355ee82dd05a329b
Author: douart patrick <patrick.2 at laposte.net>
Date: Sun Nov 15 16:27:11 2009 +0000
l10n: Updates to French (fr) translation
Transmitted-via: Transifex (translations.xfce.org)
commit d2bb4e80642d2802c236dba7650494a1a0259654
Author: Michal Várady <miko.vaji at gmail.com>
Date: Fri Nov 6 13:00:10 2009 +0000
l10n: Updates to Czech (cs) translation
Transmitted-via: Transifex (translations.xfce.org)
commit 2db2852740548ff7eac3d8a965f2ab602b87b527
Author: Ignacio Velasco <elega at elega.com.ar>
Date: Fri Nov 6 12:08:10 2009 +0000
l10n: Updates to Spanish (Castilian) (es) translation
Transmitted-via: Transifex (translations.xfce.org)
commit f940b663ab11c297edff2d538e06343ddd303d3d
Author: Leandro Regueiro <leandro.regueiro at gmail.com>
Date: Fri Nov 6 11:55:18 2009 +0000
l10n: Updates to Galician (gl) translation
Transmitted-via: Transifex (translations.xfce.org)
commit 65169c005834efbbeff7e2ac31655147881b45af
Author: Leandro Regueiro <leandro.regueiro at gmail.com>
Date: Fri Nov 6 11:27:20 2009 +0000
l10n: Updates to Galician (gl) translation
Transmitted-via: Transifex (translations.xfce.org)
commit 030c26eeab468a7f82f3465e4911fd73dc5ca349
Author: Michal Várady <miko.vaji at gmail.com>
Date: Fri Nov 6 10:03:17 2009 +0000
l10n: Updates to Czech (cs) translation
Transmitted-via: Transifex (translations.xfce.org)
commit 56ad236e584ce8aba5ed9fb29b0ab7fa8c1bd9e9
Author: Per Kongstad <p_kongstad at op.pl>
Date: Fri Nov 6 07:32:34 2009 +0000
l10n: Updates to Danish (da) translation
Transmitted-via: Transifex (translations.xfce.org)
commit 4495497967961df6ecb81a52831f0e653377ee9b
Author: Harald Servat <redcrash at gmail.com>
Date: Thu Nov 5 14:36:47 2009 +0000
l10n: Updates to Catalan (Valencian) (ca) translation
Transmitted-via: Transifex (translations.xfce.org)
commit c978dcc92506d4dd5c92e9f66b243830a7eb68a3
Author: Leandro Regueiro <leandro.regueiro at gmail.com>
Date: Wed Nov 4 13:18:43 2009 +0000
l10n: Updates to Galician (gl) translation
Transmitted-via: Transifex (translations.xfce.org)
commit 7a077d21c193f0fc34b2fbad265b18e2f6830445
Author: Stephan Arts <stephan at xfce.org>
Date: Sun Nov 1 09:04:11 2009 +0100
Implement sliders in set-wallpaper dialog
commit 9586bf7474d834a12d6484c4eb03c35aaa91d152
Author: Stephan Arts <stephan at xfce.org>
Date: Sun Oct 25 23:39:05 2009 +0100
Improve thumbnail limits
commit bc4001f617669450b7abca15db8e9d264c964aae
Author: Stephan Arts <stephan at xfce.org>
Date: Sun Oct 25 21:12:21 2009 +0100
Add configure dialog for set-wallpeper
Fix compile issues
commit 9112f41c262427b7dd60b1b77bb7373044850b55
Author: Stephan Arts <stephan at xfce.org>
Date: Sun Oct 25 20:03:39 2009 +0100
fix build-failure
commit aabe02cbf725ecbd36e94003cfa029d8141768dd
Author: Stephan Arts <stephan at xfce.org>
Date: Sun Oct 25 19:27:59 2009 +0100
update .po files
commit 34ac6fd5a0f438886448cabcb457b957baef123b
Merge: 535dd6f 0e5ecd5
Author: Stephan Arts <stephan at xfce.org>
Date: Sun Oct 25 19:26:05 2009 +0100
Merge branch 'master' of ssh://git.xfce.org/git/apps/ristretto
commit 535dd6f1961a1e729d6fcaafc288f6a1a91f611a
Author: Stephan Arts <stephan at xfce.org>
Date: Sun Oct 25 18:34:34 2009 +0100
Add wrap-images setting
commit 0e5ecd5dad1ae63f2c8d7068774d8a44e84dd51c
Author: douart patrick <patrick.2 at laposte.net>
Date: Sat Oct 24 21:51:22 2009 +0000
l10n: Updates to French (fr) translation
Transmitted-via: Transifex (translations.xfce.org)
commit 0a53070eb1a459f8f67dd52146d1cc5313a82d9c
Author: Per Kongstad <p_kongstad at op.pl>
Date: Sat Oct 24 09:06:27 2009 +0000
l10n: Updates to Danish (da) translation
Transmitted-via: Transifex (translations.xfce.org)
commit 735d8fd9583ca1d123c9d0d3e273b51720f2f5ff
Author: Stephan Arts <stephan at xfce.org>
Date: Sat Oct 24 04:41:55 2009 +0200
Add a wrap-images option and prevent the iterators from jumping to the start or end of the image-list when an image is removed
commit 90f3cc5e0b5941e613defb37160c40d23d952eca
Author: Stephan Arts <stephan at xfce.org>
Date: Sat Oct 24 04:38:17 2009 +0200
Make image-cache cache one less image to prevent it from exceeding the maximum size.
commit e4d0590a4b83c51149272fff780d3b0c421b38a9
Author: Nuno Miguel <nunis at netcabo.pt>
Date: Fri Oct 23 17:37:21 2009 +0000
l10n: Updates to Portuguese (pt) translation
Transmitted-via: Transifex (translations.xfce.org)
commit dd523cec724754f646d8a751a4261a87d6ebd1eb
Author: Rihards Prieditis <rprieditis at gmail.com>
Date: Wed Oct 21 12:58:25 2009 +0000
l10n: Updates to Latvian (lv) translation
Transmitted-via: Transifex (translations.xfce.org)
commit 00401298705de8634beb4fec133916fd6d110d51
Author: Xu Meihong <mhuntxu at gmail.com>
Date: Wed Oct 21 06:13:04 2009 +0000
l10n: Updates to Chinese (China) (zh_CN) translation
Transmitted-via: Transifex (translations.xfce.org)
commit 3464cfd1a1f3343eec307b62650c1c47821c25cf
Author: Stephan Arts <stephan at xfce.org>
Date: Fri Oct 16 23:55:47 2009 +0200
implement auto-center on thumbnail-bar
commit bd4acfa129dab706130be9e5c963bb3e602b7045
Merge: a8b0d38 0982f16
Author: Stephan Arts <stephan at xfce.org>
Date: Thu Oct 15 23:19:09 2009 +0200
Merge branch 'master' of ssh://git.xfce.org/git/apps/ristretto
commit a8b0d38c4754b693e3821acdb4f7a5e24233e9e3
Author: Stephan Arts <stephan at xfce.org>
Date: Thu Oct 15 23:18:44 2009 +0200
Fix memory leaks
commit 0982f167f049ac45806526b5fac9283acaf17d6b
Author: Robert Hartl <hartl.robert at gmail.com>
Date: Mon Oct 12 14:59:07 2009 +0000
l10n: Updates to Slovak (sk) translation
Transmitted-via: Transifex (translations.xfce.org)
commit 2a05c97da63b573ce5b3b49c7c21bfbc86bc9716
Author: Masato Hashimoto <cabezon.hashimoto at gmail.com>
Date: Mon Oct 12 06:46:15 2009 +0000
l10n: Updates to Japanese (ja) translation
Transmitted-via: Transifex (translations.xfce.org)
commit 4cb99fa5451db6c56b203e8d8c7aead44d084d39
Merge: c8c6e4b 8927de9
Author: Stephan Arts <stephan at xfce.org>
Date: Mon Oct 12 00:16:20 2009 +0200
Merge branch 'master' of ssh://git.xfce.org/git/apps/ristretto
Conflicts:
po/ca.po
commit c8c6e4b3f3baabea943b3dd97a58fe5e3be1b199
Author: Stephan Arts <stephan at xfce.org>
Date: Mon Oct 12 00:14:28 2009 +0200
Update .po files
commit c40377983db699135a6e8ad395cbf730fd882f2f
Author: Stephan Arts <stephan at xfce.org>
Date: Mon Oct 12 00:12:15 2009 +0200
Update TODO
commit ac5848324c73cf6d220a20fdb66390ff557836f0
Author: Stephan Arts <stephan at xfce.org>
Date: Mon Oct 12 00:11:39 2009 +0200
Change looks of the thumbnailbar
commit 8927de978a1d6168a96b8a8fd8746d1f25e221b4
Author: Carles Muñoz Gorriz <carlesmu at internautas.org>
Date: Sun Oct 11 14:24:51 2009 +0000
l10n: Updates to Catalan (Valencian) (ca) translation
Transmitted-via: Transifex (translations.xfce.org)
commit 90722c427ac74f24eeaa67a9e0b6b5c526e8ca9f
Author: Stephan Arts <stephan at xfce.org>
Date: Thu Oct 8 22:55:26 2009 +0200
Add application-icon to the app-menu-item (used in the open-with menu)
commit e579136365068c799c6964dedf4ab2532a4e38e4
Author: Steve Dodier <sidnioulz at gmail.com>
Date: Wed Oct 7 05:25:38 2009 +0000
l10n: Updates to French (fr) translation
Transmitted-via: Transifex (translations.xfce.org)
commit 89289414e601cec38126beebfe652c1530324244
Author: Iñigo Varela <malditoastur at gmail.com>
Date: Mon Oct 5 16:24:15 2009 +0000
l10n: Updates to Asturian (ast) translation
Transmitted-via: Transifex (translations.xfce.org)
commit 08a1da7bfe3324c67a2851c22648ad07418ff445
Author: Stephan Arts <stephan at xfce.org>
Date: Sat Oct 3 11:34:47 2009 +0200
Change default settings
commit 46f80f42f466ddf7f340126d00018d14a87bdf37
Merge: c2e3386 bfdff74
Author: Stephan Arts <stephan at xfce.org>
Date: Sat Oct 3 11:26:13 2009 +0200
Merge branch 'master' of ssh://git.xfce.org/git/apps/ristretto
commit c2e33860a30b9c1d58fc69fc1827455cda3d2eb3
Author: Stephan Arts <stephan at xfce.org>
Date: Sat Oct 3 11:24:58 2009 +0200
Check if a supported desktop-manager (xfdesktop) is running, and set the set-wallpaper button sensitivity based on that.
Update ChangeLog
commit b581b8307ba0df8fd69a1518c5a4c4a76d8046cb
Author: Stephan Arts <stephan at xfce.org>
Date: Sat Oct 3 11:21:17 2009 +0200
fix Makefile.am
commit bfdff74842cd3526b1a8b9f328841477f595e0c1
Author: Masato Hashimoto <cabezon.hashimoto at gmail.com>
Date: Sat Oct 3 06:04:19 2009 +0000
l10n: Updates to Japanese (ja) translation
Transmitted-via: Transifex (translations.xfce.org)
commit 6b7f3c147d2076f4dbfdfbe263d24b5dd4ce1a42
Author: Leandro Regueiro <leandro.regueiro at gmail.com>
Date: Thu Oct 1 15:21:15 2009 +0000
l10n: Updates to Galician (gl) translation
Transmitted-via: Transifex (translations.xfce.org)
commit bd128501c181c9e9115be42c1b05778180865b14
Author: Ignacio Velasco <elega at elega.com.ar>
Date: Mon Sep 28 20:37:43 2009 +0000
l10n: Updates to Spanish (Castilian) (es) translation
Transmitted-via: Transifex (translations.xfce.org)
commit dadc12e86641edb55e2e7b8317bf9d5a2411ff01
Author: Per Kongstad <p_kongstad at op.pl>
Date: Mon Sep 28 16:42:46 2009 +0000
l10n: Updates to Danish (da) translation
Transmitted-via: Transifex (translations.xfce.org)
commit 21a924b3ce5efbcd541919d6f219afdae1703d40
Author: Stephan Arts <stephan at xfce.org>
Date: Sun Sep 27 23:48:06 2009 +0200
- Update preferences-dialog
- Cleanup xfconf-channel
- Update .po files
- Add shortcut for thumbnail-bar visibility
commit 24b4274ed286948ee6e1e7b9ead825529bb0a51b
Author: Stephan Arts <stephan at xfce.org>
Date: Sat Sep 26 17:56:58 2009 +0200
Add option to load all images in a folder
commit 062b0f1f7443308430ec246387e3408a79a1e8d7
Author: Stephan Arts <stephan at xfce.org>
Date: Sat Sep 26 10:16:46 2009 +0200
Images can only be opened once
commit 2366de5be112bf8a9883f40436ad6c0904bd9d34
Author: Stephan Arts <stephan at xfce.org>
Date: Sat Sep 26 09:26:00 2009 +0200
Update TODO, set bg-color, saturation and brightness
commit fad524e712e62ac7282d6f6582acf27302d11d58
Author: Stephan Arts <stephan at xfce.org>
Date: Sat Sep 26 09:06:11 2009 +0200
Update ChangeLog
commit 6ec49be460af0d05d5d38573821aa3f34ba8f3da
Author: Stephan Arts <stephan at xfce.org>
Date: Sat Sep 26 09:03:40 2009 +0200
Implement basic 'set as wallpaper' functionality for xfdesktop, simmilar to the 0.0.x versions (only set on screen0, monitor0)
commit 29e052d12745196ba251b64bb5f699275ec5cb60
Author: Stephan Arts <stephan at xfce.org>
Date: Wed Sep 23 23:37:40 2009 +0200
Add copyright notice to headers
commit 5964507a295a4c803066c758e94ead95b1509e73
Author: Stephan Arts <stephan at xfce.org>
Date: Wed Sep 23 23:36:47 2009 +0200
Implement open-with menu with launcher menu-items
commit 5562dcd515df545490234466f9ab2c419de78868
Merge: 3e7c0bb bc65111
Author: Stephan Arts <stephan at xfce.org>
Date: Wed Sep 23 00:16:30 2009 +0200
Merge branch 'master' of ssh://git.xfce.org/git/apps/ristretto
commit 3e7c0bb6540eaef683a6aff3306ed53d1ff5c2e9
Author: Stephan Arts <stephan at xfce.org>
Date: Wed Sep 23 00:15:52 2009 +0200
Add initial code to implement the open-with menu
commit a4f7e2f0e83118bfd8cb5ff2cee068c60f19efe3
Author: Stephan Arts <stephan at xfce.org>
Date: Tue Sep 22 23:44:11 2009 +0200
Do not change zoom-mode when switching to fullscreen, recalculate scale when fitting image to window.
commit bc65111e162b42b23d03d381f22243ecf7c50bcf
Author: Per Kongstad <p_kongstad at op.pl>
Date: Sun Sep 20 16:02:01 2009 +0000
l10n: Updates to Danish (da) translation
Transmitted-via: Transifex (translations.xfce.org)
commit c398c455d0423eba9a52465f8b61c545d998ca13
Author: Evaggelos Balaskas <ebalaskas at ebalaskas.gr>
Date: Sat Sep 19 11:23:30 2009 +0000
l10n: Updates to Greek (el) translation
Transmitted-via: Transifex (translations.xfce.org)
commit 21468830a5194de5ecabf3cc1739b9e283f2077f
Author: Stephan Arts <stephan at xfce.org>
Date: Sat Sep 19 00:57:31 2009 +0200
Set default value to checkbutton
commit 91325112789b59dcc988461afdf877f17a832037
Author: Stephan Arts <stephan at xfce.org>
Date: Sat Sep 19 00:54:19 2009 +0200
Implement option to toggle 'preview'
commit d9351b358ffd7ebbd3cdf00524ba27d80215c993
Author: Stephan Arts <stephan at xfce.org>
Date: Sat Sep 19 00:24:14 2009 +0200
Update .po files & Add ristretto.pot to git
commit d5e1cf2da6d0cff03ba5f2d3155fedff9b03768b
Author: Stephan Arts <stephan at xfce.org>
Date: Sat Sep 19 00:21:25 2009 +0200
Remove obsolete files and improve status messages
commit fa40ab207a185499a3087a05eb860aa65b3ebe39
Author: Carles Muñoz Gorriz <carlesmu at internautas.org>
Date: Sun Sep 13 16:14:22 2009 +0000
l10n: Updates to Catalan (Valencian) (ca) translation
Transmitted-via: Transifex (translations.xfce.org)
commit d4ca5408079400adce1ff752eb6c02ae6f2a3215
Author: Vinh Nguyen <kureikain at gmail.com>
Date: Fri Sep 11 06:09:24 2009 +0000
l10n: Updates to Vietnamese translation
Transmitted-via: Transifex (translations.xfce.org)
commit 46381f2adc82f9919c42279898562de51807ef0c
Author: Iñigo Varela <malditoastur at gmail.com>
Date: Thu Sep 10 21:31:35 2009 +0000
l10n: Updates to Asturian (ast) translation
Transmitted-via: Transifex (translations.xfce.org)
commit 1f0cfddd452aaaf03cc4e7563cac634bf2bb53d5
Author: Ignacio Velasco <elega at elega.com.ar>
Date: Tue Sep 8 04:37:37 2009 +0000
l10n: Updates to Spanish (Castilian) (es) translation
Transmitted-via: Transifex (translations.xfce.org)
commit 8125d3d2513f8e935720ecf93fe1ad93813c94da
Author: Evaggelos Balaskas <ebalaskas at ebalaskas.gr>
Date: Sun Sep 6 19:46:50 2009 +0000
l10n: Updates to Greek (el) translation
Transmitted-via: Transifex (translations.xfce.org)
commit b50a7276eaccd288b3a8ebac78090c631d521a1d
Author: Per Kongstad <p_kongstad at op.pl>
Date: Sun Sep 6 09:28:32 2009 +0000
l10n: Updates to Danish (da) translation
Transmitted-via: Transifex (translations.xfce.org)
commit 4beb95d228d808942ba13c32e62d08700e44f0fd
Author: Evaggelos Balaskas <ebalaskas at ebalaskas.gr>
Date: Sun Sep 6 08:45:41 2009 +0000
l10n: Updates to Greek (el) translation
Transmitted-via: Transifex (translations.xfce.org)
commit b254f907a8f273d22a81d3b99fcbc7fee32a3e53
Author: Stephan Arts <stephan at xfce.org>
Date: Sun Sep 6 09:06:16 2009 +0200
Remove messagebar
Fix rendering-size of images
commit 0532bd09804467892c0668ad4e771bf516e4c152
Author: Stephan Arts <stephan at xfce.org>
Date: Sat Sep 5 12:19:22 2009 +0200
Remove 'sorting' from TODO
commit 128725dbd7d62d490c823c673db859aa85d537e6
Author: Stephan Arts <stephan at xfce.org>
Date: Sat Sep 5 12:15:59 2009 +0200
Show messagebar when opening a single image from the cli
commit 79277392c9dd1e1ae4a493a54b001dbcdf980efd
Author: Stephan Arts <stephan at xfce.org>
Date: Sat Sep 5 11:41:58 2009 +0200
Implement option to hide thumbnailbar when fullscreen
commit 54560c4bab54160935322d2f2bc796def94f86e3
Author: Stephan Arts <stephan at xfce.org>
Date: Sat Sep 5 08:46:56 2009 +0200
Implement slideshow-timeout slider
commit 692ce7e6229f1ef0e4a4867447567cb316d36d9e
Author: Stephan Arts <stephan at xfce.org>
Date: Sat Sep 5 08:00:47 2009 +0200
Implement scrollwheel-action on picture-viewer
commit 5ac321c922b325dc603e2c91ab82589be34f0e17
Author: Stephan Arts <stephan at xfce.org>
Date: Sat Sep 5 00:05:48 2009 +0200
Add convenience-functions so it is not required to initialise GValue's all over the place
commit dd21ac04b42c778e6dd0efee899439c089f4adcf
Author: Stephan Arts <stephan at xfce.org>
Date: Fri Sep 4 21:49:00 2009 +0200
Change Arrow orientation together with toolbar orientation
commit 2d52ef1af0ccbba2696f10615f9c4ad5a2695349
Author: Stephan Arts <stephan at xfce.org>
Date: Fri Sep 4 21:11:29 2009 +0200
Update info in statusbar
commit 2fdb6835aca00bc329cb7a3ba7e5d7c807d20486
Author: Stephan Arts <stephan at xfce.org>
Date: Fri Sep 4 20:03:06 2009 +0200
Remove Save dialog code
commit 8ede839faf55ce9f538630bdc11bf521e2e52ddf
Author: Stephan Arts <stephan at xfce.org>
Date: Fri Sep 4 19:55:44 2009 +0200
Reorder thumbnails when the image-sorting changes
commit b318158146c7beeadb5337b2e4d1e8400b5b7473
Author: Stephan Arts <stephan at xfce.org>
Date: Fri Sep 4 19:04:34 2009 +0200
Add popup menu for the image-viewer
commit e3d9c8c54eafc7110139d1bd4d4b1bc04a1110d4
Author: Stephan Arts <stephan at xfce.org>
Date: Fri Sep 4 18:02:11 2009 +0200
Emit Iterator-changed signal on all iterators when the sort function changes
commit 73ca8a7455f1c571a1ab14e7e7915350fc0c595b
Author: Stephan Arts <stephan at xfce.org>
Date: Thu Sep 3 23:48:22 2009 +0200
Cleanup, update ChangeLog and implement sorting
commit 17c51cbd73d37e838a046941386cb688abeaeb5b
Author: Stephan Arts <stephan at xfce.org>
Date: Thu Sep 3 20:11:10 2009 +0200
Add functions to set build in and custom sorting functions
commit 173a23b410e0bb5737bb736c816a5d9d2b164d12
Author: Stephan Arts <stephan at xfce.org>
Date: Thu Sep 3 20:00:15 2009 +0200
Update ChangeLog
Add sort_on_exif_date skeleton-code
Fix typo in accelerator for rotate-left
commit 99225225b34039abe5d69041ba1483d25ef5686e
Author: Stephan Arts <stephan at xfce.org>
Date: Tue Sep 1 22:42:25 2009 +0200
Update Todo
Store navbar position in xfconf
commit ebd4e629d93f715f8d0888aee4ae22583986c552
Author: Stephan Arts <stephan at xfce.org>
Date: Tue Sep 1 18:00:14 2009 +0200
Add right-mouse-click-menu to the thumbnail-bar
Hide navigation-bar after leaving fullscreen-mode
commit c181f72632125b0789d4a052c5c75b634b932720
Author: Stephan Arts <stephan at xfce.org>
Date: Tue Sep 1 08:30:41 2009 +0200
Improve fullscreen behaviour
commit 617daf015dccdb2e8dc41c9e08a8d28c3fb79877
Author: Stephan Arts <stephan at xfce.org>
Date: Sun Aug 30 13:42:50 2009 +0200
Update .po files
commit a31e4fdd0c4e82937eb2c8d9306b1121f701dd9d
Author: Stephan Arts <stephan at xfce.org>
Date: Sun Aug 30 13:35:48 2009 +0200
Add popup-menu to change the navigationbar position
commit 1f629afbfbf65b23fd27e97fae36cc47c5002f2e
Author: Stephan Arts <stephan at xfce.org>
Date: Sun Aug 30 11:36:48 2009 +0200
Place navigation-toolbar and thumbnail-bar next to eachother, regardless of orientation
commit 3f2f75e12dad09580ab774901b9f09151d3565eb
Author: Stephan Arts <stephan at xfce.org>
Date: Sun Aug 30 10:53:05 2009 +0200
Toggle visibility of thumbnailbar
commit 1b71f80354aecfebee9fe7bb2fdd064b81074a2f
Author: Stephan Arts <stephan at xfce.org>
Date: Sun Aug 30 10:38:23 2009 +0200
Fix errors when the 'ristretto' icon is not available.
Add toggle-button for hiding navigation-toolbar
commit 527692577906730757dea30dbb640f1f12ff5cd8
Author: Stephan Arts <stephan at xfce.org>
Date: Sun Aug 30 10:23:58 2009 +0200
Improve button-sensitivity, do not make navigation-buttons and slideshow buttons sensitive when only one image is opened.
commit 6ccb8ed5ad572b76109c482c5c9b13fe71a563fb
Author: Jeff Bailes <thepizzaking at gmail.com>
Date: Tue Aug 18 02:02:05 2009 +0000
l10n: Updates to English (United Kingdom) (en_GB) translation
Transmitted-via: Transifex (translations.xfce.org)
commit 70abfd27ec24c8adee73386bd3fef498ed724b13
Author: Masato Hashimoto <cabezon.hashimoto at gmail.com>
Date: Mon Aug 17 13:07:06 2009 +0000
l10n: Updates to Japanese (ja) translation
Transmitted-via: Transifex (translations.xfce.org)
commit 73c621338fce0b7a508d2ec81e8d8ec5acae3fd9
Merge: 924eb9c 9b75414
Author: Stephan Arts <stephan at stephan-laptop.(none)>
Date: Wed Aug 12 18:00:04 2009 +0200
Merge branch 'master' of stephan/ristretto
Conflicts:
ChangeLog
Makefile.am
NEWS
configure.in.in
po/ChangeLog
po/LINGUAS
po/POTFILES.in
po/ar.po
po/bg.po
po/ca.po
po/cs.po
po/da.po
po/de.po
po/el.po
po/en_GB.po
po/es.po
po/eu.po
po/fi.po
po/fr.po
po/gl.po
po/hu.po
po/id.po
po/it.po
po/ja.po
po/lv.po
po/nl.po
po/pl.po
po/pt_BR.po
po/ru.po
po/sk.po
po/tr.po
po/uk.po
po/ur.po
po/zh_CN.po
ristretto.desktop.in
src/Makefile.am
src/main.c
src/main_window.c
src/main_window.h
src/picture_viewer.c
src/picture_viewer.h
src/thumbnail.c
src/thumbnail.h
src/thumbnail_bar.c
src/thumbnail_bar.h
commit 9b75414e8bb4500c58635dd45ecb8f2f45266902
Author: Stephan Arts <stephan at xfce.org>
Date: Sun Jun 21 10:56:27 2009 +0200
Do not open non-image files when opening folder-contents from the recently-used menu.
commit a07d682816dffb989b62eac47f2fbd6f02770201
Author: Stephan Arts <stephan at xfce.org>
Date: Sun Jun 21 10:27:16 2009 +0200
Don't generate the missing-image thumbnail on every expose event.
commit abedf056b8badfb414c41efe142d7ba2bae81172
Author: Stephan Arts <stephan at xfce.org>
Date: Tue Jun 16 22:29:55 2009 +0200
Add workaround for the cache-size calculation
commit 09f2c67e9f24784ba528af9631e60cc38166fba9
Author: Stephan Arts <stephan at xfce.org>
Date: Mon Jun 15 22:07:52 2009 +0200
Improve cancellation of image_load
commit c13156f68cd93ccc2bcbf21af394b65ebf873601
Author: Stephan Arts <stephan at xfce.org>
Date: Mon Jun 15 20:48:02 2009 +0200
Fix quality-combobox of preferences-dialog
commit d67206b1dc62557daf8e26033102a928f3957622
Author: Stephan Arts <stephan at xfce.org>
Date: Mon Jun 15 20:41:50 2009 +0200
Free EXIF data
Improve cache-size calculation
commit cb5053d9d63db53016fd7d0b7873c4231a8280b2
Author: Stephan Arts <stephan at xfce.org>
Date: Sat Jun 13 13:29:09 2009 +0200
Improve thumbnail rendering (can be done with less instructions... but at least it works now)
commit fd7996a3822de483c74595c7c9aa48ace04dddad
Author: Stephan Arts <stephan at xfce.org>
Date: Wed Jun 10 18:54:21 2009 +0200
Fix segfault with animated gifs (Bug #5422)
commit dd00ffe411a25a8655cb4ee92d60b99edbd96445
Author: Stephan Arts <stephan at xfce.org>
Date: Sun Jun 7 10:49:11 2009 +0200
Improve positioning of the thumbnails
commit 8bb5f1ca12914363b49a947867ef905d45045640
Author: Stephan Arts <stephan at xfce.org>
Date: Sun Jun 7 09:48:50 2009 +0200
Improve thumbnail behaviour
commit 609d230ce3dad3b9d51d67858ea88dce0e79d5ee
Author: Stephan Arts <stephan at xfce.org>
Date: Sat Jun 6 18:06:03 2009 +0200
honor thumbnail dimensions in the thumbnail-bar
commit 08a57e5f3c7c487d909059e85f46129bfa91c6a2
Author: Stephan Arts <stephan at xfce.org>
Date: Sat Jun 6 11:35:54 2009 +0200
remove assertion
commit cbce31e3ee0179b8f1dd033d4876e17c65730a1e
Author: Stephan Arts <stephan at xfce.org>
Date: Sat Jun 6 11:18:53 2009 +0200
Show 'image-missing' icon in the thumbnail when there is no thumbnail.
Fix warning in the main_window
commit f11cf02f6589eb413490a32d4230fb5de62c2c24
Author: Stephan Arts <stephan at xfce.org>
Date: Sat Jun 6 11:00:42 2009 +0200
Fix compile-warnings
commit 6b6940b9ce336f83d00fc9b50a7beef94c439583
Author: Stephan Arts <stephan at xfce.org>
Date: Thu Jun 4 23:44:53 2009 +0200
Fix compiler warnings
commit 50b2fe9210cdab8e3db9bb444c751fe4fc312ac4
Author: Stephan Arts <stephan at xfce.org>
Date: Wed Jun 3 22:34:54 2009 +0200
Fixed segfault
commit ead286a0c0dc1ea2820196a8248444b75514125c
Author: Stephan Arts <stephan at xfce.org>
Date: Wed Jun 3 22:23:03 2009 +0200
Fix default image-quality
commit 1eea711f30a5357c81e626e6615237bd0ee5d1ac
Author: Stephan Arts <stephan at xfce.org>
Date: Wed Jun 3 21:58:07 2009 +0200
Add functionality to the message-bar
commit 137a15aa37549cfb88a9a3e80af6621d1e9be5a4
Author: Stephan Arts <stephan at xfce.org>
Date: Wed Jun 3 19:06:53 2009 +0200
Add open-folder question-bar
commit 5cc4ebc2809050737072f9add17a1b2359c3049c
Author: Stephan Arts <stephan at xfce.org>
Date: Mon Jun 1 23:44:14 2009 +0200
Improve positioning code and file-open behaviour
commit 61b9578d193049de5af0e74779e3d63d39d7da2c
Author: Stephan Arts <stephan at xfce.org>
Date: Mon Jun 1 22:29:19 2009 +0200
Remove save-dialog code, not going to support that anyways
commit 33705411c4aea2d081e723dad34116a1e701e5a1
Author: Stephan Arts <stephan at xfce.org>
Date: Mon Jun 1 10:52:22 2009 +0200
Sort items in recently-used menu
commit 7e5c0cc2954ae3939f129354bfac5815f782a296
Author: Stephan Arts <stephan at xfce.org>
Date: Mon Jun 1 10:47:34 2009 +0200
Thumbnail in thumbnailbar has filename as tooltip
commit a4263e79c9584f93191391403f075f4c93d05f0d
Author: Stephan Arts <stephan at xfce.org>
Date: Mon Jun 1 10:42:27 2009 +0200
Update .po files
Make ImageListIter used throughout the app
Guard sanity of ImageListIter
commit 385afa8b8407183b319c26c416cf7b329d5b0f06
Author: Stephan Arts <stephan at xfce.org>
Date: Mon Jun 1 00:19:29 2009 +0200
Expose the image_compare func and use it for the thumbnailbar
commit c6b2411bd4c96a227b8b46b80012e98639a417a1
Author: Stephan Arts <stephan at xfce.org>
Date: Sun May 31 23:52:38 2009 +0200
Rename Navigator to ImageList, makes more sense
commit 61955d3c7a4e42a5de0e19ef738a9db9faa52b82
Author: Stephan Arts <stephan at xfce.org>
Date: Thu May 28 16:04:18 2009 +0200
Add basic thumbnail-bar with test-items
commit 23bec501b47a85cc805b93ee63c8afe5bbb36d7b
Author: Stephan Arts <stephan at xfce.org>
Date: Tue May 26 17:15:16 2009 +0200
Fix upside-down rendering
commit cc9a0da88e61039a1680ba22076e39a0a9d7cca3
Author: Stephan Arts <stephan at xfce.org>
Date: Tue May 26 14:44:19 2009 +0200
Fix typo
commit 94dc596fe5c10eb41f75816663c4ec0f658e69c5
Author: Stephan Arts <stephan at xfce.org>
Date: Tue May 26 13:05:56 2009 +0200
Show an inactive image when there is no image loaded
commit d144f6ee499591485ba8976d0aa2b1c17d756e46
Author: Stephan Arts <stephan at xfce.org>
Date: Tue May 26 09:31:05 2009 +0200
Modify toolbar stuff
commit 6172880e2f774831f5a8ffd111808cae965a9f62
Author: Stephan Arts <stephan at xfce.org>
Date: Mon May 25 16:09:37 2009 +0200
Modified the settings-dialog
commit 5219745d28ce2e720c4119aad585b048a7d59a05
Author: Stephan Arts <stephan at xfce.org>
Date: Mon May 25 13:34:22 2009 +0200
Change .desktop file details
commit 26dad8468682bf62e8cfd8a5f3e0f99b5d687a3b
Author: Stephan Arts <stephan at xfce.org>
Date: Mon May 25 11:49:43 2009 +0200
Fix save-copy sensitivity
commit 33d935289ebb30f921f25dd2ecf472dffaa8c755
Author: Stephan Arts <stephan at xfce.org>
Date: Mon May 25 11:20:40 2009 +0200
Rename save-as to save-copy
commit 2182434ce9cc1ec909e0eafdd141ad8921b21981
Author: Stephan Arts <stephan at xfce.org>
Date: Mon May 25 11:18:18 2009 +0200
Improve cache-size and image-quality calculations
commit 95ea5978a9d91f3cb1bef5300d097d97674d38d8
Author: Stephan Arts <stephan at xfce.org>
Date: Mon May 25 09:38:42 2009 +0200
Add preferences for the open toolbar item
commit d846e6417fd049b2f2668127915fefdef477981e
Author: Stephan Arts <stephan at xfce.org>
Date: Sat May 23 00:23:32 2009 +0200
Make toolbar-open button configurable
commit 61bb958bff96be10e5a194831e73c58a18c5b079
Author: Stephan Arts <stephan at xfce.org>
Date: Fri May 22 23:33:16 2009 +0200
Fix behaviour when switching to the last image
commit 4608a75c0edfe4e17b0b6ad2fe9be671ce576c4b
Author: Stephan Arts <stephan at xfce.org>
Date: Fri May 22 23:27:28 2009 +0200
Sanitize navigator-iter design
commit 73304079584fdced4a7f58b86daacdb58cb68e7d
Author: Stephan Arts <stephan at xfce.org>
Date: Thu May 21 09:52:49 2009 +0200
If a file in the recent-menu does not exist, show an error-dialog
commit 47d300a0eac8bdfb734781b4534a078eebc20d5d
Author: Stephan Arts <stephan at xfce.org>
Date: Thu May 21 09:37:35 2009 +0200
Add Delete menu-item
Add accelerators for leaving fullscreen-mode and navigating the images
commit bac224cb1b66e10412b716087efc58bf3e95eb41
Author: Stephan Arts <stephan at xfce.org>
Date: Wed May 20 00:06:28 2009 +0200
Scale image down to page-size
commit c392e68978eb22be783cc51fb4dc5af083e21019
Author: Stephan Arts <stephan at xfce.org>
Date: Mon May 18 00:41:55 2009 +0200
Fix compiler warning and toggle print-button sensitivity
commit 77ca2890d1c29041719b07704c05dc064d88bf46
Author: Stephan Arts <stephan at xfce.org>
Date: Mon May 18 00:38:39 2009 +0200
Implement first rudimentary printing support
commit feebe0cf4c3df003121cb97768ef2d7e7e3f36c3
Author: Stephan Arts <stephan at thor.(none)>
Date: Sun May 17 11:40:47 2009 +0200
Add printing button
commit 89880a545af123dac21c238051def0054a06f76e
Author: Stephan Arts <stephan at thor.(none)>
Date: Sat May 16 12:31:24 2009 +0200
Clear the cache when the image-quality is changed, and reload the active image
commit 8622ee7260c4f7c3546d0d4518514655f522bbed
Author: Stephan Arts <stephan at thor.(none)>
Date: Sat May 16 11:12:05 2009 +0200
Remove profiling flag
commit 3fdca51f9afb8dc0b8c6d01a6359531ef5545afc
Author: Stephan Arts <stephan at thor.(none)>
Date: Sat May 16 11:08:01 2009 +0200
Fix reference-count on settings-object
Set default accelerator on rotation buttons
commit 10e6f204a2c38fcd091ca023e10078810719adf0
Author: Stephan Arts <stephan at thor.(none)>
Date: Sat May 16 10:55:18 2009 +0200
When the image is rotated upside-down, use the horizontal slider for horizontal scrolling in stead of vertical scrolling. And use the
vertical slider for vertical scrolling instead of horizontal scrolling
commit 1f40e6b21f7fcad72dd19442570ccdf12cc8a6a0
Author: Stephan Arts <stephan at thor.(none)>
Date: Sat May 16 10:49:05 2009 +0200
Re-implement image rotation to work with the new rendering method
commit 35499a94d25bde24f109593fe41b8f04b358202a
Author: Stephan Arts <stephan at thor.(none)>
Date: Fri May 15 19:32:50 2009 +0200
Improve image-size calculation (required for cache-size calc)
commit 9a3eeb38527886d402c868969bf102e1a761c0ff
Author: Stephan Arts <stephan at thor.(none)>
Date: Fri May 15 21:46:15 2009 +0200
Set current-uri to open-folder dialog
commit 66cae1e72422b4912d5cc852c4989a9225322ea3
Author: Stephan Arts <stephan at thor.(none)>
Date: Fri May 15 18:33:06 2009 +0200
Revert "Implement state-machine in image class"
This reverts commit 96ee95c3848f91e9693d4519e1c7d52f35ab4340.
commit 99f0917fc1d220dd6a2ef61a5f5f53fe2e839065
Author: Stephan Arts <stephan at thor.(none)>
Date: Fri May 15 18:00:45 2009 +0200
Fix memory leak in image class (unref animation-iter)
commit 96ee95c3848f91e9693d4519e1c7d52f35ab4340
Author: Stephan Arts <stephan at thor.(none)>
Date: Fri May 15 01:03:53 2009 +0200
Implement state-machine in image class
commit e47e53b62d95d969276956fb50a659b99cb6738a
Author: Stephan Arts <stephan at xfce.org>
Date: Sat May 2 16:19:18 2009 +0200
Improve cache behaviour
commit b53ef99302afe9424dc1f8424e0c896034f3069c
Author: Stephan Arts <stephan at xfce.org>
Date: Sat May 2 01:27:36 2009 +0200
Added save-as function
* src/main_window.c
src/main_window_ui.xml: Implement save-as function (Bug #4647)
* src/navigator.c: Fix iter_find_image function
* src/image_cache.h
src/image_cache.c: Return TRUE when the cache had to drop images to
fit the new one.
* src/main.c: Fix error when trying to open nonexistent file from the
CLI
commit 4b1c367e21a57eaf0f1785838268f379f22bde89
Author: Stephan Arts <stephan at xfce.org>
Date: Sat May 2 00:32:50 2009 +0200
Implement image-cache size calculation
commit e81a905eac295ffb23214cac5f239e8c0370379d
Author: Stephan Arts <stephan at xfce.org>
Date: Sat May 2 00:31:31 2009 +0200
Add jpeg filter to open files dialog
commit 90a0d52283c57eafc4c49e2065883a4828580e65
Author: Stephan Arts <stephan at xfce.org>
Date: Fri May 1 10:37:26 2009 +0200
Make sure sticky does not break the visibility of the fs-toolbar
commit 20f7ffbc978263b6dff3a6ac5040909a38f9b402
Author: Stephan Arts <stephan at xfce.org>
Date: Thu Apr 30 23:30:32 2009 +0200
Implement hack to check if the image has been rotated
commit 41f49ce624d31417b35e1f8b171148fda8ca5269
Author: Stephan Arts <stephan at xfce.org>
Date: Thu Apr 30 09:52:59 2009 +0200
Add sticky button to fullscreen-toolbar
commit 1e586ea0c33bed9d55245b85a508bc277da099ee
Author: Stephan Arts <stephan at xfce.org>
Date: Thu Apr 30 09:35:17 2009 +0200
Set important hint on leave-fullscreen toolbar item
commit c75595516827f2c6fc5552e81335088a3af7da48
Author: Stephan Arts <stephan at xfce.org>
Date: Thu Apr 30 09:26:43 2009 +0200
Improve behaviour when in fullscreen mode
commit 81c13825b177d82b6f72cb06b8e28cbae9fa8163
Author: Stephan Arts <stephan at xfce.org>
Date: Thu Apr 30 08:29:53 2009 +0200
Let the pictureviewer figure out the fullscreen mode by itself
commit 79b7af6a3c4556054e689bff631b0b53379bb350
Author: Stephan Arts <stephan at xfce.org>
Date: Tue Apr 28 18:59:51 2009 +0200
* src/image.c
src/pictureviewer.c: Emit 'prepared' signal when the size-prepared signal
is emitted, instead of waiting for the area-prepared signal. When the
image is rendered at a different scale then 'maximum', the
'area-prepared', 'area-updated' and 'closed' signals are all emitted at
once. Then the thumbnail is not displayed when the image is not ready yet.
* src/pictureviewer.c: Do not repaint the image when the image is
'prepared' but there is no thumbnail available. This will prevent the
image from flickering.
* src/image_cache.c: Implement 'enable'/'disable' of image-cache
* src/main_window_ui.xml
src/main_window.c: Remove properties dialog menu item
* src/pictureviewer.c: Add a 'fullscreen' state, setting a different
background-color if it is in fullscreen.
commit 980a4b09195f393b76bfa1985726f7eab2364651
Author: Stephan Arts <stephan at xfce.org>
Date: Tue Apr 28 07:41:48 2009 +0200
Set ratio-trigger to 1, '0' will never do anything
commit 415eea3428c67d8bc2ae097c451a3d2ea001d307
Author: Stephan Arts <stephan at xfce.org>
Date: Tue Apr 28 00:26:34 2009 +0200
Do not scale the image UP, only DOWN
Fix warning if thumbnail does not exist
commit 97ee4a1faf585e0386bcf05cc64c092fb3ebb5d3
Author: Stephan Arts <stephan at xfce.org>
Date: Tue Apr 28 00:01:29 2009 +0200
Implement preferences option for the image-quality
commit 8ad85cec725c16125ca2ca1ee38d3262a44b6421
Author: Stephan Arts <stephan at xfce.org>
Date: Mon Apr 27 23:30:18 2009 +0200
Add image_quality as a property that can be configured (default to 2MP)
commit cc07db14e094aead5cd174d641f44ef5ac2a911e
Author: Stephan Arts <stephan at xfce.org>
Date: Mon Apr 27 21:30:09 2009 +0200
Add 'enable-cache' option
Add maximum-render-quality of 1MP (can be configured with later commits)
Destroy open_folder dialog after use
Update TODO
commit 42db1caddceb8fbb5516b1e7e6790a9e92da2107
Author: Stephan Arts <stephan at xfce.org>
Date: Mon Apr 27 00:39:59 2009 +0200
disable slideshow tab too
commit e148dbd2f8ee70b39cef9f6a2a723ea4edfa7848
Author: Stephan Arts <stephan at xfce.org>
Date: Mon Apr 27 00:38:38 2009 +0200
Disable unimplemented tabs
commit d5dc066d91eb2ea4c31a50ee8ab23b9a02900eb5
Author: Stephan Arts <stephan at xfce.org>
Date: Mon Apr 27 00:34:36 2009 +0200
Implement 'display' tab the right way :)
commit c0eae3ec6f54a57bfde0666bbeddd55a41c8a049
Author: Stephan Arts <stephan at xfce.org>
Date: Thu Apr 23 00:11:54 2009 +0200
Mak sure bgcolor is not initialised with random color
commit be4b10beab50a7a9e3ceb6e84fbfd65cd223395f
Author: Stephan Arts <stephan at xfce.org>
Date: Wed Apr 22 00:40:08 2009 +0200
Implement bgcolor settings
commit c2a9945bcada416a23698705f6402560405c756c
Author: Stephan Arts <stephan at xfce.org>
Date: Fri Apr 3 12:02:38 2009 +0200
Clean up looks of preferences dialog
Update TODO
commit 83656e1f3afa123a0cd5a645c089adaffbe13ac5
Author: Stephan Arts <stephan at xfce.org>
Date: Mon Mar 23 21:59:36 2009 +0100
Add missing options to the preferences dialog
commit 8f3bd6691ddf5e23883d31307bef55bbee5e9e28
Author: Stephan Arts <stephan at xfce.org>
Date: Sun Mar 22 09:46:57 2009 +0100
Implement bgcolor related settings in Settingsmanager
Add a few options to the preferences dialog (still not doing anything)
commit 94adc418fdc9869d468f34b004ae8038aa49bc35
Author: Stephan Arts <stephan at xfce.org>
Date: Fri Mar 13 23:18:18 2009 +0100
- Fix picture viewer refresh when no image is present
- Add notebook to preferences dialog
- Rename icon in preferences dialog
commit 64c12a35e6f7465c3b5e4a31c18d8526019c81a7
Author: Stephan Arts <stephan at xfce.org>
Date: Fri Mar 13 21:19:31 2009 +0100
cleanup some code
commit 148698070231eb6527c8e08cec68e0de5b432eea
Author: Stephan Arts <stephan at xfce.org>
Date: Fri Mar 13 20:06:01 2009 +0100
Improve moving of the image
commit 7566a5a251dd6a37bc30889dab19aa8615361b5a
Author: Stephan Arts <stephan at xfce.org>
Date: Wed Mar 11 16:36:13 2009 +0100
Improved behaviour when zooming inside a previewed image
commit 3c9fbba878bb2518b4e9915f43be88dcb0b501a8
Author: Stephan Arts <stephan at xfce.org>
Date: Tue Mar 10 13:02:15 2009 +0100
Fix 'zoom-fit' when resizing
commit 656f9b4bb9f4b7d51cc012a384e08fa4f0175879
Author: Stephan Arts <stephan at xfce.org>
Date: Tue Mar 10 09:28:26 2009 +0100
Fix moving of zoomed-in image
commit f6b085b3e0b356796a592414249485c7a8e8ae20
Merge: 7c3c0b8 0c1e906
Author: Stephan Arts <stephan at xfce.org>
Date: Mon Mar 9 22:01:38 2009 +0100
Merge branch 'breakup_refresh'
Conflicts:
src/picture_viewer.c
commit 7c3c0b8d56ed639352d7e11d1bdf3058052a2d5c
Author: Stephan Arts <stephan at xfce.org>
Date: Mon Mar 9 22:00:05 2009 +0100
Revert "add new entry in news"
This reverts commit 5932e7f473d373ae87c8532a29c9ee7fc5017a9f.
commit 8ecfb6a2e3e91f6857266a9d17d8475a8d97420e
Author: Stephan Arts <stephan at xfce.org>
Date: Mon Mar 9 21:59:38 2009 +0100
Revert "That was a bug... reverting last change, I need to implement some better"
This reverts commit 580177dc2ef4a2b3eaeade76bd83a94a1b6b9534.
commit 0c1e906c2931655b6f075bb7105895748b50946a
Author: Stephan Arts <stephan at xfce.org>
Date: Mon Mar 9 21:51:09 2009 +0100
Emit 'updated' signal when 'rstto_image_load' is called and the image is already there.
commit 68f99e86e52a3bbd80337b2e8516133eab1aaa23
Author: Stephan Arts <stephan at xfce.org>
Date: Mon Mar 9 21:44:47 2009 +0100
Fix zoom-in and zoom-out (accidently passed a boolean instead of a double)
commit 2b5990b32b22c130f54395eb0f61f9c7ad107e27
Author: Stephan Arts <stephan at xfce.org>
Date: Mon Mar 9 00:28:49 2009 +0100
Move DnD code to the bottom of the file
commit edf1b2a317f77e5b162a50c0ac5e8d11e0703a9b
Author: Stephan Arts <stephan at xfce.org>
Date: Mon Mar 9 00:23:48 2009 +0100
Fix segfault
commit 1da739e89571c1775602a511ad86b5c0ed97a8e1
Author: Stephan Arts <stephan at xfce.org>
Date: Mon Mar 9 00:03:41 2009 +0100
Made all the scale related functions internal
commit 7da92c8d582e14d50adfee29144751e7b89b93cb
Author: Stephan Arts <stephan at xfce.org>
Date: Sun Mar 8 14:22:37 2009 +0100
Split 'view' state from 'motion' state
commit 5932e7f473d373ae87c8532a29c9ee7fc5017a9f
Author: Stephan Arts <stephan at xfce.org>
Date: Fri Mar 6 15:29:13 2009 +0100
add new entry in news
commit 691a6a7c89eb2902984ac6ccfe02e219168b82f4
Author: Stephan Arts <stephan at xfce.org>
Date: Fri Mar 6 15:28:33 2009 +0100
commit changes
commit ad1c2baadb12b28c47cbeb97b622af39d614ba5a
Author: Stephan Arts <stephan at xfce.org>
Date: Sun Feb 22 10:40:29 2009 +0100
Add refresh mask, needs some tweaking, but it solves the drag performance-loss.
Eventually, this should reduce the times ristretto scales the image.
commit 580177dc2ef4a2b3eaeade76bd83a94a1b6b9534
Author: Stephan Arts <stephan at xfce.org>
Date: Sun Feb 22 09:36:36 2009 +0100
That was a bug... reverting last change, I need to implement some better
way of doing this.
commit fa5894a0df7f1bc7052c17fd2085e81b906497ba
Author: Stephan Arts <stephan at xfce.org>
Date: Sat Feb 21 18:00:43 2009 +0100
Improved performance when drawing the zoom-box, don't do a refresh when performing a queued_repaint, just paint the darn thing.
commit 67ce593c1d98dc141cfa28df268c5d5ff4338e02
Author: Stephan Arts <stephan at xfce.org>
Date: Sat Feb 21 17:48:50 2009 +0100
Enable mouse-move on picture viewer
commit 79b6826f644c87e459531d01f1f50458a3925678
Author: Stephan Arts <stephan at xfce.org>
Date: Sat Feb 21 17:31:54 2009 +0100
Add string.h header to prevent a compiler warning
commit f28d501a4b94c752e2ad1e6ab4c8d06086a57907
Author: Stephan Arts <stephan at xfce.org>
Date: Sat Feb 21 16:38:56 2009 +0100
Fix the adjustment settings
commit 58bee9be96336fe2448bae3f8f9906eaa2055169
Author: Stephan Arts <stephan at xfce.org>
Date: Sat Feb 21 16:08:42 2009 +0100
Add some rudimentary preview support
commit 9a99870c75f66aa963e22434ff4f1c5fc2a521f4
Merge: c2e9b6b ce3185b
Author: Stephan Arts <stephan at xfce.org>
Date: Sat Feb 21 11:06:54 2009 +0100
Merge branch 'master' into new_picture_viewer
commit ce3185bf18ad773e073ab83e87354f7c4da9507c
Merge: 3f8ba01 1d06647
Author: Stephan Arts <stephan at xfce.org>
Date: Sat Feb 21 10:59:21 2009 +0100
Merge branch 'recent_menu'
commit 1d06647dac89feb4e0eb82ac437b7710b7753b8c
Author: Stephan Arts <stephan at xfce.org>
Date: Sat Feb 21 10:56:52 2009 +0100
Implemented 'open folder'.
commit 73a8d7229f688d4b796117843b97b0101c1f5fdc
Author: Stephan Arts <stephan at xfce.org>
Date: Sat Feb 21 10:09:19 2009 +0100
Add some more comments
Add a recent-filter to the recent-chooser (only filter the files opened by ristretto)
Actually open files from the recent-chooser
commit c2e9b6b2e7c036f6e144318f9856ed44c28e69ae
Merge: d4e2a5d 3f8ba01
Author: Stephan Arts <stephan at thor.(none)>
Date: Sat Feb 21 09:26:25 2009 +0100
Merge branch 'master' into new_picture_viewer
commit 3f8ba01f6df517764a03802d145dfcf18bf14fbc
Author: Stephan Arts <stephan at thor.(none)>
Date: Sat Feb 21 09:22:56 2009 +0100
Remove autogenerated header file from git
commit f4223148a6df935fa94da97a94ec04e89c0f29db
Author: Stephan Arts <stephan at thor.(none)>
Date: Sat Feb 21 09:18:33 2009 +0100
Removed autogenerated header from git
Added the recently used menu to the file-menu
commit d4e2a5d7d9d203d5477a3dad227c1d7849b80df4
Author: Stephan Arts <stephan at thor.(none)>
Date: Sat Feb 21 01:08:31 2009 +0100
Add a preload state to the pictureviewer, where it will render the thumbnail instead of the original image.
commit 7d29665d25fe6356853220c6a2e3506fe02d9635
Author: Stephan Arts <stephan at thor.(none)>
Date: Sat Feb 21 00:15:57 2009 +0100
Add missing main_window_ui.xml file from svn
commit 64cb5958270db4126e75a42cdf99838485501c14
Author: Stephan Arts <stephan at thor.(none)>
Date: Sat Feb 21 00:06:18 2009 +0100
Initial Commit
ChangeLog | 540 ++++++-
Makefile.am | 8 +-
NEWS | 13 +
TODO | 20 +
configure.in.in | 60 +-
docs/Makefile.am | 1 +
docs/manual/C/Makefile.am | 66 +
docs/manual/C/images/Makefile.am | 7 +
docs/manual/C/ristretto.xml.in | 66 +
docs/manual/Makefile.am | 6 +
docs/manual/ristretto.css | 101 ++
docs/manual/ristretto.xsl | 255 +++
po/ChangeLog | 5 +
po/POTFILES.in | 10 +-
po/ar.po | 484 ++++--
po/ast.po | 624 +++++--
po/bg.po | 590 +++++--
po/ca.po | 613 +++++--
po/cs.po | 609 +++++--
po/da.po | 609 +++++--
po/de.po | 620 +++++--
po/el.po | 599 +++++--
po/en_GB.po | 594 +++++--
po/es.po | 622 +++++--
po/eu.po | 591 +++++--
po/fi.po | 563 +++++--
po/fr.po | 634 +++++--
po/gl.po | 607 +++++--
po/hr.po | 544 ++++++
po/hu.po | 564 +++++--
po/id.po | 635 +++++--
po/it.po | 619 +++++--
po/ja.po | 616 +++++--
po/lv.po | 650 +++++--
po/nb.po | 638 +++++--
po/nl.po | 628 +++++--
po/pl.po | 633 +++++--
po/pt.po | 595 +++++--
po/pt_BR.po | 639 +++++--
po/ristretto.pot | 260 ---
po/ru.po | 598 +++++--
po/sk.po | 617 +++++--
po/sv.po | 629 +++++--
po/tr.po | 615 +++++--
po/ug.po | 539 ++++++
po/uk.po | 602 +++++--
po/ur.po | 626 +++++--
po/ur_PK.po | 626 +++++--
po/{sk.po => vi.po} | 147 +-
po/zh_CN.po | 605 +++++--
ristretto.desktop.in | 4 +-
src/Makefile.am | 46 +-
src/app_menu_item.c | 147 ++
src/app_menu_item.h | 66 +
src/gnome_wallpaper_manager.c | 200 ++
src/gnome_wallpaper_manager.h | 67 +
src/image.c | 740 ++++++++
src/image.h | 95 +
src/image_cache.c | 214 +++
src/image_cache.h | 58 +
src/image_list.c | 658 +++++++
src/image_list.h | 129 ++
src/main.c | 478 +----
src/main_window.c | 3697 ++++++++++++++++++++------------------
src/main_window.h | 71 +-
src/main_window_ui.xml | 132 ++
src/navigator.c | 1759 ------------------
src/navigator.h | 176 --
src/picture_viewer.c | 1767 ++++++++++++-------
src/picture_viewer.h | 27 +-
src/preferences_dialog.c | 755 ++++++++
src/preferences_dialog.h | 68 +
src/save_dialog.c | 195 --
src/save_dialog.h | 65 -
src/settings.c | 837 +++++++++
src/settings.h | 79 +
src/thumbnail.c | 235 ++-
src/thumbnail.h | 10 +-
src/thumbnail_bar.c | 575 ++++---
src/thumbnail_bar.h | 4 +
src/thumbnailer.c | 320 ++++
src/thumbnailer.h | 71 +
src/wallpaper_manager.c | 78 +
src/wallpaper_manager.h | 49 +
src/xfce_wallpaper_manager.c | 369 ++++
src/xfce_wallpaper_manager.h | 67 +
86 files changed, 25961 insertions(+), 10489 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index 0ae2355..6e03446 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,542 @@
+2010-07-12 Stephan Arts <stephan at xfce.org>
+
+ * src/main_window.c,
+ src/settings.c,
+ src/preferences_dialog.c: Re-implement preloading
+ * src/gnome_wallpaper_manager.c,
+ src/gnome_wallpaper_manager.h: Add gnome-wallpaper-manager skeleton
+ * src/picture_viewer.c: Update when bgcolor-properties are changed
+ * src/thumbnail_bar.c: Fix compile warning (and evil bug that could've segfaulted the app)
+ * src/settings.c,
+ src/main_window.c: Save thumbnailbar-size
+
+2010-01-13 Stephan Arts <stephan at xfce.org>
+
+ * src/picture_viewer.c: Fix box-zoom when image is rendered at below-maximum resolution
+
+2010-01-13 Stephan Arts <stephan at xfce.org>
+
+ * src/*.c,
+ src/*.h: Update copyright messages
+
+2010-01-12 Stephan Arts <stephan at xfce.org>
+
+ * src/picture_viewer.c: Implement box-zoom...
+ it only works when the image is loaded at max-quality... still need to fix that
+
+2010-01-09 Stephan Arts <stephan at xfce.org>
+
+ * src/main_window.c,
+ src/main_window_ui.xml: Remove stuff that is not going to be ready for 0.1.0
+
+2010-01-08 Stephan Arts <stephan at xfce.org>
+
+ * src/thumbnailer.c: Remove thumbnails from thumbnail-queue when ready
+ * TODO: Update TODO
+ * src/thumbnail_bar.c,
+ src/thumbnailer.c: Fix Assert, make thumbnailing work with non-jpeg
+ mimetypes and vertical thumbnailbars...
+
+2010-01-07 Stephan Arts <stephan at xfce.org>
+
+ * src/settings.c: Remove excess break statement
+ * configure,in.in,
+ src/Makefile.am,
+ src/thumbnail.c,
+ src/thumbnail.h,
+ src/thumbnail_bar.c,
+ src/thumbnailer.h,
+ src/thumbnailer.c: Add rudimentary support for tumbler.
+
+2009-11-01 Stephan Arts <stephan at xfce.org>
+
+ * src/xfce_wallpaper_manager.c: Implement slider options in
+ set_wallpaper dialog.
+
+2009-10-25 Stephan Arts <stephan at xfce.org>
+
+ * src/thumbnail_bar.c: Limit scrolling offset so thumbs don't get
+ lost outside the window.
+
+2009-10-25 Stephan Arts <stephan at xfce.org>
+
+ * src/xfce_wallpaper_manager.c: Add configure-dialog
+
+2009-10-25 Stephan Arts <stephan at xfce.org>
+
+ * src/image_list.c,
+ src/image_list.h,
+ src/settings.c,
+ src/preferences_dialog.c: Add wrap-images setting
+
+
+2009-10-24 Stephan Arts <stephan at xfce.org>
+
+ * src/image_cache.c: Make image-cache cache one less image to prevent it
+ from exceeding the maximum-size.
+ * src/image_list.c: Move the iterators around before removing the image
+ from the image-list, this prevents the iterators from jumping to the
+ start or end of the list.
+
+2009-10-16 Stephan Arts <stephan at xfce.org>
+
+ * src/thumbnail_bar.c: Implement auto-center
+
+2009-10-15 Stephan Arts <stephan at xfce.org>
+
+ * src/image.c,
+ src/image.h,
+ src/image_cache.h,
+ src/image_cache.c: Fixed memory leak in image-cache
+ * src/picture_viewer.c: Fixed memory leak in paint function
+ * src/settings.c: Fix default setting for slideshow timeout
+
+2009-10-08 Stephan Arts <stephan at xfce.org>
+
+ * src/thumbnail_bar.c,
+ src/thumbnail_bar.h: Change looks of the thumbnailbar
+
+2009-10-08 Stephan Arts <stephan at xfce.org>
+
+ * src/app_menu_item.c: Add application-icon to application-menu-item, used
+ in the open-with menu.
+
+2009-10-03 Stephan Arts <stephan at xfce.org>
+
+ * src/main_window.c: Check if a desktop-manager is running before making
+ the set-wallpaper button sensitive
+ * src/Makefile.am: Replace spaces with tabs, fixes compilation-issues
+ with certain versions of automake
+ * src/settings.c: Change default-settings
+
+2009-09-27 Stephan Arts <stephan at xfce.org>
+
+ * src/preferences_dialog.c: Add option to load all images in a
+ folder to the preferences dialog.
+ * src/main_window.c: Add shortcut for the visibility of the
+ thumbnail-bar
+ * src/xfce_wallpaper_manager.c: Cleanup xfconf channel on destruction
+
+2009-09-26 Stephan Arts <stephan at xfce.org>
+
+ * src/main.c,
+ src/settings.c: Add option to load all images in a folder
+
+2009-09-26 Stephan Arts <stephan at xfce.org>
+
+ * src/main_window.c,
+ src/image_list.c,
+ src/thumbnailbar.c: Images can only be opened once
+
+2009-09-26 Stephan Arts <stephan at xfce.org>
+
+ * src/wallpaper_manager.h,
+ src/wallpaper_manager.c,
+ src/main_window.c,
+ src/xfce_wallpaper_manager.h,
+ src/xfce_wallpaper_manager.c,
+ src/image.h: Implement basic set-as-wallpaper functionality for
+ xfdesktop
+
+2009-09-23 Stephan Arts <stephan at xfce.org>
+
+ * src/app_menu_item.c,
+ src/app_menu_item.h,
+ src/main_window.c,
+ src/Makefile.am: Implement open-with menu with launcher menu-items
+
+2009-09-22 Stephan Arts <stephan at xfce.org>
+
+ * src/main_window.c: Add initial code for implementation of the
+ 'open-with' menu
+
+2009-09-22 Stephan Arts <stephan at xfce.org>
+
+ * src/main_window.c,
+ src/picture_viewer.c: Do not change zoom-mode when switching to
+ fullscreen, recalculate scale when fitting image to window (zoom-fit)
+
+2009-09-19 Stephan Arts <stephan at xfce.org>
+
+ * src/preferences_dialog.c: Set current value to 'show-preview'
+ checkbutton
+
+2009-09-19 Stephan Arts <stephan at xfce.org>
+
+ * src/main_window.c,
+ src/picture_viewer.c,
+ src/preferences_dialog.c,
+ src/settings.c: Implement option to toggle 'preview'
+
+2009-09-19 Stephan Arts <stephan at xfce.org>
+
+ * po/*.po: Update .po files
+ * po/ristretto.pot: Add .pot file
+
+2009-09-19 Stephan Arts <stephan at xfce.org>
+
+ * src/navigator.c,
+ src/navigator.h: Remove obsolete source files
+ * src/main_window.c,
+ src/image_list.c: Improve status-messages
+
+2009-09-06 Stephan Arts <stephan at xfce.org>
+
+ * src/main_window.c,
+ src/main_window.h,
+ src/main.c: Remove messagebar, it is anoying
+ * src/picture_viewer.c,
+ src/picture_viewer.h: Fix blow-up of images at first so they do not get
+ scaled over 100% when they are rendered the first time. (Dunno why, but
+ minimum and maximum zoom-factors are broken)
+
+2009-09-05 Stephan Arts <stephan at xfce.org>
+
+ * src/main.c,
+ src/main_window.c,
+ src/main_window.h: Show messagebar when opening a single image
+ from the cli
+
+2009-09-05 Stephan Arts <stephan at xfce.org>
+
+ * src/preferences_dialog.c,
+ src/settings.c,
+ src/main_window.c: Implement option to hide thumbnail-bar when fullscreen
+
+2009-09-05 Stephan Arts <stephan at xfce.org>
+
+ * src/preferences_dialog.c
+ src/settings.c,
+ src/main_window.c: Implement slideshow timeout slider
+
+2009-09-05 Stephan Arts <stephan at xfce.org>
+
+ * src/picture_viewer.c,
+ src/settings.c,
+ src/preferences_dialog.c: Implement scrollwheel action on picture-viewer
+
+2009-09-05 Stephan Arts <stephan at xfce.org>
+
+ * src/main_window.c,
+ src/settings.c,
+ src/settings.h: Add convenience-functions for setting properties
+ so it is not required to initialise GValue's all over the place.
+
+2009-09-04 Stephan Arts <stephan at xfce.org>
+
+ * src/main_window.c: Change arrow-orientation together with toolbar
+ orientation
+
+2009-09-04 Stephan Arts <stephan at xfce.org>
+
+ * src/main_window.c: Update information in the statusbar
+
+2009-09-04 Stephan Arts <stephan at xfce.org>
+
+ * src/thumbnailbar.c: Reorder thumbnails when the image-sorting changes
+
+2009-09-04 Stephan Arts <stephan at xfce.org>
+
+ * src/main_window.c,
+ src/main_window_ui.xml: Add popup-menu for the image-viewer
+
+2009-09-04 Stephan Arts <stephan at xfce.org>
+
+ * src/image_list.c: Emit 'iterator-changed' signal
+ on all iterators when the sort-function changes
+
+2009-09-03 Stephan Arts <stephan at xfce.org>
+
+ * src/main_window.c: Start on a code cleanup
+ * src/image_list.c,
+ src/main_window.c: Implement sort-by-date
+ * src/main_window.c: Stop slideshow when there is just one or no image opened
+
+2009-09-03 Stephan Arts <stephan at xfce.org>
+
+ * src/image_list.c,
+ src/image_list.h: Add functions to set buildin and custom sorting
+ functions
+
+2009-09-03 Stephan Arts <stephan at xfce.org>
+
+ * src/main_window.c: Fix typo in default accelerator of Rotate-Left
+ * src/image_list.c: Add skeleton-code for sorting on exif-date
+
+2009-09-01 Stephan Arts <stephan at xfce.org>
+
+ * src/main_window.c: Store navigationbar position in xfconf
+
+2009-09-01 Stephan Arts <stephan at xfce.org>
+
+ * src/main_window.c: Improve fullscreen behaviour
+
+2009-08-30 Stephan Arts <stephan at xfce.org>
+
+ * src/main_window.c: Add popup to change the location of the navigationbar
+ and thumbnailbar
+
+2009-08-30 Stephan Arts <stephan at xfce.org>
+
+ * src/main_window.c: Place navigation-bar and thumbnailbar next to eachother
+
+2009-08-30 Stephan Arts <stephan at xfce.org>
+
+ * src/main_window.c: Improve UI-sensitivity, do not make navigation-buttons
+ and slideshow buttons sensitive when only one image is opened.
+
+2009-08-30 Stephan Arts <stephan at xfce.org>
+
+ * src/main_window.c: Toggle visibility of Thumbnailbar.
+
+2009-08-30 Stephan Arts <stephan at xfce.org>
+
+ * src/main_window.c: Fix errors when the ristretto icon is not available
+
+2009-08-12 Stephan Arts <stephan at xfce.org>
+
+ * ChangeLog: Merge with private branch
+
+2009-06-01 Stephan Arts <stephan at xfce.org>
+
+ * src/main_window.c
+ src/image_list.c: Improve positioning code and file-open behaviour
+
+2009-06-01 Stephan Arts <stephan at xfce.org>
+
+ * src/save_dialog.c
+ src/save_dialog.h: Remove save-dialog code not going to support that
+ anyways
+
+2009-06-01 Stephan Arts <stephan at xfce.org>
+
+ * src/image_list.h
+ src/image_list.c
+ src/thumbnail_bar.c: Expose compare_func, and use it in the thumbnailbar
+
+2009-06-01 Stephan Arts <stephan at xfce.org>
+
+ * src/*: Rename Navigator to ImageList, makes more sense
+
+2009-05-26 Stephan Arts <stephan at xfce.org>
+
+ * src/picture_viewer.c: Show an 'inactive' image when there is no
+ image loaded.
+
+2009-05-25 Stephan Arts <stephan at xfce.org>
+
+ * src/main_window.c: change open-folder icon to 'folder-open' instead of
+ 'document-open'
+ * src/settings.c
+ src/preferences_dialog.c: Make preload-images an number value (as-in,
+ how many should be preloaded)
+ * src/preferences_dialog.c: Change the values in the quality-combo to
+ something human-readable.
+ * src/preferences_dialog.c: Move image-quality frame to the behaviour tab.
+
+2009-05-25 Stephan Arts <stephan at xfce.org>
+
+ * src/main_window.c: Fix sensitivity of the save-copy button
+
+2009-05-25 Stephan Arts <stephan at xfce.org>
+
+ * src/main_window.c
+ src/main_window_ui.xml: Rename save-as to save-copy (suggested by cody
+ somerville)
+
+2009-05-25 Stephan Arts <stephan at xfce.org>
+
+ * src/image_cache.c
+ src/preferences_dialog.c
+ src/settings.c
+ src/image.c: Improve cache-size and image-quality calculations
+
+2009-05-25 Stephan Arts <stephan at xfce.org>
+
+ * src/main_window.c
+ src/preferences_dialog.c: Implement preferences for the 'open' toolbar
+ item.
+ * TODO: Update TODO
+
+2009-05-23 Stephan Arts <stephan at xfce.org>
+
+ * src/main_window.c
+ src/main_window_ui.xml
+ src/settings.c: Add ability to configure the toolbar-open button, it can
+ now do the following:
+ - Open image
+ - Open folder
+ - None (disappear)
+
+2009-05-22 Stephan Arts <stephan at xfce.org>
+
+ * src/main_window.c: Fix behaviour when switching to the last image
+
+2009-05-22 Stephan Arts <stephan at xfce.org>
+
+ * src/navigating.c,
+ src/main_window.c: Sanitize navigator-iter design
+
+2009-05-21 Stephan Arts <stephan at xfce.org>
+
+ * src/main_window.c: if a file in the recent_menu does not exist, because
+ it has been deleted, show an error-dialog
+
+2009-05-21 Stephan Arts <stephan at xfce.org>
+
+ * src/main_window.c
+ src/main_window_ui.xml: Add 'delete' button to remove an image from disk
+ (Bug #4135)
+ * src/main_window.c: Add accelerators for leaving fullscreen-mode,
+ navigating to the next image and to the previous image using Escape,
+ Page_Up and Page_Down respectively
+
+2009-05-20 Stephan Arts <stephan at xfce.org>
+
+ * src/main_window.c: Scale the image down to page-size
+
+2009-05-17 Stephan Arts <stephan at xfce.org>
+
+ * src/main_window.c: Toggle printing-button sensitivity
+ * src/main_window.c: Fix compiler warning
+
+2009-05-17 Stephan Arts <stephan at xfce.org>
+
+ * src/main_window.c: Implement first rudimentary printing.
+
+2009-05-16 Stephan Arts <stephan at xfce.org>
+
+ * src/main_window.c
+ src/image_cache.c
+ src/image_cache.h: Clear the cache when the image-quality is changed
+
+2009-05-16 Stephan Arts <stephan at xfce.org>
+
+ * src/Makefile.am: Remove profiling flag
+
+2009-05-16 Stephan Arts <stephan at xfce.org>
+
+ * src/image_cache.c
+ src/picture_viewer.c
+ src/main_window.c: Fix reference-count on settings-object
+ * src/main_window.c: Set default accelerators on rotation buttons
+
+2009-05-16 Stephan Arts <stephan at xfce.org>
+
+ * src/picture_viewer.c: When an image is rotated upside down, make sure
+ the horizontal slider works horizontally and the vertical slider works
+ vertically. These were switched :-p
+
+2009-05-16 Stephan Arts <stephan at xfce.org>
+
+ * src/image.c
+ src/image.h
+ src/main_window.c
+ src/picture_viewer.c
+ src/image_transformation.h
+ src/image_transformation.c
+ src/image_transform_orientation.h
+ src/image_transform_orientation.c
+ src/Makefile.am: Re-implement image-rotation, now it finally works with
+ the new rendering method.
+
+
+2009-05-15 Stephan Arts <stephan at xfce.org>
+
+ * src/main_window.c: Set current_uri on open_folder dialog
+ * src/image.c
+ src/image.h
+ src/picture_viewer.c: Remove state-machine, breaks things
+
+2009-05-15 Stephan Arts <stephan at xfce.org>
+
+ * src/image.c
+ src/image.h
+ src/picture_viewer.c: Implement state-machine, do not expose weird
+ signals
+ * src/image.c: Unref animation_iter, fix memleak
+
+2009-05-02 Stephan Arts <stephan at xfce.org>
+
+ * src/image_cache.c: Remove images which return size=0 from the cache,
+ it might still be loading, in which case it should stop immediately and
+ be dropped from the cache
+ * src/image.c
+ src/image.h
+ src/image_cache.c: calculate cache-size in uint instead of uint64
+
+2009-05-02 Stephan Arts <stephan at xfce.org>
+
+ * src/main_window.c
+ src/main_window_ui.xml: Implement save-as function (Bug #4647)
+ * src/navigator.c: Fix iter_find_image function
+ * src/image_cache.h
+ src/image_cache.c: Return TRUE when the cache had to drop images to
+ fit the new one.
+ * src/main.c: Fix error when trying to open nonexistent file from the
+ CLI
+
+2009-05-02 Stephan Arts <stephan at xfce.org>
+
+ * src/image,c
+ src/image.h
+ src/image_cache.c: Implement image-cache size calculation (Bug #4064)
+
+2009-05-02 Stephan Arts <stephan at xfce.org>
+
+ * src/main_window.c: Add jpeg filter to the open-files dialog
+
+2009-05-01 Stephan Arts <stephan at xfce.org>
+
+ * src/main_window.c: Make sure the fullscreen-toolbar gets shown in
+ fullscreen mode when ristretto left fullscreen with sticky set.
+
+2009-04-30 Stephan Arts <stephan at xfce.org>
+
+ * src/picture_viewer.c: Implement a hack to check if the pixbuf has
+ been rotated.
+
+2009-04-30 Stephan Arts <stephan at xfce.org>
+
+ * src/main_window.c
+ src/main_window_ui.xml: Add Sticky button to the fullscreen-toolbar.
+
+2009-04-30 Stephan Arts <stephan at xfce.org>
+
+ * src/main_window.c
+ src/main_window_ui.xml: Set is_important hint on 'leave-fullscreen'
+ toolitem.
+
+2009-04-30 Stephan Arts <stephan at xfce.org>
+
+ * src/main_window.c
+ src/main_window_ui.xml: Add 'fullscreen-toolbar' with controls when in
+ fullscreen-mode.
+
+2009-04-30 Stephan Arts <stephan at xfce.org>
+
+ * src/main_window.c
+ src/picture_viewer.c
+ src/picture_viewer.h: Let the pictureviewer figure out the fullscreen-
+ state of it's parent-window by itself
+
+2009-04-28 Stephan Arts <stephan at xfce.org>
+
+ * src/image.c
+ src/picture_viewer.c: Emit 'prepared' signal when the size-prepared signal
+ is emitted, instead of waiting for the area-prepared signal. When the
+ image is rendered at a different scale then 'maximum', the
+ 'area-prepared', 'area-updated' and 'closed' signals are all emitted at
+ once. Then the thumbnail is not displayed when the image is not ready yet.
+ * src/picture_viewer.c: Do not repaint the image when the image is
+ 'prepared' but there is no thumbnail available. This will prevent the
+ image from flickering.
+ * src/image_cache.c: Implement 'enable'/'disable' of image-cache
+ * src/main_window_ui.xml
+ src/main_window.c: Remove properties dialog menu item
+ * src/picture_viewer.c: Add a 'fullscreen' state, setting a different
+ background-color if it is in fullscreen.
+
2009-05-15 16:51 stephan
* src/navigator.c:
@@ -3150,4 +3689,3 @@
* .:
Adding ristretto/{tags,branches,trunk}
-
diff --git a/Makefile.am b/Makefile.am
index b1b8ce6..5875798 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1,6 +1,6 @@
## Process this file with automake to produce Makefile.in
-SUBDIRS = src po icons
+SUBDIRS = src po icons docs
desktopdir = $(datadir)/applications
desktop_in_files = ristretto.desktop.in
@@ -21,3 +21,9 @@ DISTCLEANFILES = \
intltool-merge \
intltool-update \
$(desktop_DATA)
+
+DISTCHECK_CONFIGURE_FLAGS=--enable-xsltproc
+
+AUTOMAKE_OPTIONS = \
+ 1.8 \
+ dist-bzip2
diff --git a/NEWS b/NEWS
index d40d629..7e08ce2 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,16 @@
+0.0.91
+======
+- Remove dependency on thunar
+- Port to GIO instead of thunarvfs
+- Add option to select maximum render quality (can improve performance at the
+ cost of image-quality)
+- Store the settings in xfconf
+- Add option to completely disable the image-cache
+- Use dbus-thumbnailing spec to generate thumbnails
+- Add buttons to delete the image from disk
+- Restyle the toolbars to make room for more usefull options
+- Save position and size of thumbnail-bar
+
0.0.22
======
diff --git a/TODO b/TODO
index e69de29..14e25ff 100644
--- a/TODO
+++ b/TODO
@@ -0,0 +1,20 @@
+- Implement preferences dialog
+- Generate and save thumbnails (DONE)
+ - Listen to Ready signal
+
+- Support setting wallpapers
+ - nautilus
+ - rox
+
+- Add preloading
+- Improve cache calculation
+
+- Write comments
+
+- Improve thumbnailbar
+- Save thumbnailbar size
+
+- Support image collections
+ - Export to tarball/zip
+
+- Configure printing-settings
diff --git a/configure.in.in b/configure.in.in
index 3b68ad4..5d59252 100644
--- a/configure.in.in
+++ b/configure.in.in
@@ -1,5 +1,5 @@
dnl
-dnl Copyright (c) 2006
+dnl Copyright (c) 2006-2009
dnl The Xfce development team. All rights reserved.
dnl
dnl Originally written for Xfce by Benedikt Meurer <benny at xfce.org>
@@ -11,7 +11,7 @@ dnl *** Version information ***
dnl ***************************
m4_define([ristretto_version_major], [0])
m4_define([ristretto_version_minor], [0])
-m4_define([ristretto_version_micro], [22])
+m4_define([ristretto_version_micro], [91])
m4_define([ristretto_version_build], [r at REVISION@])
m4_define([ristretto_version_tag], [dev]) # Leave empty for releases
m4_define([ristretto_version], [ristretto_version_major().ristretto_version_minor().ristretto_version_micro()ifelse(ristretto_version_tag(),[],[], [-ifelse(ristretto_version_tag(), [svn], [ristretto_version_tag()-ristretto_version_build()], [ristretto_version_tag()])])])
@@ -21,7 +21,7 @@ dnl *** Debugging support for SVN snapshots ***
dnl *******************************************
m4_define([ristretto_debug_default], [ifelse(ristretto_version_tag(), [svn], [full], [minimum])])
-AC_COPYRIGHT([Copyright (c) 2006-2008
+AC_COPYRIGHT([Copyright (c) 2006-2010
The Xfce development team. All rights reserved.
Written for Xfce by Stephan Arts <stephan at xfce.org>.])
@@ -45,35 +45,38 @@ dnl check for standard header files
AC_PROG_CC
AC_PROG_INTLTOOL([0.31], [no-xml])
+
AC_HEADER_STDC
dnl Check for i18n support
XDT_I18N([@LINGUAS@])
XDT_CHECK_PACKAGE([LIBEXIF], [libexif], [0.6.0])
-XDT_CHECK_PACKAGE([GTK], [gtk+-2.0], [2.10.0])
-XDT_CHECK_PACKAGE([GLIB], [glib-2.0], [2.12.0])
-XDT_CHECK_PACKAGE([GOBJECT], [gobject-2.0], [2.12.0])
-XDT_CHECK_PACKAGE([THUNAR_VFS], [thunar-vfs-1], [0.4.0])
+XDT_CHECK_PACKAGE([GTK], [gtk+-2.0], [2.12.0])
+XDT_CHECK_PACKAGE([GLIB], [glib-2.0], [2.16.0])
+XDT_CHECK_PACKAGE([GTHREAD], [gthread-2.0], [2.16.0])
+XDT_CHECK_PACKAGE([GOBJECT], [gobject-2.0], [2.16.0])
+XDT_CHECK_PACKAGE([GIO], [gio-2.0], [2.16.0])
XDT_CHECK_PACKAGE([DBUS_GLIB], [dbus-glib-1], [0.34])
-XDT_CHECK_PACKAGE([LIBXFCE4UTIL], [libxfce4util-1.0], [4.4.0])
-XDT_CHECK_PACKAGE([LIBXFCEGUI4], [libxfcegui4-1.0], [4.4.0])
-
-AC_ARG_ENABLE([xfce-desktop],
- [AC_HELP_STRING([--enable-xfce-desktop],
- [Build with xfdesktop support (xfce >= 4.5)])],
- [build_xfce_desktop=$enableval],
- [build_xfce_desktop=yes])
-if test "x$build_xfce_desktop" = "xyes"; then
- AC_CHECK_PROG([xfconf_query_found], [xfconf-query], [yes], [no])
- if test x"$xfconf_query_found" = x"no"; then
- echo "***"
- echo "*** xfconf-query was not found on your system."
- echo "*** The wallpaper won't work without it installed."
- echo "***"
- fi
- AC_DEFINE([WITH_DESKTOP_WALLPAPER], [1], [Define With Desktop wallpaper])
+XDT_CHECK_PACKAGE([LIBXFCE4UTIL], [libxfce4util-1.0], [4.6.0])
+XDT_CHECK_PACKAGE([LIBXFCEGUI4], [libxfcegui4-1.0], [4.6.0])
+
+XDT_CHECK_PACKAGE([XFCONF], [libxfconf-0], [4.6.0])
+
+XDT_CHECK_PACKAGE([CAIRO], [cairo], [1.8.0])
+
+dnl **************************
+dnl *** Check for xsltproc ***
+dnl **************************
+AC_ARG_ENABLE([xsltproc], [AC_HELP_STRING([--enable-xsltproc], [Use xsltproc to build documentation @<:@default=no@:>@])],, [enable_xsltproc=no])
+if test x"$enable_xsltproc" = x"yes"; then
+ AC_PATH_PROG([XSLTPROC], [xsltproc], [no])
+ if test x"$XSLTPROC" = x"no"; then
+ enable_xsltproc=no
+ fi
fi
+AM_CONDITIONAL([ENABLE_XSLTPROC], [test x"$enable_xsltproc" = x"yes"])
+
dnl check for debugging support
@@ -83,6 +86,11 @@ AC_OUTPUT([
Makefile
po/Makefile.in
src/Makefile
+docs/Makefile
+docs/manual/Makefile
+docs/manual/C/Makefile
+docs/manual/C/ristretto.xml
+docs/manual/C/images/Makefile
icons/Makefile
icons/16x16/Makefile
icons/22x22/Makefile
@@ -98,7 +106,3 @@ echo "$PACKAGE $VERSION"
echo ""
echo "The binary will be installed in $prefix/bin"
echo "----------------------------------------"
-echo "Xfce 4.6 wallpaper support: $build_xfce_desktop"
-echo ""
-echo ""
-echo "Configure finished, type 'make' to build."
diff --git a/docs/Makefile.am b/docs/Makefile.am
new file mode 100644
index 0000000..e76efaf
--- /dev/null
+++ b/docs/Makefile.am
@@ -0,0 +1 @@
+SUBDIRS = manual
diff --git a/docs/manual/C/Makefile.am b/docs/manual/C/Makefile.am
new file mode 100644
index 0000000..b15d68e
--- /dev/null
+++ b/docs/manual/C/Makefile.am
@@ -0,0 +1,66 @@
+# Copied from Thunar, original author: Benedict Meurer
+
+SUBDIRS = \
+ images
+
+TARGET_DIR = $(datadir)/doc/ristretto/html/C
+STYLESHEET = ../ristretto.xsl
+DOCUMENT = ristretto.xml
+
+# We set GPATH here; this gives us semantics for GNU make
+# which are more like other make's VPATH, when it comes to
+# whether a source that is a target of one rule is then
+# searched for in VPATH/GPATH.
+GPATH = $(srcdir)
+
+DOC_STAMPS = html-build.stamp
+
+EXTRA_DIST = $(DOCUMENT)
+CLEANFILES = $(DOC_STAMPS)
+
+if ENABLE_XSLTPROC
+all-local: html-build.stamp
+
+html-build.stamp: $(srcdir)/$(DOCUMENT) $(srcdir)/$(STYLESHEET)
+ @echo "*** Building HTML ***"
+ @-chmod -R u+w $(srcdir)
+ rm -rf $(srcdir)/html
+ mkdir $(srcdir)/html
+ $(XSLTPROC) --nonet -o $(srcdir)/html/ $(srcdir)/$(STYLESHEET) \
+ $(srcdir)/$(DOCUMENT)
+ touch html-build.stamp
+else
+all-local:
+endif
+
+maintainer-clean-local: clean
+ (cd $(srcdir) && rm -rf html)
+
+install-data-local:
+ installfiles=`echo $(srcdir)/html/*`; \
+ if test "$$installfiles" = '$(srcdir)/html/*'; then \
+ echo "--- Nothing to install"; \
+ else \
+ $(mkinstalldirs) $(DESTDIR)$(TARGET_DIR); \
+ for file in $$installfiles; do \
+ echo "--- Installing "$$file; \
+ $(INSTALL_DATA) $$file $(DESTDIR)$(TARGET_DIR); \
+ done; \
+ fi
+
+uninstall-local:
+ rm -rf $(DESTDIR)$(TARGET_DIR)/*
+
+if ENABLE_XSLTPROC
+dist-check-xsltproc: all
+else
+dist-check-xsltproc:
+ @echo "*** xsltproc must be installed and enabled in order to make dist"
+ @false
+endif
+
+dist-hook: dist-check-xsltproc dist-hook-local
+ mkdir $(distdir)/html
+ -cp $(srcdir)/html/* $(distdir)/html
+
+.PHONY: dist-hook-local
diff --git a/docs/manual/C/images/Makefile.am b/docs/manual/C/images/Makefile.am
new file mode 100644
index 0000000..7b02fc9
--- /dev/null
+++ b/docs/manual/C/images/Makefile.am
@@ -0,0 +1,7 @@
+
+imagesdir = $(datadir)/doc/ristretto/html/C/images
+images_DATA =
+
+EXTRA_DIST = \
+ $(images_DATA)
+
diff --git a/docs/manual/C/ristretto.xml.in b/docs/manual/C/ristretto.xml.in
new file mode 100644
index 0000000..e2e704b
--- /dev/null
+++ b/docs/manual/C/ristretto.xml.in
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
+ "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" [
+ <!ENTITY date "Januari 2009">
+ <!ENTITY version "@PACKAGE_VERSION@">
+ <!ENTITY application "@PACKAGE_NAME@">
+]>
+<article id="index" lang="en">
+
+ <!-- Header -->
+ <articleinfo>
+ <title>Ristretto Image Viewer</title>
+
+ <pubdate>&date;</pubdate>
+
+ <copyright>
+ <year>2006</year>
+ <year>2007</year>
+ <year>2008</year>
+ <year>2008</year>
+ <holder>Stephan Arts</holder>
+ </copyright>
+
+ <legalnotice id="legalnotice">
+ <para>
+ Permission is granted to copy, distribute and/or modify this document
+ under the terms of the GNU Free Documentation License, Version 1.1 or
+ any later version published by the Free Software Foundation; with no
+ Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
+ Texts. The complete license text is available from the <ulink
+ type="http" url="http://www.gnu.org/">Free Software Foundation</ulink>.
+ </para>
+ </legalnotice>
+
+ <authorgroup>
+ <author>
+ <firstname>Stephan</firstname>
+ <surname>Arts</surname>
+ <affiliation>
+ <address><email>stephan at xfce.org</email></address>
+ <!--
+ <orgname>os-cillation</orgname>
+ <orgdiv>System development</orgdiv>
+ <jobtitle>Software developer</jobtitle>
+ -->
+ </affiliation>
+ </author>
+ </authorgroup>
+
+ <releaseinfo>
+ This manual describes version &version; of &application;.
+ </releaseinfo>
+ </articleinfo>
+
+ <sect1 id="intro">
+ <title>Introduction to &application;</title>
+
+ <para>
+ </para>
+
+ </sect1>
+
+</article>
+<!--
+ vim:set ts=2 sw=2 et ai encoding=UTF-8:
+-->
diff --git a/docs/manual/Makefile.am b/docs/manual/Makefile.am
new file mode 100644
index 0000000..5416fbf
--- /dev/null
+++ b/docs/manual/Makefile.am
@@ -0,0 +1,6 @@
+SUBDIRS = \
+ C
+
+EXTRA_DIST = \
+ ristretto.css \
+ ristretto.xsl
diff --git a/docs/manual/ristretto.css b/docs/manual/ristretto.css
new file mode 100644
index 0000000..6a99dba
--- /dev/null
+++ b/docs/manual/ristretto.css
@@ -0,0 +1,101 @@
+/* Copied from Thunar written by Benedict Meurer */
+
+body address
+{
+ line-height: 1.3;
+ margin: .6em 0;
+}
+
+body blockquote
+{
+ margin-top: .75em;
+ line-height: 1.5;
+ margin-bottom: .75em;
+}
+
+html body
+{
+ margin: 1em 8% 1em 10%;
+ line-height: 1.2;
+ background-color: #ffffff;
+}
+
+body pre
+{
+ margin: .75em 0;
+ line-height: 1.3;
+ color: #4f3f3f;
+ font-weight: bold;
+}
+
+body div
+{
+ margin: 0;
+}
+
+dl
+{
+ margin: .8em 0;
+ line-height: 1.2;
+}
+
+.legalnotice
+{
+ font-size: small;
+ font-variant: small-caps;
+}
+
+h1,h2,h3,h4,h5,h6,
+div.example p b,
+.question,
+div.table p b,
+div.procedure p b
+{
+ color: #990000;
+}
+
+.option
+{
+ color: #0000ca;
+ font-weight: bold;
+}
+
+.parameter
+{
+ color: #007a00;
+ font-weight: bold;
+}
+
+a
+{
+ color: #000000;
+}
+
+a:hover
+{
+ color: #3c3c3c;
+ border-bottom: 1px dotted #dc0000;
+}
+
+hr
+{
+ background-color: #9c9c9c;
+ border-style: none;
+ height: 1px;
+}
+
+ul li
+{
+ list-style-type: square;
+}
+
+.programlisting, .screen
+{
+ background-color: #F8F9FD;
+ border-color: #907777;
+ border-width: 1px;
+ border-style: solid;
+ padding: 0.5em;
+}
+
+/* vim:set ts=2 sw=2 et ai: */
diff --git a/docs/manual/ristretto.xsl b/docs/manual/ristretto.xsl
new file mode 100644
index 0000000..337e68a
--- /dev/null
+++ b/docs/manual/ristretto.xsl
@@ -0,0 +1,255 @@
+<?xml version='1.0'?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ version='1.0'
+ xmlns="http://www.w3.org/TR/xhtml1/transitional"
+ exclude-result-prefixes="#default">
+
+<xsl:import href="http://docbook.sourceforge.net/release/xsl/current/html/chunk.xsl"/>
+
+<!-- XSL copied from Thunar written by Bennedict Meurer-->
+<!-- Use stylesheet -->
+<xsl:param name="html.stylesheet" select="'../ristretto.css'"/>
+
+<!-- labels and numbering -->
+<xsl:param name="autotoc.label.separator" select="'. '"/>
+<xsl:param name="chapter.autolabel" select="1"/>
+
+<!-- Don't force the use of index.html as root filename -->
+<xsl:param name="root.filename" select="''"/>
+
+<!-- Use element id (if present) as file name -->
+<xsl:variable name="use.id.as.filename">1</xsl:variable>
+
+<xsl:template match="releaseinfo" mode="titlepage.mode">
+ <span class="{name(.)}">
+ <br/>
+ <xsl:apply-templates mode="titlepage.mode"/>
+ <br/>
+ </span>
+</xsl:template>
+
+<!-- Use graphics in admonitions (note, warning, etc) -->
+<xsl:variable name="admon.graphics">0</xsl:variable>
+
+<xsl:param name="admon.style">
+ <xsl:text>text-align: left;</xsl:text></xsl:param>
+
+<xsl:variable name="admon.graphics.path">stylesheet-images/</xsl:variable>
+
+<xsl:variable name="admon.graphics.extension">.gif</xsl:variable>
+
+<xsl:param name="table.border.thickness" select="'0.2pt'"/>
+
+<xsl:param name="graphic.default.extension" select="png"/>
+
+<!-- This requires an adapted template for tgroup (see end of stylesheet) -->
+<xsl:attribute-set name="table.style">
+ <xsl:attribute name="bgcolor">#fdf9f8</xsl:attribute>
+ <xsl:attribute name="cellspacing">0</xsl:attribute>
+ <xsl:attribute name="cellpadding">4</xsl:attribute>
+</xsl:attribute-set>
+
+
+<xsl:param name="generate.legalnotice.link" select="0"/>
+
+<!-- set font styles for various tags -->
+<xsl:template match="guibutton">
+<xsl:call-template name="inline.boldseq"/>
+</xsl:template>
+
+<xsl:template match="guiicon">
+<xsl:call-template name="inline.boldseq"/>
+</xsl:template>
+
+<xsl:template match="guilabel">
+<xsl:call-template name="inline.boldseq"/>
+</xsl:template>
+
+<xsl:template match="guimenu">
+<xsl:call-template name="inline.boldseq"/>
+</xsl:template>
+
+<xsl:template match="guimenuitem">
+<xsl:call-template name="inline.boldseq"/>
+</xsl:template>
+
+<xsl:template match="guisubmenu">
+<xsl:call-template name="inline.boldseq"/>
+</xsl:template>
+
+<xsl:template match="application">
+<xsl:call-template name="inline.boldmonoseq"/>
+</xsl:template>
+
+<xsl:template match="caption">
+<xsl:call-template name="inline.boldseq"/>
+</xsl:template>
+
+<!-- Adapted template for tgroup. The only change is the addition of -->
+<!-- table.style attributes -->
+<xsl:template match="tgroup">
+ <table xsl:use-attribute-sets="table.style">
+ <xsl:choose>
+ <!-- If there's a <?dbhtml table-summary="foo"?> PI, use it for
+ the HTML table summary attribute -->
+ <xsl:when test="processing-instruction('dbhtml')">
+ <xsl:variable name="summary">
+ <xsl:call-template name="dbhtml-attribute">
+ <xsl:with-param name="pis"
+ select="processing-instruction('dbhtml')[1]"/>
+ <xsl:with-param name="attribute" select="'table-summary'"/>
+ </xsl:call-template>
+ </xsl:variable>
+ <xsl:if test="$summary != ''">
+ <xsl:attribute name="summary">
+ <xsl:value-of select="$summary"/>
+ </xsl:attribute>
+ </xsl:if>
+ </xsl:when>
+ <!-- Otherwise, if there's a title, use that -->
+ <xsl:when test="../title">
+ <xsl:attribute name="summary">
+ <xsl:value-of select="string(../title)"/>
+ </xsl:attribute>
+ </xsl:when>
+ <!-- Otherwise, forget the whole idea -->
+ <xsl:otherwise><!-- nevermind --></xsl:otherwise>
+ </xsl:choose>
+
+ <xsl:if test="../@pgwide=1">
+ <xsl:attribute name="width">100%</xsl:attribute>
+ </xsl:if>
+
+ <xsl:choose>
+ <xsl:when test="../@frame='none'">
+ <xsl:attribute name="border">0</xsl:attribute>
+ </xsl:when>
+ <xsl:when test="$table.borders.with.css != 0">
+ <xsl:attribute name="border">0</xsl:attribute>
+ <xsl:choose>
+ <xsl:when test="../@frame='topbot' or ../@frame='top'">
+ <xsl:attribute name="style">
+ <xsl:call-template name="border">
+ <xsl:with-param name="side" select="'top'"/>
+ </xsl:call-template>
+ </xsl:attribute>
+ </xsl:when>
+ <xsl:when test="../@frame='sides'">
+ <xsl:attribute name="style">
+ <xsl:call-template name="border">
+ <xsl:with-param name="side" select="'left'"/>
+ </xsl:call-template>
+ <xsl:call-template name="border">
+ <xsl:with-param name="side" select="'right'"/>
+ </xsl:call-template>
+ </xsl:attribute>
+ </xsl:when>
+ </xsl:choose>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:attribute name="border">1</xsl:attribute>
+ </xsl:otherwise>
+ </xsl:choose>
+
+ <xsl:variable name="colgroup">
+ <colgroup>
+ <xsl:call-template name="generate.colgroup">
+ <xsl:with-param name="cols" select="@cols"/>
+ </xsl:call-template>
+ </colgroup>
+ </xsl:variable>
+
+ <xsl:variable name="explicit.table.width">
+ <xsl:call-template name="dbhtml-attribute">
+ <xsl:with-param name="pis"
+ select="../processing-instruction('dbhtml')[1]"/>
+ <xsl:with-param name="attribute" select="'table-width'"/>
+ </xsl:call-template>
+ </xsl:variable>
+
+ <xsl:variable name="table.width">
+ <xsl:choose>
+ <xsl:when test="$explicit.table.width != ''">
+ <xsl:value-of select="$explicit.table.width"/>
+ </xsl:when>
+ <xsl:when test="$default.table.width = ''">
+ <xsl:text>100%</xsl:text>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="$default.table.width"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+
+ <xsl:if test="$default.table.width != ''
+ or $explicit.table.width != ''">
+ <xsl:attribute name="width">
+ <xsl:choose>
+ <xsl:when test="contains($table.width, '%')">
+ <xsl:value-of select="$table.width"/>
+ </xsl:when>
+ <xsl:when test="$use.extensions != 0
+ and $tablecolumns.extension != 0">
+ <xsl:choose>
+ <xsl:when test="function-available('stbl:convertLength')">
+ <xsl:value-of select="stbl:convertLength($table.width)"/>
+ </xsl:when>
+ <xsl:when test="function-available('xtbl:convertLength')">
+ <xsl:value-of select="xtbl:convertLength($table.width)"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:message terminate="yes">
+ <xsl:text>No convertLength function available.</xsl:text>
+ </xsl:message>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="$table.width"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:attribute>
+ </xsl:if>
+
+ <xsl:choose>
+ <xsl:when test="$use.extensions != 0
+ and $tablecolumns.extension != 0">
+ <xsl:choose>
+ <xsl:when test="function-available('stbl:adjustColumnWidths')">
+ <xsl:copy-of select="stbl:adjustColumnWidths($colgroup)"/>
+ </xsl:when>
+ <xsl:when test="function-available('xtbl:adjustColumnWidths')">
+ <xsl:copy-of select="xtbl:adjustColumnWidths($colgroup)"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:message terminate="yes">
+ <xsl:text>No adjustColumnWidths function available.</xsl:text>
+ </xsl:message>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:copy-of select="$colgroup"/>
+ </xsl:otherwise>
+ </xsl:choose>
+
+ <xsl:apply-templates select="thead"/>
+ <xsl:apply-templates select="tbody"/>
+ <xsl:apply-templates select="tfoot"/>
+
+ <xsl:if test=".//footnote">
+ <tbody class="footnotes">
+ <tr>
+ <td colspan="{@cols}">
+ <xsl:apply-templates select=".//footnote"
+ mode="table.footnote.mode"/>
+ </td>
+ </tr>
+ </tbody>
+ </xsl:if>
+ </table>
+</xsl:template>
+
+
+</xsl:stylesheet>
+
diff --git a/po/ChangeLog b/po/ChangeLog
index c5f6b89..5b47219 100644
--- a/po/ChangeLog
+++ b/po/ChangeLog
@@ -1,3 +1,8 @@
+2009-09-19 Stephan Arts <stephan at xfce.org>
+
+ * *.po: Update .po files
+ * ristretto.pot: Add .pot file
+
2009-08-09 Masato Hashimoto <cabezon.hashimoto at gmail.com>
* ja.po: Japanese translation update (Masato Hashimoto)
diff --git a/po/POTFILES.in b/po/POTFILES.in
index c953d83..23a31e5 100644
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -1,8 +1,12 @@
src/main.c
src/main_window.c
-src/navigator.c
+src/app_menu_item.c
src/picture_viewer.c
-src/save_dialog.c
-src/thumbnail.c
+src/preferences_dialog.c
+src/image.c
+src/image_list.c
+src/image_cache.c
+src/wallpaper_manager.c
+src/xfce_wallpaper_manager.c
src/thumbnail_bar.c
ristretto.desktop.in
diff --git a/po/ar.po b/po/ar.po
index bf9fd86..b4f2391 100644
--- a/po/ar.po
+++ b/po/ar.po
@@ -1,9 +1,8 @@
-#: ../src/main.c:231
msgid ""
msgstr ""
"Project-Id-Version: xfce\n"
"Report-Msgid-Bugs-To: xfce-i18n at xfce.org\n"
-"POT-Creation-Date: 2008-11-14 13:24+0100\n"
+"POT-Creation-Date: 2010-01-15 00:57+0100\n"
"PO-Revision-Date: 2008-07-15 15:07+0200\n"
"Last-Translator: Mohamed Magdy <mohamedmk at gmail.com>\n"
"Language-Team: Arabeyes <doc at arabeyes.org>\n"
@@ -12,234 +11,511 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"X-Poedit-Language: Arabic\n"
-#: ../src/main.c:61
+#: ../src/main.c:59
msgid "Version information"
msgstr ""
-#: ../src/main.c:65
+#: ../src/main.c:63
msgid "Start in fullscreen mode"
msgstr ""
-#: ../src/main.c:69
+#: ../src/main.c:67
msgid "Start a slideshow"
msgstr ""
-#: ../src/main.c:235
+#: ../src/main.c:91
#, c-format
msgid ""
"%s: %s\n"
"Try %s --help to see a full list of available command line options.\n"
msgstr ""
-#: ../src/main.c:448 ../src/main_window.c:1598 ../src/main_window.c:1638
-#: ../src/main_window.c:1675
-msgid "Opening file(s)..."
+#. File Menu
+#: ../src/main_window.c:262
+msgid "_File"
msgstr ""
-#. Create 'File' menu
-#: ../src/main_window.c:340
-msgid "_File"
+#: ../src/main_window.c:263
+msgid "_Open"
+msgstr ""
+
+#: ../src/main_window.c:263
+msgid "Open an image"
+msgstr ""
+
+#: ../src/main_window.c:264
+msgid "Open _Folder"
+msgstr ""
+
+#: ../src/main_window.c:264
+msgid "Open a folder"
+msgstr ""
+
+#: ../src/main_window.c:265
+msgid "_Save copy"
+msgstr ""
+
+#: ../src/main_window.c:265
+msgid "Save a copy of the image"
+msgstr ""
+
+#: ../src/main_window.c:266
+msgid "_Print"
+msgstr ""
+
+#: ../src/main_window.c:266
+msgid "Print the image"
+msgstr ""
+
+#: ../src/main_window.c:267
+msgid "_Close"
+msgstr ""
+
+#: ../src/main_window.c:267
+msgid "Close this image"
msgstr ""
-#: ../src/main_window.c:347
-msgid "O_pen Folder"
+#: ../src/main_window.c:268
+msgid "_Close All"
msgstr ""
-#: ../src/main_window.c:348
-msgid "_Recently used"
+#: ../src/main_window.c:268
+msgid "Close all images"
msgstr ""
-#: ../src/main_window.c:353
-msgid "Close _all"
+#: ../src/main_window.c:269
+msgid "_Quit"
msgstr ""
-#. Create 'Edit' menu
-#: ../src/main_window.c:383
+#: ../src/main_window.c:269
+msgid "Quit Ristretto"
+msgstr ""
+
+#. Edit Menu
+#: ../src/main_window.c:271
msgid "_Edit"
msgstr ""
-#: ../src/main_window.c:388 ../src/main_window.c:659
-msgid "Open with..."
+#: ../src/main_window.c:272
+msgid "_Open with..."
+msgstr ""
+
+#: ../src/main_window.c:273
+msgid "_Sorting"
+msgstr ""
+
+#: ../src/main_window.c:274
+msgid "_Delete"
msgstr ""
-#: ../src/main_window.c:396 ../src/main_window.c:670
-msgid "No applications available"
+#: ../src/main_window.c:275
+msgid "_Preferences"
msgstr ""
-#. Create 'View' menu
-#: ../src/main_window.c:405
+#. View Menu
+#: ../src/main_window.c:277
msgid "_View"
msgstr ""
-#: ../src/main_window.c:412
-msgid "Show _Toolbar"
+#: ../src/main_window.c:278
+msgid "_Fullscreen"
+msgstr ""
+
+#: ../src/main_window.c:279
+msgid "_Leave Fullscreen"
msgstr ""
-#: ../src/main_window.c:413
-msgid "Thumbnail _Viewer"
+#: ../src/main_window.c:280
+msgid "_Set as Wallpaper"
msgstr ""
-#: ../src/main_window.c:417
+#. Zoom submenu
+#: ../src/main_window.c:282
msgid "_Zooming"
msgstr ""
-#: ../src/main_window.c:418
-msgid "_Rotate"
+#: ../src/main_window.c:283
+msgid "Zoom _In"
msgstr ""
-#: ../src/main_window.c:425
-msgid "_Set as wallpaper"
+#: ../src/main_window.c:284
+msgid "Zoom _Out"
msgstr ""
-#: ../src/main_window.c:476
-msgid "Show _Horizontally"
+#: ../src/main_window.c:285
+msgid "Zoom _Fit"
msgstr ""
-#: ../src/main_window.c:480
-msgid "Show _Vertically"
+#: ../src/main_window.c:286
+msgid "_Normal Size"
msgstr ""
-#: ../src/main_window.c:484
-msgid "H_ide"
+#. Rotation submenu
+#: ../src/main_window.c:288
+msgid "_Rotation"
msgstr ""
-#: ../src/main_window.c:521
+#: ../src/main_window.c:289
msgid "Rotate _Right"
msgstr ""
-#: ../src/main_window.c:522
+#: ../src/main_window.c:290
msgid "Rotate _Left"
msgstr ""
-#. Create 'Go' menu
-#: ../src/main_window.c:543
+#. Go Menu
+#: ../src/main_window.c:292
msgid "_Go"
msgstr ""
-#. Create 'Help' menu
-#: ../src/main_window.c:574
+#: ../src/main_window.c:293
+msgid "_Forward"
+msgstr ""
+
+#: ../src/main_window.c:294
+msgid "_Back"
+msgstr ""
+
+#: ../src/main_window.c:295
+msgid "_First"
+msgstr ""
+
+#: ../src/main_window.c:296
+msgid "_Last"
+msgstr ""
+
+#. Help Menu
+#: ../src/main_window.c:298
msgid "_Help"
msgstr ""
-#: ../src/main_window.c:906
-msgid "One or more images have been modified, do you want to save the changes?"
+#: ../src/main_window.c:300
+msgid "_Contents"
+msgstr ""
+
+#: ../src/main_window.c:302
+msgid "Display ristretto user manual"
+msgstr ""
+
+#: ../src/main_window.c:305
+msgid "_About"
+msgstr ""
+
+#: ../src/main_window.c:307
+msgid "Display information about ristretto"
+msgstr ""
+
+#. Position Menu
+#: ../src/main_window.c:310
+msgid "_Position"
+msgstr ""
+
+#. Misc
+#: ../src/main_window.c:312
+msgid "Leave _Fullscreen"
+msgstr ""
+
+#. Toggle visibility of the main file toolbar
+#: ../src/main_window.c:320
+msgid "Show _File Toolbar"
+msgstr ""
+
+#. Toggle visibility of the main navigation toolbar
+#: ../src/main_window.c:322
+msgid "Show _Navigation Toolbar"
+msgstr ""
+
+#. Toggle visibility of the thumbnailbar
+#: ../src/main_window.c:324
+msgid "Show _Thumbnailbar"
+msgstr ""
+
+#. Sort by Filename
+#: ../src/main_window.c:331
+msgid "sort by filename"
+msgstr ""
+
+#. Sort by Date
+#: ../src/main_window.c:333
+msgid "sort by date"
+msgstr ""
+
+#: ../src/main_window.c:339
+msgid "Left"
+msgstr ""
+
+#: ../src/main_window.c:340
+msgid "Right"
+msgstr ""
+
+#: ../src/main_window.c:341
+msgid "Top"
+msgstr ""
+
+#: ../src/main_window.c:342
+msgid "Bottom"
+msgstr ""
+
+#: ../src/main_window.c:512 ../src/main_window.c:778
+msgid "Press open to select an image"
+msgstr ""
+
+#: ../src/main_window.c:765 ../src/main_window.c:770
+msgid "Empty"
+msgstr ""
+
+#: ../src/main_window.c:1545
+msgid "Developer:"
+msgstr ""
+
+#: ../src/main_window.c:1555
+msgid "Ristretto is an imageviewer for the Xfce desktop environment."
+msgstr ""
+
+#: ../src/main_window.c:1563
+msgid "translator-credits"
+msgstr ""
+
+#: ../src/main_window.c:1878
+msgid "Open image"
+msgstr ""
+
+#: ../src/main_window.c:1890
+msgid "Images"
+msgstr ""
+
+#: ../src/main_window.c:1895
+msgid ".jp(e)g"
msgstr ""
-#: ../src/main_window.c:1394
-msgid "Image viewer Preferences"
+#: ../src/main_window.c:1917 ../src/main_window.c:1940
+#: ../src/main_window.c:2099 ../src/main_window.c:2114
+msgid "Could not open file"
msgstr ""
-#: ../src/main_window.c:1412
+#: ../src/main_window.c:1992
+msgid "Open folder"
+msgstr ""
+
+#: ../src/main_window.c:2137
+msgid "Save copy"
+msgstr ""
+
+#: ../src/main_window.c:2210
+#, c-format
+msgid "Are you sure you want to delete image '%s' from disk?"
+msgstr ""
+
+#: ../src/preferences_dialog.c:230
msgid "Display"
msgstr ""
-#: ../src/main_window.c:1416
+#: ../src/preferences_dialog.c:235
+msgid "Background color"
+msgstr ""
+
+#: ../src/preferences_dialog.c:239
+msgid "Override background color:"
+msgstr ""
+
+#: ../src/preferences_dialog.c:267
+msgid "Quality"
+msgstr ""
+
+#: ../src/preferences_dialog.c:271
+msgid "Maximum render quality:"
+msgstr ""
+
+#: ../src/preferences_dialog.c:274
+msgid "Show preview when loading image"
+msgstr ""
+
+#: ../src/preferences_dialog.c:281
+msgid "Best"
+msgstr ""
+
+#: ../src/preferences_dialog.c:282
+msgid "High"
+msgstr ""
+
+#: ../src/preferences_dialog.c:283
+msgid "Medium"
+msgstr ""
+
+#: ../src/preferences_dialog.c:284
+msgid "Low"
+msgstr ""
+
+#: ../src/preferences_dialog.c:324
msgid "Slideshow"
msgstr ""
-#: ../src/main_window.c:1420
+#: ../src/preferences_dialog.c:328
+msgid "Timeout"
+msgstr ""
+
+#: ../src/preferences_dialog.c:331
+msgid ""
+"The time period an individual image is displayed during a slideshow\n"
+"(in seconds)"
+msgstr ""
+
+#: ../src/preferences_dialog.c:346
+msgid "Thumbnails"
+msgstr ""
+
+#: ../src/preferences_dialog.c:349
+msgid ""
+"The thumbnailbar can be automatically hidden \n"
+"when the image-viewer is fullscreen."
+msgstr ""
+
+#: ../src/preferences_dialog.c:351
+msgid "Hide thumbnailbar when fullscreen"
+msgstr ""
+
+#: ../src/preferences_dialog.c:364
+msgid "Control"
+msgstr ""
+
+#: ../src/preferences_dialog.c:368
+msgid "Scrollwheel"
+msgstr ""
+
+#: ../src/preferences_dialog.c:371
+msgid "No action"
+msgstr ""
+
+#: ../src/preferences_dialog.c:375
+msgid "Zoom in and out"
+msgstr ""
+
+#: ../src/preferences_dialog.c:378
+msgid "Switch images"
+msgstr ""
+
+#: ../src/preferences_dialog.c:412
msgid "Behaviour"
msgstr ""
-#: ../src/main_window.c:1425
+#: ../src/preferences_dialog.c:417
msgid "Scaling"
msgstr ""
-#: ../src/main_window.c:1427
+#: ../src/preferences_dialog.c:422
msgid "Don't scale over 100% when maximizing the window."
msgstr ""
-#: ../src/main_window.c:1437
-msgid "Background Color"
+#: ../src/preferences_dialog.c:426
+msgid "Startup"
+msgstr ""
+
+#: ../src/preferences_dialog.c:428
+msgid "Resize window to image on startup"
+msgstr ""
+
+#: ../src/preferences_dialog.c:432
+msgid "Open entire folder on startup"
msgstr ""
-#: ../src/main_window.c:1439
-msgid "_Override Background Color:"
+#: ../src/preferences_dialog.c:437
+msgid "Wrap around images"
msgstr ""
-#: ../src/main_window.c:1462
-msgid "Image Cache"
+#: ../src/preferences_dialog.c:453
+msgid "Memory"
msgstr ""
-#: ../src/main_window.c:1465
-msgid "Cache size:"
+#: ../src/preferences_dialog.c:459
+msgid "Image cache"
msgstr ""
-#: ../src/main_window.c:1466
+#: ../src/preferences_dialog.c:465
+msgid "Cache size"
+msgstr ""
+
+#: ../src/preferences_dialog.c:466
msgid "MB"
msgstr ""
-#: ../src/main_window.c:1468
-msgid "_Preload images (GUI more responsive but more CPU-intensive)"
+#: ../src/preferences_dialog.c:469
+msgid "Enable cache"
msgstr ""
-#: ../src/main_window.c:1486
-msgid "Timeout"
+#: ../src/preferences_dialog.c:474
+msgid "Preload images"
msgstr ""
-#: ../src/main_window.c:1489
-msgid "Thumbnails"
+#: ../src/preferences_dialog.c:544
+msgid "Preferences"
msgstr ""
-#: ../src/main_window.c:1494
-msgid ""
-"The time period an individual image is displayed during a slideshow\n"
-"(in seconds)"
+#: ../src/xfce_wallpaper_manager.c:84
+msgid "Set as wallpaper"
msgstr ""
-#: ../src/main_window.c:1497
-msgid "Hide the thumbnails bar during slideshow"
+#: ../src/xfce_wallpaper_manager.c:86
+msgid "Style:"
msgstr ""
-#: ../src/main_window.c:1498
-msgid "_Hide thumbnails"
+#: ../src/xfce_wallpaper_manager.c:88
+msgid "Monitor:"
msgstr ""
-#: ../src/main_window.c:1556
-msgid "Developer:"
+#: ../src/xfce_wallpaper_manager.c:90
+msgid "Brightness:"
msgstr ""
-#: ../src/main_window.c:1566
-msgid ""
-"Ristretto is a fast and lightweight picture-viewer for the Xfce desktop "
-"environment."
+#: ../src/xfce_wallpaper_manager.c:91
+msgid "Saturation:"
msgstr ""
-#: ../src/main_window.c:1574
-msgid "translator-credits"
+#: ../src/xfce_wallpaper_manager.c:123
+msgid "Auto"
msgstr ""
-#: ../src/main_window.c:1600
-msgid "Open image"
+#: ../src/xfce_wallpaper_manager.c:124
+msgid "Centered"
msgstr ""
-#: ../src/main_window.c:1618
-msgid "Could not open file"
+#: ../src/xfce_wallpaper_manager.c:125
+msgid "Tiled"
msgstr ""
-#: ../src/main_window.c:1640
-msgid "Open folder"
+#: ../src/xfce_wallpaper_manager.c:126
+msgid "Stretched"
msgstr ""
-#: ../src/main_window.c:1715
-msgid ""
-"Are you sure you want to clear ristretto's list of recently opened documents?"
+#: ../src/xfce_wallpaper_manager.c:127
+msgid "Scaled"
+msgstr ""
+
+#: ../src/xfce_wallpaper_manager.c:128
+msgid "Zoomed"
msgstr ""
-#: ../src/thumbnail_bar.c:185
+#: ../src/thumbnail_bar.c:187
msgid "Spacing"
msgstr ""
-#: ../src/thumbnail_bar.c:186
+#: ../src/thumbnail_bar.c:188
msgid "The amount of space between the thumbnails"
msgstr ""
-#: ../src/thumbnail_bar.c:192
-msgid "Border Width"
+#: ../src/thumbnail_bar.c:194
+msgid "border width"
+msgstr ""
+
+#: ../src/thumbnail_bar.c:195
+msgid "the border width of the thumbnail-bar"
+msgstr ""
+
+#: ../src/thumbnail_bar.c:201
+msgid "filmstrip width"
msgstr ""
-#: ../src/thumbnail_bar.c:193
-msgid "The border width of the thumbnail-bar"
+#: ../src/thumbnail_bar.c:202
+msgid "the width of the thumbnail-bar film-strip"
msgstr ""
#: ../ristretto.desktop.in.h:1
@@ -247,9 +523,9 @@ msgid "Image Viewer"
msgstr ""
#: ../ristretto.desktop.in.h:2
-msgid "Ristretto"
+msgid "Look at your photo's easily"
msgstr ""
#: ../ristretto.desktop.in.h:3
-msgid "Xfce Image viewer"
+msgid "Ristretto Photo Viewer"
msgstr ""
diff --git a/po/ast.po b/po/ast.po
index bcb1cef..6a52020 100644
--- a/po/ast.po
+++ b/po/ast.po
@@ -1,30 +1,29 @@
-#: ../src/main.c:231
msgid ""
msgstr ""
"Project-Id-Version: ristretto\n"
"Report-Msgid-Bugs-To: xfce-i18n at xfce.org\n"
-"POT-Creation-Date: 2008-11-14 13:24+0100\n"
-"PO-Revision-Date: 2009-07-13 19:55+0100\n"
-"Last-Translator: Marcos Antonio Alvarez Costales <marcoscostales at gmail.com>\n"
+"POT-Creation-Date: 2010-01-15 00:57+0100\n"
+"PO-Revision-Date: 2009-10-05 18:16+0100\n"
+"Last-Translator: astur <malditoastur at gmail.com>\n"
"Language-Team: Asturian <alministradores at softastur.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Poedit-Bookmarks: -1,-1,-1,-1,-1,-1,11,-1,-1,-1\n"
-#: ../src/main.c:61
+#: ../src/main.c:59
msgid "Version information"
msgstr "Información de versión"
-#: ../src/main.c:65
+#: ../src/main.c:63
msgid "Start in fullscreen mode"
msgstr "Entamar en mou pantalla completa"
-#: ../src/main.c:69
+#: ../src/main.c:67
msgid "Start a slideshow"
msgstr "Entamar diapositives"
-#: ../src/main.c:235
+#: ../src/main.c:91
#, c-format
msgid ""
"%s: %s\n"
@@ -34,224 +33,508 @@ msgstr ""
"Preba %s --help pa ver una llista completa d'opciones de llinia de comandu "
"disponibles.\n"
-#: ../src/main.c:448 ../src/main_window.c:1598 ../src/main_window.c:1638
-#: ../src/main_window.c:1675
-msgid "Opening file(s)..."
-msgstr "Abriendo ficheru(os)..."
-
-#. Create 'File' menu
-#: ../src/main_window.c:340
+#. File Menu
+#: ../src/main_window.c:262
msgid "_File"
msgstr "_Ficheru"
-#: ../src/main_window.c:347
-msgid "O_pen Folder"
+#: ../src/main_window.c:263
+msgid "_Open"
+msgstr "_Abrir"
+
+#: ../src/main_window.c:263
+msgid "Open an image"
+msgstr "Abrir imaxe"
+
+#: ../src/main_window.c:264
+msgid "Open _Folder"
msgstr "_Abrir carpeta"
-#: ../src/main_window.c:348
-msgid "_Recently used"
-msgstr "_Usaos recientemente"
+#: ../src/main_window.c:264
+msgid "Open a folder"
+msgstr "Abrir una carpeta"
+
+#: ../src/main_window.c:265
+msgid "_Save copy"
+msgstr "_Guardar copia"
+
+#: ../src/main_window.c:265
+msgid "Save a copy of the image"
+msgstr "Guardar una copia de la imaxe"
+
+#: ../src/main_window.c:266
+msgid "_Print"
+msgstr "_Imprentar"
+
+#: ../src/main_window.c:266
+msgid "Print the image"
+msgstr "_Imprentar les imáxenes"
+
+#: ../src/main_window.c:267
+msgid "_Close"
+msgstr "Z_arrar"
-#: ../src/main_window.c:353
-msgid "Close _all"
+#: ../src/main_window.c:267
+msgid "Close this image"
+msgstr "Zarrar esta imaxe"
+
+#: ../src/main_window.c:268
+msgid "_Close All"
msgstr "Zarrar _too"
-#. Create 'Edit' menu
-#: ../src/main_window.c:383
+#: ../src/main_window.c:268
+msgid "Close all images"
+msgstr "Zarrar toles imáxenes"
+
+#: ../src/main_window.c:269
+msgid "_Quit"
+msgstr "_Colar"
+
+#: ../src/main_window.c:269
+msgid "Quit Ristretto"
+msgstr "Quitar Ristretto"
+
+#. Edit Menu
+#: ../src/main_window.c:271
msgid "_Edit"
msgstr "_Editar"
-#: ../src/main_window.c:388 ../src/main_window.c:659
-msgid "Open with..."
-msgstr "Abrir con..."
+#: ../src/main_window.c:272
+msgid "_Open with..."
+msgstr "Abrir _con..."
+
+#: ../src/main_window.c:273
+msgid "_Sorting"
+msgstr "_Axeitar"
-#: ../src/main_window.c:396 ../src/main_window.c:670
-msgid "No applications available"
-msgstr "Nun hai aplicaciones disponibles"
+#: ../src/main_window.c:274
+msgid "_Delete"
+msgstr "_Desaniciar"
-#. Create 'View' menu
-#: ../src/main_window.c:405
+#: ../src/main_window.c:275
+msgid "_Preferences"
+msgstr "_Preferencies"
+
+#. View Menu
+#: ../src/main_window.c:277
msgid "_View"
msgstr "_Ver"
-#: ../src/main_window.c:412
-msgid "Show _Toolbar"
-msgstr "Amosar _barra de ferramientes"
+#: ../src/main_window.c:278
+msgid "_Fullscreen"
+msgstr "_Pantalla completa"
+
+#: ../src/main_window.c:279
+msgid "_Leave Fullscreen"
+msgstr "_Colar de pantalla completa"
-#: ../src/main_window.c:413
-msgid "Thumbnail _Viewer"
-msgstr "_Visor de miniatures"
+#: ../src/main_window.c:280
+msgid "_Set as Wallpaper"
+msgstr "_Afitar como fondu d'escritoriu"
-#: ../src/main_window.c:417
+#. Zoom submenu
+#: ../src/main_window.c:282
msgid "_Zooming"
msgstr "_Ampliar"
-#: ../src/main_window.c:418
-msgid "_Rotate"
-msgstr "_Voltiar"
+#: ../src/main_window.c:283
+msgid "Zoom _In"
+msgstr "_Ampliar"
-#: ../src/main_window.c:425
-msgid "_Set as wallpaper"
-msgstr "_Afitar como fondu d'escritoriu"
+#: ../src/main_window.c:284
+msgid "Zoom _Out"
+msgstr "_Amenorgar"
-#: ../src/main_window.c:476
-msgid "Show _Horizontally"
-msgstr "Amosar _horizontalmente"
+#: ../src/main_window.c:285
+msgid "Zoom _Fit"
+msgstr "_Axustar"
-#: ../src/main_window.c:480
-msgid "Show _Vertically"
-msgstr "Amosar _verticalmente"
+#: ../src/main_window.c:286
+msgid "_Normal Size"
+msgstr "_Tamañu normal"
-#: ../src/main_window.c:484
-msgid "H_ide"
-msgstr "_Anubrir"
+#. Rotation submenu
+#: ../src/main_window.c:288
+msgid "_Rotation"
+msgstr "_Voltiar"
-#: ../src/main_window.c:521
+#: ../src/main_window.c:289
msgid "Rotate _Right"
msgstr "Voltiar a man_drecha"
-#: ../src/main_window.c:522
+#: ../src/main_window.c:290
msgid "Rotate _Left"
msgstr "Voltiar a man_zorga"
-#. Create 'Go' menu
-#: ../src/main_window.c:543
+#. Go Menu
+#: ../src/main_window.c:292
msgid "_Go"
msgstr "_Dir"
-#. Create 'Help' menu
-#: ../src/main_window.c:574
+#: ../src/main_window.c:293
+msgid "_Forward"
+msgstr "_Avanzar"
+
+#: ../src/main_window.c:294
+msgid "_Back"
+msgstr "_Retroceder"
+
+#: ../src/main_window.c:295
+msgid "_First"
+msgstr "_Primera"
+
+#: ../src/main_window.c:296
+msgid "_Last"
+msgstr "_Cabera"
+
+#. Help Menu
+#: ../src/main_window.c:298
msgid "_Help"
msgstr "A_ida"
-#: ../src/main_window.c:906
-msgid "One or more images have been modified, do you want to save the changes?"
-msgstr "Una o más imáxenes modificáronse. ¿Quies guardar los cambeos?"
+#: ../src/main_window.c:300
+msgid "_Contents"
+msgstr "_Conteníos"
+
+#: ../src/main_window.c:302
+msgid "Display ristretto user manual"
+msgstr "Amosar el manual d'usuariu de ristretto"
+
+#: ../src/main_window.c:305
+msgid "_About"
+msgstr "_Tocante a"
+
+#: ../src/main_window.c:307
+msgid "Display information about ristretto"
+msgstr "Amosar información tocante a ristretto"
+
+#. Position Menu
+#: ../src/main_window.c:310
+msgid "_Position"
+msgstr "_Posición"
+
+#. Misc
+#: ../src/main_window.c:312
+msgid "Leave _Fullscreen"
+msgstr "Colar de _pantalla completa"
+
+#. Toggle visibility of the main file toolbar
+#: ../src/main_window.c:320
+msgid "Show _File Toolbar"
+msgstr "Amosar _barra de ficheru"
+
+#. Toggle visibility of the main navigation toolbar
+#: ../src/main_window.c:322
+msgid "Show _Navigation Toolbar"
+msgstr "Amosar _barra de navegación"
+
+#. Toggle visibility of the thumbnailbar
+#: ../src/main_window.c:324
+msgid "Show _Thumbnailbar"
+msgstr "Amosar _barra de miniatures"
+
+#. Sort by Filename
+#: ../src/main_window.c:331
+msgid "sort by filename"
+msgstr "axeitar por nome"
+
+#. Sort by Date
+#: ../src/main_window.c:333
+msgid "sort by date"
+msgstr "axeitar per data"
+
+#: ../src/main_window.c:339
+msgid "Left"
+msgstr "Esquierda"
+
+#: ../src/main_window.c:340
+msgid "Right"
+msgstr "Drecha"
+
+#: ../src/main_window.c:341
+msgid "Top"
+msgstr "Arriba"
-#: ../src/main_window.c:1394
-msgid "Image viewer Preferences"
-msgstr "Preferencies del visor d'imáxenes"
+#: ../src/main_window.c:342
+msgid "Bottom"
+msgstr "Abaxo"
+
+#: ../src/main_window.c:512 ../src/main_window.c:778
+msgid "Press open to select an image"
+msgstr "Calca en \"abrir\" pa seleicionar una imaxe"
+
+#: ../src/main_window.c:765 ../src/main_window.c:770
+msgid "Empty"
+msgstr "Ermu"
+
+#: ../src/main_window.c:1545
+msgid "Developer:"
+msgstr "Desendolcador:"
+
+#: ../src/main_window.c:1555
+msgid "Ristretto is an imageviewer for the Xfce desktop environment."
+msgstr ""
+"Ristretto ye un visor d'imáxenes rápidu y llixeru pal entornu d'escritoriu "
+"de Xfce."
-#: ../src/main_window.c:1412
+#: ../src/main_window.c:1563
+msgid "translator-credits"
+msgstr "Astur <malditoastur at gmail.com>"
+
+#: ../src/main_window.c:1878
+msgid "Open image"
+msgstr "Abrir imaxe"
+
+#: ../src/main_window.c:1890
+msgid "Images"
+msgstr "Imaxes"
+
+#: ../src/main_window.c:1895
+msgid ".jp(e)g"
+msgstr ".jp(e)g"
+
+#: ../src/main_window.c:1917 ../src/main_window.c:1940
+#: ../src/main_window.c:2099 ../src/main_window.c:2114
+msgid "Could not open file"
+msgstr "Nun pudo abrise'l ficheru"
+
+#: ../src/main_window.c:1992
+msgid "Open folder"
+msgstr "Abrir direutoriu"
+
+#: ../src/main_window.c:2137
+msgid "Save copy"
+msgstr "Guardar copia"
+
+#: ../src/main_window.c:2210
+#, c-format
+msgid "Are you sure you want to delete image '%s' from disk?"
+msgstr "¿De xuru que quies esborrar la imaxe '%s' del discu?"
+
+#: ../src/preferences_dialog.c:230
msgid "Display"
msgstr "Visualizador"
-#: ../src/main_window.c:1416
+#: ../src/preferences_dialog.c:235
+msgid "Background color"
+msgstr "Color de fondu"
+
+#: ../src/preferences_dialog.c:239
+msgid "Override background color:"
+msgstr "Inorar color de fondu:"
+
+#: ../src/preferences_dialog.c:267
+msgid "Quality"
+msgstr "_Calidá"
+
+#: ../src/preferences_dialog.c:271
+msgid "Maximum render quality:"
+msgstr "Máxima calidá:"
+
+#: ../src/preferences_dialog.c:274
+msgid "Show preview when loading image"
+msgstr "Amosar previsualización al cargar imáxenes"
+
+#: ../src/preferences_dialog.c:281
+msgid "Best"
+msgstr "La meyor"
+
+#: ../src/preferences_dialog.c:282
+msgid "High"
+msgstr "Alta"
+
+#: ../src/preferences_dialog.c:283
+msgid "Medium"
+msgstr "Media"
+
+#: ../src/preferences_dialog.c:284
+msgid "Low"
+msgstr "Baxa"
+
+#: ../src/preferences_dialog.c:324
msgid "Slideshow"
msgstr "Diapositives"
-#: ../src/main_window.c:1420
+#: ../src/preferences_dialog.c:328
+msgid "Timeout"
+msgstr "Tiempu d'espiración"
+
+#: ../src/preferences_dialog.c:331
+msgid ""
+"The time period an individual image is displayed during a slideshow\n"
+"(in seconds)"
+msgstr ""
+"El periodu de tiempu qu'una imaxe individual s'amuesa durante la vista de "
+"diapositives\n"
+"(en segundos)"
+
+#: ../src/preferences_dialog.c:346
+msgid "Thumbnails"
+msgstr "Miniatures"
+
+#: ../src/preferences_dialog.c:349
+msgid ""
+"The thumbnailbar can be automatically hidden \n"
+"when the image-viewer is fullscreen."
+msgstr ""
+"La barra de miniature puede anubrise automáticamente \n"
+"cuando'l visor d'imáxenes ta a pantalla completa."
+
+#: ../src/preferences_dialog.c:351
+msgid "Hide thumbnailbar when fullscreen"
+msgstr "Anubrir la barra de miniatures en mou pantalla completa"
+
+#: ../src/preferences_dialog.c:364
+msgid "Control"
+msgstr "Control"
+
+#: ../src/preferences_dialog.c:368
+msgid "Scrollwheel"
+msgstr "Rueda de desplazamientu"
+
+#: ../src/preferences_dialog.c:371
+msgid "No action"
+msgstr "Denguna aición"
+
+#: ../src/preferences_dialog.c:375
+msgid "Zoom in and out"
+msgstr "Acercar y allonxar"
+
+#: ../src/preferences_dialog.c:378
+msgid "Switch images"
+msgstr "Cambiar imáxenes"
+
+#: ../src/preferences_dialog.c:412
msgid "Behaviour"
msgstr "Comportamientu"
-#: ../src/main_window.c:1425
+#: ../src/preferences_dialog.c:417
msgid "Scaling"
msgstr "Escala"
-#: ../src/main_window.c:1427
+#: ../src/preferences_dialog.c:422
msgid "Don't scale over 100% when maximizing the window."
msgstr "Nun aumentar per enriba del 100% al maximizar la ventana."
-#: ../src/main_window.c:1437
-msgid "Background Color"
-msgstr "Color de fondu"
+#: ../src/preferences_dialog.c:426
+msgid "Startup"
+msgstr "Aniciu"
+
+#: ../src/preferences_dialog.c:428
+msgid "Resize window to image on startup"
+msgstr "Redimensionar la ventana a la imaxe al aniciu"
-#: ../src/main_window.c:1439
-msgid "_Override Background Color:"
-msgstr "_Inorar color de fondu:"
+#: ../src/preferences_dialog.c:432
+msgid "Open entire folder on startup"
+msgstr "Abrir una carpeta entera al aniciu"
-#: ../src/main_window.c:1462
-msgid "Image Cache"
+#: ../src/preferences_dialog.c:437
+#, fuzzy
+msgid "Wrap around images"
+msgstr "Abrir imaxe"
+
+#: ../src/preferences_dialog.c:453
+msgid "Memory"
+msgstr "Memoria"
+
+#: ../src/preferences_dialog.c:459
+msgid "Image cache"
msgstr "Caché d'imaxe"
-#: ../src/main_window.c:1465
-msgid "Cache size:"
-msgstr "Tamañu del caché:"
+#: ../src/preferences_dialog.c:465
+msgid "Cache size"
+msgstr "Tamañu del caché"
-#: ../src/main_window.c:1466
+#: ../src/preferences_dialog.c:466
msgid "MB"
msgstr "MB"
-#: ../src/main_window.c:1468
-msgid "_Preload images (GUI more responsive but more CPU-intensive)"
-msgstr ""
-"_Precargar imáxenes (la interface gráfica respuende meyor a cambéu d'un "
-"mayor consumu de CPU)"
+#: ../src/preferences_dialog.c:469
+msgid "Enable cache"
+msgstr "Habilitar Caché"
-#: ../src/main_window.c:1486
-msgid "Timeout"
-msgstr "Tiempu d'espiración"
+#: ../src/preferences_dialog.c:474
+msgid "Preload images"
+msgstr "Precargar les imáxenes"
-#: ../src/main_window.c:1489
-msgid "Thumbnails"
-msgstr "Miniatures"
+#: ../src/preferences_dialog.c:544
+msgid "Preferences"
+msgstr "Preferencies"
-#: ../src/main_window.c:1494
-msgid ""
-"The time period an individual image is displayed during a slideshow\n"
-"(in seconds)"
+#: ../src/xfce_wallpaper_manager.c:84
+#, fuzzy
+msgid "Set as wallpaper"
+msgstr "_Afitar como fondu d'escritoriu"
+
+#: ../src/xfce_wallpaper_manager.c:86
+msgid "Style:"
msgstr ""
-"El periodu de tiempu qu'una imaxe individual s'amuesa durante la vista de "
-"diapositives\n"
-"(en segundos)"
-#: ../src/main_window.c:1497
-msgid "Hide the thumbnails bar during slideshow"
-msgstr "Anubrir la barra de miniatures na vista de diapositives"
+#: ../src/xfce_wallpaper_manager.c:88
+msgid "Monitor:"
+msgstr ""
-#: ../src/main_window.c:1498
-msgid "_Hide thumbnails"
-msgstr "_Anubrir les miniatures"
+#: ../src/xfce_wallpaper_manager.c:90
+msgid "Brightness:"
+msgstr ""
-#: ../src/main_window.c:1556
-msgid "Developer:"
-msgstr "Desendolcador:"
+#: ../src/xfce_wallpaper_manager.c:91
+#, fuzzy
+msgid "Saturation:"
+msgstr "_Voltiar"
-#: ../src/main_window.c:1566
-msgid ""
-"Ristretto is a fast and lightweight picture-viewer for the Xfce desktop "
-"environment."
-msgstr ""
-"Ristretto ye un visor d'imáxenes rápidu y llixeru pal entornu d'escritoriu "
-"de Xfce."
+#: ../src/xfce_wallpaper_manager.c:123
+#, fuzzy
+msgid "Auto"
+msgstr "_Tocante a"
-#: ../src/main_window.c:1574
-msgid "translator-credits"
-msgstr "Astur <malditoastur at gmail.com>"
+#: ../src/xfce_wallpaper_manager.c:124
+msgid "Centered"
+msgstr ""
-#: ../src/main_window.c:1600
-msgid "Open image"
-msgstr "Abrir imaxe"
+#: ../src/xfce_wallpaper_manager.c:125
+#, fuzzy
+msgid "Tiled"
+msgstr "_Ficheru"
-#: ../src/main_window.c:1618
-msgid "Could not open file"
-msgstr "Nun pudo abrise'l ficheru"
+#: ../src/xfce_wallpaper_manager.c:126
+msgid "Stretched"
+msgstr ""
-#: ../src/main_window.c:1640
-msgid "Open folder"
-msgstr "Abrir direutoriu"
+#: ../src/xfce_wallpaper_manager.c:127
+#, fuzzy
+msgid "Scaled"
+msgstr "Escala"
-#: ../src/main_window.c:1715
-msgid ""
-"Are you sure you want to clear ristretto's list of recently opened documents?"
+#: ../src/xfce_wallpaper_manager.c:128
+msgid "Zoomed"
msgstr ""
-"¿De xuru que quies esborrar la llista de documentos abiertos recientemente "
-"de ristretto?"
-#: ../src/thumbnail_bar.c:185
+#: ../src/thumbnail_bar.c:187
msgid "Spacing"
msgstr "Espaciáu"
-#: ../src/thumbnail_bar.c:186
+#: ../src/thumbnail_bar.c:188
msgid "The amount of space between the thumbnails"
msgstr "La cantidá d'espaciu ente miniatures"
-#: ../src/thumbnail_bar.c:192
-msgid "Border Width"
+#: ../src/thumbnail_bar.c:194
+#, fuzzy
+msgid "border width"
msgstr "Anchor del berbesu"
-#: ../src/thumbnail_bar.c:193
-msgid "The border width of the thumbnail-bar"
+#: ../src/thumbnail_bar.c:195
+#, fuzzy
+msgid "the border width of the thumbnail-bar"
+msgstr "L'anchor del berbesu de la barra de miniatures"
+
+#: ../src/thumbnail_bar.c:201
+msgid "filmstrip width"
+msgstr ""
+
+#: ../src/thumbnail_bar.c:202
+#, fuzzy
+msgid "the width of the thumbnail-bar film-strip"
msgstr "L'anchor del berbesu de la barra de miniatures"
#: ../ristretto.desktop.in.h:1
@@ -259,12 +542,59 @@ msgid "Image Viewer"
msgstr "Visor d'imáxenes"
#: ../ristretto.desktop.in.h:2
-msgid "Ristretto"
-msgstr "Ristretto"
+msgid "Look at your photo's easily"
+msgstr "Ver semeyes cenciellamente"
#: ../ristretto.desktop.in.h:3
-msgid "Xfce Image viewer"
-msgstr "Visor d'imáxenes de Xfce"
+#, fuzzy
+msgid "Ristretto Photo Viewer"
+msgstr "Visualizador d'imáxenes"
+
+#~ msgid "Ristretto"
+#~ msgstr "Ristretto"
+
+#, fuzzy
+#~ msgid "_Thumbnail Bar"
+#~ msgstr "Miniatures"
+
+#~ msgid "Opening file(s)..."
+#~ msgstr "Abriendo ficheru(os)..."
+
+#~ msgid "_Recently used"
+#~ msgstr "_Usaos recientemente"
+
+#~ msgid "No applications available"
+#~ msgstr "Nun hai aplicaciones disponibles"
+
+#~ msgid "Thumbnail _Viewer"
+#~ msgstr "_Visor de miniatures"
+
+#~ msgid "Show _Horizontally"
+#~ msgstr "Amosar _horizontalmente"
+
+#~ msgid "Show _Vertically"
+#~ msgstr "Amosar _verticalmente"
+
+#~ msgid "H_ide"
+#~ msgstr "_Anubrir"
+
+#~ msgid ""
+#~ "One or more images have been modified, do you want to save the changes?"
+#~ msgstr "Una o más imáxenes modificáronse. ¿Quies guardar los cambeos?"
+
+#~ msgid "Image viewer Preferences"
+#~ msgstr "Preferencies del visor d'imáxenes"
+
+#~ msgid "_Preload images (GUI more responsive but more CPU-intensive)"
+#~ msgstr ""
+#~ "_Precargar imáxenes (la interface gráfica respuende meyor a cambéu d'un "
+#~ "mayor consumu de CPU)"
+
+#~ msgid "Hide the thumbnails bar during slideshow"
+#~ msgstr "Anubrir la barra de miniatures na vista de diapositives"
+
+#~ msgid "Xfce Image viewer"
+#~ msgstr "Visor d'imáxenes de Xfce"
#~ msgid "Preload"
#~ msgstr "Precarga"
@@ -276,12 +606,6 @@ msgstr "Visor d'imáxenes de Xfce"
#~ "Precargar les imáxenes durante la vista de diapositivas\n"
#~ "(usa más memoria)"
-#~ msgid "_Preload images"
-#~ msgstr "_Precargar les imáxenes"
-
-#~ msgid "Ristretto Image Viewer"
-#~ msgstr "Ristretto : Visualiseur d’Images"
-
#~ msgid "Flip _Vertically"
#~ msgstr "Retourner _verticalement"
diff --git a/po/bg.po b/po/bg.po
index 5303e33..612ceb4 100644
--- a/po/bg.po
+++ b/po/bg.po
@@ -3,12 +3,11 @@
# This file is distributed under the same license as the ristretto package.
# Plamen Stoev <piros89 at gmail.com>, 2007.
#
-#: ../src/main.c:231
msgid ""
msgstr ""
"Project-Id-Version: ristretto 0.0.15\n"
"Report-Msgid-Bugs-To: xfce-i18n at xfce.org\n"
-"POT-Creation-Date: 2008-11-14 13:24+0100\n"
+"POT-Creation-Date: 2010-01-15 00:57+0100\n"
"PO-Revision-Date: 2008-01-02 23:03+0200\n"
"Last-Translator: Plamen Stoev <piros89 at gmail.com>\n"
"Language-Team: \n"
@@ -18,20 +17,20 @@ msgstr ""
"X-Poedit-Language: Bulgarian\n"
"X-Poedit-Country: BULGARIA\n"
-#: ../src/main.c:61
+#: ../src/main.c:59
msgid "Version information"
msgstr "Информация за версията"
-#: ../src/main.c:65
+#: ../src/main.c:63
msgid "Start in fullscreen mode"
msgstr ""
-#: ../src/main.c:69
+#: ../src/main.c:67
#, fuzzy
msgid "Start a slideshow"
msgstr "Прожекция"
-#: ../src/main.c:235
+#: ../src/main.c:91
#, c-format
msgid ""
"%s: %s\n"
@@ -41,223 +40,522 @@ msgstr ""
"Опитайте %s --help за да видите пълен списък с наличните опции на командния "
"ред.\n"
-#: ../src/main.c:448 ../src/main_window.c:1598 ../src/main_window.c:1638
-#: ../src/main_window.c:1675
-#, fuzzy
-msgid "Opening file(s)..."
-msgstr "Отваряне с..."
-
-#. Create 'File' menu
-#: ../src/main_window.c:340
+#. File Menu
+#: ../src/main_window.c:262
msgid "_File"
msgstr "_Файл"
-#: ../src/main_window.c:347
-msgid "O_pen Folder"
+#: ../src/main_window.c:263
+msgid "_Open"
+msgstr ""
+
+#: ../src/main_window.c:263
+#, fuzzy
+msgid "Open an image"
+msgstr "Отваряне на изображение"
+
+#: ../src/main_window.c:264
+#, fuzzy
+msgid "Open _Folder"
msgstr "Отваряне на папка"
-#: ../src/main_window.c:348
-msgid "_Recently used"
-msgstr "Отваряни наскоро"
+#: ../src/main_window.c:264
+#, fuzzy
+msgid "Open a folder"
+msgstr "Отваряне на папка"
+
+#: ../src/main_window.c:265
+msgid "_Save copy"
+msgstr ""
+
+#: ../src/main_window.c:265
+msgid "Save a copy of the image"
+msgstr ""
+
+#: ../src/main_window.c:266
+msgid "_Print"
+msgstr ""
+
+#: ../src/main_window.c:266
+#, fuzzy
+msgid "Print the image"
+msgstr "Предварително зареждане на изображения"
+
+#: ../src/main_window.c:267
+msgid "_Close"
+msgstr ""
-#: ../src/main_window.c:353
-msgid "Close _all"
+#: ../src/main_window.c:267
+msgid "Close this image"
msgstr ""
-#. Create 'Edit' menu
-#: ../src/main_window.c:383
+#: ../src/main_window.c:268
+msgid "_Close All"
+msgstr ""
+
+#: ../src/main_window.c:268
+#, fuzzy
+msgid "Close all images"
+msgstr "Предварително зареждане на изображения"
+
+#: ../src/main_window.c:269
+#, fuzzy
+msgid "_Quit"
+msgstr "_Редактиране"
+
+#: ../src/main_window.c:269
+msgid "Quit Ristretto"
+msgstr ""
+
+#. Edit Menu
+#: ../src/main_window.c:271
msgid "_Edit"
msgstr "_Редактиране"
-#: ../src/main_window.c:388 ../src/main_window.c:659
-msgid "Open with..."
+#: ../src/main_window.c:272
+#, fuzzy
+msgid "_Open with..."
msgstr "Отваряне с..."
-#: ../src/main_window.c:396 ../src/main_window.c:670
-msgid "No applications available"
-msgstr "Няма налични приложения"
+#: ../src/main_window.c:273
+#, fuzzy
+msgid "_Sorting"
+msgstr "Мащабиране"
+
+#: ../src/main_window.c:274
+msgid "_Delete"
+msgstr ""
-#. Create 'View' menu
-#: ../src/main_window.c:405
+#: ../src/main_window.c:275
+#, fuzzy
+msgid "_Preferences"
+msgstr "Предпочитания"
+
+#. View Menu
+#: ../src/main_window.c:277
msgid "_View"
msgstr "Преглед"
-#: ../src/main_window.c:412
-msgid "Show _Toolbar"
-msgstr "Показване на лентата с инструменти"
+#: ../src/main_window.c:278
+msgid "_Fullscreen"
+msgstr ""
-#: ../src/main_window.c:413
-msgid "Thumbnail _Viewer"
-msgstr "Визуализатор на умалени изображения"
+#: ../src/main_window.c:279
+msgid "_Leave Fullscreen"
+msgstr ""
+
+#: ../src/main_window.c:280
+msgid "_Set as Wallpaper"
+msgstr ""
-#: ../src/main_window.c:417
+#. Zoom submenu
+#: ../src/main_window.c:282
msgid "_Zooming"
msgstr "Мащабиране"
-#: ../src/main_window.c:418
-msgid "_Rotate"
-msgstr "Завъртане"
+#: ../src/main_window.c:283
+#, fuzzy
+msgid "Zoom _In"
+msgstr "Мащабиране"
-#: ../src/main_window.c:425
-msgid "_Set as wallpaper"
+#: ../src/main_window.c:284
+msgid "Zoom _Out"
msgstr ""
-#: ../src/main_window.c:476
-msgid "Show _Horizontally"
-msgstr "Покажи хоризонтално"
+#: ../src/main_window.c:285
+msgid "Zoom _Fit"
+msgstr ""
-#: ../src/main_window.c:480
-msgid "Show _Vertically"
-msgstr "Покажи вертикално"
+#: ../src/main_window.c:286
+msgid "_Normal Size"
+msgstr ""
-#: ../src/main_window.c:484
-msgid "H_ide"
-msgstr "Скриване"
+#. Rotation submenu
+#: ../src/main_window.c:288
+#, fuzzy
+msgid "_Rotation"
+msgstr "Завъртане"
-#: ../src/main_window.c:521
+#: ../src/main_window.c:289
msgid "Rotate _Right"
msgstr "Завъртане надясно"
-#: ../src/main_window.c:522
+#: ../src/main_window.c:290
msgid "Rotate _Left"
msgstr "Завъртане наляво"
-#. Create 'Go' menu
-#: ../src/main_window.c:543
+#. Go Menu
+#: ../src/main_window.c:292
msgid "_Go"
msgstr "Отиване"
-#. Create 'Help' menu
-#: ../src/main_window.c:574
+#: ../src/main_window.c:293
+msgid "_Forward"
+msgstr ""
+
+#: ../src/main_window.c:294
+msgid "_Back"
+msgstr ""
+
+#: ../src/main_window.c:295
+msgid "_First"
+msgstr ""
+
+#: ../src/main_window.c:296
+msgid "_Last"
+msgstr ""
+
+#. Help Menu
+#: ../src/main_window.c:298
msgid "_Help"
msgstr "Помощ"
-#: ../src/main_window.c:906
-msgid "One or more images have been modified, do you want to save the changes?"
+#: ../src/main_window.c:300
+msgid "_Contents"
msgstr ""
-#: ../src/main_window.c:1394
-msgid "Image viewer Preferences"
-msgstr "Предпочитания"
-
-#: ../src/main_window.c:1412
-msgid "Display"
-msgstr "Дисплей"
+#: ../src/main_window.c:302
+msgid "Display ristretto user manual"
+msgstr ""
-#: ../src/main_window.c:1416
-msgid "Slideshow"
-msgstr "Прожекция"
+#: ../src/main_window.c:305
+msgid "_About"
+msgstr ""
-#: ../src/main_window.c:1420
-msgid "Behaviour"
+#: ../src/main_window.c:307
+msgid "Display information about ristretto"
msgstr ""
-#: ../src/main_window.c:1425
-msgid "Scaling"
+#. Position Menu
+#: ../src/main_window.c:310
+msgid "_Position"
msgstr ""
-#: ../src/main_window.c:1427
-msgid "Don't scale over 100% when maximizing the window."
+#. Misc
+#: ../src/main_window.c:312
+msgid "Leave _Fullscreen"
msgstr ""
-#: ../src/main_window.c:1437
-msgid "Background Color"
-msgstr "Цвят на фона"
+#. Toggle visibility of the main file toolbar
+#: ../src/main_window.c:320
+#, fuzzy
+msgid "Show _File Toolbar"
+msgstr "Показване на лентата с инструменти"
-#: ../src/main_window.c:1439
-msgid "_Override Background Color:"
-msgstr "Замяна на фоновия цвят"
+#. Toggle visibility of the main navigation toolbar
+#: ../src/main_window.c:322
+#, fuzzy
+msgid "Show _Navigation Toolbar"
+msgstr "Показване на лентата с инструменти"
-#: ../src/main_window.c:1462
+#. Toggle visibility of the thumbnailbar
+#: ../src/main_window.c:324
#, fuzzy
-msgid "Image Cache"
-msgstr "Програма за преглед на изображения"
+msgid "Show _Thumbnailbar"
+msgstr "Показване на лентата с инструменти"
-#: ../src/main_window.c:1465
-msgid "Cache size:"
+#. Sort by Filename
+#: ../src/main_window.c:331
+msgid "sort by filename"
msgstr ""
-#: ../src/main_window.c:1466
-msgid "MB"
+#. Sort by Date
+#: ../src/main_window.c:333
+msgid "sort by date"
msgstr ""
-#: ../src/main_window.c:1468
-msgid "_Preload images (GUI more responsive but more CPU-intensive)"
+#: ../src/main_window.c:339
+msgid "Left"
msgstr ""
-#: ../src/main_window.c:1486
-msgid "Timeout"
-msgstr "Пауза"
+#: ../src/main_window.c:340
+msgid "Right"
+msgstr ""
-#: ../src/main_window.c:1489
-#, fuzzy
-msgid "Thumbnails"
-msgstr "Визуализатор на умалени изображения"
+#: ../src/main_window.c:341
+msgid "Top"
+msgstr ""
-#: ../src/main_window.c:1494
-msgid ""
-"The time period an individual image is displayed during a slideshow\n"
-"(in seconds)"
+#: ../src/main_window.c:342
+msgid "Bottom"
msgstr ""
-"Времето за което се показва едно изображение при прожекция\n"
-"(в секунди)"
-#: ../src/main_window.c:1497
-msgid "Hide the thumbnails bar during slideshow"
+#: ../src/main_window.c:512 ../src/main_window.c:778
+msgid "Press open to select an image"
msgstr ""
-#: ../src/main_window.c:1498
-msgid "_Hide thumbnails"
+#: ../src/main_window.c:765 ../src/main_window.c:770
+msgid "Empty"
msgstr ""
-#: ../src/main_window.c:1556
+#: ../src/main_window.c:1545
msgid "Developer:"
msgstr "Разработчик:"
-#: ../src/main_window.c:1566
-msgid ""
-"Ristretto is a fast and lightweight picture-viewer for the Xfce desktop "
-"environment."
+#: ../src/main_window.c:1555
+#, fuzzy
+msgid "Ristretto is an imageviewer for the Xfce desktop environment."
msgstr ""
"Ristretto е бърза и лека програма за преглед на изображения за работната "
"среда XFCE"
-#: ../src/main_window.c:1574
+#: ../src/main_window.c:1563
msgid "translator-credits"
msgstr "Пламен Стоев <piros89 at gmail.com>"
-#: ../src/main_window.c:1600
+#: ../src/main_window.c:1878
msgid "Open image"
msgstr "Отваряне на изображение"
-#: ../src/main_window.c:1618
+#: ../src/main_window.c:1890
+msgid "Images"
+msgstr ""
+
+#: ../src/main_window.c:1895
+msgid ".jp(e)g"
+msgstr ""
+
+#: ../src/main_window.c:1917 ../src/main_window.c:1940
+#: ../src/main_window.c:2099 ../src/main_window.c:2114
msgid "Could not open file"
msgstr "Файлът не може да бъде отворен"
-#: ../src/main_window.c:1640
+#: ../src/main_window.c:1992
msgid "Open folder"
msgstr "Отваряне на папка"
-#: ../src/main_window.c:1715
-msgid ""
-"Are you sure you want to clear ristretto's list of recently opened documents?"
+#: ../src/main_window.c:2137
+msgid "Save copy"
+msgstr ""
+
+#: ../src/main_window.c:2210
+#, fuzzy, c-format
+msgid "Are you sure you want to delete image '%s' from disk?"
msgstr ""
"Сигурни ли сте, че искате да изчистите списъка със скоро отваряни документи?"
-#: ../src/thumbnail_bar.c:185
+#: ../src/preferences_dialog.c:230
+msgid "Display"
+msgstr "Дисплей"
+
+#: ../src/preferences_dialog.c:235
+#, fuzzy
+msgid "Background color"
+msgstr "Цвят на фона"
+
+#: ../src/preferences_dialog.c:239
+#, fuzzy
+msgid "Override background color:"
+msgstr "Замяна на фоновия цвят"
+
+#: ../src/preferences_dialog.c:267
+msgid "Quality"
+msgstr ""
+
+#: ../src/preferences_dialog.c:271
+msgid "Maximum render quality:"
+msgstr ""
+
+#: ../src/preferences_dialog.c:274
+msgid "Show preview when loading image"
+msgstr ""
+
+#: ../src/preferences_dialog.c:281
+msgid "Best"
+msgstr ""
+
+#: ../src/preferences_dialog.c:282
+msgid "High"
+msgstr ""
+
+#: ../src/preferences_dialog.c:283
+msgid "Medium"
+msgstr ""
+
+#: ../src/preferences_dialog.c:284
+msgid "Low"
+msgstr ""
+
+#: ../src/preferences_dialog.c:324
+msgid "Slideshow"
+msgstr "Прожекция"
+
+#: ../src/preferences_dialog.c:328
+msgid "Timeout"
+msgstr "Пауза"
+
+#: ../src/preferences_dialog.c:331
+msgid ""
+"The time period an individual image is displayed during a slideshow\n"
+"(in seconds)"
+msgstr ""
+"Времето за което се показва едно изображение при прожекция\n"
+"(в секунди)"
+
+#: ../src/preferences_dialog.c:346
+#, fuzzy
+msgid "Thumbnails"
+msgstr "Визуализатор на умалени изображения"
+
+#: ../src/preferences_dialog.c:349
+msgid ""
+"The thumbnailbar can be automatically hidden \n"
+"when the image-viewer is fullscreen."
+msgstr ""
+
+#: ../src/preferences_dialog.c:351
+msgid "Hide thumbnailbar when fullscreen"
+msgstr ""
+
+#: ../src/preferences_dialog.c:364
+msgid "Control"
+msgstr ""
+
+#: ../src/preferences_dialog.c:368
+msgid "Scrollwheel"
+msgstr ""
+
+#: ../src/preferences_dialog.c:371
+msgid "No action"
+msgstr ""
+
+#: ../src/preferences_dialog.c:375
+msgid "Zoom in and out"
+msgstr ""
+
+#: ../src/preferences_dialog.c:378
+msgid "Switch images"
+msgstr ""
+
+#: ../src/preferences_dialog.c:412
+msgid "Behaviour"
+msgstr ""
+
+#: ../src/preferences_dialog.c:417
+msgid "Scaling"
+msgstr ""
+
+#: ../src/preferences_dialog.c:422
+msgid "Don't scale over 100% when maximizing the window."
+msgstr ""
+
+#: ../src/preferences_dialog.c:426
+msgid "Startup"
+msgstr ""
+
+#: ../src/preferences_dialog.c:428
+msgid "Resize window to image on startup"
+msgstr ""
+
+#: ../src/preferences_dialog.c:432
+msgid "Open entire folder on startup"
+msgstr ""
+
+#: ../src/preferences_dialog.c:437
+#, fuzzy
+msgid "Wrap around images"
+msgstr "Отваряне на изображение"
+
+#: ../src/preferences_dialog.c:453
+msgid "Memory"
+msgstr ""
+
+#: ../src/preferences_dialog.c:459
+#, fuzzy
+msgid "Image cache"
+msgstr "Програма за преглед на изображения"
+
+#: ../src/preferences_dialog.c:465
+msgid "Cache size"
+msgstr ""
+
+#: ../src/preferences_dialog.c:466
+msgid "MB"
+msgstr ""
+
+#: ../src/preferences_dialog.c:469
+#, fuzzy
+msgid "Enable cache"
+msgstr "Програма за преглед на изображения"
+
+#: ../src/preferences_dialog.c:474
+#, fuzzy
+msgid "Preload images"
+msgstr "Предварително зареждане на изображения"
+
+#: ../src/preferences_dialog.c:544
+#, fuzzy
+msgid "Preferences"
+msgstr "Предпочитания"
+
+#: ../src/xfce_wallpaper_manager.c:84
+msgid "Set as wallpaper"
+msgstr ""
+
+#: ../src/xfce_wallpaper_manager.c:86
+msgid "Style:"
+msgstr ""
+
+#: ../src/xfce_wallpaper_manager.c:88
+msgid "Monitor:"
+msgstr ""
+
+#: ../src/xfce_wallpaper_manager.c:90
+msgid "Brightness:"
+msgstr ""
+
+#: ../src/xfce_wallpaper_manager.c:91
+#, fuzzy
+msgid "Saturation:"
+msgstr "Завъртане"
+
+#: ../src/xfce_wallpaper_manager.c:123
+msgid "Auto"
+msgstr ""
+
+#: ../src/xfce_wallpaper_manager.c:124
+msgid "Centered"
+msgstr ""
+
+#: ../src/xfce_wallpaper_manager.c:125
+#, fuzzy
+msgid "Tiled"
+msgstr "_Файл"
+
+#: ../src/xfce_wallpaper_manager.c:126
+msgid "Stretched"
+msgstr ""
+
+#: ../src/xfce_wallpaper_manager.c:127
+msgid "Scaled"
+msgstr ""
+
+#: ../src/xfce_wallpaper_manager.c:128
+msgid "Zoomed"
+msgstr ""
+
+#: ../src/thumbnail_bar.c:187
msgid "Spacing"
msgstr ""
-#: ../src/thumbnail_bar.c:186
+#: ../src/thumbnail_bar.c:188
msgid "The amount of space between the thumbnails"
msgstr ""
-#: ../src/thumbnail_bar.c:192
-msgid "Border Width"
+#: ../src/thumbnail_bar.c:194
+msgid "border width"
+msgstr ""
+
+#: ../src/thumbnail_bar.c:195
+msgid "the border width of the thumbnail-bar"
+msgstr ""
+
+#: ../src/thumbnail_bar.c:201
+msgid "filmstrip width"
msgstr ""
-#: ../src/thumbnail_bar.c:193
-msgid "The border width of the thumbnail-bar"
+#: ../src/thumbnail_bar.c:202
+msgid "the width of the thumbnail-bar film-strip"
msgstr ""
#: ../ristretto.desktop.in.h:1
@@ -265,12 +563,42 @@ msgid "Image Viewer"
msgstr "Програма за преглед на изображения"
#: ../ristretto.desktop.in.h:2
-msgid "Ristretto"
+msgid "Look at your photo's easily"
msgstr ""
#: ../ristretto.desktop.in.h:3
-msgid "Xfce Image viewer"
-msgstr "Програма за преглед на изображения за XFCE"
+#, fuzzy
+msgid "Ristretto Photo Viewer"
+msgstr "Програма за преглед на изображения Ristretto"
+
+#, fuzzy
+#~ msgid "_Thumbnail Bar"
+#~ msgstr "Визуализатор на умалени изображения"
+
+#, fuzzy
+#~ msgid "Opening file(s)..."
+#~ msgstr "Отваряне с..."
+
+#~ msgid "_Recently used"
+#~ msgstr "Отваряни наскоро"
+
+#~ msgid "No applications available"
+#~ msgstr "Няма налични приложения"
+
+#~ msgid "Thumbnail _Viewer"
+#~ msgstr "Визуализатор на умалени изображения"
+
+#~ msgid "Show _Horizontally"
+#~ msgstr "Покажи хоризонтално"
+
+#~ msgid "Show _Vertically"
+#~ msgstr "Покажи вертикално"
+
+#~ msgid "H_ide"
+#~ msgstr "Скриване"
+
+#~ msgid "Xfce Image viewer"
+#~ msgstr "Програма за преглед на изображения за XFCE"
#~ msgid "Preload"
#~ msgstr "Предварително зареждане"
@@ -281,9 +609,3 @@ msgstr "Програма за преглед на изображения за XF
#~ msgstr ""
#~ "Предварително зареждане на изображенията при прожекция\n"
#~ "(използва се повече памет)"
-
-#~ msgid "_Preload images"
-#~ msgstr "Предварително зареждане на изображения"
-
-#~ msgid "Ristretto Image Viewer"
-#~ msgstr "Програма за преглед на изображения Ristretto"
diff --git a/po/ca.po b/po/ca.po
index a185c12..77bf520 100644
--- a/po/ca.po
+++ b/po/ca.po
@@ -2,15 +2,15 @@
# Traduccions al català del paquet «ristretto».
# Copyright (C) 2008 THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the ristretto package.
-# Carles Muñoz Gorriz <carlesmu at internautas.org>, 2008.
+# Carles Muñoz Gorriz <carlesmu at internautas.org>, 2008-2010.
+# Harald Servat <redcrash at gmail.com>, 2009.
#
-#: ../src/main.c:231
msgid ""
msgstr ""
"Project-Id-Version: ristretto\n"
"Report-Msgid-Bugs-To: xfce-i18n at xfce.org\n"
-"POT-Creation-Date: 2008-11-14 13:24+0100\n"
-"PO-Revision-Date: 2008-11-16 13:28+0100\n"
+"POT-Creation-Date: 2010-01-15 00:57+0100\n"
+"PO-Revision-Date: 2010-01-16 18:20+0100\n"
"Last-Translator: Carles Muñoz Gorriz <carlesmu at internautas.org>\n"
"Language-Team: Catalan <xfce-i18n at xfce.org>\n"
"MIME-Version: 1.0\n"
@@ -19,19 +19,19 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Poedit-Language: Catalan\n"
-#: ../src/main.c:61
+#: ../src/main.c:59
msgid "Version information"
msgstr "Informació de la versió"
-#: ../src/main.c:65
+#: ../src/main.c:63
msgid "Start in fullscreen mode"
msgstr "Inicia en mode de pantalla completa"
-#: ../src/main.c:69
+#: ../src/main.c:67
msgid "Start a slideshow"
msgstr "Inicia una seqüència d'imatges"
-#: ../src/main.c:235
+#: ../src/main.c:91
#, c-format
msgid ""
"%s: %s\n"
@@ -41,230 +41,555 @@ msgstr ""
"Feu %s --help per veure la llista complerta d'opcions disponibles \n"
"de la línia d'ordres.\n"
-#: ../src/main.c:448 ../src/main_window.c:1598 ../src/main_window.c:1638
-#: ../src/main_window.c:1675
-msgid "Opening file(s)..."
-msgstr "S'estan obrint els fitxers…"
-
-#. Create 'File' menu
-#: ../src/main_window.c:340
+#. File Menu
+#: ../src/main_window.c:262
msgid "_File"
msgstr "_Fitxer"
-#: ../src/main_window.c:347
-msgid "O_pen Folder"
-msgstr "_Obre una carpeta"
+#: ../src/main_window.c:263
+msgid "_Open"
+msgstr "_Obre"
+
+#: ../src/main_window.c:263
+msgid "Open an image"
+msgstr "Obre una imatge"
+
+#: ../src/main_window.c:264
+msgid "Open _Folder"
+msgstr "Obre una _carpeta"
+
+#: ../src/main_window.c:264
+msgid "Open a folder"
+msgstr "Obre una carpeta"
+
+#: ../src/main_window.c:265
+msgid "_Save copy"
+msgstr "_Desa una còpia"
-#: ../src/main_window.c:348
-msgid "_Recently used"
-msgstr "Emprats _recentment"
+#: ../src/main_window.c:265
+msgid "Save a copy of the image"
+msgstr "Desa una còpia de la imatge"
-#: ../src/main_window.c:353
-msgid "Close _all"
-msgstr "_Tanca-ho tot"
+#: ../src/main_window.c:266
+msgid "_Print"
+msgstr "_Imprimeix"
-#. Create 'Edit' menu
-#: ../src/main_window.c:383
+#: ../src/main_window.c:266
+msgid "Print the image"
+msgstr "Imprimeix la imatge"
+
+#: ../src/main_window.c:267
+msgid "_Close"
+msgstr "_Tanca"
+
+#: ../src/main_window.c:267
+msgid "Close this image"
+msgstr "Tanca aquesta finestra"
+
+#: ../src/main_window.c:268
+msgid "_Close All"
+msgstr "Tan_ca-ho tot"
+
+#: ../src/main_window.c:268
+msgid "Close all images"
+msgstr "Tanca totes les imatges"
+
+#: ../src/main_window.c:269
+msgid "_Quit"
+msgstr "_Surt"
+
+#: ../src/main_window.c:269
+msgid "Quit Ristretto"
+msgstr "Surt de Ristretto"
+
+#. Edit Menu
+#: ../src/main_window.c:271
msgid "_Edit"
msgstr "_Edita"
-#: ../src/main_window.c:388 ../src/main_window.c:659
-msgid "Open with..."
-msgstr "Obre amb…"
+#: ../src/main_window.c:272
+msgid "_Open with..."
+msgstr "_Obre amb…"
+
+#: ../src/main_window.c:273
+msgid "_Sorting"
+msgstr "_Ordenació"
-#: ../src/main_window.c:396 ../src/main_window.c:670
-msgid "No applications available"
-msgstr "Cap aplicació disponible"
+#: ../src/main_window.c:274
+msgid "_Delete"
+msgstr "_Esborra"
-#. Create 'View' menu
-#: ../src/main_window.c:405
+#: ../src/main_window.c:275
+msgid "_Preferences"
+msgstr "_Preferències"
+
+#. View Menu
+#: ../src/main_window.c:277
msgid "_View"
msgstr "_Mostra"
-#: ../src/main_window.c:412
-msgid "Show _Toolbar"
-msgstr "Mostra la barra d'_eines"
+#: ../src/main_window.c:278
+msgid "_Fullscreen"
+msgstr "_Pantalla sencera"
+
+#: ../src/main_window.c:279
+msgid "_Leave Fullscreen"
+msgstr "_Surt de la pantalla sencera"
-#: ../src/main_window.c:413
-msgid "Thumbnail _Viewer"
-msgstr "_Visor de miniatures"
+#: ../src/main_window.c:280
+msgid "_Set as Wallpaper"
+msgstr "Posa com a _fons d'escriptori"
-#: ../src/main_window.c:417
+#. Zoom submenu
+#: ../src/main_window.c:282
msgid "_Zooming"
msgstr "_Zoom"
-#: ../src/main_window.c:418
-msgid "_Rotate"
-msgstr "Gi_ra"
+#: ../src/main_window.c:283
+msgid "Zoom _In"
+msgstr "Ampl_ia"
-#: ../src/main_window.c:425
-msgid "_Set as wallpaper"
-msgstr "Posa com a _fons d'escriptori"
+#: ../src/main_window.c:284
+msgid "Zoom _Out"
+msgstr "Red_ueix"
-#: ../src/main_window.c:476
-msgid "Show _Horizontally"
-msgstr "Mostra _horitzontalment"
+#: ../src/main_window.c:285
+msgid "Zoom _Fit"
+msgstr "_Ajusta"
-#: ../src/main_window.c:480
-msgid "Show _Vertically"
-msgstr "Mostra _verticalment"
+#: ../src/main_window.c:286
+msgid "_Normal Size"
+msgstr "Mida _normal"
-#: ../src/main_window.c:484
-msgid "H_ide"
-msgstr "_Amaga"
+#. Rotation submenu
+#: ../src/main_window.c:288
+msgid "_Rotation"
+msgstr "_Rotació"
-#: ../src/main_window.c:521
+#: ../src/main_window.c:289
msgid "Rotate _Right"
msgstr "Gira a la _dreta"
-#: ../src/main_window.c:522
+#: ../src/main_window.c:290
msgid "Rotate _Left"
msgstr "Gira a l'_esquerra"
-#. Create 'Go' menu
-#: ../src/main_window.c:543
+#. Go Menu
+#: ../src/main_window.c:292
msgid "_Go"
msgstr "_Vés"
-#. Create 'Help' menu
-#: ../src/main_window.c:574
+#: ../src/main_window.c:293
+msgid "_Forward"
+msgstr "_Endavant"
+
+#: ../src/main_window.c:294
+msgid "_Back"
+msgstr "_Endarrere"
+
+#: ../src/main_window.c:295
+msgid "_First"
+msgstr "_Primer"
+
+#: ../src/main_window.c:296
+msgid "_Last"
+msgstr "_Últim"
+
+#. Help Menu
+#: ../src/main_window.c:298
msgid "_Help"
msgstr "A_juda"
-#: ../src/main_window.c:906
-msgid "One or more images have been modified, do you want to save the changes?"
-msgstr "S'ha modificat alguna imatge, voleu desar els canvis?"
+#: ../src/main_window.c:300
+msgid "_Contents"
+msgstr "_Continguts"
+
+#: ../src/main_window.c:302
+msgid "Display ristretto user manual"
+msgstr "Mostra el manual d'usuari de ristretto"
+
+#: ../src/main_window.c:305
+msgid "_About"
+msgstr "_Quant a"
+
+#: ../src/main_window.c:307
+msgid "Display information about ristretto"
+msgstr "Mostra informació referent a ristretto"
+
+#. Position Menu
+#: ../src/main_window.c:310
+msgid "_Position"
+msgstr "_Posició"
+
+#. Misc
+#: ../src/main_window.c:312
+msgid "Leave _Fullscreen"
+msgstr "Surt de la _pantalla sencera"
+
+#. Toggle visibility of the main file toolbar
+#: ../src/main_window.c:320
+msgid "Show _File Toolbar"
+msgstr "Mostrar la barra d'eines de _fitxers"
+
+#. Toggle visibility of the main navigation toolbar
+#: ../src/main_window.c:322
+msgid "Show _Navigation Toolbar"
+msgstr "Mostra la barra de _navegació"
+
+#. Toggle visibility of the thumbnailbar
+#: ../src/main_window.c:324
+msgid "Show _Thumbnailbar"
+msgstr "Mostra la _barra de miniatures"
+
+#. Sort by Filename
+#: ../src/main_window.c:331
+msgid "sort by filename"
+msgstr "Ordena per nom de fitxer"
+
+#. Sort by Date
+#: ../src/main_window.c:333
+msgid "sort by date"
+msgstr "Ordena per data"
+
+#: ../src/main_window.c:339
+msgid "Left"
+msgstr "Esquerra"
+
+#: ../src/main_window.c:340
+msgid "Right"
+msgstr "Dreta"
+
+#: ../src/main_window.c:341
+msgid "Top"
+msgstr "Superior"
+
+#: ../src/main_window.c:342
+msgid "Bottom"
+msgstr "Inferior"
+
+#: ../src/main_window.c:512 ../src/main_window.c:778
+msgid "Press open to select an image"
+msgstr "Feu clic a Obrir per seleccionar una imatge"
+
+#: ../src/main_window.c:765 ../src/main_window.c:770
+msgid "Empty"
+msgstr "Buit"
+
+#: ../src/main_window.c:1545
+msgid "Developer:"
+msgstr "Autor:"
+
+#: ../src/main_window.c:1555
+msgid "Ristretto is an imageviewer for the Xfce desktop environment."
+msgstr "Ristretto és visor d'imatges per l'entorn d'escriptori Xfce."
+
+#: ../src/main_window.c:1563
+msgid "translator-credits"
+msgstr ""
+"Carles Muñoz Gorriz <carlesmu at internautas.org>, 2008-2010.\n"
+"Harald Servat <redcrash at gmail.com>, 2009."
+
+#: ../src/main_window.c:1878
+msgid "Open image"
+msgstr "Obre una imatge"
+
+#: ../src/main_window.c:1890
+msgid "Images"
+msgstr "Imatges"
+
+#: ../src/main_window.c:1895
+msgid ".jp(e)g"
+msgstr ".jp(e)g"
+
+#: ../src/main_window.c:1917 ../src/main_window.c:1940
+#: ../src/main_window.c:2099 ../src/main_window.c:2114
+msgid "Could not open file"
+msgstr "No s'ha pogut obrir el fitxer"
+
+#: ../src/main_window.c:1992
+msgid "Open folder"
+msgstr "Obre una carpeta"
+
+#: ../src/main_window.c:2137
+msgid "Save copy"
+msgstr "Desa una còpia"
-#: ../src/main_window.c:1394
-msgid "Image viewer Preferences"
-msgstr "Preferències del visor d'imatges"
+#: ../src/main_window.c:2210
+#, c-format
+msgid "Are you sure you want to delete image '%s' from disk?"
+msgstr "Voleu suprimir la imatge «%s» del disc?"
-#: ../src/main_window.c:1412
+#: ../src/preferences_dialog.c:230
msgid "Display"
msgstr "Visualització"
-#: ../src/main_window.c:1416
+#: ../src/preferences_dialog.c:235
+msgid "Background color"
+msgstr "Color de fons"
+
+#: ../src/preferences_dialog.c:239
+msgid "Override background color:"
+msgstr "Força el color de fons:"
+
+#: ../src/preferences_dialog.c:267
+msgid "Quality"
+msgstr "Qualitat"
+
+#: ../src/preferences_dialog.c:271
+msgid "Maximum render quality:"
+msgstr "Qualitat màxima de renderització:"
+
+#: ../src/preferences_dialog.c:274
+msgid "Show preview when loading image"
+msgstr "Mostra la vista prèvia al carregar la imatge"
+
+#: ../src/preferences_dialog.c:281
+msgid "Best"
+msgstr "La millor"
+
+#: ../src/preferences_dialog.c:282
+msgid "High"
+msgstr "Alta"
+
+#: ../src/preferences_dialog.c:283
+msgid "Medium"
+msgstr "Mitja"
+
+#: ../src/preferences_dialog.c:284
+msgid "Low"
+msgstr "Baixa"
+
+#: ../src/preferences_dialog.c:324
msgid "Slideshow"
msgstr "Seqüència d'imatges"
-#: ../src/main_window.c:1420
+#: ../src/preferences_dialog.c:328
+msgid "Timeout"
+msgstr "Temps esgotat"
+
+#: ../src/preferences_dialog.c:331
+msgid ""
+"The time period an individual image is displayed during a slideshow\n"
+"(in seconds)"
+msgstr ""
+"El temps que una imatge en concret es mostra durant la seqüència d'imatges\n"
+"(en segons)"
+
+#: ../src/preferences_dialog.c:346
+msgid "Thumbnails"
+msgstr "Miniatures"
+
+#: ../src/preferences_dialog.c:349
+msgid ""
+"The thumbnailbar can be automatically hidden \n"
+"when the image-viewer is fullscreen."
+msgstr ""
+"La barra de miniatures es pot amagar automàticament quan \n"
+"el visor d'imatges està funcionant a pantalla sencera."
+
+#: ../src/preferences_dialog.c:351
+msgid "Hide thumbnailbar when fullscreen"
+msgstr "Amaga la barra de miniatures en pantalla sencera"
+
+#: ../src/preferences_dialog.c:364
+msgid "Control"
+msgstr "Control"
+
+#: ../src/preferences_dialog.c:368
+msgid "Scrollwheel"
+msgstr "Roda de navegació"
+
+#: ../src/preferences_dialog.c:371
+msgid "No action"
+msgstr "Cap acció"
+
+#: ../src/preferences_dialog.c:375
+msgid "Zoom in and out"
+msgstr "Zoom d'apropar i allunyar"
+
+#: ../src/preferences_dialog.c:378
+msgid "Switch images"
+msgstr "Canvia les imatges"
+
+#: ../src/preferences_dialog.c:412
msgid "Behaviour"
msgstr "Comportament"
-#: ../src/main_window.c:1425
+#: ../src/preferences_dialog.c:417
msgid "Scaling"
msgstr "Escalat"
-#: ../src/main_window.c:1427
+#: ../src/preferences_dialog.c:422
msgid "Don't scale over 100% when maximizing the window."
msgstr "No escalis per sobre del 100% quan es maximitzi la finestra."
-#: ../src/main_window.c:1437
-msgid "Background Color"
-msgstr "Color de fons"
+#: ../src/preferences_dialog.c:426
+msgid "Startup"
+msgstr "Inici"
+
+#: ../src/preferences_dialog.c:428
+msgid "Resize window to image on startup"
+msgstr "Ajusta la mida de la finestra a la imatge a l'iniciar"
+
+#: ../src/preferences_dialog.c:432
+msgid "Open entire folder on startup"
+msgstr "Obre tota la carpeta a l'iniciar"
-#: ../src/main_window.c:1439
-msgid "_Override Background Color:"
-msgstr "_Força el color de fons:"
+#: ../src/preferences_dialog.c:437
+msgid "Wrap around images"
+msgstr "Ajusta al voltant de les imatges"
-#: ../src/main_window.c:1462
-msgid "Image Cache"
+#: ../src/preferences_dialog.c:453
+msgid "Memory"
+msgstr "Memòria"
+
+#: ../src/preferences_dialog.c:459
+msgid "Image cache"
msgstr "Imatge cau"
-#: ../src/main_window.c:1465
-msgid "Cache size:"
-msgstr "Mida de la memòria cau:"
+#: ../src/preferences_dialog.c:465
+msgid "Cache size"
+msgstr "Mida de la memòria cau"
-#: ../src/main_window.c:1466
+#: ../src/preferences_dialog.c:466
msgid "MB"
msgstr "MB"
-#: ../src/main_window.c:1468
-msgid "_Preload images (GUI more responsive but more CPU-intensive)"
-msgstr ""
-"Càrrega _prèvia d'imatges (La GUI respondrà millor però emprarà més la CPU)"
+#: ../src/preferences_dialog.c:469
+msgid "Enable cache"
+msgstr "Habilita la memòria cau"
-#: ../src/main_window.c:1486
-msgid "Timeout"
-msgstr "Temps esgotat"
+#: ../src/preferences_dialog.c:474
+msgid "Preload images"
+msgstr "Càrrega prèvia d'imatges"
-#: ../src/main_window.c:1489
-msgid "Thumbnails"
-msgstr "Miniatures"
+#: ../src/preferences_dialog.c:544
+msgid "Preferences"
+msgstr "Preferències"
-#: ../src/main_window.c:1494
-msgid ""
-"The time period an individual image is displayed during a slideshow\n"
-"(in seconds)"
-msgstr ""
-"El temps que una imatge en concret es mostra durant la seqüència d'imatges\n"
-"(en segons)"
+#: ../src/xfce_wallpaper_manager.c:84
+msgid "Set as wallpaper"
+msgstr "Posa com a _fons d'escriptori"
-#: ../src/main_window.c:1497
-msgid "Hide the thumbnails bar during slideshow"
-msgstr "Amaga les miniatures durant la seqüència d'imatges"
+#: ../src/xfce_wallpaper_manager.c:86
+msgid "Style:"
+msgstr "Estil:"
-#: ../src/main_window.c:1498
-msgid "_Hide thumbnails"
-msgstr "_Amaga les miniatures"
+#: ../src/xfce_wallpaper_manager.c:88
+msgid "Monitor:"
+msgstr "Pantalla:"
-#: ../src/main_window.c:1556
-msgid "Developer:"
-msgstr "Autors:"
+#: ../src/xfce_wallpaper_manager.c:90
+msgid "Brightness:"
+msgstr "Brillantor:"
-#: ../src/main_window.c:1566
-msgid ""
-"Ristretto is a fast and lightweight picture-viewer for the Xfce desktop "
-"environment."
-msgstr ""
-"Ristretto és visor d'imatges ràpid i lleuger per l'entorn d'escriptori Xfce."
+#: ../src/xfce_wallpaper_manager.c:91
+msgid "Saturation:"
+msgstr "Saturació:"
-#: ../src/main_window.c:1574
-msgid "translator-credits"
-msgstr "Carles Muñoz Gorriz <carlesmu at internautas.org>"
+#: ../src/xfce_wallpaper_manager.c:123
+msgid "Auto"
+msgstr "Automàtic"
-#: ../src/main_window.c:1600
-msgid "Open image"
-msgstr "Obre una imatge"
+#: ../src/xfce_wallpaper_manager.c:124
+msgid "Centered"
+msgstr "Centrat"
-#: ../src/main_window.c:1618
-msgid "Could not open file"
-msgstr "No s'ha pogut obrir el fitxer"
+#: ../src/xfce_wallpaper_manager.c:125
+msgid "Tiled"
+msgstr "Enrajolat"
-#: ../src/main_window.c:1640
-msgid "Open folder"
-msgstr "Obre una carpeta"
+#: ../src/xfce_wallpaper_manager.c:126
+msgid "Stretched"
+msgstr "Estirat"
-#: ../src/main_window.c:1715
-msgid ""
-"Are you sure you want to clear ristretto's list of recently opened documents?"
-msgstr ""
-"Esteu segur que veleu nateixar la llista de ristretto de documents recents?"
+#: ../src/xfce_wallpaper_manager.c:127
+msgid "Scaled"
+msgstr "Escalat"
-#: ../src/thumbnail_bar.c:185
+#: ../src/xfce_wallpaper_manager.c:128
+msgid "Zoomed"
+msgstr "Ampliat"
+
+#: ../src/thumbnail_bar.c:187
msgid "Spacing"
msgstr "Espaiat"
-#: ../src/thumbnail_bar.c:186
+#: ../src/thumbnail_bar.c:188
msgid "The amount of space between the thumbnails"
msgstr "La quantitat d'espai entre miniatures"
-#: ../src/thumbnail_bar.c:192
-msgid "Border Width"
+#: ../src/thumbnail_bar.c:194
+msgid "border width"
msgstr "Amplada de la bora"
-#: ../src/thumbnail_bar.c:193
-msgid "The border width of the thumbnail-bar"
+#: ../src/thumbnail_bar.c:195
+msgid "the border width of the thumbnail-bar"
msgstr "L'amplada de la bora de la barra de miniatures"
+#: ../src/thumbnail_bar.c:201
+msgid "filmstrip width"
+msgstr "Amplada del rodet"
+
+#: ../src/thumbnail_bar.c:202
+msgid "the width of the thumbnail-bar film-strip"
+msgstr "L'amplada de la bora de la barra de miniatures del rodet"
+
#: ../ristretto.desktop.in.h:1
msgid "Image Viewer"
msgstr "Visor d'imatges"
#: ../ristretto.desktop.in.h:2
-msgid "Ristretto"
-msgstr "Ristretto"
+msgid "Look at your photo's easily"
+msgstr "Mira fàcilment les teves fotos"
#: ../ristretto.desktop.in.h:3
-msgid "Xfce Image viewer"
-msgstr "Visor d'imatges de Xfce"
+msgid "Ristretto Photo Viewer"
+msgstr "Visualitzador de fotografies Ristretto"
+
+#, fuzzy
+#~ msgid "Ristretto"
+#~ msgstr "Ristretto"
+
+#, fuzzy
+#~ msgid "_Thumbnail Bar"
+#~ msgstr "Miniatures"
+
+#~ msgid "Opening file(s)..."
+#~ msgstr "S'estan obrint els fitxers…"
+
+#~ msgid "_Recently used"
+#~ msgstr "Emprats _recentment"
+
+#~ msgid "No applications available"
+#~ msgstr "Cap aplicació disponible"
+
+#~ msgid "Thumbnail _Viewer"
+#~ msgstr "_Visor de miniatures"
+
+#~ msgid "Show _Horizontally"
+#~ msgstr "Mostra _horitzontalment"
+
+#~ msgid "Show _Vertically"
+#~ msgstr "Mostra _verticalment"
+
+#~ msgid "H_ide"
+#~ msgstr "_Amaga"
+
+#~ msgid ""
+#~ "One or more images have been modified, do you want to save the changes?"
+#~ msgstr "S'ha modificat alguna imatge, voleu desar els canvis?"
+
+#~ msgid "Image viewer Preferences"
+#~ msgstr "Preferències del visor d'imatges"
+
+#~ msgid "_Preload images (GUI more responsive but more CPU-intensive)"
+#~ msgstr ""
+#~ "Càrrega _prèvia d'imatges (La GUI respondrà millor però emprarà més la "
+#~ "CPU)"
+
+#~ msgid "Hide the thumbnails bar during slideshow"
+#~ msgstr "Amaga les miniatures durant la seqüència d'imatges"
+
+#~ msgid "Xfce Image viewer"
+#~ msgstr "Visor d'imatges de Xfce"
diff --git a/po/cs.po b/po/cs.po
index 06c3cfc..c905f2f 100644
--- a/po/cs.po
+++ b/po/cs.po
@@ -3,32 +3,32 @@
# This file is distributed under the same license as the PACKAGE package.
# Miro Hrončok <churchyard at gmail.com>, 2007.
# Michal Várady <miko.vaji at gmail.com>, 2008.
-#
+#
msgid ""
msgstr ""
"Project-Id-Version: ristretto\n"
"Report-Msgid-Bugs-To: xfce-i18n at xfce.org\n"
-"POT-Creation-Date: 2008-11-14 13:24+0100\n"
-"PO-Revision-Date: 2008-11-15 23:37+0100\n"
+"POT-Creation-Date: 2010-01-15 00:57+0100\n"
+"PO-Revision-Date: 2009-11-06 13:16+0100\n"
"Last-Translator: Michal Várady <miko.vaji at gmail.com>\n"
"Language-Team: Czech\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-#: ../src/main.c:61
+#: ../src/main.c:59
msgid "Version information"
msgstr "Informace o verzi"
-#: ../src/main.c:65
+#: ../src/main.c:63
msgid "Start in fullscreen mode"
msgstr "Spouštět v režimu celá obrazovka"
-#: ../src/main.c:69
+#: ../src/main.c:67
msgid "Start a slideshow"
msgstr "Spustit promítání"
-#: ../src/main.c:235
+#: ../src/main.c:91
#, c-format
msgid ""
"%s: %s\n"
@@ -37,246 +37,561 @@ msgstr ""
"%s: %s\n"
"Napište %s --help pro zobrazení seznamu všech dostupných parametrů.\n"
-#: ../src/main.c:448
-#: ../src/main_window.c:1598
-#: ../src/main_window.c:1638
-#: ../src/main_window.c:1675
-msgid "Opening file(s)..."
-msgstr "Načítám soubor(y)..."
-
-#. Create 'File' menu
-#: ../src/main_window.c:340
+#. File Menu
+#: ../src/main_window.c:262
msgid "_File"
msgstr "_Soubor"
-#: ../src/main_window.c:347
-msgid "O_pen Folder"
+#: ../src/main_window.c:263
+msgid "_Open"
+msgstr "_Otevřít"
+
+#: ../src/main_window.c:263
+msgid "Open an image"
+msgstr "Načíst obrázek"
+
+#: ../src/main_window.c:264
+msgid "Open _Folder"
msgstr "O_tevřít složku"
-#: ../src/main_window.c:348
-msgid "_Recently used"
-msgstr "_Naposledy otevřené"
+#: ../src/main_window.c:264
+msgid "Open a folder"
+msgstr "Otevřít složku"
+
+#: ../src/main_window.c:265
+msgid "_Save copy"
+msgstr "_Uložit kopii"
+
+#: ../src/main_window.c:265
+msgid "Save a copy of the image"
+msgstr "Uložit kopii obrázku"
-#: ../src/main_window.c:353
-msgid "Close _all"
+#: ../src/main_window.c:266
+msgid "_Print"
+msgstr "_Tisk"
+
+#: ../src/main_window.c:266
+msgid "Print the image"
+msgstr "Tisknout obrázek"
+
+#: ../src/main_window.c:267
+msgid "_Close"
+msgstr "_Zavřít"
+
+#: ../src/main_window.c:267
+msgid "Close this image"
+msgstr "Zavřít tento obrázek"
+
+#: ../src/main_window.c:268
+msgid "_Close All"
msgstr "Z_avřít všechny"
-#. Create 'Edit' menu
-#: ../src/main_window.c:383
+#: ../src/main_window.c:268
+msgid "Close all images"
+msgstr "Zavřít všechny obrázky"
+
+#: ../src/main_window.c:269
+msgid "_Quit"
+msgstr "_Ukončit"
+
+#: ../src/main_window.c:269
+msgid "Quit Ristretto"
+msgstr "Ukončit aplikaci Ristretto"
+
+#. Edit Menu
+#: ../src/main_window.c:271
msgid "_Edit"
msgstr "_Upravit"
-#: ../src/main_window.c:388
-#: ../src/main_window.c:659
-msgid "Open with..."
-msgstr "Otevřít pomocí..."
+#: ../src/main_window.c:272
+msgid "_Open with..."
+msgstr "Ot_evřít pomocí..."
+
+#: ../src/main_window.c:273
+msgid "_Sorting"
+msgstr "_Řazení"
-#: ../src/main_window.c:396
-#: ../src/main_window.c:670
-msgid "No applications available"
-msgstr "Nejsou k dispozici žádné aplikace"
+#: ../src/main_window.c:274
+msgid "_Delete"
+msgstr "_Smazat"
-#. Create 'View' menu
-#: ../src/main_window.c:405
+#: ../src/main_window.c:275
+msgid "_Preferences"
+msgstr "_Předvolby"
+
+#. View Menu
+#: ../src/main_window.c:277
msgid "_View"
msgstr "_Zobrazit"
-#: ../src/main_window.c:412
-msgid "Show _Toolbar"
-msgstr "Zo_brazit panel nástrojů"
+#: ../src/main_window.c:278
+msgid "_Fullscreen"
+msgstr "_Celá obrazovka"
+
+#: ../src/main_window.c:279
+msgid "_Leave Fullscreen"
+msgstr "_Opustit režim celé obrazovky"
-#: ../src/main_window.c:413
-msgid "Thumbnail _Viewer"
-msgstr "_Prohlížeč náhledů"
+#: ../src/main_window.c:280
+msgid "_Set as Wallpaper"
+msgstr "Nastavit jako _tapetu"
-#: ../src/main_window.c:417
+#. Zoom submenu
+#: ../src/main_window.c:282
msgid "_Zooming"
msgstr "_Přiblížit"
-#: ../src/main_window.c:418
-msgid "_Rotate"
-msgstr "_Rotovat"
+#: ../src/main_window.c:283
+msgid "Zoom _In"
+msgstr "_Přiblížit"
-#: ../src/main_window.c:425
-msgid "_Set as wallpaper"
-msgstr "Nastavit jako _tapetu"
+#: ../src/main_window.c:284
+msgid "Zoom _Out"
+msgstr "Při_blížit"
-#: ../src/main_window.c:476
-msgid "Show _Horizontally"
-msgstr "_Vodorovně"
+#: ../src/main_window.c:285
+msgid "Zoom _Fit"
+msgstr "O_ddálit"
-#: ../src/main_window.c:480
-msgid "Show _Vertically"
-msgstr "_Svisle"
+#: ../src/main_window.c:286
+msgid "_Normal Size"
+msgstr "_Běžná velikost"
-#: ../src/main_window.c:484
-msgid "H_ide"
-msgstr "_Skrýt"
+#. Rotation submenu
+#: ../src/main_window.c:288
+msgid "_Rotation"
+msgstr "_Rotace"
-#: ../src/main_window.c:521
+#: ../src/main_window.c:289
msgid "Rotate _Right"
msgstr "Otočit do_prava"
-#: ../src/main_window.c:522
+#: ../src/main_window.c:290
msgid "Rotate _Left"
msgstr "Otočit do_leva"
-#. Create 'Go' menu
-#: ../src/main_window.c:543
+#. Go Menu
+#: ../src/main_window.c:292
msgid "_Go"
msgstr "_Přejít"
-#. Create 'Help' menu
-#: ../src/main_window.c:574
+#: ../src/main_window.c:293
+msgid "_Forward"
+msgstr "_Vpřed"
+
+#: ../src/main_window.c:294
+msgid "_Back"
+msgstr "_Zpět"
+
+#: ../src/main_window.c:295
+msgid "_First"
+msgstr "_První"
+
+#: ../src/main_window.c:296
+msgid "_Last"
+msgstr "_Poslední"
+
+#. Help Menu
+#: ../src/main_window.c:298
msgid "_Help"
msgstr "_Nápověda"
-#: ../src/main_window.c:906
-msgid "One or more images have been modified, do you want to save the changes?"
-msgstr "Některé obrázky byly upraveny, přejete si uložit změny?"
+#: ../src/main_window.c:300
+msgid "_Contents"
+msgstr "_Obsah"
+
+#: ../src/main_window.c:302
+msgid "Display ristretto user manual"
+msgstr "Zobrazit uživatelskou příručku aplikace Ristretto"
+
+#: ../src/main_window.c:305
+msgid "_About"
+msgstr "_O aplikaci"
+
+#: ../src/main_window.c:307
+msgid "Display information about ristretto"
+msgstr "Zobrazit informace o aplikaci Ristretto"
+
+#. Position Menu
+#: ../src/main_window.c:310
+msgid "_Position"
+msgstr "_Pozice"
+
+#. Misc
+#: ../src/main_window.c:312
+msgid "Leave _Fullscreen"
+msgstr "Opustit _režim celé obrazovky"
+
+#. Toggle visibility of the main file toolbar
+#: ../src/main_window.c:320
+msgid "Show _File Toolbar"
+msgstr "Zobrazit panel _Soubor"
+
+#. Toggle visibility of the main navigation toolbar
+#: ../src/main_window.c:322
+msgid "Show _Navigation Toolbar"
+msgstr "Zobrazit panel _Navigace"
+
+#. Toggle visibility of the thumbnailbar
+#: ../src/main_window.c:324
+msgid "Show _Thumbnailbar"
+msgstr "Zobrazit panel Ná_hledy"
+
+#. Sort by Filename
+#: ../src/main_window.c:331
+msgid "sort by filename"
+msgstr "řadit podle názvu souboru"
+
+#. Sort by Date
+#: ../src/main_window.c:333
+msgid "sort by date"
+msgstr "řadit podle data"
+
+#: ../src/main_window.c:339
+msgid "Left"
+msgstr "Doleva"
+
+#: ../src/main_window.c:340
+msgid "Right"
+msgstr "Doprava"
+
+#: ../src/main_window.c:341
+msgid "Top"
+msgstr "Nahoru"
+
+#: ../src/main_window.c:342
+msgid "Bottom"
+msgstr "Dolů"
+
+#: ../src/main_window.c:512 ../src/main_window.c:778
+msgid "Press open to select an image"
+msgstr "Obrázek vyberete stisknutím tlačítka Otevřít"
+
+#: ../src/main_window.c:765 ../src/main_window.c:770
+msgid "Empty"
+msgstr "Prázdný"
+
+#: ../src/main_window.c:1545
+msgid "Developer:"
+msgstr "Vývojář:"
+
+#: ../src/main_window.c:1555
+msgid "Ristretto is an imageviewer for the Xfce desktop environment."
+msgstr "Ristretto je prohlížeč obrázků pro desktopové prostředí Xfce."
+
+#: ../src/main_window.c:1563
+msgid "translator-credits"
+msgstr "Miro Hrončok <churchyard at gmail.com>"
+
+#: ../src/main_window.c:1878
+msgid "Open image"
+msgstr "Načíst obrázek"
+
+#: ../src/main_window.c:1890
+msgid "Images"
+msgstr "Obrázky"
+
+#: ../src/main_window.c:1895
+msgid ".jp(e)g"
+msgstr ".jp(e)g"
+
+#: ../src/main_window.c:1917 ../src/main_window.c:1940
+#: ../src/main_window.c:2099 ../src/main_window.c:2114
+msgid "Could not open file"
+msgstr "Nelze otevřít soubor"
+
+#: ../src/main_window.c:1992
+msgid "Open folder"
+msgstr "Otevřít složku"
+
+#: ../src/main_window.c:2137
+msgid "Save copy"
+msgstr "Uložit kopii"
-#: ../src/main_window.c:1394
-msgid "Image viewer Preferences"
-msgstr "Volby prohlížeče obrázků"
+#: ../src/main_window.c:2210
+#, c-format
+msgid "Are you sure you want to delete image '%s' from disk?"
+msgstr "Opravdu chcete smazat obrázek %s z disku?"
-#: ../src/main_window.c:1412
+#: ../src/preferences_dialog.c:230
msgid "Display"
msgstr "Zobrazení"
-#: ../src/main_window.c:1416
+#: ../src/preferences_dialog.c:235
+msgid "Background color"
+msgstr "Barva pozadí"
+
+#: ../src/preferences_dialog.c:239
+msgid "Override background color:"
+msgstr "Vynutit barvu pozadí:"
+
+#: ../src/preferences_dialog.c:267
+msgid "Quality"
+msgstr "Kvalita"
+
+#: ../src/preferences_dialog.c:271
+msgid "Maximum render quality:"
+msgstr "Maximální kvalita vykreslení:"
+
+#: ../src/preferences_dialog.c:274
+msgid "Show preview when loading image"
+msgstr "Při načítání obrázku zobrazovat náhled"
+
+#: ../src/preferences_dialog.c:281
+msgid "Best"
+msgstr "Nejlepší"
+
+#: ../src/preferences_dialog.c:282
+msgid "High"
+msgstr "Vysoká"
+
+#: ../src/preferences_dialog.c:283
+msgid "Medium"
+msgstr "Střední"
+
+#: ../src/preferences_dialog.c:284
+msgid "Low"
+msgstr "Nízká"
+
+#: ../src/preferences_dialog.c:324
msgid "Slideshow"
msgstr "Promítání snímků"
-#: ../src/main_window.c:1420
+#: ../src/preferences_dialog.c:328
+msgid "Timeout"
+msgstr "Prodleva"
+
+#: ../src/preferences_dialog.c:331
+msgid ""
+"The time period an individual image is displayed during a slideshow\n"
+"(in seconds)"
+msgstr ""
+"Časový interval po který je zobrazen jeden snímek při promítání\n"
+"(v sekundách)"
+
+#: ../src/preferences_dialog.c:346
+msgid "Thumbnails"
+msgstr "Náhledy"
+
+#: ../src/preferences_dialog.c:349
+msgid ""
+"The thumbnailbar can be automatically hidden \n"
+"when the image-viewer is fullscreen."
+msgstr ""
+"Panel náhledů je možné automaticky schovat, \n"
+"pokud je prohlížeč obrázků v režimu celé obrazovky."
+
+#: ../src/preferences_dialog.c:351
+msgid "Hide thumbnailbar when fullscreen"
+msgstr "Skrýt náhledy v režimu celé obrazovky"
+
+#: ../src/preferences_dialog.c:364
+msgid "Control"
+msgstr "Ovládání"
+
+#: ../src/preferences_dialog.c:368
+msgid "Scrollwheel"
+msgstr "Kolečko myši"
+
+#: ../src/preferences_dialog.c:371
+msgid "No action"
+msgstr "Žádná akce"
+
+#: ../src/preferences_dialog.c:375
+msgid "Zoom in and out"
+msgstr "Přiblížit a oddálit"
+
+#: ../src/preferences_dialog.c:378
+msgid "Switch images"
+msgstr "Přepnout obrázky"
+
+#: ../src/preferences_dialog.c:412
msgid "Behaviour"
msgstr "Chování"
-#: ../src/main_window.c:1425
+#: ../src/preferences_dialog.c:417
msgid "Scaling"
msgstr "Probíhá změna velikosti"
-#: ../src/main_window.c:1427
+#: ../src/preferences_dialog.c:422
msgid "Don't scale over 100% when maximizing the window."
msgstr "Nezvětšovat obrázek nad jeho skutečnou velikost při maximalizování okna."
-#: ../src/main_window.c:1437
-msgid "Background Color"
-msgstr "Barva pozadí"
+#: ../src/preferences_dialog.c:426
+msgid "Startup"
+msgstr "Při spuštění"
-#: ../src/main_window.c:1439
-msgid "_Override Background Color:"
-msgstr "Vynutit _barvu pozadí:"
+#: ../src/preferences_dialog.c:428
+msgid "Resize window to image on startup"
+msgstr "Změnit velikost okna na velikost obrázku při spuštění"
-#: ../src/main_window.c:1462
-msgid "Image Cache"
-msgstr "Vyrovnávací paměť pro obrázek"
+#: ../src/preferences_dialog.c:432
+msgid "Open entire folder on startup"
+msgstr "Otevřít celou složku při spuštění"
-#: ../src/main_window.c:1465
-msgid "Cache size:"
-msgstr "Velikost vyrovnávací paměti:"
+#: ../src/preferences_dialog.c:437
+msgid "Wrap around images"
+msgstr "Orámování obrázků"
-#: ../src/main_window.c:1466
+#: ../src/preferences_dialog.c:453
+msgid "Memory"
+msgstr "Paměť"
+
+#: ../src/preferences_dialog.c:459
+msgid "Image cache"
+msgstr "Vyrovnávací paměť obrázku"
+
+#: ../src/preferences_dialog.c:465
+msgid "Cache size"
+msgstr "Velikost vyrovnávací paměti"
+
+#: ../src/preferences_dialog.c:466
msgid "MB"
msgstr "MB"
-#: ../src/main_window.c:1468
-msgid "_Preload images (GUI more responsive but more CPU-intensive)"
-msgstr "_Přednačítat obrázky (Grafické uživatelské rozhraní bude odpovídat rychleji, ale vytížení procesoru se zvýší)"
+#: ../src/preferences_dialog.c:469
+msgid "Enable cache"
+msgstr "Povolit vyrovnávací paměť"
-#: ../src/main_window.c:1486
-msgid "Timeout"
-msgstr "Prodleva"
+#: ../src/preferences_dialog.c:474
+msgid "Preload images"
+msgstr "Načítat dopředu"
-#: ../src/main_window.c:1489
-msgid "Thumbnails"
-msgstr "Náhledy"
+#: ../src/preferences_dialog.c:544
+msgid "Preferences"
+msgstr "Předvolby"
-#: ../src/main_window.c:1494
-msgid ""
-"The time period an individual image is displayed during a slideshow\n"
-"(in seconds)"
-msgstr ""
-"Časový interval po který je zobrazen jeden snímek při promítání\n"
-"(v sekundách)"
+#: ../src/xfce_wallpaper_manager.c:84
+msgid "Set as wallpaper"
+msgstr "Nastavit jako tapetu"
-#: ../src/main_window.c:1497
-msgid "Hide the thumbnails bar during slideshow"
-msgstr "Nezobrazovat lištu s náhledy při promítání"
+#: ../src/xfce_wallpaper_manager.c:86
+msgid "Style:"
+msgstr "Styl:"
-#: ../src/main_window.c:1498
-msgid "_Hide thumbnails"
-msgstr "_Skrýt náhledy"
+#: ../src/xfce_wallpaper_manager.c:88
+msgid "Monitor:"
+msgstr "Monitor:"
-#: ../src/main_window.c:1556
-msgid "Developer:"
-msgstr "Vývojář:"
+#: ../src/xfce_wallpaper_manager.c:90
+msgid "Brightness:"
+msgstr "Jas:"
-#: ../src/main_window.c:1566
-msgid "Ristretto is a fast and lightweight picture-viewer for the Xfce desktop environment."
-msgstr "Ristretto je rychlý a odlehčený prohlížeč obrázků pro desktopové prostředí Xfce."
+#: ../src/xfce_wallpaper_manager.c:91
+msgid "Saturation:"
+msgstr "Sytost:"
-#: ../src/main_window.c:1574
-msgid "translator-credits"
-msgstr "Miro Hrončok <churchyard at gmail.com>"
+#: ../src/xfce_wallpaper_manager.c:123
+msgid "Auto"
+msgstr "Automaticky"
-#: ../src/main_window.c:1600
-msgid "Open image"
-msgstr "Načíst obrázek"
+#: ../src/xfce_wallpaper_manager.c:124
+msgid "Centered"
+msgstr "Vystředěný"
-#: ../src/main_window.c:1618
-msgid "Could not open file"
-msgstr "Nelze otevřít soubor"
+#: ../src/xfce_wallpaper_manager.c:125
+msgid "Tiled"
+msgstr "Dlaždice"
-#: ../src/main_window.c:1640
-msgid "Open folder"
-msgstr "Otevřít složku"
+#: ../src/xfce_wallpaper_manager.c:126
+msgid "Stretched"
+msgstr "Přizpůsobený"
+
+#: ../src/xfce_wallpaper_manager.c:127
+msgid "Scaled"
+msgstr "Přizpůsobený"
-#: ../src/main_window.c:1715
-msgid "Are you sure you want to clear ristretto's list of recently opened documents?"
-msgstr "Opravdu chcete vyprázdnit seznam naposledy otevřených dokumentů aplikací Ristretto?"
+#: ../src/xfce_wallpaper_manager.c:128
+msgid "Zoomed"
+msgstr "Přiblížený"
-#: ../src/thumbnail_bar.c:185
+#: ../src/thumbnail_bar.c:187
msgid "Spacing"
msgstr "Mezery"
-#: ../src/thumbnail_bar.c:186
+#: ../src/thumbnail_bar.c:188
msgid "The amount of space between the thumbnails"
msgstr "Množství prostoru mezi náhledy"
-#: ../src/thumbnail_bar.c:192
-msgid "Border Width"
-msgstr "Šířka rámečků"
+#: ../src/thumbnail_bar.c:194
+msgid "border width"
+msgstr "šířka okraje"
-#: ../src/thumbnail_bar.c:193
-msgid "The border width of the thumbnail-bar"
-msgstr "Šířka rámečků v liště s náhledy"
+#: ../src/thumbnail_bar.c:195
+msgid "the border width of the thumbnail-bar"
+msgstr "šířka okraje panelu s náhledy"
+
+#: ../src/thumbnail_bar.c:201
+msgid "filmstrip width"
+msgstr "šířka filmového pásu"
+
+#: ../src/thumbnail_bar.c:202
+msgid "the width of the thumbnail-bar film-strip"
+msgstr "šířka filmového pásu v panelu s náhledy"
#: ../ristretto.desktop.in.h:1
msgid "Image Viewer"
msgstr "Prohlížeč obrázků"
#: ../ristretto.desktop.in.h:2
-msgid "Ristretto"
-msgstr "Ristretto"
+msgid "Look at your photo's easily"
+msgstr "Prohlížejte si své fotografie jednoduše"
#: ../ristretto.desktop.in.h:3
-msgid "Xfce Image viewer"
-msgstr "Prohlížeč obrázků pro Xfce"
+msgid "Ristretto Photo Viewer"
+msgstr "Prohlížeč fotografií Ristretto"
+
+#~ msgid "Ristretto"
+#~ msgstr "Ristretto"
+
+#~ msgid "_Thumbnail Bar"
+#~ msgstr "Náhledy"
+
+#~ msgid "Opening file(s)..."
+#~ msgstr "Načítám soubor(y)..."
+
+#~ msgid "_Recently used"
+#~ msgstr "_Naposledy otevřené"
+
+#~ msgid "No applications available"
+#~ msgstr "Nejsou k dispozici žádné aplikace"
+
+#~ msgid "Thumbnail _Viewer"
+#~ msgstr "_Prohlížeč náhledů"
+
+#~ msgid "Show _Horizontally"
+#~ msgstr "_Vodorovně"
+
+#~ msgid "Show _Vertically"
+#~ msgstr "_Svisle"
+
+#~ msgid "H_ide"
+#~ msgstr "_Skrýt"
+
+#~ msgid "One or more images have been modified, do you want to save the changes?"
+#~ msgstr "Některé obrázky byly upraveny, přejete si uložit změny?"
+
+#~ msgid "_Preload images (GUI more responsive but more CPU-intensive)"
+#~ msgstr "_Přednačítat obrázky (Grafické uživatelské rozhraní bude odpovídat rychleji, ale vytížení procesoru se zvýší)"
+
+#~ msgid "Hide the thumbnails bar during slideshow"
+#~ msgstr "Nezobrazovat lištu s náhledy při promítání"
+
+#~ msgid "Xfce Image viewer"
+#~ msgstr "Prohlížeč obrázků pro Xfce"
#~ msgid "Preload"
#~ msgstr "Načítat dopředu"
+
#~ msgid ""
#~ "Preload images during slideshow\n"
#~ "(uses more memory)"
#~ msgstr ""
#~ "Načítat snímky do paměti ještě předtím, než mají být zobrazeny\n"
#~ "(použije se více paměti)"
-#~ msgid "_Preload images"
-#~ msgstr "Načítat _předem"
-#~ msgid "Ristretto Image Viewer"
-#~ msgstr "Prohlížeč obrázků Ristretto"
+
#~ msgid "Flip _Vertically"
#~ msgstr "Překlopit _vertikálně"
+
#~ msgid "Flip _Horizontally"
#~ msgstr "Překlopit _horizontálně"
-
diff --git a/po/da.po b/po/da.po
index 2763a88..0a8cc01 100644
--- a/po/da.po
+++ b/po/da.po
@@ -5,10 +5,10 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: ristretto 0.0.22\n"
+"Project-Id-Version: ristretto 0.0.90\n"
"Report-Msgid-Bugs-To: xfce-i18n at xfce.org\n"
-"POT-Creation-Date: 2008-11-14 13:24+0100\n"
-"PO-Revision-Date: 2009-06-12 13:56+0100\n"
+"POT-Creation-Date: 2010-01-15 00:57+0100\n"
+"PO-Revision-Date: 2010-01-15 12:00+0100\n"
"Last-Translator: Per Kongstad <p_kongstad at op.pl>\n"
"Language-Team: Danish <dansk at dansk-gruppen.dk>\n"
"MIME-Version: 1.0\n"
@@ -18,19 +18,19 @@ msgstr ""
"X-Poedit-Country: DENMARK\n"
"X-Poedit-SourceCharset: utf-8\n"
-#: ../src/main.c:61
+#: ../src/main.c:59
msgid "Version information"
msgstr "Versionsinformation"
-#: ../src/main.c:65
+#: ../src/main.c:63
msgid "Start in fullscreen mode"
msgstr "Start i fuldskærmstilstand"
-#: ../src/main.c:69
+#: ../src/main.c:67
msgid "Start a slideshow"
msgstr "Start et diasshow"
-#: ../src/main.c:235
+#: ../src/main.c:91
#, c-format
msgid ""
"%s: %s\n"
@@ -39,185 +39,251 @@ msgstr ""
"%s: %s\n"
"Prøv %s --help for at se en fuld liste over tilgængelige kommandolinjetilvalg.\n"
-#: ../src/main.c:448
-#: ../src/main_window.c:1598
-#: ../src/main_window.c:1638
-#: ../src/main_window.c:1675
-msgid "Opening file(s)..."
-msgstr "Åbne(r) fil(er)..."
-
-#. Create 'File' menu
-#: ../src/main_window.c:340
+#. File Menu
+#: ../src/main_window.c:262
msgid "_File"
msgstr "_Fil"
-#: ../src/main_window.c:347
-msgid "O_pen Folder"
+#: ../src/main_window.c:263
+msgid "_Open"
+msgstr "_Åbn"
+
+#: ../src/main_window.c:263
+msgid "Open an image"
+msgstr "Åbn et billede"
+
+#: ../src/main_window.c:264
+msgid "Open _Folder"
msgstr "Å_bn mappe"
-#: ../src/main_window.c:348
-msgid "_Recently used"
-msgstr "_Senest brugte"
+#: ../src/main_window.c:264
+msgid "Open a folder"
+msgstr "Åbn en mappe"
+
+#: ../src/main_window.c:265
+msgid "_Save copy"
+msgstr "_Gem kopi"
+
+#: ../src/main_window.c:265
+msgid "Save a copy of the image"
+msgstr "Gem en kopi af billedet"
+
+#: ../src/main_window.c:266
+msgid "_Print"
+msgstr "_Udskriv"
+
+#: ../src/main_window.c:266
+msgid "Print the image"
+msgstr "Udskriv billedet"
+
+#: ../src/main_window.c:267
+msgid "_Close"
+msgstr "_Luk"
-#: ../src/main_window.c:353
-msgid "Close _all"
-msgstr "Afslut a_lle"
+#: ../src/main_window.c:267
+msgid "Close this image"
+msgstr "Luk dette billede"
-#. Create 'Edit' menu
-#: ../src/main_window.c:383
+#: ../src/main_window.c:268
+msgid "_Close All"
+msgstr "Luk _alle"
+
+#: ../src/main_window.c:268
+msgid "Close all images"
+msgstr "Luk alle billeder"
+
+#: ../src/main_window.c:269
+msgid "_Quit"
+msgstr "_Afslut"
+
+#: ../src/main_window.c:269
+msgid "Quit Ristretto"
+msgstr "Afslut Ristretto"
+
+#. Edit Menu
+#: ../src/main_window.c:271
msgid "_Edit"
msgstr "_Redigér"
-#: ../src/main_window.c:388
-#: ../src/main_window.c:659
-msgid "Open with..."
-msgstr "Åben med..."
+#: ../src/main_window.c:272
+msgid "_Open with..."
+msgstr "_Åbn med..."
-#: ../src/main_window.c:396
-#: ../src/main_window.c:670
-msgid "No applications available"
-msgstr "Ingen tilgængelige programmer"
+#: ../src/main_window.c:273
+msgid "_Sorting"
+msgstr "_Sortér"
-#. Create 'View' menu
-#: ../src/main_window.c:405
+#: ../src/main_window.c:274
+msgid "_Delete"
+msgstr "_Slet"
+
+#: ../src/main_window.c:275
+msgid "_Preferences"
+msgstr "_Indstillinger"
+
+#. View Menu
+#: ../src/main_window.c:277
msgid "_View"
msgstr "_Vis"
-#: ../src/main_window.c:412
-msgid "Show _Toolbar"
-msgstr "Vis _værktøjslinje"
+#: ../src/main_window.c:278
+msgid "_Fullscreen"
+msgstr "_Fuldskærm"
-#: ../src/main_window.c:413
-msgid "Thumbnail _Viewer"
-msgstr "Miniature_viser"
+#: ../src/main_window.c:279
+msgid "_Leave Fullscreen"
+msgstr "_Forlad fuldskærm"
-#: ../src/main_window.c:417
+#: ../src/main_window.c:280
+msgid "_Set as Wallpaper"
+msgstr "_Brug som skrivebordsbaggrund"
+
+#. Zoom submenu
+#: ../src/main_window.c:282
msgid "_Zooming"
msgstr "_Zooming"
-#: ../src/main_window.c:418
-msgid "_Rotate"
-msgstr "_Rotér"
+#: ../src/main_window.c:283
+msgid "Zoom _In"
+msgstr "Zoom _ind"
-#: ../src/main_window.c:425
-msgid "_Set as wallpaper"
-msgstr "_Brug som skrivebordsbaggrund"
+#: ../src/main_window.c:284
+msgid "Zoom _Out"
+msgstr "Zoom _ud"
-#: ../src/main_window.c:476
-msgid "Show _Horizontally"
-msgstr "Vis _vandret"
+#: ../src/main_window.c:285
+msgid "Zoom _Fit"
+msgstr "_Tilpas zoom"
-#: ../src/main_window.c:480
-msgid "Show _Vertically"
-msgstr "Vis _lodret"
+#: ../src/main_window.c:286
+msgid "_Normal Size"
+msgstr "_Normal størrelse"
-#: ../src/main_window.c:484
-msgid "H_ide"
-msgstr "S_kjul"
+#. Rotation submenu
+#: ../src/main_window.c:288
+msgid "_Rotation"
+msgstr "_Rotering"
-#: ../src/main_window.c:521
+#: ../src/main_window.c:289
msgid "Rotate _Right"
msgstr "Rotér til høj_re"
-#: ../src/main_window.c:522
+#: ../src/main_window.c:290
msgid "Rotate _Left"
msgstr "Rotér til _venstre"
-#. Create 'Go' menu
-#: ../src/main_window.c:543
+#. Go Menu
+#: ../src/main_window.c:292
msgid "_Go"
msgstr "_Gå til"
-#. Create 'Help' menu
-#: ../src/main_window.c:574
+#: ../src/main_window.c:293
+msgid "_Forward"
+msgstr "_Fremad"
+
+#: ../src/main_window.c:294
+msgid "_Back"
+msgstr "_Tilbage"
+
+#: ../src/main_window.c:295
+msgid "_First"
+msgstr "Førs_te"
+
+#: ../src/main_window.c:296
+msgid "_Last"
+msgstr "S_idste"
+
+#. Help Menu
+#: ../src/main_window.c:298
msgid "_Help"
msgstr "_Hjælp"
-#: ../src/main_window.c:906
-msgid "One or more images have been modified, do you want to save the changes?"
-msgstr "Et eller flere billeder er blevet ændret, ønsker du at gemme disse ændringer?"
+#: ../src/main_window.c:300
+msgid "_Contents"
+msgstr "_Indhold"
-#: ../src/main_window.c:1394
-msgid "Image viewer Preferences"
-msgstr "Indstillinger for billedfremviser"
+#: ../src/main_window.c:302
+msgid "Display ristretto user manual"
+msgstr "Vis Ristretto's brugermanual"
-#: ../src/main_window.c:1412
-msgid "Display"
-msgstr "Vis"
+#: ../src/main_window.c:305
+msgid "_About"
+msgstr "_Om"
-#: ../src/main_window.c:1416
-msgid "Slideshow"
-msgstr "Diasshow"
+#: ../src/main_window.c:307
+msgid "Display information about ristretto"
+msgstr "Vis informationer om Ristretto"
-#: ../src/main_window.c:1420
-msgid "Behaviour"
-msgstr "Opførsel"
+#. Position Menu
+#: ../src/main_window.c:310
+msgid "_Position"
+msgstr "_Placering"
-#: ../src/main_window.c:1425
-msgid "Scaling"
-msgstr "Skalering"
+#. Misc
+#: ../src/main_window.c:312
+msgid "Leave _Fullscreen"
+msgstr "Forlad f_uldskærm"
-#: ../src/main_window.c:1427
-msgid "Don't scale over 100% when maximizing the window."
-msgstr "Undlad at skalere mere end 100%, når vindue maksimeres."
-
-#: ../src/main_window.c:1437
-msgid "Background Color"
-msgstr "Baggrundsfarve"
+#. Toggle visibility of the main file toolbar
+#: ../src/main_window.c:320
+msgid "Show _File Toolbar"
+msgstr "Vis _værktøjslinje"
-#: ../src/main_window.c:1439
-msgid "_Override Background Color:"
-msgstr "_Tilsidesæt baggrundsfarve:"
+#. Toggle visibility of the main navigation toolbar
+#: ../src/main_window.c:322
+msgid "Show _Navigation Toolbar"
+msgstr "Vis _værktøjslinje"
-#: ../src/main_window.c:1462
-msgid "Image Cache"
-msgstr "Billedmellemlager"
+#. Toggle visibility of the thumbnailbar
+#: ../src/main_window.c:324
+msgid "Show _Thumbnailbar"
+msgstr "Vis _miniaturebjælke"
-#: ../src/main_window.c:1465
-msgid "Cache size:"
-msgstr "Størrelse af mellemlager:"
+#. Sort by Filename
+#: ../src/main_window.c:331
+msgid "sort by filename"
+msgstr "sortér efter filnavn"
-#: ../src/main_window.c:1466
-msgid "MB"
-msgstr "MB"
+#. Sort by Date
+#: ../src/main_window.c:333
+msgid "sort by date"
+msgstr "sortér efter dato"
-#: ../src/main_window.c:1468
-msgid "_Preload images (GUI more responsive but more CPU-intensive)"
-msgstr "_Forindlæs billeder (Grafisk miljø reagerer hurtigere men vil bruge flere processorresurser)"
+#: ../src/main_window.c:339
+msgid "Left"
+msgstr "Venstre"
-#: ../src/main_window.c:1486
-msgid "Timeout"
-msgstr "Tidsudløb"
+#: ../src/main_window.c:340
+msgid "Right"
+msgstr "Højre"
-#: ../src/main_window.c:1489
-msgid "Thumbnails"
-msgstr "Miniaturer"
+#: ../src/main_window.c:341
+msgid "Top"
+msgstr "Top"
-#: ../src/main_window.c:1494
-msgid ""
-"The time period an individual image is displayed during a slideshow\n"
-"(in seconds)"
-msgstr ""
-"Den tid de enkelte billeder bliver vist under et diasshow\n"
-"(i sekunder)"
+#: ../src/main_window.c:342
+msgid "Bottom"
+msgstr "Bund"
-#: ../src/main_window.c:1497
-msgid "Hide the thumbnails bar during slideshow"
-msgstr "Skjul miniaturebjælke under diasshow"
+#: ../src/main_window.c:512
+#: ../src/main_window.c:778
+msgid "Press open to select an image"
+msgstr "Tryk åbn for at vælge et billede"
-#: ../src/main_window.c:1498
-msgid "_Hide thumbnails"
-msgstr "_Skjul miniaturer"
+#: ../src/main_window.c:765
+#: ../src/main_window.c:770
+msgid "Empty"
+msgstr "Tom"
-#: ../src/main_window.c:1556
+#: ../src/main_window.c:1545
msgid "Developer:"
msgstr "Udvikler:"
-#: ../src/main_window.c:1566
-msgid "Ristretto is a fast and lightweight picture-viewer for the Xfce desktop environment."
-msgstr "Ristretto er en hurtig og letvægtig billedfremviser til skrivebordsmiljøet Xfce."
+#: ../src/main_window.c:1555
+msgid "Ristretto is an imageviewer for the Xfce desktop environment."
+msgstr "Ristretto er en billedfremviser til skrivebordsmiljøet Xfce."
-#: ../src/main_window.c:1574
+#: ../src/main_window.c:1563
msgid "translator-credits"
msgstr ""
"Per Kongstad\n"
@@ -225,46 +291,297 @@ msgstr ""
"Dansk-gruppen <dansk at dansk-gruppen.dk>\n"
"Mere info: http://www.dansk-gruppen.dk"
-#: ../src/main_window.c:1600
+#: ../src/main_window.c:1878
msgid "Open image"
msgstr "Åbn billede"
-#: ../src/main_window.c:1618
+#: ../src/main_window.c:1890
+msgid "Images"
+msgstr "Billeder"
+
+#: ../src/main_window.c:1895
+msgid ".jp(e)g"
+msgstr ".jp(e)g"
+
+#: ../src/main_window.c:1917
+#: ../src/main_window.c:1940
+#: ../src/main_window.c:2099
+#: ../src/main_window.c:2114
msgid "Could not open file"
msgstr "Kunne ikke åbne fil"
-#: ../src/main_window.c:1640
+#: ../src/main_window.c:1992
msgid "Open folder"
msgstr "Åben mappe"
-#: ../src/main_window.c:1715
-msgid "Are you sure you want to clear ristretto's list of recently opened documents?"
-msgstr "Er du sikker på, at du vil slette Ristrettos liste over senest åbnede dokumenter?"
+#: ../src/main_window.c:2137
+msgid "Save copy"
+msgstr "Gem kopi"
+
+#: ../src/main_window.c:2210
+#, c-format
+msgid "Are you sure you want to delete image '%s' from disk?"
+msgstr "Er du sikker på, at du vil slette billedet '%s' fra disken?"
+
+#: ../src/preferences_dialog.c:230
+msgid "Display"
+msgstr "Vis"
+
+#: ../src/preferences_dialog.c:235
+msgid "Background color"
+msgstr "Baggrundsfarve"
+
+#: ../src/preferences_dialog.c:239
+msgid "Override background color:"
+msgstr "Tilsidesæt baggrundsfarve:"
+
+#: ../src/preferences_dialog.c:267
+msgid "Quality"
+msgstr "Kvalitet"
+
+#: ../src/preferences_dialog.c:271
+msgid "Maximum render quality:"
+msgstr "Maksimal renderingskvalitet:"
+
+#: ../src/preferences_dialog.c:274
+msgid "Show preview when loading image"
+msgstr "Forhåndsvis ved indlæsning af billede"
+
+#: ../src/preferences_dialog.c:281
+msgid "Best"
+msgstr "Bedste"
-#: ../src/thumbnail_bar.c:185
+#: ../src/preferences_dialog.c:282
+msgid "High"
+msgstr "Høj"
+
+#: ../src/preferences_dialog.c:283
+msgid "Medium"
+msgstr "Mellem"
+
+#: ../src/preferences_dialog.c:284
+msgid "Low"
+msgstr "Lav"
+
+#: ../src/preferences_dialog.c:324
+msgid "Slideshow"
+msgstr "Diasshow"
+
+#: ../src/preferences_dialog.c:328
+msgid "Timeout"
+msgstr "Tidsudløb"
+
+#: ../src/preferences_dialog.c:331
+msgid ""
+"The time period an individual image is displayed during a slideshow\n"
+"(in seconds)"
+msgstr ""
+"Den tid de enkelte billeder bliver vist under et diasshow\n"
+"(i sekunder)"
+
+#: ../src/preferences_dialog.c:346
+msgid "Thumbnails"
+msgstr "Miniaturer"
+
+#: ../src/preferences_dialog.c:349
+msgid ""
+"The thumbnailbar can be automatically hidden \n"
+"when the image-viewer is fullscreen."
+msgstr ""
+"Miniaturebjælken kan skjules automatisk \n"
+"når billedviseren er i fuldskærmtilstand."
+
+#: ../src/preferences_dialog.c:351
+msgid "Hide thumbnailbar when fullscreen"
+msgstr "Skjul miniaturebjælke ved fuldskærmstilstand"
+
+#: ../src/preferences_dialog.c:364
+msgid "Control"
+msgstr "Kontrol"
+
+#: ../src/preferences_dialog.c:368
+msgid "Scrollwheel"
+msgstr "Rullehjul"
+
+#: ../src/preferences_dialog.c:371
+msgid "No action"
+msgstr "Ingen handling"
+
+#: ../src/preferences_dialog.c:375
+msgid "Zoom in and out"
+msgstr "Zoom ind og ud"
+
+#: ../src/preferences_dialog.c:378
+msgid "Switch images"
+msgstr "Skift billeder"
+
+#: ../src/preferences_dialog.c:412
+msgid "Behaviour"
+msgstr "Opførsel"
+
+#: ../src/preferences_dialog.c:417
+msgid "Scaling"
+msgstr "Skalering"
+
+#: ../src/preferences_dialog.c:422
+msgid "Don't scale over 100% when maximizing the window."
+msgstr "Undlad at skalere mere end 100%, når vindue maksimeres."
+
+#: ../src/preferences_dialog.c:426
+msgid "Startup"
+msgstr "Opstart"
+
+#: ../src/preferences_dialog.c:428
+msgid "Resize window to image on startup"
+msgstr "Tilpas vindue til billede ved opstart"
+
+#: ../src/preferences_dialog.c:432
+msgid "Open entire folder on startup"
+msgstr "Åbn hele mappen ved opstart"
+
+#: ../src/preferences_dialog.c:437
+msgid "Wrap around images"
+msgstr "Svøb omkring billeder"
+
+#: ../src/preferences_dialog.c:453
+msgid "Memory"
+msgstr "Hukommelse"
+
+#: ../src/preferences_dialog.c:459
+msgid "Image cache"
+msgstr "Billedmellemlager"
+
+#: ../src/preferences_dialog.c:465
+msgid "Cache size"
+msgstr "Størrelse af mellemlager"
+
+#: ../src/preferences_dialog.c:466
+msgid "MB"
+msgstr "MB"
+
+#: ../src/preferences_dialog.c:469
+msgid "Enable cache"
+msgstr "Slå billedmellemlager til"
+
+#: ../src/preferences_dialog.c:474
+msgid "Preload images"
+msgstr "Forudindlæs billeder"
+
+#: ../src/preferences_dialog.c:544
+msgid "Preferences"
+msgstr "Indstillinger"
+
+#: ../src/xfce_wallpaper_manager.c:84
+msgid "Set as wallpaper"
+msgstr "Brug som skrivebordsbaggrund"
+
+#: ../src/xfce_wallpaper_manager.c:86
+msgid "Style:"
+msgstr "Stil:"
+
+#: ../src/xfce_wallpaper_manager.c:88
+msgid "Monitor:"
+msgstr "Skærm:"
+
+#: ../src/xfce_wallpaper_manager.c:90
+msgid "Brightness:"
+msgstr "Lysstyrke:"
+
+#: ../src/xfce_wallpaper_manager.c:91
+msgid "Saturation:"
+msgstr "Mætning:"
+
+#: ../src/xfce_wallpaper_manager.c:123
+msgid "Auto"
+msgstr "Automatisk"
+
+#: ../src/xfce_wallpaper_manager.c:124
+msgid "Centered"
+msgstr "Centreret"
+
+#: ../src/xfce_wallpaper_manager.c:125
+msgid "Tiled"
+msgstr "Fliselagt"
+
+#: ../src/xfce_wallpaper_manager.c:126
+msgid "Stretched"
+msgstr "Udstrukket"
+
+#: ../src/xfce_wallpaper_manager.c:127
+msgid "Scaled"
+msgstr "Skaleret"
+
+#: ../src/xfce_wallpaper_manager.c:128
+msgid "Zoomed"
+msgstr "Forstørret"
+
+#: ../src/thumbnail_bar.c:187
msgid "Spacing"
msgstr "Mellemrum"
-#: ../src/thumbnail_bar.c:186
+#: ../src/thumbnail_bar.c:188
msgid "The amount of space between the thumbnails"
msgstr "Hvor meget mellemrum der er mellem miniaturerne"
-#: ../src/thumbnail_bar.c:192
-msgid "Border Width"
-msgstr "Kantbredde"
+#: ../src/thumbnail_bar.c:194
+msgid "border width"
+msgstr "kantbredde"
+
+#: ../src/thumbnail_bar.c:195
+msgid "the border width of the thumbnail-bar"
+msgstr "bredden af kanten rundt om miniaturebjælken"
-#: ../src/thumbnail_bar.c:193
-msgid "The border width of the thumbnail-bar"
-msgstr "Bredden af kanten rundt om miniaturebjælken"
+#: ../src/thumbnail_bar.c:201
+msgid "filmstrip width"
+msgstr "billedbåndbredde"
+
+#: ../src/thumbnail_bar.c:202
+msgid "the width of the thumbnail-bar film-strip"
+msgstr "bredden af miniaturebjælke til billedbånd"
#: ../ristretto.desktop.in.h:1
msgid "Image Viewer"
msgstr "Billedfremviser"
#: ../ristretto.desktop.in.h:2
-msgid "Ristretto"
-msgstr "Ristretto"
+msgid "Look at your photo's easily"
+msgstr "Se nemt dine billeder"
#: ../ristretto.desktop.in.h:3
-msgid "Xfce Image viewer"
-msgstr "Billedfremviser til Xfce"
+msgid "Ristretto Photo Viewer"
+msgstr "Ristretto billedfremviser"
+
+#~ msgid "Ristretto"
+#~ msgstr "Ristretto"
+#~ msgid "_Thumbnail Bar"
+#~ msgstr "_Miniaturebjælke"
+#~ msgid "Opening file(s)..."
+#~ msgstr "Åbne(r) fil(er)..."
+#~ msgid "_Recently used"
+#~ msgstr "_Senest brugte"
+#~ msgid "No applications available"
+#~ msgstr "Ingen tilgængelige programmer"
+#~ msgid "Thumbnail _Viewer"
+#~ msgstr "Miniature_viser"
+#~ msgid "Show _Horizontally"
+#~ msgstr "Vis _vandret"
+#~ msgid "Show _Vertically"
+#~ msgstr "Vis _lodret"
+#~ msgid "H_ide"
+#~ msgstr "S_kjul"
+#~ msgid ""
+#~ "One or more images have been modified, do you want to save the changes?"
+#~ msgstr ""
+#~ "Et eller flere billeder er blevet ændret, ønsker du at gemme disse "
+#~ "ændringer?"
+#~ msgid "Image viewer Preferences"
+#~ msgstr "Indstillinger for billedfremviser"
+#~ msgid "_Preload images (GUI more responsive but more CPU-intensive)"
+#~ msgstr ""
+#~ "_Forindlæs billeder (Grafisk miljø reagerer hurtigere men vil bruge flere "
+#~ "processorresurser)"
+#~ msgid "Hide the thumbnails bar during slideshow"
+#~ msgstr "Skjul miniaturebjælke under diasshow"
+#~ msgid "Xfce Image viewer"
+#~ msgstr "Billedfremviser til Xfce"
+
diff --git a/po/de.po b/po/de.po
index a3965ad..985abed 100644
--- a/po/de.po
+++ b/po/de.po
@@ -3,274 +3,594 @@
# This file is distributed under the same license as the ristretto package.
# Christian Dywan <christian at twotoasts.de>, 2007.
# Fabian Nowak <timystery at arcor.de>, 2007, 2008.
-#
-#: ../src/main.c:231
+#
msgid ""
msgstr ""
"Project-Id-Version: ristretto\n"
"Report-Msgid-Bugs-To: xfce-i18n at xfce.org\n"
-"POT-Creation-Date: 2008-11-14 13:24+0100\n"
-"PO-Revision-Date: 2008-10-18 16:33:00+0200\n"
+"POT-Creation-Date: 2010-01-15 00:57+0100\n"
+"PO-Revision-Date: 2010-02-18 15:50+0100\n"
"Last-Translator: Fabian Nowak <timystery at arcor.de>\n"
"Language-Team: German\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-#: ../src/main.c:61
+#: ../src/main.c:59
msgid "Version information"
msgstr "Versionsinformation"
-#: ../src/main.c:65
+#: ../src/main.c:63
msgid "Start in fullscreen mode"
msgstr "Im Vollbildmodus starten"
-#: ../src/main.c:69
+#: ../src/main.c:67
msgid "Start a slideshow"
msgstr "Diavorführung starten"
-#: ../src/main.c:235
+#: ../src/main.c:91
#, c-format
msgid ""
"%s: %s\n"
"Try %s --help to see a full list of available command line options.\n"
msgstr ""
"%s: %s\n"
-"Versuchen Sie »%s --help«, um eine komplette Liste verfügbarer "
-"Kommandozeilenoptionen anzusehen.\n"
+"Versuchen Sie »%s --help«, um eine komplette Liste verfügbarer Kommandozeilenoptionen anzusehen.\n"
-#: ../src/main.c:448 ../src/main_window.c:1598 ../src/main_window.c:1638
-#: ../src/main_window.c:1675
-msgid "Opening file(s)..."
-msgstr "Datei(en) öffnen..."
-
-#. Create 'File' menu
-#: ../src/main_window.c:340
+#. File Menu
+#: ../src/main_window.c:262
msgid "_File"
msgstr "_Datei"
-#: ../src/main_window.c:347
-msgid "O_pen Folder"
+#: ../src/main_window.c:263
+msgid "_Open"
+msgstr "Öffnen"
+
+#: ../src/main_window.c:263
+msgid "Open an image"
+msgstr "Bild öffnen"
+
+#: ../src/main_window.c:264
+msgid "Open _Folder"
msgstr "_Ordner öffnen"
-#: ../src/main_window.c:348
-msgid "_Recently used"
-msgstr "_Zuletzt geöffnet"
+#: ../src/main_window.c:264
+msgid "Open a folder"
+msgstr "einen _Ordner öffnen"
+
+#: ../src/main_window.c:265
+msgid "_Save copy"
+msgstr "Kopie Speichern"
+
+#: ../src/main_window.c:265
+msgid "Save a copy of the image"
+msgstr "Kopie des Bildes speichern"
+
+#: ../src/main_window.c:266
+msgid "_Print"
+msgstr "Drucken"
+
+#: ../src/main_window.c:266
+msgid "Print the image"
+msgstr "Bild drucken"
+
+#: ../src/main_window.c:267
+msgid "_Close"
+msgstr "Schließen"
-#: ../src/main_window.c:353
-msgid "Close _all"
+#: ../src/main_window.c:267
+msgid "Close this image"
+msgstr "Dieses Bild schließen"
+
+#: ../src/main_window.c:268
+msgid "_Close All"
msgstr "_Alle schließen"
-#. Create 'Edit' menu
-#: ../src/main_window.c:383
+#: ../src/main_window.c:268
+msgid "Close all images"
+msgstr "_Alle Bilder schließen"
+
+#: ../src/main_window.c:269
+msgid "_Quit"
+msgstr "B_eenden"
+
+#: ../src/main_window.c:269
+msgid "Quit Ristretto"
+msgstr "Ristretto beenden"
+
+#. Edit Menu
+#: ../src/main_window.c:271
msgid "_Edit"
msgstr "_Bearbeiten"
-#: ../src/main_window.c:388 ../src/main_window.c:659
-msgid "Open with..."
+#: ../src/main_window.c:272
+msgid "_Open with..."
msgstr "Öffnen mit..."
-#: ../src/main_window.c:396 ../src/main_window.c:670
-msgid "No applications available"
-msgstr "Keine Programme verfügbar"
+#: ../src/main_window.c:273
+msgid "_Sorting"
+msgstr "Sortierung"
+
+#: ../src/main_window.c:274
+msgid "_Delete"
+msgstr "Löschen"
-#. Create 'View' menu
-#: ../src/main_window.c:405
+#: ../src/main_window.c:275
+msgid "_Preferences"
+msgstr "_Einstellungen für den Bildbetrachter"
+
+#. View Menu
+#: ../src/main_window.c:277
msgid "_View"
msgstr "_Ansicht"
-#: ../src/main_window.c:412
-msgid "Show _Toolbar"
-msgstr "_Werkzeugleiste anzeigen"
+#: ../src/main_window.c:278
+msgid "_Fullscreen"
+msgstr "Vollbildmodus"
-#: ../src/main_window.c:413
-msgid "Thumbnail _Viewer"
-msgstr "_Miniaturbilder"
+#: ../src/main_window.c:279
+msgid "_Leave Fullscreen"
+msgstr "Vollbildmodus verlassen"
+
+#: ../src/main_window.c:280
+msgid "_Set as Wallpaper"
+msgstr "Al_s Hintergrundbild einstellen"
-#: ../src/main_window.c:417
+#. Zoom submenu
+#: ../src/main_window.c:282
msgid "_Zooming"
msgstr "_Vergrößerung"
-#: ../src/main_window.c:418
-msgid "_Rotate"
-msgstr "_Drehen"
+#: ../src/main_window.c:283
+msgid "Zoom _In"
+msgstr "_vergrößern"
-#: ../src/main_window.c:425
-msgid "_Set as wallpaper"
-msgstr "Al_s Hintergrundbild einstellen"
+#: ../src/main_window.c:284
+msgid "Zoom _Out"
+msgstr "verkleinern"
-#: ../src/main_window.c:476
-msgid "Show _Horizontally"
-msgstr "_Horizontal anzeigen"
+#: ../src/main_window.c:285
+#, fuzzy
+msgid "Zoom _Fit"
+msgstr "Passende Größe"
-#: ../src/main_window.c:480
-msgid "Show _Vertically"
-msgstr "_Vertikal anzeigen"
+#: ../src/main_window.c:286
+msgid "_Normal Size"
+msgstr "_Normalgröße"
-#: ../src/main_window.c:484
-msgid "H_ide"
-msgstr "Ver_bergen"
+#. Rotation submenu
+#: ../src/main_window.c:288
+msgid "_Rotation"
+msgstr "_Drehen"
-#: ../src/main_window.c:521
+#: ../src/main_window.c:289
msgid "Rotate _Right"
msgstr "Nach _rechts drehen"
-#: ../src/main_window.c:522
+#: ../src/main_window.c:290
msgid "Rotate _Left"
msgstr "Nach _links drehen"
-#. Create 'Go' menu
-#: ../src/main_window.c:543
+#. Go Menu
+#: ../src/main_window.c:292
msgid "_Go"
msgstr "_Gehe zu"
-#. Create 'Help' menu
-#: ../src/main_window.c:574
+#: ../src/main_window.c:293
+msgid "_Forward"
+msgstr "Vor"
+
+#: ../src/main_window.c:294
+msgid "_Back"
+msgstr "Zurück"
+
+#: ../src/main_window.c:295
+msgid "_First"
+msgstr "Erstes"
+
+#: ../src/main_window.c:296
+msgid "_Last"
+msgstr "Letztes"
+
+#. Help Menu
+#: ../src/main_window.c:298
msgid "_Help"
msgstr "_Hilfe"
-#: ../src/main_window.c:906
-msgid "One or more images have been modified, do you want to save the changes?"
+#: ../src/main_window.c:300
+msgid "_Contents"
+msgstr "Inhalt"
+
+#: ../src/main_window.c:302
+msgid "Display ristretto user manual"
+msgstr "Ristretto Nutzerhandbuch anzeigen"
+
+#: ../src/main_window.c:305
+msgid "_About"
+msgstr "Über"
+
+#: ../src/main_window.c:307
+msgid "Display information about ristretto"
+msgstr "Informationen über ristretto anzeigen"
+
+#. Position Menu
+#: ../src/main_window.c:310
+msgid "_Position"
+msgstr "_Position"
+
+#. Misc
+#: ../src/main_window.c:312
+msgid "Leave _Fullscreen"
+msgstr "Vollbildmodus verlassen"
+
+#. Toggle visibility of the main file toolbar
+#: ../src/main_window.c:320
+msgid "Show _File Toolbar"
+msgstr "_Werkzeugleiste anzeigen"
+
+#. Toggle visibility of the main navigation toolbar
+#: ../src/main_window.c:322
+msgid "Show _Navigation Toolbar"
+msgstr "_Navigationsleiste anzeigen"
+
+#. Toggle visibility of the thumbnailbar
+#: ../src/main_window.c:324
+msgid "Show _Thumbnailbar"
+msgstr "_Miniaturbildleiste anzeigen"
+
+#. Sort by Filename
+#: ../src/main_window.c:331
+msgid "sort by filename"
+msgstr "Nach Dateinamen sortieren"
+
+#. Sort by Date
+#: ../src/main_window.c:333
+msgid "sort by date"
+msgstr "Nach Datum sortieren"
+
+#: ../src/main_window.c:339
+msgid "Left"
+msgstr "Links"
+
+#: ../src/main_window.c:340
+msgid "Right"
+msgstr "Rechts"
+
+#: ../src/main_window.c:341
+msgid "Top"
+msgstr "Oben"
+
+#: ../src/main_window.c:342
+msgid "Bottom"
+msgstr "Unten"
+
+#: ../src/main_window.c:512 ../src/main_window.c:778
+#, fuzzy
+msgid "Press open to select an image"
+msgstr "Zum Bild Auswählen »Öffnen« drücken"
+
+#: ../src/main_window.c:765 ../src/main_window.c:770
+msgid "Empty"
+msgstr "Leer"
+
+#: ../src/main_window.c:1545
+msgid "Developer:"
+msgstr "Entwickler:"
+
+#: ../src/main_window.c:1555
+msgid "Ristretto is an imageviewer for the Xfce desktop environment."
+msgstr "Ristretto ist ein Bildbetrachter für die Arbeitsumgebung Xfce."
+
+#: ../src/main_window.c:1563
+msgid "translator-credits"
msgstr ""
-"Ein oder mehrere Bilder wurden geändert. Möchten Sie die Änderungen "
-"speichern?"
+"Christian Dywan <christian at twotoasts.de>\n"
+"Fabian Nowak <timystery at arcor.de>"
+
+#: ../src/main_window.c:1878
+msgid "Open image"
+msgstr "Bild öffnen"
+
+#: ../src/main_window.c:1890
+msgid "Images"
+msgstr "Bilder"
-#: ../src/main_window.c:1394
-msgid "Image viewer Preferences"
-msgstr "Einstellungen für den Bildbetrachter"
+#: ../src/main_window.c:1895
+msgid ".jp(e)g"
+msgstr ".jp(e)g"
-#: ../src/main_window.c:1412
+#: ../src/main_window.c:1917 ../src/main_window.c:1940
+#: ../src/main_window.c:2099 ../src/main_window.c:2114
+msgid "Could not open file"
+msgstr "Datei konnte nicht geöffnet werden"
+
+#: ../src/main_window.c:1992
+msgid "Open folder"
+msgstr "_Ordner öffnen"
+
+#: ../src/main_window.c:2137
+msgid "Save copy"
+msgstr "Kopie speichern"
+
+#: ../src/main_window.c:2210
+#, fuzzy, c-format
+msgid "Are you sure you want to delete image '%s' from disk?"
+msgstr "Sind Sie sicher, dass Sie das Bild '%s' von der Festplatte löschen möchten?"
+
+#: ../src/preferences_dialog.c:230
msgid "Display"
msgstr "Anzeige"
-#: ../src/main_window.c:1416
+#: ../src/preferences_dialog.c:235
+msgid "Background color"
+msgstr "Hintergrundfarbe"
+
+#: ../src/preferences_dialog.c:239
+#, fuzzy
+msgid "Override background color:"
+msgstr "_Hintergrundfarbe überschreiben"
+
+#: ../src/preferences_dialog.c:267
+msgid "Quality"
+msgstr "Qualität"
+
+#: ../src/preferences_dialog.c:271
+msgid "Maximum render quality:"
+msgstr "Maximale Qualität"
+
+#: ../src/preferences_dialog.c:274
+msgid "Show preview when loading image"
+msgstr "Vorschau während des Ladens anzeigen"
+
+#: ../src/preferences_dialog.c:281
+msgid "Best"
+msgstr "Am Besten"
+
+#: ../src/preferences_dialog.c:282
+msgid "High"
+msgstr "Hoch"
+
+#: ../src/preferences_dialog.c:283
+msgid "Medium"
+msgstr "Mittel"
+
+#: ../src/preferences_dialog.c:284
+msgid "Low"
+msgstr "Niedrig"
+
+#: ../src/preferences_dialog.c:324
msgid "Slideshow"
msgstr "Diavorführung"
-#: ../src/main_window.c:1420
+#: ../src/preferences_dialog.c:328
+msgid "Timeout"
+msgstr "Zeitspanne"
+
+#: ../src/preferences_dialog.c:331
+msgid ""
+"The time period an individual image is displayed during a slideshow\n"
+"(in seconds)"
+msgstr ""
+"Die Zeitspanne, während der ein Bild angezeigt wird\n"
+"(in Sekunden)"
+
+#: ../src/preferences_dialog.c:346
+#, fuzzy
+msgid "Thumbnails"
+msgstr "Miniaturbilder"
+
+#: ../src/preferences_dialog.c:349
+msgid ""
+"The thumbnailbar can be automatically hidden \n"
+"when the image-viewer is fullscreen."
+msgstr "Die Miniaturbildleiste kann automatisch im \\n\\nVollbildmodus automatisch versteckt werden."
+
+#: ../src/preferences_dialog.c:351
+msgid "Hide thumbnailbar when fullscreen"
+msgstr "_Miniaturbildleiste verbergen"
+
+#: ../src/preferences_dialog.c:364
+msgid "Control"
+msgstr ""
+
+#: ../src/preferences_dialog.c:368
+msgid "Scrollwheel"
+msgstr "Mausrad"
+
+#: ../src/preferences_dialog.c:371
+#, fuzzy
+msgid "No action"
+msgstr "keine Aktion"
+
+#: ../src/preferences_dialog.c:375
+#, fuzzy
+msgid "Zoom in and out"
+msgstr "Größe ändern"
+
+#: ../src/preferences_dialog.c:378
+msgid "Switch images"
+msgstr "Bilder wechseln"
+
+#: ../src/preferences_dialog.c:412
msgid "Behaviour"
msgstr "Verhalten"
-#: ../src/main_window.c:1425
+#: ../src/preferences_dialog.c:417
msgid "Scaling"
msgstr "Skalierung"
-#: ../src/main_window.c:1427
+#: ../src/preferences_dialog.c:422
msgid "Don't scale over 100% when maximizing the window."
msgstr "Beim Maximieren des Fensters nicht über 100% vergrößern."
-#: ../src/main_window.c:1437
-msgid "Background Color"
-msgstr "Hintergrundfarbe"
+#: ../src/preferences_dialog.c:426
+msgid "Startup"
+msgstr "Programmstart"
-#: ../src/main_window.c:1439
-msgid "_Override Background Color:"
-msgstr "_Hintergrundfarbe überschreiben"
+#: ../src/preferences_dialog.c:428
+msgid "Resize window to image on startup"
+msgstr "Fenster beim Start ans Bild anpassen"
+
+#: ../src/preferences_dialog.c:432
+msgid "Open entire folder on startup"
+msgstr "Ganzen Ordner beim Start öffnen"
+
+#: ../src/preferences_dialog.c:437
+#, fuzzy
+msgid "Wrap around images"
+msgstr "Bild öffnen"
-#: ../src/main_window.c:1462
-msgid "Image Cache"
+#: ../src/preferences_dialog.c:453
+msgid "Memory"
+msgstr "Speicher"
+
+#: ../src/preferences_dialog.c:459
+msgid "Image cache"
msgstr "Bildzwischenspeicher"
-#: ../src/main_window.c:1465
-msgid "Cache size:"
+#: ../src/preferences_dialog.c:465
+msgid "Cache size"
msgstr "Zwischenspeichergröße:"
-#: ../src/main_window.c:1466
+#: ../src/preferences_dialog.c:466
msgid "MB"
msgstr "MB"
-#: ../src/main_window.c:1468
-msgid "_Preload images (GUI more responsive but more CPU-intensive)"
-msgstr "_Bilder vorladen (schnellere Oberfläche, aber mehr CPU-Last)"
+#: ../src/preferences_dialog.c:469
+#, fuzzy
+msgid "Enable cache"
+msgstr "Bildzwischenspeicher aktivieren"
-#: ../src/main_window.c:1486
-msgid "Timeout"
-msgstr "Zeitspanne"
+#: ../src/preferences_dialog.c:474
+#, fuzzy
+msgid "Preload images"
+msgstr "Bilder _vorladen"
-#: ../src/main_window.c:1489
-msgid "Thumbnails"
-msgstr "Miniaturbilder"
+#: ../src/preferences_dialog.c:544
+msgid "Preferences"
+msgstr "_Einstellungen für den Bildbetrachter"
-#: ../src/main_window.c:1494
-msgid ""
-"The time period an individual image is displayed during a slideshow\n"
-"(in seconds)"
-msgstr ""
-"Die Zeitspanne, während der ein Bild angezeigt wird\n"
-"(in Sekunden)"
+#: ../src/xfce_wallpaper_manager.c:84
+#, fuzzy
+msgid "Set as wallpaper"
+msgstr "Al_s Hintergrundbild nutzen"
-#: ../src/main_window.c:1497
-msgid "Hide the thumbnails bar during slideshow"
-msgstr "Miniaturbilder während Diashow verbergen"
+#: ../src/xfce_wallpaper_manager.c:86
+msgid "Style:"
+msgstr "Stil:"
-#: ../src/main_window.c:1498
-msgid "_Hide thumbnails"
-msgstr "_Miniaturbilder verbergen"
+#: ../src/xfce_wallpaper_manager.c:88
+msgid "Monitor:"
+msgstr "Bildschirm:"
-#: ../src/main_window.c:1556
-msgid "Developer:"
-msgstr "Entwickler:"
+#: ../src/xfce_wallpaper_manager.c:90
+msgid "Brightness:"
+msgstr "Helligkeit"
-#: ../src/main_window.c:1566
-msgid ""
-"Ristretto is a fast and lightweight picture-viewer for the Xfce desktop "
-"environment."
-msgstr ""
-"Ristretto ist ein schneller und schlanker Bildbetrachter für die "
-"Arbeitsumgebung Xfce."
+#: ../src/xfce_wallpaper_manager.c:91
+msgid "Saturation:"
+msgstr "_Drehen"
-#: ../src/main_window.c:1574
-msgid "translator-credits"
-msgstr ""
-"Christian Dywan <christian at twotoasts.de>\n"
-"Fabian Nowak <timystery at arcor.de>"
+#: ../src/xfce_wallpaper_manager.c:123
+msgid "Auto"
+msgstr "Automatisch"
-#: ../src/main_window.c:1600
-msgid "Open image"
-msgstr "Bild öffnen"
+#: ../src/xfce_wallpaper_manager.c:124
+msgid "Centered"
+msgstr "Zentriert"
-#: ../src/main_window.c:1618
-msgid "Could not open file"
-msgstr "Datei konnte nicht geöffnet werden"
+#: ../src/xfce_wallpaper_manager.c:125
+msgid "Tiled"
+msgstr "Gekachelt"
-#: ../src/main_window.c:1640
-msgid "Open folder"
-msgstr "_Ordner öffnen"
+#: ../src/xfce_wallpaper_manager.c:126
+msgid "Stretched"
+msgstr "Gestreckt"
-#: ../src/main_window.c:1715
-msgid ""
-"Are you sure you want to clear ristretto's list of recently opened documents?"
-msgstr ""
-"Sind Sie sicher, dass Sie ristrettos Liste der zuletzt geöffneten Dokumente "
-"leeren wollen?"
+#: ../src/xfce_wallpaper_manager.c:127
+msgid "Scaled"
+msgstr "Skaliert"
-#: ../src/thumbnail_bar.c:185
+#: ../src/xfce_wallpaper_manager.c:128
+msgid "Zoomed"
+msgstr "Vergrößert"
+
+#: ../src/thumbnail_bar.c:187
msgid "Spacing"
msgstr "Abstand"
-#: ../src/thumbnail_bar.c:186
+#: ../src/thumbnail_bar.c:188
msgid "The amount of space between the thumbnails"
msgstr "Die Größe des Abstands zwischen den Vorschaubildern"
-#: ../src/thumbnail_bar.c:192
-msgid "Border Width"
+#: ../src/thumbnail_bar.c:194
+msgid "border width"
msgstr "Randbreite"
-#: ../src/thumbnail_bar.c:193
-msgid "The border width of the thumbnail-bar"
-msgstr "Die Randbreite der Vorschaubildleiste"
+#: ../src/thumbnail_bar.c:195
+msgid "the border width of the thumbnail-bar"
+msgstr "Randbreite der Vorschaubildleiste"
+
+#: ../src/thumbnail_bar.c:201
+#, fuzzy
+msgid "filmstrip width"
+msgstr "Breite der Bildleiste"
+
+#: ../src/thumbnail_bar.c:202
+#, fuzzy
+msgid "the width of the thumbnail-bar film-strip"
+msgstr "Die Breite der Miniaturbildleiste"
#: ../ristretto.desktop.in.h:1
msgid "Image Viewer"
msgstr "Bildbetrachter"
#: ../ristretto.desktop.in.h:2
-msgid "Ristretto"
-msgstr "Ristretto"
+msgid "Look at your photo's easily"
+msgstr "Bilder anschauen leicht gemacht"
#: ../ristretto.desktop.in.h:3
-msgid "Xfce Image viewer"
-msgstr "Xfce-Bildbetrachter"
+msgid "Ristretto Photo Viewer"
+msgstr "Bildbetrachter Ristretto"
+
+#~ msgid "Ristretto"
+#~ msgstr "Ristretto"
+
+#~ msgid "_Thumbnail Bar"
+#~ msgstr "Miniaturbilder"
+
+#~ msgid "Opening file(s)..."
+#~ msgstr "Datei(en) öffnen..."
+
+#~ msgid "_Recently used"
+#~ msgstr "_Zuletzt geöffnet"
+
+#~ msgid "No applications available"
+#~ msgstr "Keine Programme verfügbar"
+
+#~ msgid "Thumbnail _Viewer"
+#~ msgstr "_Miniaturbilder"
+
+#~ msgid "Show _Horizontally"
+#~ msgstr "_Horizontal anzeigen"
+
+#~ msgid "Show _Vertically"
+#~ msgstr "_Vertikal anzeigen"
+
+#~ msgid "H_ide"
+#~ msgstr "Ver_bergen"
+
+#~ msgid "One or more images have been modified, do you want to save the changes?"
+#~ msgstr "Ein oder mehrere Bilder wurden geändert. Möchten Sie die Änderungen speichern?"
+
+#~ msgid "_Preload images (GUI more responsive but more CPU-intensive)"
+#~ msgstr "_Bilder vorladen (schnellere Oberfläche, aber mehr CPU-Last)"
+
+#~ msgid "Hide the thumbnails bar during slideshow"
+#~ msgstr "Miniaturbilder während Diashow verbergen"
+
+#~ msgid "Xfce Image viewer"
+#~ msgstr "Xfce-Bildbetrachter"
#~ msgid "Preload"
#~ msgstr "Vorladen"
@@ -281,9 +601,3 @@ msgstr "Xfce-Bildbetrachter"
#~ msgstr ""
#~ "Bilder während einer Diavorführung vorladen\n"
#~ "(benötigt mehr Speicher)"
-
-#~ msgid "_Preload images"
-#~ msgstr "Bilder _vorladen"
-
-#~ msgid "Ristretto Image Viewer"
-#~ msgstr "Bildbetrachter Ristretto"
diff --git a/po/el.po b/po/el.po
index b94b365..82593e5 100644
--- a/po/el.po
+++ b/po/el.po
@@ -2,286 +2,549 @@
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# Evaggelos Balaskas <ebalaskas at ebalaskas.gr>, 2008.
-#: ../src/main.c:231
msgid ""
msgstr ""
"Project-Id-Version: el\n"
"Report-Msgid-Bugs-To: xfce-i18n at xfce.org\n"
-"POT-Creation-Date: 2008-11-14 13:24+0100\n"
-"PO-Revision-Date: 2009-06-14 11:47-0800\n"
+"POT-Creation-Date: 2010-01-15 00:57+0100\n"
+"PO-Revision-Date: 2010-02-01 08:35+0200\n"
"Last-Translator: Evaggelos Balaskas <ebalaskas at ebalaskas.gr>\n"
"Language-Team: Greek <nls at tux.hellug.gr>\n"
"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: KBabel 1.11.4\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Poedit-Language: Greek\n"
+"X-Poedit-Country: GREECE\n"
+"X-Poedit-SourceCharset: utf-8\n"
-#: ../src/main.c:61
+#: ../src/main.c:59
msgid "Version information"
msgstr "Πληροφορίες έκδοσης"
-#: ../src/main.c:65
+#: ../src/main.c:63
msgid "Start in fullscreen mode"
msgstr "Εκκίνηση σε πλήρη οθόνη"
-#: ../src/main.c:69
+#: ../src/main.c:67
msgid "Start a slideshow"
msgstr "Εκκίνηση προβολής διαφανειών"
-#: ../src/main.c:235
+#: ../src/main.c:91
#, c-format
msgid ""
"%s: %s\n"
"Try %s --help to see a full list of available command line options.\n"
msgstr ""
"%s: %s\n"
-"Δοκίμασε %s --help για να δεις μία πλήρη λίστα με τις διαθέσιμες παραμέτρους "
-"στην γραμμή εντολών.\n"
+"Δοκίμασε %s --help για να δεις μία πλήρη λίστα με τις διαθέσιμες παραμέτρους στην γραμμή εντολών.\n"
-#: ../src/main.c:448 ../src/main_window.c:1598 ../src/main_window.c:1638
-#: ../src/main_window.c:1675
-msgid "Opening file(s)..."
-msgstr "Άνοιγμα αρχείου(ων)..."
-
-#. Create 'File' menu
-#: ../src/main_window.c:340
+#. File Menu
+#: ../src/main_window.c:262
msgid "_File"
msgstr "_Αρχείο"
-#: ../src/main_window.c:347
-msgid "O_pen Folder"
-msgstr "Άν_οιγμα καταλόγου"
+#: ../src/main_window.c:263
+msgid "_Open"
+msgstr "Άν_οιγμα"
+
+#: ../src/main_window.c:263
+msgid "Open an image"
+msgstr "Άνοιγμα μίας εικόνας"
+
+#: ../src/main_window.c:264
+msgid "Open _Folder"
+msgstr "Άνοιγμα _φακέλου"
+
+#: ../src/main_window.c:264
+msgid "Open a folder"
+msgstr "Άνοιγμα ενός φακέλου"
+
+#: ../src/main_window.c:265
+msgid "_Save copy"
+msgstr "_Αποθήκευση αντιγράφου"
+
+#: ../src/main_window.c:265
+msgid "Save a copy of the image"
+msgstr "Αποθήκευση ενός αντίγραφου της εικόνας"
-#: ../src/main_window.c:348
-msgid "_Recently used"
-msgstr "_Πρόσφατα αρχεία"
+#: ../src/main_window.c:266
+msgid "_Print"
+msgstr "_Εκτύπωση"
-#: ../src/main_window.c:353
-msgid "Close _all"
-msgstr "Κλείσιμο όλ_ων"
+#: ../src/main_window.c:266
+msgid "Print the image"
+msgstr "Εκτύπωση εικόνας"
-#. Create 'Edit' menu
-#: ../src/main_window.c:383
+#: ../src/main_window.c:267
+msgid "_Close"
+msgstr "_Κλείσιμο"
+
+#: ../src/main_window.c:267
+msgid "Close this image"
+msgstr "Κλείσιμο της εικόνας"
+
+#: ../src/main_window.c:268
+msgid "_Close All"
+msgstr "_Κλείσιμο Όλων"
+
+#: ../src/main_window.c:268
+msgid "Close all images"
+msgstr "Κλείσιμο όλων των εικόνων"
+
+#: ../src/main_window.c:269
+msgid "_Quit"
+msgstr "_Έξοδος"
+
+#: ../src/main_window.c:269
+msgid "Quit Ristretto"
+msgstr "Έξοδος από το ristretto"
+
+#. Edit Menu
+#: ../src/main_window.c:271
msgid "_Edit"
msgstr "_Επεξεργασία"
-#: ../src/main_window.c:388 ../src/main_window.c:659
-msgid "Open with..."
-msgstr "Άνοιγμα με ..."
+#: ../src/main_window.c:272
+msgid "_Open with..."
+msgstr "Άν_οιγμα με..."
+
+#: ../src/main_window.c:273
+msgid "_Sorting"
+msgstr "_Ταξινόμηση"
-#: ../src/main_window.c:396 ../src/main_window.c:670
-msgid "No applications available"
-msgstr "Μη διαθέσιμες εφαρμογές"
+#: ../src/main_window.c:274
+msgid "_Delete"
+msgstr "_Διαγραφή"
-#. Create 'View' menu
-#: ../src/main_window.c:405
+#: ../src/main_window.c:275
+msgid "_Preferences"
+msgstr "_Προτιμήσεις"
+
+#. View Menu
+#: ../src/main_window.c:277
msgid "_View"
msgstr "_Εμφάνιση"
-#: ../src/main_window.c:412
-msgid "Show _Toolbar"
-msgstr "Εμφάνιση _εργαλειοθήκης"
+#: ../src/main_window.c:278
+msgid "_Fullscreen"
+msgstr "_Πλήρης Οθόνη"
+
+#: ../src/main_window.c:279
+msgid "_Leave Fullscreen"
+msgstr "Έξ_οδος από πλήρη οθόνη"
-#: ../src/main_window.c:413
-msgid "Thumbnail _Viewer"
-msgstr "Εμφάνιση Ει_κονιδίων"
+#: ../src/main_window.c:280
+msgid "_Set as Wallpaper"
+msgstr "_Ορισμός της επιφάνεια εργασίας"
-#: ../src/main_window.c:417
+#. Zoom submenu
+#: ../src/main_window.c:282
msgid "_Zooming"
msgstr "_Mεγέθυνση"
-#: ../src/main_window.c:418
-msgid "_Rotate"
-msgstr "_Περιστροφή"
+#: ../src/main_window.c:283
+msgid "Zoom _In"
+msgstr "Μεγέ_θυνση"
-#: ../src/main_window.c:425
-msgid "_Set as wallpaper"
-msgstr "_Θέσε ως επιφάνεια εργασίας"
+#: ../src/main_window.c:284
+msgid "Zoom _Out"
+msgstr "Σ_μίκρυνση"
-#: ../src/main_window.c:476
-msgid "Show _Horizontally"
-msgstr "Ορ_ιζόντια εμφάνιση"
+#: ../src/main_window.c:285
+msgid "Zoom _Fit"
+msgstr "_Βέλτιστη μεγέθυνση"
-#: ../src/main_window.c:480
-msgid "Show _Vertically"
-msgstr "_Κάθετη εμφάνιση"
+#: ../src/main_window.c:286
+msgid "_Normal Size"
+msgstr "Κανο_νικό μέγεθος"
-#: ../src/main_window.c:484
-msgid "H_ide"
-msgstr "Απόκρ_υψη"
+#. Rotation submenu
+#: ../src/main_window.c:288
+msgid "_Rotation"
+msgstr "_Περιστροφή"
-#: ../src/main_window.c:521
+#: ../src/main_window.c:289
msgid "Rotate _Right"
msgstr "Δ_εξιά περιστροφή"
-#: ../src/main_window.c:522
+#: ../src/main_window.c:290
msgid "Rotate _Left"
msgstr "Αρ_ιστερή περιστροφή"
-#. Create 'Go' menu
-#: ../src/main_window.c:543
+#. Go Menu
+#: ../src/main_window.c:292
msgid "_Go"
msgstr "_Μετάβαση"
-#. Create 'Help' menu
-#: ../src/main_window.c:574
+#: ../src/main_window.c:293
+msgid "_Forward"
+msgstr "_Επόμενη"
+
+#: ../src/main_window.c:294
+msgid "_Back"
+msgstr "_Προηγούμενη"
+
+#: ../src/main_window.c:295
+msgid "_First"
+msgstr "_Πρώτη"
+
+#: ../src/main_window.c:296
+msgid "_Last"
+msgstr "_Τελευταία"
+
+#. Help Menu
+#: ../src/main_window.c:298
msgid "_Help"
msgstr "_Βοήθεια"
-#: ../src/main_window.c:906
-msgid "One or more images have been modified, do you want to save the changes?"
-msgstr ""
-"Μία ή περισσότερες εικόνες έχουν τροποποιηθεί, θέλετε να αποθηκεύσετε τις "
-"αλλαγές;"
+#: ../src/main_window.c:300
+msgid "_Contents"
+msgstr "_Περιεχόμενα"
+
+#: ../src/main_window.c:302
+msgid "Display ristretto user manual"
+msgstr "Εμφανίζει την τεκμηρίωση του ristretto"
+
+#: ../src/main_window.c:305
+msgid "_About"
+msgstr "_Περί"
+
+#: ../src/main_window.c:307
+msgid "Display information about ristretto"
+msgstr "Εμφάνιση πληροφοριών σχετικά με το ristretto"
+
+#. Position Menu
+#: ../src/main_window.c:310
+msgid "_Position"
+msgstr "_Θέση"
+
+#. Misc
+#: ../src/main_window.c:312
+msgid "Leave _Fullscreen"
+msgstr "Επαναφορά από πλ_ήρη οθόνη"
+
+#. Toggle visibility of the main file toolbar
+#: ../src/main_window.c:320
+msgid "Show _File Toolbar"
+msgstr "Εμφάνιση εργαλειοθήκης _αρχείο"
+
+#. Toggle visibility of the main navigation toolbar
+#: ../src/main_window.c:322
+msgid "Show _Navigation Toolbar"
+msgstr "Εμφάνιση εργαλειοθήκης _περιήγηση"
+
+#. Toggle visibility of the thumbnailbar
+#: ../src/main_window.c:324
+msgid "Show _Thumbnailbar"
+msgstr "Εμφάνιση μπάρας _μικρογραφιών"
+
+#. Sort by Filename
+#: ../src/main_window.c:331
+msgid "sort by filename"
+msgstr "Ταξινόμηση ανά όνομα αρχείου"
+
+#. Sort by Date
+#: ../src/main_window.c:333
+msgid "sort by date"
+msgstr "Ταξινόμηση ανά ημερομηνία"
+
+#: ../src/main_window.c:339
+msgid "Left"
+msgstr "Αριστερά"
+
+#: ../src/main_window.c:340
+msgid "Right"
+msgstr "Δεξιά"
+
+#: ../src/main_window.c:341
+msgid "Top"
+msgstr "Πάνω"
+
+#: ../src/main_window.c:342
+msgid "Bottom"
+msgstr "Κάτω"
+
+#: ../src/main_window.c:512
+#: ../src/main_window.c:778
+msgid "Press open to select an image"
+msgstr "Πατήστε άνοιγμα για να επιλέξετε μία εικόνα"
-#: ../src/main_window.c:1394
-msgid "Image viewer Preferences"
-msgstr "Ρυθμίσεις εφαρμογής προβολής εικόνων"
+#: ../src/main_window.c:765
+#: ../src/main_window.c:770
+msgid "Empty"
+msgstr "Κενή"
-#: ../src/main_window.c:1412
+#: ../src/main_window.c:1545
+msgid "Developer:"
+msgstr "Δημιουργός:"
+
+#: ../src/main_window.c:1555
+msgid "Ristretto is an imageviewer for the Xfce desktop environment."
+msgstr "Το ristretto είναι ένα εμφάνισης εικόνων για το γραφικό περιβάλλον xfce."
+
+#: ../src/main_window.c:1563
+msgid "translator-credits"
+msgstr "Evaggelos Balaskas <ebalaskas at ebalaskas.gr> 2008, 2009"
+
+#: ../src/main_window.c:1878
+msgid "Open image"
+msgstr "Άνοιγμα εικόνας"
+
+#: ../src/main_window.c:1890
+msgid "Images"
+msgstr "Εικόνες"
+
+#: ../src/main_window.c:1895
+msgid ".jp(e)g"
+msgstr ".jp(e)g"
+
+#: ../src/main_window.c:1917
+#: ../src/main_window.c:1940
+#: ../src/main_window.c:2099
+#: ../src/main_window.c:2114
+msgid "Could not open file"
+msgstr "Αποτυχία ανοίγματος εικόνας"
+
+#: ../src/main_window.c:1992
+msgid "Open folder"
+msgstr "Άνοιγμα καταλόγου"
+
+#: ../src/main_window.c:2137
+msgid "Save copy"
+msgstr "Αποθήκευση αντίγραφου"
+
+#: ../src/main_window.c:2210
+#, c-format
+msgid "Are you sure you want to delete image '%s' from disk?"
+msgstr "Είστε σίγουροι ότι θέλετε να διαγράψετε την εικόνα '%s' από το δίσκο;"
+
+#: ../src/preferences_dialog.c:230
msgid "Display"
msgstr "Προβολή"
-#: ../src/main_window.c:1416
+#: ../src/preferences_dialog.c:235
+msgid "Background color"
+msgstr "Χρώμα παρασκηνίου"
+
+#: ../src/preferences_dialog.c:239
+msgid "Override background color:"
+msgstr "Αγνόησε το χρώμα παρασκηνίου:"
+
+#: ../src/preferences_dialog.c:267
+msgid "Quality"
+msgstr "Ποιότητα"
+
+#: ../src/preferences_dialog.c:271
+msgid "Maximum render quality:"
+msgstr "Μέγιστη ποιότητα ανάλυσης:"
+
+#: ../src/preferences_dialog.c:274
+msgid "Show preview when loading image"
+msgstr "Να εμφανίζεται η προεσκόπιση κατά την φόρτωση των εικόνων"
+
+#: ../src/preferences_dialog.c:281
+msgid "Best"
+msgstr "Καλύτερο"
+
+#: ../src/preferences_dialog.c:282
+msgid "High"
+msgstr "Υψηλή"
+
+#: ../src/preferences_dialog.c:283
+msgid "Medium"
+msgstr "Μεσαίο"
+
+#: ../src/preferences_dialog.c:284
+msgid "Low"
+msgstr "Χαμηλή"
+
+#: ../src/preferences_dialog.c:324
msgid "Slideshow"
msgstr "Διαφάνειες"
-#: ../src/main_window.c:1420
+#: ../src/preferences_dialog.c:328
+msgid "Timeout"
+msgstr "Χρονικό όριο"
+
+#: ../src/preferences_dialog.c:331
+msgid ""
+"The time period an individual image is displayed during a slideshow\n"
+"(in seconds)"
+msgstr ""
+"Η χρονική περίοδος εμφάνισης μία ανεξάρτητης εικόνας ανάμεσα στις διαφάνειες\n"
+"(σε δευτερόλεπτα)"
+
+#: ../src/preferences_dialog.c:346
+msgid "Thumbnails"
+msgstr "Μικρογραφίες"
+
+#: ../src/preferences_dialog.c:349
+msgid ""
+"The thumbnailbar can be automatically hidden \n"
+"when the image-viewer is fullscreen."
+msgstr ""
+"Η μπάρα μικρογραφιών μπορεί να αποκρύβεται αυτόματα\n"
+"όταν η προβολή εικόνων είναι σε πλήρη οθόνη."
+
+#: ../src/preferences_dialog.c:351
+msgid "Hide thumbnailbar when fullscreen"
+msgstr "Απόκρυψη της μπάρας μικρογραφιών κατά την πλήρη οθόνη"
+
+#: ../src/preferences_dialog.c:364
+msgid "Control"
+msgstr "Έλεγχος"
+
+#: ../src/preferences_dialog.c:368
+msgid "Scrollwheel"
+msgstr "Κύλιση με τη ροδέλα"
+
+#: ../src/preferences_dialog.c:371
+msgid "No action"
+msgstr "Καμία ενέργεια"
+
+#: ../src/preferences_dialog.c:375
+msgid "Zoom in and out"
+msgstr "Μεγέθυνση και σμίκρυνση"
+
+#: ../src/preferences_dialog.c:378
+msgid "Switch images"
+msgstr "Εναλλαγή εικόνων"
+
+#: ../src/preferences_dialog.c:412
msgid "Behaviour"
msgstr "Συμπεριφορά"
-#: ../src/main_window.c:1425
+#: ../src/preferences_dialog.c:417
msgid "Scaling"
msgstr "Αλλαγή κλίμακας"
-#: ../src/main_window.c:1427
+#: ../src/preferences_dialog.c:422
msgid "Don't scale over 100% when maximizing the window."
msgstr "Να μην γίνει μεγέθυνση πάνω από 100% όταν μεγιστοποιείται το παράθυρο."
-#: ../src/main_window.c:1437
-msgid "Background Color"
-msgstr "Χρώμα παρασκηνίου"
+#: ../src/preferences_dialog.c:426
+msgid "Startup"
+msgstr "Εκκίνηση"
+
+#: ../src/preferences_dialog.c:428
+msgid "Resize window to image on startup"
+msgstr "Να αλλάζει το μέγεθος του παραθύρου στο μέγεθος της εικόνας κατά την εκκίνηση"
-#: ../src/main_window.c:1439
-msgid "_Override Background Color:"
-msgstr "_Αγνόησε το χρώμα παρασκηνίου:"
+#: ../src/preferences_dialog.c:432
+msgid "Open entire folder on startup"
+msgstr "Άνοιγμα ολόκληρου του φακέλου κατά την εκκίνηση"
-#: ../src/main_window.c:1462
-msgid "Image Cache"
+#: ../src/preferences_dialog.c:437
+msgid "Wrap around images"
+msgstr "Αναδίπλωση γύρω από τις εικόνες"
+
+#: ../src/preferences_dialog.c:453
+msgid "Memory"
+msgstr "Μνήμη"
+
+#: ../src/preferences_dialog.c:459
+msgid "Image cache"
msgstr "Προσωρινή μνήμη εικόνας"
-#: ../src/main_window.c:1465
-msgid "Cache size:"
-msgstr "Μέγεθος προσωρινής μνήμης:"
+#: ../src/preferences_dialog.c:465
+msgid "Cache size"
+msgstr "Μέγεθος προσωρινής μνήμης"
-#: ../src/main_window.c:1466
+#: ../src/preferences_dialog.c:466
msgid "MB"
msgstr "ΜΒ"
-#: ../src/main_window.c:1468
-msgid "_Preload images (GUI more responsive but more CPU-intensive)"
-msgstr ""
-"_Προ-φόρτωση των εικόνων\n"
-"(το GUI ανταποκρίνεται καλύτερα, αλλά είναι πιο CPU απαιτητικό)"
+#: ../src/preferences_dialog.c:469
+msgid "Enable cache"
+msgstr "Ενεργοποίηση προσωρινής μνήμης"
-#: ../src/main_window.c:1486
-msgid "Timeout"
-msgstr "Χρονικό όριο"
+#: ../src/preferences_dialog.c:474
+msgid "Preload images"
+msgstr "Προφόρτωση εικόνων"
-#: ../src/main_window.c:1489
-msgid "Thumbnails"
-msgstr "Εικονίδια"
+#: ../src/preferences_dialog.c:544
+msgid "Preferences"
+msgstr "Προτιμήσεις"
-#: ../src/main_window.c:1494
-msgid ""
-"The time period an individual image is displayed during a slideshow\n"
-"(in seconds)"
-msgstr ""
-"Η χρονική περίοδος εμφάνισης μία ανεξάρτητης εικόνας ανάμεσα στις "
-"διαφάνειες\n"
-"(σε δευτερόλεπτα)"
+#: ../src/xfce_wallpaper_manager.c:84
+msgid "Set as wallpaper"
+msgstr "Ορισμός ως φόντο"
-#: ../src/main_window.c:1497
-msgid "Hide the thumbnails bar during slideshow"
-msgstr ""
-"Απόκρυψη της μπάρας εικονιδίων κατά την διάρκεια της προβολής των διαφανειών"
+#: ../src/xfce_wallpaper_manager.c:86
+msgid "Style:"
+msgstr "Στυλ:"
-#: ../src/main_window.c:1498
-msgid "_Hide thumbnails"
-msgstr "Απ_όκρυψη εικονιδίων"
+#: ../src/xfce_wallpaper_manager.c:88
+msgid "Monitor:"
+msgstr "Οθόνη:"
-#: ../src/main_window.c:1556
-msgid "Developer:"
-msgstr "Δημιουργός:"
+#: ../src/xfce_wallpaper_manager.c:90
+msgid "Brightness:"
+msgstr "Φωτεινότητα:"
-#: ../src/main_window.c:1566
-msgid ""
-"Ristretto is a fast and lightweight picture-viewer for the Xfce desktop "
-"environment."
-msgstr ""
-"Το ristretto είναι ένα γρήγορο και ελαφρύ πρόγραμμα εμφάνισης εικόνων\n"
-" για το γραφικό περιβάλλον xfce."
+#: ../src/xfce_wallpaper_manager.c:91
+msgid "Saturation:"
+msgstr "Περιστροφή:"
-#: ../src/main_window.c:1574
-msgid "translator-credits"
-msgstr "Evaggelos Balaskas <ebalaskas at ebalaskas.gr> 2008, 2009"
+#: ../src/xfce_wallpaper_manager.c:123
+msgid "Auto"
+msgstr "Αυτόματο"
-#: ../src/main_window.c:1600
-msgid "Open image"
-msgstr "Άνοιγμα εικόνας"
+#: ../src/xfce_wallpaper_manager.c:124
+msgid "Centered"
+msgstr "Κεντραρισμένο"
-#: ../src/main_window.c:1618
-msgid "Could not open file"
-msgstr "Αποτυχία ανοίγματος εικόνας"
+#: ../src/xfce_wallpaper_manager.c:125
+msgid "Tiled"
+msgstr "Μικρογραφία"
-#: ../src/main_window.c:1640
-msgid "Open folder"
-msgstr "Άνοιγμα καταλόγου"
+#: ../src/xfce_wallpaper_manager.c:126
+msgid "Stretched"
+msgstr "Τεντωμένο"
-#: ../src/main_window.c:1715
-msgid ""
-"Are you sure you want to clear ristretto's list of recently opened documents?"
-msgstr ""
-"Είστε σίγουροι ότι θέλετε να καθαρίσετε τις λίστες του ristretto για τα πιο "
-"πρόσφατα αρχεία που ανοίχτηκαν;"
+#: ../src/xfce_wallpaper_manager.c:127
+msgid "Scaled"
+msgstr "Σε κλίμακα"
-#: ../src/thumbnail_bar.c:185
+#: ../src/xfce_wallpaper_manager.c:128
+msgid "Zoomed"
+msgstr "Μεγενθημένο"
+
+#: ../src/thumbnail_bar.c:187
msgid "Spacing"
msgstr "Διαστήματα"
-#: ../src/thumbnail_bar.c:186
+#: ../src/thumbnail_bar.c:188
msgid "The amount of space between the thumbnails"
-msgstr "Το διάστημα μεταξύ των εικονιδίων"
+msgstr "Το διάστημα μεταξύ των μικρογραφιών"
+
+#: ../src/thumbnail_bar.c:194
+msgid "border width"
+msgstr "μέγεθος περιγράμματος"
-#: ../src/thumbnail_bar.c:192
-msgid "Border Width"
-msgstr "Μέγεθος περιγράμματος"
+#: ../src/thumbnail_bar.c:195
+msgid "the border width of the thumbnail-bar"
+msgstr "Το πλάτος του περιγράμματος της μπάρας των μικρογραφιών"
-#: ../src/thumbnail_bar.c:193
-msgid "The border width of the thumbnail-bar"
-msgstr "Το πλάτος του περιγράμματος της μπάρας των εικονιδίων"
+#: ../src/thumbnail_bar.c:201
+msgid "filmstrip width"
+msgstr "πλάτος φιλμ"
+
+#: ../src/thumbnail_bar.c:202
+msgid "the width of the thumbnail-bar film-strip"
+msgstr "το πλάτος της εργαλειοθήκης των μικρογραφιών φίλμ"
#: ../ristretto.desktop.in.h:1
msgid "Image Viewer"
msgstr "Εφαρμογή προβολής εικόνων"
#: ../ristretto.desktop.in.h:2
-msgid "Ristretto"
-msgstr "Ristretto"
+msgid "Look at your photo's easily"
+msgstr "Δείτε τις εικόνες σας εύκολα"
#: ../ristretto.desktop.in.h:3
-msgid "Xfce Image viewer"
-msgstr "Εφαρμογή προβολής εικόνων για το xfce"
-
-#~ msgid "Preload"
-#~ msgstr "Προφόρτωση"
-
-#~ msgid ""
-#~ "Preload images during slideshow\n"
-#~ "(uses more memory)"
-#~ msgstr ""
-#~ "Προφόρτωση εικόνων κατά την διάρκεια διαφανειών\n"
-#~ "(χρησιμοποιεί περισσότερη μνήμη)"
+msgid "Ristretto Photo Viewer"
+msgstr "Προβολέας εικόνων ristretto"
-#~ msgid "_Preload images"
-#~ msgstr "_Προφόρτωση εικόνων"
diff --git a/po/en_GB.po b/po/en_GB.po
index c4f3e7f..3204621 100644
--- a/po/en_GB.po
+++ b/po/en_GB.po
@@ -1,15 +1,14 @@
-# SOME DESCRIPTIVE TITLE.
+# English/GB translation of ristretto.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-# FIRST AUTHOR <EMAIL at ADDRESS>, YEAR.
+# This file is distributed under the same license as the ristretto package.
+# Jeff Bailes <thepizzaking at gmail.com>, 2009
#
-#: ../src/main.c:231
msgid ""
msgstr ""
"Project-Id-Version: ristretto\n"
"Report-Msgid-Bugs-To: xfce-i18n at xfce.org\n"
-"POT-Creation-Date: 2008-11-14 13:24+0100\n"
-"PO-Revision-Date: 2008-05-10 13:15+1000\n"
+"POT-Creation-Date: 2010-01-15 00:57+0100\n"
+"PO-Revision-Date: 2010-01-24 14:08+1100\n"
"Last-Translator: Jeff Bailes <thepizzaking at gmail.com>\n"
"Language-Team: English/GB\n"
"MIME-Version: 1.0\n"
@@ -18,20 +17,19 @@ msgstr ""
"X-Poedit-Language: English\n"
"X-Poedit-Country: UNITED KINGDOM\n"
-#: ../src/main.c:61
+#: ../src/main.c:59
msgid "Version information"
msgstr "Version information"
-#: ../src/main.c:65
+#: ../src/main.c:63
msgid "Start in fullscreen mode"
-msgstr ""
+msgstr "Start in fullscreen mode"
-#: ../src/main.c:69
-#, fuzzy
+#: ../src/main.c:67
msgid "Start a slideshow"
-msgstr "Slideshow"
+msgstr "Start a slideshow"
-#: ../src/main.c:235
+#: ../src/main.c:91
#, c-format
msgid ""
"%s: %s\n"
@@ -40,247 +38,507 @@ msgstr ""
"%s: %s\n"
"Try %s --help to see a full list of available command line options.\n"
-#: ../src/main.c:448 ../src/main_window.c:1598 ../src/main_window.c:1638
-#: ../src/main_window.c:1675
-msgid "Opening file(s)..."
-msgstr "Opening file(s)..."
-
-#. Create 'File' menu
-#: ../src/main_window.c:340
+#. File Menu
+#: ../src/main_window.c:262
msgid "_File"
msgstr "_File"
-#: ../src/main_window.c:347
-msgid "O_pen Folder"
-msgstr "O_pen Folder"
+#: ../src/main_window.c:263
+msgid "_Open"
+msgstr "_Open"
-#: ../src/main_window.c:348
-msgid "_Recently used"
-msgstr "_Recently used"
+#: ../src/main_window.c:263
+msgid "Open an image"
+msgstr "Open an image"
-#: ../src/main_window.c:353
-msgid "Close _all"
-msgstr ""
+#: ../src/main_window.c:264
+msgid "Open _Folder"
+msgstr "Open _Folder"
+
+#: ../src/main_window.c:264
+msgid "Open a folder"
+msgstr "Open a folder"
+
+#: ../src/main_window.c:265
+msgid "_Save copy"
+msgstr "_Save copy"
+
+#: ../src/main_window.c:265
+msgid "Save a copy of the image"
+msgstr "Save a copy of the image"
+
+#: ../src/main_window.c:266
+msgid "_Print"
+msgstr "_Print"
+
+#: ../src/main_window.c:266
+msgid "Print the image"
+msgstr "Print the image"
+
+#: ../src/main_window.c:267
+msgid "_Close"
+msgstr "_Close"
+
+#: ../src/main_window.c:267
+msgid "Close this image"
+msgstr "Close this image"
+
+#: ../src/main_window.c:268
+msgid "_Close All"
+msgstr "_Close All"
+
+#: ../src/main_window.c:268
+msgid "Close all images"
+msgstr "Close all images"
+
+#: ../src/main_window.c:269
+msgid "_Quit"
+msgstr "_Quit"
-#. Create 'Edit' menu
-#: ../src/main_window.c:383
+#: ../src/main_window.c:269
+msgid "Quit Ristretto"
+msgstr "Quit Ristretto"
+
+#. Edit Menu
+#: ../src/main_window.c:271
msgid "_Edit"
msgstr "_Edit"
-#: ../src/main_window.c:388 ../src/main_window.c:659
-msgid "Open with..."
-msgstr "Open with..."
+#: ../src/main_window.c:272
+msgid "_Open with..."
+msgstr "_Open with..."
+
+#: ../src/main_window.c:273
+msgid "_Sorting"
+msgstr "_Sorting"
-#: ../src/main_window.c:396 ../src/main_window.c:670
-msgid "No applications available"
-msgstr "No applications available"
+#: ../src/main_window.c:274
+msgid "_Delete"
+msgstr "_Delete"
-#. Create 'View' menu
-#: ../src/main_window.c:405
+#: ../src/main_window.c:275
+msgid "_Preferences"
+msgstr "_Preferences"
+
+#. View Menu
+#: ../src/main_window.c:277
msgid "_View"
msgstr "_View"
-#: ../src/main_window.c:412
-msgid "Show _Toolbar"
-msgstr "Show _Toolbar"
+#: ../src/main_window.c:278
+msgid "_Fullscreen"
+msgstr "_Fullscreen"
+
+#: ../src/main_window.c:279
+msgid "_Leave Fullscreen"
+msgstr "_Leave Fullscreen"
-#: ../src/main_window.c:413
-msgid "Thumbnail _Viewer"
-msgstr "Thumbnail _Viewer"
+#: ../src/main_window.c:280
+msgid "_Set as Wallpaper"
+msgstr "_Set as Wallpaper"
-#: ../src/main_window.c:417
+#. Zoom submenu
+#: ../src/main_window.c:282
msgid "_Zooming"
msgstr "_Zooming"
-#: ../src/main_window.c:418
-msgid "_Rotate"
-msgstr "_Rotate"
+#: ../src/main_window.c:283
+msgid "Zoom _In"
+msgstr "Zoom _In"
-#: ../src/main_window.c:425
-msgid "_Set as wallpaper"
-msgstr "_Set as wallpaper"
+#: ../src/main_window.c:284
+msgid "Zoom _Out"
+msgstr "Zoom _Out"
-#: ../src/main_window.c:476
-msgid "Show _Horizontally"
-msgstr "Show _Horizontally"
+#: ../src/main_window.c:285
+msgid "Zoom _Fit"
+msgstr "Zoom _Fit"
-#: ../src/main_window.c:480
-msgid "Show _Vertically"
-msgstr "Show _Vertically"
+#: ../src/main_window.c:286
+msgid "_Normal Size"
+msgstr "_Normal Size"
-#: ../src/main_window.c:484
-msgid "H_ide"
-msgstr "H_ide"
+#. Rotation submenu
+#: ../src/main_window.c:288
+msgid "_Rotation"
+msgstr "_Rotation"
-#: ../src/main_window.c:521
+#: ../src/main_window.c:289
msgid "Rotate _Right"
msgstr "Rotate _Right"
-#: ../src/main_window.c:522
+#: ../src/main_window.c:290
msgid "Rotate _Left"
msgstr "Rotate _Left"
-#. Create 'Go' menu
-#: ../src/main_window.c:543
+#. Go Menu
+#: ../src/main_window.c:292
msgid "_Go"
msgstr "_Go"
-#. Create 'Help' menu
-#: ../src/main_window.c:574
+#: ../src/main_window.c:293
+msgid "_Forward"
+msgstr "_Forward"
+
+#: ../src/main_window.c:294
+msgid "_Back"
+msgstr "_Back"
+
+#: ../src/main_window.c:295
+msgid "_First"
+msgstr "_First"
+
+#: ../src/main_window.c:296
+msgid "_Last"
+msgstr "_Last"
+
+#. Help Menu
+#: ../src/main_window.c:298
msgid "_Help"
msgstr "_Help"
-#: ../src/main_window.c:906
-msgid "One or more images have been modified, do you want to save the changes?"
-msgstr ""
+#: ../src/main_window.c:300
+msgid "_Contents"
+msgstr "_Contents"
+
+#: ../src/main_window.c:302
+msgid "Display ristretto user manual"
+msgstr "Display ristretto user manual"
+
+#: ../src/main_window.c:305
+msgid "_About"
+msgstr "_About"
+
+#: ../src/main_window.c:307
+msgid "Display information about ristretto"
+msgstr "Display information about ristretto"
+
+#. Position Menu
+#: ../src/main_window.c:310
+msgid "_Position"
+msgstr "_Position"
+
+#. Misc
+#: ../src/main_window.c:312
+msgid "Leave _Fullscreen"
+msgstr "Leave _Fullscreen"
+
+#. Toggle visibility of the main file toolbar
+#: ../src/main_window.c:320
+msgid "Show _File Toolbar"
+msgstr "Show _File Toolbar"
+
+#. Toggle visibility of the main navigation toolbar
+#: ../src/main_window.c:322
+msgid "Show _Navigation Toolbar"
+msgstr "Show _Navigation Toolbar"
+
+#. Toggle visibility of the thumbnailbar
+#: ../src/main_window.c:324
+msgid "Show _Thumbnailbar"
+msgstr "Show _Thumbnailbar"
+
+#. Sort by Filename
+#: ../src/main_window.c:331
+msgid "sort by filename"
+msgstr "sort by filename"
+
+#. Sort by Date
+#: ../src/main_window.c:333
+msgid "sort by date"
+msgstr "sort by date"
+
+#: ../src/main_window.c:339
+msgid "Left"
+msgstr "Left"
+
+#: ../src/main_window.c:340
+msgid "Right"
+msgstr "Right"
+
+#: ../src/main_window.c:341
+msgid "Top"
+msgstr "Top"
+
+#: ../src/main_window.c:342
+msgid "Bottom"
+msgstr "Bottom"
+
+#: ../src/main_window.c:512 ../src/main_window.c:778
+msgid "Press open to select an image"
+msgstr "Press open to select an image"
-#: ../src/main_window.c:1394
-msgid "Image viewer Preferences"
-msgstr "Image viewer Preferences"
+#: ../src/main_window.c:765 ../src/main_window.c:770
+msgid "Empty"
+msgstr "Empty"
-#: ../src/main_window.c:1412
+#: ../src/main_window.c:1545
+msgid "Developer:"
+msgstr "Developer:"
+
+#: ../src/main_window.c:1555
+msgid "Ristretto is an imageviewer for the Xfce desktop environment."
+msgstr "Ristretto is an imageviewer for the Xfce desktop environment."
+
+#: ../src/main_window.c:1563
+msgid "translator-credits"
+msgstr "Jeff Bailes <thepizzaking at gmail.com>, 2008"
+
+#: ../src/main_window.c:1878
+msgid "Open image"
+msgstr "Open image"
+
+#: ../src/main_window.c:1890
+msgid "Images"
+msgstr "Images"
+
+#: ../src/main_window.c:1895
+msgid ".jp(e)g"
+msgstr ".jp(e)g"
+
+#: ../src/main_window.c:1917 ../src/main_window.c:1940
+#: ../src/main_window.c:2099 ../src/main_window.c:2114
+msgid "Could not open file"
+msgstr "Could not open file"
+
+#: ../src/main_window.c:1992
+msgid "Open folder"
+msgstr "Open folder"
+
+#: ../src/main_window.c:2137
+msgid "Save copy"
+msgstr "Save copy"
+
+#: ../src/main_window.c:2210
+#, c-format
+msgid "Are you sure you want to delete image '%s' from disk?"
+msgstr "Are you sure you want to delete image '%s' from disk?"
+
+#: ../src/preferences_dialog.c:230
msgid "Display"
msgstr "Display"
-#: ../src/main_window.c:1416
+#: ../src/preferences_dialog.c:235
+msgid "Background color"
+msgstr "Background colour"
+
+#: ../src/preferences_dialog.c:239
+msgid "Override background color:"
+msgstr "Override background colour:"
+
+#: ../src/preferences_dialog.c:267
+msgid "Quality"
+msgstr "Quality"
+
+#: ../src/preferences_dialog.c:271
+msgid "Maximum render quality:"
+msgstr "Maximum render quality:"
+
+#: ../src/preferences_dialog.c:274
+msgid "Show preview when loading image"
+msgstr "Show preview when loading image"
+
+#: ../src/preferences_dialog.c:281
+msgid "Best"
+msgstr "Best"
+
+#: ../src/preferences_dialog.c:282
+msgid "High"
+msgstr "High"
+
+#: ../src/preferences_dialog.c:283
+msgid "Medium"
+msgstr "Medium"
+
+#: ../src/preferences_dialog.c:284
+msgid "Low"
+msgstr "Low"
+
+#: ../src/preferences_dialog.c:324
msgid "Slideshow"
msgstr "Slideshow"
-#: ../src/main_window.c:1420
+#: ../src/preferences_dialog.c:328
+msgid "Timeout"
+msgstr "Timeout"
+
+#: ../src/preferences_dialog.c:331
+msgid ""
+"The time period an individual image is displayed during a slideshow\n"
+"(in seconds)"
+msgstr ""
+"The time period an individual image is displayed during a slideshow\n"
+"(in seconds)"
+
+#: ../src/preferences_dialog.c:346
+msgid "Thumbnails"
+msgstr "Thumbnails"
+
+#: ../src/preferences_dialog.c:349
+msgid ""
+"The thumbnailbar can be automatically hidden \n"
+"when the image-viewer is fullscreen."
+msgstr ""
+"The thumbnailbar can be automatically hidden \n"
+"when the image-viewer is fullscreen."
+
+#: ../src/preferences_dialog.c:351
+msgid "Hide thumbnailbar when fullscreen"
+msgstr "Hide thumbnailbar when fullscreen"
+
+#: ../src/preferences_dialog.c:364
+msgid "Control"
+msgstr "Control"
+
+#: ../src/preferences_dialog.c:368
+msgid "Scrollwheel"
+msgstr "Scrollwheel"
+
+#: ../src/preferences_dialog.c:371
+msgid "No action"
+msgstr "No action"
+
+#: ../src/preferences_dialog.c:375
+msgid "Zoom in and out"
+msgstr "Zoom in and out"
+
+#: ../src/preferences_dialog.c:378
+msgid "Switch images"
+msgstr "Switch images"
+
+#: ../src/preferences_dialog.c:412
msgid "Behaviour"
msgstr "Behaviour"
-#: ../src/main_window.c:1425
+#: ../src/preferences_dialog.c:417
msgid "Scaling"
msgstr "Scaling"
-#: ../src/main_window.c:1427
+#: ../src/preferences_dialog.c:422
msgid "Don't scale over 100% when maximizing the window."
msgstr "Don't scale over 100% when maximising the window."
-#: ../src/main_window.c:1437
-msgid "Background Color"
-msgstr "Background Colour"
+#: ../src/preferences_dialog.c:426
+msgid "Startup"
+msgstr "Startup"
-#: ../src/main_window.c:1439
-msgid "_Override Background Color:"
-msgstr "_Override Background Colour:"
+#: ../src/preferences_dialog.c:428
+msgid "Resize window to image on startup"
+msgstr "Resize window to image on startup"
-#: ../src/main_window.c:1462
-msgid "Image Cache"
-msgstr "Image Cache"
+#: ../src/preferences_dialog.c:432
+msgid "Open entire folder on startup"
+msgstr "Open entire folder on startup"
-#: ../src/main_window.c:1465
-msgid "Cache size:"
-msgstr "Cache size:"
+#: ../src/preferences_dialog.c:437
+msgid "Wrap around images"
+msgstr "Wrap around images"
-#: ../src/main_window.c:1466
+#: ../src/preferences_dialog.c:453
+msgid "Memory"
+msgstr "Memory"
+
+#: ../src/preferences_dialog.c:459
+msgid "Image cache"
+msgstr "Image cache"
+
+#: ../src/preferences_dialog.c:465
+msgid "Cache size"
+msgstr "Cache size"
+
+#: ../src/preferences_dialog.c:466
msgid "MB"
msgstr "MB"
-#: ../src/main_window.c:1468
-msgid "_Preload images (GUI more responsive but more CPU-intensive)"
-msgstr ""
+#: ../src/preferences_dialog.c:469
+msgid "Enable cache"
+msgstr "Enable cache"
-#: ../src/main_window.c:1486
-msgid "Timeout"
-msgstr "Timeout"
+#: ../src/preferences_dialog.c:474
+msgid "Preload images"
+msgstr "Preload images"
-#: ../src/main_window.c:1489
-#, fuzzy
-msgid "Thumbnails"
-msgstr "Thumbnail _Viewer"
+#: ../src/preferences_dialog.c:544
+msgid "Preferences"
+msgstr "Preferences"
-#: ../src/main_window.c:1494
-msgid ""
-"The time period an individual image is displayed during a slideshow\n"
-"(in seconds)"
-msgstr ""
-"The time period an individual image is displayed during a slideshow\n"
-"(in seconds)"
+#: ../src/xfce_wallpaper_manager.c:84
+msgid "Set as wallpaper"
+msgstr "Set as wallpaper"
-#: ../src/main_window.c:1497
-msgid "Hide the thumbnails bar during slideshow"
-msgstr ""
+#: ../src/xfce_wallpaper_manager.c:86
+msgid "Style:"
+msgstr "Style:"
-#: ../src/main_window.c:1498
-msgid "_Hide thumbnails"
-msgstr ""
+#: ../src/xfce_wallpaper_manager.c:88
+msgid "Monitor:"
+msgstr "Monitor:"
-#: ../src/main_window.c:1556
-msgid "Developer:"
-msgstr "Developer:"
+#: ../src/xfce_wallpaper_manager.c:90
+msgid "Brightness:"
+msgstr "Brightness:"
-#: ../src/main_window.c:1566
-msgid ""
-"Ristretto is a fast and lightweight picture-viewer for the Xfce desktop "
-"environment."
-msgstr ""
-"Ristretto is a fast and lightweight picture-viewer for the Xfce desktop "
-"environment."
+#: ../src/xfce_wallpaper_manager.c:91
+msgid "Saturation:"
+msgstr "Saturation:"
-#: ../src/main_window.c:1574
-msgid "translator-credits"
-msgstr "Jeff Bailes <thepizzaking at gmail.com>, 2008"
+#: ../src/xfce_wallpaper_manager.c:123
+msgid "Auto"
+msgstr "Auto"
-#: ../src/main_window.c:1600
-msgid "Open image"
-msgstr "Open image"
+#: ../src/xfce_wallpaper_manager.c:124
+msgid "Centered"
+msgstr "Centred"
-#: ../src/main_window.c:1618
-msgid "Could not open file"
-msgstr "Could not open file"
+#: ../src/xfce_wallpaper_manager.c:125
+msgid "Tiled"
+msgstr "Tiled"
-#: ../src/main_window.c:1640
-msgid "Open folder"
-msgstr "Open folder"
+#: ../src/xfce_wallpaper_manager.c:126
+msgid "Stretched"
+msgstr "Stretched"
-#: ../src/main_window.c:1715
-msgid ""
-"Are you sure you want to clear ristretto's list of recently opened documents?"
-msgstr ""
-"Are you sure you want to clear ristretto's list of recently opened documents?"
+#: ../src/xfce_wallpaper_manager.c:127
+msgid "Scaled"
+msgstr "Scaled"
-#: ../src/thumbnail_bar.c:185
+#: ../src/xfce_wallpaper_manager.c:128
+msgid "Zoomed"
+msgstr "Zoomed"
+
+#: ../src/thumbnail_bar.c:187
msgid "Spacing"
msgstr "Spacing"
-#: ../src/thumbnail_bar.c:186
+#: ../src/thumbnail_bar.c:188
msgid "The amount of space between the thumbnails"
msgstr "The amount of space between the thumbnails"
-#: ../src/thumbnail_bar.c:192
-msgid "Border Width"
-msgstr "Border Width"
+#: ../src/thumbnail_bar.c:194
+msgid "border width"
+msgstr "border width"
+
+#: ../src/thumbnail_bar.c:195
+msgid "the border width of the thumbnail-bar"
+msgstr "the border width of the thumbnail-bar"
-#: ../src/thumbnail_bar.c:193
-msgid "The border width of the thumbnail-bar"
-msgstr "The border width of the thumbnail-bar"
+#: ../src/thumbnail_bar.c:201
+msgid "filmstrip width"
+msgstr "filmstrip width"
+
+#: ../src/thumbnail_bar.c:202
+msgid "the width of the thumbnail-bar film-strip"
+msgstr "the width of the thumbnail-bar film-strip"
#: ../ristretto.desktop.in.h:1
msgid "Image Viewer"
msgstr "Image Viewer"
#: ../ristretto.desktop.in.h:2
-msgid "Ristretto"
-msgstr ""
+msgid "Look at your photo's easily"
+msgstr "Look at your photo's easily"
#: ../ristretto.desktop.in.h:3
-msgid "Xfce Image viewer"
-msgstr "Xfce Image viewer"
-
-#~ msgid "Preload"
-#~ msgstr "Preload"
-
-#~ msgid ""
-#~ "Preload images during slideshow\n"
-#~ "(uses more memory)"
-#~ msgstr ""
-#~ "Preload images during slideshow\n"
-#~ "(uses more memory)"
-
-#~ msgid "_Preload images"
-#~ msgstr "_Preload images"
+msgid "Ristretto Photo Viewer"
+msgstr "Ristretto Photo Viewer"
-#~ msgid "Ristretto Image Viewer"
-#~ msgstr "Ristretto Image Viewer"
diff --git a/po/es.po b/po/es.po
index 9f6feee..2e17524 100644
--- a/po/es.po
+++ b/po/es.po
@@ -2,33 +2,33 @@
# Copyright (C) 2007 THE ristretto'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# Abel Martín <abel.martin.ruiz at gmail.com>, 2008
-#
+#
msgid ""
msgstr ""
"Project-Id-Version: ristretto\n"
"Report-Msgid-Bugs-To: xfce-i18n at xfce.org\n"
-"POT-Creation-Date: 2008-11-14 13:24+0100\n"
-"PO-Revision-Date: 2008-12-16 21:27+0100\n"
-"Last-Translator: Abel Martín <abel.martin.ruiz at gmail.com>\n"
+"POT-Creation-Date: 2010-01-15 00:57+0100\n"
+"PO-Revision-Date: 2009-11-06 09:18-0300\n"
+"Last-Translator: elega <elega at elega.com.ar>\n"
"Language-Team: Spanish <xfce-i18n at xfce.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Poedit-Bookmarks: -1,-1,-1,-1,-1,-1,11,-1,-1,-1\n"
+"X-Poedit-Bookmarks: -1,-1,-1,-1,-1,84,11,-1,-1,-1\n"
-#: ../src/main.c:61
+#: ../src/main.c:59
msgid "Version information"
msgstr "Información de versión"
-#: ../src/main.c:65
+#: ../src/main.c:63
msgid "Start in fullscreen mode"
msgstr "Iniciar en modo pantalla completa"
-#: ../src/main.c:69
+#: ../src/main.c:67
msgid "Start a slideshow"
msgstr "Iniciar diapositivas"
-#: ../src/main.c:235
+#: ../src/main.c:91
#, c-format
msgid ""
"%s: %s\n"
@@ -37,246 +37,566 @@ msgstr ""
"%s: %s\n"
"Pruebe %s --help para ver una lista completa de opciones de línea de comando disponibles.\n"
-#: ../src/main.c:448
-#: ../src/main_window.c:1598
-#: ../src/main_window.c:1638
-#: ../src/main_window.c:1675
-msgid "Opening file(s)..."
-msgstr "Abriendo fichero(s)..."
-
-#. Create 'File' menu
-#: ../src/main_window.c:340
+#. File Menu
+#: ../src/main_window.c:262
msgid "_File"
msgstr "_Archivo"
-#: ../src/main_window.c:347
-msgid "O_pen Folder"
-msgstr "_Abrir carpeta"
+#: ../src/main_window.c:263
+msgid "_Open"
+msgstr "_Abrir"
+
+#: ../src/main_window.c:263
+msgid "Open an image"
+msgstr "Abrir una imagen"
+
+#: ../src/main_window.c:264
+msgid "Open _Folder"
+msgstr "Abrir _carpeta"
+
+#: ../src/main_window.c:264
+msgid "Open a folder"
+msgstr "Abrir una carpeta"
+
+#: ../src/main_window.c:265
+msgid "_Save copy"
+msgstr "_Guardar copia"
+
+#: ../src/main_window.c:265
+msgid "Save a copy of the image"
+msgstr "Guardar una copia de la imagen"
+
+#: ../src/main_window.c:266
+msgid "_Print"
+msgstr "_Imprimir"
+
+#: ../src/main_window.c:266
+msgid "Print the image"
+msgstr "Imprimir esta imagen"
-#: ../src/main_window.c:348
-msgid "_Recently used"
-msgstr "_Recientemente usados"
+#: ../src/main_window.c:267
+msgid "_Close"
+msgstr "_Cerrar"
-#: ../src/main_window.c:353
-msgid "Close _all"
-msgstr "Cerrar _todo"
+#: ../src/main_window.c:267
+msgid "Close this image"
+msgstr "Cerrar esta imagen"
-#. Create 'Edit' menu
-#: ../src/main_window.c:383
+#: ../src/main_window.c:268
+msgid "_Close All"
+msgstr "_Cerrar todo"
+
+#: ../src/main_window.c:268
+msgid "Close all images"
+msgstr "Cerrar todas las imágenes"
+
+#: ../src/main_window.c:269
+msgid "_Quit"
+msgstr "_Salir"
+
+#: ../src/main_window.c:269
+msgid "Quit Ristretto"
+msgstr "Salir de Ristretto"
+
+#. Edit Menu
+#: ../src/main_window.c:271
msgid "_Edit"
msgstr "_Editar"
-#: ../src/main_window.c:388
-#: ../src/main_window.c:659
-msgid "Open with..."
-msgstr "Abrir con..."
+#: ../src/main_window.c:272
+msgid "_Open with..."
+msgstr "_Abrir con..."
-#: ../src/main_window.c:396
-#: ../src/main_window.c:670
-msgid "No applications available"
-msgstr "No hay aplicaciones disponibles"
+#: ../src/main_window.c:273
+msgid "_Sorting"
+msgstr "_Ordenar"
-#. Create 'View' menu
-#: ../src/main_window.c:405
+#: ../src/main_window.c:274
+msgid "_Delete"
+msgstr "_Eliminar"
+
+#: ../src/main_window.c:275
+msgid "_Preferences"
+msgstr "_Preferencias"
+
+#. View Menu
+#: ../src/main_window.c:277
msgid "_View"
msgstr "_Ver"
-#: ../src/main_window.c:412
-msgid "Show _Toolbar"
-msgstr "Mostrar _barra de herramientas"
+#: ../src/main_window.c:278
+msgid "_Fullscreen"
+msgstr "_Pantalla completa"
-#: ../src/main_window.c:413
-msgid "Thumbnail _Viewer"
-msgstr "_Visor de miniaturas"
+#: ../src/main_window.c:279
+msgid "_Leave Fullscreen"
+msgstr "_Salir de pantalla completa"
+
+#: ../src/main_window.c:280
+msgid "_Set as Wallpaper"
+msgstr "_Establecer como fondo de escritorio"
-#: ../src/main_window.c:417
+#. Zoom submenu
+#: ../src/main_window.c:282
msgid "_Zooming"
-msgstr "_Ampliar"
+msgstr "_Zoom"
-#: ../src/main_window.c:418
-msgid "_Rotate"
-msgstr "_Rotar"
+#: ../src/main_window.c:283
+msgid "Zoom _In"
+msgstr "_Ampliar"
-#: ../src/main_window.c:425
-msgid "_Set as wallpaper"
-msgstr "_Establecer como fondo de escritorio"
+#: ../src/main_window.c:284
+msgid "Zoom _Out"
+msgstr "_Reducir"
-#: ../src/main_window.c:476
-msgid "Show _Horizontally"
-msgstr "Mostrar _horizontalmente"
+#: ../src/main_window.c:285
+msgid "Zoom _Fit"
+msgstr "_Ajustar"
-#: ../src/main_window.c:480
-msgid "Show _Vertically"
-msgstr "Mostrar _verticalmente"
+#: ../src/main_window.c:286
+msgid "_Normal Size"
+msgstr "_Tamaño normal"
-#: ../src/main_window.c:484
-msgid "H_ide"
-msgstr "_Ocultar"
+#. Rotation submenu
+#: ../src/main_window.c:288
+msgid "_Rotation"
+msgstr "_Rotar"
-#: ../src/main_window.c:521
+#: ../src/main_window.c:289
msgid "Rotate _Right"
msgstr "Girar a la _derecha"
-#: ../src/main_window.c:522
+#: ../src/main_window.c:290
msgid "Rotate _Left"
msgstr "Girar a la _izquierda"
-#. Create 'Go' menu
-#: ../src/main_window.c:543
+#. Go Menu
+#: ../src/main_window.c:292
msgid "_Go"
msgstr "_Ir"
-#. Create 'Help' menu
-#: ../src/main_window.c:574
+#: ../src/main_window.c:293
+msgid "_Forward"
+msgstr "_Avanzar"
+
+#: ../src/main_window.c:294
+msgid "_Back"
+msgstr "_Retroceder"
+
+#: ../src/main_window.c:295
+msgid "_First"
+msgstr "_Primera"
+
+#: ../src/main_window.c:296
+msgid "_Last"
+msgstr "_Ultima"
+
+#. Help Menu
+#: ../src/main_window.c:298
msgid "_Help"
msgstr "Ay_uda"
-#: ../src/main_window.c:906
-msgid "One or more images have been modified, do you want to save the changes?"
-msgstr "Una o más imágenes han sido modificadas. ¿Desea guardar los cambios?"
+#: ../src/main_window.c:300
+msgid "_Contents"
+msgstr "_Contenidos"
+
+#: ../src/main_window.c:302
+msgid "Display ristretto user manual"
+msgstr "Mostar el manual de usuario de ristretto"
+
+#: ../src/main_window.c:305
+msgid "_About"
+msgstr "_Acerca de"
+
+#: ../src/main_window.c:307
+msgid "Display information about ristretto"
+msgstr "Mostrar información acerca de ristretto"
+
+#. Position Menu
+#: ../src/main_window.c:310
+msgid "_Position"
+msgstr "_Posición"
+
+#. Misc
+#: ../src/main_window.c:312
+msgid "Leave _Fullscreen"
+msgstr "Salir de _pantalla completa"
+
+#. Toggle visibility of the main file toolbar
+#: ../src/main_window.c:320
+msgid "Show _File Toolbar"
+msgstr "Mostrar la barra de _archivo"
+
+#. Toggle visibility of the main navigation toolbar
+#: ../src/main_window.c:322
+msgid "Show _Navigation Toolbar"
+msgstr "Mostrar la barra de _navegación"
+
+#. Toggle visibility of the thumbnailbar
+#: ../src/main_window.c:324
+msgid "Show _Thumbnailbar"
+msgstr "Mostrar la barra de _miniaturas"
+
+#. Sort by Filename
+#: ../src/main_window.c:331
+msgid "sort by filename"
+msgstr "por nombre"
+
+#. Sort by Date
+#: ../src/main_window.c:333
+msgid "sort by date"
+msgstr "por fecha"
+
+#: ../src/main_window.c:339
+msgid "Left"
+msgstr "Izquierda"
+
+#: ../src/main_window.c:340
+msgid "Right"
+msgstr "Derecha"
+
+#: ../src/main_window.c:341
+msgid "Top"
+msgstr "Arriba"
-#: ../src/main_window.c:1394
-msgid "Image viewer Preferences"
-msgstr "Preferencias del visor de imágenes"
+#: ../src/main_window.c:342
+msgid "Bottom"
+msgstr "Abajo"
-#: ../src/main_window.c:1412
+#: ../src/main_window.c:512 ../src/main_window.c:778
+msgid "Press open to select an image"
+msgstr "Presione abrir para seleccionar una imagen"
+
+#: ../src/main_window.c:765 ../src/main_window.c:770
+msgid "Empty"
+msgstr "Vacío"
+
+#: ../src/main_window.c:1545
+msgid "Developer:"
+msgstr "Desarrollador:"
+
+#: ../src/main_window.c:1555
+msgid "Ristretto is an imageviewer for the Xfce desktop environment."
+msgstr "Ristretto es un visor de imágenes rápido y ligero para el entorno de escritorio de Xfce."
+
+#: ../src/main_window.c:1563
+msgid "translator-credits"
+msgstr ""
+"Abel Martín <abel.martin.ruiz at gmail.com>\n"
+"Elega <elega at elega.com.ar>"
+
+#: ../src/main_window.c:1878
+msgid "Open image"
+msgstr "Abrir imagen"
+
+#: ../src/main_window.c:1890
+msgid "Images"
+msgstr "Imágenes"
+
+#: ../src/main_window.c:1895
+msgid ".jp(e)g"
+msgstr ".jp(e)g"
+
+#: ../src/main_window.c:1917 ../src/main_window.c:1940
+#: ../src/main_window.c:2099 ../src/main_window.c:2114
+msgid "Could not open file"
+msgstr "No se pudo abrir el archivo"
+
+#: ../src/main_window.c:1992
+msgid "Open folder"
+msgstr "Abrir directorio"
+
+#: ../src/main_window.c:2137
+msgid "Save copy"
+msgstr "Guardar copia"
+
+#: ../src/main_window.c:2210
+#, c-format
+msgid "Are you sure you want to delete image '%s' from disk?"
+msgstr "¿Está seguro de querer eliminar la imagen '%s' de su disco?"
+
+#: ../src/preferences_dialog.c:230
msgid "Display"
msgstr "Visualizador"
-#: ../src/main_window.c:1416
+#: ../src/preferences_dialog.c:235
+msgid "Background color"
+msgstr "Color de fondo"
+
+#: ../src/preferences_dialog.c:239
+msgid "Override background color:"
+msgstr "Reemplazar el color de fondo:"
+
+#: ../src/preferences_dialog.c:267
+msgid "Quality"
+msgstr "Calidad"
+
+#: ../src/preferences_dialog.c:271
+msgid "Maximum render quality:"
+msgstr "Máxima calidad:"
+
+#: ../src/preferences_dialog.c:274
+msgid "Show preview when loading image"
+msgstr "Mostrar previsualización al cargar imágenes"
+
+#: ../src/preferences_dialog.c:281
+msgid "Best"
+msgstr "La mejor"
+
+#: ../src/preferences_dialog.c:282
+msgid "High"
+msgstr "Alta"
+
+#: ../src/preferences_dialog.c:283
+msgid "Medium"
+msgstr "Media"
+
+#: ../src/preferences_dialog.c:284
+msgid "Low"
+msgstr "Baja"
+
+#: ../src/preferences_dialog.c:324
msgid "Slideshow"
msgstr "Diapositivas"
-#: ../src/main_window.c:1420
+#: ../src/preferences_dialog.c:328
+msgid "Timeout"
+msgstr "Tiempo de expiración"
+
+#: ../src/preferences_dialog.c:331
+msgid ""
+"The time period an individual image is displayed during a slideshow\n"
+"(in seconds)"
+msgstr ""
+"El periodo de tiempo que una imagen individual es mostrada durante la vista de diapositivas\n"
+"(en segundos)"
+
+#: ../src/preferences_dialog.c:346
+msgid "Thumbnails"
+msgstr "Miniaturas"
+
+#: ../src/preferences_dialog.c:349
+msgid ""
+"The thumbnailbar can be automatically hidden \n"
+"when the image-viewer is fullscreen."
+msgstr ""
+"La barra de miniaturas se puede ocultar automáticamente \n"
+"cuando el visor de imágenes está a pantalla completa."
+
+#: ../src/preferences_dialog.c:351
+msgid "Hide thumbnailbar when fullscreen"
+msgstr "Ocultar la barra de miniaturas en modo pantalla completa"
+
+#: ../src/preferences_dialog.c:364
+msgid "Control"
+msgstr "Control"
+
+#: ../src/preferences_dialog.c:368
+msgid "Scrollwheel"
+msgstr "Rueda de desplazamiento"
+
+#: ../src/preferences_dialog.c:371
+msgid "No action"
+msgstr "Ninguna acción"
+
+#: ../src/preferences_dialog.c:375
+msgid "Zoom in and out"
+msgstr "Ampliar y reducir"
+
+#: ../src/preferences_dialog.c:378
+msgid "Switch images"
+msgstr "Cambiar imágenes"
+
+#: ../src/preferences_dialog.c:412
msgid "Behaviour"
msgstr "Comportamiento"
-#: ../src/main_window.c:1425
+#: ../src/preferences_dialog.c:417
msgid "Scaling"
msgstr "Escala"
-#: ../src/main_window.c:1427
+#: ../src/preferences_dialog.c:422
msgid "Don't scale over 100% when maximizing the window."
msgstr "No aumentar por encima del 100% al maximizar la ventana."
-#: ../src/main_window.c:1437
-msgid "Background Color"
-msgstr "Color de fondo"
+#: ../src/preferences_dialog.c:426
+msgid "Startup"
+msgstr "Inicio"
-#: ../src/main_window.c:1439
-msgid "_Override Background Color:"
-msgstr "_Ignorar color de fondo:"
+#: ../src/preferences_dialog.c:428
+msgid "Resize window to image on startup"
+msgstr "Redimensionar la ventana a la imagen al inicio"
-#: ../src/main_window.c:1462
-msgid "Image Cache"
+#: ../src/preferences_dialog.c:432
+msgid "Open entire folder on startup"
+msgstr "Abrir una carpeta entera al inicio"
+
+#: ../src/preferences_dialog.c:437
+msgid "Wrap around images"
+msgstr "Ajustar alrededor de las imágenes"
+
+#: ../src/preferences_dialog.c:453
+msgid "Memory"
+msgstr "Memoria"
+
+#: ../src/preferences_dialog.c:459
+msgid "Image cache"
msgstr "Caché de imagen"
-#: ../src/main_window.c:1465
-msgid "Cache size:"
-msgstr "Tamaño del caché:"
+#: ../src/preferences_dialog.c:465
+msgid "Cache size"
+msgstr "Tamaño de caché:"
-#: ../src/main_window.c:1466
+#: ../src/preferences_dialog.c:466
msgid "MB"
msgstr "MB"
-#: ../src/main_window.c:1468
-msgid "_Preload images (GUI more responsive but more CPU-intensive)"
-msgstr "_Precargar imágenes (la interfaz gráfica responde mejor a cambio de un mayor consumo de CPU)"
+#: ../src/preferences_dialog.c:469
+msgid "Enable cache"
+msgstr "Habilitar caché"
-#: ../src/main_window.c:1486
-msgid "Timeout"
-msgstr "Tiempo de expiración"
+#: ../src/preferences_dialog.c:474
+msgid "Preload images"
+msgstr "Precargar las imágenes"
-#: ../src/main_window.c:1489
-msgid "Thumbnails"
-msgstr "Miniaturas"
+#: ../src/preferences_dialog.c:544
+msgid "Preferences"
+msgstr "Preferencias"
-#: ../src/main_window.c:1494
-msgid ""
-"The time period an individual image is displayed during a slideshow\n"
-"(in seconds)"
-msgstr ""
-"El periodo de tiempo que una imagen individual es mostrada durante la vista de diapositivas\n"
-"(en segundos)"
+#: ../src/xfce_wallpaper_manager.c:84
+msgid "Set as wallpaper"
+msgstr "Establecer como fondo de escritorio"
-#: ../src/main_window.c:1497
-msgid "Hide the thumbnails bar during slideshow"
-msgstr "Ocultar la barra de miniaturas en la vista de diapositivas"
+#: ../src/xfce_wallpaper_manager.c:86
+msgid "Style:"
+msgstr "Estilo:"
-#: ../src/main_window.c:1498
-msgid "_Hide thumbnails"
-msgstr "_Ocultar las miniaturas"
+#: ../src/xfce_wallpaper_manager.c:88
+msgid "Monitor:"
+msgstr "Monitor:"
-#: ../src/main_window.c:1556
-msgid "Developer:"
-msgstr "Desarrollador:"
+#: ../src/xfce_wallpaper_manager.c:90
+msgid "Brightness:"
+msgstr "Brillo:"
-#: ../src/main_window.c:1566
-msgid "Ristretto is a fast and lightweight picture-viewer for the Xfce desktop environment."
-msgstr "Ristretto es un visor de imágenes rápido y ligero para el entorno de escritorio de Xfce."
+#: ../src/xfce_wallpaper_manager.c:91
+msgid "Saturation:"
+msgstr "Saturación:"
-#: ../src/main_window.c:1574
-msgid "translator-credits"
-msgstr "Abel Martín <abel.martin.ruiz at gmail.com>"
+#: ../src/xfce_wallpaper_manager.c:123
+msgid "Auto"
+msgstr "Auto"
-#: ../src/main_window.c:1600
-msgid "Open image"
-msgstr "Abrir imagen"
+#: ../src/xfce_wallpaper_manager.c:124
+msgid "Centered"
+msgstr "Centrado"
-#: ../src/main_window.c:1618
-msgid "Could not open file"
-msgstr "No se pudo abrir el archivo"
+#: ../src/xfce_wallpaper_manager.c:125
+msgid "Tiled"
+msgstr "Mosaicos"
-#: ../src/main_window.c:1640
-msgid "Open folder"
-msgstr "Abrir directorio"
+#: ../src/xfce_wallpaper_manager.c:126
+msgid "Stretched"
+msgstr "Estirado"
+
+#: ../src/xfce_wallpaper_manager.c:127
+msgid "Scaled"
+msgstr "Escalado"
-#: ../src/main_window.c:1715
-msgid "Are you sure you want to clear ristretto's list of recently opened documents?"
-msgstr "¿Está seguro de que quiere vaciar la lista de documentos abiertos recientemente de ristretto?"
+#: ../src/xfce_wallpaper_manager.c:128
+msgid "Zoomed"
+msgstr "Ampliado"
-#: ../src/thumbnail_bar.c:185
+#: ../src/thumbnail_bar.c:187
msgid "Spacing"
msgstr "Espaciado"
-#: ../src/thumbnail_bar.c:186
+#: ../src/thumbnail_bar.c:188
msgid "The amount of space between the thumbnails"
msgstr "La cantidad de espacio entre miniaturas"
-#: ../src/thumbnail_bar.c:192
-msgid "Border Width"
-msgstr "Ancho del borde"
+#: ../src/thumbnail_bar.c:194
+msgid "border width"
+msgstr "ancho del borde"
-#: ../src/thumbnail_bar.c:193
-msgid "The border width of the thumbnail-bar"
-msgstr "El ancho del borde de la barra de miniaturas"
+#: ../src/thumbnail_bar.c:195
+msgid "the border width of the thumbnail-bar"
+msgstr "el ancho del borde de la barra de miniaturas"
+
+#: ../src/thumbnail_bar.c:201
+msgid "filmstrip width"
+msgstr "ancho de la banda de películas"
+
+#: ../src/thumbnail_bar.c:202
+msgid "the width of the thumbnail-bar film-strip"
+msgstr "el ancho de la banda de películas de la barra de miniaturas"
#: ../ristretto.desktop.in.h:1
msgid "Image Viewer"
msgstr "Visor de imágenes"
#: ../ristretto.desktop.in.h:2
-msgid "Ristretto"
-msgstr "Ristretto"
+msgid "Look at your photo's easily"
+msgstr "Mire su foto fácilmente"
#: ../ristretto.desktop.in.h:3
-msgid "Xfce Image viewer"
-msgstr "Visor de imágenes de Xfce"
+msgid "Ristretto Photo Viewer"
+msgstr "Visor de imágenes Ristretto"
+
+#~ msgid "Ristretto"
+#~ msgstr "Ristretto"
+
+#~ msgid "_Thumbnail Bar"
+#~ msgstr "Miniaturas"
+
+#~ msgid "Opening file(s)..."
+#~ msgstr "Abriendo fichero(s)..."
+
+#~ msgid "_Recently used"
+#~ msgstr "_Recientemente usados"
+
+#~ msgid "No applications available"
+#~ msgstr "No hay aplicaciones disponibles"
+
+#~ msgid "Thumbnail _Viewer"
+#~ msgstr "_Visor de miniaturas"
+
+#~ msgid "Show _Horizontally"
+#~ msgstr "Mostrar _horizontalmente"
+
+#~ msgid "Show _Vertically"
+#~ msgstr "Mostrar _verticalmente"
+
+#~ msgid "H_ide"
+#~ msgstr "_Ocultar"
+
+#~ msgid "One or more images have been modified, do you want to save the changes?"
+#~ msgstr "Una o más imágenes han sido modificadas. ¿Desea guardar los cambios?"
+
+#~ msgid "Image viewer Preferences"
+#~ msgstr "Preferencias del visor de imágenes"
+
+#~ msgid "_Preload images (GUI more responsive but more CPU-intensive)"
+#~ msgstr "_Precargar imágenes (la interfaz gráfica responde mejor a cambio de un mayor consumo de CPU)"
+
+#~ msgid "Hide the thumbnails bar during slideshow"
+#~ msgstr "Ocultar la barra de miniaturas en la vista de diapositivas"
+
+#~ msgid "Xfce Image viewer"
+#~ msgstr "Visor de imágenes de Xfce"
#~ msgid "Preload"
#~ msgstr "Precarga"
+
#~ msgid ""
#~ "Preload images during slideshow\n"
#~ "(uses more memory)"
#~ msgstr ""
#~ "Precargar las imágenes durante la vista de diapositivas\n"
#~ "(usa más memoria)"
-#~ msgid "_Preload images"
-#~ msgstr "_Precargar las imágenes"
-#~ msgid "Ristretto Image Viewer"
-#~ msgstr "Ristretto : Visualiseur d’Images"
+
#~ msgid "Flip _Vertically"
#~ msgstr "Retourner _verticalement"
+
#~ msgid "Flip _Horizontally"
#~ msgstr "Retourner _horizontalement"
-
diff --git a/po/eu.po b/po/eu.po
index 0983f4a..aca4407 100644
--- a/po/eu.po
+++ b/po/eu.po
@@ -1,13 +1,12 @@
# translation of eu.po to Euskara
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
-#: ../src/main.c:231
# Piarres Beobide <pi at beobide.net>, 2008.
msgid ""
msgstr ""
"Project-Id-Version: eu\n"
"Report-Msgid-Bugs-To: xfce-i18n at xfce.org\n"
-"POT-Creation-Date: 2008-11-14 13:24+0100\n"
+"POT-Creation-Date: 2010-01-15 00:57+0100\n"
"PO-Revision-Date: 2008-12-08 01:19+0100\n"
"Last-Translator: Piarres Beobide <pi at beobide.net>\n"
"Language-Team: Euskara <debian-l10n-basque at lists.debian.org>\n"
@@ -16,19 +15,19 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: KBabel 1.11.4\n"
-#: ../src/main.c:61
+#: ../src/main.c:59
msgid "Version information"
msgstr "Bertsio argibideak"
-#: ../src/main.c:65
+#: ../src/main.c:63
msgid "Start in fullscreen mode"
msgstr "Abiarazi pantaila-osoko moduan"
-#: ../src/main.c:69
+#: ../src/main.c:67
msgid "Start a slideshow"
msgstr "Abiarazi aurkezpena"
-#: ../src/main.c:235
+#: ../src/main.c:91
#, c-format
msgid ""
"%s: %s\n"
@@ -37,231 +36,543 @@ msgstr ""
"%s: %s\n"
"Erabili %s --help komando-lerroko komando erabilgarriak ikusteko.\n"
-#: ../src/main.c:448 ../src/main_window.c:1598 ../src/main_window.c:1638
-#: ../src/main_window.c:1675
-msgid "Opening file(s)..."
-msgstr "Fitxategia(k) irekitzen..."
-
-#. Create 'File' menu
-#: ../src/main_window.c:340
+#. File Menu
+#: ../src/main_window.c:262
msgid "_File"
msgstr "_Fitxategia"
-#: ../src/main_window.c:347
-msgid "O_pen Folder"
-msgstr "I_reki karpeta"
+#: ../src/main_window.c:263
+msgid "_Open"
+msgstr "_Ireki"
+
+#: ../src/main_window.c:263
+msgid "Open an image"
+msgstr "Ireki irudia"
+
+#: ../src/main_window.c:264
+msgid "Open _Folder"
+msgstr "Ireki _karpeta"
+
+#: ../src/main_window.c:264
+msgid "Open a folder"
+msgstr "Ireki karpeta"
+
+#: ../src/main_window.c:265
+msgid "_Save copy"
+msgstr "_Gorde kopia"
-#: ../src/main_window.c:348
-msgid "_Recently used"
-msgstr "Az_kenak"
+#: ../src/main_window.c:265
+msgid "Save a copy of the image"
+msgstr "Gorde irudiaren kopia bat"
-#: ../src/main_window.c:353
-msgid "Close _all"
+#: ../src/main_window.c:266
+msgid "_Print"
+msgstr "In_primatu"
+
+#: ../src/main_window.c:266
+msgid "Print the image"
+msgstr "Mezua inprimatu"
+
+#: ../src/main_window.c:267
+msgid "_Close"
+msgstr "It_xi"
+
+#: ../src/main_window.c:267
+msgid "Close this image"
+msgstr "Itxi irudi hau"
+
+#: ../src/main_window.c:268
+msgid "_Close All"
msgstr "Itxi den_a"
-#. Create 'Edit' menu
-#: ../src/main_window.c:383
+#: ../src/main_window.c:268
+msgid "Close all images"
+msgstr "Itxi irudi guztiak"
+
+#: ../src/main_window.c:269
+msgid "_Quit"
+msgstr "_Amaitu"
+
+#: ../src/main_window.c:269
+msgid "Quit Ristretto"
+msgstr "Itxi Ristretto"
+
+#. Edit Menu
+#: ../src/main_window.c:271
msgid "_Edit"
msgstr "_Editatu"
-#: ../src/main_window.c:388 ../src/main_window.c:659
-msgid "Open with..."
-msgstr "Ireki honekin..."
+#: ../src/main_window.c:272
+msgid "_Open with..."
+msgstr "Ireki _honekin..."
+
+#: ../src/main_window.c:273
+msgid "_Sorting"
+msgstr "_Sailkatzen"
-#: ../src/main_window.c:396 ../src/main_window.c:670
-msgid "No applications available"
-msgstr "Ez dago aplikazio erabilgarririk"
+#: ../src/main_window.c:274
+msgid "_Delete"
+msgstr "_Ezabatu"
-#. Create 'View' menu
-#: ../src/main_window.c:405
+#: ../src/main_window.c:275
+msgid "_Preferences"
+msgstr "_Hobespenak"
+
+#. View Menu
+#: ../src/main_window.c:277
msgid "_View"
msgstr "_Ikusi"
-#: ../src/main_window.c:412
-msgid "Show _Toolbar"
-msgstr "Ikusi _tresna-barra"
+#: ../src/main_window.c:278
+msgid "_Fullscreen"
+msgstr "_Pantaila-osoa"
+
+#: ../src/main_window.c:279
+msgid "_Leave Fullscreen"
+msgstr "_Utzi pantaila-osoa"
-#: ../src/main_window.c:413
-msgid "Thumbnail _Viewer"
-msgstr "Argazkitxo _Ikustatzailea"
+#: ../src/main_window.c:280
+msgid "_Set as Wallpaper"
+msgstr "E_zarri idazmahai-irudi gisa"
-#: ../src/main_window.c:417
+#. Zoom submenu
+#: ../src/main_window.c:282
msgid "_Zooming"
msgstr "_Zooma gerturatzen"
-#: ../src/main_window.c:418
-msgid "_Rotate"
-msgstr "Bi_ratu"
+#: ../src/main_window.c:283
+msgid "Zoom _In"
+msgstr "Zooma _gerturatu"
-#: ../src/main_window.c:425
-msgid "_Set as wallpaper"
-msgstr "E_zarri idazmahai-irudi gisa"
+#: ../src/main_window.c:284
+msgid "Zoom _Out"
+msgstr "Zooma _urrutiratu"
-#: ../src/main_window.c:476
-msgid "Show _Horizontally"
-msgstr "Erakutsi _horizontalki"
+#: ../src/main_window.c:285
+msgid "Zoom _Fit"
+msgstr "Zooma _egokitu"
-#: ../src/main_window.c:480
-msgid "Show _Vertically"
-msgstr "Erakutsi _bertikalki"
+#: ../src/main_window.c:286
+msgid "_Normal Size"
+msgstr "Tamaina normala"
-#: ../src/main_window.c:484
-msgid "H_ide"
-msgstr "Ezk_utatu"
+#. Rotation submenu
+#: ../src/main_window.c:288
+msgid "_Rotation"
+msgstr "Bi_ratu"
-#: ../src/main_window.c:521
+#: ../src/main_window.c:289
msgid "Rotate _Right"
msgstr "Biratu eskuine_ra"
-#: ../src/main_window.c:522
+#: ../src/main_window.c:290
msgid "Rotate _Left"
msgstr "Biratu ez_kerrera"
-#. Create 'Go' menu
-#: ../src/main_window.c:543
+#. Go Menu
+#: ../src/main_window.c:292
msgid "_Go"
msgstr "_Joan"
-#. Create 'Help' menu
-#: ../src/main_window.c:574
+#: ../src/main_window.c:293
+msgid "_Forward"
+msgstr "_Birbidali"
+
+#: ../src/main_window.c:294
+msgid "_Back"
+msgstr "_Atzera"
+
+#: ../src/main_window.c:295
+msgid "_First"
+msgstr "_Lehenengoa"
+
+#: ../src/main_window.c:296
+msgid "_Last"
+msgstr "A_zkena"
+
+#. Help Menu
+#: ../src/main_window.c:298
msgid "_Help"
msgstr "_Laguntza"
-#: ../src/main_window.c:906
-msgid "One or more images have been modified, do you want to save the changes?"
-msgstr "Irudi bat edo gehiago eraldatua izan da, aldaketak gorde nahi al dituzu?"
+#: ../src/main_window.c:300
+msgid "_Contents"
+msgstr "_Edukiak"
+
+#: ../src/main_window.c:302
+msgid "Display ristretto user manual"
+msgstr "Bistarazi ristretto erabiltzaile manuala"
+
+#: ../src/main_window.c:305
+msgid "_About"
+msgstr "_Honi buruz"
+
+#: ../src/main_window.c:307
+msgid "Display information about ristretto"
+msgstr "Bistarazi ristretto buruzko argibideak"
+
+#. Position Menu
+#: ../src/main_window.c:310
+msgid "_Position"
+msgstr "_Kokalekua"
+
+#. Misc
+#: ../src/main_window.c:312
+msgid "Leave _Fullscreen"
+msgstr "Utzi _pantaila-osoa"
+
+#. Toggle visibility of the main file toolbar
+#: ../src/main_window.c:320
+msgid "Show _File Toolbar"
+msgstr "Ikusi _fitxategi tresna-barra"
+
+#. Toggle visibility of the main navigation toolbar
+#: ../src/main_window.c:322
+msgid "Show _Navigation Toolbar"
+msgstr "Ikusi _nabigazio tresna-barra"
+
+#. Toggle visibility of the thumbnailbar
+#: ../src/main_window.c:324
+msgid "Show _Thumbnailbar"
+msgstr "Ikusi _argazkitxo tresna-barra"
+
+#. Sort by Filename
+#: ../src/main_window.c:331
+msgid "sort by filename"
+msgstr "Sailkatu fitxategi-izenez"
+
+#. Sort by Date
+#: ../src/main_window.c:333
+msgid "sort by date"
+msgstr "sailkatu dataz"
+
+#: ../src/main_window.c:339
+msgid "Left"
+msgstr "Ezkerrean"
+
+#: ../src/main_window.c:340
+msgid "Right"
+msgstr "Eskuinean"
+
+#: ../src/main_window.c:341
+msgid "Top"
+msgstr "Goian"
+
+#: ../src/main_window.c:342
+msgid "Bottom"
+msgstr "Behean"
-#: ../src/main_window.c:1394
-msgid "Image viewer Preferences"
-msgstr "Irudi ikustatzaile hobespenak"
+#: ../src/main_window.c:512 ../src/main_window.c:778
+msgid "Press open to select an image"
+msgstr "Bat sakatu irudi bat hautatzeko"
-#: ../src/main_window.c:1412
+#: ../src/main_window.c:765 ../src/main_window.c:770
+msgid "Empty"
+msgstr "Hutsik"
+
+#: ../src/main_window.c:1545
+msgid "Developer:"
+msgstr "Garatzailea:"
+
+#: ../src/main_window.c:1555
+msgid "Ristretto is an imageviewer for the Xfce desktop environment."
+msgstr "Ristretto Xfce idazmahai inguruneko irudi-ikustatzailea da."
+
+#: ../src/main_window.c:1563
+msgid "translator-credits"
+msgstr "Piarres Beobide <pi at beobide.net>"
+
+#: ../src/main_window.c:1878
+msgid "Open image"
+msgstr "Ireki irudia"
+
+#: ../src/main_window.c:1890
+msgid "Images"
+msgstr "Irudiak"
+
+#: ../src/main_window.c:1895
+msgid ".jp(e)g"
+msgstr ".jp(e)g"
+
+#: ../src/main_window.c:1917 ../src/main_window.c:1940
+#: ../src/main_window.c:2099 ../src/main_window.c:2114
+msgid "Could not open file"
+msgstr "Ezin da fitxategia ireki"
+
+#: ../src/main_window.c:1992
+msgid "Open folder"
+msgstr "Ireki karpeta"
+
+#: ../src/main_window.c:2137
+msgid "Save copy"
+msgstr "Gorde kopia"
+
+#: ../src/main_window.c:2210
+#, c-format
+msgid "Are you sure you want to delete image '%s' from disk?"
+msgstr "Ziur zaude '%s' irudia diskotik ezabatu nahi duzula?"
+
+#: ../src/preferences_dialog.c:230
msgid "Display"
msgstr "Bistaratu"
-#: ../src/main_window.c:1416
+#: ../src/preferences_dialog.c:235
+msgid "Background color"
+msgstr "Atzeko planoaren kolorea"
+
+#: ../src/preferences_dialog.c:239
+msgid "Override background color:"
+msgstr "Gainidatzi atzeko planoa kolorea:"
+
+#: ../src/preferences_dialog.c:267
+msgid "Quality"
+msgstr "Kalitatea"
+
+#: ../src/preferences_dialog.c:271
+msgid "Maximum render quality:"
+msgstr "Gehinezko errenderizazio kalitatea:"
+
+#: ../src/preferences_dialog.c:274
+msgid "Show preview when loading image"
+msgstr "Ikusi aurrebista irudi bat kargatzean"
+
+#: ../src/preferences_dialog.c:281
+msgid "Best"
+msgstr "Hoberena"
+
+#: ../src/preferences_dialog.c:282
+msgid "High"
+msgstr "Altua"
+
+#: ../src/preferences_dialog.c:283
+msgid "Medium"
+msgstr "Ertaina"
+
+#: ../src/preferences_dialog.c:284
+msgid "Low"
+msgstr "Baxua"
+
+#: ../src/preferences_dialog.c:324
msgid "Slideshow"
msgstr "Aurkezpena"
-#: ../src/main_window.c:1420
+#: ../src/preferences_dialog.c:328
+msgid "Timeout"
+msgstr "Denboraz-kanpo"
+
+#: ../src/preferences_dialog.c:331
+msgid ""
+"The time period an individual image is displayed during a slideshow\n"
+"(in seconds)"
+msgstr ""
+"Aurkezpenean irudi bakoitza ikusten den denbora tartea\n"
+"(segundutan)"
+
+#: ../src/preferences_dialog.c:346
+msgid "Thumbnails"
+msgstr "Argazkitxoak"
+
+#: ../src/preferences_dialog.c:349
+msgid ""
+"The thumbnailbar can be automatically hidden \n"
+"when the image-viewer is fullscreen."
+msgstr "Argazkitxo-barra automatikoki ezkutatu daiteke irudi-ikustatzailea pantaila-osoa moduan dagoenean."
+
+#: ../src/preferences_dialog.c:351
+msgid "Hide thumbnailbar when fullscreen"
+msgstr "E_zkutatu argazkitxo-barra pantaila-osoan"
+
+#: ../src/preferences_dialog.c:364
+msgid "Control"
+msgstr "Kontrola"
+
+#: ../src/preferences_dialog.c:368
+msgid "Scrollwheel"
+msgstr "Sagu-gurpila"
+
+#: ../src/preferences_dialog.c:371
+msgid "No action"
+msgstr "Ekintzarik ez"
+
+#: ../src/preferences_dialog.c:375
+msgid "Zoom in and out"
+msgstr "Zooma gerturatu eta urrutiratu"
+
+#: ../src/preferences_dialog.c:378
+msgid "Switch images"
+msgstr "Txandakatu irudiak"
+
+#: ../src/preferences_dialog.c:412
msgid "Behaviour"
msgstr "Portaera"
-#: ../src/main_window.c:1425
+#: ../src/preferences_dialog.c:417
msgid "Scaling"
msgstr "Eskalatzen"
-#: ../src/main_window.c:1427
+#: ../src/preferences_dialog.c:422
msgid "Don't scale over 100% when maximizing the window."
msgstr "Ez eskalatu %100 baino gehiago leihoa handitzean."
-#: ../src/main_window.c:1437
-msgid "Background Color"
-msgstr "Atzeko planoaren kolorea"
+#: ../src/preferences_dialog.c:426
+msgid "Startup"
+msgstr "Hasiera"
+
+#: ../src/preferences_dialog.c:428
+msgid "Resize window to image on startup"
+msgstr "Leiho-tamaina argazkira doitu abiaraztean"
+
+#: ../src/preferences_dialog.c:432
+msgid "Open entire folder on startup"
+msgstr "Ireki karpeta osoa abiaraztean"
+
+#: ../src/preferences_dialog.c:437
+msgid "Wrap around images"
+msgstr "Bildu inguruko irudiak"
-#: ../src/main_window.c:1439
-msgid "_Override Background Color:"
-msgstr "_Gainidatzi atzeko planoa kolorea:"
+#: ../src/preferences_dialog.c:453
+msgid "Memory"
+msgstr "Memoria"
-#: ../src/main_window.c:1462
-msgid "Image Cache"
+#: ../src/preferences_dialog.c:459
+msgid "Image cache"
msgstr "Irudi katxea"
-#: ../src/main_window.c:1465
-msgid "Cache size:"
+#: ../src/preferences_dialog.c:465
+msgid "Cache size"
msgstr "Katxe tamaina:"
-#: ../src/main_window.c:1466
+#: ../src/preferences_dialog.c:466
msgid "MB"
msgstr "MB"
-#: ../src/main_window.c:1468
-msgid "_Preload images (GUI more responsive but more CPU-intensive)"
-msgstr ""
-"_Aurrekargatu irudiak (Interfazea hobe ibiliko da baina CPU erabilera "
-"handiagoaz)"
+#: ../src/preferences_dialog.c:469
+msgid "Enable cache"
+msgstr "Gaitu katxea"
-#: ../src/main_window.c:1486
-msgid "Timeout"
-msgstr "Denboraz-kanpo"
+#: ../src/preferences_dialog.c:474
+msgid "Preload images"
+msgstr "Aurrekargatu irudiak"
-#: ../src/main_window.c:1489
-msgid "Thumbnails"
-msgstr "Argazkitxoak"
+#: ../src/preferences_dialog.c:544
+msgid "Preferences"
+msgstr "Hobespenak"
-#: ../src/main_window.c:1494
-msgid ""
-"The time period an individual image is displayed during a slideshow\n"
-"(in seconds)"
-msgstr ""
-"Aurkezpenean irudi bakoitza ikusten den denbora tartea\n"
-"(segundutan)"
+#: ../src/xfce_wallpaper_manager.c:84
+msgid "Set as wallpaper"
+msgstr "E_zarri idazmahai-irudi gisa"
-#: ../src/main_window.c:1497
-msgid "Hide the thumbnails bar during slideshow"
-msgstr "Ezkutatu argazkitxo barra aurkezpenean"
+#: ../src/xfce_wallpaper_manager.c:86
+msgid "Style:"
+msgstr "Estiloa"
-#: ../src/main_window.c:1498
-msgid "_Hide thumbnails"
-msgstr "E_zkutatu argazkitxoak"
+#: ../src/xfce_wallpaper_manager.c:88
+msgid "Monitor:"
+msgstr "Monitorea:"
-#: ../src/main_window.c:1556
-msgid "Developer:"
-msgstr "Garatzailea:"
+#: ../src/xfce_wallpaper_manager.c:90
+msgid "Brightness:"
+msgstr "Distira:"
-#: ../src/main_window.c:1566
-msgid ""
-"Ristretto is a fast and lightweight picture-viewer for the Xfce desktop "
-"environment."
-msgstr "Ristretto Xfce idazmahai inguruneko irudi-ikustatzaile arin eta azkar bat da."
+#: ../src/xfce_wallpaper_manager.c:91
+msgid "Saturation:"
+msgstr "Saturazioa:"
-#: ../src/main_window.c:1574
-msgid "translator-credits"
-msgstr "Piarres Beobide <pi at beobide.net>"
+#: ../src/xfce_wallpaper_manager.c:123
+msgid "Auto"
+msgstr "Automatikoa"
-#: ../src/main_window.c:1600
-msgid "Open image"
-msgstr "Ireki irudia"
+#: ../src/xfce_wallpaper_manager.c:124
+msgid "Centered"
+msgstr "Erdiratua"
-#: ../src/main_window.c:1618
-msgid "Could not open file"
-msgstr "Ezin da fitxategia ireki"
+#: ../src/xfce_wallpaper_manager.c:125
+msgid "Tiled"
+msgstr "Mosaikoa"
-#: ../src/main_window.c:1640
-msgid "Open folder"
-msgstr "Ireki karpeta"
+#: ../src/xfce_wallpaper_manager.c:126
+msgid "Stretched"
+msgstr "Txikitua"
-#: ../src/main_window.c:1715
-msgid "Are you sure you want to clear ristretto's list of recently opened documents?"
-msgstr ""
-"Ziur zaude ristretto-ren azken aldian irekitako dokumentuen zerrenda ezabatu "
-"nahi duzula?"
+#: ../src/xfce_wallpaper_manager.c:127
+msgid "Scaled"
+msgstr "Eskalatua"
-#: ../src/thumbnail_bar.c:185
+#: ../src/xfce_wallpaper_manager.c:128
+msgid "Zoomed"
+msgstr "Gerturatua"
+
+#: ../src/thumbnail_bar.c:187
msgid "Spacing"
msgstr "Tartea"
-#: ../src/thumbnail_bar.c:186
+#: ../src/thumbnail_bar.c:188
msgid "The amount of space between the thumbnails"
msgstr "Argazkitxo artean dagoen tartea"
-#: ../src/thumbnail_bar.c:192
-msgid "Border Width"
+#: ../src/thumbnail_bar.c:194
+msgid "border width"
msgstr "Ertz zabalera"
-#: ../src/thumbnail_bar.c:193
-msgid "The border width of the thumbnail-bar"
+#: ../src/thumbnail_bar.c:195
+msgid "the border width of the thumbnail-bar"
msgstr "Argazkitxo-barraren ertzaren zabalera"
+#: ../src/thumbnail_bar.c:201
+msgid "filmstrip width"
+msgstr "bideo ertz zabalera"
+
+#: ../src/thumbnail_bar.c:202
+msgid "the width of the thumbnail-bar film-strip"
+msgstr "Argazkitxo-barraren bideo-ertzaren zabalera"
+
#: ../ristretto.desktop.in.h:1
msgid "Image Viewer"
msgstr "Irudi ikustatzailea"
#: ../ristretto.desktop.in.h:2
-msgid "Ristretto"
-msgstr "Ristretto"
+msgid "Look at your photo's easily"
+msgstr "Ikusi zure argazkiak erraz"
#: ../ristretto.desktop.in.h:3
-msgid "Xfce Image viewer"
-msgstr "Xfce irudi ikustatzailea"
+msgid "Ristretto Photo Viewer"
+msgstr "Ristretto argazki ikustatzailea"
+
+#~ msgid "Ristretto"
+#~ msgstr "Ristretto"
+
+#~ msgid "_Thumbnail Bar"
+#~ msgstr "Argazkitxoak"
+
+#~ msgid "Opening file(s)..."
+#~ msgstr "Fitxategia(k) irekitzen..."
+
+#~ msgid "_Recently used"
+#~ msgstr "Az_kenak"
+
+#~ msgid "No applications available"
+#~ msgstr "Ez dago aplikazio erabilgarririk"
+
+#~ msgid "Thumbnail _Viewer"
+#~ msgstr "Argazkitxo _Ikustatzailea"
+
+#~ msgid "Show _Horizontally"
+#~ msgstr "Erakutsi _horizontalki"
+
+#~ msgid "Show _Vertically"
+#~ msgstr "Erakutsi _bertikalki"
+
+#~ msgid "H_ide"
+#~ msgstr "Ezk_utatu"
+
+#~ msgid "One or more images have been modified, do you want to save the changes?"
+#~ msgstr "Irudi bat edo gehiago eraldatua izan da, aldaketak gorde nahi al dituzu?"
+
+#~ msgid "_Preload images (GUI more responsive but more CPU-intensive)"
+#~ msgstr "_Aurrekargatu irudiak (Interfazea hobe ibiliko da baina CPU erabilera handiagoaz)"
+
+#~ msgid "Hide the thumbnails bar during slideshow"
+#~ msgstr "Ezkutatu argazkitxo barra aurkezpenean"
+#~ msgid "Xfce Image viewer"
+#~ msgstr "Xfce irudi ikustatzailea"
diff --git a/po/fi.po b/po/fi.po
index 18ff0f8..d86f7e6 100644
--- a/po/fi.po
+++ b/po/fi.po
@@ -1,34 +1,33 @@
# Finnish translation of the ristretto package.
-# Copyright (C) 2007-2008 Stephan Arts <stephan at xfce.org>.
+# Copyright (C) 2007-2010 Stephan Arts <stephan at xfce.org>.
# This file is distributed under the same license as the ristretto package.
-# Jari Rahkonen <jari.rahkonen at pp1.inet.fi>, 2007-2008
+# Jari Rahkonen <jari.rahkonen at pp1.inet.fi>, 2007-2010
#
-#: ../src/main.c:231
msgid ""
msgstr ""
-"Project-Id-Version: ristretto 0.0.5\n"
+"Project-Id-Version: ristretto 0.0.90-gio\n"
"Report-Msgid-Bugs-To: xfce-i18n at xfce.org\n"
-"POT-Creation-Date: 2008-11-14 13:24+0100\n"
-"PO-Revision-Date: 2008-11-04 17:09+0200\n"
+"POT-Creation-Date: 2010-03-11 10:51+0200\n"
+"PO-Revision-Date: 2010-03-11 11:38+0200\n"
"Last-Translator: Jari Rahkonen <jari.rahkonen at pp1.inet.fi>\n"
"Language-Team: Finnish <xfce-i18n at xfce.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
-#: ../src/main.c:61
+#: ../src/main.c:59
msgid "Version information"
msgstr "Versiotiedot"
-#: ../src/main.c:65
+#: ../src/main.c:63
msgid "Start in fullscreen mode"
msgstr "Käynnistä kokoruututilassa"
-#: ../src/main.c:69
+#: ../src/main.c:67
msgid "Start a slideshow"
msgstr "Aloita diaesitys"
-#: ../src/main.c:235
+#: ../src/main.c:91
#, c-format
msgid ""
"%s: %s\n"
@@ -37,226 +36,504 @@ msgstr ""
"%s: %s\n"
"Näet listan komentorivivalitsimista kirjoittamalla %s --help.\n"
-#: ../src/main.c:448 ../src/main_window.c:1598 ../src/main_window.c:1638
-#: ../src/main_window.c:1675
-msgid "Opening file(s)..."
-msgstr "Avataan tiedosto(j)a..."
-
-#. Create 'File' menu
-#: ../src/main_window.c:340
+#. File Menu
+#: ../src/main_window.c:262
msgid "_File"
msgstr "_Tiedosto"
-#: ../src/main_window.c:347
-msgid "O_pen Folder"
+#: ../src/main_window.c:263
+msgid "_Open"
+msgstr "_Avaa"
+
+#: ../src/main_window.c:263
+msgid "Open an image"
+msgstr "Avaa kuva"
+
+#: ../src/main_window.c:264
+msgid "Open _Folder"
msgstr "Avaa _kansio"
-#: ../src/main_window.c:348
-msgid "_Recently used"
-msgstr "_Viimeaikaiset"
+#: ../src/main_window.c:264
+msgid "Open a folder"
+msgstr "Avaa kansio"
+
+#: ../src/main_window.c:265
+msgid "_Save copy"
+msgstr "Tallenna k_opio"
+
+#: ../src/main_window.c:265
+msgid "Save a copy of the image"
+msgstr "Tallenna kopio kuvasta"
+
+#: ../src/main_window.c:266
+msgid "_Print"
+msgstr "_Tulosta"
+
+#: ../src/main_window.c:266
+msgid "Print the image"
+msgstr "Tulosta kuva"
+
+#: ../src/main_window.c:267
+msgid "_Close"
+msgstr "_Sulje"
+
+#: ../src/main_window.c:267
+msgid "Close this image"
+msgstr "Sulje kuva"
+
+#: ../src/main_window.c:268
+msgid "_Close All"
+msgstr "S_ulje kaikki"
-#: ../src/main_window.c:353
-msgid "Close _all"
-msgstr "Sulje k_aikki"
+#: ../src/main_window.c:268
+msgid "Close all images"
+msgstr "Sulje kaikki kuvat"
-#. Create 'Edit' menu
-#: ../src/main_window.c:383
+#: ../src/main_window.c:269
+msgid "_Quit"
+msgstr "_Lopeta"
+
+#: ../src/main_window.c:269
+msgid "Quit Ristretto"
+msgstr "Sulje Ristretto"
+
+#. Edit Menu
+#: ../src/main_window.c:271
msgid "_Edit"
msgstr "_Muokkaa"
-#: ../src/main_window.c:388 ../src/main_window.c:659
-msgid "Open with..."
+#: ../src/main_window.c:272
+msgid "_Open with..."
msgstr "Avaa _sovelluksessa..."
-#: ../src/main_window.c:396 ../src/main_window.c:670
-msgid "No applications available"
-msgstr "Sovelluksia ei saatavilla"
+#: ../src/main_window.c:273
+msgid "_Sorting"
+msgstr "Jä_rjestä"
+
+#: ../src/main_window.c:274
+msgid "_Delete"
+msgstr "_Poista"
+
+#: ../src/main_window.c:275
+msgid "_Preferences"
+msgstr "_Asetukset"
-#. Create 'View' menu
-#: ../src/main_window.c:405
+#. View Menu
+#: ../src/main_window.c:277
msgid "_View"
msgstr "_Näytä"
-#: ../src/main_window.c:412
-msgid "Show _Toolbar"
-msgstr "Näytä _työkalupalkki"
+#: ../src/main_window.c:278
+msgid "_Fullscreen"
+msgstr "Koko_ruutu"
-#: ../src/main_window.c:413
-msgid "Thumbnail _Viewer"
-msgstr "Pienoisk_uvat"
+#: ../src/main_window.c:279
+msgid "_Leave Fullscreen"
+msgstr "P_oistu kokoruudusta"
-#: ../src/main_window.c:417
+#: ../src/main_window.c:280
+msgid "_Set as Wallpaper"
+msgstr "_Aseta taustakuvaksi"
+
+#. Zoom submenu
+#: ../src/main_window.c:282
msgid "_Zooming"
-msgstr "_Suurennus"
+msgstr "S_uurennus"
-#: ../src/main_window.c:418
-msgid "_Rotate"
-msgstr "Kää_nnä"
+#: ../src/main_window.c:283
+msgid "Zoom _In"
+msgstr "_Suurenna"
-#: ../src/main_window.c:425
-msgid "_Set as wallpaper"
-msgstr "Aseta _taustakuvaksi"
+#: ../src/main_window.c:284
+msgid "Zoom _Out"
+msgstr "_Pienennä"
-#: ../src/main_window.c:476
-msgid "Show _Horizontally"
-msgstr "Näytä _vaakasuunnassa"
+#: ../src/main_window.c:285
+msgid "Zoom _Fit"
+msgstr "So_vita"
-#: ../src/main_window.c:480
-msgid "Show _Vertically"
-msgstr "Näytä _pystysuunnassa"
+#: ../src/main_window.c:286
+msgid "_Normal Size"
+msgstr "_Täysi koko"
-#: ../src/main_window.c:484
-msgid "H_ide"
-msgstr "P_iilota"
+#. Rotation submenu
+#: ../src/main_window.c:288
+msgid "_Rotation"
+msgstr "_Käännä"
-#: ../src/main_window.c:521
+#: ../src/main_window.c:289
msgid "Rotate _Right"
msgstr "Käännä _oikeaan"
-#: ../src/main_window.c:522
+#: ../src/main_window.c:290
msgid "Rotate _Left"
msgstr "Käännä _vasempaan"
-#. Create 'Go' menu
-#: ../src/main_window.c:543
+#. Go Menu
+#: ../src/main_window.c:292
msgid "_Go"
msgstr "_Siirry"
-#. Create 'Help' menu
-#: ../src/main_window.c:574
+#: ../src/main_window.c:293
+msgid "_Forward"
+msgstr "Seu_raava"
+
+#: ../src/main_window.c:294
+msgid "_Back"
+msgstr "_Edellinen"
+
+#: ../src/main_window.c:295
+msgid "_First"
+msgstr "E_nsimmäinen"
+
+#: ../src/main_window.c:296
+msgid "_Last"
+msgstr "_Viimeinen"
+
+#. Help Menu
+#: ../src/main_window.c:298
msgid "_Help"
msgstr "_Ohje"
-#: ../src/main_window.c:906
-msgid "One or more images have been modified, do you want to save the changes?"
-msgstr "Yhtä tai useampaa kuvaa on muokattu. Tallennetaanko muutokset?"
+#: ../src/main_window.c:300
+msgid "_Contents"
+msgstr "_Sisältö"
+
+#: ../src/main_window.c:302
+msgid "Display ristretto user manual"
+msgstr "Näytä Ristretton käyttöopas"
+
+#: ../src/main_window.c:305
+msgid "_About"
+msgstr "_Tietoja"
+
+#: ../src/main_window.c:307
+msgid "Display information about ristretto"
+msgstr "Näytä tietoja Ristrettosta"
+
+#. Position Menu
+#: ../src/main_window.c:310
+msgid "_Position"
+msgstr "_Sijainti"
+
+#. Misc
+#: ../src/main_window.c:312
+msgid "Leave _Fullscreen"
+msgstr "Jätä _Kokoruutuun"
+
+#. Toggle visibility of the main file toolbar
+#: ../src/main_window.c:320
+msgid "Show _File Toolbar"
+msgstr "Näytä tie_dostopainikkeet"
+
+#. Toggle visibility of the main navigation toolbar
+#: ../src/main_window.c:322
+msgid "Show _Navigation Toolbar"
+msgstr "Näytä _navigointipalkki"
+
+#. Toggle visibility of the thumbnailbar
+#: ../src/main_window.c:324
+msgid "Show _Thumbnailbar"
+msgstr "Näytä _pienoiskuvapalkki"
+
+#. Sort by Filename
+#: ../src/main_window.c:331
+msgid "sort by filename"
+msgstr "tiedostonimen mukaan"
+
+#. Sort by Date
+#: ../src/main_window.c:333
+msgid "sort by date"
+msgstr "päivämäärän mukaan"
+
+#: ../src/main_window.c:339
+msgid "Left"
+msgstr "Vasemmalla"
+
+#: ../src/main_window.c:340
+msgid "Right"
+msgstr "Oikealla"
+
+#: ../src/main_window.c:341
+msgid "Top"
+msgstr "Ylhäällä"
+
+#: ../src/main_window.c:342
+msgid "Bottom"
+msgstr "Alhaalla"
-#: ../src/main_window.c:1394
-msgid "Image viewer Preferences"
-msgstr "Kuvakatselimen asetukset"
+#: ../src/main_window.c:512 ../src/main_window.c:778
+msgid "Press open to select an image"
+msgstr "Avaa kuva työkalupalkin painikkeella"
-#: ../src/main_window.c:1412
+#: ../src/main_window.c:765 ../src/main_window.c:770
+msgid "Empty"
+msgstr "Tyhjä"
+
+#: ../src/main_window.c:1545
+msgid "Developer:"
+msgstr "Kehittäjä:"
+
+#: ../src/main_window.c:1555
+msgid "Ristretto is an imageviewer for the Xfce desktop environment."
+msgstr "Ristretto on kuvakatselin Xfce-työpöydälle."
+
+#: ../src/main_window.c:1563
+msgid "translator-credits"
+msgstr "Jari Rahkonen <jari.rahkonen at pp1.inet.fi>"
+
+#: ../src/main_window.c:1878
+msgid "Open image"
+msgstr "Avaa kuva"
+
+#: ../src/main_window.c:1890
+msgid "Images"
+msgstr "Kuvat"
+
+#: ../src/main_window.c:1895
+msgid ".jp(e)g"
+msgstr ".jp(e)g"
+
+#: ../src/main_window.c:1917 ../src/main_window.c:1940
+#: ../src/main_window.c:2099 ../src/main_window.c:2114
+msgid "Could not open file"
+msgstr "Tiedoston avaus epäonnistui"
+
+#: ../src/main_window.c:1992
+msgid "Open folder"
+msgstr "Avaa kansio"
+
+#: ../src/main_window.c:2137
+msgid "Save copy"
+msgstr "Tallenna kopio"
+
+#: ../src/main_window.c:2210
+#, c-format
+msgid "Are you sure you want to delete image '%s' from disk?"
+msgstr "Haluatko varmasti poistaa kuvan \"%s\" levyltä?"
+
+#: ../src/preferences_dialog.c:230
msgid "Display"
msgstr "Näyttö"
-#: ../src/main_window.c:1416
+#: ../src/preferences_dialog.c:235
+msgid "Background color"
+msgstr "Taustaväri"
+
+#: ../src/preferences_dialog.c:239
+msgid "Override background color:"
+msgstr "Korvaa taustaväri:"
+
+#: ../src/preferences_dialog.c:267
+msgid "Quality"
+msgstr "Laatu"
+
+#: ../src/preferences_dialog.c:271
+msgid "Maximum render quality:"
+msgstr "Korkein käytettävä esityslaatu:"
+
+#: ../src/preferences_dialog.c:274
+msgid "Show preview when loading image"
+msgstr "Näytä esikatselu kuvaa ladatessa"
+
+#: ../src/preferences_dialog.c:281
+msgid "Best"
+msgstr "Paras"
+
+#: ../src/preferences_dialog.c:282
+msgid "High"
+msgstr "Korkea"
+
+#: ../src/preferences_dialog.c:283
+msgid "Medium"
+msgstr "Keskitaso"
+
+#: ../src/preferences_dialog.c:284
+msgid "Low"
+msgstr "Heikko"
+
+#: ../src/preferences_dialog.c:324
msgid "Slideshow"
msgstr "Diaesitys"
-#: ../src/main_window.c:1420
+#: ../src/preferences_dialog.c:328
+msgid "Timeout"
+msgstr "Esitysaika"
+
+#: ../src/preferences_dialog.c:331
+msgid ""
+"The time period an individual image is displayed during a slideshow\n"
+"(in seconds)"
+msgstr "Montako sekuntia yksittäistä kuvaa esitetään diaesityksessä?"
+
+#: ../src/preferences_dialog.c:346
+msgid "Thumbnails"
+msgstr "Pienoiskuvat"
+
+#: ../src/preferences_dialog.c:349
+msgid ""
+"The thumbnailbar can be automatically hidden \n"
+"when the image-viewer is fullscreen."
+msgstr ""
+"Pienoiskuvapalkin voi piilottaa automaattisesti kuvakatselimen \n"
+"ollessa kokoruututilassa."
+
+#: ../src/preferences_dialog.c:351
+msgid "Hide thumbnailbar when fullscreen"
+msgstr "Piilota pienoiskuvapalkki kokoruudussa"
+
+#: ../src/preferences_dialog.c:364
+msgid "Control"
+msgstr "Ohjaus"
+
+#: ../src/preferences_dialog.c:368
+msgid "Scrollwheel"
+msgstr "Hiiren rulla"
+
+#: ../src/preferences_dialog.c:371
+msgid "No action"
+msgstr "Ei käytössä"
+
+#: ../src/preferences_dialog.c:375
+msgid "Zoom in and out"
+msgstr "Suurenna ja pienennä"
+
+#: ../src/preferences_dialog.c:378
+msgid "Switch images"
+msgstr "Vaihda kuvaa"
+
+#: ../src/preferences_dialog.c:412
msgid "Behaviour"
msgstr "Käytös"
-#: ../src/main_window.c:1425
+#: ../src/preferences_dialog.c:417
msgid "Scaling"
msgstr "Kuvan koko"
-#: ../src/main_window.c:1427
+#: ../src/preferences_dialog.c:422
msgid "Don't scale over 100% when maximizing the window."
-msgstr "Älä suurenna kuvaa yli alkuperäiskokonsa, kun ikkuna suurennetaan."
+msgstr "Älä suurenna kuvaa yli alkuperäiskokonsa,\nkun ikkuna suurennetaan."
-#: ../src/main_window.c:1437
-msgid "Background Color"
-msgstr "Taustaväri"
+#: ../src/preferences_dialog.c:426
+msgid "Startup"
+msgstr "Käynnistys"
-#: ../src/main_window.c:1439
-msgid "_Override Background Color:"
-msgstr "_Korvaa taustaväri:"
+#: ../src/preferences_dialog.c:428
+msgid "Resize window to image on startup"
+msgstr "Sovita ikkuna kuvaan käynnistäessä"
-#: ../src/main_window.c:1462
-msgid "Image Cache"
+#: ../src/preferences_dialog.c:432
+msgid "Open entire folder on startup"
+msgstr "Avaa koko kansio käynnistäessä"
+
+#: ../src/preferences_dialog.c:437
+msgid "Wrap around images"
+msgstr "Kierrätä kuvia"
+
+#: ../src/preferences_dialog.c:453
+msgid "Memory"
+msgstr "Muisti"
+
+#: ../src/preferences_dialog.c:459
+msgid "Image cache"
msgstr "Kuvavälimuisti"
-#: ../src/main_window.c:1465
-msgid "Cache size:"
-msgstr "Välimuistin koko:"
+#: ../src/preferences_dialog.c:465
+msgid "Cache size"
+msgstr "Välimuistin koko"
-#: ../src/main_window.c:1466
+#: ../src/preferences_dialog.c:466
msgid "MB"
msgstr "Mt"
-#: ../src/main_window.c:1468
-msgid "_Preload images (GUI more responsive but more CPU-intensive)"
-msgstr "_Esilataa kuvat (nopeuttaa käyttöä, vaatii suoritintehoa)"
+#: ../src/preferences_dialog.c:469
+msgid "Enable cache"
+msgstr "Välimuisti käytössä"
-#: ../src/main_window.c:1486
-msgid "Timeout"
-msgstr "Esitysaika"
+#: ../src/preferences_dialog.c:474
+msgid "Preload images"
+msgstr "Esilataa kuvat"
-#: ../src/main_window.c:1489
-msgid "Thumbnails"
-msgstr "Pienoiskuvat"
+#: ../src/preferences_dialog.c:544
+msgid "Preferences"
+msgstr "Asetukset"
-#: ../src/main_window.c:1494
-msgid ""
-"The time period an individual image is displayed during a slideshow\n"
-"(in seconds)"
-msgstr "Montako sekuntia yksittäistä kuvaa esitetään diaesityksessä"
+#: ../src/xfce_wallpaper_manager.c:84
+msgid "Set as wallpaper"
+msgstr "Aseta taustakuvaksi"
-#: ../src/main_window.c:1497
-msgid "Hide the thumbnails bar during slideshow"
-msgstr "Piilota pienoiskuvat diaesityksen ajaksi"
+#: ../src/xfce_wallpaper_manager.c:86
+msgid "Style:"
+msgstr "Tyyli:"
-#: ../src/main_window.c:1498
-msgid "_Hide thumbnails"
-msgstr "_Piilota pienoiskuvat"
+#: ../src/xfce_wallpaper_manager.c:88
+msgid "Monitor:"
+msgstr "Näyttö:"
-#: ../src/main_window.c:1556
-msgid "Developer:"
-msgstr "Kehittäjä:"
+#: ../src/xfce_wallpaper_manager.c:90
+msgid "Brightness:"
+msgstr "Kirkkaus:"
-#: ../src/main_window.c:1566
-msgid ""
-"Ristretto is a fast and lightweight picture-viewer for the Xfce desktop "
-"environment."
-msgstr "Ristretto on nopea ja kevyt kuvakatselin Xfce-työpöydälle."
+#: ../src/xfce_wallpaper_manager.c:91
+msgid "Saturation:"
+msgstr "Värikylläisyys:"
-#: ../src/main_window.c:1574
-msgid "translator-credits"
-msgstr "Jari Rahkonen <jari.rahkonen at pp1.inet.fi>"
+#: ../src/xfce_wallpaper_manager.c:123
+msgid "Auto"
+msgstr "Automaattinen"
-#: ../src/main_window.c:1600
-msgid "Open image"
-msgstr "Avaa kuva"
+#: ../src/xfce_wallpaper_manager.c:124
+msgid "Centered"
+msgstr "Keskitetty"
-#: ../src/main_window.c:1618
-msgid "Could not open file"
-msgstr "Tiedoston avaus ei onnistunut"
+#: ../src/xfce_wallpaper_manager.c:125
+msgid "Tiled"
+msgstr "Rinnakkain"
-#: ../src/main_window.c:1640
-msgid "Open folder"
-msgstr "Avaa kansio"
+#: ../src/xfce_wallpaper_manager.c:126
+msgid "Stretched"
+msgstr "Venytetty"
-#: ../src/main_window.c:1715
-msgid ""
-"Are you sure you want to clear ristretto's list of recently opened documents?"
-msgstr ""
-"Haluatko varmasti tyhjentää ristretton viimeaikaisten tiedostojen listan?"
+#: ../src/xfce_wallpaper_manager.c:127
+msgid "Scaled"
+msgstr "Skaalattu"
-#: ../src/thumbnail_bar.c:185
+#: ../src/xfce_wallpaper_manager.c:128
+msgid "Zoomed"
+msgstr "Suurennettu"
+
+#: ../src/thumbnail_bar.c:187
msgid "Spacing"
msgstr "Välit"
-#: ../src/thumbnail_bar.c:186
+#: ../src/thumbnail_bar.c:188
msgid "The amount of space between the thumbnails"
-msgstr "Pienoiskuvien välisen tyhjän tilan koko"
+msgstr "Pienoiskuvien välinen tyhjä tila"
-#: ../src/thumbnail_bar.c:192
-msgid "Border Width"
+#: ../src/thumbnail_bar.c:194
+msgid "border width"
msgstr "Reunuksen leveys"
-#: ../src/thumbnail_bar.c:193
-msgid "The border width of the thumbnail-bar"
+#: ../src/thumbnail_bar.c:195
+msgid "the border width of the thumbnail-bar"
msgstr "Pienoiskuvapalkin reunuksen leveys"
+#: ../src/thumbnail_bar.c:201
+msgid "filmstrip width"
+msgstr "filminauhan leveys"
+
+#: ../src/thumbnail_bar.c:202
+msgid "the width of the thumbnail-bar film-strip"
+msgstr "Pienoiskuvapalkin filminauhan leveys"
+
#: ../ristretto.desktop.in.h:1
msgid "Image Viewer"
msgstr "Kuvakatselin"
#: ../ristretto.desktop.in.h:2
-msgid "Ristretto"
-msgstr "Ristretto"
+msgid "Look at your photo's easily"
+msgstr "Katsele valokuviasi helposti"
#: ../ristretto.desktop.in.h:3
-msgid "Xfce Image viewer"
-msgstr "Xfce:n kuvakatselin"
+msgid "Ristretto Photo Viewer"
+msgstr "Ristretto-valokuvakatselin"
diff --git a/po/fr.po b/po/fr.po
index b389679..1445492 100644
--- a/po/fr.po
+++ b/po/fr.po
@@ -2,273 +2,599 @@
# Copyright (C) 2008 Stephan Arts
# This file is distributed under the same license as the PACKAGE package.
# Mike Massonnet <mmassonnet at xfce.org>, 2007, 2008.
+# Patrick Douart <patrick.2 at laposte.net>, 2009, 2010.
#
-#: ../src/main.c:231
msgid ""
msgstr ""
"Project-Id-Version: ristretto\n"
"Report-Msgid-Bugs-To: xfce-i18n at xfce.org\n"
-"POT-Creation-Date: 2008-11-14 13:24+0100\n"
-"PO-Revision-Date: 2008-11-29 12:08+0100\n"
-"Last-Translator: Mike Massonnet <mmassonnet at gmail.com>\n"
+"POT-Creation-Date: 2010-01-15 00:57+0100\n"
+"PO-Revision-Date: 2010-02-11 15:32+0100\n"
+"Last-Translator: Douart Patrick <patrick.2 at laposte.net>\n"
"Language-Team: French\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Poedit-Bookmarks: -1,-1,-1,-1,-1,-1,11,-1,-1,-1\n"
-#: ../src/main.c:61
+#: ../src/main.c:59
msgid "Version information"
msgstr "Information sur la version"
-#: ../src/main.c:65
+#: ../src/main.c:63
msgid "Start in fullscreen mode"
msgstr "Démarrer en mode plein écran"
-#: ../src/main.c:69
+#: ../src/main.c:67
msgid "Start a slideshow"
msgstr "Démarrer le diaporama"
-#: ../src/main.c:235
+#: ../src/main.c:91
#, c-format
msgid ""
"%s: %s\n"
"Try %s --help to see a full list of available command line options.\n"
msgstr ""
"%s: %s\n"
-"Essayez %s --help pour voir une liste complète des options en ligne de "
-"commande.\n"
+"Essayez %s --help pour voir une liste complète des options en ligne de commande.\n"
-#: ../src/main.c:448 ../src/main_window.c:1598 ../src/main_window.c:1638
-#: ../src/main_window.c:1675
-msgid "Opening file(s)..."
-msgstr "Ouvrir des fichiers..."
-
-#. Create 'File' menu
-#: ../src/main_window.c:340
+#. File Menu
+#: ../src/main_window.c:262
msgid "_File"
msgstr "_Fichier"
-#: ../src/main_window.c:347
-msgid "O_pen Folder"
+#: ../src/main_window.c:263
+msgid "_Open"
+msgstr "_Ouvrir"
+
+#: ../src/main_window.c:263
+msgid "Open an image"
+msgstr "Ouvrir une image"
+
+#: ../src/main_window.c:264
+msgid "Open _Folder"
msgstr "O_uvrir un répertoire"
-#: ../src/main_window.c:348
-msgid "_Recently used"
-msgstr "_Récemment ouvert"
+#: ../src/main_window.c:264
+msgid "Open a folder"
+msgstr "Ouvrir un répertoire"
+
+#: ../src/main_window.c:265
+msgid "_Save copy"
+msgstr "_Enregistrer une copie"
+
+#: ../src/main_window.c:265
+msgid "Save a copy of the image"
+msgstr "Enregistrer une copie de l'image"
+
+#: ../src/main_window.c:266
+msgid "_Print"
+msgstr "_Imprimer"
-#: ../src/main_window.c:353
-msgid "Close _all"
-msgstr "Fermer _tout"
+#: ../src/main_window.c:266
+msgid "Print the image"
+msgstr "_Imprimer l'image"
-#. Create 'Edit' menu
-#: ../src/main_window.c:383
+#: ../src/main_window.c:267
+msgid "_Close"
+msgstr "_Fermer"
+
+#: ../src/main_window.c:267
+msgid "Close this image"
+msgstr "Fermer cette image"
+
+#: ../src/main_window.c:268
+msgid "_Close All"
+msgstr "Fermer _Tout"
+
+#: ../src/main_window.c:268
+msgid "Close all images"
+msgstr "Fermer toutes les images"
+
+#: ../src/main_window.c:269
+msgid "_Quit"
+msgstr "_Quitter"
+
+#: ../src/main_window.c:269
+msgid "Quit Ristretto"
+msgstr "Quitter Ristretto"
+
+#. Edit Menu
+#: ../src/main_window.c:271
msgid "_Edit"
-msgstr "_Editer"
+msgstr "_Éditer"
-#: ../src/main_window.c:388 ../src/main_window.c:659
-msgid "Open with..."
+#: ../src/main_window.c:272
+msgid "_Open with..."
msgstr "_Ouvrir avec..."
-#: ../src/main_window.c:396 ../src/main_window.c:670
-msgid "No applications available"
-msgstr "Aucune application disponible"
+#: ../src/main_window.c:273
+msgid "_Sorting"
+msgstr "_Trier par"
+
+#: ../src/main_window.c:274
+msgid "_Delete"
+msgstr "_Effacer"
+
+#: ../src/main_window.c:275
+msgid "_Preferences"
+msgstr "Préférences"
-#. Create 'View' menu
-#: ../src/main_window.c:405
+#. View Menu
+#: ../src/main_window.c:277
msgid "_View"
msgstr "_Afficher"
-#: ../src/main_window.c:412
-msgid "Show _Toolbar"
-msgstr "Barre d’_outils"
+#: ../src/main_window.c:278
+msgid "_Fullscreen"
+msgstr "_Plein écran"
-#: ../src/main_window.c:413
-msgid "Thumbnail _Viewer"
-msgstr "Vue des _miniatures"
+#: ../src/main_window.c:279
+msgid "_Leave Fullscreen"
+msgstr "_Quitter le plein écran"
-#: ../src/main_window.c:417
+#: ../src/main_window.c:280
+msgid "_Set as Wallpaper"
+msgstr "_Utiliser en tant que fond d'écran"
+
+#. Zoom submenu
+#: ../src/main_window.c:282
msgid "_Zooming"
msgstr "_Zoom"
-#: ../src/main_window.c:418
-msgid "_Rotate"
-msgstr "_Rotation"
+#: ../src/main_window.c:283
+msgid "Zoom _In"
+msgstr "Zoom _Avant"
-#: ../src/main_window.c:425
-msgid "_Set as wallpaper"
-msgstr "_Utiliser en tant que fond d'écran"
+#: ../src/main_window.c:284
+msgid "Zoom _Out"
+msgstr "Zoom _Avant"
-#: ../src/main_window.c:476
-msgid "Show _Horizontally"
-msgstr "Afficher _horizontalement"
+#: ../src/main_window.c:285
+msgid "Zoom _Fit"
+msgstr "Zoom au _Mieux"
-#: ../src/main_window.c:480
-msgid "Show _Vertically"
-msgstr "Afficher _verticalement"
+#: ../src/main_window.c:286
+msgid "_Normal Size"
+msgstr "_Taille Normale"
-#: ../src/main_window.c:484
-msgid "H_ide"
-msgstr "_Cacher"
+#. Rotation submenu
+#: ../src/main_window.c:288
+msgid "_Rotation"
+msgstr "_Rotation"
-#: ../src/main_window.c:521
+#: ../src/main_window.c:289
msgid "Rotate _Right"
-msgstr "Tourner vers la _droite"
+msgstr "Tourner vers la _Droite"
-#: ../src/main_window.c:522
+#: ../src/main_window.c:290
msgid "Rotate _Left"
-msgstr "Tourner vers la _gauche"
+msgstr "Tourner vers la _Gauche"
-#. Create 'Go' menu
-#: ../src/main_window.c:543
+#. Go Menu
+#: ../src/main_window.c:292
msgid "_Go"
-msgstr "A_ller"
+msgstr "A_ller à"
+
+#: ../src/main_window.c:293
+msgid "_Forward"
+msgstr "_Suivante"
+
+#: ../src/main_window.c:294
+msgid "_Back"
+msgstr "_Précédente"
+
+#: ../src/main_window.c:295
+msgid "_First"
+msgstr "Pre_mière"
+
+#: ../src/main_window.c:296
+msgid "_Last"
+msgstr "_Dernière"
-#. Create 'Help' menu
-#: ../src/main_window.c:574
+#. Help Menu
+#: ../src/main_window.c:298
msgid "_Help"
msgstr "A_ide"
-#: ../src/main_window.c:906
-msgid "One or more images have been modified, do you want to save the changes?"
-msgstr "Une ou plusieurs images ont été modifiées, voulez-vous les enregistrer ?"
+#: ../src/main_window.c:300
+msgid "_Contents"
+msgstr "_Contenu"
+
+#: ../src/main_window.c:302
+msgid "Display ristretto user manual"
+msgstr "Afficher le manuel de ristretto"
+
+#: ../src/main_window.c:305
+msgid "_About"
+msgstr "_À propos"
+
+#: ../src/main_window.c:307
+msgid "Display information about ristretto"
+msgstr "Afficher les informations à propos de ristretto"
+
+#. Position Menu
+#: ../src/main_window.c:310
+msgid "_Position"
+msgstr "_Position"
+
+#. Misc
+#: ../src/main_window.c:312
+msgid "Leave _Fullscreen"
+msgstr "Quitter le _plein écran"
+
+#. Toggle visibility of the main file toolbar
+#: ../src/main_window.c:320
+msgid "Show _File Toolbar"
+msgstr "Montrer la Barre de _Fichiers"
+
+#. Toggle visibility of the main navigation toolbar
+#: ../src/main_window.c:322
+msgid "Show _Navigation Toolbar"
+msgstr "Montrer la Barre de _Navigation"
+
+#. Toggle visibility of the thumbnailbar
+#: ../src/main_window.c:324
+msgid "Show _Thumbnailbar"
+msgstr "Montrer la Barre de _Miniatures"
+
+#. Sort by Filename
+#: ../src/main_window.c:331
+msgid "sort by filename"
+msgstr "Trier par nom de fichier"
+
+#. Sort by Date
+#: ../src/main_window.c:333
+msgid "sort by date"
+msgstr "Trier par date"
+
+#: ../src/main_window.c:339
+msgid "Left"
+msgstr "Gauche"
-#: ../src/main_window.c:1394
-msgid "Image viewer Preferences"
-msgstr "Préférences du visualiseur d’images"
+#: ../src/main_window.c:340
+msgid "Right"
+msgstr "Droite"
+
+#: ../src/main_window.c:341
+msgid "Top"
+msgstr "Haut"
+
+#: ../src/main_window.c:342
+msgid "Bottom"
+msgstr "Bas"
+
+#: ../src/main_window.c:512
+#: ../src/main_window.c:778
+msgid "Press open to select an image"
+msgstr "Cliquez sur ouvrir pour sélectionner une image"
+
+#: ../src/main_window.c:765
+#: ../src/main_window.c:770
+msgid "Empty"
+msgstr "Vide"
+
+#: ../src/main_window.c:1545
+msgid "Developer:"
+msgstr "Développeur :"
-#: ../src/main_window.c:1412
+#: ../src/main_window.c:1555
+msgid "Ristretto is an imageviewer for the Xfce desktop environment."
+msgstr "Ristretto est une visionneuse d’images légère et rapide pour l’environnement de bureau Xfce."
+
+#: ../src/main_window.c:1563
+msgid "translator-credits"
+msgstr ""
+"Mike Massonnet <mmassonnet at xfce.org>\n"
+"Steve Dodier <sidnioulz at gmail.com>"
+
+#: ../src/main_window.c:1878
+msgid "Open image"
+msgstr "Ouvrir une image"
+
+#: ../src/main_window.c:1890
+msgid "Images"
+msgstr "Images"
+
+#: ../src/main_window.c:1895
+msgid ".jp(e)g"
+msgstr ".jp(e)g"
+
+#: ../src/main_window.c:1917
+#: ../src/main_window.c:1940
+#: ../src/main_window.c:2099
+#: ../src/main_window.c:2114
+msgid "Could not open file"
+msgstr "Impossible d’ouvrir le fichier"
+
+#: ../src/main_window.c:1992
+msgid "Open folder"
+msgstr "Ouvrir un répertoire"
+
+#: ../src/main_window.c:2137
+msgid "Save copy"
+msgstr "Sauvegarder une copie"
+
+#: ../src/main_window.c:2210
+#, c-format
+msgid "Are you sure you want to delete image '%s' from disk?"
+msgstr "Désirez-vous vraiment supprimer l'image '%s' du disque ?"
+
+#: ../src/preferences_dialog.c:230
msgid "Display"
msgstr "Affichage"
-#: ../src/main_window.c:1416
+#: ../src/preferences_dialog.c:235
+msgid "Background color"
+msgstr "Couleur d'arrière plan"
+
+#: ../src/preferences_dialog.c:239
+msgid "Override background color:"
+msgstr "_Passer outre la couleur d’arrière plan :"
+
+#: ../src/preferences_dialog.c:267
+msgid "Quality"
+msgstr "Qualité"
+
+#: ../src/preferences_dialog.c:271
+msgid "Maximum render quality:"
+msgstr "Qualité d'image maximale :"
+
+#: ../src/preferences_dialog.c:274
+msgid "Show preview when loading image"
+msgstr "Afficher une prévisualisation lors du chargement de l'image"
+
+#: ../src/preferences_dialog.c:281
+msgid "Best"
+msgstr "Meilleure"
+
+#: ../src/preferences_dialog.c:282
+msgid "High"
+msgstr "Haute"
+
+#: ../src/preferences_dialog.c:283
+msgid "Medium"
+msgstr "Moyenne"
+
+#: ../src/preferences_dialog.c:284
+msgid "Low"
+msgstr "Faible"
+
+#: ../src/preferences_dialog.c:324
msgid "Slideshow"
msgstr "Diaporama"
-#: ../src/main_window.c:1420
+#: ../src/preferences_dialog.c:328
+msgid "Timeout"
+msgstr "Durée"
+
+#: ../src/preferences_dialog.c:331
+msgid ""
+"The time period an individual image is displayed during a slideshow\n"
+"(in seconds)"
+msgstr ""
+"La durée d’affichage d’une image individuelle durant le diaporama\n"
+"(en secondes)"
+
+#: ../src/preferences_dialog.c:346
+msgid "Thumbnails"
+msgstr "Miniatures"
+
+#: ../src/preferences_dialog.c:349
+msgid ""
+"The thumbnailbar can be automatically hidden \n"
+"when the image-viewer is fullscreen."
+msgstr ""
+"La barre de miniatures peut être cachée automatiquement \n"
+"lorsque la visionneuse d'images est en plein écran."
+
+#: ../src/preferences_dialog.c:351
+msgid "Hide thumbnailbar when fullscreen"
+msgstr "_Cacher les miniatures en plein écran"
+
+#: ../src/preferences_dialog.c:364
+msgid "Control"
+msgstr "Contrôles"
+
+#: ../src/preferences_dialog.c:368
+msgid "Scrollwheel"
+msgstr "Défilement de la molette"
+
+#: ../src/preferences_dialog.c:371
+msgid "No action"
+msgstr "Aucune action"
+
+#: ../src/preferences_dialog.c:375
+msgid "Zoom in and out"
+msgstr "Zoomer en avant / arrière"
+
+#: ../src/preferences_dialog.c:378
+msgid "Switch images"
+msgstr "Changer d'image"
+
+#: ../src/preferences_dialog.c:412
msgid "Behaviour"
msgstr "Comportement"
-#: ../src/main_window.c:1425
+#: ../src/preferences_dialog.c:417
msgid "Scaling"
msgstr "Taille d'image"
-#: ../src/main_window.c:1427
+#: ../src/preferences_dialog.c:422
msgid "Don't scale over 100% when maximizing the window."
msgstr ""
"Adapter l'image lors de l'agrandissement de la fenêtre\n"
"(jamais au-delà de 100%)"
-#: ../src/main_window.c:1437
-msgid "Background Color"
-msgstr "Couleur d'arrière plan"
+#: ../src/preferences_dialog.c:426
+msgid "Startup"
+msgstr "Démarrage"
+
+#: ../src/preferences_dialog.c:428
+msgid "Resize window to image on startup"
+msgstr "Redimensionner l'image à la taille de la fenêtre au démarrage"
+
+#: ../src/preferences_dialog.c:432
+msgid "Open entire folder on startup"
+msgstr "Ouvrir le dossier complet au démarrage"
-#: ../src/main_window.c:1439
-msgid "_Override Background Color:"
-msgstr "_Choisir une couleur d’arrière plan :"
+#: ../src/preferences_dialog.c:437
+msgid "Wrap around images"
+msgstr "Adapter autour de l'image"
-#: ../src/main_window.c:1462
-msgid "Image Cache"
-msgstr "Données images en cache"
+#: ../src/preferences_dialog.c:453
+msgid "Memory"
+msgstr "Mémoire"
-#: ../src/main_window.c:1465
-msgid "Cache size:"
+#: ../src/preferences_dialog.c:459
+msgid "Image cache"
+msgstr "Mise en cache d'images"
+
+#: ../src/preferences_dialog.c:465
+msgid "Cache size"
msgstr "Taille du cache :"
-#: ../src/main_window.c:1466
+#: ../src/preferences_dialog.c:466
msgid "MB"
msgstr "Mo"
-#: ../src/main_window.c:1468
-msgid "_Preload images (GUI more responsive but more CPU-intensive)"
-msgstr "_Précharger les images\n(l'interface est plus réactive mais demande plus de charge CPU)"
+#: ../src/preferences_dialog.c:469
+msgid "Enable cache"
+msgstr "Activer la mise en cache"
-#: ../src/main_window.c:1486
-msgid "Timeout"
-msgstr "Durée"
+#: ../src/preferences_dialog.c:474
+msgid "Preload images"
+msgstr "Précharger les images"
-#: ../src/main_window.c:1489
-msgid "Thumbnails"
-msgstr "Miniatures"
+#: ../src/preferences_dialog.c:544
+msgid "Preferences"
+msgstr "Préférences"
-#: ../src/main_window.c:1494
-msgid ""
-"The time period an individual image is displayed during a slideshow\n"
-"(in seconds)"
-msgstr ""
-"La durée d’affichage d’une image individuelle durant le diaporama\n"
-"(en secondes)"
+#: ../src/xfce_wallpaper_manager.c:84
+msgid "Set as wallpaper"
+msgstr "_Utiliser en tant que fond d'écran"
-#: ../src/main_window.c:1497
-msgid "Hide the thumbnails bar during slideshow"
-msgstr "Cacher les miniatures durant le diaporama"
+#: ../src/xfce_wallpaper_manager.c:86
+msgid "Style:"
+msgstr "Style:"
-#: ../src/main_window.c:1498
-msgid "_Hide thumbnails"
-msgstr "_Cacher les miniatures"
+#: ../src/xfce_wallpaper_manager.c:88
+msgid "Monitor:"
+msgstr "Moniteur:"
-#: ../src/main_window.c:1556
-msgid "Developer:"
-msgstr "Développeur :"
+#: ../src/xfce_wallpaper_manager.c:90
+msgid "Brightness:"
+msgstr "Luminosité:"
-#: ../src/main_window.c:1566
-msgid ""
-"Ristretto is a fast and lightweight picture-viewer for the Xfce desktop "
-"environment."
-msgstr ""
-"Ristretto est un visualiseur d’images léger et rapide pour l’environnement "
-"de bureau Xfce."
+#: ../src/xfce_wallpaper_manager.c:91
+msgid "Saturation:"
+msgstr "Saturation:"
-#: ../src/main_window.c:1574
-msgid "translator-credits"
-msgstr "Mike Massonnet <mmassonnet at xfce.org>"
+#: ../src/xfce_wallpaper_manager.c:123
+msgid "Auto"
+msgstr "Auto"
-#: ../src/main_window.c:1600
-msgid "Open image"
-msgstr "Ouvrir une image"
+#: ../src/xfce_wallpaper_manager.c:124
+msgid "Centered"
+msgstr "Centré"
-#: ../src/main_window.c:1618
-msgid "Could not open file"
-msgstr "Impossible d’ouvrir le fichier"
+#: ../src/xfce_wallpaper_manager.c:125
+#, fuzzy
+msgid "Tiled"
+msgstr "_Fichier"
-#: ../src/main_window.c:1640
-msgid "Open folder"
-msgstr "Ouvrir un répertoire"
+#: ../src/xfce_wallpaper_manager.c:126
+msgid "Stretched"
+msgstr "Etendu"
-#: ../src/main_window.c:1715
-msgid ""
-"Are you sure you want to clear ristretto's list of recently opened documents?"
-msgstr ""
-"Êtes-vous certain de vouloir supprimer la liste des documents récemment "
-"ouverts de Ristretto ?"
+#: ../src/xfce_wallpaper_manager.c:127
+msgid "Scaled"
+msgstr "mMise à l'échelle"
+
+#: ../src/xfce_wallpaper_manager.c:128
+msgid "Zoomed"
+msgstr "Zoomé"
-#: ../src/thumbnail_bar.c:185
+#: ../src/thumbnail_bar.c:187
msgid "Spacing"
msgstr "Espacement"
-#: ../src/thumbnail_bar.c:186
+#: ../src/thumbnail_bar.c:188
msgid "The amount of space between the thumbnails"
msgstr "L'espacement entre les miniatures"
-#: ../src/thumbnail_bar.c:192
-msgid "Border Width"
-msgstr "Taille des bordures"
+#: ../src/thumbnail_bar.c:194
+msgid "border width"
+msgstr "Largeur des bordures"
-#: ../src/thumbnail_bar.c:193
-msgid "The border width of the thumbnail-bar"
-msgstr "La taille de la bordure de la barre des miniatures"
+#: ../src/thumbnail_bar.c:195
+msgid "the border width of the thumbnail-bar"
+msgstr "Largeur de la barre des miniatures"
+
+#: ../src/thumbnail_bar.c:201
+msgid "filmstrip width"
+msgstr "Largeur de bande de film"
+
+#: ../src/thumbnail_bar.c:202
+msgid "the width of the thumbnail-bar film-strip"
+msgstr "Largeur de barre de miniature de la bande de film"
#: ../ristretto.desktop.in.h:1
msgid "Image Viewer"
msgstr "Visualiseur d’images"
#: ../ristretto.desktop.in.h:2
-msgid "Ristretto"
-msgstr "Ristretto"
+msgid "Look at your photo's easily"
+msgstr "Regardez votre photo facilement"
#: ../ristretto.desktop.in.h:3
-msgid "Xfce Image viewer"
-msgstr "Visualiseur d’images pour Xfce"
+msgid "Ristretto Photo Viewer"
+msgstr "Visionneuse d’Images Ristretto"
+
+#, fuzzy
+#~ msgid "Ristretto"
+#~ msgstr "Ristretto"
+
+#, fuzzy
+#~ msgid "_Thumbnail Bar"
+#~ msgstr "Miniatures"
+
+#~ msgid "Opening file(s)..."
+#~ msgstr "Ouvrir des fichiers..."
+
+#~ msgid "_Recently used"
+#~ msgstr "_Récemment ouvert"
+
+#~ msgid "No applications available"
+#~ msgstr "Aucune application disponible"
+
+#~ msgid "Thumbnail _Viewer"
+#~ msgstr "Vue des _miniatures"
+
+#~ msgid "Show _Horizontally"
+#~ msgstr "Afficher _horizontalement"
+
+#~ msgid "Show _Vertically"
+#~ msgstr "Afficher _verticalement"
+
+#~ msgid "H_ide"
+#~ msgstr "_Cacher"
+
+#~ msgid ""
+#~ "One or more images have been modified, do you want to save the changes?"
+#~ msgstr ""
+#~ "Une ou plusieurs images ont été modifiées, voulez-vous les enregistrer ?"
+
+#~ msgid "_Preload images (GUI more responsive but more CPU-intensive)"
+#~ msgstr ""
+#~ "_Précharger les images\n"
+#~ "(l'interface est plus réactive mais demande plus de charge CPU)"
+
+#~ msgid "Hide the thumbnails bar during slideshow"
+#~ msgstr "Cacher les miniatures durant le diaporama"
+
+#~ msgid "Xfce Image viewer"
+#~ msgstr "Visualiseur d’images pour Xfce"
#~ msgid "Preload"
#~ msgstr "Préchargement"
@@ -280,12 +606,6 @@ msgstr "Visualiseur d’images pour Xfce"
#~ "Précharger les images durant le diaporama\n"
#~ "(nécessite plus de mémoire vive)"
-#~ msgid "_Preload images"
-#~ msgstr "_Précharger les images"
-
-#~ msgid "Ristretto Image Viewer"
-#~ msgstr "Ristretto : Visualiseur d’Images"
-
#~ msgid "Flip _Vertically"
#~ msgstr "Retourner _verticalement"
diff --git a/po/gl.po b/po/gl.po
index 3d949e3..128584c 100644
--- a/po/gl.po
+++ b/po/gl.po
@@ -1,8 +1,8 @@
# Galician translation of ristretto
-# Copyright (C) 2009 Leandro Regueiro.
+# Copyright (C) 2008, 2009, 2010 Leandro Regueiro.
# This file is distributed under the same license as the Xfce package.
#
-# Leandro Regueiro <leandro DOT regueiro AT gmail DOT com>, 2008, 2009.
+# Leandro Regueiro <leandro DOT regueiro AT gmail DOT com>, 2008, 2009, 2010.
#
# Proxecto Trasno - Adaptación do software libre á lingua galega: Se desexas
# colaborar connosco, podes atopar máis información en <http://trasno.net>
@@ -11,8 +11,8 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: xfce-i18n at xfce.org\n"
-"POT-Creation-Date: 2008-11-14 13:24+0100\n"
-"PO-Revision-Date: 2009-06-30 11:23+0100\n"
+"POT-Creation-Date: 2010-01-15 00:57+0100\n"
+"PO-Revision-Date: 2010-02-08 21:43+0100\n"
"Last-Translator: Leandro Regueiro <leandro.regueiro at gmail.com>\n"
"Language-Team: Galician <proxecto at trasno.net>\n"
"MIME-Version: 1.0\n"
@@ -20,254 +20,563 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: ../src/main.c:61
+#: ../src/main.c:59
msgid "Version information"
msgstr "Información de versión"
-#: ../src/main.c:65
+#: ../src/main.c:63
msgid "Start in fullscreen mode"
-msgstr "Iniciar en modo pantalla completa"
+msgstr "Iniciar en modo de pantalla completa"
-#: ../src/main.c:69
+#: ../src/main.c:67
msgid "Start a slideshow"
msgstr "Iniciar unha presentación"
-#: ../src/main.c:235
+#: ../src/main.c:91
#, c-format
msgid ""
"%s: %s\n"
"Try %s --help to see a full list of available command line options.\n"
msgstr ""
"%s: %s\n"
-"Probe %s --help para ver unha lista completa das opcións de liña de comandos dispoñibles.\n"
+"Execute %s --help para ver unha lista completa das opcións de liña de comandos dispoñibles.\n"
-#: ../src/main.c:448
-#: ../src/main_window.c:1598
-#: ../src/main_window.c:1638
-#: ../src/main_window.c:1675
-msgid "Opening file(s)..."
-msgstr "Abrindo ficheiros..."
-
-#. Create 'File' menu
-#: ../src/main_window.c:340
+#. File Menu
+#: ../src/main_window.c:262
msgid "_File"
msgstr "_Ficheiro"
-#: ../src/main_window.c:347
-msgid "O_pen Folder"
-msgstr "_Abrir cartafol"
+#: ../src/main_window.c:263
+msgid "_Open"
+msgstr "_Abrir"
+
+#: ../src/main_window.c:263
+msgid "Open an image"
+msgstr "Abrir unha imaxe"
+
+#: ../src/main_window.c:264
+msgid "Open _Folder"
+msgstr "Abrir carta_fol"
+
+#: ../src/main_window.c:264
+msgid "Open a folder"
+msgstr "Abrir un cartafol"
+
+#: ../src/main_window.c:265
+msgid "_Save copy"
+msgstr "Gar_dar unha copia"
+
+#: ../src/main_window.c:265
+msgid "Save a copy of the image"
+msgstr "Gardar unha copia da imaxe"
-#: ../src/main_window.c:348
-msgid "_Recently used"
-msgstr "Usados _recentemente"
+#: ../src/main_window.c:266
+msgid "_Print"
+msgstr "Im_primir"
-#: ../src/main_window.c:353
-msgid "Close _all"
-msgstr "Pechar _todo"
+#: ../src/main_window.c:266
+msgid "Print the image"
+msgstr "Imprimir a imaxe"
-#. Create 'Edit' menu
-#: ../src/main_window.c:383
+#: ../src/main_window.c:267
+msgid "_Close"
+msgstr "_Pechar"
+
+#: ../src/main_window.c:267
+msgid "Close this image"
+msgstr "Pechar esta imaxe"
+
+#: ../src/main_window.c:268
+msgid "_Close All"
+msgstr "_Pechar todas"
+
+#: ../src/main_window.c:268
+msgid "Close all images"
+msgstr "Pechar todas as imaxes"
+
+#: ../src/main_window.c:269
+msgid "_Quit"
+msgstr "_Saír"
+
+#: ../src/main_window.c:269
+msgid "Quit Ristretto"
+msgstr "Saír de Ristretto"
+
+#. Edit Menu
+#: ../src/main_window.c:271
msgid "_Edit"
msgstr "_Editar"
-#: ../src/main_window.c:388
-#: ../src/main_window.c:659
-msgid "Open with..."
-msgstr "Abrir con..."
+#: ../src/main_window.c:272
+msgid "_Open with..."
+msgstr "_Abrir con..."
+
+#: ../src/main_window.c:273
+msgid "_Sorting"
+msgstr "_Ordenación"
-#: ../src/main_window.c:396
-#: ../src/main_window.c:670
-msgid "No applications available"
-msgstr "Non hai aplicacións dispoñibles"
+#: ../src/main_window.c:274
+msgid "_Delete"
+msgstr "_Eliminar"
-#. Create 'View' menu
-#: ../src/main_window.c:405
+#: ../src/main_window.c:275
+msgid "_Preferences"
+msgstr "_Preferencias"
+
+#. View Menu
+#: ../src/main_window.c:277
msgid "_View"
msgstr "_Ver"
-#: ../src/main_window.c:412
-msgid "Show _Toolbar"
-msgstr "Mostrar a _barra de ferramentas"
+#: ../src/main_window.c:278
+msgid "_Fullscreen"
+msgstr "_Pantalla completa"
+
+#: ../src/main_window.c:279
+msgid "_Leave Fullscreen"
+msgstr "_Saír do modo de pantalla completa"
-#: ../src/main_window.c:413
-msgid "Thumbnail _Viewer"
-msgstr "_Visor de miniaturas"
+#: ../src/main_window.c:280
+msgid "_Set as Wallpaper"
+msgstr "Definir como _fondo de escritorio"
-#: ../src/main_window.c:417
+#. Zoom submenu
+#: ../src/main_window.c:282
msgid "_Zooming"
msgstr "_Ampliación"
-#: ../src/main_window.c:418
-msgid "_Rotate"
-msgstr "_Rotar"
+#: ../src/main_window.c:283
+msgid "Zoom _In"
+msgstr "_Aumentar"
-#: ../src/main_window.c:425
-msgid "_Set as wallpaper"
-msgstr "Definir coma _imaxe de fondo"
+#: ../src/main_window.c:284
+msgid "Zoom _Out"
+msgstr "_Reducir"
-#: ../src/main_window.c:476
-msgid "Show _Horizontally"
-msgstr "Mostrar en _horizontal"
+#: ../src/main_window.c:285
+msgid "Zoom _Fit"
+msgstr "_Encaixar"
-#: ../src/main_window.c:480
-msgid "Show _Vertically"
-msgstr "Mostrar en _vertical"
+#: ../src/main_window.c:286
+msgid "_Normal Size"
+msgstr "Tamaño _normal"
-#: ../src/main_window.c:484
-msgid "H_ide"
-msgstr "_Agochar"
+#. Rotation submenu
+#: ../src/main_window.c:288
+msgid "_Rotation"
+msgstr "_Rotación"
-#: ../src/main_window.c:521
+#: ../src/main_window.c:289
msgid "Rotate _Right"
msgstr "Rotar á _dereita"
-#: ../src/main_window.c:522
+#: ../src/main_window.c:290
msgid "Rotate _Left"
msgstr "Rotar á _esqueda"
-#. Create 'Go' menu
-#: ../src/main_window.c:543
+#. Go Menu
+#: ../src/main_window.c:292
msgid "_Go"
msgstr "_Ir"
-#. Create 'Help' menu
-#: ../src/main_window.c:574
+#: ../src/main_window.c:293
+msgid "_Forward"
+msgstr "_Seguinte"
+
+#: ../src/main_window.c:294
+msgid "_Back"
+msgstr "_Atrás"
+
+#: ../src/main_window.c:295
+msgid "_First"
+msgstr "_Primeira"
+
+#: ../src/main_window.c:296
+msgid "_Last"
+msgstr "Ú_ltima"
+
+#. Help Menu
+#: ../src/main_window.c:298
msgid "_Help"
msgstr "A_xuda"
-#: ../src/main_window.c:906
-msgid "One or more images have been modified, do you want to save the changes?"
-msgstr "Modificáronse unha ou máis imaxes, desexa gardar os cambios?"
+#: ../src/main_window.c:300
+msgid "_Contents"
+msgstr "_Contido"
+
+#: ../src/main_window.c:302
+msgid "Display ristretto user manual"
+msgstr "Mostrar o manual de usuario de Ristretto"
+
+#: ../src/main_window.c:305
+msgid "_About"
+msgstr "_Acerca de"
+
+#: ../src/main_window.c:307
+msgid "Display information about ristretto"
+msgstr "Mostrar información acerca de Ristretto"
+
+#. Position Menu
+#: ../src/main_window.c:310
+msgid "_Position"
+msgstr "_Posición"
+
+#. Misc
+#: ../src/main_window.c:312
+msgid "Leave _Fullscreen"
+msgstr "_Saír do modo de pantalla completa"
+
+#. Toggle visibility of the main file toolbar
+#: ../src/main_window.c:320
+msgid "Show _File Toolbar"
+msgstr "Mostrar a barra de ferramentas de _ficheiro"
+
+#. Toggle visibility of the main navigation toolbar
+#: ../src/main_window.c:322
+msgid "Show _Navigation Toolbar"
+msgstr "Mostrar a barra de ferramentas de _navegación"
+
+#. Toggle visibility of the thumbnailbar
+#: ../src/main_window.c:324
+msgid "Show _Thumbnailbar"
+msgstr "Mos_trar a barra de miniaturas"
+
+#. Sort by Filename
+#: ../src/main_window.c:331
+msgid "sort by filename"
+msgstr "ordenar por nome de ficheiro"
+
+#. Sort by Date
+#: ../src/main_window.c:333
+msgid "sort by date"
+msgstr "ordenar por data"
+
+#: ../src/main_window.c:339
+msgid "Left"
+msgstr "Esquerda"
+
+#: ../src/main_window.c:340
+msgid "Right"
+msgstr "Dereita"
+
+#: ../src/main_window.c:341
+msgid "Top"
+msgstr "Superior"
+
+#: ../src/main_window.c:342
+msgid "Bottom"
+msgstr "Inferior"
+
+#: ../src/main_window.c:512
+#: ../src/main_window.c:778
+msgid "Press open to select an image"
+msgstr "Prema abrir para seleccionar unha imaxe"
-#: ../src/main_window.c:1394
-msgid "Image viewer Preferences"
-msgstr "Preferencias do visor de imaxes"
+#: ../src/main_window.c:765
+#: ../src/main_window.c:770
+msgid "Empty"
+msgstr "Baleiro"
+
+#: ../src/main_window.c:1545
+msgid "Developer:"
+msgstr "Desenvolvedor:"
-#: ../src/main_window.c:1412
+#: ../src/main_window.c:1555
+msgid "Ristretto is an imageviewer for the Xfce desktop environment."
+msgstr "Ristretto é un visor de imaxes para o ambiente de escritorio Xfce."
+
+#: ../src/main_window.c:1563
+msgid "translator-credits"
+msgstr ""
+"Leandro Regueiro <leandro.regueiro at gmail.com>, 2008, 2009, 2010\n"
+"\n"
+"Proxecto Trasno http://trasno.net"
+
+#: ../src/main_window.c:1878
+msgid "Open image"
+msgstr "Abrir imaxe"
+
+#: ../src/main_window.c:1890
+msgid "Images"
+msgstr "Imaxes"
+
+#: ../src/main_window.c:1895
+msgid ".jp(e)g"
+msgstr ".jp(e)g"
+
+#: ../src/main_window.c:1917
+#: ../src/main_window.c:1940
+#: ../src/main_window.c:2099
+#: ../src/main_window.c:2114
+msgid "Could not open file"
+msgstr "Non se puido abrir o ficheiro"
+
+#: ../src/main_window.c:1992
+msgid "Open folder"
+msgstr "Abrir cartafol"
+
+#: ../src/main_window.c:2137
+msgid "Save copy"
+msgstr "Gardar unha copia"
+
+#: ../src/main_window.c:2210
+#, c-format
+msgid "Are you sure you want to delete image '%s' from disk?"
+msgstr "Está seguro de que desexa eliminar a imaxe \"%s\" do disco?"
+
+#: ../src/preferences_dialog.c:230
msgid "Display"
msgstr "Pantalla"
-#: ../src/main_window.c:1416
+#: ../src/preferences_dialog.c:235
+msgid "Background color"
+msgstr "Cor de fondo"
+
+#: ../src/preferences_dialog.c:239
+msgid "Override background color:"
+msgstr "Substituír a cor de fondo:"
+
+#: ../src/preferences_dialog.c:267
+msgid "Quality"
+msgstr "Calidade"
+
+#: ../src/preferences_dialog.c:271
+msgid "Maximum render quality:"
+msgstr "Calidade máxima de visualización:"
+
+#: ../src/preferences_dialog.c:274
+msgid "Show preview when loading image"
+msgstr "Mostrar unha previsualización ao cargar a imaxe"
+
+#: ../src/preferences_dialog.c:281
+msgid "Best"
+msgstr "A mellor"
+
+#: ../src/preferences_dialog.c:282
+msgid "High"
+msgstr "Alta"
+
+#: ../src/preferences_dialog.c:283
+msgid "Medium"
+msgstr "Media"
+
+#: ../src/preferences_dialog.c:284
+msgid "Low"
+msgstr "Baixa"
+
+#: ../src/preferences_dialog.c:324
msgid "Slideshow"
msgstr "Presentación"
-#: ../src/main_window.c:1420
+#: ../src/preferences_dialog.c:328
+msgid "Timeout"
+msgstr "Tempo de espera"
+
+#: ../src/preferences_dialog.c:331
+msgid ""
+"The time period an individual image is displayed during a slideshow\n"
+"(in seconds)"
+msgstr ""
+"O período de tempo que se mostra cada imaxe durante unha\n"
+"presentación (en segundos)"
+
+#: ../src/preferences_dialog.c:346
+msgid "Thumbnails"
+msgstr "Miniaturas"
+
+#: ../src/preferences_dialog.c:349
+msgid ""
+"The thumbnailbar can be automatically hidden \n"
+"when the image-viewer is fullscreen."
+msgstr ""
+"Pódese ocultar automaticamente a barra de\n"
+"miniaturas cando o visor de imaxes está a\n"
+"pantalla completa."
+
+#: ../src/preferences_dialog.c:351
+msgid "Hide thumbnailbar when fullscreen"
+msgstr "Ocultar a barra de miniaturas cando se estea a pantalla completa"
+
+#: ../src/preferences_dialog.c:364
+msgid "Control"
+msgstr "Control"
+
+#: ../src/preferences_dialog.c:368
+msgid "Scrollwheel"
+msgstr "Roda do rato"
+
+#: ../src/preferences_dialog.c:371
+msgid "No action"
+msgstr "Sen acción"
+
+#: ../src/preferences_dialog.c:375
+msgid "Zoom in and out"
+msgstr "Achegar ou alonxar"
+
+#: ../src/preferences_dialog.c:378
+msgid "Switch images"
+msgstr "Cambiar de imaxe"
+
+#: ../src/preferences_dialog.c:412
msgid "Behaviour"
msgstr "Comportamento"
# expandir escalar redimensionar
-#: ../src/main_window.c:1425
+#: ../src/preferences_dialog.c:417
msgid "Scaling"
msgstr "Redimensionamento"
-#: ../src/main_window.c:1427
+#: ../src/preferences_dialog.c:422
msgid "Don't scale over 100% when maximizing the window."
-msgstr "Non redimensionar máis alá do 100% ó maximizar a ventá."
+msgstr "Non redimensionar máis alá do 100% ao maximizar a fiestra."
-#: ../src/main_window.c:1437
-msgid "Background Color"
-msgstr "Cor de fondo"
+#: ../src/preferences_dialog.c:426
+msgid "Startup"
+msgstr "Inicio"
+
+#: ../src/preferences_dialog.c:428
+msgid "Resize window to image on startup"
+msgstr "Redimensionar a fiestra ao tamaño da imaxe ao iniciar"
+
+#: ../src/preferences_dialog.c:432
+msgid "Open entire folder on startup"
+msgstr "Abrir todo o cartafol ao iniciar"
-#: ../src/main_window.c:1439
-msgid "_Override Background Color:"
-msgstr "_Substituír a cor de fondo:"
+#: ../src/preferences_dialog.c:437
+msgid "Wrap around images"
+msgstr "Envoltorio arredor das imaxes"
-#: ../src/main_window.c:1462
-msgid "Image Cache"
+#: ../src/preferences_dialog.c:453
+msgid "Memory"
+msgstr "Memoria"
+
+#: ../src/preferences_dialog.c:459
+msgid "Image cache"
msgstr "Caché de imaxes"
-#: ../src/main_window.c:1465
-msgid "Cache size:"
-msgstr "Tamaño da caché:"
+#: ../src/preferences_dialog.c:465
+msgid "Cache size"
+msgstr "Tamaño da caché"
-#: ../src/main_window.c:1466
+#: ../src/preferences_dialog.c:466
msgid "MB"
msgstr "MB"
-#: ../src/main_window.c:1468
-msgid "_Preload images (GUI more responsive but more CPU-intensive)"
-msgstr "_Precargar as imaxes (a GUI vai máis rápida pero úsase máis a CPU)"
+#: ../src/preferences_dialog.c:469
+msgid "Enable cache"
+msgstr "Activar a caché"
-#: ../src/main_window.c:1486
-msgid "Timeout"
-msgstr "Tempo de espera"
+#: ../src/preferences_dialog.c:474
+msgid "Preload images"
+msgstr "Precargar as imaxes"
-#: ../src/main_window.c:1489
-msgid "Thumbnails"
-msgstr "Miniaturas"
+#: ../src/preferences_dialog.c:544
+msgid "Preferences"
+msgstr "Preferencias"
-#: ../src/main_window.c:1494
-msgid ""
-"The time period an individual image is displayed during a slideshow\n"
-"(in seconds)"
-msgstr ""
-"O período de tempo que se mostra cada imaxe durante unha\n"
-"presentación (en segundos)"
+#: ../src/xfce_wallpaper_manager.c:84
+msgid "Set as wallpaper"
+msgstr "Definir como fondo de escritorio"
-#: ../src/main_window.c:1497
-msgid "Hide the thumbnails bar during slideshow"
-msgstr "Agochar a barra de miniaturas durante a presentación"
+#: ../src/xfce_wallpaper_manager.c:86
+msgid "Style:"
+msgstr "Estilo:"
-#: ../src/main_window.c:1498
-msgid "_Hide thumbnails"
-msgstr "_Agochar as miniaturas"
+#: ../src/xfce_wallpaper_manager.c:88
+msgid "Monitor:"
+msgstr "Monitor:"
-#: ../src/main_window.c:1556
-msgid "Developer:"
-msgstr "Desenvolvedor:"
+#: ../src/xfce_wallpaper_manager.c:90
+msgid "Brightness:"
+msgstr "Brillo:"
-#: ../src/main_window.c:1566
-msgid "Ristretto is a fast and lightweight picture-viewer for the Xfce desktop environment."
-msgstr "Ristretto é un visor de imaxes lixeiro e rápido para o ambiente de escritorio Xfce."
+#: ../src/xfce_wallpaper_manager.c:91
+msgid "Saturation:"
+msgstr "Saturación:"
-#: ../src/main_window.c:1574
-msgid "translator-credits"
-msgstr ""
-"Leandro Regueiro <leandro.regueiro at gmail.com>, 2008\n"
-"\n"
-"Proxecto Trasno http://trasno.net"
+#: ../src/xfce_wallpaper_manager.c:123
+msgid "Auto"
+msgstr "Automático"
-#: ../src/main_window.c:1600
-msgid "Open image"
-msgstr "Abrir imaxe"
+#: ../src/xfce_wallpaper_manager.c:124
+msgid "Centered"
+msgstr "Centrado"
-#: ../src/main_window.c:1618
-msgid "Could not open file"
-msgstr "Non se puido abrir o ficheiro"
+#: ../src/xfce_wallpaper_manager.c:125
+msgid "Tiled"
+msgstr "Mosaico"
-#: ../src/main_window.c:1640
-msgid "Open folder"
-msgstr "Abrir cartafol"
+#: ../src/xfce_wallpaper_manager.c:126
+msgid "Stretched"
+msgstr "Estirada"
+
+# expandir escalar redimensionar
+# MIRAR EN XFDESKTOP
+#: ../src/xfce_wallpaper_manager.c:127
+msgid "Scaled"
+msgstr "Escalada"
-#: ../src/main_window.c:1715
-msgid "Are you sure you want to clear ristretto's list of recently opened documents?"
-msgstr "Está seguro de que desexa limpar a lista de documentos abertos recentemente de Ristretto?"
+#: ../src/xfce_wallpaper_manager.c:128
+msgid "Zoomed"
+msgstr "Ampliada"
-#: ../src/thumbnail_bar.c:185
+#: ../src/thumbnail_bar.c:187
msgid "Spacing"
msgstr "Espazamento"
-#: ../src/thumbnail_bar.c:186
+#: ../src/thumbnail_bar.c:188
msgid "The amount of space between the thumbnails"
msgstr "O espazo entre as miniaturas"
-#: ../src/thumbnail_bar.c:192
-msgid "Border Width"
+#: ../src/thumbnail_bar.c:194
+msgid "border width"
msgstr "Ancho do bordo"
-#: ../src/thumbnail_bar.c:193
-msgid "The border width of the thumbnail-bar"
+#: ../src/thumbnail_bar.c:195
+msgid "the border width of the thumbnail-bar"
msgstr "O ancho do bordo da barra de miniaturas"
+#: ../src/thumbnail_bar.c:201
+msgid "filmstrip width"
+msgstr "Ancho da cinta de película"
+
+#: ../src/thumbnail_bar.c:202
+msgid "the width of the thumbnail-bar film-strip"
+msgstr "O ancho da cinta de película da barra de miniaturas"
+
#: ../ristretto.desktop.in.h:1
msgid "Image Viewer"
-msgstr "Visor de Imaxes"
+msgstr "Visor de imaxes"
#: ../ristretto.desktop.in.h:2
-msgid "Ristretto"
-msgstr "Ristretto"
+msgid "Look at your photo's easily"
+msgstr "Mire as súas fotos sen complicarse"
#: ../ristretto.desktop.in.h:3
-msgid "Xfce Image viewer"
-msgstr "Visor de imaxes de Xfce"
+msgid "Ristretto Photo Viewer"
+msgstr "Visor de fotos Ristretto"
+
+#~ msgid "Opening file(s)..."
+#~ msgstr "Abrindo ficheiros..."
+#~ msgid "_Recently used"
+#~ msgstr "Usados _recentemente"
+#~ msgid "No applications available"
+#~ msgstr "Non hai aplicacións dispoñibles"
+#~ msgid "Thumbnail _Viewer"
+#~ msgstr "_Visor de miniaturas"
+#~ msgid "Show _Horizontally"
+#~ msgstr "Mostrar en _horizontal"
+#~ msgid "Show _Vertically"
+#~ msgstr "Mostrar en _vertical"
+#~ msgid "H_ide"
+#~ msgstr "_Agochar"
+#~ msgid ""
+#~ "One or more images have been modified, do you want to save the changes?"
+#~ msgstr "Modificáronse unha ou máis imaxes, desexa gardar os cambios?"
+#~ msgid "_Preload images (GUI more responsive but more CPU-intensive)"
+#~ msgstr "_Precargar as imaxes (a GUI vai máis rápida pero úsase máis a CPU)"
+#~ msgid "Hide the thumbnails bar during slideshow"
+#~ msgstr "Agochar a barra de miniaturas durante a presentación"
+#~ msgid "Xfce Image viewer"
+#~ msgstr "Visor de imaxes de Xfce"
diff --git a/po/hr.po b/po/hr.po
new file mode 100644
index 0000000..b96cd05
--- /dev/null
+++ b/po/hr.po
@@ -0,0 +1,544 @@
+# Croatian translations for ristretto package.
+# Copyright (C) 2010 THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the ristretto package.
+# Ivica Kolić<ikoli at yahoo.com>, 2010.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: ristretto\n"
+"Report-Msgid-Bugs-To: xfce-i18n at xfce.org\n"
+"POT-Creation-Date: 2010-01-15 00:57+0100\n"
+"PO-Revision-Date: 2010-06-11 19:40+0200\n"
+"Last-Translator: Ivica Kolić<ikoli at yahoo.com> <>\n"
+"Language-Team: Croatian <>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%"
+"10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+
+#: ../src/main.c:59
+msgid "Version information"
+msgstr "Informacija o verziji"
+
+#: ../src/main.c:63
+msgid "Start in fullscreen mode"
+msgstr "Početak u cijelom zaslonu"
+
+#: ../src/main.c:67
+msgid "Start a slideshow"
+msgstr "Pokreni klizni prikaz"
+
+#: ../src/main.c:91
+#, c-format
+msgid ""
+"%s: %s\n"
+"Try %s --help to see a full list of available command line options.\n"
+msgstr ""
+"%s: %s\n"
+"Try %s --help da biste vidjeli cijelu listu dostupnih opcija naredbenog "
+"retka\n"
+
+#. File Menu
+#: ../src/main_window.c:262
+msgid "_File"
+msgstr "_Datoteka"
+
+#: ../src/main_window.c:263
+msgid "_Open"
+msgstr "_Otvori"
+
+#: ../src/main_window.c:263
+msgid "Open an image"
+msgstr "Otvori sliku"
+
+#: ../src/main_window.c:264
+msgid "Open _Folder"
+msgstr "Otvori _mapu"
+
+#: ../src/main_window.c:264
+msgid "Open a folder"
+msgstr "Otvori mapu"
+
+#: ../src/main_window.c:265
+msgid "_Save copy"
+msgstr "_Spremi kopiju"
+
+#: ../src/main_window.c:265
+msgid "Save a copy of the image"
+msgstr "Spremi kopiju slike"
+
+#: ../src/main_window.c:266
+msgid "_Print"
+msgstr "_Ispis"
+
+#: ../src/main_window.c:266
+msgid "Print the image"
+msgstr "Ispis slike"
+
+#: ../src/main_window.c:267
+msgid "_Close"
+msgstr "_Zatvori"
+
+#: ../src/main_window.c:267
+msgid "Close this image"
+msgstr "Zatvori ovu sliku"
+
+#: ../src/main_window.c:268
+msgid "_Close All"
+msgstr "_Zatvori sve"
+
+#: ../src/main_window.c:268
+msgid "Close all images"
+msgstr "Zatvori sve slike"
+
+#: ../src/main_window.c:269
+msgid "_Quit"
+msgstr "_Isključi"
+
+#: ../src/main_window.c:269
+msgid "Quit Ristretto"
+msgstr "Isključi Ristretto"
+
+#. Edit Menu
+#: ../src/main_window.c:271
+msgid "_Edit"
+msgstr "_Uredi"
+
+#: ../src/main_window.c:272
+msgid "_Open with..."
+msgstr "_Otvori pomoću"
+
+#: ../src/main_window.c:273
+msgid "_Sorting"
+msgstr "_Sortiranje"
+
+#: ../src/main_window.c:274
+msgid "_Delete"
+msgstr "_Izbriši"
+
+#: ../src/main_window.c:275
+msgid "_Preferences"
+msgstr "_Osobitosti"
+
+#. View Menu
+#: ../src/main_window.c:277
+msgid "_View"
+msgstr "_Pogled"
+
+#: ../src/main_window.c:278
+msgid "_Fullscreen"
+msgstr "_Cijeli zaslon"
+
+#: ../src/main_window.c:279
+msgid "_Leave Fullscreen"
+msgstr "_Napusti cijeli zaslon"
+
+#: ../src/main_window.c:280
+msgid "_Set as Wallpaper"
+msgstr ""
+
+#. Zoom submenu
+#: ../src/main_window.c:282
+msgid "_Zooming"
+msgstr "_Zumiranje"
+
+#: ../src/main_window.c:283
+msgid "Zoom _In"
+msgstr ""
+
+#: ../src/main_window.c:284
+msgid "Zoom _Out"
+msgstr ""
+
+#: ../src/main_window.c:285
+msgid "Zoom _Fit"
+msgstr ""
+
+#: ../src/main_window.c:286
+msgid "_Normal Size"
+msgstr "_Normalna veličina"
+
+#. Rotation submenu
+#: ../src/main_window.c:288
+msgid "_Rotation"
+msgstr "_Rotacija"
+
+#: ../src/main_window.c:289
+msgid "Rotate _Right"
+msgstr "Rotiraj _desno"
+
+#: ../src/main_window.c:290
+msgid "Rotate _Left"
+msgstr "Rotiraj _lijevo"
+
+#. Go Menu
+#: ../src/main_window.c:292
+msgid "_Go"
+msgstr "_Idi"
+
+#: ../src/main_window.c:293
+msgid "_Forward"
+msgstr "_Naprijed"
+
+#: ../src/main_window.c:294
+msgid "_Back"
+msgstr "_Nazad"
+
+#: ../src/main_window.c:295
+msgid "_First"
+msgstr "_Prvo"
+
+#: ../src/main_window.c:296
+msgid "_Last"
+msgstr "_Zadnje"
+
+#. Help Menu
+#: ../src/main_window.c:298
+msgid "_Help"
+msgstr "_Pomoć"
+
+#: ../src/main_window.c:300
+msgid "_Contents"
+msgstr "_Sadržaj"
+
+#: ../src/main_window.c:302
+msgid "Display ristretto user manual"
+msgstr "Prikaži ristretto korisnički priručnik"
+
+#: ../src/main_window.c:305
+msgid "_About"
+msgstr "_O programu"
+
+#: ../src/main_window.c:307
+msgid "Display information about ristretto"
+msgstr "Prikaži informaciju o ristretto"
+
+#. Position Menu
+#: ../src/main_window.c:310
+msgid "_Position"
+msgstr "_Pozicija"
+
+#. Misc
+#: ../src/main_window.c:312
+msgid "Leave _Fullscreen"
+msgstr "Napusti _cijeli zaslon"
+
+#. Toggle visibility of the main file toolbar
+#: ../src/main_window.c:320
+msgid "Show _File Toolbar"
+msgstr "Pokaži _alatnu traku datoteke"
+
+#. Toggle visibility of the main navigation toolbar
+#: ../src/main_window.c:322
+msgid "Show _Navigation Toolbar"
+msgstr "Pokaži _ navigacijsku alatnu traku"
+
+#. Toggle visibility of the thumbnailbar
+#: ../src/main_window.c:324
+msgid "Show _Thumbnailbar"
+msgstr "Pokaži _traku sličica"
+
+#. Sort by Filename
+#: ../src/main_window.c:331
+msgid "sort by filename"
+msgstr "posloži po imenu"
+
+#. Sort by Date
+#: ../src/main_window.c:333
+msgid "sort by date"
+msgstr "posloži po datumu"
+
+#: ../src/main_window.c:339
+msgid "Left"
+msgstr "Lijevo"
+
+#: ../src/main_window.c:340
+msgid "Right"
+msgstr "Desno"
+
+#: ../src/main_window.c:341
+msgid "Top"
+msgstr "Vrh"
+
+#: ../src/main_window.c:342
+msgid "Bottom"
+msgstr "Dno"
+
+#: ../src/main_window.c:512 ../src/main_window.c:778
+msgid "Press open to select an image"
+msgstr "Pritisnite otvori za odabir slike"
+
+#: ../src/main_window.c:765 ../src/main_window.c:770
+msgid "Empty"
+msgstr "Prazno"
+
+#: ../src/main_window.c:1545
+msgid "Developer:"
+msgstr ""
+
+#: ../src/main_window.c:1555
+msgid "Ristretto is an imageviewer for the Xfce desktop environment."
+msgstr "Ristretto je preglednik slika za Xfce radno okruženje"
+
+#: ../src/main_window.c:1563
+msgid "translator-credits"
+msgstr "Ivica Kolić (zvacet) <ikoli at yahoo.com>"
+
+#: ../src/main_window.c:1878
+msgid "Open image"
+msgstr "Otvori sliku"
+
+#: ../src/main_window.c:1890
+msgid "Images"
+msgstr "Slike"
+
+#: ../src/main_window.c:1895
+msgid ".jp(e)g"
+msgstr ". Jp (e) g"
+
+#: ../src/main_window.c:1917 ../src/main_window.c:1940
+#: ../src/main_window.c:2099 ../src/main_window.c:2114
+msgid "Could not open file"
+msgstr "Ne mogu otvoriti datotewku"
+
+#: ../src/main_window.c:1992
+msgid "Open folder"
+msgstr "Otvori mapu"
+
+#: ../src/main_window.c:2137
+msgid "Save copy"
+msgstr "Spremi kopiju"
+
+#: ../src/main_window.c:2210
+#, c-format
+msgid "Are you sure you want to delete image '%s' from disk?"
+msgstr "jeste li sigurni da želite izbrisati sliku '%s sa diska?"
+
+#: ../src/preferences_dialog.c:230
+msgid "Display"
+msgstr "Zaslon"
+
+#: ../src/preferences_dialog.c:235
+msgid "Background color"
+msgstr "Pozadinska boja"
+
+#: ../src/preferences_dialog.c:239
+msgid "Override background color:"
+msgstr ""
+
+#: ../src/preferences_dialog.c:267
+msgid "Quality"
+msgstr "Kvalitet"
+
+#: ../src/preferences_dialog.c:271
+msgid "Maximum render quality:"
+msgstr ""
+
+#: ../src/preferences_dialog.c:274
+msgid "Show preview when loading image"
+msgstr "Pokaži predpregled kada učitavaš sliku"
+
+#: ../src/preferences_dialog.c:281
+msgid "Best"
+msgstr "Najbolje"
+
+#: ../src/preferences_dialog.c:282
+msgid "High"
+msgstr "Visoko"
+
+#: ../src/preferences_dialog.c:283
+msgid "Medium"
+msgstr "Srednje"
+
+#: ../src/preferences_dialog.c:284
+msgid "Low"
+msgstr "Nisko"
+
+#: ../src/preferences_dialog.c:324
+msgid "Slideshow"
+msgstr "Klizni prikaz"
+
+#: ../src/preferences_dialog.c:328
+msgid "Timeout"
+msgstr ""
+
+#: ../src/preferences_dialog.c:331
+msgid ""
+"The time period an individual image is displayed during a slideshow\n"
+"(in seconds)"
+msgstr ""
+"Vremensko razdoblje u kojem je prikazana jedna slika u kliznom prikazu\n"
+"(u sekundama)"
+
+#: ../src/preferences_dialog.c:346
+msgid "Thumbnails"
+msgstr "Sličice"
+
+#: ../src/preferences_dialog.c:349
+msgid ""
+"The thumbnailbar can be automatically hidden \n"
+"when the image-viewer is fullscreen."
+msgstr ""
+"Traka sličica može biti automatski skrivena \n"
+"kada je preglednik slika u punom zaslonu."
+
+#: ../src/preferences_dialog.c:351
+msgid "Hide thumbnailbar when fullscreen"
+msgstr "Sakrij sličice kad je cijeli zaslon"
+
+#: ../src/preferences_dialog.c:364
+msgid "Control"
+msgstr "Kontrola"
+
+#: ../src/preferences_dialog.c:368
+msgid "Scrollwheel"
+msgstr ""
+
+#: ../src/preferences_dialog.c:371
+msgid "No action"
+msgstr "Bez akcije"
+
+#: ../src/preferences_dialog.c:375
+msgid "Zoom in and out"
+msgstr ""
+
+#: ../src/preferences_dialog.c:378
+msgid "Switch images"
+msgstr "Prebaci slike"
+
+#: ../src/preferences_dialog.c:412
+msgid "Behaviour"
+msgstr "Ponašanje"
+
+#: ../src/preferences_dialog.c:417
+msgid "Scaling"
+msgstr "Skaliranje"
+
+#: ../src/preferences_dialog.c:422
+msgid "Don't scale over 100% when maximizing the window."
+msgstr "Nemoj skalirati preko 100% kada maksimiziraš prozor"
+
+#: ../src/preferences_dialog.c:426
+msgid "Startup"
+msgstr "Pokretanje"
+
+#: ../src/preferences_dialog.c:428
+msgid "Resize window to image on startup"
+msgstr "Promijeni veličinu prozora na sliku pri pokretanju"
+
+#: ../src/preferences_dialog.c:432
+msgid "Open entire folder on startup"
+msgstr "Otvori cijelu mapu pri pokretanju"
+
+#: ../src/preferences_dialog.c:437
+msgid "Wrap around images"
+msgstr "Omotaj oko skika"
+
+#: ../src/preferences_dialog.c:453
+msgid "Memory"
+msgstr "Memorija"
+
+#: ../src/preferences_dialog.c:459
+msgid "Image cache"
+msgstr ""
+
+#: ../src/preferences_dialog.c:465
+msgid "Cache size"
+msgstr ""
+
+#: ../src/preferences_dialog.c:466
+msgid "MB"
+msgstr "MB"
+
+#: ../src/preferences_dialog.c:469
+msgid "Enable cache"
+msgstr ""
+
+#: ../src/preferences_dialog.c:474
+msgid "Preload images"
+msgstr ""
+
+#: ../src/preferences_dialog.c:544
+msgid "Preferences"
+msgstr "Osobitosti"
+
+#: ../src/xfce_wallpaper_manager.c:84
+msgid "Set as wallpaper"
+msgstr ""
+
+#: ../src/xfce_wallpaper_manager.c:86
+msgid "Style:"
+msgstr "Stil"
+
+#: ../src/xfce_wallpaper_manager.c:88
+msgid "Monitor:"
+msgstr "Monitor:"
+
+#: ../src/xfce_wallpaper_manager.c:90
+msgid "Brightness:"
+msgstr "Osvijetljenost"
+
+#: ../src/xfce_wallpaper_manager.c:91
+msgid "Saturation:"
+msgstr "Zasićenost"
+
+#: ../src/xfce_wallpaper_manager.c:123
+msgid "Auto"
+msgstr ""
+
+#: ../src/xfce_wallpaper_manager.c:124
+msgid "Centered"
+msgstr "Centrirano"
+
+#: ../src/xfce_wallpaper_manager.c:125
+msgid "Tiled"
+msgstr ""
+
+#: ../src/xfce_wallpaper_manager.c:126
+msgid "Stretched"
+msgstr "Rastegnuto"
+
+#: ../src/xfce_wallpaper_manager.c:127
+msgid "Scaled"
+msgstr "Skalirano"
+
+#: ../src/xfce_wallpaper_manager.c:128
+msgid "Zoomed"
+msgstr "Zumirano"
+
+#: ../src/thumbnail_bar.c:187
+msgid "Spacing"
+msgstr "Razmak"
+
+#: ../src/thumbnail_bar.c:188
+msgid "The amount of space between the thumbnails"
+msgstr "Razmak između sličica"
+
+#: ../src/thumbnail_bar.c:194
+msgid "border width"
+msgstr "širina ruba"
+
+#: ../src/thumbnail_bar.c:195
+msgid "the border width of the thumbnail-bar"
+msgstr "Širina ruba trake sličica"
+
+#: ../src/thumbnail_bar.c:201
+msgid "filmstrip width"
+msgstr ""
+
+#: ../src/thumbnail_bar.c:202
+msgid "the width of the thumbnail-bar film-strip"
+msgstr ""
+
+#: ../ristretto.desktop.in.h:1
+msgid "Image Viewer"
+msgstr "Preglednik slika"
+
+#: ../ristretto.desktop.in.h:2
+msgid "Look at your photo's easily"
+msgstr "Pogledajte svoje fotografije lako"
+
+#: ../ristretto.desktop.in.h:3
+msgid "Ristretto Photo Viewer"
+msgstr "Ristretto preglednik fotografija"
diff --git a/po/hu.po b/po/hu.po
index 02f0048..69f1353 100644
--- a/po/hu.po
+++ b/po/hu.po
@@ -2,35 +2,35 @@
# Copyright 2009. Free Software Foundation, Inc.
# This file is distributed under the same license as the ristretto package.
#
-# Gabor Kelemen <kelemeng at gnome dot hu>, 2009.
+# Gabor Kelemen <kelemeng at gnome dot hu>, 2009, 2010.
# SZERVÁC Attila <sas at 321.hu>
msgid ""
msgstr ""
"Project-Id-Version: ristretto\n"
"Report-Msgid-Bugs-To: xfce-i18n at xfce.org\n"
-"POT-Creation-Date: 2009-07-22 16:03+0200\n"
-"PO-Revision-Date: 2009-07-22 22:26+0200\n"
+"POT-Creation-Date: 2010-01-15 00:57+0100\n"
+"PO-Revision-Date: 2010-02-05 16:48+0100\n"
"Last-Translator: Gabor Kelemen <kelemeng at gnome dot hu>\n"
-"Language-Team: Hungarian <gnome at gnome dot hu>\n"
+"Language-Team: Hungarian <gnome at fsf dot hu>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: KBabel 1.11.4\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: ../src/main.c:57
+#: ../src/main.c:59
msgid "Version information"
msgstr "Verzióinformációk"
-#: ../src/main.c:61
+#: ../src/main.c:63
msgid "Start in fullscreen mode"
msgstr "Indítás teljes képernyős módban"
-#: ../src/main.c:65
+#: ../src/main.c:67
msgid "Start a slideshow"
msgstr "Diavetítés indítása"
-#: ../src/main.c:232
+#: ../src/main.c:91
#, c-format
msgid ""
"%s: %s\n"
@@ -39,235 +39,505 @@ msgstr ""
"%s: %s\n"
"Az elérhető kapcsolók listájáért adja ki az %s --help parancsot.\n"
-#: ../src/main.c:445 ../src/main_window.c:1603 ../src/main_window.c:1643
-#: ../src/main_window.c:1680
-msgid "Opening file(s)..."
-msgstr "Fájlok megnyitása…"
-
-#. Create 'File' menu
-#: ../src/main_window.c:336
+#. File Menu
+#: ../src/main_window.c:262
msgid "_File"
msgstr "_Fájl"
-#: ../src/main_window.c:343
-msgid "O_pen Folder"
-msgstr "Mappa m_egnyitása"
+#: ../src/main_window.c:263
+msgid "_Open"
+msgstr "_Megnyitás"
+
+#: ../src/main_window.c:263
+msgid "Open an image"
+msgstr "Kép megnyitása"
+
+#: ../src/main_window.c:264
+msgid "Open _Folder"
+msgstr "_Mappa megnyitása"
+
+#: ../src/main_window.c:264
+msgid "Open a folder"
+msgstr "Mappa megnyitása"
+
+#: ../src/main_window.c:265
+msgid "_Save copy"
+msgstr "Más_olat mentése"
+
+#: ../src/main_window.c:265
+msgid "Save a copy of the image"
+msgstr "A kép másolatának mentése"
+
+#: ../src/main_window.c:266
+msgid "_Print"
+msgstr "_Nyomtatás"
+
+#: ../src/main_window.c:266
+msgid "Print the image"
+msgstr "A kép nyomtatása"
+
+#: ../src/main_window.c:267
+msgid "_Close"
+msgstr "_Bezárás"
+
+#: ../src/main_window.c:267
+msgid "Close this image"
+msgstr "Kép bezárása"
+
+#: ../src/main_window.c:268
+msgid "_Close All"
+msgstr "Összes _bezárása"
-#: ../src/main_window.c:344
-msgid "_Recently used"
-msgstr "_Nemrég használt"
+#: ../src/main_window.c:268
+msgid "Close all images"
+msgstr "Összes kép bezárása"
-#: ../src/main_window.c:349
-msgid "Close _all"
-msgstr "Összes be_zárása"
+#: ../src/main_window.c:269
+msgid "_Quit"
+msgstr "_Kilépés"
-#. Create 'Edit' menu
-#: ../src/main_window.c:379
+#: ../src/main_window.c:269
+msgid "Quit Ristretto"
+msgstr "Kilépés a Ristrettoból"
+
+#. Edit Menu
+#: ../src/main_window.c:271
msgid "_Edit"
msgstr "S_zerkesztés"
-#: ../src/main_window.c:384 ../src/main_window.c:652
-msgid "Open with..."
-msgstr "Megnyitás mással…"
+#: ../src/main_window.c:272
+msgid "_Open with..."
+msgstr "Megnyitás e_zzel…"
+
+#: ../src/main_window.c:273
+msgid "_Sorting"
+msgstr "Ren_dezés"
-#: ../src/main_window.c:392 ../src/main_window.c:663
-msgid "No applications available"
-msgstr "Nem állnak rendelkezésre alkalmazások"
+#: ../src/main_window.c:274
+msgid "_Delete"
+msgstr "_Törlés"
-#. Create 'View' menu
-#: ../src/main_window.c:401
+#: ../src/main_window.c:275
+msgid "_Preferences"
+msgstr "_Beállítások"
+
+#. View Menu
+#: ../src/main_window.c:277
msgid "_View"
msgstr "_Nézet"
-#: ../src/main_window.c:408
-msgid "Show _Toolbar"
-msgstr "Es_zköztár megjelenítése"
+#: ../src/main_window.c:278
+msgid "_Fullscreen"
+msgstr "_Teljes képernyő"
-#: ../src/main_window.c:409
-msgid "Thumbnail _Viewer"
-msgstr "Bélyeg_kép-megjelenítő"
+#: ../src/main_window.c:279
+msgid "_Leave Fullscreen"
+msgstr "T_eljes képernyő elhagyása"
-#: ../src/main_window.c:413
+#: ../src/main_window.c:280
+msgid "_Set as Wallpaper"
+msgstr "Beállítás _háttérképként"
+
+#. Zoom submenu
+#: ../src/main_window.c:282
msgid "_Zooming"
msgstr "_Nagyítás"
-#: ../src/main_window.c:414
-msgid "_Rotate"
-msgstr "_Forgatás"
+#: ../src/main_window.c:283
+msgid "Zoom _In"
+msgstr "_Nagyítás"
-#: ../src/main_window.c:421
-msgid "_Set as wallpaper"
-msgstr "Beállítás _háttérképként"
+#: ../src/main_window.c:284
+msgid "Zoom _Out"
+msgstr "_Kicsinyítés"
-#: ../src/main_window.c:469
-msgid "Show _Horizontally"
-msgstr "Megjelenítés _vízszintesen"
+#: ../src/main_window.c:285
+msgid "Zoom _Fit"
+msgstr "_Igazítás az ablakhoz"
-#: ../src/main_window.c:473
-msgid "Show _Vertically"
-msgstr "Megjelenítés _függőlegesen"
+#: ../src/main_window.c:286
+msgid "_Normal Size"
+msgstr "_Normál méret"
-#: ../src/main_window.c:477
-msgid "H_ide"
-msgstr "_Elrejtés"
+#. Rotation submenu
+#: ../src/main_window.c:288
+msgid "_Rotation"
+msgstr "_Forgatás"
-#: ../src/main_window.c:514
+#: ../src/main_window.c:289
msgid "Rotate _Right"
msgstr "Forgatás _jobbra"
-#: ../src/main_window.c:515
+#: ../src/main_window.c:290
msgid "Rotate _Left"
msgstr "Forgatás _balra"
-#. Create 'Go' menu
-#: ../src/main_window.c:536
+#. Go Menu
+#: ../src/main_window.c:292
msgid "_Go"
msgstr "_Ugrás"
-#. Create 'Help' menu
-#: ../src/main_window.c:567
+#: ../src/main_window.c:293
+msgid "_Forward"
+msgstr "_Előre"
+
+#: ../src/main_window.c:294
+msgid "_Back"
+msgstr "_Vissza"
+
+#: ../src/main_window.c:295
+msgid "_First"
+msgstr "_Első"
+
+#: ../src/main_window.c:296
+msgid "_Last"
+msgstr "_Utolsó"
+
+#. Help Menu
+#: ../src/main_window.c:298
msgid "_Help"
msgstr "_Súgó"
-#: ../src/main_window.c:901 ../src/main_window.c:1771
-msgid ""
-"The orientation of one or more images has been modified, do you want to save "
-"the changes?"
-msgstr "Néhány kép tájolása megváltozott, szeretné menteni a módosításokat?"
+#: ../src/main_window.c:300
+msgid "_Contents"
+msgstr "_Tartalom"
+
+#: ../src/main_window.c:302
+msgid "Display ristretto user manual"
+msgstr "A Ristretto felhasználói kézikönyvének megjelenítése"
+
+#: ../src/main_window.c:305
+msgid "_About"
+msgstr "_Névjegy"
+
+#: ../src/main_window.c:307
+msgid "Display information about ristretto"
+msgstr "Információk megjelenítése a Ristrettoról"
+
+#. Position Menu
+#: ../src/main_window.c:310
+msgid "_Position"
+msgstr "_Pozíció"
+
+#. Misc
+#: ../src/main_window.c:312
+msgid "Leave _Fullscreen"
+msgstr "T_eljes képernyő elhagyása"
+
+#. Toggle visibility of the main file toolbar
+#: ../src/main_window.c:320
+msgid "Show _File Toolbar"
+msgstr "_Fájl eszköztár megjelenítése"
+
+#. Toggle visibility of the main navigation toolbar
+#: ../src/main_window.c:322
+msgid "Show _Navigation Toolbar"
+msgstr "_Navigáció eszköztár megjelenítése"
+
+#. Toggle visibility of the thumbnailbar
+#: ../src/main_window.c:324
+msgid "Show _Thumbnailbar"
+msgstr "_Bélyegképsor megjelenítése"
+
+#. Sort by Filename
+#: ../src/main_window.c:331
+msgid "sort by filename"
+msgstr "rendezés fájlnév szerint"
+
+#. Sort by Date
+#: ../src/main_window.c:333
+msgid "sort by date"
+msgstr "rendezés dátum szerint"
+
+#: ../src/main_window.c:339
+msgid "Left"
+msgstr "Balra"
+
+#: ../src/main_window.c:340
+msgid "Right"
+msgstr "Jobbra"
+
+#: ../src/main_window.c:341
+msgid "Top"
+msgstr "Fent"
+
+#: ../src/main_window.c:342
+msgid "Bottom"
+msgstr "Lent"
+
+#: ../src/main_window.c:512 ../src/main_window.c:778
+msgid "Press open to select an image"
+msgstr "Kép kiválasztásához nyomja meg a Megnyitás gombot"
+
+#: ../src/main_window.c:765 ../src/main_window.c:770
+msgid "Empty"
+msgstr "Üres"
+
+#: ../src/main_window.c:1545
+msgid "Developer:"
+msgstr "Fejlesztő:"
-#: ../src/main_window.c:1399
-msgid "Image viewer Preferences"
-msgstr "Képmegjelenítő beállításai"
+#: ../src/main_window.c:1555
+msgid "Ristretto is an imageviewer for the Xfce desktop environment."
+msgstr "A Ristretto egy képmegjelenítő az Xfce asztali környezethez."
-#: ../src/main_window.c:1417
+#: ../src/main_window.c:1563
+msgid "translator-credits"
+msgstr "Kelemen Gábor <kelemeng at gnome.hu>"
+
+#: ../src/main_window.c:1878
+msgid "Open image"
+msgstr "Kép megnyitása"
+
+#: ../src/main_window.c:1890
+msgid "Images"
+msgstr "Képek"
+
+#: ../src/main_window.c:1895
+msgid ".jp(e)g"
+msgstr ".jp(e)g"
+
+#: ../src/main_window.c:1917 ../src/main_window.c:1940
+#: ../src/main_window.c:2099 ../src/main_window.c:2114
+msgid "Could not open file"
+msgstr "Nem lehet megnyitni a fájlt"
+
+#: ../src/main_window.c:1992
+msgid "Open folder"
+msgstr "Mappa megnyitása"
+
+#: ../src/main_window.c:2137
+msgid "Save copy"
+msgstr "Másolat mentése"
+
+#: ../src/main_window.c:2210
+#, c-format
+msgid "Are you sure you want to delete image '%s' from disk?"
+msgstr "Biztosan törli a(z) „%s” képet a lemezről?"
+
+#: ../src/preferences_dialog.c:230
msgid "Display"
msgstr "Megjelenítés"
-#: ../src/main_window.c:1421
+#: ../src/preferences_dialog.c:235
+msgid "Background color"
+msgstr "Háttérszín"
+
+#: ../src/preferences_dialog.c:239
+msgid "Override background color:"
+msgstr "Háttérszín felülbírálása:"
+
+#: ../src/preferences_dialog.c:267
+msgid "Quality"
+msgstr "Minőség"
+
+#: ../src/preferences_dialog.c:271
+msgid "Maximum render quality:"
+msgstr "Legjobb megjelenítési minőség:"
+
+#: ../src/preferences_dialog.c:274
+msgid "Show preview when loading image"
+msgstr "Előnézet megjelenítése kép betöltésekor"
+
+#: ../src/preferences_dialog.c:281
+msgid "Best"
+msgstr "Legjobb"
+
+#: ../src/preferences_dialog.c:282
+msgid "High"
+msgstr "Magas"
+
+#: ../src/preferences_dialog.c:283
+msgid "Medium"
+msgstr "Közepes"
+
+#: ../src/preferences_dialog.c:284
+msgid "Low"
+msgstr "Alacsony"
+
+#: ../src/preferences_dialog.c:324
msgid "Slideshow"
msgstr "Diavetítés"
-#: ../src/main_window.c:1425
+#: ../src/preferences_dialog.c:328
+msgid "Timeout"
+msgstr "Időtúllépés"
+
+#: ../src/preferences_dialog.c:331
+msgid ""
+"The time period an individual image is displayed during a slideshow\n"
+"(in seconds)"
+msgstr "Egyes képek megjelenítése ennyi ideig diavetítés során (másodperc)"
+
+#: ../src/preferences_dialog.c:346
+msgid "Thumbnails"
+msgstr "Bélyegképek"
+
+#: ../src/preferences_dialog.c:349
+msgid ""
+"The thumbnailbar can be automatically hidden \n"
+"when the image-viewer is fullscreen."
+msgstr ""
+"A bélyegképsáv automatikusan elrejthető\n"
+"ha a képmegjelenítő teljes képernyőn van."
+
+#: ../src/preferences_dialog.c:351
+msgid "Hide thumbnailbar when fullscreen"
+msgstr "Bélyegképsáv elrejtése teljes képernyőn"
+
+#: ../src/preferences_dialog.c:364
+msgid "Control"
+msgstr "Vezérlés"
+
+#: ../src/preferences_dialog.c:368
+msgid "Scrollwheel"
+msgstr "Egérgörgő"
+
+#: ../src/preferences_dialog.c:371
+msgid "No action"
+msgstr "Nincs művelet"
+
+#: ../src/preferences_dialog.c:375
+msgid "Zoom in and out"
+msgstr "Nagyítás és kicsinyítés"
+
+#: ../src/preferences_dialog.c:378
+msgid "Switch images"
+msgstr "Képek váltása"
+
+#: ../src/preferences_dialog.c:412
msgid "Behaviour"
msgstr "Viselkedés"
-#: ../src/main_window.c:1430
+#: ../src/preferences_dialog.c:417
msgid "Scaling"
msgstr "Méretezés"
-#: ../src/main_window.c:1432
+#: ../src/preferences_dialog.c:422
msgid "Don't scale over 100% when maximizing the window."
msgstr "Ne méretezzen 100% fölé az ablak maximalizálásakor."
-#: ../src/main_window.c:1442
-msgid "Background Color"
-msgstr "Háttérszín"
+#: ../src/preferences_dialog.c:426
+msgid "Startup"
+msgstr "Indítás"
-#: ../src/main_window.c:1444
-msgid "_Override Background Color:"
-msgstr "Háttérszín _felülbírálása:"
+#: ../src/preferences_dialog.c:428
+msgid "Resize window to image on startup"
+msgstr "Ablak átméretezése a képhez indításkor"
-#: ../src/main_window.c:1467
-msgid "Image Cache"
+#: ../src/preferences_dialog.c:432
+msgid "Open entire folder on startup"
+msgstr "Teljes mappa megnyitása indításkor"
+
+#: ../src/preferences_dialog.c:437
+msgid "Wrap around images"
+msgstr "Képek körbefuttatása"
+
+#: ../src/preferences_dialog.c:453
+msgid "Memory"
+msgstr "Memória"
+
+#: ../src/preferences_dialog.c:459
+msgid "Image cache"
msgstr "Képgyorsítótár"
-#: ../src/main_window.c:1470
-msgid "Cache size:"
-msgstr "Gyorsítótár mérete:"
+#: ../src/preferences_dialog.c:465
+msgid "Cache size"
+msgstr "Gyorsítótár mérete"
-#: ../src/main_window.c:1471
+#: ../src/preferences_dialog.c:466
msgid "MB"
msgstr "MB"
-#: ../src/main_window.c:1473
-msgid "_Preload images (GUI more responsive but more CPU-intensive)"
-msgstr "_Képek előtöltése (a felület válaszideje javul, de nő a processzorterhelés)"
+#: ../src/preferences_dialog.c:469
+msgid "Enable cache"
+msgstr "Gyorsítótár engedélyezése"
-#: ../src/main_window.c:1491
-msgid "Timeout"
-msgstr "Időtúllépés"
+#: ../src/preferences_dialog.c:474
+msgid "Preload images"
+msgstr "Képek előtöltése"
-#: ../src/main_window.c:1494
-msgid "Thumbnails"
-msgstr "Bélyegképek"
+#: ../src/preferences_dialog.c:544
+msgid "Preferences"
+msgstr "Beállítások"
-#: ../src/main_window.c:1499
-msgid ""
-"The time period an individual image is displayed during a slideshow\n"
-"(in seconds)"
-msgstr "Egyes képek megjelenítése ennyi ideig diavetítés során (másodperc)"
+#: ../src/xfce_wallpaper_manager.c:84
+msgid "Set as wallpaper"
+msgstr "Beállítás háttérképként"
-#: ../src/main_window.c:1502
-msgid "Hide the thumbnails bar during slideshow"
-msgstr "Bélyegképsáv elrejtése diavetítéskor"
+#: ../src/xfce_wallpaper_manager.c:86
+msgid "Style:"
+msgstr "Stílus:"
-#: ../src/main_window.c:1503
-msgid "_Hide thumbnails"
-msgstr "Bélyegképek el_rejtése"
+#: ../src/xfce_wallpaper_manager.c:88
+msgid "Monitor:"
+msgstr "Monitor:"
-#: ../src/main_window.c:1561
-msgid "Developer:"
-msgstr "Fejlesztő:"
+#: ../src/xfce_wallpaper_manager.c:90
+msgid "Brightness:"
+msgstr "Fényerő:"
-#: ../src/main_window.c:1571
-msgid ""
-"Ristretto is a fast and lightweight picture-viewer for the Xfce desktop "
-"environment."
-msgstr "A Ristretto egy gyors és könnyűsúlyú képmegjelenítő az Xfce asztali környezethez."
-
-#: ../src/main_window.c:1579
-msgid "translator-credits"
-msgstr "Kelemen Gábor <kelemeng at gnome.hu>"
+#: ../src/xfce_wallpaper_manager.c:91
+msgid "Saturation:"
+msgstr "Telítettség:"
-#: ../src/main_window.c:1605
-msgid "Open image"
-msgstr "Kép megnyitása"
+#: ../src/xfce_wallpaper_manager.c:123
+msgid "Auto"
+msgstr "Automatikus"
-#: ../src/main_window.c:1623
-msgid "Could not open file"
-msgstr "Nem lehet megnyitni a fájlt"
+#: ../src/xfce_wallpaper_manager.c:124
+msgid "Centered"
+msgstr "Középre helyezett"
-#: ../src/main_window.c:1645
-msgid "Open folder"
-msgstr "Mappa megnyitása"
+#: ../src/xfce_wallpaper_manager.c:125
+msgid "Tiled"
+msgstr "Mozaik"
-#: ../src/main_window.c:1720
-msgid "Are you sure you want to clear ristretto's list of recently opened documents?"
-msgstr "Biztosan törli a nemrég megnyitott dokumentumok listáját a Ristrettoból?"
+#: ../src/xfce_wallpaper_manager.c:126
+msgid "Stretched"
+msgstr "Nyújtott"
-#: ../src/save_dialog.c:82
-msgid "Filename"
-msgstr "Fájlnév"
+#: ../src/xfce_wallpaper_manager.c:127
+msgid "Scaled"
+msgstr "Kifeszített"
-#: ../src/save_dialog.c:90
-msgid "Save"
-msgstr "Mentés"
+#: ../src/xfce_wallpaper_manager.c:128
+msgid "Zoomed"
+msgstr "Nagyított"
-#: ../src/thumbnail_bar.c:185
+#: ../src/thumbnail_bar.c:187
msgid "Spacing"
msgstr "Térköz"
-#: ../src/thumbnail_bar.c:186
+#: ../src/thumbnail_bar.c:188
msgid "The amount of space between the thumbnails"
msgstr "A bélyegképek közötti terület mennyisége"
-#: ../src/thumbnail_bar.c:192
-msgid "Border Width"
+#: ../src/thumbnail_bar.c:194
+msgid "border width"
msgstr "Szegély szélessége"
-#: ../src/thumbnail_bar.c:193
-msgid "The border width of the thumbnail-bar"
+#: ../src/thumbnail_bar.c:195
+msgid "the border width of the thumbnail-bar"
msgstr "A bélyegképsáv szegélyének szélessége"
+#: ../src/thumbnail_bar.c:201
+msgid "filmstrip width"
+msgstr "filmszalag szélessége"
+
+#: ../src/thumbnail_bar.c:202
+msgid "the width of the thumbnail-bar film-strip"
+msgstr "A bélyegképsáv filmszalagjának szélessége"
+
#: ../ristretto.desktop.in.h:1
msgid "Image Viewer"
msgstr "Képmegjelenítő"
#: ../ristretto.desktop.in.h:2
-msgid "Ristretto"
-msgstr "Ristretto"
+msgid "Look at your photo's easily"
+msgstr "Fényképek egyszerű megjelenítése"
#: ../ristretto.desktop.in.h:3
-msgid "Xfce Image viewer"
-msgstr "Xfce képmegjelenítő"
+msgid "Ristretto Photo Viewer"
+msgstr "Ristretto fénykép-megjelenítő"
diff --git a/po/id.po b/po/id.po
index d85da6a..7e8322c 100644
--- a/po/id.po
+++ b/po/id.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: ristretto\n"
"Report-Msgid-Bugs-To: xfce-i18n at xfce.org\n"
-"POT-Creation-Date: 2008-11-14 13:24+0100\n"
+"POT-Creation-Date: 2010-01-15 00:57+0100\n"
"PO-Revision-Date: 2008-12-19 22:32+0700\n"
"Last-Translator: Andhika Padmawan <andhika.padmawan at gmail.com>\n"
"Language-Team: Indonesian <id at li.org>\n"
@@ -15,239 +15,556 @@ msgstr ""
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
-#: ../src/main.c:61
+#: ../src/main.c:59
msgid "Version information"
msgstr "Informasi versi"
-#: ../src/main.c:65
+#: ../src/main.c:63
msgid "Start in fullscreen mode"
msgstr "Jalankan dalam mode layar penuh"
-#: ../src/main.c:69
+#: ../src/main.c:67
msgid "Start a slideshow"
msgstr "Jalankan tampil salindia"
-#: ../src/main.c:235
+#: ../src/main.c:91
#, c-format
msgid ""
"%s: %s\n"
"Try %s --help to see a full list of available command line options.\n"
msgstr ""
"%s: %s\n"
-"Coba %s --help untuk melihat senarai penuh dari opsi baris perintah yang tersedia.\n"
+"Coba %s --help untuk melihat senarai penuh dari opsi baris perintah yang "
+"tersedia.\n"
-#: ../src/main.c:448
-#: ../src/main_window.c:1598
-#: ../src/main_window.c:1638
-#: ../src/main_window.c:1675
-msgid "Opening file(s)..."
-msgstr "Buka berkas..."
-
-#. Create 'File' menu
-#: ../src/main_window.c:340
+#. File Menu
+#: ../src/main_window.c:262
msgid "_File"
msgstr "_Berkas"
-#: ../src/main_window.c:347
-msgid "O_pen Folder"
+#: ../src/main_window.c:263
+msgid "_Open"
+msgstr ""
+
+#: ../src/main_window.c:263
+#, fuzzy
+msgid "Open an image"
+msgstr "Buka gambar"
+
+#: ../src/main_window.c:264
+#, fuzzy
+msgid "Open _Folder"
msgstr "Bu_ka Folder"
-#: ../src/main_window.c:348
-msgid "_Recently used"
-msgstr "Bar_u digunakan"
+#: ../src/main_window.c:264
+#, fuzzy
+msgid "Open a folder"
+msgstr "Buka folder"
+
+#: ../src/main_window.c:265
+msgid "_Save copy"
+msgstr ""
+
+#: ../src/main_window.c:265
+msgid "Save a copy of the image"
+msgstr ""
+
+#: ../src/main_window.c:266
+msgid "_Print"
+msgstr ""
+
+#: ../src/main_window.c:266
+#, fuzzy
+msgid "Print the image"
+msgstr "Prata_yang gambar"
-#: ../src/main_window.c:353
-msgid "Close _all"
+#: ../src/main_window.c:267
+#, fuzzy
+msgid "_Close"
msgstr "Tutup semu_a"
-#. Create 'Edit' menu
-#: ../src/main_window.c:383
+#: ../src/main_window.c:267
+msgid "Close this image"
+msgstr ""
+
+#: ../src/main_window.c:268
+#, fuzzy
+msgid "_Close All"
+msgstr "Tutup semu_a"
+
+#: ../src/main_window.c:268
+#, fuzzy
+msgid "Close all images"
+msgstr "Tutup semu_a"
+
+#: ../src/main_window.c:269
+#, fuzzy
+msgid "_Quit"
+msgstr "_Sunting"
+
+#: ../src/main_window.c:269
+#, fuzzy
+msgid "Quit Ristretto"
+msgstr "Ristretto"
+
+#. Edit Menu
+#: ../src/main_window.c:271
msgid "_Edit"
msgstr "_Sunting"
-#: ../src/main_window.c:388
-#: ../src/main_window.c:659
-msgid "Open with..."
+#: ../src/main_window.c:272
+#, fuzzy
+msgid "_Open with..."
msgstr "Buka dengan..."
-#: ../src/main_window.c:396
-#: ../src/main_window.c:670
-msgid "No applications available"
-msgstr "Tak ada aplikasi tersedia"
+#: ../src/main_window.c:273
+#, fuzzy
+msgid "_Sorting"
+msgstr "_Pembesaran"
+
+#: ../src/main_window.c:274
+msgid "_Delete"
+msgstr ""
+
+#: ../src/main_window.c:275
+#, fuzzy
+msgid "_Preferences"
+msgstr "Pengaturan penilik gambar"
-#. Create 'View' menu
-#: ../src/main_window.c:405
+#. View Menu
+#: ../src/main_window.c:277
msgid "_View"
msgstr "_Tampilan"
-#: ../src/main_window.c:412
-msgid "Show _Toolbar"
-msgstr "Tampi_lkan Batang Alat"
+#: ../src/main_window.c:278
+msgid "_Fullscreen"
+msgstr ""
-#: ../src/main_window.c:413
-msgid "Thumbnail _Viewer"
-msgstr "Penilik Gambar _Miniatur"
+#: ../src/main_window.c:279
+msgid "_Leave Fullscreen"
+msgstr ""
-#: ../src/main_window.c:417
+#: ../src/main_window.c:280
+#, fuzzy
+msgid "_Set as Wallpaper"
+msgstr "_Atur sebagai gambar latar"
+
+#. Zoom submenu
+#: ../src/main_window.c:282
msgid "_Zooming"
msgstr "_Pembesaran"
-#: ../src/main_window.c:418
-msgid "_Rotate"
-msgstr "_Rotasi"
+#: ../src/main_window.c:283
+#, fuzzy
+msgid "Zoom _In"
+msgstr "_Pembesaran"
-#: ../src/main_window.c:425
-msgid "_Set as wallpaper"
-msgstr "_Atur sebagai gambar latar"
+#: ../src/main_window.c:284
+msgid "Zoom _Out"
+msgstr ""
-#: ../src/main_window.c:476
-msgid "Show _Horizontally"
-msgstr "Tampilkan _Horizontal"
+#: ../src/main_window.c:285
+msgid "Zoom _Fit"
+msgstr ""
-#: ../src/main_window.c:480
-msgid "Show _Vertically"
-msgstr "Tampilkan _Vertikal"
+#: ../src/main_window.c:286
+msgid "_Normal Size"
+msgstr ""
-#: ../src/main_window.c:484
-msgid "H_ide"
-msgstr "S_embunyikan"
+#. Rotation submenu
+#: ../src/main_window.c:288
+#, fuzzy
+msgid "_Rotation"
+msgstr "_Rotasi"
-#: ../src/main_window.c:521
+#: ../src/main_window.c:289
msgid "Rotate _Right"
msgstr "Rotasi ke Ka_nan"
-#: ../src/main_window.c:522
+#: ../src/main_window.c:290
msgid "Rotate _Left"
msgstr "Rotasi ke Ki_ri"
-#. Create 'Go' menu
-#: ../src/main_window.c:543
+#. Go Menu
+#: ../src/main_window.c:292
msgid "_Go"
msgstr "_Ke"
-#. Create 'Help' menu
-#: ../src/main_window.c:574
+#: ../src/main_window.c:293
+msgid "_Forward"
+msgstr ""
+
+#: ../src/main_window.c:294
+msgid "_Back"
+msgstr ""
+
+#: ../src/main_window.c:295
+msgid "_First"
+msgstr ""
+
+#: ../src/main_window.c:296
+msgid "_Last"
+msgstr ""
+
+#. Help Menu
+#: ../src/main_window.c:298
msgid "_Help"
msgstr "Ban_tuan"
-#: ../src/main_window.c:906
-msgid "One or more images have been modified, do you want to save the changes?"
-msgstr "Satu atau beberapa gambar telah dimodifikasi, anda ingin menyimpan perubahan ini?"
+#: ../src/main_window.c:300
+msgid "_Contents"
+msgstr ""
-#: ../src/main_window.c:1394
-msgid "Image viewer Preferences"
-msgstr "Pengaturan penilik gambar"
+#: ../src/main_window.c:302
+msgid "Display ristretto user manual"
+msgstr ""
+
+#: ../src/main_window.c:305
+msgid "_About"
+msgstr ""
+
+#: ../src/main_window.c:307
+msgid "Display information about ristretto"
+msgstr ""
-#: ../src/main_window.c:1412
+#. Position Menu
+#: ../src/main_window.c:310
+msgid "_Position"
+msgstr ""
+
+#. Misc
+#: ../src/main_window.c:312
+msgid "Leave _Fullscreen"
+msgstr ""
+
+#. Toggle visibility of the main file toolbar
+#: ../src/main_window.c:320
+#, fuzzy
+msgid "Show _File Toolbar"
+msgstr "Tampi_lkan Batang Alat"
+
+#. Toggle visibility of the main navigation toolbar
+#: ../src/main_window.c:322
+#, fuzzy
+msgid "Show _Navigation Toolbar"
+msgstr "Tampi_lkan Batang Alat"
+
+#. Toggle visibility of the thumbnailbar
+#: ../src/main_window.c:324
+#, fuzzy
+msgid "Show _Thumbnailbar"
+msgstr "Tampi_lkan Batang Alat"
+
+#. Sort by Filename
+#: ../src/main_window.c:331
+msgid "sort by filename"
+msgstr ""
+
+#. Sort by Date
+#: ../src/main_window.c:333
+msgid "sort by date"
+msgstr ""
+
+#: ../src/main_window.c:339
+msgid "Left"
+msgstr ""
+
+#: ../src/main_window.c:340
+msgid "Right"
+msgstr ""
+
+#: ../src/main_window.c:341
+msgid "Top"
+msgstr ""
+
+#: ../src/main_window.c:342
+msgid "Bottom"
+msgstr ""
+
+#: ../src/main_window.c:512 ../src/main_window.c:778
+msgid "Press open to select an image"
+msgstr ""
+
+#: ../src/main_window.c:765 ../src/main_window.c:770
+msgid "Empty"
+msgstr ""
+
+#: ../src/main_window.c:1545
+msgid "Developer:"
+msgstr "Pengembang:"
+
+#: ../src/main_window.c:1555
+#, fuzzy
+msgid "Ristretto is an imageviewer for the Xfce desktop environment."
+msgstr ""
+"Ristretto adalah penilik gambar yang cepat dan ringan untuk lingkungan "
+"destop Xfce."
+
+#: ../src/main_window.c:1563
+msgid "translator-credits"
+msgstr "Andhika Padmawan <andhika.padmawan at gmail.com>"
+
+#: ../src/main_window.c:1878
+msgid "Open image"
+msgstr "Buka gambar"
+
+#: ../src/main_window.c:1890
+msgid "Images"
+msgstr ""
+
+#: ../src/main_window.c:1895
+msgid ".jp(e)g"
+msgstr ""
+
+#: ../src/main_window.c:1917 ../src/main_window.c:1940
+#: ../src/main_window.c:2099 ../src/main_window.c:2114
+msgid "Could not open file"
+msgstr "Tak dapat membuka berkas"
+
+#: ../src/main_window.c:1992
+msgid "Open folder"
+msgstr "Buka folder"
+
+#: ../src/main_window.c:2137
+msgid "Save copy"
+msgstr ""
+
+#: ../src/main_window.c:2210
+#, fuzzy, c-format
+msgid "Are you sure you want to delete image '%s' from disk?"
+msgstr ""
+"Anda yakin ingin membersihkan senarai dokumen yang baru dibuka pada "
+"ristretto?"
+
+#: ../src/preferences_dialog.c:230
msgid "Display"
msgstr "Tampilan"
-#: ../src/main_window.c:1416
+#: ../src/preferences_dialog.c:235
+#, fuzzy
+msgid "Background color"
+msgstr "Warna Latar Belakang"
+
+#: ../src/preferences_dialog.c:239
+#, fuzzy
+msgid "Override background color:"
+msgstr "Ti_mpa Warna Latar Belakang:"
+
+#: ../src/preferences_dialog.c:267
+msgid "Quality"
+msgstr ""
+
+#: ../src/preferences_dialog.c:271
+msgid "Maximum render quality:"
+msgstr ""
+
+#: ../src/preferences_dialog.c:274
+msgid "Show preview when loading image"
+msgstr ""
+
+#: ../src/preferences_dialog.c:281
+msgid "Best"
+msgstr ""
+
+#: ../src/preferences_dialog.c:282
+msgid "High"
+msgstr ""
+
+#: ../src/preferences_dialog.c:283
+msgid "Medium"
+msgstr ""
+
+#: ../src/preferences_dialog.c:284
+msgid "Low"
+msgstr ""
+
+#: ../src/preferences_dialog.c:324
msgid "Slideshow"
msgstr "Tampil Salindia"
-#: ../src/main_window.c:1420
+#: ../src/preferences_dialog.c:328
+msgid "Timeout"
+msgstr "Waktu Jeda"
+
+#: ../src/preferences_dialog.c:331
+msgid ""
+"The time period an individual image is displayed during a slideshow\n"
+"(in seconds)"
+msgstr ""
+"Waktu membatasi gambar individu yang ditayangkan ketika tampil salindia\n"
+"(dalam detik)"
+
+#: ../src/preferences_dialog.c:346
+#, fuzzy
+msgid "Thumbnails"
+msgstr "Gambar miniatur"
+
+#: ../src/preferences_dialog.c:349
+msgid ""
+"The thumbnailbar can be automatically hidden \n"
+"when the image-viewer is fullscreen."
+msgstr ""
+
+#: ../src/preferences_dialog.c:351
+#, fuzzy
+msgid "Hide thumbnailbar when fullscreen"
+msgstr "Sem_bunyikan Gambar Miniatur"
+
+#: ../src/preferences_dialog.c:364
+msgid "Control"
+msgstr ""
+
+#: ../src/preferences_dialog.c:368
+msgid "Scrollwheel"
+msgstr ""
+
+#: ../src/preferences_dialog.c:371
+msgid "No action"
+msgstr ""
+
+#: ../src/preferences_dialog.c:375
+msgid "Zoom in and out"
+msgstr ""
+
+#: ../src/preferences_dialog.c:378
+msgid "Switch images"
+msgstr ""
+
+#: ../src/preferences_dialog.c:412
msgid "Behaviour"
msgstr "Perilaku"
-#: ../src/main_window.c:1425
+#: ../src/preferences_dialog.c:417
msgid "Scaling"
msgstr "Skala"
-#: ../src/main_window.c:1427
+#: ../src/preferences_dialog.c:422
msgid "Don't scale over 100% when maximizing the window."
msgstr "Skala jangan lebih dari 100% ketika memaksimalkan jendela."
-#: ../src/main_window.c:1437
-msgid "Background Color"
-msgstr "Warna Latar Belakang"
+#: ../src/preferences_dialog.c:426
+msgid "Startup"
+msgstr ""
-#: ../src/main_window.c:1439
-msgid "_Override Background Color:"
-msgstr "Ti_mpa Warna Latar Belakang:"
+#: ../src/preferences_dialog.c:428
+msgid "Resize window to image on startup"
+msgstr ""
+
+#: ../src/preferences_dialog.c:432
+msgid "Open entire folder on startup"
+msgstr ""
-#: ../src/main_window.c:1462
-msgid "Image Cache"
+#: ../src/preferences_dialog.c:437
+#, fuzzy
+msgid "Wrap around images"
+msgstr "Buka gambar"
+
+#: ../src/preferences_dialog.c:453
+msgid "Memory"
+msgstr ""
+
+#: ../src/preferences_dialog.c:459
+#, fuzzy
+msgid "Image cache"
msgstr "Tembolok Gambar"
-#: ../src/main_window.c:1465
-msgid "Cache size:"
+#: ../src/preferences_dialog.c:465
+#, fuzzy
+msgid "Cache size"
msgstr "Ukuran tembolok:"
-#: ../src/main_window.c:1466
+#: ../src/preferences_dialog.c:466
msgid "MB"
msgstr "MB"
-#: ../src/main_window.c:1468
-msgid "_Preload images (GUI more responsive but more CPU-intensive)"
-msgstr "_Citra pramuat (GUI lebih responsif tapi lebih CPU-intensif)"
+#: ../src/preferences_dialog.c:469
+#, fuzzy
+msgid "Enable cache"
+msgstr "Tembolok Gambar"
-#: ../src/main_window.c:1486
-msgid "Timeout"
-msgstr "Waktu Jeda"
+#: ../src/preferences_dialog.c:474
+#, fuzzy
+msgid "Preload images"
+msgstr "Prata_yang gambar"
-#: ../src/main_window.c:1489
-msgid "Thumbnails"
-msgstr "Gambar miniatur"
+#: ../src/preferences_dialog.c:544
+#, fuzzy
+msgid "Preferences"
+msgstr "Pengaturan penilik gambar"
-#: ../src/main_window.c:1494
-msgid ""
-"The time period an individual image is displayed during a slideshow\n"
-"(in seconds)"
+#: ../src/xfce_wallpaper_manager.c:84
+#, fuzzy
+msgid "Set as wallpaper"
+msgstr "_Atur sebagai gambar latar"
+
+#: ../src/xfce_wallpaper_manager.c:86
+msgid "Style:"
msgstr ""
-"Waktu membatasi gambar individu yang ditayangkan ketika tampil salindia\n"
-"(dalam detik)"
-#: ../src/main_window.c:1497
-msgid "Hide the thumbnails bar during slideshow"
-msgstr "Sembunyikan batang gambar miniatur ketika tampil salindia"
+#: ../src/xfce_wallpaper_manager.c:88
+msgid "Monitor:"
+msgstr ""
-#: ../src/main_window.c:1498
-msgid "_Hide thumbnails"
-msgstr "Sem_bunyikan Gambar Miniatur"
+#: ../src/xfce_wallpaper_manager.c:90
+msgid "Brightness:"
+msgstr ""
-#: ../src/main_window.c:1556
-msgid "Developer:"
-msgstr "Pengembang:"
+#: ../src/xfce_wallpaper_manager.c:91
+#, fuzzy
+msgid "Saturation:"
+msgstr "_Rotasi"
-#: ../src/main_window.c:1566
-msgid "Ristretto is a fast and lightweight picture-viewer for the Xfce desktop environment."
-msgstr "Ristretto adalah penilik gambar yang cepat dan ringan untuk lingkungan destop Xfce."
+#: ../src/xfce_wallpaper_manager.c:123
+msgid "Auto"
+msgstr ""
-#: ../src/main_window.c:1574
-msgid "translator-credits"
-msgstr "Andhika Padmawan <andhika.padmawan at gmail.com>"
+#: ../src/xfce_wallpaper_manager.c:124
+msgid "Centered"
+msgstr ""
-#: ../src/main_window.c:1600
-msgid "Open image"
-msgstr "Buka gambar"
+#: ../src/xfce_wallpaper_manager.c:125
+#, fuzzy
+msgid "Tiled"
+msgstr "_Berkas"
-#: ../src/main_window.c:1618
-msgid "Could not open file"
-msgstr "Tak dapat membuka berkas"
+#: ../src/xfce_wallpaper_manager.c:126
+msgid "Stretched"
+msgstr ""
-#: ../src/main_window.c:1640
-msgid "Open folder"
-msgstr "Buka folder"
+#: ../src/xfce_wallpaper_manager.c:127
+#, fuzzy
+msgid "Scaled"
+msgstr "Skala"
-#: ../src/main_window.c:1715
-msgid "Are you sure you want to clear ristretto's list of recently opened documents?"
-msgstr "Anda yakin ingin membersihkan senarai dokumen yang baru dibuka pada ristretto?"
+#: ../src/xfce_wallpaper_manager.c:128
+msgid "Zoomed"
+msgstr ""
-#: ../src/thumbnail_bar.c:185
+#: ../src/thumbnail_bar.c:187
msgid "Spacing"
msgstr "Spasi"
-#: ../src/thumbnail_bar.c:186
+#: ../src/thumbnail_bar.c:188
msgid "The amount of space between the thumbnails"
msgstr "Jumlah spasi diantara gambar miniatur"
-#: ../src/thumbnail_bar.c:192
-msgid "Border Width"
+#: ../src/thumbnail_bar.c:194
+#, fuzzy
+msgid "border width"
msgstr "Lebar Batas"
-#: ../src/thumbnail_bar.c:193
-msgid "The border width of the thumbnail-bar"
+#: ../src/thumbnail_bar.c:195
+#, fuzzy
+msgid "the border width of the thumbnail-bar"
+msgstr "Lebar batas batang gambar miniatur"
+
+#: ../src/thumbnail_bar.c:201
+msgid "filmstrip width"
+msgstr ""
+
+#: ../src/thumbnail_bar.c:202
+#, fuzzy
+msgid "the width of the thumbnail-bar film-strip"
msgstr "Lebar batas batang gambar miniatur"
#: ../ristretto.desktop.in.h:1
@@ -255,21 +572,63 @@ msgid "Image Viewer"
msgstr "Penilik Gambar"
#: ../ristretto.desktop.in.h:2
-msgid "Ristretto"
-msgstr "Ristretto"
+msgid "Look at your photo's easily"
+msgstr ""
#: ../ristretto.desktop.in.h:3
-msgid "Xfce Image viewer"
-msgstr "Penilik gambar Xfce"
+msgid "Ristretto Photo Viewer"
+msgstr ""
+
+#, fuzzy
+#~ msgid "Ristretto"
+#~ msgstr "Ristretto"
+
+#, fuzzy
+#~ msgid "_Thumbnail Bar"
+#~ msgstr "Gambar miniatur"
+
+#~ msgid "Opening file(s)..."
+#~ msgstr "Buka berkas..."
+
+#~ msgid "_Recently used"
+#~ msgstr "Bar_u digunakan"
+
+#~ msgid "No applications available"
+#~ msgstr "Tak ada aplikasi tersedia"
+
+#~ msgid "Thumbnail _Viewer"
+#~ msgstr "Penilik Gambar _Miniatur"
+
+#~ msgid "Show _Horizontally"
+#~ msgstr "Tampilkan _Horizontal"
+
+#~ msgid "Show _Vertically"
+#~ msgstr "Tampilkan _Vertikal"
+
+#~ msgid "H_ide"
+#~ msgstr "S_embunyikan"
+
+#~ msgid ""
+#~ "One or more images have been modified, do you want to save the changes?"
+#~ msgstr ""
+#~ "Satu atau beberapa gambar telah dimodifikasi, anda ingin menyimpan "
+#~ "perubahan ini?"
+
+#~ msgid "_Preload images (GUI more responsive but more CPU-intensive)"
+#~ msgstr "_Citra pramuat (GUI lebih responsif tapi lebih CPU-intensif)"
+
+#~ msgid "Hide the thumbnails bar during slideshow"
+#~ msgstr "Sembunyikan batang gambar miniatur ketika tampil salindia"
+
+#~ msgid "Xfce Image viewer"
+#~ msgstr "Penilik gambar Xfce"
#~ msgid "Preload"
#~ msgstr "Pratayang"
+
#~ msgid ""
#~ "Preload images during slideshow\n"
#~ "(uses more memory)"
#~ msgstr ""
#~ "Pratayang gambar selama tampil salindia\n"
#~ "(menggunakan lebih banyak memori)"
-#~ msgid "_Preload images"
-#~ msgstr "Prata_yang gambar"
-
diff --git a/po/it.po b/po/it.po
index e04af25..ea3c378 100644
--- a/po/it.po
+++ b/po/it.po
@@ -3,13 +3,13 @@
# This file is distributed under the same license as the PACKAGE package.
# Fabio Vergnani <monghitri at aruba.it>, 2007.
# Cristian Marchi <cri.penta at gmail.com>, 2009.
-#
+#
msgid ""
msgstr ""
"Project-Id-Version: ristretto\n"
"Report-Msgid-Bugs-To: xfce-i18n at xfce.org\n"
-"POT-Creation-Date: 2008-11-14 13:24+0100\n"
-"PO-Revision-Date: 2009-03-05 09:02+0100\n"
+"POT-Creation-Date: 2010-01-15 00:57+0100\n"
+"PO-Revision-Date: 2009-12-10 19:43+0100\n"
"Last-Translator: Cristian Marchi <cri.penta at gmail.com>\n"
"Language-Team: Italian Translation Team <xfce-it-translators at googlegroups.com>\n"
"MIME-Version: 1.0\n"
@@ -17,269 +17,584 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"X-Poedit-Bookmarks: -1,-1,-1,-1,-1,-1,11,-1,-1,-1\n"
-#: ../src/main.c:61
+#: ../src/main.c:59
msgid "Version information"
msgstr "Informazioni sulla versione"
-#: ../src/main.c:65
+#: ../src/main.c:63
msgid "Start in fullscreen mode"
-msgstr "Avvia in modalità a schermo intero"
+msgstr "Avvia in modalità schermo intero"
-#: ../src/main.c:69
+#: ../src/main.c:67
msgid "Start a slideshow"
msgstr "Avvia una presentazione"
-#: ../src/main.c:235
+#: ../src/main.c:91
#, c-format
msgid ""
"%s: %s\n"
"Try %s --help to see a full list of available command line options.\n"
msgstr ""
"%s: %s\n"
-"Utilizzare il comando %s --help per visualizzare la lista completa di opzioni per la linea di comando.\n"
+"Utilizzare il comando %s --help per visualizzare la lista completa delle opzioni da linea di comando.\n"
-#: ../src/main.c:448
-#: ../src/main_window.c:1598
-#: ../src/main_window.c:1638
-#: ../src/main_window.c:1675
-msgid "Opening file(s)..."
-msgstr "Apertura dei file in corso..."
-
-#. Create 'File' menu
-#: ../src/main_window.c:340
+#. File Menu
+#: ../src/main_window.c:262
msgid "_File"
msgstr "_File"
-#: ../src/main_window.c:347
-msgid "O_pen Folder"
-msgstr "A_pri cartella"
+#: ../src/main_window.c:263
+msgid "_Open"
+msgstr "_Apri"
+
+#: ../src/main_window.c:263
+msgid "Open an image"
+msgstr "Apre una immagine"
+
+#: ../src/main_window.c:264
+msgid "Open _Folder"
+msgstr "Apri carte_lla"
+
+#: ../src/main_window.c:264
+msgid "Open a folder"
+msgstr "Apre una cartella"
+
+#: ../src/main_window.c:265
+msgid "_Save copy"
+msgstr "_Salva copia"
+
+#: ../src/main_window.c:265
+msgid "Save a copy of the image"
+msgstr "Salva una copia dell'immagine"
+
+#: ../src/main_window.c:266
+msgid "_Print"
+msgstr "Stam_pa"
-#: ../src/main_window.c:348
-msgid "_Recently used"
-msgstr "Apri _recenti"
+#: ../src/main_window.c:266
+msgid "Print the image"
+msgstr "Stampa l'immagine"
-#: ../src/main_window.c:353
-msgid "Close _all"
+#: ../src/main_window.c:267
+msgid "_Close"
+msgstr "_Chiudi"
+
+#: ../src/main_window.c:267
+msgid "Close this image"
+msgstr "Chiude questa immagine"
+
+#: ../src/main_window.c:268
+msgid "_Close All"
msgstr "Chiudi _tutto"
-#. Create 'Edit' menu
-#: ../src/main_window.c:383
+#: ../src/main_window.c:268
+msgid "Close all images"
+msgstr "Chiudi tutte le immagini"
+
+#: ../src/main_window.c:269
+msgid "_Quit"
+msgstr "_Esci"
+
+#: ../src/main_window.c:269
+msgid "Quit Ristretto"
+msgstr "Esce da Ristretto"
+
+#. Edit Menu
+#: ../src/main_window.c:271
msgid "_Edit"
msgstr "_Modifica"
-#: ../src/main_window.c:388
-#: ../src/main_window.c:659
-msgid "Open with..."
-msgstr "Apri con..."
+#: ../src/main_window.c:272
+msgid "_Open with..."
+msgstr "_Apri con..."
+
+#: ../src/main_window.c:273
+msgid "_Sorting"
+msgstr "_Ordinamento"
-#: ../src/main_window.c:396
-#: ../src/main_window.c:670
-msgid "No applications available"
-msgstr "Nessuna applicazione disponibile"
+#: ../src/main_window.c:274
+msgid "_Delete"
+msgstr "_Cancella"
-#. Create 'View' menu
-#: ../src/main_window.c:405
+#: ../src/main_window.c:275
+msgid "_Preferences"
+msgstr "_Preferenze"
+
+#. View Menu
+#: ../src/main_window.c:277
msgid "_View"
msgstr "_Visualizza"
-#: ../src/main_window.c:412
-msgid "Show _Toolbar"
-msgstr "Mostra la barra degli _strumenti"
+#: ../src/main_window.c:278
+msgid "_Fullscreen"
+msgstr "A schermo inter_o"
+
+#: ../src/main_window.c:279
+msgid "_Leave Fullscreen"
+msgstr "_Lascia a schermo intero"
-#: ../src/main_window.c:413
-msgid "Thumbnail _Viewer"
-msgstr "Visualizzatore di _miniature"
+#: ../src/main_window.c:280
+msgid "_Set as Wallpaper"
+msgstr "Imposta come _sfondo"
-#: ../src/main_window.c:417
+#. Zoom submenu
+#: ../src/main_window.c:282
msgid "_Zooming"
msgstr "_Ingrandimento"
-#: ../src/main_window.c:418
-msgid "_Rotate"
-msgstr "_Ruota"
+#: ../src/main_window.c:283
+msgid "Zoom _In"
+msgstr "_Ingrandisci"
-#: ../src/main_window.c:425
-msgid "_Set as wallpaper"
-msgstr "Imposta come s_fondo"
+#: ../src/main_window.c:284
+msgid "Zoom _Out"
+msgstr "_Rimpicciolisci"
-#: ../src/main_window.c:476
-msgid "Show _Horizontally"
-msgstr "Mostra _orizzontalmente"
+#: ../src/main_window.c:285
+msgid "Zoom _Fit"
+msgstr "_Adatta"
-#: ../src/main_window.c:480
-msgid "Show _Vertically"
-msgstr "Mostra _verticalmente"
+#: ../src/main_window.c:286
+msgid "_Normal Size"
+msgstr "_Dimensione normale"
-#: ../src/main_window.c:484
-msgid "H_ide"
-msgstr "_Nascondi"
+#. Rotation submenu
+#: ../src/main_window.c:288
+msgid "_Rotation"
+msgstr "_Rotazione"
-#: ../src/main_window.c:521
+#: ../src/main_window.c:289
msgid "Rotate _Right"
msgstr "Ruota a _destra"
-#: ../src/main_window.c:522
+#: ../src/main_window.c:290
msgid "Rotate _Left"
msgstr "Ruota a _sinistra"
-#. Create 'Go' menu
-#: ../src/main_window.c:543
+#. Go Menu
+#: ../src/main_window.c:292
msgid "_Go"
msgstr "V_ai"
-#. Create 'Help' menu
-#: ../src/main_window.c:574
+#: ../src/main_window.c:293
+msgid "_Forward"
+msgstr "_Avanti"
+
+#: ../src/main_window.c:294
+msgid "_Back"
+msgstr "_Indietro"
+
+#: ../src/main_window.c:295
+msgid "_First"
+msgstr "P_rima"
+
+#: ../src/main_window.c:296
+msgid "_Last"
+msgstr "_Ultima"
+
+#. Help Menu
+#: ../src/main_window.c:298
msgid "_Help"
msgstr "A_iuto"
-#: ../src/main_window.c:906
-msgid "One or more images have been modified, do you want to save the changes?"
-msgstr "Una o più immagini sono state modificate; salvare i cambiamenti?"
+#: ../src/main_window.c:300
+msgid "_Contents"
+msgstr "_Contenuti"
+
+#: ../src/main_window.c:302
+msgid "Display ristretto user manual"
+msgstr "Visualizza il manuale dell'utente di Ristretto"
+
+#: ../src/main_window.c:305
+msgid "_About"
+msgstr "_Informazioni"
+
+#: ../src/main_window.c:307
+msgid "Display information about ristretto"
+msgstr "Visualizza delle informazioni relative a Ristretto"
+
+#. Position Menu
+#: ../src/main_window.c:310
+msgid "_Position"
+msgstr "_Posizione"
+
+#. Misc
+#: ../src/main_window.c:312
+msgid "Leave _Fullscreen"
+msgstr "Lascia a schermo i_ntero"
+
+#. Toggle visibility of the main file toolbar
+#: ../src/main_window.c:320
+msgid "Show _File Toolbar"
+msgstr "Mostra la barra degli strumenti _file"
+
+#. Toggle visibility of the main navigation toolbar
+#: ../src/main_window.c:322
+msgid "Show _Navigation Toolbar"
+msgstr "Mostra la barra degli strumenti di _navigazione"
+
+#. Toggle visibility of the thumbnailbar
+#: ../src/main_window.c:324
+msgid "Show _Thumbnailbar"
+msgstr "Mostra la barra delle minia_ture"
+
+#. Sort by Filename
+#: ../src/main_window.c:331
+msgid "sort by filename"
+msgstr "ordina per nome file"
+
+#. Sort by Date
+#: ../src/main_window.c:333
+msgid "sort by date"
+msgstr "ordina per data"
+
+#: ../src/main_window.c:339
+msgid "Left"
+msgstr "Sinistra"
+
+#: ../src/main_window.c:340
+msgid "Right"
+msgstr "Destra"
+
+#: ../src/main_window.c:341
+msgid "Top"
+msgstr "Alto"
+
+#: ../src/main_window.c:342
+msgid "Bottom"
+msgstr "Basso"
+
+#: ../src/main_window.c:512 ../src/main_window.c:778
+msgid "Press open to select an image"
+msgstr "Premere «Apri» per selezionare un'immagine"
+
+#: ../src/main_window.c:765 ../src/main_window.c:770
+msgid "Empty"
+msgstr "Vuota"
+
+#: ../src/main_window.c:1545
+msgid "Developer:"
+msgstr "Sviluppatore:"
+
+#: ../src/main_window.c:1555
+msgid "Ristretto is an imageviewer for the Xfce desktop environment."
+msgstr "Ristretto è un visualizzatore di immagini per l'ambiente grafico Xfce."
+
+#: ../src/main_window.c:1563
+msgid "translator-credits"
+msgstr ""
+"Fabio Vergnani <monghitri at aruba.it> 2007\n"
+"Cristian Marchi <cri.penta at gmail.com> 2009"
+
+#: ../src/main_window.c:1878
+msgid "Open image"
+msgstr "Apri immagine"
+
+#: ../src/main_window.c:1890
+msgid "Images"
+msgstr "Immagini"
-#: ../src/main_window.c:1394
-msgid "Image viewer Preferences"
-msgstr "Preferenze del visualizzatore"
+#: ../src/main_window.c:1895
+msgid ".jp(e)g"
+msgstr ".jp(e)g"
-#: ../src/main_window.c:1412
+#: ../src/main_window.c:1917 ../src/main_window.c:1940
+#: ../src/main_window.c:2099 ../src/main_window.c:2114
+msgid "Could not open file"
+msgstr "Impossibile aprire il file"
+
+#: ../src/main_window.c:1992
+msgid "Open folder"
+msgstr "Apri cartella"
+
+#: ../src/main_window.c:2137
+msgid "Save copy"
+msgstr "Salva una copia"
+
+#: ../src/main_window.c:2210
+#, c-format
+msgid "Are you sure you want to delete image '%s' from disk?"
+msgstr "Cancellare davvero l'immagine «%s» dal disco?"
+
+#: ../src/preferences_dialog.c:230
msgid "Display"
msgstr "Visualizzazione"
-#: ../src/main_window.c:1416
+#: ../src/preferences_dialog.c:235
+msgid "Background color"
+msgstr "Colore dello sfondo"
+
+#: ../src/preferences_dialog.c:239
+msgid "Override background color:"
+msgstr "Cambia il colore dello sfondo:"
+
+#: ../src/preferences_dialog.c:267
+msgid "Quality"
+msgstr "Qualità"
+
+#: ../src/preferences_dialog.c:271
+msgid "Maximum render quality:"
+msgstr "Qualità massima di visualizzazione:"
+
+#: ../src/preferences_dialog.c:274
+msgid "Show preview when loading image"
+msgstr "Mostra un'anteprima quando l'immagine è in caricamento"
+
+#: ../src/preferences_dialog.c:281
+msgid "Best"
+msgstr "Migliore"
+
+#: ../src/preferences_dialog.c:282
+msgid "High"
+msgstr "Alta"
+
+#: ../src/preferences_dialog.c:283
+msgid "Medium"
+msgstr "Media"
+
+#: ../src/preferences_dialog.c:284
+msgid "Low"
+msgstr "Bassa"
+
+#: ../src/preferences_dialog.c:324
msgid "Slideshow"
msgstr "Presentazione"
-#: ../src/main_window.c:1420
+#: ../src/preferences_dialog.c:328
+msgid "Timeout"
+msgstr "Durata"
+
+#: ../src/preferences_dialog.c:331
+msgid ""
+"The time period an individual image is displayed during a slideshow\n"
+"(in seconds)"
+msgstr ""
+"Il tempo per cui viene visualizzata un'immagine durante una presentazione\n"
+"(in secondi)"
+
+#: ../src/preferences_dialog.c:346
+msgid "Thumbnails"
+msgstr "Miniature"
+
+#: ../src/preferences_dialog.c:349
+msgid ""
+"The thumbnailbar can be automatically hidden \n"
+"when the image-viewer is fullscreen."
+msgstr ""
+"La barra delle miniature può essere nascosta automaticamente \n"
+"quando la visualizzazione è a schermo intero."
+
+#: ../src/preferences_dialog.c:351
+msgid "Hide thumbnailbar when fullscreen"
+msgstr "Nascondi la barra delle miniature quando a schermo intero"
+
+#: ../src/preferences_dialog.c:364
+msgid "Control"
+msgstr "Controlli"
+
+#: ../src/preferences_dialog.c:368
+msgid "Scrollwheel"
+msgstr "Rotella del mouse"
+
+#: ../src/preferences_dialog.c:371
+msgid "No action"
+msgstr "Nessuna azione"
+
+#: ../src/preferences_dialog.c:375
+msgid "Zoom in and out"
+msgstr "Ingrandisci e rimpicciolisci"
+
+#: ../src/preferences_dialog.c:378
+msgid "Switch images"
+msgstr "Scorri le immagini"
+
+#: ../src/preferences_dialog.c:412
msgid "Behaviour"
msgstr "Comportamento"
-#: ../src/main_window.c:1425
+#: ../src/preferences_dialog.c:417
msgid "Scaling"
msgstr "Ridimensionamento"
-#: ../src/main_window.c:1427
+#: ../src/preferences_dialog.c:422
msgid "Don't scale over 100% when maximizing the window."
-msgstr "Non ingrandire l'immagine oltre il 100% quando si massimizza la finestra."
+msgstr "Non ingrandire l'immagine oltre il 100% quando si massimizza la finestra"
+
+#: ../src/preferences_dialog.c:426
+msgid "Startup"
+msgstr "Avvio"
+
+#: ../src/preferences_dialog.c:428
+msgid "Resize window to image on startup"
+msgstr "All'avvio ridimensiona la finestra alla dimensione dell'immagine"
+
+#: ../src/preferences_dialog.c:432
+msgid "Open entire folder on startup"
+msgstr "Apri l'intera cartella all'avvio"
-#: ../src/main_window.c:1437
-msgid "Background Color"
-msgstr "Colore di sfondo"
+#: ../src/preferences_dialog.c:437
+msgid "Wrap around images"
+msgstr "Scorrimento continuo delle immagini"
-#: ../src/main_window.c:1439
-msgid "_Override Background Color:"
-msgstr "_Ignora il colore di sfondo:"
+#: ../src/preferences_dialog.c:453
+msgid "Memory"
+msgstr "Memoria"
-#: ../src/main_window.c:1462
-msgid "Image Cache"
+#: ../src/preferences_dialog.c:459
+msgid "Image cache"
msgstr "Cache dell'immagine"
-#: ../src/main_window.c:1465
-msgid "Cache size:"
-msgstr "Dimensione della cache:"
+#: ../src/preferences_dialog.c:465
+msgid "Cache size"
+msgstr "Dimensione della cache"
-#: ../src/main_window.c:1466
+#: ../src/preferences_dialog.c:466
msgid "MB"
msgstr "MB"
-#: ../src/main_window.c:1468
-msgid "_Preload images (GUI more responsive but more CPU-intensive)"
-msgstr "_Precarica le immagini (l'interfaccia è più rapida ma richiede più lavoro del processore)"
+#: ../src/preferences_dialog.c:469
+msgid "Enable cache"
+msgstr "Abilita cache"
-#: ../src/main_window.c:1486
-msgid "Timeout"
-msgstr "Durata"
+#: ../src/preferences_dialog.c:474
+msgid "Preload images"
+msgstr "Precarica le immagini"
-#: ../src/main_window.c:1489
-msgid "Thumbnails"
-msgstr "Miniature"
+#: ../src/preferences_dialog.c:544
+msgid "Preferences"
+msgstr "Preferenze"
-#: ../src/main_window.c:1494
-msgid ""
-"The time period an individual image is displayed during a slideshow\n"
-"(in seconds)"
-msgstr ""
-"Il tempo per cui viene visualizzata un'immagine durante una presentazione\n"
-"(in secondi)"
+#: ../src/xfce_wallpaper_manager.c:84
+msgid "Set as wallpaper"
+msgstr "Imposta come sfondo"
-#: ../src/main_window.c:1497
-msgid "Hide the thumbnails bar during slideshow"
-msgstr "Nascondi la barra delle miniature durante la presentazione"
+#: ../src/xfce_wallpaper_manager.c:86
+msgid "Style:"
+msgstr "Stile:"
-#: ../src/main_window.c:1498
-msgid "_Hide thumbnails"
-msgstr "_Nascondi miniature"
+#: ../src/xfce_wallpaper_manager.c:88
+msgid "Monitor:"
+msgstr "Monitor:"
-#: ../src/main_window.c:1556
-msgid "Developer:"
-msgstr "Sviluppatore:"
+#: ../src/xfce_wallpaper_manager.c:90
+msgid "Brightness:"
+msgstr "Luminosità:"
-#: ../src/main_window.c:1566
-msgid "Ristretto is a fast and lightweight picture-viewer for the Xfce desktop environment."
-msgstr "Ristretto è un visualizzatore di immagini leggero e veloce per l'ambiente grafico Xfce."
+#: ../src/xfce_wallpaper_manager.c:91
+msgid "Saturation:"
+msgstr "Saturazione:"
-#: ../src/main_window.c:1574
-msgid "translator-credits"
-msgstr ""
-"Fabio Vergnani <monghitri at aruba.it> 2007\n"
-"Cristian Marchi <cri.penta at gmail.com> 2009"
+#: ../src/xfce_wallpaper_manager.c:123
+msgid "Auto"
+msgstr "Automatico"
-#: ../src/main_window.c:1600
-msgid "Open image"
-msgstr "Apri immagine"
+#: ../src/xfce_wallpaper_manager.c:124
+msgid "Centered"
+msgstr "Centrata"
-#: ../src/main_window.c:1618
-msgid "Could not open file"
-msgstr "Impossibile aprire il file"
+#: ../src/xfce_wallpaper_manager.c:125
+msgid "Tiled"
+msgstr "Affiancata"
-#: ../src/main_window.c:1640
-msgid "Open folder"
-msgstr "Apri cartella"
+#: ../src/xfce_wallpaper_manager.c:126
+msgid "Stretched"
+msgstr "Stirata"
+
+#: ../src/xfce_wallpaper_manager.c:127
+msgid "Scaled"
+msgstr "Scalata"
-#: ../src/main_window.c:1715
-msgid "Are you sure you want to clear ristretto's list of recently opened documents?"
-msgstr "Cancellare davvero la lista dei documenti recenti?"
+#: ../src/xfce_wallpaper_manager.c:128
+msgid "Zoomed"
+msgstr "Ingrandita"
-#: ../src/thumbnail_bar.c:185
+#: ../src/thumbnail_bar.c:187
msgid "Spacing"
msgstr "Spaziatura"
-#: ../src/thumbnail_bar.c:186
+#: ../src/thumbnail_bar.c:188
msgid "The amount of space between the thumbnails"
msgstr "Lo spazio tra le miniature"
-#: ../src/thumbnail_bar.c:192
-msgid "Border Width"
-msgstr "Larghezza del bordo"
+#: ../src/thumbnail_bar.c:194
+msgid "border width"
+msgstr "larghezza del bordo"
-#: ../src/thumbnail_bar.c:193
-msgid "The border width of the thumbnail-bar"
-msgstr "La larghezza del bordo della barra delle miniature"
+#: ../src/thumbnail_bar.c:195
+msgid "the border width of the thumbnail-bar"
+msgstr "la larghezza del bordo della barra delle miniature"
+
+#: ../src/thumbnail_bar.c:201
+msgid "filmstrip width"
+msgstr "Larghezza della barra delle miniature"
+
+#: ../src/thumbnail_bar.c:202
+msgid "the width of the thumbnail-bar film-strip"
+msgstr "la larghezza della barra delle miniature"
#: ../ristretto.desktop.in.h:1
msgid "Image Viewer"
msgstr "Visualizzatore di immagini"
#: ../ristretto.desktop.in.h:2
-msgid "Ristretto"
-msgstr "Ristretto"
+msgid "Look at your photo's easily"
+msgstr "Guardare le proprie foto con semplicità"
#: ../ristretto.desktop.in.h:3
-msgid "Xfce Image viewer"
-msgstr "Visualizzatore di immagini per Xfce"
+msgid "Ristretto Photo Viewer"
+msgstr "Visualizzatore di foto Ristretto"
+
+#~ msgid "Ristretto"
+#~ msgstr "Ristretto"
+
+#~ msgid "_Thumbnail Bar"
+#~ msgstr "Miniature"
+
+#~ msgid "Opening file(s)..."
+#~ msgstr "Apertura dei file in corso..."
+
+#~ msgid "_Recently used"
+#~ msgstr "Apri _recenti"
+
+#~ msgid "No applications available"
+#~ msgstr "Nessuna applicazione disponibile"
+
+#~ msgid "Thumbnail _Viewer"
+#~ msgstr "Visualizzatore di _miniature"
+
+#~ msgid "Show _Horizontally"
+#~ msgstr "Mostra _orizzontalmente"
+
+#~ msgid "Show _Vertically"
+#~ msgstr "Mostra _verticalmente"
+
+#~ msgid "H_ide"
+#~ msgstr "_Nascondi"
+
+#~ msgid "One or more images have been modified, do you want to save the changes?"
+#~ msgstr "Una o più immagini sono state modificate; salvare i cambiamenti?"
+
+#~ msgid "_Preload images (GUI more responsive but more CPU-intensive)"
+#~ msgstr "_Precarica le immagini (l'interfaccia è più rapida ma richiede più lavoro del processore)"
+
+#~ msgid "Hide the thumbnails bar during slideshow"
+#~ msgstr "Nascondi la barra delle miniature durante la presentazione"
+
+#~ msgid "Xfce Image viewer"
+#~ msgstr "Visualizzatore di immagini per Xfce"
#~ msgid "Preload"
#~ msgstr "Precarica"
+
#~ msgid ""
#~ "Preload images during slideshow\n"
#~ "(uses more memory)"
#~ msgstr ""
#~ "Precarica le immagini durante le presentazioni\n"
#~ "(usa più memoria)"
-#~ msgid "_Preload images"
-#~ msgstr "_Precarica le immagini"
-#~ msgid "Ristretto Image Viewer"
-#~ msgstr "Visualizzatore di immagini Ristretto"
+
#~ msgid "Flip _Vertically"
#~ msgstr "Ruota _Verticalmente"
+
#~ msgid "Flip _Horizontally"
#~ msgstr "Ruota _Orizzontalmente"
-
diff --git a/po/ja.po b/po/ja.po
index 7a694c2..618c0ee 100644
--- a/po/ja.po
+++ b/po/ja.po
@@ -8,28 +8,28 @@ msgid ""
msgstr ""
"Project-Id-Version: 0.0.18\n"
"Report-Msgid-Bugs-To: xfce-i18n at xfce.org\n"
-"POT-Creation-Date: 2009-08-10 00:24+0900\n"
-"PO-Revision-Date: 2009-06-17 22:19+0900\n"
+"POT-Creation-Date: 2010-01-15 00:57+0100\n"
+"PO-Revision-Date: 2009-10-12 15:32+0900\n"
"Last-Translator: Masato Hashimoto <cabezon.hashimoto at gmail.com>\n"
-"Language-Team: Japanese\n"
+"Language-Team: Japanese <xfce-users-jp at ml.fdiary.net>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-#: ../src/main.c:57
+#: ../src/main.c:59
msgid "Version information"
msgstr "バージョン情報を表示する"
-#: ../src/main.c:61
+#: ../src/main.c:63
msgid "Start in fullscreen mode"
msgstr "フルスクリーンモードで開始する"
-#: ../src/main.c:65
+#: ../src/main.c:67
msgid "Start a slideshow"
msgstr "スライドショーを開始する"
-#: ../src/main.c:232
+#: ../src/main.c:91
#, c-format
msgid ""
"%s: %s\n"
@@ -38,230 +38,504 @@ msgstr ""
"%s: %s\n"
"%s --help で使用可能な全てのコマンドラインオプションが表示されます。\n"
-#: ../src/main.c:445 ../src/main_window.c:1603 ../src/main_window.c:1643
-#: ../src/main_window.c:1680
-msgid "Opening file(s)..."
-msgstr "ファイルを開いています..."
-
-#. Create 'File' menu
-#: ../src/main_window.c:336
+#. File Menu
+#: ../src/main_window.c:262
msgid "_File"
msgstr "ファイル(_F)"
-#: ../src/main_window.c:343
-msgid "O_pen Folder"
-msgstr "フォルダを開く(_P)"
+#: ../src/main_window.c:263
+msgid "_Open"
+msgstr "開く(_O)"
+
+#: ../src/main_window.c:263
+msgid "Open an image"
+msgstr "画像を開きます"
+
+#: ../src/main_window.c:264
+msgid "Open _Folder"
+msgstr "フォルダを開く(_F)"
+
+#: ../src/main_window.c:264
+msgid "Open a folder"
+msgstr "フォルダを開きます"
+
+#: ../src/main_window.c:265
+msgid "_Save copy"
+msgstr "コピーを保存(_S)"
+
+#: ../src/main_window.c:265
+msgid "Save a copy of the image"
+msgstr "画像のコピーを保存します。"
+
+#: ../src/main_window.c:266
+msgid "_Print"
+msgstr "印刷(_P)"
+
+#: ../src/main_window.c:266
+msgid "Print the image"
+msgstr "画像を印刷します。"
+
+#: ../src/main_window.c:267
+msgid "_Close"
+msgstr "閉じる(_C)"
-#: ../src/main_window.c:344
-msgid "_Recently used"
-msgstr "最近開いたファイル(_R)"
+#: ../src/main_window.c:267
+msgid "Close this image"
+msgstr "画像を閉じます。"
-#: ../src/main_window.c:349
-msgid "Close _all"
+#: ../src/main_window.c:268
+msgid "_Close All"
msgstr "全て閉じる(_A)"
-#. Create 'Edit' menu
-#: ../src/main_window.c:379
+#: ../src/main_window.c:268
+msgid "Close all images"
+msgstr "画像を全て閉じます"
+
+#: ../src/main_window.c:269
+msgid "_Quit"
+msgstr "終了(_Q)"
+
+#: ../src/main_window.c:269
+msgid "Quit Ristretto"
+msgstr "Ristretto を終了します"
+
+#. Edit Menu
+#: ../src/main_window.c:271
msgid "_Edit"
msgstr "編集(_E)"
-#: ../src/main_window.c:384 ../src/main_window.c:652
-msgid "Open with..."
-msgstr "アプリケーションで開く..."
+#: ../src/main_window.c:272
+msgid "_Open with..."
+msgstr "アプリケーションで開く(_O)..."
+
+#: ../src/main_window.c:273
+msgid "_Sorting"
+msgstr "並び替え(_S)"
-#: ../src/main_window.c:392 ../src/main_window.c:663
-msgid "No applications available"
-msgstr "使用可能なアプリケーションはありません"
+#: ../src/main_window.c:274
+msgid "_Delete"
+msgstr "削除(_D)"
-#. Create 'View' menu
-#: ../src/main_window.c:401
+#: ../src/main_window.c:275
+msgid "_Preferences"
+msgstr "設定(_P)"
+
+#. View Menu
+#: ../src/main_window.c:277
msgid "_View"
msgstr "表示(_V)"
-#: ../src/main_window.c:408
-msgid "Show _Toolbar"
-msgstr "ツールバーを表示(_T)"
+#: ../src/main_window.c:278
+msgid "_Fullscreen"
+msgstr "全画面化(_F)"
+
+#: ../src/main_window.c:279
+msgid "_Leave Fullscreen"
+msgstr "元に戻す(_L)"
-#: ../src/main_window.c:409
-msgid "Thumbnail _Viewer"
-msgstr "サムネイルビューア(_V)"
+#: ../src/main_window.c:280
+msgid "_Set as Wallpaper"
+msgstr "壁紙に設定(_S)"
-#: ../src/main_window.c:413
+#. Zoom submenu
+#: ../src/main_window.c:282
msgid "_Zooming"
msgstr "拡大/縮小(_Z)"
-#: ../src/main_window.c:414
-msgid "_Rotate"
-msgstr "回転(_R)"
+#: ../src/main_window.c:283
+msgid "Zoom _In"
+msgstr "拡大(_I)"
-#: ../src/main_window.c:421
-msgid "_Set as wallpaper"
-msgstr "壁紙に設定(_S)"
+#: ../src/main_window.c:284
+msgid "Zoom _Out"
+msgstr "縮小(_O)"
-#: ../src/main_window.c:469
-msgid "Show _Horizontally"
-msgstr "横に表示(_H)"
+#: ../src/main_window.c:285
+msgid "Zoom _Fit"
+msgstr "ウィンドウに合わせる(_F)"
-#: ../src/main_window.c:473
-msgid "Show _Vertically"
-msgstr "縦に表示(_V)"
+#: ../src/main_window.c:286
+msgid "_Normal Size"
+msgstr "標準サイズ(_N)"
-#: ../src/main_window.c:477
-msgid "H_ide"
-msgstr "表示しない(_I)"
+#. Rotation submenu
+#: ../src/main_window.c:288
+msgid "_Rotation"
+msgstr "回転(_R)"
-#: ../src/main_window.c:514
+#: ../src/main_window.c:289
msgid "Rotate _Right"
msgstr "右回転(_R)"
-#: ../src/main_window.c:515
+#: ../src/main_window.c:290
msgid "Rotate _Left"
msgstr "左回転(_L)"
-#. Create 'Go' menu
-#: ../src/main_window.c:536
+#. Go Menu
+#: ../src/main_window.c:292
msgid "_Go"
msgstr "移動(_G)"
-#. Create 'Help' menu
-#: ../src/main_window.c:567
+#: ../src/main_window.c:293
+msgid "_Forward"
+msgstr "進む(_F)"
+
+#: ../src/main_window.c:294
+msgid "_Back"
+msgstr "戻る(_B)"
+
+#: ../src/main_window.c:295
+msgid "_First"
+msgstr "先頭(_F)"
+
+#: ../src/main_window.c:296
+msgid "_Last"
+msgstr "最後(_L)"
+
+#. Help Menu
+#: ../src/main_window.c:298
msgid "_Help"
msgstr "ヘルプ(_H)"
-#: ../src/main_window.c:901 ../src/main_window.c:1771
-msgid ""
-"The orientation of one or more images has been modified, do you want to save "
-"the changes?"
-msgstr "一つ以上の画像の方向が修正されています。保存しますか?"
+#: ../src/main_window.c:300
+msgid "_Contents"
+msgstr "目次(_C)"
+
+#: ../src/main_window.c:302
+msgid "Display ristretto user manual"
+msgstr "Ristretto ユーザマニュアルを表示します。"
+
+#: ../src/main_window.c:305
+msgid "_About"
+msgstr "情報(_A)"
+
+#: ../src/main_window.c:307
+msgid "Display information about ristretto"
+msgstr "Ristretto についての情報を表示します。"
+
+#. Position Menu
+#: ../src/main_window.c:310
+msgid "_Position"
+msgstr "位置(_P)"
+
+#. Misc
+#: ../src/main_window.c:312
+msgid "Leave _Fullscreen"
+msgstr "元に戻す(_F)"
+
+#. Toggle visibility of the main file toolbar
+#: ../src/main_window.c:320
+msgid "Show _File Toolbar"
+msgstr "ファイルツールバー(_F)"
+
+#. Toggle visibility of the main navigation toolbar
+#: ../src/main_window.c:322
+msgid "Show _Navigation Toolbar"
+msgstr "ナビゲーションツールバー(_N)"
+
+#. Toggle visibility of the thumbnailbar
+#: ../src/main_window.c:324
+msgid "Show _Thumbnailbar"
+msgstr "サムネイルバー(_T)"
+
+#. Sort by Filename
+#: ../src/main_window.c:331
+msgid "sort by filename"
+msgstr "ファイル名順"
+
+#. Sort by Date
+#: ../src/main_window.c:333
+msgid "sort by date"
+msgstr "日付順"
+
+#: ../src/main_window.c:339
+msgid "Left"
+msgstr "左"
+
+#: ../src/main_window.c:340
+msgid "Right"
+msgstr "右"
+
+#: ../src/main_window.c:341
+msgid "Top"
+msgstr "上"
+
+#: ../src/main_window.c:342
+msgid "Bottom"
+msgstr "下"
+
+#: ../src/main_window.c:512 ../src/main_window.c:778
+msgid "Press open to select an image"
+msgstr "画像を選ぶには開くボタンを押してください。"
+
+#: ../src/main_window.c:765 ../src/main_window.c:770
+msgid "Empty"
+msgstr "空"
+
+#: ../src/main_window.c:1545
+msgid "Developer:"
+msgstr "開発者:"
+
+#: ../src/main_window.c:1555
+msgid "Ristretto is an imageviewer for the Xfce desktop environment."
+msgstr ""
+"Ristretto は Xfce デスクトップ環境向けの\n"
+"画像ビューアです。"
-#: ../src/main_window.c:1399
-msgid "Image viewer Preferences"
-msgstr "画像ビューア設定"
+#: ../src/main_window.c:1563
+msgid "translator-credits"
+msgstr "Masato Hashimoto <hashimo at xfce.org>"
-#: ../src/main_window.c:1417
+#: ../src/main_window.c:1878
+msgid "Open image"
+msgstr "画像を開く"
+
+#: ../src/main_window.c:1890
+msgid "Images"
+msgstr "画像"
+
+#: ../src/main_window.c:1895
+msgid ".jp(e)g"
+msgstr ".jp(e)g"
+
+#: ../src/main_window.c:1917 ../src/main_window.c:1940
+#: ../src/main_window.c:2099 ../src/main_window.c:2114
+msgid "Could not open file"
+msgstr "ファイルを開けませんでした"
+
+#: ../src/main_window.c:1992
+msgid "Open folder"
+msgstr "フォルダを開く"
+
+#: ../src/main_window.c:2137
+msgid "Save copy"
+msgstr "コピーを保存"
+
+#: ../src/main_window.c:2210
+#, c-format
+msgid "Are you sure you want to delete image '%s' from disk?"
+msgstr "画像 '%s' をドライブから削除してもよろしいですか?"
+
+#: ../src/preferences_dialog.c:230
msgid "Display"
msgstr "表示"
-#: ../src/main_window.c:1421
+#: ../src/preferences_dialog.c:235
+msgid "Background color"
+msgstr "背景色"
+
+#: ../src/preferences_dialog.c:239
+msgid "Override background color:"
+msgstr "背景色を変更する:"
+
+#: ../src/preferences_dialog.c:267
+msgid "Quality"
+msgstr "品質"
+
+#: ../src/preferences_dialog.c:271
+msgid "Maximum render quality:"
+msgstr "最大描画品質"
+
+#: ../src/preferences_dialog.c:274
+msgid "Show preview when loading image"
+msgstr "画像の読み込み時にプレビューを表示する"
+
+#: ../src/preferences_dialog.c:281
+msgid "Best"
+msgstr "最高"
+
+#: ../src/preferences_dialog.c:282
+msgid "High"
+msgstr "高"
+
+#: ../src/preferences_dialog.c:283
+msgid "Medium"
+msgstr "中"
+
+#: ../src/preferences_dialog.c:284
+msgid "Low"
+msgstr "低"
+
+#: ../src/preferences_dialog.c:324
msgid "Slideshow"
msgstr "スライドショー"
-#: ../src/main_window.c:1425
+#: ../src/preferences_dialog.c:328
+msgid "Timeout"
+msgstr "タイムアウト"
+
+# In ja translation, It's unnecessary to break the line.
+#: ../src/preferences_dialog.c:331
+msgid ""
+"The time period an individual image is displayed during a slideshow\n"
+"(in seconds)"
+msgstr "スライドショー中に各画像を表示する時間 (秒)"
+
+#: ../src/preferences_dialog.c:346
+msgid "Thumbnails"
+msgstr "サムネイル"
+
+#: ../src/preferences_dialog.c:349
+msgid ""
+"The thumbnailbar can be automatically hidden \n"
+"when the image-viewer is fullscreen."
+msgstr ""
+"イメージビューアが全画面化されたときにサムネイルバーを自動的に隠すことができ"
+"ます。"
+
+#: ../src/preferences_dialog.c:351
+msgid "Hide thumbnailbar when fullscreen"
+msgstr "全画面時サムネイルを表示しない"
+
+#: ../src/preferences_dialog.c:364
+msgid "Control"
+msgstr "制御"
+
+#: ../src/preferences_dialog.c:368
+msgid "Scrollwheel"
+msgstr "スクロールホイール"
+
+#: ../src/preferences_dialog.c:371
+msgid "No action"
+msgstr "なにもしない"
+
+#: ../src/preferences_dialog.c:375
+msgid "Zoom in and out"
+msgstr "拡大/縮小"
+
+#: ../src/preferences_dialog.c:378
+msgid "Switch images"
+msgstr "画像の切り替え"
+
+#: ../src/preferences_dialog.c:412
msgid "Behaviour"
msgstr "振る舞い"
-#: ../src/main_window.c:1430
+#: ../src/preferences_dialog.c:417
msgid "Scaling"
msgstr "サイズ変更"
-#: ../src/main_window.c:1432
+#: ../src/preferences_dialog.c:422
msgid "Don't scale over 100% when maximizing the window."
msgstr "ウィンドウを最大化したときにサイズを 100% より大きくしない"
-#: ../src/main_window.c:1442
-msgid "Background Color"
-msgstr "背景色"
+#: ../src/preferences_dialog.c:426
+msgid "Startup"
+msgstr "起動"
+
+#: ../src/preferences_dialog.c:428
+msgid "Resize window to image on startup"
+msgstr "起動時にウィンドウサイズを画像に合わせて変更する"
-#: ../src/main_window.c:1444
-msgid "_Override Background Color:"
-msgstr "背景色を変更する(_O):"
+#: ../src/preferences_dialog.c:432
+msgid "Open entire folder on startup"
+msgstr "起動時にフォルダ全体を開く"
-#: ../src/main_window.c:1467
-msgid "Image Cache"
+#: ../src/preferences_dialog.c:437
+#, fuzzy
+msgid "Wrap around images"
+msgstr "画像を開きます"
+
+#: ../src/preferences_dialog.c:453
+msgid "Memory"
+msgstr "メモリ"
+
+#: ../src/preferences_dialog.c:459
+msgid "Image cache"
msgstr "画像キャッシュ"
-#: ../src/main_window.c:1470
-msgid "Cache size:"
-msgstr "キャッシュサイズ:"
+#: ../src/preferences_dialog.c:465
+msgid "Cache size"
+msgstr "キャッシュサイズ"
-#: ../src/main_window.c:1471
+#: ../src/preferences_dialog.c:466
msgid "MB"
msgstr "MB"
-#: ../src/main_window.c:1473
-msgid "_Preload images (GUI more responsive but more CPU-intensive)"
-msgstr ""
-"画像の先行読み込み(_P)\n"
-"(GUI の反応が向上しますが、CPU 負荷も上昇します)"
+#: ../src/preferences_dialog.c:469
+msgid "Enable cache"
+msgstr "キャッシュを有効にする"
-#: ../src/main_window.c:1491
-msgid "Timeout"
-msgstr "タイムアウト"
-
-#: ../src/main_window.c:1494
-msgid "Thumbnails"
-msgstr "サムネイル"
+#: ../src/preferences_dialog.c:474
+msgid "Preload images"
+msgstr "画像の再読み込み"
-# In ja translation, It's unnecessary to break the line.
-#: ../src/main_window.c:1499
-msgid ""
-"The time period an individual image is displayed during a slideshow\n"
-"(in seconds)"
-msgstr "スライドショー中に各画像を表示する時間 (秒)"
+#: ../src/preferences_dialog.c:544
+msgid "Preferences"
+msgstr "設定"
-#: ../src/main_window.c:1502
-msgid "Hide the thumbnails bar during slideshow"
-msgstr "スライドショー中はサムネイルを非表示にできます"
+#: ../src/xfce_wallpaper_manager.c:84
+#, fuzzy
+msgid "Set as wallpaper"
+msgstr "壁紙に設定(_S)"
-#: ../src/main_window.c:1503
-msgid "_Hide thumbnails"
-msgstr "サムネイルを表示しない(_H)"
+#: ../src/xfce_wallpaper_manager.c:86
+msgid "Style:"
+msgstr ""
-#: ../src/main_window.c:1561
-msgid "Developer:"
-msgstr "開発者:"
+#: ../src/xfce_wallpaper_manager.c:88
+msgid "Monitor:"
+msgstr ""
-#: ../src/main_window.c:1571
-msgid ""
-"Ristretto is a fast and lightweight picture-viewer for the Xfce desktop "
-"environment."
+#: ../src/xfce_wallpaper_manager.c:90
+msgid "Brightness:"
msgstr ""
-"Ristretto は Xfce デスクトップ環境向けの\n"
-"軽快で軽量な画像ビューアです。"
-#: ../src/main_window.c:1579
-msgid "translator-credits"
-msgstr "Masato Hashimoto <hashimo at xfce.org>"
+#: ../src/xfce_wallpaper_manager.c:91
+#, fuzzy
+msgid "Saturation:"
+msgstr "回転(_R)"
-#: ../src/main_window.c:1605
-msgid "Open image"
-msgstr "画像を開く"
+#: ../src/xfce_wallpaper_manager.c:123
+#, fuzzy
+msgid "Auto"
+msgstr "情報(_A)"
-#: ../src/main_window.c:1623
-msgid "Could not open file"
-msgstr "ファイルを開けませんでした"
+#: ../src/xfce_wallpaper_manager.c:124
+msgid "Centered"
+msgstr ""
-#: ../src/main_window.c:1645
-msgid "Open folder"
-msgstr "フォルダを開く"
+#: ../src/xfce_wallpaper_manager.c:125
+#, fuzzy
+msgid "Tiled"
+msgstr "ファイル(_F)"
-#: ../src/main_window.c:1720
-msgid ""
-"Are you sure you want to clear ristretto's list of recently opened documents?"
-msgstr "ristretto の最近開いたファイルリストをクリアしてよろしいですか?"
+#: ../src/xfce_wallpaper_manager.c:126
+msgid "Stretched"
+msgstr ""
-#: ../src/save_dialog.c:82
-msgid "Filename"
-msgstr "ファイル名"
+#: ../src/xfce_wallpaper_manager.c:127
+#, fuzzy
+msgid "Scaled"
+msgstr "サイズ変更"
-#: ../src/save_dialog.c:90
-msgid "Save"
-msgstr "保存"
+#: ../src/xfce_wallpaper_manager.c:128
+msgid "Zoomed"
+msgstr ""
-#: ../src/thumbnail_bar.c:185
+#: ../src/thumbnail_bar.c:187
msgid "Spacing"
msgstr "間隔"
-#: ../src/thumbnail_bar.c:186
+#: ../src/thumbnail_bar.c:188
msgid "The amount of space between the thumbnails"
msgstr "サムネイル間の間隔"
-#: ../src/thumbnail_bar.c:192
-msgid "Border Width"
+#: ../src/thumbnail_bar.c:194
+msgid "border width"
msgstr "境界線幅"
-#: ../src/thumbnail_bar.c:193
-msgid "The border width of the thumbnail-bar"
+#: ../src/thumbnail_bar.c:195
+msgid "the border width of the thumbnail-bar"
+msgstr "サムネイルバーの境界線幅"
+
+#: ../src/thumbnail_bar.c:201
+msgid "filmstrip width"
+msgstr ""
+
+#: ../src/thumbnail_bar.c:202
+#, fuzzy
+msgid "the width of the thumbnail-bar film-strip"
msgstr "サムネイルバーの境界線幅"
#: ../ristretto.desktop.in.h:1
@@ -269,9 +543,51 @@ msgid "Image Viewer"
msgstr "画像ビューア"
#: ../ristretto.desktop.in.h:2
-msgid "Ristretto"
-msgstr "Ristretto"
+msgid "Look at your photo's easily"
+msgstr "簡単に写真を見ます。"
#: ../ristretto.desktop.in.h:3
-msgid "Xfce Image viewer"
-msgstr "Xfce 画像ビューア"
+msgid "Ristretto Photo Viewer"
+msgstr "Ristretto フォトビューア"
+
+#~ msgid "_Thumbnail Bar"
+#~ msgstr "サムネイルバー(_T)"
+
+#~ msgid "Opening file(s)..."
+#~ msgstr "ファイルを開いています..."
+
+#~ msgid "_Recently used"
+#~ msgstr "最近開いたファイル(_R)"
+
+#~ msgid "No applications available"
+#~ msgstr "使用可能なアプリケーションはありません"
+
+#~ msgid "Thumbnail _Viewer"
+#~ msgstr "サムネイルビューア(_V)"
+
+#~ msgid "Show _Horizontally"
+#~ msgstr "横に表示(_H)"
+
+#~ msgid "Show _Vertically"
+#~ msgstr "縦に表示(_V)"
+
+#~ msgid "H_ide"
+#~ msgstr "表示しない(_I)"
+
+#~ msgid ""
+#~ "One or more images have been modified, do you want to save the changes?"
+#~ msgstr "一つ以上の画像が修正されています。保存しますか?"
+
+#~ msgid "_Preload images (GUI more responsive but more CPU-intensive)"
+#~ msgstr ""
+#~ "画像の先行読み込み(_P)\n"
+#~ "(GUI の反応が向上しますが、CPU 負荷も上昇します)"
+
+#~ msgid "Hide the thumbnails bar during slideshow"
+#~ msgstr "スライドショー中はサムネイルを非表示にできます"
+
+#~ msgid "Xfce Image viewer"
+#~ msgstr "Xfce 画像ビューア"
+
+#~ msgid "Filename"
+#~ msgstr "ファイル名"
diff --git a/po/lv.po b/po/lv.po
index 13170d9..cc8e862 100644
--- a/po/lv.po
+++ b/po/lv.po
@@ -1,35 +1,36 @@
# Latvian translations for ristretto package.
# opyright (C) 2007 THE ristretto
# This file is distributed under the same license as the ristretto package.
-# Rihards Prieditis <rprieditis at inbox.lv>, 2007.
#
-#: ../src/main.c:231
+# Rihards Prieditis <rprieditis at inbox.lv>, 2007.
+# Rihards Prieditis <rprieditis at gmail.com>, 2009.
msgid ""
msgstr ""
"Project-Id-Version: ristretto 0.0.1-svn-r02537\n"
"Report-Msgid-Bugs-To: xfce-i18n at xfce.org\n"
-"POT-Creation-Date: 2008-11-14 13:24+0100\n"
-"PO-Revision-Date: 2007-11-11 20:37+0300\n"
-"Last-Translator: Rihards Priedītis <rprieditis at inbox.lv>\n"
-"Language-Team: Latvian <rprieditis at inbox.lv>\n"
+"POT-Creation-Date: 2010-01-15 00:57+0100\n"
+"PO-Revision-Date: 2010-03-25 21:52+0100\n"
+"Last-Translator: Rihards Priedītis <rprieditis at gmail.com>\n"
+"Language-Team: Latvian <translation-team-lv at lists.sourceforge.net>\n"
"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=utf-8\n"
+"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Lokalize 1.0\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);\n"
-#: ../src/main.c:61
+#: ../src/main.c:59
msgid "Version information"
msgstr "Versijas informācija"
-#: ../src/main.c:65
+#: ../src/main.c:63
msgid "Start in fullscreen mode"
-msgstr ""
+msgstr "Sākt pilnekrāna režīmā"
-#: ../src/main.c:69
-#, fuzzy
+#: ../src/main.c:67
msgid "Start a slideshow"
-msgstr "Slīdrāde"
+msgstr "Sākt slīdrādi"
-#: ../src/main.c:235
+#: ../src/main.c:91
#, c-format
msgid ""
"%s: %s\n"
@@ -38,244 +39,548 @@ msgstr ""
"%s: %s\n"
"Mēģiniet %s --help , lai redzētu pilnu pieejamo komandu sarakstu.\n"
-#: ../src/main.c:448 ../src/main_window.c:1598 ../src/main_window.c:1638
-#: ../src/main_window.c:1675
-#, fuzzy
-msgid "Opening file(s)..."
-msgstr "Atvert ar..."
-
-#. Create 'File' menu
-#: ../src/main_window.c:340
+#. File Menu
+#: ../src/main_window.c:262
msgid "_File"
msgstr "_Fails"
-#: ../src/main_window.c:347
-msgid "O_pen Folder"
-msgstr "A_tvērt Mapi"
+#: ../src/main_window.c:263
+msgid "_Open"
+msgstr "_Atvērt"
-#: ../src/main_window.c:348
-msgid "_Recently used"
-msgstr "_Nesenie"
+#: ../src/main_window.c:263
+msgid "Open an image"
+msgstr "Atvērt attēlu"
-#: ../src/main_window.c:353
-msgid "Close _all"
-msgstr ""
+#: ../src/main_window.c:264
+msgid "Open _Folder"
+msgstr "Atvērt _mapi"
+
+#: ../src/main_window.c:264
+msgid "Open a folder"
+msgstr "Atvērt mapi"
+
+#: ../src/main_window.c:265
+msgid "_Save copy"
+msgstr "_Saglabāt kopiju"
+
+#: ../src/main_window.c:265
+msgid "Save a copy of the image"
+msgstr "Saglabāt attēla kopiju"
+
+#: ../src/main_window.c:266
+msgid "_Print"
+msgstr "_Drukāt"
+
+#: ../src/main_window.c:266
+msgid "Print the image"
+msgstr "Drukāt attēlu"
+
+#: ../src/main_window.c:267
+msgid "_Close"
+msgstr "Ai_zvērt"
+
+#: ../src/main_window.c:267
+msgid "Close this image"
+msgstr "Aizvērt attēlu"
+
+#: ../src/main_window.c:268
+msgid "_Close All"
+msgstr "_Aizvērt visu"
-#. Create 'Edit' menu
-#: ../src/main_window.c:383
+#: ../src/main_window.c:268
+msgid "Close all images"
+msgstr "Aizvērt visus attēlus"
+
+#: ../src/main_window.c:269
+msgid "_Quit"
+msgstr "_Iziet"
+
+#: ../src/main_window.c:269
+msgid "Quit Ristretto"
+msgstr "Iziet no Ristretto"
+
+#. Edit Menu
+#: ../src/main_window.c:271
msgid "_Edit"
msgstr "_Rediģēt"
-#: ../src/main_window.c:388 ../src/main_window.c:659
-msgid "Open with..."
-msgstr "Atvert ar..."
+#: ../src/main_window.c:272
+msgid "_Open with..."
+msgstr "_Atvērt ar..."
+
+#: ../src/main_window.c:273
+msgid "_Sorting"
+msgstr "_Kārtot"
+
+#: ../src/main_window.c:274
+msgid "_Delete"
+msgstr "_Dzēst"
-#: ../src/main_window.c:396 ../src/main_window.c:670
-msgid "No applications available"
-msgstr "Nav pieejama neviena lietotne"
+#: ../src/main_window.c:275
+msgid "_Preferences"
+msgstr "_Uzstādījumi"
-#. Create 'View' menu
-#: ../src/main_window.c:405
+#. View Menu
+#: ../src/main_window.c:277
msgid "_View"
msgstr "_Skats"
-#: ../src/main_window.c:412
-#, fuzzy
-msgid "Show _Toolbar"
-msgstr "Rādīt Rīkjoslu"
+#: ../src/main_window.c:278
+msgid "_Fullscreen"
+msgstr "_Pilnekrāns"
-#: ../src/main_window.c:413
-#, fuzzy
-msgid "Thumbnail _Viewer"
-msgstr "Sīktēlu Skatītājs"
+#: ../src/main_window.c:279
+msgid "_Leave Fullscreen"
+msgstr "_Iziet no pilnekrāna"
+
+#: ../src/main_window.c:280
+msgid "_Set as Wallpaper"
+msgstr "_Uzstādīt, kā darbavirsmas fonu"
-#: ../src/main_window.c:417
+#. Zoom submenu
+#: ../src/main_window.c:282
msgid "_Zooming"
-msgstr ""
+msgstr "_Mērogot"
-#: ../src/main_window.c:418
-msgid "_Rotate"
-msgstr ""
+#: ../src/main_window.c:283
+msgid "Zoom _In"
+msgstr "Tuv_ināt"
-#: ../src/main_window.c:425
-msgid "_Set as wallpaper"
-msgstr ""
+#: ../src/main_window.c:284
+msgid "Zoom _Out"
+msgstr "A_ttālināt"
-#: ../src/main_window.c:476
-#, fuzzy
-msgid "Show _Horizontally"
-msgstr "Rādit Horizontāli"
+#: ../src/main_window.c:285
+msgid "Zoom _Fit"
+msgstr "I_etilpināt"
-#: ../src/main_window.c:480
-#, fuzzy
-msgid "Show _Vertically"
-msgstr "Rādit Vertikāli"
+#: ../src/main_window.c:286
+msgid "_Normal Size"
+msgstr "_Parastais izmērs"
-#: ../src/main_window.c:484
-#, fuzzy
-msgid "H_ide"
-msgstr "Slēpt"
+#. Rotation submenu
+#: ../src/main_window.c:288
+msgid "_Rotation"
+msgstr "_Rotācija"
-#: ../src/main_window.c:521
+#: ../src/main_window.c:289
msgid "Rotate _Right"
-msgstr ""
+msgstr "Rotēt pa _labi"
-#: ../src/main_window.c:522
+#: ../src/main_window.c:290
msgid "Rotate _Left"
-msgstr ""
+msgstr "Rotēt pa _kreisi"
-#. Create 'Go' menu
-#: ../src/main_window.c:543
+#. Go Menu
+#: ../src/main_window.c:292
msgid "_Go"
msgstr "_Doties"
-#. Create 'Help' menu
-#: ../src/main_window.c:574
+#: ../src/main_window.c:293
+msgid "_Forward"
+msgstr "_Uz priekšu"
+
+#: ../src/main_window.c:294
+msgid "_Back"
+msgstr "_Atpakaļ"
+
+#: ../src/main_window.c:295
+msgid "_First"
+msgstr "_Pirmais"
+
+#: ../src/main_window.c:296
+msgid "_Last"
+msgstr "_Pēdējais"
+
+#. Help Menu
+#: ../src/main_window.c:298
msgid "_Help"
msgstr "_Palīdzība"
-#: ../src/main_window.c:906
-msgid "One or more images have been modified, do you want to save the changes?"
-msgstr ""
+#: ../src/main_window.c:300
+msgid "_Contents"
+msgstr "_Saturs"
+
+#: ../src/main_window.c:302
+msgid "Display ristretto user manual"
+msgstr "Attēlot ristretto lietošanas pamācību"
+
+#: ../src/main_window.c:305
+msgid "_About"
+msgstr "_Par"
+
+#: ../src/main_window.c:307
+msgid "Display information about ristretto"
+msgstr "Attēlot informāciju par ristretto"
+
+#. Position Menu
+#: ../src/main_window.c:310
+msgid "_Position"
+msgstr "_Pozīcija"
+
+#. Misc
+#: ../src/main_window.c:312
+msgid "Leave _Fullscreen"
+msgstr "Iziet no _pilnekrāna"
+
+#. Toggle visibility of the main file toolbar
+#: ../src/main_window.c:320
+msgid "Show _File Toolbar"
+msgstr "Rādīt _failu rīkjoslu"
+
+#. Toggle visibility of the main navigation toolbar
+#: ../src/main_window.c:322
+msgid "Show _Navigation Toolbar"
+msgstr "Rādīt _navigācijas rīkjoslu"
+
+#. Toggle visibility of the thumbnailbar
+#: ../src/main_window.c:324
+msgid "Show _Thumbnailbar"
+msgstr "Rādīt _sīktēljoslu"
+
+#. Sort by Filename
+#: ../src/main_window.c:331
+msgid "sort by filename"
+msgstr "kārtot pēc faila nosaukuma"
+
+#. Sort by Date
+#: ../src/main_window.c:333
+msgid "sort by date"
+msgstr "kārtot pēc datuma"
+
+#: ../src/main_window.c:339
+msgid "Left"
+msgstr "Pa kreisi"
+
+#: ../src/main_window.c:340
+msgid "Right"
+msgstr "Pa labi"
+
+#: ../src/main_window.c:341
+msgid "Top"
+msgstr "Augšā"
+
+#: ../src/main_window.c:342
+msgid "Bottom"
+msgstr "Apakšā"
+
+#: ../src/main_window.c:512
+#: ../src/main_window.c:778
+msgid "Press open to select an image"
+msgstr "Nospiediet atvērt, lai atlasītu attēlu"
+
+#: ../src/main_window.c:765
+#: ../src/main_window.c:770
+msgid "Empty"
+msgstr "Tukšs"
+
+#: ../src/main_window.c:1545
+msgid "Developer:"
+msgstr "Izstrādātājs:"
+
+#: ../src/main_window.c:1555
+msgid "Ristretto is an imageviewer for the Xfce desktop environment."
+msgstr "Ristretto ir attēlu skatītājs priekš Xfce darbvirsmas vides."
+
+#: ../src/main_window.c:1563
+msgid "translator-credits"
+msgstr "Rihards Priedītis"
+
+#: ../src/main_window.c:1878
+msgid "Open image"
+msgstr "Atvērt attēlu"
+
+#: ../src/main_window.c:1890
+msgid "Images"
+msgstr "Attēli"
+
+#: ../src/main_window.c:1895
+msgid ".jp(e)g"
+msgstr ".jp(e)g"
-#: ../src/main_window.c:1394
-msgid "Image viewer Preferences"
-msgstr "Attēlu skatītāja uzstādījumi"
+#: ../src/main_window.c:1917
+#: ../src/main_window.c:1940
+#: ../src/main_window.c:2099
+#: ../src/main_window.c:2114
+msgid "Could not open file"
+msgstr "Nevarēju atvērt failu"
+
+#: ../src/main_window.c:1992
+msgid "Open folder"
+msgstr "Atvērt mapi"
-#: ../src/main_window.c:1412
+#: ../src/main_window.c:2137
+msgid "Save copy"
+msgstr "Saglabāt kopiju"
+
+#: ../src/main_window.c:2210
+#, c-format
+msgid "Are you sure you want to delete image '%s' from disk?"
+msgstr "Esat drošs, ka vēlaties dzēst attēlu \"%s\" no diska?"
+
+#: ../src/preferences_dialog.c:230
msgid "Display"
-msgstr ""
+msgstr "Rādīt"
-#: ../src/main_window.c:1416
-msgid "Slideshow"
-msgstr "Slīdrāde"
+#: ../src/preferences_dialog.c:235
+msgid "Background color"
+msgstr "Fona krāsa"
-#: ../src/main_window.c:1420
-msgid "Behaviour"
-msgstr ""
+#: ../src/preferences_dialog.c:239
+msgid "Override background color:"
+msgstr "Pārstatīt fona krāsu:"
-#: ../src/main_window.c:1425
-msgid "Scaling"
-msgstr ""
+#: ../src/preferences_dialog.c:267
+msgid "Quality"
+msgstr "Kvalitāte"
-#: ../src/main_window.c:1427
-msgid "Don't scale over 100% when maximizing the window."
-msgstr ""
+#: ../src/preferences_dialog.c:271
+msgid "Maximum render quality:"
+msgstr "Maksimālā vizualizācijas kvalitāte:"
-#: ../src/main_window.c:1437
-msgid "Background Color"
-msgstr ""
+#: ../src/preferences_dialog.c:274
+msgid "Show preview when loading image"
+msgstr "Rādīt priekšskatījumu, kad ielādē attēlu"
-#: ../src/main_window.c:1439
-msgid "_Override Background Color:"
-msgstr ""
+#: ../src/preferences_dialog.c:281
+msgid "Best"
+msgstr "Labākā"
-#: ../src/main_window.c:1462
-#, fuzzy
-msgid "Image Cache"
-msgstr "Attēlu Skatītājs"
+#: ../src/preferences_dialog.c:282
+msgid "High"
+msgstr "Augstākā"
-#: ../src/main_window.c:1465
-msgid "Cache size:"
-msgstr ""
+#: ../src/preferences_dialog.c:283
+msgid "Medium"
+msgstr "Vidējā"
-#: ../src/main_window.c:1466
-msgid "MB"
-msgstr ""
+#: ../src/preferences_dialog.c:284
+msgid "Low"
+msgstr "Zema"
-#: ../src/main_window.c:1468
-msgid "_Preload images (GUI more responsive but more CPU-intensive)"
-msgstr ""
+#: ../src/preferences_dialog.c:324
+msgid "Slideshow"
+msgstr "Slīdrāde"
-#: ../src/main_window.c:1486
+#: ../src/preferences_dialog.c:328
msgid "Timeout"
msgstr "Noildze"
-#: ../src/main_window.c:1489
-#, fuzzy
-msgid "Thumbnails"
-msgstr "Sīktēlu Skatītājs"
-
-#: ../src/main_window.c:1494
-#, fuzzy
+#: ../src/preferences_dialog.c:331
msgid ""
"The time period an individual image is displayed during a slideshow\n"
"(in seconds)"
msgstr ""
-"Noildze attēla rādīšanai slīdrādē\n"
+"Noildze viena attēla rādīšanai slīdrādē\n"
"(sekundēs)"
-#: ../src/main_window.c:1497
-msgid "Hide the thumbnails bar during slideshow"
-msgstr ""
+#: ../src/preferences_dialog.c:346
+msgid "Thumbnails"
+msgstr "Sīktēli"
-#: ../src/main_window.c:1498
-msgid "_Hide thumbnails"
+#: ../src/preferences_dialog.c:349
+msgid ""
+"The thumbnailbar can be automatically hidden \n"
+"when the image-viewer is fullscreen."
msgstr ""
+"Siktēljosla var automātiski tikt paslēpta\n"
+"kad attēlu skatītājs ir pilnekrāna režīmā."
-#: ../src/main_window.c:1556
-msgid "Developer:"
-msgstr "Izstrādātājs:"
+#: ../src/preferences_dialog.c:351
+msgid "Hide thumbnailbar when fullscreen"
+msgstr "Slēpt sīktēljoslu pilnekrana režīmā"
-#: ../src/main_window.c:1566
-msgid ""
-"Ristretto is a fast and lightweight picture-viewer for the Xfce desktop "
-"environment."
-msgstr "Ristretto ir ātrs un viegls attēlu skatītājs Xfce Videi."
+#: ../src/preferences_dialog.c:364
+msgid "Control"
+msgstr "Kontroļi"
-#: ../src/main_window.c:1574
-msgid "translator-credits"
-msgstr "Tūlkotāji:"
+#: ../src/preferences_dialog.c:368
+msgid "Scrollwheel"
+msgstr "Ritināšana"
-#: ../src/main_window.c:1600
-msgid "Open image"
-msgstr "Atvērt attēlu"
+#: ../src/preferences_dialog.c:371
+msgid "No action"
+msgstr "Nav darbības"
-#: ../src/main_window.c:1618
-msgid "Could not open file"
-msgstr "Nevarēju atvērt failu"
+#: ../src/preferences_dialog.c:375
+msgid "Zoom in and out"
+msgstr "Mērogot"
-#: ../src/main_window.c:1640
-msgid "Open folder"
-msgstr "Atvērt mapi"
+#: ../src/preferences_dialog.c:378
+msgid "Switch images"
+msgstr "Mainīt attēlus"
-#: ../src/main_window.c:1715
-msgid ""
-"Are you sure you want to clear ristretto's list of recently opened documents?"
-msgstr ""
-"Esat drošs, ka vēlaties notīrīt ristretto neseno atvērto dokumentu sarakstu?"
+#: ../src/preferences_dialog.c:412
+msgid "Behaviour"
+msgstr "Uzvedība"
+
+#: ../src/preferences_dialog.c:417
+msgid "Scaling"
+msgstr "Mērogošana"
+
+#: ../src/preferences_dialog.c:422
+msgid "Don't scale over 100% when maximizing the window."
+msgstr "Ne mērogot vairāk par 100%, kad maksimizē logu."
+
+#: ../src/preferences_dialog.c:426
+msgid "Startup"
+msgstr "Palaišanās"
+
+#: ../src/preferences_dialog.c:428
+msgid "Resize window to image on startup"
+msgstr "Mainīt loga izmēru uz attēla palaišanos"
+
+#: ../src/preferences_dialog.c:432
+msgid "Open entire folder on startup"
+msgstr "Atvērt visu mapi uz palaišanos"
+
+#: ../src/preferences_dialog.c:437
+msgid "Wrap around images"
+msgstr "Aplauzt gar attēliem"
+
+#: ../src/preferences_dialog.c:453
+msgid "Memory"
+msgstr "Atmiņa"
+
+#: ../src/preferences_dialog.c:459
+msgid "Image cache"
+msgstr "Attēlu kešs"
-#: ../src/thumbnail_bar.c:185
+#: ../src/preferences_dialog.c:465
+msgid "Cache size"
+msgstr "Keša izmērs"
+
+#: ../src/preferences_dialog.c:466
+msgid "MB"
+msgstr "MB"
+
+#: ../src/preferences_dialog.c:469
+msgid "Enable cache"
+msgstr "Ieslēgt kešu"
+
+#: ../src/preferences_dialog.c:474
+msgid "Preload images"
+msgstr "Pirmsielādes attēli"
+
+#: ../src/preferences_dialog.c:544
+msgid "Preferences"
+msgstr "Uzstādījumi"
+
+#: ../src/xfce_wallpaper_manager.c:84
+msgid "Set as wallpaper"
+msgstr "Uzstādīt, kā darbavirsmas fonu"
+
+#: ../src/xfce_wallpaper_manager.c:86
+msgid "Style:"
+msgstr "Stils:"
+
+#: ../src/xfce_wallpaper_manager.c:88
+msgid "Monitor:"
+msgstr "Monitors:"
+
+#: ../src/xfce_wallpaper_manager.c:90
+msgid "Brightness:"
+msgstr "Spilgtums:"
+
+#: ../src/xfce_wallpaper_manager.c:91
+msgid "Saturation:"
+msgstr "Piesātinājums:"
+
+#: ../src/xfce_wallpaper_manager.c:123
+msgid "Auto"
+msgstr "Automātiski"
+
+#: ../src/xfce_wallpaper_manager.c:124
+msgid "Centered"
+msgstr "Centrēts"
+
+#: ../src/xfce_wallpaper_manager.c:125
+msgid "Tiled"
+msgstr "Sakrauti"
+
+#: ../src/xfce_wallpaper_manager.c:126
+msgid "Stretched"
+msgstr "Izstiepts"
+
+#: ../src/xfce_wallpaper_manager.c:127
+msgid "Scaled"
+msgstr "Mērogots"
+
+#: ../src/xfce_wallpaper_manager.c:128
+msgid "Zoomed"
+msgstr "Pietuvināts"
+
+#: ../src/thumbnail_bar.c:187
msgid "Spacing"
-msgstr ""
+msgstr "Atkāpes"
-#: ../src/thumbnail_bar.c:186
+#: ../src/thumbnail_bar.c:188
msgid "The amount of space between the thumbnails"
-msgstr ""
+msgstr "Atstarpe starp sīktēliem"
-#: ../src/thumbnail_bar.c:192
-msgid "Border Width"
-msgstr ""
+#: ../src/thumbnail_bar.c:194
+msgid "border width"
+msgstr "robežas platums"
-#: ../src/thumbnail_bar.c:193
-msgid "The border width of the thumbnail-bar"
-msgstr ""
+#: ../src/thumbnail_bar.c:195
+msgid "the border width of the thumbnail-bar"
+msgstr "sīktēlu-joslas film-rindas robežas platums"
+
+#: ../src/thumbnail_bar.c:201
+msgid "filmstrip width"
+msgstr "filmu rindas platums"
+
+#: ../src/thumbnail_bar.c:202
+msgid "the width of the thumbnail-bar film-strip"
+msgstr "sīktēlu-joslas film-rindas platums"
#: ../ristretto.desktop.in.h:1
msgid "Image Viewer"
msgstr "Attēlu Skatītājs"
#: ../ristretto.desktop.in.h:2
-msgid "Ristretto"
-msgstr ""
+msgid "Look at your photo's easily"
+msgstr "Apskaties savas fotogrāfijas viegli"
#: ../ristretto.desktop.in.h:3
-msgid "Xfce Image viewer"
-msgstr "Xfce Attēlu Skatītājs"
+msgid "Ristretto Photo Viewer"
+msgstr "Ristretto attēlu skatītājs"
+
+#~ msgid "Ristretto"
+#~ msgstr "Ristretto"
+
+#, fuzzy
+#~ msgid "_Thumbnail Bar"
+#~ msgstr "Sīktēlu Skatītājs"
+
+#, fuzzy
+#~ msgid "Opening file(s)..."
+#~ msgstr "Atvert ar..."
+#~ msgid "_Recently used"
+#~ msgstr "_Nesenie"
+#~ msgid "No applications available"
+#~ msgstr "Nav pieejama neviena lietotne"
+#, fuzzy
+#~ msgid "Thumbnail _Viewer"
+#~ msgstr "Sīktēlu Skatītājs"
+
+#, fuzzy
+#~ msgid "Show _Horizontally"
+#~ msgstr "Rādit Horizontāli"
+
+#, fuzzy
+#~ msgid "Show _Vertically"
+#~ msgstr "Rādit Vertikāli"
+
+#, fuzzy
+#~ msgid "H_ide"
+#~ msgstr "Slēpt"
+#~ msgid "Xfce Image viewer"
+#~ msgstr "Xfce Attēlu Skatītājs"
#~ msgid "Preload"
#~ msgstr "Pirmsielāde"
-
#~ msgid ""
#~ "Preload images during slideshow\n"
#~ "(uses more memory)"
@@ -283,8 +588,3 @@ msgstr "Xfce Attēlu Skatītājs"
#~ "Ielādēt attēlus slīdrāde laikā\n"
#~ "(aizņem vairāk atmiņas)"
-#~ msgid "_Preload images"
-#~ msgstr "_Pirmsielādes attēli"
-
-#~ msgid "Ristretto Image Viewer"
-#~ msgstr "Ristretto Attēlu Skatītājs"
diff --git a/po/nb.po b/po/nb.po
index 33b46bc..ec73052 100644
--- a/po/nb.po
+++ b/po/nb.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: ristretto\n"
"Report-Msgid-Bugs-To: xfce-i18n at xfce.org\n"
-"POT-Creation-Date: 2009-01-27 23:51+0100\n"
+"POT-Creation-Date: 2010-01-15 00:57+0100\n"
"PO-Revision-Date: 2007-08-29 21:12+0200\n"
"Last-Translator: Terje Uriansrud <terje at uriansrud.net>\n"
"Language-Team: Norwegian Bokmal\n"
@@ -17,19 +17,19 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: ../src/main.c:57
+#: ../src/main.c:59
msgid "Version information"
msgstr "Versjonsinformasjon"
-#: ../src/main.c:61
+#: ../src/main.c:63
msgid "Start in fullscreen mode"
msgstr "Start i fullskjermmodus"
-#: ../src/main.c:65
+#: ../src/main.c:67
msgid "Start a slideshow"
msgstr "Start lysbildefremvisning"
-#: ../src/main.c:232
+#: ../src/main.c:91
#, c-format
msgid ""
"%s: %s\n"
@@ -38,232 +38,531 @@ msgstr ""
"%s: %s\n"
"Prøv %s --help for full liste over tilgjengelige kommandolinje opsjoner.\n"
-#: ../src/main.c:445 ../src/main_window.c:1603 ../src/main_window.c:1643
-#: ../src/main_window.c:1680
-msgid "Opening file(s)..."
-msgstr "Åpne fil(er)..."
-
-#. Create 'File' menu
-#: ../src/main_window.c:336
+#. File Menu
+#: ../src/main_window.c:262
msgid "_File"
msgstr "_Fil"
-#: ../src/main_window.c:343
-msgid "O_pen Folder"
+#: ../src/main_window.c:263
+msgid "_Open"
+msgstr ""
+
+#: ../src/main_window.c:263
+#, fuzzy
+msgid "Open an image"
+msgstr "Åpne bilde"
+
+#: ../src/main_window.c:264
+#, fuzzy
+msgid "Open _Folder"
msgstr "Åp_ne mappe"
-#: ../src/main_window.c:344
-msgid "_Recently used"
-msgstr "Nylig _brukt"
+#: ../src/main_window.c:264
+#, fuzzy
+msgid "Open a folder"
+msgstr "Åpne mappe"
+
+#: ../src/main_window.c:265
+msgid "_Save copy"
+msgstr ""
-#: ../src/main_window.c:349
-msgid "Close _all"
+#: ../src/main_window.c:265
+msgid "Save a copy of the image"
+msgstr ""
+
+#: ../src/main_window.c:266
+msgid "_Print"
+msgstr ""
+
+#: ../src/main_window.c:266
+msgid "Print the image"
+msgstr ""
+
+#: ../src/main_window.c:267
+#, fuzzy
+msgid "_Close"
msgstr "Lukk _alle"
-#. Create 'Edit' menu
-#: ../src/main_window.c:379
+#: ../src/main_window.c:267
+msgid "Close this image"
+msgstr ""
+
+#: ../src/main_window.c:268
+#, fuzzy
+msgid "_Close All"
+msgstr "Lukk _alle"
+
+#: ../src/main_window.c:268
+#, fuzzy
+msgid "Close all images"
+msgstr "Lukk _alle"
+
+#: ../src/main_window.c:269
+#, fuzzy
+msgid "_Quit"
+msgstr "_Rediger"
+
+#: ../src/main_window.c:269
+#, fuzzy
+msgid "Quit Ristretto"
+msgstr "Ristretto"
+
+#. Edit Menu
+#: ../src/main_window.c:271
msgid "_Edit"
msgstr "_Rediger"
-#: ../src/main_window.c:384 ../src/main_window.c:652
-msgid "Open with..."
+#: ../src/main_window.c:272
+#, fuzzy
+msgid "_Open with..."
msgstr "Åpne med..."
-#: ../src/main_window.c:392 ../src/main_window.c:663
-msgid "No applications available"
-msgstr "Ingen programmer tilgjengelig"
+#: ../src/main_window.c:273
+#, fuzzy
+msgid "_Sorting"
+msgstr "_Skalere"
+
+#: ../src/main_window.c:274
+msgid "_Delete"
+msgstr ""
+
+#: ../src/main_window.c:275
+#, fuzzy
+msgid "_Preferences"
+msgstr "Bildefremviser innstillinger"
-#. Create 'View' menu
-#: ../src/main_window.c:401
+#. View Menu
+#: ../src/main_window.c:277
msgid "_View"
msgstr "_Vis"
-#: ../src/main_window.c:408
-msgid "Show _Toolbar"
-msgstr "Vis _verktøylinje"
+#: ../src/main_window.c:278
+msgid "_Fullscreen"
+msgstr ""
-#: ../src/main_window.c:409
-msgid "Thumbnail _Viewer"
-msgstr "Miniatyr_visning"
+#: ../src/main_window.c:279
+msgid "_Leave Fullscreen"
+msgstr ""
-#: ../src/main_window.c:413
+#: ../src/main_window.c:280
+#, fuzzy
+msgid "_Set as Wallpaper"
+msgstr "Bruk _som bakgrunnsbilde"
+
+#. Zoom submenu
+#: ../src/main_window.c:282
msgid "_Zooming"
msgstr "_Skalere"
-#: ../src/main_window.c:414
-msgid "_Rotate"
-msgstr "_Roter"
+#: ../src/main_window.c:283
+#, fuzzy
+msgid "Zoom _In"
+msgstr "_Skalere"
-#: ../src/main_window.c:421
-msgid "_Set as wallpaper"
-msgstr "Bruk _som bakgrunnsbilde"
+#: ../src/main_window.c:284
+msgid "Zoom _Out"
+msgstr ""
-#: ../src/main_window.c:469
-msgid "Show _Horizontally"
-msgstr "Vis _vannrett"
+#: ../src/main_window.c:285
+msgid "Zoom _Fit"
+msgstr ""
-#: ../src/main_window.c:473
-msgid "Show _Vertically"
-msgstr "Vis _loddrett"
+#: ../src/main_window.c:286
+msgid "_Normal Size"
+msgstr ""
-#: ../src/main_window.c:477
-msgid "H_ide"
-msgstr "_Skjul"
+#. Rotation submenu
+#: ../src/main_window.c:288
+#, fuzzy
+msgid "_Rotation"
+msgstr "_Roter"
-#: ../src/main_window.c:514
+#: ../src/main_window.c:289
msgid "Rotate _Right"
msgstr "Roter _høyre"
-#: ../src/main_window.c:515
+#: ../src/main_window.c:290
msgid "Rotate _Left"
msgstr "Roter _venstre"
-#. Create 'Go' menu
-#: ../src/main_window.c:536
+#. Go Menu
+#: ../src/main_window.c:292
msgid "_Go"
msgstr "_Gå"
-#. Create 'Help' menu
-#: ../src/main_window.c:567
+#: ../src/main_window.c:293
+msgid "_Forward"
+msgstr ""
+
+#: ../src/main_window.c:294
+msgid "_Back"
+msgstr ""
+
+#: ../src/main_window.c:295
+msgid "_First"
+msgstr ""
+
+#: ../src/main_window.c:296
+msgid "_Last"
+msgstr ""
+
+#. Help Menu
+#: ../src/main_window.c:298
msgid "_Help"
msgstr "_Hjelp"
-#: ../src/main_window.c:901 ../src/main_window.c:1771
-msgid ""
-"The orientation of one or more images has been modified, do you want to save "
-"the changes?"
+#: ../src/main_window.c:300
+msgid "_Contents"
msgstr ""
-"Orientering av et eller flere bilder er endret, vil du lagre endringene?"
-#: ../src/main_window.c:1399
-msgid "Image viewer Preferences"
-msgstr "Bildefremviser innstillinger"
-
-#: ../src/main_window.c:1417
-msgid "Display"
-msgstr "Skjerm"
+#: ../src/main_window.c:302
+msgid "Display ristretto user manual"
+msgstr ""
-#: ../src/main_window.c:1421
-msgid "Slideshow"
-msgstr "Lysbildefremvisning"
+#: ../src/main_window.c:305
+msgid "_About"
+msgstr ""
-#: ../src/main_window.c:1425
-msgid "Behaviour"
-msgstr "Oppførsel"
+#: ../src/main_window.c:307
+msgid "Display information about ristretto"
+msgstr ""
-#: ../src/main_window.c:1430
-msgid "Scaling"
-msgstr "Skalering"
+#. Position Menu
+#: ../src/main_window.c:310
+msgid "_Position"
+msgstr ""
-#: ../src/main_window.c:1432
-msgid "Don't scale over 100% when maximizing the window."
-msgstr "Ikkeskaler over 100% når vindu maksimeres"
+#. Misc
+#: ../src/main_window.c:312
+msgid "Leave _Fullscreen"
+msgstr ""
-#: ../src/main_window.c:1442
-msgid "Background Color"
-msgstr "Bakgrunnsfarge"
+#. Toggle visibility of the main file toolbar
+#: ../src/main_window.c:320
+#, fuzzy
+msgid "Show _File Toolbar"
+msgstr "Vis _verktøylinje"
-#: ../src/main_window.c:1444
-msgid "_Override Background Color:"
-msgstr "_Overstyr bakgrunnsfarge"
+#. Toggle visibility of the main navigation toolbar
+#: ../src/main_window.c:322
+#, fuzzy
+msgid "Show _Navigation Toolbar"
+msgstr "Vis _verktøylinje"
-#: ../src/main_window.c:1467
-msgid "Image Cache"
-msgstr "Bildehurtiglager"
+#. Toggle visibility of the thumbnailbar
+#: ../src/main_window.c:324
+#, fuzzy
+msgid "Show _Thumbnailbar"
+msgstr "Vis _verktøylinje"
-#: ../src/main_window.c:1470
-msgid "Cache size:"
-msgstr "Hurtiglager størrelse:"
+#. Sort by Filename
+#: ../src/main_window.c:331
+msgid "sort by filename"
+msgstr ""
-#: ../src/main_window.c:1471
-msgid "MB"
-msgstr "MB"
+#. Sort by Date
+#: ../src/main_window.c:333
+msgid "sort by date"
+msgstr ""
-#: ../src/main_window.c:1473
-msgid "_Preload images (GUI more responsive but more CPU-intensive)"
+#: ../src/main_window.c:339
+msgid "Left"
msgstr ""
-"_Forhåndlasting av bilder (programmet blir raskere men krever mer "
-"prosessorkraft)"
-#: ../src/main_window.c:1491
-msgid "Timeout"
-msgstr "Tidsgrense"
+#: ../src/main_window.c:340
+msgid "Right"
+msgstr ""
-#: ../src/main_window.c:1494
-msgid "Thumbnails"
-msgstr "Miniatyrbilder"
+#: ../src/main_window.c:341
+msgid "Top"
+msgstr ""
-#: ../src/main_window.c:1499
-msgid ""
-"The time period an individual image is displayed during a slideshow\n"
-"(in seconds)"
+#: ../src/main_window.c:342
+msgid "Bottom"
msgstr ""
-"Tidsperiode ett bilde vises under lysbildefremvisning\n"
-"(i sekunder)"
-#: ../src/main_window.c:1502
-msgid "Hide the thumbnails bar during slideshow"
-msgstr "Skjul miniatyrbilderaden under lysbildefremvisning"
+#: ../src/main_window.c:512 ../src/main_window.c:778
+msgid "Press open to select an image"
+msgstr ""
-#: ../src/main_window.c:1503
-msgid "_Hide thumbnails"
-msgstr "_Skjul miniatyrbilder"
+#: ../src/main_window.c:765 ../src/main_window.c:770
+msgid "Empty"
+msgstr ""
-#: ../src/main_window.c:1561
+#: ../src/main_window.c:1545
msgid "Developer:"
msgstr "Utvikler:"
-#: ../src/main_window.c:1571
-msgid ""
-"Ristretto is a fast and lightweight picture-viewer for the Xfce desktop "
-"environment."
+#: ../src/main_window.c:1555
+#, fuzzy
+msgid "Ristretto is an imageviewer for the Xfce desktop environment."
msgstr "Ristretto er en rask og lettvekts bildefremviser for Xfce skrivebordet"
-#: ../src/main_window.c:1579
+#: ../src/main_window.c:1563
msgid "translator-credits"
msgstr "Terje Uriansrud <terje at uriansrud.net>"
-#: ../src/main_window.c:1605
+#: ../src/main_window.c:1878
msgid "Open image"
msgstr "Åpne bilde"
-#: ../src/main_window.c:1623
+#: ../src/main_window.c:1890
+msgid "Images"
+msgstr ""
+
+#: ../src/main_window.c:1895
+msgid ".jp(e)g"
+msgstr ""
+
+#: ../src/main_window.c:1917 ../src/main_window.c:1940
+#: ../src/main_window.c:2099 ../src/main_window.c:2114
msgid "Could not open file"
msgstr "Klarte ikke åpne fil"
-#: ../src/main_window.c:1645
+#: ../src/main_window.c:1992
msgid "Open folder"
msgstr "Åpne mappe"
-#: ../src/main_window.c:1720
-msgid ""
-"Are you sure you want to clear ristretto's list of recently opened documents?"
+#: ../src/main_window.c:2137
+#, fuzzy
+msgid "Save copy"
+msgstr "Lagre"
+
+#: ../src/main_window.c:2210
+#, fuzzy, c-format
+msgid "Are you sure you want to delete image '%s' from disk?"
msgstr ""
"Er du sikker på at du vil tømme Ristretto's liste over nylig brukte "
"dokumenter?"
-#: ../src/save_dialog.c:82
-msgid "Filename"
-msgstr "Filnavn"
+#: ../src/preferences_dialog.c:230
+msgid "Display"
+msgstr "Skjerm"
-#: ../src/save_dialog.c:90
-msgid "Save"
-msgstr "Lagre"
+#: ../src/preferences_dialog.c:235
+#, fuzzy
+msgid "Background color"
+msgstr "Bakgrunnsfarge"
+
+#: ../src/preferences_dialog.c:239
+#, fuzzy
+msgid "Override background color:"
+msgstr "_Overstyr bakgrunnsfarge"
+
+#: ../src/preferences_dialog.c:267
+msgid "Quality"
+msgstr ""
+
+#: ../src/preferences_dialog.c:271
+msgid "Maximum render quality:"
+msgstr ""
+
+#: ../src/preferences_dialog.c:274
+msgid "Show preview when loading image"
+msgstr ""
+
+#: ../src/preferences_dialog.c:281
+msgid "Best"
+msgstr ""
+
+#: ../src/preferences_dialog.c:282
+msgid "High"
+msgstr ""
+
+#: ../src/preferences_dialog.c:283
+msgid "Medium"
+msgstr ""
+
+#: ../src/preferences_dialog.c:284
+msgid "Low"
+msgstr ""
+
+#: ../src/preferences_dialog.c:324
+msgid "Slideshow"
+msgstr "Lysbildefremvisning"
+
+#: ../src/preferences_dialog.c:328
+msgid "Timeout"
+msgstr "Tidsgrense"
+
+#: ../src/preferences_dialog.c:331
+msgid ""
+"The time period an individual image is displayed during a slideshow\n"
+"(in seconds)"
+msgstr ""
+"Tidsperiode ett bilde vises under lysbildefremvisning\n"
+"(i sekunder)"
+
+#: ../src/preferences_dialog.c:346
+#, fuzzy
+msgid "Thumbnails"
+msgstr "Miniatyrbilder"
+
+#: ../src/preferences_dialog.c:349
+msgid ""
+"The thumbnailbar can be automatically hidden \n"
+"when the image-viewer is fullscreen."
+msgstr ""
+
+#: ../src/preferences_dialog.c:351
+#, fuzzy
+msgid "Hide thumbnailbar when fullscreen"
+msgstr "_Skjul miniatyrbilder"
+
+#: ../src/preferences_dialog.c:364
+msgid "Control"
+msgstr ""
+
+#: ../src/preferences_dialog.c:368
+msgid "Scrollwheel"
+msgstr ""
+
+#: ../src/preferences_dialog.c:371
+msgid "No action"
+msgstr ""
+
+#: ../src/preferences_dialog.c:375
+msgid "Zoom in and out"
+msgstr ""
+
+#: ../src/preferences_dialog.c:378
+msgid "Switch images"
+msgstr ""
+
+#: ../src/preferences_dialog.c:412
+msgid "Behaviour"
+msgstr "Oppførsel"
+
+#: ../src/preferences_dialog.c:417
+msgid "Scaling"
+msgstr "Skalering"
+
+#: ../src/preferences_dialog.c:422
+msgid "Don't scale over 100% when maximizing the window."
+msgstr "Ikkeskaler over 100% når vindu maksimeres"
+
+#: ../src/preferences_dialog.c:426
+msgid "Startup"
+msgstr ""
+
+#: ../src/preferences_dialog.c:428
+msgid "Resize window to image on startup"
+msgstr ""
+
+#: ../src/preferences_dialog.c:432
+msgid "Open entire folder on startup"
+msgstr ""
+
+#: ../src/preferences_dialog.c:437
+#, fuzzy
+msgid "Wrap around images"
+msgstr "Åpne bilde"
+
+#: ../src/preferences_dialog.c:453
+msgid "Memory"
+msgstr ""
-#: ../src/thumbnail_bar.c:185
+#: ../src/preferences_dialog.c:459
+#, fuzzy
+msgid "Image cache"
+msgstr "Bildehurtiglager"
+
+#: ../src/preferences_dialog.c:465
+#, fuzzy
+msgid "Cache size"
+msgstr "Hurtiglager størrelse:"
+
+#: ../src/preferences_dialog.c:466
+msgid "MB"
+msgstr "MB"
+
+#: ../src/preferences_dialog.c:469
+#, fuzzy
+msgid "Enable cache"
+msgstr "Bildehurtiglager"
+
+#: ../src/preferences_dialog.c:474
+msgid "Preload images"
+msgstr ""
+
+#: ../src/preferences_dialog.c:544
+#, fuzzy
+msgid "Preferences"
+msgstr "Bildefremviser innstillinger"
+
+#: ../src/xfce_wallpaper_manager.c:84
+#, fuzzy
+msgid "Set as wallpaper"
+msgstr "Bruk _som bakgrunnsbilde"
+
+#: ../src/xfce_wallpaper_manager.c:86
+msgid "Style:"
+msgstr ""
+
+#: ../src/xfce_wallpaper_manager.c:88
+msgid "Monitor:"
+msgstr ""
+
+#: ../src/xfce_wallpaper_manager.c:90
+msgid "Brightness:"
+msgstr ""
+
+#: ../src/xfce_wallpaper_manager.c:91
+#, fuzzy
+msgid "Saturation:"
+msgstr "_Roter"
+
+#: ../src/xfce_wallpaper_manager.c:123
+msgid "Auto"
+msgstr ""
+
+#: ../src/xfce_wallpaper_manager.c:124
+msgid "Centered"
+msgstr ""
+
+#: ../src/xfce_wallpaper_manager.c:125
+#, fuzzy
+msgid "Tiled"
+msgstr "_Fil"
+
+#: ../src/xfce_wallpaper_manager.c:126
+msgid "Stretched"
+msgstr ""
+
+#: ../src/xfce_wallpaper_manager.c:127
+#, fuzzy
+msgid "Scaled"
+msgstr "Skalering"
+
+#: ../src/xfce_wallpaper_manager.c:128
+msgid "Zoomed"
+msgstr ""
+
+#: ../src/thumbnail_bar.c:187
msgid "Spacing"
msgstr "Mellomrom"
-#: ../src/thumbnail_bar.c:186
+#: ../src/thumbnail_bar.c:188
msgid "The amount of space between the thumbnails"
msgstr "Hvor mye mellomrom det skal være mellom miniatyrbildene"
-#: ../src/thumbnail_bar.c:192
-msgid "Border Width"
+#: ../src/thumbnail_bar.c:194
+#, fuzzy
+msgid "border width"
msgstr "Bredde på ramme"
-#: ../src/thumbnail_bar.c:193
-msgid "The border width of the thumbnail-bar"
+#: ../src/thumbnail_bar.c:195
+#, fuzzy
+msgid "the border width of the thumbnail-bar"
+msgstr "Rammebredde på miniatyrbildelinjen"
+
+#: ../src/thumbnail_bar.c:201
+msgid "filmstrip width"
+msgstr ""
+
+#: ../src/thumbnail_bar.c:202
+#, fuzzy
+msgid "the width of the thumbnail-bar film-strip"
msgstr "Rammebredde på miniatyrbildelinjen"
#: ../ristretto.desktop.in.h:1
@@ -271,9 +570,58 @@ msgid "Image Viewer"
msgstr "Bildefremviser"
#: ../ristretto.desktop.in.h:2
-msgid "Ristretto"
-msgstr "Ristretto"
+msgid "Look at your photo's easily"
+msgstr ""
#: ../ristretto.desktop.in.h:3
-msgid "Xfce Image viewer"
-msgstr "Xfce Bildefremviser"
+msgid "Ristretto Photo Viewer"
+msgstr ""
+
+#, fuzzy
+#~ msgid "Ristretto"
+#~ msgstr "Ristretto"
+
+#, fuzzy
+#~ msgid "_Thumbnail Bar"
+#~ msgstr "Miniatyrbilder"
+
+#~ msgid "Opening file(s)..."
+#~ msgstr "Åpne fil(er)..."
+
+#~ msgid "_Recently used"
+#~ msgstr "Nylig _brukt"
+
+#~ msgid "No applications available"
+#~ msgstr "Ingen programmer tilgjengelig"
+
+#~ msgid "Thumbnail _Viewer"
+#~ msgstr "Miniatyr_visning"
+
+#~ msgid "Show _Horizontally"
+#~ msgstr "Vis _vannrett"
+
+#~ msgid "Show _Vertically"
+#~ msgstr "Vis _loddrett"
+
+#~ msgid "H_ide"
+#~ msgstr "_Skjul"
+
+#~ msgid ""
+#~ "The orientation of one or more images has been modified, do you want to "
+#~ "save the changes?"
+#~ msgstr ""
+#~ "Orientering av et eller flere bilder er endret, vil du lagre endringene?"
+
+#~ msgid "_Preload images (GUI more responsive but more CPU-intensive)"
+#~ msgstr ""
+#~ "_Forhåndlasting av bilder (programmet blir raskere men krever mer "
+#~ "prosessorkraft)"
+
+#~ msgid "Hide the thumbnails bar during slideshow"
+#~ msgstr "Skjul miniatyrbilderaden under lysbildefremvisning"
+
+#~ msgid "Filename"
+#~ msgstr "Filnavn"
+
+#~ msgid "Xfce Image viewer"
+#~ msgstr "Xfce Bildefremviser"
diff --git a/po/nl.po b/po/nl.po
index bf52089..f889de8 100644
--- a/po/nl.po
+++ b/po/nl.po
@@ -3,12 +3,11 @@
# This file is distributed under the same license as the ristretto package.
# Stephan Arts <stephan at xfce.org>, 2007.
#
-#: ../src/main.c:231
msgid ""
msgstr ""
"Project-Id-Version: ristretto 0.0.1-svn-r02537\n"
"Report-Msgid-Bugs-To: xfce-i18n at xfce.org\n"
-"POT-Creation-Date: 2008-11-14 13:24+0100\n"
+"POT-Creation-Date: 2010-01-15 00:57+0100\n"
"PO-Revision-Date: 2007-07-13 00:48+0200\n"
"Last-Translator: Stephan Arts <stephan at xfce.org>\n"
"Language-Team: Dutch\n"
@@ -17,19 +16,19 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: ../src/main.c:61
+#: ../src/main.c:59
msgid "Version information"
msgstr "Versie informatie"
-#: ../src/main.c:65
+#: ../src/main.c:63
msgid "Start in fullscreen mode"
-msgstr "Start in volledig scherm"
+msgstr "Start in volledig scherm mode"
-#: ../src/main.c:69
+#: ../src/main.c:67
msgid "Start a slideshow"
msgstr "Start een dia-presentatie"
-#: ../src/main.c:235
+#: ../src/main.c:91
#, c-format
msgid ""
"%s: %s\n"
@@ -38,237 +37,567 @@ msgstr ""
"%s: %s\n"
"Probeer %s --help voor een lijst van beschikbare commando regel opties.\n"
-#: ../src/main.c:448 ../src/main_window.c:1598 ../src/main_window.c:1638
-#: ../src/main_window.c:1675
-msgid "Opening file(s)..."
-msgstr "Bestand(en) openen..."
-
-#. Create 'File' menu
-#: ../src/main_window.c:340
+#. File Menu
+#: ../src/main_window.c:262
msgid "_File"
msgstr "_Bestand"
-#: ../src/main_window.c:347
-msgid "O_pen Folder"
-msgstr "Map o_penen"
+#: ../src/main_window.c:263
+msgid "_Open"
+msgstr "_Open"
+
+#: ../src/main_window.c:263
+msgid "Open an image"
+msgstr "Afbeelding openen"
+
+#: ../src/main_window.c:264
+msgid "Open _Folder"
+msgstr "_Map openen"
+
+#: ../src/main_window.c:264
+msgid "Open a folder"
+msgstr "Map openen"
+
+#: ../src/main_window.c:265
+msgid "_Save copy"
+msgstr "Kopie Opslaan"
+
+#: ../src/main_window.c:265
+msgid "Save a copy of the image"
+msgstr "Sla een kopie van de afbeelding op"
-#: ../src/main_window.c:348
-msgid "_Recently used"
-msgstr "_Recent geopend"
+#: ../src/main_window.c:266
+msgid "_Print"
+msgstr "_Print"
-#: ../src/main_window.c:353
-msgid "Close _all"
+#: ../src/main_window.c:266
+msgid "Print the image"
+msgstr "_Afbeelding printen"
+
+#: ../src/main_window.c:267
+msgid "_Close"
+msgstr "_Sluiten"
+
+#: ../src/main_window.c:267
+msgid "Close this image"
+msgstr "Sluit deze afbeelding"
+
+#: ../src/main_window.c:268
+msgid "_Close All"
msgstr "_Alles Sluiten"
-#. Create 'Edit' menu
-#: ../src/main_window.c:383
+#: ../src/main_window.c:268
+msgid "Close all images"
+msgstr "_Alle afbeeldingen sluiten"
+
+#: ../src/main_window.c:269
+msgid "_Quit"
+msgstr "_Afsluiten"
+
+#: ../src/main_window.c:269
+msgid "Quit Ristretto"
+msgstr "Ristretto sluiten"
+
+#. Edit Menu
+#: ../src/main_window.c:271
msgid "_Edit"
msgstr "Be_werken"
-#: ../src/main_window.c:388 ../src/main_window.c:659
-msgid "Open with..."
+#: ../src/main_window.c:272
+msgid "_Open with..."
msgstr "_Openen met..."
-#: ../src/main_window.c:396 ../src/main_window.c:670
-msgid "No applications available"
-msgstr "Geen programma's beschikbaar"
+#: ../src/main_window.c:273
+msgid "_Sorting"
+msgstr "_Sorteren"
+
+#: ../src/main_window.c:274
+msgid "_Delete"
+msgstr "_Verwijderen"
+
+#: ../src/main_window.c:275
+msgid "_Preferences"
+msgstr "_Voorkeuren"
-#. Create 'View' menu
-#: ../src/main_window.c:405
+#. View Menu
+#: ../src/main_window.c:277
msgid "_View"
-msgstr "Beel_d"
+msgstr "_Beeld"
-#: ../src/main_window.c:412
-msgid "Show _Toolbar"
-msgstr "_Toon Werkbalk"
+#: ../src/main_window.c:278
+#, fuzzy
+msgid "_Fullscreen"
+msgstr "_Volledig scherm"
-#: ../src/main_window.c:413
-msgid "Thumbnail _Viewer"
-msgstr "_Miniatuur Weergave"
+#: ../src/main_window.c:279
+#, fuzzy
+msgid "_Leave Fullscreen"
+msgstr "_Volledig scherm sluiten"
-#: ../src/main_window.c:417
+#: ../src/main_window.c:280
+msgid "_Set as Wallpaper"
+msgstr "In_stellen als bureaublad achtergrond"
+
+#. Zoom submenu
+#: ../src/main_window.c:282
msgid "_Zooming"
msgstr "_Zoomen"
-#: ../src/main_window.c:418
-msgid "_Rotate"
-msgstr "_Roteren"
+#: ../src/main_window.c:283
+msgid "Zoom _In"
+msgstr "_Inzoomen"
-#: ../src/main_window.c:425
-msgid "_Set as wallpaper"
-msgstr "In_stellen als bureaublad achtergrond"
+#: ../src/main_window.c:284
+msgid "Zoom _Out"
+msgstr "_Uitzoomen"
-#: ../src/main_window.c:476
-msgid "Show _Horizontally"
-msgstr "_Horizontaal tonen"
+#: ../src/main_window.c:285
+msgid "Zoom _Fit"
+msgstr ""
-#: ../src/main_window.c:480
-msgid "Show _Vertically"
-msgstr "_Verticaal tonen"
+#: ../src/main_window.c:286
+msgid "_Normal Size"
+msgstr "_Normale Grootte"
-#: ../src/main_window.c:484
-msgid "H_ide"
-msgstr "Ver_bergen"
+#. Rotation submenu
+#: ../src/main_window.c:288
+msgid "_Rotation"
+msgstr "_Rotatie"
-#: ../src/main_window.c:521
+#: ../src/main_window.c:289
msgid "Rotate _Right"
msgstr "_Rechtsom draaien"
-#: ../src/main_window.c:522
+#: ../src/main_window.c:290
msgid "Rotate _Left"
msgstr "_Linksom draaien"
-#. Create 'Go' menu
-#: ../src/main_window.c:543
+#. Go Menu
+#: ../src/main_window.c:292
msgid "_Go"
msgstr "_Ga"
-#. Create 'Help' menu
-#: ../src/main_window.c:574
+#: ../src/main_window.c:293
+msgid "_Forward"
+msgstr "_Volgende"
+
+#: ../src/main_window.c:294
+msgid "_Back"
+msgstr "_Vorige"
+
+#: ../src/main_window.c:295
+msgid "_First"
+msgstr "_Eerste"
+
+#: ../src/main_window.c:296
+msgid "_Last"
+msgstr "_Laatste"
+
+#. Help Menu
+#: ../src/main_window.c:298
msgid "_Help"
msgstr "_Help"
-#: ../src/main_window.c:906
-msgid "One or more images have been modified, do you want to save the changes?"
-msgstr "Een of meer afbeeldingen zijn gewijzigd, wilt u de wijziginge opslaan?"
+#: ../src/main_window.c:300
+msgid "_Contents"
+msgstr "_Inhoud"
+
+#: ../src/main_window.c:302
+msgid "Display ristretto user manual"
+msgstr "Laat ristretto handleiding zien"
+
+#: ../src/main_window.c:305
+msgid "_About"
+msgstr "_Over"
+
+#: ../src/main_window.c:307
+msgid "Display information about ristretto"
+msgstr "Laat informatie over ristretto zien"
+
+#. Position Menu
+#: ../src/main_window.c:310
+msgid "_Position"
+msgstr "_Positie"
+
+#. Misc
+#: ../src/main_window.c:312
+msgid "Leave _Fullscreen"
+msgstr "Verlaat _Volledig scherm modus"
+
+#. Toggle visibility of the main file toolbar
+#: ../src/main_window.c:320
+msgid "Show _File Toolbar"
+msgstr "Toon _Bestand Werkbalk"
+
+#. Toggle visibility of the main navigation toolbar
+#: ../src/main_window.c:322
+msgid "Show _Navigation Toolbar"
+msgstr "Toon _Navigatie Werkbalk"
+
+#. Toggle visibility of the thumbnailbar
+#: ../src/main_window.c:324
+msgid "Show _Thumbnailbar"
+msgstr "Toon _Miniaturen balk"
+
+#. Sort by Filename
+#: ../src/main_window.c:331
+msgid "sort by filename"
+msgstr "sorteren op bestandsnaam"
+
+#. Sort by Date
+#: ../src/main_window.c:333
+msgid "sort by date"
+msgstr "sorteren op datum"
+
+#: ../src/main_window.c:339
+msgid "Left"
+msgstr "Links"
+
+#: ../src/main_window.c:340
+msgid "Right"
+msgstr "Rechts"
+
+#: ../src/main_window.c:341
+msgid "Top"
+msgstr "Bovenkant"
+
+#: ../src/main_window.c:342
+msgid "Bottom"
+msgstr "Onderkant"
+
+#: ../src/main_window.c:512 ../src/main_window.c:778
+msgid "Press open to select an image"
+msgstr "Druk op openen om een afbeelding te selecteren"
+
+#: ../src/main_window.c:765 ../src/main_window.c:770
+msgid "Empty"
+msgstr "Leeg"
+
+#: ../src/main_window.c:1545
+msgid "Developer:"
+msgstr "Ontwikkelaar:"
+
+#: ../src/main_window.c:1555
+msgid "Ristretto is an imageviewer for the Xfce desktop environment."
+msgstr ""
+"Ristretto is een afbeeldingsweergave-programma voor de Xfce-desktop omgeving."
+
+#: ../src/main_window.c:1563
+msgid "translator-credits"
+msgstr "Timo Verbeek <timoverbeek10 at hotmail.com>"
+
+#: ../src/main_window.c:1878
+msgid "Open image"
+msgstr "Afbeelding openen"
+
+#: ../src/main_window.c:1890
+msgid "Images"
+msgstr "Afbeeldingen"
+
+#: ../src/main_window.c:1895
+msgid ".jp(e)g"
+msgstr ". jp(e)g"
-#: ../src/main_window.c:1394
-msgid "Image viewer Preferences"
-msgstr "Afbeeldingsweergave voorkeuren"
+#: ../src/main_window.c:1917 ../src/main_window.c:1940
+#: ../src/main_window.c:2099 ../src/main_window.c:2114
+msgid "Could not open file"
+msgstr "Kan bestand niet openen"
+
+#: ../src/main_window.c:1992
+msgid "Open folder"
+msgstr "Map openen"
+
+#: ../src/main_window.c:2137
+msgid "Save copy"
+msgstr "Bewaar kopie"
+
+#: ../src/main_window.c:2210
+#, c-format
+msgid "Are you sure you want to delete image '%s' from disk?"
+msgstr "Weet u zeker dat u afbeelding '%s' van de schijf wilt verwijderen?"
-#: ../src/main_window.c:1412
+#: ../src/preferences_dialog.c:230
msgid "Display"
msgstr "Weergave"
-#: ../src/main_window.c:1416
+#: ../src/preferences_dialog.c:235
+msgid "Background color"
+msgstr "Achtergrondkleur"
+
+#: ../src/preferences_dialog.c:239
+msgid "Override background color:"
+msgstr "Achtergrondkleur wijzigen:"
+
+#: ../src/preferences_dialog.c:267
+msgid "Quality"
+msgstr "Kwaliteit"
+
+#: ../src/preferences_dialog.c:271
+#, fuzzy
+msgid "Maximum render quality:"
+msgstr "Maximale render kwaliteit:"
+
+#: ../src/preferences_dialog.c:274
+msgid "Show preview when loading image"
+msgstr "Toon voorvertoning bij het laden van afbeelding"
+
+#: ../src/preferences_dialog.c:281
+msgid "Best"
+msgstr "Beste"
+
+#: ../src/preferences_dialog.c:282
+msgid "High"
+msgstr "Hoog"
+
+#: ../src/preferences_dialog.c:283
+msgid "Medium"
+msgstr "Medium"
+
+#: ../src/preferences_dialog.c:284
+msgid "Low"
+msgstr "Laag"
+
+#: ../src/preferences_dialog.c:324
msgid "Slideshow"
msgstr "Diaweergave"
-#: ../src/main_window.c:1420
+#: ../src/preferences_dialog.c:328
+msgid "Timeout"
+msgstr "Timeout"
+
+#: ../src/preferences_dialog.c:331
+msgid ""
+"The time period an individual image is displayed during a slideshow\n"
+"(in seconds)"
+msgstr ""
+"De periode dat een enkele afbeelding wordt weergegeven gedurende een\n"
+"diaweergave (in seconden)"
+
+#: ../src/preferences_dialog.c:346
+#, fuzzy
+msgid "Thumbnails"
+msgstr "Miniaturen"
+
+#: ../src/preferences_dialog.c:349
+msgid ""
+"The thumbnailbar can be automatically hidden \n"
+"when the image-viewer is fullscreen."
+msgstr ""
+"De thumbnailbar kan automatisch verborgen worden \n"
+"wanneer de image-viewer in volledig scherm modus is."
+
+#: ../src/preferences_dialog.c:351
+msgid "Hide thumbnailbar when fullscreen"
+msgstr "Miniaturen _verbergen bij volledig scherm mode"
+
+#: ../src/preferences_dialog.c:364
+msgid "Control"
+msgstr "Control"
+
+#: ../src/preferences_dialog.c:368
+msgid "Scrollwheel"
+msgstr "Scroll-wieltje"
+
+#: ../src/preferences_dialog.c:371
+msgid "No action"
+msgstr "Geen actie"
+
+#: ../src/preferences_dialog.c:375
+msgid "Zoom in and out"
+msgstr "In-en uitzoomen"
+
+#: ../src/preferences_dialog.c:378
+#, fuzzy
+msgid "Switch images"
+msgstr "Afbeeldingen wisselen"
+
+#: ../src/preferences_dialog.c:412
msgid "Behaviour"
msgstr "Gedrag"
-#: ../src/main_window.c:1425
+#: ../src/preferences_dialog.c:417
msgid "Scaling"
msgstr "Schalen"
-#: ../src/main_window.c:1427
+#: ../src/preferences_dialog.c:422
msgid "Don't scale over 100% when maximizing the window."
msgstr ""
"Afbeelding niet voorbij 100% schalen wanneer het venster wordt "
"gemaximaliseerd"
-#: ../src/main_window.c:1437
-msgid "Background Color"
-msgstr "Achtergrondkleur"
+#: ../src/preferences_dialog.c:426
+msgid "Startup"
+msgstr "Opstarten"
+
+#: ../src/preferences_dialog.c:428
+#, fuzzy
+msgid "Resize window to image on startup"
+msgstr "Resize venster naar afbeelding bij het opstarten"
-#: ../src/main_window.c:1439
-msgid "_Override Background Color:"
-msgstr "Achtergr_ondkleur wijzigen:"
+#: ../src/preferences_dialog.c:432
+msgid "Open entire folder on startup"
+msgstr "Open de hele map bij opstarten"
-#: ../src/main_window.c:1462
-msgid "Image Cache"
+#: ../src/preferences_dialog.c:437
+msgid "Wrap around images"
+msgstr ""
+
+#: ../src/preferences_dialog.c:453
+msgid "Memory"
+msgstr "Geheugen"
+
+#: ../src/preferences_dialog.c:459
+msgid "Image cache"
msgstr "Afbeeldingen-cache"
-#: ../src/main_window.c:1465
-msgid "Cache size:"
+#: ../src/preferences_dialog.c:465
+msgid "Cache size"
msgstr "Cachegrootte:"
-#: ../src/main_window.c:1466
+#: ../src/preferences_dialog.c:466
msgid "MB"
msgstr "MB"
-#: ../src/main_window.c:1468
-msgid "_Preload images (GUI more responsive but more CPU-intensive)"
-msgstr "Af_beeldingen vooruit inladen (GUI reageerd sneller, maar "
-"vergt meer van de CPU)"
+#: ../src/preferences_dialog.c:469
+msgid "Enable cache"
+msgstr "Cache aanzetten"
-#: ../src/main_window.c:1486
-msgid "Timeout"
-msgstr "Timeout"
+#: ../src/preferences_dialog.c:474
+msgid "Preload images"
+msgstr "Afbeeldingen vooruit inladen"
-#: ../src/main_window.c:1489
-msgid "Thumbnails"
-msgstr "Miniaturen"
+#: ../src/preferences_dialog.c:544
+msgid "Preferences"
+msgstr "Voorkeuren"
-#: ../src/main_window.c:1494
-msgid ""
-"The time period an individual image is displayed during a slideshow\n"
-"(in seconds)"
-msgstr ""
-"De periode dat een enkele afbeelding wordt weergegeven gedurende een\n"
-"diaweergave (in seconden)"
+#: ../src/xfce_wallpaper_manager.c:84
+msgid "Set as wallpaper"
+msgstr "Instellen als bureaublad achtergrond"
-#: ../src/main_window.c:1497
-msgid "Hide the thumbnails bar during slideshow"
-msgstr "Miniaturen verbergen gedurende diawaargave"
+#: ../src/xfce_wallpaper_manager.c:86
+msgid "Style:"
+msgstr "Stijl:"
-#: ../src/main_window.c:1498
-msgid "_Hide thumbnails"
-msgstr "Miniaturen _verbergen"
-
-#: ../src/main_window.c:1556
-msgid "Developer:"
-msgstr "Ontwikkelaar:"
+#: ../src/xfce_wallpaper_manager.c:88
+msgid "Monitor:"
+msgstr ""
-#: ../src/main_window.c:1566
-msgid ""
-"Ristretto is a fast and lightweight picture-viewer for the Xfce desktop "
-"environment."
+#: ../src/xfce_wallpaper_manager.c:90
+msgid "Brightness:"
msgstr ""
-"Ristretto is een snel en lichtgewicht afbeeldingsweergave-programma voor de "
-"Xfce-desktop omgeving"
-#: ../src/main_window.c:1574
-msgid "translator-credits"
-msgstr "Stephan Arts <stephan at xfce.org>"
+#: ../src/xfce_wallpaper_manager.c:91
+#, fuzzy
+msgid "Saturation:"
+msgstr "_Rotatie"
-#: ../src/main_window.c:1600
-msgid "Open image"
-msgstr "Afbeelding openen"
+#: ../src/xfce_wallpaper_manager.c:123
+msgid "Auto"
+msgstr "Automatisch"
-#: ../src/main_window.c:1618
-msgid "Could not open file"
-msgstr "Kan bestand niet openen"
+#: ../src/xfce_wallpaper_manager.c:124
+msgid "Centered"
+msgstr "Gecentreerd"
-#: ../src/main_window.c:1640
-msgid "Open folder"
-msgstr "Map openen"
+#: ../src/xfce_wallpaper_manager.c:125
+#, fuzzy
+msgid "Tiled"
+msgstr "Als Tegels"
-#: ../src/main_window.c:1715
-msgid ""
-"Are you sure you want to clear ristretto's list of recently opened documents?"
+#: ../src/xfce_wallpaper_manager.c:126
+msgid "Stretched"
msgstr ""
-"Weet U zeker dat u de lijst met recent door ristretto geopende bestanden "
-"wilt wissen?"
-#: ../src/thumbnail_bar.c:185
+#: ../src/xfce_wallpaper_manager.c:127
+msgid "Scaled"
+msgstr "Schalen"
+
+#: ../src/xfce_wallpaper_manager.c:128
+#, fuzzy
+msgid "Zoomed"
+msgstr "Ingezoomt"
+
+#: ../src/thumbnail_bar.c:187
msgid "Spacing"
msgstr "Spatiering"
-#: ../src/thumbnail_bar.c:186
+#: ../src/thumbnail_bar.c:188
msgid "The amount of space between the thumbnails"
-msgstr "De ruimte tussen de thumbnails"
+msgstr "De ruimte tussen de miniaturen"
+
+#: ../src/thumbnail_bar.c:194
+msgid "border width"
+msgstr "rand breedte"
-#: ../src/thumbnail_bar.c:192
-msgid "Border Width"
-msgstr "Rand breedte"
+#: ../src/thumbnail_bar.c:195
+msgid "the border width of the thumbnail-bar"
+msgstr "de randbreedte van de miniaturen balk"
-#: ../src/thumbnail_bar.c:193
-msgid "The border width of the thumbnail-bar"
-msgstr "De randbreedte van de miniaturen balk"
+#: ../src/thumbnail_bar.c:201
+#, fuzzy
+msgid "filmstrip width"
+msgstr "filmstrip breedte"
+
+#: ../src/thumbnail_bar.c:202
+#, fuzzy
+msgid "the width of the thumbnail-bar film-strip"
+msgstr "De breedte van de miniaturen balk"
#: ../ristretto.desktop.in.h:1
msgid "Image Viewer"
msgstr "Afbeeldingsweergave"
#: ../ristretto.desktop.in.h:2
-msgid "Ristretto"
-msgstr "Ristretto"
+msgid "Look at your photo's easily"
+msgstr "Kijk gemakkelijk naar je foto's "
#: ../ristretto.desktop.in.h:3
-msgid "Xfce Image viewer"
-msgstr "Xfce Afbeeldings weergave"
+#, fuzzy
+msgid "Ristretto Photo Viewer"
+msgstr "Ristretto Afbeeldings Weergever"
+
+#~ msgid "Ristretto"
+#~ msgstr "Ristretto"
+
+#~ msgid "_Thumbnail Bar"
+#~ msgstr "Miniaturen"
+
+#~ msgid "Opening file(s)..."
+#~ msgstr "Bestand(en) openen..."
+
+#~ msgid "_Recently used"
+#~ msgstr "_Recent geopend"
+
+#~ msgid "No applications available"
+#~ msgstr "Geen programma's beschikbaar"
+
+#~ msgid "Thumbnail _Viewer"
+#~ msgstr "_Miniatuur Weergave"
+
+#~ msgid "Show _Horizontally"
+#~ msgstr "_Horizontaal tonen"
+
+#~ msgid "Show _Vertically"
+#~ msgstr "_Verticaal tonen"
+
+#~ msgid "H_ide"
+#~ msgstr "Ver_bergen"
+
+#~ msgid ""
+#~ "One or more images have been modified, do you want to save the changes?"
+#~ msgstr ""
+#~ "Een of meer afbeeldingen zijn gewijzigd, wilt u de wijziginge opslaan?"
+
+#~ msgid "_Preload images (GUI more responsive but more CPU-intensive)"
+#~ msgstr ""
+#~ "Af_beeldingen vooruit inladen (GUI reageerd sneller, maar vergt meer van "
+#~ "de CPU)"
+
+#~ msgid "Hide the thumbnails bar during slideshow"
+#~ msgstr "Miniaturen verbergen gedurende diawaargave"
+
+#~ msgid "Xfce Image viewer"
+#~ msgstr "Xfce Afbeeldings weergave"
#~ msgid "Preload"
#~ msgstr "Vooruit laden"
@@ -280,20 +609,11 @@ msgstr "Xfce Afbeeldings weergave"
#~ "Afbeeldingen vooraf inladen gedurende een diaweergave\n"
#~ "(gebruikt meer geheugen)"
-#~ msgid "_Preload images"
-#~ msgstr "_Afbeeldingen vooruit inladen"
-
-#~ msgid "Ristretto Image Viewer"
-#~ msgstr "Ristretto Afbeeldings Weergave"
-
#~ msgid "Flip _Vertically"
#~ msgstr "_Verticaal spiegelen"
#~ msgid "Flip _Horizontally"
#~ msgstr "_Horizontaal spiegelen"
-#~ msgid "_Clear"
-#~ msgstr "_Opruimen"
-
#~ msgid "View Zoom toolbar"
#~ msgstr "Zoom werkbalk tonen"
diff --git a/po/pl.po b/po/pl.po
index 485d1a2..2f839a8 100644
--- a/po/pl.po
+++ b/po/pl.po
@@ -8,28 +8,29 @@ msgid ""
msgstr ""
"Project-Id-Version: Ristretto 0.0.21\n"
"Report-Msgid-Bugs-To: xfce-i18n at xfce.org\n"
-"POT-Creation-Date: 2008-11-14 13:24+0100\n"
+"POT-Creation-Date: 2010-01-15 00:57+0100\n"
"PO-Revision-Date: 2009-02-13 19:35+0100\n"
"Last-Translator: Piotr Sokół <piotr.sokol at 10g.pl>\n"
"Language-Team: Polish\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
+"|| n%100>=20) ? 1 : 2);\n"
-#: ../src/main.c:61
+#: ../src/main.c:59
msgid "Version information"
msgstr "Wypisuje informacje o wersji"
-#: ../src/main.c:65
+#: ../src/main.c:63
msgid "Start in fullscreen mode"
msgstr "Uruchamia w trybie pełnoekranowym"
-#: ../src/main.c:69
+#: ../src/main.c:67
msgid "Start a slideshow"
msgstr "Włącza pokaz slajdów po uruchomieniu"
-#: ../src/main.c:235
+#: ../src/main.c:91
#, c-format
msgid ""
"%s: %s\n"
@@ -38,222 +39,532 @@ msgstr ""
"%s: %s\n"
"Proszę wpisać „%s --help” aby wypisać pełną listę opcji wiersza poleceń.\n"
-#: ../src/main.c:448
-#: ../src/main_window.c:1598
-#: ../src/main_window.c:1638
-#: ../src/main_window.c:1675
-msgid "Opening file(s)..."
-msgstr "Otwieranie pliku..."
-
-#. Create 'File' menu
-#: ../src/main_window.c:340
+#. File Menu
+#: ../src/main_window.c:262
msgid "_File"
msgstr "_Plik"
-#: ../src/main_window.c:347
-msgid "O_pen Folder"
+#: ../src/main_window.c:263
+msgid "_Open"
+msgstr ""
+
+#: ../src/main_window.c:263
+#, fuzzy
+msgid "Open an image"
+msgstr "Wybór pliku"
+
+#: ../src/main_window.c:264
+#, fuzzy
+msgid "Open _Folder"
msgstr "O_twórz katalog..."
-#: ../src/main_window.c:348
-msgid "_Recently used"
-msgstr "Ostatnio otwa_rte"
+#: ../src/main_window.c:264
+#, fuzzy
+msgid "Open a folder"
+msgstr "Wybór katalogu"
-#: ../src/main_window.c:353
-msgid "Close _all"
+#: ../src/main_window.c:265
+msgid "_Save copy"
+msgstr ""
+
+#: ../src/main_window.c:265
+msgid "Save a copy of the image"
+msgstr ""
+
+#: ../src/main_window.c:266
+msgid "_Print"
+msgstr ""
+
+#: ../src/main_window.c:266
+#, fuzzy
+msgid "Print the image"
+msgstr "_Ładuj grafiki"
+
+#: ../src/main_window.c:267
+#, fuzzy
+msgid "_Close"
msgstr "Zamknij w_szystkie"
-#. Create 'Edit' menu
-#: ../src/main_window.c:383
+#: ../src/main_window.c:267
+msgid "Close this image"
+msgstr ""
+
+#: ../src/main_window.c:268
+#, fuzzy
+msgid "_Close All"
+msgstr "Zamknij w_szystkie"
+
+#: ../src/main_window.c:268
+#, fuzzy
+msgid "Close all images"
+msgstr "Zamknij w_szystkie"
+
+#: ../src/main_window.c:269
+#, fuzzy
+msgid "_Quit"
+msgstr "_Edycja"
+
+#: ../src/main_window.c:269
+#, fuzzy
+msgid "Quit Ristretto"
+msgstr "Przeglądarka obrazów Ristretto"
+
+#. Edit Menu
+#: ../src/main_window.c:271
msgid "_Edit"
msgstr "_Edycja"
-#: ../src/main_window.c:388
-#: ../src/main_window.c:659
-msgid "Open with..."
+#: ../src/main_window.c:272
+#, fuzzy
+msgid "_Open with..."
msgstr "Otwórz za pomocą..."
-#: ../src/main_window.c:396
-#: ../src/main_window.c:670
-msgid "No applications available"
-msgstr "Brak odpowiedniego programu"
+#: ../src/main_window.c:273
+#, fuzzy
+msgid "_Sorting"
+msgstr "_Skalowanie"
+
+#: ../src/main_window.c:274
+msgid "_Delete"
+msgstr ""
+
+#: ../src/main_window.c:275
+#, fuzzy
+msgid "_Preferences"
+msgstr "Preferencje programu"
-#. Create 'View' menu
-#: ../src/main_window.c:405
+#. View Menu
+#: ../src/main_window.c:277
msgid "_View"
msgstr "_Widok"
-#: ../src/main_window.c:412
-msgid "Show _Toolbar"
-msgstr "_Pasek narzędziowy"
+#: ../src/main_window.c:278
+msgid "_Fullscreen"
+msgstr ""
-#: ../src/main_window.c:413
-msgid "Thumbnail _Viewer"
-msgstr "_Miniatury"
+#: ../src/main_window.c:279
+msgid "_Leave Fullscreen"
+msgstr ""
-#: ../src/main_window.c:417
+#: ../src/main_window.c:280
+#, fuzzy
+msgid "_Set as Wallpaper"
+msgstr "_Ustaw jako tapetę"
+
+#. Zoom submenu
+#: ../src/main_window.c:282
msgid "_Zooming"
msgstr "_Skalowanie"
-#: ../src/main_window.c:418
-msgid "_Rotate"
-msgstr "_Obróć"
+#: ../src/main_window.c:283
+#, fuzzy
+msgid "Zoom _In"
+msgstr "_Skalowanie"
-#: ../src/main_window.c:425
-msgid "_Set as wallpaper"
-msgstr "_Ustaw jako tapetę"
+#: ../src/main_window.c:284
+msgid "Zoom _Out"
+msgstr ""
-#: ../src/main_window.c:476
-msgid "Show _Horizontally"
-msgstr "P_oziomo"
+#: ../src/main_window.c:285
+msgid "Zoom _Fit"
+msgstr ""
-#: ../src/main_window.c:480
-msgid "Show _Vertically"
-msgstr "P_ionowo"
+#: ../src/main_window.c:286
+msgid "_Normal Size"
+msgstr ""
-#: ../src/main_window.c:484
-msgid "H_ide"
-msgstr "_Ukryj"
+#. Rotation submenu
+#: ../src/main_window.c:288
+#, fuzzy
+msgid "_Rotation"
+msgstr "_Obróć"
-#: ../src/main_window.c:521
+#: ../src/main_window.c:289
msgid "Rotate _Right"
msgstr "W p_rawo"
-#: ../src/main_window.c:522
+#: ../src/main_window.c:290
msgid "Rotate _Left"
msgstr "W _lewo"
-#. Create 'Go' menu
-#: ../src/main_window.c:543
+#. Go Menu
+#: ../src/main_window.c:292
msgid "_Go"
msgstr "P_rzejdź"
-#. Create 'Help' menu
-#: ../src/main_window.c:574
+#: ../src/main_window.c:293
+msgid "_Forward"
+msgstr ""
+
+#: ../src/main_window.c:294
+msgid "_Back"
+msgstr ""
+
+#: ../src/main_window.c:295
+msgid "_First"
+msgstr ""
+
+#: ../src/main_window.c:296
+msgid "_Last"
+msgstr ""
+
+#. Help Menu
+#: ../src/main_window.c:298
msgid "_Help"
msgstr "Pomo_c"
-#: ../src/main_window.c:906
-msgid "One or more images have been modified, do you want to save the changes?"
-msgstr "Jeden lub więcej obrazów zostało zmodyfikowanych. Zapisać zmiany?"
+#: ../src/main_window.c:300
+msgid "_Contents"
+msgstr ""
+
+#: ../src/main_window.c:302
+msgid "Display ristretto user manual"
+msgstr ""
-#: ../src/main_window.c:1394
-msgid "Image viewer Preferences"
-msgstr "Preferencje programu"
+#: ../src/main_window.c:305
+msgid "_About"
+msgstr ""
-#: ../src/main_window.c:1412
+#: ../src/main_window.c:307
+msgid "Display information about ristretto"
+msgstr ""
+
+#. Position Menu
+#: ../src/main_window.c:310
+msgid "_Position"
+msgstr ""
+
+#. Misc
+#: ../src/main_window.c:312
+msgid "Leave _Fullscreen"
+msgstr ""
+
+#. Toggle visibility of the main file toolbar
+#: ../src/main_window.c:320
+#, fuzzy
+msgid "Show _File Toolbar"
+msgstr "_Pasek narzędziowy"
+
+#. Toggle visibility of the main navigation toolbar
+#: ../src/main_window.c:322
+#, fuzzy
+msgid "Show _Navigation Toolbar"
+msgstr "_Pasek narzędziowy"
+
+#. Toggle visibility of the thumbnailbar
+#: ../src/main_window.c:324
+#, fuzzy
+msgid "Show _Thumbnailbar"
+msgstr "_Pasek narzędziowy"
+
+#. Sort by Filename
+#: ../src/main_window.c:331
+msgid "sort by filename"
+msgstr ""
+
+#. Sort by Date
+#: ../src/main_window.c:333
+msgid "sort by date"
+msgstr ""
+
+#: ../src/main_window.c:339
+msgid "Left"
+msgstr ""
+
+#: ../src/main_window.c:340
+msgid "Right"
+msgstr ""
+
+#: ../src/main_window.c:341
+msgid "Top"
+msgstr ""
+
+#: ../src/main_window.c:342
+msgid "Bottom"
+msgstr ""
+
+#: ../src/main_window.c:512 ../src/main_window.c:778
+msgid "Press open to select an image"
+msgstr ""
+
+#: ../src/main_window.c:765 ../src/main_window.c:770
+msgid "Empty"
+msgstr ""
+
+#: ../src/main_window.c:1545
+msgid "Developer:"
+msgstr "Twórca:"
+
+#: ../src/main_window.c:1555
+#, fuzzy
+msgid "Ristretto is an imageviewer for the Xfce desktop environment."
+msgstr "Przeglądarka obrazów dla środowiska Xfce"
+
+#: ../src/main_window.c:1563
+msgid "translator-credits"
+msgstr ""
+"Łukasz Romanowicz <lukasz210 at gmail.com>\n"
+"Piotr Sokół <piotr.sokol at 10g.pl>"
+
+#: ../src/main_window.c:1878
+msgid "Open image"
+msgstr "Wybór pliku"
+
+#: ../src/main_window.c:1890
+msgid "Images"
+msgstr ""
+
+#: ../src/main_window.c:1895
+msgid ".jp(e)g"
+msgstr ""
+
+#: ../src/main_window.c:1917 ../src/main_window.c:1940
+#: ../src/main_window.c:2099 ../src/main_window.c:2114
+msgid "Could not open file"
+msgstr "Nie można otworzyć pliku"
+
+#: ../src/main_window.c:1992
+msgid "Open folder"
+msgstr "Wybór katalogu"
+
+#: ../src/main_window.c:2137
+msgid "Save copy"
+msgstr ""
+
+#: ../src/main_window.c:2210
+#, fuzzy, c-format
+msgid "Are you sure you want to delete image '%s' from disk?"
+msgstr "Wyczyścić listę ostatnio otwartych plików?"
+
+#: ../src/preferences_dialog.c:230
msgid "Display"
msgstr "Wygląd"
-#: ../src/main_window.c:1416
+#: ../src/preferences_dialog.c:235
+#, fuzzy
+msgid "Background color"
+msgstr "Kolor tła"
+
+#: ../src/preferences_dialog.c:239
+#, fuzzy
+msgid "Override background color:"
+msgstr "_Własny:"
+
+#: ../src/preferences_dialog.c:267
+msgid "Quality"
+msgstr ""
+
+#: ../src/preferences_dialog.c:271
+msgid "Maximum render quality:"
+msgstr ""
+
+#: ../src/preferences_dialog.c:274
+msgid "Show preview when loading image"
+msgstr ""
+
+#: ../src/preferences_dialog.c:281
+msgid "Best"
+msgstr ""
+
+#: ../src/preferences_dialog.c:282
+msgid "High"
+msgstr ""
+
+#: ../src/preferences_dialog.c:283
+msgid "Medium"
+msgstr ""
+
+#: ../src/preferences_dialog.c:284
+msgid "Low"
+msgstr ""
+
+#: ../src/preferences_dialog.c:324
msgid "Slideshow"
msgstr "Pokaz slajdów"
-#: ../src/main_window.c:1420
+#: ../src/preferences_dialog.c:328
+msgid "Timeout"
+msgstr "Czas"
+
+#: ../src/preferences_dialog.c:331
+msgid ""
+"The time period an individual image is displayed during a slideshow\n"
+"(in seconds)"
+msgstr "Czas wyświetlania pojedynczego obrazu (w sekundach):"
+
+#: ../src/preferences_dialog.c:346
+#, fuzzy
+msgid "Thumbnails"
+msgstr "Miniatury"
+
+#: ../src/preferences_dialog.c:349
+msgid ""
+"The thumbnailbar can be automatically hidden \n"
+"when the image-viewer is fullscreen."
+msgstr ""
+
+#: ../src/preferences_dialog.c:351
+#, fuzzy
+msgid "Hide thumbnailbar when fullscreen"
+msgstr "_Ukrywanie"
+
+#: ../src/preferences_dialog.c:364
+msgid "Control"
+msgstr ""
+
+#: ../src/preferences_dialog.c:368
+msgid "Scrollwheel"
+msgstr ""
+
+#: ../src/preferences_dialog.c:371
+msgid "No action"
+msgstr ""
+
+#: ../src/preferences_dialog.c:375
+msgid "Zoom in and out"
+msgstr ""
+
+#: ../src/preferences_dialog.c:378
+msgid "Switch images"
+msgstr ""
+
+#: ../src/preferences_dialog.c:412
msgid "Behaviour"
msgstr "Zachowanie"
-#: ../src/main_window.c:1425
+#: ../src/preferences_dialog.c:417
msgid "Scaling"
msgstr "Skalowanie"
-#: ../src/main_window.c:1427
+#: ../src/preferences_dialog.c:422
msgid "Don't scale over 100% when maximizing the window."
msgstr ""
"Wyłączenie powiększania powyżej 100% podczas\n"
"maksymalizowania okna"
-#: ../src/main_window.c:1437
-msgid "Background Color"
-msgstr "Kolor tła"
+#: ../src/preferences_dialog.c:426
+msgid "Startup"
+msgstr ""
-#: ../src/main_window.c:1439
-msgid "_Override Background Color:"
-msgstr "_Własny:"
+#: ../src/preferences_dialog.c:428
+msgid "Resize window to image on startup"
+msgstr ""
+
+#: ../src/preferences_dialog.c:432
+msgid "Open entire folder on startup"
+msgstr ""
+
+#: ../src/preferences_dialog.c:437
+#, fuzzy
+msgid "Wrap around images"
+msgstr "Wybór pliku"
-#: ../src/main_window.c:1462
-msgid "Image Cache"
+#: ../src/preferences_dialog.c:453
+msgid "Memory"
+msgstr ""
+
+#: ../src/preferences_dialog.c:459
+#, fuzzy
+msgid "Image cache"
msgstr "Pamięć podręczna"
-#: ../src/main_window.c:1465
-msgid "Cache size:"
+#: ../src/preferences_dialog.c:465
+#, fuzzy
+msgid "Cache size"
msgstr "Rozmiar:"
-#: ../src/main_window.c:1466
+#: ../src/preferences_dialog.c:466
msgid "MB"
msgstr "MB"
-#: ../src/main_window.c:1468
-msgid "_Preload images (GUI more responsive but more CPU-intensive)"
-msgstr ""
-"_Wcześniejsze wczytywanie obrazów\n"
-"(zmniejsza czas reakcji kosztem obciążenia procesora)"
+#: ../src/preferences_dialog.c:469
+#, fuzzy
+msgid "Enable cache"
+msgstr "Pamięć podręczna"
-#: ../src/main_window.c:1486
-msgid "Timeout"
-msgstr "Czas"
+#: ../src/preferences_dialog.c:474
+#, fuzzy
+msgid "Preload images"
+msgstr "_Ładuj grafiki"
-#: ../src/main_window.c:1489
-msgid "Thumbnails"
-msgstr "Miniatury"
+#: ../src/preferences_dialog.c:544
+#, fuzzy
+msgid "Preferences"
+msgstr "Preferencje programu"
-#: ../src/main_window.c:1494
-msgid ""
-"The time period an individual image is displayed during a slideshow\n"
-"(in seconds)"
-msgstr "Czas wyświetlania pojedynczego obrazu (w sekundach):"
+#: ../src/xfce_wallpaper_manager.c:84
+#, fuzzy
+msgid "Set as wallpaper"
+msgstr "_Ustaw jako tapetę"
-#: ../src/main_window.c:1497
-msgid "Hide the thumbnails bar during slideshow"
-msgstr "Miniatury obrazów podczas pokazu slajdów mogą zostać ukryte."
+#: ../src/xfce_wallpaper_manager.c:86
+msgid "Style:"
+msgstr ""
-#: ../src/main_window.c:1498
-msgid "_Hide thumbnails"
-msgstr "_Ukrywanie"
+#: ../src/xfce_wallpaper_manager.c:88
+msgid "Monitor:"
+msgstr ""
-#: ../src/main_window.c:1556
-msgid "Developer:"
-msgstr "Twórca:"
+#: ../src/xfce_wallpaper_manager.c:90
+msgid "Brightness:"
+msgstr ""
-#: ../src/main_window.c:1566
-msgid "Ristretto is a fast and lightweight picture-viewer for the Xfce desktop environment."
-msgstr "Przeglądarka obrazów dla środowiska Xfce"
+#: ../src/xfce_wallpaper_manager.c:91
+#, fuzzy
+msgid "Saturation:"
+msgstr "_Obróć"
-#: ../src/main_window.c:1574
-msgid "translator-credits"
+#: ../src/xfce_wallpaper_manager.c:123
+msgid "Auto"
msgstr ""
-"Łukasz Romanowicz <lukasz210 at gmail.com>\n"
-"Piotr Sokół <piotr.sokol at 10g.pl>"
-#: ../src/main_window.c:1600
-msgid "Open image"
-msgstr "Wybór pliku"
+#: ../src/xfce_wallpaper_manager.c:124
+msgid "Centered"
+msgstr ""
-#: ../src/main_window.c:1618
-msgid "Could not open file"
-msgstr "Nie można otworzyć pliku"
+#: ../src/xfce_wallpaper_manager.c:125
+#, fuzzy
+msgid "Tiled"
+msgstr "_Plik"
-#: ../src/main_window.c:1640
-msgid "Open folder"
-msgstr "Wybór katalogu"
+#: ../src/xfce_wallpaper_manager.c:126
+msgid "Stretched"
+msgstr ""
-#: ../src/main_window.c:1715
-msgid "Are you sure you want to clear ristretto's list of recently opened documents?"
-msgstr "Wyczyścić listę ostatnio otwartych plików?"
+#: ../src/xfce_wallpaper_manager.c:127
+#, fuzzy
+msgid "Scaled"
+msgstr "Skalowanie"
+
+#: ../src/xfce_wallpaper_manager.c:128
+msgid "Zoomed"
+msgstr ""
-#: ../src/thumbnail_bar.c:185
+#: ../src/thumbnail_bar.c:187
msgid "Spacing"
msgstr "Odstęp"
-#: ../src/thumbnail_bar.c:186
+#: ../src/thumbnail_bar.c:188
msgid "The amount of space between the thumbnails"
msgstr "Odstęp pomiędzy miniaturami"
-#: ../src/thumbnail_bar.c:192
-msgid "Border Width"
+#: ../src/thumbnail_bar.c:194
+#, fuzzy
+msgid "border width"
msgstr "Długość linii"
-#: ../src/thumbnail_bar.c:193
-msgid "The border width of the thumbnail-bar"
+#: ../src/thumbnail_bar.c:195
+#, fuzzy
+msgid "the border width of the thumbnail-bar"
+msgstr "Długość linii na pasku miniatur"
+
+#: ../src/thumbnail_bar.c:201
+msgid "filmstrip width"
+msgstr ""
+
+#: ../src/thumbnail_bar.c:202
+#, fuzzy
+msgid "the width of the thumbnail-bar film-strip"
msgstr "Długość linii na pasku miniatur"
#: ../ristretto.desktop.in.h:1
@@ -261,21 +572,63 @@ msgid "Image Viewer"
msgstr "Przeglądarka obrazów"
#: ../ristretto.desktop.in.h:2
-msgid "Ristretto"
-msgstr "Przeglądarka obrazów Ristretto"
+msgid "Look at your photo's easily"
+msgstr ""
#: ../ristretto.desktop.in.h:3
-msgid "Xfce Image viewer"
-msgstr "Przeglądarka obrazów dla środowiska Xfce"
+msgid "Ristretto Photo Viewer"
+msgstr ""
+
+#, fuzzy
+#~ msgid "Ristretto"
+#~ msgstr "Przeglądarka obrazów Ristretto"
+
+#, fuzzy
+#~ msgid "_Thumbnail Bar"
+#~ msgstr "Miniatury"
+
+#~ msgid "Opening file(s)..."
+#~ msgstr "Otwieranie pliku..."
+
+#~ msgid "_Recently used"
+#~ msgstr "Ostatnio otwa_rte"
+
+#~ msgid "No applications available"
+#~ msgstr "Brak odpowiedniego programu"
+
+#~ msgid "Thumbnail _Viewer"
+#~ msgstr "_Miniatury"
+
+#~ msgid "Show _Horizontally"
+#~ msgstr "P_oziomo"
+
+#~ msgid "Show _Vertically"
+#~ msgstr "P_ionowo"
+
+#~ msgid "H_ide"
+#~ msgstr "_Ukryj"
+
+#~ msgid ""
+#~ "One or more images have been modified, do you want to save the changes?"
+#~ msgstr "Jeden lub więcej obrazów zostało zmodyfikowanych. Zapisać zmiany?"
+
+#~ msgid "_Preload images (GUI more responsive but more CPU-intensive)"
+#~ msgstr ""
+#~ "_Wcześniejsze wczytywanie obrazów\n"
+#~ "(zmniejsza czas reakcji kosztem obciążenia procesora)"
+
+#~ msgid "Hide the thumbnails bar during slideshow"
+#~ msgstr "Miniatury obrazów podczas pokazu slajdów mogą zostać ukryte."
+
+#~ msgid "Xfce Image viewer"
+#~ msgstr "Przeglądarka obrazów dla środowiska Xfce"
#~ msgid "Preload"
#~ msgstr "Preload"
+
#~ msgid ""
#~ "Preload images during slideshow\n"
#~ "(uses more memory)"
#~ msgstr ""
#~ "Ładuje grafiki z pokazu slajdów\n"
#~ "(zużywa więcej pamięci)"
-#~ msgid "_Preload images"
-#~ msgstr "_Ładuj grafiki"
-
diff --git a/po/pt.po b/po/pt.po
index f407215..4c0242f 100644
--- a/po/pt.po
+++ b/po/pt.po
@@ -5,30 +5,32 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: ristretto\n"
+"Project-Id-Version: ristretto 0.0.22\n"
"Report-Msgid-Bugs-To: xfce-i18n at xfce.org\n"
-"POT-Creation-Date: 2008-11-14 13:24+0100\n"
-"PO-Revision-Date: 2009-01-09 16:41+0100\n"
-"Last-Translator: Nuno Miguel <nunis at netcabo.pt>\n"
+"POT-Creation-Date: 2010-01-15 00:57+0100\n"
+"PO-Revision-Date: 2010-01-15 14:16-0000\n"
+"Last-Translator: Sérgio Marques <smarquespt at gmail.com>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+"X-Poedit-Language: Portuguese\n"
+"X-Poedit-Country: PORTUGAL\n"
-#: ../src/main.c:61
+#: ../src/main.c:59
msgid "Version information"
msgstr "Informação de versão"
-#: ../src/main.c:65
+#: ../src/main.c:63
msgid "Start in fullscreen mode"
msgstr "Iniciar no modo de ecrã inteiro"
-#: ../src/main.c:69
+#: ../src/main.c:67
msgid "Start a slideshow"
msgstr "Iniciar uma apresentação"
-#: ../src/main.c:235
+#: ../src/main.c:91
#, c-format
msgid ""
"%s: %s\n"
@@ -37,242 +39,511 @@ msgstr ""
"%s: %s\n"
"Tente %s --help para ver uma lista completa de opções em linha de comandos disponíveis.\n"
-#: ../src/main.c:448
-#: ../src/main_window.c:1598
-#: ../src/main_window.c:1638
-#: ../src/main_window.c:1675
-msgid "Opening file(s)..."
-msgstr "A abrir ficheiro(s)..."
-
-#. Create 'File' menu
-#: ../src/main_window.c:340
+#. File Menu
+#: ../src/main_window.c:262
msgid "_File"
msgstr "_Ficheiro"
-#: ../src/main_window.c:347
-msgid "O_pen Folder"
-msgstr "A_brir Pasta"
+#: ../src/main_window.c:263
+msgid "_Open"
+msgstr "_Abrir"
+
+#: ../src/main_window.c:263
+msgid "Open an image"
+msgstr "Abrir uma imagem"
+
+#: ../src/main_window.c:264
+msgid "Open _Folder"
+msgstr "Abrir _Pasta"
+
+#: ../src/main_window.c:264
+msgid "Open a folder"
+msgstr "Abrir uma pasta"
+
+#: ../src/main_window.c:265
+msgid "_Save copy"
+msgstr "_Gravar cópia"
+
+#: ../src/main_window.c:265
+msgid "Save a copy of the image"
+msgstr "Gravar uma cópia da imagem"
+
+#: ../src/main_window.c:266
+msgid "_Print"
+msgstr "_Imprimir"
+
+#: ../src/main_window.c:266
+msgid "Print the image"
+msgstr "Imprimir a imagem"
+
+#: ../src/main_window.c:267
+msgid "_Close"
+msgstr "_Fechar"
+
+#: ../src/main_window.c:267
+msgid "Close this image"
+msgstr "Fechar esta imagem"
+
+#: ../src/main_window.c:268
+msgid "_Close All"
+msgstr "_Fechar Todas"
+
+#: ../src/main_window.c:268
+msgid "Close all images"
+msgstr "Fechar todas as imagens"
-#: ../src/main_window.c:348
-msgid "_Recently used"
-msgstr "_Recentemente usado"
+#: ../src/main_window.c:269
+msgid "_Quit"
+msgstr "_Sair"
-#: ../src/main_window.c:353
-msgid "Close _all"
-msgstr "Fechar _tudo"
+#: ../src/main_window.c:269
+msgid "Quit Ristretto"
+msgstr "Sair do Ristretto"
-#. Create 'Edit' menu
-#: ../src/main_window.c:383
+#. Edit Menu
+#: ../src/main_window.c:271
msgid "_Edit"
msgstr "_Editar"
-#: ../src/main_window.c:388
-#: ../src/main_window.c:659
-msgid "Open with..."
-msgstr "Abrir com..."
+#: ../src/main_window.c:272
+msgid "_Open with..."
+msgstr "Abrir c_om..."
-#: ../src/main_window.c:396
-#: ../src/main_window.c:670
-msgid "No applications available"
-msgstr "Sem aplicações disponíveis"
+#: ../src/main_window.c:273
+msgid "_Sorting"
+msgstr "_Ordenação"
-#. Create 'View' menu
-#: ../src/main_window.c:405
+#: ../src/main_window.c:274
+msgid "_Delete"
+msgstr "_Apagar"
+
+#: ../src/main_window.c:275
+msgid "_Preferences"
+msgstr "_Preferências"
+
+#. View Menu
+#: ../src/main_window.c:277
msgid "_View"
msgstr "_Ver"
-#: ../src/main_window.c:412
-msgid "Show _Toolbar"
-msgstr "Mostrar _Barra de Ferramentas"
+#: ../src/main_window.c:278
+msgid "_Fullscreen"
+msgstr "_Ecrã inteiro"
-#: ../src/main_window.c:413
-msgid "Thumbnail _Viewer"
-msgstr "_Visualizador de Miniaturas"
+#: ../src/main_window.c:279
+msgid "_Leave Fullscreen"
+msgstr "_Deixar Ecrã Inteiro"
+
+#: ../src/main_window.c:280
+msgid "_Set as Wallpaper"
+msgstr "_Definir como papel de parede"
-#: ../src/main_window.c:417
+#. Zoom submenu
+#: ../src/main_window.c:282
msgid "_Zooming"
-msgstr "_Ampliar"
+msgstr "_Tamanho"
-#: ../src/main_window.c:418
-msgid "_Rotate"
-msgstr "_Girar"
+#: ../src/main_window.c:283
+msgid "Zoom _In"
+msgstr "A_mpliar"
-#: ../src/main_window.c:425
-msgid "_Set as wallpaper"
-msgstr "_Definir como papel de parede"
+#: ../src/main_window.c:284
+msgid "Zoom _Out"
+msgstr "Redu_zir"
-#: ../src/main_window.c:476
-msgid "Show _Horizontally"
-msgstr "Mostrar _Horizontalmente"
+#: ../src/main_window.c:285
+msgid "Zoom _Fit"
+msgstr "Aju_star tamanho"
-#: ../src/main_window.c:480
-msgid "Show _Vertically"
-msgstr "Mostrar _Verticalmente"
+#: ../src/main_window.c:286
+msgid "_Normal Size"
+msgstr "Tamanho _Normal"
-#: ../src/main_window.c:484
-msgid "H_ide"
-msgstr "Ocu_ltar"
+#. Rotation submenu
+#: ../src/main_window.c:288
+msgid "_Rotation"
+msgstr "_Rotação"
-#: ../src/main_window.c:521
+#: ../src/main_window.c:289
msgid "Rotate _Right"
-msgstr "Girar para _Direita"
+msgstr "Rodar à _Direita"
-#: ../src/main_window.c:522
+#: ../src/main_window.c:290
msgid "Rotate _Left"
-msgstr "Girar para _Esquerda"
+msgstr "Rodar à _Esquerda"
-#. Create 'Go' menu
-#: ../src/main_window.c:543
+#. Go Menu
+#: ../src/main_window.c:292
msgid "_Go"
msgstr "_Ir"
-#. Create 'Help' menu
-#: ../src/main_window.c:574
+#: ../src/main_window.c:293
+msgid "_Forward"
+msgstr "_Avançar"
+
+#: ../src/main_window.c:294
+msgid "_Back"
+msgstr "_Retroceder"
+
+#: ../src/main_window.c:295
+msgid "_First"
+msgstr "_Primeiro"
+
+#: ../src/main_window.c:296
+msgid "_Last"
+msgstr "Últi_mo"
+
+#. Help Menu
+#: ../src/main_window.c:298
msgid "_Help"
msgstr "_Ajuda"
-#: ../src/main_window.c:906
-msgid "One or more images have been modified, do you want to save the changes?"
-msgstr "Uma ou mais imagens foram modificadas, deseja gravar as alterações?"
+#: ../src/main_window.c:300
+msgid "_Contents"
+msgstr "_Conteúdos"
+
+#: ../src/main_window.c:302
+msgid "Display ristretto user manual"
+msgstr "Mostrar o manual de utilizador do ristretto"
+
+#: ../src/main_window.c:305
+msgid "_About"
+msgstr "_Sobre"
+
+#: ../src/main_window.c:307
+msgid "Display information about ristretto"
+msgstr "Mostrar informação sobre o ristretto"
+
+#. Position Menu
+#: ../src/main_window.c:310
+msgid "_Position"
+msgstr "_Posição"
+
+#. Misc
+#: ../src/main_window.c:312
+msgid "Leave _Fullscreen"
+msgstr "Deixar _Ecrã inteiro"
+
+#. Toggle visibility of the main file toolbar
+#: ../src/main_window.c:320
+msgid "Show _File Toolbar"
+msgstr "Mostrar Barra de _Ficheiro"
+
+#. Toggle visibility of the main navigation toolbar
+#: ../src/main_window.c:322
+msgid "Show _Navigation Toolbar"
+msgstr "Mostrar Barra de _Navegação"
+
+#. Toggle visibility of the thumbnailbar
+#: ../src/main_window.c:324
+msgid "Show _Thumbnailbar"
+msgstr "Mostrar _Barra de Miniaturas"
+
+#. Sort by Filename
+#: ../src/main_window.c:331
+msgid "sort by filename"
+msgstr "ordenar por nome"
+
+#. Sort by Date
+#: ../src/main_window.c:333
+msgid "sort by date"
+msgstr "ordenar por data"
+
+#: ../src/main_window.c:339
+msgid "Left"
+msgstr "Esquerda"
+
+#: ../src/main_window.c:340
+msgid "Right"
+msgstr "Direita"
+
+#: ../src/main_window.c:341
+msgid "Top"
+msgstr "Superior"
+
+#: ../src/main_window.c:342
+msgid "Bottom"
+msgstr "Inferior"
-#: ../src/main_window.c:1394
-msgid "Image viewer Preferences"
-msgstr "Preferências do Visualizador de Imagens"
+#: ../src/main_window.c:512
+#: ../src/main_window.c:778
+msgid "Press open to select an image"
+msgstr "Prima abrir para seleccionar uma imagem"
-#: ../src/main_window.c:1412
+#: ../src/main_window.c:765
+#: ../src/main_window.c:770
+msgid "Empty"
+msgstr "Vazio"
+
+#: ../src/main_window.c:1545
+msgid "Developer:"
+msgstr "Programador:"
+
+#: ../src/main_window.c:1555
+msgid "Ristretto is an imageviewer for the Xfce desktop environment."
+msgstr "Ristretto é um visualizador de imagens para o ambiente Xfce."
+
+#: ../src/main_window.c:1563
+msgid "translator-credits"
+msgstr "Nuno Miguel <nunis at netcabo.pt>"
+
+#: ../src/main_window.c:1878
+msgid "Open image"
+msgstr "Abrir imagem"
+
+#: ../src/main_window.c:1890
+msgid "Images"
+msgstr "Imagens"
+
+#: ../src/main_window.c:1895
+msgid ".jp(e)g"
+msgstr ".jp(e)g"
+
+#: ../src/main_window.c:1917
+#: ../src/main_window.c:1940
+#: ../src/main_window.c:2099
+#: ../src/main_window.c:2114
+msgid "Could not open file"
+msgstr "Incapaz de abrir ficheiro"
+
+#: ../src/main_window.c:1992
+msgid "Open folder"
+msgstr "Abrir pasta"
+
+#: ../src/main_window.c:2137
+msgid "Save copy"
+msgstr "Gravar cópia"
+
+#: ../src/main_window.c:2210
+#, c-format
+msgid "Are you sure you want to delete image '%s' from disk?"
+msgstr "Tem a certeza que quer apagar do disco a imagem '%s'?"
+
+#: ../src/preferences_dialog.c:230
msgid "Display"
msgstr "Exibição"
-#: ../src/main_window.c:1416
+#: ../src/preferences_dialog.c:235
+msgid "Background color"
+msgstr "Cor de fundo"
+
+#: ../src/preferences_dialog.c:239
+msgid "Override background color:"
+msgstr "Substituir cor de fundo:"
+
+#: ../src/preferences_dialog.c:267
+msgid "Quality"
+msgstr "Qualidade"
+
+#: ../src/preferences_dialog.c:271
+msgid "Maximum render quality:"
+msgstr "Qualidade máxima de renderização:"
+
+#: ../src/preferences_dialog.c:274
+msgid "Show preview when loading image"
+msgstr "Mostrar pré-visualização ao carregar imagem"
+
+#: ../src/preferences_dialog.c:281
+msgid "Best"
+msgstr "Melhor"
+
+#: ../src/preferences_dialog.c:282
+msgid "High"
+msgstr "Alto"
+
+#: ../src/preferences_dialog.c:283
+msgid "Medium"
+msgstr "Médio"
+
+#: ../src/preferences_dialog.c:284
+msgid "Low"
+msgstr "Baixo"
+
+#: ../src/preferences_dialog.c:324
msgid "Slideshow"
-msgstr "Apresentação de Slides"
+msgstr "Apresentação"
+
+#: ../src/preferences_dialog.c:328
+msgid "Timeout"
+msgstr "Tempo de Espera"
+
+#: ../src/preferences_dialog.c:331
+msgid ""
+"The time period an individual image is displayed during a slideshow\n"
+"(in seconds)"
+msgstr ""
+"O período de tempo que uma imagem individual é exibida durante uma apresentação\n"
+"(em segundos)"
+
+#: ../src/preferences_dialog.c:346
+msgid "Thumbnails"
+msgstr "Miniaturas"
+
+#: ../src/preferences_dialog.c:349
+msgid ""
+"The thumbnailbar can be automatically hidden \n"
+"when the image-viewer is fullscreen."
+msgstr ""
+"A barra de miniaturas pode ser automaticamente ocultada \n"
+"quando o visualizador está em ecrã inteiro."
+
+#: ../src/preferences_dialog.c:351
+msgid "Hide thumbnailbar when fullscreen"
+msgstr "Ocultar barra de miniaturas em ecrã inteiro"
+
+#: ../src/preferences_dialog.c:364
+msgid "Control"
+msgstr "Controlo"
+
+#: ../src/preferences_dialog.c:368
+msgid "Scrollwheel"
+msgstr "Roda de deslocamento"
+
+#: ../src/preferences_dialog.c:371
+msgid "No action"
+msgstr "Sem acção"
+
+#: ../src/preferences_dialog.c:375
+msgid "Zoom in and out"
+msgstr "Ampliar e reduzir"
+
+#: ../src/preferences_dialog.c:378
+msgid "Switch images"
+msgstr "Trocar imagens"
-#: ../src/main_window.c:1420
+#: ../src/preferences_dialog.c:412
msgid "Behaviour"
msgstr "Comportamento"
-#: ../src/main_window.c:1425
+#: ../src/preferences_dialog.c:417
msgid "Scaling"
msgstr "Redimensionamento"
-#: ../src/main_window.c:1427
+#: ../src/preferences_dialog.c:422
msgid "Don't scale over 100% when maximizing the window."
-msgstr "Não escalar acima de 100% quando maximizar a janela."
+msgstr "Não escalonar acima de 100% ao maximizar a janela."
-#: ../src/main_window.c:1437
-msgid "Background Color"
-msgstr "Cor de Fundo"
+#: ../src/preferences_dialog.c:426
+msgid "Startup"
+msgstr "Início"
-#: ../src/main_window.c:1439
-msgid "_Override Background Color:"
-msgstr "_Substituir Cor de Fundo:"
+#: ../src/preferences_dialog.c:428
+msgid "Resize window to image on startup"
+msgstr "Redimensionar janela à imagem ao iniciar"
-#: ../src/main_window.c:1462
-msgid "Image Cache"
+#: ../src/preferences_dialog.c:432
+msgid "Open entire folder on startup"
+msgstr "Abrir janela inteira ao iniciar"
+
+#: ../src/preferences_dialog.c:437
+msgid "Wrap around images"
+msgstr "Contorno em redor das imagens"
+
+#: ../src/preferences_dialog.c:453
+msgid "Memory"
+msgstr "Memória"
+
+#: ../src/preferences_dialog.c:459
+msgid "Image cache"
msgstr "Cache de Imagem"
-#: ../src/main_window.c:1465
-msgid "Cache size:"
-msgstr "Tamanho de cache:"
+#: ../src/preferences_dialog.c:465
+msgid "Cache size"
+msgstr "Tamanho de cache"
-#: ../src/main_window.c:1466
+#: ../src/preferences_dialog.c:466
msgid "MB"
msgstr "MB"
-#: ../src/main_window.c:1468
-msgid "_Preload images (GUI more responsive but more CPU-intensive)"
-msgstr "_Pré-carregar imagens (GUI mais rápida mas maior consumo de CPU)"
+#: ../src/preferences_dialog.c:469
+msgid "Enable cache"
+msgstr "Ligar cache"
-#: ../src/main_window.c:1486
-msgid "Timeout"
-msgstr "Tempo de Espera"
+#: ../src/preferences_dialog.c:474
+msgid "Preload images"
+msgstr "Pré-carregar imagens"
-#: ../src/main_window.c:1489
-msgid "Thumbnails"
-msgstr "Miniaturas"
+#: ../src/preferences_dialog.c:544
+msgid "Preferences"
+msgstr "Preferências"
-#: ../src/main_window.c:1494
-msgid ""
-"The time period an individual image is displayed during a slideshow\n"
-"(in seconds)"
-msgstr ""
-"O período de tempo que uma imagem individual é exibida durante uma apresentação de slides\n"
-"(em segundos)"
+#: ../src/xfce_wallpaper_manager.c:84
+msgid "Set as wallpaper"
+msgstr "Definir como papel de parede"
-#: ../src/main_window.c:1497
-msgid "Hide the thumbnails bar during slideshow"
-msgstr "Ocultar a barra de miniaturas durante a apresentação"
+#: ../src/xfce_wallpaper_manager.c:86
+msgid "Style:"
+msgstr "Estilo:"
-#: ../src/main_window.c:1498
-msgid "_Hide thumbnails"
-msgstr "_Ocultar miniaturas"
+#: ../src/xfce_wallpaper_manager.c:88
+msgid "Monitor:"
+msgstr "Monitor:"
-#: ../src/main_window.c:1556
-msgid "Developer:"
-msgstr "Programador:"
+#: ../src/xfce_wallpaper_manager.c:90
+msgid "Brightness:"
+msgstr "Brilho:"
-#: ../src/main_window.c:1566
-msgid "Ristretto is a fast and lightweight picture-viewer for the Xfce desktop environment."
-msgstr "Ristretto é um rápido e leve visualizador de imagens para o ambiente de desktop Xfce."
+#: ../src/xfce_wallpaper_manager.c:91
+msgid "Saturation:"
+msgstr "Saturação:"
-#: ../src/main_window.c:1574
-msgid "translator-credits"
-msgstr "Nuno Miguel <nunis at netcabo.pt>"
+#: ../src/xfce_wallpaper_manager.c:123
+msgid "Auto"
+msgstr "Auto"
-#: ../src/main_window.c:1600
-msgid "Open image"
-msgstr "Abrir imagem"
+#: ../src/xfce_wallpaper_manager.c:124
+msgid "Centered"
+msgstr "Centrado"
-#: ../src/main_window.c:1618
-msgid "Could not open file"
-msgstr "Incapaz de abrir ficheiro"
+#: ../src/xfce_wallpaper_manager.c:125
+msgid "Tiled"
+msgstr "Mosaico"
-#: ../src/main_window.c:1640
-msgid "Open folder"
-msgstr "Abrir pasta"
+#: ../src/xfce_wallpaper_manager.c:126
+msgid "Stretched"
+msgstr "Esticado"
-#: ../src/main_window.c:1715
-msgid "Are you sure you want to clear ristretto's list of recently opened documents?"
-msgstr "Tem a certeza que deseja apagar a lista de documentos usados recentemente?"
+#: ../src/xfce_wallpaper_manager.c:127
+msgid "Scaled"
+msgstr "Escalonado"
-#: ../src/thumbnail_bar.c:185
+#: ../src/xfce_wallpaper_manager.c:128
+msgid "Zoomed"
+msgstr "Ampliado"
+
+#: ../src/thumbnail_bar.c:187
msgid "Spacing"
msgstr "Espaçamento"
-#: ../src/thumbnail_bar.c:186
+#: ../src/thumbnail_bar.c:188
msgid "The amount of space between the thumbnails"
msgstr "A quantidade de espaço entre miniaturas"
-#: ../src/thumbnail_bar.c:192
-msgid "Border Width"
-msgstr "Espessura do Contorno"
+#: ../src/thumbnail_bar.c:194
+msgid "border width"
+msgstr "largura da borda"
+
+#: ../src/thumbnail_bar.c:195
+msgid "the border width of the thumbnail-bar"
+msgstr "a largura da borda da barra de miniaturas"
+
+#: ../src/thumbnail_bar.c:201
+msgid "filmstrip width"
+msgstr "largura da película"
-#: ../src/thumbnail_bar.c:193
-msgid "The border width of the thumbnail-bar"
-msgstr "A largura da borda da barra de miniatura"
+#: ../src/thumbnail_bar.c:202
+msgid "the width of the thumbnail-bar film-strip"
+msgstr "a largura da barra de película das miniaturas"
#: ../ristretto.desktop.in.h:1
msgid "Image Viewer"
msgstr "Visualizador de Imagem"
#: ../ristretto.desktop.in.h:2
-msgid "Ristretto"
-msgstr "Ristretto"
+msgid "Look at your photo's easily"
+msgstr "Veja as suas fotos facilmente"
#: ../ristretto.desktop.in.h:3
-msgid "Xfce Image viewer"
-msgstr "Visualizador de Imagem Xfce"
-
-#~ msgid "Preload"
-#~ msgstr "Pré-carregamento"
-#~ msgid ""
-#~ "Preload images during slideshow\n"
-#~ "(uses more memory)"
-#~ msgstr ""
-#~ "Pré-Carregar imagens durante uma apresentação de slides\n"
-#~ "(usa mais memória)"
-#~ msgid "_Preload images"
-#~ msgstr "Carregar imagens _previamente"
-#~ msgid "Ristretto Image Viewer"
-#~ msgstr "Visualizador de Imagem Ristretto"
+msgid "Ristretto Photo Viewer"
+msgstr "Visualizador de Fotos Ristretto"
diff --git a/po/pt_BR.po b/po/pt_BR.po
index c23e114..294f721 100644
--- a/po/pt_BR.po
+++ b/po/pt_BR.po
@@ -4,12 +4,11 @@
# Og Maciel <ogmaciel at gnome.org>, 2007-2008.
# Fábio Nogueira <deb-user-ba at ubuntu.com>, 2007-2008.
#
-#: ../src/main.c:231
msgid ""
msgstr ""
"Project-Id-Version: 0.0.10\n"
"Report-Msgid-Bugs-To: xfce-i18n at xfce.org\n"
-"POT-Creation-Date: 2008-11-14 13:24+0100\n"
+"POT-Creation-Date: 2010-01-15 00:57+0100\n"
"PO-Revision-Date: 2008-11-28 21:44-0500\n"
"Last-Translator: Og Maciel <ogmaciel at gnome.org>\n"
"Language-Team: Brazilian Portuguese <ldp-br at bazar2.conectiva.com.br>\n"
@@ -18,19 +17,19 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
-#: ../src/main.c:61
+#: ../src/main.c:59
msgid "Version information"
msgstr "Informação da versão"
-#: ../src/main.c:65
+#: ../src/main.c:63
msgid "Start in fullscreen mode"
msgstr "Iniciar no modo tela cheia"
-#: ../src/main.c:69
+#: ../src/main.c:67
msgid "Start a slideshow"
msgstr "Iniciar uma apresentação de slides"
-#: ../src/main.c:235
+#: ../src/main.c:91
#, c-format
msgid ""
"%s: %s\n"
@@ -40,225 +39,537 @@ msgstr ""
"Tente %s --help para ver uma lista completa das opções de linha de comando "
"disponíveis.\n"
-#: ../src/main.c:448 ../src/main_window.c:1598 ../src/main_window.c:1638
-#: ../src/main_window.c:1675
-msgid "Opening file(s)..."
-msgstr "Abrindo arquivo(s)..."
-
-#. Create 'File' menu
-#: ../src/main_window.c:340
+#. File Menu
+#: ../src/main_window.c:262
msgid "_File"
msgstr "_Arquivo"
-#: ../src/main_window.c:347
-msgid "O_pen Folder"
+#: ../src/main_window.c:263
+msgid "_Open"
+msgstr ""
+
+#: ../src/main_window.c:263
+#, fuzzy
+msgid "Open an image"
+msgstr "Abrir imagem"
+
+#: ../src/main_window.c:264
+#, fuzzy
+msgid "Open _Folder"
msgstr "A_brir Pasta"
-#: ../src/main_window.c:348
-msgid "_Recently used"
-msgstr "Usado _recentemente"
+#: ../src/main_window.c:264
+#, fuzzy
+msgid "Open a folder"
+msgstr "Abrir pasta"
-#: ../src/main_window.c:353
-msgid "Close _all"
+#: ../src/main_window.c:265
+msgid "_Save copy"
+msgstr ""
+
+#: ../src/main_window.c:265
+msgid "Save a copy of the image"
+msgstr ""
+
+#: ../src/main_window.c:266
+msgid "_Print"
+msgstr ""
+
+#: ../src/main_window.c:266
+#, fuzzy
+msgid "Print the image"
+msgstr "Carregar imagens _previamente"
+
+#: ../src/main_window.c:267
+#, fuzzy
+msgid "_Close"
msgstr "Fechar _tudo"
-#. Create 'Edit' menu
-#: ../src/main_window.c:383
+#: ../src/main_window.c:267
+msgid "Close this image"
+msgstr ""
+
+#: ../src/main_window.c:268
+#, fuzzy
+msgid "_Close All"
+msgstr "Fechar _tudo"
+
+#: ../src/main_window.c:268
+#, fuzzy
+msgid "Close all images"
+msgstr "Fechar _tudo"
+
+#: ../src/main_window.c:269
+#, fuzzy
+msgid "_Quit"
+msgstr "_Editar"
+
+#: ../src/main_window.c:269
+#, fuzzy
+msgid "Quit Ristretto"
+msgstr "Ristretto"
+
+#. Edit Menu
+#: ../src/main_window.c:271
msgid "_Edit"
msgstr "_Editar"
-#: ../src/main_window.c:388 ../src/main_window.c:659
-msgid "Open with..."
+#: ../src/main_window.c:272
+#, fuzzy
+msgid "_Open with..."
msgstr "Abrir com..."
-#: ../src/main_window.c:396 ../src/main_window.c:670
-msgid "No applications available"
-msgstr "Nenhuma aplicação disponível"
+#: ../src/main_window.c:273
+#, fuzzy
+msgid "_Sorting"
+msgstr "_Ampliar"
+
+#: ../src/main_window.c:274
+msgid "_Delete"
+msgstr ""
+
+#: ../src/main_window.c:275
+#, fuzzy
+msgid "_Preferences"
+msgstr "Preferências do Visualizador de Imagens"
-#. Create 'View' menu
-#: ../src/main_window.c:405
+#. View Menu
+#: ../src/main_window.c:277
msgid "_View"
msgstr "_Ver"
-#: ../src/main_window.c:412
-msgid "Show _Toolbar"
-msgstr "Mostrar _Barra de Ferramentas"
+#: ../src/main_window.c:278
+msgid "_Fullscreen"
+msgstr ""
+
+#: ../src/main_window.c:279
+msgid "_Leave Fullscreen"
+msgstr ""
-#: ../src/main_window.c:413
-msgid "Thumbnail _Viewer"
-msgstr "_Visualizador de Miniaturas"
+#: ../src/main_window.c:280
+#, fuzzy
+msgid "_Set as Wallpaper"
+msgstr "D_efinir como papel de parede"
-#: ../src/main_window.c:417
+#. Zoom submenu
+#: ../src/main_window.c:282
msgid "_Zooming"
msgstr "_Ampliar"
-#: ../src/main_window.c:418
-msgid "_Rotate"
-msgstr "_Girar"
+#: ../src/main_window.c:283
+#, fuzzy
+msgid "Zoom _In"
+msgstr "_Ampliar"
-#: ../src/main_window.c:425
-msgid "_Set as wallpaper"
-msgstr "D_efinir como papel de parede"
+#: ../src/main_window.c:284
+msgid "Zoom _Out"
+msgstr ""
-#: ../src/main_window.c:476
-msgid "Show _Horizontally"
-msgstr "Mostrar _Horizontalmente"
+#: ../src/main_window.c:285
+msgid "Zoom _Fit"
+msgstr ""
-#: ../src/main_window.c:480
-msgid "Show _Vertically"
-msgstr "Mostrar _Verticalmente"
+#: ../src/main_window.c:286
+msgid "_Normal Size"
+msgstr ""
-#: ../src/main_window.c:484
-msgid "H_ide"
-msgstr "Ocu_ltar"
+#. Rotation submenu
+#: ../src/main_window.c:288
+#, fuzzy
+msgid "_Rotation"
+msgstr "_Girar"
-#: ../src/main_window.c:521
+#: ../src/main_window.c:289
msgid "Rotate _Right"
msgstr "Girar para _Direita"
-#: ../src/main_window.c:522
+#: ../src/main_window.c:290
msgid "Rotate _Left"
msgstr "Girar para _Esquerda"
-#. Create 'Go' menu
-#: ../src/main_window.c:543
+#. Go Menu
+#: ../src/main_window.c:292
msgid "_Go"
msgstr "_Ir"
-#. Create 'Help' menu
-#: ../src/main_window.c:574
+#: ../src/main_window.c:293
+msgid "_Forward"
+msgstr ""
+
+#: ../src/main_window.c:294
+msgid "_Back"
+msgstr ""
+
+#: ../src/main_window.c:295
+msgid "_First"
+msgstr ""
+
+#: ../src/main_window.c:296
+msgid "_Last"
+msgstr ""
+
+#. Help Menu
+#: ../src/main_window.c:298
msgid "_Help"
msgstr "Aj_uda"
-#: ../src/main_window.c:906
-msgid "One or more images have been modified, do you want to save the changes?"
+#: ../src/main_window.c:300
+msgid "_Contents"
msgstr ""
-"Uma ou mais imagens foram modificadas, você deseja salvar as alterações?"
-
-#: ../src/main_window.c:1394
-msgid "Image viewer Preferences"
-msgstr "Preferências do Visualizador de Imagens"
-#: ../src/main_window.c:1412
-msgid "Display"
-msgstr "Exibir"
+#: ../src/main_window.c:302
+msgid "Display ristretto user manual"
+msgstr ""
-#: ../src/main_window.c:1416
-msgid "Slideshow"
-msgstr "Apresentação de Slides"
+#: ../src/main_window.c:305
+msgid "_About"
+msgstr ""
-#: ../src/main_window.c:1420
-msgid "Behaviour"
-msgstr "Comportamento"
+#: ../src/main_window.c:307
+msgid "Display information about ristretto"
+msgstr ""
-#: ../src/main_window.c:1425
-msgid "Scaling"
-msgstr "Escalar"
+#. Position Menu
+#: ../src/main_window.c:310
+msgid "_Position"
+msgstr ""
-#: ../src/main_window.c:1427
-msgid "Don't scale over 100% when maximizing the window."
-msgstr "Não escalar mais que 100% quando maximizar a janela."
+#. Misc
+#: ../src/main_window.c:312
+msgid "Leave _Fullscreen"
+msgstr ""
-#: ../src/main_window.c:1437
-msgid "Background Color"
-msgstr "Cor de Fundo"
+#. Toggle visibility of the main file toolbar
+#: ../src/main_window.c:320
+#, fuzzy
+msgid "Show _File Toolbar"
+msgstr "Mostrar _Barra de Ferramentas"
-#: ../src/main_window.c:1439
-msgid "_Override Background Color:"
-msgstr "_Substituir Cor de Fundo:"
+#. Toggle visibility of the main navigation toolbar
+#: ../src/main_window.c:322
+#, fuzzy
+msgid "Show _Navigation Toolbar"
+msgstr "Mostrar _Barra de Ferramentas"
-#: ../src/main_window.c:1462
-msgid "Image Cache"
-msgstr "Cache de Imagem"
+#. Toggle visibility of the thumbnailbar
+#: ../src/main_window.c:324
+#, fuzzy
+msgid "Show _Thumbnailbar"
+msgstr "Mostrar _Barra de Ferramentas"
-#: ../src/main_window.c:1465
-msgid "Cache size:"
-msgstr "Tamanho do cache:"
+#. Sort by Filename
+#: ../src/main_window.c:331
+msgid "sort by filename"
+msgstr ""
-#: ../src/main_window.c:1466
-msgid "MB"
-msgstr "MB"
+#. Sort by Date
+#: ../src/main_window.c:333
+msgid "sort by date"
+msgstr ""
-#: ../src/main_window.c:1468
-msgid "_Preload images (GUI more responsive but more CPU-intensive)"
-msgstr "_Pré-carregamento de imagens (interface mais rápida mas com consumo maior de CPU)"
+#: ../src/main_window.c:339
+msgid "Left"
+msgstr ""
-#: ../src/main_window.c:1486
-msgid "Timeout"
-msgstr "Tempo de Espera"
+#: ../src/main_window.c:340
+msgid "Right"
+msgstr ""
-#: ../src/main_window.c:1489
-msgid "Thumbnails"
-msgstr "Miniaturas"
+#: ../src/main_window.c:341
+msgid "Top"
+msgstr ""
-#: ../src/main_window.c:1494
-msgid ""
-"The time period an individual image is displayed during a slideshow\n"
-"(in seconds)"
+#: ../src/main_window.c:342
+msgid "Bottom"
msgstr ""
-"O tempo que imagens individuais são exibidas durante uma apresentação de "
-"slides\n"
-"(em segundos)"
-#: ../src/main_window.c:1497
-msgid "Hide the thumbnails bar during slideshow"
-msgstr "Oculta a barra de miniaturas durante a apresentação de slides"
+#: ../src/main_window.c:512 ../src/main_window.c:778
+msgid "Press open to select an image"
+msgstr ""
-#: ../src/main_window.c:1498
-msgid "_Hide thumbnails"
-msgstr "_Ocultar miniaturas"
+#: ../src/main_window.c:765 ../src/main_window.c:770
+msgid "Empty"
+msgstr ""
-#: ../src/main_window.c:1556
+#: ../src/main_window.c:1545
msgid "Developer:"
msgstr "Desenvolvedor:"
-#: ../src/main_window.c:1566
-msgid ""
-"Ristretto is a fast and lightweight picture-viewer for the Xfce desktop "
-"environment."
+#: ../src/main_window.c:1555
+#, fuzzy
+msgid "Ristretto is an imageviewer for the Xfce desktop environment."
msgstr ""
"Ristretto é um visualizador de imagens rápido e leve para o ambiente de "
"trabalho do Xfce."
-#: ../src/main_window.c:1574
+#: ../src/main_window.c:1563
msgid "translator-credits"
msgstr ""
"Og Maciel <ogmaciel at gnome.org>,\n"
"Fábio Nogueira <deb-user-ba at ubuntu.com>"
-#: ../src/main_window.c:1600
+#: ../src/main_window.c:1878
msgid "Open image"
msgstr "Abrir imagem"
-#: ../src/main_window.c:1618
+#: ../src/main_window.c:1890
+msgid "Images"
+msgstr ""
+
+#: ../src/main_window.c:1895
+msgid ".jp(e)g"
+msgstr ""
+
+#: ../src/main_window.c:1917 ../src/main_window.c:1940
+#: ../src/main_window.c:2099 ../src/main_window.c:2114
msgid "Could not open file"
msgstr "Não foi possível abrir arquivo"
-#: ../src/main_window.c:1640
+#: ../src/main_window.c:1992
msgid "Open folder"
msgstr "Abrir pasta"
-#: ../src/main_window.c:1715
-msgid ""
-"Are you sure you want to clear ristretto's list of recently opened documents?"
+#: ../src/main_window.c:2137
+msgid "Save copy"
+msgstr ""
+
+#: ../src/main_window.c:2210
+#, fuzzy, c-format
+msgid "Are you sure you want to delete image '%s' from disk?"
msgstr ""
"Você tem certeza que deseja apagar do Ristretto a lista dos documentos "
"abertos mais recentes?"
-#: ../src/thumbnail_bar.c:185
+#: ../src/preferences_dialog.c:230
+msgid "Display"
+msgstr "Exibir"
+
+#: ../src/preferences_dialog.c:235
+#, fuzzy
+msgid "Background color"
+msgstr "Cor de Fundo"
+
+#: ../src/preferences_dialog.c:239
+#, fuzzy
+msgid "Override background color:"
+msgstr "_Substituir Cor de Fundo:"
+
+#: ../src/preferences_dialog.c:267
+msgid "Quality"
+msgstr ""
+
+#: ../src/preferences_dialog.c:271
+msgid "Maximum render quality:"
+msgstr ""
+
+#: ../src/preferences_dialog.c:274
+msgid "Show preview when loading image"
+msgstr ""
+
+#: ../src/preferences_dialog.c:281
+msgid "Best"
+msgstr ""
+
+#: ../src/preferences_dialog.c:282
+msgid "High"
+msgstr ""
+
+#: ../src/preferences_dialog.c:283
+msgid "Medium"
+msgstr ""
+
+#: ../src/preferences_dialog.c:284
+msgid "Low"
+msgstr ""
+
+#: ../src/preferences_dialog.c:324
+msgid "Slideshow"
+msgstr "Apresentação de Slides"
+
+#: ../src/preferences_dialog.c:328
+msgid "Timeout"
+msgstr "Tempo de Espera"
+
+#: ../src/preferences_dialog.c:331
+msgid ""
+"The time period an individual image is displayed during a slideshow\n"
+"(in seconds)"
+msgstr ""
+"O tempo que imagens individuais são exibidas durante uma apresentação de "
+"slides\n"
+"(em segundos)"
+
+#: ../src/preferences_dialog.c:346
+#, fuzzy
+msgid "Thumbnails"
+msgstr "Miniaturas"
+
+#: ../src/preferences_dialog.c:349
+msgid ""
+"The thumbnailbar can be automatically hidden \n"
+"when the image-viewer is fullscreen."
+msgstr ""
+
+#: ../src/preferences_dialog.c:351
+#, fuzzy
+msgid "Hide thumbnailbar when fullscreen"
+msgstr "_Ocultar miniaturas"
+
+#: ../src/preferences_dialog.c:364
+msgid "Control"
+msgstr ""
+
+#: ../src/preferences_dialog.c:368
+msgid "Scrollwheel"
+msgstr ""
+
+#: ../src/preferences_dialog.c:371
+msgid "No action"
+msgstr ""
+
+#: ../src/preferences_dialog.c:375
+msgid "Zoom in and out"
+msgstr ""
+
+#: ../src/preferences_dialog.c:378
+msgid "Switch images"
+msgstr ""
+
+#: ../src/preferences_dialog.c:412
+msgid "Behaviour"
+msgstr "Comportamento"
+
+#: ../src/preferences_dialog.c:417
+msgid "Scaling"
+msgstr "Escalar"
+
+#: ../src/preferences_dialog.c:422
+msgid "Don't scale over 100% when maximizing the window."
+msgstr "Não escalar mais que 100% quando maximizar a janela."
+
+#: ../src/preferences_dialog.c:426
+msgid "Startup"
+msgstr ""
+
+#: ../src/preferences_dialog.c:428
+msgid "Resize window to image on startup"
+msgstr ""
+
+#: ../src/preferences_dialog.c:432
+msgid "Open entire folder on startup"
+msgstr ""
+
+#: ../src/preferences_dialog.c:437
+#, fuzzy
+msgid "Wrap around images"
+msgstr "Abrir imagem"
+
+#: ../src/preferences_dialog.c:453
+msgid "Memory"
+msgstr ""
+
+#: ../src/preferences_dialog.c:459
+#, fuzzy
+msgid "Image cache"
+msgstr "Cache de Imagem"
+
+#: ../src/preferences_dialog.c:465
+#, fuzzy
+msgid "Cache size"
+msgstr "Tamanho do cache:"
+
+#: ../src/preferences_dialog.c:466
+msgid "MB"
+msgstr "MB"
+
+#: ../src/preferences_dialog.c:469
+#, fuzzy
+msgid "Enable cache"
+msgstr "Cache de Imagem"
+
+#: ../src/preferences_dialog.c:474
+#, fuzzy
+msgid "Preload images"
+msgstr "Carregar imagens _previamente"
+
+#: ../src/preferences_dialog.c:544
+#, fuzzy
+msgid "Preferences"
+msgstr "Preferências do Visualizador de Imagens"
+
+#: ../src/xfce_wallpaper_manager.c:84
+#, fuzzy
+msgid "Set as wallpaper"
+msgstr "D_efinir como papel de parede"
+
+#: ../src/xfce_wallpaper_manager.c:86
+msgid "Style:"
+msgstr ""
+
+#: ../src/xfce_wallpaper_manager.c:88
+msgid "Monitor:"
+msgstr ""
+
+#: ../src/xfce_wallpaper_manager.c:90
+msgid "Brightness:"
+msgstr ""
+
+#: ../src/xfce_wallpaper_manager.c:91
+#, fuzzy
+msgid "Saturation:"
+msgstr "_Girar"
+
+#: ../src/xfce_wallpaper_manager.c:123
+msgid "Auto"
+msgstr ""
+
+#: ../src/xfce_wallpaper_manager.c:124
+msgid "Centered"
+msgstr ""
+
+#: ../src/xfce_wallpaper_manager.c:125
+#, fuzzy
+msgid "Tiled"
+msgstr "_Arquivo"
+
+#: ../src/xfce_wallpaper_manager.c:126
+msgid "Stretched"
+msgstr ""
+
+#: ../src/xfce_wallpaper_manager.c:127
+#, fuzzy
+msgid "Scaled"
+msgstr "Escalar"
+
+#: ../src/xfce_wallpaper_manager.c:128
+msgid "Zoomed"
+msgstr ""
+
+#: ../src/thumbnail_bar.c:187
msgid "Spacing"
msgstr "Espaçamento"
-#: ../src/thumbnail_bar.c:186
+#: ../src/thumbnail_bar.c:188
msgid "The amount of space between the thumbnails"
msgstr "A quantidade de espaço entre as miniaturas"
-#: ../src/thumbnail_bar.c:192
-msgid "Border Width"
+#: ../src/thumbnail_bar.c:194
+#, fuzzy
+msgid "border width"
msgstr "Largura da Borda"
-#: ../src/thumbnail_bar.c:193
-msgid "The border width of the thumbnail-bar"
+#: ../src/thumbnail_bar.c:195
+#, fuzzy
+msgid "the border width of the thumbnail-bar"
+msgstr "A largura da borda da barra de miniatura"
+
+#: ../src/thumbnail_bar.c:201
+msgid "filmstrip width"
+msgstr ""
+
+#: ../src/thumbnail_bar.c:202
+#, fuzzy
+msgid "the width of the thumbnail-bar film-strip"
msgstr "A largura da borda da barra de miniatura"
#: ../ristretto.desktop.in.h:1
@@ -266,12 +577,58 @@ msgid "Image Viewer"
msgstr "Visualizador de Imagens"
#: ../ristretto.desktop.in.h:2
-msgid "Ristretto"
-msgstr "Ristretto"
+msgid "Look at your photo's easily"
+msgstr ""
#: ../ristretto.desktop.in.h:3
-msgid "Xfce Image viewer"
-msgstr "Visualizador de Imagens do Xfce"
+#, fuzzy
+msgid "Ristretto Photo Viewer"
+msgstr "Visualizador de Imagens Ristretto"
+
+#, fuzzy
+#~ msgid "Ristretto"
+#~ msgstr "Ristretto"
+
+#, fuzzy
+#~ msgid "_Thumbnail Bar"
+#~ msgstr "Miniaturas"
+
+#~ msgid "Opening file(s)..."
+#~ msgstr "Abrindo arquivo(s)..."
+
+#~ msgid "_Recently used"
+#~ msgstr "Usado _recentemente"
+
+#~ msgid "No applications available"
+#~ msgstr "Nenhuma aplicação disponível"
+
+#~ msgid "Thumbnail _Viewer"
+#~ msgstr "_Visualizador de Miniaturas"
+
+#~ msgid "Show _Horizontally"
+#~ msgstr "Mostrar _Horizontalmente"
+
+#~ msgid "Show _Vertically"
+#~ msgstr "Mostrar _Verticalmente"
+
+#~ msgid "H_ide"
+#~ msgstr "Ocu_ltar"
+
+#~ msgid ""
+#~ "One or more images have been modified, do you want to save the changes?"
+#~ msgstr ""
+#~ "Uma ou mais imagens foram modificadas, você deseja salvar as alterações?"
+
+#~ msgid "_Preload images (GUI more responsive but more CPU-intensive)"
+#~ msgstr ""
+#~ "_Pré-carregamento de imagens (interface mais rápida mas com consumo maior "
+#~ "de CPU)"
+
+#~ msgid "Hide the thumbnails bar during slideshow"
+#~ msgstr "Oculta a barra de miniaturas durante a apresentação de slides"
+
+#~ msgid "Xfce Image viewer"
+#~ msgstr "Visualizador de Imagens do Xfce"
#~ msgid "Preload"
#~ msgstr "Pré-carregamento"
@@ -282,9 +639,3 @@ msgstr "Visualizador de Imagens do Xfce"
#~ msgstr ""
#~ "Pré-Carregar imagens durante uma apresentação de slides\n"
#~ "(usa mais memória)"
-
-#~ msgid "_Preload images"
-#~ msgstr "Carregar imagens _previamente"
-
-#~ msgid "Ristretto Image Viewer"
-#~ msgstr "Visualizador de Imagens Ristretto"
diff --git a/po/ristretto.pot b/po/ristretto.pot
deleted file mode 100644
index a035a6a..0000000
--- a/po/ristretto.pot
+++ /dev/null
@@ -1,260 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-# FIRST AUTHOR <EMAIL at ADDRESS>, YEAR.
-#
-#: ../src/main.c:231
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: xfce-i18n at xfce.org\n"
-"POT-Creation-Date: 2008-11-14 13:24+0100\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
-"Language-Team: LANGUAGE <LL at li.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=CHARSET\n"
-"Content-Transfer-Encoding: 8bit\n"
-
-#: ../src/main.c:61
-msgid "Version information"
-msgstr ""
-
-#: ../src/main.c:65
-msgid "Start in fullscreen mode"
-msgstr ""
-
-#: ../src/main.c:69
-msgid "Start a slideshow"
-msgstr ""
-
-#: ../src/main.c:235
-#, c-format
-msgid ""
-"%s: %s\n"
-"Try %s --help to see a full list of available command line options.\n"
-msgstr ""
-
-#: ../src/main.c:448 ../src/main_window.c:1598 ../src/main_window.c:1638
-#: ../src/main_window.c:1675
-msgid "Opening file(s)..."
-msgstr ""
-
-#. Create 'File' menu
-#: ../src/main_window.c:340
-msgid "_File"
-msgstr ""
-
-#: ../src/main_window.c:347
-msgid "O_pen Folder"
-msgstr ""
-
-#: ../src/main_window.c:348
-msgid "_Recently used"
-msgstr ""
-
-#: ../src/main_window.c:353
-msgid "Close _all"
-msgstr ""
-
-#. Create 'Edit' menu
-#: ../src/main_window.c:383
-msgid "_Edit"
-msgstr ""
-
-#: ../src/main_window.c:388 ../src/main_window.c:659
-msgid "Open with..."
-msgstr ""
-
-#: ../src/main_window.c:396 ../src/main_window.c:670
-msgid "No applications available"
-msgstr ""
-
-#. Create 'View' menu
-#: ../src/main_window.c:405
-msgid "_View"
-msgstr ""
-
-#: ../src/main_window.c:412
-msgid "Show _Toolbar"
-msgstr ""
-
-#: ../src/main_window.c:413
-msgid "Thumbnail _Viewer"
-msgstr ""
-
-#: ../src/main_window.c:417
-msgid "_Zooming"
-msgstr ""
-
-#: ../src/main_window.c:418
-msgid "_Rotate"
-msgstr ""
-
-#: ../src/main_window.c:425
-msgid "_Set as wallpaper"
-msgstr ""
-
-#: ../src/main_window.c:476
-msgid "Show _Horizontally"
-msgstr ""
-
-#: ../src/main_window.c:480
-msgid "Show _Vertically"
-msgstr ""
-
-#: ../src/main_window.c:484
-msgid "H_ide"
-msgstr ""
-
-#: ../src/main_window.c:521
-msgid "Rotate _Right"
-msgstr ""
-
-#: ../src/main_window.c:522
-msgid "Rotate _Left"
-msgstr ""
-
-#. Create 'Go' menu
-#: ../src/main_window.c:543
-msgid "_Go"
-msgstr ""
-
-#. Create 'Help' menu
-#: ../src/main_window.c:574
-msgid "_Help"
-msgstr ""
-
-#: ../src/main_window.c:906
-msgid "One or more images have been modified, do you want to save the changes?"
-msgstr ""
-
-#: ../src/main_window.c:1394
-msgid "Image viewer Preferences"
-msgstr ""
-
-#: ../src/main_window.c:1412
-msgid "Display"
-msgstr ""
-
-#: ../src/main_window.c:1416
-msgid "Slideshow"
-msgstr ""
-
-#: ../src/main_window.c:1420
-msgid "Behaviour"
-msgstr ""
-
-#: ../src/main_window.c:1425
-msgid "Scaling"
-msgstr ""
-
-#: ../src/main_window.c:1427
-msgid "Don't scale over 100% when maximizing the window."
-msgstr ""
-
-#: ../src/main_window.c:1437
-msgid "Background Color"
-msgstr ""
-
-#: ../src/main_window.c:1439
-msgid "_Override Background Color:"
-msgstr ""
-
-#: ../src/main_window.c:1462
-msgid "Image Cache"
-msgstr ""
-
-#: ../src/main_window.c:1465
-msgid "Cache size:"
-msgstr ""
-
-#: ../src/main_window.c:1466
-msgid "MB"
-msgstr ""
-
-#: ../src/main_window.c:1468
-msgid "_Preload images (GUI more responsive but more CPU-intensive)"
-msgstr ""
-
-#: ../src/main_window.c:1486
-msgid "Timeout"
-msgstr ""
-
-#: ../src/main_window.c:1489
-msgid "Thumbnails"
-msgstr ""
-
-#: ../src/main_window.c:1494
-msgid ""
-"The time period an individual image is displayed during a slideshow\n"
-"(in seconds)"
-msgstr ""
-
-#: ../src/main_window.c:1497
-msgid "Hide the thumbnails bar during slideshow"
-msgstr ""
-
-#: ../src/main_window.c:1498
-msgid "_Hide thumbnails"
-msgstr ""
-
-#: ../src/main_window.c:1556
-msgid "Developer:"
-msgstr ""
-
-#: ../src/main_window.c:1566
-msgid ""
-"Ristretto is a fast and lightweight picture-viewer for the Xfce desktop "
-"environment."
-msgstr ""
-
-#: ../src/main_window.c:1574
-msgid "translator-credits"
-msgstr ""
-
-#: ../src/main_window.c:1600
-msgid "Open image"
-msgstr ""
-
-#: ../src/main_window.c:1618
-msgid "Could not open file"
-msgstr ""
-
-#: ../src/main_window.c:1640
-msgid "Open folder"
-msgstr ""
-
-#: ../src/main_window.c:1715
-msgid ""
-"Are you sure you want to clear ristretto's list of recently opened documents?"
-msgstr ""
-
-#: ../src/thumbnail_bar.c:185
-msgid "Spacing"
-msgstr ""
-
-#: ../src/thumbnail_bar.c:186
-msgid "The amount of space between the thumbnails"
-msgstr ""
-
-#: ../src/thumbnail_bar.c:192
-msgid "Border Width"
-msgstr ""
-
-#: ../src/thumbnail_bar.c:193
-msgid "The border width of the thumbnail-bar"
-msgstr ""
-
-#: ../ristretto.desktop.in.h:1
-msgid "Image Viewer"
-msgstr ""
-
-#: ../ristretto.desktop.in.h:2
-msgid "Ristretto"
-msgstr ""
-
-#: ../ristretto.desktop.in.h:3
-msgid "Xfce Image viewer"
-msgstr ""
diff --git a/po/ru.po b/po/ru.po
index 1c7a5b3..5899f4f 100644
--- a/po/ru.po
+++ b/po/ru.po
@@ -1,32 +1,32 @@
# Russian translations for ristretto package.
# This file is distributed under the same license as the ristretto package.
# Stefan Zerkalica <zerkalica at gmail.com>, 2008.
-#
+#
msgid ""
msgstr ""
"Project-Id-Version: ristretto\n"
"Report-Msgid-Bugs-To: xfce-i18n at xfce.org\n"
-"POT-Creation-Date: 2008-11-14 13:24+0100\n"
-"PO-Revision-Date: 2009-12-26 08:14+0700\n"
-"Last-Translator: Алекс <dwqwt3i02 at sneakemail.com>\n"
+"POT-Creation-Date: 2010-01-15 00:57+0100\n"
+"PO-Revision-Date: 2010-01-26 20:46+0300\n"
+"Last-Translator: dima <info at cnc-parts.info>\n"
"Language-Team: Russian\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-#: ../src/main.c:61
+#: ../src/main.c:59
msgid "Version information"
msgstr "Информация о версии"
-#: ../src/main.c:65
+#: ../src/main.c:63
msgid "Start in fullscreen mode"
-msgstr "Запуск в полноэкранном режиме"
+msgstr "Запустить в полноэкранном режиме"
-#: ../src/main.c:69
+#: ../src/main.c:67
msgid "Start a slideshow"
-msgstr "Слайд-шоу"
+msgstr "Начать слайдшоу"
-#: ../src/main.c:235
+#: ../src/main.c:91
#, c-format
msgid ""
"%s: %s\n"
@@ -35,218 +35,496 @@ msgstr ""
"%s: %s\n"
"Попробуйте %s --help для просмотра полного списка параметров командной строки.\n"
-#: ../src/main.c:448
-#: ../src/main_window.c:1598
-#: ../src/main_window.c:1638
-#: ../src/main_window.c:1675
-msgid "Opening file(s)..."
-msgstr "Открывается файл(ы)..."
-
-#. Create 'File' menu
-#: ../src/main_window.c:340
+#. File Menu
+#: ../src/main_window.c:262
msgid "_File"
msgstr "_Файл"
-#: ../src/main_window.c:347
-msgid "O_pen Folder"
-msgstr "_Открыть папку"
+#: ../src/main_window.c:263
+msgid "_Open"
+msgstr "_Открыть"
+
+#: ../src/main_window.c:263
+msgid "Open an image"
+msgstr "Открыть изображение"
+
+#: ../src/main_window.c:264
+msgid "Open _Folder"
+msgstr "Открыть _папку"
+
+#: ../src/main_window.c:264
+msgid "Open a folder"
+msgstr "Открыть папку"
+
+#: ../src/main_window.c:265
+msgid "_Save copy"
+msgstr "_Сохранить как"
-#: ../src/main_window.c:348
-msgid "_Recently used"
-msgstr "_Недавно просмотренные"
+#: ../src/main_window.c:265
+msgid "Save a copy of the image"
+msgstr "Сохранить копию изображения"
-#: ../src/main_window.c:353
-msgid "Close _all"
-msgstr "Закрыть _все"
+#: ../src/main_window.c:266
+msgid "_Print"
+msgstr "_Печать"
-#. Create 'Edit' menu
-#: ../src/main_window.c:383
+#: ../src/main_window.c:266
+msgid "Print the image"
+msgstr "Напечатать изображение"
+
+#: ../src/main_window.c:267
+msgid "_Close"
+msgstr "_Закрыть"
+
+#: ../src/main_window.c:267
+msgid "Close this image"
+msgstr "Закрыть это изображение"
+
+#: ../src/main_window.c:268
+msgid "_Close All"
+msgstr "_Закрыть все"
+
+#: ../src/main_window.c:268
+msgid "Close all images"
+msgstr "Закрыть все изображения"
+
+#: ../src/main_window.c:269
+msgid "_Quit"
+msgstr "_Выйти"
+
+#: ../src/main_window.c:269
+msgid "Quit Ristretto"
+msgstr "Выйти из программы"
+
+#. Edit Menu
+#: ../src/main_window.c:271
msgid "_Edit"
msgstr "_Редактировать"
-#: ../src/main_window.c:388
-#: ../src/main_window.c:659
-msgid "Open with..."
-msgstr "Открыть в..."
+#: ../src/main_window.c:272
+msgid "_Open with..."
+msgstr "_Открыть в..."
+
+#: ../src/main_window.c:273
+msgid "_Sorting"
+msgstr "_Сортировать"
-#: ../src/main_window.c:396
-#: ../src/main_window.c:670
-msgid "No applications available"
-msgstr "Нет доступных приложений"
+#: ../src/main_window.c:274
+msgid "_Delete"
+msgstr "_Удалить"
-#. Create 'View' menu
-#: ../src/main_window.c:405
+#: ../src/main_window.c:275
+msgid "_Preferences"
+msgstr "_Настройки"
+
+#. View Menu
+#: ../src/main_window.c:277
msgid "_View"
msgstr "_Просмотр"
-#: ../src/main_window.c:412
-msgid "Show _Toolbar"
-msgstr "Показать п_анель"
+#: ../src/main_window.c:278
+msgid "_Fullscreen"
+msgstr "_Полноэкранный режим"
+
+#: ../src/main_window.c:279
+msgid "_Leave Fullscreen"
+msgstr "_Выйти из полноэкранного режима"
-#: ../src/main_window.c:413
-msgid "Thumbnail _Viewer"
-msgstr "Полоса _эскизов"
+#: ../src/main_window.c:280
+msgid "_Set as Wallpaper"
+msgstr "_Установить как обои"
-#: ../src/main_window.c:417
+#. Zoom submenu
+#: ../src/main_window.c:282
msgid "_Zooming"
msgstr "_Масштаб"
-#: ../src/main_window.c:418
-msgid "_Rotate"
-msgstr "_Повернуть"
+#: ../src/main_window.c:283
+msgid "Zoom _In"
+msgstr "_Приблизить"
-#: ../src/main_window.c:425
-msgid "_Set as wallpaper"
-msgstr "Сделать _фоном"
+#: ../src/main_window.c:284
+msgid "Zoom _Out"
+msgstr "_Удалить"
-#: ../src/main_window.c:476
-msgid "Show _Horizontally"
-msgstr "Показать _горизонтально"
+#: ../src/main_window.c:285
+msgid "Zoom _Fit"
+msgstr "_Приблизить"
-#: ../src/main_window.c:480
-msgid "Show _Vertically"
-msgstr "Показать _вертикально"
+#: ../src/main_window.c:286
+msgid "_Normal Size"
+msgstr "_Нормальный размер"
-#: ../src/main_window.c:484
-msgid "H_ide"
-msgstr "_Скрыть"
+#. Rotation submenu
+#: ../src/main_window.c:288
+msgid "_Rotation"
+msgstr "_Повернуть"
-#: ../src/main_window.c:521
+#: ../src/main_window.c:289
msgid "Rotate _Right"
msgstr "Повернуть в_право"
-#: ../src/main_window.c:522
+#: ../src/main_window.c:290
msgid "Rotate _Left"
msgstr "Повернуть в_лево"
-#. Create 'Go' menu
-#: ../src/main_window.c:543
+#. Go Menu
+#: ../src/main_window.c:292
msgid "_Go"
msgstr "П_ереход"
-#. Create 'Help' menu
-#: ../src/main_window.c:574
+#: ../src/main_window.c:293
+msgid "_Forward"
+msgstr "_Вперед"
+
+#: ../src/main_window.c:294
+msgid "_Back"
+msgstr "_Назад"
+
+#: ../src/main_window.c:295
+msgid "_First"
+msgstr "_Первый"
+
+#: ../src/main_window.c:296
+msgid "_Last"
+msgstr "_Последний"
+
+#. Help Menu
+#: ../src/main_window.c:298
msgid "_Help"
msgstr "Помо_щь"
-#: ../src/main_window.c:906
-msgid "One or more images have been modified, do you want to save the changes?"
-msgstr "Одно или несколько изображений были изменены, сохранить изменения?"
+#: ../src/main_window.c:300
+msgid "_Contents"
+msgstr "_Комментарии"
+
+#: ../src/main_window.c:302
+msgid "Display ristretto user manual"
+msgstr "Показать руководство пользователя"
+
+#: ../src/main_window.c:305
+msgid "_About"
+msgstr "_О программе"
+
+#: ../src/main_window.c:307
+msgid "Display information about ristretto"
+msgstr "Показать информацию о программе"
+
+#. Position Menu
+#: ../src/main_window.c:310
+msgid "_Position"
+msgstr "_Позиция"
+
+#. Misc
+#: ../src/main_window.c:312
+msgid "Leave _Fullscreen"
+msgstr "Выйти из полноэкранного режима"
+
+#. Toggle visibility of the main file toolbar
+#: ../src/main_window.c:320
+msgid "Show _File Toolbar"
+msgstr "Показать _файловую панель"
+
+#. Toggle visibility of the main navigation toolbar
+#: ../src/main_window.c:322
+msgid "Show _Navigation Toolbar"
+msgstr "Показать _навигационную панель"
+
+#. Toggle visibility of the thumbnailbar
+#: ../src/main_window.c:324
+msgid "Show _Thumbnailbar"
+msgstr "Показать панель _эскизов"
+
+#. Sort by Filename
+#: ../src/main_window.c:331
+msgid "sort by filename"
+msgstr "сортировать по имени файла"
+
+#. Sort by Date
+#: ../src/main_window.c:333
+msgid "sort by date"
+msgstr "сортировать по дате"
+
+#: ../src/main_window.c:339
+msgid "Left"
+msgstr "Налево"
-#: ../src/main_window.c:1394
-msgid "Image viewer Preferences"
-msgstr "Настройки просмотрщика картинок"
+#: ../src/main_window.c:340
+msgid "Right"
+msgstr "Направо"
+
+#: ../src/main_window.c:341
+msgid "Top"
+msgstr "Вверх"
+
+#: ../src/main_window.c:342
+msgid "Bottom"
+msgstr "Вниз"
+
+#: ../src/main_window.c:512 ../src/main_window.c:778
+msgid "Press open to select an image"
+msgstr "Нажмите открыть для выбора изображения"
-#: ../src/main_window.c:1412
+#: ../src/main_window.c:765 ../src/main_window.c:770
+msgid "Empty"
+msgstr "Пусто"
+
+#: ../src/main_window.c:1545
+msgid "Developer:"
+msgstr "Разработчик:"
+
+#: ../src/main_window.c:1555
+msgid "Ristretto is an imageviewer for the Xfce desktop environment."
+msgstr "Ristretto - быстрый и легковесный просмотрщик картинок для рабочего окружения Xfce"
+
+#: ../src/main_window.c:1563
+msgid "translator-credits"
+msgstr "Stefan Zerkalica <zerkalica at gmail.com>"
+
+#: ../src/main_window.c:1878
+msgid "Open image"
+msgstr "Открыть картинку"
+
+#: ../src/main_window.c:1890
+msgid "Images"
+msgstr "Изображения"
+
+#: ../src/main_window.c:1895
+msgid ".jp(e)g"
+msgstr ".jp(e)g"
+
+#: ../src/main_window.c:1917 ../src/main_window.c:1940
+#: ../src/main_window.c:2099 ../src/main_window.c:2114
+msgid "Could not open file"
+msgstr "Невозможно открыть файл"
+
+#: ../src/main_window.c:1992
+msgid "Open folder"
+msgstr "Открыть папку"
+
+#: ../src/main_window.c:2137
+msgid "Save copy"
+msgstr "Сохранить копию"
+
+#: ../src/main_window.c:2210
+#, c-format
+msgid "Are you sure you want to delete image '%s' from disk?"
+msgstr "Вы уверены что хотите удалить изображение '%s' с диска?"
+
+#: ../src/preferences_dialog.c:230
msgid "Display"
msgstr "Дисплей"
-#: ../src/main_window.c:1416
+#: ../src/preferences_dialog.c:235
+msgid "Background color"
+msgstr "Цвет фона"
+
+#: ../src/preferences_dialog.c:239
+msgid "Override background color:"
+msgstr "_Переопределить цвет фона:"
+
+#: ../src/preferences_dialog.c:267
+msgid "Quality"
+msgstr "Качество"
+
+#: ../src/preferences_dialog.c:271
+msgid "Maximum render quality:"
+msgstr "Максимальное качество"
+
+#: ../src/preferences_dialog.c:274
+msgid "Show preview when loading image"
+msgstr "Показывать превью при загрузке изображения"
+
+#: ../src/preferences_dialog.c:281
+msgid "Best"
+msgstr "Лучшее"
+
+#: ../src/preferences_dialog.c:282
+msgid "High"
+msgstr "Высокое"
+
+#: ../src/preferences_dialog.c:283
+msgid "Medium"
+msgstr "Среднее"
+
+#: ../src/preferences_dialog.c:284
+msgid "Low"
+msgstr "Низкое"
+
+#: ../src/preferences_dialog.c:324
msgid "Slideshow"
msgstr "Слайд-шоу"
-#: ../src/main_window.c:1420
+#: ../src/preferences_dialog.c:328
+msgid "Timeout"
+msgstr "Таймаут"
+
+#: ../src/preferences_dialog.c:331
+msgid ""
+"The time period an individual image is displayed during a slideshow\n"
+"(in seconds)"
+msgstr ""
+"Период времени, в течение которого будет показано изображение в режиме слайдшоу\n"
+"(в секундах)"
+
+#: ../src/preferences_dialog.c:346
+msgid "Thumbnails"
+msgstr "_Эскизы"
+
+#: ../src/preferences_dialog.c:349
+msgid ""
+"The thumbnailbar can be automatically hidden \n"
+"when the image-viewer is fullscreen."
+msgstr ""
+"Окно предпросмотра будет спрятано\n"
+"когда просмотр в полноэкранном режиме"
+
+#: ../src/preferences_dialog.c:351
+msgid "Hide thumbnailbar when fullscreen"
+msgstr "Спрятать окно предпросмотра при полноэкранном режиме"
+
+#: ../src/preferences_dialog.c:364
+msgid "Control"
+msgstr "Управление"
+
+#: ../src/preferences_dialog.c:368
+msgid "Scrollwheel"
+msgstr "Колесо мыши"
+
+#: ../src/preferences_dialog.c:371
+msgid "No action"
+msgstr "Нет действия"
+
+#: ../src/preferences_dialog.c:375
+msgid "Zoom in and out"
+msgstr "Приблизить и удалить"
+
+#: ../src/preferences_dialog.c:378
+msgid "Switch images"
+msgstr "Переключить изображение"
+
+#: ../src/preferences_dialog.c:412
msgid "Behaviour"
msgstr "Поведение"
-#: ../src/main_window.c:1425
+#: ../src/preferences_dialog.c:417
msgid "Scaling"
msgstr "Масштаб"
-#: ../src/main_window.c:1427
+#: ../src/preferences_dialog.c:422
msgid "Don't scale over 100% when maximizing the window."
msgstr "Не масштабировать более 100%, когда окно развернуто."
-#: ../src/main_window.c:1437
-msgid "Background Color"
-msgstr "Цвет фона"
+#: ../src/preferences_dialog.c:426
+msgid "Startup"
+msgstr "Запуск"
-#: ../src/main_window.c:1439
-msgid "_Override Background Color:"
-msgstr "_Переопределить цвет фона:"
+#: ../src/preferences_dialog.c:428
+msgid "Resize window to image on startup"
+msgstr "Изменить размер окна изображения при загрузке"
-#: ../src/main_window.c:1462
-msgid "Image Cache"
+#: ../src/preferences_dialog.c:432
+msgid "Open entire folder on startup"
+msgstr "Показать папку при загрузке"
+
+#: ../src/preferences_dialog.c:437
+msgid "Wrap around images"
+msgstr "Обернуть вокруг изображения"
+
+#: ../src/preferences_dialog.c:453
+msgid "Memory"
+msgstr "Память"
+
+#: ../src/preferences_dialog.c:459
+msgid "Image cache"
msgstr "Кэш изображений"
-#: ../src/main_window.c:1465
-msgid "Cache size:"
-msgstr "Размер кэша:"
+#: ../src/preferences_dialog.c:465
+msgid "Cache size"
+msgstr "Размер кэша"
-#: ../src/main_window.c:1466
+#: ../src/preferences_dialog.c:466
msgid "MB"
msgstr "МБ"
-#: ../src/main_window.c:1468
-msgid "_Preload images (GUI more responsive but more CPU-intensive)"
-msgstr "_Предзагрузка изображений (более отзывчивый интерфейс, но большая загрузка процессора)"
+#: ../src/preferences_dialog.c:469
+msgid "Enable cache"
+msgstr "Включить кэш изображений"
-#: ../src/main_window.c:1486
-msgid "Timeout"
-msgstr "Таймаут"
+#: ../src/preferences_dialog.c:474
+msgid "Preload images"
+msgstr "Предзагрузка изображений"
-#: ../src/main_window.c:1489
-msgid "Thumbnails"
-msgstr "Эскизы"
+#: ../src/preferences_dialog.c:544
+msgid "Preferences"
+msgstr "Настройки"
-#: ../src/main_window.c:1494
-msgid ""
-"The time period an individual image is displayed during a slideshow\n"
-"(in seconds)"
-msgstr ""
-"Период времени, в течение которого будет показано изображение в режиме слайдшоу\n"
-"(в секундах)"
+#: ../src/xfce_wallpaper_manager.c:84
+msgid "Set as wallpaper"
+msgstr "Установить как обои"
-#: ../src/main_window.c:1497
-msgid "Hide the thumbnails bar during slideshow"
-msgstr "Скрыть полосу эскизов во время слайд-шоу"
+#: ../src/xfce_wallpaper_manager.c:86
+msgid "Style:"
+msgstr "Стиль:"
-#: ../src/main_window.c:1498
-msgid "_Hide thumbnails"
-msgstr "Скр_ыть эскизы"
+#: ../src/xfce_wallpaper_manager.c:88
+msgid "Monitor:"
+msgstr "Монитор:"
-#: ../src/main_window.c:1556
-msgid "Developer:"
-msgstr "Разработчик:"
+#: ../src/xfce_wallpaper_manager.c:90
+msgid "Brightness:"
+msgstr "Яркость:"
-#: ../src/main_window.c:1566
-msgid "Ristretto is a fast and lightweight picture-viewer for the Xfce desktop environment."
-msgstr "Ristretto - быстрый и легковесный просмотрщик картинок для рабочего окружения Xfce"
+#: ../src/xfce_wallpaper_manager.c:91
+msgid "Saturation:"
+msgstr "Контраст:"
-#: ../src/main_window.c:1574
-msgid "translator-credits"
-msgstr "Stefan Zerkalica <zerkalica at gmail.com>"
+#: ../src/xfce_wallpaper_manager.c:123
+msgid "Auto"
+msgstr "Автоматически"
-#: ../src/main_window.c:1600
-msgid "Open image"
-msgstr "Открыть картинку"
+#: ../src/xfce_wallpaper_manager.c:124
+msgid "Centered"
+msgstr "Центровать"
-#: ../src/main_window.c:1618
-msgid "Could not open file"
-msgstr "Невозможно открыть файл"
+#: ../src/xfce_wallpaper_manager.c:125
+msgid "Tiled"
+msgstr "Сжать"
-#: ../src/main_window.c:1640
-msgid "Open folder"
-msgstr "Открыть папку"
+#: ../src/xfce_wallpaper_manager.c:126
+msgid "Stretched"
+msgstr "Замостить"
+
+#: ../src/xfce_wallpaper_manager.c:127
+msgid "Scaled"
+msgstr "Расятнуть"
-#: ../src/main_window.c:1715
-msgid "Are you sure you want to clear ristretto's list of recently opened documents?"
-msgstr "Вы уверены что хотите очистить список недавних документов?"
+#: ../src/xfce_wallpaper_manager.c:128
+msgid "Zoomed"
+msgstr "Приближенно"
-#: ../src/thumbnail_bar.c:185
+#: ../src/thumbnail_bar.c:187
msgid "Spacing"
msgstr "Отступы"
-#: ../src/thumbnail_bar.c:186
+#: ../src/thumbnail_bar.c:188
msgid "The amount of space between the thumbnails"
msgstr "Размер пространства между эскизами"
-#: ../src/thumbnail_bar.c:192
-msgid "Border Width"
+#: ../src/thumbnail_bar.c:194
+msgid "border width"
msgstr "Ширина рамки"
-#: ../src/thumbnail_bar.c:193
-msgid "The border width of the thumbnail-bar"
+#: ../src/thumbnail_bar.c:195
+msgid "the border width of the thumbnail-bar"
+msgstr "Ширина рамки панели эскизов"
+
+#: ../src/thumbnail_bar.c:201
+msgid "filmstrip width"
+msgstr "Ширина окна предпросмотра"
+
+#: ../src/thumbnail_bar.c:202
+msgid "the width of the thumbnail-bar film-strip"
msgstr "Ширина рамки панели эскизов"
#: ../ristretto.desktop.in.h:1
@@ -254,12 +532,39 @@ msgid "Image Viewer"
msgstr "Просмотр изображений"
#: ../ristretto.desktop.in.h:2
-msgid "Ristretto"
-msgstr "Ristretto"
+msgid "Look at your photo's easily"
+msgstr "Просмотр фотографий - это просто"
#: ../ristretto.desktop.in.h:3
-msgid "Xfce Image viewer"
-msgstr "Xfce Просмотр изображений"
+msgid "Ristretto Photo Viewer"
+msgstr "Ristretto - Просмотр изображений"
+
+#~ msgid "_Thumbnail Bar"
+#~ msgstr "Просмотр _эскизов"
+
+#~ msgid "Opening file(s)..."
+#~ msgstr "Открывается файл(ы)..."
+
+#~ msgid "_Recently used"
+#~ msgstr "_Недавно просмотренные"
+
+#~ msgid "No applications available"
+#~ msgstr "Нет доступных приложений"
+
+#~ msgid "Thumbnail _Viewer"
+#~ msgstr "Просмотр _эскизов"
+
+#~ msgid "Show _Horizontally"
+#~ msgstr "Показать _горизонтально"
+
+#~ msgid "Show _Vertically"
+#~ msgstr "Показать _вертикально"
+
+#~ msgid "H_ide"
+#~ msgstr "_Скрыть"
+
+#~ msgid "Xfce Image viewer"
+#~ msgstr "Xfce Просмотр изображений"
#~ msgid "Preload"
#~ msgstr "Предзагрузка"
@@ -269,8 +574,3 @@ msgstr "Xfce Просмотр изображений"
#~ msgstr ""
#~ "Предзагружать изображения во время слайдшоу\n"
#~ "(требует больше памяти)"
-#~ msgid "_Preload images"
-#~ msgstr "Предзагру_зка изображений"
-#~ msgid "Ristretto Image Viewer"
-#~ msgstr "Ristretto Просмотр изображений"
-
diff --git a/po/sk.po b/po/sk.po
index 7094ef3..3bae0d8 100644
--- a/po/sk.po
+++ b/po/sk.po
@@ -2,36 +2,32 @@
# Copyright (C) 2008 THE Ristretto'S COPYRIGHT HOLDER
# This file is distributed under the same license as the Ristretto package.
# <>, 2008.
-# , fuzzy
-# <>, 2008.
-#
-#
-#: ../src/main.c:231
+# Robert Hartl <hartl.robert at gmail.com>, 2009.
msgid ""
msgstr ""
"Project-Id-Version: Ristretto 0.0.20\n"
"Report-Msgid-Bugs-To: xfce-i18n at xfce.org\n"
-"POT-Creation-Date: 2008-11-14 13:24+0100\n"
-"PO-Revision-Date: 2008-05-27 12:35-0700\n"
-"Last-Translator: Stefan Miklosovic <miklosovic at gmail.com>\n"
-"Language-Team: Slovak <sk-i18n at linux.sk>\n"
+"POT-Creation-Date: 2010-01-15 00:57+0100\n"
+"PO-Revision-Date: 2009-10-12 16:58+0200\n"
+"Last-Translator: Robert Hartl <hartl.robert at gmail.com>\n"
+"Language-Team: Slovak <sk-i18n at lists.linux.sk>\n"
"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8-bit\n"
-#: ../src/main.c:61
+#: ../src/main.c:59
msgid "Version information"
msgstr "Informácie o verzii"
-#: ../src/main.c:65
+#: ../src/main.c:63
msgid "Start in fullscreen mode"
msgstr "Spustiť v celoobrazovkovom móde"
-#: ../src/main.c:69
+#: ../src/main.c:67
msgid "Start a slideshow"
msgstr "Spustiť prezentáciu "
-#: ../src/main.c:235
+#: ../src/main.c:91
#, c-format
msgid ""
"%s: %s\n"
@@ -40,219 +36,504 @@ msgstr ""
"%s: %s\n"
"Skúste %s --help pre kompletné zobrazenie zoznamu dostupných volieb.\n"
-#: ../src/main.c:448 ../src/main_window.c:1598 ../src/main_window.c:1638
-#: ../src/main_window.c:1675
-msgid "Opening file(s)..."
-msgstr "Otvoriť súbor(y)..."
-
-#. Create 'File' menu
-#: ../src/main_window.c:340
+#. File Menu
+#: ../src/main_window.c:262
msgid "_File"
msgstr "_Súbor"
-#: ../src/main_window.c:347
-msgid "O_pen Folder"
-msgstr "O_tvor prečinok"
+#: ../src/main_window.c:263
+msgid "_Open"
+msgstr "_Otvoriť"
+
+#: ../src/main_window.c:263
+msgid "Open an image"
+msgstr "Otvoriť obrázok"
+
+#: ../src/main_window.c:264
+msgid "Open _Folder"
+msgstr "Otvor _priečinok"
+
+#: ../src/main_window.c:264
+msgid "Open a folder"
+msgstr "Otvoriť priečinok"
+
+#: ../src/main_window.c:265
+msgid "_Save copy"
+msgstr "_Uložiť kópiu"
+
+#: ../src/main_window.c:265
+msgid "Save a copy of the image"
+msgstr "Uložiť kópiu obrázku"
+
+#: ../src/main_window.c:266
+msgid "_Print"
+msgstr "_Tlačiť"
+
+#: ../src/main_window.c:266
+msgid "Print the image"
+msgstr "Tlačiť obrázok"
-#: ../src/main_window.c:348
-msgid "_Recently used"
-msgstr "_Nedávno otvorené"
+#: ../src/main_window.c:267
+msgid "_Close"
+msgstr "_Zavrieť"
-#: ../src/main_window.c:353
-msgid "Close _all"
-msgstr "Zatvor _všetko"
+#: ../src/main_window.c:267
+msgid "Close this image"
+msgstr "Zavrieť tento obrázok"
-#. Create 'Edit' menu
-#: ../src/main_window.c:383
+#: ../src/main_window.c:268
+msgid "_Close All"
+msgstr "Zavrieť _všetko"
+
+#: ../src/main_window.c:268
+msgid "Close all images"
+msgstr "Zavrieť všetky obrázky"
+
+#: ../src/main_window.c:269
+msgid "_Quit"
+msgstr "_Koniec"
+
+#: ../src/main_window.c:269
+msgid "Quit Ristretto"
+msgstr "Ukončiť Ristretto"
+
+#. Edit Menu
+#: ../src/main_window.c:271
msgid "_Edit"
-msgstr "_Edituj"
+msgstr "_Upraviť"
+
+#: ../src/main_window.c:272
+msgid "_Open with..."
+msgstr "_Otvoriť pomocou..."
-#: ../src/main_window.c:388 ../src/main_window.c:659
-msgid "Open with..."
-msgstr "Otvor s ..."
+#: ../src/main_window.c:273
+msgid "_Sorting"
+msgstr "_Radenie"
-#: ../src/main_window.c:396 ../src/main_window.c:670
-msgid "No applications available"
-msgstr "Žiadna aplikácia nie je dostupná"
+#: ../src/main_window.c:274
+msgid "_Delete"
+msgstr "_Zmazať"
-#. Create 'View' menu
-#: ../src/main_window.c:405
+#: ../src/main_window.c:275
+msgid "_Preferences"
+msgstr "_Predvoľby"
+
+#. View Menu
+#: ../src/main_window.c:277
msgid "_View"
msgstr "_Zobraziť"
-#: ../src/main_window.c:412
-msgid "Show _Toolbar"
-msgstr "Zobraziť _panel nástrojov"
+#: ../src/main_window.c:278
+msgid "_Fullscreen"
+msgstr "_Celá obrazovka"
-#: ../src/main_window.c:413
-msgid "Thumbnail _Viewer"
-msgstr "_Náhľady"
+#: ../src/main_window.c:279
+msgid "_Leave Fullscreen"
+msgstr "_Opustiť celú obrazovku"
-#: ../src/main_window.c:417
+#: ../src/main_window.c:280
+msgid "_Set as Wallpaper"
+msgstr "Nastaviť ako _tapetu"
+
+#. Zoom submenu
+#: ../src/main_window.c:282
msgid "_Zooming"
-msgstr "_Priblíženie"
+msgstr "_Lupa"
-#: ../src/main_window.c:418
-msgid "_Rotate"
-msgstr "_Otočiť"
+#: ../src/main_window.c:283
+msgid "Zoom _In"
+msgstr "_Priblížiť"
-#: ../src/main_window.c:425
-msgid "_Set as wallpaper"
-msgstr "N_astaviť ako tapetu"
+#: ../src/main_window.c:284
+msgid "Zoom _Out"
+msgstr "_Vzdialiť"
-#: ../src/main_window.c:476
-msgid "Show _Horizontally"
-msgstr "_Horizontálne"
+#: ../src/main_window.c:285
+msgid "Zoom _Fit"
+msgstr "_Prispôsobiť"
-#: ../src/main_window.c:480
-msgid "Show _Vertically"
-msgstr "_Vertikálne"
+#: ../src/main_window.c:286
+msgid "_Normal Size"
+msgstr "_Normálna veľkosť"
-#: ../src/main_window.c:484
-msgid "H_ide"
-msgstr "_Skryť"
+#. Rotation submenu
+#: ../src/main_window.c:288
+msgid "_Rotation"
+msgstr "_Otočenie"
-#: ../src/main_window.c:521
+#: ../src/main_window.c:289
msgid "Rotate _Right"
msgstr "Otočiť v_pravo"
-#: ../src/main_window.c:522
+#: ../src/main_window.c:290
msgid "Rotate _Left"
msgstr "Otočiť Vľa_vo"
-#. Create 'Go' menu
-#: ../src/main_window.c:543
+#. Go Menu
+#: ../src/main_window.c:292
msgid "_Go"
msgstr "_Prejsť"
-#. Create 'Help' menu
-#: ../src/main_window.c:574
+#: ../src/main_window.c:293
+msgid "_Forward"
+msgstr "Ď_alej"
+
+#: ../src/main_window.c:294
+msgid "_Back"
+msgstr "_Späť"
+
+#: ../src/main_window.c:295
+msgid "_First"
+msgstr "_Prvý"
+
+#: ../src/main_window.c:296
+msgid "_Last"
+msgstr "_Posledný"
+
+#. Help Menu
+#: ../src/main_window.c:298
msgid "_Help"
msgstr "_Nápoveda"
-#: ../src/main_window.c:906
-msgid "One or more images have been modified, do you want to save the changes?"
+#: ../src/main_window.c:300
+msgid "_Contents"
+msgstr "_Obsah"
+
+#: ../src/main_window.c:302
+msgid "Display ristretto user manual"
+msgstr "Zobraziť užívateľský manuál ristretto"
+
+#: ../src/main_window.c:305
+msgid "_About"
+msgstr "_O programe"
+
+#: ../src/main_window.c:307
+msgid "Display information about ristretto"
+msgstr "Zobraziť informácie o programe ristretto"
+
+#. Position Menu
+#: ../src/main_window.c:310
+msgid "_Position"
+msgstr "_Umiestnenie"
+
+#. Misc
+#: ../src/main_window.c:312
+msgid "Leave _Fullscreen"
+msgstr "_Opustiť zobrazenie na celú obrazovku"
+
+#. Toggle visibility of the main file toolbar
+#: ../src/main_window.c:320
+msgid "Show _File Toolbar"
+msgstr "Zobraziť _panel nástrojov"
+
+#. Toggle visibility of the main navigation toolbar
+#: ../src/main_window.c:322
+msgid "Show _Navigation Toolbar"
+msgstr "Zobraziť _navigačný panel"
+
+#. Toggle visibility of the thumbnailbar
+#: ../src/main_window.c:324
+msgid "Show _Thumbnailbar"
+msgstr "Zobraziť panel náhľadov"
+
+#. Sort by Filename
+#: ../src/main_window.c:331
+msgid "sort by filename"
+msgstr "usporiadať podľa názvu súboru"
+
+#. Sort by Date
+#: ../src/main_window.c:333
+msgid "sort by date"
+msgstr "usporiadať podľa dátumu"
+
+#: ../src/main_window.c:339
+msgid "Left"
+msgstr "Vľavo"
+
+#: ../src/main_window.c:340
+msgid "Right"
+msgstr "Vpravo"
+
+#: ../src/main_window.c:341
+msgid "Top"
+msgstr "Vrch"
+
+#: ../src/main_window.c:342
+msgid "Bottom"
+msgstr "Spodok"
+
+#: ../src/main_window.c:512 ../src/main_window.c:778
+#, fuzzy
+msgid "Press open to select an image"
+msgstr "Stlačte tlačidlo Otvoriť a vyberte obrázok"
+
+#: ../src/main_window.c:765 ../src/main_window.c:770
+msgid "Empty"
msgstr ""
-#: ../src/main_window.c:1394
-msgid "Image viewer Preferences"
-msgstr "Voľby prehliadača obrázkov"
+#: ../src/main_window.c:1545
+msgid "Developer:"
+msgstr "Vývojár:"
+
+#: ../src/main_window.c:1555
+msgid "Ristretto is an imageviewer for the Xfce desktop environment."
+msgstr "Ristretto je prehliadač obrázkov pre desktopové prostredie Xfce."
-#: ../src/main_window.c:1412
+#: ../src/main_window.c:1563
+msgid "translator-credits"
+msgstr ""
+"Štefan Miklošovič <miklosovic at gmail.com>\n"
+"Robert Hartl <hartl.robert at gmail.com>, 2009"
+
+#: ../src/main_window.c:1878
+msgid "Open image"
+msgstr "Otvoriť obrázok"
+
+#: ../src/main_window.c:1890
+msgid "Images"
+msgstr "Obrázky"
+
+#: ../src/main_window.c:1895
+msgid ".jp(e)g"
+msgstr ".jp(e)g"
+
+#: ../src/main_window.c:1917 ../src/main_window.c:1940
+#: ../src/main_window.c:2099 ../src/main_window.c:2114
+msgid "Could not open file"
+msgstr "Nemôžem otvoriť súbor"
+
+#: ../src/main_window.c:1992
+msgid "Open folder"
+msgstr "Otvoriť zložku"
+
+#: ../src/main_window.c:2137
+msgid "Save copy"
+msgstr "Uložiť kópiu"
+
+#: ../src/main_window.c:2210
+#, c-format
+msgid "Are you sure you want to delete image '%s' from disk?"
+msgstr "Naozaj chcete zmazať obrázok '%s' z disku?"
+
+#: ../src/preferences_dialog.c:230
msgid "Display"
msgstr "Zobrazenie"
-#: ../src/main_window.c:1416
+#: ../src/preferences_dialog.c:235
+msgid "Background color"
+msgstr "Farba pozadia"
+
+#: ../src/preferences_dialog.c:239
+msgid "Override background color:"
+msgstr "_Určiť farbu pozadia:"
+
+#: ../src/preferences_dialog.c:267
+msgid "Quality"
+msgstr "Kvalita"
+
+#: ../src/preferences_dialog.c:271
+msgid "Maximum render quality:"
+msgstr "Maximálna kvalita vykresľovania:"
+
+#: ../src/preferences_dialog.c:274
+msgid "Show preview when loading image"
+msgstr "Zobraziť náhľad pri načítaní obrázku"
+
+#: ../src/preferences_dialog.c:281
+msgid "Best"
+msgstr "Najlepší"
+
+#: ../src/preferences_dialog.c:282
+msgid "High"
+msgstr "Vysoký"
+
+#: ../src/preferences_dialog.c:283
+msgid "Medium"
+msgstr "Stredný"
+
+#: ../src/preferences_dialog.c:284
+msgid "Low"
+msgstr "Nízky"
+
+#: ../src/preferences_dialog.c:324
msgid "Slideshow"
msgstr "Premietanie snímkov"
-#: ../src/main_window.c:1420
+#: ../src/preferences_dialog.c:328
+msgid "Timeout"
+msgstr "Timeout"
+
+#: ../src/preferences_dialog.c:331
+msgid ""
+"The time period an individual image is displayed during a slideshow\n"
+"(in seconds)"
+msgstr ""
+"Časový interval počas ktorého je zobrazený jeden snímok pri premietaní\n"
+"(v sekundách)"
+
+#: ../src/preferences_dialog.c:346
+msgid "Thumbnails"
+msgstr "Náhľady"
+
+#: ../src/preferences_dialog.c:349
+msgid ""
+"The thumbnailbar can be automatically hidden \n"
+"when the image-viewer is fullscreen."
+msgstr ""
+
+#: ../src/preferences_dialog.c:351
+msgid "Hide thumbnailbar when fullscreen"
+msgstr "_Skryť panel náhľadov pri zobrazení na celú obrazovku"
+
+#: ../src/preferences_dialog.c:364
+msgid "Control"
+msgstr ""
+
+#: ../src/preferences_dialog.c:368
+msgid "Scrollwheel"
+msgstr "Koliesko myši"
+
+#: ../src/preferences_dialog.c:371
+msgid "No action"
+msgstr "Žiadna akcia"
+
+#: ../src/preferences_dialog.c:375
+msgid "Zoom in and out"
+msgstr ""
+
+#: ../src/preferences_dialog.c:378
+msgid "Switch images"
+msgstr ""
+
+#: ../src/preferences_dialog.c:412
msgid "Behaviour"
msgstr "Správanie"
-#: ../src/main_window.c:1425
+#: ../src/preferences_dialog.c:417
msgid "Scaling"
msgstr "Medzery"
-#: ../src/main_window.c:1427
+#: ../src/preferences_dialog.c:422
msgid "Don't scale over 100% when maximizing the window."
msgstr "Nezväčšovať obrázok na viac ako 100% keď sa maximalizuje okno."
-#: ../src/main_window.c:1437
-msgid "Background Color"
-msgstr "Farba pozadia"
+#: ../src/preferences_dialog.c:426
+msgid "Startup"
+msgstr ""
+
+#: ../src/preferences_dialog.c:428
+msgid "Resize window to image on startup"
+msgstr ""
+
+#: ../src/preferences_dialog.c:432
+msgid "Open entire folder on startup"
+msgstr ""
+
+#: ../src/preferences_dialog.c:437
+#, fuzzy
+msgid "Wrap around images"
+msgstr "Otvoriť obrázok"
-#: ../src/main_window.c:1439
-msgid "_Override Background Color:"
-msgstr "_Určiť farbu pozadia"
+#: ../src/preferences_dialog.c:453
+msgid "Memory"
+msgstr "Pamäť"
-#: ../src/main_window.c:1462
-msgid "Image Cache"
+#: ../src/preferences_dialog.c:459
+#, fuzzy
+msgid "Image cache"
msgstr "Vyrovnávajúca pamäť"
-#: ../src/main_window.c:1465
-msgid "Cache size:"
+#: ../src/preferences_dialog.c:465
+#, fuzzy
+msgid "Cache size"
msgstr "Veľkosť vyrovnávajúcej pamäte"
-#: ../src/main_window.c:1466
+#: ../src/preferences_dialog.c:466
msgid "MB"
msgstr "MB"
-#: ../src/main_window.c:1468
-msgid "_Preload images (GUI more responsive but more CPU-intensive)"
-msgstr ""
+#: ../src/preferences_dialog.c:469
+msgid "Enable cache"
+msgstr "Povoliť vyrovnávaciu pamäť"
-#: ../src/main_window.c:1486
-msgid "Timeout"
-msgstr "Timeout"
+#: ../src/preferences_dialog.c:474
+msgid "Preload images"
+msgstr "Prednačítať obrázky"
-#: ../src/main_window.c:1489
-msgid "Thumbnails"
-msgstr "Náhľady"
+#: ../src/preferences_dialog.c:544
+msgid "Preferences"
+msgstr "Predvoľby"
-#: ../src/main_window.c:1494
-msgid ""
-"The time period an individual image is displayed during a slideshow\n"
-"(in seconds)"
-msgstr ""
-"Časový interval počas ktorého je zobrazený jeden snímok pri premietaní\n"
-"(v sekundách)"
+#: ../src/xfce_wallpaper_manager.c:84
+msgid "Set as wallpaper"
+msgstr "Nastaviť ako tapetu"
-#: ../src/main_window.c:1497
-msgid "Hide the thumbnails bar during slideshow"
-msgstr "Skryť lištu náhľadov počas premietania"
+#: ../src/xfce_wallpaper_manager.c:86
+msgid "Style:"
+msgstr "Štýl:"
-#: ../src/main_window.c:1498
-msgid "_Hide thumbnails"
-msgstr "_Skryť náhľady"
+#: ../src/xfce_wallpaper_manager.c:88
+msgid "Monitor:"
+msgstr "Monitor:"
-#: ../src/main_window.c:1556
-msgid "Developer:"
-msgstr "Vývojár:"
+#: ../src/xfce_wallpaper_manager.c:90
+msgid "Brightness:"
+msgstr "Jas:"
-#: ../src/main_window.c:1566
-msgid ""
-"Ristretto is a fast and lightweight picture-viewer for the Xfce desktop "
-"environment."
-msgstr ""
-"Ristretto je rýchly a odľahčený prehliadač obrázkov pre desktopové "
-"prostredie Xfce."
+#: ../src/xfce_wallpaper_manager.c:91
+msgid "Saturation:"
+msgstr "Sýtosť:"
-#: ../src/main_window.c:1574
-msgid "translator-credits"
-msgstr "Štefan Miklošovič <miklosovic at gmail.com>"
+#: ../src/xfce_wallpaper_manager.c:123
+msgid "Auto"
+msgstr "Automaticky"
-#: ../src/main_window.c:1600
-msgid "Open image"
-msgstr "Otvoriť obrázok"
+#: ../src/xfce_wallpaper_manager.c:124
+msgid "Centered"
+msgstr ""
-#: ../src/main_window.c:1618
-msgid "Could not open file"
-msgstr "Nemôžem otvoriť súbor"
+#: ../src/xfce_wallpaper_manager.c:125
+msgid "Tiled"
+msgstr ""
-#: ../src/main_window.c:1640
-msgid "Open folder"
-msgstr "Otvoriť zložku"
+#: ../src/xfce_wallpaper_manager.c:126
+msgid "Stretched"
+msgstr ""
-#: ../src/main_window.c:1715
-msgid ""
-"Are you sure you want to clear ristretto's list of recently opened documents?"
-msgstr "Naozaj chcete vyprázdniť zoznam naposledy otvorených dokumentov?"
+#: ../src/xfce_wallpaper_manager.c:127
+#, fuzzy
+msgid "Scaled"
+msgstr "Medzery"
-#: ../src/thumbnail_bar.c:185
+#: ../src/xfce_wallpaper_manager.c:128
+msgid "Zoomed"
+msgstr ""
+
+#: ../src/thumbnail_bar.c:187
msgid "Spacing"
msgstr "Medzery"
-#: ../src/thumbnail_bar.c:186
+#: ../src/thumbnail_bar.c:188
msgid "The amount of space between the thumbnails"
msgstr "Množstvo priestoru medzi náhľadmi"
-#: ../src/thumbnail_bar.c:192
-msgid "Border Width"
+#: ../src/thumbnail_bar.c:194
+#, fuzzy
+msgid "border width"
msgstr "Hrúbka okraja"
-#: ../src/thumbnail_bar.c:193
-msgid "The border width of the thumbnail-bar"
+#: ../src/thumbnail_bar.c:195
+#, fuzzy
+msgid "the border width of the thumbnail-bar"
+msgstr "Hrúbka okraja lišty náhľadov"
+
+#: ../src/thumbnail_bar.c:201
+msgid "filmstrip width"
+msgstr ""
+
+#: ../src/thumbnail_bar.c:202
+#, fuzzy
+msgid "the width of the thumbnail-bar film-strip"
msgstr "Hrúbka okraja lišty náhľadov"
#: ../ristretto.desktop.in.h:1
@@ -260,12 +541,45 @@ msgid "Image Viewer"
msgstr "Prehliadač obrázkov"
#: ../ristretto.desktop.in.h:2
-msgid "Ristretto"
-msgstr "Ristretto"
+msgid "Look at your photo's easily"
+msgstr "Prezerajte Vaše fotografie jednoducho"
#: ../ristretto.desktop.in.h:3
-msgid "Xfce Image viewer"
-msgstr "Prehliadač obrázkov pre Xfce"
+msgid "Ristretto Photo Viewer"
+msgstr "Ristretto - prehliadač fotiek"
+
+#~ msgid "Ristretto"
+#~ msgstr "Ristretto"
+
+#~ msgid "_Thumbnail Bar"
+#~ msgstr "Náhľady"
+
+#~ msgid "Opening file(s)..."
+#~ msgstr "Otvoriť súbor(y)..."
+
+#~ msgid "_Recently used"
+#~ msgstr "_Nedávno otvorené"
+
+#~ msgid "No applications available"
+#~ msgstr "Žiadna aplikácia nie je dostupná"
+
+#~ msgid "Thumbnail _Viewer"
+#~ msgstr "_Náhľady"
+
+#~ msgid "Show _Horizontally"
+#~ msgstr "_Horizontálne"
+
+#~ msgid "Show _Vertically"
+#~ msgstr "_Vertikálne"
+
+#~ msgid "H_ide"
+#~ msgstr "_Skryť"
+
+#~ msgid "Hide the thumbnails bar during slideshow"
+#~ msgstr "Skryť lištu náhľadov počas premietania"
+
+#~ msgid "Xfce Image viewer"
+#~ msgstr "Prehliadač obrázkov pre Xfce"
#~ msgid "Preload"
#~ msgstr "Načítať dopredu"
@@ -276,6 +590,3 @@ msgstr "Prehliadač obrázkov pre Xfce"
#~ msgstr ""
#~ "Načítať snímky do pamäte ešte pred tým, ako majú byť zobrazené\n"
#~ "(použije sa viac pamäte)"
-
-#~ msgid "_Preload images"
-#~ msgstr "Načítať _dopredu"
diff --git a/po/sv.po b/po/sv.po
index 75c8210..8ca0b40 100644
--- a/po/sv.po
+++ b/po/sv.po
@@ -7,215 +7,282 @@ msgid ""
msgstr ""
"Project-Id-Version: ristretto\n"
"Report-Msgid-Bugs-To: xfce-i18n at xfce.org\n"
-"POT-Creation-Date: 2009-02-01 19:05+0100\n"
-"PO-Revision-Date: 2009-02-01 19:06+0100\n"
+"POT-Creation-Date: 2010-01-15 00:57+0100\n"
+"PO-Revision-Date: 2009-12-16 18:28+0100\n"
"Last-Translator: Daniel Nylander <po at danielnylander.se>\n"
"Language-Team: Swedish <tp-sv at listor.tp-sv.se>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
-#: ../src/main.c:57
+#: ../src/main.c:59
msgid "Version information"
msgstr "Versionsinformation"
-#: ../src/main.c:61
+#: ../src/main.c:63
msgid "Start in fullscreen mode"
msgstr "Starta i helskärmsläge"
-#: ../src/main.c:65
+#: ../src/main.c:67
msgid "Start a slideshow"
msgstr "Starta ett bildspel"
-#: ../src/main.c:232
+#: ../src/main.c:91
#, c-format
msgid ""
"%s: %s\n"
"Try %s --help to see a full list of available command line options.\n"
msgstr ""
"%s: %s\n"
-"Prova %s --help för att se en komplett lista över tillgängliga kommandoradsflaggor.\n"
+"Prova %s --help för att se en komplett lista över tillgängliga "
+"kommandoradsflaggor.\n"
-#: ../src/main.c:445
-#: ../src/main_window.c:1603
-#: ../src/main_window.c:1643
-#: ../src/main_window.c:1680
-msgid "Opening file(s)..."
-msgstr "Öppnar fil(er)..."
-
-#. Create 'File' menu
-#: ../src/main_window.c:336
+#. File Menu
+#: ../src/main_window.c:262
msgid "_File"
msgstr "_Arkiv"
-#: ../src/main_window.c:343
-msgid "O_pen Folder"
-msgstr "Ö_ppna mapp"
+#: ../src/main_window.c:263
+msgid "_Open"
+msgstr "_Öppna"
+
+#: ../src/main_window.c:263
+msgid "Open an image"
+msgstr "Öppna en bild"
+
+#: ../src/main_window.c:264
+msgid "Open _Folder"
+msgstr "Öppna _mapp"
+
+#: ../src/main_window.c:264
+msgid "Open a folder"
+msgstr "Öppna en mapp"
+
+#: ../src/main_window.c:265
+msgid "_Save copy"
+msgstr "_Spara en kopia"
+
+#: ../src/main_window.c:265
+msgid "Save a copy of the image"
+msgstr "Spara en kopia av bilden"
+
+#: ../src/main_window.c:266
+msgid "_Print"
+msgstr "Skriv _ut"
+
+#: ../src/main_window.c:266
+msgid "Print the image"
+msgstr "Skriv ut denna bild"
+
+#: ../src/main_window.c:267
+msgid "_Close"
+msgstr "S_täng"
+
+#: ../src/main_window.c:267
+msgid "Close this image"
+msgstr "Stäng denna bild"
-#: ../src/main_window.c:344
-msgid "_Recently used"
-msgstr "_Tidigare använda"
+#: ../src/main_window.c:268
+msgid "_Close All"
+msgstr "S_täng alla"
-#: ../src/main_window.c:349
-msgid "Close _all"
-msgstr "Stäng _alla"
+#: ../src/main_window.c:268
+msgid "Close all images"
+msgstr "Stäng alla bilder"
-#. Create 'Edit' menu
-#: ../src/main_window.c:379
+#: ../src/main_window.c:269
+msgid "_Quit"
+msgstr "A_vsluta"
+
+#: ../src/main_window.c:269
+msgid "Quit Ristretto"
+msgstr "Avsluta Ristretto"
+
+#. Edit Menu
+#: ../src/main_window.c:271
msgid "_Edit"
msgstr "R_edigera"
-#: ../src/main_window.c:384
-#: ../src/main_window.c:652
-msgid "Open with..."
-msgstr "Öppna med..."
+#: ../src/main_window.c:272
+msgid "_Open with..."
+msgstr "_Öppna med..."
+
+#: ../src/main_window.c:273
+msgid "_Sorting"
+msgstr "_Sortering"
-#: ../src/main_window.c:392
-#: ../src/main_window.c:663
-msgid "No applications available"
-msgstr "Inga program tillgängliga"
+#: ../src/main_window.c:274
+msgid "_Delete"
+msgstr "_Ta bort"
-#. Create 'View' menu
-#: ../src/main_window.c:401
+#: ../src/main_window.c:275
+msgid "_Preferences"
+msgstr "I_nställningar"
+
+#. View Menu
+#: ../src/main_window.c:277
msgid "_View"
msgstr "_Visa"
-#: ../src/main_window.c:408
-msgid "Show _Toolbar"
-msgstr "Visa _verktygsrad"
+#: ../src/main_window.c:278
+msgid "_Fullscreen"
+msgstr "_Helskärm"
-#: ../src/main_window.c:409
-msgid "Thumbnail _Viewer"
-msgstr "Miniatyrbilds_visare"
+#: ../src/main_window.c:279
+msgid "_Leave Fullscreen"
+msgstr "_Lämna helskärmsläge"
-#: ../src/main_window.c:413
+#: ../src/main_window.c:280
+msgid "_Set as Wallpaper"
+msgstr "Ange som s_krivbordsbakgrund"
+
+#. Zoom submenu
+#: ../src/main_window.c:282
msgid "_Zooming"
msgstr "_Zoom"
-#: ../src/main_window.c:414
-msgid "_Rotate"
-msgstr "_Rotera"
+#: ../src/main_window.c:283
+msgid "Zoom _In"
+msgstr "Zooma _in"
-#: ../src/main_window.c:421
-msgid "_Set as wallpaper"
-msgstr "Ange som s_krivbordsbakgrund"
+#: ../src/main_window.c:284
+msgid "Zoom _Out"
+msgstr "Zooma _ut"
-#: ../src/main_window.c:469
-msgid "Show _Horizontally"
-msgstr "Visa _horisontellt"
+#: ../src/main_window.c:285
+msgid "Zoom _Fit"
+msgstr ""
-#: ../src/main_window.c:473
-msgid "Show _Vertically"
-msgstr "Visa _vertikalt"
+#: ../src/main_window.c:286
+msgid "_Normal Size"
+msgstr "_Normal storlek"
-#: ../src/main_window.c:477
-msgid "H_ide"
-msgstr "D_ölj"
+#. Rotation submenu
+#: ../src/main_window.c:288
+msgid "_Rotation"
+msgstr "_Rotering"
-#: ../src/main_window.c:514
+#: ../src/main_window.c:289
msgid "Rotate _Right"
msgstr "Rotera åt _höger"
-#: ../src/main_window.c:515
+#: ../src/main_window.c:290
msgid "Rotate _Left"
msgstr "Rotera åt _vänster"
-#. Create 'Go' menu
-#: ../src/main_window.c:536
+#. Go Menu
+#: ../src/main_window.c:292
msgid "_Go"
msgstr "_Gå"
-#. Create 'Help' menu
-#: ../src/main_window.c:567
+#: ../src/main_window.c:293
+msgid "_Forward"
+msgstr "_Framåt"
+
+#: ../src/main_window.c:294
+msgid "_Back"
+msgstr "_Bakåt"
+
+#: ../src/main_window.c:295
+msgid "_First"
+msgstr "_Första"
+
+#: ../src/main_window.c:296
+msgid "_Last"
+msgstr "_Sista"
+
+#. Help Menu
+#: ../src/main_window.c:298
msgid "_Help"
msgstr "_Hjälp"
-#: ../src/main_window.c:901
-#: ../src/main_window.c:1771
-msgid "The orientation of one or more images has been modified, do you want to save the changes?"
-msgstr "Orienteringen för en eller flera bilder har ändrats. Vill du spara ändringarna?"
+#: ../src/main_window.c:300
+msgid "_Contents"
+msgstr "_Innehåll"
-#: ../src/main_window.c:1399
-msgid "Image viewer Preferences"
-msgstr "Inställningar för Bildvisare"
+#: ../src/main_window.c:302
+msgid "Display ristretto user manual"
+msgstr ""
-#: ../src/main_window.c:1417
-msgid "Display"
-msgstr "Visning"
+#: ../src/main_window.c:305
+msgid "_About"
+msgstr "_Om"
-#: ../src/main_window.c:1421
-msgid "Slideshow"
-msgstr "Bildspel"
+#: ../src/main_window.c:307
+msgid "Display information about ristretto"
+msgstr "Visa information om ristretto"
-#: ../src/main_window.c:1425
-msgid "Behaviour"
-msgstr "Beteende"
+#. Position Menu
+#: ../src/main_window.c:310
+msgid "_Position"
+msgstr "_Position"
-#: ../src/main_window.c:1430
-msgid "Scaling"
-msgstr "Skalning"
+#. Misc
+#: ../src/main_window.c:312
+msgid "Leave _Fullscreen"
+msgstr "Lämna _helskärmsläge"
-#: ../src/main_window.c:1432
-msgid "Don't scale over 100% when maximizing the window."
-msgstr "Skala inte över 100% när fönstret maximeras."
+#. Toggle visibility of the main file toolbar
+#: ../src/main_window.c:320
+#, fuzzy
+msgid "Show _File Toolbar"
+msgstr "Visa _verktygsrad"
-#: ../src/main_window.c:1442
-msgid "Background Color"
-msgstr "Bakgrundsfärg"
+#. Toggle visibility of the main navigation toolbar
+#: ../src/main_window.c:322
+#, fuzzy
+msgid "Show _Navigation Toolbar"
+msgstr "Visa _verktygsrad"
-#: ../src/main_window.c:1444
-msgid "_Override Background Color:"
-msgstr "_Åsidosätt bakgrundsfärg:"
+#. Toggle visibility of the thumbnailbar
+#: ../src/main_window.c:324
+#, fuzzy
+msgid "Show _Thumbnailbar"
+msgstr "Visa _verktygsrad"
-#: ../src/main_window.c:1467
-msgid "Image Cache"
-msgstr "Bildcache"
+#. Sort by Filename
+#: ../src/main_window.c:331
+msgid "sort by filename"
+msgstr "sortera efter filnamn"
-#: ../src/main_window.c:1470
-msgid "Cache size:"
-msgstr "Storlek på cache:"
+#. Sort by Date
+#: ../src/main_window.c:333
+msgid "sort by date"
+msgstr "sortera efter datum"
-#: ../src/main_window.c:1471
-msgid "MB"
-msgstr "MB"
+#: ../src/main_window.c:339
+msgid "Left"
+msgstr "Vänster"
-#: ../src/main_window.c:1473
-msgid "_Preload images (GUI more responsive but more CPU-intensive)"
-msgstr "_Förinläs bilder (grafiska gränssnittet snabbare men mer processorkrävande)"
+#: ../src/main_window.c:340
+msgid "Right"
+msgstr "Höger"
-#: ../src/main_window.c:1491
-msgid "Timeout"
-msgstr "Tidsgräns"
+#: ../src/main_window.c:341
+msgid "Top"
+msgstr "Överkant"
-#: ../src/main_window.c:1494
-msgid "Thumbnails"
-msgstr "Miniatyrbilder"
+#: ../src/main_window.c:342
+msgid "Bottom"
+msgstr "Nederkant"
-#: ../src/main_window.c:1499
-msgid ""
-"The time period an individual image is displayed during a slideshow\n"
-"(in seconds)"
+#: ../src/main_window.c:512 ../src/main_window.c:778
+msgid "Press open to select an image"
msgstr ""
-"Tidsperioden som en individuell bild visas under ett bildspel\n"
-"(i sekunder)"
-#: ../src/main_window.c:1502
-msgid "Hide the thumbnails bar during slideshow"
-msgstr "Dölj miniatyrbildsraden under bildspel"
+#: ../src/main_window.c:765 ../src/main_window.c:770
+msgid "Empty"
+msgstr "Tom"
-#: ../src/main_window.c:1503
-msgid "_Hide thumbnails"
-msgstr "_Dölj miniatyrbilder"
-
-#: ../src/main_window.c:1561
+#: ../src/main_window.c:1545
msgid "Developer:"
msgstr "Utvecklare:"
-#: ../src/main_window.c:1571
-msgid "Ristretto is a fast and lightweight picture-viewer for the Xfce desktop environment."
-msgstr "Ristretto är en snabb och lättviktig bildvisare för skrivbordsmiljön Xfce."
+#: ../src/main_window.c:1555
+msgid "Ristretto is an imageviewer for the Xfce desktop environment."
+msgstr "Ristretto är en bildvisare för skrivbordsmiljön Xfce."
-#: ../src/main_window.c:1579
+#: ../src/main_window.c:1563
msgid "translator-credits"
msgstr ""
"Daniel Nylander <po at danielnylander.se>\n"
@@ -223,44 +290,253 @@ msgstr ""
"Skicka synpunkter på översättningen till\n"
"<tp-sv at listor.tp-sv.se>"
-#: ../src/main_window.c:1605
+#: ../src/main_window.c:1878
msgid "Open image"
msgstr "Öppna bild"
-#: ../src/main_window.c:1623
+#: ../src/main_window.c:1890
+msgid "Images"
+msgstr "Bilder"
+
+#: ../src/main_window.c:1895
+msgid ".jp(e)g"
+msgstr ".jp(e)g"
+
+#: ../src/main_window.c:1917 ../src/main_window.c:1940
+#: ../src/main_window.c:2099 ../src/main_window.c:2114
msgid "Could not open file"
msgstr "Kunde inte öppna filen"
-#: ../src/main_window.c:1645
+#: ../src/main_window.c:1992
msgid "Open folder"
msgstr "Öppna mapp"
-#: ../src/main_window.c:1720
-msgid "Are you sure you want to clear ristretto's list of recently opened documents?"
-msgstr "Är du säker på att du vill tömma ristrettos lista över tidigare öppnade dokument?"
+#: ../src/main_window.c:2137
+msgid "Save copy"
+msgstr "Spara en kopia"
+
+#: ../src/main_window.c:2210
+#, c-format
+msgid "Are you sure you want to delete image '%s' from disk?"
+msgstr "Är du säker på att du vill ta bort bilden \"%s\" från disken?"
+
+#: ../src/preferences_dialog.c:230
+msgid "Display"
+msgstr "Visning"
+
+#: ../src/preferences_dialog.c:235
+msgid "Background color"
+msgstr "Bakgrundsfärg"
+
+#: ../src/preferences_dialog.c:239
+msgid "Override background color:"
+msgstr "Åsidosätt bakgrundsfärg:"
+
+#: ../src/preferences_dialog.c:267
+msgid "Quality"
+msgstr "Kvalitet"
+
+#: ../src/preferences_dialog.c:271
+msgid "Maximum render quality:"
+msgstr ""
+
+#: ../src/preferences_dialog.c:274
+msgid "Show preview when loading image"
+msgstr ""
+
+#: ../src/preferences_dialog.c:281
+msgid "Best"
+msgstr "Bästa"
+
+#: ../src/preferences_dialog.c:282
+msgid "High"
+msgstr "Hög"
+
+#: ../src/preferences_dialog.c:283
+msgid "Medium"
+msgstr "Medel"
+
+#: ../src/preferences_dialog.c:284
+msgid "Low"
+msgstr "Låg"
+
+#: ../src/preferences_dialog.c:324
+msgid "Slideshow"
+msgstr "Bildspel"
+
+#: ../src/preferences_dialog.c:328
+msgid "Timeout"
+msgstr "Tidsgräns"
+
+#: ../src/preferences_dialog.c:331
+msgid ""
+"The time period an individual image is displayed during a slideshow\n"
+"(in seconds)"
+msgstr ""
+"Tidsperioden som en individuell bild visas under ett bildspel\n"
+"(i sekunder)"
+
+#: ../src/preferences_dialog.c:346
+msgid "Thumbnails"
+msgstr "Miniatyrbilder"
+
+#: ../src/preferences_dialog.c:349
+msgid ""
+"The thumbnailbar can be automatically hidden \n"
+"when the image-viewer is fullscreen."
+msgstr ""
+
+#: ../src/preferences_dialog.c:351
+#, fuzzy
+msgid "Hide thumbnailbar when fullscreen"
+msgstr "_Dölj miniatyrbilder"
+
+#: ../src/preferences_dialog.c:364
+msgid "Control"
+msgstr ""
+
+#: ../src/preferences_dialog.c:368
+msgid "Scrollwheel"
+msgstr "Mushjul"
+
+#: ../src/preferences_dialog.c:371
+msgid "No action"
+msgstr "Ingen åtgärd"
+
+#: ../src/preferences_dialog.c:375
+msgid "Zoom in and out"
+msgstr "Zooma in och ut"
+
+#: ../src/preferences_dialog.c:378
+msgid "Switch images"
+msgstr "Växla bilder"
+
+#: ../src/preferences_dialog.c:412
+msgid "Behaviour"
+msgstr "Beteende"
+
+#: ../src/preferences_dialog.c:417
+msgid "Scaling"
+msgstr "Skalning"
+
+#: ../src/preferences_dialog.c:422
+msgid "Don't scale over 100% when maximizing the window."
+msgstr "Skala inte över 100% när fönstret maximeras."
+
+#: ../src/preferences_dialog.c:426
+msgid "Startup"
+msgstr "Uppstart"
+
+#: ../src/preferences_dialog.c:428
+msgid "Resize window to image on startup"
+msgstr ""
+
+#: ../src/preferences_dialog.c:432
+msgid "Open entire folder on startup"
+msgstr "Öppna hela mappen vid uppstart"
+
+#: ../src/preferences_dialog.c:437
+#, fuzzy
+msgid "Wrap around images"
+msgstr "Öppna bild"
+
+#: ../src/preferences_dialog.c:453
+msgid "Memory"
+msgstr "Minne"
-#: ../src/save_dialog.c:82
-msgid "Filename"
-msgstr "Filnamn"
+#: ../src/preferences_dialog.c:459
+msgid "Image cache"
+msgstr "Bildcache"
+
+#: ../src/preferences_dialog.c:465
+msgid "Cache size"
+msgstr "Storlek på cache"
+
+#: ../src/preferences_dialog.c:466
+msgid "MB"
+msgstr "MB"
+
+#: ../src/preferences_dialog.c:469
+msgid "Enable cache"
+msgstr "Töm cache"
+
+#: ../src/preferences_dialog.c:474
+msgid "Preload images"
+msgstr ""
+
+#: ../src/preferences_dialog.c:544
+msgid "Preferences"
+msgstr "Inställningar"
+
+#: ../src/xfce_wallpaper_manager.c:84
+msgid "Set as wallpaper"
+msgstr "Ange som skrivbordsbakgrund"
+
+#: ../src/xfce_wallpaper_manager.c:86
+msgid "Style:"
+msgstr "Stil:"
+
+#: ../src/xfce_wallpaper_manager.c:88
+msgid "Monitor:"
+msgstr ""
+
+#: ../src/xfce_wallpaper_manager.c:90
+msgid "Brightness:"
+msgstr ""
+
+#: ../src/xfce_wallpaper_manager.c:91
+#, fuzzy
+msgid "Saturation:"
+msgstr "_Rotering"
+
+#: ../src/xfce_wallpaper_manager.c:123
+msgid "Auto"
+msgstr "Auto"
+
+#: ../src/xfce_wallpaper_manager.c:124
+msgid "Centered"
+msgstr "Centrerad"
+
+#: ../src/xfce_wallpaper_manager.c:125
+msgid "Tiled"
+msgstr "Sida vid sida"
-#: ../src/save_dialog.c:90
-msgid "Save"
-msgstr "Spara"
+#: ../src/xfce_wallpaper_manager.c:126
+msgid "Stretched"
+msgstr "Utsträckt"
-#: ../src/thumbnail_bar.c:185
+#: ../src/xfce_wallpaper_manager.c:127
+msgid "Scaled"
+msgstr "Skalad"
+
+#: ../src/xfce_wallpaper_manager.c:128
+msgid "Zoomed"
+msgstr "Zoomad"
+
+#: ../src/thumbnail_bar.c:187
msgid "Spacing"
msgstr "Mellanrum"
-#: ../src/thumbnail_bar.c:186
+#: ../src/thumbnail_bar.c:188
msgid "The amount of space between the thumbnails"
msgstr "Mängden utrymme mellan miniatyrbilder"
-#: ../src/thumbnail_bar.c:192
-msgid "Border Width"
-msgstr "Rambredd"
+#: ../src/thumbnail_bar.c:194
+msgid "border width"
+msgstr "rambredd"
+
+#: ../src/thumbnail_bar.c:195
+#, fuzzy
+msgid "the border width of the thumbnail-bar"
+msgstr "Rambredden för miniatyrbildsraden"
+
+#: ../src/thumbnail_bar.c:201
+msgid "filmstrip width"
+msgstr ""
-#: ../src/thumbnail_bar.c:193
-msgid "The border width of the thumbnail-bar"
+#: ../src/thumbnail_bar.c:202
+#, fuzzy
+msgid "the width of the thumbnail-bar film-strip"
msgstr "Rambredden för miniatyrbildsraden"
#: ../ristretto.desktop.in.h:1
@@ -268,10 +544,59 @@ msgid "Image Viewer"
msgstr "Bildvisare"
#: ../ristretto.desktop.in.h:2
-msgid "Ristretto"
-msgstr "Ristretto"
+msgid "Look at your photo's easily"
+msgstr "Se enkelt på dina foton"
#: ../ristretto.desktop.in.h:3
-msgid "Xfce Image viewer"
-msgstr "Bildvisare för Xfce"
+msgid "Ristretto Photo Viewer"
+msgstr "Fotovisaren Ristretto"
+
+#, fuzzy
+#~ msgid "Ristretto"
+#~ msgstr "Ristretto"
+
+#, fuzzy
+#~ msgid "_Thumbnail Bar"
+#~ msgstr "Miniatyrbilder"
+
+#~ msgid "Opening file(s)..."
+#~ msgstr "Öppnar fil(er)..."
+
+#~ msgid "_Recently used"
+#~ msgstr "_Tidigare använda"
+
+#~ msgid "No applications available"
+#~ msgstr "Inga program tillgängliga"
+
+#~ msgid "Thumbnail _Viewer"
+#~ msgstr "Miniatyrbilds_visare"
+
+#~ msgid "Show _Horizontally"
+#~ msgstr "Visa _horisontellt"
+
+#~ msgid "Show _Vertically"
+#~ msgstr "Visa _vertikalt"
+
+#~ msgid "H_ide"
+#~ msgstr "D_ölj"
+
+#~ msgid ""
+#~ "The orientation of one or more images has been modified, do you want to "
+#~ "save the changes?"
+#~ msgstr ""
+#~ "Orienteringen för en eller flera bilder har ändrats. Vill du spara "
+#~ "ändringarna?"
+
+#~ msgid "_Preload images (GUI more responsive but more CPU-intensive)"
+#~ msgstr ""
+#~ "_Förinläs bilder (grafiska gränssnittet snabbare men mer "
+#~ "processorkrävande)"
+
+#~ msgid "Hide the thumbnails bar during slideshow"
+#~ msgstr "Dölj miniatyrbildsraden under bildspel"
+
+#~ msgid "Filename"
+#~ msgstr "Filnamn"
+#~ msgid "Xfce Image viewer"
+#~ msgstr "Bildvisare för Xfce"
diff --git a/po/tr.po b/po/tr.po
index 50a7ea6..6d526ef 100644
--- a/po/tr.po
+++ b/po/tr.po
@@ -2,15 +2,15 @@
# German translations for ristretto package.
# Copyright (C) 2007 Stephan Arts <stephan at xfce.org>
# This file is distributed under the same license as the ristretto package.
-#
+#
# Onur Küçük <onur at pardus.org.tr>, 2008.
# Gökmen Görgen <gkmngrgn at gmail.com>, 2008.
-#
+#
msgid ""
msgstr ""
"Project-Id-Version: tr\n"
"Report-Msgid-Bugs-To: xfce-i18n at xfce.org\n"
-"POT-Creation-Date: 2008-11-14 13:24+0100\n"
+"POT-Creation-Date: 2010-01-15 00:57+0100\n"
"PO-Revision-Date: 2008-11-16 02:31+0200\n"
"Last-Translator: Gökmen Görgen <gkmngrgn at gmail.com>\n"
"Language-Team: Turkish\n"
@@ -19,19 +19,19 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: KBabel 1.11.4\n"
-#: ../src/main.c:61
+#: ../src/main.c:59
msgid "Version information"
msgstr "Sürüm bilgisi"
-#: ../src/main.c:65
+#: ../src/main.c:63
msgid "Start in fullscreen mode"
msgstr "Tam ekran kipinde başlat"
-#: ../src/main.c:69
+#: ../src/main.c:67
msgid "Start a slideshow"
msgstr "Slayt gösterisini başlat"
-#: ../src/main.c:235
+#: ../src/main.c:91
#, c-format
msgid ""
"%s: %s\n"
@@ -40,244 +40,557 @@ msgstr ""
"%s: %s\n"
"Komutsatırı parametrelerini görmek için %s --help komutunu kullanınız.\n"
-#: ../src/main.c:448
-#: ../src/main_window.c:1598
-#: ../src/main_window.c:1638
-#: ../src/main_window.c:1675
-msgid "Opening file(s)..."
-msgstr "Dosya(lar) açılıyor..."
-
-#. Create 'File' menu
-#: ../src/main_window.c:340
+#. File Menu
+#: ../src/main_window.c:262
msgid "_File"
msgstr "_Dosya"
-#: ../src/main_window.c:347
-msgid "O_pen Folder"
-msgstr "D_izin Aç"
+#: ../src/main_window.c:263
+msgid "_Open"
+msgstr "_Aç"
+
+#: ../src/main_window.c:263
+msgid "Open an image"
+msgstr "Bir resim aç"
+
+#: ../src/main_window.c:264
+msgid "Open _Folder"
+msgstr "_Dizin Aç"
+
+#: ../src/main_window.c:264
+msgid "Open a folder"
+msgstr "Bir dizin aç"
+
+#: ../src/main_window.c:265
+msgid "_Save copy"
+msgstr "Kopyayı _kaydet"
+
+#: ../src/main_window.c:265
+msgid "Save a copy of the image"
+msgstr "Resmin bir kopyasını kaydet"
+
+#: ../src/main_window.c:266
+msgid "_Print"
+msgstr "_Yadır"
-#: ../src/main_window.c:348
-msgid "_Recently used"
-msgstr "_Son kullanılanlar"
+#: ../src/main_window.c:266
+msgid "Print the image"
+msgstr "Resmi yazdır"
-#: ../src/main_window.c:353
-msgid "Close _all"
-msgstr "Hepsini k_apa"
+#: ../src/main_window.c:267
+msgid "_Close"
+msgstr "_Kapat"
-#. Create 'Edit' menu
-#: ../src/main_window.c:383
+#: ../src/main_window.c:267
+msgid "Close this image"
+msgstr "Bu resi kapat"
+
+#: ../src/main_window.c:268
+msgid "_Close All"
+msgstr "Tümünü _Kapat"
+
+#: ../src/main_window.c:268
+msgid "Close all images"
+msgstr "Tüm resimleri kapat"
+
+#: ../src/main_window.c:269
+msgid "_Quit"
+msgstr "_Çık"
+
+#: ../src/main_window.c:269
+msgid "Quit Ristretto"
+msgstr "Ristretto'dan Çık"
+
+#. Edit Menu
+#: ../src/main_window.c:271
msgid "_Edit"
msgstr "Dü_zenle"
-#: ../src/main_window.c:388
-#: ../src/main_window.c:659
-msgid "Open with..."
-msgstr "Birlikte aç..."
+#: ../src/main_window.c:272
+msgid "_Open with..."
+msgstr "Birlikte _aç..."
+
+#: ../src/main_window.c:273
+msgid "_Sorting"
+msgstr "_Sıralama"
-#: ../src/main_window.c:396
-#: ../src/main_window.c:670
-msgid "No applications available"
-msgstr "Hiç bir uygulama bulunamadı"
+#: ../src/main_window.c:274
+msgid "_Delete"
+msgstr "_Sil"
-#. Create 'View' menu
-#: ../src/main_window.c:405
+#: ../src/main_window.c:275
+msgid "_Preferences"
+msgstr "Tercihler"
+
+#. View Menu
+#: ../src/main_window.c:277
msgid "_View"
msgstr "_Görünüm"
-#: ../src/main_window.c:412
-msgid "Show _Toolbar"
-msgstr "Araç _Çubuğunu Göster"
+#: ../src/main_window.c:278
+msgid "_Fullscreen"
+msgstr "_Tam ekran"
+
+#: ../src/main_window.c:279
+msgid "_Leave Fullscreen"
+msgstr "_Tam ekranı kapat"
-#: ../src/main_window.c:413
-msgid "Thumbnail _Viewer"
-msgstr "_Önizleme Gösterici"
+#: ../src/main_window.c:280
+msgid "_Set as Wallpaper"
+msgstr "Duvar Kağıdı olarak _belirle"
-#: ../src/main_window.c:417
+#. Zoom submenu
+#: ../src/main_window.c:282
msgid "_Zooming"
msgstr "_Yakınlaşma"
-#: ../src/main_window.c:418
-msgid "_Rotate"
-msgstr "Dö_ndür"
+#: ../src/main_window.c:283
+msgid "Zoom _In"
+msgstr "_Yakınlaş"
-#: ../src/main_window.c:425
-msgid "_Set as wallpaper"
-msgstr "Arkaplan re_smi olarak belirle"
+#: ../src/main_window.c:284
+msgid "Zoom _Out"
+msgstr "_Uzaklaş"
-#: ../src/main_window.c:476
-msgid "Show _Horizontally"
-msgstr "Ya_tay Sırala"
+#: ../src/main_window.c:285
+msgid "Zoom _Fit"
+msgstr "Uygun yaklaştır"
-#: ../src/main_window.c:480
-msgid "Show _Vertically"
-msgstr "Di_key Sırala"
+#: ../src/main_window.c:286
+msgid "_Normal Size"
+msgstr "_Normal Boyut"
-#: ../src/main_window.c:484
-msgid "H_ide"
-msgstr "Giz_le"
+#. Rotation submenu
+#: ../src/main_window.c:288
+msgid "_Rotation"
+msgstr "Döndü_r"
-#: ../src/main_window.c:521
+#: ../src/main_window.c:289
msgid "Rotate _Right"
msgstr "Sa_ğa Döndür"
-#: ../src/main_window.c:522
+#: ../src/main_window.c:290
msgid "Rotate _Left"
msgstr "So_la Döndür"
-#. Create 'Go' menu
-#: ../src/main_window.c:543
+#. Go Menu
+#: ../src/main_window.c:292
msgid "_Go"
msgstr "Gi_t"
-#. Create 'Help' menu
-#: ../src/main_window.c:574
+#: ../src/main_window.c:293
+msgid "_Forward"
+msgstr "_İleri"
+
+#: ../src/main_window.c:294
+msgid "_Back"
+msgstr "_Geri"
+
+#: ../src/main_window.c:295
+msgid "_First"
+msgstr "_İlk"
+
+#: ../src/main_window.c:296
+msgid "_Last"
+msgstr "_Son"
+
+#. Help Menu
+#: ../src/main_window.c:298
msgid "_Help"
msgstr "_Yardım"
-#: ../src/main_window.c:906
-msgid "One or more images have been modified, do you want to save the changes?"
-msgstr "Bir ya da daha fazla resim değiştirildi, değişiklikleri kaydetmek ister misiniz?"
+#: ../src/main_window.c:300
+msgid "_Contents"
+msgstr "_İçindekiler"
+
+#: ../src/main_window.c:302
+msgid "Display ristretto user manual"
+msgstr "Ristretto kullanıcı klavuzunu görüntüle"
+
+#: ../src/main_window.c:305
+msgid "_About"
+msgstr "_Hakkında"
+
+#: ../src/main_window.c:307
+msgid "Display information about ristretto"
+msgstr "Ristretto hakkında bilgi görüntüle"
+
+#. Position Menu
+#: ../src/main_window.c:310
+msgid "_Position"
+msgstr "_Konum"
+
+#. Misc
+#: ../src/main_window.c:312
+msgid "Leave _Fullscreen"
+msgstr "Tam Ekranı _Kapat"
+
+#. Toggle visibility of the main file toolbar
+#: ../src/main_window.c:320
+msgid "Show _File Toolbar"
+msgstr "_Dosya Araç Çubuğunu Göster"
+
+#. Toggle visibility of the main navigation toolbar
+#: ../src/main_window.c:322
+msgid "Show _Navigation Toolbar"
+msgstr "_Dolaşma Araç Çubuğunu Göster"
+
+#. Toggle visibility of the thumbnailbar
+#: ../src/main_window.c:324
+msgid "Show _Thumbnailbar"
+msgstr "_Küçük resim çubuğunu göster"
+
+#. Sort by Filename
+#: ../src/main_window.c:331
+msgid "sort by filename"
+msgstr "dosya adına göre sırala"
+
+#. Sort by Date
+#: ../src/main_window.c:333
+msgid "sort by date"
+msgstr "tarihe göre sırala"
+
+#: ../src/main_window.c:339
+msgid "Left"
+msgstr "Sol"
+
+#: ../src/main_window.c:340
+msgid "Right"
+msgstr "Sağ"
+
+#: ../src/main_window.c:341
+msgid "Top"
+msgstr "Üst"
+
+#: ../src/main_window.c:342
+msgid "Bottom"
+msgstr "Alt"
-#: ../src/main_window.c:1394
-msgid "Image viewer Preferences"
-msgstr "Görüntü gösterici Tercihleri"
+#: ../src/main_window.c:512 ../src/main_window.c:778
+msgid "Press open to select an image"
+msgstr "Bir resim seçmek için aça basın"
-#: ../src/main_window.c:1412
+#: ../src/main_window.c:765 ../src/main_window.c:770
+msgid "Empty"
+msgstr "Boş"
+
+#: ../src/main_window.c:1545
+msgid "Developer:"
+msgstr "Geliştirici:"
+
+#: ../src/main_window.c:1555
+msgid "Ristretto is an imageviewer for the Xfce desktop environment."
+msgstr "Ristretto, Xfce masaüstü ortamı için bir resim göstericidir."
+
+#: ../src/main_window.c:1563
+msgid "translator-credits"
+msgstr ""
+"Onur Küçük <onur at pardus.org.tr>\n"
+"Gökmen Görgen <gkmngrgn at gmail.com>"
+
+#: ../src/main_window.c:1878
+msgid "Open image"
+msgstr "Dosya aç"
+
+#: ../src/main_window.c:1890
+msgid "Images"
+msgstr "Resimler"
+
+#: ../src/main_window.c:1895
+msgid ".jp(e)g"
+msgstr ".jp(e)g"
+
+#: ../src/main_window.c:1917 ../src/main_window.c:1940
+#: ../src/main_window.c:2099 ../src/main_window.c:2114
+msgid "Could not open file"
+msgstr "Dosya açılamadı"
+
+#: ../src/main_window.c:1992
+msgid "Open folder"
+msgstr "Dizin aç"
+
+#: ../src/main_window.c:2137
+msgid "Save copy"
+msgstr "Kopyayı kaydet"
+
+#: ../src/main_window.c:2210
+#, c-format
+msgid "Are you sure you want to delete image '%s' from disk?"
+msgstr "Diskinizden '%s' resmini silmek istediğinizden emin misiniz?"
+
+#: ../src/preferences_dialog.c:230
msgid "Display"
msgstr "Görüntü"
-#: ../src/main_window.c:1416
+#: ../src/preferences_dialog.c:235
+msgid "Background color"
+msgstr "Arkaplan rengi"
+
+#: ../src/preferences_dialog.c:239
+msgid "Override background color:"
+msgstr "Arkaplan rengini zorla:"
+
+#: ../src/preferences_dialog.c:267
+msgid "Quality"
+msgstr "Kalite"
+
+#: ../src/preferences_dialog.c:271
+msgid "Maximum render quality:"
+msgstr "Maksimum tarama kalitesi:"
+
+#: ../src/preferences_dialog.c:274
+msgid "Show preview when loading image"
+msgstr "Resim yüklenirken önizleme göster"
+
+#: ../src/preferences_dialog.c:281
+msgid "Best"
+msgstr "En iyi"
+
+#: ../src/preferences_dialog.c:282
+msgid "High"
+msgstr "Yüksek"
+
+#: ../src/preferences_dialog.c:283
+msgid "Medium"
+msgstr "Orta"
+
+#: ../src/preferences_dialog.c:284
+msgid "Low"
+msgstr "Düşük"
+
+#: ../src/preferences_dialog.c:324
msgid "Slideshow"
msgstr "Sırayla Göster"
-#: ../src/main_window.c:1420
+#: ../src/preferences_dialog.c:328
+msgid "Timeout"
+msgstr "Kalan süre"
+
+#: ../src/preferences_dialog.c:331
+msgid ""
+"The time period an individual image is displayed during a slideshow\n"
+"(in seconds)"
+msgstr ""
+"Sırayla gösterim sırasında resim başına gösterim süresi\n"
+"(saniye cinsinden)"
+
+#: ../src/preferences_dialog.c:346
+msgid "Thumbnails"
+msgstr "Küçük resimler"
+
+#: ../src/preferences_dialog.c:349
+msgid ""
+"The thumbnailbar can be automatically hidden \n"
+"when the image-viewer is fullscreen."
+msgstr ""
+"Resim gösterici tam ekran olduğuna \n"
+" küçük resim çubuğu otomatik olarak gizlenir."
+
+#: ../src/preferences_dialog.c:351
+msgid "Hide thumbnailbar when fullscreen"
+msgstr "Tam ekrandayken küçük resimleri gizle"
+
+#: ../src/preferences_dialog.c:364
+msgid "Control"
+msgstr "Kontrol"
+
+#: ../src/preferences_dialog.c:368
+msgid "Scrollwheel"
+msgstr "Kaydırma tekerleği"
+
+#: ../src/preferences_dialog.c:371
+msgid "No action"
+msgstr "Hareket yok"
+
+#: ../src/preferences_dialog.c:375
+msgid "Zoom in and out"
+msgstr "Yaklaştır ve Uzaklaştır"
+
+#: ../src/preferences_dialog.c:378
+msgid "Switch images"
+msgstr "Resimleri değiştir"
+
+#: ../src/preferences_dialog.c:412
msgid "Behaviour"
msgstr "Davranış"
-#: ../src/main_window.c:1425
+#: ../src/preferences_dialog.c:417
msgid "Scaling"
msgstr "Ölçekleme"
-#: ../src/main_window.c:1427
+#: ../src/preferences_dialog.c:422
msgid "Don't scale over 100% when maximizing the window."
msgstr "Pencere büyütüldüğünde %100'den fazla ölçekleme yapma."
-#: ../src/main_window.c:1437
-msgid "Background Color"
-msgstr "Arkaplan Rengi"
+#: ../src/preferences_dialog.c:426
+msgid "Startup"
+msgstr "Başlangıç"
+
+#: ../src/preferences_dialog.c:428
+msgid "Resize window to image on startup"
+msgstr "Açılırken resim için pencereyi yeniden boyutlandır"
+
+#: ../src/preferences_dialog.c:432
+msgid "Open entire folder on startup"
+msgstr "Açılırken girdi dizinini aç"
-#: ../src/main_window.c:1439
-msgid "_Override Background Color:"
-msgstr "Arkaplan _Rengini Zorla:"
+#: ../src/preferences_dialog.c:437
+msgid "Wrap around images"
+msgstr "Resimlerin etrafını çerçevele"
-#: ../src/main_window.c:1462
-msgid "Image Cache"
-msgstr "Resim Belleği"
+#: ../src/preferences_dialog.c:453
+msgid "Memory"
+msgstr "Hafıza"
-#: ../src/main_window.c:1465
-msgid "Cache size:"
-msgstr "Bellek boyutu:"
+#: ../src/preferences_dialog.c:459
+msgid "Image cache"
+msgstr "Resim Önbelleği"
-#: ../src/main_window.c:1466
+#: ../src/preferences_dialog.c:465
+msgid "Cache size"
+msgstr "Önbellek boyutu"
+
+#: ../src/preferences_dialog.c:466
msgid "MB"
msgstr "MB"
-#: ../src/main_window.c:1468
-msgid "_Preload images (GUI more responsive but more CPU-intensive)"
-msgstr "_Resimleri önceden yükle (Arayüz daha erken hazır olur; ama daha fazla işlemci sömürür)"
+#: ../src/preferences_dialog.c:469
+msgid "Enable cache"
+msgstr "Önbellek açık"
-#: ../src/main_window.c:1486
-msgid "Timeout"
-msgstr "Kalan süre"
+#: ../src/preferences_dialog.c:474
+msgid "Preload images"
+msgstr "Resimleri önyükle"
-#: ../src/main_window.c:1489
-msgid "Thumbnails"
-msgstr "Önizlemeler"
+#: ../src/preferences_dialog.c:544
+msgid "Preferences"
+msgstr "Tercihler"
-#: ../src/main_window.c:1494
-msgid ""
-"The time period an individual image is displayed during a slideshow\n"
-"(in seconds)"
-msgstr ""
-"Sırayla gösterim sırasında resim başına gösterim süresi\n"
-"(saniye cinsinden)"
+#: ../src/xfce_wallpaper_manager.c:84
+msgid "Set as wallpaper"
+msgstr "Duvar kağıdı olarak belirle"
-#: ../src/main_window.c:1497
-msgid "Hide the thumbnails bar during slideshow"
-msgstr "Slayt gösterisi sırasında önizlemeleri gizle"
+#: ../src/xfce_wallpaper_manager.c:86
+msgid "Style:"
+msgstr "Stil:"
-#: ../src/main_window.c:1498
-msgid "_Hide thumbnails"
-msgstr "Önizlemeleri _gizle"
+#: ../src/xfce_wallpaper_manager.c:88
+msgid "Monitor:"
+msgstr "Ekran:"
-#: ../src/main_window.c:1556
-msgid "Developer:"
-msgstr "Geliştirici:"
+#: ../src/xfce_wallpaper_manager.c:90
+msgid "Brightness:"
+msgstr "Parlaklık:"
-#: ../src/main_window.c:1566
-msgid "Ristretto is a fast and lightweight picture-viewer for the Xfce desktop environment."
-msgstr "Ristretto, Xfce masaüstü ortamı için geliştirilen hızlı ve hafif bir resim göstericidir."
+#: ../src/xfce_wallpaper_manager.c:91
+msgid "Saturation:"
+msgstr "Doygunluk:"
-#: ../src/main_window.c:1574
-msgid "translator-credits"
-msgstr ""
-"Onur Küçük <onur at pardus.org.tr>\n"
-"Gökmen Görgen <gkmngrgn at gmail.com>"
+#: ../src/xfce_wallpaper_manager.c:123
+msgid "Auto"
+msgstr "Otomatik"
-#: ../src/main_window.c:1600
-msgid "Open image"
-msgstr "Dosya aç"
+#: ../src/xfce_wallpaper_manager.c:124
+msgid "Centered"
+msgstr "Merkezle"
-#: ../src/main_window.c:1618
-msgid "Could not open file"
-msgstr "Dosya açılamadı"
+#: ../src/xfce_wallpaper_manager.c:125
+msgid "Tiled"
+msgstr ""
-#: ../src/main_window.c:1640
-msgid "Open folder"
-msgstr "Dizin aç"
+#: ../src/xfce_wallpaper_manager.c:126
+msgid "Stretched"
+msgstr "Uzatıldı"
-#: ../src/main_window.c:1715
-msgid "Are you sure you want to clear ristretto's list of recently opened documents?"
-msgstr "Önceden yüklenmiş belgelerin listesini silmek istediğinizden emin misiniz ?"
+#: ../src/xfce_wallpaper_manager.c:127
+msgid "Scaled"
+msgstr "Ölçeklendi"
-#: ../src/thumbnail_bar.c:185
+#: ../src/xfce_wallpaper_manager.c:128
+msgid "Zoomed"
+msgstr "Yakınlaştı"
+
+#: ../src/thumbnail_bar.c:187
msgid "Spacing"
msgstr "Aralık"
-#: ../src/thumbnail_bar.c:186
+#: ../src/thumbnail_bar.c:188
msgid "The amount of space between the thumbnails"
msgstr "önizlemeler arasındaki aralığın boyutu"
-#: ../src/thumbnail_bar.c:192
-msgid "Border Width"
-msgstr "Kenar Genişliği"
+#: ../src/thumbnail_bar.c:194
+msgid "border width"
+msgstr "kenar genişliği"
+
+#: ../src/thumbnail_bar.c:195
+msgid "the border width of the thumbnail-bar"
+msgstr "küçük resim çubuğunun kenar genişliği"
+
+#: ../src/thumbnail_bar.c:201
+msgid "filmstrip width"
+msgstr "film şeridi genişliği"
-#: ../src/thumbnail_bar.c:193
-msgid "The border width of the thumbnail-bar"
-msgstr "Önizleme çubuğunun kenar genişliği"
+#: ../src/thumbnail_bar.c:202
+msgid "the width of the thumbnail-bar film-strip"
+msgstr "küçük resim çubuğu film şeridinin genişliği"
#: ../ristretto.desktop.in.h:1
msgid "Image Viewer"
msgstr "Resim Gösterici"
#: ../ristretto.desktop.in.h:2
-msgid "Ristretto"
-msgstr "Ristretto"
+msgid "Look at your photo's easily"
+msgstr "Fotoğraflarına kolayca bak"
#: ../ristretto.desktop.in.h:3
-msgid "Xfce Image viewer"
-msgstr "Xfce Resim Gösterici"
+msgid "Ristretto Photo Viewer"
+msgstr "Ristretto Fotoğraf Gösterici"
+
+#~ msgid "Ristretto"
+#~ msgstr "Ristretto"
+
+#~ msgid "_Thumbnail Bar"
+#~ msgstr "Önizlemeler"
+
+#~ msgid "Opening file(s)..."
+#~ msgstr "Dosya(lar) açılıyor..."
+
+#~ msgid "_Recently used"
+#~ msgstr "_Son kullanılanlar"
+
+#~ msgid "No applications available"
+#~ msgstr "Hiç bir uygulama bulunamadı"
+
+#~ msgid "Thumbnail _Viewer"
+#~ msgstr "_Önizleme Gösterici"
+
+#~ msgid "Show _Horizontally"
+#~ msgstr "Ya_tay Sırala"
+
+#~ msgid "Show _Vertically"
+#~ msgstr "Di_key Sırala"
+
+#~ msgid "H_ide"
+#~ msgstr "Giz_le"
+
+#~ msgid "One or more images have been modified, do you want to save the changes?"
+#~ msgstr "Bir ya da daha fazla resim değiştirildi, değişiklikleri kaydetmek ister misiniz?"
+
+#~ msgid "_Preload images (GUI more responsive but more CPU-intensive)"
+#~ msgstr "_Resimleri önceden yükle (Arayüz daha erken hazır olur; ama daha fazla işlemci sömürür)"
+
+#~ msgid "Hide the thumbnails bar during slideshow"
+#~ msgstr "Slayt gösterisi sırasında önizlemeleri gizle"
+
+#~ msgid "Xfce Image viewer"
+#~ msgstr "Xfce Resim Gösterici"
#~ msgid "Preload"
#~ msgstr "Önyükleme"
+
#~ msgid ""
#~ "Preload images during slideshow\n"
#~ "(uses more memory)"
#~ msgstr ""
#~ "Sırayla gösterim sırasında görüntüleri önyükle\n"
#~ "(daha çok hafıza kullanır)"
-#~ msgid "_Preload images"
-#~ msgstr "Görüntüleri _önyükle"
-#~ msgid "Ristretto Image Viewer"
-#~ msgstr "Ristretto Görüntü Gösterici"
-
diff --git a/po/ug.po b/po/ug.po
new file mode 100644
index 0000000..8e98558
--- /dev/null
+++ b/po/ug.po
@@ -0,0 +1,539 @@
+# Uyghur translations for ristretto package
+# Copyright (C) 2008 Stephan Arts
+# This file is distributed under the same license as the ristretto package.
+# Gheyret T.Kenji <gheyret at gmail.com>, 2010.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: 0.0.18\n"
+"Report-Msgid-Bugs-To: xfce-i18n at xfce.org\n"
+"POT-Creation-Date: 2010-01-15 00:57+0100\n"
+"PO-Revision-Date: 2009-10-12 15:32+0900\n"
+"Last-Translator: Gheyret T.Kenji <gheyret at gmail.com>\n"
+"Language-Team: Uyghur Computer Science Association <UKIJ at yahoogroups.com>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#: ../src/main.c:59
+msgid "Version information"
+msgstr "نەشر ئۇچۇرى"
+
+#: ../src/main.c:63
+msgid "Start in fullscreen mode"
+msgstr "تولۇق ئېكران ھالىتىدە قوزغىتىش"
+
+#: ../src/main.c:67
+msgid "Start a slideshow"
+msgstr "slideshow نى قوزغىتىش"
+
+#: ../src/main.c:91
+#, c-format
+msgid ""
+"%s: %s\n"
+"Try %s --help to see a full list of available command line options.\n"
+msgstr "%s: %s\n"
+"%s --help نى كىرگۈزسە، بۇيرۇق قۇرىدا ئىشلەتكىلى بولىدىغان بارلىق تاللانمىلار كۆرسىتىلىدۇ.\n"
+
+#. File Menu
+#: ../src/main_window.c:262
+msgid "_File"
+msgstr "ھۆججەت(_F)"
+
+#: ../src/main_window.c:263
+msgid "_Open"
+msgstr "ئاچ(_O)"
+
+#: ../src/main_window.c:263
+msgid "Open an image"
+msgstr "سۈرەت ئاچىدۇ"
+
+#: ../src/main_window.c:264
+msgid "Open _Folder"
+msgstr "مۇندەرىجە ئاچ(_F)"
+
+#: ../src/main_window.c:264
+msgid "Open a folder"
+msgstr "مۇندەرىجە ئاچىدۇ"
+
+#: ../src/main_window.c:265
+msgid "_Save copy"
+msgstr "كۆچۈرمىسىنى ساقلا(_S)"
+
+#: ../src/main_window.c:265
+msgid "Save a copy of the image"
+msgstr "رەسىمنىڭ كۆچۈرمىسىنى ساقلايدۇ"
+
+#: ../src/main_window.c:266
+msgid "_Print"
+msgstr "باس(_P)"
+
+#: ../src/main_window.c:266
+msgid "Print the image"
+msgstr "سۈرەتنى بېسىپ چىقىرىدۇ"
+
+#: ../src/main_window.c:267
+msgid "_Close"
+msgstr "تاقا(_C)"
+
+#: ../src/main_window.c:267
+msgid "Close this image"
+msgstr "سۈرەتنى تاقايدۇ"
+
+#: ../src/main_window.c:268
+msgid "_Close All"
+msgstr "ھەممىنى تاقا(_C)"
+
+#: ../src/main_window.c:268
+msgid "Close all images"
+msgstr "ھەممە سۈرەتنى تاقايدۇ"
+
+#: ../src/main_window.c:269
+msgid "_Quit"
+msgstr "ئاخىرلاشتۇر(_Q)"
+
+#: ../src/main_window.c:269
+msgid "Quit Ristretto"
+msgstr "Ristretto نى ئاخىرلاشتۇرىدۇ"
+
+#. Edit Menu
+#: ../src/main_window.c:271
+msgid "_Edit"
+msgstr "تەھرىر(_E)"
+
+#: ../src/main_window.c:272
+msgid "_Open with..."
+msgstr "پروگراممىدا ئاچ(_O)..."
+
+#: ../src/main_window.c:273
+msgid "_Sorting"
+msgstr "تەرتىپلە(_S)"
+
+#: ../src/main_window.c:274
+msgid "_Delete"
+msgstr "ئۆچۈر(_D)"
+
+#: ../src/main_window.c:275
+msgid "_Preferences"
+msgstr "مايىللىق(_P)"
+
+#. View Menu
+#: ../src/main_window.c:277
+msgid "_View"
+msgstr "كۆرۈنۈش(_V)"
+
+#: ../src/main_window.c:278
+msgid "_Fullscreen"
+msgstr "تولۇق ئېكران(_F)"
+
+#: ../src/main_window.c:279
+msgid "_Leave Fullscreen"
+msgstr "تولۇق ئېكران ھالىتىدىن چىق(_L)"
+
+#: ../src/main_window.c:280
+msgid "_Set as Wallpaper"
+msgstr "Wallpaper بېكىت(_S)"
+
+#. Zoom submenu
+#: ../src/main_window.c:282
+msgid "_Zooming"
+msgstr "چوڭايتىش ياكى كىچىكلىتىش(_Z)"
+
+#: ../src/main_window.c:283
+msgid "Zoom _In"
+msgstr "چوڭايت(_I)"
+
+#: ../src/main_window.c:284
+msgid "Zoom _Out"
+msgstr "كىچىكلەت(_O)"
+
+#: ../src/main_window.c:285
+msgid "Zoom _Fit"
+msgstr "دەل كەلتۈر(_F)"
+
+#: ../src/main_window.c:286
+msgid "_Normal Size"
+msgstr "نورمال چوڭلۇق(_N)"
+
+#. Rotation submenu
+#: ../src/main_window.c:288
+msgid "_Rotation"
+msgstr "چۆرگىلەت(_R)"
+
+#: ../src/main_window.c:289
+msgid "Rotate _Right"
+msgstr "ئوڭغا چۆرگىلەت(_R)"
+
+#: ../src/main_window.c:290
+msgid "Rotate _Left"
+msgstr "سولغا چۆرگىلەت(_L)"
+
+#. Go Menu
+#: ../src/main_window.c:292
+msgid "_Go"
+msgstr "يۆتكەل(_G)"
+
+#: ../src/main_window.c:293
+msgid "_Forward"
+msgstr "ئالدىغا(_F)"
+
+#: ../src/main_window.c:294
+msgid "_Back"
+msgstr "كەينىگە(_B)"
+
+#: ../src/main_window.c:295
+msgid "_First"
+msgstr "بىرىنچىسى(_F)"
+
+#: ../src/main_window.c:296
+msgid "_Last"
+msgstr "ئەڭ ئاخىرقىسى(_L)"
+
+#. Help Menu
+#: ../src/main_window.c:298
+msgid "_Help"
+msgstr "ياردەم(_H)"
+
+#: ../src/main_window.c:300
+msgid "_Contents"
+msgstr "مەزمۇن(_C)"
+
+#: ../src/main_window.c:302
+msgid "Display ristretto user manual"
+msgstr "ristretto نىڭ قوللانمىسىنى كۆرسىتىدۇ"
+
+#: ../src/main_window.c:305
+msgid "_About"
+msgstr "ھەققىدە(_A)"
+
+#: ../src/main_window.c:307
+msgid "Display information about ristretto"
+msgstr "ristretto ھەققىدىكى ئۇچۇرنى كۆرسىتىدۇ"
+
+#. Position Menu
+#: ../src/main_window.c:310
+msgid "_Position"
+msgstr "ئورۇن(_P)"
+
+#. Misc
+#: ../src/main_window.c:312
+msgid "Leave _Fullscreen"
+msgstr "تولۇق ئېكران ھالىتىدىن چىق(_F)"
+
+#. Toggle visibility of the main file toolbar
+#: ../src/main_window.c:320
+msgid "Show _File Toolbar"
+msgstr "ھۆججەت قورال تاياقچىسى كۆرسەت(_F)"
+
+#. Toggle visibility of the main navigation toolbar
+#: ../src/main_window.c:322
+msgid "Show _Navigation Toolbar"
+msgstr "Navigation قورال تاياقچىسى كۆرسەت(_N)"
+
+#. Toggle visibility of the thumbnailbar
+#: ../src/main_window.c:324
+msgid "Show _Thumbnailbar"
+msgstr "Thumbnailbar نى كۆرسەت(_T)"
+
+#. Sort by Filename
+#: ../src/main_window.c:331
+msgid "sort by filename"
+msgstr "ئاتىنى تەرتىپلە"
+
+#. Sort by Date
+#: ../src/main_window.c:333
+msgid "sort by date"
+msgstr "چېسلانى تەرتىپلە"
+
+#: ../src/main_window.c:339
+msgid "Left"
+msgstr "سول"
+
+#: ../src/main_window.c:340
+msgid "Right"
+msgstr "ئوڭ"
+
+#: ../src/main_window.c:341
+msgid "Top"
+msgstr "ئۇستى"
+
+#: ../src/main_window.c:342
+msgid "Bottom"
+msgstr "ئاستى"
+
+#: ../src/main_window.c:512 ../src/main_window.c:778
+msgid "Press open to select an image"
+msgstr "تاللانغان سۈرەتنى ئېچىش ئۈچۈن چېكىڭ"
+
+#: ../src/main_window.c:765 ../src/main_window.c:770
+msgid "Empty"
+msgstr "قۇرۇق"
+
+#: ../src/main_window.c:1545
+msgid "Developer:"
+msgstr "ئىجادىيەتچى"
+
+#: ../src/main_window.c:1555
+msgid "Ristretto is an imageviewer for the Xfce desktop environment."
+msgstr "Ristretto بولسا Xfce ئۇستەليۈزى مۇھىتىدىكى سۈرەت كۆرگۈدۇر"
+
+#: ../src/main_window.c:1563
+msgid "translator-credits"
+msgstr "Gheyret T.Kenji <gheyret at gmail.com> 2010"
+
+#: ../src/main_window.c:1878
+msgid "Open image"
+msgstr "سۈرەت ئېچىش"
+
+#: ../src/main_window.c:1890
+msgid "Images"
+msgstr "سۈرەتلەر"
+
+#: ../src/main_window.c:1895
+msgid ".jp(e)g"
+msgstr ".jp(e)g"
+
+#: ../src/main_window.c:1917 ../src/main_window.c:1940
+#: ../src/main_window.c:2099 ../src/main_window.c:2114
+msgid "Could not open file"
+msgstr "ھۆججەتنى ئاچقىلى بولمىدى"
+
+#: ../src/main_window.c:1992
+msgid "Open folder"
+msgstr "مۇندەرىجە ئېچىش"
+
+#: ../src/main_window.c:2137
+msgid "Save copy"
+msgstr "كۆچۈرمىسىنى ساقلاش"
+
+#: ../src/main_window.c:2210
+#, c-format
+msgid "Are you sure you want to delete image '%s' from disk?"
+msgstr "دىسكىدىكى '%s' دېگەن سۈرەتنى ئۆچۈرەمسىز؟"
+
+#: ../src/preferences_dialog.c:230
+msgid "Display"
+msgstr "كۆرسەت"
+
+#: ../src/preferences_dialog.c:235
+msgid "Background color"
+msgstr "تەگلىك رەڭگى"
+
+#: ../src/preferences_dialog.c:239
+msgid "Override background color:"
+msgstr "قاپلايدىغان تەگلىك رەڭگى:"
+
+#: ../src/preferences_dialog.c:267
+msgid "Quality"
+msgstr "سۈپەت"
+
+#: ../src/preferences_dialog.c:271
+msgid "Maximum render quality:"
+msgstr "ئەڭ يۇقىرى سىزىش سۈپىتى:"
+
+#: ../src/preferences_dialog.c:274
+msgid "Show preview when loading image"
+msgstr "سۈرەت ئوقۇغاندا ئالدىن كۆرسەتسۇن"
+
+#: ../src/preferences_dialog.c:281
+msgid "Best"
+msgstr "بەك ياخشى"
+
+#: ../src/preferences_dialog.c:282
+msgid "High"
+msgstr "يۇقىرى"
+
+#: ../src/preferences_dialog.c:283
+msgid "Medium"
+msgstr "ئوتتۇرا"
+
+#: ../src/preferences_dialog.c:284
+msgid "Low"
+msgstr "تۆۋەن"
+
+#: ../src/preferences_dialog.c:324
+msgid "Slideshow"
+msgstr "Slideshow"
+
+#: ../src/preferences_dialog.c:328
+msgid "Timeout"
+msgstr "ۋاقىت ئېچىپ كەتتى"
+
+# In ja translation, It's unnecessary to break the line.
+#: ../src/preferences_dialog.c:331
+msgid ""
+"The time period an individual image is displayed during a slideshow\n"
+"(in seconds)"
+msgstr "slideshow قىلىنغاندا، سۈرەتنىڭ كۆرسىتىلىش ۋاقتى(مىللىي سېكۇنت)"
+
+#: ../src/preferences_dialog.c:346
+msgid "Thumbnails"
+msgstr "كىچىك سۈرەت"
+
+#: ../src/preferences_dialog.c:349
+msgid ""
+"The thumbnailbar can be automatically hidden \n"
+"when the image-viewer is fullscreen."
+msgstr ""
+
+#: ../src/preferences_dialog.c:351
+msgid "Hide thumbnailbar when fullscreen"
+msgstr "تولۇق ئېكران ھالىتىدە thumbnailbar نى يوشۇرسۇن"
+
+#: ../src/preferences_dialog.c:364
+msgid "Control"
+msgstr "كونترول"
+
+#: ../src/preferences_dialog.c:368
+msgid "Scrollwheel"
+msgstr "غالتەك"
+
+#: ../src/preferences_dialog.c:371
+msgid "No action"
+msgstr "مەشغۇلات يوق"
+
+#: ../src/preferences_dialog.c:375
+msgid "Zoom in and out"
+msgstr "چوڭايتىش ۋە كىچىكلىتىش"
+
+#: ../src/preferences_dialog.c:378
+msgid "Switch images"
+msgstr "سۈرەت ئالماشتۇرۇش"
+
+#: ../src/preferences_dialog.c:412
+msgid "Behaviour"
+msgstr "قىلمىش"
+
+#: ../src/preferences_dialog.c:417
+msgid "Scaling"
+msgstr "كۆرسىتىش نىسبىتى"
+
+#: ../src/preferences_dialog.c:422
+msgid "Don't scale over 100% when maximizing the window."
+msgstr ""
+
+#: ../src/preferences_dialog.c:426
+msgid "Startup"
+msgstr "قوزغىلىش"
+
+#: ../src/preferences_dialog.c:428
+msgid "Resize window to image on startup"
+msgstr "قوزغالغاندا كۆزنەكنى سۈرەت بىلەن ئوخشاش قىلسۇن"
+
+#: ../src/preferences_dialog.c:432
+msgid "Open entire folder on startup"
+msgstr "قوزغالغاندا ھەممە مۇندەرىجىنى ئاچسۇن"
+
+#: ../src/preferences_dialog.c:437
+msgid "Wrap around images"
+msgstr ""
+
+#: ../src/preferences_dialog.c:453
+msgid "Memory"
+msgstr "ئەسلەك"
+
+#: ../src/preferences_dialog.c:459
+msgid "Image cache"
+msgstr "سۈرەت غەملىكى"
+
+#: ../src/preferences_dialog.c:465
+msgid "Cache size"
+msgstr "غەملەك چوڭلۇقى"
+
+#: ../src/preferences_dialog.c:466
+msgid "MB"
+msgstr "م ب"
+
+#: ../src/preferences_dialog.c:469
+msgid "Enable cache"
+msgstr "غەملەك ئىشلەتسۇن"
+
+#: ../src/preferences_dialog.c:474
+msgid "Preload images"
+msgstr "سۈرەتلەرنى ئالدىن ئوقۇسۇن"
+
+#: ../src/preferences_dialog.c:544
+msgid "Preferences"
+msgstr "تەڭشەكلەر"
+
+#: ../src/xfce_wallpaper_manager.c:84
+msgid "Set as wallpaper"
+msgstr "wallpaper قىلىپ بەلگىلە"
+
+#: ../src/xfce_wallpaper_manager.c:86
+msgid "Style:"
+msgstr "ئۇسلۇب:"
+
+#: ../src/xfce_wallpaper_manager.c:88
+msgid "Monitor:"
+msgstr "ئېكران:"
+
+#: ../src/xfce_wallpaper_manager.c:90
+msgid "Brightness:"
+msgstr "يورۇقلۇق:"
+
+#: ../src/xfce_wallpaper_manager.c:91
+msgid "Saturation:"
+msgstr ""
+
+#: ../src/xfce_wallpaper_manager.c:123
+msgid "Auto"
+msgstr "ئاپتوماتىك"
+
+#: ../src/xfce_wallpaper_manager.c:124
+msgid "Centered"
+msgstr "ئوتتۇرىدا"
+
+#: ../src/xfce_wallpaper_manager.c:125
+msgid "Tiled"
+msgstr ""
+
+#: ../src/xfce_wallpaper_manager.c:126
+msgid "Stretched"
+msgstr "سوزۇلغان"
+
+#: ../src/xfce_wallpaper_manager.c:127
+msgid "Scaled"
+msgstr "چوڭايتىلغان ياكى كىچىكلىتىلگەن"
+
+#: ../src/xfce_wallpaper_manager.c:128
+msgid "Zoomed"
+msgstr ""
+
+#: ../src/thumbnail_bar.c:187
+msgid "Spacing"
+msgstr "بوشلۇق"
+
+#: ../src/thumbnail_bar.c:188
+msgid "The amount of space between the thumbnails"
+msgstr "thumbnail ئارىسىدىكى بوشلۇق مىقدارى"
+
+#: ../src/thumbnail_bar.c:194
+msgid "border width"
+msgstr "گىرۋەك كەڭلىكى"
+
+#: ../src/thumbnail_bar.c:195
+msgid "the border width of the thumbnail-bar"
+msgstr "thumbnail-تاياقچىسىنىڭ گىرۋىكىنىڭ كەڭلىكى"
+
+#: ../src/thumbnail_bar.c:201
+msgid "filmstrip width"
+msgstr ""
+
+#: ../src/thumbnail_bar.c:202
+msgid "the width of the thumbnail-bar film-strip"
+msgstr ""
+
+#: ../ristretto.desktop.in.h:1
+msgid "Image Viewer"
+msgstr "سۈرەت كۆرگۈ"
+
+#: ../ristretto.desktop.in.h:2
+msgid "Look at your photo's easily"
+msgstr ""
+
+#: ../ristretto.desktop.in.h:3
+msgid "Ristretto Photo Viewer"
+msgstr "Ristretto سۈرەت كۆرگۈ"
+
diff --git a/po/uk.po b/po/uk.po
index 34b97ea..e23b041 100644
--- a/po/uk.po
+++ b/po/uk.po
@@ -1,13 +1,12 @@
# Ukrainian translation of ristretto package.
# This file is distributed under the same license as the ristretto package.
-#
+#
# Dmitry Nikitin <luckas_fb at mail.ru>, 2008.
-#: ../src/main.c:231
msgid ""
msgstr ""
"Project-Id-Version: ristretto\n"
"Report-Msgid-Bugs-To: xfce-i18n at xfce.org\n"
-"POT-Creation-Date: 2008-11-14 13:24+0100\n"
+"POT-Creation-Date: 2010-01-15 00:57+0100\n"
"PO-Revision-Date: 2008-11-17 11:15+0200\n"
"Last-Translator: Dmitry Nikitin <luckas_fb at mail.ru>\n"
"Language-Team: Ukrainian <xfce4-dev at xfce.org>\n"
@@ -16,251 +15,566 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: KBabel 1.11.4\n"
-#: ../src/main.c:61
+#: ../src/main.c:59
msgid "Version information"
msgstr "Інформація про версію"
-#: ../src/main.c:65
+#: ../src/main.c:63
msgid "Start in fullscreen mode"
msgstr "Запускати в повноекранному режимі"
-#: ../src/main.c:69
+#: ../src/main.c:67
msgid "Start a slideshow"
msgstr "Стартувати з слайд-шоу"
-#: ../src/main.c:235
+#: ../src/main.c:91
#, c-format
msgid ""
"%s: %s\n"
"Try %s --help to see a full list of available command line options.\n"
msgstr ""
"%s: %s\n"
-"Спробуйте %s --help для перегляду повного списку параметрів командної "
-"стрічки.\n"
+"Спробуйте %s --help для перегляду повного списку параметрів командної стрічки.\n"
-#: ../src/main.c:448 ../src/main_window.c:1598 ../src/main_window.c:1638
-#: ../src/main_window.c:1675
-msgid "Opening file(s)..."
-msgstr "Відкриваються файл(и)..."
-
-#. Create 'File' menu
-#: ../src/main_window.c:340
+#. File Menu
+#: ../src/main_window.c:262
msgid "_File"
msgstr "_Файл"
-#: ../src/main_window.c:347
-msgid "O_pen Folder"
-msgstr "_Відкрити теку"
+#: ../src/main_window.c:263
+msgid "_Open"
+msgstr "_Відкрити"
+
+#: ../src/main_window.c:263
+msgid "Open an image"
+msgstr "Відкрити зображення"
+
+#: ../src/main_window.c:264
+msgid "Open _Folder"
+msgstr "Відкрити _теку"
+
+#: ../src/main_window.c:264
+msgid "Open a folder"
+msgstr "Відкрити теку"
+
+#: ../src/main_window.c:265
+msgid "_Save copy"
+msgstr "Зберегти коп_ію"
-#: ../src/main_window.c:348
-msgid "_Recently used"
-msgstr "_Нещодавно використані"
+#: ../src/main_window.c:265
+msgid "Save a copy of the image"
+msgstr "Зберегти копію малюнка"
-#: ../src/main_window.c:353
-msgid "Close _all"
+#: ../src/main_window.c:266
+msgid "_Print"
+msgstr "_Друкувати"
+
+#: ../src/main_window.c:266
+msgid "Print the image"
+msgstr "Друкувати малюнок"
+
+#: ../src/main_window.c:267
+msgid "_Close"
+msgstr "_Закрити"
+
+#: ../src/main_window.c:267
+msgid "Close this image"
+msgstr "Закрити малюнок"
+
+#: ../src/main_window.c:268
+msgid "_Close All"
msgstr "Закрити в_сі"
-#. Create 'Edit' menu
-#: ../src/main_window.c:383
+#: ../src/main_window.c:268
+msgid "Close all images"
+msgstr "Закрити всі малюнки"
+
+#: ../src/main_window.c:269
+msgid "_Quit"
+msgstr "Ви_йти"
+
+#: ../src/main_window.c:269
+msgid "Quit Ristretto"
+msgstr "Вийти з Ristretto"
+
+#. Edit Menu
+#: ../src/main_window.c:271
msgid "_Edit"
msgstr "_Редагувати"
-#: ../src/main_window.c:388 ../src/main_window.c:659
-msgid "Open with..."
-msgstr "Відкрити з..."
+#: ../src/main_window.c:272
+msgid "_Open with..."
+msgstr "_Відкрити з..."
-#: ../src/main_window.c:396 ../src/main_window.c:670
-msgid "No applications available"
-msgstr "Немає потрібних програм"
+#: ../src/main_window.c:273
+msgid "_Sorting"
+msgstr "_Сортування"
-#. Create 'View' menu
-#: ../src/main_window.c:405
+#: ../src/main_window.c:274
+msgid "_Delete"
+msgstr "_Видалити"
+
+#: ../src/main_window.c:275
+msgid "_Preferences"
+msgstr "_Налаштування"
+
+#. View Menu
+#: ../src/main_window.c:277
msgid "_View"
msgstr "_Перегляд"
-#: ../src/main_window.c:412
-msgid "Show _Toolbar"
-msgstr "Показати п_анель"
+#: ../src/main_window.c:278
+msgid "_Fullscreen"
+msgstr "Повний екр_ан"
-#: ../src/main_window.c:413
-msgid "Thumbnail _Viewer"
-msgstr "Переглядач _мініатюр"
+#: ../src/main_window.c:279
+msgid "_Leave Fullscreen"
+msgstr "Покинути повний ек_ран"
-#: ../src/main_window.c:417
+#: ../src/main_window.c:280
+msgid "_Set as Wallpaper"
+msgstr "Встановити як шпа_лери"
+
+#. Zoom submenu
+#: ../src/main_window.c:282
msgid "_Zooming"
msgstr "_Масштабований"
-#: ../src/main_window.c:418
-msgid "_Rotate"
-msgstr "_Повернути"
+#: ../src/main_window.c:283
+msgid "Zoom _In"
+msgstr "Збіль_шити"
-#: ../src/main_window.c:425
-msgid "_Set as wallpaper"
-msgstr "В_становити як шпалери"
+#: ../src/main_window.c:284
+msgid "Zoom _Out"
+msgstr "З_меншити"
-#: ../src/main_window.c:476
-msgid "Show _Horizontally"
-msgstr "Відобразити _горизонтально"
+#: ../src/main_window.c:285
+msgid "Zoom _Fit"
+msgstr "Вмістити у вікн_о"
-#: ../src/main_window.c:480
-msgid "Show _Vertically"
-msgstr "Відобразити _вертикально"
+#: ../src/main_window.c:286
+msgid "_Normal Size"
+msgstr "_Нормальний розмір"
-#: ../src/main_window.c:484
-msgid "H_ide"
-msgstr "С_ховати"
+#. Rotation submenu
+#: ../src/main_window.c:288
+msgid "_Rotation"
+msgstr "_Обертання"
-#: ../src/main_window.c:521
+#: ../src/main_window.c:289
msgid "Rotate _Right"
msgstr "Повернути в_право"
-#: ../src/main_window.c:522
+#: ../src/main_window.c:290
msgid "Rotate _Left"
msgstr "Повернути в_ліво"
-#. Create 'Go' menu
-#: ../src/main_window.c:543
+#. Go Menu
+#: ../src/main_window.c:292
msgid "_Go"
msgstr "П_ерейти"
-#. Create 'Help' menu
-#: ../src/main_window.c:574
+#: ../src/main_window.c:293
+msgid "_Forward"
+msgstr "_Вперед"
+
+#: ../src/main_window.c:294
+msgid "_Back"
+msgstr "_Назад"
+
+#: ../src/main_window.c:295
+msgid "_First"
+msgstr "_Перший"
+
+#: ../src/main_window.c:296
+msgid "_Last"
+msgstr "_Останній"
+
+#. Help Menu
+#: ../src/main_window.c:298
msgid "_Help"
msgstr "Дов_ідка"
-#: ../src/main_window.c:906
-msgid "One or more images have been modified, do you want to save the changes?"
-msgstr "Одне або більше зображень було змінено, бажаєте зберегти зміни?"
+#: ../src/main_window.c:300
+msgid "_Contents"
+msgstr "_Вміст"
+
+#: ../src/main_window.c:302
+msgid "Display ristretto user manual"
+msgstr "Показати посібник користувача ristretto"
+
+#: ../src/main_window.c:305
+msgid "_About"
+msgstr "_Про"
+
+#: ../src/main_window.c:307
+msgid "Display information about ristretto"
+msgstr "Показати інформацію про ristretto"
+
+#. Position Menu
+#: ../src/main_window.c:310
+msgid "_Position"
+msgstr "По_зиція"
+
+#. Misc
+#: ../src/main_window.c:312
+msgid "Leave _Fullscreen"
+msgstr "Залишити повноекр_анний режим"
+
+#. Toggle visibility of the main file toolbar
+#: ../src/main_window.c:320
+msgid "Show _File Toolbar"
+msgstr "Показати п_анель файлів"
+
+#. Toggle visibility of the main navigation toolbar
+#: ../src/main_window.c:322
+msgid "Show _Navigation Toolbar"
+msgstr "Показа_ти навігаційну панель"
+
+#. Toggle visibility of the thumbnailbar
+#: ../src/main_window.c:324
+msgid "Show _Thumbnailbar"
+msgstr "Показати пан_ель мініатюр"
+
+#. Sort by Filename
+#: ../src/main_window.c:331
+msgid "sort by filename"
+msgstr "сортувати за назвою"
+
+#. Sort by Date
+#: ../src/main_window.c:333
+msgid "sort by date"
+msgstr "сортувати за датою"
+
+#: ../src/main_window.c:339
+msgid "Left"
+msgstr "Зліва"
+
+#: ../src/main_window.c:340
+msgid "Right"
+msgstr "Зправа"
+
+#: ../src/main_window.c:341
+msgid "Top"
+msgstr "Згори"
+
+#: ../src/main_window.c:342
+msgid "Bottom"
+msgstr "Внизу"
+
+#: ../src/main_window.c:512 ../src/main_window.c:778
+msgid "Press open to select an image"
+msgstr "Нажміть відкрити для вибору малюнка"
+
+#: ../src/main_window.c:765 ../src/main_window.c:770
+msgid "Empty"
+msgstr "Пустий"
+
+#: ../src/main_window.c:1545
+msgid "Developer:"
+msgstr "Розробник:"
+
+#: ../src/main_window.c:1555
+msgid "Ristretto is an imageviewer for the Xfce desktop environment."
+msgstr "Ristretto - переглядач зображень для робочого середовища Xfce"
+
+#: ../src/main_window.c:1563
+msgid "translator-credits"
+msgstr "Dmitry Nikitin <luckas_fb at mail.ru>"
+
+#: ../src/main_window.c:1878
+msgid "Open image"
+msgstr "Відкрити зображення"
+
+#: ../src/main_window.c:1890
+msgid "Images"
+msgstr "Малюнки"
+
+#: ../src/main_window.c:1895
+msgid ".jp(e)g"
+msgstr ".jp(e)g"
+
+#: ../src/main_window.c:1917 ../src/main_window.c:1940
+#: ../src/main_window.c:2099 ../src/main_window.c:2114
+msgid "Could not open file"
+msgstr "Неможливо відкрити файл"
+
+#: ../src/main_window.c:1992
+msgid "Open folder"
+msgstr "Відкрити теку"
+
+#: ../src/main_window.c:2137
+msgid "Save copy"
+msgstr "Зберегти копію"
-#: ../src/main_window.c:1394
-msgid "Image viewer Preferences"
-msgstr "Налаштування переглядача зображень"
+#: ../src/main_window.c:2210
+#, c-format
+msgid "Are you sure you want to delete image '%s' from disk?"
+msgstr "Ви впевнені, що бажаєте видалити малюнок '%s' з диску?"
-#: ../src/main_window.c:1412
+#: ../src/preferences_dialog.c:230
msgid "Display"
msgstr "Відображення"
-#: ../src/main_window.c:1416
+#: ../src/preferences_dialog.c:235
+msgid "Background color"
+msgstr "Колір тла"
+
+#: ../src/preferences_dialog.c:239
+msgid "Override background color:"
+msgstr "Замінити колір тла:"
+
+#: ../src/preferences_dialog.c:267
+msgid "Quality"
+msgstr "Якість"
+
+#: ../src/preferences_dialog.c:271
+msgid "Maximum render quality:"
+msgstr "Максимальна якість відображення:"
+
+#: ../src/preferences_dialog.c:274
+msgid "Show preview when loading image"
+msgstr "Показувати попередній перегляд під час завантаження малюнку"
+
+#: ../src/preferences_dialog.c:281
+msgid "Best"
+msgstr "Кращий"
+
+#: ../src/preferences_dialog.c:282
+msgid "High"
+msgstr "Висока"
+
+#: ../src/preferences_dialog.c:283
+msgid "Medium"
+msgstr "Середня"
+
+#: ../src/preferences_dialog.c:284
+msgid "Low"
+msgstr "Посередня"
+
+#: ../src/preferences_dialog.c:324
msgid "Slideshow"
msgstr "Слайд-шоу"
-#: ../src/main_window.c:1420
+#: ../src/preferences_dialog.c:328
+msgid "Timeout"
+msgstr "Затримка"
+
+#: ../src/preferences_dialog.c:331
+msgid ""
+"The time period an individual image is displayed during a slideshow\n"
+"(in seconds)"
+msgstr ""
+"Тривалість показу окремого зображення в слайд-шоу\n"
+"(в секундах)"
+
+#: ../src/preferences_dialog.c:346
+msgid "Thumbnails"
+msgstr "Мініатюри"
+
+#: ../src/preferences_dialog.c:349
+msgid ""
+"The thumbnailbar can be automatically hidden \n"
+"when the image-viewer is fullscreen."
+msgstr ""
+"Панель мініатюр може автоматично ховатись, \n"
+"коли переглядач зображень перебуває в повноекранному режимі."
+
+#: ../src/preferences_dialog.c:351
+msgid "Hide thumbnailbar when fullscreen"
+msgstr "Приховувати панель мініатюр в повноекранному режимі"
+
+#: ../src/preferences_dialog.c:364
+msgid "Control"
+msgstr "Контроль"
+
+#: ../src/preferences_dialog.c:368
+msgid "Scrollwheel"
+msgstr "Прокрутка"
+
+#: ../src/preferences_dialog.c:371
+msgid "No action"
+msgstr "Без дії"
+
+#: ../src/preferences_dialog.c:375
+msgid "Zoom in and out"
+msgstr "Збільшення і зменшення"
+
+#: ../src/preferences_dialog.c:378
+msgid "Switch images"
+msgstr "Поміняти зображення"
+
+#: ../src/preferences_dialog.c:412
msgid "Behaviour"
msgstr "Поведінка"
-#: ../src/main_window.c:1425
+#: ../src/preferences_dialog.c:417
msgid "Scaling"
msgstr "Масштабування"
-#: ../src/main_window.c:1427
+#: ../src/preferences_dialog.c:422
msgid "Don't scale over 100% when maximizing the window."
msgstr "Не масштабувати більше 100%, коли розгорнуто вікно."
-#: ../src/main_window.c:1437
-msgid "Background Color"
-msgstr "Колір тла"
+#: ../src/preferences_dialog.c:426
+msgid "Startup"
+msgstr "Початок"
+
+#: ../src/preferences_dialog.c:428
+msgid "Resize window to image on startup"
+msgstr "Змінити розмір вікна для малюнку під час запуску"
+
+#: ../src/preferences_dialog.c:432
+msgid "Open entire folder on startup"
+msgstr "Відкрити всю папку під час запуску"
+
+#: ../src/preferences_dialog.c:437
+msgid "Wrap around images"
+msgstr "Обернутись навколо зображень"
-#: ../src/main_window.c:1439
-msgid "_Override Background Color:"
-msgstr "_Замінити колір тла:"
+#: ../src/preferences_dialog.c:453
+msgid "Memory"
+msgstr "Пам'ять"
-#: ../src/main_window.c:1462
-msgid "Image Cache"
-msgstr "Кеш зображень"
+#: ../src/preferences_dialog.c:459
+msgid "Image cache"
+msgstr "Кеш зображення"
-#: ../src/main_window.c:1465
-msgid "Cache size:"
+#: ../src/preferences_dialog.c:465
+msgid "Cache size"
msgstr "Розмір кешу:"
-#: ../src/main_window.c:1466
+#: ../src/preferences_dialog.c:466
msgid "MB"
msgstr "МБ"
-#: ../src/main_window.c:1468
-msgid "_Preload images (GUI more responsive but more CPU-intensive)"
-msgstr "Попереднє з_авантаження малюнків (GUI більш кероване, але завантаження CPU більше)"
+#: ../src/preferences_dialog.c:469
+msgid "Enable cache"
+msgstr "Дозволити кеш"
-#: ../src/main_window.c:1486
-msgid "Timeout"
-msgstr "Затримка"
+#: ../src/preferences_dialog.c:474
+msgid "Preload images"
+msgstr "Попереднє завантаження зображень"
-#: ../src/main_window.c:1489
-msgid "Thumbnails"
-msgstr "Ескізи"
+#: ../src/preferences_dialog.c:544
+msgid "Preferences"
+msgstr "Налаштування"
-#: ../src/main_window.c:1494
-msgid ""
-"The time period an individual image is displayed during a slideshow\n"
-"(in seconds)"
-msgstr ""
-"Тривалість показу окремого зображення в слайд-шоу\n"
-"(в секундах)"
+#: ../src/xfce_wallpaper_manager.c:84
+msgid "Set as wallpaper"
+msgstr "Встановити як шпалери"
-#: ../src/main_window.c:1497
-msgid "Hide the thumbnails bar during slideshow"
-msgstr "Ховати панель ескізів під час слайд-шоу"
+#: ../src/xfce_wallpaper_manager.c:86
+msgid "Style:"
+msgstr "Стиль:"
-#: ../src/main_window.c:1498
-msgid "_Hide thumbnails"
-msgstr "_Ховати ескізи"
+#: ../src/xfce_wallpaper_manager.c:88
+msgid "Monitor:"
+msgstr "Монітор:"
-#: ../src/main_window.c:1556
-msgid "Developer:"
-msgstr "Розробник:"
+#: ../src/xfce_wallpaper_manager.c:90
+msgid "Brightness:"
+msgstr "Яскравість:"
-#: ../src/main_window.c:1566
-msgid ""
-"Ristretto is a fast and lightweight picture-viewer for the Xfce desktop "
-"environment."
-msgstr ""
-"Ristretto - швидкий і легкий переглядач зображень для робочого середовища "
-"Xfce"
+#: ../src/xfce_wallpaper_manager.c:91
+msgid "Saturation:"
+msgstr "Гамма:"
-#: ../src/main_window.c:1574
-msgid "translator-credits"
-msgstr "Dmitry Nikitin <luckas_fb at mail.ru>"
+#: ../src/xfce_wallpaper_manager.c:123
+msgid "Auto"
+msgstr "Автоматично"
-#: ../src/main_window.c:1600
-msgid "Open image"
-msgstr "Відкрити зображення"
+#: ../src/xfce_wallpaper_manager.c:124
+msgid "Centered"
+msgstr "Центрувати"
-#: ../src/main_window.c:1618
-msgid "Could not open file"
-msgstr "Неможливо відкрити файл"
+#: ../src/xfce_wallpaper_manager.c:125
+msgid "Tiled"
+msgstr "Плиткою"
-#: ../src/main_window.c:1640
-msgid "Open folder"
-msgstr "Відкрити теку"
+#: ../src/xfce_wallpaper_manager.c:126
+msgid "Stretched"
+msgstr "Розмножити"
+
+#: ../src/xfce_wallpaper_manager.c:127
+msgid "Scaled"
+msgstr "Масштабувати"
-#: ../src/main_window.c:1715
-msgid "Are you sure you want to clear ristretto's list of recently opened documents?"
-msgstr "Ви впевнені, що бажаєте очистити список нещодавно відкритих документів?"
+#: ../src/xfce_wallpaper_manager.c:128
+msgid "Zoomed"
+msgstr "Розтягнути"
-#: ../src/thumbnail_bar.c:185
+#: ../src/thumbnail_bar.c:187
msgid "Spacing"
msgstr "Проміжки"
-#: ../src/thumbnail_bar.c:186
+#: ../src/thumbnail_bar.c:188
msgid "The amount of space between the thumbnails"
msgstr "Розмір проміжків між ескізами"
-#: ../src/thumbnail_bar.c:192
-msgid "Border Width"
-msgstr "Ширина рамки"
+#: ../src/thumbnail_bar.c:194
+msgid "border width"
+msgstr "ширина рамки"
-#: ../src/thumbnail_bar.c:193
-msgid "The border width of the thumbnail-bar"
-msgstr "Ширина рамки панелі ескізів"
+#: ../src/thumbnail_bar.c:195
+msgid "the border width of the thumbnail-bar"
+msgstr "ширина рамки панелі мініатюр"
+
+#: ../src/thumbnail_bar.c:201
+msgid "filmstrip width"
+msgstr "ширина діафільму"
+
+#: ../src/thumbnail_bar.c:202
+msgid "the width of the thumbnail-bar film-strip"
+msgstr "ширина рамки діафільму панелі мініатюр"
#: ../ristretto.desktop.in.h:1
msgid "Image Viewer"
msgstr "Переглядач зображень"
#: ../ristretto.desktop.in.h:2
-msgid "Ristretto"
-msgstr "Переглядач Ristretto"
+msgid "Look at your photo's easily"
+msgstr "Переглядайте Ваші фотографії легко"
#: ../ristretto.desktop.in.h:3
-msgid "Xfce Image viewer"
-msgstr "Переглядач зображень Xfce"
+msgid "Ristretto Photo Viewer"
+msgstr "Переглядач фотографій Ristretto"
+
+#~ msgid "Ristretto"
+#~ msgstr "Переглядач Ristretto"
+
+#~ msgid "_Thumbnail Bar"
+#~ msgstr "Ескізи"
+
+#~ msgid "Opening file(s)..."
+#~ msgstr "Відкриваються файл(и)..."
+
+#~ msgid "_Recently used"
+#~ msgstr "_Нещодавно використані"
+
+#~ msgid "No applications available"
+#~ msgstr "Немає потрібних програм"
+
+#~ msgid "Thumbnail _Viewer"
+#~ msgstr "Переглядач _мініатюр"
+
+#~ msgid "Show _Horizontally"
+#~ msgstr "Відобразити _горизонтально"
+
+#~ msgid "Show _Vertically"
+#~ msgstr "Відобразити _вертикально"
+
+#~ msgid "H_ide"
+#~ msgstr "С_ховати"
+
+#~ msgid "One or more images have been modified, do you want to save the changes?"
+#~ msgstr "Одне або більше зображень було змінено, бажаєте зберегти зміни?"
+
+#~ msgid "_Preload images (GUI more responsive but more CPU-intensive)"
+#~ msgstr "Попереднє з_авантаження малюнків (GUI більш кероване, але завантаження CPU більше)"
+
+#~ msgid "Hide the thumbnails bar during slideshow"
+#~ msgstr "Ховати панель ескізів під час слайд-шоу"
+#~ msgid "Xfce Image viewer"
+#~ msgstr "Переглядач зображень Xfce"
diff --git a/po/ur.po b/po/ur.po
index e1707a9..7ae6958 100644
--- a/po/ur.po
+++ b/po/ur.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: ristretto\n"
"Report-Msgid-Bugs-To: xfce-i18n at xfce.org\n"
-"POT-Creation-Date: 2008-11-14 13:24+0100\n"
+"POT-Creation-Date: 2010-01-15 00:57+0100\n"
"PO-Revision-Date: 2009-05-14 02:36+0500\n"
"Last-Translator: Muhammad Ali Makki <makki.ma at gmail.com>\n"
"Language-Team: Urdu <makki.ma at gmail.com>\n"
@@ -19,19 +19,19 @@ msgstr ""
"X-Poedit-SourceCharset: utf-8\n"
"Plural-Forms: Plural-Forms: nplurals=2; plural=n != 1;\n"
-#: ../src/main.c:61
+#: ../src/main.c:59
msgid "Version information"
msgstr "ورژن کی معلومات"
-#: ../src/main.c:65
+#: ../src/main.c:63
msgid "Start in fullscreen mode"
msgstr "فُل سکرین موڈ میں چلائیں"
-#: ../src/main.c:69
+#: ../src/main.c:67
msgid "Start a slideshow"
msgstr "سلائیڈ شو شروع کریں"
-#: ../src/main.c:235
+#: ../src/main.c:91
#, c-format
msgid ""
"%s: %s\n"
@@ -40,218 +40,530 @@ msgstr ""
"%s: %s\n"
"دستیاب کمانڈ لائن اختیارات کی مکمل فہرست کے لیے %s --help لکھیں\n"
-#: ../src/main.c:448
-#: ../src/main_window.c:1598
-#: ../src/main_window.c:1638
-#: ../src/main_window.c:1675
-msgid "Opening file(s)..."
-msgstr "فائل/فائلیں کھولی جارہی ہیں"
-
-#. Create 'File' menu
-#: ../src/main_window.c:340
+#. File Menu
+#: ../src/main_window.c:262
msgid "_File"
msgstr "_فائل"
-#: ../src/main_window.c:347
-msgid "O_pen Folder"
+#: ../src/main_window.c:263
+msgid "_Open"
+msgstr ""
+
+#: ../src/main_window.c:263
+#, fuzzy
+msgid "Open an image"
+msgstr "تصویر کھولیں"
+
+#: ../src/main_window.c:264
+#, fuzzy
+msgid "Open _Folder"
msgstr "ف_ولڈر کھولیں"
-#: ../src/main_window.c:348
-msgid "_Recently used"
-msgstr "_حالیہ استعمال کردہ"
+#: ../src/main_window.c:264
+#, fuzzy
+msgid "Open a folder"
+msgstr "فولڈر کھولیں"
+
+#: ../src/main_window.c:265
+msgid "_Save copy"
+msgstr ""
+
+#: ../src/main_window.c:265
+msgid "Save a copy of the image"
+msgstr ""
+
+#: ../src/main_window.c:266
+msgid "_Print"
+msgstr ""
+
+#: ../src/main_window.c:266
+msgid "Print the image"
+msgstr ""
+
+#: ../src/main_window.c:267
+#, fuzzy
+msgid "_Close"
+msgstr "_سب بند کریں"
+
+#: ../src/main_window.c:267
+msgid "Close this image"
+msgstr ""
+
+#: ../src/main_window.c:268
+#, fuzzy
+msgid "_Close All"
+msgstr "_سب بند کریں"
-#: ../src/main_window.c:353
-msgid "Close _all"
+#: ../src/main_window.c:268
+#, fuzzy
+msgid "Close all images"
msgstr "_سب بند کریں"
-#. Create 'Edit' menu
-#: ../src/main_window.c:383
+#: ../src/main_window.c:269
+#, fuzzy
+msgid "_Quit"
+msgstr "_تدوین"
+
+#: ../src/main_window.c:269
+#, fuzzy
+msgid "Quit Ristretto"
+msgstr "ریسٹریٹو"
+
+#. Edit Menu
+#: ../src/main_window.c:271
msgid "_Edit"
msgstr "_تدوین"
-#: ../src/main_window.c:388
-#: ../src/main_window.c:659
-msgid "Open with..."
+#: ../src/main_window.c:272
+#, fuzzy
+msgid "_Open with..."
msgstr "کھولیں بذریعہ..."
-#: ../src/main_window.c:396
-#: ../src/main_window.c:670
-msgid "No applications available"
-msgstr "کوئی اطلاقیہ دستیاب نہیں"
+#: ../src/main_window.c:273
+#, fuzzy
+msgid "_Sorting"
+msgstr "_زومنگ"
+
+#: ../src/main_window.c:274
+msgid "_Delete"
+msgstr ""
+
+#: ../src/main_window.c:275
+#, fuzzy
+msgid "_Preferences"
+msgstr "تصویر منظر کار ترجیحات"
-#. Create 'View' menu
-#: ../src/main_window.c:405
+#. View Menu
+#: ../src/main_window.c:277
msgid "_View"
msgstr "_منظر"
-#: ../src/main_window.c:412
-msgid "Show _Toolbar"
-msgstr "_اوزار پٹی دکھائیں"
+#: ../src/main_window.c:278
+msgid "_Fullscreen"
+msgstr ""
-#: ../src/main_window.c:413
-msgid "Thumbnail _Viewer"
-msgstr "تصویرچہ _منظرکار"
+#: ../src/main_window.c:279
+msgid "_Leave Fullscreen"
+msgstr ""
+
+#: ../src/main_window.c:280
+#, fuzzy
+msgid "_Set as Wallpaper"
+msgstr "بطور وال پیپر _مرتب کریں"
-#: ../src/main_window.c:417
+#. Zoom submenu
+#: ../src/main_window.c:282
msgid "_Zooming"
msgstr "_زومنگ"
-#: ../src/main_window.c:418
-msgid "_Rotate"
-msgstr "_گھمائیں"
+#: ../src/main_window.c:283
+#, fuzzy
+msgid "Zoom _In"
+msgstr "_زومنگ"
-#: ../src/main_window.c:425
-msgid "_Set as wallpaper"
-msgstr "بطور وال پیپر _مرتب کریں"
+#: ../src/main_window.c:284
+msgid "Zoom _Out"
+msgstr ""
-#: ../src/main_window.c:476
-msgid "Show _Horizontally"
-msgstr "_افقی دکھائیں"
+#: ../src/main_window.c:285
+msgid "Zoom _Fit"
+msgstr ""
-#: ../src/main_window.c:480
-msgid "Show _Vertically"
-msgstr "_عمودی دکھائیں"
+#: ../src/main_window.c:286
+msgid "_Normal Size"
+msgstr ""
-#: ../src/main_window.c:484
-msgid "H_ide"
-msgstr "_چھپائیں"
+#. Rotation submenu
+#: ../src/main_window.c:288
+#, fuzzy
+msgid "_Rotation"
+msgstr "_گھمائیں"
-#: ../src/main_window.c:521
+#: ../src/main_window.c:289
msgid "Rotate _Right"
msgstr "_دائیں گھمائیں"
-#: ../src/main_window.c:522
+#: ../src/main_window.c:290
msgid "Rotate _Left"
msgstr "_بائیں گھمائیں"
-#. Create 'Go' menu
-#: ../src/main_window.c:543
+#. Go Menu
+#: ../src/main_window.c:292
msgid "_Go"
msgstr "_جائیں"
-#. Create 'Help' menu
-#: ../src/main_window.c:574
+#: ../src/main_window.c:293
+msgid "_Forward"
+msgstr ""
+
+#: ../src/main_window.c:294
+msgid "_Back"
+msgstr ""
+
+#: ../src/main_window.c:295
+msgid "_First"
+msgstr ""
+
+#: ../src/main_window.c:296
+msgid "_Last"
+msgstr ""
+
+#. Help Menu
+#: ../src/main_window.c:298
msgid "_Help"
msgstr "_ہدایات"
-#: ../src/main_window.c:906
-msgid "One or more images have been modified, do you want to save the changes?"
-msgstr "ایک یا اس سے زائد تصاویر میں تبدیلی کی گئی ہے، کیا آپ تبدیلیاں محفوظ کرنا چاہتے ہیں؟"
+#: ../src/main_window.c:300
+msgid "_Contents"
+msgstr ""
-#: ../src/main_window.c:1394
-msgid "Image viewer Preferences"
-msgstr "تصویر منظر کار ترجیحات"
+#: ../src/main_window.c:302
+msgid "Display ristretto user manual"
+msgstr ""
-#: ../src/main_window.c:1412
+#: ../src/main_window.c:305
+msgid "_About"
+msgstr ""
+
+#: ../src/main_window.c:307
+msgid "Display information about ristretto"
+msgstr ""
+
+#. Position Menu
+#: ../src/main_window.c:310
+msgid "_Position"
+msgstr ""
+
+#. Misc
+#: ../src/main_window.c:312
+msgid "Leave _Fullscreen"
+msgstr ""
+
+#. Toggle visibility of the main file toolbar
+#: ../src/main_window.c:320
+#, fuzzy
+msgid "Show _File Toolbar"
+msgstr "_اوزار پٹی دکھائیں"
+
+#. Toggle visibility of the main navigation toolbar
+#: ../src/main_window.c:322
+#, fuzzy
+msgid "Show _Navigation Toolbar"
+msgstr "_اوزار پٹی دکھائیں"
+
+#. Toggle visibility of the thumbnailbar
+#: ../src/main_window.c:324
+#, fuzzy
+msgid "Show _Thumbnailbar"
+msgstr "_اوزار پٹی دکھائیں"
+
+#. Sort by Filename
+#: ../src/main_window.c:331
+msgid "sort by filename"
+msgstr ""
+
+#. Sort by Date
+#: ../src/main_window.c:333
+msgid "sort by date"
+msgstr ""
+
+#: ../src/main_window.c:339
+msgid "Left"
+msgstr ""
+
+#: ../src/main_window.c:340
+msgid "Right"
+msgstr ""
+
+#: ../src/main_window.c:341
+msgid "Top"
+msgstr ""
+
+#: ../src/main_window.c:342
+msgid "Bottom"
+msgstr ""
+
+#: ../src/main_window.c:512 ../src/main_window.c:778
+msgid "Press open to select an image"
+msgstr ""
+
+#: ../src/main_window.c:765 ../src/main_window.c:770
+msgid "Empty"
+msgstr ""
+
+#: ../src/main_window.c:1545
+msgid "Developer:"
+msgstr "ڈویلپر:"
+
+#: ../src/main_window.c:1555
+#, fuzzy
+msgid "Ristretto is an imageviewer for the Xfce desktop environment."
+msgstr ""
+"ریسٹریٹو ایکسفس ڈیسک ٹاپ ماحول کے لیے ایک ہلکا پھلکا تصاویر منظرکار ہے."
+
+#: ../src/main_window.c:1563
+msgid "translator-credits"
+msgstr "ترجمہ-کریڈٹ"
+
+#: ../src/main_window.c:1878
+msgid "Open image"
+msgstr "تصویر کھولیں"
+
+#: ../src/main_window.c:1890
+msgid "Images"
+msgstr ""
+
+#: ../src/main_window.c:1895
+msgid ".jp(e)g"
+msgstr ""
+
+#: ../src/main_window.c:1917 ../src/main_window.c:1940
+#: ../src/main_window.c:2099 ../src/main_window.c:2114
+msgid "Could not open file"
+msgstr "فائل نہیں کھولی جاسکتی"
+
+#: ../src/main_window.c:1992
+msgid "Open folder"
+msgstr "فولڈر کھولیں"
+
+#: ../src/main_window.c:2137
+msgid "Save copy"
+msgstr ""
+
+#: ../src/main_window.c:2210
+#, fuzzy, c-format
+msgid "Are you sure you want to delete image '%s' from disk?"
+msgstr ""
+"کیا آپ ریسٹریٹو کی حالیہ کھولی گئی دستاویزات کی فہرست صاف کرنا چاہتے ہیں؟"
+
+#: ../src/preferences_dialog.c:230
msgid "Display"
msgstr "ڈسپلے"
-#: ../src/main_window.c:1416
+#: ../src/preferences_dialog.c:235
+#, fuzzy
+msgid "Background color"
+msgstr "پس منظر رنگ"
+
+#: ../src/preferences_dialog.c:239
+#, fuzzy
+msgid "Override background color:"
+msgstr "پس منظر رنگ ت_جاوز:"
+
+#: ../src/preferences_dialog.c:267
+msgid "Quality"
+msgstr ""
+
+#: ../src/preferences_dialog.c:271
+msgid "Maximum render quality:"
+msgstr ""
+
+#: ../src/preferences_dialog.c:274
+msgid "Show preview when loading image"
+msgstr ""
+
+#: ../src/preferences_dialog.c:281
+msgid "Best"
+msgstr ""
+
+#: ../src/preferences_dialog.c:282
+msgid "High"
+msgstr ""
+
+#: ../src/preferences_dialog.c:283
+msgid "Medium"
+msgstr ""
+
+#: ../src/preferences_dialog.c:284
+msgid "Low"
+msgstr ""
+
+#: ../src/preferences_dialog.c:324
msgid "Slideshow"
msgstr "سلائیڈ شو"
-#: ../src/main_window.c:1420
+#: ../src/preferences_dialog.c:328
+msgid "Timeout"
+msgstr "ٹائم آؤٹ"
+
+#: ../src/preferences_dialog.c:331
+msgid ""
+"The time period an individual image is displayed during a slideshow\n"
+"(in seconds)"
+msgstr ""
+"سلائیڈ شو کے دوران فی تصویر کو دکھانے کا وقت\n"
+"(سیکنڈ میں)"
+
+#: ../src/preferences_dialog.c:346
+#, fuzzy
+msgid "Thumbnails"
+msgstr "تصویرچہ"
+
+#: ../src/preferences_dialog.c:349
+msgid ""
+"The thumbnailbar can be automatically hidden \n"
+"when the image-viewer is fullscreen."
+msgstr ""
+
+#: ../src/preferences_dialog.c:351
+#, fuzzy
+msgid "Hide thumbnailbar when fullscreen"
+msgstr "تصویرچے _چھپائیں"
+
+#: ../src/preferences_dialog.c:364
+msgid "Control"
+msgstr ""
+
+#: ../src/preferences_dialog.c:368
+msgid "Scrollwheel"
+msgstr ""
+
+#: ../src/preferences_dialog.c:371
+msgid "No action"
+msgstr ""
+
+#: ../src/preferences_dialog.c:375
+msgid "Zoom in and out"
+msgstr ""
+
+#: ../src/preferences_dialog.c:378
+msgid "Switch images"
+msgstr ""
+
+#: ../src/preferences_dialog.c:412
msgid "Behaviour"
msgstr "سلوک"
-#: ../src/main_window.c:1425
+#: ../src/preferences_dialog.c:417
msgid "Scaling"
msgstr "قیاس"
-#: ../src/main_window.c:1427
+#: ../src/preferences_dialog.c:422
msgid "Don't scale over 100% when maximizing the window."
msgstr "ونڈو بڑی کرنے پر 100% سے زیادہ قیاس مت کریں."
-#: ../src/main_window.c:1437
-msgid "Background Color"
-msgstr "پس منظر رنگ"
+#: ../src/preferences_dialog.c:426
+msgid "Startup"
+msgstr ""
-#: ../src/main_window.c:1439
-msgid "_Override Background Color:"
-msgstr "پس منظر رنگ ت_جاوز:"
+#: ../src/preferences_dialog.c:428
+msgid "Resize window to image on startup"
+msgstr ""
-#: ../src/main_window.c:1462
-msgid "Image Cache"
+#: ../src/preferences_dialog.c:432
+msgid "Open entire folder on startup"
+msgstr ""
+
+#: ../src/preferences_dialog.c:437
+#, fuzzy
+msgid "Wrap around images"
+msgstr "تصویر کھولیں"
+
+#: ../src/preferences_dialog.c:453
+msgid "Memory"
+msgstr ""
+
+#: ../src/preferences_dialog.c:459
+#, fuzzy
+msgid "Image cache"
msgstr "تصویر کیشے"
-#: ../src/main_window.c:1465
-msgid "Cache size:"
+#: ../src/preferences_dialog.c:465
+#, fuzzy
+msgid "Cache size"
msgstr "کیشے حجم:"
-#: ../src/main_window.c:1466
+#: ../src/preferences_dialog.c:466
msgid "MB"
msgstr "م.ب"
-#: ../src/main_window.c:1468
-msgid "_Preload images (GUI more responsive but more CPU-intensive)"
-msgstr "_پری لوڈ تصاویر (تصویری مواجہ بہتر ہے مگر سی پی یو خرچ کرتا ہے)"
+#: ../src/preferences_dialog.c:469
+#, fuzzy
+msgid "Enable cache"
+msgstr "تصویر کیشے"
+
+#: ../src/preferences_dialog.c:474
+msgid "Preload images"
+msgstr ""
-#: ../src/main_window.c:1486
-msgid "Timeout"
-msgstr "ٹائم آؤٹ"
+#: ../src/preferences_dialog.c:544
+#, fuzzy
+msgid "Preferences"
+msgstr "تصویر منظر کار ترجیحات"
-#: ../src/main_window.c:1489
-msgid "Thumbnails"
-msgstr "تصویرچہ"
+#: ../src/xfce_wallpaper_manager.c:84
+#, fuzzy
+msgid "Set as wallpaper"
+msgstr "بطور وال پیپر _مرتب کریں"
-#: ../src/main_window.c:1494
-msgid ""
-"The time period an individual image is displayed during a slideshow\n"
-"(in seconds)"
+#: ../src/xfce_wallpaper_manager.c:86
+msgid "Style:"
msgstr ""
-"سلائیڈ شو کے دوران فی تصویر کو دکھانے کا وقت\n"
-"(سیکنڈ میں)"
-#: ../src/main_window.c:1497
-msgid "Hide the thumbnails bar during slideshow"
-msgstr "سلائیڈ شو کے دوران تصویرچہ پٹی چھپائیں"
+#: ../src/xfce_wallpaper_manager.c:88
+msgid "Monitor:"
+msgstr ""
-#: ../src/main_window.c:1498
-msgid "_Hide thumbnails"
-msgstr "تصویرچے _چھپائیں"
+#: ../src/xfce_wallpaper_manager.c:90
+msgid "Brightness:"
+msgstr ""
-#: ../src/main_window.c:1556
-msgid "Developer:"
-msgstr "ڈویلپر:"
+#: ../src/xfce_wallpaper_manager.c:91
+#, fuzzy
+msgid "Saturation:"
+msgstr "_گھمائیں"
-#: ../src/main_window.c:1566
-msgid "Ristretto is a fast and lightweight picture-viewer for the Xfce desktop environment."
-msgstr "ریسٹریٹو ایکسفس ڈیسک ٹاپ ماحول کے لیے ایک ہلکا پھلکا تصاویر منظرکار ہے."
+#: ../src/xfce_wallpaper_manager.c:123
+msgid "Auto"
+msgstr ""
-#: ../src/main_window.c:1574
-msgid "translator-credits"
-msgstr "ترجمہ-کریڈٹ"
+#: ../src/xfce_wallpaper_manager.c:124
+msgid "Centered"
+msgstr ""
-#: ../src/main_window.c:1600
-msgid "Open image"
-msgstr "تصویر کھولیں"
+#: ../src/xfce_wallpaper_manager.c:125
+#, fuzzy
+msgid "Tiled"
+msgstr "_فائل"
-#: ../src/main_window.c:1618
-msgid "Could not open file"
-msgstr "فائل نہیں کھولی جاسکتی"
+#: ../src/xfce_wallpaper_manager.c:126
+msgid "Stretched"
+msgstr ""
-#: ../src/main_window.c:1640
-msgid "Open folder"
-msgstr "فولڈر کھولیں"
+#: ../src/xfce_wallpaper_manager.c:127
+#, fuzzy
+msgid "Scaled"
+msgstr "قیاس"
-#: ../src/main_window.c:1715
-msgid "Are you sure you want to clear ristretto's list of recently opened documents?"
-msgstr "کیا آپ ریسٹریٹو کی حالیہ کھولی گئی دستاویزات کی فہرست صاف کرنا چاہتے ہیں؟"
+#: ../src/xfce_wallpaper_manager.c:128
+msgid "Zoomed"
+msgstr ""
-#: ../src/thumbnail_bar.c:185
+#: ../src/thumbnail_bar.c:187
msgid "Spacing"
msgstr "خلا"
-#: ../src/thumbnail_bar.c:186
+#: ../src/thumbnail_bar.c:188
msgid "The amount of space between the thumbnails"
msgstr "تصویرچوں کے درمیان خلا کی مقدار"
-#: ../src/thumbnail_bar.c:192
-msgid "Border Width"
+#: ../src/thumbnail_bar.c:194
+#, fuzzy
+msgid "border width"
msgstr "بارڈر کی چوڑائی"
-#: ../src/thumbnail_bar.c:193
-msgid "The border width of the thumbnail-bar"
+#: ../src/thumbnail_bar.c:195
+#, fuzzy
+msgid "the border width of the thumbnail-bar"
+msgstr "تصویرچہ-پٹی کے بارڈر کی چوڑائی"
+
+#: ../src/thumbnail_bar.c:201
+msgid "filmstrip width"
+msgstr ""
+
+#: ../src/thumbnail_bar.c:202
+#, fuzzy
+msgid "the width of the thumbnail-bar film-strip"
msgstr "تصویرچہ-پٹی کے بارڈر کی چوڑائی"
#: ../ristretto.desktop.in.h:1
@@ -259,15 +571,59 @@ msgid "Image Viewer"
msgstr "تصاویر منظر کار"
#: ../ristretto.desktop.in.h:2
-msgid "Ristretto"
-msgstr "ریسٹریٹو"
+msgid "Look at your photo's easily"
+msgstr ""
#: ../ristretto.desktop.in.h:3
-msgid "Xfce Image viewer"
-msgstr "ایکسفس تصویر منظرکار"
+msgid "Ristretto Photo Viewer"
+msgstr ""
+
+#, fuzzy
+#~ msgid "Ristretto"
+#~ msgstr "ریسٹریٹو"
+
+#, fuzzy
+#~ msgid "_Thumbnail Bar"
+#~ msgstr "تصویرچہ"
+
+#~ msgid "Opening file(s)..."
+#~ msgstr "فائل/فائلیں کھولی جارہی ہیں"
+
+#~ msgid "_Recently used"
+#~ msgstr "_حالیہ استعمال کردہ"
+
+#~ msgid "No applications available"
+#~ msgstr "کوئی اطلاقیہ دستیاب نہیں"
+
+#~ msgid "Thumbnail _Viewer"
+#~ msgstr "تصویرچہ _منظرکار"
+
+#~ msgid "Show _Horizontally"
+#~ msgstr "_افقی دکھائیں"
+
+#~ msgid "Show _Vertically"
+#~ msgstr "_عمودی دکھائیں"
+
+#~ msgid "H_ide"
+#~ msgstr "_چھپائیں"
+
+#~ msgid ""
+#~ "One or more images have been modified, do you want to save the changes?"
+#~ msgstr ""
+#~ "ایک یا اس سے زائد تصاویر میں تبدیلی کی گئی ہے، کیا آپ تبدیلیاں محفوظ کرنا "
+#~ "چاہتے ہیں؟"
+
+#~ msgid "_Preload images (GUI more responsive but more CPU-intensive)"
+#~ msgstr "_پری لوڈ تصاویر (تصویری مواجہ بہتر ہے مگر سی پی یو خرچ کرتا ہے)"
+
+#~ msgid "Hide the thumbnails bar during slideshow"
+#~ msgstr "سلائیڈ شو کے دوران تصویرچہ پٹی چھپائیں"
+
+#~ msgid "Xfce Image viewer"
+#~ msgstr "ایکسفس تصویر منظرکار"
#~ msgid "Flip _Vertically"
#~ msgstr "_عمودی فلپ کریں"
+
#~ msgid "Flip _Horizontally"
#~ msgstr "ا_فقی فلپ کریں"
-
diff --git a/po/ur_PK.po b/po/ur_PK.po
index e1707a9..7ae6958 100644
--- a/po/ur_PK.po
+++ b/po/ur_PK.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: ristretto\n"
"Report-Msgid-Bugs-To: xfce-i18n at xfce.org\n"
-"POT-Creation-Date: 2008-11-14 13:24+0100\n"
+"POT-Creation-Date: 2010-01-15 00:57+0100\n"
"PO-Revision-Date: 2009-05-14 02:36+0500\n"
"Last-Translator: Muhammad Ali Makki <makki.ma at gmail.com>\n"
"Language-Team: Urdu <makki.ma at gmail.com>\n"
@@ -19,19 +19,19 @@ msgstr ""
"X-Poedit-SourceCharset: utf-8\n"
"Plural-Forms: Plural-Forms: nplurals=2; plural=n != 1;\n"
-#: ../src/main.c:61
+#: ../src/main.c:59
msgid "Version information"
msgstr "ورژن کی معلومات"
-#: ../src/main.c:65
+#: ../src/main.c:63
msgid "Start in fullscreen mode"
msgstr "فُل سکرین موڈ میں چلائیں"
-#: ../src/main.c:69
+#: ../src/main.c:67
msgid "Start a slideshow"
msgstr "سلائیڈ شو شروع کریں"
-#: ../src/main.c:235
+#: ../src/main.c:91
#, c-format
msgid ""
"%s: %s\n"
@@ -40,218 +40,530 @@ msgstr ""
"%s: %s\n"
"دستیاب کمانڈ لائن اختیارات کی مکمل فہرست کے لیے %s --help لکھیں\n"
-#: ../src/main.c:448
-#: ../src/main_window.c:1598
-#: ../src/main_window.c:1638
-#: ../src/main_window.c:1675
-msgid "Opening file(s)..."
-msgstr "فائل/فائلیں کھولی جارہی ہیں"
-
-#. Create 'File' menu
-#: ../src/main_window.c:340
+#. File Menu
+#: ../src/main_window.c:262
msgid "_File"
msgstr "_فائل"
-#: ../src/main_window.c:347
-msgid "O_pen Folder"
+#: ../src/main_window.c:263
+msgid "_Open"
+msgstr ""
+
+#: ../src/main_window.c:263
+#, fuzzy
+msgid "Open an image"
+msgstr "تصویر کھولیں"
+
+#: ../src/main_window.c:264
+#, fuzzy
+msgid "Open _Folder"
msgstr "ف_ولڈر کھولیں"
-#: ../src/main_window.c:348
-msgid "_Recently used"
-msgstr "_حالیہ استعمال کردہ"
+#: ../src/main_window.c:264
+#, fuzzy
+msgid "Open a folder"
+msgstr "فولڈر کھولیں"
+
+#: ../src/main_window.c:265
+msgid "_Save copy"
+msgstr ""
+
+#: ../src/main_window.c:265
+msgid "Save a copy of the image"
+msgstr ""
+
+#: ../src/main_window.c:266
+msgid "_Print"
+msgstr ""
+
+#: ../src/main_window.c:266
+msgid "Print the image"
+msgstr ""
+
+#: ../src/main_window.c:267
+#, fuzzy
+msgid "_Close"
+msgstr "_سب بند کریں"
+
+#: ../src/main_window.c:267
+msgid "Close this image"
+msgstr ""
+
+#: ../src/main_window.c:268
+#, fuzzy
+msgid "_Close All"
+msgstr "_سب بند کریں"
-#: ../src/main_window.c:353
-msgid "Close _all"
+#: ../src/main_window.c:268
+#, fuzzy
+msgid "Close all images"
msgstr "_سب بند کریں"
-#. Create 'Edit' menu
-#: ../src/main_window.c:383
+#: ../src/main_window.c:269
+#, fuzzy
+msgid "_Quit"
+msgstr "_تدوین"
+
+#: ../src/main_window.c:269
+#, fuzzy
+msgid "Quit Ristretto"
+msgstr "ریسٹریٹو"
+
+#. Edit Menu
+#: ../src/main_window.c:271
msgid "_Edit"
msgstr "_تدوین"
-#: ../src/main_window.c:388
-#: ../src/main_window.c:659
-msgid "Open with..."
+#: ../src/main_window.c:272
+#, fuzzy
+msgid "_Open with..."
msgstr "کھولیں بذریعہ..."
-#: ../src/main_window.c:396
-#: ../src/main_window.c:670
-msgid "No applications available"
-msgstr "کوئی اطلاقیہ دستیاب نہیں"
+#: ../src/main_window.c:273
+#, fuzzy
+msgid "_Sorting"
+msgstr "_زومنگ"
+
+#: ../src/main_window.c:274
+msgid "_Delete"
+msgstr ""
+
+#: ../src/main_window.c:275
+#, fuzzy
+msgid "_Preferences"
+msgstr "تصویر منظر کار ترجیحات"
-#. Create 'View' menu
-#: ../src/main_window.c:405
+#. View Menu
+#: ../src/main_window.c:277
msgid "_View"
msgstr "_منظر"
-#: ../src/main_window.c:412
-msgid "Show _Toolbar"
-msgstr "_اوزار پٹی دکھائیں"
+#: ../src/main_window.c:278
+msgid "_Fullscreen"
+msgstr ""
-#: ../src/main_window.c:413
-msgid "Thumbnail _Viewer"
-msgstr "تصویرچہ _منظرکار"
+#: ../src/main_window.c:279
+msgid "_Leave Fullscreen"
+msgstr ""
+
+#: ../src/main_window.c:280
+#, fuzzy
+msgid "_Set as Wallpaper"
+msgstr "بطور وال پیپر _مرتب کریں"
-#: ../src/main_window.c:417
+#. Zoom submenu
+#: ../src/main_window.c:282
msgid "_Zooming"
msgstr "_زومنگ"
-#: ../src/main_window.c:418
-msgid "_Rotate"
-msgstr "_گھمائیں"
+#: ../src/main_window.c:283
+#, fuzzy
+msgid "Zoom _In"
+msgstr "_زومنگ"
-#: ../src/main_window.c:425
-msgid "_Set as wallpaper"
-msgstr "بطور وال پیپر _مرتب کریں"
+#: ../src/main_window.c:284
+msgid "Zoom _Out"
+msgstr ""
-#: ../src/main_window.c:476
-msgid "Show _Horizontally"
-msgstr "_افقی دکھائیں"
+#: ../src/main_window.c:285
+msgid "Zoom _Fit"
+msgstr ""
-#: ../src/main_window.c:480
-msgid "Show _Vertically"
-msgstr "_عمودی دکھائیں"
+#: ../src/main_window.c:286
+msgid "_Normal Size"
+msgstr ""
-#: ../src/main_window.c:484
-msgid "H_ide"
-msgstr "_چھپائیں"
+#. Rotation submenu
+#: ../src/main_window.c:288
+#, fuzzy
+msgid "_Rotation"
+msgstr "_گھمائیں"
-#: ../src/main_window.c:521
+#: ../src/main_window.c:289
msgid "Rotate _Right"
msgstr "_دائیں گھمائیں"
-#: ../src/main_window.c:522
+#: ../src/main_window.c:290
msgid "Rotate _Left"
msgstr "_بائیں گھمائیں"
-#. Create 'Go' menu
-#: ../src/main_window.c:543
+#. Go Menu
+#: ../src/main_window.c:292
msgid "_Go"
msgstr "_جائیں"
-#. Create 'Help' menu
-#: ../src/main_window.c:574
+#: ../src/main_window.c:293
+msgid "_Forward"
+msgstr ""
+
+#: ../src/main_window.c:294
+msgid "_Back"
+msgstr ""
+
+#: ../src/main_window.c:295
+msgid "_First"
+msgstr ""
+
+#: ../src/main_window.c:296
+msgid "_Last"
+msgstr ""
+
+#. Help Menu
+#: ../src/main_window.c:298
msgid "_Help"
msgstr "_ہدایات"
-#: ../src/main_window.c:906
-msgid "One or more images have been modified, do you want to save the changes?"
-msgstr "ایک یا اس سے زائد تصاویر میں تبدیلی کی گئی ہے، کیا آپ تبدیلیاں محفوظ کرنا چاہتے ہیں؟"
+#: ../src/main_window.c:300
+msgid "_Contents"
+msgstr ""
-#: ../src/main_window.c:1394
-msgid "Image viewer Preferences"
-msgstr "تصویر منظر کار ترجیحات"
+#: ../src/main_window.c:302
+msgid "Display ristretto user manual"
+msgstr ""
-#: ../src/main_window.c:1412
+#: ../src/main_window.c:305
+msgid "_About"
+msgstr ""
+
+#: ../src/main_window.c:307
+msgid "Display information about ristretto"
+msgstr ""
+
+#. Position Menu
+#: ../src/main_window.c:310
+msgid "_Position"
+msgstr ""
+
+#. Misc
+#: ../src/main_window.c:312
+msgid "Leave _Fullscreen"
+msgstr ""
+
+#. Toggle visibility of the main file toolbar
+#: ../src/main_window.c:320
+#, fuzzy
+msgid "Show _File Toolbar"
+msgstr "_اوزار پٹی دکھائیں"
+
+#. Toggle visibility of the main navigation toolbar
+#: ../src/main_window.c:322
+#, fuzzy
+msgid "Show _Navigation Toolbar"
+msgstr "_اوزار پٹی دکھائیں"
+
+#. Toggle visibility of the thumbnailbar
+#: ../src/main_window.c:324
+#, fuzzy
+msgid "Show _Thumbnailbar"
+msgstr "_اوزار پٹی دکھائیں"
+
+#. Sort by Filename
+#: ../src/main_window.c:331
+msgid "sort by filename"
+msgstr ""
+
+#. Sort by Date
+#: ../src/main_window.c:333
+msgid "sort by date"
+msgstr ""
+
+#: ../src/main_window.c:339
+msgid "Left"
+msgstr ""
+
+#: ../src/main_window.c:340
+msgid "Right"
+msgstr ""
+
+#: ../src/main_window.c:341
+msgid "Top"
+msgstr ""
+
+#: ../src/main_window.c:342
+msgid "Bottom"
+msgstr ""
+
+#: ../src/main_window.c:512 ../src/main_window.c:778
+msgid "Press open to select an image"
+msgstr ""
+
+#: ../src/main_window.c:765 ../src/main_window.c:770
+msgid "Empty"
+msgstr ""
+
+#: ../src/main_window.c:1545
+msgid "Developer:"
+msgstr "ڈویلپر:"
+
+#: ../src/main_window.c:1555
+#, fuzzy
+msgid "Ristretto is an imageviewer for the Xfce desktop environment."
+msgstr ""
+"ریسٹریٹو ایکسفس ڈیسک ٹاپ ماحول کے لیے ایک ہلکا پھلکا تصاویر منظرکار ہے."
+
+#: ../src/main_window.c:1563
+msgid "translator-credits"
+msgstr "ترجمہ-کریڈٹ"
+
+#: ../src/main_window.c:1878
+msgid "Open image"
+msgstr "تصویر کھولیں"
+
+#: ../src/main_window.c:1890
+msgid "Images"
+msgstr ""
+
+#: ../src/main_window.c:1895
+msgid ".jp(e)g"
+msgstr ""
+
+#: ../src/main_window.c:1917 ../src/main_window.c:1940
+#: ../src/main_window.c:2099 ../src/main_window.c:2114
+msgid "Could not open file"
+msgstr "فائل نہیں کھولی جاسکتی"
+
+#: ../src/main_window.c:1992
+msgid "Open folder"
+msgstr "فولڈر کھولیں"
+
+#: ../src/main_window.c:2137
+msgid "Save copy"
+msgstr ""
+
+#: ../src/main_window.c:2210
+#, fuzzy, c-format
+msgid "Are you sure you want to delete image '%s' from disk?"
+msgstr ""
+"کیا آپ ریسٹریٹو کی حالیہ کھولی گئی دستاویزات کی فہرست صاف کرنا چاہتے ہیں؟"
+
+#: ../src/preferences_dialog.c:230
msgid "Display"
msgstr "ڈسپلے"
-#: ../src/main_window.c:1416
+#: ../src/preferences_dialog.c:235
+#, fuzzy
+msgid "Background color"
+msgstr "پس منظر رنگ"
+
+#: ../src/preferences_dialog.c:239
+#, fuzzy
+msgid "Override background color:"
+msgstr "پس منظر رنگ ت_جاوز:"
+
+#: ../src/preferences_dialog.c:267
+msgid "Quality"
+msgstr ""
+
+#: ../src/preferences_dialog.c:271
+msgid "Maximum render quality:"
+msgstr ""
+
+#: ../src/preferences_dialog.c:274
+msgid "Show preview when loading image"
+msgstr ""
+
+#: ../src/preferences_dialog.c:281
+msgid "Best"
+msgstr ""
+
+#: ../src/preferences_dialog.c:282
+msgid "High"
+msgstr ""
+
+#: ../src/preferences_dialog.c:283
+msgid "Medium"
+msgstr ""
+
+#: ../src/preferences_dialog.c:284
+msgid "Low"
+msgstr ""
+
+#: ../src/preferences_dialog.c:324
msgid "Slideshow"
msgstr "سلائیڈ شو"
-#: ../src/main_window.c:1420
+#: ../src/preferences_dialog.c:328
+msgid "Timeout"
+msgstr "ٹائم آؤٹ"
+
+#: ../src/preferences_dialog.c:331
+msgid ""
+"The time period an individual image is displayed during a slideshow\n"
+"(in seconds)"
+msgstr ""
+"سلائیڈ شو کے دوران فی تصویر کو دکھانے کا وقت\n"
+"(سیکنڈ میں)"
+
+#: ../src/preferences_dialog.c:346
+#, fuzzy
+msgid "Thumbnails"
+msgstr "تصویرچہ"
+
+#: ../src/preferences_dialog.c:349
+msgid ""
+"The thumbnailbar can be automatically hidden \n"
+"when the image-viewer is fullscreen."
+msgstr ""
+
+#: ../src/preferences_dialog.c:351
+#, fuzzy
+msgid "Hide thumbnailbar when fullscreen"
+msgstr "تصویرچے _چھپائیں"
+
+#: ../src/preferences_dialog.c:364
+msgid "Control"
+msgstr ""
+
+#: ../src/preferences_dialog.c:368
+msgid "Scrollwheel"
+msgstr ""
+
+#: ../src/preferences_dialog.c:371
+msgid "No action"
+msgstr ""
+
+#: ../src/preferences_dialog.c:375
+msgid "Zoom in and out"
+msgstr ""
+
+#: ../src/preferences_dialog.c:378
+msgid "Switch images"
+msgstr ""
+
+#: ../src/preferences_dialog.c:412
msgid "Behaviour"
msgstr "سلوک"
-#: ../src/main_window.c:1425
+#: ../src/preferences_dialog.c:417
msgid "Scaling"
msgstr "قیاس"
-#: ../src/main_window.c:1427
+#: ../src/preferences_dialog.c:422
msgid "Don't scale over 100% when maximizing the window."
msgstr "ونڈو بڑی کرنے پر 100% سے زیادہ قیاس مت کریں."
-#: ../src/main_window.c:1437
-msgid "Background Color"
-msgstr "پس منظر رنگ"
+#: ../src/preferences_dialog.c:426
+msgid "Startup"
+msgstr ""
-#: ../src/main_window.c:1439
-msgid "_Override Background Color:"
-msgstr "پس منظر رنگ ت_جاوز:"
+#: ../src/preferences_dialog.c:428
+msgid "Resize window to image on startup"
+msgstr ""
-#: ../src/main_window.c:1462
-msgid "Image Cache"
+#: ../src/preferences_dialog.c:432
+msgid "Open entire folder on startup"
+msgstr ""
+
+#: ../src/preferences_dialog.c:437
+#, fuzzy
+msgid "Wrap around images"
+msgstr "تصویر کھولیں"
+
+#: ../src/preferences_dialog.c:453
+msgid "Memory"
+msgstr ""
+
+#: ../src/preferences_dialog.c:459
+#, fuzzy
+msgid "Image cache"
msgstr "تصویر کیشے"
-#: ../src/main_window.c:1465
-msgid "Cache size:"
+#: ../src/preferences_dialog.c:465
+#, fuzzy
+msgid "Cache size"
msgstr "کیشے حجم:"
-#: ../src/main_window.c:1466
+#: ../src/preferences_dialog.c:466
msgid "MB"
msgstr "م.ب"
-#: ../src/main_window.c:1468
-msgid "_Preload images (GUI more responsive but more CPU-intensive)"
-msgstr "_پری لوڈ تصاویر (تصویری مواجہ بہتر ہے مگر سی پی یو خرچ کرتا ہے)"
+#: ../src/preferences_dialog.c:469
+#, fuzzy
+msgid "Enable cache"
+msgstr "تصویر کیشے"
+
+#: ../src/preferences_dialog.c:474
+msgid "Preload images"
+msgstr ""
-#: ../src/main_window.c:1486
-msgid "Timeout"
-msgstr "ٹائم آؤٹ"
+#: ../src/preferences_dialog.c:544
+#, fuzzy
+msgid "Preferences"
+msgstr "تصویر منظر کار ترجیحات"
-#: ../src/main_window.c:1489
-msgid "Thumbnails"
-msgstr "تصویرچہ"
+#: ../src/xfce_wallpaper_manager.c:84
+#, fuzzy
+msgid "Set as wallpaper"
+msgstr "بطور وال پیپر _مرتب کریں"
-#: ../src/main_window.c:1494
-msgid ""
-"The time period an individual image is displayed during a slideshow\n"
-"(in seconds)"
+#: ../src/xfce_wallpaper_manager.c:86
+msgid "Style:"
msgstr ""
-"سلائیڈ شو کے دوران فی تصویر کو دکھانے کا وقت\n"
-"(سیکنڈ میں)"
-#: ../src/main_window.c:1497
-msgid "Hide the thumbnails bar during slideshow"
-msgstr "سلائیڈ شو کے دوران تصویرچہ پٹی چھپائیں"
+#: ../src/xfce_wallpaper_manager.c:88
+msgid "Monitor:"
+msgstr ""
-#: ../src/main_window.c:1498
-msgid "_Hide thumbnails"
-msgstr "تصویرچے _چھپائیں"
+#: ../src/xfce_wallpaper_manager.c:90
+msgid "Brightness:"
+msgstr ""
-#: ../src/main_window.c:1556
-msgid "Developer:"
-msgstr "ڈویلپر:"
+#: ../src/xfce_wallpaper_manager.c:91
+#, fuzzy
+msgid "Saturation:"
+msgstr "_گھمائیں"
-#: ../src/main_window.c:1566
-msgid "Ristretto is a fast and lightweight picture-viewer for the Xfce desktop environment."
-msgstr "ریسٹریٹو ایکسفس ڈیسک ٹاپ ماحول کے لیے ایک ہلکا پھلکا تصاویر منظرکار ہے."
+#: ../src/xfce_wallpaper_manager.c:123
+msgid "Auto"
+msgstr ""
-#: ../src/main_window.c:1574
-msgid "translator-credits"
-msgstr "ترجمہ-کریڈٹ"
+#: ../src/xfce_wallpaper_manager.c:124
+msgid "Centered"
+msgstr ""
-#: ../src/main_window.c:1600
-msgid "Open image"
-msgstr "تصویر کھولیں"
+#: ../src/xfce_wallpaper_manager.c:125
+#, fuzzy
+msgid "Tiled"
+msgstr "_فائل"
-#: ../src/main_window.c:1618
-msgid "Could not open file"
-msgstr "فائل نہیں کھولی جاسکتی"
+#: ../src/xfce_wallpaper_manager.c:126
+msgid "Stretched"
+msgstr ""
-#: ../src/main_window.c:1640
-msgid "Open folder"
-msgstr "فولڈر کھولیں"
+#: ../src/xfce_wallpaper_manager.c:127
+#, fuzzy
+msgid "Scaled"
+msgstr "قیاس"
-#: ../src/main_window.c:1715
-msgid "Are you sure you want to clear ristretto's list of recently opened documents?"
-msgstr "کیا آپ ریسٹریٹو کی حالیہ کھولی گئی دستاویزات کی فہرست صاف کرنا چاہتے ہیں؟"
+#: ../src/xfce_wallpaper_manager.c:128
+msgid "Zoomed"
+msgstr ""
-#: ../src/thumbnail_bar.c:185
+#: ../src/thumbnail_bar.c:187
msgid "Spacing"
msgstr "خلا"
-#: ../src/thumbnail_bar.c:186
+#: ../src/thumbnail_bar.c:188
msgid "The amount of space between the thumbnails"
msgstr "تصویرچوں کے درمیان خلا کی مقدار"
-#: ../src/thumbnail_bar.c:192
-msgid "Border Width"
+#: ../src/thumbnail_bar.c:194
+#, fuzzy
+msgid "border width"
msgstr "بارڈر کی چوڑائی"
-#: ../src/thumbnail_bar.c:193
-msgid "The border width of the thumbnail-bar"
+#: ../src/thumbnail_bar.c:195
+#, fuzzy
+msgid "the border width of the thumbnail-bar"
+msgstr "تصویرچہ-پٹی کے بارڈر کی چوڑائی"
+
+#: ../src/thumbnail_bar.c:201
+msgid "filmstrip width"
+msgstr ""
+
+#: ../src/thumbnail_bar.c:202
+#, fuzzy
+msgid "the width of the thumbnail-bar film-strip"
msgstr "تصویرچہ-پٹی کے بارڈر کی چوڑائی"
#: ../ristretto.desktop.in.h:1
@@ -259,15 +571,59 @@ msgid "Image Viewer"
msgstr "تصاویر منظر کار"
#: ../ristretto.desktop.in.h:2
-msgid "Ristretto"
-msgstr "ریسٹریٹو"
+msgid "Look at your photo's easily"
+msgstr ""
#: ../ristretto.desktop.in.h:3
-msgid "Xfce Image viewer"
-msgstr "ایکسفس تصویر منظرکار"
+msgid "Ristretto Photo Viewer"
+msgstr ""
+
+#, fuzzy
+#~ msgid "Ristretto"
+#~ msgstr "ریسٹریٹو"
+
+#, fuzzy
+#~ msgid "_Thumbnail Bar"
+#~ msgstr "تصویرچہ"
+
+#~ msgid "Opening file(s)..."
+#~ msgstr "فائل/فائلیں کھولی جارہی ہیں"
+
+#~ msgid "_Recently used"
+#~ msgstr "_حالیہ استعمال کردہ"
+
+#~ msgid "No applications available"
+#~ msgstr "کوئی اطلاقیہ دستیاب نہیں"
+
+#~ msgid "Thumbnail _Viewer"
+#~ msgstr "تصویرچہ _منظرکار"
+
+#~ msgid "Show _Horizontally"
+#~ msgstr "_افقی دکھائیں"
+
+#~ msgid "Show _Vertically"
+#~ msgstr "_عمودی دکھائیں"
+
+#~ msgid "H_ide"
+#~ msgstr "_چھپائیں"
+
+#~ msgid ""
+#~ "One or more images have been modified, do you want to save the changes?"
+#~ msgstr ""
+#~ "ایک یا اس سے زائد تصاویر میں تبدیلی کی گئی ہے، کیا آپ تبدیلیاں محفوظ کرنا "
+#~ "چاہتے ہیں؟"
+
+#~ msgid "_Preload images (GUI more responsive but more CPU-intensive)"
+#~ msgstr "_پری لوڈ تصاویر (تصویری مواجہ بہتر ہے مگر سی پی یو خرچ کرتا ہے)"
+
+#~ msgid "Hide the thumbnails bar during slideshow"
+#~ msgstr "سلائیڈ شو کے دوران تصویرچہ پٹی چھپائیں"
+
+#~ msgid "Xfce Image viewer"
+#~ msgstr "ایکسفس تصویر منظرکار"
#~ msgid "Flip _Vertically"
#~ msgstr "_عمودی فلپ کریں"
+
#~ msgid "Flip _Horizontally"
#~ msgstr "ا_فقی فلپ کریں"
-
diff --git a/po/sk.po b/po/vi.po
similarity index 62%
copy from po/sk.po
copy to po/vi.po
index 7094ef3..2761c6f 100644
--- a/po/sk.po
+++ b/po/vi.po
@@ -1,35 +1,32 @@
-# translation of Ristretto.
-# Copyright (C) 2008 THE Ristretto'S COPYRIGHT HOLDER
+# Copyright (C) 2009 Ristretto
# This file is distributed under the same license as the Ristretto package.
-# <>, 2008.
-# , fuzzy
-# <>, 2008.
-#
+# Nguyễn Quốc Vinh <kureikain at gmail.com>, 2009.
#
#: ../src/main.c:231
+#2, fuzzy
msgid ""
msgstr ""
-"Project-Id-Version: Ristretto 0.0.20\n"
+"Project-Id-Version: Ristretto\n"
"Report-Msgid-Bugs-To: xfce-i18n at xfce.org\n"
"POT-Creation-Date: 2008-11-14 13:24+0100\n"
-"PO-Revision-Date: 2008-05-27 12:35-0700\n"
-"Last-Translator: Stefan Miklosovic <miklosovic at gmail.com>\n"
-"Language-Team: Slovak <sk-i18n at linux.sk>\n"
+"PO-Revision-Date: 2009-9-9 16:MI+ZONE\n"
+"Last-Translator: Nguyễn Quốc Vinh <kureikain at gmail.com>\n"
+"Language-Team: Vietnamese <kureikain at gmail.com>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: ../src/main.c:61
msgid "Version information"
-msgstr "Informácie o verzii"
+msgstr "Thông tin phiên bản"
#: ../src/main.c:65
msgid "Start in fullscreen mode"
-msgstr "Spustiť v celoobrazovkovom móde"
+msgstr "Khởi động ở chế độ đầy màn hình"
#: ../src/main.c:69
msgid "Start a slideshow"
-msgstr "Spustiť prezentáciu "
+msgstr "Chạy show trình diễn"
#: ../src/main.c:235
#, c-format
@@ -38,141 +35,142 @@ msgid ""
"Try %s --help to see a full list of available command line options.\n"
msgstr ""
"%s: %s\n"
-"Skúste %s --help pre kompletné zobrazenie zoznamu dostupných volieb.\n"
+"Dùng %s --help để xem toàn bộ tham số khả dụng cho lệnh.\n"
+
#: ../src/main.c:448 ../src/main_window.c:1598 ../src/main_window.c:1638
#: ../src/main_window.c:1675
msgid "Opening file(s)..."
-msgstr "Otvoriť súbor(y)..."
+msgstr "Mở tập tin"
#. Create 'File' menu
#: ../src/main_window.c:340
msgid "_File"
-msgstr "_Súbor"
+msgstr "_Tập tin"
#: ../src/main_window.c:347
msgid "O_pen Folder"
-msgstr "O_tvor prečinok"
+msgstr "_Mở thư mục"
#: ../src/main_window.c:348
msgid "_Recently used"
-msgstr "_Nedávno otvorené"
+msgstr "Tập tin mở gần đây"
#: ../src/main_window.c:353
msgid "Close _all"
-msgstr "Zatvor _všetko"
+msgstr "Đóng tất _cả"
#. Create 'Edit' menu
#: ../src/main_window.c:383
msgid "_Edit"
-msgstr "_Edituj"
+msgstr "_Sửa"
#: ../src/main_window.c:388 ../src/main_window.c:659
msgid "Open with..."
-msgstr "Otvor s ..."
+msgstr "Mở với..."
#: ../src/main_window.c:396 ../src/main_window.c:670
msgid "No applications available"
-msgstr "Žiadna aplikácia nie je dostupná"
+msgstr "Không có ứng dụng khả dụng"
#. Create 'View' menu
#: ../src/main_window.c:405
msgid "_View"
-msgstr "_Zobraziť"
+msgstr "_Xem"
#: ../src/main_window.c:412
msgid "Show _Toolbar"
-msgstr "Zobraziť _panel nástrojov"
+msgstr "Hiển thị thanh cô_ng cụ"
#: ../src/main_window.c:413
msgid "Thumbnail _Viewer"
-msgstr "_Náhľady"
+msgstr "Chế độ xem ảnh nhỏ "
#: ../src/main_window.c:417
msgid "_Zooming"
-msgstr "_Priblíženie"
+msgstr "_Phóng to"
#: ../src/main_window.c:418
msgid "_Rotate"
-msgstr "_Otočiť"
+msgstr "_Quay"
#: ../src/main_window.c:425
msgid "_Set as wallpaper"
-msgstr "N_astaviť ako tapetu"
+msgstr "Thiết lập màn hình nền"
#: ../src/main_window.c:476
msgid "Show _Horizontally"
-msgstr "_Horizontálne"
+msgstr "Hiển thị ngang"
#: ../src/main_window.c:480
msgid "Show _Vertically"
-msgstr "_Vertikálne"
+msgstr "Hiển thị dọc"
#: ../src/main_window.c:484
msgid "H_ide"
-msgstr "_Skryť"
+msgstr "Ẩn"
#: ../src/main_window.c:521
msgid "Rotate _Right"
-msgstr "Otočiť v_pravo"
+msgstr "Quay _phải"
#: ../src/main_window.c:522
msgid "Rotate _Left"
-msgstr "Otočiť Vľa_vo"
+msgstr "Quay _trái"
#. Create 'Go' menu
#: ../src/main_window.c:543
msgid "_Go"
-msgstr "_Prejsť"
+msgstr "_Di chuyển"
#. Create 'Help' menu
#: ../src/main_window.c:574
msgid "_Help"
-msgstr "_Nápoveda"
+msgstr "_Trợ giúp"
#: ../src/main_window.c:906
msgid "One or more images have been modified, do you want to save the changes?"
-msgstr ""
+msgstr "Một vài ảnh đã bị thay đổi, bạn có muốn lưu lại không?"
#: ../src/main_window.c:1394
msgid "Image viewer Preferences"
-msgstr "Voľby prehliadača obrázkov"
+msgstr "Cấu hình trình xem ảnh"
#: ../src/main_window.c:1412
msgid "Display"
-msgstr "Zobrazenie"
+msgstr "Hiển thị"
#: ../src/main_window.c:1416
msgid "Slideshow"
-msgstr "Premietanie snímkov"
+msgstr "Slideshow"
#: ../src/main_window.c:1420
msgid "Behaviour"
-msgstr "Správanie"
+msgstr "Hành vi"
#: ../src/main_window.c:1425
msgid "Scaling"
-msgstr "Medzery"
+msgstr "Kéo dãn"
#: ../src/main_window.c:1427
msgid "Don't scale over 100% when maximizing the window."
-msgstr "Nezväčšovať obrázok na viac ako 100% keď sa maximalizuje okno."
+msgstr "Đừng giãn anh quá 100% khi cực đại hoá cửa sổ"
#: ../src/main_window.c:1437
msgid "Background Color"
-msgstr "Farba pozadia"
+msgstr "Màu nền"
#: ../src/main_window.c:1439
msgid "_Override Background Color:"
-msgstr "_Určiť farbu pozadia"
+msgstr "_Ghi đè màu nền"
#: ../src/main_window.c:1462
msgid "Image Cache"
-msgstr "Vyrovnávajúca pamäť"
+msgstr "Bộ đệm ảnh"
#: ../src/main_window.c:1465
msgid "Cache size:"
-msgstr "Veľkosť vyrovnávajúcej pamäte"
+msgstr "Cỡ bộ đệm"
#: ../src/main_window.c:1466
msgid "MB"
@@ -180,84 +178,86 @@ msgstr "MB"
#: ../src/main_window.c:1468
msgid "_Preload images (GUI more responsive but more CPU-intensive)"
-msgstr ""
+msgstr "_Nạp trước anh(Giao diện đồ hoạ sẽ chạy mượt mà hơn nhưng cần nhiều tài nguyên CPU)"
#: ../src/main_window.c:1486
msgid "Timeout"
-msgstr "Timeout"
+msgstr ""
#: ../src/main_window.c:1489
msgid "Thumbnails"
-msgstr "Náhľady"
+msgstr "Ảnh thu nhỏ"
#: ../src/main_window.c:1494
msgid ""
"The time period an individual image is displayed during a slideshow\n"
"(in seconds)"
msgstr ""
-"Časový interval počas ktorého je zobrazený jeden snímok pri premietaní\n"
-"(v sekundách)"
+"Khoảng thời gian một ảnh riêng lẽ được hiển thị trong quá trình trình diễn\n"
+"(tính bằng giây)"
+
#: ../src/main_window.c:1497
msgid "Hide the thumbnails bar during slideshow"
-msgstr "Skryť lištu náhľadov počas premietania"
+msgstr "Ẩn các ảnh thu nhỏ khi trình chiếu"
#: ../src/main_window.c:1498
msgid "_Hide thumbnails"
-msgstr "_Skryť náhľady"
+msgstr "Ẩn _ảnh thu nhỏ"
#: ../src/main_window.c:1556
msgid "Developer:"
-msgstr "Vývojár:"
+msgstr "Người phát triển"
#: ../src/main_window.c:1566
msgid ""
"Ristretto is a fast and lightweight picture-viewer for the Xfce desktop "
"environment."
msgstr ""
-"Ristretto je rýchly a odľahčený prehliadač obrázkov pre desktopové "
-"prostredie Xfce."
+"Ristretto là một trình xem ảnh nhỏ gọn, tốc độ cho môi trường "
+"Xfce"
#: ../src/main_window.c:1574
msgid "translator-credits"
-msgstr "Štefan Miklošovič <miklosovic at gmail.com>"
+msgstr "Công trạng người dịch"
#: ../src/main_window.c:1600
msgid "Open image"
-msgstr "Otvoriť obrázok"
+msgstr "Mở ảnh"
#: ../src/main_window.c:1618
msgid "Could not open file"
-msgstr "Nemôžem otvoriť súbor"
+msgstr "Không mở tập tin được"
#: ../src/main_window.c:1640
msgid "Open folder"
-msgstr "Otvoriť zložku"
+msgstr "Mở thư mục"
#: ../src/main_window.c:1715
msgid ""
"Are you sure you want to clear ristretto's list of recently opened documents?"
-msgstr "Naozaj chcete vyprázdniť zoznam naposledy otvorených dokumentov?"
+msgstr ""
+"Bạn chắc chắn muốn để xoá danh sách các tập tin được mở gần đây?"
#: ../src/thumbnail_bar.c:185
msgid "Spacing"
-msgstr "Medzery"
+msgstr "Khoảng cách"
#: ../src/thumbnail_bar.c:186
msgid "The amount of space between the thumbnails"
-msgstr "Množstvo priestoru medzi náhľadmi"
+msgstr "Khoảng cách giữa các ảnh thu nhỏ"
#: ../src/thumbnail_bar.c:192
msgid "Border Width"
-msgstr "Hrúbka okraja"
+msgstr "Cỡ đường viền"
#: ../src/thumbnail_bar.c:193
msgid "The border width of the thumbnail-bar"
-msgstr "Hrúbka okraja lišty náhľadov"
+msgstr "Cỡ đường viền của ảnh thu nhỏ"
#: ../ristretto.desktop.in.h:1
msgid "Image Viewer"
-msgstr "Prehliadač obrázkov"
+msgstr "Trình xem ảnh"
#: ../ristretto.desktop.in.h:2
msgid "Ristretto"
@@ -265,17 +265,4 @@ msgstr "Ristretto"
#: ../ristretto.desktop.in.h:3
msgid "Xfce Image viewer"
-msgstr "Prehliadač obrázkov pre Xfce"
-
-#~ msgid "Preload"
-#~ msgstr "Načítať dopredu"
-
-#~ msgid ""
-#~ "Preload images during slideshow\n"
-#~ "(uses more memory)"
-#~ msgstr ""
-#~ "Načítať snímky do pamäte ešte pred tým, ako majú byť zobrazené\n"
-#~ "(použije sa viac pamäte)"
-
-#~ msgid "_Preload images"
-#~ msgstr "Načítať _dopredu"
+msgstr "Trình xem ảnh cho Xfce"
diff --git a/po/zh_CN.po b/po/zh_CN.po
index 2107a62..ff5b145 100644
--- a/po/zh_CN.po
+++ b/po/zh_CN.po
@@ -1,33 +1,34 @@
# Simplified Chinese translations for Ristretto.
# Copyright (C) 2007 Stephan Arts <stephan at xfce.org>
# This file is distributed under the same license as the ristretto package.
-# wuli <wurisky at gmail.com>,2008.
-#
+# wuli <wurisky at gmail.com>, 2008.
+# Hunt Xu <mhuntxu at gmail.com>, 2008, 2009, 2010.
+
msgid ""
msgstr ""
"Project-Id-Version: ristretto\n"
"Report-Msgid-Bugs-To: xfce-i18n at xfce.org\n"
-"POT-Creation-Date: 2008-11-14 13:24+0100\n"
-"PO-Revision-Date: 2008-12-04 16:05+0800\n"
+"POT-Creation-Date: 2010-01-15 00:57+0100\n"
+"PO-Revision-Date: 2010-01-20 05:07+0800\n"
"Last-Translator: Hunt Xu <huntxu at live.cn>\n"
"Language-Team: Simplified Chinese <xfce-i18n at xfce.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-#: ../src/main.c:61
+#: ../src/main.c:59
msgid "Version information"
msgstr "版本信息"
-#: ../src/main.c:65
+#: ../src/main.c:63
msgid "Start in fullscreen mode"
msgstr "以全屏模式开始"
-#: ../src/main.c:69
+#: ../src/main.c:67
msgid "Start a slideshow"
msgstr "幻灯片播放"
-#: ../src/main.c:235
+#: ../src/main.c:91
#, c-format
msgid ""
"%s: %s\n"
@@ -36,238 +37,552 @@ msgstr ""
"%s: %s\n"
"尝试使用 %s --help 查看全部可用命令行参数列表。\n"
-#: ../src/main.c:448
-#: ../src/main_window.c:1598
-#: ../src/main_window.c:1638
-#: ../src/main_window.c:1675
-msgid "Opening file(s)..."
-msgstr "打开文件或文件夹..."
-
-#. Create 'File' menu
-#: ../src/main_window.c:340
+#. File Menu
+#: ../src/main_window.c:262
msgid "_File"
msgstr "文件(_F)"
-#: ../src/main_window.c:347
-msgid "O_pen Folder"
-msgstr "打开文件夹(_P)"
+#: ../src/main_window.c:263
+msgid "_Open"
+msgstr "打开(_O)"
+
+#: ../src/main_window.c:263
+msgid "Open an image"
+msgstr "打开一幅图像"
+
+#: ../src/main_window.c:264
+msgid "Open _Folder"
+msgstr "打开文件夹(_F)"
+
+#: ../src/main_window.c:264
+msgid "Open a folder"
+msgstr "打开文件夹"
+
+#: ../src/main_window.c:265
+msgid "_Save copy"
+msgstr "另存为(_S)"
+
+#: ../src/main_window.c:265
+msgid "Save a copy of the image"
+msgstr "保存一份此图像的副本"
+
+#: ../src/main_window.c:266
+msgid "_Print"
+msgstr "打印(_P)"
+
+#: ../src/main_window.c:266
+msgid "Print the image"
+msgstr "打印图像"
+
+#: ../src/main_window.c:267
+msgid "_Close"
+msgstr "关闭(_C)"
+
+#: ../src/main_window.c:267
+msgid "Close this image"
+msgstr "关闭当前图像"
+
+#: ../src/main_window.c:268
+msgid "_Close All"
+msgstr "全部关闭(_C)"
+
+#: ../src/main_window.c:268
+msgid "Close all images"
+msgstr "关闭全部图像"
-#: ../src/main_window.c:348
-msgid "_Recently used"
-msgstr "最近使用(_R)"
+#: ../src/main_window.c:269
+msgid "_Quit"
+msgstr "退出(_Q)"
-#: ../src/main_window.c:353
-msgid "Close _all"
-msgstr "全部关闭(_a)"
+#: ../src/main_window.c:269
+msgid "Quit Ristretto"
+msgstr "退出 Ristretto"
-#. Create 'Edit' menu
-#: ../src/main_window.c:383
+#. Edit Menu
+#: ../src/main_window.c:271
msgid "_Edit"
msgstr "编辑(_E)"
-#: ../src/main_window.c:388
-#: ../src/main_window.c:659
-msgid "Open with..."
-msgstr "以...打开"
+#: ../src/main_window.c:272
+msgid "_Open with..."
+msgstr "使用...打开(_O)"
-#: ../src/main_window.c:396
-#: ../src/main_window.c:670
-msgid "No applications available"
-msgstr "无应用程序可用"
+#: ../src/main_window.c:273
+msgid "_Sorting"
+msgstr "排列(_S)"
-#. Create 'View' menu
-#: ../src/main_window.c:405
+#: ../src/main_window.c:274
+msgid "_Delete"
+msgstr "删除(_D)"
+
+#: ../src/main_window.c:275
+msgid "_Preferences"
+msgstr "首选项(_P)"
+
+#. View Menu
+#: ../src/main_window.c:277
msgid "_View"
msgstr "查看(_V)"
-#: ../src/main_window.c:412
-msgid "Show _Toolbar"
-msgstr "显示工具栏(_T)"
+#: ../src/main_window.c:278
+msgid "_Fullscreen"
+msgstr "全屏(_F)"
-#: ../src/main_window.c:413
-msgid "Thumbnail _Viewer"
-msgstr "缩略图查看(_V)"
+#: ../src/main_window.c:279
+msgid "_Leave Fullscreen"
+msgstr "离开全屏(_L)"
+
+#: ../src/main_window.c:280
+msgid "_Set as Wallpaper"
+msgstr "设置为壁纸(_S)"
-#: ../src/main_window.c:417
+#. Zoom submenu
+#: ../src/main_window.c:282
msgid "_Zooming"
msgstr "缩放(_Z)"
-#: ../src/main_window.c:418
-msgid "_Rotate"
-msgstr "旋转(_R)"
+#: ../src/main_window.c:283
+msgid "Zoom _In"
+msgstr "放大(_I)"
-#: ../src/main_window.c:425
-msgid "_Set as wallpaper"
-msgstr "设置为壁纸(_S)"
+#: ../src/main_window.c:284
+msgid "Zoom _Out"
+msgstr "缩小(_O)"
-#: ../src/main_window.c:476
-msgid "Show _Horizontally"
-msgstr "水平显示(_H)"
+#: ../src/main_window.c:285
+msgid "Zoom _Fit"
+msgstr "合适大小(_F)"
-#: ../src/main_window.c:480
-msgid "Show _Vertically"
-msgstr "垂直显示(_V)"
+#: ../src/main_window.c:286
+msgid "_Normal Size"
+msgstr "原始大小(_N)"
-#: ../src/main_window.c:484
-msgid "H_ide"
-msgstr "隐藏(_I)"
+#. Rotation submenu
+#: ../src/main_window.c:288
+msgid "_Rotation"
+msgstr "旋转(_R)"
-#: ../src/main_window.c:521
+#: ../src/main_window.c:289
msgid "Rotate _Right"
msgstr "顺时针旋转(_R)"
-#: ../src/main_window.c:522
+#: ../src/main_window.c:290
msgid "Rotate _Left"
msgstr "倒时针旋转(_L)"
-#. Create 'Go' menu
-#: ../src/main_window.c:543
+#. Go Menu
+#: ../src/main_window.c:292
msgid "_Go"
msgstr "动作(_G)"
-#. Create 'Help' menu
-#: ../src/main_window.c:574
+#: ../src/main_window.c:293
+msgid "_Forward"
+msgstr "前进(_F)"
+
+#: ../src/main_window.c:294
+msgid "_Back"
+msgstr "后退(_B)"
+
+#: ../src/main_window.c:295
+msgid "_First"
+msgstr "第一个(_F)"
+
+#: ../src/main_window.c:296
+msgid "_Last"
+msgstr "最后一个(_L)"
+
+#. Help Menu
+#: ../src/main_window.c:298
msgid "_Help"
msgstr "帮助(_H)"
-#: ../src/main_window.c:906
-msgid "One or more images have been modified, do you want to save the changes?"
-msgstr "有图像已被修改,是否保存修改?"
+#: ../src/main_window.c:300
+msgid "_Contents"
+msgstr "内容(_C)"
+
+#: ../src/main_window.c:302
+msgid "Display ristretto user manual"
+msgstr "显示 ristretto 用户手册"
+
+#: ../src/main_window.c:305
+msgid "_About"
+msgstr "关于(_A)"
+
+#: ../src/main_window.c:307
+msgid "Display information about ristretto"
+msgstr "显示关于 ristretto 的信息"
+
+#. Position Menu
+#: ../src/main_window.c:310
+msgid "_Position"
+msgstr "位置(_P)"
+
+#. Misc
+#: ../src/main_window.c:312
+msgid "Leave _Fullscreen"
+msgstr "离开全屏(_F)"
+
+#. Toggle visibility of the main file toolbar
+#: ../src/main_window.c:320
+msgid "Show _File Toolbar"
+msgstr "显示文件工具栏(_F)"
+
+#. Toggle visibility of the main navigation toolbar
+#: ../src/main_window.c:322
+msgid "Show _Navigation Toolbar"
+msgstr "显示导航工具栏(_N)"
+
+#. Toggle visibility of the thumbnailbar
+#: ../src/main_window.c:324
+msgid "Show _Thumbnailbar"
+msgstr "显示缩略图工具栏(_T)"
+
+#. Sort by Filename
+#: ../src/main_window.c:331
+msgid "sort by filename"
+msgstr "以文件名排列"
+
+#. Sort by Date
+#: ../src/main_window.c:333
+msgid "sort by date"
+msgstr "以日期排列"
+
+#: ../src/main_window.c:339
+msgid "Left"
+msgstr "左"
+
+#: ../src/main_window.c:340
+msgid "Right"
+msgstr "右"
+
+#: ../src/main_window.c:341
+msgid "Top"
+msgstr "上"
+
+#: ../src/main_window.c:342
+msgid "Bottom"
+msgstr "下"
-#: ../src/main_window.c:1394
-msgid "Image viewer Preferences"
-msgstr "图像查看首选项"
+#: ../src/main_window.c:512 ../src/main_window.c:778
+msgid "Press open to select an image"
+msgstr "点击打开以选择一幅图像"
-#: ../src/main_window.c:1412
+#: ../src/main_window.c:765 ../src/main_window.c:770
+msgid "Empty"
+msgstr "空"
+
+#: ../src/main_window.c:1545
+msgid "Developer:"
+msgstr "开发者:"
+
+#: ../src/main_window.c:1555
+msgid "Ristretto is an imageviewer for the Xfce desktop environment."
+msgstr "Ristretto 是 Xfce 桌面环境的一个图像查看器。"
+
+#: ../src/main_window.c:1563
+msgid "translator-credits"
+msgstr ""
+"WuLi <wurisky at gmail.com>, 2008.\n"
+"Hunt Xu <mhuntxu at gmail.com>, 2008, 2009, 2010."
+
+#: ../src/main_window.c:1878
+msgid "Open image"
+msgstr "打开图像"
+
+#: ../src/main_window.c:1890
+msgid "Images"
+msgstr "图像"
+
+#: ../src/main_window.c:1895
+msgid ".jp(e)g"
+msgstr ".jp(e)g"
+
+#: ../src/main_window.c:1917 ../src/main_window.c:1940
+#: ../src/main_window.c:2099 ../src/main_window.c:2114
+msgid "Could not open file"
+msgstr "无法打开文件"
+
+#: ../src/main_window.c:1992
+msgid "Open folder"
+msgstr "打开文件夹"
+
+#: ../src/main_window.c:2137
+msgid "Save copy"
+msgstr "另存为"
+
+#: ../src/main_window.c:2210
+#, c-format
+msgid "Are you sure you want to delete image '%s' from disk?"
+msgstr "你真的要从磁盘上删除图像 '%s' 吗?"
+
+#: ../src/preferences_dialog.c:230
msgid "Display"
msgstr "显示"
-#: ../src/main_window.c:1416
+#: ../src/preferences_dialog.c:235
+msgid "Background color"
+msgstr "背景颜色"
+
+#: ../src/preferences_dialog.c:239
+msgid "Override background color:"
+msgstr "覆盖背景颜色:"
+
+#: ../src/preferences_dialog.c:267
+msgid "Quality"
+msgstr "质量"
+
+#: ../src/preferences_dialog.c:271
+msgid "Maximum render quality:"
+msgstr "最高渲染质量:"
+
+#: ../src/preferences_dialog.c:274
+msgid "Show preview when loading image"
+msgstr "加载图像时显示预览"
+
+#: ../src/preferences_dialog.c:281
+msgid "Best"
+msgstr "最好"
+
+#: ../src/preferences_dialog.c:282
+msgid "High"
+msgstr "高"
+
+#: ../src/preferences_dialog.c:283
+msgid "Medium"
+msgstr "中"
+
+#: ../src/preferences_dialog.c:284
+msgid "Low"
+msgstr "低"
+
+#: ../src/preferences_dialog.c:324
msgid "Slideshow"
msgstr "幻灯片"
-#: ../src/main_window.c:1420
+#: ../src/preferences_dialog.c:328
+msgid "Timeout"
+msgstr "持续时间"
+
+#: ../src/preferences_dialog.c:331
+msgid ""
+"The time period an individual image is displayed during a slideshow\n"
+"(in seconds)"
+msgstr "幻灯片单个图像持续显示时间(秒)"
+
+#: ../src/preferences_dialog.c:346
+msgid "Thumbnails"
+msgstr "缩略图"
+
+#: ../src/preferences_dialog.c:349
+msgid ""
+"The thumbnailbar can be automatically hidden \n"
+"when the image-viewer is fullscreen."
+msgstr "缩略图栏在图像查看器全屏显示时将会自动隐藏。"
+
+#: ../src/preferences_dialog.c:351
+msgid "Hide thumbnailbar when fullscreen"
+msgstr "全屏时隐藏缩略图栏"
+
+#: ../src/preferences_dialog.c:364
+msgid "Control"
+msgstr "控制"
+
+#: ../src/preferences_dialog.c:368
+msgid "Scrollwheel"
+msgstr "滚轮"
+
+#: ../src/preferences_dialog.c:371
+msgid "No action"
+msgstr "什么都不做"
+
+#: ../src/preferences_dialog.c:375
+msgid "Zoom in and out"
+msgstr "放大和缩小"
+
+#: ../src/preferences_dialog.c:378
+msgid "Switch images"
+msgstr "切换图像"
+
+#: ../src/preferences_dialog.c:412
msgid "Behaviour"
msgstr "行为"
-#: ../src/main_window.c:1425
+#: ../src/preferences_dialog.c:417
msgid "Scaling"
msgstr "缩放"
-#: ../src/main_window.c:1427
+#: ../src/preferences_dialog.c:422
msgid "Don't scale over 100% when maximizing the window."
msgstr "最大化窗口时不自动放大图像到超过 100%"
-#: ../src/main_window.c:1437
-msgid "Background Color"
-msgstr "背景颜色"
+#: ../src/preferences_dialog.c:426
+msgid "Startup"
+msgstr "启动"
+
+#: ../src/preferences_dialog.c:428
+msgid "Resize window to image on startup"
+msgstr "启动时设置窗口适合图像大小"
+
+#: ../src/preferences_dialog.c:432
+msgid "Open entire folder on startup"
+msgstr "启动时打开整个目录"
-#: ../src/main_window.c:1439
-msgid "_Override Background Color:"
-msgstr "覆盖背景颜色(_O):"
+#: ../src/preferences_dialog.c:437
+msgid "Wrap around images"
+msgstr "环绕一幅图像"
-#: ../src/main_window.c:1462
-msgid "Image Cache"
+#: ../src/preferences_dialog.c:453
+msgid "Memory"
+msgstr "记忆"
+
+#: ../src/preferences_dialog.c:459
+msgid "Image cache"
msgstr "图像缓存"
-#: ../src/main_window.c:1465
-msgid "Cache size:"
-msgstr "缓存大小:"
+#: ../src/preferences_dialog.c:465
+msgid "Cache size"
+msgstr "缓存大小"
-#: ../src/main_window.c:1466
+#: ../src/preferences_dialog.c:466
msgid "MB"
msgstr "MB"
-#: ../src/main_window.c:1468
-msgid "_Preload images (GUI more responsive but more CPU-intensive)"
-msgstr "预读图像(_P)(显示更快但CPU占用较高)"
+#: ../src/preferences_dialog.c:469
+msgid "Enable cache"
+msgstr "启用图像缓存"
-#: ../src/main_window.c:1486
-msgid "Timeout"
-msgstr "持续时间"
+#: ../src/preferences_dialog.c:474
+msgid "Preload images"
+msgstr "预加载图像"
-#: ../src/main_window.c:1489
-msgid "Thumbnails"
-msgstr "缩略图查看"
+#: ../src/preferences_dialog.c:544
+msgid "Preferences"
+msgstr "首选项"
-#: ../src/main_window.c:1494
-msgid ""
-"The time period an individual image is displayed during a slideshow\n"
-"(in seconds)"
-msgstr "幻灯片单个图像持续显示时间(秒)"
+#: ../src/xfce_wallpaper_manager.c:84
+msgid "Set as wallpaper"
+msgstr "设置为壁纸"
-#: ../src/main_window.c:1497
-msgid "Hide the thumbnails bar during slideshow"
-msgstr "幻灯片播放时隐藏缩略图栏"
+#: ../src/xfce_wallpaper_manager.c:86
+msgid "Style:"
+msgstr "风格:"
-#: ../src/main_window.c:1498
-msgid "_Hide thumbnails"
-msgstr "隐藏缩略图(_H)"
+#: ../src/xfce_wallpaper_manager.c:88
+msgid "Monitor:"
+msgstr "显示器:"
-#: ../src/main_window.c:1556
-msgid "Developer:"
-msgstr "开发者:"
+#: ../src/xfce_wallpaper_manager.c:90
+msgid "Brightness:"
+msgstr "亮度:"
-#: ../src/main_window.c:1566
-msgid "Ristretto is a fast and lightweight picture-viewer for the Xfce desktop environment."
-msgstr "Ristretto 是一个Xfce桌面环境快速轻量级的图像查看器"
+#: ../src/xfce_wallpaper_manager.c:91
+msgid "Saturation:"
+msgstr "饱和度:"
-#: ../src/main_window.c:1574
-msgid "translator-credits"
-msgstr "WuLi <wurisky at gmail.com>"
+#: ../src/xfce_wallpaper_manager.c:123
+msgid "Auto"
+msgstr "自动"
-#: ../src/main_window.c:1600
-msgid "Open image"
-msgstr "打开图像"
+#: ../src/xfce_wallpaper_manager.c:124
+msgid "Centered"
+msgstr "居中"
-#: ../src/main_window.c:1618
-msgid "Could not open file"
-msgstr "无法打开文件"
+#: ../src/xfce_wallpaper_manager.c:125
+msgid "Tiled"
+msgstr "平铺"
-#: ../src/main_window.c:1640
-msgid "Open folder"
-msgstr "打开文件夹"
+#: ../src/xfce_wallpaper_manager.c:126
+msgid "Stretched"
+msgstr "拉伸"
+
+#: ../src/xfce_wallpaper_manager.c:127
+msgid "Scaled"
+msgstr "缩放"
-#: ../src/main_window.c:1715
-msgid "Are you sure you want to clear ristretto's list of recently opened documents?"
-msgstr "你真的要清除最近打开文档列表吗?"
+#: ../src/xfce_wallpaper_manager.c:128
+msgid "Zoomed"
+msgstr "放大"
-#: ../src/thumbnail_bar.c:185
+#: ../src/thumbnail_bar.c:187
msgid "Spacing"
msgstr "空间"
-#: ../src/thumbnail_bar.c:186
+#: ../src/thumbnail_bar.c:188
msgid "The amount of space between the thumbnails"
msgstr "缩略图之间空格数量"
-#: ../src/thumbnail_bar.c:192
-msgid "Border Width"
+#: ../src/thumbnail_bar.c:194
+msgid "border width"
msgstr "边框宽度"
-#: ../src/thumbnail_bar.c:193
-msgid "The border width of the thumbnail-bar"
+#: ../src/thumbnail_bar.c:195
+msgid "the border width of the thumbnail-bar"
msgstr "缩略图栏的边框宽度"
+#: ../src/thumbnail_bar.c:201
+msgid "filmstrip width"
+msgstr "幻灯片宽度"
+
+#: ../src/thumbnail_bar.c:202
+msgid "the width of the thumbnail-bar film-strip"
+msgstr "缩略图栏的幻灯片宽度"
+
#: ../ristretto.desktop.in.h:1
msgid "Image Viewer"
msgstr "图像查看器"
#: ../ristretto.desktop.in.h:2
-msgid "Ristretto"
-msgstr "Ristretto"
+msgid "Look at your photo's easily"
+msgstr "轻松查看您的照片"
#: ../ristretto.desktop.in.h:3
-msgid "Xfce Image viewer"
-msgstr "Xfce 图像查看器"
+msgid "Ristretto Photo Viewer"
+msgstr "Ristretto 图像查看器"
+
+#~ msgid "Ristretto"
+#~ msgstr "Ristretto"
+
+#~ msgid "_Thumbnail Bar"
+#~ msgstr "缩略图栏"
+
+#~ msgid "Opening file(s)..."
+#~ msgstr "打开文件或文件夹..."
+
+#~ msgid "_Recently used"
+#~ msgstr "最近使用(_R)"
+
+#~ msgid "No applications available"
+#~ msgstr "无应用程序可用"
+
+#~ msgid "Thumbnail _Viewer"
+#~ msgstr "缩略图查看(_V)"
+
+#~ msgid "Show _Horizontally"
+#~ msgstr "水平显示(_H)"
+
+#~ msgid "Show _Vertically"
+#~ msgstr "垂直显示(_V)"
+
+#~ msgid "H_ide"
+#~ msgstr "隐藏(_I)"
+
+#~ msgid ""
+#~ "One or more images have been modified, do you want to save the changes?"
+#~ msgstr "有图像已被修改,是否保存修改?"
+
+#~ msgid "_Preload images (GUI more responsive but more CPU-intensive)"
+#~ msgstr "预读图像(_P)(显示更快但CPU占用较高)"
+
+#~ msgid "Hide the thumbnails bar during slideshow"
+#~ msgstr "幻灯片播放时隐藏缩略图栏"
+
+#~ msgid "Xfce Image viewer"
+#~ msgstr "Xfce 图像查看器"
#~ msgid "Preload"
#~ msgstr "预加载"
+
#~ msgid ""
#~ "Preload images during slideshow\n"
#~ "(uses more memory)"
#~ msgstr "幻灯片时预加载图像(使用更多内存)"
-#~ msgid "_Preload images"
-#~ msgstr "预加载图像(_P)"
-#~ msgid "Ristretto Image Viewer"
-#~ msgstr "Ristretto图像查看器"
-
diff --git a/ristretto.desktop.in b/ristretto.desktop.in
index f0302b0..5c8375f 100644
--- a/ristretto.desktop.in
+++ b/ristretto.desktop.in
@@ -1,7 +1,7 @@
[Desktop Entry]
Version=1.0
-_Name=Ristretto
-_Comment=Xfce Image viewer
+_Name=Ristretto Photo Viewer
+_Comment=Look at your photo's easily
_GenericName=Image Viewer
Exec=ristretto %F
Icon=ristretto
diff --git a/src/Makefile.am b/src/Makefile.am
index 141038d..814eb79 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -1,22 +1,33 @@
bin_PROGRAMS = ristretto
ristretto_SOURCES = \
- main.c \
- main_window.c main_window.h \
- navigator.c navigator.h \
+ image_list.c image_list.h \
+ image.c image.h \
+ image_cache.c image_cache.h \
picture_viewer.c picture_viewer.h \
- save_dialog.h save_dialog.c \
+ settings.c settings.h \
+ preferences_dialog.h preferences_dialog.c \
+ main_window_ui.h \
+ main_window.c main_window.h \
+ wallpaper_manager.c wallpaper_manager.h \
+ xfce_wallpaper_manager.c xfce_wallpaper_manager.h \
+ gnome_wallpaper_manager.c gnome_wallpaper_manager.h \
+ app_menu_item.c app_menu_item.h \
+ thumbnail_bar.c thumbnail_bar.h \
thumbnail.c thumbnail.h \
- thumbnail_bar.c thumbnail_bar.h
+ thumbnailer.c thumbnailer.h \
+ main.c
ristretto_CFLAGS = \
$(GTK_CFLAGS) \
$(GLIB_CFLAGS) \
- $(DBUS_GLIB_CFLAGS) \
+ $(GTHREAD_CFLAGS) \
+ $(GIO_CFLAGS) \
$(LIBEXIF_CFLAGS) \
+ $(XFCONF_CFLAGS) \
+ $(CAIRO_CFLAGS) \
$(LIBXFCE4UTIL_CFLAGS) \
$(LIBXFCEGUI4_CFLAGS) \
- $(THUNAR_VFS_CFLAGS) \
-DDATADIR=\"$(datadir)\" \
-DSRCDIR=\"$(top_srcdir)\" \
-DLOCALEDIR=\"$(localedir)\"
@@ -24,11 +35,26 @@ ristretto_CFLAGS = \
ristretto_LDADD = \
$(GTK_LIBS) \
$(GLIB_LIBS) \
- $(DBUS_GLIB_LIBS) \
+ $(GTHREAD_LIBS) \
+ $(GIO_LIBS) \
$(LIBEXIF_LIBS) \
+ $(CAIRO_LIBS) \
+ $(XFCONF_LIBS) \
$(LIBXFCE4UTIL_LIBS) \
- $(LIBXFCEGUI4_LIBS) \
- $(THUNAR_VFS_LIBS)
+ $(LIBXFCEGUI4_LIBS)
INCLUDES = \
-I${top_srcdir}
+
+if MAINTAINER_MODE
+
+BUILT_SOURCES = \
+ main_window_ui.h
+
+main_window_ui.h: main_window_ui.xml
+ exo-csource --strip-comments --strip-content --static --name=main_window_ui $< > $@
+
+endif
+
+EXTRA_DIST = \
+ main_window_ui.xml
diff --git a/src/app_menu_item.c b/src/app_menu_item.c
new file mode 100644
index 0000000..01aa634
--- /dev/null
+++ b/src/app_menu_item.c
@@ -0,0 +1,147 @@
+/*
+ * Copyright (C) Stephan Arts 2009-2010 <stephan at xfce.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
+ * (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 Library 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 <gio/gio.h>
+#include <gtk/gtk.h>
+#include <string.h>
+
+#include "app_menu_item.h"
+
+struct _RsttoAppMenuItemPriv
+{
+ GAppInfo *app_info;
+ GFile *file;
+};
+
+static GtkWidgetClass *parent_class = NULL;
+
+static void
+rstto_app_menu_item_init(RsttoAppMenuItem *);
+static void
+rstto_app_menu_item_class_init(RsttoAppMenuItemClass *);
+static void
+rstto_app_menu_item_finalize(GObject *object);
+
+static void
+rstto_app_menu_item_activate (GtkMenuItem *object);
+
+GType
+rstto_app_menu_item_get_type (void)
+{
+ static GType rstto_app_menu_item_type = 0;
+
+ if (!rstto_app_menu_item_type)
+ {
+ static const GTypeInfo rstto_app_menu_item_info =
+ {
+ sizeof (RsttoAppMenuItemClass),
+ (GBaseInitFunc) NULL,
+ (GBaseFinalizeFunc) NULL,
+ (GClassInitFunc) rstto_app_menu_item_class_init,
+ (GClassFinalizeFunc) NULL,
+ NULL,
+ sizeof (RsttoAppMenuItem),
+ 0,
+ (GInstanceInitFunc) rstto_app_menu_item_init,
+ NULL
+ };
+
+ rstto_app_menu_item_type = g_type_register_static (GTK_TYPE_IMAGE_MENU_ITEM, "RsttoAppMenuItem", &rstto_app_menu_item_info, 0);
+ }
+ return rstto_app_menu_item_type;
+}
+
+static void
+rstto_app_menu_item_init (RsttoAppMenuItem *menu_item)
+{
+ menu_item->priv = g_new0 (RsttoAppMenuItemPriv, 1);
+}
+
+static void
+rstto_app_menu_item_class_init(RsttoAppMenuItemClass *app_menu_item_class)
+{
+ GtkMenuItemClass *menu_item_class;
+ GObjectClass *object_class;
+
+ object_class = (GObjectClass*)app_menu_item_class;
+ menu_item_class = (GtkMenuItemClass*)app_menu_item_class;
+
+ parent_class = g_type_class_peek_parent (app_menu_item_class);
+
+ object_class->finalize = rstto_app_menu_item_finalize;
+ menu_item_class->activate = rstto_app_menu_item_activate;
+}
+
+static void
+rstto_app_menu_item_finalize(GObject *object)
+{
+ RsttoAppMenuItem *menu_item = RSTTO_APP_MENU_ITEM(object);
+ if (menu_item->priv->app_info)
+ {
+ g_object_unref (menu_item->priv->app_info);
+ menu_item->priv->app_info = NULL;
+ }
+ if (menu_item->priv->file)
+ {
+ g_object_unref (menu_item->priv->file);
+ menu_item->priv->file = NULL;
+ }
+
+}
+
+static void
+rstto_app_menu_item_activate (GtkMenuItem *object)
+{
+ RsttoAppMenuItem *app_menu_item = RSTTO_APP_MENU_ITEM (object);
+ GList *files = g_list_append (NULL, app_menu_item->priv->file);
+
+ g_app_info_launch (app_menu_item->priv->app_info, files, NULL, NULL);
+
+ GTK_MENU_ITEM_CLASS(parent_class)->activate (GTK_MENU_ITEM (object));
+}
+
+
+GtkWidget *
+rstto_app_menu_item_new (GAppInfo *app_info, GFile *file)
+{
+ RsttoAppMenuItem *menu_item;
+ GtkWidget *image = NULL;
+ GIcon *icon = NULL;
+
+ g_return_val_if_fail (app_info != NULL, NULL);
+
+ menu_item = g_object_new (RSTTO_TYPE_APP_MENU_ITEM, NULL);
+
+ menu_item->priv->app_info = app_info;
+ g_object_ref (app_info);
+
+ menu_item->priv->file = file;
+ g_object_ref (file);
+
+ icon = g_app_info_get_icon (app_info);
+ if (icon)
+ {
+ image = gtk_image_new_from_gicon (icon, GTK_ICON_SIZE_MENU);
+ }
+
+ gtk_menu_item_set_label (GTK_MENU_ITEM (menu_item), g_app_info_get_name (app_info));
+ gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (menu_item), image);
+
+ return GTK_WIDGET (menu_item);
+}
diff --git a/src/app_menu_item.h b/src/app_menu_item.h
new file mode 100644
index 0000000..ca4cc07
--- /dev/null
+++ b/src/app_menu_item.h
@@ -0,0 +1,66 @@
+/*
+ * Copyright (C) Stephan Arts 2009-2010 <stephan at xfce.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
+ * (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 Library 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 __RISTRETTO_APP_MENU_ITEM_H__
+#define __RISTRETTO_APP_MENU_ITEM_H__
+
+G_BEGIN_DECLS
+
+#define RSTTO_TYPE_APP_MENU_ITEM rstto_app_menu_item_get_type()
+
+#define RSTTO_APP_MENU_ITEM(obj)( \
+ G_TYPE_CHECK_INSTANCE_CAST ((obj), \
+ RSTTO_TYPE_APP_MENU_ITEM, \
+ RsttoAppMenuItem))
+
+#define RSTTO_IS_APP_MENU_ITEM(obj)( \
+ G_TYPE_CHECK_INSTANCE_TYPE ((obj), \
+ RSTTO_TYPE_APP_MENU_ITEM))
+
+#define RSTTO_APP_MENU_ITEM_CLASS(klass)( \
+ G_TYPE_CHECK_CLASS_CAST ((klass), \
+ RSTTO_TYPE_APP_MENU_ITEM, \
+ RsttoAppMenuItemClass))
+
+#define RSTTO_IS_APP_MENU_ITEM_CLASS(klass)( \
+ G_TYPE_CHECK_CLASS_TYPE ((klass), \
+ RSTTO_TYPE_APP_MENU_ITEM()))
+
+typedef struct _RsttoAppMenuItemPriv RsttoAppMenuItemPriv;
+
+typedef struct _RsttoAppMenuItem RsttoAppMenuItem;
+
+struct _RsttoAppMenuItem
+{
+ GtkImageMenuItem parent;
+ RsttoAppMenuItemPriv *priv;
+};
+
+typedef struct _RsttoAppMenuItemClass RsttoAppMenuItemClass;
+
+struct _RsttoAppMenuItemClass
+{
+ GtkImageMenuItemClass parent_class;
+};
+
+GType rstto_app_menu_item_get_type();
+GtkWidget *rstto_app_menu_item_new (GAppInfo *app_info, GFile *file);
+
+G_END_DECLS
+
+#endif /* __RISTRETTO_APP_MENU_ITEM_H__ */
diff --git a/src/gnome_wallpaper_manager.c b/src/gnome_wallpaper_manager.c
new file mode 100644
index 0000000..b33105b
--- /dev/null
+++ b/src/gnome_wallpaper_manager.c
@@ -0,0 +1,200 @@
+/*
+ * Copyright (c) Stephan Arts 2009-2010 <stephan at gnome.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
+ * (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 Library 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 <glib.h>
+#include <gtk/gtk.h>
+#include <gdk/gdkx.h>
+#include <X11/Xlib.h>
+#include <gio/gio.h>
+
+#include "image.h"
+
+#include "wallpaper_manager.h"
+#include "gnome_wallpaper_manager.h"
+
+#define XFDESKTOP_SELECTION_FMT "XFDESKTOP_SELECTION_%d"
+
+typedef struct {
+ gint16 r;
+ gint16 g;
+ gint16 b;
+ gint16 a;
+} RsttoColor;
+
+
+static void
+rstto_gnome_wallpaper_manager_init (GObject *);
+static void
+rstto_gnome_wallpaper_manager_class_init (GObjectClass *);
+
+static void
+rstto_gnome_wallpaper_manager_dispose (GObject *object);
+static void
+rstto_gnome_wallpaper_manager_finalize (GObject *object);
+
+static GObjectClass *parent_class = NULL;
+
+static RsttoGnomeWallpaperManager *gnome_wallpaper_manager_object;
+
+struct _RsttoGnomeWallpaperManagerPriv
+{
+};
+
+
+enum
+{
+ PROP_0,
+};
+
+static gint
+rstto_gnome_wallpaper_manager_configure_dialog_run (RsttoWallpaperManager *self, RsttoImage *image)
+{
+ RsttoGnomeWallpaperManager *manager = RSTTO_GNOME_WALLPAPER_MANAGER (self);
+ gint response = GTK_RESPONSE_OK;
+ return response;
+}
+
+static gboolean
+rstto_gnome_wallpaper_manager_check_running (RsttoWallpaperManager *self)
+{
+ return FALSE;
+}
+
+static gboolean
+rstto_gnome_wallpaper_manager_set (RsttoWallpaperManager *self, RsttoImage *image)
+{
+ RsttoGnomeWallpaperManager *manager = RSTTO_GNOME_WALLPAPER_MANAGER (self);
+
+ return FALSE;
+}
+
+static void
+rstto_gnome_wallpaper_manager_iface_init (RsttoWallpaperManagerIface *iface)
+{
+ iface->configure_dialog_run = rstto_gnome_wallpaper_manager_configure_dialog_run;
+ iface->check_running = rstto_gnome_wallpaper_manager_check_running;
+ iface->set = rstto_gnome_wallpaper_manager_set;
+}
+
+GType
+rstto_gnome_wallpaper_manager_get_type (void)
+{
+ static GType rstto_gnome_wallpaper_manager_type = 0;
+
+ if (!rstto_gnome_wallpaper_manager_type)
+ {
+ static const GTypeInfo rstto_gnome_wallpaper_manager_info =
+ {
+ sizeof (RsttoGnomeWallpaperManagerClass),
+ (GBaseInitFunc) NULL,
+ (GBaseFinalizeFunc) NULL,
+ (GClassInitFunc) rstto_gnome_wallpaper_manager_class_init,
+ (GClassFinalizeFunc) NULL,
+ NULL,
+ sizeof (RsttoGnomeWallpaperManager),
+ 0,
+ (GInstanceInitFunc) rstto_gnome_wallpaper_manager_init,
+ NULL
+ };
+
+ static const GInterfaceInfo wallpaper_manager_iface_info =
+ {
+ (GInterfaceInitFunc) rstto_gnome_wallpaper_manager_iface_init,
+ NULL,
+ NULL
+ };
+
+ rstto_gnome_wallpaper_manager_type = g_type_register_static (G_TYPE_OBJECT, "RsttoGnomeWallpaperManager", &rstto_gnome_wallpaper_manager_info, 0);
+ g_type_add_interface_static (rstto_gnome_wallpaper_manager_type, RSTTO_WALLPAPER_MANAGER_TYPE, &wallpaper_manager_iface_info);
+
+ }
+ return rstto_gnome_wallpaper_manager_type;
+}
+
+
+static void
+rstto_gnome_wallpaper_manager_init (GObject *object)
+{
+ RsttoGnomeWallpaperManager *gnome_wallpaper_manager = RSTTO_GNOME_WALLPAPER_MANAGER (object);
+
+ gnome_wallpaper_manager->priv = g_new0 (RsttoGnomeWallpaperManagerPriv, 1);
+}
+
+
+static void
+rstto_gnome_wallpaper_manager_class_init (GObjectClass *object_class)
+{
+ RsttoGnomeWallpaperManagerClass *gnome_wallpaper_manager_class = RSTTO_GNOME_WALLPAPER_MANAGER_CLASS (object_class);
+
+ parent_class = g_type_class_peek_parent (gnome_wallpaper_manager_class);
+
+ object_class->dispose = rstto_gnome_wallpaper_manager_dispose;
+ object_class->finalize = rstto_gnome_wallpaper_manager_finalize;
+}
+
+/**
+ * rstto_gnome_wallpaper_manager_dispose:
+ * @object:
+ *
+ */
+static void
+rstto_gnome_wallpaper_manager_dispose (GObject *object)
+{
+ RsttoGnomeWallpaperManager *gnome_wallpaper_manager = RSTTO_GNOME_WALLPAPER_MANAGER (object);
+
+ if (gnome_wallpaper_manager->priv)
+ {
+ g_free (gnome_wallpaper_manager->priv);
+ gnome_wallpaper_manager->priv = NULL;
+ }
+}
+
+/**
+ * rstto_gnome_wallpaper_manager_finalize:
+ * @object:
+ *
+ */
+static void
+rstto_gnome_wallpaper_manager_finalize (GObject *object)
+{
+}
+
+
+
+/**
+ * rstto_gnome_wallpaper_manager_new:
+ *
+ *
+ * Singleton
+ */
+RsttoGnomeWallpaperManager *
+rstto_gnome_wallpaper_manager_new (void)
+{
+ if (gnome_wallpaper_manager_object == NULL)
+ {
+ gnome_wallpaper_manager_object = g_object_new (RSTTO_TYPE_GNOME_WALLPAPER_MANAGER, NULL);
+ }
+ else
+ {
+ g_object_ref (gnome_wallpaper_manager_object);
+ }
+
+ return gnome_wallpaper_manager_object;
+}
diff --git a/src/gnome_wallpaper_manager.h b/src/gnome_wallpaper_manager.h
new file mode 100644
index 0000000..d6a2d67
--- /dev/null
+++ b/src/gnome_wallpaper_manager.h
@@ -0,0 +1,67 @@
+/*
+ * Copyright (c) Stephan Arts 2009-2010 <stephan at gnome.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
+ * (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 Library 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 __RISTRETTO_GNOME_WALLPAPER_MANAGER_H__
+#define __RISTRETTO_GNOME_WALLPAPER_MANAGER_H__
+
+G_BEGIN_DECLS
+
+#define RSTTO_TYPE_GNOME_WALLPAPER_MANAGER rstto_gnome_wallpaper_manager_get_type()
+
+#define RSTTO_GNOME_WALLPAPER_MANAGER(obj)( \
+ G_TYPE_CHECK_INSTANCE_CAST ((obj), \
+ RSTTO_TYPE_GNOME_WALLPAPER_MANAGER, \
+ RsttoGnomeWallpaperManager))
+
+#define RSTTO_IS_GNOME_WALLPAPER_MANAGER(obj)( \
+ G_TYPE_CHECK_INSTANCE_TYPE ((obj), \
+ RSTTO_TYPE_GNOME_WALLPAPER_MANAGER))
+
+#define RSTTO_GNOME_WALLPAPER_MANAGER_CLASS(klass)( \
+ G_TYPE_CHECK_CLASS_CAST ((klass), \
+ RSTTO_TYPE_GNOME_WALLPAPER_MANAGER, \
+ RsttoGnomeWallpaperManagerClass))
+
+#define RSTTO_IS_GNOME_WALLPAPER_MANAGER_CLASS(klass)( \
+ G_TYPE_CHECK_CLASS_TYPE ((klass), \
+ RSTTO_TYPE_GNOME_WALLPAPER_MANAGER()))
+
+
+typedef struct _RsttoGnomeWallpaperManager RsttoGnomeWallpaperManager;
+typedef struct _RsttoGnomeWallpaperManagerPriv RsttoGnomeWallpaperManagerPriv;
+
+struct _RsttoGnomeWallpaperManager
+{
+ GObject parent;
+
+ RsttoGnomeWallpaperManagerPriv *priv;
+};
+
+typedef struct _RsttoGnomeWallpaperManagerClass RsttoGnomeWallpaperManagerClass;
+
+struct _RsttoGnomeWallpaperManagerClass
+{
+ GObjectClass parent_class;
+};
+
+RsttoGnomeWallpaperManager *rstto_gnome_wallpaper_manager_new (void);
+GType rstto_gnome_wallpaper_manager_get_type (void);
+
+G_END_DECLS
+
+#endif /* __RISTRETTO_GNOME_WALLPAPER_MANAGER_H__ */
diff --git a/src/image.c b/src/image.c
new file mode 100644
index 0000000..316cd2c
--- /dev/null
+++ b/src/image.c
@@ -0,0 +1,740 @@
+/*
+ * Copyright (c) Stephan Arts 2009-2010 <stephan at xfce.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
+ * (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 Library 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 <glib.h>
+#include <gio/gio.h>
+#include <gdk/gdk.h>
+
+#include <libexif/exif-data.h>
+
+#include <string.h>
+
+#include "image.h"
+#include "image_cache.h"
+
+#ifndef RSTTO_IMAGE_BUFFER_SIZE
+/* #define RSTTO_IMAGE_BUFFER_SIZE 1024 */
+#define RSTTO_IMAGE_BUFFER_SIZE 131072
+#endif
+
+enum
+{
+ RSTTO_IMAGE_SIGNAL_UPDATED= 0,
+ RSTTO_IMAGE_SIGNAL_PREPARED,
+ RSTTO_IMAGE_SIGNAL_COUNT
+};
+
+static void
+rstto_image_init (GObject *);
+static void
+rstto_image_class_init (GObjectClass *);
+
+static void
+rstto_image_dispose (GObject *object);
+
+static void
+cb_rstto_image_area_prepared (GdkPixbufLoader *loader, RsttoImage *image);
+static void
+cb_rstto_image_size_prepared (GdkPixbufLoader *loader, gint width, gint height, RsttoImage *image);
+static void
+cb_rstto_image_closed (GdkPixbufLoader *loader, RsttoImage *image);
+static gboolean
+cb_rstto_image_update(RsttoImage *image);
+
+static void
+cb_rstto_image_read_file_ready (GObject *source_object, GAsyncResult *result, gpointer user_data);
+static void
+cb_rstto_image_read_input_stream_ready (GObject *source_object, GAsyncResult *result, gpointer user_data);
+
+static GObjectClass *parent_class = NULL;
+
+static gint rstto_image_signals[RSTTO_IMAGE_SIGNAL_COUNT];
+
+GType
+rstto_image_get_type (void)
+{
+ static GType rstto_image_type = 0;
+
+ if (!rstto_image_type)
+ {
+ static const GTypeInfo rstto_image_info =
+ {
+ sizeof (RsttoImageClass),
+ (GBaseInitFunc) NULL,
+ (GBaseFinalizeFunc) NULL,
+ (GClassInitFunc) rstto_image_class_init,
+ (GClassFinalizeFunc) NULL,
+ NULL,
+ sizeof (RsttoImage),
+ 0,
+ (GInstanceInitFunc) rstto_image_init,
+ NULL
+ };
+
+ rstto_image_type = g_type_register_static (G_TYPE_OBJECT, "RsttoImage", &rstto_image_info, 0);
+ }
+ return rstto_image_type;
+}
+
+struct _RsttoImagePriv
+{
+ /* File data */
+ /*************/
+ GFile *file;
+ GFileMonitor *monitor;
+ GCancellable *cancellable;
+
+ /* File I/O data */
+ /*****************/
+ guchar *buffer;
+
+ /* Image data */
+ /**************/
+ RsttoImageOrientation orientation;
+ GdkPixbufLoader *loader;
+ ExifData *exif_data;
+ GdkPixbuf *thumbnail;
+ GdkPixbuf *pixbuf;
+ gint width;
+ gint height;
+ guint max_size;
+
+ GdkPixbufAnimation *animation;
+ GdkPixbufAnimationIter *iter;
+ gint animation_timeout_id;
+};
+
+
+static void
+rstto_image_init (GObject *object)
+{
+ RsttoImage *image = RSTTO_IMAGE (object);
+
+ image->priv = g_new0 (RsttoImagePriv, 1);
+
+ image->priv->buffer = g_new0 (guchar, RSTTO_IMAGE_BUFFER_SIZE);
+ image->priv->cancellable = g_cancellable_new();
+
+}
+
+
+static void
+rstto_image_class_init (GObjectClass *object_class)
+{
+ RsttoImageClass *image_class = RSTTO_IMAGE_CLASS (object_class);
+
+ parent_class = g_type_class_peek_parent (image_class);
+
+ object_class->dispose = rstto_image_dispose;
+
+ rstto_image_signals[RSTTO_IMAGE_SIGNAL_UPDATED] = g_signal_new("updated",
+ G_TYPE_FROM_CLASS (image_class),
+ G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION,
+ 0,
+ NULL,
+ NULL,
+ g_cclosure_marshal_VOID__VOID,
+ G_TYPE_NONE,
+ 0,
+ NULL);
+
+ rstto_image_signals[RSTTO_IMAGE_SIGNAL_PREPARED] = g_signal_new("prepared",
+ G_TYPE_FROM_CLASS (image_class),
+ G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION,
+ 0,
+ NULL,
+ NULL,
+ g_cclosure_marshal_VOID__VOID,
+ G_TYPE_NONE,
+ 0,
+ NULL);
+
+}
+
+/**
+ * rstto_image_dispose:
+ * @object:
+ *
+ */
+static void
+rstto_image_dispose (GObject *object)
+{
+ RsttoImage *image = RSTTO_IMAGE (object);
+ RsttoImageCache *cache;
+
+ if(image->priv->cancellable)
+ {
+ g_cancellable_cancel (image->priv->cancellable);
+ g_object_unref (image->priv->cancellable);
+ image->priv->cancellable = NULL;
+ }
+
+ if(image->priv->thumbnail)
+ {
+ g_object_unref (image->priv->thumbnail);
+ image->priv->thumbnail = NULL;
+ }
+
+ if (image->priv->animation_timeout_id)
+ {
+ g_source_remove (image->priv->animation_timeout_id);
+ image->priv->animation_timeout_id = 0;
+ }
+
+ if (image->priv->loader)
+ {
+ g_signal_handlers_disconnect_by_func (image->priv->loader , cb_rstto_image_area_prepared, image);
+ gdk_pixbuf_loader_close (image->priv->loader, NULL);
+ image->priv->loader = NULL;
+ }
+
+ if (image->priv->animation)
+ {
+ g_object_unref (image->priv->animation);
+ image->priv->animation = NULL;
+ }
+
+ if (image->priv->pixbuf)
+ {
+ g_object_unref (image->priv->pixbuf);
+ image->priv->pixbuf = NULL;
+ cache = rstto_image_cache_new ();
+ rstto_image_cache_pop_image (cache, image);
+ }
+
+ if (image->priv->buffer)
+ {
+ g_free (image->priv->buffer);
+ image->priv->buffer = NULL;
+ }
+
+ if (image->priv->exif_data)
+ {
+ exif_data_free (image->priv->exif_data);
+ image->priv->exif_data = NULL;
+ }
+}
+
+
+
+
+/**
+ * rstto_image_new:
+ * @file : The file which contains the image.
+ *
+ */
+RsttoImage *
+rstto_image_new (GFile *file)
+{
+ RsttoImage *image = g_object_new (RSTTO_TYPE_IMAGE, NULL);
+ gchar *file_path = g_file_get_path (file);
+ ExifEntry *exif_entry = NULL;
+
+ g_object_ref (file);
+
+ image->priv->file = file;
+ image->priv->exif_data = exif_data_new_from_file (file_path);
+ image->priv->thumbnail = NULL;
+ image->priv->pixbuf = NULL;
+
+ if (image->priv->exif_data) {
+ exif_entry = exif_data_get_entry (image->priv->exif_data, EXIF_TAG_ORIENTATION);
+ }
+ if (exif_entry && exif_entry->data != NULL)
+ {
+ image->priv->orientation = exif_get_short (exif_entry->data, exif_data_get_byte_order (exif_entry->parent->parent));
+ if (image->priv->orientation == 0)
+ image->priv->orientation = RSTTO_IMAGE_ORIENT_NONE;
+ }
+ else
+ {
+ image->priv->orientation = RSTTO_IMAGE_ORIENT_NONE;
+ }
+
+ return image;
+}
+
+
+static void
+cb_rstto_image_read_file_ready (GObject *source_object, GAsyncResult *result, gpointer user_data)
+{
+ GFile *file = G_FILE (source_object);
+ RsttoImage *image = RSTTO_IMAGE (user_data);
+ GFileInputStream *file_input_stream = g_file_read_finish (file, result, NULL);
+
+ if (g_cancellable_is_cancelled (image->priv->cancellable))
+ {
+ g_object_unref (image);
+ return;
+ }
+
+
+ g_input_stream_read_async (G_INPUT_STREAM (file_input_stream),
+ image->priv->buffer,
+ RSTTO_IMAGE_BUFFER_SIZE,
+ G_PRIORITY_DEFAULT,
+ NULL,
+ (GAsyncReadyCallback) cb_rstto_image_read_input_stream_ready,
+ image);
+}
+
+static void
+cb_rstto_image_read_input_stream_ready (GObject *source_object, GAsyncResult *result, gpointer user_data)
+{
+ RsttoImage *image = RSTTO_IMAGE (user_data);
+ gssize read_bytes = g_input_stream_read_finish (G_INPUT_STREAM (source_object), result, NULL);
+ GError *error = NULL;
+
+ if (g_cancellable_is_cancelled (image->priv->cancellable))
+ {
+ g_object_unref (image);
+ return;
+ }
+
+ if (image->priv->loader == NULL)
+ return;
+
+
+ if (read_bytes > 0)
+ {
+ if(gdk_pixbuf_loader_write (image->priv->loader, (const guchar *)image->priv->buffer, read_bytes, &error) == FALSE)
+ {
+ g_input_stream_close (G_INPUT_STREAM (source_object), NULL, NULL);
+ g_object_unref (image);
+ }
+ else
+ {
+ g_input_stream_read_async (G_INPUT_STREAM (source_object),
+ image->priv->buffer,
+ RSTTO_IMAGE_BUFFER_SIZE,
+ G_PRIORITY_DEFAULT,
+ NULL,
+ (GAsyncReadyCallback) cb_rstto_image_read_input_stream_ready,
+ image);
+ }
+ }
+ else
+ if (read_bytes == 0)
+ {
+ if (read_bytes == 0)
+ {
+ /* OK */
+ g_input_stream_close (G_INPUT_STREAM (source_object), NULL, NULL);
+ gdk_pixbuf_loader_close (image->priv->loader, NULL);
+ g_object_unref (image);
+ }
+ else
+ {
+ /* I/O ERROR */
+ g_input_stream_close (G_INPUT_STREAM (source_object), NULL, NULL);
+ gdk_pixbuf_loader_close (image->priv->loader, NULL);
+ g_object_unref (image);
+ }
+ }
+}
+
+/**
+ * rstto_image_load:
+ * @image : The image to load from disk.
+ * @empty_cache : if it should empty the cache (eg, perform a reload)
+ * @error : return location for errors or %NULL.
+ *
+ * If the image is not yet loaded in memory, load the image.
+ * A reload can be forced with @empty_cache set to %TRUE.
+ * On failure, returns %FALSE. And @error will be set to
+ * point to a #GError describing the cause of the failure.
+ * Warning: this function initializes a load, it is an a-sync call and
+ * does not guarantee that the image will be loaded afterwards.
+ * the 'image-loaded' signal will indicate that this operation
+ * has finished.
+ *
+ * Return value: TRUE on success.
+ */
+gboolean
+rstto_image_load (RsttoImage *image, gboolean empty_cache, guint max_size, gboolean preload, GError **error)
+{
+ RsttoImageCache *cache;
+
+ g_return_val_if_fail (image != NULL, FALSE);
+
+ cache = rstto_image_cache_new ();
+
+ g_cancellable_reset (image->priv->cancellable);
+
+ /* NEW */
+ image->priv->max_size = max_size;
+
+ /* Check if a GIOChannel is present, if so... the load is already in progress */
+ /* The image needs to be loaded if:
+ * a) The image is already loaded but there is
+ * a reload required because the cache needs
+ * to be cleared.
+ * b) The image is not yet loaded.
+ */
+ if ((image->priv->loader == NULL) && ((empty_cache == TRUE ) || image->priv->pixbuf == NULL))
+ {
+ /* If the image has been loaded, free it */
+ if (image->priv->pixbuf)
+ {
+ g_object_unref (image->priv->pixbuf);
+ image->priv->pixbuf = NULL;
+ }
+
+ /* FIXME: should we check if the loader already exists? */
+ image->priv->loader = gdk_pixbuf_loader_new();
+
+ /* connect the signal-handlers */
+ g_signal_connect(image->priv->loader, "area-prepared", G_CALLBACK(cb_rstto_image_area_prepared), image);
+ g_signal_connect(image->priv->loader, "size-prepared", G_CALLBACK(cb_rstto_image_size_prepared), image);
+ /*g_signal_connect(image->priv->loader, "area-updated", G_CALLBACK(cb_rstto_image_area_updated), image);*/
+ g_signal_connect(image->priv->loader, "closed", G_CALLBACK(cb_rstto_image_closed), image);
+
+ g_object_ref (image);
+ g_file_read_async (image->priv->file, 0, NULL, (GAsyncReadyCallback)cb_rstto_image_read_file_ready, image);
+ }
+ else
+ {
+ g_signal_emit(G_OBJECT(image), rstto_image_signals[RSTTO_IMAGE_SIGNAL_UPDATED], 0, image, NULL);
+ }
+ rstto_image_cache_push_image (cache, image, preload);
+ return TRUE;
+}
+
+
+/**
+ * rstto_image_unload:
+ * @image : The image to unload from memory.
+ *
+ * This function will unload the image-pixbuf from memory.
+ */
+void
+rstto_image_unload (RsttoImage *image)
+{
+ g_return_if_fail (image != NULL);
+
+ g_cancellable_cancel (image->priv->cancellable);
+
+ if (image->priv->loader)
+ {
+ gdk_pixbuf_loader_close (image->priv->loader, NULL);
+ image->priv->loader = NULL;
+ }
+
+ if (image->priv->pixbuf)
+ {
+ g_object_unref (image->priv->pixbuf);
+ image->priv->pixbuf = NULL;
+ }
+
+ if (image->priv->thumbnail)
+ {
+ g_object_unref (image->priv->thumbnail);
+ image->priv->thumbnail = NULL;
+ }
+
+ if (image->priv->animation_timeout_id)
+ {
+ g_source_remove (image->priv->animation_timeout_id);
+ image->priv->animation_timeout_id = 0;
+ }
+
+ if (image->priv->animation)
+ {
+ g_object_unref (image->priv->animation);
+ image->priv->animation = NULL;
+ }
+
+ if (image->priv->iter)
+ {
+ g_object_unref (image->priv->iter);
+ image->priv->iter = NULL;
+ }
+
+}
+
+
+/**
+ * rstto_image_get_file:
+ * @image : The image to get the GFile object from.
+ *
+ * Return value: A GFile object representing the image file.
+ */
+GFile *
+rstto_image_get_file (RsttoImage *image)
+{
+ g_return_val_if_fail (image != NULL, NULL);
+ g_return_val_if_fail (image->priv != NULL, NULL);
+ g_return_val_if_fail (image->priv->file != NULL, NULL);
+
+ return image->priv->file;
+}
+
+/**
+ * rstto_image_get_width:
+ * @image:
+ *
+ * Return value: width of the image
+ */
+gint
+rstto_image_get_width (RsttoImage *image)
+{
+ g_return_val_if_fail (image != NULL, 0);
+ g_return_val_if_fail (image->priv != NULL, 0);
+
+ return image->priv->width;
+}
+
+/**
+ * rstto_image_get_height:
+ * @image:
+ *
+ * Return value: height of the image
+ */
+gint
+rstto_image_get_height (RsttoImage *image)
+{
+ g_return_val_if_fail (image != NULL, 0);
+ g_return_val_if_fail (image->priv != NULL, 0);
+
+ return image->priv->height;
+}
+
+
+/**
+ * rstto_image_get_thumbnail:
+ * @image :
+ *
+ * return value: a gdkpixbuf * referencing a pixbuf pointing to the thumbnail.
+ */
+GdkPixbuf *
+rstto_image_get_thumbnail (RsttoImage *image)
+{
+ gchar *file_uri;
+ gchar *file_uri_checksum;
+ gchar *thumbnail_filename;
+ gchar *thumbnail_path;
+
+ g_return_val_if_fail (image != NULL, NULL);
+ g_return_val_if_fail (image->priv != NULL, NULL);
+
+ file_uri = g_file_get_uri (image->priv->file);
+ file_uri_checksum = g_compute_checksum_for_string (G_CHECKSUM_MD5, file_uri, strlen (file_uri));
+ thumbnail_filename = g_strconcat (file_uri_checksum, ".png", NULL);
+ thumbnail_path = g_build_path ("/", g_get_home_dir(), ".thumbnails", "normal", thumbnail_filename, NULL);
+
+ if (image->priv->thumbnail == NULL)
+ {
+ image->priv->thumbnail = gdk_pixbuf_new_from_file_at_scale (thumbnail_path, 128, 128, TRUE, NULL);
+ }
+ else
+ {
+
+ }
+
+ g_free (file_uri);
+ g_free (file_uri_checksum);
+ g_free (thumbnail_filename);
+ g_free (thumbnail_path);
+
+
+ return image->priv->thumbnail;
+}
+
+
+/**
+ * rstto_image_get_pixbuf:
+ * @image :
+ *
+ * return value: a gdkpixbuf * referencing a pixbuf pointing to the image.
+ */
+GdkPixbuf *
+rstto_image_get_pixbuf (RsttoImage *image)
+{
+ g_return_val_if_fail (image != NULL, NULL);
+ g_return_val_if_fail (image->priv != NULL, NULL);
+
+
+ return image->priv->pixbuf;
+}
+
+/**
+ * PRIVATE CALLBACKS
+ */
+
+/**
+ * cb_rstto_image_size_prepared:
+ * @loader:
+ * @width;
+ * @height;
+ * @image:
+ *
+ */
+static void
+cb_rstto_image_size_prepared (GdkPixbufLoader *loader, gint width, gint height, RsttoImage *image)
+{
+ image->priv->width = width;
+ image->priv->height = height;
+
+ if (image->priv->max_size > 0)
+ {
+ gdouble ratio = (gdouble)(image->priv->max_size)/(gdouble)(width * height);
+ if (ratio < 1)
+ gdk_pixbuf_loader_set_size (loader, width*ratio, height*ratio);
+ }
+
+ g_signal_emit(G_OBJECT(image), rstto_image_signals[RSTTO_IMAGE_SIGNAL_PREPARED], 0, image, NULL);
+}
+
+/**
+ * cb_rstto_image_area_prepared:
+ * @loader:
+ * @image:
+ *
+ */
+static void
+cb_rstto_image_area_prepared (GdkPixbufLoader *loader, RsttoImage *image)
+{
+ gint timeout = 0;
+ image->priv->animation = gdk_pixbuf_loader_get_animation (loader);
+ image->priv->iter = gdk_pixbuf_animation_get_iter (image->priv->animation, NULL);
+ if (image->priv->pixbuf)
+ {
+ g_object_unref(image->priv->pixbuf);
+ image->priv->pixbuf = NULL;
+ }
+
+ g_object_ref (image->priv->animation);
+
+ timeout = gdk_pixbuf_animation_iter_get_delay_time (image->priv->iter);
+
+ if (timeout != -1)
+ {
+ /* fix borked stuff */
+ if (timeout == 0)
+ {
+ g_warning("timeout == 0: defaulting to 40ms");
+ timeout = 40;
+ }
+
+ image->priv->animation_timeout_id = g_timeout_add(timeout, (GSourceFunc)cb_rstto_image_update, image);
+ }
+ else
+ {
+ image->priv->pixbuf = gdk_pixbuf_animation_iter_get_pixbuf (image->priv->iter);
+ g_object_ref (image->priv->pixbuf);
+ }
+}
+
+/**
+ * cb_rstto_image_closed:
+ * @loader:
+ * @image:
+ *
+ */
+static void
+cb_rstto_image_closed (GdkPixbufLoader *loader, RsttoImage *image)
+{
+ g_return_if_fail (image != NULL);
+ g_return_if_fail (RSTTO_IS_IMAGE (image));
+ g_return_if_fail (loader == image->priv->loader);
+
+ g_object_unref (image->priv->loader);
+ image->priv->loader = NULL;
+
+
+ if (image->priv->pixbuf != NULL)
+ {
+ g_signal_emit(G_OBJECT(image), rstto_image_signals[RSTTO_IMAGE_SIGNAL_UPDATED], 0, image, NULL);
+ }
+}
+
+/**
+ * cb_rstto_image_update:
+ * @image:
+ *
+ * Return value:
+ */
+static gboolean
+cb_rstto_image_update(RsttoImage *image)
+{
+ gint timeout = 0;
+
+ if (image->priv->iter)
+ {
+ if(gdk_pixbuf_animation_iter_advance (image->priv->iter, NULL))
+ {
+ /* Cleanup old image */
+ if (image->priv->pixbuf)
+ {
+ g_object_unref (image->priv->pixbuf);
+ image->priv->pixbuf = NULL;
+ }
+
+ image->priv->pixbuf = gdk_pixbuf_copy (gdk_pixbuf_animation_iter_get_pixbuf (image->priv->iter));
+ }
+
+ timeout = gdk_pixbuf_animation_iter_get_delay_time (image->priv->iter);
+
+ if (timeout != -1)
+ {
+ if (timeout == 0)
+ {
+ g_warning("timeout == 0: defaulting to 40ms");
+ timeout = 40;
+ }
+ image->priv->animation_timeout_id = g_timeout_add(timeout, (GSourceFunc)cb_rstto_image_update, image);
+ }
+ g_signal_emit (G_OBJECT(image), rstto_image_signals[RSTTO_IMAGE_SIGNAL_UPDATED], 0, image, NULL);
+
+ return FALSE;
+ }
+ return TRUE;
+}
+
+guint64
+rstto_image_get_size (RsttoImage *image)
+{
+ GdkPixbuf *pixbuf = rstto_image_get_pixbuf (image);
+ if (pixbuf)
+ {
+ gint rowstride = gdk_pixbuf_get_rowstride (pixbuf);
+ gint height = gdk_pixbuf_get_height (pixbuf);
+ /* HACK HACK HACK HACK */
+ /* multiplied by 2 since it is unclear why the nr of bytes
+ * in memory is twice what is calculated here, based on the dimensions
+ */
+ //return rowstride * height * 2;
+ return (guint64)rowstride * (guint64)height;
+ }
+ return 0;
+}
+
+RsttoImageOrientation
+rstto_image_get_orientation (RsttoImage *image)
+{
+ return image->priv->orientation;
+}
+
+void
+rstto_image_set_orientation (RsttoImage *image, RsttoImageOrientation orientation)
+{
+ image->priv->orientation = orientation;
+ g_signal_emit (G_OBJECT(image), rstto_image_signals[RSTTO_IMAGE_SIGNAL_UPDATED], 0, image, NULL);
+}
diff --git a/src/image.h b/src/image.h
new file mode 100644
index 0000000..1e17346
--- /dev/null
+++ b/src/image.h
@@ -0,0 +1,95 @@
+/*
+ * Copyright (C) Stephan Arts 2006-2010 <stephan at xfce.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
+ * (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 Library 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 __RISTRETTO_IMAGE_H__
+#define __RISTRETTO_IMAGE_H__
+
+G_BEGIN_DECLS
+
+typedef enum
+{
+ RSTTO_IMAGE_ORIENT_NONE = 1,
+ RSTTO_IMAGE_ORIENT_FLIP_HORIZONTAL,
+ RSTTO_IMAGE_ORIENT_180,
+ RSTTO_IMAGE_ORIENT_FLIP_VERTICAL,
+ RSTTO_IMAGE_ORIENT_TRANSPOSE,
+ RSTTO_IMAGE_ORIENT_90,
+ RSTTO_IMAGE_ORIENT_TRANSVERSE,
+ RSTTO_IMAGE_ORIENT_270,
+} RsttoImageOrientation;
+
+#define RSTTO_TYPE_IMAGE rstto_image_get_type()
+
+#define RSTTO_IMAGE(obj)( \
+ G_TYPE_CHECK_INSTANCE_CAST ((obj), \
+ RSTTO_TYPE_IMAGE, \
+ RsttoImage))
+
+#define RSTTO_IS_IMAGE(obj)( \
+ G_TYPE_CHECK_INSTANCE_TYPE ((obj), \
+ RSTTO_TYPE_IMAGE))
+
+#define RSTTO_IMAGE_CLASS(klass)( \
+ G_TYPE_CHECK_CLASS_CAST ((klass), \
+ RSTTO_TYPE_IMAGE, \
+ RsttoImageClass))
+
+#define RSTTO_IS_IMAGE_CLASS(klass)( \
+ G_TYPE_CHECK_CLASS_TYPE ((klass), \
+ RSTTO_TYPE_IMAGE()))
+
+
+typedef struct _RsttoImage RsttoImage;
+typedef struct _RsttoImagePriv RsttoImagePriv;
+
+struct _RsttoImage
+{
+ GObject parent;
+
+ RsttoImagePriv *priv;
+};
+
+typedef struct _RsttoImageClass RsttoImageClass;
+
+struct _RsttoImageClass
+{
+ GObjectClass parent_class;
+};
+
+RsttoImage *rstto_image_new (GFile *file);
+GType rstto_image_get_type ();
+
+GdkPixbuf *rstto_image_get_thumbnail (RsttoImage *image);
+GdkPixbuf *rstto_image_get_pixbuf (RsttoImage *image);
+gint rstto_image_get_width (RsttoImage *image);
+gint rstto_image_get_height (RsttoImage *image);
+
+GFile *rstto_image_get_file (RsttoImage *image);
+void rstto_image_unload (RsttoImage *image);
+gboolean rstto_image_load (RsttoImage *image, gboolean empty_cache, guint max_size, gboolean preload, GError **error);
+
+guint64 rstto_image_get_size (RsttoImage *image);
+
+void
+rstto_image_set_orientation (RsttoImage *image, RsttoImageOrientation orientation);
+RsttoImageOrientation
+rstto_image_get_orientation (RsttoImage *image);
+
+G_END_DECLS
+
+#endif /* __RISTRETTO_IMAGE_H__ */
diff --git a/src/image_cache.c b/src/image_cache.c
new file mode 100644
index 0000000..e037c17
--- /dev/null
+++ b/src/image_cache.c
@@ -0,0 +1,214 @@
+/*
+ * Copyright (c) Stephan Arts 2009-2010 <stephan at xfce.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
+ * (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 Library 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 <glib.h>
+#include <gio/gio.h>
+#include <gdk/gdk.h>
+
+#include <libexif/exif-data.h>
+
+#include "image.h"
+#include "image_cache.h"
+#include "settings.h"
+
+static void
+rstto_image_cache_init (GObject *);
+static void
+rstto_image_cache_class_init (GObjectClass *);
+
+static RsttoImageCache *rstto_global_image_cache = NULL;
+
+struct _RsttoImageCache
+{
+ GObject parent;
+ GList *cache_list;
+};
+
+struct _RsttoImageCacheClass
+{
+ GObjectClass parent_class;
+};
+
+
+GType
+rstto_image_cache_get_type (void)
+{
+ static GType rstto_image_cache_type = 0;
+
+ if (!rstto_image_cache_type)
+ {
+ static const GTypeInfo rstto_image_cache_info =
+ {
+ sizeof (RsttoImageCacheClass),
+ (GBaseInitFunc) NULL,
+ (GBaseFinalizeFunc) NULL,
+ (GClassInitFunc) rstto_image_cache_class_init,
+ (GClassFinalizeFunc) NULL,
+ NULL,
+ sizeof (RsttoImageCache),
+ 0,
+ (GInstanceInitFunc) rstto_image_cache_init,
+ NULL
+ };
+
+ rstto_image_cache_type = g_type_register_static (G_TYPE_OBJECT, "RsttoImageCache", &rstto_image_cache_info, 0);
+ }
+ return rstto_image_cache_type;
+}
+
+
+static void
+rstto_image_cache_init (GObject *object)
+{
+
+}
+
+static void
+rstto_image_cache_class_init (GObjectClass *object_class)
+{
+
+}
+
+gboolean
+rstto_image_cache_pop_image (RsttoImageCache *cache, RsttoImage *image)
+{
+ if (cache->cache_list)
+ {
+ rstto_image_unload (image);
+ cache->cache_list = g_list_remove_all (cache->cache_list, image);
+ }
+ return TRUE;
+}
+
+gboolean
+rstto_image_cache_push_image (RsttoImageCache *cache, RsttoImage *image, gboolean last)
+{
+ gboolean retval = FALSE;
+ RsttoSettings *settings = rstto_settings_new();
+ gboolean cache_enabled;
+ guint64 size = 0;
+ guint cache_size = 0;
+ RsttoImage *c_image;
+ GList *iter = NULL;
+
+ g_object_get (G_OBJECT (settings),
+ "enable-cache", &cache_enabled,
+ "cache-size", &cache_size,
+ NULL);
+
+ if (cache->cache_list)
+ {
+ cache->cache_list = g_list_remove_all (cache->cache_list, image);
+ }
+
+ if (last)
+ {
+ cache->cache_list = g_list_append (cache->cache_list, image);
+ }
+ else
+ {
+ cache->cache_list = g_list_prepend (cache->cache_list, image);
+ }
+
+ /**
+ * Check if we are keeping a cache
+ */
+ if (cache_enabled == FALSE)
+ {
+ while (g_list_length (cache->cache_list) > 1)
+ {
+ c_image = g_list_last (cache->cache_list)->data;
+ rstto_image_unload (c_image);
+ cache->cache_list = g_list_remove (cache->cache_list, c_image);
+ retval = TRUE;
+ }
+ }
+ else
+ {
+ /* Calculate the cache-size, if it exceeds the defined maximum,
+ * unload the the images that exceed that.
+ */
+ for (iter = cache->cache_list->next; iter != NULL; iter = g_list_next (iter))
+ {
+ c_image = iter->data;
+ size = size + rstto_image_get_size (c_image);
+ if (size > (guint64)(cache_size*1000000))
+ {
+ rstto_image_unload (c_image);
+ cache->cache_list = g_list_remove (cache->cache_list, c_image);
+ iter = g_list_previous(iter);
+ retval = TRUE;
+ }
+ else
+ {
+ if (rstto_image_get_size (c_image) == 0)
+ {
+ rstto_image_unload (c_image);
+ cache->cache_list = g_list_remove (cache->cache_list, c_image);
+ iter = g_list_previous(iter);
+ }
+ }
+ }
+ }
+ g_object_unref (settings);
+ return retval;
+}
+
+/**
+ * rstto_image_cache_new:
+ *
+ * Singleton
+ *
+ * Return value:
+ */
+RsttoImageCache *
+rstto_image_cache_new (void)
+{
+ if (rstto_global_image_cache == NULL)
+ {
+ rstto_global_image_cache = g_object_new (RSTTO_TYPE_IMAGE_CACHE, NULL);
+ }
+
+ return rstto_global_image_cache;
+}
+
+void
+rstto_image_cache_clear (RsttoImageCache *cache)
+{
+ RsttoImage *c_image;
+ RsttoSettings *settings_manager = rstto_settings_new();
+ GValue max_size = {0,};
+
+ g_value_init (&max_size, G_TYPE_UINT);
+ g_object_get_property (G_OBJECT(settings_manager), "image-quality", &max_size);
+
+
+ while (g_list_length (cache->cache_list) > 1)
+ {
+ c_image = g_list_last (cache->cache_list)->data;
+ rstto_image_unload (c_image);
+ cache->cache_list = g_list_remove (cache->cache_list, c_image);
+ }
+ if (cache->cache_list)
+ {
+ rstto_image_load (cache->cache_list->data, TRUE, g_value_get_uint (&max_size), FALSE, NULL);
+ }
+ g_object_unref (settings_manager);
+}
diff --git a/src/image_cache.h b/src/image_cache.h
new file mode 100644
index 0000000..4c79047
--- /dev/null
+++ b/src/image_cache.h
@@ -0,0 +1,58 @@
+/*
+ * Copyright (c) Stephan Arts 2009-2010 <stephan at xfce.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
+ * (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 Library 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 __RISTRETTO_IMAGE_CACHE_H__
+#define __RISTRETTO_IMAGE_CACHE_H__
+
+G_BEGIN_DECLS
+
+#define RSTTO_TYPE_IMAGE_CACHE rstto_image_cache_get_type()
+
+#define RSTTO_IMAGE_CACHE(obj)( \
+ G_TYPE_CHECK_INSTANCE_CAST ((obj), \
+ RSTTO_TYPE_IMAGE_CACHE, \
+ RsttoImageCache))
+
+#define RSTTO_IS_IMAGE_CACHE(obj)( \
+ G_TYPE_CHECK_INSTANCE_TYPE ((obj), \
+ RSTTO_TYPE_IMAGE_CACHE))
+
+#define RSTTO_IMAGE_CACHE_CLASS(klass)( \
+ G_TYPE_CHECK_CLASS_CAST ((klass), \
+ RSTTO_TYPE_IMAGE_CACHE, \
+ RsttoImageCacheClass))
+
+#define RSTTO_IS_IMAGE_CACHE_CLASS(klass)( \
+ G_TYPE_CHECK_CLASS_TYPE ((klass), \
+ RSTTO_TYPE_IMAGE_CACHE()))
+
+typedef struct _RsttoImageCache RsttoImageCache;
+
+typedef struct _RsttoImageCacheClass RsttoImageCacheClass;
+
+GType rstto_image_cache_get_type (void);
+RsttoImageCache *rstto_image_cache_new ();
+
+gboolean rstto_image_cache_push_image (RsttoImageCache *cache, RsttoImage *image, gboolean last);
+gboolean rstto_image_cache_pop_image (RsttoImageCache *cache, RsttoImage *image);
+
+void rstto_image_cache_clear (RsttoImageCache *cache);
+
+G_END_DECLS
+
+#endif /* __RISTRETTO_IMAGE_CACHE_H__ */
diff --git a/src/image_list.c b/src/image_list.c
new file mode 100644
index 0000000..1a53d68
--- /dev/null
+++ b/src/image_list.c
@@ -0,0 +1,658 @@
+/*
+ * Copyright (c) Stephan Arts 2009-2010 <stephan at xfce.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
+ * (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 Library 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 <gtk/gtkmarshal.h>
+
+#include <string.h>
+
+#include <libexif/exif-data.h>
+
+#include "image.h"
+#include "image_list.h"
+#include "settings.h"
+
+static void
+rstto_image_list_init(RsttoImageList *);
+static void
+rstto_image_list_class_init(RsttoImageListClass *);
+static void
+rstto_image_list_dispose(GObject *object);
+
+static void
+rstto_image_list_iter_init(RsttoImageListIter *);
+static void
+rstto_image_list_iter_class_init(RsttoImageListIterClass *);
+static void
+rstto_image_list_iter_dispose(GObject *object);
+
+static RsttoImageListIter * rstto_image_list_iter_new ();
+
+static gint
+cb_rstto_image_list_image_name_compare_func (RsttoImage *a, RsttoImage *b);
+static gint
+cb_rstto_image_list_exif_date_compare_func (RsttoImage *a, RsttoImage *b);
+static gint
+cb_rstto_image_list_file_compare_func (RsttoImage *a, GFile *file);
+
+static GObjectClass *parent_class = NULL;
+static GObjectClass *iter_parent_class = NULL;
+
+enum
+{
+ RSTTO_IMAGE_LIST_SIGNAL_NEW_IMAGE = 0,
+ RSTTO_IMAGE_LIST_SIGNAL_REMOVE_IMAGE,
+ RSTTO_IMAGE_LIST_SIGNAL_REMOVE_ALL,
+ RSTTO_IMAGE_LIST_SIGNAL_COUNT
+};
+
+enum
+{
+ RSTTO_IMAGE_LIST_ITER_SIGNAL_CHANGED = 0,
+ RSTTO_IMAGE_LIST_ITER_SIGNAL_PREPARE_CHANGE,
+ RSTTO_IMAGE_LIST_ITER_SIGNAL_COUNT
+};
+
+struct _RsttoImageListIterPriv
+{
+ RsttoImageList *image_list;
+ RsttoImage *image;
+};
+
+struct _RsttoImageListPriv
+{
+ GList *images;
+ gint n_images;
+
+ GSList *iterators;
+ GCompareFunc cb_rstto_image_list_compare_func;
+};
+
+static gint rstto_image_list_signals[RSTTO_IMAGE_LIST_SIGNAL_COUNT];
+static gint rstto_image_list_iter_signals[RSTTO_IMAGE_LIST_ITER_SIGNAL_COUNT];
+
+GType
+rstto_image_list_get_type (void)
+{
+ static GType rstto_image_list_type = 0;
+
+ if (!rstto_image_list_type)
+ {
+ static const GTypeInfo rstto_image_list_info =
+ {
+ sizeof (RsttoImageListClass),
+ (GBaseInitFunc) NULL,
+ (GBaseFinalizeFunc) NULL,
+ (GClassInitFunc) rstto_image_list_class_init,
+ (GClassFinalizeFunc) NULL,
+ NULL,
+ sizeof (RsttoImageList),
+ 0,
+ (GInstanceInitFunc) rstto_image_list_init,
+ NULL
+ };
+
+ rstto_image_list_type = g_type_register_static (G_TYPE_OBJECT, "RsttoImageList", &rstto_image_list_info, 0);
+ }
+ return rstto_image_list_type;
+}
+
+static void
+rstto_image_list_init(RsttoImageList *image_list)
+{
+
+ image_list->priv = g_new0 (RsttoImageListPriv, 1);
+ image_list->priv->cb_rstto_image_list_compare_func = (GCompareFunc)cb_rstto_image_list_image_name_compare_func;
+}
+
+static void
+rstto_image_list_class_init(RsttoImageListClass *nav_class)
+{
+ GObjectClass *object_class = G_OBJECT_CLASS(nav_class);
+
+ parent_class = g_type_class_peek_parent(nav_class);
+
+ object_class->dispose = rstto_image_list_dispose;
+
+ rstto_image_list_signals[RSTTO_IMAGE_LIST_SIGNAL_NEW_IMAGE] = g_signal_new("new-image",
+ G_TYPE_FROM_CLASS(nav_class),
+ G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION,
+ 0,
+ NULL,
+ NULL,
+ g_cclosure_marshal_VOID__OBJECT,
+ G_TYPE_NONE,
+ 1,
+ G_TYPE_OBJECT,
+ NULL);
+
+ rstto_image_list_signals[RSTTO_IMAGE_LIST_SIGNAL_REMOVE_IMAGE] = g_signal_new("remove-image",
+ G_TYPE_FROM_CLASS(nav_class),
+ G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION,
+ 0,
+ NULL,
+ NULL,
+ g_cclosure_marshal_VOID__OBJECT,
+ G_TYPE_NONE,
+ 1,
+ G_TYPE_OBJECT,
+ NULL);
+
+ rstto_image_list_signals[RSTTO_IMAGE_LIST_SIGNAL_REMOVE_ALL] = g_signal_new("remove-all",
+ G_TYPE_FROM_CLASS(nav_class),
+ G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION,
+ 0,
+ NULL,
+ NULL,
+ g_cclosure_marshal_VOID__VOID,
+ G_TYPE_NONE,
+ 0,
+ NULL);
+}
+
+static void
+rstto_image_list_dispose(GObject *object)
+{
+ /*RsttoImageList *image_list = RSTTO_IMAGE_LIST(object);*/
+}
+
+RsttoImageList *
+rstto_image_list_new (void)
+{
+ RsttoImageList *image_list;
+
+ image_list = g_object_new(RSTTO_TYPE_IMAGE_LIST, NULL);
+
+ return image_list;
+}
+
+gboolean
+rstto_image_list_add_file (RsttoImageList *image_list, GFile *file, GError **error)
+{
+ RsttoImage *image = NULL;
+
+ GList *image_iter = g_list_find_custom (image_list->priv->images, file, (GCompareFunc)cb_rstto_image_list_file_compare_func);
+
+ if (!image_iter)
+ {
+ image = rstto_image_new (file);
+ if (image)
+ {
+ image_list->priv->images = g_list_insert_sorted (image_list->priv->images, image, rstto_image_list_get_compare_func (image_list));
+ image_list->priv->n_images++;
+
+ g_signal_emit (G_OBJECT (image_list), rstto_image_list_signals[RSTTO_IMAGE_LIST_SIGNAL_NEW_IMAGE], 0, image, NULL);
+ if (image_list->priv->n_images == 1)
+ {
+ /** TODO: update all iterators */
+ GSList *iter = image_list->priv->iterators;
+ while (iter)
+ {
+ g_signal_emit (G_OBJECT (iter->data), rstto_image_list_iter_signals[RSTTO_IMAGE_LIST_ITER_SIGNAL_CHANGED], 0, NULL);
+ iter = g_slist_next (iter);
+ }
+ }
+ return TRUE;
+ }
+ return FALSE;
+ }
+ g_signal_emit (G_OBJECT (image_list), rstto_image_list_signals[RSTTO_IMAGE_LIST_SIGNAL_NEW_IMAGE], 0, image_iter->data, NULL);
+
+ return TRUE;
+}
+
+gint
+rstto_image_list_get_n_images (RsttoImageList *image_list)
+{
+ return g_list_length (image_list->priv->images);
+}
+
+/**
+ * rstto_image_list_get_iter:
+ * @image_list:
+ *
+ * TODO: track iterators
+ *
+ * return iter;
+ */
+RsttoImageListIter *
+rstto_image_list_get_iter (RsttoImageList *image_list)
+{
+ RsttoImage *image = NULL;
+ RsttoImageListIter *iter = NULL;
+ if (image_list->priv->images)
+ image = image_list->priv->images->data;
+
+ iter = rstto_image_list_iter_new (image_list, image);
+
+ image_list->priv->iterators = g_slist_prepend (image_list->priv->iterators, iter);
+
+ return iter;
+}
+
+
+void
+rstto_image_list_remove_image (RsttoImageList *image_list, RsttoImage *image)
+{
+ GSList *iter = NULL;
+
+ if (g_list_find (image_list->priv->images, image))
+ {
+
+ iter = image_list->priv->iterators;
+ while (iter)
+ {
+ if (rstto_image_list_iter_get_image (iter->data) == image)
+ {
+ rstto_image_list_iter_previous (iter->data);
+ }
+ iter = g_slist_next (iter);
+ }
+
+ image_list->priv->images = g_list_remove (image_list->priv->images, image);
+ iter = image_list->priv->iterators;
+ while (iter)
+ {
+ if (rstto_image_list_iter_get_image (iter->data) == image)
+ {
+ rstto_image_list_iter_previous (iter->data);
+ }
+ iter = g_slist_next (iter);
+ }
+
+ g_signal_emit (G_OBJECT (image_list), rstto_image_list_signals[RSTTO_IMAGE_LIST_SIGNAL_REMOVE_IMAGE], 0, image, NULL);
+ g_object_unref (image);
+ }
+}
+
+void
+rstto_image_list_remove_all (RsttoImageList *image_list)
+{
+ GSList *iter = NULL;
+ g_list_foreach (image_list->priv->images, (GFunc)g_object_unref, NULL);
+ g_list_free (image_list->priv->images);
+ image_list->priv->images = NULL;
+
+ iter = image_list->priv->iterators;
+ while (iter)
+ {
+ rstto_image_list_iter_set_position (iter->data, 0);
+ iter = g_slist_next (iter);
+ }
+ g_signal_emit (G_OBJECT (image_list), rstto_image_list_signals[RSTTO_IMAGE_LIST_SIGNAL_REMOVE_ALL], 0, NULL);
+}
+
+
+
+GType
+rstto_image_list_iter_get_type (void)
+{
+ static GType rstto_image_list_iter_type = 0;
+
+ if (!rstto_image_list_iter_type)
+ {
+ static const GTypeInfo rstto_image_list_iter_info =
+ {
+ sizeof (RsttoImageListIterClass),
+ (GBaseInitFunc) NULL,
+ (GBaseFinalizeFunc) NULL,
+ (GClassInitFunc) rstto_image_list_iter_class_init,
+ (GClassFinalizeFunc) NULL,
+ NULL,
+ sizeof (RsttoImageListIter),
+ 0,
+ (GInstanceInitFunc) rstto_image_list_iter_init,
+ NULL
+ };
+
+ rstto_image_list_iter_type = g_type_register_static (G_TYPE_OBJECT, "RsttoImageListIter", &rstto_image_list_iter_info, 0);
+ }
+ return rstto_image_list_iter_type;
+}
+
+static void
+rstto_image_list_iter_init (RsttoImageListIter *iter)
+{
+ iter->priv = g_new0 (RsttoImageListIterPriv, 1);
+}
+
+static void
+rstto_image_list_iter_class_init(RsttoImageListIterClass *iter_class)
+{
+ GObjectClass *object_class = G_OBJECT_CLASS(iter_class);
+
+ iter_parent_class = g_type_class_peek_parent(iter_class);
+
+ object_class->dispose = rstto_image_list_iter_dispose;
+
+ rstto_image_list_iter_signals[RSTTO_IMAGE_LIST_ITER_SIGNAL_PREPARE_CHANGE] = g_signal_new("prepare-change",
+ G_TYPE_FROM_CLASS(iter_class),
+ G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION,
+ 0,
+ NULL,
+ NULL,
+ g_cclosure_marshal_VOID__VOID,
+ G_TYPE_NONE,
+ 0,
+ NULL);
+
+ rstto_image_list_iter_signals[RSTTO_IMAGE_LIST_ITER_SIGNAL_CHANGED] = g_signal_new("changed",
+ G_TYPE_FROM_CLASS(iter_class),
+ G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION,
+ 0,
+ NULL,
+ NULL,
+ g_cclosure_marshal_VOID__VOID,
+ G_TYPE_NONE,
+ 0,
+ NULL);
+
+}
+
+static void
+rstto_image_list_iter_dispose (GObject *object)
+{
+ RsttoImageListIter *iter = RSTTO_IMAGE_LIST_ITER(object);
+ if (iter->priv->image)
+ {
+ g_object_unref (iter->priv->image);
+ iter->priv->image = NULL;
+ }
+
+ if (iter->priv->image_list)
+ {
+ iter->priv->image_list->priv->iterators = g_slist_remove (iter->priv->image_list->priv->iterators, iter);
+ iter->priv->image_list= NULL;
+ }
+}
+
+static RsttoImageListIter *
+rstto_image_list_iter_new (RsttoImageList *nav, RsttoImage *image)
+{
+ RsttoImageListIter *iter;
+
+ iter = g_object_new(RSTTO_TYPE_IMAGE_LIST_ITER, NULL);
+ iter->priv->image = image;
+ if (image)
+ {
+ g_object_ref (image);
+ }
+ iter->priv->image_list = nav;
+
+ return iter;
+}
+
+gboolean
+rstto_image_list_iter_find_image (RsttoImageListIter *iter, RsttoImage *image)
+{
+ gint pos = g_list_index (iter->priv->image_list->priv->images, image);
+ if (pos > -1)
+ {
+ g_signal_emit (G_OBJECT (iter), rstto_image_list_iter_signals[RSTTO_IMAGE_LIST_ITER_SIGNAL_PREPARE_CHANGE], 0, NULL);
+
+ if (iter->priv->image)
+ {
+ g_object_unref (iter->priv->image);
+ iter->priv->image = NULL;
+ }
+ if (image)
+ {
+ g_object_ref (image);
+ }
+ iter->priv->image = image;
+
+ g_signal_emit (G_OBJECT (iter), rstto_image_list_iter_signals[RSTTO_IMAGE_LIST_ITER_SIGNAL_CHANGED], 0, NULL);
+
+ return TRUE;
+ }
+ return FALSE;
+}
+
+gint
+rstto_image_list_iter_get_position (RsttoImageListIter *iter)
+{
+ if (iter->priv->image == NULL)
+ {
+ return -1;
+ }
+ return g_list_index (iter->priv->image_list->priv->images, iter->priv->image);
+}
+
+RsttoImage *
+rstto_image_list_iter_get_image (RsttoImageListIter *iter)
+{
+ return iter->priv->image;
+}
+
+
+void
+rstto_image_list_iter_set_position (RsttoImageListIter *iter, gint pos)
+{
+ g_signal_emit (G_OBJECT (iter), rstto_image_list_iter_signals[RSTTO_IMAGE_LIST_ITER_SIGNAL_PREPARE_CHANGE], 0, NULL);
+
+ if (iter->priv->image)
+ {
+ g_object_unref (iter->priv->image);
+ iter->priv->image = NULL;
+ }
+
+ iter->priv->image = g_list_nth_data (iter->priv->image_list->priv->images, pos);
+ if (iter->priv->image)
+ {
+ g_object_ref (iter->priv->image);
+ }
+
+ g_signal_emit (G_OBJECT (iter), rstto_image_list_iter_signals[RSTTO_IMAGE_LIST_ITER_SIGNAL_CHANGED], 0, NULL);
+}
+
+void
+rstto_image_list_iter_next (RsttoImageListIter *iter)
+{
+ GList *position = NULL;
+ RsttoSettings *settings = NULL;
+
+ g_signal_emit (G_OBJECT (iter), rstto_image_list_iter_signals[RSTTO_IMAGE_LIST_ITER_SIGNAL_PREPARE_CHANGE], 0, NULL);
+
+ if (iter->priv->image)
+ {
+ position = g_list_find (iter->priv->image_list->priv->images, iter->priv->image);
+ g_object_unref (iter->priv->image);
+ iter->priv->image = NULL;
+ }
+
+ position = g_list_next (position);
+ if (position)
+ iter->priv->image = position->data;
+ else
+ {
+ settings = rstto_settings_new();
+
+ if (rstto_settings_get_boolean_property (settings, "wrap-images"))
+ position = g_list_first (iter->priv->image_list->priv->images);
+ else
+ position = g_list_last (iter->priv->image_list->priv->images);
+
+ if (position)
+ iter->priv->image = position->data;
+ else
+ iter->priv->image = NULL;
+
+ g_object_unref (settings);
+ }
+
+ if (iter->priv->image)
+ {
+ g_object_ref (iter->priv->image);
+ }
+
+ g_signal_emit (G_OBJECT (iter), rstto_image_list_iter_signals[RSTTO_IMAGE_LIST_ITER_SIGNAL_CHANGED], 0, NULL);
+}
+
+void
+rstto_image_list_iter_previous (RsttoImageListIter *iter)
+{
+ GList *position = NULL;
+ RsttoSettings *settings = NULL;
+
+ g_signal_emit (G_OBJECT (iter), rstto_image_list_iter_signals[RSTTO_IMAGE_LIST_ITER_SIGNAL_PREPARE_CHANGE], 0, NULL);
+
+ if (iter->priv->image)
+ {
+ position = g_list_find (iter->priv->image_list->priv->images, iter->priv->image);
+ iter->priv->image = NULL;
+ g_object_unref (iter->priv->image);
+ }
+
+ position = g_list_previous (position);
+ if (position)
+ iter->priv->image = position->data;
+ else
+ {
+ settings = rstto_settings_new();
+
+ if (rstto_settings_get_boolean_property (settings, "wrap-images"))
+ position = g_list_last (iter->priv->image_list->priv->images);
+ else
+ position = g_list_first (iter->priv->image_list->priv->images);
+
+ if (position)
+ iter->priv->image = position->data;
+ else
+ iter->priv->image = NULL;
+
+ g_object_unref (settings);
+ }
+
+ if (iter->priv->image)
+ {
+ g_object_ref (iter->priv->image);
+ }
+
+
+ g_signal_emit (G_OBJECT (iter), rstto_image_list_iter_signals[RSTTO_IMAGE_LIST_ITER_SIGNAL_CHANGED], 0, NULL);
+}
+
+RsttoImageListIter *
+rstto_image_list_iter_clone (RsttoImageListIter *iter)
+{
+ RsttoImageListIter *new_iter = rstto_image_list_iter_new (iter->priv->image_list, iter->priv->image);
+ rstto_image_list_iter_set_position (new_iter, rstto_image_list_iter_get_position(iter));
+
+ return new_iter;
+}
+
+GCompareFunc
+rstto_image_list_get_compare_func (RsttoImageList *image_list)
+{
+ return (GCompareFunc)image_list->priv->cb_rstto_image_list_compare_func;
+}
+
+void
+rstto_image_list_set_compare_func (RsttoImageList *image_list, GCompareFunc func)
+{
+ GSList *iter = NULL;
+ image_list->priv->cb_rstto_image_list_compare_func = func;
+ image_list->priv->images = g_list_sort (image_list->priv->images, func);
+ for (iter = image_list->priv->iterators; iter != NULL; iter = g_slist_next (iter))
+ {
+ g_signal_emit (G_OBJECT (iter->data), rstto_image_list_iter_signals[RSTTO_IMAGE_LIST_ITER_SIGNAL_CHANGED], 0, NULL);
+ }
+}
+
+/***********************/
+/* Compare Functions */
+/***********************/
+
+void
+rstto_image_list_set_sort_by_name (RsttoImageList *image_list)
+{
+ rstto_image_list_set_compare_func (image_list, (GCompareFunc)cb_rstto_image_list_image_name_compare_func);
+}
+
+void
+rstto_image_list_set_sort_by_date (RsttoImageList *image_list)
+{
+ rstto_image_list_set_compare_func (image_list, (GCompareFunc)cb_rstto_image_list_exif_date_compare_func);
+}
+
+/**
+ * cb_rstto_image_list_image_name_compare_func:
+ * @a:
+ * @b:
+ *
+ *
+ * Return value: (see strcmp)
+ */
+static gint
+cb_rstto_image_list_image_name_compare_func (RsttoImage *a, RsttoImage *b)
+{
+ gchar *a_base = g_file_get_basename (rstto_image_get_file (a));
+ gchar *b_base = g_file_get_basename (rstto_image_get_file (b));
+ gint result = 0;
+
+ result = g_strcasecmp (a_base, b_base);
+
+ g_free (a_base);
+ g_free (b_base);
+ return result;
+}
+
+/**
+ * cb_rstto_image_list_exif_date_compare_func:
+ * @a:
+ * @b:
+ *
+ * TODO: Use EXIF data if available, not the last-modification-time.
+ *
+ * Return value: (see strcmp)
+ */
+static gint
+cb_rstto_image_list_exif_date_compare_func (RsttoImage *a, RsttoImage *b)
+{
+ gint result = 0;
+
+ GFileInfo *file_info_a = g_file_query_info (rstto_image_get_file (a), "time::modified", 0, NULL, NULL);
+ GFileInfo *file_info_b = g_file_query_info (rstto_image_get_file (b), "time::modified", 0, NULL, NULL);
+
+ guint64 a_i = g_file_info_get_attribute_uint64(file_info_a, "time::modified");
+ guint64 b_i = g_file_info_get_attribute_uint64(file_info_b, "time::modified");
+ if (a_i > b_i)
+ result = 1;
+ else
+ result = 0;
+
+ g_object_unref (file_info_a);
+ g_object_unref (file_info_b);
+ return result;
+}
+
+static gint
+cb_rstto_image_list_file_compare_func (RsttoImage *a, GFile *file)
+{
+ gchar *a_base = g_file_get_uri (rstto_image_get_file (a));
+ gchar *b_base = g_file_get_uri (file);
+ gint result = 0;
+
+ result = g_strcasecmp (a_base, b_base);
+
+ g_free (a_base);
+ g_free (b_base);
+ return result;
+}
diff --git a/src/image_list.h b/src/image_list.h
new file mode 100644
index 0000000..d5a0351
--- /dev/null
+++ b/src/image_list.h
@@ -0,0 +1,129 @@
+/*
+ * Copyright (c) Stephan Arts 2009-2010 <stephan at xfce.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
+ * (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 Library 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 __RISTRETTO_IMAGE_LIST_H__
+#define __RISTRETTO_IMAGE_LIST_H__
+
+G_BEGIN_DECLS
+
+#define RSTTO_TYPE_IMAGE_LIST rstto_image_list_get_type()
+
+#define RSTTO_IMAGE_LIST(obj)( \
+ G_TYPE_CHECK_INSTANCE_CAST ((obj), \
+ RSTTO_TYPE_IMAGE_LIST, \
+ RsttoImageList))
+
+#define RSTTO_IS_IMAGE_LIST(obj)( \
+ G_TYPE_CHECK_INSTANCE_TYPE ((obj), \
+ RSTTO_TYPE_IMAGE_LIST))
+
+#define RSTTO_IMAGE_LIST_CLASS(klass)( \
+ G_TYPE_CHECK_CLASS_CAST ((klass), \
+ RSTTO_TYPE_IMAGE_LIST, \
+ RsttoImageListClass))
+
+#define RSTTO_IS_IMAGE_LIST_CLASS(klass)( \
+ G_TYPE_CHECK_CLASS_TYPE ((klass), \
+ RSTTO_TYPE_IMAGE_LIST()))
+
+typedef struct _RsttoImageListPriv RsttoImageListPriv;
+typedef struct _RsttoImageList RsttoImageList;
+
+struct _RsttoImageList
+{
+ GObject parent;
+ RsttoImageListPriv *priv;
+};
+
+typedef struct _RsttoImageListClass RsttoImageListClass;
+struct _RsttoImageListClass
+{
+ GObjectClass parent_class;
+};
+
+
+#define RSTTO_TYPE_IMAGE_LIST_ITER rstto_image_list_iter_get_type()
+
+#define RSTTO_IMAGE_LIST_ITER(obj)( \
+ G_TYPE_CHECK_INSTANCE_CAST ((obj), \
+ RSTTO_TYPE_IMAGE_LIST_ITER, \
+ RsttoImageListIter))
+
+#define RSTTO_IS_IMAGE_LIST_ITER(obj)( \
+ G_TYPE_CHECK_INSTANCE_TYPE ((obj), \
+ RSTTO_TYPE_IMAGE_LIST_ITER))
+
+#define RSTTO_IMAGE_LIST_ITER_CLASS(klass)( \
+ G_TYPE_CHECK_CLASS_CAST ((klass), \
+ RSTTO_TYPE_IMAGE_LIST_ITER, \
+ RsttoImageListIterClass))
+
+#define RSTTO_IS_IMAGE_LIST_ITER_CLASS(klass)( \
+ G_TYPE_CHECK_CLASS_TYPE ((klass), \
+ RSTTO_TYPE_IMAGE_LIST_ITER()))
+
+typedef struct _RsttoImageListIter RsttoImageListIter;
+typedef struct _RsttoImageListIterPriv RsttoImageListIterPriv;
+struct _RsttoImageListIter
+{
+ GObject parent;
+ RsttoImageListIterPriv *priv;
+};
+
+typedef struct _RsttoImageListIterClass RsttoImageListIterClass;
+struct _RsttoImageListIterClass
+{
+ GObjectClass parent_class;
+};
+
+
+GType rstto_image_list_get_type ();
+RsttoImageList *rstto_image_list_new ();
+
+gint rstto_image_list_get_n_images (RsttoImageList *image_list);
+gboolean rstto_image_list_add_file (RsttoImageList *image_list, GFile *file, GError **);
+
+GCompareFunc rstto_image_list_get_compare_func (RsttoImageList *image_list);
+void rstto_image_list_set_compare_func (RsttoImageList *image_list, GCompareFunc func);
+
+/** Built-in Sorting Functions */
+void rstto_image_list_set_sort_by_name (RsttoImageList *image_list);
+void rstto_image_list_set_sort_by_date (RsttoImageList *image_list);
+
+RsttoImageListIter *rstto_image_list_get_iter (RsttoImageList *image_list);
+
+/** Iter functions */
+GType rstto_image_list_iter_get_type ();
+RsttoImage *rstto_image_list_iter_get_image (RsttoImageListIter *iter);
+void rstto_image_list_iter_previous (RsttoImageListIter *iter);
+void rstto_image_list_iter_next (RsttoImageListIter *iter);
+gint rstto_image_list_iter_get_position (RsttoImageListIter *iter);
+void rstto_image_list_iter_set_position (RsttoImageListIter *iter, gint pos);
+
+void rstto_image_list_remove_all (RsttoImageList *image_list);
+void rstto_image_list_remove_image (RsttoImageList *image_list, RsttoImage *image);
+gboolean rstto_image_list_iter_find_image (RsttoImageListIter *iter, RsttoImage *image);
+RsttoImageListIter *rstto_image_list_iter_clone (RsttoImageListIter *iter);
+
+
+
+
+
+G_END_DECLS
+
+#endif /* __RISTRETTO_IMAGE_LIST_H__ */
diff --git a/src/main.c b/src/main.c
index fdbd82f..6f99376 100644
--- a/src/main.c
+++ b/src/main.c
@@ -1,4 +1,6 @@
/*
+ * Copyright (c) Stephan Arts 2006-2010 <stephan at xfce.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
@@ -15,42 +17,42 @@
*/
#include <config.h>
+#include <string.h>
+
+#include <glib.h>
+#include <gio/gio.h>
+
+#include <xfconf/xfconf.h>
#include <gtk/gtk.h>
#include <gdk/gdkkeysyms.h>
#include <string.h>
-#include <thunar-vfs/thunar-vfs.h>
+#include <libxfce4util/libxfce4util.h>
#include <libexif/exif-data.h>
-#include "navigator.h"
+#include "image.h"
+#include "image_list.h"
+#include "settings.h"
#include "picture_viewer.h"
#include "main_window.h"
-typedef struct {
- RsttoNavigator *navigator;
- RsttoMainWindow *main_window;
- GSList *files;
-} RsttoOpenFiles;
-static ThunarVfsMimeDatabase *mime_dbase = NULL;
-
-static XfceRc *xfce_rc;
-static gint window_save_geometry_timer_id = 0;
+gboolean version = FALSE;
+gboolean start_fullscreen = FALSE;
+gboolean start_slideshow = FALSE;
-static gboolean
-rstto_window_save_geometry_timer (gpointer user_data);
-static void
-rstto_window_save_geometry_timer_destroy(gpointer user_data);
-static gboolean
-cb_rstto_main_window_configure_event (GtkWidget *widget, GdkEventConfigure *event);
+typedef struct {
+ RsttoImageList *image_list;
+ gint argc;
+ gchar **argv;
+ gint iter;
+ RsttoMainWindow *window;
+ gboolean open_entire_folder;
+} RsttoOpenFiles;
static gboolean
cb_rstto_open_files (RsttoOpenFiles *rof);
-gboolean version = FALSE;
-gboolean start_fullscreen = FALSE;
-gboolean start_slideshow = FALSE;
-
static GOptionEntry entries[] =
{
{ "version", 'V', G_OPTION_FLAG_IN_MAIN, G_OPTION_ARG_NONE, &version,
@@ -68,156 +70,13 @@ static GOptionEntry entries[] =
{ NULL, ' ', 0, 0, NULL, NULL, NULL }
};
-
-#if GTK_CHECK_VERSION(2,12,0)
-#define RSTTO_COLOR_PARSE gdk_color_parse
-#define RSTTO_COLOR_TO_STRING gdk_color_to_string
-#else
-gboolean
-rstto_color_parse(const gchar *string, GdkColor *color)
-{
- gint i;
- guint16 red = 0;
- guint16 green = 0;
- guint16 blue = 0;
- g_return_val_if_fail(string != NULL, FALSE);
- /* Check is the string is long enough tp contain #rrrrggggbbbb
- */
- if(strlen(string) != 13)
- return FALSE;
- if(string[0] != '#')
- return FALSE;
-
- /* red */
- for(i = 1; i < 5; ++i)
- {
- if(string[i] >= '0' && string[i] <= '9')
- {
- red |= (string[i] ^ 0x30);
- }
- else
- {
- if(string[i] >= 'a' && string[i] <= 'f')
- {
- red |= ((string[i] ^ 0x60)+9);
- }
- else
- {
- return FALSE;
- }
- }
- if (i < 4)
- red = red << 4;
- }
-
- /* green */
- for(i = 5; i < 9; ++i)
- {
- if(string[i] >= '0' && string[i] <= '9')
- {
- green |= (string[i] ^ 0x30);
- }
- else
- {
- if(string[i] >= 'a' && string[i] <= 'f')
- {
- green |= ((string[i] ^ 0x60)+9);
- }
- else
- {
- return FALSE;
- }
- }
-
- if (i < 8)
- green = green << 4;
-
- }
-
- /* blue */
- for(i = 9; i < 13; ++i)
- {
- if(string[i] >= '0' && string[i] <= '9')
- {
- blue |= (string[i] ^ 0x30);
- }
- else
- {
- if(string[i] >= 'a' && string[i] <= 'f')
- {
- blue |= ((string[i] ^ 0x60)+9);
- }
- else
- {
- return FALSE;
- }
- }
- if (i < 12)
- blue = blue << 4;
- }
-
- color->red = red;
- color->green = green;
- color->blue = blue;
- return TRUE;
-}
-
-gchar *
-rstto_color_to_string(const GdkColor *color)
-{
- gint i;
- gchar *color_string = g_new0(gchar, 14);
-
- color_string[0] = '#';
-
- for(i = 0; i < 4; ++i)
- {
- if(((color->red >> (4*i))&0x000f) < 0xA)
- {
- color_string[1+3-i] = (((color->red >> (4*i))&0x000f)|0x0030);
- }
- else
- {
- color_string[1+3-i] = ((((color->red >> (4*i))&0x000f)|0x0060)-9);
- }
- }
-
- for(i = 0; i < 4; ++i)
- {
- if(((color->green >> (4*i))&0x000f) < 0xA)
- {
- color_string[5+3-i] = (((color->green >> (4*i))&0x000f)|0x0030);
- }
- else
- {
- color_string[5+3-i] = ((((color->green >> (4*i))&0x000f)|0x0060)-9);
- }
- }
-
- for(i = 0; i < 4; ++i)
- {
- if(((color->blue >> (4*i))&0x000f) < 0xA)
- {
- color_string[9+3-i] = (((color->blue >> (4*i))&0x000f)|0x0030);
- }
- else
- {
- color_string[9+3-i] = ((((color->blue >> (4*i))&0x000f)|0x0060)-9);
- }
- }
-
- return color_string;
-}
-#define RSTTO_COLOR_PARSE(string, color) rstto_color_parse(string, color)
-#define RSTTO_COLOR_TO_STRING(color) rstto_color_to_string(color)
-#endif
-
-int main(int argc, char **argv)
+int
+main(int argc, char **argv)
{
- GdkColor *bg_color = NULL;
GError *cli_error = NULL;
- gint n;
- gchar *program = NULL;
+ RsttoSettings *settings;
+ RsttoImageList *image_list;
+ GtkWidget *window;
#ifdef ENABLE_NLS
bindtextdomain (GETTEXT_PACKAGE, LOCALEDIR);
@@ -241,262 +100,105 @@ int main(int argc, char **argv)
return 0;
}
-
- thunar_vfs_init();
+ xfconf_init(NULL);
- mime_dbase = thunar_vfs_mime_database_get_default();
+ gtk_window_set_default_icon_name("ristretto");
- program = g_find_program_in_path ("xfconf-query");
- if (G_LIKELY (program != NULL))
- {
- rstto_has_xfconf_query = TRUE;
- g_free (program);
- }
+ settings = rstto_settings_new();
+
+ image_list = rstto_image_list_new ();
+ window = rstto_main_window_new (image_list, FALSE);
- gtk_window_set_default_icon_name("ristretto");
- xfce_rc = xfce_rc_config_open(XFCE_RESOURCE_CONFIG, "ristretto/ristrettorc", FALSE);
-
- const gchar *thumbnail_viewer_orientation = xfce_rc_read_entry(xfce_rc, "ThumbnailViewerOrientation", "horizontal");
- gboolean show_thumbnail_viewer = xfce_rc_read_bool_entry(xfce_rc, "ShowThumbnailViewer", TRUE);
- gboolean show_toolbar = xfce_rc_read_bool_entry(xfce_rc, "ShowToolBar", TRUE);
- gint window_width = xfce_rc_read_int_entry(xfce_rc, "LastWindowWidth", 400);
- gint window_height = xfce_rc_read_int_entry(xfce_rc, "LastWindowHeight", 300);
- gint slideshow_timeout = xfce_rc_read_int_entry(xfce_rc, "SlideShowTimeout", 5000);
- gboolean slideshow_hide_thumbnail = xfce_rc_read_bool_entry(xfce_rc, "SlideShowHideThumbnail", TRUE);
- gint max_cache = xfce_rc_read_int_entry(xfce_rc, "MaxImagesCacheSize", 64);
- gboolean preload_imgs = xfce_rc_read_bool_entry (xfce_rc, "PreloadImgs", FALSE);
- gboolean override_bg_color = xfce_rc_read_bool_entry (xfce_rc, "OverrideBgColor", FALSE);
- gboolean scale_to_100 = xfce_rc_read_bool_entry (xfce_rc, "ScaleTo100", FALSE);
-
- if (override_bg_color)
- {
- const gchar *color = xfce_rc_read_entry(xfce_rc, "BgColor", "#000000000000");
- bg_color = g_new0(GdkColor, 1);
- if(!RSTTO_COLOR_PARSE(color, bg_color))
- {
- g_debug("parse failed");
- }
- }
-
- GtkWidget *window = rstto_main_window_new();
- gtk_widget_ref(window);
-
- RsttoNavigator *navigator = rstto_main_window_get_navigator(RSTTO_MAIN_WINDOW(window));
- g_object_ref (navigator);
-
- navigator->preload = preload_imgs;
-
- rstto_main_window_set_max_cache_size(RSTTO_MAIN_WINDOW(window), max_cache);
- rstto_main_window_set_slideshow_timeout(RSTTO_MAIN_WINDOW(window), (gdouble)slideshow_timeout);
- rstto_main_window_set_hide_thumbnail(RSTTO_MAIN_WINDOW(window), slideshow_hide_thumbnail);
- rstto_main_window_set_scale_to_100(RSTTO_MAIN_WINDOW(window), scale_to_100);
- rstto_navigator_set_timeout(navigator, slideshow_timeout);
- rstto_main_window_set_start_fullscreen(RSTTO_MAIN_WINDOW(window), start_fullscreen);
- rstto_main_window_set_start_slideshow(RSTTO_MAIN_WINDOW(window), start_slideshow);
-
- /* When more then one file is provided over the CLI,
- * just open those files and don't index the folder
- */
if (argc > 1)
{
RsttoOpenFiles rof;
- rof.files = NULL;
- rof.navigator = navigator;
- rof.main_window = RSTTO_MAIN_WINDOW(window);
- for (n = 1; n < argc; ++n)
- {
- rof.files = g_slist_prepend(rof.files, argv[n]);
- }
+ rof.image_list = image_list;
+ rof.argc = argc;
+ rof.argv = argv;
+ rof.iter = 1;
+ rof.window = RSTTO_MAIN_WINDOW (window);
+ rof.open_entire_folder = rstto_settings_get_boolean_property (settings, "open-entire-folder");
- gtk_init_add((GtkFunction)cb_rstto_open_files, &rof);
- }
-
- g_signal_connect(G_OBJECT(window), "destroy", G_CALLBACK(gtk_main_quit), NULL);
- g_signal_connect(G_OBJECT(window), "configure-event", G_CALLBACK(cb_rstto_main_window_configure_event), NULL);
-
- if (!strcmp(thumbnail_viewer_orientation, "vertical"))
- {
- rstto_main_window_set_thumbnail_viewer_orientation(RSTTO_MAIN_WINDOW(window), GTK_ORIENTATION_VERTICAL);
- }
- else
- {
- rstto_main_window_set_thumbnail_viewer_orientation(RSTTO_MAIN_WINDOW(window), GTK_ORIENTATION_HORIZONTAL);
- }
+ g_idle_add ((GSourceFunc )cb_rstto_open_files, &rof);
- if (bg_color)
- {
- rstto_main_window_set_pv_bg_color(RSTTO_MAIN_WINDOW(window), bg_color);
- g_free(bg_color);
}
+ g_signal_connect(G_OBJECT(window), "destroy", G_CALLBACK(gtk_main_quit), NULL);
+ gtk_widget_show_all (window);
- gtk_window_set_default_size(GTK_WINDOW(window), window_width, window_height);
- gtk_widget_show_all(window);
-
- rstto_main_window_set_show_thumbnail_viewer(RSTTO_MAIN_WINDOW(window), show_thumbnail_viewer);
- rstto_main_window_set_show_toolbar(RSTTO_MAIN_WINDOW(window), show_toolbar);
- if (start_fullscreen)
- rstto_main_window_force_fullscreen(RSTTO_MAIN_WINDOW(window));
- if (start_slideshow)
- rstto_main_window_force_slideshow (RSTTO_MAIN_WINDOW(window));
gtk_main();
- bg_color = (GdkColor *)rstto_main_window_get_pv_bg_color(RSTTO_MAIN_WINDOW(window));
+ g_object_unref (settings);
- xfce_rc_write_bool_entry(xfce_rc, "ShowToolBar", rstto_main_window_get_show_toolbar(RSTTO_MAIN_WINDOW(window)));
- xfce_rc_write_bool_entry(xfce_rc, "ScaleTo100", rstto_main_window_get_scale_to_100(RSTTO_MAIN_WINDOW(window)));
- xfce_rc_write_bool_entry(xfce_rc, "PreloadImgs", navigator->preload);
- xfce_rc_write_bool_entry(xfce_rc, "ShowThumbnailViewer", rstto_main_window_get_show_thumbnail_viewer(RSTTO_MAIN_WINDOW(window)));
- if (bg_color)
- {
- xfce_rc_write_bool_entry(xfce_rc, "OverrideBgColor", TRUE);
- xfce_rc_write_entry(xfce_rc, "BgColor", RSTTO_COLOR_TO_STRING(bg_color));
- }
- else
- {
- xfce_rc_write_bool_entry(xfce_rc, "OverrideBgColor", FALSE);
- }
- switch (rstto_main_window_get_thumbnail_viewer_orientation(RSTTO_MAIN_WINDOW(window)))
- {
- case GTK_ORIENTATION_VERTICAL:
- xfce_rc_write_entry(xfce_rc, "ThumbnailViewerOrientation", "vertical");
- break;
- case GTK_ORIENTATION_HORIZONTAL:
- xfce_rc_write_entry(xfce_rc, "ThumbnailViewerOrientation", "horizontal");
- break;
- }
- xfce_rc_write_int_entry(xfce_rc, "MaxImagesCacheSize", rstto_main_window_get_max_cache_size(RSTTO_MAIN_WINDOW(window)));
- xfce_rc_write_int_entry(xfce_rc, "SlideShowTimeout", (gint)rstto_main_window_get_slideshow_timeout(RSTTO_MAIN_WINDOW(window)));
- xfce_rc_write_bool_entry(xfce_rc, "SlideShowHideThumbnail", rstto_main_window_get_hide_thumbnail(RSTTO_MAIN_WINDOW(window)));
- xfce_rc_flush(xfce_rc);
- xfce_rc_close(xfce_rc);
- gtk_widget_unref(window);
- g_object_unref (navigator);
+ xfconf_shutdown();
return 0;
}
static gboolean
-rstto_window_save_geometry_timer (gpointer user_data)
-{
- GtkWindow *window = GTK_WINDOW(user_data);
- gint width = 0;
- gint height = 0;
- /* check if the window is still visible */
- if (GTK_WIDGET_VISIBLE (window))
- {
- /* determine the current state of the window */
- gint state = gdk_window_get_state (GTK_WIDGET (window)->window);
-
- /* don't save geometry for maximized or fullscreen windows */
- if ((state & (GDK_WINDOW_STATE_MAXIMIZED | GDK_WINDOW_STATE_FULLSCREEN)) == 0)
- {
- /* determine the current width/height of the window... */
- gtk_window_get_size (GTK_WINDOW (window), &width, &height);
-
- /* ...and remember them as default for new windows */
- xfce_rc_write_int_entry (xfce_rc, "LastWindowWidth", width);
- xfce_rc_write_int_entry (xfce_rc, "LastWindowHeight", height);
- }
- }
- return FALSE;
-}
-
-static void
-rstto_window_save_geometry_timer_destroy(gpointer user_data)
-{
- window_save_geometry_timer_id = 0;
-}
-
-static gboolean
-cb_rstto_main_window_configure_event (GtkWidget *widget, GdkEventConfigure *event)
-{
- /* shamelessly copied from thunar, written by benny */
- /* check if we have a new dimension here */
- if (widget->allocation.width != event->width || widget->allocation.height != event->height)
- {
- /* drop any previous timer source */
- if (window_save_geometry_timer_id > 0)
- g_source_remove (window_save_geometry_timer_id);
-
- /* check if we should schedule another save timer */
- if (GTK_WIDGET_VISIBLE (widget))
- {
- /* save the geometry one second after the last configure event */
- window_save_geometry_timer_id = g_timeout_add_full (G_PRIORITY_LOW, 1000, rstto_window_save_geometry_timer,
- widget, rstto_window_save_geometry_timer_destroy);
- }
- }
-
- /* let Gtk+ handle the configure event */
- return FALSE;
-}
-
-static gboolean
cb_rstto_open_files (RsttoOpenFiles *rof)
{
- GError *error = NULL;
- gchar *path_dir = NULL;
- RsttoNavigator *navigator = rof->navigator;
- RsttoMainWindow *window = rof->main_window;
+ GFile *file, *p_file, *child_file;
+ GFileInfo *file_info;
+ const gchar *content_type, *filename;
- GtkStatusbar *bar = rstto_main_window_get_statusbar(window);
+ GFileEnumerator *file_enumarator = NULL;
- guint context_id = gtk_statusbar_get_context_id(bar, "StatusMessages");
- guint message_id = gtk_statusbar_push(bar, context_id, N_("Opening file(s)..."));
-
- if (g_slist_length(rof->files) >= 1)
+ if ((rof->argc > 2) || (rof->open_entire_folder == FALSE))
{
- GSList *_iter = rof->files;
- while(_iter)
+ if (rof->iter < rof->argc)
{
- if (g_path_is_absolute(_iter->data))
- {
- path_dir = g_strdup(_iter->data);
- }
- else
- {
- gchar *base_dir = g_get_current_dir();
-
- path_dir = g_build_path("/", base_dir, _iter->data, NULL);
-
- g_free(base_dir);
- }
- if(g_file_test(path_dir, G_FILE_TEST_EXISTS))
+ file = g_file_new_for_commandline_arg (rof->argv[rof->iter]);
+ if (file)
{
-
- if(g_file_test(path_dir, G_FILE_TEST_IS_DIR))
+ file_info = g_file_query_info (file, "standard::content-type", 0, NULL, NULL);
+ if (file_info)
{
- if(rstto_navigator_open_folder (navigator, path_dir, TRUE, &error) == TRUE)
- {
- rstto_navigator_jump_first(navigator);
- gtk_statusbar_remove(bar, context_id, message_id);
- }
- else
- {
+ content_type = g_file_info_get_attribute_string (file_info, "standard::content-type");
+ if (strncmp (content_type, "image/", 6) == 0)
+ {
+ rstto_image_list_add_file (rof->image_list, file, NULL);
}
}
- else
- {
- if (g_slist_length(rof->files) == 1)
- rstto_navigator_open_file (navigator, path_dir, TRUE, NULL);
- else
- rstto_navigator_open_file (navigator, path_dir, FALSE, NULL);
+ }
+ rof->iter++;
+ return TRUE;
+ }
+ }
+ else
+ {
+ file = g_file_new_for_commandline_arg (rof->argv[rof->iter]);
+ if (file)
+ {
+ file_info = g_file_query_info (file, "standard::content-type", 0, NULL, NULL);
+ if (file_info)
+ {
+ content_type = g_file_info_get_attribute_string (file_info, "standard::content-type");
- gtk_statusbar_remove(bar, context_id, message_id);
+ if (strncmp (content_type, "image/", 6) == 0)
+ {
+ rstto_image_list_add_file (rof->image_list, file, NULL);
}
}
+ }
+ p_file = g_file_get_parent (file);
+ file_enumarator = g_file_enumerate_children (p_file, "standard::*", 0, NULL, NULL);
+ for(file_info = g_file_enumerator_next_file (file_enumarator, NULL, NULL); file_info != NULL; file_info = g_file_enumerator_next_file (file_enumarator, NULL, NULL))
+ {
+ filename = g_file_info_get_name (file_info);
+ content_type = g_file_info_get_content_type (file_info);
+ child_file = g_file_get_child (p_file, filename);
- g_free(path_dir);
+ if (strncmp (content_type, "image/", 6) == 0)
+ {
+ rstto_image_list_add_file (rof->image_list, child_file, NULL);
+ }
- _iter = g_slist_next(_iter);
+ g_object_unref (child_file);
+ g_object_unref (file_info);
}
-
- if (g_slist_length(rof->files) > 1)
- rstto_navigator_jump_first(navigator);
}
-
return FALSE;
}
diff --git a/src/main_window.c b/src/main_window.c
index 6740be6..d98dc56 100644
--- a/src/main_window.c
+++ b/src/main_window.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) Stephan Arts 2006-2008 <stephan at xfce.org>
+ * Copyright (c) Stephan Arts 2006-2010 <stephan at xfce.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
@@ -19,265 +19,336 @@
#include <config.h>
#include <gtk/gtk.h>
#include <gdk/gdkkeysyms.h>
-#include <gdk/gdkx.h>
#include <X11/Xlib.h>
#include <string.h>
-#include <thunar-vfs/thunar-vfs.h>
+
+#include <gio/gio.h>
+
#include <libxfcegui4/libxfcegui4.h>
#include <libexif/exif-data.h>
-#include <dbus/dbus-glib.h>
-#include "navigator.h"
-#include "thumbnail_bar.h"
+#include <cairo/cairo.h>
+
+#include "image.h"
+
+#include "settings.h"
+#include "image_list.h"
+#include "image_cache.h"
#include "picture_viewer.h"
#include "main_window.h"
-#include "save_dialog.h"
+#include "main_window_ui.h"
+#include "thumbnail_bar.h"
+#include "wallpaper_manager.h"
+#include "xfce_wallpaper_manager.h"
+#include "gnome_wallpaper_manager.h"
+
+#include "preferences_dialog.h"
+#include "app_menu_item.h"
#define XFDESKTOP_SELECTION_FMT "XFDESKTOP_SELECTION_%d"
+#ifndef RISTRETTO_APP_TITLE
+#define RISTRETTO_APP_TITLE "Image viewer"
+#endif
+
+
+#ifndef ZOOM_FACTOR
+#define ZOOM_FACTOR 1.2
+#endif
struct _RsttoMainWindowPriv
{
- RsttoNavigator *navigator;
- GtkWidget *thumbnail_viewer;
- GtkWidget *picture_viewer;
- GtkWidget *statusbar;
- GtkRecentManager *manager;
- GtkIconTheme *icon_theme;
- ThunarVfsMimeDatabase *mime_dbase;
- GList *menu_apps_list;
- gdouble zoom_factor;
+ struct {
+ RsttoImageList *image_list;
+ gboolean toolbar_visible;
+ } props;
- DBusGConnection *connection;
- DBusGProxy *filemanager_proxy;
+ guint show_fs_toolbar_timeout_id;
+ gint window_save_geometry_timer_id;
+ gint open_image_timer_id;
+
+ gboolean fs_toolbar_sticky;
- struct {
- GtkWidget *main_vbox;
- GtkWidget *s_window;
- GtkWidget *paned;
- } containers;
+ RsttoImageListIter *iter;
- struct {
- GtkOrientation thumbnail_viewer_orientation;
- gboolean thumbnail_viewer_visibility;
- gboolean toolbar_visibility;
- gint max_cache_size;
- gdouble slideshow_timeout;
- gboolean slideshow_hide_thumbnail;
- const GdkColor *bg_color;
- gboolean scale_to_100;
- RsttoDesktop desktop;
- gboolean start_fullscreen;
- gboolean start_slideshow;
- } settings;
+ GtkActionGroup *action_group;
+ GtkUIManager *ui_manager;
+ GtkRecentManager *recent_manager;
+ RsttoSettings *settings_manager;
+ RsttoWallpaperManager *wallpaper_manager;
- struct {
- GtkWidget *menu;
- GtkWidget *menu_item_file;
- struct {
- GtkWidget *menu;
- GtkWidget *menu_item_open_file;
- GtkWidget *menu_item_open_folder;
- GtkWidget *menu_item_open_recently;
- struct {
- GtkWidget *menu;
- GtkWidget *menu_item_separator_1;
- GtkWidget *menu_item_clear;
- } recently;
- GtkWidget *menu_item_separator_1;
- GtkWidget *menu_item_file_properties;
- GtkWidget *menu_item_separator_2;
- GtkWidget *menu_item_close;
- GtkWidget *menu_item_close_all;
- GtkWidget *menu_item_quit;
- } file;
-
- GtkWidget *menu_item_edit;
- struct {
- GtkWidget *menu;
- GtkWidget *menu_item_open_with;
- struct {
- GtkWidget *menu;
- GtkWidget *menu_item_empty;
- } open_with;
- GtkWidget *menu_item_preferences;
- } edit;
-
- GtkWidget *menu_item_view;
- struct {
- GtkWidget *menu;
- GtkWidget *menu_item_show_toolbar;
- GtkWidget *menu_item_show_thumbnail_viewer;
- struct {
- GtkWidget *menu;
- GtkWidget *menu_item_thumbnail_viewer_horizontal;
- GtkWidget *menu_item_thumbnail_viewer_vertical;
- GtkWidget *menu_item_thumbnail_viewer_hide;
- } show_thumbnail_viewer;
- GtkWidget *menu_item_separator_1;
-
- GtkWidget *menu_item_zooming;
- struct {
- GtkWidget *menu;
- GtkWidget *menu_item_zoom_in;
- GtkWidget *menu_item_zoom_out;
- GtkWidget *menu_item_zoom_100;
- GtkWidget *menu_item_zoom_fit;
- GtkWidget *menu_item_zoom_box;
- } zooming;
-
- GtkWidget *menu_item_rotate;
- struct {
- GtkWidget *menu;
- GtkWidget *menu_item_rotate_cw;
- GtkWidget *menu_item_rotate_ccw;
- } rotate;
-
- GtkWidget *menu_item_separator_2;
- GtkWidget *menu_item_fullscreen;
- GtkWidget *menu_item_set_wallpaper;
- } view;
-
- GtkWidget *menu_item_go;
- struct {
- GtkWidget *menu;
- GtkWidget *menu_item_next;
- GtkWidget *menu_item_previous;
- GtkWidget *menu_item_first;
- GtkWidget *menu_item_last;
- GtkWidget *menu_item_separator_1;
- GtkWidget *menu_item_play;
- GtkWidget *menu_item_pause;
- } go;
-
- GtkWidget *menu_item_help;
- struct {
- GtkWidget *menu;
- GtkWidget *menu_item_about;
- } help;
-
- struct {
- GtkWidget *menu;
- GtkWidget *menu_item_open_file;
- GtkWidget *menu_item_close;
- GtkWidget *menu_item_separator_1;
- GtkWidget *menu_item_open_with;
- struct {
- GtkWidget *menu;
- GtkWidget *menu_item_empty;
- } open_with;
- GtkWidget *menu_item_separator_2;
- GtkWidget *menu_item_zoom_in;
- GtkWidget *menu_item_zoom_out;
- GtkWidget *menu_item_zoom_fit;
- GtkWidget *menu_item_zoom_100;
- } _picture_viewer;
- } menus;
+ GtkWidget *menubar;
+ GtkWidget *toolbar;
+ GtkWidget *image_list_toolbar;
+ GtkWidget *image_viewer_menu;
+ GtkWidget *position_menu;
+ GtkWidget *picture_viewer;
+ GtkWidget *p_viewer_s_window;
+ GtkWidget *table;
+ GtkWidget *hpaned_left;
+ GtkWidget *hpaned_right;
+ GtkWidget *vpaned_top;
+ GtkWidget *vpaned_bottom;
+ GtkWidget *thumbnailbar;
+ GtkWidget *statusbar;
+ guint statusbar_context_id;
+
+ GtkWidget *back;
+ GtkWidget *forward;
+
+ guint t_open_merge_id;
+ guint t_open_folder_merge_id;
+ guint recent_merge_id;
+ guint play_merge_id;
+ guint pause_merge_id;
+ guint toolbar_play_merge_id;
+ guint toolbar_pause_merge_id;
+ guint toolbar_fullscreen_merge_id;
+ guint toolbar_unfullscreen_merge_id;
+
+ GtkAction *play_action;
+ GtkAction *pause_action;
+ GtkAction *recent_action;
+
+ gboolean playing;
+ gint play_timeout_id;
+};
- struct {
- GtkWidget *bar;
-
- GtkToolItem *tool_item_open;
- GtkToolItem *tool_item_separator_1;
- GtkToolItem *tool_item_next;
- GtkToolItem *tool_item_previous;
- GtkToolItem *tool_item_spacer_1;
-
- GtkToolItem *tool_item_zoom_fit;
- GtkToolItem *tool_item_zoom_100;
- GtkToolItem *tool_item_zoom_out;
- GtkToolItem *tool_item_zoom_in;
- } toolbar;
+enum
+{
+ PROP_0,
+ PROP_IMAGE_LIST,
};
static void
-cb_rstto_main_window_thumbnail_viewer_horizontal(GtkWidget *widget, RsttoMainWindow *window);
+rstto_main_window_init (RsttoMainWindow *);
static void
-cb_rstto_main_window_thumbnail_viewer_vertical(GtkWidget *widget, RsttoMainWindow *window);
+rstto_main_window_class_init(RsttoMainWindowClass *);
static void
-cb_rstto_main_window_thumbnail_viewer_hide(GtkWidget *widget, RsttoMainWindow *window);
+rstto_main_window_dispose(GObject *object);
+
static void
-cb_rstto_main_window_toggle_toolbar(GtkWidget *widget, RsttoMainWindow *window);
+rstto_main_window_set_property (GObject *object,
+ guint property_id,
+ const GValue *value,
+ GParamSpec *pspec);
static void
-cb_rstto_main_window_toggle_fullscreen(GtkWidget *widget, RsttoMainWindow *window);
-#ifdef WITH_DESKTOP_WALLPAPER
+rstto_main_window_get_property (GObject *object,
+ guint property_id,
+ GValue *value,
+ GParamSpec *pspec);
+
+static gboolean
+rstto_window_save_geometry_timer (gpointer user_data);
+static gboolean
+rstto_window_open_image_timer(gpointer user_data);
static void
-cb_rstto_main_window_set_wallpaper(GtkWidget *widget, RsttoMainWindow *window);
-#endif
+rstto_main_window_image_list_iter_changed (RsttoMainWindow *window);
+
static gboolean
-cb_rstto_main_window_key_press_event(GtkWidget *widget, GdkEventKey *event, gpointer user_data);
+cb_rstto_main_window_configure_event (GtkWidget *widget, GdkEventConfigure *event);
static void
cb_rstto_main_window_state_event(GtkWidget *widget, GdkEventWindowState *event, gpointer user_data);
+static gboolean
+cb_rstto_main_window_show_fs_toolbar_timeout (RsttoMainWindow *window);
static void
-cb_rstto_main_window_play(GtkWidget *widget, RsttoMainWindow *window);
+cb_rstto_main_window_image_list_iter_changed (RsttoImageListIter *iter, RsttoMainWindow *window);
static void
-cb_rstto_main_window_pause(GtkWidget *widget, RsttoMainWindow *window);
+cb_rstto_main_window_image_updated (RsttoImage *image, RsttoMainWindow *window);
+
static void
-cb_rstto_main_window_spawn_app(GtkWidget *widget, ThunarVfsMimeApplication *app);
+cb_rstto_main_window_image_list_new_image (RsttoImageList *image_list, RsttoImage *image, RsttoMainWindow *window);
static void
-cb_rstto_main_window_next(GtkWidget *widget, RsttoMainWindow *window);
+cb_rstto_main_window_zoom_100 (GtkWidget *widget, RsttoMainWindow *window);
static void
-cb_rstto_main_window_previous(GtkWidget *widget, RsttoMainWindow *window);
+cb_rstto_main_window_zoom_fit (GtkWidget *widget, RsttoMainWindow *window);
static void
-cb_rstto_main_window_last(GtkWidget *widget, RsttoMainWindow *window);
+cb_rstto_main_window_zoom_in (GtkWidget *widget, RsttoMainWindow *window);
static void
-cb_rstto_main_window_first(GtkWidget *widget, RsttoMainWindow *window);
+cb_rstto_main_window_zoom_out (GtkWidget *widget, RsttoMainWindow *window);
static void
-cb_rstto_main_window_zoom_in(GtkWidget *widget, RsttoMainWindow *window);
+cb_rstto_main_window_rotate_cw (GtkWidget *widget, RsttoMainWindow *window);
static void
-cb_rstto_main_window_zoom_out(GtkWidget *widget, RsttoMainWindow *window);
+cb_rstto_main_window_rotate_ccw (GtkWidget *widget, RsttoMainWindow *window);
+
static void
-cb_rstto_main_window_zoom_100(GtkWidget *widget, RsttoMainWindow *window);
+cb_rstto_main_window_next_image (GtkWidget *widget, RsttoMainWindow *window);
static void
-cb_rstto_main_window_zoom_fit(GtkWidget *widget, RsttoMainWindow *window);
-
+cb_rstto_main_window_previous_image (GtkWidget *widget, RsttoMainWindow *window);
static void
-cb_rstto_main_window_rotate_cw(GtkWidget *widget, RsttoMainWindow *window);
+cb_rstto_main_window_first_image (GtkWidget *widget, RsttoMainWindow *window);
static void
-cb_rstto_main_window_rotate_ccw(GtkWidget *widget, RsttoMainWindow *window);
+cb_rstto_main_window_last_image (GtkWidget *widget, RsttoMainWindow *window);
static void
-cb_rstto_main_window_open_file(GtkWidget *widget, RsttoMainWindow *window);
+cb_rstto_main_window_open_image (GtkWidget *widget, RsttoMainWindow *window);
static void
-cb_rstto_main_window_open_folder(GtkWidget *widget, RsttoMainWindow *window);
+cb_rstto_main_window_open_folder (GtkWidget *widget, RsttoMainWindow *window);
static void
cb_rstto_main_window_open_recent(GtkRecentChooser *chooser, RsttoMainWindow *window);
static void
-cb_rstto_main_window_clear_recent(GtkWidget *widget, RsttoMainWindow *window);
+cb_rstto_main_window_close (GtkWidget *widget, RsttoMainWindow *window);
static void
-cb_rstto_main_window_close(GtkWidget *widget, RsttoMainWindow *window);
+cb_rstto_main_window_close_all (GtkWidget *widget, RsttoMainWindow *window);
static void
-cb_rstto_main_window_close_all(GtkWidget *widget, RsttoMainWindow *window);
+cb_rstto_main_window_save_copy (GtkWidget *widget, RsttoMainWindow *window);
static void
-cb_rstto_main_window_file_properties(GtkWidget *widget, RsttoMainWindow *window);
+cb_rstto_main_window_delete (GtkWidget *widget, RsttoMainWindow *window);
+
+static void
+cb_rstto_main_window_set_as_wallpaper (GtkWidget *widget, RsttoMainWindow *window);
static void
-cb_rstto_main_window_quit(GtkWidget *widget, RsttoMainWindow *window);
+cb_rstto_main_window_sorting_function_changed (GtkRadioAction *action, GtkRadioAction *current, RsttoMainWindow *window);
static void
-cb_rstto_main_window_about(GtkWidget *widget, RsttoMainWindow *window);
+cb_rstto_main_window_navigationtoolbar_position_changed (GtkRadioAction *, GtkRadioAction *, RsttoMainWindow *window);
static void
-cb_rstto_main_window_preferences(GtkWidget *widget, RsttoMainWindow *window);
+cb_rstto_main_window_navigationtoolbar_button_press_event (GtkWidget *widget, GdkEventButton *event, gpointer user_data);
static void
-cb_rstto_bg_color_override_check_toggled(GtkToggleButton *button, GtkWidget *);
+cb_rstto_main_window_print (GtkWidget *widget, RsttoMainWindow *window);
+static void
+rstto_main_window_print_draw_page (GtkPrintOperation *operation,
+ GtkPrintContext *print_context,
+ gint page_nr,
+ RsttoMainWindow *window);
static void
-cb_rstto_main_window_nav_iter_changed(RsttoNavigator *navigator, gint nr, RsttoNavigatorEntry *entry, RsttoMainWindow *window);
+cb_rstto_main_window_play (GtkWidget *widget, RsttoMainWindow *window);
static void
-cb_rstto_main_window_nav_new_entry(RsttoNavigator *navigator, gint nr, RsttoNavigatorEntry *entry, RsttoMainWindow *window);
+cb_rstto_main_window_pause(GtkWidget *widget, RsttoMainWindow *window);
+static gboolean
+cb_rstto_main_window_play_slideshow (RsttoMainWindow *window);
static void
-rstto_main_window_init(RsttoMainWindow *);
+cb_rstto_main_window_toggle_show_file_toolbar (GtkWidget *widget, RsttoMainWindow *window);
static void
-rstto_main_window_class_init(RsttoMainWindowClass *);
+cb_rstto_main_window_toggle_show_nav_toolbar (GtkWidget *widget, RsttoMainWindow *window);
static void
-rstto_main_window_dispose(GObject *object);
+cb_rstto_main_window_toggle_show_thumbnailbar (GtkWidget *widget, RsttoMainWindow *window);
+static void
+cb_rstto_main_window_fullscreen (GtkWidget *widget, RsttoMainWindow *window);
+static void
+cb_rstto_main_window_preferences (GtkWidget *widget, RsttoMainWindow *window);
+static void
+cb_rstto_main_window_about (GtkWidget *widget, RsttoMainWindow *window);
+static void
+cb_rstto_main_window_contents (GtkWidget *widget, RsttoMainWindow *window);
+static void
+cb_rstto_main_window_quit (GtkWidget *widget, RsttoMainWindow *window);
+
+static void
+cb_rstto_main_window_settings_notify (GObject *settings, GParamSpec *spec, RsttoMainWindow *window);
+
+static gboolean
+cb_rstto_main_window_motion_notify_event (RsttoMainWindow *window,
+ GdkEventMotion *event,
+ gpointer user_data);
+static gboolean
+cb_rstto_main_window_picture_viewer_enter_notify_event (GtkWidget *widget,
+ GdkEventCrossing *event,
+ gpointer user_data);
+
+static void
+rstto_main_window_update_buttons (RsttoMainWindow *window);
+static void
+rstto_main_window_set_navigationbar_position (RsttoMainWindow *window, guint orientation);
+
+static void
+cb_rstto_main_window_vpaned_pos_changed (GtkWidget *widget, gpointer user_data);
static GtkWidgetClass *parent_class = NULL;
+static GtkActionEntry action_entries[] =
+{
+/* File Menu */
+ { "file-menu", NULL, N_ ("_File"), NULL, },
+ { "open", "document-open", N_ ("_Open"), "<control>O", N_ ("Open an image"), G_CALLBACK (cb_rstto_main_window_open_image), },
+ { "open-folder", "folder-open", N_ ("Open _Folder"), NULL, N_ ("Open a folder"), G_CALLBACK (cb_rstto_main_window_open_folder), },
+ { "save-copy", GTK_STOCK_SAVE_AS, N_ ("_Save copy"), "<control>s", N_ ("Save a copy of the image"), G_CALLBACK (cb_rstto_main_window_save_copy), },
+ { "print", GTK_STOCK_PRINT, N_ ("_Print"), "<control>p", N_ ("Print the image"), G_CALLBACK (cb_rstto_main_window_print), },
+ { "close", GTK_STOCK_CLOSE, N_ ("_Close"), "<control>W", N_ ("Close this image"), G_CALLBACK (cb_rstto_main_window_close), },
+ { "close-all", NULL, N_ ("_Close All"), NULL, N_ ("Close all images"), G_CALLBACK (cb_rstto_main_window_close_all), },
+ { "quit", GTK_STOCK_QUIT, N_ ("_Quit"), "<control>Q", N_ ("Quit Ristretto"), G_CALLBACK (cb_rstto_main_window_quit), },
+/* Edit Menu */
+ { "edit-menu", NULL, N_ ("_Edit"), NULL, },
+ { "open-with-menu", NULL, N_ ("_Open with..."), NULL, },
+ { "sorting-menu", NULL, N_ ("_Sorting"), NULL, },
+ { "delete", GTK_STOCK_DELETE, N_ ("_Delete"), "Delete", NULL, G_CALLBACK (cb_rstto_main_window_delete), },
+ { "preferences", GTK_STOCK_PREFERENCES, N_ ("_Preferences"), NULL, NULL, G_CALLBACK (cb_rstto_main_window_preferences), },
+/* View Menu */
+ { "view-menu", NULL, N_ ("_View"), NULL, },
+ { "fullscreen", GTK_STOCK_FULLSCREEN, N_ ("_Fullscreen"), "F11", NULL, G_CALLBACK (cb_rstto_main_window_fullscreen), },
+ { "unfullscreen", GTK_STOCK_LEAVE_FULLSCREEN, N_ ("_Leave Fullscreen"), NULL, NULL, G_CALLBACK (cb_rstto_main_window_fullscreen), },
+ { "set-as-wallpaper", NULL, N_ ("_Set as Wallpaper"), NULL, NULL, G_CALLBACK (cb_rstto_main_window_set_as_wallpaper), },
+/* Zoom submenu */
+ { "zoom-menu", NULL, N_ ("_Zooming"), NULL, },
+ { "zoom-in", GTK_STOCK_ZOOM_IN, N_ ("Zoom _In"), "<control>plus", NULL, G_CALLBACK (cb_rstto_main_window_zoom_in),},
+ { "zoom-out", GTK_STOCK_ZOOM_OUT, N_ ("Zoom _Out"), "<control>minus", NULL, G_CALLBACK (cb_rstto_main_window_zoom_out), },
+ { "zoom-fit", GTK_STOCK_ZOOM_FIT, N_ ("Zoom _Fit"), "<control>equal", NULL, G_CALLBACK (cb_rstto_main_window_zoom_fit), },
+ { "zoom-100", GTK_STOCK_ZOOM_100, N_ ("_Normal Size"), "<control>0", NULL, G_CALLBACK (cb_rstto_main_window_zoom_100), },
+/* Rotation submenu */
+ { "rotation-menu", NULL, N_ ("_Rotation"), NULL, },
+ { "rotate-cw", "object-rotate-right", N_ ("Rotate _Right"), "<control>bracketright", NULL, G_CALLBACK (cb_rstto_main_window_rotate_cw), },
+ { "rotate-ccw", "object-rotate-left", N_ ("Rotate _Left"), "<control>bracketleft", NULL, G_CALLBACK (cb_rstto_main_window_rotate_ccw), },
+/* Go Menu */
+ { "go-menu", NULL, N_ ("_Go"), NULL, },
+ { "forward", GTK_STOCK_GO_FORWARD, N_ ("_Forward"), "space", NULL, G_CALLBACK (cb_rstto_main_window_next_image), },
+ { "back", GTK_STOCK_GO_BACK, N_ ("_Back"), "BackSpace", NULL, G_CALLBACK (cb_rstto_main_window_previous_image), },
+ { "first", GTK_STOCK_GOTO_FIRST, N_ ("_First"), "Home", NULL, G_CALLBACK (cb_rstto_main_window_first_image), },
+ { "last", GTK_STOCK_GOTO_LAST, N_ ("_Last"), "End", NULL, G_CALLBACK (cb_rstto_main_window_last_image), },
+/* Help Menu */
+ { "help-menu", NULL, N_ ("_Help"), NULL, },
+ { "contents", GTK_STOCK_HELP,
+ N_ ("_Contents"),
+ "F1",
+ N_ ("Display ristretto user manual"),
+ G_CALLBACK (cb_rstto_main_window_contents), },
+ { "about", GTK_STOCK_ABOUT,
+ N_ ("_About"),
+ NULL,
+ N_ ("Display information about ristretto"),
+ G_CALLBACK (cb_rstto_main_window_about), },
+/* Position Menu */
+ { "position-menu", NULL, N_ ("_Position"), NULL, },
+/* Misc */
+ { "leave-fullscreen", GTK_STOCK_LEAVE_FULLSCREEN, N_ ("Leave _Fullscreen"), NULL, NULL, G_CALLBACK (cb_rstto_main_window_fullscreen), },
+ { "tb-menu", NULL, NULL, NULL, }
+};
+
+/** Toggle Action Entries */
+static const GtkToggleActionEntry toggle_action_entries[] =
+{
+ /* Toggle visibility of the main file toolbar */
+ { "show-file-toolbar", NULL, N_ ("Show _File Toolbar"), NULL, NULL, G_CALLBACK (cb_rstto_main_window_toggle_show_file_toolbar), TRUE, },
+ /* Toggle visibility of the main navigation toolbar */
+ { "show-nav-toolbar", NULL, N_ ("Show _Navigation Toolbar"), NULL, NULL, G_CALLBACK (cb_rstto_main_window_toggle_show_nav_toolbar), TRUE, },
+ /* Toggle visibility of the thumbnailbar*/
+ { "show-thumbnailbar", NULL, N_ ("Show _Thumbnailbar"), "<control>M", NULL, G_CALLBACK (cb_rstto_main_window_toggle_show_thumbnailbar), TRUE, },
+};
+
+/** Image sorting options*/
+static const GtkRadioActionEntry radio_action_sort_entries[] =
+{
+ /* Sort by Filename */
+ {"sort-filename", NULL, N_("sort by filename"), NULL, NULL, 0},
+ /* Sort by Date*/
+ {"sort-date", NULL, N_("sort by date"), NULL, NULL, 1},
+};
+
+/** Navigationbar+Thumbnailbar positioning options*/
+static const GtkRadioActionEntry radio_action_pos_entries[] =
+{
+ { "pos-left", NULL, N_("Left"), NULL, NULL, 0},
+ { "pos-right", NULL, N_("Right"), NULL, NULL, 1},
+ { "pos-top", NULL, N_("Top"), NULL, NULL, 2},
+ { "pos-bottom", NULL, N_("Bottom"), NULL, NULL, 3},
+};
+
+
GType
-rstto_main_window_get_type ()
+rstto_main_window_get_type (void)
{
static GType rstto_main_window_type = 0;
@@ -303,1907 +374,2073 @@ rstto_main_window_get_type ()
}
static void
-rstto_main_window_init(RsttoMainWindow *window)
+rstto_main_window_init (RsttoMainWindow *window)
{
- window->priv = g_new0(RsttoMainWindowPriv, 1);
- window->priv->zoom_factor = 1.2;
+ GtkAccelGroup *accel_group;
+ GtkWidget *separator;
+ GtkWidget *main_vbox = gtk_vbox_new (FALSE, 0);
+ GtkRecentFilter *recent_filter;
+ guint window_width, window_height;
+
+ GClosure *leave_fullscreen_closure = g_cclosure_new_swap ((GCallback)gtk_window_unfullscreen, window, NULL);
+ GClosure *next_image_closure = g_cclosure_new ((GCallback)cb_rstto_main_window_next_image, window, NULL);
+ GClosure *previous_image_closure = g_cclosure_new ((GCallback)cb_rstto_main_window_previous_image, window, NULL);
+
+ guint navigationbar_position = 3;
- window->priv->mime_dbase = thunar_vfs_mime_database_get_default();
- window->priv->icon_theme = gtk_icon_theme_get_default();
+ gtk_window_set_title (GTK_WINDOW (window), RISTRETTO_APP_TITLE);
- window->priv->settings.scale_to_100 = TRUE;
+ window->priv = g_new0(RsttoMainWindowPriv, 1);
+ window->priv->wallpaper_manager = RSTTO_WALLPAPER_MANAGER (rstto_xfce_wallpaper_manager_new());
+
+ window->priv->iter = NULL;
+
+ window->priv->ui_manager = gtk_ui_manager_new ();
+ window->priv->recent_manager = gtk_recent_manager_get_default();
+ window->priv->settings_manager = rstto_settings_new();
+
+ navigationbar_position = rstto_settings_get_navbar_position (window->priv->settings_manager);
+
+ accel_group = gtk_ui_manager_get_accel_group (window->priv->ui_manager);
+ gtk_window_add_accel_group (GTK_WINDOW (window), accel_group);
+
+ gtk_accel_group_connect_by_path (accel_group, "<Window>/unfullscreen", leave_fullscreen_closure);
+ gtk_accel_group_connect_by_path (accel_group, "<Window>/next-image", next_image_closure);
+ gtk_accel_group_connect_by_path (accel_group, "<Window>/previous-image", previous_image_closure);
+ /* Set default accelerators */
+ gtk_accel_map_change_entry ("<Window>/unfullscreen", GDK_Escape, 0, FALSE);
+ gtk_accel_map_change_entry ("<Window>/next-image", GDK_Page_Down, 0, FALSE);
+ gtk_accel_map_change_entry ("<Window>/previous-image", GDK_Page_Up, 0, FALSE);
+
+ /* Create mergeid's for adding ui-components */
+ window->priv->recent_merge_id = gtk_ui_manager_new_merge_id (window->priv->ui_manager);
+ window->priv->play_merge_id = gtk_ui_manager_new_merge_id (window->priv->ui_manager);
+ window->priv->pause_merge_id = gtk_ui_manager_new_merge_id (window->priv->ui_manager);
+ window->priv->toolbar_play_merge_id = gtk_ui_manager_new_merge_id (window->priv->ui_manager);
+ window->priv->toolbar_pause_merge_id = gtk_ui_manager_new_merge_id (window->priv->ui_manager);
+ window->priv->toolbar_fullscreen_merge_id = gtk_ui_manager_new_merge_id (window->priv->ui_manager);
+ window->priv->toolbar_unfullscreen_merge_id = gtk_ui_manager_new_merge_id (window->priv->ui_manager);
+
+
+ /* Create Play/Pause Slideshow actions */
+ window->priv->play_action = gtk_action_new ("play", "_Play", "Play slideshow", GTK_STOCK_MEDIA_PLAY);
+ window->priv->pause_action = gtk_action_new ("pause", "_Pause", "Pause slideshow", GTK_STOCK_MEDIA_PAUSE);
+
+ /* Create Recently used items Action */
+ window->priv->recent_action = gtk_recent_action_new_for_manager ("document-open-recent", "_Recently used", "Recently used", 0, GTK_RECENT_MANAGER(window->priv->recent_manager));
+
+ gtk_recent_chooser_set_sort_type (GTK_RECENT_CHOOSER (window->priv->recent_action), GTK_RECENT_SORT_MRU);
+
+ /**
+ * Add a filter to the recent-chooser
+ */
+ recent_filter = gtk_recent_filter_new();
+ gtk_recent_filter_add_application (recent_filter, "ristretto");
+ gtk_recent_chooser_add_filter(GTK_RECENT_CHOOSER(window->priv->recent_action), recent_filter);
+
+ /* Add the same accelerator path to play and pause, so the same kb-shortcut will be used for starting and stopping the slideshow */
+ gtk_action_set_accel_path (window->priv->pause_action, "<Actions>/RsttoWindow/play");
+ gtk_action_set_accel_path (window->priv->play_action, "<Actions>/RsttoWindow/play");
+
+ /* Add the play and pause actions to the actiongroup */
+ window->priv->action_group = gtk_action_group_new ("RsttoWindow");
+ gtk_action_group_add_action (window->priv->action_group,
+ window->priv->play_action);
+ gtk_action_group_add_action (window->priv->action_group,
+ window->priv->pause_action);
+ gtk_action_group_add_action (window->priv->action_group,
+ window->priv->recent_action);
+ /* Connect signal-handlers */
+ g_signal_connect(G_OBJECT(window->priv->play_action), "activate", G_CALLBACK(cb_rstto_main_window_play), window);
+ g_signal_connect(G_OBJECT(window->priv->pause_action), "activate", G_CALLBACK(cb_rstto_main_window_pause), window);
+ g_signal_connect(G_OBJECT(window->priv->recent_action), "item-activated", G_CALLBACK(cb_rstto_main_window_open_recent), window);
+
+ gtk_ui_manager_insert_action_group (window->priv->ui_manager, window->priv->action_group, 0);
+
+ gtk_action_group_set_translation_domain (window->priv->action_group, GETTEXT_PACKAGE);
+ gtk_action_group_add_actions (window->priv->action_group, action_entries, G_N_ELEMENTS (action_entries), GTK_WIDGET (window));
+ gtk_action_group_add_toggle_actions (window->priv->action_group, toggle_action_entries, G_N_ELEMENTS (toggle_action_entries), GTK_WIDGET (window));
+ gtk_action_group_add_radio_actions (window->priv->action_group, radio_action_sort_entries , G_N_ELEMENTS (radio_action_sort_entries), 0, G_CALLBACK (cb_rstto_main_window_sorting_function_changed), GTK_WIDGET (window));
+ gtk_action_group_add_radio_actions (window->priv->action_group, radio_action_pos_entries, G_N_ELEMENTS (radio_action_pos_entries), navigationbar_position, G_CALLBACK (cb_rstto_main_window_navigationtoolbar_position_changed), GTK_WIDGET (window));
+
+ gtk_ui_manager_add_ui_from_string (window->priv->ui_manager,main_window_ui, main_window_ui_length, NULL);
+ window->priv->menubar = gtk_ui_manager_get_widget (window->priv->ui_manager, "/main-menu");
+ window->priv->toolbar = gtk_ui_manager_get_widget (window->priv->ui_manager, "/file-toolbar");
+ window->priv->image_list_toolbar = gtk_ui_manager_get_widget (window->priv->ui_manager, "/navigation-toolbar");
+ window->priv->image_viewer_menu = gtk_ui_manager_get_widget (window->priv->ui_manager, "/image-viewer-menu");
+ window->priv->position_menu = gtk_ui_manager_get_widget (window->priv->ui_manager, "/navigation-toolbar-menu");
+
+
+
+ /**
+ * Get the separator toolitem and tell it to expand
+ */
+ separator = gtk_ui_manager_get_widget (window->priv->ui_manager, "/navigation-toolbar/separator-1");
+ gtk_tool_item_set_expand (GTK_TOOL_ITEM (separator), TRUE);
+ gtk_separator_tool_item_set_draw (GTK_SEPARATOR_TOOL_ITEM (separator), FALSE);
+
+ /**
+ * Make the back and forward toolitems important,
+ * when they are, the labels are shown when the toolbar style is 'both-horizontal'
+ */
+ window->priv->back = gtk_ui_manager_get_widget (window->priv->ui_manager, "/navigation-toolbar/back");
+ window->priv->forward = gtk_ui_manager_get_widget (window->priv->ui_manager, "/navigation-toolbar/forward");
+ gtk_tool_item_set_is_important (GTK_TOOL_ITEM (window->priv->back), TRUE);
+ gtk_tool_item_set_is_important (GTK_TOOL_ITEM (window->priv->forward), TRUE);
+ window->priv->picture_viewer = rstto_picture_viewer_new ();
+ window->priv->p_viewer_s_window = gtk_scrolled_window_new (NULL, NULL);
+ gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (window->priv->p_viewer_s_window), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
+ gtk_container_add (GTK_CONTAINER (window->priv->p_viewer_s_window), window->priv->picture_viewer);
- GtkAccelGroup *accel_group = gtk_accel_group_new();
+ rstto_picture_viewer_set_menu (RSTTO_PICTURE_VIEWER (window->priv->picture_viewer), GTK_MENU(window->priv->image_viewer_menu));
+ window->priv->thumbnailbar = rstto_thumbnail_bar_new (NULL);
- gtk_window_set_title(GTK_WINDOW(window), PACKAGE_STRING);
- gtk_window_add_accel_group(GTK_WINDOW(window), accel_group);
+ window->priv->hpaned_left = gtk_hpaned_new();
+ window->priv->hpaned_right = gtk_hpaned_new();
+ window->priv->vpaned_top = gtk_vpaned_new();
+ window->priv->vpaned_bottom = gtk_vpaned_new();
+ window->priv->table = gtk_table_new (3, 3, FALSE);
- window->priv->manager = gtk_recent_manager_get_default();
- window->priv->navigator = rstto_navigator_new(window->priv->manager);
- window->priv->thumbnail_viewer = rstto_thumbnail_bar_new(window->priv->navigator);
- window->priv->picture_viewer = rstto_picture_viewer_new(window->priv->navigator);
+ gtk_paned_pack2 (GTK_PANED (window->priv->hpaned_left), window->priv->hpaned_right, TRUE, FALSE);
+ gtk_paned_pack1 (GTK_PANED (window->priv->hpaned_right), window->priv->vpaned_top, TRUE, FALSE);
+ gtk_paned_pack2 (GTK_PANED (window->priv->vpaned_top), window->priv->vpaned_bottom, TRUE, FALSE);
+ gtk_paned_pack1 (GTK_PANED (window->priv->vpaned_bottom), window->priv->p_viewer_s_window, TRUE, FALSE);
+ gtk_paned_pack2 (GTK_PANED (window->priv->hpaned_right), window->priv->thumbnailbar, FALSE, FALSE);
-/* Set up default settings */
- window->priv->settings.thumbnail_viewer_orientation = GTK_ORIENTATION_HORIZONTAL;
- window->priv->settings.thumbnail_viewer_visibility = TRUE;
-/* Create menu bar */
- window->priv->menus.menu = gtk_menu_bar_new();
-
-/* Create 'File' menu */
- window->priv->menus.menu_item_file = gtk_menu_item_new_with_mnemonic(_("_File"));
- gtk_menu_shell_append(GTK_MENU_SHELL(window->priv->menus.menu), window->priv->menus.menu_item_file);
-
- window->priv->menus.file.menu = gtk_menu_new();
- gtk_menu_set_accel_group(GTK_MENU(window->priv->menus.file.menu), accel_group);
-
- window->priv->menus.file.menu_item_open_file = gtk_image_menu_item_new_from_stock(GTK_STOCK_OPEN, accel_group);
- window->priv->menus.file.menu_item_open_folder = gtk_menu_item_new_with_mnemonic(_("O_pen Folder"));
- window->priv->menus.file.menu_item_open_recently = gtk_menu_item_new_with_mnemonic(_("_Recently used"));
- window->priv->menus.file.menu_item_separator_1 = gtk_separator_menu_item_new();
- window->priv->menus.file.menu_item_file_properties = gtk_image_menu_item_new_from_stock(GTK_STOCK_PROPERTIES, accel_group);
- window->priv->menus.file.menu_item_separator_2 = gtk_separator_menu_item_new();
- window->priv->menus.file.menu_item_close = gtk_image_menu_item_new_from_stock(GTK_STOCK_CLOSE, accel_group);
- window->priv->menus.file.menu_item_close_all = gtk_menu_item_new_with_mnemonic(_("Close _all"));
- window->priv->menus.file.menu_item_quit = gtk_image_menu_item_new_from_stock(GTK_STOCK_QUIT, accel_group);
-
- gtk_menu_item_set_submenu(GTK_MENU_ITEM(window->priv->menus.menu_item_file), window->priv->menus.file.menu);
- gtk_menu_shell_append(GTK_MENU_SHELL(window->priv->menus.file.menu), window->priv->menus.file.menu_item_open_file);
- gtk_menu_shell_append(GTK_MENU_SHELL(window->priv->menus.file.menu), window->priv->menus.file.menu_item_open_folder);
- gtk_menu_shell_append(GTK_MENU_SHELL(window->priv->menus.file.menu), window->priv->menus.file.menu_item_open_recently);
- gtk_menu_shell_append(GTK_MENU_SHELL(window->priv->menus.file.menu), window->priv->menus.file.menu_item_separator_1);
- gtk_menu_shell_append(GTK_MENU_SHELL(window->priv->menus.file.menu), window->priv->menus.file.menu_item_file_properties);
- gtk_menu_shell_append(GTK_MENU_SHELL(window->priv->menus.file.menu), window->priv->menus.file.menu_item_separator_2);
- gtk_menu_shell_append(GTK_MENU_SHELL(window->priv->menus.file.menu), window->priv->menus.file.menu_item_close);
- gtk_menu_shell_append(GTK_MENU_SHELL(window->priv->menus.file.menu), window->priv->menus.file.menu_item_close_all);
- gtk_menu_shell_append(GTK_MENU_SHELL(window->priv->menus.file.menu), window->priv->menus.file.menu_item_quit);
-
- gtk_widget_set_sensitive(window->priv->menus.file.menu_item_close, FALSE);
- gtk_widget_set_sensitive(window->priv->menus.file.menu_item_close_all, FALSE);
- gtk_widget_set_sensitive(window->priv->menus.file.menu_item_file_properties, FALSE);
-
- window->priv->menus.file.recently.menu = gtk_recent_chooser_menu_new_for_manager(GTK_RECENT_MANAGER(window->priv->manager));
- window->priv->menus.file.recently.menu_item_clear = gtk_image_menu_item_new_from_stock(GTK_STOCK_CLEAR, accel_group);
- window->priv->menus.file.recently.menu_item_separator_1 = gtk_separator_menu_item_new();
-
- GtkRecentFilter *filter = gtk_recent_filter_new();
- gtk_recent_filter_add_application(filter, "ristretto");
- gtk_recent_chooser_add_filter(GTK_RECENT_CHOOSER(window->priv->menus.file.recently.menu), filter);
- gtk_menu_item_set_submenu(GTK_MENU_ITEM(window->priv->menus.file.menu_item_open_recently), window->priv->menus.file.recently.menu);
- gtk_menu_shell_append(GTK_MENU_SHELL(window->priv->menus.file.recently.menu), window->priv->menus.file.recently.menu_item_separator_1);
- gtk_menu_shell_append(GTK_MENU_SHELL(window->priv->menus.file.recently.menu), window->priv->menus.file.recently.menu_item_clear);
-
-/* Create 'Edit' menu */
- window->priv->menus.menu_item_edit = gtk_menu_item_new_with_mnemonic(_("_Edit"));
- gtk_menu_shell_append(GTK_MENU_SHELL(window->priv->menus.menu), window->priv->menus.menu_item_edit);
-
- window->priv->menus.edit.menu = gtk_menu_new();
- gtk_menu_set_accel_group(GTK_MENU(window->priv->menus.edit.menu), accel_group);
- window->priv->menus.edit.menu_item_open_with = gtk_menu_item_new_with_mnemonic(_("Open with..."));
- window->priv->menus.edit.menu_item_preferences = gtk_image_menu_item_new_from_stock(GTK_STOCK_PREFERENCES, NULL);
-
- gtk_menu_item_set_submenu(GTK_MENU_ITEM(window->priv->menus.menu_item_edit), window->priv->menus.edit.menu);
- gtk_menu_shell_append(GTK_MENU_SHELL(window->priv->menus.edit.menu), window->priv->menus.edit.menu_item_open_with);
- gtk_menu_shell_append(GTK_MENU_SHELL(window->priv->menus.edit.menu), window->priv->menus.edit.menu_item_preferences);
-
- window->priv->menus.edit.open_with.menu = gtk_menu_new();
- window->priv->menus.edit.open_with.menu_item_empty = gtk_menu_item_new_with_label(_("No applications available"));
+ window->priv->statusbar = gtk_statusbar_new();
+ window->priv->statusbar_context_id = gtk_statusbar_get_context_id (GTK_STATUSBAR(window->priv->statusbar), "image-data");
+ gtk_statusbar_push (GTK_STATUSBAR(window->priv->statusbar),
+ window->priv->statusbar_context_id,
+ _("Press open to select an image"));
+
+
+ gtk_container_add (GTK_CONTAINER (window), main_vbox);
+ gtk_box_pack_start(GTK_BOX(main_vbox), window->priv->menubar, FALSE, FALSE, 0);
+ gtk_box_pack_start(GTK_BOX(main_vbox), window->priv->toolbar, FALSE, FALSE, 0);
+ gtk_box_pack_start(GTK_BOX(main_vbox), window->priv->table, TRUE, TRUE, 0);
+ gtk_box_pack_start(GTK_BOX(main_vbox), window->priv->statusbar, FALSE, FALSE, 0);
+
+ gtk_table_attach_defaults (GTK_TABLE (window->priv->table), window->priv->hpaned_left, 1, 2, 1, 2);
+ gtk_table_attach (GTK_TABLE (window->priv->table), window->priv->image_list_toolbar, 0, 1, 0, 3, GTK_FILL, GTK_EXPAND|GTK_FILL, 0, 0);
+
+ gtk_widget_set_no_show_all (window->priv->toolbar, TRUE);
+ gtk_widget_set_no_show_all (window->priv->image_list_toolbar, TRUE);
+ gtk_widget_set_no_show_all (window->priv->thumbnailbar, TRUE);
+
+ rstto_main_window_set_navigationbar_position (window, navigationbar_position);
+
+ /**
+ * Add missing pieces to the UI
+ */
+ gtk_ui_manager_add_ui (window->priv->ui_manager,
+ window->priv->play_merge_id,
+ "/main-menu/go-menu/placeholder-slideshow",
+ "play",
+ "play",
+ GTK_UI_MANAGER_MENUITEM,
+ FALSE);
+ gtk_ui_manager_add_ui (window->priv->ui_manager,
+ window->priv->recent_merge_id,
+ "/main-menu/file-menu/placeholder-open-recent",
+ "document-open-recent",
+ "document-open-recent",
+ GTK_UI_MANAGER_MENUITEM,
+ FALSE);
+ gtk_ui_manager_add_ui (window->priv->ui_manager,
+ window->priv->toolbar_play_merge_id,
+ "/navigation-toolbar/placeholder-slideshow",
+ "play",
+ "play",
+ GTK_UI_MANAGER_TOOLITEM,
+ FALSE);
+ gtk_ui_manager_add_ui (window->priv->ui_manager,
+ window->priv->toolbar_fullscreen_merge_id,
+ "/navigation-toolbar/placeholder-fullscreen",
+ "fullscreen",
+ "fullscreen",
+ GTK_UI_MANAGER_TOOLITEM,
+ FALSE);
+
+ /**
+ * Retrieve the last window-size from the settings-manager
+ * and make it the default for this window
+ */
+ window_width = rstto_settings_get_uint_property (RSTTO_SETTINGS (window->priv->settings_manager), "window-width");
+ window_height = rstto_settings_get_uint_property (RSTTO_SETTINGS (window->priv->settings_manager), "window-height");
+ gtk_window_set_default_size(GTK_WINDOW(window), window_width, window_height);
+
+ /**
+ * Retrieve the toolbar state from the settings-manager
+ */
+ if (rstto_settings_get_boolean_property (RSTTO_SETTINGS (window->priv->settings_manager), "show-file-toolbar"))
+ {
+ gtk_check_menu_item_set_active (
+ GTK_CHECK_MENU_ITEM (
+ gtk_ui_manager_get_widget (window->priv->ui_manager, "/main-menu/view-menu/show-file-toolbar")),
+ TRUE);
+ gtk_widget_show (window->priv->toolbar);
+ }
+ else
+ {
+ gtk_check_menu_item_set_active (
+ GTK_CHECK_MENU_ITEM (
+ gtk_ui_manager_get_widget (window->priv->ui_manager, "/main-menu/view-menu/show-file-toolbar")),
+ FALSE);
+ gtk_widget_hide (window->priv->toolbar);
+ }
+
+ if (rstto_settings_get_boolean_property (RSTTO_SETTINGS (window->priv->settings_manager), "show-nav-toolbar"))
+ {
+ gtk_check_menu_item_set_active (
+ GTK_CHECK_MENU_ITEM (
+ gtk_ui_manager_get_widget (window->priv->ui_manager, "/main-menu/view-menu/show-nav-toolbar")),
+ TRUE);
+ gtk_widget_show (window->priv->image_list_toolbar);
+ }
+ else
+ {
+ gtk_check_menu_item_set_active (
+ GTK_CHECK_MENU_ITEM (
+ gtk_ui_manager_get_widget (window->priv->ui_manager, "/main-menu/view-menu/show-nav-toolbar")),
+ FALSE);
+ gtk_widget_hide (window->priv->image_list_toolbar);
+ }
- gtk_menu_shell_append(GTK_MENU_SHELL(window->priv->menus.edit.open_with.menu), window->priv->menus.edit.open_with.menu_item_empty);
- gtk_widget_set_sensitive(window->priv->menus.edit.open_with.menu_item_empty, FALSE);
- gtk_widget_ref(window->priv->menus.edit.open_with.menu_item_empty);
+ if (rstto_settings_get_boolean_property (RSTTO_SETTINGS (window->priv->settings_manager), "show-thumbnailbar"))
+ {
+ gtk_check_menu_item_set_active (
+ GTK_CHECK_MENU_ITEM (
+ gtk_ui_manager_get_widget (window->priv->ui_manager, "/main-menu/view-menu/show-thumbnailbar")),
+ TRUE);
+ gtk_widget_show (window->priv->thumbnailbar);
+ }
+ else
+ {
+ gtk_check_menu_item_set_active (
+ GTK_CHECK_MENU_ITEM (
+ gtk_ui_manager_get_widget (window->priv->ui_manager, "/main-menu/view-menu/show-thumbnailbar")),
+ FALSE);
+ gtk_widget_hide (window->priv->thumbnailbar);
+ }
- gtk_menu_item_set_submenu(GTK_MENU_ITEM(window->priv->menus.edit.menu_item_open_with), window->priv->menus.edit.open_with.menu);
+ g_signal_connect(G_OBJECT(window), "motion-notify-event", G_CALLBACK(cb_rstto_main_window_motion_notify_event), window);
+ g_signal_connect(G_OBJECT(window->priv->picture_viewer), "enter-notify-event", G_CALLBACK(cb_rstto_main_window_picture_viewer_enter_notify_event), window);
+ g_signal_connect(G_OBJECT(window), "configure-event", G_CALLBACK(cb_rstto_main_window_configure_event), NULL);
+ g_signal_connect(G_OBJECT(window), "window-state-event", G_CALLBACK(cb_rstto_main_window_state_event), NULL);
+ g_signal_connect(G_OBJECT(window->priv->image_list_toolbar), "button-press-event", G_CALLBACK(cb_rstto_main_window_navigationtoolbar_button_press_event), window);
+ g_signal_connect(G_OBJECT(window->priv->thumbnailbar), "button-press-event", G_CALLBACK(cb_rstto_main_window_navigationtoolbar_button_press_event), window);
-/* Create 'View' menu */
- window->priv->menus.menu_item_view = gtk_menu_item_new_with_mnemonic(_("_View"));
- gtk_menu_shell_append(GTK_MENU_SHELL(window->priv->menus.menu), window->priv->menus.menu_item_view);
+ g_signal_connect(G_OBJECT(window->priv->settings_manager), "notify", G_CALLBACK(cb_rstto_main_window_settings_notify), window);
- window->priv->menus.view.menu = gtk_menu_new();
- gtk_menu_set_accel_group(GTK_MENU(window->priv->menus.view.menu), accel_group);
- gtk_menu_item_set_submenu(GTK_MENU_ITEM(window->priv->menus.menu_item_view), window->priv->menus.view.menu);
+ g_signal_connect(G_OBJECT(window->priv->vpaned_top), "accept-position", G_CALLBACK(cb_rstto_main_window_vpaned_pos_changed), window);
+ g_signal_connect(G_OBJECT(window->priv->vpaned_bottom), "accept-position", G_CALLBACK(cb_rstto_main_window_vpaned_pos_changed), window);
- window->priv->menus.view.menu_item_show_toolbar = gtk_check_menu_item_new_with_mnemonic(_("Show _Toolbar"));
- window->priv->menus.view.menu_item_show_thumbnail_viewer = gtk_menu_item_new_with_mnemonic(_("Thumbnail _Viewer"));
+ gtk_paned_set_position (GTK_PANED(window->priv->vpaned_top), rstto_settings_get_uint_property(window->priv->settings_manager, "thumbnailbar-size"));
+ gtk_paned_set_position (GTK_PANED(window->priv->vpaned_bottom), rstto_settings_get_uint_property(window->priv->settings_manager, "thumbnailbar-size"));
+}
- window->priv->menus.view.menu_item_separator_1 = gtk_separator_menu_item_new();
+static void
+rstto_main_window_class_init(RsttoMainWindowClass *window_class)
+{
+ GParamSpec *pspec;
- window->priv->menus.view.menu_item_zooming = gtk_menu_item_new_with_mnemonic(_("_Zooming"));
- window->priv->menus.view.menu_item_rotate = gtk_menu_item_new_with_mnemonic(_("_Rotate"));
+ GObjectClass *object_class = (GObjectClass*)window_class;
+ parent_class = g_type_class_peek_parent(window_class);
- window->priv->menus.view.menu_item_separator_2 = gtk_separator_menu_item_new();
+ object_class->dispose = rstto_main_window_dispose;
- window->priv->menus.view.menu_item_fullscreen = gtk_image_menu_item_new_from_stock(GTK_STOCK_FULLSCREEN, NULL);
+ object_class->set_property = rstto_main_window_set_property;
+ object_class->get_property = rstto_main_window_get_property;
- GtkWidget *wallpaper_image = gtk_image_new_from_icon_name("preferences-desktop-wallpaper", GTK_ICON_SIZE_MENU);
- window->priv->menus.view.menu_item_set_wallpaper = gtk_image_menu_item_new_with_mnemonic(_("_Set as wallpaper"));
- gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(window->priv->menus.view.menu_item_set_wallpaper), wallpaper_image);
+ pspec = g_param_spec_object ("image_list",
+ "",
+ "",
+ RSTTO_TYPE_IMAGE_LIST,
+ G_PARAM_CONSTRUCT_ONLY | G_PARAM_READWRITE);
-#ifdef WITH_DESKTOP_WALLPAPER
- /** Set xfce-desktop as default when support has been compiled in */
- /* Check if xfdesktop is running */
- {
- gchar selection_name[100];
+ g_object_class_install_property (object_class,
+ PROP_IMAGE_LIST,
+ pspec);
+}
- GdkScreen *gdk_screen = gdk_screen_get_default();
- gint xscreen = gdk_screen_get_number(gdk_screen);
+static void
+rstto_main_window_dispose(GObject *object)
+{
+ RsttoMainWindow *window = RSTTO_MAIN_WINDOW(object);
- g_snprintf(selection_name, 100, XFDESKTOP_SELECTION_FMT, xscreen);
+ if (window->priv->ui_manager)
+ {
+ g_object_unref (window->priv->ui_manager);
+ window->priv->ui_manager = NULL;
+ }
- Atom xfce_selection_atom = XInternAtom (gdk_display, selection_name, False);
- if((XGetSelectionOwner(GDK_DISPLAY(), xfce_selection_atom)))
- {
- if (rstto_has_xfconf_query)
- window->priv->settings.desktop = RSTTO_DESKTOP_XFCE;
- }
- else
+ if (window->priv->settings_manager)
+ {
+ switch (rstto_settings_get_navbar_position (window->priv->settings_manager))
{
- g_debug("xfdesktop is not running");
+ case 0:
+ rstto_settings_set_int_property (window->priv->settings_manager,
+ "thumbnailbar-size",
+ gtk_paned_get_position (GTK_PANED(window->priv->hpaned_left)));
+ break;
+ case 1:
+ rstto_settings_set_int_property (window->priv->settings_manager,
+ "thumbnailbar-size",
+ gtk_paned_get_position (GTK_PANED(window->priv->hpaned_right)));
+ break;
+ case 2:
+ rstto_settings_set_int_property (window->priv->settings_manager,
+ "thumbnailbar-size",
+ gtk_paned_get_position (GTK_PANED(window->priv->vpaned_top)));
+ break;
+ case 3:
+ rstto_settings_set_int_property (window->priv->settings_manager,
+ "thumbnailbar-size",
+ gtk_paned_get_position (GTK_PANED(window->priv->vpaned_bottom)));
+ break;
}
+ g_object_unref (window->priv->settings_manager);
+ window->priv->settings_manager = NULL;
}
-#endif
- gtk_widget_add_accelerator(window->priv->menus.view.menu_item_fullscreen, "activate", accel_group, GDK_F11, 0,GTK_ACCEL_VISIBLE);
- gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(window->priv->menus.view.menu_item_show_toolbar), TRUE);
-
- gtk_menu_shell_append(GTK_MENU_SHELL(window->priv->menus.view.menu), window->priv->menus.view.menu_item_show_toolbar);
- gtk_menu_shell_append(GTK_MENU_SHELL(window->priv->menus.view.menu), window->priv->menus.view.menu_item_show_thumbnail_viewer);
- gtk_menu_shell_append(GTK_MENU_SHELL(window->priv->menus.view.menu), window->priv->menus.view.menu_item_separator_1);
- gtk_menu_shell_append(GTK_MENU_SHELL(window->priv->menus.view.menu), window->priv->menus.view.menu_item_zooming);
- gtk_menu_shell_append(GTK_MENU_SHELL(window->priv->menus.view.menu), window->priv->menus.view.menu_item_rotate);
- gtk_menu_shell_append(GTK_MENU_SHELL(window->priv->menus.view.menu), window->priv->menus.view.menu_item_separator_2);
- gtk_menu_shell_append(GTK_MENU_SHELL(window->priv->menus.view.menu), window->priv->menus.view.menu_item_fullscreen);
- gtk_menu_shell_append(GTK_MENU_SHELL(window->priv->menus.view.menu), window->priv->menus.view.menu_item_set_wallpaper);
-
-/* Create 'View/Show thumbnail-bar' menu */
- window->priv->menus.view.show_thumbnail_viewer.menu = gtk_menu_new();
- gtk_menu_set_accel_group(GTK_MENU(window->priv->menus.view.show_thumbnail_viewer.menu), accel_group);
-
- gtk_menu_item_set_submenu(GTK_MENU_ITEM(window->priv->menus.view.menu_item_show_thumbnail_viewer),
- window->priv->menus.view.show_thumbnail_viewer.menu);
- window->priv->menus.view.show_thumbnail_viewer.
- menu_item_thumbnail_viewer_horizontal = gtk_radio_menu_item_new_with_mnemonic(
- NULL,
- _("Show _Horizontally"));
- window->priv->menus.view.show_thumbnail_viewer.
- menu_item_thumbnail_viewer_vertical = gtk_radio_menu_item_new_with_mnemonic_from_widget(
- GTK_RADIO_MENU_ITEM(window->priv->menus.view.show_thumbnail_viewer.menu_item_thumbnail_viewer_horizontal),
- _("Show _Vertically"));
- window->priv->menus.view.show_thumbnail_viewer.
- menu_item_thumbnail_viewer_hide = gtk_radio_menu_item_new_with_mnemonic_from_widget(
- GTK_RADIO_MENU_ITEM(window->priv->menus.view.show_thumbnail_viewer.menu_item_thumbnail_viewer_horizontal),
- _("H_ide"));
-
- gtk_menu_shell_append(GTK_MENU_SHELL(window->priv->menus.view.show_thumbnail_viewer.menu),
- window->priv->menus.view.show_thumbnail_viewer.menu_item_thumbnail_viewer_horizontal);
- gtk_menu_shell_append(GTK_MENU_SHELL(window->priv->menus.view.show_thumbnail_viewer.menu),
- window->priv->menus.view.show_thumbnail_viewer.menu_item_thumbnail_viewer_vertical);
- gtk_menu_shell_append(GTK_MENU_SHELL(window->priv->menus.view.show_thumbnail_viewer.menu),
- window->priv->menus.view.show_thumbnail_viewer.menu_item_thumbnail_viewer_hide);
-
-/* Create 'view/zooming' menu */
- window->priv->menus.view.zooming.menu = gtk_menu_new();
- gtk_menu_set_accel_group(GTK_MENU(window->priv->menus.view.zooming.menu), accel_group);
-
- gtk_menu_item_set_submenu(GTK_MENU_ITEM(window->priv->menus.view.menu_item_zooming),
- window->priv->menus.view.zooming.menu);
-
- window->priv->menus.view.zooming.menu_item_zoom_in = gtk_image_menu_item_new_from_stock(GTK_STOCK_ZOOM_IN, accel_group);
- window->priv->menus.view.zooming.menu_item_zoom_out = gtk_image_menu_item_new_from_stock(GTK_STOCK_ZOOM_OUT, accel_group);
- window->priv->menus.view.zooming.menu_item_zoom_100 = gtk_image_menu_item_new_from_stock(GTK_STOCK_ZOOM_100, accel_group);
- window->priv->menus.view.zooming.menu_item_zoom_fit = gtk_image_menu_item_new_from_stock(GTK_STOCK_ZOOM_FIT, accel_group);
-
- gtk_menu_shell_append(GTK_MENU_SHELL(window->priv->menus.view.zooming.menu),
- window->priv->menus.view.zooming.menu_item_zoom_in);
- gtk_menu_shell_append(GTK_MENU_SHELL(window->priv->menus.view.zooming.menu),
- window->priv->menus.view.zooming.menu_item_zoom_out);
- gtk_menu_shell_append(GTK_MENU_SHELL(window->priv->menus.view.zooming.menu),
- window->priv->menus.view.zooming.menu_item_zoom_100);
- gtk_menu_shell_append(GTK_MENU_SHELL(window->priv->menus.view.zooming.menu),
- window->priv->menus.view.zooming.menu_item_zoom_fit);
-
-/* Create 'view/rotate' menu */
- window->priv->menus.view.rotate.menu = gtk_menu_new();
- gtk_menu_set_accel_group(GTK_MENU(window->priv->menus.view.rotate.menu), accel_group);
-
- gtk_menu_item_set_submenu(GTK_MENU_ITEM(window->priv->menus.view.menu_item_rotate),
- window->priv->menus.view.rotate.menu);
-
- window->priv->menus.view.rotate.menu_item_rotate_cw = gtk_image_menu_item_new_with_mnemonic(_("Rotate _Right"));
- window->priv->menus.view.rotate.menu_item_rotate_ccw = gtk_image_menu_item_new_with_mnemonic(_("Rotate _Left"));
-
- gtk_widget_add_accelerator(window->priv->menus.view.rotate.menu_item_rotate_cw,
- "activate",
- accel_group,
- GDK_bracketright,
- GDK_CONTROL_MASK,
- GTK_ACCEL_VISIBLE);
- gtk_widget_add_accelerator(window->priv->menus.view.rotate.menu_item_rotate_ccw,
- "activate",
- accel_group,
- GDK_bracketleft,
- GDK_CONTROL_MASK,
- GTK_ACCEL_VISIBLE);
-
- gtk_menu_shell_append(GTK_MENU_SHELL(window->priv->menus.view.rotate.menu),
- window->priv->menus.view.rotate.menu_item_rotate_cw);
- gtk_menu_shell_append(GTK_MENU_SHELL(window->priv->menus.view.rotate.menu),
- window->priv->menus.view.rotate.menu_item_rotate_ccw);
-
-/* Create 'Go' menu */
- window->priv->menus.menu_item_go= gtk_menu_item_new_with_mnemonic(_("_Go"));
- gtk_menu_shell_append(GTK_MENU_SHELL(window->priv->menus.menu), window->priv->menus.menu_item_go);
-
- window->priv->menus.go.menu = gtk_menu_new();
- gtk_menu_set_accel_group(GTK_MENU(window->priv->menus.go.menu), accel_group);
- gtk_menu_item_set_submenu(GTK_MENU_ITEM(window->priv->menus.menu_item_go), window->priv->menus.go.menu);
-
- window->priv->menus.go.menu_item_first = gtk_image_menu_item_new_from_stock(GTK_STOCK_GOTO_FIRST, NULL);
- window->priv->menus.go.menu_item_last = gtk_image_menu_item_new_from_stock(GTK_STOCK_GOTO_LAST, NULL);
- window->priv->menus.go.menu_item_next = gtk_image_menu_item_new_from_stock(GTK_STOCK_GO_FORWARD, NULL);
- window->priv->menus.go.menu_item_previous = gtk_image_menu_item_new_from_stock(GTK_STOCK_GO_BACK, NULL);
- window->priv->menus.go.menu_item_separator_1 = gtk_separator_menu_item_new();
- window->priv->menus.go.menu_item_play = gtk_image_menu_item_new_from_stock(GTK_STOCK_MEDIA_PLAY, accel_group);
- window->priv->menus.go.menu_item_pause = gtk_image_menu_item_new_from_stock(GTK_STOCK_MEDIA_PAUSE, accel_group);
-
- gtk_menu_shell_append(GTK_MENU_SHELL(window->priv->menus.go.menu), window->priv->menus.go.menu_item_next);
- gtk_menu_shell_append(GTK_MENU_SHELL(window->priv->menus.go.menu), window->priv->menus.go.menu_item_previous);
- gtk_menu_shell_append(GTK_MENU_SHELL(window->priv->menus.go.menu), window->priv->menus.go.menu_item_first);
- gtk_menu_shell_append(GTK_MENU_SHELL(window->priv->menus.go.menu), window->priv->menus.go.menu_item_last);
- gtk_menu_shell_append(GTK_MENU_SHELL(window->priv->menus.go.menu), window->priv->menus.go.menu_item_separator_1);
- gtk_menu_shell_append(GTK_MENU_SHELL(window->priv->menus.go.menu), window->priv->menus.go.menu_item_play);
-
- gtk_widget_set_sensitive(window->priv->menus.go.menu_item_first, FALSE);
- gtk_widget_set_sensitive(window->priv->menus.go.menu_item_last, FALSE);
- gtk_widget_set_sensitive(window->priv->menus.go.menu_item_next, FALSE);
- gtk_widget_set_sensitive(window->priv->menus.go.menu_item_previous, FALSE);
- gtk_widget_set_sensitive(window->priv->menus.go.menu_item_play, FALSE);
-
- gtk_widget_set_sensitive(window->priv->menus.view.menu_item_set_wallpaper, FALSE);
-
-/* Create 'Help' menu */
- window->priv->menus.menu_item_help = gtk_menu_item_new_with_mnemonic(_("_Help"));
- gtk_menu_shell_append(GTK_MENU_SHELL(window->priv->menus.menu), window->priv->menus.menu_item_help);
-
- window->priv->menus.help.menu = gtk_menu_new();
- gtk_menu_set_accel_group(GTK_MENU(window->priv->menus.help.menu), accel_group);
-
- window->priv->menus.help.menu_item_about = gtk_image_menu_item_new_from_stock(GTK_STOCK_ABOUT, accel_group);
- gtk_menu_shell_append(GTK_MENU_SHELL(window->priv->menus.help.menu), window->priv->menus.help.menu_item_about);
-
- gtk_menu_item_set_submenu(GTK_MENU_ITEM(window->priv->menus.menu_item_help), window->priv->menus.help.menu);
-
-/* Create toolbar */
- window->priv->toolbar.bar = gtk_toolbar_new();
- window->priv->toolbar.tool_item_open = gtk_tool_button_new_from_stock(GTK_STOCK_OPEN);
- window->priv->toolbar.tool_item_separator_1 = gtk_separator_tool_item_new();
- window->priv->toolbar.tool_item_next = gtk_tool_button_new_from_stock(GTK_STOCK_GO_FORWARD);
- window->priv->toolbar.tool_item_previous = gtk_tool_button_new_from_stock(GTK_STOCK_GO_BACK);
- window->priv->toolbar.tool_item_spacer_1= gtk_tool_item_new();
-
- gtk_tool_item_set_is_important(window->priv->toolbar.tool_item_previous, TRUE);
- gtk_tool_item_set_is_important(window->priv->toolbar.tool_item_next, TRUE);
-
- gtk_tool_item_set_expand(window->priv->toolbar.tool_item_spacer_1, TRUE);
- gtk_tool_item_set_homogeneous(window->priv->toolbar.tool_item_spacer_1, FALSE);
-
- window->priv->toolbar.tool_item_zoom_fit = gtk_tool_button_new_from_stock(GTK_STOCK_ZOOM_FIT);
- window->priv->toolbar.tool_item_zoom_100 = gtk_tool_button_new_from_stock(GTK_STOCK_ZOOM_100);
- window->priv->toolbar.tool_item_zoom_in = gtk_tool_button_new_from_stock(GTK_STOCK_ZOOM_IN);
- window->priv->toolbar.tool_item_zoom_out = gtk_tool_button_new_from_stock(GTK_STOCK_ZOOM_OUT);
-
- gtk_toolbar_insert(GTK_TOOLBAR(window->priv->toolbar.bar), window->priv->toolbar.tool_item_open, 0);
- gtk_toolbar_insert(GTK_TOOLBAR(window->priv->toolbar.bar), window->priv->toolbar.tool_item_separator_1, 1);
- gtk_toolbar_insert(GTK_TOOLBAR(window->priv->toolbar.bar), window->priv->toolbar.tool_item_previous, 2);
- gtk_toolbar_insert(GTK_TOOLBAR(window->priv->toolbar.bar), window->priv->toolbar.tool_item_next, 3);
- gtk_toolbar_insert(GTK_TOOLBAR(window->priv->toolbar.bar), window->priv->toolbar.tool_item_spacer_1, 4);
- gtk_toolbar_insert(GTK_TOOLBAR(window->priv->toolbar.bar), window->priv->toolbar.tool_item_zoom_in, 5);
- gtk_toolbar_insert(GTK_TOOLBAR(window->priv->toolbar.bar), window->priv->toolbar.tool_item_zoom_out, 6);
- gtk_toolbar_insert(GTK_TOOLBAR(window->priv->toolbar.bar), window->priv->toolbar.tool_item_zoom_fit, 7);
- gtk_toolbar_insert(GTK_TOOLBAR(window->priv->toolbar.bar), window->priv->toolbar.tool_item_zoom_100, 8);
-
- gtk_widget_set_sensitive(GTK_WIDGET(window->priv->toolbar.tool_item_previous), FALSE);
- gtk_widget_set_sensitive(GTK_WIDGET(window->priv->toolbar.tool_item_next), FALSE);
- gtk_widget_set_sensitive(GTK_WIDGET(window->priv->toolbar.tool_item_zoom_in), FALSE);
- gtk_widget_set_sensitive(GTK_WIDGET(window->priv->toolbar.tool_item_zoom_out), FALSE);
- gtk_widget_set_sensitive(GTK_WIDGET(window->priv->toolbar.tool_item_zoom_100), FALSE);
- gtk_widget_set_sensitive(GTK_WIDGET(window->priv->toolbar.tool_item_zoom_fit), FALSE);
-
- gtk_widget_set_sensitive(GTK_WIDGET(window->priv->menus.view.zooming.menu_item_zoom_in), FALSE);
- gtk_widget_set_sensitive(GTK_WIDGET(window->priv->menus.view.zooming.menu_item_zoom_out), FALSE);
- gtk_widget_set_sensitive(GTK_WIDGET(window->priv->menus.view.zooming.menu_item_zoom_100), FALSE);
- gtk_widget_set_sensitive(GTK_WIDGET(window->priv->menus.view.zooming.menu_item_zoom_fit), FALSE);
-
- gtk_widget_set_sensitive(GTK_WIDGET(window->priv->menus.view.rotate.menu_item_rotate_cw), FALSE);
- gtk_widget_set_sensitive(GTK_WIDGET(window->priv->menus.view.rotate.menu_item_rotate_ccw), FALSE);
-
-/* Create statusbar */
- window->priv->statusbar = gtk_statusbar_new();
+ G_OBJECT_CLASS (parent_class)->dispose(object);
+}
+
+/**
+ * rstto_main_window_new:
+ * @image_list:
+ *
+ * Return value:
+ */
+GtkWidget *
+rstto_main_window_new (RsttoImageList *image_list, gboolean fullscreen)
+{
+ GtkWidget *widget;
-/* Create containers */
- window->priv->containers.main_vbox = gtk_vbox_new(FALSE, 0);
- window->priv->containers.s_window = gtk_scrolled_window_new(NULL, NULL);
- window->priv->containers.paned = gtk_vbox_new(FALSE, 0);
+ widget = g_object_new (RSTTO_TYPE_MAIN_WINDOW, "image_list", image_list, NULL);
- gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(window->priv->containers.s_window), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
+ if (fullscreen == TRUE)
+ {
+ gtk_window_fullscreen (GTK_WINDOW (widget));
+ }
- gtk_container_add(GTK_CONTAINER(window), window->priv->containers.main_vbox);
- gtk_box_pack_start(GTK_BOX(window->priv->containers.main_vbox), window->priv->menus.menu, FALSE, FALSE, 0);
- gtk_box_pack_start(GTK_BOX(window->priv->containers.main_vbox), window->priv->toolbar.bar, FALSE, FALSE, 0);
+ return widget;
+}
- gtk_container_add(GTK_CONTAINER(window->priv->containers.s_window), window->priv->picture_viewer);
+/**
+ * rstto_main_window_image_list_iter_changed:
+ * @window:
+ *
+ */
+static void
+rstto_main_window_image_list_iter_changed (RsttoMainWindow *window)
+{
+ gchar *path, *path_basename, *title, *status;
+ GFile *file = NULL;
+ GFileInfo *file_info = NULL;
+ RsttoImage *cur_image;
+ gint position, count, width, height;
+ RsttoImageList *image_list = window->priv->props.image_list;
+ GList *app_list, *iter;
+ const gchar *content_type;
+ GtkWidget *open_with_menu = gtk_menu_new();
+ GtkWidget *open_with_window_menu = gtk_menu_new();
+ gtk_menu_item_set_submenu (GTK_MENU_ITEM (gtk_ui_manager_get_widget ( window->priv->ui_manager, "/image-viewer-menu/open-with-menu")), open_with_menu);
+ gtk_menu_item_set_submenu (GTK_MENU_ITEM (gtk_ui_manager_get_widget ( window->priv->ui_manager, "/main-menu/edit-menu/open-with-menu")), open_with_window_menu);
+
+ if (window->priv->props.image_list)
+ {
+ position = rstto_image_list_iter_get_position (window->priv->iter);
+ count = rstto_image_list_get_n_images (image_list);
+ cur_image = rstto_image_list_iter_get_image (window->priv->iter);
+ if (cur_image)
+ {
+ file = rstto_image_get_file (cur_image);
+ file_info = g_file_query_info (file, "standard::content-type", 0, NULL, NULL);
+ content_type = g_file_info_get_content_type (file_info);
+ app_list = g_app_info_get_all_for_type (content_type);
- gtk_box_pack_start(GTK_BOX(window->priv->containers.paned), window->priv->containers.s_window, TRUE, TRUE, 0);
- gtk_box_pack_start(GTK_BOX(window->priv->containers.paned), window->priv->thumbnail_viewer, FALSE, FALSE, 0);
+ for (iter = app_list; iter; iter = g_list_next (iter))
+ {
+ GtkWidget *menu_item = rstto_app_menu_item_new (iter->data, file);
+ gtk_menu_shell_append (GTK_MENU_SHELL (open_with_menu), menu_item);
+ menu_item = rstto_app_menu_item_new (iter->data, file);
+ gtk_menu_shell_append (GTK_MENU_SHELL (open_with_window_menu), menu_item);
+ }
- gtk_box_pack_start(GTK_BOX(window->priv->containers.main_vbox), window->priv->containers.paned, TRUE, TRUE, 0);
+ gtk_widget_show_all (open_with_menu);
+ gtk_widget_show_all (open_with_window_menu);
- gtk_box_pack_end(GTK_BOX(window->priv->containers.main_vbox), window->priv->statusbar, FALSE, FALSE, 0);
+ g_signal_connect (G_OBJECT (cur_image), "updated", G_CALLBACK (cb_rstto_main_window_image_updated), window);
+ width = rstto_image_get_width(cur_image);
+ height = rstto_image_get_height(cur_image);
-/* Create picture viewer menu */
- window->priv->menus._picture_viewer.menu = gtk_menu_new();
- window->priv->menus._picture_viewer.menu_item_open_file = gtk_image_menu_item_new_from_stock(GTK_STOCK_OPEN, NULL);
- window->priv->menus._picture_viewer.menu_item_close = gtk_image_menu_item_new_from_stock(GTK_STOCK_CLOSE, NULL);
- window->priv->menus._picture_viewer.menu_item_separator_1 = gtk_separator_menu_item_new();
+ path = g_file_get_path (file);
+ path_basename = g_path_get_basename (path);
- window->priv->menus._picture_viewer.menu_item_open_with = gtk_menu_item_new_with_mnemonic(_("Open with..."));
+ title = g_strdup_printf ("%s - %s [%d/%d]", RISTRETTO_APP_TITLE, path_basename, position+1, count);
+ if (width > 0)
+ {
+ status = g_strdup_printf ("%d x %d", width, height);
+ }
+ else
+ {
+ status = g_strdup_printf ("Loading '%s'", path_basename);
+ }
- window->priv->menus._picture_viewer.menu_item_separator_2 = gtk_separator_menu_item_new();
+ g_free (path_basename);
+ g_free (path);
+ }
+ else
+ {
+ GtkWidget *menu_item = gtk_image_menu_item_new_with_label (_("Empty"));
+ gtk_menu_shell_append (GTK_MENU_SHELL (open_with_menu), menu_item);
+ gtk_widget_set_sensitive (menu_item, FALSE);
- window->priv->menus._picture_viewer.menu_item_zoom_in = gtk_image_menu_item_new_from_stock(GTK_STOCK_ZOOM_IN, NULL);
- window->priv->menus._picture_viewer.menu_item_zoom_out = gtk_image_menu_item_new_from_stock(GTK_STOCK_ZOOM_OUT, NULL);
- window->priv->menus._picture_viewer.menu_item_zoom_fit = gtk_image_menu_item_new_from_stock(GTK_STOCK_ZOOM_FIT, NULL);
- window->priv->menus._picture_viewer.menu_item_zoom_100 = gtk_image_menu_item_new_from_stock(GTK_STOCK_ZOOM_100, NULL);
+ menu_item = gtk_image_menu_item_new_with_label (_("Empty"));
+ gtk_menu_shell_append (GTK_MENU_SHELL (open_with_window_menu), menu_item);
+ gtk_widget_set_sensitive (menu_item, FALSE);
- window->priv->menus._picture_viewer.open_with.menu = gtk_menu_new();
- window->priv->menus._picture_viewer.open_with.menu_item_empty = gtk_menu_item_new_with_label(_("No applications available"));
+ gtk_widget_show_all (open_with_menu);
+ gtk_widget_show_all (open_with_window_menu);
- gtk_menu_shell_append(GTK_MENU_SHELL(window->priv->menus._picture_viewer.open_with.menu),
- window->priv->menus._picture_viewer.open_with.menu_item_empty);
- gtk_widget_set_sensitive(window->priv->menus._picture_viewer.open_with.menu_item_empty, FALSE);
- gtk_widget_ref(window->priv->menus._picture_viewer.open_with.menu_item_empty);
+ title = g_strdup (RISTRETTO_APP_TITLE);
+ status = g_strdup (_("Press open to select an image"));
+ }
- gtk_menu_item_set_submenu(GTK_MENU_ITEM(window->priv->menus._picture_viewer.menu_item_open_with),
- window->priv->menus._picture_viewer.open_with.menu);
+ rstto_main_window_update_buttons (window);
+ gtk_window_set_title (GTK_WINDOW (window), title);
+ gtk_statusbar_pop (GTK_STATUSBAR (window->priv->statusbar), window->priv->statusbar_context_id);
+ gtk_statusbar_push (GTK_STATUSBAR (window->priv->statusbar), window->priv->statusbar_context_id, status);
- gtk_menu_shell_append(GTK_MENU_SHELL(window->priv->menus._picture_viewer.menu), window->priv->menus._picture_viewer.menu_item_open_file);
- gtk_menu_shell_append(GTK_MENU_SHELL(window->priv->menus._picture_viewer.menu), window->priv->menus._picture_viewer.menu_item_close);
- gtk_menu_shell_append(GTK_MENU_SHELL(window->priv->menus._picture_viewer.menu), window->priv->menus._picture_viewer.menu_item_separator_1);
+ g_free (title);
+ g_free (status);
+ }
- gtk_menu_shell_append(GTK_MENU_SHELL(window->priv->menus._picture_viewer.menu), window->priv->menus._picture_viewer.menu_item_open_with);
+}
- gtk_menu_shell_append(GTK_MENU_SHELL(window->priv->menus._picture_viewer.menu), window->priv->menus._picture_viewer.menu_item_separator_2);
+/**
+ * rstto_main_window_update_buttons:
+ * @window:
+ * @sensitive:
+ *
+ */
+static void
+rstto_main_window_update_buttons (RsttoMainWindow *window)
+{
+ g_return_if_fail (window->priv->props.image_list != NULL);
+ switch (rstto_image_list_get_n_images (window->priv->props.image_list))
+ {
+ case 0:
+ gtk_widget_set_sensitive ( gtk_ui_manager_get_widget ( window->priv->ui_manager, "/main-menu/file-menu/save-copy"), FALSE);
+ /*
+ gtk_widget_set_sensitive ( gtk_ui_manager_get_widget ( window->priv->ui_manager, "/main-menu/file-menu/print"), FALSE);
+ */
+ gtk_widget_set_sensitive ( gtk_ui_manager_get_widget ( window->priv->ui_manager, "/main-menu/file-menu/close"), FALSE);
+ gtk_widget_set_sensitive ( gtk_ui_manager_get_widget ( window->priv->ui_manager, "/main-menu/file-menu/close-all"), FALSE);
+ gtk_widget_set_sensitive ( gtk_ui_manager_get_widget ( window->priv->ui_manager, "/main-menu/edit-menu/delete"), FALSE);
+
+ /* Go Menu */
+ gtk_widget_set_sensitive (gtk_ui_manager_get_widget ( window->priv->ui_manager, "/main-menu/go-menu/forward"), FALSE);
+ gtk_widget_set_sensitive (gtk_ui_manager_get_widget ( window->priv->ui_manager, "/main-menu/go-menu/back"), FALSE);
+ gtk_widget_set_sensitive (gtk_ui_manager_get_widget ( window->priv->ui_manager, "/main-menu/go-menu/first"), FALSE);
+ gtk_widget_set_sensitive (gtk_ui_manager_get_widget ( window->priv->ui_manager, "/main-menu/go-menu/last"), FALSE);
+
+ gtk_action_set_sensitive (window->priv->play_action, FALSE);
+ gtk_action_set_sensitive (window->priv->pause_action, FALSE);
- gtk_menu_shell_append(GTK_MENU_SHELL(window->priv->menus._picture_viewer.menu), window->priv->menus._picture_viewer.menu_item_zoom_in);
- gtk_menu_shell_append(GTK_MENU_SHELL(window->priv->menus._picture_viewer.menu), window->priv->menus._picture_viewer.menu_item_zoom_out);
- gtk_menu_shell_append(GTK_MENU_SHELL(window->priv->menus._picture_viewer.menu), window->priv->menus._picture_viewer.menu_item_zoom_fit);
- gtk_menu_shell_append(GTK_MENU_SHELL(window->priv->menus._picture_viewer.menu), window->priv->menus._picture_viewer.menu_item_zoom_100);
+
+ /* Stop the slideshow if no image is opened */
+ if (window->priv->playing == TRUE)
+ {
+ gtk_ui_manager_add_ui (window->priv->ui_manager, window->priv->play_merge_id, "/main-menu/go-menu/placeholder-slideshow",
+ "play", "play", GTK_UI_MANAGER_MENUITEM, FALSE);
+ gtk_ui_manager_remove_ui (window->priv->ui_manager, window->priv->pause_merge_id);
- gtk_widget_set_sensitive(GTK_WIDGET(window->priv->menus._picture_viewer.menu_item_close), FALSE);
- gtk_widget_set_sensitive(GTK_WIDGET(window->priv->menus._picture_viewer.menu_item_zoom_in), FALSE);
- gtk_widget_set_sensitive(GTK_WIDGET(window->priv->menus._picture_viewer.menu_item_zoom_out), FALSE);
- gtk_widget_set_sensitive(GTK_WIDGET(window->priv->menus._picture_viewer.menu_item_zoom_100), FALSE);
- gtk_widget_set_sensitive(GTK_WIDGET(window->priv->menus._picture_viewer.menu_item_zoom_fit), FALSE);
+ gtk_ui_manager_add_ui (window->priv->ui_manager, window->priv->toolbar_play_merge_id, "/navigation-toolbar/placeholder-slideshow",
+ "play", "play", GTK_UI_MANAGER_TOOLITEM, FALSE);
+ gtk_ui_manager_remove_ui (window->priv->ui_manager, window->priv->toolbar_pause_merge_id);
- rstto_picture_viewer_set_menu(RSTTO_PICTURE_VIEWER(window->priv->picture_viewer),
- GTK_MENU(window->priv->menus._picture_viewer.menu));
-/* D-Bus stuff */
+ window->priv->playing = FALSE;
+ }
+
- window->priv->connection = dbus_g_bus_get(DBUS_BUS_SESSION, NULL);
- if (window->priv->connection)
- {
- window->priv->filemanager_proxy = dbus_g_proxy_new_for_name(window->priv->connection,
- "org.xfce.FileManager",
- "/org/xfce/FileManager",
- "org.xfce.FileManager");
- }
+ /* View Menu */
+ gtk_widget_set_sensitive (gtk_ui_manager_get_widget (window->priv->ui_manager, "/main-menu/view-menu/set-as-wallpaper"), FALSE);
+ gtk_widget_set_sensitive (gtk_ui_manager_get_widget (window->priv->ui_manager, "/main-menu/view-menu/zoom-menu"), FALSE);
+ gtk_widget_set_sensitive (gtk_ui_manager_get_widget (window->priv->ui_manager, "/main-menu/view-menu/rotation-menu"), FALSE);
+
+ /* Toolbar */
+ gtk_widget_set_sensitive (gtk_ui_manager_get_widget (window->priv->ui_manager, "/file-toolbar/save-copy"), FALSE);
+ gtk_widget_set_sensitive (gtk_ui_manager_get_widget (window->priv->ui_manager, "/file-toolbar/close"), FALSE);
+ gtk_widget_set_sensitive (gtk_ui_manager_get_widget (window->priv->ui_manager, "/file-toolbar/delete"), FALSE);
+ gtk_widget_set_sensitive (gtk_ui_manager_get_widget (window->priv->ui_manager, "/navigation-toolbar/forward"), FALSE);
+ gtk_widget_set_sensitive (gtk_ui_manager_get_widget (window->priv->ui_manager, "/navigation-toolbar/back"), FALSE);
+ gtk_widget_set_sensitive (gtk_ui_manager_get_widget (window->priv->ui_manager, "/navigation-toolbar/zoom-in"), FALSE);
+ gtk_widget_set_sensitive (gtk_ui_manager_get_widget (window->priv->ui_manager, "/navigation-toolbar/zoom-out"), FALSE);
+ gtk_widget_set_sensitive (gtk_ui_manager_get_widget (window->priv->ui_manager, "/navigation-toolbar/zoom-fit"), FALSE);
+ gtk_widget_set_sensitive (gtk_ui_manager_get_widget (window->priv->ui_manager, "/navigation-toolbar/zoom-100"), FALSE);
+ gtk_widget_set_sensitive (gtk_ui_manager_get_widget (window->priv->ui_manager, "/navigation-toolbar/rotate-ccw"), FALSE);
+ gtk_widget_set_sensitive (gtk_ui_manager_get_widget (window->priv->ui_manager, "/navigation-toolbar/rotate-cw"), FALSE);
+
+ /* Image Viewer popup-menu */
+ gtk_widget_set_sensitive ( gtk_ui_manager_get_widget ( window->priv->ui_manager, "/image-viewer-menu/close"), FALSE);
+ gtk_widget_set_sensitive ( gtk_ui_manager_get_widget ( window->priv->ui_manager, "/image-viewer-menu/open-with-menu"), FALSE);
+ gtk_widget_set_sensitive ( gtk_ui_manager_get_widget ( window->priv->ui_manager, "/image-viewer-menu/zoom-in"), FALSE);
+ gtk_widget_set_sensitive ( gtk_ui_manager_get_widget ( window->priv->ui_manager, "/image-viewer-menu/zoom-out"), FALSE);
+ gtk_widget_set_sensitive ( gtk_ui_manager_get_widget ( window->priv->ui_manager, "/image-viewer-menu/zoom-100"), FALSE);
+ gtk_widget_set_sensitive ( gtk_ui_manager_get_widget ( window->priv->ui_manager, "/image-viewer-menu/zoom-fit"), FALSE);
+ break;
+ case 1:
+ gtk_widget_set_sensitive ( gtk_ui_manager_get_widget ( window->priv->ui_manager, "/main-menu/file-menu/save-copy"), TRUE);
+ /*
+ gtk_widget_set_sensitive ( gtk_ui_manager_get_widget ( window->priv->ui_manager, "/main-menu/file-menu/print"), TRUE);
+ */
+ gtk_widget_set_sensitive ( gtk_ui_manager_get_widget ( window->priv->ui_manager, "/main-menu/file-menu/close"), TRUE);
+ gtk_widget_set_sensitive ( gtk_ui_manager_get_widget ( window->priv->ui_manager, "/main-menu/file-menu/close-all"), FALSE);
+ gtk_widget_set_sensitive ( gtk_ui_manager_get_widget ( window->priv->ui_manager, "/main-menu/edit-menu/delete"), TRUE);
+
+ /* Go Menu */
+ gtk_widget_set_sensitive (gtk_ui_manager_get_widget ( window->priv->ui_manager, "/main-menu/go-menu/forward"), FALSE);
+ gtk_widget_set_sensitive (gtk_ui_manager_get_widget ( window->priv->ui_manager, "/main-menu/go-menu/back"), FALSE);
+ gtk_widget_set_sensitive (gtk_ui_manager_get_widget ( window->priv->ui_manager, "/main-menu/go-menu/first"), FALSE);
+ gtk_widget_set_sensitive (gtk_ui_manager_get_widget ( window->priv->ui_manager, "/main-menu/go-menu/last"), FALSE);
+
+ gtk_action_set_sensitive (window->priv->play_action, FALSE);
+ gtk_action_set_sensitive (window->priv->pause_action, FALSE);
+
+ /* Stop the slideshow if only one image is opened */
+ if (window->priv->playing == TRUE)
+ {
+ gtk_ui_manager_add_ui (window->priv->ui_manager, window->priv->play_merge_id, "/main-menu/go-menu/placeholder-slideshow",
+ "play", "play", GTK_UI_MANAGER_MENUITEM, FALSE);
+ gtk_ui_manager_remove_ui (window->priv->ui_manager, window->priv->pause_merge_id);
-/* Connect signals */
-
- /* Thumbnail-viewer */
- g_signal_connect(window->priv->menus.view.show_thumbnail_viewer.menu_item_thumbnail_viewer_horizontal,
- "activate",
- G_CALLBACK(cb_rstto_main_window_thumbnail_viewer_horizontal), window);
- g_signal_connect(window->priv->menus.view.show_thumbnail_viewer.menu_item_thumbnail_viewer_vertical,
- "activate",
- G_CALLBACK(cb_rstto_main_window_thumbnail_viewer_vertical), window);
- g_signal_connect(window->priv->menus.view.show_thumbnail_viewer.menu_item_thumbnail_viewer_hide,
- "activate",
- G_CALLBACK(cb_rstto_main_window_thumbnail_viewer_hide), window);
-
- /* Toolbar show/hide */
- g_signal_connect(window->priv->menus.view.menu_item_show_toolbar,
- "activate",
- G_CALLBACK(cb_rstto_main_window_toggle_toolbar), window);
-
- /* Fullscreen */
- g_signal_connect(window->priv->menus.view.menu_item_fullscreen,
- "activate",
- G_CALLBACK(cb_rstto_main_window_toggle_fullscreen), window);
-
- /* Set Wallpaper */
-#ifdef WITH_DESKTOP_WALLPAPER
- g_signal_connect(window->priv->menus.view.menu_item_set_wallpaper,
- "activate",
- G_CALLBACK(cb_rstto_main_window_set_wallpaper), window);
-#endif
+ gtk_ui_manager_add_ui (window->priv->ui_manager, window->priv->toolbar_play_merge_id, "/navigation-toolbar/placeholder-slideshow",
+ "play", "play", GTK_UI_MANAGER_TOOLITEM, FALSE);
+ gtk_ui_manager_remove_ui (window->priv->ui_manager, window->priv->toolbar_pause_merge_id);
- /* Play / Pause */
- g_signal_connect(window->priv->menus.go.menu_item_play,
- "activate",
- G_CALLBACK(cb_rstto_main_window_play), window);
- g_signal_connect(window->priv->menus.go.menu_item_pause,
- "activate",
- G_CALLBACK(cb_rstto_main_window_pause), window);
-
- /* Window events */
- g_signal_connect(G_OBJECT(window),
- "window-state-event",
- G_CALLBACK(cb_rstto_main_window_state_event), NULL);
- g_signal_connect(G_OBJECT(window),
- "key-press-event",
- G_CALLBACK(cb_rstto_main_window_key_press_event), NULL);
-
- /* Generic menu signals */
- g_signal_connect(window->priv->menus.file.menu_item_open_file,
- "activate",
- G_CALLBACK(cb_rstto_main_window_open_file), window);
- g_signal_connect(window->priv->menus.file.menu_item_open_folder,
- "activate",
- G_CALLBACK(cb_rstto_main_window_open_folder), window);
- g_signal_connect(window->priv->menus.file.menu_item_close,
- "activate",
- G_CALLBACK(cb_rstto_main_window_close), window);
- g_signal_connect(window->priv->menus.file.menu_item_close_all,
- "activate",
- G_CALLBACK(cb_rstto_main_window_close_all), window);
- g_signal_connect(G_OBJECT(window->priv->menus.file.recently.menu),
- "item-activated",
- G_CALLBACK(cb_rstto_main_window_open_recent), window);
- g_signal_connect(window->priv->menus.file.menu_item_file_properties,
- "activate",
- G_CALLBACK(cb_rstto_main_window_file_properties), window);
- g_signal_connect(window->priv->menus.file.menu_item_quit,
- "activate",
- G_CALLBACK(cb_rstto_main_window_quit), window);
- g_signal_connect(window->priv->menus.file.recently.menu_item_clear,
- "activate",
- G_CALLBACK(cb_rstto_main_window_clear_recent), window);
- g_signal_connect(window->priv->menus.help.menu_item_about,
- "activate",
- G_CALLBACK(cb_rstto_main_window_about), window);
-
- g_signal_connect(window->priv->menus.edit.menu_item_preferences,
- "activate",
- G_CALLBACK(cb_rstto_main_window_preferences), window);
-
-/* zoom menu items */
- g_signal_connect(window->priv->menus.view.zooming.menu_item_zoom_in,
- "activate",
- G_CALLBACK(cb_rstto_main_window_zoom_in), window);
- g_signal_connect(window->priv->menus.view.zooming.menu_item_zoom_out,
- "activate",
- G_CALLBACK(cb_rstto_main_window_zoom_out), window);
- g_signal_connect(window->priv->menus.view.zooming.menu_item_zoom_100,
- "activate",
- G_CALLBACK(cb_rstto_main_window_zoom_100), window);
- g_signal_connect(window->priv->menus.view.zooming.menu_item_zoom_fit,
- "activate",
- G_CALLBACK(cb_rstto_main_window_zoom_fit), window);
-/* rotate menu items */
- g_signal_connect(window->priv->menus.view.rotate.menu_item_rotate_cw,
- "activate",
- G_CALLBACK(cb_rstto_main_window_rotate_cw), window);
- g_signal_connect(window->priv->menus.view.rotate.menu_item_rotate_ccw,
- "activate",
- G_CALLBACK(cb_rstto_main_window_rotate_ccw), window);
-
-/* go menu items */
- g_signal_connect(window->priv->menus.go.menu_item_next,
- "activate",
- G_CALLBACK(cb_rstto_main_window_next), window);
- g_signal_connect(window->priv->menus.go.menu_item_previous,
- "activate",
- G_CALLBACK(cb_rstto_main_window_previous), window);
- g_signal_connect(window->priv->menus.go.menu_item_first,
- "activate",
- G_CALLBACK(cb_rstto_main_window_first), window);
- g_signal_connect(window->priv->menus.go.menu_item_last,
- "activate",
- G_CALLBACK(cb_rstto_main_window_last), window);
-
- /* Toolbar signals */
- g_signal_connect(window->priv->toolbar.tool_item_open,
- "clicked",
- G_CALLBACK(cb_rstto_main_window_open_folder), window);
- g_signal_connect(window->priv->toolbar.tool_item_next,
- "clicked",
- G_CALLBACK(cb_rstto_main_window_next), window);
- g_signal_connect(window->priv->toolbar.tool_item_previous,
- "clicked",
- G_CALLBACK(cb_rstto_main_window_previous), window);
-
- g_signal_connect(window->priv->toolbar.tool_item_zoom_in,
- "clicked",
- G_CALLBACK(cb_rstto_main_window_zoom_in), window);
- g_signal_connect(window->priv->toolbar.tool_item_zoom_out,
- "clicked",
- G_CALLBACK(cb_rstto_main_window_zoom_out), window);
- g_signal_connect(window->priv->toolbar.tool_item_zoom_100,
- "clicked",
- G_CALLBACK(cb_rstto_main_window_zoom_100), window);
- g_signal_connect(window->priv->toolbar.tool_item_zoom_fit,
- "clicked",
- G_CALLBACK(cb_rstto_main_window_zoom_fit), window);
-
- /* Picture viewer menu */
- g_signal_connect(window->priv->menus._picture_viewer.menu_item_open_file,
- "activate",
- G_CALLBACK(cb_rstto_main_window_open_file), window);
- g_signal_connect(window->priv->menus._picture_viewer.menu_item_close,
- "activate",
- G_CALLBACK(cb_rstto_main_window_close), window);
+ window->priv->playing = FALSE;
+ }
- g_signal_connect(window->priv->menus._picture_viewer.menu_item_zoom_in,
- "activate",
- G_CALLBACK(cb_rstto_main_window_zoom_in), window);
- g_signal_connect(window->priv->menus._picture_viewer.menu_item_zoom_out,
- "activate",
- G_CALLBACK(cb_rstto_main_window_zoom_out), window);
- g_signal_connect(window->priv->menus._picture_viewer.menu_item_zoom_100,
- "activate",
- G_CALLBACK(cb_rstto_main_window_zoom_100), window);
- g_signal_connect(window->priv->menus._picture_viewer.menu_item_zoom_fit,
- "activate",
- G_CALLBACK(cb_rstto_main_window_zoom_fit), window);
- /* Misc */
- g_signal_connect(G_OBJECT(window->priv->navigator),
- "iter-changed",
- G_CALLBACK(cb_rstto_main_window_nav_iter_changed), window);
- g_signal_connect(G_OBJECT(window->priv->navigator),
- "new-entry",
- G_CALLBACK(cb_rstto_main_window_nav_new_entry), window);
-}
-static void
-rstto_main_window_class_init(RsttoMainWindowClass *window_class)
-{
- GObjectClass *object_class = (GObjectClass*)window_class;
- parent_class = g_type_class_peek_parent(window_class);
+ /* View Menu */
+ if (rstto_wallpaper_manager_check_running (window->priv->wallpaper_manager))
+ {
+ gtk_widget_set_sensitive (gtk_ui_manager_get_widget (window->priv->ui_manager, "/main-menu/view-menu/set-as-wallpaper"), TRUE);
+ }
+ gtk_widget_set_sensitive (gtk_ui_manager_get_widget (window->priv->ui_manager, "/main-menu/view-menu/zoom-menu"), TRUE);
+ gtk_widget_set_sensitive (gtk_ui_manager_get_widget (window->priv->ui_manager, "/main-menu/view-menu/rotation-menu"), TRUE);
+
+ /* Toolbar */
+ gtk_widget_set_sensitive (gtk_ui_manager_get_widget (window->priv->ui_manager, "/file-toolbar/save-copy"), TRUE);
+ gtk_widget_set_sensitive (gtk_ui_manager_get_widget (window->priv->ui_manager, "/file-toolbar/close"), TRUE);
+ gtk_widget_set_sensitive (gtk_ui_manager_get_widget (window->priv->ui_manager, "/file-toolbar/delete"), TRUE);
+ gtk_widget_set_sensitive (gtk_ui_manager_get_widget (window->priv->ui_manager, "/navigation-toolbar/forward"), FALSE);
+ gtk_widget_set_sensitive (gtk_ui_manager_get_widget (window->priv->ui_manager, "/navigation-toolbar/back"), FALSE);
+ gtk_widget_set_sensitive (gtk_ui_manager_get_widget (window->priv->ui_manager, "/navigation-toolbar/zoom-in"), TRUE);
+ gtk_widget_set_sensitive (gtk_ui_manager_get_widget (window->priv->ui_manager, "/navigation-toolbar/zoom-out"), TRUE);
+ gtk_widget_set_sensitive (gtk_ui_manager_get_widget (window->priv->ui_manager, "/navigation-toolbar/zoom-fit"), TRUE);
+ gtk_widget_set_sensitive (gtk_ui_manager_get_widget (window->priv->ui_manager, "/navigation-toolbar/zoom-100"), TRUE);
+ gtk_widget_set_sensitive (gtk_ui_manager_get_widget (window->priv->ui_manager, "/navigation-toolbar/rotate-ccw"), TRUE);
+ gtk_widget_set_sensitive (gtk_ui_manager_get_widget (window->priv->ui_manager, "/navigation-toolbar/rotate-cw"), TRUE);
+
+ /* Image Viewer popup-menu */
+ gtk_widget_set_sensitive ( gtk_ui_manager_get_widget ( window->priv->ui_manager, "/image-viewer-menu/close"), TRUE);
+ gtk_widget_set_sensitive ( gtk_ui_manager_get_widget ( window->priv->ui_manager, "/image-viewer-menu/open-with-menu"), TRUE);
+ gtk_widget_set_sensitive ( gtk_ui_manager_get_widget ( window->priv->ui_manager, "/image-viewer-menu/zoom-in"), TRUE);
+ gtk_widget_set_sensitive ( gtk_ui_manager_get_widget ( window->priv->ui_manager, "/image-viewer-menu/zoom-out"), TRUE);
+ gtk_widget_set_sensitive ( gtk_ui_manager_get_widget ( window->priv->ui_manager, "/image-viewer-menu/zoom-100"), TRUE);
+ gtk_widget_set_sensitive ( gtk_ui_manager_get_widget ( window->priv->ui_manager, "/image-viewer-menu/zoom-fit"), TRUE);
+ break;
+ default:
+ gtk_widget_set_sensitive ( gtk_ui_manager_get_widget ( window->priv->ui_manager, "/main-menu/file-menu/save-copy"), TRUE);
+ /*
+ gtk_widget_set_sensitive ( gtk_ui_manager_get_widget ( window->priv->ui_manager, "/main-menu/file-menu/print"), TRUE);
+ */
+ gtk_widget_set_sensitive ( gtk_ui_manager_get_widget ( window->priv->ui_manager, "/main-menu/file-menu/close"), TRUE);
+ gtk_widget_set_sensitive ( gtk_ui_manager_get_widget ( window->priv->ui_manager, "/main-menu/file-menu/close-all"), TRUE);
+ gtk_widget_set_sensitive ( gtk_ui_manager_get_widget ( window->priv->ui_manager, "/main-menu/edit-menu/delete"), TRUE);
+
+ /* Go Menu */
+ gtk_widget_set_sensitive (gtk_ui_manager_get_widget ( window->priv->ui_manager, "/main-menu/go-menu/forward"), TRUE);
+ gtk_widget_set_sensitive (gtk_ui_manager_get_widget ( window->priv->ui_manager, "/main-menu/go-menu/back"), TRUE);
+ gtk_widget_set_sensitive (gtk_ui_manager_get_widget ( window->priv->ui_manager, "/main-menu/go-menu/first"), TRUE);
+ gtk_widget_set_sensitive (gtk_ui_manager_get_widget ( window->priv->ui_manager, "/main-menu/go-menu/last"), TRUE);
+
+ gtk_action_set_sensitive (window->priv->play_action, TRUE);
+ gtk_action_set_sensitive (window->priv->pause_action, TRUE);
+
- object_class->dispose = rstto_main_window_dispose;
+ /* View Menu */
+ if (rstto_wallpaper_manager_check_running (window->priv->wallpaper_manager))
+ {
+ gtk_widget_set_sensitive (gtk_ui_manager_get_widget (window->priv->ui_manager, "/main-menu/view-menu/set-as-wallpaper"), TRUE);
+ }
+ gtk_widget_set_sensitive (gtk_ui_manager_get_widget (window->priv->ui_manager, "/main-menu/view-menu/zoom-menu"), TRUE);
+ gtk_widget_set_sensitive (gtk_ui_manager_get_widget (window->priv->ui_manager, "/main-menu/view-menu/rotation-menu"), TRUE);
+
+ /* Toolbar */
+ gtk_widget_set_sensitive (gtk_ui_manager_get_widget (window->priv->ui_manager, "/file-toolbar/save-copy"), TRUE);
+ gtk_widget_set_sensitive (gtk_ui_manager_get_widget (window->priv->ui_manager, "/file-toolbar/close"), TRUE);
+ gtk_widget_set_sensitive (gtk_ui_manager_get_widget (window->priv->ui_manager, "/file-toolbar/delete"), TRUE);
+ gtk_widget_set_sensitive (gtk_ui_manager_get_widget (window->priv->ui_manager, "/navigation-toolbar/forward"), TRUE);
+ gtk_widget_set_sensitive (gtk_ui_manager_get_widget (window->priv->ui_manager, "/navigation-toolbar/back"), TRUE);
+ gtk_widget_set_sensitive (gtk_ui_manager_get_widget (window->priv->ui_manager, "/navigation-toolbar/zoom-in"), TRUE);
+ gtk_widget_set_sensitive (gtk_ui_manager_get_widget (window->priv->ui_manager, "/navigation-toolbar/zoom-out"), TRUE);
+ gtk_widget_set_sensitive (gtk_ui_manager_get_widget (window->priv->ui_manager, "/navigation-toolbar/zoom-fit"), TRUE);
+ gtk_widget_set_sensitive (gtk_ui_manager_get_widget (window->priv->ui_manager, "/navigation-toolbar/zoom-100"), TRUE);
+ gtk_widget_set_sensitive (gtk_ui_manager_get_widget (window->priv->ui_manager, "/navigation-toolbar/rotate-ccw"), TRUE);
+ gtk_widget_set_sensitive (gtk_ui_manager_get_widget (window->priv->ui_manager, "/navigation-toolbar/rotate-cw"), TRUE);
+
+ gtk_widget_set_sensitive ( gtk_ui_manager_get_widget ( window->priv->ui_manager, "/image-viewer-menu/close"), TRUE);
+ gtk_widget_set_sensitive ( gtk_ui_manager_get_widget ( window->priv->ui_manager, "/image-viewer-menu/open-with-menu"), TRUE);
+ gtk_widget_set_sensitive ( gtk_ui_manager_get_widget ( window->priv->ui_manager, "/image-viewer-menu/zoom-in"), TRUE);
+ gtk_widget_set_sensitive ( gtk_ui_manager_get_widget ( window->priv->ui_manager, "/image-viewer-menu/zoom-out"), TRUE);
+ gtk_widget_set_sensitive ( gtk_ui_manager_get_widget ( window->priv->ui_manager, "/image-viewer-menu/zoom-100"), TRUE);
+ gtk_widget_set_sensitive ( gtk_ui_manager_get_widget ( window->priv->ui_manager, "/image-viewer-menu/zoom-fit"), TRUE);
+ break;
+ }
}
+/**
+ * rstto_main_window_set_property:
+ * @object:
+ * @property_id:
+ * @value:
+ * @pspec:
+ *
+ */
static void
-rstto_main_window_dispose(GObject *object)
+rstto_main_window_set_property (GObject *object,
+ guint property_id,
+ const GValue *value,
+ GParamSpec *pspec)
{
- RsttoMainWindow *window = RSTTO_MAIN_WINDOW(object);
- RsttoNavigator *navigator = window->priv->navigator;
- if (navigator)
+ RsttoMainWindow *window = RSTTO_MAIN_WINDOW (object);
+
+ switch (property_id)
{
-#if 0
- GList *iter, *modified_files = NULL;
-
- for (iter = navigator->file_list; iter != NULL; iter = iter->next)
- {
- if (rstto_navigator_entry_get_orientation_changed ((RsttoNavigatorEntry *)iter->data))
+ case PROP_IMAGE_LIST:
+ if (window->priv->props.image_list)
{
- modified_files = g_list_append (modified_files, iter->data);
+ g_signal_handlers_disconnect_by_func (window->priv->props.image_list, cb_rstto_main_window_image_list_new_image, window);
+ g_object_unref (window->priv->props.image_list);
+
+ g_signal_handlers_disconnect_by_func (window->priv->iter, cb_rstto_main_window_image_list_iter_changed, window);
+ g_object_unref (window->priv->iter);
+ window->priv->iter = NULL;
}
- }
- if (modified_files)
- {
- GtkWidget *dialog = gtk_message_dialog_new (NULL, 0, GTK_MESSAGE_QUESTION, GTK_BUTTONS_OK_CANCEL, _("The orientation of one or more images has been modified, do you want to save the changes?"));
- if (gtk_dialog_run (GTK_DIALOG(dialog)) == GTK_RESPONSE_OK)
+ window->priv->props.image_list = g_value_get_object (value);
+
+ if (window->priv->props.image_list)
{
- gtk_widget_hide(dialog);
- GtkWidget *save_dialog = rstto_save_dialog_new (GTK_WINDOW(window), modified_files);
- if (gtk_dialog_run (GTK_DIALOG(save_dialog)) == GTK_RESPONSE_OK)
- {
-
- }
+ g_object_ref (window->priv->props.image_list);
+ g_signal_connect (G_OBJECT (window->priv->props.image_list), "new-image", G_CALLBACK (cb_rstto_main_window_image_list_new_image), window);
+
+ window->priv->iter = rstto_image_list_get_iter (window->priv->props.image_list);
+ g_signal_connect (G_OBJECT (window->priv->iter), "changed", G_CALLBACK (cb_rstto_main_window_image_list_iter_changed), window);
+ rstto_thumbnail_bar_set_image_list (RSTTO_THUMBNAIL_BAR (window->priv->thumbnailbar), window->priv->props.image_list);
+ rstto_thumbnail_bar_set_iter (RSTTO_THUMBNAIL_BAR (window->priv->thumbnailbar), window->priv->iter);
+ rstto_picture_viewer_set_iter (RSTTO_PICTURE_VIEWER (window->priv->picture_viewer), window->priv->iter);
+ rstto_main_window_update_buttons (window);
}
- }
-#endif
- g_object_unref(window->priv->navigator);
- window->priv->navigator = NULL;
+ break;
+ default:
+ break;
+ }
+}
+
+/**
+ * rstto_main_window_get_property:
+ * @object:
+ * @property_id:
+ * @value:
+ * @pspec:
+ *
+ */
+static void
+rstto_main_window_get_property (GObject *object,
+ guint property_id,
+ GValue *value,
+ GParamSpec *pspec)
+{
+ RsttoMainWindow *window = RSTTO_MAIN_WINDOW (object);
+
+ switch (property_id)
+ {
+ case PROP_IMAGE_LIST:
+ g_value_set_object (value, window->priv->props.image_list);
+ break;
+ default:
+ break;
}
- G_OBJECT_CLASS (parent_class)->dispose(object);
}
static gboolean
-rstto_main_window_clear_recent(RsttoMainWindow *window)
+rstto_window_save_geometry_timer (gpointer user_data)
{
- GList *items = gtk_recent_manager_get_items(window->priv->manager);
- GList *iter = items;
- while(iter)
+ GtkWindow *window = GTK_WINDOW(user_data);
+ gint width = 0;
+ gint height = 0;
+ /* check if the window is still visible */
+ if (GTK_WIDGET_VISIBLE (window))
{
- if(gtk_recent_info_has_application(iter->data, "ristretto"))
+ /* determine the current state of the window */
+ gint state = gdk_window_get_state (GTK_WIDGET (window)->window);
+
+ /* don't save geometry for maximized or fullscreen windows */
+ if ((state & (GDK_WINDOW_STATE_MAXIMIZED | GDK_WINDOW_STATE_FULLSCREEN)) == 0)
{
- gtk_recent_manager_remove_item(window->priv->manager, gtk_recent_info_get_uri(iter->data), NULL);
+ /* determine the current width/height of the window... */
+ gtk_window_get_size (GTK_WINDOW (window), &width, &height);
+
+ /* ...and remember them as default for new windows */
+ g_object_set (G_OBJECT (RSTTO_MAIN_WINDOW(window)->priv->settings_manager),
+ "window-width", width,
+ "window-height", height,
+ NULL);
}
- iter = g_list_next(iter);
}
return FALSE;
}
+static gboolean
+rstto_window_open_image_timer (gpointer user_data)
+{
+ RsttoMainWindow *window = RSTTO_MAIN_WINDOW (user_data);
+ window->priv->open_image_timer_id = 0;
+ return FALSE;
+}
-GtkWidget *
-rstto_main_window_new()
+static void
+rstto_main_window_set_navigationbar_position (RsttoMainWindow *window, guint orientation)
{
- GtkWidget *widget;
+ rstto_settings_set_navbar_position (window->priv->settings_manager, orientation);
+
+ switch (orientation)
+ {
+ case 0: /* Left */
+ g_object_ref (window->priv->image_list_toolbar);
+ g_object_ref (window->priv->thumbnailbar);
- widget = g_object_new(RSTTO_TYPE_MAIN_WINDOW, NULL);
+ gtk_tool_button_set_stock_id (GTK_TOOL_BUTTON(window->priv->back), GTK_STOCK_GO_UP);
+ gtk_tool_button_set_stock_id (GTK_TOOL_BUTTON(window->priv->forward), GTK_STOCK_GO_DOWN);
- return widget;
-}
-void
-rstto_main_window_set_thumbnail_viewer_orientation(RsttoMainWindow *window, GtkOrientation orientation)
-{
- window->priv->settings.thumbnail_viewer_orientation = orientation;
+ gtk_container_remove (GTK_CONTAINER (gtk_widget_get_parent (window->priv->thumbnailbar)), window->priv->thumbnailbar);
+ gtk_paned_pack1 (GTK_PANED (window->priv->hpaned_left), window->priv->thumbnailbar, FALSE, FALSE);
- gtk_widget_ref(window->priv->thumbnail_viewer);
- gtk_widget_ref(window->priv->containers.s_window);
- gtk_container_remove(GTK_CONTAINER(window->priv->containers.paned), window->priv->thumbnail_viewer);
- gtk_container_remove(GTK_CONTAINER(window->priv->containers.paned), window->priv->containers.s_window);
- gtk_widget_destroy(window->priv->containers.paned);
+ gtk_container_remove (GTK_CONTAINER (window->priv->table), window->priv->image_list_toolbar);
+ gtk_table_attach (GTK_TABLE (window->priv->table), window->priv->image_list_toolbar, 0, 1, 0, 3, GTK_FILL, GTK_EXPAND|GTK_FILL, 0, 0);
+ gtk_toolbar_set_orientation (GTK_TOOLBAR (window->priv->image_list_toolbar), GTK_ORIENTATION_VERTICAL);
+ rstto_thumbnail_bar_set_orientation (RSTTO_THUMBNAIL_BAR(window->priv->thumbnailbar), GTK_ORIENTATION_VERTICAL);
+ break;
+ case 1: /* Right */
+ g_object_ref (window->priv->image_list_toolbar);
+ g_object_ref (window->priv->thumbnailbar);
- rstto_thumbnail_bar_set_orientation(RSTTO_THUMBNAIL_BAR(window->priv->thumbnail_viewer), orientation);
+ gtk_tool_button_set_stock_id (GTK_TOOL_BUTTON(window->priv->back), GTK_STOCK_GO_UP);
+ gtk_tool_button_set_stock_id (GTK_TOOL_BUTTON(window->priv->forward), GTK_STOCK_GO_DOWN);
- switch (orientation)
- {
- case GTK_ORIENTATION_HORIZONTAL:
- window->priv->containers.paned = gtk_vbox_new(FALSE, 0);
+
+ gtk_container_remove (GTK_CONTAINER (gtk_widget_get_parent (window->priv->thumbnailbar)), window->priv->thumbnailbar);
+ gtk_paned_pack2 (GTK_PANED (window->priv->hpaned_right), window->priv->thumbnailbar, FALSE, FALSE);
+
+ gtk_container_remove (GTK_CONTAINER (window->priv->table), window->priv->image_list_toolbar);
+ gtk_table_attach (GTK_TABLE (window->priv->table), window->priv->image_list_toolbar, 2, 3, 0, 3, GTK_FILL,GTK_EXPAND|GTK_FILL, 0, 0);
+ gtk_toolbar_set_orientation (GTK_TOOLBAR (window->priv->image_list_toolbar), GTK_ORIENTATION_VERTICAL);
+ rstto_thumbnail_bar_set_orientation (RSTTO_THUMBNAIL_BAR(window->priv->thumbnailbar), GTK_ORIENTATION_VERTICAL);
break;
- case GTK_ORIENTATION_VERTICAL:
- window->priv->containers.paned = gtk_hbox_new(FALSE, 0);
+ case 2: /* Top */
+ g_object_ref (window->priv->image_list_toolbar);
+ g_object_ref (window->priv->thumbnailbar);
+
+ gtk_tool_button_set_stock_id (GTK_TOOL_BUTTON(window->priv->back), GTK_STOCK_GO_BACK);
+ gtk_tool_button_set_stock_id (GTK_TOOL_BUTTON(window->priv->forward), GTK_STOCK_GO_FORWARD);
+
+
+ gtk_container_remove (GTK_CONTAINER (gtk_widget_get_parent (window->priv->thumbnailbar)), window->priv->thumbnailbar);
+ gtk_paned_pack1 (GTK_PANED (window->priv->vpaned_top), window->priv->thumbnailbar, FALSE, FALSE);
+
+ gtk_container_remove (GTK_CONTAINER (window->priv->table), window->priv->image_list_toolbar);
+ gtk_table_attach (GTK_TABLE (window->priv->table), window->priv->image_list_toolbar, 0, 3, 0, 1, GTK_EXPAND|GTK_FILL,GTK_FILL, 0, 0);
+ gtk_toolbar_set_orientation (GTK_TOOLBAR (window->priv->image_list_toolbar), GTK_ORIENTATION_HORIZONTAL);
+ rstto_thumbnail_bar_set_orientation (RSTTO_THUMBNAIL_BAR(window->priv->thumbnailbar), GTK_ORIENTATION_HORIZONTAL);
break;
- }
-
- gtk_box_pack_start(GTK_BOX(window->priv->containers.paned), window->priv->containers.s_window, TRUE, TRUE, 0);
- gtk_box_pack_start(GTK_BOX(window->priv->containers.paned), window->priv->thumbnail_viewer, FALSE, FALSE, 0);
+ case 3: /* Bottom */
+ g_object_ref (window->priv->image_list_toolbar);
+ g_object_ref (window->priv->thumbnailbar);
+
+ gtk_tool_button_set_stock_id (GTK_TOOL_BUTTON(window->priv->back), GTK_STOCK_GO_BACK);
+ gtk_tool_button_set_stock_id (GTK_TOOL_BUTTON(window->priv->forward), GTK_STOCK_GO_FORWARD);
- gtk_box_pack_start(GTK_BOX(window->priv->containers.main_vbox), window->priv->containers.paned, TRUE, TRUE, 0);
- gtk_box_reorder_child(GTK_BOX(window->priv->containers.main_vbox), window->priv->containers.paned, -2);
- gtk_widget_show(window->priv->containers.paned);
+ gtk_container_remove (GTK_CONTAINER (gtk_widget_get_parent (window->priv->thumbnailbar)), window->priv->thumbnailbar);
+ gtk_paned_pack2 (GTK_PANED (window->priv->vpaned_bottom), window->priv->thumbnailbar, FALSE, FALSE);
+ gtk_container_remove (GTK_CONTAINER (window->priv->table), window->priv->image_list_toolbar);
+ gtk_table_attach (GTK_TABLE (window->priv->table), window->priv->image_list_toolbar, 0, 3, 2, 3, GTK_EXPAND|GTK_FILL,GTK_FILL, 0, 0);
+ gtk_toolbar_set_orientation (GTK_TOOLBAR (window->priv->image_list_toolbar), GTK_ORIENTATION_HORIZONTAL);
+ rstto_thumbnail_bar_set_orientation (RSTTO_THUMBNAIL_BAR(window->priv->thumbnailbar), GTK_ORIENTATION_HORIZONTAL);
+ break;
+ default:
+ break;
+ }
}
-void
-rstto_main_window_set_show_thumbnail_viewer(RsttoMainWindow *window, gboolean visibility)
+
+/************************/
+/** **/
+/** Callback functions **/
+/** **/
+/************************/
+
+static void
+cb_rstto_main_window_navigationtoolbar_button_press_event (GtkWidget *widget, GdkEventButton *event, gpointer user_data)
{
- window->priv->settings.thumbnail_viewer_visibility = visibility;
- if (visibility == TRUE)
+ int button, event_time;
+ RsttoMainWindow *window = RSTTO_MAIN_WINDOW (user_data);
+ GtkWidget *menu = NULL;
+ if (event->button == 3 && event->type == GDK_BUTTON_PRESS)
{
- switch(rstto_thumbnail_bar_get_orientation(RSTTO_THUMBNAIL_BAR(window->priv->thumbnail_viewer)))
+ if (event)
{
- case GTK_ORIENTATION_HORIZONTAL:
- gtk_check_menu_item_set_active(
- GTK_CHECK_MENU_ITEM(window->priv->menus.view.show_thumbnail_viewer.menu_item_thumbnail_viewer_horizontal),
- TRUE);
- break;
- case GTK_ORIENTATION_VERTICAL:
- gtk_check_menu_item_set_active(
- GTK_CHECK_MENU_ITEM(window->priv->menus.view.show_thumbnail_viewer.menu_item_thumbnail_viewer_vertical),
- TRUE);
- break;
+ button = event->button;
+ event_time = event->time;
}
-
- }
- else
- {
- gtk_check_menu_item_set_active(
- GTK_CHECK_MENU_ITEM(window->priv->menus.view.show_thumbnail_viewer.menu_item_thumbnail_viewer_hide),
- TRUE);
+ else
+ {
+ button = 0;
+ event_time = gtk_get_current_event_time ();
+ }
+
+
+ menu = window->priv->position_menu;
+ gtk_menu_popup (GTK_MENU (menu), NULL, NULL, NULL, NULL,
+ button, event_time);
}
}
-void
-rstto_main_window_set_show_toolbar (RsttoMainWindow *window, gboolean visibility)
+static void
+cb_rstto_main_window_image_list_iter_changed (RsttoImageListIter *iter, RsttoMainWindow *window)
{
- window->priv->settings.toolbar_visibility = visibility;
- gtk_check_menu_item_set_active(
- GTK_CHECK_MENU_ITEM(window->priv->menus.view.menu_item_show_toolbar),
- visibility);
+ rstto_main_window_image_list_iter_changed (window);
}
-gboolean
-rstto_main_window_get_show_toolbar (RsttoMainWindow *window)
+static void
+cb_rstto_main_window_sorting_function_changed (GtkRadioAction *action, GtkRadioAction *current, RsttoMainWindow *window)
{
- return window->priv->settings.toolbar_visibility;
-}
-
-gboolean
-rstto_main_window_get_show_thumbnail_viewer (RsttoMainWindow *window)
-{
- return window->priv->settings.thumbnail_viewer_visibility;
+ switch (gtk_radio_action_get_current_value (current))
+ {
+ case 0: /* Sort by filename */
+ default:
+ rstto_image_list_set_sort_by_name (window->priv->props.image_list);
+ break;
+ case 1: /* Sort by date */
+ rstto_image_list_set_sort_by_date (window->priv->props.image_list);
+ break;
+ }
}
-GtkOrientation
-rstto_main_window_get_thumbnail_viewer_orientation (RsttoMainWindow *window)
+static void
+cb_rstto_main_window_navigationtoolbar_position_changed (GtkRadioAction *action, GtkRadioAction *current, RsttoMainWindow *window)
{
- return window->priv->settings.thumbnail_viewer_orientation;
+ rstto_main_window_set_navigationbar_position (window, gtk_radio_action_get_current_value (current));
}
-RsttoNavigator *
-rstto_main_window_get_navigator (RsttoMainWindow *window)
+static void
+cb_rstto_main_window_set_as_wallpaper (GtkWidget *widget, RsttoMainWindow *window)
{
- return window->priv->navigator;
-}
+ RsttoImage *image = NULL;
+ if (window->priv->iter)
+ image = rstto_image_list_iter_get_image (window->priv->iter);
+ g_return_if_fail (image);
-GtkRecentManager *
-rstto_main_window_get_recent_manager (RsttoMainWindow *window)
-{
- return window->priv->manager;
+ if (rstto_wallpaper_manager_check_running (window->priv->wallpaper_manager))
+ {
+ if (rstto_wallpaper_manager_configure_dialog_run (window->priv->wallpaper_manager, image) == GTK_RESPONSE_OK)
+ {
+ rstto_wallpaper_manager_set (window->priv->wallpaper_manager, image);
+ }
+ }
}
-gdouble
-rstto_main_window_get_slideshow_timeout (RsttoMainWindow *window)
+static void
+cb_rstto_main_window_state_event(GtkWidget *widget, GdkEventWindowState *event, gpointer user_data)
{
- return window->priv->settings.slideshow_timeout;
-}
+ RsttoMainWindow *window = RSTTO_MAIN_WINDOW(widget);
-gboolean
-rstto_main_window_get_hide_thumbnail (RsttoMainWindow *window)
-{
- return window->priv->settings.slideshow_hide_thumbnail;
-}
+ if(event->changed_mask & GDK_WINDOW_STATE_FULLSCREEN)
+ {
+ if(event->new_window_state & GDK_WINDOW_STATE_FULLSCREEN)
+ {
+ gtk_widget_hide (window->priv->menubar);
+ gtk_widget_hide (window->priv->toolbar);
+ gtk_widget_hide (window->priv->statusbar);
+ if (window->priv->fs_toolbar_sticky)
+ {
+ if (window->priv->show_fs_toolbar_timeout_id > 0)
+ {
+ g_source_remove (window->priv->show_fs_toolbar_timeout_id);
+ window->priv->show_fs_toolbar_timeout_id = 0;
+ }
+ window->priv->show_fs_toolbar_timeout_id = g_timeout_add (3000, (GSourceFunc)cb_rstto_main_window_show_fs_toolbar_timeout, window);
+ }
+ else
+ {
+ gtk_widget_hide (window->priv->image_list_toolbar);
+ }
-gint
-rstto_main_window_get_max_cache_size (RsttoMainWindow *window)
-{
- return window->priv->settings.max_cache_size;
-}
+ if (rstto_settings_get_boolean_property (window->priv->settings_manager, "hide-thumbnailbar-fullscreen"))
+ {
+ gtk_widget_hide (window->priv->thumbnailbar);
+ }
-void
-rstto_main_window_set_slideshow_timeout (RsttoMainWindow *window, gdouble timeout)
-{
- window->priv->settings.slideshow_timeout = timeout;
- rstto_navigator_set_timeout(window->priv->navigator, timeout);
-}
+ gtk_ui_manager_add_ui (window->priv->ui_manager,
+ window->priv->toolbar_unfullscreen_merge_id,
+ "/navigation-toolbar/placeholder-fullscreen",
+ "unfullscreen",
+ "unfullscreen",
+ GTK_UI_MANAGER_TOOLITEM,
+ FALSE);
+ gtk_ui_manager_remove_ui (window->priv->ui_manager,
+ window->priv->toolbar_fullscreen_merge_id);
+ }
+ else
+ {
+ gtk_ui_manager_add_ui (window->priv->ui_manager,
+ window->priv->toolbar_fullscreen_merge_id,
+ "/navigation-toolbar/placeholder-fullscreen",
+ "fullscreen",
+ "fullscreen",
+ GTK_UI_MANAGER_TOOLITEM,
+ FALSE);
+ gtk_ui_manager_remove_ui (window->priv->ui_manager,
+ window->priv->toolbar_unfullscreen_merge_id);
+ if (window->priv->show_fs_toolbar_timeout_id > 0)
+ {
+ g_source_remove (window->priv->show_fs_toolbar_timeout_id);
+ window->priv->show_fs_toolbar_timeout_id = 0;
+ }
+ gtk_widget_show (window->priv->image_list_toolbar);
+ gtk_widget_show (window->priv->menubar);
+ gtk_widget_show (window->priv->statusbar);
-void
-rstto_main_window_set_hide_thumbnail (RsttoMainWindow *window, gboolean hide)
-{
- window->priv->settings.slideshow_hide_thumbnail = hide;
-}
+ if (rstto_settings_get_boolean_property (RSTTO_SETTINGS (window->priv->settings_manager), "show-file-toolbar"))
+ gtk_widget_show (window->priv->toolbar);
-void
-rstto_main_window_set_start_fullscreen (RsttoMainWindow *window, gboolean fullscreen)
-{
- window->priv->settings.start_fullscreen = fullscreen;
-}
+ if (rstto_settings_get_boolean_property (RSTTO_SETTINGS (window->priv->settings_manager), "show-nav-toolbar"))
+ gtk_widget_show (window->priv->image_list_toolbar);
+ else
+ gtk_widget_hide(window->priv->image_list_toolbar);
-void
-rstto_main_window_set_start_slideshow (RsttoMainWindow *window, gboolean slideshow)
-{
- window->priv->settings.start_slideshow = slideshow;
+ if (rstto_settings_get_boolean_property (window->priv->settings_manager, "show-thumbnailbar"))
+ {
+ gtk_widget_show (window->priv->thumbnailbar);
+ }
+
+ }
+ }
+ if (event->changed_mask & GDK_WINDOW_STATE_MAXIMIZED)
+ {
+ }
}
-void
-rstto_main_window_force_fullscreen (RsttoMainWindow *window)
+static gboolean
+cb_rstto_main_window_motion_notify_event (RsttoMainWindow *window,
+ GdkEventMotion *event,
+ gpointer user_data)
{
- if(gdk_window_get_state(GTK_WIDGET(window)->window) | GDK_WINDOW_STATE_FULLSCREEN)
- gtk_window_fullscreen(GTK_WINDOW(window));
-}
+ gint width, height;
+ if(gdk_window_get_state(GTK_WIDGET(window)->window) & GDK_WINDOW_STATE_FULLSCREEN)
+ {
+ gdk_drawable_get_size (GDK_DRAWABLE(GTK_WIDGET(window)->window), &width, &height);
-void
-rstto_main_window_force_slideshow (RsttoMainWindow *window)
-{
- gtk_widget_activate(window->priv->menus.go.menu_item_play);
-}
+ if ((event->x_root == 0) || (event->y_root == 0) || (((gint)event->x_root) == (width-1)) || (((gint)event->y_root) == (height-1)))
+ {
+ gtk_widget_show (window->priv->image_list_toolbar);
+ window->priv->fs_toolbar_sticky = TRUE;
-void
-rstto_main_window_set_max_cache_size (RsttoMainWindow *window, gint max_cache_size)
-{
- window->priv->settings.max_cache_size = max_cache_size;
- rstto_navigator_set_max_history_size(window->priv->navigator, (guint64)max_cache_size * 1000000);
+ if (window->priv->show_fs_toolbar_timeout_id > 0)
+ {
+ g_source_remove (window->priv->show_fs_toolbar_timeout_id);
+ window->priv->show_fs_toolbar_timeout_id = 0;
+ }
+ }
+ }
+ return TRUE;
}
-void
-rstto_main_window_set_scale_to_100 (RsttoMainWindow *window, gboolean scale_to_100)
+static gboolean
+cb_rstto_main_window_picture_viewer_enter_notify_event (GtkWidget *widget,
+ GdkEventCrossing *event,
+ gpointer user_data)
{
- window->priv->settings.scale_to_100 = scale_to_100;
-}
+ RsttoMainWindow *window = RSTTO_MAIN_WINDOW (user_data);
+ if(gdk_window_get_state(GTK_WIDGET(window)->window) & GDK_WINDOW_STATE_FULLSCREEN)
+ {
+ window->priv->fs_toolbar_sticky = FALSE;
+ if (window->priv->show_fs_toolbar_timeout_id > 0)
+ {
+ g_source_remove (window->priv->show_fs_toolbar_timeout_id);
+ window->priv->show_fs_toolbar_timeout_id = 0;
+ }
+ window->priv->show_fs_toolbar_timeout_id = g_timeout_add (2000, (GSourceFunc)cb_rstto_main_window_show_fs_toolbar_timeout, window);
+ }
-gboolean
-rstto_main_window_get_scale_to_100 (RsttoMainWindow *window)
-{
- return window->priv->settings.scale_to_100;
+ return TRUE;
}
-/* CALLBACK FUNCTIONS */
-
-static void
-cb_rstto_main_window_thumbnail_viewer_horizontal(GtkWidget *widget, RsttoMainWindow *window)
+static gboolean
+cb_rstto_main_window_show_fs_toolbar_timeout (RsttoMainWindow *window)
{
- window->priv->settings.thumbnail_viewer_visibility = TRUE;
- gtk_widget_show(window->priv->thumbnail_viewer);
- rstto_main_window_set_thumbnail_viewer_orientation(window, GTK_ORIENTATION_HORIZONTAL);
+ gtk_widget_hide (window->priv->image_list_toolbar);
+ return FALSE;
}
static void
-cb_rstto_main_window_thumbnail_viewer_vertical(GtkWidget *widget, RsttoMainWindow *window)
+cb_rstto_main_window_settings_notify (GObject *settings, GParamSpec *spec, RsttoMainWindow *window)
{
- window->priv->settings.thumbnail_viewer_visibility = TRUE;
- gtk_widget_show(window->priv->thumbnail_viewer);
- rstto_main_window_set_thumbnail_viewer_orientation(window, GTK_ORIENTATION_VERTICAL);
+ GValue val = {0,};
+ g_return_if_fail (RSTTO_IS_SETTINGS (settings));
+ g_return_if_fail (RSTTO_IS_MAIN_WINDOW (window));
+
+ g_value_init (&val, spec->value_type);
+ g_object_get_property (settings, spec->name, &val);
+
+
+ g_value_unset (&val);
}
+/**
+ * cb_rstto_main_window_play:
+ * @widget:
+ * @window:
+ *
+ * Remove the play button from the menu, and add the pause button.
+ *
+ */
static void
-cb_rstto_main_window_thumbnail_viewer_hide(GtkWidget *widget, RsttoMainWindow *window)
+cb_rstto_main_window_play (GtkWidget *widget, RsttoMainWindow *window)
{
- window->priv->settings.thumbnail_viewer_visibility = FALSE;
- gtk_widget_hide(window->priv->thumbnail_viewer);
+ GValue timeout = {0, };
+
+ gtk_ui_manager_add_ui (window->priv->ui_manager,
+ window->priv->pause_merge_id,
+ "/main-menu/go-menu/placeholder-slideshow",
+ "pause",
+ "pause",
+ GTK_UI_MANAGER_MENUITEM,
+ FALSE);
+ gtk_ui_manager_remove_ui (window->priv->ui_manager,
+ window->priv->play_merge_id);
+
+ gtk_ui_manager_add_ui (window->priv->ui_manager,
+ window->priv->toolbar_pause_merge_id,
+ "/navigation-toolbar/placeholder-slideshow",
+ "pause",
+ "pause",
+ GTK_UI_MANAGER_TOOLITEM,
+ FALSE);
+ gtk_ui_manager_remove_ui (window->priv->ui_manager,
+ window->priv->toolbar_play_merge_id);
+
+
+ g_value_init (&timeout, G_TYPE_UINT);
+ g_object_get_property (G_OBJECT(window->priv->settings_manager), "slideshow-timeout", &timeout);
+
+ window->priv->playing = TRUE;
+ window->priv->play_timeout_id = g_timeout_add (g_value_get_uint (&timeout)*1000, (GSourceFunc)cb_rstto_main_window_play_slideshow, window);
}
+/**
+ * cb_rstto_main_window_pause:
+ * @widget:
+ * @window:
+ *
+ * Remove the pause button from the menu, and add the play button.
+ *
+ */
static void
-cb_rstto_main_window_toggle_fullscreen(GtkWidget *widget, RsttoMainWindow *window)
+cb_rstto_main_window_pause (GtkWidget *widget, RsttoMainWindow *window)
+{
+ gtk_ui_manager_add_ui (window->priv->ui_manager,
+ window->priv->play_merge_id,
+ "/main-menu/go-menu/placeholder-slideshow",
+ "play",
+ "play",
+ GTK_UI_MANAGER_MENUITEM,
+ FALSE);
+ gtk_ui_manager_remove_ui (window->priv->ui_manager,
+ window->priv->pause_merge_id);
+
+ gtk_ui_manager_add_ui (window->priv->ui_manager,
+ window->priv->toolbar_play_merge_id,
+ "/navigation-toolbar/placeholder-slideshow",
+ "play",
+ "play",
+ GTK_UI_MANAGER_TOOLITEM,
+ FALSE);
+ gtk_ui_manager_remove_ui (window->priv->ui_manager,
+ window->priv->toolbar_pause_merge_id);
+
+ window->priv->playing = FALSE;
+}
+
+/**
+ * cb_rstto_main_window_play_slideshow:
+ * @window:
+ *
+ */
+static gboolean
+cb_rstto_main_window_play_slideshow (RsttoMainWindow *window)
{
- if(gdk_window_get_state(GTK_WIDGET(window)->window) & GDK_WINDOW_STATE_FULLSCREEN)
+ RsttoImageListIter *preload_iter = NULL;
+ GValue max_size = {0,};
+
+ if (window->priv->playing)
{
- gtk_window_unfullscreen(GTK_WINDOW(window));
+ rstto_image_list_iter_next (window->priv->iter);
+ if (rstto_settings_get_boolean_property(window->priv->settings_manager, "preload-images"))
+ {
+ g_value_init (&max_size, G_TYPE_UINT);
+ g_object_get_property (G_OBJECT(window->priv->settings_manager), "image-quality", &max_size);
+
+ preload_iter = rstto_image_list_iter_clone (window->priv->iter);
+
+ rstto_image_list_iter_next (preload_iter);
+ rstto_image_load (rstto_image_list_iter_get_image (preload_iter), TRUE, g_value_get_uint (&max_size), TRUE, NULL);
+
+ g_value_reset(&max_size);
+ g_object_unref (preload_iter);
+ }
+ rstto_main_window_image_list_iter_changed (window);
}
else
{
- gtk_window_fullscreen(GTK_WINDOW(window));
+ window->priv->play_timeout_id = 0;
}
+ return window->priv->playing;
}
+/**
+ * cb_rstto_main_window_fullscreen:
+ * @widget:
+ * @window:
+ *
+ * Toggle the fullscreen mode of this window.
+ *
+ */
static void
-cb_rstto_main_window_toggle_toolbar(GtkWidget *widget, RsttoMainWindow *window)
+cb_rstto_main_window_fullscreen (GtkWidget *widget, RsttoMainWindow *window)
{
- gboolean active = gtk_check_menu_item_get_active (GTK_CHECK_MENU_ITEM(widget));
-
- window->priv->settings.toolbar_visibility = active;
-
- if (active == TRUE)
+ if(gdk_window_get_state(GTK_WIDGET(window)->window) & GDK_WINDOW_STATE_FULLSCREEN)
{
- gtk_widget_show(window->priv->toolbar.bar);
+ gtk_window_unfullscreen(GTK_WINDOW(window));
}
else
{
- gtk_widget_hide(window->priv->toolbar.bar);
+ gtk_window_fullscreen(GTK_WINDOW(window));
}
}
-#ifdef WITH_DESKTOP_WALLPAPER
+/**
+ * cb_rstto_main_window_preferences:
+ * @widget:
+ * @window:
+ *
+ *
+ */
static void
-cb_rstto_main_window_set_wallpaper(GtkWidget *widget, RsttoMainWindow *window)
+cb_rstto_main_window_preferences (GtkWidget *widget, RsttoMainWindow *window)
{
- RsttoNavigatorEntry *entry = rstto_navigator_get_file(window->priv->navigator);
- ThunarVfsInfo *info = rstto_navigator_entry_get_info(entry);
- gchar *path = thunar_vfs_path_dup_string(info->path);
-
- GdkScreen *gdk_screen = gdk_screen_get_default();
- gint screen = gdk_screen_get_number(gdk_screen);
- gint monitor = gdk_screen_get_monitor_at_window(gdk_screen, GTK_WIDGET(window)->window);
-
- gchar *image_path_prop = NULL;
- gchar *image_show_prop = NULL;
- gchar *image_style_prop = NULL;
- gchar *command = NULL;
+ GValue val1 = {0,};
+ GValue val2 = {0,};
+ GtkWidget *dialog = rstto_preferences_dialog_new (GTK_WINDOW (window));
- switch (window->priv->settings.desktop)
- {
- case RSTTO_DESKTOP_XFCE:
- {
-
- /*
- * Retrieve the screen and monitor number where the main ristretto window is running,
- * set the wallpaper there.
- */
- image_path_prop = g_strdup_printf("/backdrop/screen%d/monitor%d/image-path", screen, monitor);
- image_show_prop = g_strdup_printf("/backdrop/screen%d/monitor%d/image-show", screen, monitor);
- image_style_prop = g_strdup_printf("/backdrop/screen%d/monitor%d/image-style", screen, monitor);
+ g_value_init (&val1, G_TYPE_UINT);
+ g_value_init (&val2, G_TYPE_UINT);
- command = g_strdup_printf ("xfconf-query -c xfce4-desktop -p %s --create -t string -s %s", image_path_prop, path);
- g_spawn_command_line_async (command, NULL);
- g_free (command);
- command = g_strdup_printf ("xfconf-query -c xfce4-desktop -p %s --create -t bool -s true", image_show_prop);
- g_spawn_command_line_async (command, NULL);
- g_free (command);
+ g_object_get_property (G_OBJECT (window->priv->settings_manager), "image-quality", &val1);
- command = g_strdup_printf ("xfconf-query -c xfce4-desktop -p %s --create -t int -s 4", image_style_prop);
- g_spawn_command_line_async (command, NULL);
- g_free (command);
+ gtk_dialog_run (GTK_DIALOG (dialog));
- }
- break;
- default:
- g_debug("not supported");
- break;
- }
- if (image_path_prop)
- g_free(image_path_prop);
- if (image_show_prop)
- g_free(image_show_prop);
- if (image_style_prop)
- g_free(image_style_prop);
- if (path)
- g_free(path);
-}
-#endif
+ g_object_get_property (G_OBJECT (window->priv->settings_manager), "image-quality", &val2);
-static gboolean
-cb_rstto_main_window_key_press_event(GtkWidget *widget, GdkEventKey *event, gpointer user_data)
-{
- GtkWindow *window = GTK_WINDOW(widget);
- RsttoMainWindow *rstto_window = RSTTO_MAIN_WINDOW(widget);
- if(gtk_window_activate_key(window, event) == FALSE)
+ if (g_value_get_uint (&val1) != g_value_get_uint (&val2))
{
- switch(event->keyval)
- {
- case GDK_F5:
- if (rstto_navigator_is_running(RSTTO_NAVIGATOR(rstto_window->priv->navigator)))
- {
- cb_rstto_main_window_pause(rstto_window->priv->menus.go.menu_item_pause, rstto_window);
- }
- else
- {
- cb_rstto_main_window_play(rstto_window->priv->menus.go.menu_item_play, rstto_window);
- }
- break;
- case GDK_F11:
- if(gdk_window_get_state(widget->window) & GDK_WINDOW_STATE_FULLSCREEN)
- {
- gtk_window_unfullscreen(window);
- }
- else
- {
- gtk_window_fullscreen(window);
- }
- break;
- case GDK_Escape:
- if(gdk_window_get_state(widget->window) & GDK_WINDOW_STATE_FULLSCREEN)
- {
- gtk_window_unfullscreen(window);
- }
- break;
- case GDK_Home:
- rstto_navigator_jump_first(rstto_window->priv->navigator);
- break;
- case GDK_End:
- rstto_navigator_jump_last(rstto_window->priv->navigator);
- break;
- case GDK_Page_Down:
- case GDK_space:
- rstto_navigator_jump_forward(rstto_window->priv->navigator);
- break;
- case GDK_Page_Up:
- case GDK_BackSpace:
- rstto_navigator_jump_back(rstto_window->priv->navigator);
- break;
- case GDK_t:
- rstto_main_window_set_show_thumbnail_viewer(RSTTO_MAIN_WINDOW(window),
- !(RSTTO_MAIN_WINDOW(window)->priv->settings.thumbnail_viewer_visibility));
- break;
- case GDK_bracketleft:
- cb_rstto_main_window_rotate_ccw(NULL, RSTTO_MAIN_WINDOW(window));
- break;
- case GDK_bracketright:
- cb_rstto_main_window_rotate_cw(NULL, RSTTO_MAIN_WINDOW(window));
- break;
- }
+ rstto_image_cache_clear (rstto_image_cache_new());
}
- return TRUE;
+
+ gtk_widget_destroy (dialog);
}
+/**
+ * cb_rstto_main_window_about:
+ * @widget:
+ * @window:
+ *
+ *
+ */
static void
-cb_rstto_main_window_state_event(GtkWidget *widget, GdkEventWindowState *event, gpointer user_data)
+cb_rstto_main_window_about (GtkWidget *widget, RsttoMainWindow *window)
{
- RsttoMainWindow *window = RSTTO_MAIN_WINDOW(widget);
- if(event->changed_mask & GDK_WINDOW_STATE_FULLSCREEN)
- {
- if(event->new_window_state & GDK_WINDOW_STATE_FULLSCREEN)
- {
- gtk_widget_hide(window->priv->menus.menu);
- gtk_widget_hide(window->priv->toolbar.bar);
- gtk_widget_hide(window->priv->statusbar);
- GdkColor *color = g_new0(GdkColor, 1);
+ const gchar *authors[] = {
+ _("Developer:"),
+ "Stephan Arts <stephan at xfce.org>",
+ NULL};
- rstto_picture_viewer_set_bg_color(RSTTO_PICTURE_VIEWER(window->priv->picture_viewer), color);
+ GtkWidget *about_dialog = gtk_about_dialog_new();
- g_free(color);
- }
- else
- {
- gtk_widget_show(window->priv->menus.menu);
- gtk_widget_show(window->priv->statusbar);
- rstto_picture_viewer_set_bg_color(RSTTO_PICTURE_VIEWER(window->priv->picture_viewer), window->priv->settings.bg_color);
+ gtk_about_dialog_set_name((GtkAboutDialog *)about_dialog, PACKAGE_NAME);
+ gtk_about_dialog_set_version((GtkAboutDialog *)about_dialog, PACKAGE_VERSION);
- if (window->priv->settings.toolbar_visibility == TRUE)
- {
- gtk_widget_show(window->priv->toolbar.bar);
- }
- }
- }
- if (event->changed_mask & GDK_WINDOW_STATE_MAXIMIZED)
- {
- RsttoNavigatorEntry *entry = rstto_navigator_get_file(window->priv->navigator);
+ gtk_about_dialog_set_comments((GtkAboutDialog *)about_dialog,
+ _("Ristretto is an imageviewer for the Xfce desktop environment."));
+ gtk_about_dialog_set_website((GtkAboutDialog *)about_dialog,
+ "http://goodies.xfce.org/projects/applications/ristretto");
+ gtk_about_dialog_set_logo_icon_name((GtkAboutDialog *)about_dialog,
+ "ristretto");
+ gtk_about_dialog_set_authors((GtkAboutDialog *)about_dialog,
+ authors);
+ gtk_about_dialog_set_translator_credits((GtkAboutDialog *)about_dialog,
+ _("translator-credits"));
+ gtk_about_dialog_set_license((GtkAboutDialog *)about_dialog,
+ xfce_get_license_text(XFCE_LICENSE_TEXT_GPL));
+ gtk_about_dialog_set_copyright((GtkAboutDialog *)about_dialog,
+ "Copyright \302\251 2006-2010 Stephan Arts");
- if (window->priv->settings.scale_to_100 == TRUE)
- {
- rstto_picture_viewer_set_zoom_mode(RSTTO_PICTURE_VIEWER(window->priv->picture_viewer), RSTTO_ZOOM_MODE_CUSTOM);
- rstto_navigator_entry_set_scale(entry, 0);
- }
+ gtk_dialog_run(GTK_DIALOG(about_dialog));
- }
+ gtk_widget_destroy(about_dialog);
}
+/**
+ * cb_rstto_main_window_contents:
+ * @widget:
+ * @window:
+ *
+ *
+ */
static void
-cb_rstto_main_window_play(GtkWidget *widget, RsttoMainWindow *window)
+cb_rstto_main_window_contents (GtkWidget *widget, RsttoMainWindow *window)
{
- gtk_widget_ref(widget);
- gtk_container_remove(GTK_CONTAINER(window->priv->menus.go.menu), widget);
- gtk_menu_shell_insert(GTK_MENU_SHELL(window->priv->menus.go.menu), window->priv->menus.go.menu_item_pause, 5);
- gtk_widget_show_all(window->priv->menus.go.menu_item_pause);
- rstto_navigator_set_running(RSTTO_NAVIGATOR(window->priv->navigator), TRUE);
- if (window->priv->settings.thumbnail_viewer_visibility &&
- window->priv->settings.slideshow_hide_thumbnail)
- gtk_widget_hide (window->priv->thumbnail_viewer);
+ g_debug ("%s", __FUNCTION__);
}
+
+/**
+ * cb_rstto_main_window_quit:
+ * @widget:
+ * @window:
+ *
+ *
+ */
static void
-cb_rstto_main_window_pause(GtkWidget *widget, RsttoMainWindow *window)
+cb_rstto_main_window_quit (GtkWidget *widget, RsttoMainWindow *window)
{
- gtk_widget_ref(widget);
- gtk_container_remove(GTK_CONTAINER(window->priv->menus.go.menu), widget);
- gtk_menu_shell_insert(GTK_MENU_SHELL(window->priv->menus.go.menu), window->priv->menus.go.menu_item_play, 5);
- gtk_widget_show_all(window->priv->menus.go.menu_item_play);
- rstto_navigator_set_running(RSTTO_NAVIGATOR(window->priv->navigator), FALSE);
- if (window->priv->settings.thumbnail_viewer_visibility)
- gtk_widget_show (window->priv->thumbnail_viewer);
+ gtk_widget_destroy (GTK_WIDGET (window));
}
+/**
+ * cb_rstto_main_window_image_list_new_image:
+ * @image_list:
+ * @image:
+ * @window:
+ *
+ */
static void
-cb_rstto_main_window_preferences(GtkWidget *widget, RsttoMainWindow *window)
+cb_rstto_main_window_image_list_new_image (RsttoImageList *image_list, RsttoImage *image, RsttoMainWindow *window)
{
- GdkColor *color = NULL;
- if (rstto_picture_viewer_get_bg_color(RSTTO_PICTURE_VIEWER(window->priv->picture_viewer)))
+ if (rstto_image_list_iter_get_position (window->priv->iter) == -1)
+ rstto_image_list_iter_set_position (window->priv->iter, 0);
+ if (window->priv->open_image_timer_id > 0)
{
- color = gdk_color_copy(rstto_main_window_get_pv_bg_color(window));
- }
- GtkWidget *slideshow_main_vbox;
- GtkWidget *slideshow_main_lbl;
- GtkWidget *display_main_vbox;
- GtkWidget *display_main_lbl;
- GtkWidget *behaviour_main_vbox;
- GtkWidget *behaviour_main_lbl;
-
- GtkWidget *resize_to_content_vbox, *resize_to_content_frame;
- GtkWidget *resize_on_maximize_check;
-
- GtkWidget *bg_color_vbox;
- GtkWidget *bg_color_hbox;
- GtkWidget *bg_color_frame;
- GtkWidget *bg_color_button;
- GtkWidget *bg_color_override_check;
- GtkWidget *cache_vbox;
- GtkWidget *cache_frame;
- GtkWidget *cache_hbox;
- GtkObject *cache_adjustment;
- GtkWidget *cache_spin_button;
- GtkWidget *cache_label;
- GtkWidget *cache_mb_label;
-
- cache_adjustment = gtk_adjustment_new(rstto_main_window_get_max_cache_size(window), 0, 9999, 1, 100, 0);
-
- GtkWidget *dialog = xfce_titled_dialog_new_with_buttons(_("Image viewer Preferences"),
- GTK_WINDOW(window),
- GTK_DIALOG_NO_SEPARATOR,
- GTK_STOCK_CANCEL,
- GTK_RESPONSE_CANCEL,
- GTK_STOCK_OK,
- GTK_RESPONSE_OK,
- NULL);
- gtk_window_set_icon_name(GTK_WINDOW(dialog), "ristretto");
- gtk_window_set_resizable(GTK_WINDOW(dialog), FALSE);
-
- GtkWidget *notebook = gtk_notebook_new();
- gtk_container_set_border_width(GTK_CONTAINER(notebook), 6);
-
- gtk_box_pack_start(GTK_BOX(GTK_DIALOG(dialog)->vbox), notebook, TRUE, TRUE, 0);
-
-/** Add notebook pages */
- display_main_vbox = gtk_vbox_new(FALSE, 0);
- display_main_lbl = gtk_label_new(_("Display"));
- gtk_notebook_append_page(GTK_NOTEBOOK(notebook), display_main_vbox, display_main_lbl);
-
- slideshow_main_vbox = gtk_vbox_new(FALSE, 0);
- slideshow_main_lbl = gtk_label_new(_("Slideshow"));
- gtk_notebook_append_page(GTK_NOTEBOOK(notebook), slideshow_main_vbox, slideshow_main_lbl);
-
- behaviour_main_vbox = gtk_vbox_new(FALSE, 0);
- behaviour_main_lbl = gtk_label_new(_("Behaviour"));
- gtk_notebook_append_page(GTK_NOTEBOOK(notebook), behaviour_main_vbox, behaviour_main_lbl);
-
-/** Add content for behaviour page */
- resize_to_content_vbox = gtk_vbox_new(FALSE, 0);
- resize_to_content_frame = xfce_create_framebox_with_content(_("Scaling"), resize_to_content_vbox);
-
- resize_on_maximize_check = gtk_check_button_new_with_mnemonic(_("Don't scale over 100% when maximizing the window."));
- gtk_box_pack_start(GTK_BOX(resize_to_content_vbox), resize_on_maximize_check, FALSE, TRUE, 0);
-
- gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(resize_on_maximize_check), window->priv->settings.scale_to_100);
-
- gtk_container_set_border_width (GTK_CONTAINER (resize_to_content_frame), 8);
- gtk_box_pack_start(GTK_BOX(behaviour_main_vbox), resize_to_content_frame, FALSE, TRUE, 0);
-
-/** Add content for display page */
- bg_color_vbox = gtk_vbox_new(FALSE, 0);
- bg_color_frame = xfce_create_framebox_with_content (_("Background Color"), bg_color_vbox);
-
- bg_color_override_check = gtk_check_button_new_with_mnemonic(_("_Override Background Color:"));
- bg_color_hbox = gtk_hbox_new(FALSE, 4);
- bg_color_button = gtk_color_button_new();
-
- gtk_box_pack_start(GTK_BOX(bg_color_hbox), bg_color_override_check, FALSE, TRUE, 0);
- gtk_box_pack_start(GTK_BOX(bg_color_hbox), bg_color_button, FALSE, FALSE, 0);
- gtk_box_pack_start(GTK_BOX(bg_color_vbox), bg_color_hbox, FALSE, FALSE, 0);
-
- g_signal_connect(G_OBJECT(bg_color_override_check), "toggled", (GCallback)cb_rstto_bg_color_override_check_toggled, bg_color_button);
-
- if (color)
- {
- gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(bg_color_override_check), TRUE);
- gtk_color_button_set_color(GTK_COLOR_BUTTON(bg_color_button), color);
- gdk_color_free(color);
- color = NULL;
+ g_source_remove (window->priv->open_image_timer_id);
}
else
{
- gtk_widget_set_sensitive(bg_color_button, FALSE);
+ rstto_image_list_iter_find_image (window->priv->iter, image);
}
+ window->priv->open_image_timer_id = g_timeout_add (
+ 1000, rstto_window_open_image_timer, window);
+ rstto_main_window_image_list_iter_changed (window);
+}
- cache_vbox = gtk_vbox_new(FALSE, 0);
- cache_frame = xfce_create_framebox_with_content (_("Image Cache"), cache_vbox);
- cache_hbox = gtk_hbox_new(FALSE, 4);
- cache_spin_button = gtk_spin_button_new(GTK_ADJUSTMENT(cache_adjustment), 1.0, 0);
- cache_label = gtk_label_new(_("Cache size:"));
- cache_mb_label = gtk_label_new(_("MB"));
-
- GtkWidget *preload_check = gtk_check_button_new_with_mnemonic(_("_Preload images (GUI more responsive but more CPU-intensive)"));
- gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(preload_check), window->priv->navigator->preload);
-
- gtk_box_pack_start(GTK_BOX(cache_hbox), cache_label, FALSE, FALSE, 0);
- gtk_box_pack_start(GTK_BOX(cache_hbox), cache_spin_button, FALSE, FALSE, 0);
- gtk_box_pack_start(GTK_BOX(cache_hbox), cache_mb_label, FALSE, FALSE, 0);
- gtk_box_pack_start(GTK_BOX(cache_vbox), cache_hbox, FALSE, FALSE, 0);
- gtk_box_pack_start(GTK_BOX(cache_vbox), preload_check, FALSE, FALSE, 0);
-
- gtk_container_set_border_width (GTK_CONTAINER (bg_color_frame), 8);
- gtk_container_set_border_width (GTK_CONTAINER (cache_frame), 8);
-
- gtk_box_pack_start(GTK_BOX(display_main_vbox), bg_color_frame, FALSE, TRUE, 0);
- gtk_box_pack_start(GTK_BOX(display_main_vbox), cache_frame, FALSE, TRUE, 0);
-
-
-/** Add content for slideshow page */
- GtkWidget *slideshow_vbox = gtk_vbox_new(FALSE, 0);
- GtkWidget *slideshow_frame = xfce_create_framebox_with_content (_("Timeout"), slideshow_vbox);
-
- GtkWidget *thumbnails_vbox = gtk_vbox_new(FALSE, 0);
- GtkWidget *thumbnails_frame = xfce_create_framebox_with_content (_("Thumbnails"), thumbnails_vbox);
-
- gtk_container_set_border_width (GTK_CONTAINER (slideshow_frame), 8);
- gtk_container_set_border_width (GTK_CONTAINER (thumbnails_frame), 8);
+static gboolean
+cb_rstto_main_window_configure_event (GtkWidget *widget, GdkEventConfigure *event)
+{
+ RsttoMainWindow *window = RSTTO_MAIN_WINDOW(widget);
+ /* shamelessly copied from thunar, written by benny */
+ /* check if we have a new dimension here */
+ if (widget->allocation.width != event->width || widget->allocation.height != event->height)
+ {
+ /* drop any previous timer source */
+ if (window->priv->window_save_geometry_timer_id > 0)
+ {
+ g_source_remove (window->priv->window_save_geometry_timer_id);
+ }
+ window->priv->window_save_geometry_timer_id = 0;
- GtkWidget *slideshow_lbl = gtk_label_new(_("The time period an individual image is displayed during a slideshow\n(in seconds)"));
- GtkWidget *slideshow_hscale = gtk_hscale_new_with_range(1, 60, 1);
+ /* check if we should schedule another save timer */
+ if (GTK_WIDGET_VISIBLE (widget))
+ {
+ /* save the geometry one second after the last configure event */
+ window->priv->window_save_geometry_timer_id = g_timeout_add (
+ 1000, rstto_window_save_geometry_timer,
+ widget);
+ }
+ }
- GtkWidget *thumbnails_lbl = gtk_label_new(_("Hide the thumbnails bar during slideshow"));
- GtkWidget *thumbnails_check = gtk_check_button_new_with_mnemonic(_("_Hide thumbnails"));
+ /* let Gtk+ handle the configure event */
+ return FALSE;
+}
- gtk_misc_set_alignment(GTK_MISC(slideshow_lbl), 0, 0.5);
- gtk_misc_set_alignment(GTK_MISC(thumbnails_lbl), 0, 0.5);
+/******************/
+/* ZOOM CALLBACKS */
+/******************/
- gtk_misc_set_padding(GTK_MISC(slideshow_lbl), 2, 2);
- gtk_misc_set_padding(GTK_MISC(thumbnails_lbl), 2, 2);
-
- gtk_range_set_value(GTK_RANGE(slideshow_hscale), window->priv->settings.slideshow_timeout / 1000);
+/**
+ * cb_rstto_main_window_zoom_fit:
+ * @widget:
+ * @window:
+ *
+ *
+ */
+static void
+cb_rstto_main_window_zoom_fit (GtkWidget *widget, RsttoMainWindow *window)
+{
+ rstto_picture_viewer_zoom_fit (RSTTO_PICTURE_VIEWER (window->priv->picture_viewer));
+}
- gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(thumbnails_check), window->priv->settings.slideshow_hide_thumbnail);
+/**
+ * cb_rstto_main_window_zoom_100:
+ * @widget:
+ * @window:
+ *
+ *
+ */
+static void
+cb_rstto_main_window_zoom_100 (GtkWidget *widget, RsttoMainWindow *window)
+{
+ rstto_picture_viewer_zoom_100 (RSTTO_PICTURE_VIEWER (window->priv->picture_viewer));
+}
- gtk_box_pack_start(GTK_BOX(slideshow_vbox), slideshow_lbl, TRUE, TRUE, 0);
- gtk_box_pack_start(GTK_BOX(slideshow_vbox), slideshow_hscale, FALSE, TRUE, 0);
+/**
+ * cb_rstto_main_window_zoom_in:
+ * @widget:
+ * @window:
+ *
+ *
+ */
+static void
+cb_rstto_main_window_zoom_in (GtkWidget *widget, RsttoMainWindow *window)
+{
+ rstto_picture_viewer_zoom_in (RSTTO_PICTURE_VIEWER (window->priv->picture_viewer), ZOOM_FACTOR);
+}
- gtk_box_pack_start(GTK_BOX(thumbnails_vbox), thumbnails_lbl, TRUE, TRUE, 0);
- gtk_box_pack_start(GTK_BOX(thumbnails_vbox), thumbnails_check, FALSE, TRUE, 0);
+/**
+ * cb_rstto_main_window_zoom_out:
+ * @widget:
+ * @window:
+ *
+ *
+ */
+static void
+cb_rstto_main_window_zoom_out (GtkWidget *widget, RsttoMainWindow *window)
+{
+ rstto_picture_viewer_zoom_out (RSTTO_PICTURE_VIEWER (window->priv->picture_viewer), ZOOM_FACTOR);
+}
- gtk_box_pack_start(GTK_BOX(slideshow_main_vbox), slideshow_frame, FALSE, TRUE, 0);
- gtk_box_pack_start(GTK_BOX(slideshow_main_vbox), thumbnails_frame, FALSE, TRUE, 0);
+/**********************/
+/* ROTATION CALLBACKS */
+/**********************/
- gtk_widget_show_all(notebook);
+/**
+ * cb_rstto_main_window_rotate_cw:
+ * @widget:
+ * @window:
+ *
+ *
+ */
+static void
+cb_rstto_main_window_rotate_cw (GtkWidget *widget, RsttoMainWindow *window)
+{
+ RsttoImage *image = NULL;
- gint result = gtk_dialog_run(GTK_DIALOG(dialog));
+ if (window->priv->iter)
+ image = rstto_image_list_iter_get_image (window->priv->iter);
- switch (result)
+ if (image)
{
- case GTK_RESPONSE_OK:
- rstto_main_window_set_slideshow_timeout(window, gtk_range_get_value(GTK_RANGE(slideshow_hscale)) * 1000);
- window->priv->navigator->preload = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON(preload_check));
- window->priv->settings.slideshow_hide_thumbnail = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON(thumbnails_check));
- if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON(bg_color_override_check)) == TRUE)
- {
- GdkColor *new_color = g_new0(GdkColor, 1);
- gtk_color_button_get_color(GTK_COLOR_BUTTON(bg_color_button), new_color);
- rstto_main_window_set_pv_bg_color(window, new_color);
- g_free(new_color);
- }
- else
- {
- rstto_main_window_set_pv_bg_color(window, NULL);
- }
- rstto_picture_viewer_redraw(RSTTO_PICTURE_VIEWER(window->priv->picture_viewer));
- rstto_main_window_set_max_cache_size(window, (guint)GTK_ADJUSTMENT(cache_adjustment)->value);
-
- window->priv->settings.scale_to_100 = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(resize_on_maximize_check));
-
- default:
- break;
+ switch (rstto_image_get_orientation (image))
+ {
+ default:
+ case RSTTO_IMAGE_ORIENT_NONE:
+ rstto_image_set_orientation (image, RSTTO_IMAGE_ORIENT_90);
+ break;
+ case RSTTO_IMAGE_ORIENT_90:
+ rstto_image_set_orientation (image, RSTTO_IMAGE_ORIENT_180);
+ break;
+ case RSTTO_IMAGE_ORIENT_180:
+ rstto_image_set_orientation (image, RSTTO_IMAGE_ORIENT_270);
+ break;
+ case RSTTO_IMAGE_ORIENT_270:
+ rstto_image_set_orientation (image, RSTTO_IMAGE_ORIENT_NONE);
+ break;
+ }
}
-
- gtk_widget_destroy(dialog);
}
+/**
+ * cb_rstto_main_window_rotate_ccw:
+ * @widget:
+ * @window:
+ *
+ *
+ */
static void
-cb_rstto_main_window_about(GtkWidget *widget, RsttoMainWindow *window)
+cb_rstto_main_window_rotate_ccw (GtkWidget *widget, RsttoMainWindow *window)
{
- const gchar *authors[] = {
- _("Developer:"),
- "Stephan Arts <stephan at xfce.org>",
- NULL};
+ RsttoImage *image = NULL;
- GtkWidget *about_dialog = gtk_about_dialog_new();
+ if (window->priv->iter)
+ image = rstto_image_list_iter_get_image (window->priv->iter);
- gtk_about_dialog_set_name((GtkAboutDialog *)about_dialog, PACKAGE_NAME);
- gtk_about_dialog_set_version((GtkAboutDialog *)about_dialog, PACKAGE_VERSION);
+ if (image)
+ {
+ switch (rstto_image_get_orientation (image))
+ {
+ default:
+ case RSTTO_IMAGE_ORIENT_NONE:
+ rstto_image_set_orientation (image, RSTTO_IMAGE_ORIENT_270);
+ break;
+ case RSTTO_IMAGE_ORIENT_90:
+ rstto_image_set_orientation (image, RSTTO_IMAGE_ORIENT_NONE);
+ break;
+ case RSTTO_IMAGE_ORIENT_180:
+ rstto_image_set_orientation (image, RSTTO_IMAGE_ORIENT_90);
+ break;
+ case RSTTO_IMAGE_ORIENT_270:
+ rstto_image_set_orientation (image, RSTTO_IMAGE_ORIENT_180);
+ break;
+ }
+ }
+}
- gtk_about_dialog_set_comments((GtkAboutDialog *)about_dialog,
- _("Ristretto is a fast and lightweight picture-viewer for the Xfce desktop environment."));
- gtk_about_dialog_set_website((GtkAboutDialog *)about_dialog,
- "http://goodies.xfce.org/projects/applications/ristretto");
- gtk_about_dialog_set_logo_icon_name((GtkAboutDialog *)about_dialog,
- "ristretto");
- gtk_about_dialog_set_authors((GtkAboutDialog *)about_dialog,
- authors);
- gtk_about_dialog_set_translator_credits((GtkAboutDialog *)about_dialog,
- _("translator-credits"));
- gtk_about_dialog_set_license((GtkAboutDialog *)about_dialog,
- xfce_get_license_text(XFCE_LICENSE_TEXT_GPL));
- gtk_about_dialog_set_copyright((GtkAboutDialog *)about_dialog,
- "Copyright \302\251 2006-2008 Stephan Arts");
- gtk_dialog_run(GTK_DIALOG(about_dialog));
+/************************/
+/* NAVIGATION CALLBACKS */
+/************************/
- gtk_widget_destroy(about_dialog);
+/**
+ * cb_rstto_main_window_first_image:
+ * @widget:
+ * @window:
+ *
+ * Move the iter to the first image;
+ *
+ */
+static void
+cb_rstto_main_window_first_image (GtkWidget *widget, RsttoMainWindow *window)
+{
+ rstto_image_list_iter_set_position (window->priv->iter, 0);
}
+
+/**
+ * cb_rstto_main_window_last_image:
+ * @widget:
+ * @window:
+ *
+ * Move the iter to the last image;
+ *
+ */
static void
-cb_rstto_main_window_quit(GtkWidget *widget, RsttoMainWindow *window)
+cb_rstto_main_window_last_image (GtkWidget *widget, RsttoMainWindow *window)
{
- gtk_widget_destroy(GTK_WIDGET(window));
+ guint n_images = rstto_image_list_get_n_images (window->priv->props.image_list);
+ rstto_image_list_iter_set_position (window->priv->iter, n_images-1);
}
+/**
+ * cb_rstto_main_window_next_image:
+ * @widget:
+ * @window:
+ *
+ * Move the iter to the next image;
+ *
+ */
static void
-cb_rstto_main_window_open_file(GtkWidget *widget, RsttoMainWindow *window)
+cb_rstto_main_window_next_image (GtkWidget *widget, RsttoMainWindow *window)
{
- GtkStatusbar *statusbar = GTK_STATUSBAR(window->priv->statusbar);
- g_object_add_weak_pointer(G_OBJECT(window), (gpointer)statusbar);
-
- gint context_id = gtk_statusbar_get_context_id(statusbar, "StatusMessages");
- gint message_id = gtk_statusbar_push(statusbar, context_id, N_("Opening file(s)..."));
-
- GtkWidget *dialog = gtk_file_chooser_dialog_new(_("Open image"),
- GTK_WINDOW(window),
- GTK_FILE_CHOOSER_ACTION_OPEN,
- GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
- GTK_STOCK_OPEN, GTK_RESPONSE_OK,
- NULL);
-
- gint response = gtk_dialog_run(GTK_DIALOG(dialog));
- if(response == GTK_RESPONSE_OK)
- {
- const gchar *filename = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(dialog));
- if (!rstto_navigator_open_file(window->priv->navigator, filename, FALSE, NULL))
- {
- gtk_widget_destroy(dialog);
- dialog = gtk_message_dialog_new(GTK_WINDOW(window),
- GTK_DIALOG_MODAL,
- GTK_MESSAGE_ERROR,
- GTK_BUTTONS_OK,
- _("Could not open file"));
- gtk_dialog_run(GTK_DIALOG(dialog));
- }
- }
- gtk_widget_destroy(dialog);
+ rstto_image_list_iter_next (window->priv->iter);
+}
- if (statusbar)
- {
- gtk_statusbar_remove(statusbar, context_id, message_id);
- g_object_remove_weak_pointer(G_OBJECT(window), (gpointer)statusbar);
- }
+/**
+ * cb_rstto_main_window_previous_image:
+ * @widget:
+ * @window:
+ *
+ * Move the iter to the previous image;
+ *
+ */
+static void
+cb_rstto_main_window_previous_image (GtkWidget *widget, RsttoMainWindow *window)
+{
+ rstto_image_list_iter_previous (window->priv->iter);
}
+/**********************/
+/* FILE I/O CALLBACKS */
+/**********************/
+
+/**
+ * cb_rstto_main_window_open_image:
+ * @widget:
+ * @window:
+ *
+ *
+ */
static void
-cb_rstto_main_window_open_folder(GtkWidget *widget, RsttoMainWindow *window)
+cb_rstto_main_window_open_image (GtkWidget *widget, RsttoMainWindow *window)
{
- GtkStatusbar *statusbar = GTK_STATUSBAR(window->priv->statusbar);
- g_object_add_weak_pointer(G_OBJECT(window), (gpointer)statusbar);
+ GtkWidget *dialog, *err_dialog;
+ gint response;
+ GFile *file;
+ GSList *files = NULL, *_files_iter;
+ GValue current_uri_val = {0, };
+ gchar *uri = NULL;
+ gint pos = 0;
+ GtkFileFilter *filter;
- gint context_id = gtk_statusbar_get_context_id(statusbar, "StatusMessages");
- gint message_id = gtk_statusbar_push(statusbar, context_id, N_("Opening file(s)..."));
+ g_value_init (¤t_uri_val, G_TYPE_STRING);
+ g_object_get_property (G_OBJECT(window->priv->settings_manager), "current-uri", ¤t_uri_val);
- GtkWidget *dialog = gtk_file_chooser_dialog_new(_("Open folder"),
- GTK_WINDOW(window),
- GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER,
- GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
- GTK_STOCK_OPEN, GTK_RESPONSE_OK,
- NULL);
+ filter = gtk_file_filter_new();
- gint response = gtk_dialog_run(GTK_DIALOG(dialog));
- if(response == GTK_RESPONSE_OK)
- {
- gtk_widget_hide(dialog);
- const gchar *dir_name = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(dialog));
+ dialog = gtk_file_chooser_dialog_new(_("Open image"),
+ GTK_WINDOW(window),
+ GTK_FILE_CHOOSER_ACTION_OPEN,
+ GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
+ GTK_STOCK_OPEN, GTK_RESPONSE_OK,
+ NULL);
- RsttoNavigator *navigator = window->priv->navigator;
- if(rstto_navigator_open_folder(navigator, dir_name, TRUE, NULL) == TRUE)
- {
- rstto_navigator_jump_first(navigator);
- }
- }
- gtk_widget_destroy(dialog);
+ gtk_file_chooser_set_select_multiple (GTK_FILE_CHOOSER (dialog), TRUE);
+ if (g_value_get_string (¤t_uri_val))
+ gtk_file_chooser_set_current_folder_uri (GTK_FILE_CHOOSER (dialog), g_value_get_string (¤t_uri_val));
- if (statusbar)
- {
- gtk_statusbar_remove(statusbar, context_id, message_id);
- g_object_remove_weak_pointer(G_OBJECT(window), (gpointer)statusbar);
- }
-}
+ gtk_file_filter_add_pixbuf_formats (filter);
+ gtk_file_filter_set_name (filter, _("Images"));
+ gtk_file_chooser_add_filter (GTK_FILE_CHOOSER (dialog), filter);
-static void
-cb_rstto_main_window_open_recent(GtkRecentChooser *chooser, RsttoMainWindow *window)
-{
- GtkStatusbar *statusbar = GTK_STATUSBAR(window->priv->statusbar);
- g_object_add_weak_pointer(G_OBJECT(window), (gpointer)statusbar);
+ filter = gtk_file_filter_new();
+ gtk_file_filter_add_mime_type (filter, "image/jpeg");
+ gtk_file_filter_set_name (filter, _(".jp(e)g"));
+ gtk_file_chooser_add_filter (GTK_FILE_CHOOSER (dialog), filter);
- gint context_id = gtk_statusbar_get_context_id(statusbar, "StatusMessages");
- gint message_id = gtk_statusbar_push(statusbar, context_id, N_("Opening file(s)..."));
- gchar *uri = gtk_recent_chooser_get_current_uri(chooser);
- ThunarVfsPath *vfs_path = thunar_vfs_path_new(uri, NULL);
- if (vfs_path)
+ response = gtk_dialog_run(GTK_DIALOG(dialog));
+ gtk_widget_hide (dialog);
+ if(response == GTK_RESPONSE_OK)
{
- gchar *path = thunar_vfs_path_dup_string(vfs_path);
- if(g_file_test(path, G_FILE_TEST_EXISTS))
+ files = gtk_file_chooser_get_files (GTK_FILE_CHOOSER (dialog));
+ _files_iter = files;
+ pos = rstto_image_list_iter_get_position (window->priv->iter);
+ if (g_slist_length (files) > 1)
{
- if(g_file_test(path, G_FILE_TEST_IS_DIR))
+ while (_files_iter)
{
- RsttoNavigator *navigator = window->priv->navigator;
- if(rstto_navigator_open_folder(navigator, path, TRUE, NULL) == TRUE)
+ file = _files_iter->data;
+ if (rstto_image_list_add_file (window->priv->props.image_list, file, NULL) == FALSE)
{
- rstto_navigator_jump_first(navigator);
+ err_dialog = gtk_message_dialog_new(GTK_WINDOW(window),
+ GTK_DIALOG_MODAL,
+ GTK_MESSAGE_ERROR,
+ GTK_BUTTONS_OK,
+ _("Could not open file"));
+ gtk_dialog_run(GTK_DIALOG(dialog));
+ gtk_widget_destroy(dialog);
}
+ else
+ {
+ uri = g_file_get_uri (_files_iter->data);
+ gtk_recent_manager_add_item (window->priv->recent_manager, uri);
+ g_free (uri);
+ uri = NULL;
+ }
+ _files_iter = g_slist_next (_files_iter);
+ }
+ }
+ else
+ {
+
+ if (rstto_image_list_add_file (window->priv->props.image_list, files->data, NULL) == FALSE)
+ {
+ err_dialog = gtk_message_dialog_new(GTK_WINDOW(window),
+ GTK_DIALOG_MODAL,
+ GTK_MESSAGE_ERROR,
+ GTK_BUTTONS_OK,
+ _("Could not open file"));
+ gtk_dialog_run(GTK_DIALOG(dialog));
+ gtk_widget_destroy(dialog);
}
else
{
- rstto_navigator_open_file(window->priv->navigator, path, FALSE, NULL);
+
+ uri = g_file_get_uri (files->data);
+ gtk_recent_manager_add_item (window->priv->recent_manager, uri);
+ g_free (uri);
+ uri = NULL;
+
}
}
- thunar_vfs_path_unref(vfs_path);
- g_free(path);
+
+ if (pos == -1)
+ rstto_image_list_iter_set_position (window->priv->iter, 0);
+ g_value_set_string (¤t_uri_val, gtk_file_chooser_get_current_folder_uri (GTK_FILE_CHOOSER (dialog)));
+ g_object_set_property (G_OBJECT(window->priv->settings_manager), "current-uri", ¤t_uri_val);
+
}
- if (statusbar)
+ gtk_widget_destroy(dialog);
+
+ if (files)
{
- gtk_statusbar_remove(statusbar, context_id, message_id);
- g_object_remove_weak_pointer(G_OBJECT(window), (gpointer)statusbar);
+ g_slist_foreach (files, (GFunc)g_object_unref, NULL);
+ g_slist_free (files);
}
}
+/**
+ * cb_rstto_main_window_open_folder:
+ * @widget:
+ * @window:
+ *
+ *
+ */
static void
-cb_rstto_main_window_clear_recent(GtkWidget *widget, RsttoMainWindow *window)
+cb_rstto_main_window_open_folder (GtkWidget *widget, RsttoMainWindow *window)
{
- GtkWidget *dialog = gtk_message_dialog_new(NULL,
- GTK_DIALOG_MODAL,
- GTK_MESSAGE_ERROR,
- GTK_BUTTONS_OK_CANCEL,
- _("Are you sure you want to clear ristretto's list of recently opened documents?"));
- gint result = gtk_dialog_run(GTK_DIALOG(dialog));
- if (result == GTK_RESPONSE_OK)
- {
- g_timeout_add(150, (GSourceFunc)rstto_main_window_clear_recent, window);
- }
- gtk_widget_destroy(dialog);
+ gint response;
+ GFile *file = NULL, *child_file = NULL;
+ GFileEnumerator *file_enumarator = NULL;
+ GFileInfo *file_info = NULL;
+ const gchar *filename = NULL;
+ const gchar *content_type = NULL;
+ gchar *uri = NULL;
+ gint pos = 0;
+ GtkWidget *dialog;
+ gchar *current_uri = rstto_settings_get_string_property (RSTTO_SETTINGS (window->priv->settings_manager), "current-uri");
-}
+ dialog = gtk_file_chooser_dialog_new(_("Open folder"),
+ GTK_WINDOW(window),
+ GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER,
+ GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
+ GTK_STOCK_OPEN, GTK_RESPONSE_ACCEPT,
+ NULL);
-static void
-cb_rstto_main_window_close(GtkWidget *widget, RsttoMainWindow *window)
-{
- RsttoNavigatorEntry *entry = rstto_navigator_get_file(window->priv->navigator);
- if (entry)
- {
- rstto_navigator_remove(window->priv->navigator, entry);
- rstto_navigator_entry_free(entry);
- if (rstto_navigator_get_n_files(window->priv->navigator) == 0)
- {
- gtk_widget_set_sensitive(widget, FALSE);
- gtk_widget_set_sensitive(window->priv->menus.file.menu_item_close_all, FALSE);
- }
- }
- else
+ if (current_uri)
{
- gtk_widget_set_sensitive(widget, FALSE);
- gtk_widget_set_sensitive(window->priv->menus.file.menu_item_close_all, FALSE);
+ gtk_file_chooser_set_current_folder_uri (GTK_FILE_CHOOSER (dialog), current_uri);
+ g_free (current_uri);
+ current_uri = NULL;
}
-}
-
-static void
-cb_rstto_main_window_close_all(GtkWidget *widget, RsttoMainWindow *window)
-{
-#if 0
- RsttoNavigator *navigator = window->priv->navigator;
- if (navigator)
+ response = gtk_dialog_run(GTK_DIALOG(dialog));
+ if(response == GTK_RESPONSE_ACCEPT)
{
- GList *iter, *modified_files = NULL;
-
- for (iter = navigator->file_list; iter != NULL; iter = iter->next)
- {
- if (rstto_navigator_entry_get_orientation_changed ((RsttoNavigatorEntry *)iter->data))
- {
- modified_files = g_list_append (modified_files, iter->data);
- }
- }
+ gtk_widget_hide(dialog);
+ file = gtk_file_chooser_get_file (GTK_FILE_CHOOSER (dialog));
- if (modified_files)
+ file_enumarator = g_file_enumerate_children (file, "standard::*", 0, NULL, NULL);
+ pos = rstto_image_list_iter_get_position (window->priv->iter);
+ for(file_info = g_file_enumerator_next_file (file_enumarator, NULL, NULL); file_info != NULL; file_info = g_file_enumerator_next_file (file_enumarator, NULL, NULL))
{
- GtkWidget *dialog = gtk_message_dialog_new (NULL, 0, GTK_MESSAGE_QUESTION, GTK_BUTTONS_OK_CANCEL, _("The orientation of one or more images has been modified, do you want to save the changes?"));
- if (gtk_dialog_run (GTK_DIALOG(dialog)) == GTK_RESPONSE_OK)
+ filename = g_file_info_get_name (file_info);
+ content_type = g_file_info_get_content_type (file_info);
+ child_file = g_file_get_child (file, filename);
+
+ if (strncmp (content_type, "image/", 6) == 0)
{
- gtk_widget_hide(dialog);
- GtkWidget *save_dialog = rstto_save_dialog_new (GTK_WINDOW(window), modified_files);
- if (gtk_dialog_run (GTK_DIALOG(save_dialog)) == GTK_RESPONSE_OK)
- {
-
- }
+ rstto_image_list_add_file (window->priv->props.image_list, child_file, NULL);
}
+
+ g_object_unref (child_file);
+ g_object_unref (file_info);
}
+
+ if (pos == -1)
+ rstto_image_list_iter_set_position (window->priv->iter, 0);
+
+ uri = g_file_get_uri (file);
+ gtk_recent_manager_add_item (window->priv->recent_manager, uri);
+ g_free (uri);
+ uri = NULL;
+
+ rstto_settings_set_string_property (RSTTO_SETTINGS (window->priv->settings_manager),
+ "current-uri",
+ gtk_file_chooser_get_current_folder_uri (GTK_FILE_CHOOSER (dialog)));
}
-#endif
- rstto_navigator_clear (window->priv->navigator);
- gtk_widget_set_sensitive(widget, FALSE);
- gtk_widget_set_sensitive(window->priv->menus.file.menu_item_close, FALSE);
-}
+ gtk_widget_destroy(dialog);
-static void
-cb_rstto_main_window_file_properties(GtkWidget *widget, RsttoMainWindow *window)
-{
- GError *error = NULL;
- RsttoNavigatorEntry *entry = rstto_navigator_get_file(window->priv->navigator);
- if (entry)
+ if (file)
{
- ThunarVfsInfo *info = rstto_navigator_entry_get_info(entry);
- if(info)
- {
- gchar *uri = thunar_vfs_path_dup_uri(info->path);
- if(dbus_g_proxy_call(window->priv->filemanager_proxy,
- "DisplayFileProperties",
- &error,
- G_TYPE_STRING, uri,
- G_TYPE_STRING, "",
- G_TYPE_INVALID,
- G_TYPE_INVALID) == FALSE)
- {
- g_warning("%s", error->message);
- }
- g_free(uri);
- }
+ g_object_unref (file);
}
}
+/**
+ * cb_rstto_main_window_open_recent:
+ * @chooser:
+ * @window:
+ *
+ */
static void
-cb_rstto_main_window_nav_iter_changed(RsttoNavigator *navigator, gint nr, RsttoNavigatorEntry *entry, RsttoMainWindow *window)
+cb_rstto_main_window_open_recent(GtkRecentChooser *chooser, RsttoMainWindow *window)
{
- ThunarVfsInfo *info = NULL;
- const gchar *filename = NULL;
- gchar *title = NULL;
+ GtkWidget *err_dialog;
+ gchar *uri = gtk_recent_chooser_get_current_uri (chooser);
+ const gchar *filename;
+ const gchar *content_type = NULL;
+ GError *error = NULL;
+ GFile *file = g_file_new_for_uri (uri);
+ GFile *child_file;
+ GFileEnumerator *file_enumarator = NULL;
+ GFileInfo *child_file_info = NULL;
+ GFileInfo *file_info = g_file_query_info (file, "standard::type", 0, NULL, &error);
- if(entry)
+ if (error == NULL)
{
- info = rstto_navigator_entry_get_info(entry);
- filename = info->display_name;
- gtk_widget_set_sensitive(window->priv->menus.file.menu_item_close, TRUE);
- gtk_widget_set_sensitive(window->priv->menus.file.menu_item_close_all, TRUE);
- gtk_widget_set_sensitive(window->priv->menus.file.menu_item_file_properties, TRUE);
- gtk_widget_set_sensitive(window->priv->menus.go.menu_item_first, TRUE);
- gtk_widget_set_sensitive(window->priv->menus.go.menu_item_last, TRUE);
- gtk_widget_set_sensitive(window->priv->menus.go.menu_item_previous, TRUE);
- gtk_widget_set_sensitive(window->priv->menus.go.menu_item_next, TRUE);
- gtk_widget_set_sensitive(window->priv->menus.go.menu_item_play, TRUE);
- gtk_widget_set_sensitive(window->priv->menus.go.menu_item_pause, TRUE);
-
-#ifdef WITH_DESKTOP_WALLPAPER
- if (window->priv->settings.desktop > 0)
- {
- gtk_widget_set_sensitive(window->priv->menus.view.menu_item_set_wallpaper, TRUE);
- }
- else
+ if (g_file_info_get_file_type (file_info) == G_FILE_TYPE_DIRECTORY)
{
- gtk_widget_set_sensitive(window->priv->menus.view.menu_item_set_wallpaper, FALSE);
- }
-#endif
-
- gtk_widget_set_sensitive(GTK_WIDGET(window->priv->toolbar.tool_item_next), TRUE);
- gtk_widget_set_sensitive(GTK_WIDGET(window->priv->toolbar.tool_item_previous), TRUE);
-
- gtk_widget_set_sensitive(GTK_WIDGET(window->priv->toolbar.tool_item_zoom_in), TRUE);
- gtk_widget_set_sensitive(GTK_WIDGET(window->priv->toolbar.tool_item_zoom_out), TRUE);
- gtk_widget_set_sensitive(GTK_WIDGET(window->priv->toolbar.tool_item_zoom_fit), TRUE);
- gtk_widget_set_sensitive(GTK_WIDGET(window->priv->toolbar.tool_item_zoom_100), TRUE);
-
- gtk_widget_set_sensitive(GTK_WIDGET(window->priv->menus._picture_viewer.menu_item_close), TRUE);
- gtk_widget_set_sensitive(GTK_WIDGET(window->priv->menus._picture_viewer.menu_item_zoom_in), TRUE);
- gtk_widget_set_sensitive(GTK_WIDGET(window->priv->menus._picture_viewer.menu_item_zoom_out), TRUE);
- gtk_widget_set_sensitive(GTK_WIDGET(window->priv->menus._picture_viewer.menu_item_zoom_100), TRUE);
- gtk_widget_set_sensitive(GTK_WIDGET(window->priv->menus._picture_viewer.menu_item_zoom_fit), TRUE);
-
- gtk_widget_set_sensitive(GTK_WIDGET(window->priv->menus.view.zooming.menu_item_zoom_in), TRUE);
- gtk_widget_set_sensitive(GTK_WIDGET(window->priv->menus.view.zooming.menu_item_zoom_out), TRUE);
- gtk_widget_set_sensitive(GTK_WIDGET(window->priv->menus.view.zooming.menu_item_zoom_100), TRUE);
- gtk_widget_set_sensitive(GTK_WIDGET(window->priv->menus.view.zooming.menu_item_zoom_fit), TRUE);
+ file_enumarator = g_file_enumerate_children (file, "standard::*", 0, NULL, NULL);
+ for(child_file_info = g_file_enumerator_next_file (file_enumarator, NULL, NULL); child_file_info != NULL; child_file_info = g_file_enumerator_next_file (file_enumarator, NULL, NULL))
+ {
+ filename = g_file_info_get_name (child_file_info);
+ content_type = g_file_info_get_content_type (child_file_info);
+ child_file = g_file_get_child (file, filename);
- gtk_widget_set_sensitive(GTK_WIDGET(window->priv->menus.view.rotate.menu_item_rotate_cw), TRUE);
- gtk_widget_set_sensitive(GTK_WIDGET(window->priv->menus.view.rotate.menu_item_rotate_ccw), TRUE);
+ if (strncmp (content_type, "image/", 6) == 0)
+ {
+ rstto_image_list_add_file (window->priv->props.image_list, child_file, NULL);
+ }
+ g_object_unref (child_file);
+ g_object_unref (child_file_info);
+ }
- /* Update window title */
- if (rstto_navigator_get_n_files(navigator) > 1)
- {
- title = g_strdup_printf("%s - %s [%d/%d]", PACKAGE_NAME, filename, nr+1, rstto_navigator_get_n_files(navigator));
}
else
{
- title = g_strconcat(PACKAGE_NAME, " - ", filename, NULL);
- }
- gtk_window_set_title(GTK_WINDOW(window), title);
- g_free(title);
- title = NULL;
-
- /* Update 'open with...' submenu */
- if(gtk_widget_get_parent(window->priv->menus.edit.open_with.menu_item_empty))
- {
- gtk_container_remove(GTK_CONTAINER(window->priv->menus.edit.open_with.menu),
- window->priv->menus.edit.open_with.menu_item_empty);
- }
- if(gtk_widget_get_parent(window->priv->menus._picture_viewer.open_with.menu_item_empty))
- {
- gtk_container_remove(GTK_CONTAINER(window->priv->menus._picture_viewer.open_with.menu),
- window->priv->menus._picture_viewer.open_with.menu_item_empty);
- }
-
- gtk_container_foreach(GTK_CONTAINER(window->priv->menus.edit.open_with.menu), (GtkCallback)gtk_widget_destroy, NULL);
- gtk_container_foreach(GTK_CONTAINER(window->priv->menus._picture_viewer.open_with.menu), (GtkCallback)gtk_widget_destroy, NULL);
-
- if (info)
- {
- window->priv->menu_apps_list = thunar_vfs_mime_database_get_applications(window->priv->mime_dbase, info->mime_info);
- GList *iter = window->priv->menu_apps_list;
- if (iter == NULL)
+ if (rstto_image_list_add_file (window->priv->props.image_list, file, NULL) == FALSE)
{
- gtk_menu_shell_append(GTK_MENU_SHELL(window->priv->menus.edit.open_with.menu), window->priv->menus.edit.open_with.menu_item_empty);
- gtk_widget_show(window->priv->menus.edit.open_with.menu_item_empty);
-
- gtk_menu_shell_append(GTK_MENU_SHELL(window->priv->menus._picture_viewer.open_with.menu),
- window->priv->menus._picture_viewer.open_with.menu_item_empty);
- gtk_widget_show(window->priv->menus._picture_viewer.open_with.menu_item_empty);
+ err_dialog = gtk_message_dialog_new(GTK_WINDOW(window),
+ GTK_DIALOG_MODAL,
+ GTK_MESSAGE_ERROR,
+ GTK_BUTTONS_OK,
+ _("Could not open file"));
+ gtk_dialog_run( GTK_DIALOG(err_dialog));
+ gtk_widget_destroy(err_dialog);
}
- while (iter != NULL)
+ else
{
- GtkWidget *menu_item = gtk_image_menu_item_new_with_label(thunar_vfs_mime_application_get_name(iter->data));
- GtkWidget *image = gtk_image_new_from_icon_name(thunar_vfs_mime_handler_lookup_icon_name(iter->data, window->priv->icon_theme), GTK_ICON_SIZE_MENU);
- gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(menu_item), image);
- gtk_menu_shell_append(GTK_MENU_SHELL(window->priv->menus.edit.open_with.menu), menu_item);
- g_object_set_data(iter->data, "entry", entry);
- g_signal_connect(menu_item, "activate", G_CALLBACK(cb_rstto_main_window_spawn_app), iter->data);
- gtk_widget_show(menu_item);
-
- menu_item = gtk_image_menu_item_new_with_label(thunar_vfs_mime_application_get_name(iter->data));
- image = gtk_image_new_from_icon_name(thunar_vfs_mime_handler_lookup_icon_name(iter->data, window->priv->icon_theme), GTK_ICON_SIZE_MENU);
- gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(menu_item), image);
- gtk_menu_shell_append(GTK_MENU_SHELL(window->priv->menus._picture_viewer.open_with.menu), menu_item);
- g_object_set_data(iter->data, "entry", entry);
- g_signal_connect(menu_item, "activate", G_CALLBACK(cb_rstto_main_window_spawn_app), iter->data);
- gtk_widget_show(menu_item);
-
- iter = g_list_next(iter);
}
- }
- else
- {
- gtk_menu_shell_append(GTK_MENU_SHELL(window->priv->menus.edit.open_with.menu), window->priv->menus.edit.open_with.menu_item_empty);
- gtk_widget_show(window->priv->menus.edit.open_with.menu_item_empty);
-
- gtk_menu_shell_append(GTK_MENU_SHELL(window->priv->menus._picture_viewer.open_with.menu),
- window->priv->menus._picture_viewer.open_with.menu_item_empty);
- gtk_widget_show(window->priv->menus._picture_viewer.open_with.menu_item_empty);
}
}
else
{
- gtk_widget_set_sensitive(window->priv->menus.file.menu_item_close, FALSE);
- gtk_widget_set_sensitive(window->priv->menus.file.menu_item_close_all, FALSE);
- gtk_widget_set_sensitive(window->priv->menus.view.menu_item_set_wallpaper, FALSE);
- gtk_window_set_title(GTK_WINDOW(window), PACKAGE_STRING);
- if (rstto_navigator_get_n_files(window->priv->navigator) == 0)
- {
- gtk_widget_set_sensitive(window->priv->menus.go.menu_item_first, FALSE);
- gtk_widget_set_sensitive(window->priv->menus.go.menu_item_last, FALSE);
- gtk_widget_set_sensitive(window->priv->menus.go.menu_item_previous, FALSE);
- gtk_widget_set_sensitive(window->priv->menus.go.menu_item_next, FALSE);
- gtk_widget_set_sensitive(window->priv->menus.go.menu_item_play, FALSE);
- gtk_widget_set_sensitive(window->priv->menus.go.menu_item_pause, FALSE);
- gtk_widget_set_sensitive(window->priv->menus.file.menu_item_file_properties, FALSE);
-
- gtk_widget_set_sensitive(GTK_WIDGET(window->priv->toolbar.tool_item_next), FALSE);
- gtk_widget_set_sensitive(GTK_WIDGET(window->priv->toolbar.tool_item_previous), FALSE);
- gtk_widget_set_sensitive(GTK_WIDGET(window->priv->toolbar.tool_item_zoom_in), FALSE);
- gtk_widget_set_sensitive(GTK_WIDGET(window->priv->toolbar.tool_item_zoom_out), FALSE);
- gtk_widget_set_sensitive(GTK_WIDGET(window->priv->toolbar.tool_item_zoom_fit), FALSE);
- gtk_widget_set_sensitive(GTK_WIDGET(window->priv->toolbar.tool_item_zoom_100), FALSE);
-
- gtk_widget_set_sensitive(GTK_WIDGET(window->priv->menus._picture_viewer.menu_item_close), FALSE);
- gtk_widget_set_sensitive(GTK_WIDGET(window->priv->menus._picture_viewer.menu_item_zoom_in), FALSE);
- gtk_widget_set_sensitive(GTK_WIDGET(window->priv->menus._picture_viewer.menu_item_zoom_out), FALSE);
- gtk_widget_set_sensitive(GTK_WIDGET(window->priv->menus._picture_viewer.menu_item_zoom_100), FALSE);
- gtk_widget_set_sensitive(GTK_WIDGET(window->priv->menus._picture_viewer.menu_item_zoom_fit), FALSE);
-
- gtk_widget_set_sensitive(GTK_WIDGET(window->priv->menus.view.zooming.menu_item_zoom_in), FALSE);
- gtk_widget_set_sensitive(GTK_WIDGET(window->priv->menus.view.zooming.menu_item_zoom_out), FALSE);
- gtk_widget_set_sensitive(GTK_WIDGET(window->priv->menus.view.zooming.menu_item_zoom_100), FALSE);
- gtk_widget_set_sensitive(GTK_WIDGET(window->priv->menus.view.zooming.menu_item_zoom_fit), FALSE);
-
- gtk_widget_set_sensitive(GTK_WIDGET(window->priv->menus.view.rotate.menu_item_rotate_cw), FALSE);
- gtk_widget_set_sensitive(GTK_WIDGET(window->priv->menus.view.rotate.menu_item_rotate_ccw), FALSE);
- }
-
- gtk_container_foreach(GTK_CONTAINER(window->priv->menus.edit.open_with.menu), (GtkCallback)gtk_widget_destroy, NULL);
- gtk_container_foreach(GTK_CONTAINER(window->priv->menus._picture_viewer.open_with.menu), (GtkCallback)gtk_widget_destroy, NULL);
- if(!gtk_widget_get_parent(window->priv->menus.edit.open_with.menu_item_empty))
- {
- gtk_menu_shell_append(GTK_MENU_SHELL(window->priv->menus.edit.open_with.menu), window->priv->menus.edit.open_with.menu_item_empty);
- gtk_widget_show(window->priv->menus.edit.open_with.menu_item_empty);
- }
-
- if(!gtk_widget_get_parent(window->priv->menus._picture_viewer.open_with.menu_item_empty))
- {
- gtk_menu_shell_append(GTK_MENU_SHELL(window->priv->menus._picture_viewer.open_with.menu),
- window->priv->menus._picture_viewer.open_with.menu_item_empty);
- gtk_widget_show(window->priv->menus._picture_viewer.open_with.menu_item_empty);
- }
+ err_dialog = gtk_message_dialog_new(GTK_WINDOW(window),
+ GTK_DIALOG_MODAL,
+ GTK_MESSAGE_ERROR,
+ GTK_BUTTONS_OK,
+ _("Could not open file"));
+ gtk_dialog_run (GTK_DIALOG (err_dialog));
+ gtk_widget_destroy (err_dialog);
}
+ g_object_unref (file);
+ g_free (uri);
}
+/**
+ * cb_rstto_main_window_save_copy:
+ * @widget:
+ * @window:
+ *
+ *
+ */
static void
-cb_rstto_main_window_nav_new_entry(RsttoNavigator *navigator, gint nr, RsttoNavigatorEntry *entry, RsttoMainWindow *window)
+cb_rstto_main_window_save_copy (GtkWidget *widget, RsttoMainWindow *window)
{
- RsttoNavigatorEntry *current_entry = rstto_navigator_get_file(navigator);
- ThunarVfsInfo *info = rstto_navigator_entry_get_info(entry);
- gchar *filename = info->display_name;
+ GtkWidget *dialog;
+ gint response;
+ GFile *file, *s_file;
- gint current_nr = rstto_navigator_get_position(navigator);
+ dialog = gtk_file_chooser_dialog_new(_("Save copy"),
+ GTK_WINDOW(window),
+ GTK_FILE_CHOOSER_ACTION_SAVE,
+ GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
+ GTK_STOCK_SAVE, GTK_RESPONSE_OK,
+ NULL);
+ gtk_file_chooser_set_do_overwrite_confirmation (GTK_FILE_CHOOSER (dialog), TRUE);
- if (current_entry)
+ response = gtk_dialog_run(GTK_DIALOG(dialog));
+ if(response == GTK_RESPONSE_OK)
{
- gchar *title;
- /* Update window title */
- if (rstto_navigator_get_n_files(navigator) > 1)
- {
- title = g_strdup_printf("%s - %s [%d/%d]", PACKAGE_NAME, filename, current_nr+1, rstto_navigator_get_n_files(navigator));
- }
- else
+ file = gtk_file_chooser_get_file (GTK_FILE_CHOOSER (dialog));
+ s_file = rstto_image_get_file (rstto_image_list_iter_get_image (window->priv->iter));
+ if (g_file_copy (s_file, file, G_FILE_COPY_OVERWRITE, NULL, NULL, NULL, NULL))
{
- title = g_strconcat(PACKAGE_NAME, " - ", filename, NULL);
+ rstto_image_list_add_file (window->priv->props.image_list, file, NULL);
}
- gtk_window_set_title(GTK_WINDOW(window), title);
- g_free(title);
- title = NULL;
}
-}
+ gtk_widget_destroy(dialog);
-static void
-cb_rstto_main_window_next(GtkWidget *widget, RsttoMainWindow *window)
-{
- rstto_navigator_jump_forward(window->priv->navigator);
}
+/**
+ * cb_rstto_main_window_close:
+ * @widget:
+ * @window:
+ *
+ *
+ */
static void
-cb_rstto_main_window_previous(GtkWidget *widget, RsttoMainWindow *window)
+cb_rstto_main_window_close (GtkWidget *widget, RsttoMainWindow *window)
{
- rstto_navigator_jump_back(window->priv->navigator);
+ RsttoImage *image = rstto_image_list_iter_get_image (window->priv->iter);
+ rstto_image_list_remove_image (window->priv->props.image_list, image);
}
+/**
+ * cb_rstto_main_window_close_all:
+ * @widget:
+ * @window:
+ *
+ *
+ */
static void
-cb_rstto_main_window_first(GtkWidget *widget, RsttoMainWindow *window)
+cb_rstto_main_window_close_all (GtkWidget *widget, RsttoMainWindow *window)
{
- rstto_navigator_jump_first(window->priv->navigator);
+ rstto_image_list_remove_all (window->priv->props.image_list);
+ rstto_main_window_image_list_iter_changed (window);
}
-static void
-cb_rstto_main_window_last(GtkWidget *widget, RsttoMainWindow *window)
-{
- rstto_navigator_jump_last(window->priv->navigator);
-}
+/**
+ * cb_rstto_main_window_delete:
+ * @widget:
+ * @window:
+ *
+ *
+ */
static void
-cb_rstto_main_window_zoom_in(GtkWidget *widget, RsttoMainWindow *window)
+cb_rstto_main_window_delete (GtkWidget *widget, RsttoMainWindow *window)
{
- rstto_picture_viewer_set_zoom_mode(RSTTO_PICTURE_VIEWER(window->priv->picture_viewer), RSTTO_ZOOM_MODE_CUSTOM);
- gdouble scale = rstto_picture_viewer_get_scale(RSTTO_PICTURE_VIEWER(window->priv->picture_viewer));
- rstto_picture_viewer_set_scale(RSTTO_PICTURE_VIEWER(window->priv->picture_viewer), scale * window->priv->zoom_factor);
-}
+ RsttoImage *image = rstto_image_list_iter_get_image (window->priv->iter);
+ GFile *file = rstto_image_get_file (image);
+ gchar *path = g_file_get_path (file);
+ gchar *path_basename = g_path_get_basename (path);
+ GtkWidget *dialog;
+ g_return_if_fail (rstto_image_list_get_n_images (window->priv->props.image_list) > 0);
-static void
-cb_rstto_main_window_zoom_out(GtkWidget *widget, RsttoMainWindow *window)
-{
- rstto_picture_viewer_set_zoom_mode(RSTTO_PICTURE_VIEWER(window->priv->picture_viewer), RSTTO_ZOOM_MODE_CUSTOM);
- gdouble scale = rstto_picture_viewer_get_scale(RSTTO_PICTURE_VIEWER(window->priv->picture_viewer));
- rstto_picture_viewer_set_scale(RSTTO_PICTURE_VIEWER(window->priv->picture_viewer), scale / window->priv->zoom_factor);
-}
+ dialog = gtk_message_dialog_new (GTK_WINDOW (window),
+ GTK_DIALOG_DESTROY_WITH_PARENT,
+ GTK_MESSAGE_WARNING,
+ GTK_BUTTONS_OK_CANCEL,
+ N_("Are you sure you want to delete image '%s' from disk?"),
+ path_basename);
-static void
-cb_rstto_main_window_zoom_100(GtkWidget *widget, RsttoMainWindow *window)
-{
- rstto_picture_viewer_set_zoom_mode(RSTTO_PICTURE_VIEWER(window->priv->picture_viewer), RSTTO_ZOOM_MODE_100);
- rstto_picture_viewer_set_scale(RSTTO_PICTURE_VIEWER(window->priv->picture_viewer), 1);
+ g_object_ref (image);
+ if (gtk_dialog_run (GTK_DIALOG (dialog)) == GTK_RESPONSE_OK)
+ {
+ if (g_file_trash (file, NULL, NULL) == TRUE)
+ {
+ rstto_image_list_remove_image (window->priv->props.image_list, image);
+ }
+ else
+ {
+
+ }
+ }
+ gtk_widget_destroy (dialog);
+ g_free (path_basename);
+ g_free (path);
+ g_object_unref (image);
}
+/**********************/
+/* PRINTING CALLBACKS */
+/**********************/
+
+/**
+ * cb_rstto_main_window_print:
+ * @widget:
+ * @window:
+ *
+ *
+ */
static void
-cb_rstto_main_window_zoom_fit(GtkWidget *widget, RsttoMainWindow *window)
+cb_rstto_main_window_print (GtkWidget *widget, RsttoMainWindow *window)
{
- rstto_picture_viewer_set_zoom_mode(RSTTO_PICTURE_VIEWER(window->priv->picture_viewer), RSTTO_ZOOM_MODE_FIT);
- rstto_picture_viewer_fit_scale(RSTTO_PICTURE_VIEWER(window->priv->picture_viewer));
+
+ GtkPrintSettings *print_settings = gtk_print_settings_new ();
+ GtkPrintOperation *print_operation = gtk_print_operation_new ();
+ GtkPageSetup *page_setup = gtk_page_setup_new ();
+
+ gtk_print_settings_set_resolution (print_settings, 300);
+
+ gtk_page_setup_set_orientation (page_setup, GTK_PAGE_ORIENTATION_LANDSCAPE);
+
+ gtk_print_operation_set_default_page_setup (print_operation, page_setup);
+ gtk_print_operation_set_print_settings (print_operation, print_settings);
+
+ g_object_set (print_operation,
+ "n-pages", 1,
+ NULL);
+
+ g_signal_connect (print_operation, "draw-page", G_CALLBACK (rstto_main_window_print_draw_page), window);
+
+ gtk_print_operation_run (print_operation, GTK_PRINT_OPERATION_ACTION_PRINT_DIALOG, GTK_WINDOW(window), NULL);
+
}
static void
-cb_rstto_main_window_rotate_cw(GtkWidget *widget, RsttoMainWindow *window)
+rstto_main_window_print_draw_page (GtkPrintOperation *operation,
+ GtkPrintContext *print_context,
+ gint page_nr,
+ RsttoMainWindow *window)
{
- RsttoNavigatorEntry *entry = rstto_navigator_get_file(window->priv->navigator);
- if (entry)
+ RsttoImage *image = rstto_image_list_iter_get_image (window->priv->iter);
+ GdkPixbuf *pixbuf = rstto_image_get_pixbuf (image);
+ gdouble w = gdk_pixbuf_get_width (pixbuf);
+ gdouble w1 = gtk_print_context_get_width (print_context);
+ gdouble h = gdk_pixbuf_get_height (pixbuf);
+ gdouble h1 = gtk_print_context_get_height (print_context);
+
+ cairo_t *context = gtk_print_context_get_cairo_context (print_context);
+
+ cairo_translate (context, 0, 0);
+ /* Scale to page-width */
+ if ((w1/w) < (h1/h))
{
- GdkPixbufRotation rotation = rstto_navigator_entry_get_rotation(entry);
- switch (rotation)
- {
- case GDK_PIXBUF_ROTATE_NONE:
- rotation = GDK_PIXBUF_ROTATE_CLOCKWISE;
- break;
- case GDK_PIXBUF_ROTATE_COUNTERCLOCKWISE:
- rotation = GDK_PIXBUF_ROTATE_NONE;
- break;
- case GDK_PIXBUF_ROTATE_UPSIDEDOWN:
- rotation = GDK_PIXBUF_ROTATE_COUNTERCLOCKWISE;
- break;
- case GDK_PIXBUF_ROTATE_CLOCKWISE:
- rotation = GDK_PIXBUF_ROTATE_UPSIDEDOWN;
- break;
- default:
- g_warning("Unable to rotate, rotation unknown");
- break;
- }
- rstto_navigator_entry_set_rotation(entry, rotation);
+ cairo_scale (context, w1/w, w1/w);
}
+ else
+ {
+ cairo_scale (context, h1/h, h1/h);
+ }
+ //cairo_rotate (context, 90 * 3.141592/180);
+ gdk_cairo_set_source_pixbuf (context, pixbuf, 0, 0);
+
+ //cairo_rectangle (context, 0, 0, 200, 200);
+
+ cairo_paint (context);
}
+/*************************/
+/* GUI-RELATED CALLBACKS */
+/*************************/
+
+/**
+ * cb_rstto_main_window_toggle_show_file_toolbar:
+ * @widget:
+ * @window:
+ *
+ *
+ */
static void
-cb_rstto_main_window_rotate_ccw(GtkWidget *widget, RsttoMainWindow *window)
+cb_rstto_main_window_toggle_show_file_toolbar (GtkWidget *widget, RsttoMainWindow *window)
{
- RsttoNavigatorEntry *entry = rstto_navigator_get_file(window->priv->navigator);
- if (entry)
+ if (gtk_toggle_action_get_active (GTK_TOGGLE_ACTION (widget)))
{
- GdkPixbufRotation rotation = rstto_navigator_entry_get_rotation(entry);
- switch (rotation)
- {
- case GDK_PIXBUF_ROTATE_NONE:
- rotation = GDK_PIXBUF_ROTATE_COUNTERCLOCKWISE;
- break;
- case GDK_PIXBUF_ROTATE_COUNTERCLOCKWISE:
- rotation = GDK_PIXBUF_ROTATE_UPSIDEDOWN;
- break;
- case GDK_PIXBUF_ROTATE_UPSIDEDOWN:
- rotation = GDK_PIXBUF_ROTATE_CLOCKWISE;
- break;
- case GDK_PIXBUF_ROTATE_CLOCKWISE:
- rotation = GDK_PIXBUF_ROTATE_NONE;
- break;
- default:
- g_warning("Unable to rotate, rotation unknown");
- break;
- }
- rstto_navigator_entry_set_rotation(entry, rotation);
+ gtk_widget_show (window->priv->toolbar);
+ rstto_settings_set_boolean_property (RSTTO_SETTINGS (window->priv->settings_manager), "show-file-toolbar", TRUE);
+ }
+ else
+ {
+ gtk_widget_hide (window->priv->toolbar);
+ rstto_settings_set_boolean_property (RSTTO_SETTINGS (window->priv->settings_manager), "show-file-toolbar", FALSE);
}
}
+/**
+ * cb_rstto_main_window_toggle_show_nav_toolbar:
+ * @widget:
+ * @window:
+ *
+ *
+ */
static void
-cb_rstto_main_window_spawn_app(GtkWidget *widget, ThunarVfsMimeApplication *app)
-{
- ThunarVfsInfo *info = rstto_navigator_entry_get_info(g_object_get_data(G_OBJECT(app), "entry"));
- GList *list = g_list_prepend(NULL, info->path);
- thunar_vfs_mime_handler_exec(THUNAR_VFS_MIME_HANDLER(app), NULL, list, NULL);
-}
-
-void
-rstto_main_window_set_pv_bg_color (RsttoMainWindow *window, const GdkColor *color)
+cb_rstto_main_window_toggle_show_nav_toolbar (GtkWidget *widget, RsttoMainWindow *window)
{
- rstto_picture_viewer_set_bg_color(RSTTO_PICTURE_VIEWER(window->priv->picture_viewer), color);
- if (color)
+ if (gtk_toggle_action_get_active (GTK_TOGGLE_ACTION (widget)))
{
- window->priv->settings.bg_color = gdk_color_copy(color);
+ gtk_widget_show (window->priv->image_list_toolbar);
+ rstto_settings_set_boolean_property (RSTTO_SETTINGS (window->priv->settings_manager), "show-nav-toolbar", TRUE);
}
else
{
- window->priv->settings.bg_color = NULL;
+ gtk_widget_hide (window->priv->image_list_toolbar);
+ rstto_settings_set_boolean_property (RSTTO_SETTINGS (window->priv->settings_manager), "show-nav-toolbar", FALSE);
}
}
-const GdkColor *
-rstto_main_window_get_pv_bg_color (RsttoMainWindow *window)
-{
- return window->priv->settings.bg_color;
-}
-
+/**
+ * cb_rstto_main_window_toggle_show_thumbnailbar:
+ * @widget:
+ * @window:
+ *
+ *
+ */
static void
-cb_rstto_bg_color_override_check_toggled(GtkToggleButton *button, GtkWidget *widget)
+cb_rstto_main_window_toggle_show_thumbnailbar (GtkWidget *widget, RsttoMainWindow *window)
{
- if (gtk_toggle_button_get_active(button) == TRUE)
+ if (gtk_toggle_action_get_active (GTK_TOGGLE_ACTION (widget)))
{
- gtk_widget_set_sensitive(widget, TRUE);
+ gtk_widget_show (window->priv->thumbnailbar);
+ rstto_settings_set_boolean_property (RSTTO_SETTINGS (window->priv->settings_manager), "show-thumbnailbar", TRUE);
}
else
{
- gtk_widget_set_sensitive(widget, FALSE);
+ gtk_widget_hide (window->priv->thumbnailbar);
+ rstto_settings_set_boolean_property (RSTTO_SETTINGS (window->priv->settings_manager), "show-thumbnailbar", FALSE);
}
}
-GtkStatusbar *
-rstto_main_window_get_statusbar(RsttoMainWindow *window)
+static void
+cb_rstto_main_window_image_updated (RsttoImage *image, RsttoMainWindow *window)
{
- return GTK_STATUSBAR(window->priv->statusbar);
-}
+ gint width = rstto_image_get_width (image);
+ gint height = rstto_image_get_height (image);
+ gchar *status;
-gint
-rstto_main_window_get_desktop(RsttoMainWindow *window)
-{
- return window->priv->settings.desktop;
+ if (width > 0)
+ {
+ status = g_strdup_printf ("%dpx x %dpx", width, height);
+
+ gtk_statusbar_pop (GTK_STATUSBAR (window->priv->statusbar), window->priv->statusbar_context_id);
+ gtk_statusbar_push (GTK_STATUSBAR (window->priv->statusbar), window->priv->statusbar_context_id, status);
+
+ g_free (status);
+ }
}
-gint
-rstto_main_window_set_desktop(RsttoMainWindow *window, RsttoDesktop desktop)
+static void
+cb_rstto_main_window_vpaned_pos_changed (GtkWidget *widget, gpointer user_data)
{
- switch(desktop)
- {
-#ifdef WITH_DESKTOP_WALLPAPER
-#ifdef HAVE_XFCONF
- case RSTTO_DESKTOP_XFCE:
- window->priv->settings.desktop = desktop;
- break;
-#endif
-#endif
- default:
- window->priv->settings.desktop = RSTTO_DESKTOP_NONE;
- break;
- }
- return 0;
+ RsttoMainWindow *window = RSTTO_MAIN_WINDOW (user_data);
+
+ rstto_settings_set_uint_property (RSTTO_SETTINGS (window->priv->settings_manager), "thumbnailbar-size", gtk_paned_get_position (GTK_PANED(widget)));
+ g_debug("%s", __FUNCTION__);
}
diff --git a/src/main_window.h b/src/main_window.h
index f1793eb..b618a71 100644
--- a/src/main_window.h
+++ b/src/main_window.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) Stephan Arts 2006-2008 <stephan at xfce.org>
+ * Copyright (C) Stephan Arts 2006-2010 <stephan at xfce.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
@@ -60,77 +60,14 @@ struct _RsttoMainWindowClass
typedef enum {
RSTTO_DESKTOP_NONE,
- RSTTO_DESKTOP_XFCE
+ RSTTO_DESKTOP_XFCE,
+ RSTTO_DESKTOP_GNOME
} RsttoDesktop;
-static gboolean rstto_has_xfconf_query = FALSE;
-
GType rstto_main_window_get_type();
-GtkWidget *rstto_main_window_new();
-
-void
-rstto_main_window_set_thumbnail_viewer_orientation(RsttoMainWindow *window, GtkOrientation orientation);
-void
-rstto_main_window_set_show_thumbnail_viewer (RsttoMainWindow *window, gboolean visibility);
-void
-rstto_main_window_set_show_toolbar (RsttoMainWindow *window, gboolean visibility);
-gboolean
-rstto_main_window_get_show_toolbar (RsttoMainWindow *window);
-gboolean
-rstto_main_window_get_show_thumbnail_viewer (RsttoMainWindow *window);
-GtkOrientation
-rstto_main_window_get_thumbnail_viewer_orientation (RsttoMainWindow *window);
-RsttoNavigator *
-rstto_main_window_get_navigator (RsttoMainWindow *window);
-GtkRecentManager *
-rstto_main_window_get_recent_manager (RsttoMainWindow *window);
-
-
-gdouble
-rstto_main_window_get_slideshow_timeout (RsttoMainWindow *window);
-gboolean
-rstto_main_window_get_hide_thumbnails (RsttoMainWindow *window);
-gint
-rstto_main_window_get_max_cache_size (RsttoMainWindow *window);
-void
-rstto_main_window_set_slideshow_timeout (RsttoMainWindow *window, gdouble timeout);
-void
-rstto_main_window_set_hide_thumbnails (RsttoMainWindow *window, gboolean hide);
-void
-rstto_main_window_set_max_cache_size (RsttoMainWindow *window, gint max_cache_size);
-void
-rstto_main_window_set_pv_bg_color (RsttoMainWindow *window, const GdkColor *color);
-const GdkColor *
-rstto_main_window_get_pv_bg_color (RsttoMainWindow *window);
-
-void
-rstto_main_window_set_start_fullscreen (RsttoMainWindow *window, gboolean fullscreen);
-void
-rstto_main_window_set_start_slideshow (RsttoMainWindow *window, gboolean slideshow);
-void
-rstto_main_window_force_fullscreen (RsttoMainWindow *window);
-void
-rstto_main_window_force_slideshow (RsttoMainWindow *window);
-
-void
-rstto_main_window_set_scale_to_100 (RsttoMainWindow *window, gboolean scale_to_100);
-gboolean
-rstto_main_window_get_scale_to_100 (RsttoMainWindow *window);
-
-GtkStatusbar *
-rstto_main_window_get_statusbar(RsttoMainWindow *window);
-gint
-rstto_main_window_get_desktop(RsttoMainWindow *window);
-gint
-rstto_main_window_set_desktop(RsttoMainWindow *window, RsttoDesktop desktop);
-gboolean
-rstto_main_window_get_hide_thumbnail (RsttoMainWindow *window);
-void
-rstto_main_window_set_hide_thumbnail (RsttoMainWindow *window, gboolean hide);
-void
-rstto_main_window_set_start_fullscreen (RsttoMainWindow *window, gboolean fullscreen);
+GtkWidget *rstto_main_window_new (RsttoImageList *, gboolean);
G_END_DECLS
diff --git a/src/main_window_ui.xml b/src/main_window_ui.xml
new file mode 100644
index 0000000..24f2d3f
--- /dev/null
+++ b/src/main_window_ui.xml
@@ -0,0 +1,132 @@
+<ui>
+ <!--
+
+
+ -->
+ <menubar name="main-menu">
+ <menu action="file-menu">
+ <menuitem action="open"/>
+ <menuitem action="open-folder"/>
+ <placeholder name="placeholder-open-recent"/>
+ <separator/>
+ <menuitem action="save-copy"/>
+ <!--
+ <separator/>
+ <menuitem action="print"/>
+ -->
+ <separator/>
+ <menuitem action="close"/>
+ <menuitem action="close-all"/>
+ <menuitem action="quit"/>
+ </menu>
+ <menu action="edit-menu">
+ <menu action="open-with-menu">
+ <placeholder name="open-with-apps" />
+ </menu>
+ <separator/>
+ <menu action="sorting-menu">
+ <menuitem action="sort-filename"/>
+ <menuitem action="sort-date"/>
+ </menu>
+ <menuitem action="delete"/>
+ <separator/>
+ <menuitem action="preferences"/>
+ </menu>
+ <menu action="view-menu">
+ <menuitem action="show-file-toolbar"/>
+ <menuitem action="show-nav-toolbar"/>
+ <menuitem action="show-thumbnailbar"/>
+ <separator/>
+ <menu action="zoom-menu">
+ <menuitem action="zoom-in"/>
+ <menuitem action="zoom-out"/>
+ <menuitem action="zoom-fit"/>
+ <menuitem action="zoom-100"/>
+ </menu>
+ <menu action="rotation-menu">
+ <menuitem action="rotate-cw"/>
+ <menuitem action="rotate-ccw"/>
+ </menu>
+ <separator/>
+ <menuitem action="fullscreen"/>
+ <menuitem action="set-as-wallpaper"/>
+ </menu>
+ <menu action="go-menu">
+ <menuitem action="back"/>
+ <menuitem action="forward"/>
+ <menuitem action="first"/>
+ <menuitem action="last"/>
+ <separator/>
+ <placeholder name="placeholder-slideshow" />
+ </menu>
+ <menu action="help-menu">
+ <!--
+ <menuitem action="contents"/>
+ -->
+ <menuitem action="about"/>
+ </menu>
+ </menubar>
+
+ <!--
+ <popup name="tb-menu">
+ <menuitem action="open"/>
+ </popup>
+ -->
+
+ <popup name="navigation-toolbar-menu">
+ <menu action="position-menu">
+ <menuitem action="pos-left"/>
+ <menuitem action="pos-right"/>
+ <menuitem action="pos-top"/>
+ <menuitem action="pos-bottom"/>
+ </menu>
+ </popup>
+
+ <popup name="image-viewer-menu">
+ <menuitem action="open"/>
+ <menuitem action="open-folder"/>
+ <menuitem action="close"/>
+ <separator/>
+ <menu action="open-with-menu">
+ <placeholder name="open-with-apps" />
+ </menu>
+ <separator/>
+ <menuitem action="zoom-in"/>
+ <menuitem action="zoom-out"/>
+ <menuitem action="zoom-100"/>
+ <menuitem action="zoom-fit"/>
+ </popup>
+
+ <!--
+
+ -->
+ <toolbar name="file-toolbar">
+ <toolitem action="open"/>
+ <toolitem action="open-folder"/>
+ <separator />
+ <toolitem action="save-copy"/>
+ <toolitem action="close"/>
+ <toolitem action="delete"/>
+ <separator />
+ </toolbar>
+
+ <!--
+
+ -->
+ <toolbar name="navigation-toolbar">
+ <toolitem action="back"/>
+ <placeholder name="placeholder-slideshow" />
+ <toolitem action="forward"/>
+ <separator name="separator-1"/>
+ <toolitem action="rotate-ccw"/>
+ <toolitem action="rotate-cw"/>
+ <separator />
+ <toolitem action="zoom-in"/>
+ <toolitem action="zoom-out"/>
+ <toolitem action="zoom-100"/>
+ <toolitem action="zoom-fit"/>
+ <separator />
+ <placeholder name="placeholder-fullscreen" />
+ </toolbar>
+
+</ui>
diff --git a/src/navigator.c b/src/navigator.c
deleted file mode 100644
index 42f07f7..0000000
--- a/src/navigator.c
+++ /dev/null
@@ -1,1759 +0,0 @@
-/*
- * 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 Library 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 <gtk/gtkmarshal.h>
-#include <string.h>
-
-#include <thunar-vfs/thunar-vfs.h>
-#include <libexif/exif-data.h>
-
-#include "navigator.h"
-
-static void
-rstto_navigator_init(RsttoNavigator *);
-static void
-rstto_navigator_class_init(RsttoNavigatorClass *);
-static void
-rstto_navigator_dispose(GObject *object);
-
-static void
-rstto_navigator_entry_clear (RsttoNavigatorEntry *nav_entry);
-
-static gboolean
-cb_rstto_navigator_running(RsttoNavigator *navigator);
-
-static GObjectClass *parent_class = NULL;
-
-static gint
-rstto_navigator_entry_name_compare_func(RsttoNavigatorEntry *a, RsttoNavigatorEntry *b);
-
-static void
-cb_rstto_navigator_entry_area_prepared (GdkPixbufLoader *loader, RsttoNavigatorEntry *entry);
-static void
-cb_rstto_navigator_entry_closed (GdkPixbufLoader *loader, RsttoNavigatorEntry *entry);
-static gboolean
-cb_rstto_navigator_entry_read_file(GIOChannel *io_channel, GIOCondition cond, RsttoNavigatorEntry *entry);
-
-static gboolean
-cb_rstto_navigator_entry_update_image (RsttoNavigatorEntry *entry);
-
-static void
-cb_rstto_navigator_entry_fs_event (ThunarVfsMonitor *,
- ThunarVfsMonitorHandle *,
- ThunarVfsMonitorEvent,
- ThunarVfsPath *,
- ThunarVfsPath *,
- RsttoNavigatorEntry *);
-static void
-cb_rstto_navigator_fs_event (ThunarVfsMonitor *monitor,
- ThunarVfsMonitorHandle *handl,
- ThunarVfsMonitorEvent event,
- ThunarVfsPath *handle_path,
- ThunarVfsPath *event_path,
- RsttoNavigator *nav);
-
-static void
-rstto_navigator_set_busy (RsttoNavigator *navigator, gboolean busy);
-
-static gint
-cb_rstto_navigator_entry_path_compare_func(RsttoNavigatorEntry *entry, ThunarVfsPath *path);
-
-enum
-{
- RSTTO_NAVIGATOR_SIGNAL_ENTRY_MODIFIED = 0,
- RSTTO_NAVIGATOR_SIGNAL_ENTRY_REMOVED,
- RSTTO_NAVIGATOR_SIGNAL_NEW_ENTRY,
- RSTTO_NAVIGATOR_SIGNAL_ITER_CHANGED,
- RSTTO_NAVIGATOR_SIGNAL_REORDERED,
- RSTTO_NAVIGATOR_SIGNAL_COUNT
-};
-
-struct _RsttoNavigatorEntry
-{
- ThunarVfsInfo *info;
- GdkPixbufLoader *loader;
- ExifData *exif_data;
- ThunarVfsMonitorHandle *monitor_handle;
-
- GdkPixbuf *thumb;
-
- GdkPixbufAnimation *animation;
- GdkPixbufAnimationIter *iter;
- GdkPixbuf *src_pixbuf;
-
- GIOChannel *io_channel;
- gint io_source_id;
- gint timeout_id;
-
- RsttoNavigator *navigator;
-
- gdouble scale;
- gboolean fit_to_screen;
- GdkPixbufRotation rotation;
- gboolean h_flipped;
- gboolean v_flipped;
- gint x_offset;
- gint y_offset;
-
- gboolean orientation_changed;
-};
-
-
-static gint rstto_navigator_signals[RSTTO_NAVIGATOR_SIGNAL_COUNT];
-
-GType
-rstto_navigator_get_type ()
-{
- static GType rstto_navigator_type = 0;
-
- if (!rstto_navigator_type)
- {
- static const GTypeInfo rstto_navigator_info =
- {
- sizeof (RsttoNavigatorClass),
- (GBaseInitFunc) NULL,
- (GBaseFinalizeFunc) NULL,
- (GClassInitFunc) rstto_navigator_class_init,
- (GClassFinalizeFunc) NULL,
- NULL,
- sizeof (RsttoNavigator),
- 0,
- (GInstanceInitFunc) rstto_navigator_init,
- NULL
- };
-
- rstto_navigator_type = g_type_register_static (G_TYPE_OBJECT, "RsttoNavigator", &rstto_navigator_info, 0);
- }
- return rstto_navigator_type;
-}
-
-static void
-rstto_navigator_init(RsttoNavigator *navigator)
-{
- navigator->file_iter = NULL;
- navigator->compare_func = (GCompareFunc)rstto_navigator_entry_name_compare_func;
- navigator->old_position = -1;
- navigator->timeout = 5000;
- navigator->monitor = thunar_vfs_monitor_get_default();
- navigator->preload = FALSE;
-
- /* Max history size (in bytes) */
- navigator->max_history = 128000000;
-
- navigator->factory = thunar_vfs_thumb_factory_new(THUNAR_VFS_THUMB_SIZE_NORMAL);
-}
-
-static void
-rstto_navigator_class_init(RsttoNavigatorClass *nav_class)
-{
- GObjectClass *object_class = G_OBJECT_CLASS(nav_class);
-
- parent_class = g_type_class_peek_parent(nav_class);
-
- object_class->dispose = rstto_navigator_dispose;
-
- rstto_navigator_signals[RSTTO_NAVIGATOR_SIGNAL_REORDERED] = g_signal_new("reordered",
- G_TYPE_FROM_CLASS(nav_class),
- G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION,
- 0,
- NULL,
- NULL,
- g_cclosure_marshal_VOID__VOID,
- G_TYPE_NONE,
- 0,
- NULL);
- rstto_navigator_signals[RSTTO_NAVIGATOR_SIGNAL_ENTRY_MODIFIED] = g_signal_new("entry-modified",
- G_TYPE_FROM_CLASS(nav_class),
- G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION,
- 0,
- NULL,
- NULL,
- g_cclosure_marshal_VOID__POINTER,
- G_TYPE_NONE,
- 1,
- G_TYPE_POINTER,
- NULL);
- rstto_navigator_signals[RSTTO_NAVIGATOR_SIGNAL_ENTRY_REMOVED] = g_signal_new("entry-removed",
- G_TYPE_FROM_CLASS(nav_class),
- G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION,
- 0,
- NULL,
- NULL,
- g_cclosure_marshal_VOID__POINTER,
- G_TYPE_NONE,
- 1,
- G_TYPE_POINTER,
- NULL);
- rstto_navigator_signals[RSTTO_NAVIGATOR_SIGNAL_ITER_CHANGED] = g_signal_new("iter-changed",
- G_TYPE_FROM_CLASS(nav_class),
- G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION,
- 0,
- NULL,
- NULL,
- g_cclosure_marshal_VOID__UINT_POINTER,
- G_TYPE_NONE,
- 2,
- G_TYPE_UINT,
- G_TYPE_POINTER,
- NULL);
- rstto_navigator_signals[RSTTO_NAVIGATOR_SIGNAL_NEW_ENTRY] = g_signal_new("new-entry",
- G_TYPE_FROM_CLASS(nav_class),
- G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION,
- 0,
- NULL,
- NULL,
- g_cclosure_marshal_VOID__UINT_POINTER,
- G_TYPE_NONE,
- 2,
- G_TYPE_UINT,
- G_TYPE_POINTER,
- NULL);
-}
-
-static void
-rstto_navigator_dispose(GObject *object)
-{
- RsttoNavigator *navigator = RSTTO_NAVIGATOR(object);
-
- if(navigator->file_list)
- {
- g_list_foreach(navigator->file_list, (GFunc)rstto_navigator_entry_free, NULL);
- navigator->file_list = NULL;
- navigator->file_iter = NULL;
- }
-}
-
-RsttoNavigator *
-rstto_navigator_new(GtkRecentManager *manager)
-{
- RsttoNavigator *navigator;
-
- navigator = g_object_new(RSTTO_TYPE_NAVIGATOR, NULL);
- navigator->manager = manager;
-
- return navigator;
-}
-
-/*
- * static gint
- * rstto_navigator_entry_name_compare_func:
- *
- * @a: RsttoNavigatorEntry
- * @b: RsttoNavigatorEntry
- *
- * Return value: see g_strcasecmp
- */
-static gint
-rstto_navigator_entry_name_compare_func(RsttoNavigatorEntry *a, RsttoNavigatorEntry *b)
-{
- return g_strcasecmp(a->info->display_name, b->info->display_name);
-}
-
-
-static void
-rstto_navigator_add_entry_to_history(RsttoNavigator *navigator, RsttoNavigatorEntry *entry)
-{
-
- /* rstto_debug_print_src_pixbufs(navigator); */
-
- /* Check if the image is already available in the image-cache */
- if (g_list_index(navigator->history, entry) != -1)
- {
- /* Remove the image from the history, we are going to re-add it at the front of the list later */
- navigator->history = g_list_remove(navigator->history, entry);
- }
- navigator->history = g_list_prepend(navigator->history, entry);
-
- /* manage history by kicking excess elements out */
- GList *iter = NULL;
- guint64 size = 0;
-
- for (iter = navigator->history; iter != NULL; iter = g_list_next(iter))
- {
- RsttoNavigatorEntry *nav_entry = iter->data;
-
- if (nav_entry)
- {
- size += rstto_navigator_entry_get_size(nav_entry);
- size += sizeof (*nav_entry);
- size += sizeof (*nav_entry->info);
-
- if (nav_entry->exif_data);
- size += sizeof (*nav_entry->exif_data);
- if (nav_entry->loader)
- size += sizeof (nav_entry->loader);
-
- if (size > navigator->max_history)
- {
- if (iter != navigator->file_iter)
- {
- rstto_navigator_entry_clear (nav_entry);
- iter = g_list_previous(iter);
- }
- else
- {
- iter = g_list_previous(iter);
- nav_entry = iter->data;
- if (nav_entry)
- {
- rstto_navigator_entry_clear (nav_entry);
- }
- iter = g_list_next(iter);
- }
- navigator->history = g_list_remove(navigator->history, nav_entry);
- }
- }
- }
-}
-
-
-void
-rstto_navigator_guard_history(RsttoNavigator *navigator, RsttoNavigatorEntry *entry)
-{
- /* check if the image is still loading, if so... don't cache the image */
- if(entry->io_channel)
- {
- g_source_remove(entry->io_source_id);
- g_io_channel_unref(entry->io_channel);
- entry->io_channel = NULL;
- entry->io_source_id = 0;
- if(entry->loader)
- {
- g_signal_handlers_disconnect_by_func(entry->loader , cb_rstto_navigator_entry_area_prepared, entry);
- gdk_pixbuf_loader_close(entry->loader, NULL);
- }
-
- if (entry->timeout_id)
- {
- g_source_remove(entry->timeout_id);
- entry->timeout_id = 0;
- }
-
- if(entry->animation)
- {
- g_object_unref(entry->animation);
- entry->animation = NULL;
- }
-
- if(entry->src_pixbuf)
- {
- g_object_unref(entry->src_pixbuf);
- entry->src_pixbuf = NULL;
- }
-
- if(entry->iter)
- {
- g_object_unref(entry->iter);
- entry->iter = NULL;
- }
- }
-
- rstto_navigator_add_entry_to_history(navigator, entry);
-}
-
-/* for debugging:
- * iterate through navigator->file_list and print out all
- * pixbuf entries to see whether they've been loaded or not
- */
-void
-rstto_debug_print_src_pixbufs (RsttoNavigator *navigator)
-{
- GList *e = navigator->file_list;
- int i = 1;
- printf("src_pixbufs loaded for these image indices: ");
- while (e != NULL)
- {
- RsttoNavigatorEntry *re = e->data;
- if (re->src_pixbuf != NULL)
- {
- printf("%d ", i);
- }
- e = g_list_next(e);
- i++;
- }
- printf("\n");
-}
-
-
-/* preloading for improved responsiveness
- * (at the expense of increased memory usage)
- */
-static gboolean
-rstto_navigator_preload_next_img (RsttoNavigator *navigator)
-{
- GList *next = g_list_next(navigator->file_iter);
- /* wraparound case */
- if (next == NULL)
- {
- next = navigator->file_list;
- }
- if (next != NULL)
- {
- RsttoNavigatorEntry *next_entry = next->data;
- rstto_navigator_entry_load_image(next_entry, FALSE);
-
- /* add image to the cache-history */
- rstto_navigator_add_entry_to_history(navigator, next_entry);
- }
-
- /* for use with g_timeout_add() */
- return FALSE;
-}
-
-static gboolean
-rstto_navigator_preload_prev_img (RsttoNavigator *navigator)
-{
- GList *prev = g_list_previous(navigator->file_iter);
- /* wraparound case */
- if (prev == NULL)
- {
- prev = g_list_last(navigator->file_list);
- }
- if (prev != NULL)
- {
- RsttoNavigatorEntry *prev_entry = prev->data;
- rstto_navigator_entry_load_image(prev_entry, FALSE);
-
- /* add image to the cache-history */
- rstto_navigator_add_entry_to_history(navigator, prev_entry);
- }
-
- /* for use with g_timeout_add() */
- return FALSE;
-}
-
-
-void
-rstto_navigator_jump_first (RsttoNavigator *navigator)
-{
- if(navigator->file_iter)
- {
- rstto_navigator_guard_history(navigator, navigator->file_iter->data);
- navigator->old_position = rstto_navigator_get_position(navigator);
- }
- navigator->file_iter = g_list_first(navigator->file_list);
- if(navigator->file_iter)
- {
- g_signal_emit(G_OBJECT(navigator), rstto_navigator_signals[RSTTO_NAVIGATOR_SIGNAL_ITER_CHANGED], 0, 0, navigator->file_iter->data, NULL);
-
- if (navigator->preload)
- {
- /* preload in both directions */
- g_timeout_add(500, (GSourceFunc)rstto_navigator_preload_next_img, navigator);
- g_timeout_add(500, (GSourceFunc)rstto_navigator_preload_prev_img, navigator);
- }
- }
-}
-
-void
-rstto_navigator_jump_forward (RsttoNavigator *navigator)
-{
- if(navigator->file_iter)
- {
- rstto_navigator_guard_history(navigator, navigator->file_iter->data);
- navigator->old_position = rstto_navigator_get_position(navigator);
- navigator->file_iter = g_list_next(navigator->file_iter);
- }
- if(!navigator->file_iter)
- navigator->file_iter = g_list_first(navigator->file_list);
-
- if(navigator->file_iter)
- {
- g_signal_emit(G_OBJECT(navigator),
- rstto_navigator_signals[RSTTO_NAVIGATOR_SIGNAL_ITER_CHANGED],
- 0,
- g_list_position(navigator->file_list, navigator->file_iter),
- navigator->file_iter->data,
- NULL);
-
- if (navigator->preload)
- {
- /* preload forwards */
- g_timeout_add(500, (GSourceFunc)rstto_navigator_preload_next_img, navigator);
- }
- }
- else
- {
- g_signal_emit(G_OBJECT(navigator),
- rstto_navigator_signals[RSTTO_NAVIGATOR_SIGNAL_ITER_CHANGED],
- 0,
- -1,
- NULL,
- NULL);
-
- }
-}
-
-void
-rstto_navigator_jump_back (RsttoNavigator *navigator)
-{
- if(navigator->file_iter)
- {
- rstto_navigator_guard_history(navigator, navigator->file_iter->data);
- navigator->old_position = rstto_navigator_get_position(navigator);
- navigator->file_iter = g_list_previous(navigator->file_iter);
- }
- if(!navigator->file_iter)
- navigator->file_iter = g_list_last(navigator->file_list);
-
- if(navigator->file_iter)
- {
- g_signal_emit(G_OBJECT(navigator),
- rstto_navigator_signals[RSTTO_NAVIGATOR_SIGNAL_ITER_CHANGED],
- 0,
- g_list_position(navigator->file_list, navigator->file_iter),
- navigator->file_iter->data,
- NULL);
-
- if (navigator->preload)
- {
- /* preload backwards */
- g_timeout_add(500, (GSourceFunc)rstto_navigator_preload_prev_img, navigator);
- }
- }
-}
-
-void
-rstto_navigator_jump_last (RsttoNavigator *navigator)
-{
- if(navigator->file_iter)
- {
- rstto_navigator_guard_history(navigator, navigator->file_iter->data);
- navigator->old_position = rstto_navigator_get_position(navigator);
- }
- navigator->file_iter = g_list_last(navigator->file_list);
-
- if(navigator->file_iter)
- {
- g_signal_emit(G_OBJECT(navigator),
- rstto_navigator_signals[RSTTO_NAVIGATOR_SIGNAL_ITER_CHANGED],
- 0,
- g_list_position(navigator->file_list, navigator->file_iter),
- navigator->file_iter->data,
- NULL);
-
- if (navigator->preload)
- {
- /* preload in both directions */
- g_timeout_add(500, (GSourceFunc)rstto_navigator_preload_next_img, navigator);
- g_timeout_add(500, (GSourceFunc)rstto_navigator_preload_prev_img, navigator);
- }
- }
-}
-
-void
-rstto_navigator_set_running (RsttoNavigator *navigator, gboolean running)
-{
- if(!navigator->running)
- {
- navigator->running = running;
- if(!navigator->id)
- {
- navigator->id = g_timeout_add(navigator->timeout, (GSourceFunc)cb_rstto_navigator_running, navigator);
- if (navigator->preload)
- {
- /* preload forwards */
- rstto_navigator_preload_next_img(navigator);
- }
- }
- }
- else
- {
- navigator->running = running;
- }
-}
-
-gboolean
-rstto_navigator_is_running (RsttoNavigator *navigator)
-{
- return navigator->running;
-}
-
-RsttoNavigatorEntry *
-rstto_navigator_get_file (RsttoNavigator *navigator)
-{
- if(navigator->file_iter)
- {
- return (RsttoNavigatorEntry *)(navigator->file_iter->data);
- }
- else
- {
- return NULL;
- }
-}
-
-gint
-rstto_navigator_get_position(RsttoNavigator *navigator)
-{
- return g_list_position(navigator->file_list, navigator->file_iter);
-}
-
-gint
-rstto_navigator_get_n_files (RsttoNavigator *navigator)
-{
- return g_list_length(navigator->file_list);
-}
-
-RsttoNavigatorEntry *
-rstto_navigator_get_nth_file (RsttoNavigator *navigator, gint n)
-{
- return g_list_nth_data(navigator->file_list, n);
-}
-
-gint
-rstto_navigator_add (RsttoNavigator *navigator, RsttoNavigatorEntry *entry, gboolean with_monitor)
-{
- g_return_val_if_fail(navigator == entry->navigator, -1);
-
- if (g_list_index(navigator->file_list, entry) == -1)
- {
- navigator->file_list = g_list_insert_sorted(navigator->file_list, entry, navigator->compare_func);
- if (!navigator->file_iter)
- {
- navigator->file_iter = navigator->file_list;
- if (navigator->busy == FALSE)
- {
- g_signal_emit(G_OBJECT(navigator),
- rstto_navigator_signals[RSTTO_NAVIGATOR_SIGNAL_ITER_CHANGED],
- 0,
- g_list_index(navigator->file_list, entry),
- entry,
- NULL);
- }
- }
-
- if (with_monitor == TRUE)
- entry->monitor_handle = thunar_vfs_monitor_add_file(navigator->monitor, entry->info->path, (ThunarVfsMonitorCallback)cb_rstto_navigator_entry_fs_event, entry);
-
- if (navigator->busy == FALSE)
- {
- g_signal_emit(G_OBJECT(navigator), rstto_navigator_signals[RSTTO_NAVIGATOR_SIGNAL_NEW_ENTRY], 0, g_list_index(navigator->file_list, entry), entry, NULL);
- }
- }
- return g_list_index(navigator->file_list, entry);
-}
-
-void
-rstto_navigator_remove (RsttoNavigator *navigator, RsttoNavigatorEntry *entry)
-{
- if(navigator->file_iter)
- {
- if(navigator->file_iter->data == entry)
- {
- navigator->old_position = rstto_navigator_get_position(navigator);
- navigator->file_iter = g_list_next(navigator->file_iter);
-
- navigator->file_list = g_list_remove(navigator->file_list, entry);
-
- if(!navigator->file_iter)
- navigator->file_iter = g_list_first(navigator->file_list);
-
- /* An item should not be able to exist several times inside the
- * history, g_list_remove should suffice here
- */
- if (navigator->history)
- {
- navigator->history = g_list_remove (navigator->history, entry);
- }
-
- if (navigator->busy == FALSE)
- {
- g_signal_emit(G_OBJECT(navigator), rstto_navigator_signals[RSTTO_NAVIGATOR_SIGNAL_ENTRY_REMOVED], 0, entry, NULL);
- }
- if(g_list_length(navigator->file_list) == 0)
- {
- navigator->file_iter = NULL;
- navigator->file_list = NULL;
- }
- if(navigator->file_iter)
- {
- if (navigator->busy == FALSE)
- {
- g_signal_emit(G_OBJECT(navigator),
- rstto_navigator_signals[RSTTO_NAVIGATOR_SIGNAL_ITER_CHANGED],
- 0,
- g_list_position(navigator->file_list, navigator->file_iter),
- navigator->file_iter->data,
- NULL);
- }
- }
- else
- {
- g_signal_emit(G_OBJECT(navigator),
- rstto_navigator_signals[RSTTO_NAVIGATOR_SIGNAL_ITER_CHANGED],
- 0,
- -1,
- NULL,
- NULL);
-
- }
- return;
- }
- if (g_list_find(navigator->history, entry))
- {
- navigator->history = g_list_remove(navigator->history, entry);
- }
- }
- navigator->file_list = g_list_remove(navigator->file_list, entry);
- if (entry->monitor_handle)
- {
- thunar_vfs_monitor_remove(navigator->monitor, entry->monitor_handle);
- }
- if(g_list_length(navigator->file_list) == 0)
- {
- navigator->file_iter = NULL;
- navigator->file_list = NULL;
- }
-}
-
-void
-rstto_navigator_clear (RsttoNavigator *navigator)
-{
- if(navigator->file_list)
- {
- g_list_free(navigator->history);
- g_list_foreach(navigator->file_list, (GFunc)rstto_navigator_entry_free, NULL);
- navigator->file_list = NULL;
- navigator->file_iter = NULL;
- navigator->old_position = -1;
- navigator->history = NULL;
- }
- g_signal_emit(G_OBJECT(navigator), rstto_navigator_signals[RSTTO_NAVIGATOR_SIGNAL_ITER_CHANGED], 0, -1, NULL, NULL);
- g_signal_emit(G_OBJECT(navigator), rstto_navigator_signals[RSTTO_NAVIGATOR_SIGNAL_REORDERED], 0, NULL);
-}
-
-void
-rstto_navigator_set_file_nr (RsttoNavigator *navigator, gint n)
-{
- if(navigator->file_iter)
- {
- rstto_navigator_guard_history(navigator, navigator->file_iter->data);
- navigator->old_position = rstto_navigator_get_position(navigator);
- }
- navigator->file_iter = g_list_nth(navigator->file_list, n);
- if(navigator->file_iter)
- {
- g_signal_emit(G_OBJECT(navigator),
- rstto_navigator_signals[RSTTO_NAVIGATOR_SIGNAL_ITER_CHANGED],
- 0,
- g_list_position(navigator->file_list, navigator->file_iter),
- navigator->file_iter->data,
- NULL);
- }
-}
-
-/* Callbacks */
-
-static gboolean
-cb_rstto_navigator_running(RsttoNavigator *navigator)
-{
- if(navigator->running)
- {
- rstto_navigator_jump_forward(navigator);
-
- if (navigator->preload)
- {
- /* preload forwards */
- rstto_navigator_preload_next_img(navigator);
- }
- }
- else
- {
- navigator->id = 0;
- }
- return navigator->running;
-}
-
-void
-rstto_navigator_set_timeout (RsttoNavigator *navigator, gint timeout)
-{
- navigator->timeout = timeout;
-}
-
-void
-rstto_navigator_flip_entry(RsttoNavigator *navigator, RsttoNavigatorEntry *entry, gboolean horizontal)
-{
- if (horizontal)
- {
- entry->h_flipped = !entry->h_flipped;
- }
- else
- {
- entry->v_flipped = !entry->v_flipped;
- }
-}
-
-
-RsttoNavigatorEntry *
-rstto_navigator_entry_new (RsttoNavigator *navigator, ThunarVfsInfo *info)
-{
- RsttoNavigatorEntry *entry = NULL;
- ExifEntry *exifentry = NULL;
- gchar *filename = thunar_vfs_path_dup_string(info->path);
- if(filename)
- {
- GList *iter = g_list_find_custom(navigator->file_list, info->path, (GCompareFunc)cb_rstto_navigator_entry_path_compare_func);
- if (iter)
- entry = iter->data;
-
- if (entry == NULL)
- {
- entry = g_new0(RsttoNavigatorEntry, 1);
-
- entry->info = info;
- entry->exif_data = exif_data_new_from_file(filename);
- entry->navigator = navigator;
- entry->animation = NULL;
-
- if (entry->exif_data) {
- exifentry = exif_data_get_entry(entry->exif_data, EXIF_TAG_ORIENTATION);
- }
- if (exifentry)
- {
- gchar *val = g_new0(gchar, 20);
- exif_entry_get_value(exifentry, val, 20);
- if (!strcmp(val, "top - left"))
- {
- entry->v_flipped = FALSE;
- entry->h_flipped = FALSE;
- entry->rotation = GDK_PIXBUF_ROTATE_NONE;
- }
- if (!strcmp(val, "top - right"))
- {
- entry->v_flipped = FALSE;
- entry->h_flipped = TRUE;
- entry->rotation = GDK_PIXBUF_ROTATE_NONE;
- }
- if (!strcmp(val, "bottom - left"))
- {
- entry->v_flipped = TRUE;
- entry->h_flipped = FALSE;
- entry->rotation = GDK_PIXBUF_ROTATE_NONE;
- }
- if (!strcmp(val, "bottom - right"))
- {
- entry->v_flipped = FALSE;
- entry->h_flipped = FALSE;
- entry->rotation = GDK_PIXBUF_ROTATE_UPSIDEDOWN;
- }
- if (!strcmp(val, "right - top"))
- {
- entry->v_flipped = FALSE;
- entry->h_flipped = FALSE;
- entry->rotation = GDK_PIXBUF_ROTATE_CLOCKWISE;
- }
- if (!strcmp(val, "right - bottom"))
- {
- entry->v_flipped = FALSE;
- entry->h_flipped = TRUE;
- entry->rotation = GDK_PIXBUF_ROTATE_COUNTERCLOCKWISE;
- }
- if (!strcmp(val, "left - top"))
- {
- entry->v_flipped = FALSE;
- entry->h_flipped = TRUE;
- entry->rotation = GDK_PIXBUF_ROTATE_CLOCKWISE;
- }
- if (!strcmp(val, "left - bottom"))
- {
- entry->v_flipped = FALSE;
- entry->h_flipped = FALSE;
- entry->rotation = GDK_PIXBUF_ROTATE_COUNTERCLOCKWISE;
- }
- g_free(val);
- }
- }
-
- g_free(filename);
- }
- return entry;
-}
-
-ThunarVfsInfo *
-rstto_navigator_entry_get_info (RsttoNavigatorEntry *entry)
-{
- return entry->info;
-}
-
-GdkPixbufRotation
-rstto_navigator_entry_get_rotation (RsttoNavigatorEntry *entry)
-{
- return entry->rotation;
-}
-
-gboolean
-rstto_navigator_entry_get_flip (RsttoNavigatorEntry *entry, gboolean horizontal)
-{
- if (horizontal)
- {
- return entry->h_flipped;
- }
- else
- {
- return entry->v_flipped;
- }
-}
-
-static void
-rstto_navigator_entry_clear (RsttoNavigatorEntry *nav_entry)
-{
- if(nav_entry->thumb)
- {
- gdk_pixbuf_unref(nav_entry->thumb);
- nav_entry->thumb = NULL;
- }
-
- if(nav_entry->io_channel)
- {
- g_source_remove(nav_entry->io_source_id);
- g_io_channel_unref(nav_entry->io_channel);
- nav_entry->io_channel = NULL;
- nav_entry->io_source_id = 0;
- }
-
- if (nav_entry->timeout_id)
- {
- g_source_remove(nav_entry->timeout_id);
- nav_entry->timeout_id = 0;
- }
-
- if(nav_entry->loader)
- {
- g_signal_handlers_disconnect_by_func(nav_entry->loader , cb_rstto_navigator_entry_area_prepared, nav_entry);
- gdk_pixbuf_loader_close(nav_entry->loader, NULL);
- }
-
- if(nav_entry->animation)
- {
- g_object_unref(nav_entry->animation);
- nav_entry->animation = NULL;
- }
- if(nav_entry->src_pixbuf)
- {
- g_object_unref(nav_entry->src_pixbuf);
- nav_entry->src_pixbuf = NULL;
- }
-
- if(nav_entry->iter)
- {
- g_object_unref (nav_entry->iter);
- nav_entry->iter = NULL;
- }
-
-}
-
-void
-rstto_navigator_entry_free(RsttoNavigatorEntry *nav_entry)
-{
- rstto_navigator_entry_clear (nav_entry);
- thunar_vfs_info_unref(nav_entry->info);
- g_free(nav_entry);
-}
-
-GdkPixbuf *
-rstto_navigator_entry_get_thumb(RsttoNavigatorEntry *entry, gint size)
-{
- ThunarVfsPath *home_path = thunar_vfs_path_get_for_home();
- ThunarVfsPath *thumbnail_path = thunar_vfs_path_relative (home_path, ".thumbnails");
- if(entry->thumb)
- {
- if(!(gdk_pixbuf_get_width(entry->thumb) == size || gdk_pixbuf_get_height(entry->thumb) == size))
- {
- /* TODO: rebuild thumbnail */
- }
- }
- else
- {
- ThunarVfsInfo *info = rstto_navigator_entry_get_info(entry);
- gchar *thumbnail = thunar_vfs_thumb_factory_lookup_thumbnail(entry->navigator->factory, info);
- if (thumbnail == NULL)
- {
- if (!thunar_vfs_path_is_ancestor (info->path, thumbnail_path))
- {
- GdkPixbuf *pixbuf = thunar_vfs_thumb_factory_generate_thumbnail(entry->navigator->factory, info);
- if (pixbuf != NULL)
- {
- if (!thunar_vfs_thumb_factory_store_thumbnail(entry->navigator->factory, pixbuf, info, NULL))
- {
- g_critical("Storing thumbnail failed");
- }
-
- gint width = gdk_pixbuf_get_width(pixbuf);
- gint height = gdk_pixbuf_get_height(pixbuf);
-
- if (width > height)
- {
- entry->thumb = gdk_pixbuf_new(GDK_COLORSPACE_RGB,
- gdk_pixbuf_get_has_alpha(pixbuf),
- gdk_pixbuf_get_bits_per_sample(pixbuf),
- size,
- height*size/width);
- }
- else
- {
- entry->thumb = gdk_pixbuf_new(GDK_COLORSPACE_RGB,
- gdk_pixbuf_get_has_alpha(pixbuf),
- gdk_pixbuf_get_bits_per_sample(pixbuf),
- width*size/height,
- size);
- }
- gdk_pixbuf_scale(pixbuf, entry->thumb,
- 0, 0,
- gdk_pixbuf_get_width(entry->thumb),
- gdk_pixbuf_get_height(entry->thumb),
- 0, 0,
- ((gdouble)gdk_pixbuf_get_width(entry->thumb)) / (gdouble)width,
- ((gdouble)gdk_pixbuf_get_height(entry->thumb)) / (gdouble)height,
- GDK_INTERP_BILINEAR);
- }
- else
- {
- thumbnail = thunar_vfs_path_dup_string(info->path);
- entry->thumb = gdk_pixbuf_new_from_file_at_scale(thumbnail, size, size, TRUE, NULL);
- g_free(thumbnail);
- }
- }
- else
- {
- GtkIconTheme *theme = gtk_icon_theme_get_default();
- entry->thumb = gtk_icon_theme_load_icon (theme, thunar_vfs_mime_info_lookup_icon_name (info->mime_info, theme), size, 0, NULL);
- }
- }
- else
- {
- entry->thumb = gdk_pixbuf_new_from_file_at_scale(thumbnail, size, size, TRUE, NULL);
- g_free(thumbnail);
- }
- }
- return entry->thumb;
-}
-
-gint
-rstto_navigator_get_old_position (RsttoNavigator *navigator)
-{
- return navigator->old_position;
-}
-
-gdouble
-rstto_navigator_entry_get_scale (RsttoNavigatorEntry *entry)
-{
- return entry->scale;
-}
-
-void
-rstto_navigator_entry_set_scale (RsttoNavigatorEntry *entry, gdouble scale)
-{
- if (scale == 0.0)
- {
- entry->scale = scale;
- return;
- }
- /* Max scale 1600% */
- if (scale > 16)
- {
- scale = 16;
- }
- /* Min scale 5% */
- if (scale < 0.05)
- {
- scale = 0.05;
- }
- entry->scale = scale;
-}
-
-gboolean
-rstto_navigator_entry_get_fit_to_screen (RsttoNavigatorEntry *entry)
-{
- return entry->fit_to_screen;
-}
-
-void
-rstto_navigator_entry_set_fit_to_screen (RsttoNavigatorEntry *entry, gboolean fts)
-{
- entry->fit_to_screen = fts;
-}
-
-void
-rstto_navigator_entry_set_rotation (RsttoNavigatorEntry *entry, GdkPixbufRotation rotation)
-{
- GdkPixbuf *pixbuf = entry->src_pixbuf;
- if (pixbuf)
- {
- entry->src_pixbuf = gdk_pixbuf_rotate_simple(pixbuf, (360+(rotation-entry->rotation))%360);
- }
- entry->rotation = rotation;
- entry->orientation_changed = TRUE;
- g_signal_emit(G_OBJECT(entry->navigator), rstto_navigator_signals[RSTTO_NAVIGATOR_SIGNAL_ENTRY_MODIFIED], 0, entry, NULL);
-}
-
-
-ExifData *
-rstto_navigator_entry_get_exif_data (RsttoNavigatorEntry *entry)
-{
- return entry->exif_data;
-}
-
-
-GdkPixbufLoader *
-rstto_navigator_entry_get_pixbuf_loader (RsttoNavigatorEntry *entry)
-{
- if (!entry->loader)
- {
- entry->loader = gdk_pixbuf_loader_new();
- }
- return entry->loader;
-}
-
-GdkPixbuf *
-rstto_navigator_entry_get_pixbuf (RsttoNavigatorEntry *entry)
-{
- return entry->src_pixbuf;
-}
-
-guint64
-rstto_navigator_entry_get_size (RsttoNavigatorEntry *entry)
-{
- guint64 size = 0;
-
- gint width, height, n_channels;
-
- if (entry->src_pixbuf)
- {
- width = gdk_pixbuf_get_rowstride(entry->src_pixbuf);
- height = gdk_pixbuf_get_height(entry->src_pixbuf);
-
- n_channels = gdk_pixbuf_get_n_channels(entry->src_pixbuf);
-
- //size += (guint64) width * height * n_channels;
- size += (guint64) width * height;
- }
- if (entry->thumb)
- {
- width = gdk_pixbuf_get_rowstride(entry->thumb);
- height = gdk_pixbuf_get_height(entry->thumb);
-
- n_channels = gdk_pixbuf_get_n_channels(entry->thumb);
- //size += (guint64) width * height * n_channels;
- size += (guint64) width * height;
- }
-
- size += (guint64)sizeof (RsttoNavigatorEntry);
-
- return size;
-}
-
-gboolean
-rstto_navigator_entry_get_orientation_changed (RsttoNavigatorEntry *entry)
-{
- return entry->orientation_changed;
-}
-
-gboolean
-rstto_navigator_entry_load_image (RsttoNavigatorEntry *entry, gboolean empty_cache)
-{
- g_return_val_if_fail(entry != NULL, FALSE);
- gchar *path = NULL;
-
- if (entry->io_channel)
- {
- return FALSE;
- }
- if ((entry->loader == NULL) && ((empty_cache == TRUE ) || entry->src_pixbuf == NULL))
- {
- if (entry->src_pixbuf)
- {
- gdk_pixbuf_unref(entry->src_pixbuf);
- entry->src_pixbuf = NULL;
- }
- entry->loader = gdk_pixbuf_loader_new();
-
- g_signal_connect(entry->loader, "area-prepared", G_CALLBACK(cb_rstto_navigator_entry_area_prepared), entry);
- /*g_signal_connect(entry->loader, "area-updated", G_CALLBACK(cb_rstto_navigator_entry_area_updated), viewer);*/
- g_signal_connect(entry->loader, "closed", G_CALLBACK(cb_rstto_navigator_entry_closed), entry);
-
- path = thunar_vfs_path_dup_string(entry->info->path);
-
- entry->io_channel = g_io_channel_new_file(path, "r", NULL);
-
- g_io_channel_set_encoding(entry->io_channel, NULL, NULL);
- entry->io_source_id = g_io_add_watch(entry->io_channel, G_IO_IN | G_IO_PRI, (GIOFunc)cb_rstto_navigator_entry_read_file, entry);
- g_free(path);
- }
- else
- {
- if (entry->src_pixbuf)
- {
- g_signal_emit(G_OBJECT(entry->navigator), rstto_navigator_signals[RSTTO_NAVIGATOR_SIGNAL_ENTRY_MODIFIED], 0, entry, NULL);
- }
- }
-
- return TRUE;
-}
-
-
-static gboolean
-cb_rstto_navigator_entry_read_file(GIOChannel *io_channel, GIOCondition cond, RsttoNavigatorEntry *entry)
-{
- gchar buffer[1024];
- gsize bytes_read = 0;
- GError *error = NULL;
- GIOStatus status;
-
- g_return_val_if_fail(io_channel == entry->io_channel, FALSE);
-
- if (entry->loader)
- {
-
- status = g_io_channel_read_chars(io_channel, buffer, 1024, &bytes_read, &error);
-
- switch (status)
- {
- case G_IO_STATUS_NORMAL:
- if(gdk_pixbuf_loader_write(entry->loader, (const guchar *)buffer, bytes_read, NULL) == FALSE)
- {
- g_io_channel_unref(io_channel);
- entry->io_channel = NULL;
- entry->io_source_id = 0;
- return FALSE;
- }
- return TRUE;
- break;
- case G_IO_STATUS_EOF:
- gdk_pixbuf_loader_write(entry->loader, (const guchar *)buffer, bytes_read, NULL);
- gdk_pixbuf_loader_close(entry->loader, NULL);
- g_io_channel_unref(io_channel);
- entry->io_channel = NULL;
- entry->io_source_id = 0;
- return FALSE;
- break;
- case G_IO_STATUS_ERROR:
- if (entry->loader)
- {
- gdk_pixbuf_loader_close(entry->loader, NULL);
- }
- g_io_channel_unref(io_channel);
- entry->io_channel = NULL;
- entry->io_source_id = 0;
- return FALSE;
- break;
- case G_IO_STATUS_AGAIN:
- return TRUE;
- break;
- }
- }
- g_io_channel_unref(io_channel);
- entry->io_channel = NULL;
- entry->io_source_id = 0;
- return FALSE;
-}
-
-static void
-cb_rstto_navigator_entry_area_prepared (GdkPixbufLoader *loader, RsttoNavigatorEntry *entry)
-{
- entry->animation = gdk_pixbuf_loader_get_animation(loader);
- entry->iter = gdk_pixbuf_animation_get_iter(entry->animation, NULL);
- if (entry->src_pixbuf)
- {
- gdk_pixbuf_unref(entry->src_pixbuf);
- entry->src_pixbuf = NULL;
- }
-
- g_object_ref (entry->animation);
-
- gint time = gdk_pixbuf_animation_iter_get_delay_time(entry->iter);
-
- if (time != -1)
- {
- /* fix borked stuff */
- if (time == 0)
- {
- g_warning("timeout == 0: defaulting to 40ms");
- time = 40;
- }
-
- entry->timeout_id = g_timeout_add(time, (GSourceFunc)cb_rstto_navigator_entry_update_image, entry);
- }
- else
- {
- entry->iter = NULL;
- }
- g_signal_emit(G_OBJECT(entry->navigator), rstto_navigator_signals[RSTTO_NAVIGATOR_SIGNAL_ENTRY_MODIFIED], 0, entry, NULL);
-}
-
-static void
-cb_rstto_navigator_entry_closed (GdkPixbufLoader *loader, RsttoNavigatorEntry *entry)
-{
- GdkPixbuf *pixbuf = NULL;
-
- if (entry->src_pixbuf)
- {
- gdk_pixbuf_unref(entry->src_pixbuf);
- entry->src_pixbuf = NULL;
- }
-
- if (entry->iter)
- {
- pixbuf = gdk_pixbuf_animation_iter_get_pixbuf(entry->iter);
- }
- else
- {
- if (entry->loader)
- {
- pixbuf = gdk_pixbuf_loader_get_pixbuf(entry->loader);
- }
- }
-
- if (entry->loader == loader)
- {
- g_object_unref(entry->loader);
- entry->loader = NULL;
- }
-
-
- if (pixbuf != NULL)
- {
- entry->src_pixbuf = gdk_pixbuf_rotate_simple(pixbuf, rstto_navigator_entry_get_rotation(entry));
- gdk_pixbuf_unref(pixbuf);
- pixbuf = NULL;
- if (rstto_navigator_entry_get_flip(entry, FALSE))
- {
- pixbuf = entry->src_pixbuf;
- entry->src_pixbuf = gdk_pixbuf_flip(pixbuf, FALSE);
- gdk_pixbuf_unref(pixbuf);
- pixbuf = NULL;
- }
-
- if (rstto_navigator_entry_get_flip(entry, TRUE))
- {
- pixbuf = entry->src_pixbuf;
- entry->src_pixbuf = gdk_pixbuf_flip(pixbuf, TRUE);
- gdk_pixbuf_unref(pixbuf);
- pixbuf = NULL;
- }
- g_signal_emit(G_OBJECT(entry->navigator), rstto_navigator_signals[RSTTO_NAVIGATOR_SIGNAL_ENTRY_MODIFIED], 0, entry, NULL);
- }
-}
-
-static gboolean
-cb_rstto_navigator_entry_update_image (RsttoNavigatorEntry *entry)
-{
- GdkPixbuf *src_pixbuf = NULL;
-
- if (entry->iter)
- {
- if(gdk_pixbuf_animation_iter_advance(entry->iter, NULL))
- {
- /* Cleanup old image */
- if (entry->src_pixbuf)
- {
- gdk_pixbuf_unref(entry->src_pixbuf);
- entry->src_pixbuf = NULL;
- }
- entry->src_pixbuf = gdk_pixbuf_animation_iter_get_pixbuf(entry->iter);
- src_pixbuf = entry->src_pixbuf;
-
- if (src_pixbuf)
- {
- entry->src_pixbuf = gdk_pixbuf_rotate_simple(src_pixbuf, rstto_navigator_entry_get_rotation(entry));
- if (rstto_navigator_entry_get_flip(entry, FALSE))
- {
- src_pixbuf = entry->src_pixbuf;
- entry->src_pixbuf = gdk_pixbuf_flip(src_pixbuf, FALSE);
- gdk_pixbuf_unref(src_pixbuf);
- }
-
- if (rstto_navigator_entry_get_flip(entry, TRUE))
- {
- src_pixbuf = entry->src_pixbuf;
- entry->src_pixbuf = gdk_pixbuf_flip(src_pixbuf, TRUE);
- gdk_pixbuf_unref(src_pixbuf);
- }
- }
- }
-
- gint time = gdk_pixbuf_animation_iter_get_delay_time(entry->iter);
- if (time != -1)
- {
- if (time == 0)
- {
- g_warning("timeout == 0: defaulting to 40ms");
- time = 40;
- }
- entry->timeout_id = g_timeout_add(time, (GSourceFunc)cb_rstto_navigator_entry_update_image, entry);
- }
- g_signal_emit(G_OBJECT(entry->navigator), rstto_navigator_signals[RSTTO_NAVIGATOR_SIGNAL_ENTRY_MODIFIED], 0, entry, NULL);
-
- return FALSE;
- }
- return TRUE;
-}
-
-static void
-cb_rstto_navigator_entry_fs_event (ThunarVfsMonitor *monitor,
- ThunarVfsMonitorHandle *handl,
- ThunarVfsMonitorEvent event,
- ThunarVfsPath *handle_path,
- ThunarVfsPath *event_path,
- RsttoNavigatorEntry *entry)
-{
- switch (event)
- {
- case THUNAR_VFS_MONITOR_EVENT_CHANGED:
- rstto_navigator_entry_load_image (entry, TRUE);
- break;
- case THUNAR_VFS_MONITOR_EVENT_CREATED:
- break;
- case THUNAR_VFS_MONITOR_EVENT_DELETED:
- rstto_navigator_remove(entry->navigator, entry);
- rstto_navigator_entry_free(entry);
- break;
- default:
- break;
- }
-}
-
-static void
-cb_rstto_navigator_fs_event (ThunarVfsMonitor *monitor,
- ThunarVfsMonitorHandle *handl,
- ThunarVfsMonitorEvent event,
- ThunarVfsPath *handle_path,
- ThunarVfsPath *event_path,
- RsttoNavigator *nav)
-{
- RsttoNavigatorEntry *entry = NULL;
- GList *iter = g_list_find_custom(nav->file_list, event_path, (GCompareFunc)cb_rstto_navigator_entry_path_compare_func);
- if (iter != NULL)
- entry = iter->data;
-
- switch (event)
- {
- case THUNAR_VFS_MONITOR_EVENT_CHANGED:
- if(entry)
- {
- rstto_navigator_entry_load_image (entry, TRUE);
- }
- break;
- case THUNAR_VFS_MONITOR_EVENT_CREATED:
- if (entry)
- {
- g_critical("File created... yet it is already here");
- rstto_navigator_remove(entry->navigator, entry);
- rstto_navigator_entry_free(entry);
- }
-
- ThunarVfsInfo *info = thunar_vfs_info_new_for_path(event_path, NULL);
- if (info)
- {
- gchar *file_media = thunar_vfs_mime_info_get_media(info->mime_info);
- if(!strcmp(file_media, "image"))
- {
- entry = rstto_navigator_entry_new(nav, info);
- rstto_navigator_add (nav, entry, FALSE);
- }
- g_free(file_media);
- }
- break;
- case THUNAR_VFS_MONITOR_EVENT_DELETED:
- if(entry)
- {
- rstto_navigator_remove(entry->navigator, entry);
- rstto_navigator_entry_free(entry);
- }
- break;
- default:
- break;
- }
-}
-
-void
-rstto_navigator_entry_select (RsttoNavigatorEntry *entry)
-{
- RsttoNavigator *navigator = entry->navigator;
- GList *iter = g_list_find (navigator->file_list, entry);
- if (iter)
- {
- if(navigator->file_iter)
- {
- rstto_navigator_guard_history(navigator, navigator->file_iter->data);
- navigator->old_position = rstto_navigator_get_position(navigator);
- }
-
- navigator->file_iter = iter;
-
- if (navigator->busy == FALSE)
- {
- g_signal_emit(G_OBJECT(navigator),
- rstto_navigator_signals[RSTTO_NAVIGATOR_SIGNAL_ITER_CHANGED],
- 0,
- g_list_position(navigator->file_list, navigator->file_iter),
- navigator->file_iter->data,
- NULL);
- }
-
- if (navigator->preload)
- {
- /* preload in both directions */
- g_timeout_add(500, (GSourceFunc)rstto_navigator_preload_next_img, navigator);
- g_timeout_add(500, (GSourceFunc)rstto_navigator_preload_prev_img, navigator);
-
- }
- }
-
-}
-
-guint64
-rstto_navigator_get_max_history_size (RsttoNavigator *navigator)
-{
- return navigator->max_history;
-}
-
-
-
-gint
-rstto_navigator_entry_get_position(RsttoNavigatorEntry *entry)
-{
- RsttoNavigator *navigator = entry->navigator;
- GList *iter = g_list_find (navigator->file_list, entry);
- if (iter)
- {
- return g_list_position(navigator->file_list, iter);
- }
- return -1;
-}
-
-void
-rstto_navigator_set_max_history_size(RsttoNavigator *nav, guint64 size)
-{
- nav->max_history = size;
-}
-
-void
-rstto_navigator_set_monitor_handle_for_dir(RsttoNavigator *nav, ThunarVfsPath *dir_path)
-{
- if (nav->monitor_handle)
- {
- thunar_vfs_monitor_remove(nav->monitor, nav->monitor_handle);
- nav->monitor_handle = NULL;
- }
-
- if (dir_path)
- {
- nav->monitor_handle = thunar_vfs_monitor_add_directory(nav->monitor, dir_path, (ThunarVfsMonitorCallback)cb_rstto_navigator_fs_event, nav);
- }
-}
-
-static gint
-cb_rstto_navigator_entry_path_compare_func(RsttoNavigatorEntry *entry, ThunarVfsPath *path)
-{
- if (thunar_vfs_path_equal(entry->info->path, path) == TRUE)
- {
- return 0;
- }
- return 1;
-}
-
-gboolean
-rstto_navigator_entry_is_selected(RsttoNavigatorEntry *entry)
-{
- g_return_val_if_fail(RSTTO_IS_NAVIGATOR(entry->navigator), FALSE);
- g_return_val_if_fail((entry->navigator->file_iter != NULL), FALSE);
-
- if (entry == entry->navigator->file_iter->data)
- return TRUE;
- else
- return FALSE;
-}
-
-gboolean
-rstto_navigator_open_file(RsttoNavigator *navigator, const gchar *path, gboolean open_folder, GError **error)
-{
- ThunarVfsInfo *vfs_info = NULL;
- ThunarVfsPath *vfs_path = thunar_vfs_path_new(path, error);
-
- gchar *file_media = NULL;
- gchar *file_uri = NULL;
-
-
- if (vfs_path == NULL)
- {
- return FALSE;
- }
-
- vfs_info = thunar_vfs_info_new_for_path(vfs_path, error);
- if (vfs_info == NULL)
- {
- thunar_vfs_path_unref(vfs_path);
- return FALSE;
- }
-
- if(!strcmp(thunar_vfs_mime_info_get_name(vfs_info->mime_info),
- "inode/directory"))
- {
- g_set_error(error,
- g_quark_from_static_string(
- "Path refers to folder"),
- G_FILE_ERROR_ISDIR,
- "Path refers to directory\n"
- "Use rstto_navigator_open_folder instead.");
- return FALSE;
- }
-
- file_media = thunar_vfs_mime_info_get_media(vfs_info->mime_info);
- if(!strcmp(file_media, "image"))
- {
- RsttoNavigatorEntry *entry = rstto_navigator_entry_new(navigator, vfs_info);
- rstto_navigator_add (navigator, entry, TRUE);
-
- if (open_folder == TRUE)
- {
- ThunarVfsPath *parent_vfs_path = thunar_vfs_path_get_parent(vfs_path);
- thunar_vfs_path_ref(parent_vfs_path);
-
- gchar *parent_path = thunar_vfs_path_dup_string(parent_vfs_path);
-
- if(rstto_navigator_open_folder(navigator, parent_path, FALSE, error) == FALSE)
- {
- g_free(parent_path);
- thunar_vfs_path_unref(parent_vfs_path);
- return FALSE;
- }
-
- g_free(parent_path);
- thunar_vfs_path_unref(parent_vfs_path);
-
- rstto_navigator_entry_select(entry);
- }
- }
-
- file_uri = thunar_vfs_path_dup_uri(vfs_path);
- gtk_recent_manager_add_item(navigator->manager, file_uri);
- g_free(file_uri);
-
- g_free(file_media);
- return TRUE;
-}
-
-gboolean
-rstto_navigator_open_folder(RsttoNavigator *navigator, const gchar *path, gboolean clear, GError **error)
-{
- ThunarVfsInfo *vfs_info = NULL;
- ThunarVfsPath *vfs_path = thunar_vfs_path_new(path, error);
- GDir *dir = NULL;
- gchar *dir_path = NULL;
- gchar *dir_uri = NULL;
-
- rstto_navigator_set_busy(navigator, TRUE);
-
-
- if (vfs_path == NULL)
- {
- return FALSE;
- }
-
- vfs_info = thunar_vfs_info_new_for_path(vfs_path, error);
- if (vfs_info == NULL)
- {
- thunar_vfs_path_unref(vfs_path);
- return FALSE;
- }
-
- if(strcmp(thunar_vfs_mime_info_get_name(vfs_info->mime_info),
- "inode/directory"))
- {
- g_set_error(error,
- g_quark_from_static_string(
- "Path does not refer to folder"),
- G_FILE_ERROR_ISDIR,
- "Path does not refer to directory\n"
- "Use rstto_navigator_open_file instead.");
- return FALSE;
- }
-
- dir_path = thunar_vfs_path_dup_string(vfs_path);
-
- g_object_add_weak_pointer(G_OBJECT(navigator), (gpointer)navigator);
-
- dir = g_dir_open(dir_path, 0, NULL);
-
- dir_uri = thunar_vfs_path_dup_uri(vfs_path);
-
- gtk_recent_manager_add_item(navigator->manager, dir_uri);
-
-
- {
- if (clear == TRUE)
- {
- rstto_navigator_clear(navigator);
- }
- const gchar *filename = g_dir_read_name(dir);
- ThunarVfsPath *file_vfs_path = NULL;
- ThunarVfsInfo *file_vfs_info = NULL;
- gchar *file_media;
- gchar *path_name;
-
- while (filename)
- {
- path_name = g_strconcat(dir_path, "/", filename, NULL);
- file_vfs_path = thunar_vfs_path_new(path_name, NULL);
-
- if (file_vfs_path)
- {
- file_vfs_info = thunar_vfs_info_new_for_path(file_vfs_path, NULL);
- file_media = thunar_vfs_mime_info_get_media(file_vfs_info->mime_info);
-
- if (navigator == NULL)
- {
- g_free(file_media);
- thunar_vfs_path_unref(file_vfs_path);
- return FALSE;
- }
-
- if(!strcmp(file_media, "image"))
- {
- RsttoNavigatorEntry *entry = rstto_navigator_entry_new(navigator, file_vfs_info);
- rstto_navigator_add (navigator, entry, FALSE);
- }
-
- g_free(file_media);
- thunar_vfs_path_unref(file_vfs_path);
- while (gtk_events_pending())
- {
- gtk_main_iteration();
- }
- }
- g_free(path_name);
- filename = g_dir_read_name(dir);
- }
- }
-
- g_free(dir_uri);
- g_free(dir_path);
- g_object_remove_weak_pointer(G_OBJECT(navigator), (gpointer)navigator);
- rstto_navigator_set_busy(navigator, FALSE);
- return TRUE;
-}
-
-static void
-rstto_navigator_set_busy (RsttoNavigator *navigator, gboolean busy)
-{
- navigator->busy = busy;
- if (busy == FALSE)
- {
- g_signal_emit(G_OBJECT(navigator), rstto_navigator_signals[RSTTO_NAVIGATOR_SIGNAL_REORDERED], 0, NULL);
- }
-}
diff --git a/src/navigator.h b/src/navigator.h
deleted file mode 100644
index 0b6dab1..0000000
--- a/src/navigator.h
+++ /dev/null
@@ -1,176 +0,0 @@
-/*
- * 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 Library 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 __RISTRETTO_NAVIGATOR_H__
-#define __RISTRETTO_NAVIGATOR_H__
-
-G_BEGIN_DECLS
-
-#define RSTTO_TYPE_NAVIGATOR rstto_navigator_get_type()
-
-#define RSTTO_NAVIGATOR(obj)( \
- G_TYPE_CHECK_INSTANCE_CAST ((obj), \
- RSTTO_TYPE_NAVIGATOR, \
- RsttoNavigator))
-
-#define RSTTO_IS_NAVIGATOR(obj)( \
- G_TYPE_CHECK_INSTANCE_TYPE ((obj), \
- RSTTO_TYPE_NAVIGATOR))
-
-#define RSTTO_NAVIGATOR_CLASS(klass)( \
- G_TYPE_CHECK_CLASS_CAST ((klass), \
- RSTTO_TYPE_NAVIGATOR, \
- RsttoNavigatorClass))
-
-#define RSTTO_IS_NAVIGATOR_CLASS(klass)( \
- G_TYPE_CHECK_CLASS_TYPE ((klass), \
- RSTTO_TYPE_NAVIGATOR()))
-
-typedef struct _RsttoNavigatorEntry RsttoNavigatorEntry;
-
-typedef struct _RsttoNavigator RsttoNavigator;
-
-struct _RsttoNavigator
-{
- GObject parent;
- GtkRecentManager *manager;
- ThunarVfsMonitor *monitor;
- ThunarVfsMonitorHandle *monitor_handle;
-
- ThunarVfsThumbFactory *factory;
-
- ThunarVfsPath *path;
- GCompareFunc compare_func;
- GList *file_list;
- GList *file_iter;
- GList *history;
- guint64 max_history;
-
- gboolean preload;
-
- gint old_position;
- gboolean running;
- gint timeout;
- gint id;
-
- gboolean busy;
-};
-
-typedef struct _RsttoNavigatorClass RsttoNavigatorClass;
-struct _RsttoNavigatorClass
-{
- GObjectClass parent_class;
-};
-
-GType rstto_navigator_get_type ();
-
-RsttoNavigator *
-rstto_navigator_new (GtkRecentManager *recent_manager);
-
-void rstto_navigator_jump_first (RsttoNavigator *navigator);
-void rstto_navigator_jump_forward (RsttoNavigator *navigator);
-void rstto_navigator_jump_back (RsttoNavigator *navigator);
-void rstto_navigator_jump_last (RsttoNavigator *navigator);
-
-void rstto_navigator_set_running (RsttoNavigator *navigator,
- gboolean running);
-gboolean rstto_navigator_is_running (RsttoNavigator *navigator);
-void
-rstto_navigator_set_timeout (RsttoNavigator *nav, gint);
-
-
-RsttoNavigatorEntry *
-rstto_navigator_get_file (RsttoNavigator *navigator);
-gint
-rstto_navigator_get_position(RsttoNavigator *navigator);
-gint
-rstto_navigator_get_old_position(RsttoNavigator *navigator);
-
-gint
-rstto_navigator_add (RsttoNavigator *navigator, RsttoNavigatorEntry *entry, gboolean with_monitor);
-void
-rstto_navigator_remove (RsttoNavigator *navigator, RsttoNavigatorEntry *entry);
-gint
-rstto_navigator_get_n_files (RsttoNavigator *navigator);
-RsttoNavigatorEntry *
-rstto_navigator_get_nth_file (RsttoNavigator *navigator, gint n);
-void
-rstto_navigator_set_file_nr (RsttoNavigator *navigator, gint n);
-void
-rstto_navigator_clear (RsttoNavigator *navigator);
-
-RsttoNavigatorEntry *
-rstto_navigator_entry_new (RsttoNavigator *, ThunarVfsInfo *info);
-void
-rstto_navigator_entry_free(RsttoNavigatorEntry *nav_entry);
-ThunarVfsInfo *
-rstto_navigator_entry_get_info (RsttoNavigatorEntry *entry);
-gboolean
-rstto_navigator_entry_get_fit_to_screen (RsttoNavigatorEntry *entry);
-gdouble
-rstto_navigator_entry_get_scale (RsttoNavigatorEntry *entry);
-void
-rstto_navigator_entry_set_fit_to_screen (RsttoNavigatorEntry *entry, gboolean);
-void
-rstto_navigator_entry_set_scale (RsttoNavigatorEntry *entry, gdouble);
-void
-rstto_navigator_entry_set_rotation (RsttoNavigatorEntry *entry, GdkPixbufRotation rotation);
-gint
-rstto_navigator_entry_get_position(RsttoNavigatorEntry *entry);
-
-GdkPixbufRotation
-rstto_navigator_entry_get_rotation (RsttoNavigatorEntry *entry);
-gboolean
-rstto_navigator_entry_get_flip (RsttoNavigatorEntry *entry, gboolean horizontal);
-void
-rstto_navigator_flip_entry(RsttoNavigator *navigator, RsttoNavigatorEntry *entry, gboolean horizontal);
-GdkPixbuf *
-rstto_navigator_entry_get_thumb(RsttoNavigatorEntry *entry, gint size);
-ExifData *
-rstto_navigator_entry_get_exif_data (RsttoNavigatorEntry *entry);
-
-GdkPixbufLoader *
-rstto_navigator_entry_get_pixbuf_loader (RsttoNavigatorEntry *entry);
-GdkPixbuf *
-rstto_navigator_entry_get_pixbuf (RsttoNavigatorEntry *entry);
-gboolean
-rstto_navigator_entry_load_image (RsttoNavigatorEntry *entry, gboolean empty_cache);
-void
-rstto_navigator_entry_select (RsttoNavigatorEntry *entry);
-
-guint64
-rstto_navigator_entry_get_size (RsttoNavigatorEntry *entry);
-guint64
-rstto_navigator_get_max_history_size(RsttoNavigator *navigator);
-void
-rstto_navigator_set_max_history_size(RsttoNavigator *nav, guint64 size);
-void
-rstto_navigator_set_monitor_handle_for_dir(RsttoNavigator *nav, ThunarVfsPath *dir_path);
-
-gboolean
-rstto_navigator_entry_is_selected(RsttoNavigatorEntry *entry);
-
-gboolean
-rstto_navigator_open_file(RsttoNavigator *navigator, const gchar *path, gboolean open_folder, GError **error);
-gboolean
-rstto_navigator_open_folder(RsttoNavigator *navigator, const gchar *path, gboolean clear, GError **error);
-
-gboolean
-rstto_navigator_entry_get_orientation_changed (RsttoNavigatorEntry *entry);
-
-G_END_DECLS
-
-#endif /* __RISTRETTO_NAVIGATOR_H__ */
diff --git a/src/picture_viewer.c b/src/picture_viewer.c
index fcbf63f..5c23703 100644
--- a/src/picture_viewer.c
+++ b/src/picture_viewer.c
@@ -1,4 +1,6 @@
/*
+ * Copyright (c) Stephan Arts 2006-2010 <stephan at xfce.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
@@ -20,19 +22,34 @@
#include <gtk/gtk.h>
#include <gtk/gtkmarshal.h>
#include <string.h>
-#include <thunar-vfs/thunar-vfs.h>
+#include <gio/gio.h>
#include <libexif/exif-data.h>
-#include "navigator.h"
+#include "image.h"
+#include "image_list.h"
#include "picture_viewer.h"
+#include "settings.h"
typedef enum
{
- RSTTO_PICTURE_VIEWER_STATE_NONE,
- RSTTO_PICTURE_VIEWER_STATE_MOVE,
- RSTTO_PICTURE_VIEWER_STATE_BOX_ZOOM
+ RSTTO_PICTURE_VIEWER_STATE_NORMAL = 0,
+ RSTTO_PICTURE_VIEWER_STATE_PREVIEW
} RsttoPictureViewerState;
+typedef enum
+{
+ RSTTO_PICTURE_VIEWER_MOTION_STATE_NORMAL = 0,
+ RSTTO_PICTURE_VIEWER_MOTION_STATE_BOX_ZOOM,
+ RSTTO_PICTURE_VIEWER_MOTION_STATE_MOVE
+} RsttoPictureViewerMotionState;
+
+typedef enum
+{
+ RSTTO_ZOOM_MODE_CUSTOM,
+ RSTTO_ZOOM_MODE_100,
+ RSTTO_ZOOM_MODE_FIT
+} RsttoZoomMode;
+
enum
{
TARGET_TEXT_URI_LIST,
@@ -45,15 +62,18 @@ static const GtkTargetEntry drop_targets[] = {
struct _RsttoPictureViewerPriv
{
- RsttoNavigator *navigator;
- RsttoNavigatorEntry *entry;
- RsttoZoomMode zoom_mode;
+ RsttoImage *image;
+ RsttoImageListIter *iter;
+ GtkMenu *menu;
+ RsttoPictureViewerState state;
+ RsttoZoomMode zoom_mode;
+ RsttoSettings *settings;
+
- GdkPixbuf *src_pixbuf;
GdkPixbuf *dst_pixbuf; /* The pixbuf which ends up on screen */
void (*cb_value_changed)(GtkAdjustment *, RsttoPictureViewer *);
- gboolean show_border;
GdkColor *bg_color;
+
struct
{
gdouble x;
@@ -62,13 +82,14 @@ struct _RsttoPictureViewerPriv
gdouble current_y;
gint h_val;
gint v_val;
- RsttoPictureViewerState state;
+ RsttoPictureViewerMotionState state;
} motion;
+
struct
{
gint idle_id;
- } refresh;
- GtkMenu *menu;
+ gboolean refresh;
+ } repaint;
};
static void
@@ -78,8 +99,17 @@ rstto_picture_viewer_class_init(RsttoPictureViewerClass *);
static void
rstto_picture_viewer_destroy(GtkObject *object);
-static gboolean
-cb_rstto_picture_viewer_queued_repaint(RsttoPictureViewer *viewer);
+static void
+rstto_picture_viewer_set_state (RsttoPictureViewer *viewer, RsttoPictureViewerState state);
+static RsttoPictureViewerState
+rstto_picture_viewer_get_state (RsttoPictureViewer *viewer);
+static void
+rstto_picture_viewer_set_motion_state (RsttoPictureViewer *viewer, RsttoPictureViewerMotionState state);
+static RsttoPictureViewerMotionState
+rstto_picture_viewer_get_motion_state (RsttoPictureViewer *viewer);
+
+static void
+rstto_picture_viewer_set_zoom_mode (RsttoPictureViewer *viewer, RsttoZoomMode mode);
static void
rstto_picture_viewer_size_request(GtkWidget *, GtkRequisition *);
@@ -89,54 +119,55 @@ static void
rstto_picture_viewer_realize(GtkWidget *);
static gboolean
rstto_picture_viewer_expose(GtkWidget *, GdkEventExpose *);
-
static void
-rstto_picture_viewer_paint(GtkWidget *widget);
-static gboolean
-rstto_picture_viewer_refresh(RsttoPictureViewer *viewer);
+rstto_picture_viewer_paint (GtkWidget *widget);
+static void
+rstto_picture_viewer_queued_repaint (RsttoPictureViewer *viewer, gboolean refresh);
static gboolean
rstto_picture_viewer_set_scroll_adjustments(RsttoPictureViewer *, GtkAdjustment *, GtkAdjustment *);
static void
-cb_rstto_picture_viewer_nav_iter_changed(RsttoNavigator *, gint , RsttoNavigatorEntry *, RsttoPictureViewer *);
-static void
-cb_rstto_picture_viewer_nav_entry_modified(RsttoNavigator *, RsttoNavigatorEntry *, RsttoPictureViewer *);
+rstto_marshal_VOID__OBJECT_OBJECT (GClosure *closure,
+ GValue *return_value,
+ guint n_param_values,
+ const GValue *param_values,
+ gpointer invocation_hint,
+ gpointer marshal_data);
static void
cb_rstto_picture_viewer_value_changed(GtkAdjustment *, RsttoPictureViewer *);
static void
-cb_rstto_picture_viewer_scroll_event (RsttoPictureViewer *, GdkEventScroll *);
+cb_rstto_picture_viewer_nav_iter_changed (RsttoImageListIter *iter, gpointer user_data);
+
+static void
+cb_rstto_picture_viewer_image_updated (RsttoImage *image, RsttoPictureViewer *viewer);
+static void
+cb_rstto_picture_viewer_image_prepared (RsttoImage *image, RsttoPictureViewer *viewer);
+
static gboolean
-cb_rstto_picture_viewer_motion_notify_event (RsttoPictureViewer *viewer,
- GdkEventMotion *event,
- gpointer user_data);
+cb_rstto_picture_viewer_queued_repaint (RsttoPictureViewer *viewer);
+
+static void
+cb_rstto_picture_viewer_scroll_event (RsttoPictureViewer *viewer, GdkEventScroll *event);
static void
cb_rstto_picture_viewer_button_press_event (RsttoPictureViewer *viewer, GdkEventButton *event);
static void
cb_rstto_picture_viewer_button_release_event (RsttoPictureViewer *viewer, GdkEventButton *event);
+static gboolean
+cb_rstto_picture_viewer_motion_notify_event (RsttoPictureViewer *viewer,
+ GdkEventMotion *event,
+ gpointer user_data);
static void
cb_rstto_picture_viewer_popup_menu (RsttoPictureViewer *viewer, gboolean user_data);
-static gboolean
-rstto_picture_viewer_drag_drop (GtkWidget *widget,
- GdkDragContext *context,
- gint x,
- gint y,
- guint time);
-static gboolean
-rstto_picture_viewer_drag_motion (GtkWidget *widget,
- GdkDragContext *context,
- gint x,
- gint y,
- guint time);
static void
-rstto_picture_viewer_drag_data_received();
+cb_rstto_picture_viewer_bgcolor_changed (GObject *settings, GParamSpec *pspec, gpointer user_data);
static GtkWidgetClass *parent_class = NULL;
GType
-rstto_picture_viewer_get_type ()
+rstto_picture_viewer_get_type (void)
{
static GType rstto_picture_viewer_type = 0;
@@ -167,16 +198,16 @@ rstto_picture_viewer_init(RsttoPictureViewer *viewer)
viewer->priv = g_new0(RsttoPictureViewerPriv, 1);
viewer->priv->cb_value_changed = cb_rstto_picture_viewer_value_changed;
- viewer->priv->src_pixbuf = NULL;
viewer->priv->dst_pixbuf = NULL;
+ viewer->priv->settings = rstto_settings_new();
viewer->priv->zoom_mode = RSTTO_ZOOM_MODE_CUSTOM;
gtk_widget_set_redraw_on_allocate(GTK_WIDGET(viewer), TRUE);
gtk_widget_set_events (GTK_WIDGET(viewer),
GDK_BUTTON_PRESS_MASK |
GDK_BUTTON_RELEASE_MASK |
- GDK_BUTTON1_MOTION_MASK);
-
- viewer->priv->show_border = FALSE;
+ GDK_BUTTON1_MOTION_MASK |
+ GDK_ENTER_NOTIFY_MASK |
+ GDK_POINTER_MOTION_MASK);
g_signal_connect(G_OBJECT(viewer), "scroll_event", G_CALLBACK(cb_rstto_picture_viewer_scroll_event), NULL);
g_signal_connect(G_OBJECT(viewer), "button_press_event", G_CALLBACK(cb_rstto_picture_viewer_button_press_event), NULL);
@@ -188,7 +219,18 @@ rstto_picture_viewer_init(RsttoPictureViewer *viewer)
GDK_ACTION_COPY | GDK_ACTION_LINK | GDK_ACTION_MOVE | GDK_ACTION_PRIVATE);
}
-void
+/**
+ * rstto_marshal_VOID__OBJECT_OBJECT:
+ * @closure:
+ * @return_value:
+ * @n_param_values:
+ * @param_values:
+ * @invocation_hint:
+ * @marshal_data:
+ *
+ * A marshaller for the set_scroll_adjustments signal.
+ */
+static void
rstto_marshal_VOID__OBJECT_OBJECT (GClosure *closure,
GValue *return_value,
guint n_param_values,
@@ -196,35 +238,41 @@ rstto_marshal_VOID__OBJECT_OBJECT (GClosure *closure,
gpointer invocation_hint,
gpointer marshal_data)
{
- typedef void (*GMarshalFunc_VOID__OBJECT_OBJECT) (gpointer data1,
- gpointer arg_1,
- gpointer arg_2,
- gpointer data2);
- register GMarshalFunc_VOID__OBJECT_OBJECT callback;
- register GCClosure *cc = (GCClosure*) closure;
- register gpointer data1, data2;
+ typedef void (*GMarshalFunc_VOID__OBJECT_OBJECT) (gpointer data1,
+ gpointer arg_1,
+ gpointer arg_2,
+ gpointer data2);
+ register GMarshalFunc_VOID__OBJECT_OBJECT callback;
+ register GCClosure *cc = (GCClosure*) closure;
+ register gpointer data1, data2;
- g_return_if_fail (n_param_values == 3);
+ g_return_if_fail (n_param_values == 3);
- if (G_CCLOSURE_SWAP_DATA (closure))
+ if (G_CCLOSURE_SWAP_DATA (closure))
{
- data1 = closure->data;
- data2 = g_value_get_object (param_values + 0);
+ data1 = closure->data;
+ data2 = g_value_get_object (param_values + 0);
}
- else
+ else
{
- data1 = g_value_get_object (param_values + 0);
- data2 = closure->data;
+ data1 = g_value_get_object (param_values + 0);
+ data2 = closure->data;
}
- callback = (GMarshalFunc_VOID__OBJECT_OBJECT) (marshal_data ?
- marshal_data : cc->callback);
+ callback = (GMarshalFunc_VOID__OBJECT_OBJECT) (marshal_data ?
+ marshal_data : cc->callback);
- callback (data1,
- g_value_get_object (param_values + 1),
- g_value_get_object (param_values + 2),
- data2);
+ callback (data1,
+ g_value_get_object (param_values + 1),
+ g_value_get_object (param_values + 2),
+ data2);
}
+/**
+ * rstto_picture_viewer_class_init:
+ * @viewer_class:
+ *
+ * Initialize pictureviewer class
+ */
static void
rstto_picture_viewer_class_init(RsttoPictureViewerClass *viewer_class)
{
@@ -242,13 +290,9 @@ rstto_picture_viewer_class_init(RsttoPictureViewerClass *viewer_class)
widget_class->expose_event = rstto_picture_viewer_expose;
widget_class->size_request = rstto_picture_viewer_size_request;
widget_class->size_allocate = rstto_picture_viewer_size_allocate;
- widget_class->drag_drop = rstto_picture_viewer_drag_drop;
- widget_class->drag_motion = rstto_picture_viewer_drag_motion;
- widget_class->drag_data_received = rstto_picture_viewer_drag_data_received;
object_class->destroy = rstto_picture_viewer_destroy;
-
widget_class->set_scroll_adjustments_signal =
g_signal_new ("set_scroll_adjustments",
G_TYPE_FROM_CLASS (object_class),
@@ -261,42 +305,20 @@ rstto_picture_viewer_class_init(RsttoPictureViewerClass *viewer_class)
GTK_TYPE_ADJUSTMENT);
}
-static void
-rstto_picture_viewer_size_request(GtkWidget *widget, GtkRequisition *requisition)
-{
- requisition->width = 100;
- requisition->height= 500;
-}
-
-static void
-rstto_picture_viewer_size_allocate(GtkWidget *widget, GtkAllocation *allocation)
-{
- RsttoPictureViewer *viewer = RSTTO_PICTURE_VIEWER(widget);
- gint border_width = 0;
- widget->allocation = *allocation;
-
- if (GTK_WIDGET_REALIZED (widget))
- {
- gdk_window_move_resize (widget->window,
- allocation->x + border_width,
- allocation->y + border_width,
- allocation->width - border_width * 2,
- allocation->height - border_width * 2);
- }
-
- rstto_picture_viewer_refresh(viewer);
- rstto_picture_viewer_paint(GTK_WIDGET(viewer));
-}
-
+/**
+ * rstto_picture_viewer_realize:
+ * @widget:
+ *
+ */
static void
rstto_picture_viewer_realize(GtkWidget *widget)
{
- g_return_if_fail (widget != NULL);
- g_return_if_fail (RSTTO_IS_PICTURE_VIEWER(widget));
-
GdkWindowAttr attributes;
gint attributes_mask;
+ g_return_if_fail (widget != NULL);
+ g_return_if_fail (RSTTO_IS_PICTURE_VIEWER(widget));
+
GTK_WIDGET_SET_FLAGS (widget, GTK_REALIZED);
attributes.x = widget->allocation.x;
@@ -319,48 +341,139 @@ rstto_picture_viewer_realize(GtkWidget *widget)
gtk_style_set_background (widget->style, widget->window, GTK_STATE_ACTIVE);
}
+/**
+ * rstto_picture_viewer_size_request:
+ * @widget:
+ * @requisition:
+ *
+ * Request a default size of 300 by 400 pixels
+ */
+static void
+rstto_picture_viewer_size_request(GtkWidget *widget, GtkRequisition *requisition)
+{
+ requisition->width = 400;
+ requisition->height= 300;
+}
+
+
+/**
+ * rstto_picture_viewer_size_allocate:
+ * @widget:
+ * @allocation:
+ *
+ *
+ */
+static void
+rstto_picture_viewer_size_allocate(GtkWidget *widget, GtkAllocation *allocation)
+{
+ RsttoPictureViewer *viewer = RSTTO_PICTURE_VIEWER(widget);
+ gint border_width = 0;
+ widget->allocation = *allocation;
+
+ if (GTK_WIDGET_REALIZED (widget))
+ {
+ gdk_window_move_resize (widget->window,
+ allocation->x + border_width,
+ allocation->y + border_width,
+ allocation->width - border_width * 2,
+ allocation->height - border_width * 2);
+ }
+
+ /**
+ * TODO: Check if we really nead a refresh
+ */
+ rstto_picture_viewer_queued_repaint (viewer, TRUE);
+}
+
+/**
+ * rstto_picture_viewer_expose:
+ * @widget:
+ * @event:
+ *
+ */
static gboolean
rstto_picture_viewer_expose(GtkWidget *widget, GdkEventExpose *event)
{
- rstto_picture_viewer_refresh(RSTTO_PICTURE_VIEWER(widget));
- rstto_picture_viewer_paint(widget);
+ RsttoPictureViewer *viewer = RSTTO_PICTURE_VIEWER (widget);
+
+ /**
+ * TODO: Check if we really nead a refresh
+ */
+ rstto_picture_viewer_queued_repaint (viewer, TRUE);
return FALSE;
}
+/**
+ * rstto_picture_viewer_paint:
+ * @widget:
+ *
+ * Paint the picture_viewer widget contents
+ */
static void
-rstto_picture_viewer_paint(GtkWidget *widget)
+rstto_picture_viewer_paint (GtkWidget *widget)
{
RsttoPictureViewer *viewer = RSTTO_PICTURE_VIEWER(widget);
GdkPixbuf *pixbuf = viewer->priv->dst_pixbuf;
+ GdkPixbuf *n_pixbuf = NULL;
GdkColor color;
GdkColor line_color;
+ gint i, a, height, width;
+ GdkColor *bg_color = NULL;
+ gdouble m_x1, m_x2, m_y1, m_y2;
+ gint x1, x2, y1, y2;
+ GValue val_bg_color = {0, }, val_bg_color_override = {0, }, val_bg_color_fs = {0, };
+ g_value_init (&val_bg_color, GDK_TYPE_COLOR);
+ g_value_init (&val_bg_color_fs, GDK_TYPE_COLOR);
+ g_value_init (&val_bg_color_override, G_TYPE_BOOLEAN);
+
+ g_signal_connect (G_OBJECT(viewer->priv->settings), "notify::bgcolor", G_CALLBACK (cb_rstto_picture_viewer_bgcolor_changed), viewer);
+ g_signal_connect (G_OBJECT(viewer->priv->settings), "notify::bgcolor-override", G_CALLBACK (cb_rstto_picture_viewer_bgcolor_changed), viewer);
+ /*
+ g_signal_connect (G_OBJECT(viewer->priv->settings), "notify::bgcolor-fullscreen", G_CALLBACK (cb_rstto_picture_viewer_bgcolor_changed), viewer);
+ */
+
+ g_object_get_property (G_OBJECT(viewer->priv->settings), "bgcolor", &val_bg_color);
+ g_object_get_property (G_OBJECT(viewer->priv->settings), "bgcolor-override", &val_bg_color_override);
+
+ g_object_get_property (G_OBJECT(viewer->priv->settings), "bgcolor-fullscreen", &val_bg_color_fs);
+
color.pixel = 0x0;
line_color.pixel = 0x0;
- gint i, a, height, width;
-
/* required for transparent pixbufs... add double buffering to fix flickering*/
if(GTK_WIDGET_REALIZED(widget))
{
GdkPixmap *buffer = gdk_pixmap_new(NULL, widget->allocation.width, widget->allocation.height, gdk_drawable_get_depth(widget->window));
GdkGC *gc = gdk_gc_new(GDK_DRAWABLE(buffer));
- if (viewer->priv->bg_color)
+ if(gdk_window_get_state(gdk_window_get_toplevel(GTK_WIDGET(viewer)->window)) & GDK_WINDOW_STATE_FULLSCREEN)
{
- gdk_gc_set_foreground(gc, viewer->priv->bg_color);
+ bg_color = g_value_get_boxed (&val_bg_color_fs);
}
else
{
- gdk_gc_set_foreground(gc, &(widget->style->bg[GTK_STATE_NORMAL]));
+ if (g_value_get_boxed (&val_bg_color) && g_value_get_boolean (&val_bg_color_override))
+ {
+ bg_color = g_value_get_boxed (&val_bg_color);
+ }
+ else
+ {
+ bg_color = &(widget->style->bg[GTK_STATE_NORMAL]);
+ }
}
+ gdk_colormap_alloc_color (gdk_gc_get_colormap (gc), bg_color, FALSE, TRUE);
+ gdk_gc_set_rgb_fg_color (gc, bg_color);
+
gdk_draw_rectangle(GDK_DRAWABLE(buffer), gc, TRUE, 0, 0, widget->allocation.width, widget->allocation.height);
+
+ /* Check if there is a destination pixbuf */
if(pixbuf)
{
- gint x1 = (widget->allocation.width-gdk_pixbuf_get_width(pixbuf))<0?0:(widget->allocation.width-gdk_pixbuf_get_width(pixbuf))/2;
- gint y1 = (widget->allocation.height-gdk_pixbuf_get_height(pixbuf))<0?0:(widget->allocation.height-gdk_pixbuf_get_height(pixbuf))/2;
- gint x2 = gdk_pixbuf_get_width(pixbuf);
- gint y2 = gdk_pixbuf_get_height(pixbuf);
+ x1 = (widget->allocation.width-gdk_pixbuf_get_width(pixbuf))<0?0:(widget->allocation.width-gdk_pixbuf_get_width(pixbuf))/2;
+ y1 = (widget->allocation.height-gdk_pixbuf_get_height(pixbuf))<0?0:(widget->allocation.height-gdk_pixbuf_get_height(pixbuf))/2;
+ x2 = gdk_pixbuf_get_width(pixbuf);
+ y2 = gdk_pixbuf_get_height(pixbuf);
/* We only need to paint a checkered background if the image is transparent */
if(gdk_pixbuf_get_has_alpha(pixbuf))
@@ -412,11 +525,10 @@ rstto_picture_viewer_paint(GtkWidget *widget)
y2,
GDK_RGB_DITHER_NONE,
0,0);
- if(viewer->priv->motion.state == RSTTO_PICTURE_VIEWER_STATE_BOX_ZOOM)
+ if(viewer->priv->motion.state == RSTTO_PICTURE_VIEWER_MOTION_STATE_BOX_ZOOM)
{
gdk_gc_set_foreground(gc,
&(widget->style->fg[GTK_STATE_SELECTED]));
- gdouble m_x1, m_x2, m_y1, m_y2;
if (viewer->priv->motion.x < viewer->priv->motion.current_x)
{
@@ -490,15 +602,48 @@ rstto_picture_viewer_paint(GtkWidget *widget)
m_y2 - m_y1);
}
- if(viewer->priv->show_border)
+ }
+ else
+ {
+
+ /* HACK HACK HACK HACK */
+ guint size = 0;
+ if ((GTK_WIDGET (viewer)->allocation.width) < (GTK_WIDGET (viewer)->allocation.height))
{
- gdk_gc_set_foreground(gc, &line_color);
- gdk_draw_line(GDK_DRAWABLE(buffer), gc, x1, y1, x1, y1+y2);
- gdk_draw_line(GDK_DRAWABLE(buffer), gc, x1, y1+y2, x1+x2, y1+y2);
- gdk_draw_line(GDK_DRAWABLE(buffer), gc, x1, y1, x1+x2, y1);
- gdk_draw_line(GDK_DRAWABLE(buffer), gc, x1+x2, y1, x1+x2, y1+y2);
+ size = GTK_WIDGET (viewer)->allocation.width;
+ }
+ else
+ {
+ size = GTK_WIDGET (viewer)->allocation.height;
+ }
+ pixbuf = gtk_icon_theme_load_icon (gtk_icon_theme_get_default(),
+ "ristretto",
+ (size*0.8),
+ GTK_ICON_LOOKUP_FORCE_SIZE, NULL);
+ if (pixbuf)
+ {
+ gdk_pixbuf_saturate_and_pixelate (pixbuf, pixbuf, 0, TRUE);
+ n_pixbuf = gdk_pixbuf_composite_color_simple (pixbuf, (size*0.8), (size*0.8), GDK_INTERP_BILINEAR, 40, 40, bg_color->pixel, bg_color->pixel);
+ g_object_unref (pixbuf);
+ pixbuf = n_pixbuf;
+
+ x1 = (widget->allocation.width-gdk_pixbuf_get_width(pixbuf))<0?0:(widget->allocation.width-gdk_pixbuf_get_width(pixbuf))/2;
+ y1 = (widget->allocation.height-gdk_pixbuf_get_height(pixbuf))<0?0:(widget->allocation.height-gdk_pixbuf_get_height(pixbuf))/2;
+ x2 = gdk_pixbuf_get_width(pixbuf);
+ y2 = gdk_pixbuf_get_height(pixbuf);
+
+ gdk_draw_pixbuf(GDK_DRAWABLE(buffer),
+ NULL,
+ pixbuf,
+ 0,
+ 0,
+ x1,
+ y1,
+ x2,
+ y2,
+ GDK_RGB_DITHER_NONE,
+ 0,0);
}
-
}
gdk_draw_drawable(GDK_DRAWABLE(widget->window),
gdk_gc_new(widget->window),
@@ -516,7 +661,11 @@ rstto_picture_viewer_paint(GtkWidget *widget)
static void
rstto_picture_viewer_destroy(GtkObject *object)
{
-
+ if (RSTTO_PICTURE_VIEWER (object)->priv->settings)
+ {
+ g_object_unref (RSTTO_PICTURE_VIEWER (object)->priv->settings);
+ RSTTO_PICTURE_VIEWER (object)->priv->settings = NULL;
+ }
}
static gboolean
@@ -552,374 +701,224 @@ rstto_picture_viewer_set_scroll_adjustments(RsttoPictureViewer *viewer, GtkAdjus
static void
cb_rstto_picture_viewer_value_changed(GtkAdjustment *adjustment, RsttoPictureViewer *viewer)
{
- if (viewer->priv->refresh.idle_id > 0)
- {
- g_source_remove(viewer->priv->refresh.idle_id);
- }
- viewer->priv->refresh.idle_id = g_idle_add((GSourceFunc)cb_rstto_picture_viewer_queued_repaint, viewer);
+ /**
+ * A new subpixbuf needs to be blown up
+ */
+ rstto_picture_viewer_queued_repaint (viewer, TRUE);
}
GtkWidget *
-rstto_picture_viewer_new(RsttoNavigator *navigator)
+rstto_picture_viewer_new (void)
{
GtkWidget *widget;
widget = g_object_new(RSTTO_TYPE_PICTURE_VIEWER, NULL);
- RSTTO_PICTURE_VIEWER(widget)->priv->navigator = navigator;
- g_signal_connect(G_OBJECT(navigator), "iter-changed", G_CALLBACK(cb_rstto_picture_viewer_nav_iter_changed), widget);
- g_signal_connect(G_OBJECT(navigator), "entry-modified", G_CALLBACK(cb_rstto_picture_viewer_nav_entry_modified), widget);
return widget;
}
void
-rstto_picture_viewer_set_scale(RsttoPictureViewer *viewer, gdouble scale)
+rstto_picture_viewer_set_scale (RsttoPictureViewer *viewer, gdouble scale)
{
- RsttoNavigatorEntry *entry = rstto_navigator_get_file(viewer->priv->navigator);
- if (entry)
+ gdouble *img_scale;
+ GdkPixbuf *src_pixbuf = NULL;
+
+ if (viewer->priv->image)
{
- gdouble old_scale = rstto_navigator_entry_get_scale(entry);
+ src_pixbuf = rstto_image_get_pixbuf (viewer->priv->image);
+ img_scale = g_object_get_data (G_OBJECT (viewer->priv->image), "viewer-scale");
- gdouble width = (gdouble)gdk_pixbuf_get_width(viewer->priv->src_pixbuf);
- gdouble height = (gdouble)gdk_pixbuf_get_height(viewer->priv->src_pixbuf);
+ if (src_pixbuf)
+ {
+ gdouble image_width = (gdouble)rstto_image_get_width (viewer->priv->image);
+ gdouble image_height = (gdouble)rstto_image_get_height (viewer->priv->image);
- rstto_navigator_entry_set_fit_to_screen (entry, FALSE);
- rstto_navigator_entry_set_scale(entry, scale);
+ viewer->hadjustment->upper = image_width *scale;
+ gtk_adjustment_changed(viewer->hadjustment);
- viewer->hadjustment->upper = width * scale;
- gtk_adjustment_changed(viewer->hadjustment);
+ viewer->vadjustment->upper = image_height * scale;
+ gtk_adjustment_changed(viewer->vadjustment);
- viewer->vadjustment->upper = height * scale;
- gtk_adjustment_changed(viewer->vadjustment);
+ viewer->hadjustment->value = (((viewer->hadjustment->value +
+ (viewer->hadjustment->page_size / 2)) *
+ (scale)) / (*img_scale)) - (viewer->hadjustment->page_size / 2);
+ viewer->vadjustment->value = (((viewer->vadjustment->value +
+ (viewer->vadjustment->page_size / 2)) *
+ (scale)) / (*img_scale)) - (viewer->vadjustment->page_size / 2);
- viewer->hadjustment->value = (((viewer->hadjustment->value +
- (viewer->hadjustment->page_size / 2)) *
- scale) / old_scale) - (viewer->hadjustment->page_size / 2);
- viewer->vadjustment->value = (((viewer->vadjustment->value +
- (viewer->vadjustment->page_size / 2)) *
- scale) / old_scale) - (viewer->vadjustment->page_size / 2);
+ if((viewer->hadjustment->value + viewer->hadjustment->page_size) > viewer->hadjustment->upper)
+ {
+ viewer->hadjustment->value = viewer->hadjustment->upper - viewer->hadjustment->page_size;
+ }
+ if(viewer->hadjustment->value < viewer->hadjustment->lower)
+ {
+ viewer->hadjustment->value = viewer->hadjustment->lower;
+ }
+ if((viewer->vadjustment->value + viewer->vadjustment->page_size) > viewer->vadjustment->upper)
+ {
+ viewer->vadjustment->value = viewer->vadjustment->upper - viewer->vadjustment->page_size;
+ }
+ if(viewer->vadjustment->value < viewer->vadjustment->lower)
+ {
+ viewer->vadjustment->value = viewer->vadjustment->lower;
+ }
- if((viewer->hadjustment->value + viewer->hadjustment->page_size) > viewer->hadjustment->upper)
- {
- viewer->hadjustment->value = viewer->hadjustment->upper - viewer->hadjustment->page_size;
- }
- if(viewer->hadjustment->value < viewer->hadjustment->lower)
- {
- viewer->hadjustment->value = viewer->hadjustment->lower;
- }
- if((viewer->vadjustment->value + viewer->vadjustment->page_size) > viewer->vadjustment->upper)
- {
- viewer->vadjustment->value = viewer->vadjustment->upper - viewer->vadjustment->page_size;
- }
- if(viewer->vadjustment->value < viewer->vadjustment->lower)
- {
- viewer->vadjustment->value = viewer->vadjustment->lower;
- }
+ gtk_adjustment_value_changed(viewer->hadjustment);
+ gtk_adjustment_value_changed(viewer->vadjustment);
- gtk_adjustment_value_changed(viewer->hadjustment);
- gtk_adjustment_value_changed(viewer->vadjustment);
+ /**
+ * Set these settings at the end of the function,
+ * since the old and new values are required in the above code
+ */
+ *img_scale = scale;
- }
-}
+ rstto_picture_viewer_queued_repaint (viewer, TRUE);
+ }
+ else
+ {
+ /* If there is no image, set the adjustments to 0 */
+ viewer->hadjustment->upper = 0;
+ viewer->hadjustment->lower = 0;
+ viewer->hadjustment->value = 0;
+ viewer->vadjustment->upper = 0;
+ viewer->vadjustment->lower = 0;
+ viewer->vadjustment->value = 0;
-gdouble
-rstto_picture_viewer_fit_scale(RsttoPictureViewer *viewer)
-{
- RsttoNavigatorEntry *entry = rstto_navigator_get_file(viewer->priv->navigator);
- if (entry)
- {
- rstto_navigator_entry_set_fit_to_screen (entry, TRUE);
+ gtk_adjustment_changed(viewer->hadjustment);
+ gtk_adjustment_changed(viewer->vadjustment);
- if(rstto_picture_viewer_refresh(viewer))
- {
- rstto_picture_viewer_paint(GTK_WIDGET(viewer));
+ gtk_adjustment_value_changed(viewer->hadjustment);
+ gtk_adjustment_value_changed(viewer->vadjustment);
}
- return rstto_navigator_entry_get_scale(entry);
}
- return 0;
}
gdouble
rstto_picture_viewer_get_scale(RsttoPictureViewer *viewer)
{
- RsttoNavigatorEntry *entry = rstto_navigator_get_file(viewer->priv->navigator);
- if (entry)
+ gdouble *scale;
+ if (viewer->priv->image)
{
- return rstto_navigator_entry_get_scale(entry);
+ scale = g_object_get_data (G_OBJECT (viewer->priv->image), "viewer-scale");
+ return *scale;
}
return 0;
}
-static gboolean
-rstto_picture_viewer_refresh(RsttoPictureViewer *viewer)
+/**
+ * rstto_picture_viewer_calculate_scale:
+ * @viewer:
+ *
+ */
+static gdouble
+rstto_picture_viewer_calculate_scale (RsttoPictureViewer *viewer)
{
- GtkWidget *widget = GTK_WIDGET(viewer);
- gboolean fit_to_screen = FALSE;
- gdouble scale = 0;
- RsttoNavigatorEntry *entry = rstto_navigator_get_file(viewer->priv->navigator);
- gboolean changed = TRUE;
- if (entry)
- {
- fit_to_screen = rstto_navigator_entry_get_fit_to_screen(entry);
- scale = rstto_navigator_entry_get_scale(entry);
- }
-
+ gint width = 0, height = 0;
- gboolean vadjustment_changed = FALSE;
- gboolean hadjustment_changed = FALSE;
-
- if (viewer->priv->src_pixbuf != NULL && entry == NULL)
- {
- gdk_pixbuf_unref(viewer->priv->src_pixbuf);
- viewer->priv->src_pixbuf = NULL;
+ if (viewer->priv->image != NULL)
+ {
+ switch(rstto_image_get_orientation (viewer->priv->image))
+ {
+ default:
+ width = rstto_image_get_width (viewer->priv->image);
+ height = rstto_image_get_height (viewer->priv->image);
+ break;
+ case RSTTO_IMAGE_ORIENT_270:
+ case RSTTO_IMAGE_ORIENT_90:
+ height = rstto_image_get_width (viewer->priv->image);
+ width = rstto_image_get_height (viewer->priv->image);
+ break;
+ }
}
- if(viewer->priv->src_pixbuf)
+ if (width > 0 && height > 0)
{
- gdouble width = (gdouble)gdk_pixbuf_get_width(viewer->priv->src_pixbuf);
- gdouble height = (gdouble)gdk_pixbuf_get_height(viewer->priv->src_pixbuf);
- if (scale == 0)
+ if ((gdouble)(GTK_WIDGET (viewer)->allocation.width / (gdouble)width) <
+ ((gdouble)GTK_WIDGET (viewer)->allocation.height / (gdouble)height))
{
- if ((widget->allocation.width > width) && (widget->allocation.height > height))
- {
- scale = 1.0;
- rstto_navigator_entry_set_scale(entry, scale);
- rstto_navigator_entry_set_fit_to_screen(entry, FALSE);
- fit_to_screen = FALSE;
- }
- else
- {
- fit_to_screen = TRUE;
- rstto_navigator_entry_set_fit_to_screen(entry, TRUE);
- }
+ return (gdouble)GTK_WIDGET (viewer)->allocation.width / (gdouble)width;
}
-
- switch (viewer->priv->zoom_mode)
+ else
{
- case RSTTO_ZOOM_MODE_FIT:
- fit_to_screen = TRUE;
- rstto_navigator_entry_set_fit_to_screen(entry, TRUE);
- break;
- case RSTTO_ZOOM_MODE_100:
- fit_to_screen = FALSE;
- scale = 1.0;
- rstto_navigator_entry_set_scale(entry, scale);
- break;
- case RSTTO_ZOOM_MODE_CUSTOM:
- break;
+ return (gdouble)GTK_WIDGET (viewer)->allocation.height / (gdouble)height;
}
+ }
+ return -1;
+}
+
+static void
+cb_rstto_picture_viewer_scroll_event (RsttoPictureViewer *viewer, GdkEventScroll *event)
+{
+ gchar *scrollwheel_action = NULL;
+ gdouble *p_scale = NULL;
+ gboolean *p_fit_to_screen= NULL;
+
+ scrollwheel_action = rstto_settings_get_string_property (viewer->priv->settings, "scrollwheel-primary-action");
- if(fit_to_screen)
+ if (scrollwheel_action)
+ {
+ /** Zoom **/
+ if (!strcmp (scrollwheel_action, "zoom"))
{
- gdouble h_scale = GTK_WIDGET(viewer)->allocation.width / width;
- gdouble v_scale = GTK_WIDGET(viewer)->allocation.height / height;
- if(h_scale < v_scale)
- {
- if(scale != h_scale)
- {
- scale = h_scale;
- changed = TRUE;
- }
- rstto_navigator_entry_set_scale(entry, h_scale);
- }
- else
+ viewer->priv->zoom_mode = RSTTO_ZOOM_MODE_CUSTOM;
+ p_scale = g_object_get_data (G_OBJECT (viewer->priv->image), "viewer-scale");
+ p_fit_to_screen = g_object_get_data (G_OBJECT (viewer->priv->image), "viewer-fit-to-screen");
+ *p_fit_to_screen = FALSE;
+ switch(event->direction)
{
- if(scale != v_scale)
- {
- scale = v_scale;
- changed = TRUE;
- }
- rstto_navigator_entry_set_scale(entry, v_scale);
+ case GDK_SCROLL_UP:
+ case GDK_SCROLL_LEFT:
+ if (*p_scale <= 0.05)
+ return;
+ if (viewer->priv->repaint.idle_id > 0)
+ {
+ g_source_remove(viewer->priv->repaint.idle_id);
+ }
+
+ *p_scale = *p_scale / 1.1;
+ viewer->vadjustment->value = ((viewer->vadjustment->value + event->y) / 1.1) - event->y;
+ viewer->hadjustment->value = ((viewer->hadjustment->value + event->x) / 1.1) - event->x;
+
+ break;
+ case GDK_SCROLL_DOWN:
+ case GDK_SCROLL_RIGHT:
+ if (*p_scale >= 16.0)
+ return;
+ if (viewer->priv->repaint.idle_id > 0)
+ {
+ g_source_remove(viewer->priv->repaint.idle_id);
+ }
+
+ *p_scale = *p_scale * 1.1;
+
+ viewer->vadjustment->value = ((viewer->vadjustment->value + event->y) * 1.1) - event->y;
+ viewer->hadjustment->value = ((viewer->hadjustment->value + event->x) * 1.1) - event->x;
+
+ break;
}
+ gtk_adjustment_value_changed(viewer->hadjustment);
+ gtk_adjustment_value_changed(viewer->vadjustment);
+ viewer->priv->repaint.idle_id = g_idle_add((GSourceFunc)cb_rstto_picture_viewer_queued_repaint, viewer);
}
- if(GTK_WIDGET_REALIZED(widget))
+
+ /** Navigate **/
+ if (!strcmp (scrollwheel_action, "switch"))
{
- gdouble width = (gdouble)gdk_pixbuf_get_width(viewer->priv->src_pixbuf);
- gdouble height = (gdouble)gdk_pixbuf_get_height(viewer->priv->src_pixbuf);
-
- if(viewer->hadjustment)
- {
- viewer->hadjustment->page_size = widget->allocation.width;
- viewer->hadjustment->upper = width * scale;
- viewer->hadjustment->lower = 0;
- viewer->hadjustment->step_increment = 1;
- viewer->hadjustment->page_increment = 100;
- if((viewer->hadjustment->value + viewer->hadjustment->page_size) > viewer->hadjustment->upper)
- {
- viewer->hadjustment->value = viewer->hadjustment->upper - viewer->hadjustment->page_size;
- hadjustment_changed = TRUE;
- }
- if(viewer->hadjustment->value < viewer->hadjustment->lower)
- {
- viewer->hadjustment->value = viewer->hadjustment->lower;
- hadjustment_changed = TRUE;
- }
- }
- if(viewer->vadjustment)
+ viewer->priv->zoom_mode = RSTTO_ZOOM_MODE_CUSTOM;
+ switch(event->direction)
{
- viewer->vadjustment->page_size = widget->allocation.height;
- viewer->vadjustment->upper = height * scale;
- viewer->vadjustment->lower = 0;
- viewer->vadjustment->step_increment = 1;
- viewer->vadjustment->page_increment = 100;
- if((viewer->vadjustment->value + viewer->vadjustment->page_size) > viewer->vadjustment->upper)
- {
- viewer->vadjustment->value = viewer->vadjustment->upper - viewer->vadjustment->page_size;
- vadjustment_changed = TRUE;
- }
- if(viewer->vadjustment->value < viewer->vadjustment->lower)
- {
- viewer->vadjustment->value = viewer->vadjustment->lower;
- vadjustment_changed = TRUE;
- }
+ case GDK_SCROLL_UP:
+ case GDK_SCROLL_LEFT:
+ rstto_image_list_iter_previous (viewer->priv->iter);
+ break;
+ case GDK_SCROLL_DOWN:
+ case GDK_SCROLL_RIGHT:
+ rstto_image_list_iter_next (viewer->priv->iter);
+ break;
}
-
-
- GdkPixbuf *tmp_pixbuf = NULL;
- if (viewer->vadjustment && viewer->hadjustment)
- {
- if (1.0)
- {
- tmp_pixbuf = gdk_pixbuf_new_subpixbuf(viewer->priv->src_pixbuf,
- (gint)(viewer->hadjustment->value / scale),
- viewer->vadjustment->value / scale,
- ((widget->allocation.width/scale)) < width?
- widget->allocation.width/scale:width,
- ((widget->allocation.height/scale))< height?
- widget->allocation.height/scale:height);
- }
- else
- {
- tmp_pixbuf = viewer->priv->src_pixbuf;
- g_object_ref(tmp_pixbuf);
- }
- }
-
- if(viewer->priv->dst_pixbuf)
- {
- g_object_unref(viewer->priv->dst_pixbuf);
- viewer->priv->dst_pixbuf = NULL;
- }
-
- if(tmp_pixbuf)
- {
- gint dst_width = gdk_pixbuf_get_width(tmp_pixbuf)*scale;
- gint dst_height = gdk_pixbuf_get_height(tmp_pixbuf)*scale;
- viewer->priv->dst_pixbuf = gdk_pixbuf_scale_simple(tmp_pixbuf,
- dst_width>0?dst_width:1,
- dst_height>0?dst_height:1,
- GDK_INTERP_BILINEAR);
- g_object_unref(tmp_pixbuf);
- tmp_pixbuf = NULL;
- }
- if (viewer->vadjustment && viewer->hadjustment)
- {
- gtk_adjustment_changed(viewer->hadjustment);
- gtk_adjustment_changed(viewer->vadjustment);
- }
- if (hadjustment_changed == TRUE)
- gtk_adjustment_value_changed(viewer->hadjustment);
- if (vadjustment_changed == TRUE)
- gtk_adjustment_value_changed(viewer->vadjustment);
- }
- }
- else
- {
- if(viewer->priv->dst_pixbuf)
- {
- g_object_unref(viewer->priv->dst_pixbuf);
- viewer->priv->dst_pixbuf = NULL;
- }
- }
- return changed;
-}
-
-static void
-cb_rstto_picture_viewer_nav_iter_changed(RsttoNavigator *nav, gint nr, RsttoNavigatorEntry *entry, RsttoPictureViewer *viewer)
-{
- viewer->priv->entry = entry;
- if(entry)
- {
- rstto_navigator_entry_load_image(entry, FALSE);
- }
- else
- {
- rstto_picture_viewer_refresh(viewer);
- rstto_picture_viewer_paint(GTK_WIDGET(viewer));
- }
-}
-
-static void
-cb_rstto_picture_viewer_nav_entry_modified(RsttoNavigator *nav, RsttoNavigatorEntry *entry, RsttoPictureViewer *viewer)
-{
- if (entry == viewer->priv->entry)
- {
- if(viewer->priv->src_pixbuf)
- {
- gdk_pixbuf_unref(viewer->priv->src_pixbuf);
- }
- viewer->priv->src_pixbuf = rstto_navigator_entry_get_pixbuf(entry);
- if (viewer->priv->src_pixbuf)
- {
- gdk_pixbuf_ref(viewer->priv->src_pixbuf);
- }
- rstto_picture_viewer_refresh(viewer);
- rstto_picture_viewer_paint(GTK_WIDGET(viewer));
- }
-}
-
-static void
-cb_rstto_picture_viewer_scroll_event (RsttoPictureViewer *viewer, GdkEventScroll *event)
-{
- RsttoNavigatorEntry *entry = rstto_navigator_get_file(viewer->priv->navigator);
-
- if (entry == NULL)
- {
- return;
- }
-
- gdouble scale = rstto_navigator_entry_get_scale(entry);
- viewer->priv->zoom_mode = RSTTO_ZOOM_MODE_CUSTOM;
- switch(event->direction)
- {
- case GDK_SCROLL_UP:
- case GDK_SCROLL_LEFT:
- if (scale <= 0.05)
- return;
- if (viewer->priv->refresh.idle_id > 0)
- {
- g_source_remove(viewer->priv->refresh.idle_id);
- }
- rstto_navigator_entry_set_scale(entry, scale / 1.1);
- rstto_navigator_entry_set_fit_to_screen (entry, FALSE);
-
- viewer->vadjustment->value = ((viewer->vadjustment->value + event->y) / 1.1) - event->y;
- viewer->hadjustment->value = ((viewer->hadjustment->value + event->x) / 1.1) - event->x;
-
- viewer->priv->refresh.idle_id = g_idle_add((GSourceFunc)cb_rstto_picture_viewer_queued_repaint, viewer);
- break;
- case GDK_SCROLL_DOWN:
- case GDK_SCROLL_RIGHT:
- if (scale >= 16)
- return;
- if (viewer->priv->refresh.idle_id > 0)
- {
- g_source_remove(viewer->priv->refresh.idle_id);
- }
- rstto_navigator_entry_set_scale(entry, scale * 1.1);
- rstto_navigator_entry_set_fit_to_screen (entry, FALSE);
-
-
- viewer->vadjustment->value = ((viewer->vadjustment->value + event->y) * 1.1) - event->y;
- viewer->hadjustment->value = ((viewer->hadjustment->value + event->x) * 1.1) - event->x;
-
- gtk_adjustment_value_changed(viewer->hadjustment);
- gtk_adjustment_value_changed(viewer->vadjustment);
-
- viewer->priv->refresh.idle_id = g_idle_add((GSourceFunc)cb_rstto_picture_viewer_queued_repaint, viewer);
- break;
- }
-}
+ }
+ }
+}
static gboolean
cb_rstto_picture_viewer_motion_notify_event (RsttoPictureViewer *viewer,
@@ -931,15 +930,9 @@ cb_rstto_picture_viewer_motion_notify_event (RsttoPictureViewer *viewer,
viewer->priv->motion.current_x = event->x;
viewer->priv->motion.current_y = event->y;
- if (viewer->priv->refresh.idle_id > 0)
- {
- g_source_remove(viewer->priv->refresh.idle_id);
- viewer->priv->refresh.idle_id = 0;
- }
-
switch (viewer->priv->motion.state)
{
- case RSTTO_PICTURE_VIEWER_STATE_MOVE:
+ case RSTTO_PICTURE_VIEWER_MOTION_STATE_MOVE:
if (viewer->priv->motion.x != viewer->priv->motion.current_x)
{
gint val = viewer->hadjustment->value;
@@ -972,8 +965,8 @@ cb_rstto_picture_viewer_motion_notify_event (RsttoPictureViewer *viewer,
gtk_adjustment_value_changed(viewer->vadjustment);
}
break;
- case RSTTO_PICTURE_VIEWER_STATE_BOX_ZOOM:
- viewer->priv->refresh.idle_id = g_idle_add((GSourceFunc)cb_rstto_picture_viewer_queued_repaint, viewer);
+ case RSTTO_PICTURE_VIEWER_MOTION_STATE_BOX_ZOOM:
+ rstto_picture_viewer_queued_repaint (viewer, FALSE);
break;
default:
break;
@@ -982,16 +975,367 @@ cb_rstto_picture_viewer_motion_notify_event (RsttoPictureViewer *viewer,
return FALSE;
}
+static void
+rstto_picture_viewer_calculate_adjustments (RsttoPictureViewer *viewer, gdouble scale)
+{
+ GdkPixbuf *p_src_pixbuf = NULL;
+ GtkWidget *widget = GTK_WIDGET (viewer);
+ gdouble image_width, image_height;
+ gdouble pixbuf_width, pixbuf_height;
+ gdouble image_scale;
+ gboolean vadjustment_changed = FALSE;
+ gboolean hadjustment_changed = FALSE;
+
+ if (viewer->priv->image != NULL)
+ {
+ p_src_pixbuf = rstto_image_get_pixbuf (viewer->priv->image);
+ if (p_src_pixbuf != NULL)
+ {
+ image_width = (gdouble)rstto_image_get_width (viewer->priv->image);
+ image_height = (gdouble)rstto_image_get_height (viewer->priv->image);
+
+ pixbuf_width = (gdouble)gdk_pixbuf_get_width (p_src_pixbuf);
+ pixbuf_height = (gdouble)gdk_pixbuf_get_height (p_src_pixbuf);
+
+ image_scale = pixbuf_width / image_width;
+
+ switch (rstto_image_get_orientation (viewer->priv->image))
+ {
+ default:
+ if(viewer->hadjustment)
+ {
+ viewer->hadjustment->page_size = widget->allocation.width / image_scale;
+ viewer->hadjustment->upper = image_width * (scale / image_scale);
+ viewer->hadjustment->lower = 0;
+ viewer->hadjustment->step_increment = 1;
+ viewer->hadjustment->page_increment = 100;
+ if((viewer->hadjustment->value + viewer->hadjustment->page_size) > viewer->hadjustment->upper)
+ {
+ viewer->hadjustment->value = viewer->hadjustment->upper - viewer->hadjustment->page_size;
+ hadjustment_changed = TRUE;
+ }
+ if(viewer->hadjustment->value < viewer->hadjustment->lower)
+ {
+ viewer->hadjustment->value = viewer->hadjustment->lower;
+ hadjustment_changed = TRUE;
+ }
+ }
+ if(viewer->vadjustment)
+ {
+ viewer->vadjustment->page_size = widget->allocation.height / image_scale;
+ viewer->vadjustment->upper = image_height * (scale / image_scale);
+ viewer->vadjustment->lower = 0;
+ viewer->vadjustment->step_increment = 1;
+ viewer->vadjustment->page_increment = 100;
+ if((viewer->vadjustment->value + viewer->vadjustment->page_size) > viewer->vadjustment->upper)
+ {
+ viewer->vadjustment->value = viewer->vadjustment->upper - viewer->vadjustment->page_size;
+ vadjustment_changed = TRUE;
+ }
+ if(viewer->vadjustment->value < viewer->vadjustment->lower)
+ {
+ viewer->vadjustment->value = viewer->vadjustment->lower;
+ vadjustment_changed = TRUE;
+ }
+ }
+ break;
+ case RSTTO_IMAGE_ORIENT_270:
+ case RSTTO_IMAGE_ORIENT_90:
+ if(viewer->hadjustment)
+ {
+ viewer->hadjustment->page_size = widget->allocation.width / image_scale;
+ viewer->hadjustment->upper = image_height * (scale / image_scale);
+ viewer->hadjustment->lower = 0;
+ viewer->hadjustment->step_increment = 1;
+ viewer->hadjustment->page_increment = 100;
+ if((viewer->hadjustment->value + viewer->hadjustment->page_size) > viewer->hadjustment->upper)
+ {
+ viewer->hadjustment->value = viewer->hadjustment->upper - viewer->hadjustment->page_size;
+ hadjustment_changed = TRUE;
+ }
+ if(viewer->hadjustment->value < viewer->hadjustment->lower)
+ {
+ viewer->hadjustment->value = viewer->hadjustment->lower;
+ hadjustment_changed = TRUE;
+ }
+ }
+ if(viewer->vadjustment)
+ {
+ viewer->vadjustment->page_size = widget->allocation.height / image_scale;
+ viewer->vadjustment->upper = image_width * (scale / image_scale);
+ viewer->vadjustment->lower = 0;
+ viewer->vadjustment->step_increment = 1;
+ viewer->vadjustment->page_increment = 100;
+ if((viewer->vadjustment->value + viewer->vadjustment->page_size) > viewer->vadjustment->upper)
+ {
+ viewer->vadjustment->value = viewer->vadjustment->upper - viewer->vadjustment->page_size;
+ vadjustment_changed = TRUE;
+ }
+ if(viewer->vadjustment->value < viewer->vadjustment->lower)
+ {
+ viewer->vadjustment->value = viewer->vadjustment->lower;
+ vadjustment_changed = TRUE;
+ }
+ }
+ break;
+ }
+
+ if (viewer->vadjustment && viewer->hadjustment)
+ {
+ gtk_adjustment_changed(viewer->hadjustment);
+ gtk_adjustment_changed(viewer->vadjustment);
+ }
+ if (hadjustment_changed == TRUE)
+ gtk_adjustment_value_changed(viewer->hadjustment);
+ if (vadjustment_changed == TRUE)
+ gtk_adjustment_value_changed(viewer->vadjustment);
+ }
+ }
+
+}
+
+static void
+rstto_picture_viewer_queued_repaint (RsttoPictureViewer *viewer, gboolean refresh)
+{
+ if (viewer->priv->repaint.idle_id > 0)
+ {
+ g_source_remove(viewer->priv->repaint.idle_id);
+ }
+ if (refresh)
+ {
+ viewer->priv->repaint.refresh = TRUE;
+ }
+ viewer->priv->repaint.idle_id = g_idle_add((GSourceFunc)cb_rstto_picture_viewer_queued_repaint, viewer);
+}
+
static gboolean
-cb_rstto_picture_viewer_queued_repaint(RsttoPictureViewer *viewer)
+cb_rstto_picture_viewer_queued_repaint (RsttoPictureViewer *viewer)
{
- rstto_picture_viewer_refresh(viewer);
- rstto_picture_viewer_paint(GTK_WIDGET(viewer));
- g_source_remove(viewer->priv->refresh.idle_id);
- viewer->priv->refresh.idle_id = -1;
+ GdkPixbuf *p_src_pixbuf = NULL;
+ GdkPixbuf *p_tmp_pixbuf = NULL;
+ GdkPixbuf *p_tmp_pixbuf2 = NULL;
+ gdouble *p_scale = NULL;
+ gboolean *p_fit_to_screen= NULL;
+ gdouble scale = 1;
+ gdouble image_scale = 1;
+ gdouble thumb_scale = 1;
+ gdouble thumb_width = 0;
+ gboolean fit_to_screen = FALSE;
+ gboolean show_preview = rstto_settings_get_boolean_property (viewer->priv->settings, "show-preview");
+ gdouble image_width = 0, image_height = 0;
+ gdouble pixbuf_width, pixbuf_height;
+ GtkWidget *widget = GTK_WIDGET (viewer);
+
+ if (viewer->priv->image != NULL)
+ {
+ image_width = (gdouble)rstto_image_get_width (viewer->priv->image);
+ image_height = (gdouble)rstto_image_get_height (viewer->priv->image);
+
+ switch (viewer->priv->state)
+ {
+ case RSTTO_PICTURE_VIEWER_STATE_NORMAL:
+ p_src_pixbuf = rstto_image_get_pixbuf (viewer->priv->image);
+ if (p_src_pixbuf)
+ {
+ pixbuf_width = (gdouble)gdk_pixbuf_get_width (p_src_pixbuf);
+ pixbuf_height = (gdouble)gdk_pixbuf_get_height (p_src_pixbuf);
+
+ image_scale = pixbuf_width / image_width;
+ }
+ break;
+ case RSTTO_PICTURE_VIEWER_STATE_PREVIEW:
+ if (show_preview == TRUE)
+ {
+ p_src_pixbuf = rstto_image_get_thumbnail (viewer->priv->image);
+ if (p_src_pixbuf)
+ {
+ thumb_width = (gdouble)gdk_pixbuf_get_width (p_src_pixbuf);
+ thumb_scale = (thumb_width / image_width);
+ }
+ else
+ return FALSE;
+ }
+ break;
+ default:
+ break;
+ }
+
+ p_scale = g_object_get_data (G_OBJECT (viewer->priv->image), "viewer-scale");
+ p_fit_to_screen = g_object_get_data (G_OBJECT (viewer->priv->image), "viewer-fit-to-screen");
+ scale = *p_scale;
+ fit_to_screen = *p_fit_to_screen;
+
+ if (scale <= 0.0)
+ {
+ scale = rstto_picture_viewer_calculate_scale (viewer);
+ if (scale > 1.0)
+ {
+ scale = 1.0;
+ fit_to_screen = FALSE;
+ }
+ else
+ fit_to_screen = TRUE;
+ }
+ if (fit_to_screen == TRUE)
+ {
+ scale = rstto_picture_viewer_calculate_scale (viewer);
+ }
+ *p_fit_to_screen = fit_to_screen;
+ *p_scale = scale;
+ }
+
+
+ rstto_picture_viewer_calculate_adjustments (viewer, scale);
+
+
+ if (viewer->priv->repaint.refresh)
+ {
+ if(viewer->priv->dst_pixbuf)
+ {
+ g_object_unref(viewer->priv->dst_pixbuf);
+ viewer->priv->dst_pixbuf = NULL;
+ }
+ if (p_src_pixbuf)
+ {
+ gdouble x, y;
+
+ switch (rstto_image_get_orientation (viewer->priv->image))
+ {
+ default:
+ case RSTTO_IMAGE_ORIENT_NONE:
+ x = viewer->hadjustment->value * image_scale;
+ y = viewer->vadjustment->value * image_scale;
+ p_tmp_pixbuf = gdk_pixbuf_new_subpixbuf (p_src_pixbuf,
+ (gint)(x/scale * thumb_scale * image_scale),
+ (gint)(y/scale * thumb_scale * image_scale),
+ (gint)((widget->allocation.width / scale) < image_width?
+ (widget->allocation.width / scale)*thumb_scale*image_scale:image_width*thumb_scale*image_scale),
+ (gint)((widget->allocation.height / scale) < image_height?
+ (widget->allocation.height / scale)*image_scale*thumb_scale:image_height*thumb_scale*image_scale));
+ break;
+ case RSTTO_IMAGE_ORIENT_90:
+ x = viewer->vadjustment->value * image_scale;
+ y = (viewer->hadjustment->upper - (viewer->hadjustment->value + viewer->hadjustment->page_size)) * image_scale;
+ if (y < 0) y = 0;
+ //y = viewer->hadjustment->value * image_scale;
+ p_tmp_pixbuf = gdk_pixbuf_new_subpixbuf (p_src_pixbuf,
+ (gint)(x/scale * thumb_scale * image_scale),
+ (gint)(y/scale * thumb_scale * image_scale),
+ (gint)((widget->allocation.height/ scale) < image_width?
+ (widget->allocation.height/ scale)*thumb_scale*image_scale:image_width*thumb_scale*image_scale),
+ (gint)((widget->allocation.width/ scale) < image_height?
+ (widget->allocation.width/ scale)*image_scale*thumb_scale:image_height*thumb_scale*image_scale));
+ if (p_tmp_pixbuf)
+ {
+ p_tmp_pixbuf2 = gdk_pixbuf_rotate_simple (p_tmp_pixbuf, GDK_PIXBUF_ROTATE_CLOCKWISE);
+ g_object_unref (p_tmp_pixbuf);
+ p_tmp_pixbuf = p_tmp_pixbuf2;
+ }
+ break;
+ case RSTTO_IMAGE_ORIENT_180:
+ x = (viewer->hadjustment->upper - (viewer->hadjustment->value + viewer->hadjustment->page_size)) * image_scale;
+ if (x < 0) x = 0;
+ y = (viewer->vadjustment->upper - (viewer->vadjustment->value + viewer->vadjustment->page_size)) * image_scale;
+ if (y < 0) y = 0;
+ //y = viewer->hadjustment->value * image_scale;
+ p_tmp_pixbuf = gdk_pixbuf_new_subpixbuf (p_src_pixbuf,
+ (gint)(x/scale * thumb_scale * image_scale),
+ (gint)(y/scale * thumb_scale * image_scale),
+ (gint)((widget->allocation.width / scale) < image_width?
+ (widget->allocation.width / scale)*thumb_scale*image_scale:image_width*thumb_scale*image_scale),
+ (gint)((widget->allocation.height/ scale) < image_width?
+ (widget->allocation.height/ scale)*image_scale*thumb_scale:image_height*thumb_scale*image_scale));
+ if (p_tmp_pixbuf)
+ {
+ p_tmp_pixbuf2 = gdk_pixbuf_rotate_simple (p_tmp_pixbuf, GDK_PIXBUF_ROTATE_UPSIDEDOWN);
+ g_object_unref (p_tmp_pixbuf);
+ p_tmp_pixbuf = p_tmp_pixbuf2;
+ }
+ break;
+ case RSTTO_IMAGE_ORIENT_270:
+ x = (viewer->vadjustment->upper - (viewer->vadjustment->value + viewer->vadjustment->page_size)) * image_scale;
+ if (x < 0) x = 0;
+ y = viewer->hadjustment->value * image_scale;
+ p_tmp_pixbuf = gdk_pixbuf_new_subpixbuf (p_src_pixbuf,
+ (gint)(x/scale * thumb_scale * image_scale),
+ (gint)(y/scale * thumb_scale * image_scale),
+ (gint)((widget->allocation.height/ scale) < image_width?
+ (widget->allocation.height/ scale)*thumb_scale*image_scale:image_width*thumb_scale*image_scale),
+ (gint)((widget->allocation.width/ scale) < image_height?
+ (widget->allocation.width/ scale)*image_scale*thumb_scale:image_height*thumb_scale*image_scale));
+ if (p_tmp_pixbuf)
+ {
+ p_tmp_pixbuf2 = gdk_pixbuf_rotate_simple (p_tmp_pixbuf, GDK_PIXBUF_ROTATE_COUNTERCLOCKWISE);
+ g_object_unref (p_tmp_pixbuf);
+ p_tmp_pixbuf = p_tmp_pixbuf2;
+ }
+ break;
+ }
+ /**
+ * tmp_scale is the factor between the original image and the thumbnail,
+ * when looking at the actual image, tmp_scale == 1.0
+ */
+ /*
+ gdouble x = viewer->hadjustment->value * image_scale;
+ gdouble y = viewer->vadjustment->value * image_scale;
+
+ p_tmp_pixbuf = gdk_pixbuf_new_subpixbuf (p_src_pixbuf,
+ (gint)(x/scale * thumb_scale * image_scale),
+ (gint)(y/scale * thumb_scale * image_scale),
+ (gint)((widget->allocation.width / scale) < image_width?
+ (widget->allocation.width / scale)*thumb_scale*image_scale:image_width*thumb_scale*image_scale),
+ (gint)((widget->allocation.height / scale) < image_height?
+ (widget->allocation.height / scale)*image_scale*thumb_scale:image_height*thumb_scale*image_scale));
+ */
+
+ if(p_tmp_pixbuf)
+ {
+ gint dst_width = gdk_pixbuf_get_width (p_tmp_pixbuf)*(scale/thumb_scale/image_scale);
+ gint dst_height = gdk_pixbuf_get_height (p_tmp_pixbuf)*(scale/thumb_scale/image_scale);
+ viewer->priv->dst_pixbuf = gdk_pixbuf_scale_simple (p_tmp_pixbuf,
+ dst_width>0?dst_width:1,
+ dst_height>0?dst_height:1,
+ GDK_INTERP_BILINEAR);
+ g_object_unref (p_tmp_pixbuf);
+ p_tmp_pixbuf = NULL;
+ }
+ }
+ }
+
+
+ rstto_picture_viewer_paint (GTK_WIDGET (viewer));
+
+ g_source_remove (viewer->priv->repaint.idle_id);
+ viewer->priv->repaint.idle_id = -1;
+ viewer->priv->repaint.refresh = FALSE;
return FALSE;
}
+static RsttoPictureViewerState
+rstto_picture_viewer_get_state (RsttoPictureViewer *viewer)
+{
+ return viewer->priv->state;
+}
+
+
+static void
+rstto_picture_viewer_set_state (RsttoPictureViewer *viewer, RsttoPictureViewerState state)
+{
+ viewer->priv->state = state;
+}
+
+static void
+rstto_picture_viewer_set_motion_state (RsttoPictureViewer *viewer, RsttoPictureViewerMotionState state)
+{
+ viewer->priv->motion.state = state;
+}
+
+static RsttoPictureViewerMotionState
+rstto_picture_viewer_get_motion_state (RsttoPictureViewer *viewer)
+{
+ return viewer->priv->motion.state;
+}
+
static void
cb_rstto_picture_viewer_button_press_event (RsttoPictureViewer *viewer, GdkEventButton *event)
{
@@ -1004,7 +1348,7 @@ cb_rstto_picture_viewer_button_press_event (RsttoPictureViewer *viewer, GdkEvent
viewer->priv->motion.h_val = viewer->hadjustment->value;
viewer->priv->motion.v_val = viewer->vadjustment->value;
- if (rstto_navigator_get_file(viewer->priv->navigator) != NULL)
+ if (viewer->priv->image != NULL && rstto_picture_viewer_get_state (viewer) == RSTTO_PICTURE_VIEWER_STATE_NORMAL)
{
if (!(event->state & (GDK_CONTROL_MASK)))
@@ -1014,7 +1358,7 @@ cb_rstto_picture_viewer_button_press_event (RsttoPictureViewer *viewer, GdkEvent
gdk_window_set_cursor(widget->window, cursor);
gdk_cursor_unref(cursor);
- viewer->priv->motion.state = RSTTO_PICTURE_VIEWER_STATE_MOVE;
+ rstto_picture_viewer_set_motion_state (viewer, RSTTO_PICTURE_VIEWER_MOTION_STATE_MOVE);
}
if (event->state & GDK_CONTROL_MASK)
@@ -1024,7 +1368,7 @@ cb_rstto_picture_viewer_button_press_event (RsttoPictureViewer *viewer, GdkEvent
gdk_window_set_cursor(widget->window, cursor);
gdk_cursor_unref(cursor);
- viewer->priv->motion.state = RSTTO_PICTURE_VIEWER_STATE_BOX_ZOOM;
+ rstto_picture_viewer_set_motion_state (viewer, RSTTO_PICTURE_VIEWER_MOTION_STATE_BOX_ZOOM);
}
}
@@ -1049,136 +1393,147 @@ cb_rstto_picture_viewer_button_press_event (RsttoPictureViewer *viewer, GdkEvent
static void
cb_rstto_picture_viewer_button_release_event (RsttoPictureViewer *viewer, GdkEventButton *event)
{
- if(event->button == 1)
- {
- GtkWidget *widget = GTK_WIDGET(viewer);
- gdk_window_set_cursor(widget->window, NULL);
- switch (viewer->priv->motion.state)
- {
- case RSTTO_PICTURE_VIEWER_STATE_NONE:
- break;
- case RSTTO_PICTURE_VIEWER_STATE_MOVE:
- break;
- case RSTTO_PICTURE_VIEWER_STATE_BOX_ZOOM:
- viewer->priv->zoom_mode = RSTTO_ZOOM_MODE_CUSTOM;
- if(GTK_WIDGET_REALIZED(widget))
- {
- RsttoNavigatorEntry *entry = rstto_navigator_get_file(viewer->priv->navigator);
- gdouble scale = rstto_navigator_entry_get_scale(entry);
- gdouble old_scale = scale;
- gdouble width = (gdouble)gdk_pixbuf_get_width(viewer->priv->src_pixbuf);
- gdouble height = (gdouble)gdk_pixbuf_get_height(viewer->priv->src_pixbuf);
-
- gdouble d_width = (gdouble)gdk_pixbuf_get_width(viewer->priv->dst_pixbuf);
- gdouble d_height = (gdouble)gdk_pixbuf_get_height(viewer->priv->dst_pixbuf);
-
- gdouble box_width, box_height;
- gdouble top_left_x, top_left_y;
+ gdouble *scale, old_scale, img_scale;
+ gboolean *fit_to_screen;
+ gdouble width, height, image_width, image_height;
+ GtkWidget *widget = GTK_WIDGET(viewer);
+ GdkPixbuf *p_src_pixbuf = NULL;
- if (viewer->priv->motion.x < viewer->priv->motion.current_x)
- {
- gint x_offset = (widget->allocation.width - d_width)<=0?0:((widget->allocation.width - d_width)/2);
- top_left_x = viewer->priv->motion.x + viewer->hadjustment->value - x_offset;
- box_width = viewer->priv->motion.current_x - viewer->priv->motion.x;
- }
- else
- {
- gint x_offset = (widget->allocation.width - d_width)<=0?0:((widget->allocation.width - d_width)/2);
- top_left_x = viewer->priv->motion.current_x + viewer->hadjustment->value - x_offset;
- box_width = viewer->priv->motion.x - viewer->priv->motion.current_x;
- }
- if (viewer->priv->motion.y < viewer->priv->motion.current_y)
- {
- gint y_offset = (widget->allocation.height - d_height)<=0?0:((widget->allocation.height - d_height)/2);
- top_left_y = viewer->priv->motion.y + viewer->vadjustment->value - y_offset;
- box_height = viewer->priv->motion.current_y - viewer->priv->motion.y;
- }
- else
+ switch (event->button)
+ {
+ case 1:
+ gdk_window_set_cursor(widget->window, NULL);
+ switch (rstto_picture_viewer_get_motion_state (viewer))
+ {
+ case RSTTO_PICTURE_VIEWER_MOTION_STATE_BOX_ZOOM:
+ rstto_picture_viewer_set_zoom_mode (viewer, RSTTO_ZOOM_MODE_CUSTOM);
+ if(GTK_WIDGET_REALIZED(widget))
{
- gint y_offset = (widget->allocation.height - d_height) <=0?0:((widget->allocation.height - d_height)/2);
+ scale = g_object_get_data (G_OBJECT (viewer->priv->image), "viewer-scale");
+ old_scale = *scale;
+ p_src_pixbuf = rstto_image_get_pixbuf (viewer->priv->image);
+ if (p_src_pixbuf)
+ {
+ width = (gdouble)gdk_pixbuf_get_width (p_src_pixbuf);
+ height = (gdouble)gdk_pixbuf_get_height (p_src_pixbuf);
+ }
+ else
+ return;
+ image_width = rstto_image_get_width(viewer->priv->image);
+ image_height = rstto_image_get_height(viewer->priv->image);
- top_left_y = viewer->priv->motion.current_y + viewer->vadjustment->value - y_offset;
- box_height = viewer->priv->motion.y - viewer->priv->motion.current_y;
- }
+ img_scale = width / image_width;
- gdouble h_scale = widget->allocation.width / box_width * scale;
- gdouble v_scale = widget->allocation.height / box_height * scale;
+ gdouble d_width = (gdouble)gdk_pixbuf_get_width(viewer->priv->dst_pixbuf);
+ gdouble d_height = (gdouble)gdk_pixbuf_get_height(viewer->priv->dst_pixbuf);
- /**
- * Check if the mouse has been moved (and there exists a box
- */
- if (box_height > 1 && box_width > 1)
- {
- if (h_scale < v_scale)
+ gdouble box_width, box_height;
+ gdouble top_left_x, top_left_y;
+
+ if (viewer->priv->motion.x < viewer->priv->motion.current_x)
{
- rstto_navigator_entry_set_scale(entry, h_scale);
- gdouble d_box_height = box_height * v_scale / h_scale;
- top_left_y -= (d_box_height - box_height) / 2;
- box_height = d_box_height;
+ gint x_offset = (widget->allocation.width - d_width)<=0?0:((widget->allocation.width - d_width)/2);
+ top_left_x = viewer->priv->motion.x - x_offset + (viewer->hadjustment->value * *scale);
+ box_width = viewer->priv->motion.current_x - viewer->priv->motion.x;
}
else
{
- rstto_navigator_entry_set_scale(entry, v_scale);
- gdouble d_box_width = box_width * h_scale / v_scale;
- top_left_x -= (d_box_width - box_width) / 2;
- box_width = d_box_width;
+ gint x_offset = (widget->allocation.width - d_width)<=0?0:((widget->allocation.width - d_width)/2);
+ top_left_x = viewer->priv->motion.current_x - x_offset + (viewer->hadjustment->value * *scale);
+ box_width = viewer->priv->motion.x - viewer->priv->motion.current_x;
+ }
+ if (viewer->priv->motion.y < viewer->priv->motion.current_y)
+ {
+ gint y_offset = (widget->allocation.height - d_height)<=0?0:((widget->allocation.height - d_height)/2);
+ top_left_y = viewer->priv->motion.y - y_offset + (viewer->vadjustment->value * *scale);
+ box_height = viewer->priv->motion.current_y - viewer->priv->motion.y;
+ }
+ else
+ {
+ gint y_offset = (widget->allocation.height - d_height) <=0?0:((widget->allocation.height - d_height)/2);
+ top_left_y = viewer->priv->motion.y - y_offset + (viewer->vadjustment->value * *scale);
+ box_height = viewer->priv->motion.y - viewer->priv->motion.current_y;
}
- rstto_navigator_entry_set_fit_to_screen(entry, FALSE);
- scale = rstto_navigator_entry_get_scale(entry);
+ gdouble h_scale = widget->allocation.width / box_width * *scale;
+ gdouble v_scale = widget->allocation.height / box_height * *scale;
- if(viewer->hadjustment)
+ /**
+ * Check if the mouse has been moved (and there exists a box
+ */
+ if (box_height > 1 && box_width > 1)
{
- viewer->hadjustment->page_size = box_width / old_scale * scale;
- viewer->hadjustment->upper = width * scale;
- viewer->hadjustment->lower = 0;
- viewer->hadjustment->step_increment = 1;
- viewer->hadjustment->page_increment = 100;
- viewer->hadjustment->value = top_left_x / old_scale * scale;
- if((viewer->hadjustment->value + viewer->hadjustment->page_size) > viewer->hadjustment->upper)
+ if (h_scale < v_scale)
{
- viewer->hadjustment->value = viewer->hadjustment->upper - viewer->hadjustment->page_size;
+ *scale = h_scale;
+ gdouble d_box_height = box_height * v_scale / h_scale;
+ top_left_y -= (d_box_height - box_height) / 2;
+ box_height = d_box_height;
}
- if(viewer->hadjustment->value < viewer->hadjustment->lower)
+ else
{
- viewer->hadjustment->value = viewer->hadjustment->lower;
+ *scale = v_scale;
+ gdouble d_box_width = box_width * h_scale / v_scale;
+ top_left_x -= (d_box_width - box_width) / 2;
+ box_width = d_box_width;
}
- gtk_adjustment_changed(viewer->hadjustment);
- gtk_adjustment_value_changed(viewer->hadjustment);
- }
- if(viewer->vadjustment)
- {
- viewer->vadjustment->page_size = box_height /old_scale* scale;
- viewer->vadjustment->upper = height * scale;
- viewer->vadjustment->lower = 0;
- viewer->vadjustment->step_increment = 1;
- viewer->vadjustment->page_increment = 100;
- viewer->vadjustment->value = top_left_y / old_scale * scale;
- if((viewer->vadjustment->value + viewer->vadjustment->page_size) > viewer->vadjustment->upper)
+
+ g_object_set_data (G_OBJECT(viewer->priv->image), "viewer-scale", scale);
+
+ if(viewer->hadjustment)
{
- viewer->vadjustment->value = viewer->vadjustment->upper - viewer->vadjustment->page_size;
+ viewer->hadjustment->page_size = (box_width / old_scale * *scale) / img_scale;
+ viewer->hadjustment->upper = (image_width * *scale) / img_scale;
+ viewer->hadjustment->lower = 0;
+ viewer->hadjustment->step_increment = 1;
+ viewer->hadjustment->page_increment = 100;
+ viewer->hadjustment->value = (top_left_x / old_scale * *scale) / img_scale;
+ if((viewer->hadjustment->value + viewer->hadjustment->page_size) > viewer->hadjustment->upper)
+ {
+ viewer->hadjustment->value = viewer->hadjustment->upper - viewer->hadjustment->page_size;
+ }
+ if(viewer->hadjustment->value < viewer->hadjustment->lower)
+ {
+ viewer->hadjustment->value = viewer->hadjustment->lower;
+ }
+ gtk_adjustment_changed(viewer->hadjustment);
+ gtk_adjustment_value_changed(viewer->hadjustment);
}
- if(viewer->vadjustment->value < viewer->vadjustment->lower)
- {
- viewer->vadjustment->value = viewer->vadjustment->lower;
+ if(viewer->vadjustment)
+ {
+ viewer->vadjustment->page_size = (box_height /old_scale* *scale) / img_scale;
+ viewer->vadjustment->upper = (image_height * *scale) / img_scale;
+ viewer->vadjustment->lower = 0;
+ viewer->vadjustment->step_increment = 1;
+ viewer->vadjustment->page_increment = 100;
+ viewer->vadjustment->value = (top_left_y / old_scale * *scale) / img_scale;
+ if((viewer->vadjustment->value + viewer->vadjustment->page_size) > viewer->vadjustment->upper)
+ {
+ viewer->vadjustment->value = viewer->vadjustment->upper - viewer->vadjustment->page_size;
+ }
+ if(viewer->vadjustment->value < viewer->vadjustment->lower)
+ {
+ viewer->vadjustment->value = viewer->vadjustment->lower;
+ }
+ gtk_adjustment_changed(viewer->vadjustment);
+ gtk_adjustment_value_changed(viewer->vadjustment);
}
- gtk_adjustment_changed(viewer->vadjustment);
- gtk_adjustment_value_changed(viewer->vadjustment);
}
}
- }
- if (viewer->priv->refresh.idle_id > 0)
- {
- g_source_remove(viewer->priv->refresh.idle_id);
- }
- viewer->priv->refresh.idle_id = g_idle_add((GSourceFunc)cb_rstto_picture_viewer_queued_repaint, viewer);
- break;
- }
-
+ if (viewer->priv->repaint.idle_id > 0)
+ {
+ g_source_remove(viewer->priv->repaint.idle_id);
+ }
+ viewer->priv->repaint.idle_id = g_idle_add((GSourceFunc)cb_rstto_picture_viewer_queued_repaint, viewer);
+ break;
+ default:
+ break;
+ }
+ rstto_picture_viewer_set_motion_state (viewer, RSTTO_PICTURE_VIEWER_MOTION_STATE_NORMAL);
+ rstto_picture_viewer_queued_repaint (viewer, FALSE);
+ break;
}
- viewer->priv->motion.state = RSTTO_PICTURE_VIEWER_STATE_NONE;
-
}
static void
@@ -1202,142 +1557,244 @@ rstto_picture_viewer_set_menu (RsttoPictureViewer *viewer, GtkMenu *menu)
{
if (viewer->priv->menu)
{
- gtk_menu_detach(viewer->priv->menu);
- gtk_widget_destroy(GTK_WIDGET(viewer->priv->menu));
+ gtk_menu_detach (viewer->priv->menu);
+ gtk_widget_destroy (GTK_WIDGET(viewer->priv->menu));
}
viewer->priv->menu = menu;
if (viewer->priv->menu)
{
- gtk_menu_attach_to_widget(viewer->priv->menu, GTK_WIDGET(viewer), NULL);
+ gtk_menu_attach_to_widget (viewer->priv->menu, GTK_WIDGET(viewer), NULL);
}
}
-void
-rstto_picture_viewer_set_bg_color (RsttoPictureViewer *viewer, const GdkColor *color)
+static void
+rstto_picture_viewer_set_zoom_mode(RsttoPictureViewer *viewer, RsttoZoomMode mode)
{
- if (viewer->priv->bg_color)
+ gdouble scale;
+ gboolean *p_fit_to_screen;
+ viewer->priv->zoom_mode = mode;
+
+ switch (viewer->priv->zoom_mode)
{
- gdk_color_free(viewer->priv->bg_color);
- viewer->priv->bg_color = NULL;
+ case RSTTO_ZOOM_MODE_CUSTOM:
+ if (viewer->priv->image)
+ {
+ p_fit_to_screen = g_object_get_data (G_OBJECT (viewer->priv->image), "viewer-fit-to-screen");
+ *p_fit_to_screen = FALSE;
+ g_object_set_data (G_OBJECT (viewer->priv->image), "viewer-fit-to-screen", p_fit_to_screen);
+ }
+ break;
+ case RSTTO_ZOOM_MODE_FIT:
+ if (viewer->priv->image)
+ {
+ p_fit_to_screen = g_object_get_data (G_OBJECT (viewer->priv->image), "viewer-fit-to-screen");
+ *p_fit_to_screen = TRUE;
+ g_object_set_data (G_OBJECT (viewer->priv->image), "viewer-fit-to-screen", p_fit_to_screen);
+ }
+ scale = rstto_picture_viewer_calculate_scale (viewer);
+ if (scale != -1.0)
+ rstto_picture_viewer_set_scale (viewer, scale);
+ break;
+ case RSTTO_ZOOM_MODE_100:
+ if (viewer->priv->image)
+ {
+ p_fit_to_screen = g_object_get_data (G_OBJECT (viewer->priv->image), "viewer-fit-to-screen");
+ *p_fit_to_screen = FALSE;
+ g_object_set_data (G_OBJECT (viewer->priv->image), "viewer-fit-to-screen", p_fit_to_screen);
+ }
+ rstto_picture_viewer_set_scale (viewer, 1);
+ break;
}
- if (color)
+}
+
+/**
+ * rstto_picture_viewer_set_image:
+ * @viewer :
+ * @image :
+ *
+ *
+ */
+static void
+rstto_picture_viewer_set_image (RsttoPictureViewer *viewer, RsttoImage *image)
+{
+ gdouble *scale = NULL;
+ gboolean *fit_to_screen = NULL;
+
+ GValue max_size = {0,};
+
+ g_value_init (&max_size, G_TYPE_UINT);
+ g_object_get_property (G_OBJECT(viewer->priv->settings), "image-quality", &max_size);
+
+ if (viewer->priv->image)
{
- viewer->priv->bg_color = gdk_color_copy(color);
- GdkColormap *colormap = gtk_widget_get_colormap(GTK_WIDGET(viewer));
- gdk_colormap_alloc_color(colormap, viewer->priv->bg_color, TRUE, TRUE);
+ g_signal_handlers_disconnect_by_func (viewer->priv->image, cb_rstto_picture_viewer_image_updated, viewer);
+ g_signal_handlers_disconnect_by_func (viewer->priv->image, cb_rstto_picture_viewer_image_prepared, viewer);
+ g_object_remove_weak_pointer (G_OBJECT (viewer->priv->image), (gpointer *)&viewer->priv->image);
}
+
+ viewer->priv->image = image;
+
+ if (viewer->priv->image)
+ {
+ g_object_add_weak_pointer (G_OBJECT (viewer->priv->image), (gpointer *)&viewer->priv->image);
+
+ g_signal_connect (G_OBJECT (viewer->priv->image), "updated", G_CALLBACK (cb_rstto_picture_viewer_image_updated), viewer);
+ g_signal_connect (G_OBJECT (viewer->priv->image), "prepared", G_CALLBACK (cb_rstto_picture_viewer_image_prepared), viewer);
+
+ scale = g_object_get_data (G_OBJECT (viewer->priv->image), "viewer-scale");
+ fit_to_screen = g_object_get_data (G_OBJECT (viewer->priv->image), "viewer-fit-to-screen");
+
+ if (scale == NULL)
+ {
+ scale = g_new0 (gdouble, 1);
+ *scale = -1.0;
+ g_object_set_data (G_OBJECT (viewer->priv->image), "viewer-scale", scale);
+ }
+ if (fit_to_screen == NULL)
+ {
+ fit_to_screen = g_new0 (gboolean, 1);
+ g_object_set_data (G_OBJECT (viewer->priv->image), "viewer-fit-to-screen", fit_to_screen);
+ }
+
+ rstto_image_load (viewer->priv->image, FALSE, g_value_get_uint (&max_size), FALSE, NULL);
+ }
+ else
+ {
+ rstto_picture_viewer_queued_repaint (viewer, TRUE);
+ viewer->hadjustment->upper = 0;
+ viewer->hadjustment->lower = 0;
+ viewer->hadjustment->value = 0;
+ viewer->vadjustment->upper = 0;
+ viewer->vadjustment->lower = 0;
+ viewer->vadjustment->value = 0;
+
+ gtk_adjustment_changed(viewer->hadjustment);
+ gtk_adjustment_changed(viewer->vadjustment);
+
+ gtk_adjustment_value_changed(viewer->hadjustment);
+ gtk_adjustment_value_changed(viewer->vadjustment);
+ }
+}
+
+/**
+ * cb_rstto_picture_viewer_image_updated:
+ * @image:
+ * @viewer:
+ *
+ */
+static void
+cb_rstto_picture_viewer_image_updated (RsttoImage *image, RsttoPictureViewer *viewer)
+{
+ rstto_picture_viewer_set_state (viewer, RSTTO_PICTURE_VIEWER_STATE_NORMAL);
+
+ rstto_picture_viewer_queued_repaint (viewer, TRUE);
}
-const GdkColor *
-rstto_picture_viewer_get_bg_color (RsttoPictureViewer *viewer)
+/**
+ * cb_rstto_picture_viewer_image_prepared:
+ * @image:
+ * @viewer:
+ *
+ */
+static void
+cb_rstto_picture_viewer_image_prepared (RsttoImage *image, RsttoPictureViewer *viewer)
{
- return viewer->priv->bg_color;
+ rstto_picture_viewer_set_state (viewer, RSTTO_PICTURE_VIEWER_STATE_PREVIEW);
+
+ rstto_picture_viewer_queued_repaint (viewer, TRUE);
}
+/**
+ * rstto_picture_viewer_zoom_fit:
+ * @window:
+ *
+ * Adjust the scale to make the image fit the window
+ */
void
-rstto_picture_viewer_redraw(RsttoPictureViewer *viewer)
+rstto_picture_viewer_zoom_fit (RsttoPictureViewer *viewer)
{
- rstto_picture_viewer_refresh(viewer);
- rstto_picture_viewer_paint(GTK_WIDGET(viewer));
+ rstto_picture_viewer_set_zoom_mode (viewer, RSTTO_ZOOM_MODE_FIT);
}
+/**
+ * rstto_picture_viewer_zoom_100:
+ * @viewer:
+ *
+ * Set the scale to 1, meaning a zoom-factor of 100%
+ */
void
-rstto_picture_viewer_set_zoom_mode(RsttoPictureViewer *viewer, RsttoZoomMode mode)
+rstto_picture_viewer_zoom_100 (RsttoPictureViewer *viewer)
{
- viewer->priv->zoom_mode = mode;
+ rstto_picture_viewer_set_zoom_mode (viewer, RSTTO_ZOOM_MODE_100);
}
-static void
-rstto_picture_viewer_drag_data_received(GtkWidget *widget,
- GdkDragContext *context,
- gint x,
- gint y,
- GtkSelectionData *selection_data,
- guint info,
- guint time)
+/**
+ * rstto_picture_viewer_zoom_in:
+ * @viewer:
+ * @factor:
+ *
+ * Zoom in the scale with a certain factor
+ */
+void
+rstto_picture_viewer_zoom_in (RsttoPictureViewer *viewer, gdouble factor)
{
- RsttoPictureViewer *picture_viewer = RSTTO_PICTURE_VIEWER(widget);
- gchar **array = gtk_selection_data_get_uris (selection_data);
+ gdouble scale;
- context->action = GDK_ACTION_PRIVATE;
+ rstto_picture_viewer_set_zoom_mode (viewer, RSTTO_ZOOM_MODE_CUSTOM);
+ scale = rstto_picture_viewer_get_scale (viewer);
+ rstto_picture_viewer_set_scale (viewer, scale * factor);
+}
- if (array == NULL)
- {
- gtk_drag_finish (context, FALSE, FALSE, time);
- }
+/**
+ * rstto_picture_viewer_zoom_out:
+ * @viewer:
+ * @factor:
+ *
+ * Zoom out the scale with a certain factor
+ */
+void
+rstto_picture_viewer_zoom_out (RsttoPictureViewer *viewer, gdouble factor)
+{
+ gdouble scale;
- gchar **_array = array;
+ rstto_picture_viewer_set_zoom_mode (viewer, RSTTO_ZOOM_MODE_CUSTOM);
+ scale = rstto_picture_viewer_get_scale (viewer);
+ rstto_picture_viewer_set_scale (viewer, scale / factor);
+}
- while(*_array)
- {
- ThunarVfsPath *vfs_path = thunar_vfs_path_new(*_array, NULL);
- gchar *path = thunar_vfs_path_dup_string(vfs_path);
- if (g_file_test(path, G_FILE_TEST_EXISTS))
- {
- if (g_file_test(path, G_FILE_TEST_IS_DIR))
- {
- if(rstto_navigator_open_folder(picture_viewer->priv->navigator, path, FALSE, NULL) == TRUE)
- {
- rstto_navigator_jump_first(picture_viewer->priv->navigator);
- }
- }
- else
- {
- rstto_navigator_open_file(picture_viewer->priv->navigator, path, FALSE, NULL);
- }
- }
- g_free(path);
- thunar_vfs_path_unref(vfs_path);
- _array++;
- }
-
- gtk_drag_finish (context, TRUE, FALSE, time);
-}
+/******************************************************************************************/
-static gboolean
-rstto_picture_viewer_drag_drop (GtkWidget *widget,
- GdkDragContext *context,
- gint x,
- gint y,
- guint time)
-{
- GdkAtom target;
- /* determine the drop target */
- target = gtk_drag_dest_find_target (widget, context, NULL);
- if (G_LIKELY (target == gdk_atom_intern ("text/uri-list", FALSE)))
+void
+rstto_picture_viewer_set_iter (RsttoPictureViewer *viewer, RsttoImageListIter *iter)
+{
+ if (viewer->priv->iter)
{
- /* set state so the drag-data-received handler
- * knows that this is really a drop this time.
- */
-
- /* request the drag data from the source. */
- gtk_drag_get_data (widget, context, target, time);
+ g_signal_handlers_disconnect_by_func (viewer->priv->iter, cb_rstto_picture_viewer_nav_iter_changed, viewer);
+ g_object_unref (viewer->priv->iter);
+ viewer->priv->iter = NULL;
}
- else
+ if (iter)
{
- return FALSE;
+ viewer->priv->iter = iter;
+ g_object_ref (viewer->priv->iter);
+ g_signal_connect (G_OBJECT (viewer->priv->iter), "changed", G_CALLBACK (cb_rstto_picture_viewer_nav_iter_changed), viewer);
}
- return TRUE;
}
-static gboolean
-rstto_picture_viewer_drag_motion (GtkWidget *widget,
- GdkDragContext *context,
- gint x,
- gint y,
- guint time)
+static void
+cb_rstto_picture_viewer_nav_iter_changed (RsttoImageListIter *iter, gpointer user_data)
{
- GdkAtom target;
- target = gtk_drag_dest_find_target (widget, context, NULL);
- if (G_UNLIKELY (target != gdk_atom_intern ("text/uri-list", FALSE)))
- {
- /* we cannot handle the drop */
- g_debug("FAAAAAAAAAAAAAALSE");
- return FALSE;
- }
- return TRUE;
+ RsttoPictureViewer *viewer = RSTTO_PICTURE_VIEWER (user_data);
+ rstto_picture_viewer_set_image (viewer, rstto_image_list_iter_get_image (iter));
+}
+
+static void
+cb_rstto_picture_viewer_bgcolor_changed (GObject *settings, GParamSpec *pspec, gpointer user_data)
+{
+ RsttoPictureViewer *viewer = RSTTO_PICTURE_VIEWER (user_data);
+ rstto_picture_viewer_queued_repaint (viewer, TRUE);
}
diff --git a/src/picture_viewer.h b/src/picture_viewer.h
index 12863b3..dab269c 100644
--- a/src/picture_viewer.h
+++ b/src/picture_viewer.h
@@ -1,4 +1,6 @@
/*
+ * Copyright (c) Stephan Arts 2006-2010 <stephan at xfce.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
@@ -39,13 +41,6 @@ G_BEGIN_DECLS
G_TYPE_CHECK_CLASS_TYPE ((klass), \
RSTTO_TYPE_PICTURE_VIEWER()))
-typedef enum
-{
- RSTTO_ZOOM_MODE_100,
- RSTTO_ZOOM_MODE_FIT,
- RSTTO_ZOOM_MODE_CUSTOM
-} RsttoZoomMode;
-
typedef struct _RsttoPictureViewerPriv RsttoPictureViewerPriv;
typedef struct _RsttoPictureViewer RsttoPictureViewer;
@@ -72,11 +67,20 @@ struct _RsttoPictureViewerClass
GType rstto_picture_viewer_get_type();
-GtkWidget *rstto_picture_viewer_new(RsttoNavigator *navigator);
-void rstto_picture_viewer_set_scale(RsttoPictureViewer *viewer, gdouble scale);
+GtkWidget *rstto_picture_viewer_new ();
+void rstto_picture_viewer_set_iter (RsttoPictureViewer *, RsttoImageListIter *);
gdouble rstto_picture_viewer_get_scale(RsttoPictureViewer *viewer);
+void rstto_picture_viewer_set_scale (RsttoPictureViewer *,gdouble);
+
+void rstto_picture_viewer_zoom_fit (RsttoPictureViewer *viewer);
+void rstto_picture_viewer_zoom_100 (RsttoPictureViewer *viewer);
+void rstto_picture_viewer_zoom_in (RsttoPictureViewer *viewer, gdouble factor);
+void rstto_picture_viewer_zoom_out (RsttoPictureViewer *viewer, gdouble factor);
+
+void rstto_picture_viewer_set_menu (RsttoPictureViewer *viewer, GtkMenu *menu);
+
+/**
gdouble rstto_picture_viewer_fit_scale(RsttoPictureViewer *viewer);
-void rstto_picture_viewer_set_timeout(RsttoPictureViewer *viewer, gboolean timeout);
void rstto_picture_viewer_set_menu (RsttoPictureViewer *viewer, GtkMenu *menu);
void rstto_picture_viewer_set_bg_color (RsttoPictureViewer *viewer, const GdkColor *color);
@@ -84,8 +88,7 @@ const GdkColor *
rstto_picture_viewer_get_bg_color (RsttoPictureViewer *viewer);
void rstto_picture_viewer_redraw (RsttoPictureViewer *viewer);
-void
-rstto_picture_viewer_set_zoom_mode(RsttoPictureViewer *viewer, RsttoZoomMode mode);
+*/
G_END_DECLS
diff --git a/src/preferences_dialog.c b/src/preferences_dialog.c
new file mode 100644
index 0000000..32f4345
--- /dev/null
+++ b/src/preferences_dialog.c
@@ -0,0 +1,755 @@
+/*
+ * Copyright (c) Stephan Arts 2009-2010 <stephan at xfce.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
+ * (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 Library 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 <libxfcegui4/libxfcegui4.h>
+#include <libxfce4util/libxfce4util.h>
+
+#include "settings.h"
+#include "preferences_dialog.h"
+
+#ifndef RSTTO_MIN_CACHE_SIZE
+#define RSTTO_MIN_CACHE_SIZE 16
+#endif
+
+#ifndef RSTTO_DEFAULT_CACHE_SIZE
+#define RSTTO_DEFAULT_CACHE_SIZE 256
+#endif
+
+static void
+rstto_preferences_dialog_init(RsttoPreferencesDialog *);
+static void
+rstto_preferences_dialog_class_init(RsttoPreferencesDialogClass *);
+
+
+static void
+cb_rstto_preferences_dialog_bgcolor_override_toggled (GtkToggleButton *, gpointer);
+static void
+cb_rstto_preferences_dialog_bgcolor_color_set (GtkColorButton *, gpointer);
+static void
+cb_rstto_preferences_dialog_cache_check_button_toggled (GtkToggleButton *, gpointer);
+static void
+cb_rstto_preferences_dialog_cache_preload_check_button_toggled (GtkToggleButton *button,
+ gpointer user_data);
+static void
+cb_rstto_preferences_dialog_cache_spin_button_value_changed (GtkSpinButton *, gpointer);
+static void
+cb_rstto_preferences_dialog_image_quality_combo_box_changed (GtkComboBox *, gpointer);
+static void
+cb_rstto_preferences_dialog_image_preview_toggled (GtkToggleButton *button,
+ gpointer user_data);
+static void
+cb_rstto_preferences_dialog_no_scrollwheel_action_radio_button_toggled (GtkToggleButton *, gpointer);
+static void
+cb_rstto_preferences_dialog_zoom_scrollwheel_action_radio_button_toggled (GtkToggleButton *, gpointer);
+static void
+cb_rstto_preferences_dialog_switch_scrollwheel_action_radio_button_toggled (GtkToggleButton *, gpointer );
+
+static void
+cb_rstto_preferences_dialog_hide_thumbnails_fullscreen_check_button_toggled (
+ GtkToggleButton *button,
+ gpointer user_data);
+
+static void
+cb_rstto_preferences_dialog_open_entire_folder_check_button_toggled (GtkToggleButton *button,
+ gpointer user_data);
+static void
+cb_rstto_preferences_dialog_wrap_images_check_button_toggled (GtkToggleButton *button,
+ gpointer user_data);
+
+static void
+cb_rstto_preferences_dialog_slideshow_timeout_value_changed (GtkRange *, gpointer);
+
+static GtkWidgetClass *parent_class = NULL;
+
+struct _RsttoPreferencesDialogPriv
+{
+ RsttoSettings *settings;
+
+ struct
+ {
+ GtkWidget *bgcolor_frame;
+ GtkWidget *bgcolor_vbox;
+ GtkWidget *bgcolor_hbox;
+ GtkWidget *bgcolor_color_button;
+ GtkWidget *bgcolor_override_check_button;
+
+
+ GtkWidget *image_quality_frame;
+ GtkWidget *image_quality_vbox;
+ GtkWidget *image_quality_hbox;
+ GtkWidget *image_quality_label;
+ GtkWidget *image_quality_combo;
+ GtkWidget *image_preview_check_button;
+ } display_tab;
+
+ struct
+ {
+ GtkWidget *timeout_vbox;
+ GtkWidget *timeout_frame;
+ GtkWidget *thumbnail_vbox;
+ GtkWidget *thumbnail_frame;
+ GtkWidget *hide_thumbnails_fullscreen_lbl;
+ GtkWidget *hide_thumbnails_fullscreen_check_button;
+ } slideshow_tab;
+
+ struct
+ {
+ GtkWidget *scroll_frame;
+ GtkWidget *scroll_vbox;
+ GtkWidget *no_scrollwheel_action_radio_button;
+ GtkWidget *zoom_scrollwheel_action_radio_button;
+ GtkWidget *switch_scrollwheel_action_radio_button;
+
+ } control_tab;
+
+ struct
+ {
+ GtkWidget *scaling_frame;
+ GtkWidget *scaling_vbox;
+ GtkWidget *resize_image_on_maximize;
+
+ GtkWidget *startup_frame;
+ GtkWidget *startup_vbox;
+ GtkWidget *resize_window_on_startup_check_button;
+ GtkWidget *open_entire_folder_check_button;
+ GtkWidget *wrap_images_check_button;
+ } behaviour_tab;
+
+ struct
+ {
+ GtkWidget *cache_frame;
+ GtkWidget *cache_vbox;
+ GtkWidget *cache_sub_vbox;
+ GtkWidget *cache_hbox;
+ GtkWidget *cache_size_label;
+ GtkWidget *cache_size_unit;
+ GtkWidget *cache_check_button;
+ GtkWidget *cache_alignment;
+ GtkWidget *cache_spin_button;
+ GtkWidget *cache_preload_check_button;
+ } cache_tab;
+};
+
+GType
+rstto_preferences_dialog_get_type (void)
+{
+ static GType rstto_preferences_dialog_type = 0;
+
+ if (!rstto_preferences_dialog_type)
+ {
+ static const GTypeInfo rstto_preferences_dialog_info =
+ {
+ sizeof (RsttoPreferencesDialogClass),
+ (GBaseInitFunc) NULL,
+ (GBaseFinalizeFunc) NULL,
+ (GClassInitFunc) rstto_preferences_dialog_class_init,
+ (GClassFinalizeFunc) NULL,
+ NULL,
+ sizeof (RsttoPreferencesDialog),
+ 0,
+ (GInstanceInitFunc) rstto_preferences_dialog_init,
+ NULL
+ };
+
+ rstto_preferences_dialog_type = g_type_register_static (XFCE_TYPE_TITLED_DIALOG, "RsttoPreferencesDialog", &rstto_preferences_dialog_info, 0);
+ }
+ return rstto_preferences_dialog_type;
+}
+
+static void
+rstto_preferences_dialog_init(RsttoPreferencesDialog *dialog)
+{
+ guint uint_image_quality;
+ guint uint_cache_size;
+ gboolean bool_preload_images;
+ gboolean bool_enable_cache;
+ gboolean bool_bgcolor_override;
+ gchar *scrollwheel_primary_action;
+ guint uint_slideshow_timeout;
+ gboolean bool_hide_thumbnailbar_fullscreen;
+ gboolean bool_show_preview;
+ gboolean bool_open_entire_folder;
+ gboolean bool_wrap_images;
+
+ GdkColor *bgcolor;
+ GtkWidget *timeout_lbl, *timeout_hscale;
+ GtkObject *cache_adjustment;
+ GtkWidget *display_main_vbox;
+ GtkWidget *display_main_lbl;
+ GtkWidget *slideshow_main_vbox;
+ GtkWidget *slideshow_main_lbl;
+ GtkWidget *control_main_vbox;
+ GtkWidget *control_main_lbl;
+ GtkWidget *behaviour_main_vbox;
+ GtkWidget *behaviour_main_lbl;
+ GtkWidget *cache_main_vbox;
+ GtkWidget *cache_main_lbl;
+ GtkWidget *notebook = gtk_notebook_new ();
+
+
+ dialog->priv = g_new0 (RsttoPreferencesDialogPriv, 1);
+
+ dialog->priv->settings = rstto_settings_new ();
+ g_object_get (G_OBJECT (dialog->priv->settings),
+ "image-quality", &uint_image_quality,
+ "cache-size", &uint_cache_size,
+ "show-preview", &bool_show_preview,
+ "preload-images", &bool_preload_images,
+ "enable-cache", &bool_enable_cache,
+ "bgcolor-override", &bool_bgcolor_override,
+ "bgcolor", &bgcolor,
+ "scrollwheel-primary-action", &scrollwheel_primary_action,
+ "slideshow-timeout", &uint_slideshow_timeout,
+ "hide-thumbnailbar-fullscreen", &bool_hide_thumbnailbar_fullscreen,
+ "open-entire-folder", &bool_open_entire_folder,
+ "wrap-images", &bool_wrap_images,
+ NULL);
+
+/*****************/
+/** DISPLAY TAB **/
+/*****************/
+ display_main_vbox = gtk_vbox_new(FALSE, 0);
+ display_main_lbl = gtk_label_new(_("Display"));
+ gtk_notebook_append_page(GTK_NOTEBOOK(notebook), display_main_vbox, display_main_lbl);
+
+/** Bg-color frame */
+ dialog->priv->display_tab.bgcolor_vbox = gtk_vbox_new (FALSE, 0);
+ dialog->priv->display_tab.bgcolor_frame = xfce_create_framebox_with_content (_("Background color"),
+ dialog->priv->display_tab.bgcolor_vbox);
+ gtk_box_pack_start (GTK_BOX (display_main_vbox), dialog->priv->display_tab.bgcolor_frame, FALSE, FALSE, 0);
+
+ dialog->priv->display_tab.bgcolor_override_check_button = gtk_check_button_new_with_label (_("Override background color:"));
+ dialog->priv->display_tab.bgcolor_hbox = gtk_hbox_new (FALSE, 4);
+ dialog->priv->display_tab.bgcolor_color_button = gtk_color_button_new();
+
+ gtk_box_pack_start (GTK_BOX (dialog->priv->display_tab.bgcolor_hbox),
+ dialog->priv->display_tab.bgcolor_override_check_button, FALSE, FALSE, 0);
+ gtk_box_pack_start (GTK_BOX (dialog->priv->display_tab.bgcolor_hbox),
+ dialog->priv->display_tab.bgcolor_color_button, FALSE, FALSE, 0);
+ gtk_box_pack_start (GTK_BOX (dialog->priv->display_tab.bgcolor_vbox),
+ dialog->priv->display_tab.bgcolor_hbox, FALSE, FALSE, 0);
+
+ /* set current value */
+ gtk_color_button_set_color (GTK_COLOR_BUTTON (dialog->priv->display_tab.bgcolor_color_button),
+ bgcolor);
+
+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (dialog->priv->display_tab.bgcolor_override_check_button),
+ bool_bgcolor_override);
+ gtk_widget_set_sensitive (GTK_WIDGET (dialog->priv->display_tab.bgcolor_color_button),
+ bool_bgcolor_override);
+
+ /* connect signals */
+ g_signal_connect (G_OBJECT (dialog->priv->display_tab.bgcolor_override_check_button),
+ "toggled", (GCallback)cb_rstto_preferences_dialog_bgcolor_override_toggled, dialog);
+ g_signal_connect (G_OBJECT (dialog->priv->display_tab.bgcolor_color_button),
+ "color-set", G_CALLBACK (cb_rstto_preferences_dialog_bgcolor_color_set), dialog);
+
+/** Image-quality frame */
+ dialog->priv->display_tab.image_quality_vbox = gtk_vbox_new(FALSE, 0);
+ dialog->priv->display_tab.image_quality_frame = xfce_create_framebox_with_content (_("Quality"),
+ dialog->priv->display_tab.image_quality_vbox);
+ gtk_box_pack_start (GTK_BOX (display_main_vbox), dialog->priv->display_tab.image_quality_frame, FALSE, FALSE, 0);
+
+ dialog->priv->display_tab.image_quality_label = gtk_label_new (_("Maximum render quality:"));
+ dialog->priv->display_tab.image_quality_hbox= gtk_hbox_new (FALSE, 4);
+ dialog->priv->display_tab.image_quality_combo= gtk_combo_box_new_text ();
+ dialog->priv->display_tab.image_preview_check_button = gtk_check_button_new_with_label (_("Show preview when loading image"));
+
+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (dialog->priv->display_tab.image_preview_check_button),
+ bool_show_preview);
+ g_signal_connect (G_OBJECT (dialog->priv->display_tab.image_preview_check_button),
+ "toggled", (GCallback)cb_rstto_preferences_dialog_image_preview_toggled, dialog);
+
+ gtk_combo_box_append_text (GTK_COMBO_BOX (dialog->priv->display_tab.image_quality_combo), _("Best"));
+ gtk_combo_box_append_text (GTK_COMBO_BOX (dialog->priv->display_tab.image_quality_combo), _("High"));
+ gtk_combo_box_append_text (GTK_COMBO_BOX (dialog->priv->display_tab.image_quality_combo), _("Medium"));
+ gtk_combo_box_append_text (GTK_COMBO_BOX (dialog->priv->display_tab.image_quality_combo), _("Low"));
+
+ gtk_box_pack_start (GTK_BOX (dialog->priv->display_tab.image_quality_vbox),
+ dialog->priv->display_tab.image_quality_hbox, FALSE, FALSE, 0);
+ gtk_box_pack_start (GTK_BOX (dialog->priv->display_tab.image_quality_vbox),
+ dialog->priv->display_tab.image_preview_check_button, FALSE, FALSE, 0);
+
+ gtk_box_pack_start (GTK_BOX (dialog->priv->display_tab.image_quality_hbox),
+ dialog->priv->display_tab.image_quality_label, FALSE, FALSE, 0);
+ gtk_box_pack_start (GTK_BOX (dialog->priv->display_tab.image_quality_hbox),
+ dialog->priv->display_tab.image_quality_combo, FALSE, FALSE, 0);
+ /* set current value */
+ switch (uint_image_quality-(uint_image_quality%1000000))
+ {
+ case 0:
+ gtk_combo_box_set_active (GTK_COMBO_BOX (dialog->priv->display_tab.image_quality_combo), 0);
+ break;
+ case 8000000:
+ gtk_combo_box_set_active (GTK_COMBO_BOX (dialog->priv->display_tab.image_quality_combo), 1);
+ break;
+ case 4000000:
+ gtk_combo_box_set_active (GTK_COMBO_BOX (dialog->priv->display_tab.image_quality_combo), 2);
+ break;
+ case 2000000:
+ gtk_combo_box_set_active (GTK_COMBO_BOX (dialog->priv->display_tab.image_quality_combo), 3);
+ break;
+ default:
+ gtk_combo_box_set_active (GTK_COMBO_BOX (dialog->priv->display_tab.image_quality_combo), 2);
+ break;
+ }
+
+ /* connect signals */
+ g_signal_connect (G_OBJECT (dialog->priv->display_tab.image_quality_combo),
+ "changed", (GCallback)cb_rstto_preferences_dialog_image_quality_combo_box_changed, dialog);
+
+
+/*******************/
+/** Slideshow tab **/
+/*******************/
+ slideshow_main_vbox = gtk_vbox_new(FALSE, 0);
+ slideshow_main_lbl = gtk_label_new(_("Slideshow"));
+ gtk_notebook_append_page(GTK_NOTEBOOK(notebook), slideshow_main_vbox, slideshow_main_lbl);
+
+ dialog->priv->slideshow_tab.timeout_vbox = gtk_vbox_new(FALSE, 0);
+ dialog->priv->slideshow_tab.timeout_frame = xfce_create_framebox_with_content (_("Timeout"), dialog->priv->slideshow_tab.timeout_vbox);
+ gtk_box_pack_start (GTK_BOX (slideshow_main_vbox), dialog->priv->slideshow_tab.timeout_frame, FALSE, FALSE, 0);
+
+ timeout_lbl = gtk_label_new(_("The time period an individual image is displayed during a slideshow\n(in seconds)"));
+ timeout_hscale = gtk_hscale_new_with_range(1, 60, 1);
+ gtk_misc_set_alignment(GTK_MISC(timeout_lbl), 0, 0.5);
+ gtk_misc_set_padding(GTK_MISC(timeout_lbl), 2, 2);
+
+ gtk_box_pack_start(GTK_BOX(dialog->priv->slideshow_tab.timeout_vbox), timeout_lbl, TRUE, TRUE, 0);
+ gtk_box_pack_start(GTK_BOX(dialog->priv->slideshow_tab.timeout_vbox), timeout_hscale, FALSE, TRUE, 0);
+
+
+ gtk_range_set_value (GTK_RANGE (timeout_hscale), (gdouble)uint_slideshow_timeout);
+ g_signal_connect (G_OBJECT (timeout_hscale),
+ "value-changed", (GCallback)cb_rstto_preferences_dialog_slideshow_timeout_value_changed, dialog);
+
+
+ dialog->priv->slideshow_tab.thumbnail_vbox = gtk_vbox_new(FALSE, 0);
+ dialog->priv->slideshow_tab.thumbnail_frame = xfce_create_framebox_with_content (_("Thumbnails"), dialog->priv->slideshow_tab.thumbnail_vbox);
+ gtk_box_pack_start (GTK_BOX (slideshow_main_vbox), dialog->priv->slideshow_tab.thumbnail_frame, FALSE, FALSE, 0);
+
+ dialog->priv->slideshow_tab.hide_thumbnails_fullscreen_lbl = gtk_label_new(_("The thumbnailbar can be automatically hidden \nwhen the image-viewer is fullscreen."));
+ gtk_misc_set_alignment(GTK_MISC(dialog->priv->slideshow_tab.hide_thumbnails_fullscreen_lbl), 0, 0.5);
+ dialog->priv->slideshow_tab.hide_thumbnails_fullscreen_check_button = gtk_check_button_new_with_label (_("Hide thumbnailbar when fullscreen"));
+ gtk_box_pack_start (GTK_BOX (dialog->priv->slideshow_tab.thumbnail_vbox), dialog->priv->slideshow_tab.hide_thumbnails_fullscreen_lbl, FALSE, FALSE, 0);
+ gtk_box_pack_start (GTK_BOX (dialog->priv->slideshow_tab.thumbnail_vbox), dialog->priv->slideshow_tab.hide_thumbnails_fullscreen_check_button, FALSE, FALSE, 0);
+
+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (dialog->priv->slideshow_tab.hide_thumbnails_fullscreen_check_button),
+ bool_hide_thumbnailbar_fullscreen);
+
+ g_signal_connect (G_OBJECT (dialog->priv->slideshow_tab.hide_thumbnails_fullscreen_check_button),
+ "toggled", (GCallback)cb_rstto_preferences_dialog_hide_thumbnails_fullscreen_check_button_toggled, dialog);
+
+
+/********************************************/
+ control_main_vbox = gtk_vbox_new(FALSE, 0);
+ control_main_lbl = gtk_label_new(_("Control"));
+ gtk_notebook_append_page(GTK_NOTEBOOK(notebook), control_main_vbox, control_main_lbl);
+
+ dialog->priv->control_tab.scroll_vbox = gtk_vbox_new(FALSE, 0);
+ dialog->priv->control_tab.scroll_frame = xfce_create_framebox_with_content (_("Scrollwheel"), dialog->priv->control_tab.scroll_vbox);
+ gtk_box_pack_start (GTK_BOX (control_main_vbox), dialog->priv->control_tab.scroll_frame, FALSE, FALSE, 0);
+
+ dialog->priv->control_tab.no_scrollwheel_action_radio_button = gtk_radio_button_new_with_label (NULL, _("No action"));
+ gtk_container_add (GTK_CONTAINER (dialog->priv->control_tab.scroll_vbox), dialog->priv->control_tab.no_scrollwheel_action_radio_button);
+
+
+ dialog->priv->control_tab.zoom_scrollwheel_action_radio_button = gtk_radio_button_new_with_label_from_widget (GTK_RADIO_BUTTON (dialog->priv->control_tab.no_scrollwheel_action_radio_button), _("Zoom in and out"));
+ gtk_container_add (GTK_CONTAINER (dialog->priv->control_tab.scroll_vbox), dialog->priv->control_tab.zoom_scrollwheel_action_radio_button);
+
+ dialog->priv->control_tab.switch_scrollwheel_action_radio_button = gtk_radio_button_new_with_label_from_widget (GTK_RADIO_BUTTON (dialog->priv->control_tab.no_scrollwheel_action_radio_button), _("Switch images"));
+ gtk_container_add (GTK_CONTAINER (dialog->priv->control_tab.scroll_vbox), dialog->priv->control_tab.switch_scrollwheel_action_radio_button);
+
+ if (scrollwheel_primary_action)
+ {
+ if (!strcmp (scrollwheel_primary_action, "zoom"))
+ {
+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (dialog->priv->control_tab.zoom_scrollwheel_action_radio_button), TRUE);
+ }
+ else if (!strcmp (scrollwheel_primary_action, "switch"))
+ {
+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (dialog->priv->control_tab.switch_scrollwheel_action_radio_button), TRUE);
+ }
+ else
+ {
+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (dialog->priv->control_tab.no_scrollwheel_action_radio_button), TRUE);
+ }
+ }
+ else
+ {
+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (dialog->priv->control_tab.no_scrollwheel_action_radio_button), TRUE);
+ }
+
+
+ g_signal_connect (G_OBJECT (dialog->priv->control_tab.no_scrollwheel_action_radio_button),
+ "toggled", (GCallback)cb_rstto_preferences_dialog_no_scrollwheel_action_radio_button_toggled, dialog);
+ g_signal_connect (G_OBJECT (dialog->priv->control_tab.zoom_scrollwheel_action_radio_button),
+ "toggled", (GCallback)cb_rstto_preferences_dialog_zoom_scrollwheel_action_radio_button_toggled, dialog);
+ g_signal_connect (G_OBJECT (dialog->priv->control_tab.switch_scrollwheel_action_radio_button),
+ "toggled", (GCallback)cb_rstto_preferences_dialog_switch_scrollwheel_action_radio_button_toggled, dialog);
+/*******************/
+/** Behaviour tab **/
+/*******************/
+ behaviour_main_vbox = gtk_vbox_new(FALSE, 0);
+ behaviour_main_lbl = gtk_label_new(_("Behaviour"));
+ gtk_notebook_append_page(GTK_NOTEBOOK(notebook), behaviour_main_vbox, behaviour_main_lbl);
+
+ /********************************************/
+ dialog->priv->behaviour_tab.scaling_vbox = gtk_vbox_new(FALSE, 0);
+ dialog->priv->behaviour_tab.scaling_frame = xfce_create_framebox_with_content (_("Scaling"), dialog->priv->behaviour_tab.scaling_vbox);
+ gtk_box_pack_start (GTK_BOX (behaviour_main_vbox), dialog->priv->behaviour_tab.scaling_frame, FALSE, FALSE, 0);
+ /* not used */
+ gtk_widget_set_sensitive (dialog->priv->behaviour_tab.scaling_vbox, FALSE);
+
+ dialog->priv->behaviour_tab.resize_image_on_maximize = gtk_check_button_new_with_label (_("Don't scale over 100% when maximizing the window."));
+ gtk_container_add (GTK_CONTAINER (dialog->priv->behaviour_tab.scaling_vbox), dialog->priv->behaviour_tab.resize_image_on_maximize);
+
+ dialog->priv->behaviour_tab.startup_vbox = gtk_vbox_new(FALSE, 0);
+ dialog->priv->behaviour_tab.startup_frame = xfce_create_framebox_with_content (_("Startup"), dialog->priv->behaviour_tab.startup_vbox);
+ gtk_box_pack_start (GTK_BOX (behaviour_main_vbox), dialog->priv->behaviour_tab.startup_frame, FALSE, FALSE, 0);
+ dialog->priv->behaviour_tab.resize_window_on_startup_check_button = gtk_check_button_new_with_label (_("Resize window to image on startup"));
+ gtk_container_add (GTK_CONTAINER (dialog->priv->behaviour_tab.startup_vbox), dialog->priv->behaviour_tab.resize_window_on_startup_check_button);
+ gtk_widget_set_sensitive (dialog->priv->behaviour_tab.resize_window_on_startup_check_button, FALSE);
+
+ dialog->priv->behaviour_tab.open_entire_folder_check_button = gtk_check_button_new_with_label (_("Open entire folder on startup"));
+ gtk_container_add (GTK_CONTAINER (dialog->priv->behaviour_tab.startup_vbox), dialog->priv->behaviour_tab.open_entire_folder_check_button);
+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (dialog->priv->behaviour_tab.open_entire_folder_check_button),
+ bool_open_entire_folder);
+
+ dialog->priv->behaviour_tab.wrap_images_check_button = gtk_check_button_new_with_label (_("Wrap around images"));
+ gtk_container_add (GTK_CONTAINER (dialog->priv->behaviour_tab.startup_vbox), dialog->priv->behaviour_tab.wrap_images_check_button);
+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (dialog->priv->behaviour_tab.wrap_images_check_button),
+ bool_wrap_images);
+
+ g_signal_connect (G_OBJECT (dialog->priv->behaviour_tab.open_entire_folder_check_button),
+ "toggled", (GCallback)cb_rstto_preferences_dialog_open_entire_folder_check_button_toggled, dialog);
+ g_signal_connect (G_OBJECT (dialog->priv->behaviour_tab.wrap_images_check_button),
+ "toggled", (GCallback)cb_rstto_preferences_dialog_wrap_images_check_button_toggled, dialog);
+
+
+
+/***************/
+/** Cache tab **/
+/***************/
+ cache_main_vbox = gtk_vbox_new(FALSE, 0);
+ cache_main_lbl = gtk_label_new(_("Memory"));
+ gtk_notebook_append_page(GTK_NOTEBOOK(notebook), cache_main_vbox, cache_main_lbl);
+
+
+/** Image-cache frame */
+ dialog->priv->cache_tab.cache_vbox = gtk_vbox_new(FALSE, 0);
+ dialog->priv->cache_tab.cache_frame = xfce_create_framebox_with_content (_("Image cache"),
+ dialog->priv->cache_tab.cache_vbox);
+ gtk_box_pack_start (GTK_BOX (cache_main_vbox), dialog->priv->cache_tab.cache_frame, FALSE, FALSE, 0);
+
+ cache_adjustment = gtk_adjustment_new (RSTTO_DEFAULT_CACHE_SIZE, RSTTO_MIN_CACHE_SIZE, 4096, 1, 0, 0);
+
+ dialog->priv->cache_tab.cache_size_label = gtk_label_new (_("Cache size"));
+ dialog->priv->cache_tab.cache_size_unit = gtk_label_new (_("MB"));
+ dialog->priv->cache_tab.cache_hbox = gtk_hbox_new (FALSE, 4);
+ dialog->priv->cache_tab.cache_sub_vbox = gtk_vbox_new (FALSE, 4);
+ dialog->priv->cache_tab.cache_check_button = gtk_check_button_new_with_label (_("Enable cache"));
+ dialog->priv->cache_tab.cache_alignment = gtk_alignment_new (0, 0, 1, 1);
+ gtk_alignment_set_padding (GTK_ALIGNMENT (dialog->priv->cache_tab.cache_alignment), 0, 0, 20, 0);
+ dialog->priv->cache_tab.cache_spin_button = gtk_spin_button_new(GTK_ADJUSTMENT(cache_adjustment), 1.0, 0);
+
+ dialog->priv->cache_tab.cache_preload_check_button = gtk_check_button_new_with_label (_("Enable preloading"));
+
+ gtk_box_pack_start (GTK_BOX (dialog->priv->cache_tab.cache_hbox),
+ dialog->priv->cache_tab.cache_size_label, FALSE, FALSE, 0);
+ gtk_box_pack_start (GTK_BOX (dialog->priv->cache_tab.cache_hbox),
+ dialog->priv->cache_tab.cache_spin_button, FALSE, FALSE, 0);
+ gtk_box_pack_start (GTK_BOX (dialog->priv->cache_tab.cache_hbox),
+ dialog->priv->cache_tab.cache_size_unit, FALSE, FALSE, 0);
+
+ gtk_box_pack_start (GTK_BOX (dialog->priv->cache_tab.cache_vbox),
+ dialog->priv->cache_tab.cache_check_button, FALSE, FALSE, 0);
+ gtk_box_pack_start (GTK_BOX (dialog->priv->cache_tab.cache_vbox),
+ dialog->priv->cache_tab.cache_alignment, FALSE, FALSE, 0);
+ gtk_container_add (GTK_CONTAINER (dialog->priv->cache_tab.cache_alignment),
+ dialog->priv->cache_tab.cache_sub_vbox);
+
+ gtk_box_pack_start (GTK_BOX (dialog->priv->cache_tab.cache_sub_vbox),
+ dialog->priv->cache_tab.cache_hbox, FALSE, FALSE, 0);
+ gtk_box_pack_start (GTK_BOX (dialog->priv->cache_tab.cache_sub_vbox),
+ dialog->priv->cache_tab.cache_preload_check_button, FALSE, FALSE, 0);
+
+ /* set current value */
+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (dialog->priv->cache_tab.cache_check_button),
+ bool_enable_cache);
+ gtk_widget_set_sensitive (GTK_WIDGET (dialog->priv->cache_tab.cache_sub_vbox),
+ bool_enable_cache);
+
+ if (uint_cache_size < RSTTO_MIN_CACHE_SIZE)
+ {
+ gtk_adjustment_set_value (GTK_ADJUSTMENT (cache_adjustment), RSTTO_DEFAULT_CACHE_SIZE);
+ }
+ else
+ {
+ gtk_adjustment_set_value (GTK_ADJUSTMENT (cache_adjustment), uint_cache_size);
+ }
+
+ /* connect signals */
+ g_signal_connect (G_OBJECT (dialog->priv->cache_tab.cache_check_button),
+ "toggled", (GCallback)cb_rstto_preferences_dialog_cache_check_button_toggled, dialog);
+ g_signal_connect (G_OBJECT (dialog->priv->cache_tab.cache_check_button),
+ "toggled", (GCallback)cb_rstto_preferences_dialog_cache_preload_check_button_toggled, dialog);
+ g_signal_connect (G_OBJECT (dialog->priv->cache_tab.cache_spin_button),
+ "value-changed", (GCallback)cb_rstto_preferences_dialog_cache_spin_button_value_changed, dialog);
+
+/********************************************/
+ gtk_container_add (GTK_CONTAINER (GTK_DIALOG (dialog)->vbox), notebook);
+ gtk_widget_show_all (notebook);
+
+ gtk_dialog_add_button (GTK_DIALOG (dialog), GTK_STOCK_CLOSE, GTK_RESPONSE_OK);
+}
+
+static void
+rstto_preferences_dialog_class_init(RsttoPreferencesDialogClass *dialog_class)
+{
+ parent_class = g_type_class_peek_parent (dialog_class);
+}
+
+GtkWidget *
+rstto_preferences_dialog_new (GtkWindow *parent)
+{
+ GtkWidget *dialog = g_object_new (RSTTO_TYPE_PREFERENCES_DIALOG,
+ "title", _("Preferences"),
+ "icon-name", GTK_STOCK_PREFERENCES,
+ NULL);
+ gtk_window_set_transient_for (GTK_WINDOW (dialog), parent);
+
+ return dialog;
+}
+
+
+static void
+cb_rstto_preferences_dialog_bgcolor_override_toggled (GtkToggleButton *button,
+ gpointer user_data)
+{
+ RsttoPreferencesDialog *dialog = RSTTO_PREFERENCES_DIALOG (user_data);
+
+ GValue bgcolor_override_val = {0, };
+ g_value_init (&bgcolor_override_val, G_TYPE_BOOLEAN);
+
+ if (gtk_toggle_button_get_active (button))
+ {
+ g_value_set_boolean (&bgcolor_override_val, TRUE);
+ gtk_widget_set_sensitive (dialog->priv->display_tab.bgcolor_color_button, TRUE);
+ }
+ else
+ {
+ g_value_set_boolean (&bgcolor_override_val, FALSE);
+ gtk_widget_set_sensitive (dialog->priv->display_tab.bgcolor_color_button, FALSE);
+ }
+
+ g_object_set_property (G_OBJECT (dialog->priv->settings), "bgcolor-override", &bgcolor_override_val);
+
+}
+
+static void
+cb_rstto_preferences_dialog_bgcolor_color_set (GtkColorButton *button, gpointer user_data)
+{
+ RsttoPreferencesDialog *dialog = RSTTO_PREFERENCES_DIALOG (user_data);
+ GValue bgcolor_val = {0, };
+ g_value_init (&bgcolor_val, GDK_TYPE_COLOR);
+
+ g_object_get_property (G_OBJECT(button), "color", &bgcolor_val);
+ g_object_set_property (G_OBJECT(dialog->priv->settings), "bgcolor", &bgcolor_val);
+
+}
+
+static void
+cb_rstto_preferences_dialog_cache_check_button_toggled (GtkToggleButton *button,
+ gpointer user_data)
+{
+ RsttoPreferencesDialog *dialog = RSTTO_PREFERENCES_DIALOG (user_data);
+
+ GValue value = {0, };
+ g_value_init (&value, G_TYPE_BOOLEAN);
+
+ if (gtk_toggle_button_get_active (button))
+ {
+ g_value_set_boolean (&value, TRUE);
+ gtk_widget_set_sensitive (GTK_WIDGET (dialog->priv->cache_tab.cache_sub_vbox), TRUE);
+ }
+ else
+ {
+ g_value_set_boolean (&value, FALSE);
+ gtk_widget_set_sensitive (GTK_WIDGET (dialog->priv->cache_tab.cache_sub_vbox), FALSE);
+ }
+
+ g_object_set_property (G_OBJECT (dialog->priv->settings), "enable-cache", &value);
+
+ g_value_unset (&value);
+
+}
+
+static void
+cb_rstto_preferences_dialog_cache_preload_check_button_toggled (GtkToggleButton *button,
+ gpointer user_data)
+{
+ RsttoPreferencesDialog *dialog = RSTTO_PREFERENCES_DIALOG (user_data);
+
+ GValue value = {0, };
+ g_value_init (&value, G_TYPE_BOOLEAN);
+ if (gtk_toggle_button_get_active (button))
+ {
+ g_value_set_boolean (&value, TRUE);
+ }
+ else
+ {
+ g_value_set_boolean (&value, FALSE);
+ }
+
+ g_object_set_property (G_OBJECT (dialog->priv->settings), "preload-images", &value);
+
+ g_value_unset (&value);
+}
+
+static void
+cb_rstto_preferences_dialog_cache_spin_button_value_changed (GtkSpinButton *button,
+ gpointer user_data)
+{
+ RsttoPreferencesDialog *dialog = RSTTO_PREFERENCES_DIALOG (user_data);
+
+ GValue value = {0, };
+ g_value_init (&value, G_TYPE_UINT);
+
+ g_value_set_uint (&value, (guint)gtk_spin_button_get_value (button));
+
+ g_object_set_property (G_OBJECT (dialog->priv->settings), "cache-size", &value);
+
+ g_value_unset (&value);
+}
+
+static void
+cb_rstto_preferences_dialog_image_quality_combo_box_changed (GtkComboBox *combo_box,
+ gpointer user_data)
+
+{
+ /* FIXME */
+ RsttoPreferencesDialog *dialog = RSTTO_PREFERENCES_DIALOG (user_data);
+ switch (gtk_combo_box_get_active (combo_box))
+ {
+ case 0: /* unlimited */
+ g_object_set (G_OBJECT (dialog->priv->settings),
+ "image-quality", 0,
+ NULL);
+ break;
+ case 1: /* 1 MegaPixel */
+ g_object_set (G_OBJECT (dialog->priv->settings),
+ "image-quality", 8000000,
+ NULL);
+ break;
+ case 2: /* 2 MegaPixel */
+ g_object_set (G_OBJECT (dialog->priv->settings),
+ "image-quality", 4000000,
+ NULL);
+ break;
+ case 3: /* 4 MegaPixel */
+ g_object_set (G_OBJECT (dialog->priv->settings),
+ "image-quality", 2000000,
+ NULL);
+ break;
+ }
+}
+
+static void
+cb_rstto_preferences_dialog_image_preview_toggled (GtkToggleButton *button,
+ gpointer user_data)
+{
+ RsttoPreferencesDialog *dialog = RSTTO_PREFERENCES_DIALOG (user_data);
+
+ rstto_settings_set_boolean_property (dialog->priv->settings, "show-preview", gtk_toggle_button_get_active (button));
+}
+
+static void
+cb_rstto_preferences_dialog_no_scrollwheel_action_radio_button_toggled (GtkToggleButton *button,
+ gpointer user_data)
+{
+ RsttoPreferencesDialog *dialog = RSTTO_PREFERENCES_DIALOG (user_data);
+
+ if (gtk_toggle_button_get_active (button))
+ {
+ rstto_settings_set_string_property (dialog->priv->settings, "scrollwheel-primary-action", "none");
+ }
+}
+
+static void
+cb_rstto_preferences_dialog_zoom_scrollwheel_action_radio_button_toggled (GtkToggleButton *button,
+ gpointer user_data)
+{
+ RsttoPreferencesDialog *dialog = RSTTO_PREFERENCES_DIALOG (user_data);
+
+ if (gtk_toggle_button_get_active (button))
+ {
+ rstto_settings_set_string_property (dialog->priv->settings, "scrollwheel-primary-action", "zoom");
+ }
+}
+
+static void
+cb_rstto_preferences_dialog_switch_scrollwheel_action_radio_button_toggled (GtkToggleButton *button,
+ gpointer user_data)
+{
+ RsttoPreferencesDialog *dialog = RSTTO_PREFERENCES_DIALOG (user_data);
+
+ if (gtk_toggle_button_get_active (button))
+ {
+ rstto_settings_set_string_property (dialog->priv->settings, "scrollwheel-primary-action", "switch");
+ }
+}
+
+static void
+cb_rstto_preferences_dialog_slideshow_timeout_value_changed (GtkRange *range, gpointer user_data)
+{
+ RsttoPreferencesDialog *dialog = RSTTO_PREFERENCES_DIALOG (user_data);
+
+ rstto_settings_set_uint_property (dialog->priv->settings, "slideshow-timeout", (guint)gtk_range_get_value (range));
+
+}
+
+static void
+cb_rstto_preferences_dialog_hide_thumbnails_fullscreen_check_button_toggled (
+ GtkToggleButton *button,
+ gpointer user_data)
+{
+ RsttoPreferencesDialog *dialog = RSTTO_PREFERENCES_DIALOG (user_data);
+
+ rstto_settings_set_boolean_property (dialog->priv->settings, "hide-thumbnailbar-fullscreen", gtk_toggle_button_get_active(button));
+}
+
+static void
+cb_rstto_preferences_dialog_open_entire_folder_check_button_toggled (GtkToggleButton *button,
+ gpointer user_data)
+{
+ RsttoPreferencesDialog *dialog = RSTTO_PREFERENCES_DIALOG (user_data);
+
+ rstto_settings_set_boolean_property (dialog->priv->settings, "open-entire-folder", gtk_toggle_button_get_active(button));
+}
+
+static void
+cb_rstto_preferences_dialog_wrap_images_check_button_toggled (GtkToggleButton *button,
+ gpointer user_data)
+{
+ RsttoPreferencesDialog *dialog = RSTTO_PREFERENCES_DIALOG (user_data);
+
+ rstto_settings_set_boolean_property (dialog->priv->settings, "wrap-images", gtk_toggle_button_get_active(button));
+}
diff --git a/src/preferences_dialog.h b/src/preferences_dialog.h
new file mode 100644
index 0000000..34c663f
--- /dev/null
+++ b/src/preferences_dialog.h
@@ -0,0 +1,68 @@
+/*
+ * Copyright (c) Stephan Arts 2009-2010 <stephan at xfce.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
+ * (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 Library 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 __RISTRETTO_PREFERENCES_DIALOG_H__
+#define __RISTRETTO_PREFERENCES_DIALOG_H__
+
+G_BEGIN_DECLS
+
+#define RSTTO_TYPE_PREFERENCES_DIALOG rstto_preferences_dialog_get_type()
+
+#define RSTTO_PREFERENCES_DIALOG(obj)( \
+ G_TYPE_CHECK_INSTANCE_CAST ((obj), \
+ RSTTO_TYPE_PREFERENCES_DIALOG, \
+ RsttoPreferencesDialog))
+
+#define RSTTO_IS_PREFERENCES_DIALOG(obj)( \
+ G_TYPE_CHECK_INSTANCE_TYPE ((obj), \
+ RSTTO_TYPE_PREFERENCES_DIALOG))
+
+#define RSTTO_PREFERENCES_DIALOG_CLASS(klass)( \
+ G_TYPE_CHECK_CLASS_CAST ((klass), \
+ RSTTO_TYPE_PREFERENCES_DIALOG, \
+ RsttoPreferencesDialogClass))
+
+#define RSTTO_IS_PREFERENCES_DIALOG_CLASS(klass)( \
+ G_TYPE_CHECK_CLASS_TYPE ((klass), \
+ RSTTO_TYPE_PREFERENCES_DIALOG()))
+
+typedef struct _RsttoPreferencesDialog RsttoPreferencesDialog;
+
+typedef struct _RsttoPreferencesDialogPriv RsttoPreferencesDialogPriv;
+
+struct _RsttoPreferencesDialog
+{
+ XfceTitledDialog parent;
+ RsttoPreferencesDialogPriv *priv;
+};
+
+typedef struct _RsttoPreferencesDialogClass RsttoPreferencesDialogClass;
+
+struct _RsttoPreferencesDialogClass
+{
+ XfceTitledDialogClass parent_class;
+};
+
+GType rstto_preferences_dialog_get_type();
+
+GtkWidget *
+rstto_preferences_dialog_new (GtkWindow *parent);
+
+G_END_DECLS
+
+#endif /* __RISTRETTO_PREFERENCES_DIALOG_H__ */
diff --git a/src/save_dialog.c b/src/save_dialog.c
deleted file mode 100644
index a74910f..0000000
--- a/src/save_dialog.c
+++ /dev/null
@@ -1,195 +0,0 @@
-/*
- * Copyright (C) Stephan Arts 2008 <stephan at xfce.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
- * (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 Library 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 <thunar-vfs/thunar-vfs.h>
-
-#include <libexif/exif-data.h>
-
-#include "navigator.h"
-#include "save_dialog.h"
-
-static void
-cb_rstto_save_row_toggled (GtkCellRendererToggle *cell, gchar *path, gpointer user_data);
-
-static void
-rstto_save_dialog_init(RsttoSaveDialog *);
-static void
-rstto_save_dialog_class_init(RsttoSaveDialogClass *);
-
-static GtkWidgetClass *parent_class = NULL;
-
-GType
-rstto_save_dialog_get_type ()
-{
- static GType rstto_save_dialog_type = 0;
-
- if (!rstto_save_dialog_type)
- {
- static const GTypeInfo rstto_save_dialog_info =
- {
- sizeof (RsttoSaveDialogClass),
- (GBaseInitFunc) NULL,
- (GBaseFinalizeFunc) NULL,
- (GClassInitFunc) rstto_save_dialog_class_init,
- (GClassFinalizeFunc) NULL,
- NULL,
- sizeof (RsttoSaveDialog),
- 0,
- (GInstanceInitFunc) rstto_save_dialog_init,
- NULL
- };
-
- rstto_save_dialog_type = g_type_register_static (GTK_TYPE_DIALOG, "RsttoSaveDialog", &rstto_save_dialog_info, 0);
- }
- return rstto_save_dialog_type;
-}
-
-static void
-rstto_save_dialog_init(RsttoSaveDialog *dialog)
-{
- GtkTreeViewColumn *column = NULL;
- GtkCellRenderer *renderer;
- GtkListStore *store;
- GtkWidget *treeview, *s_window;
-
- store = gtk_list_store_new (4, GDK_TYPE_PIXBUF, G_TYPE_STRING, G_TYPE_BOOLEAN, G_TYPE_BOOLEAN);
- treeview = gtk_tree_view_new_with_model (GTK_TREE_MODEL(store));
-
- renderer = gtk_cell_renderer_pixbuf_new();
- column = gtk_tree_view_column_new_with_attributes ( "", renderer, "pixbuf", 0, NULL);
- gtk_tree_view_insert_column (GTK_TREE_VIEW(treeview), column, -1);
-
- renderer = gtk_cell_renderer_text_new();
- g_object_set (renderer, "ellipsize", PANGO_ELLIPSIZE_MIDDLE, NULL);
- column = gtk_tree_view_column_new_with_attributes ( _("Filename"), renderer, "text", 1, NULL);
- gtk_tree_view_column_set_expand (column, TRUE);
- gtk_tree_view_insert_column (GTK_TREE_VIEW(treeview), column, -1);
-
- renderer = gtk_cell_renderer_toggle_new();
- g_object_set (renderer, "mode", GTK_CELL_RENDERER_MODE_ACTIVATABLE, NULL);
- g_signal_connect (renderer, "toggled", (GCallback)cb_rstto_save_row_toggled, store);
-
- column = gtk_tree_view_column_new_with_attributes ( _("Save"), renderer, "active", 2, NULL);
- gtk_tree_view_insert_column (GTK_TREE_VIEW(treeview), column, -1);
-
- s_window = gtk_scrolled_window_new (NULL, NULL);
- gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (s_window), GTK_POLICY_NEVER, GTK_POLICY_ALWAYS);
- gtk_scrolled_window_add_with_viewport (GTK_SCROLLED_WINDOW (s_window), treeview);
-
- gtk_container_add (GTK_CONTAINER(GTK_DIALOG(dialog)->vbox), s_window);
- gtk_widget_show_all (s_window);
-
-
- gtk_dialog_add_buttons (GTK_DIALOG (dialog),
- GTK_STOCK_CANCEL,
- GTK_RESPONSE_CANCEL,
- GTK_STOCK_SAVE,
- GTK_RESPONSE_OK,
- NULL);
-}
-
-static void
-rstto_save_dialog_class_init(RsttoSaveDialogClass *dialog_class)
-{
- GObjectClass *object_class = (GObjectClass*)dialog_class;
- parent_class = g_type_class_peek_parent(dialog_class);
-}
-
-GtkWidget *
-rstto_save_dialog_new (GtkWindow *parent, GList *entries)
-{
- GtkWidget *dialog = g_object_new (RSTTO_TYPE_SAVE_DIALOG, NULL);
- gtk_window_set_transient_for (GTK_WINDOW (dialog), parent);
-
- return dialog;
-}
-
-
-/*
-GtkWidget *
-rstto_save_dialog_new (GtkWindow *parent, GList *entries)
-{
- GtkTreeIter iter;
- GtkTreeViewColumn *column = NULL;
- GList *list_iter = entries;
- GtkCellRenderer *renderer;
- GtkListStore *store;
- GtkWidget *treeview, *s_window;
- GtkWidget *dialog = gtk_dialog_new_with_buttons (
- _("Save images"),
- parent,
- GTK_DIALOG_DESTROY_WITH_PARENT,
- GTK_STOCK_CANCEL,
- GTK_RESPONSE_CANCEL,
- GTK_STOCK_SAVE,
- GTK_RESPONSE_OK,
- NULL);
-
- store = gtk_list_store_new (4, GDK_TYPE_PIXBUF, G_TYPE_STRING, G_TYPE_BOOLEAN, G_TYPE_BOOLEAN);
- treeview = gtk_tree_view_new_with_model (GTK_TREE_MODEL(store));
-
- renderer = gtk_cell_renderer_pixbuf_new();
- column = gtk_tree_view_column_new_with_attributes ( "", renderer, "pixbuf", 0, NULL);
- gtk_tree_view_insert_column (GTK_TREE_VIEW(treeview), column, -1);
-
- renderer = gtk_cell_renderer_text_new();
- g_object_set (renderer, "ellipsize", PANGO_ELLIPSIZE_MIDDLE, NULL);
- column = gtk_tree_view_column_new_with_attributes ( _("Filename"), renderer, "text", 1, NULL);
- gtk_tree_view_column_set_expand (column, TRUE);
- gtk_tree_view_insert_column (GTK_TREE_VIEW(treeview), column, -1);
-
- renderer = gtk_cell_renderer_toggle_new();
- g_object_set (renderer, "mode", GTK_CELL_RENDERER_MODE_ACTIVATABLE, NULL);
- g_signal_connect (renderer, "toggled", (GCallback)cb_rstto_save_row_toggled, store);
-
- column = gtk_tree_view_column_new_with_attributes ( _("Save"), renderer, "active", 2, NULL);
- gtk_tree_view_insert_column (GTK_TREE_VIEW(treeview), column, -1);
-
- while (list_iter)
- {
- gtk_list_store_append (store, &iter);
- gchar *path = thunar_vfs_path_dup_string (rstto_navigator_entry_get_info(((RsttoNavigatorEntry *)list_iter->data))->path);
- gtk_list_store_set (store, &iter, 0,rstto_navigator_entry_get_thumb (entries->data, 48),1, path, 2, FALSE, -1);
- g_free (path);
-
- list_iter = g_list_next(list_iter);
- }
-
-
- s_window = gtk_scrolled_window_new (NULL, NULL);
- gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (s_window), GTK_POLICY_NEVER, GTK_POLICY_ALWAYS);
- gtk_scrolled_window_add_with_viewport (GTK_SCROLLED_WINDOW (s_window), treeview);
-
- gtk_container_add (GTK_CONTAINER(GTK_DIALOG(dialog)->vbox), s_window);
- gtk_widget_show_all (s_window);
- return dialog;
-}
-*/
-
-static void
-cb_rstto_save_row_toggled (GtkCellRendererToggle *cell, gchar *path, gpointer user_data)
-{
- GtkTreeModel *model = GTK_TREE_MODEL(user_data);
- GtkTreeIter iter;
-
- gtk_tree_model_get_iter_from_string (model, &iter, path);
- gtk_list_store_set (GTK_LIST_STORE(model), &iter, 2, !gtk_cell_renderer_toggle_get_active (cell), -1);
-};
diff --git a/src/save_dialog.h b/src/save_dialog.h
deleted file mode 100644
index 44d4a5f..0000000
--- a/src/save_dialog.h
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
- * Copyright (C) Stephan Arts 2008 <stephan at xfce.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
- * (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 Library 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 __RISTRETTO_SAVE_DIALOG_H__
-#define __RISTRETTO_SAVE_DIALOG_H__
-
-G_BEGIN_DECLS
-
-#define RSTTO_TYPE_SAVE_DIALOG rstto_save_dialog_get_type()
-
-#define RSTTO_SAVE_DIALOG(obj)( \
- G_TYPE_CHECK_INSTANCE_CAST ((obj), \
- RSTTO_TYPE_SAVE_DIALOG, \
- RsttoSaveDialog))
-
-#define RSTTO_IS_SAVE_DIALOG(obj)( \
- G_TYPE_CHECK_INSTANCE_TYPE ((obj), \
- RSTTO_TYPE_SAVE_DIALOG))
-
-#define RSTTO_SAVE_DIALOG_CLASS(klass)( \
- G_TYPE_CHECK_CLASS_CAST ((klass), \
- RSTTO_TYPE_SAVE_DIALOG, \
- RsttoSaveDialogClass))
-
-#define RSTTO_IS_SAVE_DIALOG_CLASS(klass)( \
- G_TYPE_CHECK_CLASS_TYPE ((klass), \
- RSTTO_TYPE_SAVE_DIALOG()))
-
-typedef struct _RsttoSaveDialog RsttoSaveDialog;
-
-struct _RsttoSaveDialog
-{
- GtkDialog parent;
-};
-
-typedef struct _RsttoSaveDialogClass RsttoSaveDialogClass;
-
-struct _RsttoSaveDialogClass
-{
- GtkDialogClass parent_class;
-};
-
-GType rstto_save_dialog_get_type();
-
-GtkWidget *
-rstto_save_dialog_new (GtkWindow *parent, GList *entries);
-
-G_END_DECLS
-
-#endif /* __RISTRETTO_SAVE_DIALOG_H__ */
diff --git a/src/settings.c b/src/settings.c
new file mode 100644
index 0000000..a602b97
--- /dev/null
+++ b/src/settings.c
@@ -0,0 +1,837 @@
+/*
+ * Copyright (c) Stephan Arts 2009-2010 <stephan at xfce.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
+ * (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 Library 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 <glib.h>
+#include <gtk/gtk.h>
+#include <xfconf/xfconf.h>
+#include <libxfce4util/libxfce4util.h>
+
+#include "settings.h"
+
+static void
+rstto_settings_init (GObject *);
+static void
+rstto_settings_class_init (GObjectClass *);
+
+static void
+rstto_settings_dispose (GObject *object);
+static void
+rstto_settings_finalize (GObject *object);
+
+static void
+rstto_settings_set_property (GObject *object,
+ guint property_id,
+ const GValue *value,
+ GParamSpec *pspec);
+static void
+rstto_settings_get_property (GObject *object,
+ guint property_id,
+ GValue *value,
+ GParamSpec *pspec);
+
+static GObjectClass *parent_class = NULL;
+
+static RsttoSettings *settings_object;
+
+enum
+{
+ PROP_0,
+ PROP_SHOW_FILE_TOOLBAR,
+ PROP_SHOW_NAV_TOOLBAR,
+ PROP_NAVBAR_POSITION,
+ PROP_SHOW_THUMBNAILBAR,
+ PROP_SHOW_PREVIEW,
+ PROP_HIDE_THUMBNAILBAR_FULLSCREEN,
+ PROP_TOOLBAR_OPEN,
+ PROP_ENABLE_CACHE,
+ PROP_PRELOAD_IMAGES,
+ PROP_CACHE_SIZE,
+ PROP_IMAGE_QUALITY,
+ PROP_WINDOW_WIDTH,
+ PROP_WINDOW_HEIGHT,
+ PROP_BGCOLOR,
+ PROP_BGCOLOR_OVERRIDE,
+ PROP_BGCOLOR_FULLSCREEN,
+ PROP_CURRENT_URI,
+ PROP_SLIDESHOW_TIMEOUT,
+ PROP_SCROLLWHEEL_PRIMARY_ACTION,
+ PROP_SCROLLWHEEL_SECONDARY_ACTION,
+ PROP_OPEN_ENTIRE_FOLDER,
+ PROP_WRAP_IMAGES,
+ PROP_THUMBNAILBAR_SIZE,
+};
+
+GType
+rstto_settings_get_type (void)
+{
+ static GType rstto_settings_type = 0;
+
+ if (!rstto_settings_type)
+ {
+ static const GTypeInfo rstto_settings_info =
+ {
+ sizeof (RsttoSettingsClass),
+ (GBaseInitFunc) NULL,
+ (GBaseFinalizeFunc) NULL,
+ (GClassInitFunc) rstto_settings_class_init,
+ (GClassFinalizeFunc) NULL,
+ NULL,
+ sizeof (RsttoSettings),
+ 0,
+ (GInstanceInitFunc) rstto_settings_init,
+ NULL
+ };
+
+ rstto_settings_type = g_type_register_static (G_TYPE_OBJECT, "RsttoSettings", &rstto_settings_info, 0);
+ }
+ return rstto_settings_type;
+}
+
+struct _RsttoSettingsPriv
+{
+ XfconfChannel *channel;
+
+ gboolean show_file_toolbar;
+ gboolean show_nav_toolbar;
+ gboolean show_thumbnailbar;
+ gboolean show_preview;
+ gboolean hide_thumbnailbar_fullscreen;
+ gboolean open_entire_folder;
+ gchar *navigationbar_position;
+ gboolean preload_images;
+ gboolean enable_cache;
+ guint cache_size;
+ guint image_quality;
+ guint window_width;
+ guint window_height;
+ gchar *last_file_path;
+ guint slideshow_timeout;
+ GdkColor *bgcolor;
+ gboolean bgcolor_override;
+ GdkColor *bgcolor_fullscreen;
+ gchar *scrollwheel_primary_action;
+ gchar *scrollwheel_secondary_action;
+ gboolean wrap_images;
+ gint thumbnailbar_size;
+};
+
+
+static void
+rstto_settings_init (GObject *object)
+{
+ gchar *accelmap_path = NULL;
+
+ RsttoSettings *settings = RSTTO_SETTINGS (object);
+
+ settings->priv = g_new0 (RsttoSettingsPriv, 1);
+ settings->priv->channel = xfconf_channel_new ("ristretto");
+
+ accelmap_path = xfce_resource_lookup (XFCE_RESOURCE_CONFIG, "ristretto/accels.scm");
+ if (accelmap_path)
+ {
+ gtk_accel_map_load (accelmap_path);
+ g_free (accelmap_path);
+ accelmap_path = NULL;
+ }
+
+ settings->priv->slideshow_timeout = 5;
+ settings->priv->bgcolor = g_new0 (GdkColor, 1);
+ settings->priv->bgcolor_fullscreen = g_new0 (GdkColor, 1);
+ settings->priv->image_quality = 2000000;
+ settings->priv->navigationbar_position = g_strdup ("bottom");
+ settings->priv->show_file_toolbar = TRUE;
+ settings->priv->show_nav_toolbar = TRUE;
+ settings->priv->window_width = 600;
+ settings->priv->window_height = 400;
+ settings->priv->wrap_images = TRUE;
+
+ xfconf_g_property_bind (settings->priv->channel, "/window/width", G_TYPE_UINT, settings, "window-width");
+ xfconf_g_property_bind (settings->priv->channel, "/window/height", G_TYPE_UINT, settings, "window-height");
+
+ xfconf_g_property_bind (settings->priv->channel, "/file/current-uri", G_TYPE_STRING, settings, "current-uri");
+ xfconf_g_property_bind (settings->priv->channel, "/file/open-entire-folder", G_TYPE_BOOLEAN, settings, "open-entire-folder");
+
+ xfconf_g_property_bind (settings->priv->channel, "/window/show-file-toolbar", G_TYPE_BOOLEAN, settings, "show-file-toolbar");
+ xfconf_g_property_bind (settings->priv->channel, "/window/show-navigation-toolbar", G_TYPE_BOOLEAN, settings, "show-nav-toolbar");
+ xfconf_g_property_bind (settings->priv->channel, "/window/show-thumbnailbar", G_TYPE_BOOLEAN, settings, "show-thumbnailbar");
+ xfconf_g_property_bind (settings->priv->channel, "/window/hide-thumbnailbar-fullscreen", G_TYPE_BOOLEAN, settings, "hide-thumbnailbar-fullscreen");
+ xfconf_g_property_bind (settings->priv->channel, "/window/navigationbar-position", G_TYPE_STRING, settings, "navigationbar-position");
+ xfconf_g_property_bind (settings->priv->channel, "/window/show-preview", G_TYPE_BOOLEAN, settings, "show-preview");
+ xfconf_g_property_bind (settings->priv->channel, "/window/scrollwheel-primary-action", G_TYPE_STRING, settings, "scrollwheel-primary-action");
+ xfconf_g_property_bind (settings->priv->channel, "/window/scrollwheel-secondary-action", G_TYPE_STRING, settings, "scrollwheel-secondary-action");
+
+ xfconf_g_property_bind (settings->priv->channel, "/slideshow/timeout", G_TYPE_UINT, settings, "slideshow-timeout");
+
+ xfconf_g_property_bind_gdkcolor (settings->priv->channel, "/window/bgcolor", settings, "bgcolor");
+ xfconf_g_property_bind (settings->priv->channel, "/window/bgcolor-override", G_TYPE_BOOLEAN, settings, "bgcolor-override");
+
+ xfconf_g_property_bind_gdkcolor (settings->priv->channel, "/window/bgcolor-fullscreen", settings, "bgcolor-fullscreen");
+ xfconf_g_property_bind (settings->priv->channel, "/image/preload", G_TYPE_BOOLEAN, settings, "preload-images");
+ xfconf_g_property_bind (settings->priv->channel, "/image/cache", G_TYPE_BOOLEAN, settings, "enable-cache");
+ xfconf_g_property_bind (settings->priv->channel, "/image/cache-size", G_TYPE_UINT, settings, "cache-size");
+ xfconf_g_property_bind (settings->priv->channel, "/image/quality", G_TYPE_UINT, settings, "image-quality");
+ xfconf_g_property_bind (settings->priv->channel, "/image/wrap", G_TYPE_BOOLEAN, settings, "wrap-images");
+ xfconf_g_property_bind (settings->priv->channel, "/window/thumbnailbar/size", G_TYPE_INT, settings, "thumbnailbar-size");
+}
+
+
+static void
+rstto_settings_class_init (GObjectClass *object_class)
+{
+ GParamSpec *pspec;
+
+ RsttoSettingsClass *settings_class = RSTTO_SETTINGS_CLASS (object_class);
+
+ parent_class = g_type_class_peek_parent (settings_class);
+
+ object_class->dispose = rstto_settings_dispose;
+ object_class->finalize = rstto_settings_finalize;
+
+ object_class->set_property = rstto_settings_set_property;
+ object_class->get_property = rstto_settings_get_property;
+
+ pspec = g_param_spec_uint ("window-width",
+ "",
+ "",
+ 0,
+ G_MAXUINT,
+ 600,
+ G_PARAM_READWRITE);
+ g_object_class_install_property (object_class,
+ PROP_WINDOW_WIDTH,
+ pspec);
+
+ pspec = g_param_spec_uint ("window-height",
+ "",
+ "",
+ 0,
+ G_MAXUINT,
+ 400,
+ G_PARAM_READWRITE);
+ g_object_class_install_property (object_class,
+ PROP_WINDOW_HEIGHT,
+ pspec);
+
+ pspec = g_param_spec_boolean ("show-file-toolbar",
+ "",
+ "",
+ TRUE,
+ G_PARAM_READWRITE);
+ g_object_class_install_property (object_class,
+ PROP_SHOW_FILE_TOOLBAR,
+ pspec);
+
+ pspec = g_param_spec_boolean ("show-nav-toolbar",
+ "",
+ "",
+ TRUE,
+ G_PARAM_READWRITE);
+ g_object_class_install_property (object_class,
+ PROP_SHOW_NAV_TOOLBAR,
+ pspec);
+
+ pspec = g_param_spec_boolean ("show-thumbnailbar",
+ "",
+ "",
+ TRUE,
+ G_PARAM_READWRITE);
+ g_object_class_install_property (object_class,
+ PROP_SHOW_THUMBNAILBAR,
+ pspec);
+
+ pspec = g_param_spec_boolean ("hide-thumbnailbar-fullscreen",
+ "",
+ "",
+ TRUE,
+ G_PARAM_READWRITE);
+ g_object_class_install_property (object_class,
+ PROP_HIDE_THUMBNAILBAR_FULLSCREEN,
+ pspec);
+
+ pspec = g_param_spec_boolean ("open-entire-folder",
+ "",
+ "",
+ TRUE,
+ G_PARAM_READWRITE);
+ g_object_class_install_property (object_class,
+ PROP_OPEN_ENTIRE_FOLDER,
+ pspec);
+
+ pspec = g_param_spec_string ("navigationbar-position",
+ "",
+ "",
+ "bottom",
+ G_PARAM_READWRITE);
+ g_object_class_install_property (object_class,
+ PROP_NAVBAR_POSITION,
+ pspec);
+
+ pspec = g_param_spec_boolean ("show-preview",
+ "",
+ "",
+ TRUE,
+ G_PARAM_READWRITE);
+ g_object_class_install_property (object_class,
+ PROP_SHOW_PREVIEW,
+ pspec);
+
+ pspec = g_param_spec_boolean ("preload-images",
+ "",
+ "",
+ TRUE,
+ G_PARAM_READWRITE);
+ g_object_class_install_property (object_class,
+ PROP_PRELOAD_IMAGES,
+ pspec);
+
+ pspec = g_param_spec_boolean ("enable-cache",
+ "",
+ "",
+ TRUE,
+ G_PARAM_READWRITE);
+ g_object_class_install_property (object_class,
+ PROP_ENABLE_CACHE,
+ pspec);
+
+ pspec = g_param_spec_uint ("cache-size",
+ "",
+ "",
+ 0,
+ G_MAXUINT,
+ 256,
+ G_PARAM_READWRITE);
+ g_object_class_install_property (object_class,
+ PROP_CACHE_SIZE,
+ pspec);
+
+ pspec = g_param_spec_uint ("image-quality",
+ "",
+ "",
+ 0,
+ 50000000,
+ 2000000,
+ G_PARAM_READWRITE);
+ g_object_class_install_property (object_class,
+ PROP_IMAGE_QUALITY,
+ pspec);
+
+ pspec = g_param_spec_string ("current-uri",
+ "",
+ "",
+ "file://~/",
+ G_PARAM_READWRITE);
+ g_object_class_install_property (object_class,
+ PROP_CURRENT_URI,
+ pspec);
+
+ pspec = g_param_spec_string ("scrollwheel-primary-action",
+ "",
+ "",
+ "navigate",
+ G_PARAM_READWRITE);
+ g_object_class_install_property (object_class,
+ PROP_SCROLLWHEEL_PRIMARY_ACTION,
+ pspec);
+
+ pspec = g_param_spec_string ("scrollwheel-secondary-action",
+ "",
+ "",
+ "zoom",
+ G_PARAM_READWRITE);
+ g_object_class_install_property (object_class,
+ PROP_SCROLLWHEEL_SECONDARY_ACTION,
+ pspec);
+
+ pspec = g_param_spec_uint ("slideshow-timeout",
+ "",
+ "",
+ 1,
+ 300,
+ 5,
+ G_PARAM_READWRITE);
+ g_object_class_install_property (object_class,
+ PROP_SLIDESHOW_TIMEOUT,
+ pspec);
+
+ pspec = g_param_spec_boxed ("bgcolor",
+ "",
+ "",
+ GDK_TYPE_COLOR,
+ G_PARAM_READWRITE);
+ g_object_class_install_property (object_class,
+ PROP_BGCOLOR,
+ pspec);
+
+ pspec = g_param_spec_boolean ("bgcolor-override",
+ "",
+ "",
+ TRUE,
+ G_PARAM_READWRITE);
+ g_object_class_install_property (object_class,
+ PROP_BGCOLOR_OVERRIDE,
+ pspec);
+
+ pspec = g_param_spec_boxed ("bgcolor-fullscreen",
+ "",
+ "",
+ GDK_TYPE_COLOR,
+ G_PARAM_READWRITE);
+ g_object_class_install_property (object_class,
+ PROP_BGCOLOR_FULLSCREEN,
+ pspec);
+
+ pspec = g_param_spec_boolean ("wrap-images",
+ "",
+ "",
+ TRUE,
+ G_PARAM_READWRITE);
+ g_object_class_install_property (object_class,
+ PROP_WRAP_IMAGES,
+ pspec);
+
+ pspec = g_param_spec_int ("thumbnailbar-size",
+ "",
+ "",
+ -1,
+ 4000,
+ 70,
+ G_PARAM_READWRITE);
+ g_object_class_install_property (object_class,
+ PROP_THUMBNAILBAR_SIZE,
+ pspec);
+}
+
+/**
+ * rstto_settings_dispose:
+ * @object:
+ *
+ */
+static void
+rstto_settings_dispose (GObject *object)
+{
+ RsttoSettings *settings = RSTTO_SETTINGS (object);
+
+ if (settings->priv)
+ {
+ g_free (settings->priv);
+ settings->priv = NULL;
+ }
+}
+
+/**
+ * rstto_settings_finalize:
+ * @object:
+ *
+ */
+static void
+rstto_settings_finalize (GObject *object)
+{
+ gchar *accelmap_path = NULL;
+ /*RsttoSettings *settings = RSTTO_SETTINGS (object);*/
+
+ accelmap_path = xfce_resource_save_location (XFCE_RESOURCE_CONFIG, "ristretto/accels.scm", TRUE);
+ if (accelmap_path)
+ {
+ gtk_accel_map_save (accelmap_path);
+ g_free (accelmap_path);
+ accelmap_path = NULL;
+ }
+
+}
+
+
+
+/**
+ * rstto_settings_new:
+ *
+ *
+ * Singleton
+ */
+RsttoSettings *
+rstto_settings_new (void)
+{
+ if (settings_object == NULL)
+ {
+ settings_object = g_object_new (RSTTO_TYPE_SETTINGS, NULL);
+ }
+ else
+ {
+ g_object_ref (settings_object);
+ }
+
+ return settings_object;
+}
+
+
+static void
+rstto_settings_set_property (GObject *object,
+ guint property_id,
+ const GValue *value,
+ GParamSpec *pspec)
+{
+ GdkColor *color;
+ const gchar *str_val = NULL;
+ RsttoSettings *settings = RSTTO_SETTINGS (object);
+
+ switch (property_id)
+ {
+ case PROP_SHOW_FILE_TOOLBAR:
+ settings->priv->show_file_toolbar = g_value_get_boolean (value);
+ break;
+ case PROP_SHOW_NAV_TOOLBAR:
+ settings->priv->show_nav_toolbar = g_value_get_boolean (value);
+ break;
+ case PROP_SHOW_THUMBNAILBAR:
+ settings->priv->show_thumbnailbar = g_value_get_boolean (value);
+ break;
+ case PROP_HIDE_THUMBNAILBAR_FULLSCREEN:
+ settings->priv->hide_thumbnailbar_fullscreen = g_value_get_boolean (value);
+ break;
+ case PROP_OPEN_ENTIRE_FOLDER:
+ settings->priv->open_entire_folder= g_value_get_boolean (value);
+ break;
+ case PROP_NAVBAR_POSITION:
+ str_val = g_value_get_string (value);
+
+ if ((!g_strcasecmp (str_val, "left")) ||
+ (!g_strcasecmp (str_val, "right")) ||
+ (!g_strcasecmp (str_val, "bottom")) ||
+ (!g_strcasecmp (str_val, "top")))
+ {
+ if (settings->priv->navigationbar_position)
+ g_free (settings->priv->navigationbar_position);
+ settings->priv->navigationbar_position = g_strdup (str_val);
+ }
+ break;
+ case PROP_SHOW_PREVIEW:
+ settings->priv->show_preview = g_value_get_boolean (value);
+ break;
+ case PROP_PRELOAD_IMAGES:
+ settings->priv->preload_images = g_value_get_boolean (value);
+ break;
+ case PROP_ENABLE_CACHE:
+ settings->priv->enable_cache = g_value_get_boolean (value);
+ break;
+ case PROP_IMAGE_QUALITY:
+ settings->priv->image_quality = g_value_get_uint (value);
+ break;
+ case PROP_CACHE_SIZE:
+ settings->priv->cache_size = g_value_get_uint (value);
+ break;
+ case PROP_WINDOW_WIDTH:
+ settings->priv->window_width = g_value_get_uint (value);
+ break;
+ case PROP_WINDOW_HEIGHT:
+ settings->priv->window_height = g_value_get_uint (value);
+ break;
+ case PROP_BGCOLOR:
+ color = g_value_get_boxed (value);
+ settings->priv->bgcolor->red = color->red;
+ settings->priv->bgcolor->green = color->green;
+ settings->priv->bgcolor->blue = color->blue;
+ break;
+ case PROP_BGCOLOR_OVERRIDE:
+ settings->priv->bgcolor_override = g_value_get_boolean (value);
+ break;
+ case PROP_CURRENT_URI:
+ if (settings->priv->last_file_path)
+ g_free (settings->priv->last_file_path);
+ settings->priv->last_file_path = g_value_dup_string (value);
+ break;
+ case PROP_SLIDESHOW_TIMEOUT:
+ settings->priv->slideshow_timeout = g_value_get_uint (value);
+ break;
+ case PROP_BGCOLOR_FULLSCREEN:
+ color = g_value_get_boxed (value);
+ settings->priv->bgcolor_fullscreen->red = color->red;
+ settings->priv->bgcolor_fullscreen->green = color->green;
+ settings->priv->bgcolor_fullscreen->blue = color->blue;
+ break;
+ case PROP_SCROLLWHEEL_PRIMARY_ACTION:
+ if (settings->priv->scrollwheel_primary_action)
+ g_free (settings->priv->scrollwheel_primary_action);
+ settings->priv->scrollwheel_primary_action = g_value_dup_string (value);
+ break;
+ case PROP_SCROLLWHEEL_SECONDARY_ACTION:
+ if (settings->priv->scrollwheel_secondary_action)
+ g_free (settings->priv->scrollwheel_secondary_action);
+ settings->priv->scrollwheel_secondary_action = g_value_dup_string (value);
+ break;
+ case PROP_WRAP_IMAGES:
+ settings->priv->wrap_images = g_value_get_boolean (value);
+ break;
+ case PROP_THUMBNAILBAR_SIZE:
+ settings->priv->thumbnailbar_size = g_value_get_int (value);
+ break;
+ default:
+ break;
+ }
+
+}
+
+static void
+rstto_settings_get_property (GObject *object,
+ guint property_id,
+ GValue *value,
+ GParamSpec *pspec)
+{
+ RsttoSettings *settings = RSTTO_SETTINGS (object);
+
+ switch (property_id)
+ {
+ case PROP_SHOW_FILE_TOOLBAR:
+ g_value_set_boolean (value, settings->priv->show_file_toolbar);
+ break;
+ case PROP_SHOW_NAV_TOOLBAR:
+ g_value_set_boolean (value, settings->priv->show_nav_toolbar);
+ break;
+ case PROP_SHOW_THUMBNAILBAR:
+ g_value_set_boolean (value, settings->priv->show_thumbnailbar);
+ break;
+ case PROP_HIDE_THUMBNAILBAR_FULLSCREEN:
+ g_value_set_boolean (value, settings->priv->hide_thumbnailbar_fullscreen);
+ break;
+ case PROP_OPEN_ENTIRE_FOLDER:
+ g_value_set_boolean (value, settings->priv->open_entire_folder);
+ break;
+ case PROP_NAVBAR_POSITION:
+ g_value_set_string (value, settings->priv->navigationbar_position);
+ break;
+ case PROP_SHOW_PREVIEW:
+ g_value_set_boolean (value, settings->priv->show_preview);
+ break;
+ case PROP_PRELOAD_IMAGES:
+ g_value_set_boolean (value, settings->priv->preload_images);
+ break;
+ case PROP_ENABLE_CACHE:
+ g_value_set_boolean (value, settings->priv->enable_cache);
+ break;
+ case PROP_IMAGE_QUALITY:
+ g_value_set_uint (value, settings->priv->image_quality);
+ break;
+ case PROP_CACHE_SIZE:
+ g_value_set_uint (value, settings->priv->cache_size);
+ break;
+ case PROP_WINDOW_WIDTH:
+ g_value_set_uint (value, settings->priv->window_width);
+ break;
+ case PROP_WINDOW_HEIGHT:
+ g_value_set_uint (value, settings->priv->window_height);
+ break;
+ case PROP_CURRENT_URI:
+ g_value_set_string (value, settings->priv->last_file_path);
+ break;
+ case PROP_SLIDESHOW_TIMEOUT:
+ g_value_set_uint (value, settings->priv->slideshow_timeout);
+ break;
+ case PROP_BGCOLOR_FULLSCREEN:
+ g_value_set_boxed (value, settings->priv->bgcolor_fullscreen);
+ break;
+ case PROP_BGCOLOR:
+ g_value_set_boxed (value, settings->priv->bgcolor);
+ break;
+ case PROP_BGCOLOR_OVERRIDE:
+ g_value_set_boolean (value, settings->priv->bgcolor_override);
+ break;
+ case PROP_SCROLLWHEEL_PRIMARY_ACTION:
+ g_value_set_string (value, settings->priv->scrollwheel_primary_action);
+ break;
+ case PROP_SCROLLWHEEL_SECONDARY_ACTION:
+ g_value_set_string (value, settings->priv->scrollwheel_secondary_action);
+ case PROP_WRAP_IMAGES:
+ g_value_set_boolean (value, settings->priv->wrap_images);
+ break;
+ case PROP_THUMBNAILBAR_SIZE:
+ g_value_set_int (value, settings->priv->thumbnailbar_size);
+ break;
+ default:
+ break;
+
+ }
+}
+
+void
+rstto_settings_set_navbar_position (RsttoSettings *settings, guint pos)
+{
+ GValue val = {0, };
+ g_value_init (&val, G_TYPE_STRING);
+
+ switch (pos)
+ {
+ default:
+ g_value_set_string (&val, "left");
+ break;
+ case 1:
+ g_value_set_string (&val, "right");
+ break;
+ case 2:
+ g_value_set_string (&val, "top");
+ break;
+ case 3:
+ g_value_set_string (&val, "bottom");
+ break;
+ }
+
+ g_object_set_property (G_OBJECT(settings), "navigationbar-position", &val);
+
+ g_value_reset (&val);
+}
+
+guint
+rstto_settings_get_navbar_position (RsttoSettings *settings) {
+ if (settings->priv->navigationbar_position == NULL)
+ return 0;
+
+ if (!strcmp (settings->priv->navigationbar_position, "left"))
+ return 0;
+ if (!strcmp (settings->priv->navigationbar_position, "right"))
+ return 1;
+ if (!strcmp (settings->priv->navigationbar_position, "top"))
+ return 2;
+ if (!strcmp (settings->priv->navigationbar_position, "bottom"))
+ return 3;
+
+ return 0;
+}
+
+/** Convenience functions */
+void
+rstto_settings_set_uint_property (RsttoSettings *settings,
+ const gchar *property_name,
+ guint value)
+{
+ GValue val = {0, };
+ g_value_init (&val, G_TYPE_UINT);
+
+ g_value_set_uint (&val, value);
+
+ g_object_set_property (G_OBJECT(settings), property_name, &val);
+
+ g_value_reset (&val);
+}
+
+guint
+rstto_settings_get_uint_property (RsttoSettings *settings,
+ const gchar *property_name)
+{
+ guint value;
+ GValue val = {0, };
+ g_value_init (&val, G_TYPE_UINT);
+
+ g_object_get_property (G_OBJECT(settings), property_name, &val);
+ value = g_value_get_uint (&val);
+
+ g_value_reset (&val);
+
+ return value;
+}
+
+void
+rstto_settings_set_int_property (RsttoSettings *settings,
+ const gchar *property_name,
+ gint value)
+{
+ GValue val = {0, };
+ g_value_init (&val, G_TYPE_INT);
+
+ g_value_set_int (&val, value);
+
+ g_object_set_property (G_OBJECT(settings), property_name, &val);
+
+ g_value_reset (&val);
+}
+
+gint
+rstto_settings_get_int_property (RsttoSettings *settings,
+ const gchar *property_name)
+{
+ gint value;
+ GValue val = {0, };
+ g_value_init (&val, G_TYPE_INT);
+
+ g_object_get_property (G_OBJECT(settings), property_name, &val);
+ value = g_value_get_int (&val);
+
+ g_value_reset (&val);
+
+ return value;
+}
+
+void
+rstto_settings_set_string_property (RsttoSettings *settings,
+ const gchar *property_name,
+ const gchar *value)
+{
+ GValue val = {0, };
+ g_value_init (&val, G_TYPE_STRING);
+
+ g_value_set_string (&val, value);
+
+ g_object_set_property (G_OBJECT(settings), property_name, &val);
+
+ g_value_reset (&val);
+}
+
+gchar *
+rstto_settings_get_string_property (RsttoSettings *settings,
+ const gchar *property_name)
+{
+ gchar *value = NULL;
+ GValue val = {0, };
+ g_value_init (&val, G_TYPE_STRING);
+
+ g_object_get_property (G_OBJECT(settings), property_name, &val);
+ value = g_value_dup_string (&val);
+
+ g_value_reset (&val);
+
+ return value;
+}
+
+void
+rstto_settings_set_boolean_property (RsttoSettings *settings,
+ const gchar *property_name,
+ gboolean value)
+{
+ GValue val = {0, };
+ g_value_init (&val, G_TYPE_BOOLEAN);
+
+ g_value_set_boolean (&val, value);
+
+ g_object_set_property (G_OBJECT(settings), property_name, &val);
+
+ g_value_reset (&val);
+}
+
+gboolean
+rstto_settings_get_boolean_property (RsttoSettings *settings,
+ const gchar *property_name)
+{
+ gboolean value;
+ GValue val = {0, };
+ g_value_init (&val, G_TYPE_BOOLEAN);
+
+ g_object_get_property (G_OBJECT(settings), property_name, &val);
+ value = g_value_get_boolean (&val);
+
+ g_value_reset (&val);
+
+ return value;
+}
diff --git a/src/settings.h b/src/settings.h
new file mode 100644
index 0000000..06aea1e
--- /dev/null
+++ b/src/settings.h
@@ -0,0 +1,79 @@
+/*
+ * Copyright (c) Stephan Arts 2009-2010 <stephan at xfce.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
+ * (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 Library 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 __RISTRETTO_SETTINGS_H__
+#define __RISTRETTO_SETTINGS_H__
+
+G_BEGIN_DECLS
+
+#define RSTTO_TYPE_SETTINGS rstto_settings_get_type()
+
+#define RSTTO_SETTINGS(obj)( \
+ G_TYPE_CHECK_INSTANCE_CAST ((obj), \
+ RSTTO_TYPE_SETTINGS, \
+ RsttoSettings))
+
+#define RSTTO_IS_SETTINGS(obj)( \
+ G_TYPE_CHECK_INSTANCE_TYPE ((obj), \
+ RSTTO_TYPE_SETTINGS))
+
+#define RSTTO_SETTINGS_CLASS(klass)( \
+ G_TYPE_CHECK_CLASS_CAST ((klass), \
+ RSTTO_TYPE_SETTINGS, \
+ RsttoSettingsClass))
+
+#define RSTTO_IS_SETTINGS_CLASS(klass)( \
+ G_TYPE_CHECK_CLASS_TYPE ((klass), \
+ RSTTO_TYPE_SETTINGS()))
+
+
+typedef struct _RsttoSettings RsttoSettings;
+typedef struct _RsttoSettingsPriv RsttoSettingsPriv;
+
+struct _RsttoSettings
+{
+ GObject parent;
+
+ RsttoSettingsPriv *priv;
+};
+
+typedef struct _RsttoSettingsClass RsttoSettingsClass;
+
+struct _RsttoSettingsClass
+{
+ GObjectClass parent_class;
+};
+
+RsttoSettings *rstto_settings_new (void);
+GType rstto_settings_get_type (void);
+
+void rstto_settings_set_navbar_position (RsttoSettings *, guint);
+guint rstto_settings_get_navbar_position (RsttoSettings *);
+
+void rstto_settings_set_uint_property (RsttoSettings *, const gchar *, guint);
+guint rstto_settings_get_uint_property (RsttoSettings *, const gchar *);
+void rstto_settings_set_int_property (RsttoSettings *, const gchar *, gint);
+gint rstto_settings_get_int_property (RsttoSettings *, const gchar *);
+void rstto_settings_set_string_property (RsttoSettings *, const gchar *, const gchar *);
+gchar *rstto_settings_get_string_property (RsttoSettings *, const gchar *);
+void rstto_settings_set_boolean_property (RsttoSettings *, const gchar *, gboolean);
+gboolean rstto_settings_get_boolean_property (RsttoSettings *, const gchar *);
+
+G_END_DECLS
+
+#endif /* __RISTRETTO_SETTINGS_H__ */
diff --git a/src/thumbnail.c b/src/thumbnail.c
index 6ba7c4f..2438985 100644
--- a/src/thumbnail.c
+++ b/src/thumbnail.c
@@ -1,4 +1,6 @@
/*
+ * Copyright (C) Stephan Arts 2006-2010 <stephan at xfce.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 +21,20 @@
#include <gtk/gtkmarshal.h>
#include <string.h>
-#include <thunar-vfs/thunar-vfs.h>
#include <libexif/exif-data.h>
-#include "navigator.h"
+#include "image.h"
+#include "image_list.h"
#include "thumbnail.h"
struct _RsttoThumbnailPriv
{
- RsttoNavigatorEntry *entry;
- gboolean selected;
- GSList *group;
+ RsttoImage *image;
+ GdkPixbuf *pixbuf;
};
static GtkWidgetClass *parent_class = NULL;
+static GdkPixbuf *thumbnail_missing_icon = NULL;
static void
rstto_thumbnail_init(RsttoThumbnail *);
@@ -52,10 +54,14 @@ static void
rstto_thumbnail_paint(RsttoThumbnail *thumb);
static void
-rstto_thumbnail_clicked(GtkButton *);
+rstto_thumbnail_clicked (GtkButton *);
+static void
+rstto_thumbnail_enter (GtkButton *);
+static void
+rstto_thumbnail_leave (GtkButton *);
GType
-rstto_thumbnail_get_type ()
+rstto_thumbnail_get_type (void)
{
static GType rstto_thumbnail_type = 0;
@@ -85,6 +91,16 @@ rstto_thumbnail_init(RsttoThumbnail *thumb)
{
thumb->priv = g_new0(RsttoThumbnailPriv, 1);
+ if (thumbnail_missing_icon == NULL)
+ {
+ thumbnail_missing_icon = gtk_icon_theme_load_icon (gtk_icon_theme_get_default(),
+ "image-missing",
+ 128,
+ 0,
+ NULL);
+ }
+
+
gtk_widget_set_redraw_on_allocate(GTK_WIDGET(thumb), TRUE);
gtk_widget_set_events (GTK_WIDGET(thumb),
GDK_POINTER_MOTION_MASK);
@@ -109,11 +125,26 @@ rstto_thumbnail_class_init(RsttoThumbnailClass *thumb_class)
widget_class->size_allocate = rstto_thumbnail_size_allocate;
button_class->clicked = rstto_thumbnail_clicked;
+ button_class->enter = rstto_thumbnail_enter;
+ button_class->leave = rstto_thumbnail_leave;
object_class->finalize = rstto_thumbnail_finalize;
}
static void
+rstto_thumbnail_finalize(GObject *object)
+{
+ RsttoThumbnail *thumb = RSTTO_THUMBNAIL(object);
+ if (thumb->priv->image)
+ {
+ g_object_unref (thumb->priv->image);
+ thumb->priv->image = NULL;
+ }
+
+}
+
+
+static void
rstto_thumbnail_size_request(GtkWidget *widget, GtkRequisition *requisition)
{
requisition->height = 70;
@@ -123,46 +154,84 @@ rstto_thumbnail_size_request(GtkWidget *widget, GtkRequisition *requisition)
static void
rstto_thumbnail_size_allocate(GtkWidget *widget, GtkAllocation *allocation)
{
+ RsttoThumbnail *thumb = RSTTO_THUMBNAIL(widget);
widget->allocation = *allocation;
-
parent_class->size_allocate(widget, allocation);
+
+ if (thumb->priv->pixbuf)
+ {
+ g_object_unref (thumb->priv->pixbuf);
+ thumb->priv->pixbuf = NULL;
+ }
+
+ thumb->priv->pixbuf = gdk_pixbuf_new (GDK_COLORSPACE_RGB,
+ TRUE,
+ 8,
+ allocation->width,
+ allocation->height);
}
static gboolean
rstto_thumbnail_expose(GtkWidget *widget, GdkEventExpose *event)
{
RsttoThumbnail *thumb = RSTTO_THUMBNAIL(widget);
+ GdkPixbuf *thumb_pixbuf = NULL;
if (GTK_WIDGET_REALIZED (widget))
{
- GdkRegion *region = event->region;
+ if (thumb->priv->image)
+ {
+ thumb_pixbuf = rstto_image_get_thumbnail (thumb->priv->image);
+ }
- gdk_window_begin_paint_region(widget->window, region);
- rstto_thumbnail_paint(thumb);
- gdk_window_end_paint(widget->window);
- }
+ if (thumb_pixbuf == NULL)
+ {
+ thumb_pixbuf = thumbnail_missing_icon;
+ }
- return FALSE;
-}
+ g_object_ref (thumb_pixbuf);
-static void
-rstto_thumbnail_finalize(GObject *object)
-{
- RsttoThumbnail *thumb = RSTTO_THUMBNAIL(object);
+ if (thumb_pixbuf)
+ {
+ gint height = gdk_pixbuf_get_height (thumb->priv->pixbuf) - 10;
+ gint width = gdk_pixbuf_get_width (thumb->priv->pixbuf) - 10;
+ gdouble scale = 1.0;
+ GdkPixbuf *dst_thumb_pixbuf = NULL;
- if (thumb->priv->entry)
- {
- GSList *group = g_slist_remove(thumb->priv->group, thumb);
- GSList *iter = group;
+ if (gdk_pixbuf_get_width (thumb_pixbuf) > gdk_pixbuf_get_height (thumb_pixbuf))
+ {
+ height = (gint)(((gdouble)gdk_pixbuf_get_height (thumb_pixbuf) / (gdouble)gdk_pixbuf_get_width (thumb_pixbuf)) * width);
+ scale = ((gdouble)width / (gdouble)gdk_pixbuf_get_width (thumb_pixbuf));
+ }
+ else
+ {
+ width = (gint)(((gdouble)gdk_pixbuf_get_width (thumb_pixbuf) / (gdouble)gdk_pixbuf_get_height (thumb_pixbuf)) * height);
+ scale = ((gdouble)height / (gdouble)gdk_pixbuf_get_height (thumb_pixbuf));
+ }
- while(iter)
- {
- RsttoThumbnail *thumb_iter = iter->data;
- thumb_iter->priv->group = group;
- iter = g_slist_next(iter);
+ gdk_pixbuf_fill (thumb->priv->pixbuf, 0x00000000);
+
+ dst_thumb_pixbuf = gdk_pixbuf_scale_simple (thumb_pixbuf, width, height, GDK_INTERP_BILINEAR);
+
+ gdk_pixbuf_copy_area (dst_thumb_pixbuf,
+ 0, 0,
+ width, height,
+ thumb->priv->pixbuf,
+ (gint)((gdouble)(gdk_pixbuf_get_width (thumb->priv->pixbuf) - width))/2,
+ (gint)((gdouble)(gdk_pixbuf_get_height (thumb->priv->pixbuf) - height))/2
+ );
+
+ g_object_unref (dst_thumb_pixbuf);
+ g_object_unref (thumb_pixbuf);
}
- thumb->priv->entry = NULL;
+
+
+ gdk_window_begin_paint_region(widget->window, event->region);
+ rstto_thumbnail_paint(thumb);
+ gdk_window_end_paint(widget->window);
}
+
+ return FALSE;
}
static void
@@ -172,25 +241,13 @@ rstto_thumbnail_paint(RsttoThumbnail *thumb)
GtkStateType state = GTK_WIDGET_STATE(widget);
- if(thumb->priv->entry)
+ if(thumb->priv->image)
{
if (GTK_WIDGET_STATE(widget) != GTK_STATE_PRELIGHT)
{
- if (rstto_navigator_entry_is_selected(thumb->priv->entry))
- {
- gtk_widget_set_state(widget, GTK_STATE_SELECTED);
- }
- else
- {
- gtk_widget_set_state(widget, GTK_STATE_NORMAL);
- }
}
- GdkPixbuf *pixbuf = rstto_navigator_entry_get_thumb(
- thumb->priv->entry,
- widget->allocation.height - 4);
-
gtk_paint_box(widget->style,
widget->window,
state,
@@ -201,75 +258,91 @@ rstto_thumbnail_paint(RsttoThumbnail *thumb)
widget->allocation.x, widget->allocation.y,
widget->allocation.width, widget->allocation.height);
- if(pixbuf)
+ if (thumb->priv->pixbuf)
{
gdk_draw_pixbuf(GDK_DRAWABLE(widget->window),
NULL,
- pixbuf,
+ thumb->priv->pixbuf,
0, 0,
- (0.5 * (widget->allocation.width - gdk_pixbuf_get_width(pixbuf))) + widget->allocation.x,
- (0.5 * (widget->allocation.height - gdk_pixbuf_get_height(pixbuf))) + widget->allocation.y,
+ (0.5 * (widget->allocation.width - gdk_pixbuf_get_width(thumb->priv->pixbuf))) + widget->allocation.x,
+ (0.5 * (widget->allocation.height - gdk_pixbuf_get_height(thumb->priv->pixbuf))) + widget->allocation.y,
-1, -1,
GDK_RGB_DITHER_NORMAL,
0, 0);
}
+
+ /*
+ gtk_paint_focus (widget->style,
+ widget->window,
+ state,
+ NULL,
+ widget,
+ NULL,
+ widget->allocation.x+3, widget->allocation.y+3,
+ widget->allocation.width-6, widget->allocation.height-6);
+ */
+
}
}
GtkWidget *
-rstto_thumbnail_new(RsttoNavigatorEntry *entry, GSList *thumb_list)
+rstto_thumbnail_new (RsttoImage *image)
{
- g_return_val_if_fail(entry != NULL, NULL);
+ gchar *path, *path_basename;
+ GFile *file = NULL;
+ RsttoThumbnail *thumb;
- RsttoThumbnail *thumb = g_object_new(RSTTO_TYPE_THUMBNAIL, NULL);
+ g_return_val_if_fail (image != NULL, NULL);
- thumb->priv->entry = entry;
+ thumb = g_object_new(RSTTO_TYPE_THUMBNAIL, NULL);
-#if GTK_CHECK_VERSION(2,12,0)
- ThunarVfsInfo *info = rstto_navigator_entry_get_info(thumb->priv->entry);
-
- gtk_widget_set_tooltip_text(GTK_WIDGET(thumb), thunar_vfs_path_dup_string(info->path));
-#else
- /* TODO: gtktooltip stuff */
-#endif
+ thumb->priv->image = image;
+ g_object_ref (image);
- {
- thumb->priv->group = g_slist_prepend(thumb_list, thumb);
- GSList *iter = thumb->priv->group;
- while(iter)
- {
- RsttoThumbnail *iter_thumb = iter->data;
- iter_thumb->priv->group = thumb->priv->group;
- iter = iter->next;
- }
- }
+ file = rstto_image_get_file (image);
- return GTK_WIDGET(thumb);
-}
+ path = g_file_get_path (file);
+ path_basename = g_path_get_basename (path);
-GtkWidget *
-rstto_thumbnail_new_from_widget(RsttoNavigatorEntry *entry, RsttoThumbnail *sibling)
-{
- return rstto_thumbnail_new(entry, sibling->priv->group);
+ gtk_widget_set_tooltip_text(GTK_WIDGET(thumb), path_basename);
+
+ g_free (path_basename);
+ g_free (path);
+ return GTK_WIDGET(thumb);
}
-RsttoNavigatorEntry *
-rstto_thumbnail_get_entry (RsttoThumbnail *thumb)
+RsttoImage *
+rstto_thumbnail_get_image (RsttoThumbnail *thumb)
{
- return thumb->priv->entry;
+ return thumb->priv->image;
}
/* CALLBACKS */
/*************/
static void
-rstto_thumbnail_clicked(GtkButton *button)
+rstto_thumbnail_clicked (GtkButton *button)
{
- RsttoThumbnail *thumb = RSTTO_THUMBNAIL(button);
- RsttoNavigatorEntry *entry = rstto_thumbnail_get_entry(thumb);
+ gtk_widget_queue_draw (GTK_WIDGET (button));
+}
- thumb->selected = TRUE;
- rstto_navigator_entry_select(entry);
+static void
+rstto_thumbnail_enter (GtkButton *button)
+{
+ gtk_widget_set_state (GTK_WIDGET (button), GTK_STATE_PRELIGHT);
+ gtk_widget_queue_draw (GTK_WIDGET (button));
+}
+static void
+rstto_thumbnail_leave (GtkButton *button)
+{
+ gtk_widget_set_state (GTK_WIDGET (button), GTK_STATE_NORMAL);
gtk_widget_queue_draw (GTK_WIDGET (button));
}
+
+void
+rstto_thumbnail_update (RsttoThumbnail *thumb)
+{
+
+ gtk_widget_queue_draw (GTK_WIDGET (thumb));
+}
diff --git a/src/thumbnail.h b/src/thumbnail.h
index 4e71b30..697b51e 100644
--- a/src/thumbnail.h
+++ b/src/thumbnail.h
@@ -1,4 +1,6 @@
/*
+ * Copyright (C) Stephan Arts 2006-2010 <stephan at xfce.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
@@ -59,9 +61,11 @@ struct _RsttoThumbnailClass
GType rstto_thumbnail_get_type();
-GtkWidget *rstto_thumbnail_new(RsttoNavigatorEntry *entry, GSList *thumb_list);
-GtkWidget *rstto_thumbnail_new_from_widget(RsttoNavigatorEntry *entry, RsttoThumbnail *sibling);
-RsttoNavigatorEntry *rstto_thumbnail_get_entry (RsttoThumbnail *thumb);
+GtkWidget *rstto_thumbnail_new (RsttoImage *image);
+RsttoImage *rstto_thumbnail_get_image (RsttoThumbnail *thumb);
+
+
+void rstto_thumbnail_update (RsttoThumbnail *thumb);
G_END_DECLS
diff --git a/src/thumbnail_bar.c b/src/thumbnail_bar.c
index 2ef0514..282db14 100644
--- a/src/thumbnail_bar.c
+++ b/src/thumbnail_bar.c
@@ -19,23 +19,30 @@
#include <gtk/gtkmarshal.h>
#include <string.h>
-#include <thunar-vfs/thunar-vfs.h>
+#include <gio/gio.h>
+
+#include <libxfcegui4/libxfcegui4.h>
#include <libexif/exif-data.h>
-#include "navigator.h"
+#include "image.h"
+#include "image_list.h"
#include "thumbnail.h"
#include "thumbnail_bar.h"
+#include "thumbnailer.h"
struct _RsttoThumbnailBarPriv
{
GtkOrientation orientation;
- RsttoNavigator *navigator;
gint dimension;
gint offset;
gboolean auto_center;
gint begin;
gint end;
- GSList *thumbs;
+
+ RsttoImageList *image_list;
+ RsttoImageListIter *iter;
+ RsttoImageListIter *internal_iter;
+ GList *thumbs;
gint scroll_speed;
struct
{
@@ -44,6 +51,8 @@ struct _RsttoThumbnailBarPriv
gint offset;
gboolean motion;
} motion;
+
+ RsttoThumbnailer *thumbnailer;
};
static void
@@ -62,12 +71,21 @@ rstto_thumbnail_bar_realize(GtkWidget *widget);
static void
rstto_thumbnail_bar_unrealize(GtkWidget *widget);
+static void
+cb_rstto_thumbnail_bar_image_list_new_image (RsttoImageList *image_list, RsttoImage *image, gpointer user_data);
+static void
+cb_rstto_thumbnail_bar_image_list_remove_image (RsttoImageList *image_list, RsttoImage *image, gpointer user_data);
+static void
+cb_rstto_thumbnail_bar_image_list_remove_all (RsttoImageList *image_list, gpointer user_data);
+void
+cb_rstto_thumbnail_bar_image_list_iter_changed (RsttoImageListIter *iter, gpointer user_data);
+
static gboolean
-cb_rstto_thumbnail_bar_thumbnail_button_press_event (RsttoThumbnail *thumb, GdkEventButton *event);
+cb_rstto_thumbnail_bar_thumbnail_button_press_event (GtkWidget *thumb, GdkEventButton *event);
static gboolean
-cb_rstto_thumbnail_bar_thumbnail_button_release_event (RsttoThumbnail *thumb, GdkEventButton *event);
+cb_rstto_thumbnail_bar_thumbnail_button_release_event (GtkWidget *thumb, GdkEventButton *event);
static gboolean
-cb_rstto_thumbnail_bar_thumbnail_motion_notify_event (RsttoThumbnail *thumb,
+cb_rstto_thumbnail_bar_thumbnail_motion_notify_event (GtkWidget *thumb,
GdkEventMotion *event,
gpointer user_data);
@@ -88,31 +106,13 @@ rstto_thumbnail_bar_child_type(GtkContainer *container);
static GtkWidgetClass *parent_class = NULL;
static void
-cb_rstto_thumbnail_bar_nav_new_entry (RsttoNavigator *nav,
- gint nr,
- RsttoNavigatorEntry *entry,
- RsttoThumbnailBar *bar);
-static void
-cb_rstto_thumbnail_bar_nav_iter_changed (RsttoNavigator *nav,
- gint nr,
- RsttoNavigatorEntry *entry,
- RsttoThumbnailBar *bar);
-static void
-cb_rstto_thumbnail_bar_nav_reordered (RsttoNavigator *nav,
- RsttoThumbnailBar *bar);
-static void
-cb_rstto_thumbnail_bar_nav_entry_removed(RsttoNavigator *nav,
- RsttoNavigatorEntry *entry,
- RsttoThumbnailBar *bar);
-
-static void
-cb_rstto_thumbnail_bar_thumbnail_clicked (RsttoThumbnail *thumb, RsttoThumbnailBar *bar);
+cb_rstto_thumbnail_bar_thumbnail_clicked (GtkWidget *thumb, RsttoThumbnailBar *bar);
static gint
-cb_rstto_thumbnail_bar_compare (RsttoThumbnail *a, RsttoThumbnail *b);
+cb_rstto_thumbnail_bar_compare (GtkWidget *a, GtkWidget *b, gpointer);
GType
-rstto_thumbnail_bar_get_type ()
+rstto_thumbnail_bar_get_type (void)
{
static GType rstto_thumbnail_bar_type = 0;
@@ -144,16 +144,18 @@ rstto_thumbnail_bar_init(RsttoThumbnailBar *bar)
bar->priv = g_new0(RsttoThumbnailBarPriv, 1);
bar->priv->auto_center = TRUE;
+ bar->priv->thumbnailer = rstto_thumbnailer_new();
GTK_WIDGET_UNSET_FLAGS(bar, GTK_NO_WINDOW);
gtk_widget_set_redraw_on_allocate(GTK_WIDGET(bar), TRUE);
gtk_widget_set_events (GTK_WIDGET(bar),
GDK_SCROLL_MASK);
- bar->priv->orientation = GTK_ORIENTATION_HORIZONTAL;
+ bar->priv->orientation = GTK_ORIENTATION_VERTICAL;
bar->priv->offset = 0;
bar->priv->scroll_speed = 20;
+
g_signal_connect(G_OBJECT(bar), "scroll_event", G_CALLBACK(cb_rstto_thumbnail_bar_scroll_event), NULL);
}
@@ -188,40 +190,59 @@ rstto_thumbnail_bar_class_init(RsttoThumbnailBarClass *bar_class)
G_PARAM_READABLE));
gtk_widget_class_install_style_property (widget_class,
- g_param_spec_int ("border_width",
- _("Border Width"),
- _("The border width of the thumbnail-bar"),
- 0, G_MAXINT, 3,
+ g_param_spec_int ("border-width",
+ _("border width"),
+ _("the border width of the thumbnail-bar"),
+ 0, G_MAXINT, 0,
+ G_PARAM_READABLE));
+
+ gtk_widget_class_install_style_property (widget_class,
+ g_param_spec_int ("film-border-width",
+ _("filmstrip width"),
+ _("the width of the thumbnail-bar film-strip"),
+ 0, G_MAXINT, 0,
G_PARAM_READABLE));
+
+
}
static void
rstto_thumbnail_bar_size_request(GtkWidget *widget, GtkRequisition *requisition)
{
RsttoThumbnailBar *bar = RSTTO_THUMBNAIL_BAR(widget);
- gint border_width = GTK_CONTAINER(bar)->border_width;
-
- gtk_widget_style_get(widget, "border-width", &border_width, NULL);
-
- GSList *iter;
-
+ gint border_width;
+ gint film_border_width = bar->film_border_width;
+ GList *iter;
GtkRequisition child_requisition;
+ gtk_widget_style_get (widget, "border-width", &border_width, NULL);
+ gtk_widget_style_get (widget, "film-border-width", &film_border_width, NULL);
+
requisition->height = 70;
requisition->width = 70;
- for(iter = bar->priv->thumbs; iter; iter = g_slist_next(iter))
+ for(iter = bar->priv->thumbs; iter; iter = g_list_next(iter))
{
gtk_widget_size_request(GTK_WIDGET(iter->data), &child_requisition);
requisition->width = MAX(child_requisition.width, requisition->width);
requisition->height = MAX(child_requisition.height, requisition->height);
}
- requisition->height += (border_width * 2);
- requisition->width += (border_width * 2);
+ switch (bar->priv->orientation)
+ {
+ case GTK_ORIENTATION_HORIZONTAL:
+ requisition->height += ((border_width * 2) + (film_border_width * 2));
+ requisition->width += (border_width * 2);
+ break;
+ case GTK_ORIENTATION_VERTICAL:
+ requisition->height += (border_width * 2);
+ requisition->width += ((border_width * 2) + (film_border_width * 2));
+ break;
+ }
widget->requisition = *requisition;
GTK_CONTAINER(bar)->border_width = border_width;
+ bar->film_border_width = film_border_width;
}
static void
@@ -229,18 +250,22 @@ rstto_thumbnail_bar_size_allocate(GtkWidget *widget, GtkAllocation *allocation)
{
RsttoThumbnailBar *bar = RSTTO_THUMBNAIL_BAR(widget);
gint border_width = GTK_CONTAINER(bar)->border_width;
+ gint film_border_width = bar->film_border_width;
gint spacing = 0;
- gtk_widget_style_get(widget, "spacing", &spacing, NULL);
- widget->allocation = *allocation;
GtkAllocation child_allocation;
GtkRequisition child_requisition;
+ GList *iter = bar->priv->thumbs;
+
+ RsttoImage *image = NULL;
+
+ gtk_widget_style_get(widget, "spacing", &spacing, NULL);
+ widget->allocation = *allocation;
child_allocation.x = border_width;
child_allocation.y = border_width;
child_allocation.height = border_width * 2;
child_allocation.width = border_width * 2;
- GSList *iter = bar->priv->thumbs;
if (GTK_WIDGET_REALIZED(widget))
{
@@ -255,6 +280,7 @@ rstto_thumbnail_bar_size_allocate(GtkWidget *widget, GtkAllocation *allocation)
switch(bar->priv->orientation)
{
case GTK_ORIENTATION_HORIZONTAL:
+ child_allocation.y += film_border_width;
if (bar->priv->auto_center == TRUE)
{
bar->priv->offset = 0 - (allocation->width / 2);
@@ -262,21 +288,21 @@ rstto_thumbnail_bar_size_allocate(GtkWidget *widget, GtkAllocation *allocation)
while(iter)
{
gtk_widget_get_child_requisition(GTK_WIDGET(iter->data), &child_requisition);
- allocation->height = MAX(child_requisition.height + (border_width * 2), allocation->height);
+ allocation->height = MAX(child_requisition.height + (border_width * 2) + (film_border_width * 2), allocation->height);
if (bar->priv->auto_center == TRUE)
{
- if (g_slist_position(bar->priv->thumbs, iter) < rstto_navigator_get_position(bar->priv->navigator))
+ if (g_list_position (bar->priv->thumbs, iter) < rstto_image_list_iter_get_position (bar->priv->iter))
{
- bar->priv->offset += child_requisition.width + spacing;
+ bar->priv->offset += allocation->height + spacing;
}
- if (g_slist_position(bar->priv->thumbs, iter) == rstto_navigator_get_position(bar->priv->navigator))
+ if (g_list_position (bar->priv->thumbs, iter) == rstto_image_list_iter_get_position (bar->priv->iter))
{
- bar->priv->offset += (0.5 * child_requisition.width);
+ bar->priv->offset += 0.5 * allocation->height;
}
}
- iter = g_slist_next(iter);
+ iter = g_list_next(iter);
}
child_allocation.x -= bar->priv->offset;
@@ -286,23 +312,30 @@ rstto_thumbnail_bar_size_allocate(GtkWidget *widget, GtkAllocation *allocation)
while(iter)
{
gtk_widget_get_child_requisition(GTK_WIDGET(iter->data), &child_requisition);
- child_allocation.height = allocation->height - (border_width * 2);
- child_allocation.width = child_requisition.width;
+ child_allocation.height = allocation->height - (border_width * 2) - (film_border_width * 2);
+ child_allocation.width = child_allocation.height;
if ((child_allocation.x < (allocation->x + allocation->width)) &&
((child_allocation.x + child_allocation.width) > allocation->x + border_width))
{
gtk_widget_set_child_visible(GTK_WIDGET(iter->data), TRUE);
gtk_widget_size_allocate(GTK_WIDGET(iter->data), &child_allocation);
+
+ /* Do thumbnailing stuff */
+ rstto_thumbnailer_queue_image (bar->priv->thumbnailer, iter->data);
}
else
+ {
gtk_widget_set_child_visible(GTK_WIDGET(iter->data), FALSE);
+ rstto_thumbnailer_dequeue_image (bar->priv->thumbnailer, iter->data);
+ }
- child_allocation.x += child_requisition.width + spacing;
- iter = g_slist_next(iter);
+ child_allocation.x += child_allocation.width + spacing;
+ iter = g_list_next(iter);
}
break;
case GTK_ORIENTATION_VERTICAL:
+ child_allocation.x += film_border_width;
if (bar->priv->auto_center == TRUE)
{
bar->priv->offset = 0 - (allocation->height / 2);
@@ -310,21 +343,21 @@ rstto_thumbnail_bar_size_allocate(GtkWidget *widget, GtkAllocation *allocation)
while(iter)
{
gtk_widget_get_child_requisition(GTK_WIDGET(iter->data), &child_requisition);
- allocation->width = MAX(child_requisition.width + (border_width * 2), allocation->width);
+ allocation->width = MAX(child_requisition.width + (border_width * 2) + (film_border_width * 2), allocation->width);
if (bar->priv->auto_center == TRUE)
{
- if (g_slist_position(bar->priv->thumbs, iter) < rstto_navigator_get_position(bar->priv->navigator))
+ if (g_list_position (bar->priv->thumbs, iter) < rstto_image_list_iter_get_position (bar->priv->iter))
{
- bar->priv->offset += child_requisition.height + spacing;
+ bar->priv->offset += allocation->width + spacing;
}
- if (g_slist_position(bar->priv->thumbs, iter) == rstto_navigator_get_position(bar->priv->navigator))
+ if (g_list_position (bar->priv->thumbs, iter) == rstto_image_list_iter_get_position (bar->priv->iter))
{
- bar->priv->offset += (0.5 * child_requisition.height);
+ bar->priv->offset += 0.5 * allocation->width;
}
}
- iter = g_slist_next(iter);
+ iter = g_list_next(iter);
}
child_allocation.y -= bar->priv->offset;
@@ -335,17 +368,26 @@ rstto_thumbnail_bar_size_allocate(GtkWidget *widget, GtkAllocation *allocation)
{
gtk_widget_get_child_requisition(GTK_WIDGET(iter->data), &child_requisition);
- child_allocation.width = allocation->width - (border_width * 2);
- child_allocation.height = child_requisition.height;
+ child_allocation.width = allocation->width - (border_width * 2) - (film_border_width * 2);
+ child_allocation.height = child_allocation.width;
if (child_allocation.y < (allocation->y + allocation->height))
+ {
gtk_widget_set_child_visible(GTK_WIDGET(iter->data), TRUE);
+ gtk_widget_size_allocate(GTK_WIDGET(iter->data), &child_allocation);
+
+ /* Do thumbnailing stuff */
+ rstto_thumbnailer_queue_image (bar->priv->thumbnailer, iter->data);
+ }
else
+ {
gtk_widget_set_child_visible(GTK_WIDGET(iter->data), FALSE);
+ rstto_thumbnailer_dequeue_image (bar->priv->thumbnailer, iter->data);
+ }
gtk_widget_size_allocate(GTK_WIDGET(iter->data), &child_allocation);
- child_allocation.y += child_requisition.height + spacing;
- iter = g_slist_next(iter);
+ child_allocation.y += child_allocation.height + spacing;
+ iter = g_list_next(iter);
}
break;
}
@@ -356,11 +398,24 @@ rstto_thumbnail_bar_expose(GtkWidget *widget, GdkEventExpose *ex)
{
RsttoThumbnailBar *bar = RSTTO_THUMBNAIL_BAR(widget);
- GSList *iter = bar->priv->thumbs;
+ GList *iter = bar->priv->thumbs;
GdkEventExpose *n_ex = g_new0(GdkEventExpose, 1);
+ GdkGC *gc = gdk_gc_new(GDK_DRAWABLE(widget->window));
gint border_width = GTK_CONTAINER(bar)->border_width;
+ gint film_border_width = bar->film_border_width;
+ gint i = 0;
+ GdkColor color, dot_color, bar_color;
+ color.red= 0;
+ color.green= 0;
+ color.blue= 0;
+ dot_color.red = 0xffff;
+ dot_color.green = 0xffff;
+ dot_color.blue = 0xffff;
+ bar_color.red = 0x4444;
+ bar_color.green = 0x4444;
+ bar_color.blue = 0x4444;
n_ex->type = ex->type;
n_ex->window = ex->window;
@@ -371,6 +426,51 @@ rstto_thumbnail_bar_expose(GtkWidget *widget, GdkEventExpose *ex)
n_ex->area.height = ex->area.height;
n_ex->count = ex->count;
+ gdk_colormap_alloc_color (gdk_gc_get_colormap (gc), &color, FALSE, TRUE);
+ gdk_colormap_alloc_color (gdk_gc_get_colormap (gc), &dot_color, FALSE, TRUE);
+ gdk_colormap_alloc_color (gdk_gc_get_colormap (gc), &bar_color, FALSE, TRUE);
+ gdk_gc_set_rgb_fg_color (gc, &color);
+
+ switch (bar->priv->orientation)
+ {
+ case GTK_ORIENTATION_HORIZONTAL:
+ if (film_border_width > 0)
+ {
+ n_ex->area.y += film_border_width;
+
+ gdk_draw_rectangle(GDK_DRAWABLE(widget->window), gc, TRUE, 0, 0, widget->allocation.width, film_border_width);
+ gdk_draw_rectangle(GDK_DRAWABLE(widget->window), gc, TRUE, 0, widget->allocation.height - film_border_width, widget->allocation.width, film_border_width);
+ gdk_gc_set_rgb_fg_color (gc, &dot_color);
+ for (; i < widget->allocation.width; i+=film_border_width)
+ {
+ gdk_draw_rectangle (GDK_DRAWABLE (widget->window), gc, TRUE, 2+i, 2, (gint)((gdouble)film_border_width / 2.0), (gint)((gdouble)film_border_width / 2.0));
+ gdk_draw_rectangle (GDK_DRAWABLE (widget->window), gc, TRUE, 2+i,
+ widget->allocation.height - (gint)((gdouble)film_border_width / 4.0 * 3.0),
+ film_border_width/2, film_border_width/2);
+ }
+ }
+ break;
+
+ case GTK_ORIENTATION_VERTICAL:
+
+ if (film_border_width > 0)
+ {
+ n_ex->area.x += film_border_width;
+ gdk_draw_rectangle(GDK_DRAWABLE(widget->window), gc, TRUE, 0, 0, film_border_width, widget->allocation.height);
+ gdk_draw_rectangle(GDK_DRAWABLE(widget->window), gc, TRUE, widget->allocation.width - film_border_width, 0, film_border_width, widget->allocation.height);
+ gdk_gc_set_rgb_fg_color (gc, &dot_color);
+ for (; i < widget->allocation.height; i+=film_border_width)
+ {
+ gdk_draw_rectangle (GDK_DRAWABLE (widget->window), gc, TRUE, 2, 2+i, film_border_width / 2, film_border_width / 2);
+ gdk_draw_rectangle (GDK_DRAWABLE (widget->window), gc, TRUE,
+ widget->allocation.width - (gint)((gdouble)film_border_width / 4.0 * 3.0),
+ 2+i,
+ film_border_width/2, film_border_width/2);
+ }
+ }
+ break;
+ }
+
while(iter)
{
@@ -450,7 +550,7 @@ rstto_thumbnail_bar_expose(GtkWidget *widget, GdkEventExpose *ex)
break;
}
}
- iter = g_slist_next(iter);
+ iter = g_list_next(iter);
}
return FALSE;
@@ -487,7 +587,6 @@ rstto_thumbnail_bar_realize(GtkWidget *widget)
attributes.y = 0;
widget->style = gtk_style_attach (widget->style, widget->window);
gtk_style_set_background (widget->style, widget->window, GTK_STATE_NORMAL);
-
}
static void
@@ -500,22 +599,36 @@ rstto_thumbnail_bar_unrealize(GtkWidget *widget)
}
GtkWidget *
-rstto_thumbnail_bar_new(RsttoNavigator *navigator)
+rstto_thumbnail_bar_new (RsttoImageList *nav)
{
RsttoThumbnailBar *bar;
bar = g_object_new(RSTTO_TYPE_THUMBNAIL_BAR, NULL);
- bar->priv->navigator = navigator;
-
- g_signal_connect(G_OBJECT(navigator), "new-entry", G_CALLBACK(cb_rstto_thumbnail_bar_nav_new_entry), bar);
- g_signal_connect(G_OBJECT(navigator), "iter-changed", G_CALLBACK(cb_rstto_thumbnail_bar_nav_iter_changed), bar);
- g_signal_connect(G_OBJECT(navigator), "reordered", G_CALLBACK(cb_rstto_thumbnail_bar_nav_reordered), bar);
- g_signal_connect(G_OBJECT(navigator), "entry-removed", G_CALLBACK(cb_rstto_thumbnail_bar_nav_entry_removed), bar);
+ rstto_thumbnail_bar_set_image_list (bar, nav);
return (GtkWidget *)bar;
}
+void
+rstto_thumbnail_bar_set_image_list (RsttoThumbnailBar *bar, RsttoImageList *nav)
+{
+ if (bar->priv->image_list)
+ {
+ g_object_unref (bar->priv->image_list);
+ bar->priv->image_list = NULL;
+ }
+
+ bar->priv->image_list = nav;
+
+ if (bar->priv->image_list)
+ {
+ g_signal_connect (G_OBJECT (bar->priv->image_list), "new-image", G_CALLBACK (cb_rstto_thumbnail_bar_image_list_new_image), bar);
+ g_signal_connect (G_OBJECT (bar->priv->image_list), "remove-image", G_CALLBACK (cb_rstto_thumbnail_bar_image_list_remove_image), bar);
+ g_signal_connect (G_OBJECT (bar->priv->image_list), "remove-all", G_CALLBACK (cb_rstto_thumbnail_bar_image_list_remove_all), bar);
+ g_object_ref (nav);
+ }
+}
/*
* rstto_thumbnail_bar_set_orientation:
*
@@ -546,25 +659,28 @@ rstto_thumbnail_bar_get_orientation (RsttoThumbnailBar *bar)
static void
rstto_thumbnail_bar_add(GtkContainer *container, GtkWidget *child)
{
- g_return_if_fail(GTK_IS_WIDGET(child));
RsttoThumbnailBar *bar = RSTTO_THUMBNAIL_BAR(container);
+ g_return_if_fail(GTK_IS_WIDGET(child));
gtk_widget_set_parent(child, GTK_WIDGET(container));
- bar->priv->thumbs = g_slist_insert_sorted(bar->priv->thumbs, child, (GCompareFunc)cb_rstto_thumbnail_bar_compare);
+ bar->priv->thumbs = g_list_insert_sorted_with_data (bar->priv->thumbs, child, (GCompareDataFunc)cb_rstto_thumbnail_bar_compare, bar);
}
static void
rstto_thumbnail_bar_remove(GtkContainer *container, GtkWidget *child)
{
- g_return_if_fail(GTK_IS_WIDGET(child));
-
RsttoThumbnailBar *bar = RSTTO_THUMBNAIL_BAR(container);
gboolean widget_was_visible;
+ g_return_if_fail(GTK_IS_WIDGET(child));
+
+
widget_was_visible = GTK_WIDGET_VISIBLE(child);
- bar->priv->thumbs = g_slist_remove(bar->priv->thumbs, child);
+ rstto_thumbnailer_dequeue_image (bar->priv->thumbnailer, rstto_thumbnail_get_image(RSTTO_THUMBNAIL(child)));
+
+ bar->priv->thumbs = g_list_remove(bar->priv->thumbs, child);
gtk_widget_unparent(child);
@@ -580,7 +696,7 @@ rstto_thumbnail_bar_forall(GtkContainer *container, gboolean include_internals,
g_return_if_fail(callback != NULL);
- g_slist_foreach(bar->priv->thumbs, (GFunc)callback, callback_data);
+ g_list_foreach(bar->priv->thumbs, (GFunc)callback, callback_data);
}
@@ -590,163 +706,19 @@ rstto_thumbnail_bar_child_type(GtkContainer *container)
return GTK_TYPE_WIDGET;
}
-/*
- * cb_rstto_thumbnail_bar_nav_new_entry :
- *
- * @nav : RsttoNavigator
- * @nr : nr
- * @entry :
- * @bar :
- *
- */
-static void
-cb_rstto_thumbnail_bar_nav_new_entry(RsttoNavigator *nav, gint nr, RsttoNavigatorEntry *entry, RsttoThumbnailBar *bar)
-{
- GtkWidget *thumb;
- if (g_slist_length(bar->priv->thumbs) > 0)
- {
- thumb = rstto_thumbnail_new_from_widget(entry, bar->priv->thumbs->data);
- }
- else
- {
- thumb = rstto_thumbnail_new(entry, NULL);
- }
- g_signal_connect(G_OBJECT(thumb), "clicked", G_CALLBACK(cb_rstto_thumbnail_bar_thumbnail_clicked), bar);
- g_signal_connect(G_OBJECT(thumb), "button_press_event", G_CALLBACK(cb_rstto_thumbnail_bar_thumbnail_button_press_event), NULL);
- g_signal_connect(G_OBJECT(thumb), "button_release_event", G_CALLBACK(cb_rstto_thumbnail_bar_thumbnail_button_release_event), NULL);
- g_signal_connect(G_OBJECT(thumb), "motion_notify_event", G_CALLBACK(cb_rstto_thumbnail_bar_thumbnail_motion_notify_event), NULL);
- gtk_container_add(GTK_CONTAINER(bar), thumb);
- gtk_widget_show(thumb);
-}
-
-/*
- * cb_rstto_thumbnail_bar_nav_iter_changed :
- *
- * @nav : RsttoNavigator
- * @nr : nr
- * @entry :
- * @bar :
- *
- */
-static void
-cb_rstto_thumbnail_bar_nav_iter_changed(RsttoNavigator *nav, gint nr, RsttoNavigatorEntry *entry, RsttoThumbnailBar *bar)
-{
- if (nr == -1)
- {
- gtk_container_foreach(GTK_CONTAINER(bar), (GtkCallback)gtk_widget_destroy, NULL);
- }
- GSList *iter = bar->priv->thumbs;
-
-
- int i = 0;
-
- while (iter != NULL)
- {
- if (entry == rstto_thumbnail_get_entry(RSTTO_THUMBNAIL(iter->data)))
- {
- //gtk_button_clicked(GTK_BUTTON(iter->data));
- break;
- }
- i++;
- iter = g_slist_next(iter);
- }
-
- /* If the children should be autocentered... resize */
- /*
- * if (bar->priv->auto_center == TRUE)
- * gtk_widget_queue_resize(GTK_WIDGET(bar));
- */
-
- gtk_widget_queue_resize(GTK_WIDGET(bar));
-}
-
-/*
- * cb_rstto_thumbnail_bar_nav_reordered :
- *
- * @nav : RsttoNavigator
- * @bar :
- *
- */
-static void
-cb_rstto_thumbnail_bar_nav_reordered (RsttoNavigator *nav, RsttoThumbnailBar *bar)
-{
- gtk_container_foreach(GTK_CONTAINER(bar), (GtkCallback)gtk_widget_destroy, NULL);
- if (bar->priv->thumbs)
- {
- g_slist_free(bar->priv->thumbs);
- bar->priv->thumbs = NULL;
- }
-
- GtkWidget *thumb;
- gint i;
- gint n_files = rstto_navigator_get_n_files(bar->priv->navigator);
-
- for (i = 0; i < n_files; ++i)
- {
- RsttoNavigatorEntry *entry = rstto_navigator_get_nth_file(bar->priv->navigator, i);
- if (g_slist_length(bar->priv->thumbs) > 0)
- {
- thumb = rstto_thumbnail_new_from_widget(entry, bar->priv->thumbs->data);
- }
- else
- {
- thumb = rstto_thumbnail_new(entry, NULL);
- }
-
-
- g_signal_connect(G_OBJECT(thumb), "clicked", G_CALLBACK(cb_rstto_thumbnail_bar_thumbnail_clicked), bar);
- g_signal_connect(G_OBJECT(thumb), "button_press_event", G_CALLBACK(cb_rstto_thumbnail_bar_thumbnail_button_press_event), NULL);
- g_signal_connect(G_OBJECT(thumb), "button_release_event", G_CALLBACK(cb_rstto_thumbnail_bar_thumbnail_button_release_event), NULL);
- g_signal_connect(G_OBJECT(thumb), "motion_notify_event", G_CALLBACK(cb_rstto_thumbnail_bar_thumbnail_motion_notify_event), NULL);
- gtk_container_add(GTK_CONTAINER(bar), thumb);
-
- if (rstto_navigator_entry_is_selected(entry))
- {
- RSTTO_THUMBNAIL(thumb)->selected = TRUE;
- }
- }
-
- gtk_container_foreach(GTK_CONTAINER(bar), (GtkCallback)gtk_widget_show, NULL);
-
-
-
- /* If the children should be autocentered... resize */
- /*
- * if (bar->priv->auto_center == TRUE)
- * gtk_widget_queue_resize(GTK_WIDGET(bar));
- */
-
- gtk_widget_queue_resize(GTK_WIDGET(bar));
-}
-
-static void
-cb_rstto_thumbnail_bar_thumbnail_clicked (RsttoThumbnail *thumb, RsttoThumbnailBar *bar)
-{
- if (thumb->selected == TRUE)
- {
- bar->priv->auto_center = TRUE;
- rstto_navigator_entry_select (rstto_thumbnail_get_entry(thumb));
- }
-}
static gint
-cb_rstto_thumbnail_bar_compare (RsttoThumbnail *a, RsttoThumbnail *b)
+cb_rstto_thumbnail_bar_compare (GtkWidget *a, GtkWidget *b, gpointer user_data)
{
- RsttoNavigatorEntry *_a = rstto_thumbnail_get_entry(a);
- RsttoNavigatorEntry *_b = rstto_thumbnail_get_entry(b);
+ RsttoThumbnailBar *bar = RSTTO_THUMBNAIL_BAR (user_data);
+ RsttoImage *a_i = rstto_thumbnail_get_image (RSTTO_THUMBNAIL (a));
+ RsttoImage *b_i = rstto_thumbnail_get_image (RSTTO_THUMBNAIL (b));
- if (rstto_navigator_entry_get_position(_a) < rstto_navigator_entry_get_position(_b))
- {
- return -1;
- }
- else
- {
- return 1;
- }
+ return rstto_image_list_get_compare_func (bar->priv->image_list) (a_i, b_i);
}
static gboolean
-cb_rstto_thumbnail_bar_thumbnail_button_press_event (RsttoThumbnail *thumb, GdkEventButton *event)
+cb_rstto_thumbnail_bar_thumbnail_button_press_event (GtkWidget *thumb, GdkEventButton *event)
{
if(event->button == 1)
{
@@ -769,7 +741,7 @@ cb_rstto_thumbnail_bar_thumbnail_button_press_event (RsttoThumbnail *thumb, GdkE
}
static gboolean
-cb_rstto_thumbnail_bar_thumbnail_button_release_event (RsttoThumbnail *thumb, GdkEventButton *event)
+cb_rstto_thumbnail_bar_thumbnail_button_release_event (GtkWidget *thumb, GdkEventButton *event)
{
RsttoThumbnailBar *bar = RSTTO_THUMBNAIL_BAR(gtk_widget_get_parent(GTK_WIDGET(thumb)));
if(event->button == 1)
@@ -786,13 +758,20 @@ cb_rstto_thumbnail_bar_thumbnail_button_release_event (RsttoThumbnail *thumb, Gd
}
static gboolean
-cb_rstto_thumbnail_bar_thumbnail_motion_notify_event (RsttoThumbnail *thumb,
+cb_rstto_thumbnail_bar_thumbnail_motion_notify_event (GtkWidget *thumb,
GdkEventMotion *event,
gpointer user_data)
{
RsttoThumbnailBar *bar = RSTTO_THUMBNAIL_BAR(gtk_widget_get_parent(GTK_WIDGET(thumb)));
gdouble x = event->x + GTK_WIDGET(thumb)->allocation.x;
gdouble y = event->y + GTK_WIDGET(thumb)->allocation.y;
+ gint thumb_size = GTK_WIDGET(bar->priv->thumbs->data)->allocation.width;
+ gint border_width = 0;
+ gint spacing;
+ gint size = 0;
+
+ gtk_widget_style_get(GTK_WIDGET (bar), "spacing", &spacing, NULL);
+ size = thumb_size * g_list_length (bar->priv->thumbs) + spacing * (g_list_length (bar->priv->thumbs) - 1);
if (event->state & GDK_BUTTON1_MASK)
{
@@ -806,11 +785,24 @@ cb_rstto_thumbnail_bar_thumbnail_motion_notify_event (RsttoThumbnail *thumb,
if (bar->priv->orientation == GTK_ORIENTATION_HORIZONTAL)
{
bar->priv->offset = bar->priv->motion.offset + (bar->priv->motion.current_x - x);
+ if ((thumb_size - GTK_WIDGET(bar)->allocation.width) >= bar->priv->offset)
+ bar->priv->offset = thumb_size - GTK_WIDGET(bar)->allocation.width + border_width;
+ if ((size - thumb_size) <= bar->priv->offset)
+ bar->priv->offset = size - thumb_size;
}
else
{
bar->priv->offset = bar->priv->motion.offset + (bar->priv->motion.current_y - y);
+ if ((thumb_size - GTK_WIDGET(bar)->allocation.height) >= bar->priv->offset)
+ bar->priv->offset = thumb_size - GTK_WIDGET(bar)->allocation.height + border_width;
+ if ((size - thumb_size) <= bar->priv->offset)
+ bar->priv->offset = size - thumb_size;
}
+
+
+ bar->priv->motion.offset = bar->priv->offset;
+ bar->priv->motion.current_x = x;
+ bar->priv->motion.current_y = y;
gtk_widget_queue_resize(GTK_WIDGET(bar));
}
return FALSE;
@@ -822,8 +814,12 @@ cb_rstto_thumbnail_bar_scroll_event (RsttoThumbnailBar *bar,
gpointer *user_data)
{
gint thumb_size;
- GSList *thumb;
+ GList *thumb;
gint border_width = GTK_CONTAINER(bar)->border_width;
+ gint spacing = 0;
+ GtkWidget *widget = GTK_WIDGET (bar);
+
+ gtk_widget_style_get(widget, "spacing", &spacing, NULL);
switch(event->direction)
{
@@ -859,22 +855,22 @@ cb_rstto_thumbnail_bar_scroll_event (RsttoThumbnailBar *bar,
{
case GTK_ORIENTATION_HORIZONTAL:
thumb_size = GTK_WIDGET(bar->priv->thumbs->data)->allocation.width;
- for (thumb = bar->priv->thumbs; thumb != NULL; thumb = g_slist_next(thumb))
+ for (thumb = bar->priv->thumbs; thumb != NULL; thumb = g_list_next(thumb))
{
- size += GTK_WIDGET(thumb->data)->allocation.width;
- if (g_slist_next(thumb))
- size += border_width;
+ size += thumb_size * g_list_length (bar->priv->thumbs);
+ if (g_list_next (thumb))
+ size += spacing;
}
if ((size - thumb_size) <= bar->priv->offset)
bar->priv->offset = size - thumb_size;
break;
case GTK_ORIENTATION_VERTICAL:
thumb_size = GTK_WIDGET(bar->priv->thumbs->data)->allocation.height;
- for (thumb = bar->priv->thumbs; thumb != NULL; thumb = g_slist_next(thumb))
+ for (thumb = bar->priv->thumbs; thumb != NULL; thumb = g_list_next(thumb))
{
size += GTK_WIDGET(thumb->data)->allocation.height;
- if (g_slist_next(thumb))
- size += border_width;
+ if (g_list_next (thumb))
+ size += spacing;
}
if ((size - thumb_size) <= bar->priv->offset)
bar->priv->offset = size - thumb_size;
@@ -888,19 +884,102 @@ cb_rstto_thumbnail_bar_scroll_event (RsttoThumbnailBar *bar,
}
+void
+rstto_thumbnail_bar_set_iter (RsttoThumbnailBar *bar, RsttoImageListIter *iter)
+{
+ if (bar->priv->iter)
+ {
+ g_signal_handlers_disconnect_by_func (bar->priv->iter, cb_rstto_thumbnail_bar_image_list_iter_changed, bar);
+
+ g_object_unref (bar->priv->iter);
+ g_object_unref (bar->priv->internal_iter);
+ bar->priv->internal_iter = NULL;
+ }
+
+ bar->priv->iter = iter;
+
+ if (bar->priv->iter)
+ {
+ g_object_ref (bar->priv->iter);
+ bar->priv->internal_iter = rstto_image_list_iter_clone (bar->priv->iter);
+ g_signal_connect (bar->priv->iter, "changed", G_CALLBACK (cb_rstto_thumbnail_bar_image_list_iter_changed), bar);
+ }
+}
+
+void
+cb_rstto_thumbnail_bar_image_list_iter_changed (RsttoImageListIter *iter, gpointer user_data)
+{
+ RsttoThumbnailBar *bar = RSTTO_THUMBNAIL_BAR (user_data);
+
+ bar->priv->thumbs = g_list_sort_with_data (bar->priv->thumbs, (GCompareDataFunc)cb_rstto_thumbnail_bar_compare, bar);
+ bar->priv->auto_center = TRUE;
+
+ gtk_widget_queue_resize(GTK_WIDGET(bar));
+ /* useless, but keepsthe compiler silent */
+ bar->priv->begin=0;
+}
+
+static void
+cb_rstto_thumbnail_bar_image_list_new_image (RsttoImageList *image_list, RsttoImage *image, gpointer user_data)
+{
+ RsttoThumbnailBar *bar = RSTTO_THUMBNAIL_BAR (user_data);
+ GtkWidget *thumb;
+ GList *iter;
+
+ g_return_if_fail (rstto_image_list_iter_find_image (bar->priv->internal_iter, image));
+
+ for (iter = bar->priv->thumbs; iter != NULL; iter = g_list_next (iter))
+ {
+ if (image == rstto_thumbnail_get_image (iter->data))
+ return;
+ }
+
+ thumb = rstto_thumbnail_new (image);
+
+ gtk_container_add (GTK_CONTAINER (bar), thumb);
+ gtk_widget_show_all (thumb);
+
+ g_signal_connect (thumb, "clicked", G_CALLBACK (cb_rstto_thumbnail_bar_thumbnail_clicked), bar);
+ g_signal_connect (thumb, "button_press_event", G_CALLBACK (cb_rstto_thumbnail_bar_thumbnail_button_press_event), bar);
+ g_signal_connect (thumb, "button_release_event", G_CALLBACK (cb_rstto_thumbnail_bar_thumbnail_button_release_event), bar);
+ g_signal_connect (thumb, "motion_notify_event", G_CALLBACK (cb_rstto_thumbnail_bar_thumbnail_motion_notify_event), bar);
+}
+
static void
-cb_rstto_thumbnail_bar_nav_entry_removed(RsttoNavigator *nav, RsttoNavigatorEntry *entry, RsttoThumbnailBar *bar)
+cb_rstto_thumbnail_bar_image_list_remove_image (RsttoImageList *image_list, RsttoImage *image, gpointer user_data)
{
- GSList *iter = bar->priv->thumbs;
+ RsttoThumbnailBar *bar = RSTTO_THUMBNAIL_BAR (user_data);
+ GList *iter = bar->priv->thumbs;
- while (iter != NULL)
+ while (iter)
{
- if (entry == rstto_thumbnail_get_entry(RSTTO_THUMBNAIL(iter->data)))
+ if (rstto_thumbnail_get_image (iter->data) == image)
{
- g_signal_handlers_disconnect_by_func(G_OBJECT(iter->data), G_CALLBACK(cb_rstto_thumbnail_bar_thumbnail_clicked), bar);
- gtk_widget_destroy(GTK_WIDGET(iter->data));
+ GtkWidget *widget = iter->data;
+ gtk_container_remove (GTK_CONTAINER (bar), widget);
break;
}
- iter = g_slist_next(iter);
+ iter = g_list_next (iter);
+ }
+}
+
+static void
+cb_rstto_thumbnail_bar_image_list_remove_all (RsttoImageList *image_list, gpointer user_data)
+{
+ RsttoThumbnailBar *bar = RSTTO_THUMBNAIL_BAR (user_data);
+ if (bar->priv->thumbs)
+ {
+ g_list_foreach (bar->priv->thumbs, (GFunc)(gtk_widget_destroy), NULL);
+ g_list_free (bar->priv->thumbs);
+ bar->priv->thumbs = NULL;
}
}
+
+
+
+static void
+cb_rstto_thumbnail_bar_thumbnail_clicked (GtkWidget *thumb, RsttoThumbnailBar *bar)
+{
+ g_return_if_fail (bar->priv->iter);
+ rstto_image_list_iter_set_position (bar->priv->iter, g_list_index(bar->priv->thumbs, thumb));
+}
diff --git a/src/thumbnail_bar.h b/src/thumbnail_bar.h
index bb4c687..11e847b 100644
--- a/src/thumbnail_bar.h
+++ b/src/thumbnail_bar.h
@@ -47,6 +47,7 @@ struct _RsttoThumbnailBar
{
GtkContainer parent;
RsttoThumbnailBarPriv *priv;
+ gint film_border_width;
};
typedef struct _RsttoThumbnailBarClass RsttoThumbnailBarClass;
@@ -63,6 +64,9 @@ GtkWidget *rstto_thumbnail_bar_new();
void rstto_thumbnail_bar_set_orientation (RsttoThumbnailBar *, GtkOrientation);
GtkOrientation rstto_thumbnail_bar_get_orientation (RsttoThumbnailBar *);
+void rstto_thumbnail_bar_set_image_list (RsttoThumbnailBar *bar, RsttoImageList *nav);
+void rstto_thumbnail_bar_set_iter (RsttoThumbnailBar *bar, RsttoImageListIter *iter);
+
G_END_DECLS
#endif /* __RISTRETTO_THUMBNAIL_BAR_H__ */
diff --git a/src/thumbnailer.c b/src/thumbnailer.c
new file mode 100644
index 0000000..a9f3434
--- /dev/null
+++ b/src/thumbnailer.c
@@ -0,0 +1,320 @@
+/*
+ * Copyright (c) Stephan Arts 2009-2010 <stephan at xfce.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
+ * (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 Library 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 <glib.h>
+#include <gtk/gtk.h>
+#include <gio/gio.h>
+#include <dbus/dbus-glib.h>
+
+#include "image.h"
+#include "thumbnail.h"
+#include "thumbnailer.h"
+
+static void
+rstto_thumbnailer_init (GObject *);
+static void
+rstto_thumbnailer_class_init (GObjectClass *);
+
+static void
+rstto_thumbnailer_dispose (GObject *object);
+static void
+rstto_thumbnailer_finalize (GObject *object);
+
+static void
+rstto_thumbnailer_set_property (GObject *object,
+ guint property_id,
+ const GValue *value,
+ GParamSpec *pspec);
+static void
+rstto_thumbnailer_get_property (GObject *object,
+ guint property_id,
+ GValue *value,
+ GParamSpec *pspec);
+
+static void
+cb_rstto_thumbnailer_request_finished (DBusGProxy *proxy, gint handle, gpointer data);
+static void
+cb_rstto_thumbnailer_thumbnail_ready (DBusGProxy *proxy, gint handle, const gchar **uri, gpointer data);
+
+static gboolean
+rstto_thumbnailer_queue_request_timer (RsttoThumbnailer *thumbnailer);
+
+static GObjectClass *parent_class = NULL;
+
+static RsttoThumbnailer *thumbnailer_object;
+
+enum
+{
+ PROP_0,
+};
+
+GType
+rstto_thumbnailer_get_type (void)
+{
+ static GType rstto_thumbnailer_type = 0;
+
+ if (!rstto_thumbnailer_type)
+ {
+ static const GTypeInfo rstto_thumbnailer_info =
+ {
+ sizeof (RsttoThumbnailerClass),
+ (GBaseInitFunc) NULL,
+ (GBaseFinalizeFunc) NULL,
+ (GClassInitFunc) rstto_thumbnailer_class_init,
+ (GClassFinalizeFunc) NULL,
+ NULL,
+ sizeof (RsttoThumbnailer),
+ 0,
+ (GInstanceInitFunc) rstto_thumbnailer_init,
+ NULL
+ };
+
+ rstto_thumbnailer_type = g_type_register_static (G_TYPE_OBJECT, "RsttoThumbnailer", &rstto_thumbnailer_info, 0);
+ }
+ return rstto_thumbnailer_type;
+}
+
+struct _RsttoThumbnailerPriv
+{
+ DBusGConnection *connection;
+ DBusGProxy *proxy;
+ GSList *queue;
+ gint handle;
+
+ gint request_timer_id;
+};
+
+static void
+rstto_thumbnailer_init (GObject *object)
+{
+ RsttoThumbnailer *thumbnailer = RSTTO_THUMBNAILER (object);
+
+ thumbnailer->priv = g_new0 (RsttoThumbnailerPriv, 1);
+ thumbnailer->priv->connection = dbus_g_bus_get(DBUS_BUS_SESSION, NULL);
+ if (thumbnailer->priv->connection)
+ {
+
+ thumbnailer->priv->proxy = dbus_g_proxy_new_for_name (thumbnailer->priv->connection,
+ "org.freedesktop.thumbnails.Thumbnailer1",
+ "/org/freedesktop/thumbnails/Thumbnailer1",
+ "org.freedesktop.thumbnails.Thumbnailer1");
+ dbus_g_proxy_add_signal (thumbnailer->priv->proxy, "Finished", G_TYPE_UINT, G_TYPE_INVALID);
+
+ dbus_g_proxy_connect_signal (thumbnailer->priv->proxy, "Finished", G_CALLBACK(cb_rstto_thumbnailer_request_finished), thumbnailer, NULL);
+ }
+}
+
+
+static void
+rstto_thumbnailer_class_init (GObjectClass *object_class)
+{
+ GParamSpec *pspec;
+
+ RsttoThumbnailerClass *thumbnailer_class = RSTTO_THUMBNAILER_CLASS (object_class);
+
+ parent_class = g_type_class_peek_parent (thumbnailer_class);
+
+ object_class->dispose = rstto_thumbnailer_dispose;
+ object_class->finalize = rstto_thumbnailer_finalize;
+
+ object_class->set_property = rstto_thumbnailer_set_property;
+ object_class->get_property = rstto_thumbnailer_get_property;
+
+}
+
+/**
+ * rstto_thumbnailer_dispose:
+ * @object:
+ *
+ */
+static void
+rstto_thumbnailer_dispose (GObject *object)
+{
+ RsttoThumbnailer *thumbnailer = RSTTO_THUMBNAILER (object);
+
+ if (thumbnailer->priv)
+ {
+ g_free (thumbnailer->priv);
+ thumbnailer->priv = NULL;
+ }
+}
+
+/**
+ * rstto_thumbnailer_finalize:
+ * @object:
+ *
+ */
+static void
+rstto_thumbnailer_finalize (GObject *object)
+{
+}
+
+
+
+/**
+ * rstto_thumbnailer_new:
+ *
+ *
+ * Singleton
+ */
+RsttoThumbnailer *
+rstto_thumbnailer_new (void)
+{
+ if (thumbnailer_object == NULL)
+ {
+ thumbnailer_object = g_object_new (RSTTO_TYPE_THUMBNAILER, NULL);
+ }
+ else
+ {
+ g_object_ref (thumbnailer_object);
+ }
+
+ return thumbnailer_object;
+}
+
+
+static void
+rstto_thumbnailer_set_property (GObject *object,
+ guint property_id,
+ const GValue *value,
+ GParamSpec *pspec)
+{
+ RsttoThumbnailer *thumbnailer = RSTTO_THUMBNAILER (object);
+
+ switch (property_id)
+ {
+ default:
+ break;
+ }
+
+}
+
+static void
+rstto_thumbnailer_get_property (GObject *object,
+ guint property_id,
+ GValue *value,
+ GParamSpec *pspec)
+{
+ RsttoThumbnailer *thumbnailer = RSTTO_THUMBNAILER (object);
+
+ switch (property_id)
+ {
+ default:
+ break;
+ }
+}
+
+void
+rstto_thumbnailer_queue_image (RsttoThumbnailer *thumbnailer, RsttoImage *image)
+{
+ if (thumbnailer->priv->request_timer_id)
+ g_source_remove (thumbnailer->priv->request_timer_id);
+
+ thumbnailer->priv->queue = g_slist_prepend (thumbnailer->priv->queue, image);
+
+ thumbnailer->priv->request_timer_id = g_timeout_add_full (G_PRIORITY_LOW, 100, (GSourceFunc)rstto_thumbnailer_queue_request_timer, thumbnailer, NULL);
+}
+
+void
+rstto_thumbnailer_dequeue_image (RsttoThumbnailer *thumbnailer, RsttoImage *image)
+{
+ if (thumbnailer->priv->request_timer_id)
+ g_source_remove (thumbnailer->priv->request_timer_id);
+
+ thumbnailer->priv->queue = g_slist_remove_all (thumbnailer->priv->queue, image);
+
+ thumbnailer->priv->request_timer_id = g_timeout_add_full (G_PRIORITY_LOW, 100, (GSourceFunc)rstto_thumbnailer_queue_request_timer, thumbnailer, NULL);
+}
+
+static gboolean
+rstto_thumbnailer_queue_request_timer (RsttoThumbnailer *thumbnailer)
+{
+ gchar **uris;
+ const gchar **mimetypes;
+ GSList *iter;
+ gint i = 0;
+ GFile *file;
+ RsttoImage *image;
+ GError *error = NULL;
+ GFileInfo *file_info;
+
+ uris = g_new0 (gchar *, g_slist_length(thumbnailer->priv->queue)+1);
+ mimetypes = g_new0 (const gchar *, g_slist_length(thumbnailer->priv->queue)+1);
+
+ iter = thumbnailer->priv->queue;
+ while (iter)
+ {
+ image = rstto_thumbnail_get_image (RSTTO_THUMBNAIL(iter->data));
+ file = rstto_image_get_file (image);
+ uris[i] = g_file_get_uri (file);
+ file_info = g_file_query_info (file, "standard::content-type", 0, NULL, NULL);
+ if (file_info)
+ {
+ mimetypes[i] = g_file_info_get_attribute_string (file_info, "standard::content-type");
+ }
+ iter = g_slist_next(iter);
+ i++;
+ }
+
+ if(dbus_g_proxy_call(thumbnailer->priv->proxy,
+ "Queue",
+ &error,
+ G_TYPE_STRV, uris,
+ G_TYPE_STRV, mimetypes,
+ G_TYPE_STRING, "normal",
+ G_TYPE_STRING, "default",
+ G_TYPE_UINT, 0,
+ G_TYPE_INVALID,
+ G_TYPE_UINT, &thumbnailer->priv->handle,
+ G_TYPE_INVALID) == FALSE)
+ {
+ g_debug("call faile:%s", error->message);
+ /* TOOO: Nice cleanup */
+ }
+
+ thumbnailer->priv->request_timer_id = 0;
+ return FALSE;
+}
+
+static void
+cb_rstto_thumbnailer_request_finished (DBusGProxy *proxy, gint handle, gpointer data)
+{
+ RsttoThumbnailer *thumbnailer = RSTTO_THUMBNAILER (data);
+ GSList *iter = thumbnailer->priv->queue;
+ GSList *prev;
+ while (iter)
+ {
+ rstto_thumbnail_update (iter->data);
+ iter = g_slist_next(iter);
+ }
+ g_slist_free (thumbnailer->priv->queue);
+ thumbnailer->priv->queue = NULL;
+}
+
+static void
+cb_rstto_thumbnailer_thumbnail_ready (DBusGProxy *proxy, gint handle, const gchar **uri, gpointer data)
+{
+ g_debug("Ready");
+}
+
+/*
+
+
+*/
diff --git a/src/thumbnailer.h b/src/thumbnailer.h
new file mode 100644
index 0000000..feb4de9
--- /dev/null
+++ b/src/thumbnailer.h
@@ -0,0 +1,71 @@
+/*
+ * Copyright (c) Stephan Arts 2009-2010 <stephan at xfce.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
+ * (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 Library 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 __RISTRETTO_THUMBNAILER_H__
+#define __RISTRETTO_THUMBNAILER_H__
+
+G_BEGIN_DECLS
+
+#define RSTTO_TYPE_THUMBNAILER rstto_thumbnailer_get_type()
+
+#define RSTTO_THUMBNAILER(obj)( \
+ G_TYPE_CHECK_INSTANCE_CAST ((obj), \
+ RSTTO_TYPE_THUMBNAILER, \
+ RsttoThumbnailer))
+
+#define RSTTO_IS_THUMBNAILER(obj)( \
+ G_TYPE_CHECK_INSTANCE_TYPE ((obj), \
+ RSTTO_TYPE_THUMBNAILER))
+
+#define RSTTO_THUMBNAILER_CLASS(klass)( \
+ G_TYPE_CHECK_CLASS_CAST ((klass), \
+ RSTTO_TYPE_THUMBNAILER, \
+ RsttoThumbnailerClass))
+
+#define RSTTO_IS_THUMBNAILER_CLASS(klass)( \
+ G_TYPE_CHECK_CLASS_TYPE ((klass), \
+ RSTTO_TYPE_THUMBNAILER()))
+
+
+typedef struct _RsttoThumbnailer RsttoThumbnailer;
+typedef struct _RsttoThumbnailerPriv RsttoThumbnailerPriv;
+
+struct _RsttoThumbnailer
+{
+ GObject parent;
+
+ RsttoThumbnailerPriv *priv;
+};
+
+typedef struct _RsttoThumbnailerClass RsttoThumbnailerClass;
+
+struct _RsttoThumbnailerClass
+{
+ GObjectClass parent_class;
+};
+
+RsttoThumbnailer *rstto_thumbnailer_new (void);
+GType rstto_thumbnailer_get_type (void);
+
+void
+rstto_thumbnailer_queue_image (RsttoThumbnailer *thumbnailer, RsttoImage *image);
+void
+rstto_thumbnailer_dequeue_image (RsttoThumbnailer *thumbnailer, RsttoImage *image);
+G_END_DECLS
+
+#endif /* __RISTRETTO_THUMBNAILER_H__ */
diff --git a/src/wallpaper_manager.c b/src/wallpaper_manager.c
new file mode 100644
index 0000000..ae49383
--- /dev/null
+++ b/src/wallpaper_manager.c
@@ -0,0 +1,78 @@
+/*
+ * Copyright (c) Stephan Arts 2009-2010 <stephan at xfce.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
+ * (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 Library 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 <string.h>
+
+#include <glib.h>
+#include <glib-object.h>
+#include <gtk/gtk.h>
+#include <gio/gio.h>
+
+
+
+#include "image.h"
+
+#include "wallpaper_manager.h"
+
+gint
+rstto_wallpaper_manager_configure_dialog_run (RsttoWallpaperManager *self, RsttoImage *image)
+{
+ return RSTTO_WALLPAPER_MANAGER_GET_IFACE (self)->configure_dialog_run(self, image);
+}
+
+gboolean
+rstto_wallpaper_manager_check_running (RsttoWallpaperManager *self)
+{
+ return RSTTO_WALLPAPER_MANAGER_GET_IFACE (self)->check_running (self);
+}
+
+gboolean
+rstto_wallpaper_manager_set (RsttoWallpaperManager *self, RsttoImage *image)
+{
+ return RSTTO_WALLPAPER_MANAGER_GET_IFACE (self)->set (self, image);
+}
+
+
+static void
+rstto_wallpaper_manager_iface_init (gpointer g_iface)
+{
+ RsttoWallpaperManagerIface *iface = (RsttoWallpaperManagerIface *)g_iface;
+ iface->configure_dialog_run = rstto_wallpaper_manager_configure_dialog_run;
+}
+
+
+GType
+rstto_wallpaper_manager_get_type (void)
+{
+ static GType iface_type = 0;
+ if (iface_type == 0)
+ {
+ static const GTypeInfo info = {
+ sizeof (RsttoWallpaperManagerIface),
+ rstto_wallpaper_manager_iface_init, /* base_init */
+ NULL, /* base_finalize */
+ };
+
+ iface_type = g_type_register_static (G_TYPE_INTERFACE, "RsttoWallpaperManagerIface",
+ &info, 0);
+ }
+
+ return iface_type;
+
+}
diff --git a/src/wallpaper_manager.h b/src/wallpaper_manager.h
new file mode 100644
index 0000000..a520d00
--- /dev/null
+++ b/src/wallpaper_manager.h
@@ -0,0 +1,49 @@
+/*
+ * Copyright (c) Stephan Arts 2009-2010 <stephan at xfce.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
+ * (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 Library 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 __RISTRETTO_WALLPAPER_MANAGER_IFACE__
+#define __RISTRETTO_WALLPAPER_MANAGER_IFACE__
+
+G_BEGIN_DECLS
+
+#define RSTTO_WALLPAPER_MANAGER_TYPE rstto_wallpaper_manager_get_type ()
+#define RSTTO_WALLPAPER_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), RSTTO_WALLPAPER_MANAGER_TYPE, RsttoWallpaperManager))
+#define RSTTO_IS_WALLPAPER_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), RSTTO_WALLPAPER_MANAGER_TYPE))
+#define RSTTO_WALLPAPER_MANAGER_GET_IFACE(inst) (G_TYPE_INSTANCE_GET_INTERFACE ((inst), RSTTO_WALLPAPER_MANAGER_TYPE, RsttoWallpaperManagerIface))
+
+typedef struct _RsttoWallpaperManager RsttoWallpaperManager; /* dummy object */
+typedef struct _RsttoWallpaperManagerIface RsttoWallpaperManagerIface;
+
+struct _RsttoWallpaperManagerIface {
+ GTypeInterface parent;
+
+ gint (*configure_dialog_run) (RsttoWallpaperManager *self, RsttoImage *image);
+ gboolean (*set) (RsttoWallpaperManager *self, RsttoImage *image);
+ gboolean (*check_running) (RsttoWallpaperManager *self);
+};
+
+GType rstto_wallpaper_manager_get_type (void);
+
+gboolean rstto_wallpaper_manager_check_running (RsttoWallpaperManager *self);
+
+gint rstto_wallpaper_manager_configure_dialog_run (RsttoWallpaperManager *self, RsttoImage *image);
+gboolean rstto_wallpaper_manager_set (RsttoWallpaperManager *self, RsttoImage *image);
+
+G_END_DECLS
+
+#endif /* __RISTRETTO_WALLPAPER_MANAGER_IFACE__ */
diff --git a/src/xfce_wallpaper_manager.c b/src/xfce_wallpaper_manager.c
new file mode 100644
index 0000000..767bbdb
--- /dev/null
+++ b/src/xfce_wallpaper_manager.c
@@ -0,0 +1,369 @@
+/*
+ * Copyright (c) Stephan Arts 2009-2010 <stephan at xfce.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
+ * (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 Library 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 <glib.h>
+#include <gtk/gtk.h>
+#include <gdk/gdkx.h>
+#include <X11/Xlib.h>
+#include <xfconf/xfconf.h>
+#include <libxfce4util/libxfce4util.h>
+#include <gio/gio.h>
+
+#include "image.h"
+
+#include "wallpaper_manager.h"
+#include "xfce_wallpaper_manager.h"
+
+#define XFDESKTOP_SELECTION_FMT "XFDESKTOP_SELECTION_%d"
+
+typedef struct {
+ gint16 r;
+ gint16 g;
+ gint16 b;
+ gint16 a;
+} RsttoColor;
+
+
+static void
+rstto_xfce_wallpaper_manager_init (GObject *);
+static void
+rstto_xfce_wallpaper_manager_class_init (GObjectClass *);
+
+static void
+rstto_xfce_wallpaper_manager_dispose (GObject *object);
+static void
+rstto_xfce_wallpaper_manager_finalize (GObject *object);
+
+static GObjectClass *parent_class = NULL;
+
+static RsttoXfceWallpaperManager *xfce_wallpaper_manager_object;
+
+struct _RsttoXfceWallpaperManagerPriv
+{
+ XfconfChannel *channel;
+ gint screen;
+ gint monitor;
+ gint style;
+ gdouble saturation;
+ gint brightness;
+ RsttoColor *color1;
+ RsttoColor *color2;
+};
+
+
+enum
+{
+ PROP_0,
+};
+
+static gint
+rstto_xfce_wallpaper_manager_configure_dialog_run (RsttoWallpaperManager *self, RsttoImage *image)
+{
+ RsttoXfceWallpaperManager *manager = RSTTO_XFCE_WALLPAPER_MANAGER (self);
+ gint response = GTK_RESPONSE_OK;
+ gint i;
+ GdkScreen *screen = gdk_screen_get_default ();
+ gint n_monitors = gdk_screen_get_n_monitors (screen);
+ GtkWidget *dialog = gtk_dialog_new_with_buttons (_("Set as wallpaper"), NULL, 0, GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, GTK_STOCK_OK, GTK_RESPONSE_OK, NULL);
+ GtkWidget *vbox = gtk_dialog_get_content_area (GTK_DIALOG (dialog));
+ GtkWidget *style_label = gtk_label_new( _("Style:"));
+ GtkWidget *style_combo = gtk_combo_box_new_text();
+ GtkWidget *monitor_label = gtk_label_new( _("Monitor:"));
+ GtkWidget *monitor_combo = gtk_combo_box_new_text();
+ GtkWidget *brightness_label = gtk_label_new( _("Brightness:"));
+ GtkWidget *saturation_label = gtk_label_new( _("Saturation:"));
+ GtkObject *brightness_adjustment = gtk_adjustment_new (0.0, -128.0, 127.0, 1.0, 10.0, 0.0);
+ GtkObject *saturation_adjustment = gtk_adjustment_new (1.0, 0.0, 10.0, 0.1, 0.5, 0);
+ GtkWidget *brightness_slider = gtk_hscale_new (GTK_ADJUSTMENT (brightness_adjustment));
+ GtkWidget *saturation_slider = gtk_hscale_new (GTK_ADJUSTMENT (saturation_adjustment));
+ GtkWidget *image_hbox = gtk_hbox_new (FALSE, 4);
+ GdkPixbuf *image_pixbuf = rstto_image_get_thumbnail (image);
+ GtkWidget *image_box = gtk_image_new_from_pixbuf (image_pixbuf);
+ GtkWidget *prop_table = gtk_table_new (1, 2, FALSE);
+ GtkWidget *image_prop_table = gtk_table_new (2, 2, FALSE);
+
+ gtk_widget_set_size_request (image_box, 128, 128);
+ gtk_misc_set_padding (GTK_MISC (image_box), 4, 4);
+
+ gtk_box_pack_start (GTK_BOX (vbox), image_hbox, FALSE, FALSE, 0);
+ gtk_box_pack_start (GTK_BOX (image_hbox), image_box, FALSE, FALSE, 0);
+ gtk_box_pack_start (GTK_BOX (image_hbox), prop_table, FALSE, FALSE, 0);
+ gtk_table_attach (GTK_TABLE (prop_table), style_label, 0, 1, 0, 1, 0, 0, 0, 0);
+ gtk_table_attach (GTK_TABLE (prop_table), style_combo, 1, 2, 0, 1, 0, 0, 0, 0);
+
+
+ gtk_box_pack_start (GTK_BOX (vbox), image_prop_table, FALSE, FALSE, 0);
+
+ gtk_scale_set_value_pos (GTK_SCALE (brightness_slider), GTK_POS_RIGHT);
+ gtk_scale_set_digits (GTK_SCALE (brightness_slider), 0);
+ gtk_scale_set_value_pos (GTK_SCALE (saturation_slider), GTK_POS_RIGHT);
+ gtk_scale_set_digits (GTK_SCALE (saturation_slider), 1);
+ gtk_table_attach (GTK_TABLE (image_prop_table), brightness_label, 0, 1, 0, 1, 0, 0, 0, 0);
+ gtk_table_attach (GTK_TABLE (image_prop_table), brightness_slider, 1, 2, 0, 1, GTK_EXPAND|GTK_FILL, 0, 0, 0);
+ gtk_table_attach (GTK_TABLE (image_prop_table), saturation_label, 0, 1, 1, 2, 0, 0, 0, 0);
+ gtk_table_attach (GTK_TABLE (image_prop_table), saturation_slider, 1, 2, 1, 2, GTK_EXPAND|GTK_FILL, 0, 0, 0);
+
+ gtk_combo_box_append_text (GTK_COMBO_BOX (style_combo), _("Auto"));
+ gtk_combo_box_append_text (GTK_COMBO_BOX (style_combo), _("Centered"));
+ gtk_combo_box_append_text (GTK_COMBO_BOX (style_combo), _("Tiled"));
+ gtk_combo_box_append_text (GTK_COMBO_BOX (style_combo), _("Stretched"));
+ gtk_combo_box_append_text (GTK_COMBO_BOX (style_combo), _("Scaled"));
+ gtk_combo_box_append_text (GTK_COMBO_BOX (style_combo), _("Zoomed"));
+ gtk_combo_box_set_active (GTK_COMBO_BOX (style_combo), 4);
+
+ if (n_monitors > 1)
+ {
+ gtk_table_attach (GTK_TABLE (prop_table), monitor_label, 0, 1, 1, 2, 0, 0, 0, 0);
+ gtk_table_attach (GTK_TABLE (prop_table), monitor_combo, 1, 2, 1, 2, 0, 0, 0, 0);
+ for (i = 0; i < n_monitors; ++i)
+ {
+ gtk_combo_box_append_text (GTK_COMBO_BOX (monitor_combo), "1");
+ }
+ }
+
+ manager->priv->screen = gdk_screen_get_number (screen);
+
+ gtk_window_set_resizable (GTK_WINDOW (dialog), FALSE);
+ gtk_widget_show_all (vbox);
+ response = gtk_dialog_run (GTK_DIALOG (dialog));
+ gtk_widget_hide (dialog);
+ if (response == GTK_RESPONSE_OK)
+ {
+ manager->priv->style = gtk_combo_box_get_active (GTK_COMBO_BOX (style_combo));
+ manager->priv->saturation = gtk_adjustment_get_value (GTK_ADJUSTMENT (saturation_adjustment));
+ manager->priv->brightness = (gint)gtk_adjustment_get_value (GTK_ADJUSTMENT (brightness_adjustment));
+ manager->priv->monitor = 0;
+ }
+
+ gtk_widget_destroy (dialog);
+ return response;
+}
+
+static gboolean
+rstto_xfce_wallpaper_manager_check_running (RsttoWallpaperManager *self)
+{
+ gchar selection_name[100];
+ Atom xfce_selection_atom;
+ GdkScreen *gdk_screen = gdk_screen_get_default();
+ gint xscreen = gdk_screen_get_number(gdk_screen);
+
+ g_snprintf(selection_name, 100, XFDESKTOP_SELECTION_FMT, xscreen);
+
+ xfce_selection_atom = XInternAtom (gdk_display, selection_name, False);
+ if((XGetSelectionOwner(GDK_DISPLAY(), xfce_selection_atom)))
+ {
+ return TRUE;
+ }
+ return FALSE;
+}
+
+static gboolean
+rstto_xfce_wallpaper_manager_set (RsttoWallpaperManager *self, RsttoImage *image)
+{
+ RsttoXfceWallpaperManager *manager = RSTTO_XFCE_WALLPAPER_MANAGER (self);
+ GFile *file = rstto_image_get_file (image);
+ gchar *uri = g_file_get_path (file);
+
+ gchar *image_path_prop = g_strdup_printf("/backdrop/screen%d/monitor%d/image-path",
+ manager->priv->screen,
+ manager->priv->monitor);
+ gchar *image_show_prop = g_strdup_printf("/backdrop/screen%d/monitor%d/image-show",
+ manager->priv->screen,
+ manager->priv->monitor);
+ gchar *image_style_prop = g_strdup_printf("/backdrop/screen%d/monitor%d/image-style",
+ manager->priv->screen,
+ manager->priv->monitor);
+ gchar *brightness_prop = g_strdup_printf("/backdrop/screen%d/monitor%d/brightness",
+ manager->priv->screen,
+ manager->priv->monitor);
+ gchar *saturation_prop = g_strdup_printf("/backdrop/screen%d/monitor%d/saturation",
+ manager->priv->screen,
+ manager->priv->monitor);
+
+ gchar *color1_prop = g_strdup_printf("/backdrop/screen%d/monitor%d/color1",
+ manager->priv->screen,
+ manager->priv->monitor);
+ gchar *color2_prop = g_strdup_printf("/backdrop/screen%d/monitor%d/color2",
+ manager->priv->screen,
+ manager->priv->monitor);
+
+ xfconf_channel_set_string (manager->priv->channel,
+ image_path_prop, uri);
+ xfconf_channel_set_bool (manager->priv->channel,
+ image_show_prop, TRUE);
+ xfconf_channel_set_int (manager->priv->channel,
+ image_style_prop, manager->priv->style);
+
+ xfconf_channel_set_int (manager->priv->channel,
+ brightness_prop, manager->priv->brightness);
+ xfconf_channel_set_double (manager->priv->channel,
+ saturation_prop,
+ manager->priv->saturation);
+
+ xfconf_channel_set_struct (manager->priv->channel,
+ color1_prop,
+ manager->priv->color1,
+ XFCONF_TYPE_INT16, XFCONF_TYPE_INT16,
+ XFCONF_TYPE_INT16, XFCONF_TYPE_INT16,
+ G_TYPE_INVALID);
+ xfconf_channel_set_struct (manager->priv->channel,
+ color2_prop,
+ manager->priv->color2,
+ XFCONF_TYPE_INT16, XFCONF_TYPE_INT16,
+ XFCONF_TYPE_INT16, XFCONF_TYPE_INT16,
+ G_TYPE_INVALID);
+
+ g_free (image_path_prop);
+ g_free (image_show_prop);
+ g_free (image_style_prop);
+ g_free (brightness_prop);
+ g_free (saturation_prop);
+ g_free (color1_prop);
+ g_free (color2_prop);
+
+ return FALSE;
+}
+
+static void
+rstto_xfce_wallpaper_manager_iface_init (RsttoWallpaperManagerIface *iface)
+{
+ iface->configure_dialog_run = rstto_xfce_wallpaper_manager_configure_dialog_run;
+ iface->check_running = rstto_xfce_wallpaper_manager_check_running;
+ iface->set = rstto_xfce_wallpaper_manager_set;
+}
+
+GType
+rstto_xfce_wallpaper_manager_get_type (void)
+{
+ static GType rstto_xfce_wallpaper_manager_type = 0;
+
+ if (!rstto_xfce_wallpaper_manager_type)
+ {
+ static const GTypeInfo rstto_xfce_wallpaper_manager_info =
+ {
+ sizeof (RsttoXfceWallpaperManagerClass),
+ (GBaseInitFunc) NULL,
+ (GBaseFinalizeFunc) NULL,
+ (GClassInitFunc) rstto_xfce_wallpaper_manager_class_init,
+ (GClassFinalizeFunc) NULL,
+ NULL,
+ sizeof (RsttoXfceWallpaperManager),
+ 0,
+ (GInstanceInitFunc) rstto_xfce_wallpaper_manager_init,
+ NULL
+ };
+
+ static const GInterfaceInfo wallpaper_manager_iface_info =
+ {
+ (GInterfaceInitFunc) rstto_xfce_wallpaper_manager_iface_init,
+ NULL,
+ NULL
+ };
+
+ rstto_xfce_wallpaper_manager_type = g_type_register_static (G_TYPE_OBJECT, "RsttoXfceWallpaperManager", &rstto_xfce_wallpaper_manager_info, 0);
+ g_type_add_interface_static (rstto_xfce_wallpaper_manager_type, RSTTO_WALLPAPER_MANAGER_TYPE, &wallpaper_manager_iface_info);
+
+ }
+ return rstto_xfce_wallpaper_manager_type;
+}
+
+
+static void
+rstto_xfce_wallpaper_manager_init (GObject *object)
+{
+ RsttoXfceWallpaperManager *xfce_wallpaper_manager = RSTTO_XFCE_WALLPAPER_MANAGER (object);
+
+ xfce_wallpaper_manager->priv = g_new0 (RsttoXfceWallpaperManagerPriv, 1);
+ xfce_wallpaper_manager->priv->channel = xfconf_channel_new ("xfce4-desktop");
+ xfce_wallpaper_manager->priv->color1 = g_new0 (RsttoColor, 1);
+ xfce_wallpaper_manager->priv->color1->a = 0xffff;
+ xfce_wallpaper_manager->priv->color2 = g_new0 (RsttoColor, 1);
+ xfce_wallpaper_manager->priv->color2->a = 0xffff;
+ xfce_wallpaper_manager->priv->style = 4;
+ xfce_wallpaper_manager->priv->brightness = 0;
+ xfce_wallpaper_manager->priv->saturation = 1.0;
+}
+
+
+static void
+rstto_xfce_wallpaper_manager_class_init (GObjectClass *object_class)
+{
+ RsttoXfceWallpaperManagerClass *xfce_wallpaper_manager_class = RSTTO_XFCE_WALLPAPER_MANAGER_CLASS (object_class);
+
+ parent_class = g_type_class_peek_parent (xfce_wallpaper_manager_class);
+
+ object_class->dispose = rstto_xfce_wallpaper_manager_dispose;
+ object_class->finalize = rstto_xfce_wallpaper_manager_finalize;
+}
+
+/**
+ * rstto_xfce_wallpaper_manager_dispose:
+ * @object:
+ *
+ */
+static void
+rstto_xfce_wallpaper_manager_dispose (GObject *object)
+{
+ RsttoXfceWallpaperManager *xfce_wallpaper_manager = RSTTO_XFCE_WALLPAPER_MANAGER (object);
+
+ if (xfce_wallpaper_manager->priv->channel)
+ {
+ g_object_unref (xfce_wallpaper_manager->priv->channel);
+ xfce_wallpaper_manager->priv->channel = NULL;
+ }
+ if (xfce_wallpaper_manager->priv)
+ {
+ g_free (xfce_wallpaper_manager->priv);
+ xfce_wallpaper_manager->priv = NULL;
+ }
+}
+
+/**
+ * rstto_xfce_wallpaper_manager_finalize:
+ * @object:
+ *
+ */
+static void
+rstto_xfce_wallpaper_manager_finalize (GObject *object)
+{
+}
+
+
+
+/**
+ * rstto_xfce_wallpaper_manager_new:
+ *
+ *
+ * Singleton
+ */
+RsttoXfceWallpaperManager *
+rstto_xfce_wallpaper_manager_new (void)
+{
+ if (xfce_wallpaper_manager_object == NULL)
+ {
+ xfce_wallpaper_manager_object = g_object_new (RSTTO_TYPE_XFCE_WALLPAPER_MANAGER, NULL);
+ }
+ else
+ {
+ g_object_ref (xfce_wallpaper_manager_object);
+ }
+
+ return xfce_wallpaper_manager_object;
+}
diff --git a/src/xfce_wallpaper_manager.h b/src/xfce_wallpaper_manager.h
new file mode 100644
index 0000000..4c47359
--- /dev/null
+++ b/src/xfce_wallpaper_manager.h
@@ -0,0 +1,67 @@
+/*
+ * Copyright (c) Stephan Arts 2009-2010 <stephan at xfce.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
+ * (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 Library 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 __RISTRETTO_XFCE_WALLPAPER_MANAGER_H__
+#define __RISTRETTO_XFCE_WALLPAPER_MANAGER_H__
+
+G_BEGIN_DECLS
+
+#define RSTTO_TYPE_XFCE_WALLPAPER_MANAGER rstto_xfce_wallpaper_manager_get_type()
+
+#define RSTTO_XFCE_WALLPAPER_MANAGER(obj)( \
+ G_TYPE_CHECK_INSTANCE_CAST ((obj), \
+ RSTTO_TYPE_XFCE_WALLPAPER_MANAGER, \
+ RsttoXfceWallpaperManager))
+
+#define RSTTO_IS_XFCE_WALLPAPER_MANAGER(obj)( \
+ G_TYPE_CHECK_INSTANCE_TYPE ((obj), \
+ RSTTO_TYPE_XFCE_WALLPAPER_MANAGER))
+
+#define RSTTO_XFCE_WALLPAPER_MANAGER_CLASS(klass)( \
+ G_TYPE_CHECK_CLASS_CAST ((klass), \
+ RSTTO_TYPE_XFCE_WALLPAPER_MANAGER, \
+ RsttoXfceWallpaperManagerClass))
+
+#define RSTTO_IS_XFCE_WALLPAPER_MANAGER_CLASS(klass)( \
+ G_TYPE_CHECK_CLASS_TYPE ((klass), \
+ RSTTO_TYPE_XFCE_WALLPAPER_MANAGER()))
+
+
+typedef struct _RsttoXfceWallpaperManager RsttoXfceWallpaperManager;
+typedef struct _RsttoXfceWallpaperManagerPriv RsttoXfceWallpaperManagerPriv;
+
+struct _RsttoXfceWallpaperManager
+{
+ GObject parent;
+
+ RsttoXfceWallpaperManagerPriv *priv;
+};
+
+typedef struct _RsttoXfceWallpaperManagerClass RsttoXfceWallpaperManagerClass;
+
+struct _RsttoXfceWallpaperManagerClass
+{
+ GObjectClass parent_class;
+};
+
+RsttoXfceWallpaperManager *rstto_xfce_wallpaper_manager_new (void);
+GType rstto_xfce_wallpaper_manager_get_type (void);
+
+G_END_DECLS
+
+#endif /* __RISTRETTO_XFCE_WALLPAPER_MANAGER_H__ */
More information about the Xfce4-commits
mailing list