[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 (&current_uri_val, G_TYPE_STRING);
+    g_object_get_property (G_OBJECT(window->priv->settings_manager), "current-uri", &current_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 (&current_uri_val))
+        gtk_file_chooser_set_current_folder_uri (GTK_FILE_CHOOSER (dialog), g_value_get_string (&current_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 (&current_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", &current_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