changeset 2221:59b559f747a7 ke-lua

Merge branch 'master' into ke-lua * master: (185 commits) better fix for big-endian architectures Minor indentation fixes. Cleanup checker shader code. Fix exif orientation in clutter rendering mode. Silent 2 warnings using explicit type casting. Polish translation was updated, thanks to Grzegorz Gibas. Update pt_BR translation. Add *~, *.rej, *.orig files to git ignore list. Fix for support >=automake-1.11.4 Trim trailing white spaces on empty lines. Trim trailing white spaces. Add missing vim modeline. Fix indentation and few trailing white spaces. Clear few more warnings, unused variables mostly. Drop unused variable. Remove commented out code. Remove commented out code. Remove commented out code. Remove commented out code. Remove commented out code. ...
author Klaus Ethgen <Klaus@Ethgen.de>
date Tue, 02 Oct 2012 22:19:13 +0100
parents fea4dd5c4359 (current diff) 9063024ebc5a (diff)
children 2d9042b24d0b
files .cvsignore configure.in doc/.cvsignore po/.cvsignore po/zh_CN.GB2312.po src/.cvsignore src/Makefile.am src/filedata.c src/icons/.cvsignore src/icons/svg/.cvsignore src/image-overlay.c src/main.c src/options.c src/options.h src/preferences.c src/print.c src/remote.c
diffstat 220 files changed, 36160 insertions(+), 30202 deletions(-) [+]
line wrap: on
line diff
--- a/.cvsignore	Sun May 27 18:41:56 2012 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,24 +0,0 @@
-Makefile
-Makefile.in
-aclocal.m4
-autom4te.cache
-config.cache
-config.guess
-config.h
-config.h.in
-config.log
-config.status
-config.sub
-configure
-configure.scan
-missing
-mkinstalldirs
-COPYING
-install-sh
-stamp-h
-stamp-h.in
-INSTALL
-gqview.spec
-intl
-ABOUT-NLS
-depcomp
--- a/.gitignore	Sun May 27 18:41:56 2012 +0100
+++ b/.gitignore	Tue Oct 02 22:19:13 2012 +0100
@@ -2,6 +2,9 @@
 *.bak
 Makefile
 Makefile.in
+*~
+*.rej
+*.orig
 
 # /
 /aclocal.m4
--- a/CODING	Sun May 27 18:41:56 2012 +0100
+++ b/CODING	Tue Oct 02 22:19:13 2012 +0100
@@ -11,7 +11,7 @@
 
 /*
  *  This file is a part of Geeqie project (http://geeqie.sourceforge.net/).
- *  Copyright (C) 2008 - 2010 The Geeqie Team
+ *  Copyright (C) 2008 - 2012 The Geeqie Team
  *
  *  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
--- a/COPYING	Sun May 27 18:41:56 2012 +0100
+++ b/COPYING	Tue Oct 02 22:19:13 2012 +0100
@@ -1,12 +1,12 @@
-		    GNU GENERAL PUBLIC LICENSE
-		       Version 2, June 1991
+                    GNU GENERAL PUBLIC LICENSE
+                       Version 2, June 1991
 
- Copyright (C) 1989, 1991 Free Software Foundation, Inc.
-     59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  Everyone is permitted to copy and distribute verbatim copies
  of this license document, but changing it is not allowed.
 
-			    Preamble
+                            Preamble
 
   The licenses for most software are designed to take away your
 freedom to share and change it.  By contrast, the GNU General Public
@@ -15,7 +15,7 @@
 General Public License applies to most of the Free Software
 Foundation's software and to any other program whose authors commit to
 using it.  (Some other Free Software Foundation software is covered by
-the GNU Library General Public License instead.)  You can apply it to
+the GNU Lesser General Public License instead.)  You can apply it to
 your programs, too.
 
   When we speak of free software, we are referring to freedom, not
@@ -55,8 +55,8 @@
 
   The precise terms and conditions for copying, distribution and
 modification follow.
-
-		    GNU GENERAL PUBLIC LICENSE
+
+                    GNU GENERAL PUBLIC LICENSE
    TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
 
   0. This License applies to any program or other work which contains
@@ -110,7 +110,7 @@
     License.  (Exception: if the Program itself is interactive but
     does not normally print such an announcement, your work based on
     the Program is not required to print an announcement.)
-
+
 These requirements apply to the modified work as a whole.  If
 identifiable sections of that work are not derived from the Program,
 and can be reasonably considered independent and separate works in
@@ -168,7 +168,7 @@
 access to copy the source code from the same place counts as
 distribution of the source code, even though third parties are not
 compelled to copy the source along with the object code.
-
+
   4. You may not copy, modify, sublicense, or distribute the Program
 except as expressly provided under this License.  Any attempt
 otherwise to copy, modify, sublicense or distribute the Program is
@@ -225,7 +225,7 @@
 
 This section is intended to make thoroughly clear what is believed to
 be a consequence of the rest of this License.
-
+
   8. If the distribution and/or use of the Program is restricted in
 certain countries either by patents or by copyrighted interfaces, the
 original copyright holder who places the Program under this License
@@ -255,7 +255,7 @@
 of preserving the free status of all derivatives of our free software and
 of promoting the sharing and reuse of software generally.
 
-			    NO WARRANTY
+                            NO WARRANTY
 
   11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
 FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
@@ -277,9 +277,9 @@
 PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
 POSSIBILITY OF SUCH DAMAGES.
 
-		     END OF TERMS AND CONDITIONS
-
-	    How to Apply These Terms to Your New Programs
+                     END OF TERMS AND CONDITIONS
+
+            How to Apply These Terms to Your New Programs
 
   If you develop a new program, and you want it to be of the greatest
 possible use to the public, the best way to achieve this is to make it
@@ -303,17 +303,16 @@
     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     GNU General Public License for more details.
 
-    You should have received a copy of the GNU General Public License
-    along with this program; if not, write to the Free Software
-    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-
+    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.,
+    51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
 
 Also add information on how to contact you by electronic and paper mail.
 
 If the program is interactive, make it output a short notice like this
 when it starts in an interactive mode:
 
-    Gnomovision version 69, Copyright (C) year  name of author
+    Gnomovision version 69, Copyright (C) year name of author
     Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
     This is free software, and you are welcome to redistribute it
     under certain conditions; type `show c' for details.
@@ -336,5 +335,5 @@
 This General Public License does not permit incorporating your program into
 proprietary programs.  If your program is a subroutine library, you may
 consider it more useful to permit linking proprietary applications with the
-library.  If this is what you want to do, use the GNU Library General
+library.  If this is what you want to do, use the GNU Lesser General
 Public License instead of this License.
--- a/ChangeLog	Sun May 27 18:41:56 2012 +0100
+++ b/ChangeLog	Tue Oct 02 22:19:13 2012 +0100
@@ -1,9195 +1,11909 @@
-------------------------------------------------------------------------
-r1907 | nadvornik | 2010-02-16 22:18:03 +0100 (Tue, 16 Feb 2010) | 2 lines
-
-added 2010 to copyright text
-
-------------------------------------------------------------------------
-r1906 | nadvornik | 2010-02-16 22:10:12 +0100 (Tue, 16 Feb 2010) | 2 lines
-
-updated version string
-
-------------------------------------------------------------------------
-r1905 | zas_ | 2010-02-16 21:07:05 +0100 (Tue, 16 Feb 2010) | 1 line
-
-Restore translators list, removed by revision 1899.
-------------------------------------------------------------------------
-r1904 | zas_ | 2010-02-16 20:55:35 +0100 (Tue, 16 Feb 2010) | 1 line
-
-Update russian translation. Thanks to Denis Silakov.
-------------------------------------------------------------------------
-r1903 | nadvornik | 2010-02-14 23:00:23 +0100 (Sun, 14 Feb 2010) | 4 lines
-
-fixed segfault in exif parser
-
-http://sourceforge.net/tracker/index.php?func=detail&aid=2950617&group_id=222125&atid=1054682
-
-------------------------------------------------------------------------
-r1902 | nadvornik | 2010-02-14 22:35:11 +0100 (Sun, 14 Feb 2010) | 6 lines
-
-fixed reference count
-
-there was a bug in reference count on writting unsaved metadata
-before starting an external editor
-
-
-------------------------------------------------------------------------
-r1901 | nadvornik | 2010-02-07 14:16:35 +0100 (Sun, 07 Feb 2010) | 2 lines
-
-test gnome-doc-tool in configure
-
-------------------------------------------------------------------------
-r1900 | nadvornik | 2010-02-07 13:44:55 +0100 (Sun, 07 Feb 2010) | 2 lines
-
-dropped obsolete sections, gqview changelog moved to wiki
-
-------------------------------------------------------------------------
-r1899 | zas_ | 2010-02-02 21:21:11 +0100 (Tue, 02 Feb 2010) | 9 lines
-
-Brazilian Portuguese translation was updated. 
-
-Thanks to Sergio Cipolla.
-
-References:
-http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=567824
-
-
-
-------------------------------------------------------------------------
-r1898 | nadvornik | 2010-01-27 23:27:10 +0100 (Wed, 27 Jan 2010) | 2 lines
-
-czech translation fixes
-
-------------------------------------------------------------------------
-r1897 | zas_ | 2010-01-27 20:58:11 +0100 (Wed, 27 Jan 2010) | 1 line
-
-Update catalan translation, by angel mompo.
-------------------------------------------------------------------------
-r1896 | zas_ | 2010-01-17 14:34:48 +0100 (Sun, 17 Jan 2010) | 1 line
-
-Fix osd zoom level refreshing (it was broken since some times).
-------------------------------------------------------------------------
-r1895 | zas_ | 2010-01-13 20:49:39 +0100 (Wed, 13 Jan 2010) | 5 lines
-
-Update dutch translation. Work in progress.
-
-Patch by Marcel Pol.
-
-
-------------------------------------------------------------------------
-r1894 | mow | 2010-01-11 15:10:49 +0100 (Mon, 11 Jan 2010) | 1 line
-
-Wops, typo...
-------------------------------------------------------------------------
-r1893 | zas_ | 2010-01-10 15:23:29 +0100 (Sun, 10 Jan 2010) | 10 lines
-
-copy_file(): remove incomplete file on error (bug 2890715)
-
-The behavior changed, data is first written to a temporary file,
-which is unlinked in case of error, then the tempfile is renamed
-to the final name.
-Size of buffer was increased from 4k to 16k.
-
-
-
-
-------------------------------------------------------------------------
-r1892 | zas_ | 2010-01-09 12:44:27 +0100 (Sat, 09 Jan 2010) | 1 line
-
-Workaround intltoolize 0.40.6 bug related to LINGUAS, see bug 2817602.
-------------------------------------------------------------------------
-r1891 | zas_ | 2010-01-09 11:37:48 +0100 (Sat, 09 Jan 2010) | 1 line
-
-Log a message when EOVERFLOW error is set by stat() when building files lists. See bug 2876142.
-------------------------------------------------------------------------
-r1890 | zas_ | 2010-01-05 23:28:11 +0100 (Tue, 05 Jan 2010) | 8 lines
-
-Add Serbian translation.
-
-Note there are two *.po files, one for Cyrilic and one for Latin
-letters.
-
-Thanks to Milos Popovic.
-
-
-------------------------------------------------------------------------
-r1889 | zas_ | 2010-01-05 23:26:03 +0100 (Tue, 05 Jan 2010) | 1 line
-
-Update README about translations.
-------------------------------------------------------------------------
-r1888 | zas_ | 2010-01-05 18:49:50 +0100 (Tue, 05 Jan 2010) | 13 lines
-
-Allow to switch to fullscreen mode using LIRC.
-
-Imagine the following situation (which happened to me several times) :
-you want to see photos from your bed or your sofa so you launch geeqie
-and go to the right directory, then you take your remote control and sit
-comfortably far from your keyboard and mouse. And when you want to begin
-to watch photos, you realize you forgot to enable full screen! You have
-to stand up and to go until your computer and come back, whereas you
-could have done it with your remote control.
-
-Patch by Bernard Massot.
-
-
-------------------------------------------------------------------------
-r1887 | zas_ | 2010-01-02 13:38:55 +0100 (Sat, 02 Jan 2010) | 1 line
-
-Get rid of Geeqie version and beta release message. It clutters command line usage, and is not that useful. Suggested by Michal ?\196?\140iha?\197?\153.
-------------------------------------------------------------------------
-r1881 | zas_ | 2009-12-19 13:53:20 +0100 (Sat, 19 Dec 2009) | 9 lines
-
-Fix bug 2917164.
-g_utf8_collate_key_for_filename() don't give sort order one
-may expect. Using g_utf8_collate_key() make things closer
-to many other programs output (ie. ls and gqview).
-
-Thanks to Michael pointing this out.
-
-
-
-------------------------------------------------------------------------
-r1880 | zas_ | 2009-12-19 13:49:19 +0100 (Sat, 19 Dec 2009) | 1 line
-
-Store sort parameters in appropriate variables.
-------------------------------------------------------------------------
-r1879 | zas_ | 2009-12-10 18:48:43 +0100 (Thu, 10 Dec 2009) | 4 lines
-
-Move "Add Keyword" menu item at top of Keywords bar contextual menu.
-
-Suggested by Lars T?\195?\164uber.
-
-------------------------------------------------------------------------
-r1878 | zas_ | 2009-12-10 18:44:31 +0100 (Thu, 10 Dec 2009) | 7 lines
-
-Fix contextual menus in lateral bars.
-
-Use button_release_event instead of button_press_event,
-this makes contextual menus persistent until an option
-is selected or the menu is closed.
-
-
-------------------------------------------------------------------------
-r1877 | zas_ | 2009-12-04 22:01:11 +0100 (Fri, 04 Dec 2009) | 1 line
-
-Some systems do not have SA_SIGINFO (siginfo_t), like GNU/Hurd, so just test if defined or not. Patch by Michal ?\196?\140iha?\197?\153 (Bug ID: 2894271).
-------------------------------------------------------------------------
-r1876 | zas_ | 2009-12-04 21:40:02 +0100 (Fri, 04 Dec 2009) | 1 line
-
-Editors: disable Delete button if a .desktop file is not writeable and disable Edit button when no entry is selected.
-------------------------------------------------------------------------
-r1875 | zas_ | 2009-12-04 20:45:09 +0100 (Fri, 04 Dec 2009) | 1 line
-
-Add Opera to the list of browsers. Patch by Christian Heckendorf (feature request ID: 2908469).
-------------------------------------------------------------------------
-r1874 | nadvornik | 2009-11-28 00:27:35 +0100 (Sat, 28 Nov 2009) | 2 lines
-
-build documentation with gnome-doc-tool in makefile
-
-------------------------------------------------------------------------
-r1873 | nadvornik | 2009-11-22 10:12:22 +0100 (Sun, 22 Nov 2009) | 2 lines
-
-scripts for converting wiki documentation to docbook
-
-------------------------------------------------------------------------
-r1872 | nadvornik | 2009-11-21 21:08:51 +0100 (Sat, 21 Nov 2009) | 5 lines
-
-check gtk_clutter_init return value
-
-https://sourceforge.net/tracker/index.php?func=detail&aid=2899866&group_id=222125&atid=1054680
-
-
-------------------------------------------------------------------------
-r1871 | nadvornik | 2009-11-18 13:34:30 +0100 (Wed, 18 Nov 2009) | 2 lines
-
-changed https to http in wiki links
-
-------------------------------------------------------------------------
-r1870 | zas_ | 2009-11-13 19:37:31 +0100 (Fri, 13 Nov 2009) | 1 line
-
-Spanish translation was updated. Thanks to Redy Rodriguez.
-------------------------------------------------------------------------
-r1869 | zas_ | 2009-11-07 22:31:23 +0100 (Sat, 07 Nov 2009) | 1 line
-
-Updated spanish translation. Thanks to Redy Rodriguez.
-------------------------------------------------------------------------
-r1868 | mow | 2009-10-13 23:49:42 +0200 (Tue, 13 Oct 2009) | 1 line
-
-German translation update
-------------------------------------------------------------------------
-r1867 | mow | 2009-10-13 23:49:21 +0200 (Tue, 13 Oct 2009) | 8 lines
-
-Add compatibility for GTK 2.18
-
-With 2.18 some functions are deprecated. With geeqie that are two at the
-moment.
-- gtk_tree_view_column_get_cell_renderers - which can be replaced by
-  gtk_cell_layout_get_cells
-- gdk_event_get_graphics_expose - I just commented it as there seems to
-  be no replacement in GTK 2.18
-------------------------------------------------------------------------
-r1866 | nadvornik | 2009-10-10 17:01:41 +0200 (Sat, 10 Oct 2009) | 2 lines
-
-added a workaround for https://bugzilla.gnome.org/show_bug.cgi?id=590692
-
-------------------------------------------------------------------------
-r1865 | nadvornik | 2009-10-10 12:15:23 +0200 (Sat, 10 Oct 2009) | 4 lines
-
-use text renderer for editor->hidden
-
-The toggle was too confusing because it was not dirrectly editable.
-
-------------------------------------------------------------------------
-r1864 | nadvornik | 2009-10-01 20:40:34 +0200 (Thu, 01 Oct 2009) | 7 lines
-
-ignored multiple directories specified on commandline
-
-IMHO this was inconsistent - specifying one directory had completely
-different effect than specifying two or more directories. Moreover,
-it segfaulted.
-Now only one directory is allowed.
-
-------------------------------------------------------------------------
-r1863 | nadvornik | 2009-10-01 19:37:51 +0200 (Thu, 01 Oct 2009) | 2 lines
-
-fixed tree_store reordering
-
-------------------------------------------------------------------------
-r1862 | nadvornik | 2009-09-28 14:04:35 +0200 (Mon, 28 Sep 2009) | 2 lines
-
-do not cache incomplete thumbnails
-
-------------------------------------------------------------------------
-r1861 | nadvornik | 2009-09-28 11:57:06 +0200 (Mon, 28 Sep 2009) | 2 lines
-
-consider sidecars in layout_image popup menu
-
-------------------------------------------------------------------------
-r1860 | nadvornik | 2009-09-26 13:37:09 +0200 (Sat, 26 Sep 2009) | 6 lines
-
-bar_gps cleanup
-
-- removed the scrollbar
-- do not set decel-rate,
-  https://bugzilla.gnome.org/show_bug.cgi?id=596419
-
-------------------------------------------------------------------------
-r1859 | nadvornik | 2009-09-26 10:47:28 +0200 (Sat, 26 Sep 2009) | 8 lines
-
-print text using pango renderer
-
-- the text is sent to postscript as a bitmap
-- this fixes printing of non-ascii characters
-
-http://sourceforge.net/tracker/index.php?func=detail&aid=2836135&group_id=222125&atid=1054680
-
-
-------------------------------------------------------------------------
-r1858 | nadvornik | 2009-09-25 22:39:15 +0200 (Fri, 25 Sep 2009) | 8 lines
-
-require libchamplain 0.4
-
-- check for libchamplain 0.4
-- dropped libchamplain 0.3.x support
-
-http://sourceforge.net/tracker/index.php?func=detail&aid=2861847&group_id=222125&atid=1054680
-
-
-------------------------------------------------------------------------
-r1857 | nadvornik | 2009-09-24 23:52:44 +0200 (Thu, 24 Sep 2009) | 2 lines
-
-fixed and simplified sidecar grouping code
-
-------------------------------------------------------------------------
-r1856 | nadvornik | 2009-09-24 20:02:29 +0200 (Thu, 24 Sep 2009) | 2 lines
-
-fixed emitting of error signal from image loader
-
-------------------------------------------------------------------------
-r1855 | nadvornik | 2009-09-21 20:48:32 +0200 (Mon, 21 Sep 2009) | 5 lines
-
-fixed pan-view popup menu
-
-- removed wrong callback
-- consider sidecar files in the editor popup
-
-------------------------------------------------------------------------
-r1854 | nadvornik | 2009-09-14 23:25:10 +0200 (Mon, 14 Sep 2009) | 2 lines
-
-fixed selection handling in sidebar
-
-------------------------------------------------------------------------
-r1853 | nadvornik | 2009-09-13 23:08:40 +0200 (Sun, 13 Sep 2009) | 5 lines
-
-fixed editor list in popup menu
-
-- show an editor if any of selected files matches
-- added debug messages
-
-------------------------------------------------------------------------
-r1852 | nadvornik | 2009-09-13 23:03:17 +0200 (Sun, 13 Sep 2009) | 2 lines
-
-fixed incorrect translation
-
-------------------------------------------------------------------------
-r1851 | nadvornik | 2009-09-13 22:00:08 +0200 (Sun, 13 Sep 2009) | 2 lines
-
-fixed filelist refresh
-
-------------------------------------------------------------------------
-r1850 | nadvornik | 2009-09-13 14:33:11 +0200 (Sun, 13 Sep 2009) | 2 lines
-
-preserve histmap on NOTIFY_CHANGE
-
-------------------------------------------------------------------------
-r1849 | nadvornik | 2009-09-13 11:55:21 +0200 (Sun, 13 Sep 2009) | 2 lines
-
-added possibility to use geeqie-rotate as a standalone script
-
-------------------------------------------------------------------------
-r1848 | nadvornik | 2009-09-12 18:37:05 +0200 (Sat, 12 Sep 2009) | 2 lines
-
-strip the "lang=" prefix from exiv2 in all metadata formats
-
-------------------------------------------------------------------------
-r1847 | nadvornik | 2009-09-12 18:03:09 +0200 (Sat, 12 Sep 2009) | 2 lines
-
-simplified template
-
-------------------------------------------------------------------------
-r1846 | nadvornik | 2009-09-12 17:51:37 +0200 (Sat, 12 Sep 2009) | 5 lines
-
-editor fixes
-
-- fixed editor loading order
-- fixed EditorWindow->modified flag handling
-
-------------------------------------------------------------------------
-r1845 | nadvornik | 2009-09-12 17:31:24 +0200 (Sat, 12 Sep 2009) | 2 lines
-
-fixed reloading of editors
-
-------------------------------------------------------------------------
-r1844 | nadvornik | 2009-09-09 20:16:09 +0200 (Wed, 09 Sep 2009) | 2 lines
-
-advertisment added
-
-------------------------------------------------------------------------
-r1843 | nadvornik | 2009-09-07 22:44:29 +0200 (Mon, 07 Sep 2009) | 5 lines
-
-start_editor_from_filelist_full fixes
-
-fixed return value from start_editor_from_filelist_full()
-call editor_command_parse to detect possible problems early enough
-
-------------------------------------------------------------------------
-r1842 | nadvornik | 2009-09-07 22:04:22 +0200 (Mon, 07 Sep 2009) | 2 lines
-
-fixed list of possible editors in popup menu
-
-------------------------------------------------------------------------
-r1841 | nadvornik | 2009-09-07 21:48:05 +0200 (Mon, 07 Sep 2009) | 5 lines
-
-fixes sidecar file grouping
-
-files with a number in extension were listed twice, it 
-caused problems later
-
-------------------------------------------------------------------------
-r1840 | zas_ | 2009-09-07 10:24:09 +0200 (Mon, 07 Sep 2009) | 1 line
-
-Comment out unused functions, silenting related compilation warnings.
-------------------------------------------------------------------------
-r1839 | zas_ | 2009-09-07 10:18:18 +0200 (Mon, 07 Sep 2009) | 1 line
-
-Remove an unused variable and minor code cleanup.
-------------------------------------------------------------------------
-r1838 | nadvornik | 2009-09-06 16:29:19 +0200 (Sun, 06 Sep 2009) | 2 lines
-
-improved editor loading
-
-------------------------------------------------------------------------
-r1837 | nadvornik | 2009-09-06 16:21:19 +0200 (Sun, 06 Sep 2009) | 2 lines
-
-fixed unnecessary image reloads in color menu
-
-------------------------------------------------------------------------
-r1836 | nadvornik | 2009-09-06 16:01:03 +0200 (Sun, 06 Sep 2009) | 9 lines
-
-load desktop files in idle time
-
-- scanning all desktop files takes a lot of time because of hdd seek
-- this change moves the scanning to idle time
-- the editors appears in the menus some time after startup
-
-https://sourceforge.net/tracker/index.php?func=detail&aid=2852522&group_id=222125&atid=1054680
-
-
-------------------------------------------------------------------------
-r1835 | nadvornik | 2009-09-06 11:08:37 +0200 (Sun, 06 Sep 2009) | 2 lines
-
-added messages for debugging startup time
-
-------------------------------------------------------------------------
-r1834 | zas_ | 2009-09-05 15:48:21 +0200 (Sat, 05 Sep 2009) | 1 line
-
-Update svn ignore lists.
-------------------------------------------------------------------------
-r1833 | zas_ | 2009-09-04 17:53:04 +0200 (Fri, 04 Sep 2009) | 5 lines
-
-Fix up compilation issues related to libchamplain.
-
-See http://sourceforge.net/tracker/index.php?func=detail&aid=2848469&group_id=222125&atid=1054680
-
-
-------------------------------------------------------------------------
-r1832 | nadvornik | 2009-09-03 22:00:40 +0200 (Thu, 03 Sep 2009) | 2 lines
-
-fixed in-place rename
-
-------------------------------------------------------------------------
-r1831 | nadvornik | 2009-09-03 21:18:20 +0200 (Thu, 03 Sep 2009) | 5 lines
-
-do not reload image on copy, move, rename and external editor
-
-changed files should be detected anyway
-http://sourceforge.net/tracker/index.php?func=detail&aid=2848373&group_id=222125&atid=1054680
-
-------------------------------------------------------------------------
-r1830 | nadvornik | 2009-08-29 01:09:05 +0200 (Sat, 29 Aug 2009) | 2 lines
-
-fixed vd_notify_cb leak
-
-------------------------------------------------------------------------
-r1829 | nadvornik | 2009-08-28 23:01:29 +0200 (Fri, 28 Aug 2009) | 2 lines
-
-improved printing of selection
-
-------------------------------------------------------------------------
-r1828 | nadvornik | 2009-08-28 22:18:46 +0200 (Fri, 28 Aug 2009) | 2 lines
-
-improved the sidecar grouping algorithm
-
-------------------------------------------------------------------------
-r1827 | nadvornik | 2009-08-27 22:23:28 +0200 (Thu, 27 Aug 2009) | 4 lines
-
-fixed toggle_slideshow function
-
-https://sourceforge.net/tracker/index.php?func=detail&aid=2844302&group_id=222125&atid=1054680
-
-------------------------------------------------------------------------
-r1826 | nadvornik | 2009-08-26 21:19:06 +0200 (Wed, 26 Aug 2009) | 2 lines
-
-updated version message
-
-------------------------------------------------------------------------
-r1825 | nadvornik | 2009-08-26 21:16:02 +0200 (Wed, 26 Aug 2009) | 2 lines
-
-save one unnecessary call to stat_utf8
-
-------------------------------------------------------------------------
-r1824 | nadvornik | 2009-08-26 00:21:46 +0200 (Wed, 26 Aug 2009) | 4 lines
-
-use name as a tooltip of external editor if comment is missing
-
-the hotkey dialog ignores entries with empty tooltip
-
-------------------------------------------------------------------------
-r1823 | nadvornik | 2009-08-25 23:30:50 +0200 (Tue, 25 Aug 2009) | 7 lines
-
-write metadata before another opeation
-
-- this is implemented for copy and external editor
-- the unsaved metadata should survive operations like move or rename
-- saving metadata before delete is pointless
-
-
-------------------------------------------------------------------------
-r1822 | nadvornik | 2009-08-23 16:10:56 +0200 (Sun, 23 Aug 2009) | 4 lines
-
-workaround for xpm loader
-
-https://sourceforge.net/tracker/?func=detail&aid=2824016&group_id=222125&atid=1054680
-
-------------------------------------------------------------------------
-r1821 | nadvornik | 2009-08-23 15:37:15 +0200 (Sun, 23 Aug 2009) | 4 lines
-
-fixed moving and maintenance of std. thumbnails
-
-https://sourceforge.net/tracker/?func=detail&aid=2836224&group_id=222125&atid=1054680
-
-------------------------------------------------------------------------
-r1820 | nadvornik | 2009-08-22 23:58:49 +0200 (Sat, 22 Aug 2009) | 2 lines
-
-remove deleted files from metadata queue
-
-------------------------------------------------------------------------
-r1819 | nadvornik | 2009-08-22 22:20:19 +0200 (Sat, 22 Aug 2009) | 6 lines
-
-fixed sidecar grouping
-
-this fixes grouping of files which differs only
-in upper/lowercase extension. The old code stopped scanning
-when the first file was found.
-
-------------------------------------------------------------------------
-r1818 | nadvornik | 2009-08-18 22:19:23 +0200 (Tue, 18 Aug 2009) | 2 lines
-
-fixed possible crash in exif_item_get_integer
-
-------------------------------------------------------------------------
-r1817 | nadvornik | 2009-08-03 22:47:14 +0200 (Mon, 03 Aug 2009) | 2 lines
-
-updated links
-
-------------------------------------------------------------------------
-r1816 | mow | 2009-08-03 14:34:57 +0200 (Mon, 03 Aug 2009) | 1 line
-
-Fixing libexiv2 bug
-------------------------------------------------------------------------
-r1815 | mow | 2009-08-02 00:37:57 +0200 (Sun, 02 Aug 2009) | 3 lines
-
-Fix a small problem with casefull keywords
-
-In @1636 I miss one check for keyword case. Now it should be all fixed.
-------------------------------------------------------------------------
-r1814 | mow | 2009-08-02 00:37:37 +0200 (Sun, 02 Aug 2009) | 1 line
-
-This function is never used anymore: file_maint_removed
-------------------------------------------------------------------------
-r1813 | nadvornik | 2009-07-31 22:46:55 +0200 (Fri, 31 Jul 2009) | 2 lines
-
-updated project status
-
-------------------------------------------------------------------------
-r1812 | nadvornik | 2009-07-31 22:31:56 +0200 (Fri, 31 Jul 2009) | 4 lines
-
-added project web page under version control
-
-
-
-------------------------------------------------------------------------
-r1811 | zas_ | 2009-07-30 19:59:20 +0200 (Thu, 30 Jul 2009) | 1 line
-
-Some systems (BSD,MacOsX,HP-UX,...) define MAP_ANON and not MAP_ANONYMOUS. Make each an alias of other to be sure. issue reported by Martin Proetzsch.
-------------------------------------------------------------------------
-r1810 | nadvornik | 2009-07-29 23:03:38 +0200 (Wed, 29 Jul 2009) | 2 lines
-
-updated czech translation
-
-------------------------------------------------------------------------
-r1809 | nadvornik | 2009-07-29 00:27:24 +0200 (Wed, 29 Jul 2009) | 4 lines
-
-improved scroll on slower machines
-
-patch by Stanislav Brabec
-
-------------------------------------------------------------------------
-r1808 | nadvornik | 2009-07-29 00:14:26 +0200 (Wed, 29 Jul 2009) | 4 lines
-
-do not process sidecar files in bar_gps
-
-patch by Colin Clark
-
-------------------------------------------------------------------------
-r1807 | nadvornik | 2009-07-29 00:03:54 +0200 (Wed, 29 Jul 2009) | 2 lines
-
-run the scripts with /bin/sh
-
-------------------------------------------------------------------------
-r1806 | zas_ | 2009-07-25 10:23:23 +0200 (Sat, 25 Jul 2009) | 1 line
-
-French translation was updated.
-------------------------------------------------------------------------
-r1805 | zas_ | 2009-07-25 10:13:13 +0200 (Sat, 25 Jul 2009) | 1 line
-
-Remove some bashisms from configure.in. Patch by Greg Troxel.
-------------------------------------------------------------------------
-r1804 | zas_ | 2009-07-25 10:00:07 +0200 (Sat, 25 Jul 2009) | 1 line
-
-Romanian translation was completed. Thanks to Sabin Iacob.
-------------------------------------------------------------------------
-r1803 | nadvornik | 2009-07-24 16:07:54 +0200 (Fri, 24 Jul 2009) | 2 lines
-
-update column sizes after toggling thumbnails
-
-------------------------------------------------------------------------
-r1802 | nadvornik | 2009-07-24 15:32:37 +0200 (Fri, 24 Jul 2009) | 2 lines
-
-fixed switching of multiline texts
-
-------------------------------------------------------------------------
-r1801 | nadvornik | 2009-07-24 14:56:54 +0200 (Fri, 24 Jul 2009) | 5 lines
-
-do not try to reload deleted image
-
-deleted image is replaced by the next one from the list, keep
-the old image displayed until the new one is set
-
-------------------------------------------------------------------------
-r1800 | nadvornik | 2009-07-24 14:45:42 +0200 (Fri, 24 Jul 2009) | 6 lines
-
-call gtk_tree_view_columns_autosize only when reall needed
-
-gtk_tree_view_columns_autosize is rather expensive, call it only
-afrer directory change or after user-requested refresh
-
-
-------------------------------------------------------------------------
-r1799 | nadvornik | 2009-07-24 14:21:23 +0200 (Fri, 24 Jul 2009) | 5 lines
-
-do not use cell_data_func
-
-cell_data_func is too slow, store formatted string in the tree_store
-instead
-
-------------------------------------------------------------------------
-r1798 | nadvornik | 2009-07-21 16:17:01 +0200 (Tue, 21 Jul 2009) | 10 lines
-
-fixed destroying of menu data
-
-Make sure that menu destroy functions do not access parent widget
-structures that are already destroyed
-There are 2 ways to achieve this:
-- use g_signal_handlers_disconnect_matched() like in vf_destroy_cb()
-- use separate data structure passed to *_popup_menu_destroy_cb()
-  like in img-view.
-
-
-------------------------------------------------------------------------
-r1797 | mow | 2009-07-18 10:16:54 +0200 (Sat, 18 Jul 2009) | 4 lines
-
-Fix a overrun
-
-data_offset + data_length could be bigger than guint which makes the
-calculation overflow to a value smaller then size.
-------------------------------------------------------------------------
-r1795 | nadvornik | 2009-07-02 19:37:05 +0200 (Thu, 02 Jul 2009) | 2 lines
-
-updated ChangeLog file
-
-------------------------------------------------------------------------
-r1794 | nadvornik | 2009-07-02 19:31:38 +0200 (Thu, 02 Jul 2009) | 2 lines
-
-updated ca.po - submitted by Mecatxis
-
-------------------------------------------------------------------------
-r1793 | nadvornik | 2009-07-01 22:55:37 +0200 (Wed, 01 Jul 2009) | 2 lines
-
-make sure that automake and config.h uses the same installation paths
-
-------------------------------------------------------------------------
-r1792 | nadvornik | 2009-07-01 21:38:17 +0200 (Wed, 01 Jul 2009) | 2 lines
-
-updated version string
-
-------------------------------------------------------------------------
-r1791 | nadvornik | 2009-07-01 21:33:09 +0200 (Wed, 01 Jul 2009) | 2 lines
-
-fixed mnemonic conflicts
-
-------------------------------------------------------------------------
-r1790 | nadvornik | 2009-07-01 20:59:39 +0200 (Wed, 01 Jul 2009) | 2 lines
-
-removed msgctxt keyword, older gettext fails on it
-
-------------------------------------------------------------------------
-r1789 | nadvornik | 2009-07-01 20:32:32 +0200 (Wed, 01 Jul 2009) | 2 lines
-
-removed gettext.h reference
-
-------------------------------------------------------------------------
-r1788 | nadvornik | 2009-07-01 09:04:42 +0200 (Wed, 01 Jul 2009) | 2 lines
-
-updated spec file
-
-------------------------------------------------------------------------
-r1787 | zas_ | 2009-07-01 01:40:37 +0200 (Wed, 01 Jul 2009) | 1 line
-
-French translation was updated.
-------------------------------------------------------------------------
-r1786 | nadvornik | 2009-06-30 22:15:33 +0200 (Tue, 30 Jun 2009) | 2 lines
-
-fixed an use of uninitialized value
-
-------------------------------------------------------------------------
-r1785 | nadvornik | 2009-06-30 22:12:28 +0200 (Tue, 30 Jun 2009) | 5 lines
-
-fixes for a built without Exiv2
-
-don't try to access XMP metadata if not compiled with Exiv2
-some metadata options are valid without Exiv2, do not disable them
-
-------------------------------------------------------------------------
-r1784 | mow | 2009-06-30 21:53:55 +0200 (Tue, 30 Jun 2009) | 5 lines
-
-Revert "Add pgettext for some ambiguous strings"
-
-Now there should be all ambiguous strings gone. This reverts commit 1628
-
-With that commit also all ambiguous strings should be solved.
-------------------------------------------------------------------------
-r1783 | nadvornik | 2009-06-30 21:12:25 +0200 (Tue, 30 Jun 2009) | 2 lines
-
-add desktop.in files to the tarball
-
-------------------------------------------------------------------------
-r1782 | nadvornik | 2009-06-29 21:48:14 +0200 (Mon, 29 Jun 2009) | 2 lines
-
-fixed writting to gqview legacy format
-
-------------------------------------------------------------------------
-r1781 | zas_ | 2009-06-29 18:32:43 +0200 (Mon, 29 Jun 2009) | 1 line
-
-French translation was updated.
-------------------------------------------------------------------------
-r1780 | zas_ | 2009-06-29 18:02:28 +0200 (Mon, 29 Jun 2009) | 1 line
-
-Fix POTFILES.in and update regen_potfiles.sh to add .desktop.in files.
-------------------------------------------------------------------------
-r1779 | nadvornik | 2009-06-28 15:41:51 +0200 (Sun, 28 Jun 2009) | 2 lines
-
-added geeqie-import-geeqie.desktop.in
-
-------------------------------------------------------------------------
-r1778 | nadvornik | 2009-06-28 13:55:54 +0200 (Sun, 28 Jun 2009) | 2 lines
-
-libchamplain compatibility fix
-
-------------------------------------------------------------------------
-r1777 | nadvornik | 2009-06-28 11:25:47 +0200 (Sun, 28 Jun 2009) | 2 lines
-
-cleanup: remove some disabled code
-
-------------------------------------------------------------------------
-r1776 | nadvornik | 2009-06-28 11:08:25 +0200 (Sun, 28 Jun 2009) | 2 lines
-
-warn if another operation is performed on a file with unsaved metadata
-
-------------------------------------------------------------------------
-r1775 | nadvornik | 2009-06-28 10:49:28 +0200 (Sun, 28 Jun 2009) | 2 lines
-
-sync histogram state after enabling it from the menu
-
-------------------------------------------------------------------------
-r1774 | nadvornik | 2009-06-28 10:32:27 +0200 (Sun, 28 Jun 2009) | 2 lines
-
-added script for importing GQView and Geeqie-alpha metadata
-
-------------------------------------------------------------------------
-r1773 | nadvornik | 2009-06-28 01:12:52 +0200 (Sun, 28 Jun 2009) | 2 lines
-
-put preferences to separate submenu
-
-------------------------------------------------------------------------
-r1772 | mow | 2009-06-28 00:58:20 +0200 (Sun, 28 Jun 2009) | 1 line
-
-German translation update
-------------------------------------------------------------------------
-r1771 | mow | 2009-06-28 00:57:56 +0200 (Sun, 28 Jun 2009) | 8 lines
-
-Complete commit @1747 (intltool usage)
-
-With using intltool the localisation will fail cause of missing
-desktop.in file. Also the old desktop files are obsoleted by this
-commit.
-
-Also it is not necessary any more to have a './' in front of the files
-in POTFILES.in.
-------------------------------------------------------------------------
-r1770 | mow | 2009-06-28 00:56:50 +0200 (Sun, 28 Jun 2009) | 7 lines
-
-Fix AM_CFLAGS and AM_CXXFLAGS from @1701
-
-The commit 1701 did insert wrong lines for AM_CFLAGS and AM_CXXFLAGS to
-src/Makefile.am.
-
-I also did some minor whitespace fixes and made the internal
-documentation consistent by using \ than @ for doxygen doc.
-------------------------------------------------------------------------
-r1769 | nadvornik | 2009-06-28 00:40:25 +0200 (Sun, 28 Jun 2009) | 2 lines
-
-added command for editing ufraw id file, changed menu location
-
-------------------------------------------------------------------------
-r1768 | nadvornik | 2009-06-27 23:12:07 +0200 (Sat, 27 Jun 2009) | 2 lines
-
-reordered View menu
-
-------------------------------------------------------------------------
-r1767 | nadvornik | 2009-06-27 22:47:17 +0200 (Sat, 27 Jun 2009) | 2 lines
-
-use radio buttons for file and dir mode in popup menu
-
-------------------------------------------------------------------------
-r1766 | nadvornik | 2009-06-27 22:12:56 +0200 (Sat, 27 Jun 2009) | 2 lines
-
-simplified menu_item_add_radio usage
-
-------------------------------------------------------------------------
-r1765 | nadvornik | 2009-06-27 19:54:31 +0200 (Sat, 27 Jun 2009) | 2 lines
-
-created Files and Folders submenu
-
-------------------------------------------------------------------------
-r1764 | nadvornik | 2009-06-27 17:47:50 +0200 (Sat, 27 Jun 2009) | 6 lines
-
-improved overlay menu
-
-- indicate overlay and histogram state in toggle and radio entries in
-  the menu
-- all entries have visible effect in all modes
-
-------------------------------------------------------------------------
-r1763 | nadvornik | 2009-06-24 22:31:30 +0200 (Wed, 24 Jun 2009) | 9 lines
-
-test if an accelerator can be stored
-
-gtk_accel_map_change_entry can't change accelerators 
-to keys like arrows. Test this and show the keys in the list
-only if they can be really changed.
-
-https://sourceforge.net/tracker/?func=detail&aid=2805139&group_id=222125&atid=1054680
-
-
-------------------------------------------------------------------------
-r1762 | nadvornik | 2009-06-23 21:20:48 +0200 (Tue, 23 Jun 2009) | 2 lines
-
-improved description string
-
-------------------------------------------------------------------------
-r1761 | mow | 2009-06-22 00:52:45 +0200 (Mon, 22 Jun 2009) | 1 line
-
-Localizing one string
-------------------------------------------------------------------------
-r1760 | mow | 2009-06-22 00:52:08 +0200 (Mon, 22 Jun 2009) | 11 lines
-
-Fix two memory failures
-
-1. if the description field for a exif information is empty the program
-   dumps core when trying to change this. The reason is a strcmp with a
-   NULL value.
-
-   The fix add the small functionality to set the field to default when
-   it is set empty.
-
-2. There was a g_strdup miss in exif.c which could end in memory
-   corruption.
-------------------------------------------------------------------------
-r1759 | nadvornik | 2009-06-21 22:14:53 +0200 (Sun, 21 Jun 2009) | 5 lines
-
-improved file list update priority
-
-- update list with lower priority than the priority of file operations
-- make sure that it is updated at least once per 2 seconds
-
-------------------------------------------------------------------------
-r1758 | nadvornik | 2009-06-21 15:28:02 +0200 (Sun, 21 Jun 2009) | 2 lines
-
-fixed jumping of filelist on focus_in event
-
-------------------------------------------------------------------------
-r1757 | nadvornik | 2009-06-21 14:39:58 +0200 (Sun, 21 Jun 2009) | 2 lines
-
-fixed updating of marks in sidecars
-
-------------------------------------------------------------------------
-r1756 | nadvornik | 2009-06-21 01:15:11 +0200 (Sun, 21 Jun 2009) | 6 lines
-
-various geeqie-ufraw improvements
-
-- handle xmp sidecars
-- commandline options, help
-
-
-------------------------------------------------------------------------
-r1755 | nadvornik | 2009-06-20 20:42:23 +0200 (Sat, 20 Jun 2009) | 6 lines
-
-fixed leak in file_util_* functions
-
-- file_util_* are changed to take over the filelist and free it when
-  done
-- make sure that these functions are called correctly
-
-------------------------------------------------------------------------
-r1754 | nadvornik | 2009-06-20 18:46:32 +0200 (Sat, 20 Jun 2009) | 5 lines
-
-improved list view
-
-- do the string formatting in the cell_data callback
-- show the sidecar list only in collapsed entries
-
-------------------------------------------------------------------------
-r1753 | nadvornik | 2009-06-20 10:51:07 +0200 (Sat, 20 Jun 2009) | 2 lines
-
-always check for deleted sidecar files
-
-------------------------------------------------------------------------
-r1752 | nadvornik | 2009-06-20 00:37:30 +0200 (Sat, 20 Jun 2009) | 2 lines
-
-fixed regexp usage
-
-------------------------------------------------------------------------
-r1751 | nadvornik | 2009-06-20 00:34:52 +0200 (Sat, 20 Jun 2009) | 2 lines
-
-run external commands from current directory even with no files
-
-------------------------------------------------------------------------
-r1750 | nadvornik | 2009-06-18 22:46:33 +0200 (Thu, 18 Jun 2009) | 8 lines
-
-ufraw-batch script
-
-added a more complicated script that demonstrates advanced
-features of external editors:
-- create a jpeg + ufraw id file for each raw file
-- update the jpeg if the id file was modified
-
-
-------------------------------------------------------------------------
-r1749 | nadvornik | 2009-06-17 20:41:10 +0200 (Wed, 17 Jun 2009) | 2 lines
-
-made file_util_start_editor_from_file consider also sidecars
-
-------------------------------------------------------------------------
-r1748 | nadvornik | 2009-06-17 20:19:11 +0200 (Wed, 17 Jun 2009) | 7 lines
-
-fixed problems with floor/ceil
-
-- introduce macros ROUND_DOWN, ROUND_UP
-- fixed incorrect usage of floor/ceil functions on int arguments
-
-patch by  Yuriy Kaminskiy
-
-------------------------------------------------------------------------
-r1747 | nadvornik | 2009-06-15 22:50:35 +0200 (Mon, 15 Jun 2009) | 6 lines
-
-use intltool for desktop file translation
-
-- desktop files are translated via .po files together with other strings
-- make update-po is replaced with intltool-update [lang]
-
-
-------------------------------------------------------------------------
-r1746 | nadvornik | 2009-06-15 21:13:45 +0200 (Mon, 15 Jun 2009) | 5 lines
-
-improved rotation script
-
-- applies the orientation from metadata
-- uses exiftran for jpeg an ImageMagick for other files
-
-------------------------------------------------------------------------
-r1745 | zas_ | 2009-06-14 10:49:39 +0200 (Sun, 14 Jun 2009) | 1 line
-
-French translation was updated.
-------------------------------------------------------------------------
-r1744 | mow | 2009-06-14 00:19:57 +0200 (Sun, 14 Jun 2009) | 8 lines
-
-Update documentation
-
-Now it holds a more verbose doxygen description as discussed in mailing
-list.
-
-- Doxygen style description
-- Small visibility changes
-- Commit message change
-------------------------------------------------------------------------
-r1743 | nadvornik | 2009-06-13 21:26:32 +0200 (Sat, 13 Jun 2009) | 2 lines
-
-the options for custom border color were made independent
-
-------------------------------------------------------------------------
-r1742 | zas_ | 2009-06-11 20:18:07 +0200 (Thu, 11 Jun 2009) | 1 line
-
-French translation was updated.
-------------------------------------------------------------------------
-r1741 | zas_ | 2009-06-11 19:34:37 +0200 (Thu, 11 Jun 2009) | 1 line
-
-Fix up compilation using make -jN: sometimes it fails due to order of headers inclusion.
-------------------------------------------------------------------------
-r1740 | nadvornik | 2009-06-10 22:45:24 +0200 (Wed, 10 Jun 2009) | 2 lines
-
-make sure that a directory exists on saving desktop files
-
-------------------------------------------------------------------------
-r1739 | nadvornik | 2009-06-10 22:26:47 +0200 (Wed, 10 Jun 2009) | 9 lines
-
-do not install helper scripts into /usr/bin 
-
-- install the helper scripts into pkglibdir, that is /usr/lib/geeqie
-- add the directory to $PATH on startup - the Exec line in desktop files
-  does not have to contain full path
-
-fixes
-https://sourceforge.net/tracker/?func=detail&aid=2801121&group_id=222125&atid=1054680
-
-------------------------------------------------------------------------
-r1738 | nadvornik | 2009-06-09 21:12:37 +0200 (Tue, 09 Jun 2009) | 4 lines
-
-enabled color management in img-view
-
-patch by Omari Stephens
-
-------------------------------------------------------------------------
-r1737 | nadvornik | 2009-06-09 21:08:52 +0200 (Tue, 09 Jun 2009) | 4 lines
-
-fixed leak in image_post_process_color
-
-patch by Omari Stephens
-
-------------------------------------------------------------------------
-r1736 | nadvornik | 2009-06-08 21:05:49 +0200 (Mon, 08 Jun 2009) | 4 lines
-
-unify code paths for New directory
-keep the directory visible after rename
-https://sourceforge.net/tracker/?func=detail&aid=1951183&group_id=222125&atid=1054680
-
-------------------------------------------------------------------------
-r1735 | nadvornik | 2009-06-07 12:11:05 +0200 (Sun, 07 Jun 2009) | 4 lines
-
-do not show wide frame in single image mode
-it partially fixes
-https://sourceforge.net/tracker/?func=detail&aid=2797348&group_id=222125&atid=1054683
-
-------------------------------------------------------------------------
-r1734 | nadvornik | 2009-06-07 00:51:55 +0200 (Sun, 07 Jun 2009) | 2 lines
-
-added mark filter to menu - now it is possible to assign hotkeys
-
-------------------------------------------------------------------------
-r1733 | nadvornik | 2009-06-06 21:39:46 +0200 (Sat, 06 Jun 2009) | 3 lines
-
-preserve zoom value on fullscreen startup
-
-
-------------------------------------------------------------------------
-r1732 | nadvornik | 2009-06-06 19:28:16 +0200 (Sat, 06 Jun 2009) | 4 lines
-
-swap x and y scale when scaling rotated images - it fixes tiles that were
-sometimes off by 1 pixel - thanks Petr for reporting,
-code cleanup
-
-------------------------------------------------------------------------
-r1731 | zas_ | 2009-06-06 19:02:21 +0200 (Sat, 06 Jun 2009) | 1 line
-
-French translation was updated.
-------------------------------------------------------------------------
-r1730 | nadvornik | 2009-06-06 18:14:07 +0200 (Sat, 06 Jun 2009) | 5 lines
-
-better implementation of tree_view_row_get_visibility,
-gtk_tree_view_set_cursor is not sufficient in some cases, call also
-tree_view_row_make_visible
-
-
-------------------------------------------------------------------------
-r1729 | nadvornik | 2009-06-06 17:33:56 +0200 (Sat, 06 Jun 2009) | 3 lines
-
-do not call signal handler from vdtree_row_expanded
-it fixes tree view for user-entered hidden directories
-
-------------------------------------------------------------------------
-r1728 | nadvornik | 2009-06-06 13:15:09 +0200 (Sat, 06 Jun 2009) | 2 lines
-
-reduced jumping of directory tree when user clicks on folders
-
-------------------------------------------------------------------------
-r1727 | nadvornik | 2009-06-05 23:52:37 +0200 (Fri, 05 Jun 2009) | 2 lines
-
-simplified the code around vd_select_row
-
-------------------------------------------------------------------------
-r1726 | nadvornik | 2009-06-04 23:07:03 +0200 (Thu, 04 Jun 2009) | 7 lines
-
-use layout_set_fd() for changing images from a slideshow
-- this updates folder and icon in recursive slideshow mode
-
-preserve slideshow on layout change - fixes
-  https://sourceforge.net/tracker/?func=detail&aid=1998513&group_id=222125&atid=1054680
-
-
-------------------------------------------------------------------------
-r1725 | zas_ | 2009-06-04 21:51:20 +0200 (Thu, 04 Jun 2009) | 1 line
-
-Add an option to Image preferences to restrict custom border to fullscreen mode only. Bug 2798062.
-------------------------------------------------------------------------
-r1724 | mow | 2009-06-04 18:07:41 +0200 (Thu, 04 Jun 2009) | 4 lines
-
-Ongoing translation
-
-Now the most is translated to German language. Just the photographic
-notions are missing.
-------------------------------------------------------------------------
-r1723 | mow | 2009-06-04 18:07:16 +0200 (Thu, 04 Jun 2009) | 1 line
-
-Change the order of columns for editors dialogue
-------------------------------------------------------------------------
-r1722 | nadvornik | 2009-06-03 22:05:19 +0200 (Wed, 03 Jun 2009) | 2 lines
-
-regroup sidecar files when an operation on partial group is finished
-
-------------------------------------------------------------------------
-r1721 | nadvornik | 2009-06-03 00:33:53 +0200 (Wed, 03 Jun 2009) | 11 lines
-
-changed selection behavior as requested at
-http://sourceforge.net/tracker/?func=detail&aid=2789933&group_id=222125&atid=1054680
-
-file view - sidecars are added to the selection if they were expicitly selected
-            or if the entry is collapsed
-icon view - selection always contains sidecars
-
-file operations splits partially selected groups - selected files have
-disabled grouping
-
-
-------------------------------------------------------------------------
-r1720 | zas_ | 2009-06-01 18:37:30 +0200 (Mon, 01 Jun 2009) | 1 line
-
-Minor code cleanup and redundancy reduction.
-------------------------------------------------------------------------
-r1719 | nadvornik | 2009-05-31 16:32:39 +0200 (Sun, 31 May 2009) | 2 lines
-
-fixed incorrect type conversion
-
-------------------------------------------------------------------------
-r1718 | nadvornik | 2009-05-31 15:32:09 +0200 (Sun, 31 May 2009) | 3 lines
-
-do not display menus ("FileMenu" etc.) in accelerator configuration
-improved tooltip texts
-
-------------------------------------------------------------------------
-r1717 | nadvornik | 2009-05-31 13:08:00 +0200 (Sun, 31 May 2009) | 2 lines
-
-do not block the files sent to external editors like gimp
-
-------------------------------------------------------------------------
-r1716 | nadvornik | 2009-05-30 22:18:22 +0200 (Sat, 30 May 2009) | 5 lines
-
-preserve image center over short periods when the "broken image" icon is
-displayed
-http://sourceforge.net/tracker/?func=detail&aid=2793057&group_id=222125&atid=1054680
-
-
-------------------------------------------------------------------------
-r1714 | zas_ | 2009-05-26 21:41:22 +0200 (Tue, 26 May 2009) | 1 line
-
-Add .desktop files to restore lossless jpeg rotation via editors.
-------------------------------------------------------------------------
-r1713 | nadvornik | 2009-05-23 23:23:06 +0200 (Sat, 23 May 2009) | 4 lines
-
-added doxygen.conf
-https://sourceforge.net/tracker/?func=detail&aid=2795068&group_id=222125&atid=1054680
-
-
-------------------------------------------------------------------------
-r1712 | nadvornik | 2009-05-23 23:07:21 +0200 (Sat, 23 May 2009) | 3 lines
-
-enabled PageSize code
-https://bugzilla.redhat.com/show_bug.cgi?id=222639
-
-------------------------------------------------------------------------
-r1711 | zas_ | 2009-05-21 11:54:20 +0200 (Thu, 21 May 2009) | 1 line
-
-Add missing vim modeline.
-------------------------------------------------------------------------
-r1710 | zas_ | 2009-05-21 11:20:48 +0200 (Thu, 21 May 2009) | 1 line
-
-Attempt to use stock gtk icons for directory list and tree views.
-------------------------------------------------------------------------
-r1709 | zas_ | 2009-05-16 13:31:48 +0200 (Sat, 16 May 2009) | 1 line
-
-Fix up too short array, reported by Michael Schwendt.
-------------------------------------------------------------------------
-r1708 | zas_ | 2009-05-16 10:48:21 +0200 (Sat, 16 May 2009) | 11 lines
-
-Fix geeqie.desktop to match spec. Patch by Michael Schwendt.
-
-
-$ desktop-file-validate geeqie.desktop
-geeqie.desktop: warning: value "Application;Graphics;Viewer;" for key
-"Categories" in group "Desktop Entry" contains a deprecated value
-"Application"
-
-http://standards.freedesktop.org/menu-spec/menu-spec-1.0.html
-
-
-------------------------------------------------------------------------
-r1707 | zas_ | 2009-05-14 22:45:34 +0200 (Thu, 14 May 2009) | 1 line
-
-Fix up unused variables warnings.
-------------------------------------------------------------------------
-r1706 | zas_ | 2009-05-14 22:32:14 +0200 (Thu, 14 May 2009) | 1 line
-
-Merge common thumb code from view_file_list and view_file_icon to view_file.
-------------------------------------------------------------------------
-r1704 | nadvornik | 2009-05-12 22:54:58 +0200 (Tue, 12 May 2009) | 2 lines
-
-added some notes to README file
-
-------------------------------------------------------------------------
-r1703 | nadvornik | 2009-05-12 22:38:26 +0200 (Tue, 12 May 2009) | 2 lines
-
-fixed compilation with older gtk
-
-------------------------------------------------------------------------
-r1702 | nadvornik | 2009-05-12 22:17:03 +0200 (Tue, 12 May 2009) | 2 lines
-
-updated TODO list
-
-------------------------------------------------------------------------
-r1701 | nadvornik | 2009-05-12 20:25:18 +0200 (Tue, 12 May 2009) | 2 lines
-
-added GPS map support - patch by Colin Clark 
-
-------------------------------------------------------------------------
-r1700 | zas_ | 2009-05-12 08:54:05 +0200 (Tue, 12 May 2009) | 1 line
-
-French translation was updated.
-------------------------------------------------------------------------
-r1699 | zas_ | 2009-05-12 08:42:20 +0200 (Tue, 12 May 2009) | 1 line
-
-Fix up tooltip text: Color _Management -> Color Management.
-------------------------------------------------------------------------
-r1698 | nadvornik | 2009-05-11 22:50:13 +0200 (Mon, 11 May 2009) | 5 lines
-
-added keyboard configuration dialog 
-mostly written by Petr Ostadal
-alternate keys are not yet fully configurable - the corresponding code
-is commented out
-
-------------------------------------------------------------------------
-r1697 | zas_ | 2009-05-11 12:10:13 +0200 (Mon, 11 May 2009) | 1 line
-
-French translation was updated.
-------------------------------------------------------------------------
-r1696 | zas_ | 2009-05-11 11:55:39 +0200 (Mon, 11 May 2009) | 1 line
-
-Include missing header file.
-------------------------------------------------------------------------
-r1695 | nadvornik | 2009-05-09 21:45:24 +0200 (Sat, 09 May 2009) | 2 lines
-
-expose the file grouping flag to the user
-
-------------------------------------------------------------------------
-r1694 | nadvornik | 2009-05-09 21:25:51 +0200 (Sat, 09 May 2009) | 2 lines
-
-extended the list of grouped metadata tags
-
-------------------------------------------------------------------------
-r1693 | nadvornik | 2009-05-09 19:02:35 +0200 (Sat, 09 May 2009) | 2 lines
-
-added some structure to the metadata preferences dialog
-
-------------------------------------------------------------------------
-r1692 | nadvornik | 2009-05-08 20:29:09 +0200 (Fri, 08 May 2009) | 2 lines
-
-better tooltip for disabled lcms
-
-------------------------------------------------------------------------
-r1691 | nadvornik | 2009-05-07 22:24:35 +0200 (Thu, 07 May 2009) | 2 lines
-
-limit metadata details dialog size
-
-------------------------------------------------------------------------
-r1690 | nadvornik | 2009-05-07 21:52:38 +0200 (Thu, 07 May 2009) | 2 lines
-
-fixed keyword tree initialization
-
-------------------------------------------------------------------------
-r1689 | nadvornik | 2009-05-07 21:38:07 +0200 (Thu, 07 May 2009) | 2 lines
-
-updated version string to beta1
-
-------------------------------------------------------------------------
-r1688 | nadvornik | 2009-05-07 21:34:33 +0200 (Thu, 07 May 2009) | 2 lines
-
-enabled XDG directory layout
-
-------------------------------------------------------------------------
-r1687 | nadvornik | 2009-05-07 21:30:15 +0200 (Thu, 07 May 2009) | 2 lines
-
-use "keywords" instead of "tags" in option name, it is more consistent
-
-------------------------------------------------------------------------
-r1686 | zas_ | 2009-05-03 19:54:37 +0200 (Sun, 03 May 2009) | 1 line
-
-French translation was updated.
-------------------------------------------------------------------------
-r1685 | nadvornik | 2009-05-03 00:34:46 +0200 (Sun, 03 May 2009) | 2 lines
-
-added stock icons for slideshow
-
-------------------------------------------------------------------------
-r1684 | nadvornik | 2009-05-03 00:19:42 +0200 (Sun, 03 May 2009) | 2 lines
-
-updated czech translation
-
-------------------------------------------------------------------------
-r1683 | nadvornik | 2009-05-02 13:14:24 +0200 (Sat, 02 May 2009) | 2 lines
-
-force the metadata dialog if it was triggered by the menu or the button
-
-------------------------------------------------------------------------
-r1682 | nadvornik | 2009-05-02 12:59:36 +0200 (Sat, 02 May 2009) | 2 lines
-
-action table clean up
-
-------------------------------------------------------------------------
-r1681 | nadvornik | 2009-05-02 11:15:56 +0200 (Sat, 02 May 2009) | 3 lines
-
-improved pixel info, changed the menu entry from "Hide" to "Show",
-added it on default status bar
-
-------------------------------------------------------------------------
-r1680 | nadvornik | 2009-05-02 01:40:01 +0200 (Sat, 02 May 2009) | 3 lines
-
-"<control>S" seems to be hardcoded hotkey for GTK_STOCK_SAVE
-use <shift>S for sort manager
-
-------------------------------------------------------------------------
-r1679 | nadvornik | 2009-05-02 01:15:51 +0200 (Sat, 02 May 2009) | 3 lines
-
-- handle color profile and write metadata buttons on statusbar by ui_manager
-- statusbar buttons made configurable
-
-------------------------------------------------------------------------
-r1678 | nadvornik | 2009-05-01 11:49:27 +0200 (Fri, 01 May 2009) | 3 lines
-
-allow external editors without parameters, as long as they are in
-category 'X-Geeqie'
-
-------------------------------------------------------------------------
-r1677 | nadvornik | 2009-04-29 22:28:54 +0200 (Wed, 29 Apr 2009) | 2 lines
-
-updated czech translation, not yet complete
-
-------------------------------------------------------------------------
-r1676 | zas_ | 2009-04-28 23:40:00 +0200 (Tue, 28 Apr 2009) | 1 line
-
-French translation was updated.
-------------------------------------------------------------------------
-r1675 | zas_ | 2009-04-28 23:38:20 +0200 (Tue, 28 Apr 2009) | 1 line
-
-Update POTFILES.in: cellrenderericon.c removed, color-man.c added.
-------------------------------------------------------------------------
-r1674 | zas_ | 2009-04-28 23:37:27 +0200 (Tue, 28 Apr 2009) | 1 line
-
-Fix up po/Makefile to rebuild geeqie.pot when POTFILES.in was modified. Without this change, new translatable strings in recently added files were not available for translation in various .po files after a make update-po. Makefile.in.in.patch was modified to include this fix plus some minor cleanups.
-------------------------------------------------------------------------
-r1673 | nadvornik | 2009-04-28 22:09:41 +0200 (Tue, 28 Apr 2009) | 2 lines
-
-do not translate internal strings
-
-------------------------------------------------------------------------
-r1672 | nadvornik | 2009-04-28 08:55:56 +0200 (Tue, 28 Apr 2009) | 2 lines
-
-added new files
-
-------------------------------------------------------------------------
-r1671 | nadvornik | 2009-04-28 08:54:59 +0200 (Tue, 28 Apr 2009) | 2 lines
-
-compilation fixes for older glib and gtk
-
-------------------------------------------------------------------------
-r1670 | zas_ | 2009-04-28 01:07:59 +0200 (Tue, 28 Apr 2009) | 1 line
-
-French translation was updated: fix few main menu mnenonics.
-------------------------------------------------------------------------
-r1669 | nadvornik | 2009-04-27 23:39:56 +0200 (Mon, 27 Apr 2009) | 2 lines
-
-compilation fixes
-
-------------------------------------------------------------------------
-r1668 | nadvornik | 2009-04-27 22:19:21 +0200 (Mon, 27 Apr 2009) | 2 lines
-
-"make dist" fixes
-
-------------------------------------------------------------------------
-r1667 | zas_ | 2009-04-26 16:08:44 +0200 (Sun, 26 Apr 2009) | 1 line
-
-French translation was updated.
-------------------------------------------------------------------------
-r1666 | nadvornik | 2009-04-26 13:38:28 +0200 (Sun, 26 Apr 2009) | 2 lines
-
-small fixes
-
-------------------------------------------------------------------------
-r1665 | nadvornik | 2009-04-26 11:25:52 +0200 (Sun, 26 Apr 2009) | 2 lines
-
-fixed return from metadata_write_revert
-
-------------------------------------------------------------------------
-r1664 | nadvornik | 2009-04-26 11:01:35 +0200 (Sun, 26 Apr 2009) | 2 lines
-
-added an option to write image orientation to the metadata
-
-------------------------------------------------------------------------
-r1663 | nadvornik | 2009-04-26 00:08:09 +0200 (Sun, 26 Apr 2009) | 3 lines
-
-separated Orientation and Grayscale functions
-moved Grayscale to Color management menu
-
-------------------------------------------------------------------------
-r1662 | nadvornik | 2009-04-25 22:55:11 +0200 (Sat, 25 Apr 2009) | 2 lines
-
-added more info to the details dialog
-
-------------------------------------------------------------------------
-r1661 | nadvornik | 2009-04-25 01:26:49 +0200 (Sat, 25 Apr 2009) | 2 lines
-
-added details dialog for other operations too
-
-------------------------------------------------------------------------
-r1660 | nadvornik | 2009-04-25 00:51:00 +0200 (Sat, 25 Apr 2009) | 2 lines
-
-added possibility to exclude individual files
-
-------------------------------------------------------------------------
-r1659 | nadvornik | 2009-04-23 23:15:14 +0200 (Thu, 23 Apr 2009) | 2 lines
-
-fixed writting metadata behavior at exit
-
-------------------------------------------------------------------------
-r1658 | nadvornik | 2009-04-23 23:12:19 +0200 (Thu, 23 Apr 2009) | 2 lines
-
-added an image to the file details dialog
-
-------------------------------------------------------------------------
-r1657 | nadvornik | 2009-04-23 22:48:03 +0200 (Thu, 23 Apr 2009) | 2 lines
-
-differentiate between "Cancel" and "Discard changes"
-
-------------------------------------------------------------------------
-r1656 | zas_ | 2009-04-21 23:47:11 +0200 (Tue, 21 Apr 2009) | 1 line
-
-Fix up few warnings (especially on 64bits platforms).
-------------------------------------------------------------------------
-r1655 | nadvornik | 2009-04-21 23:16:32 +0200 (Tue, 21 Apr 2009) | 2 lines
-
-fixed metadata.confirm_on_dir_change
-
-------------------------------------------------------------------------
-r1654 | nadvornik | 2009-04-21 23:07:28 +0200 (Tue, 21 Apr 2009) | 2 lines
-
-added possibility to show modifiied metadata before write
-
-------------------------------------------------------------------------
-r1653 | nadvornik | 2009-04-20 23:34:16 +0200 (Mon, 20 Apr 2009) | 8 lines
-
-added remote interface for exporting additional info (sidecars,
-destination) to external commands
-
-see the symlink command for an example
-
-http://sourceforge.net/tracker/?func=detail&aid=2488845&group_id=222125&atid=1054680
-
-
-------------------------------------------------------------------------
-r1652 | nadvornik | 2009-04-20 23:07:52 +0200 (Mon, 20 Apr 2009) | 2 lines
-
-write info and debugging messages to stderr
-
-------------------------------------------------------------------------
-r1651 | nadvornik | 2009-04-20 21:44:50 +0200 (Mon, 20 Apr 2009) | 2 lines
-
-improved remote protocol to allow bidirectional communication
-
-------------------------------------------------------------------------
-r1650 | nadvornik | 2009-04-17 22:26:22 +0200 (Fri, 17 Apr 2009) | 2 lines
-
-fixed tests for vd_find_row return value
-
-------------------------------------------------------------------------
-r1649 | mow | 2009-04-14 23:51:29 +0200 (Tue, 14 Apr 2009) | 3 lines
-
-German translation updated
-
-With some help from de.alt.rec.digitalfotografie.
-------------------------------------------------------------------------
-r1648 | zas_ | 2009-04-14 22:54:50 +0200 (Tue, 14 Apr 2009) | 1 line
-
-French translation was updated.
-------------------------------------------------------------------------
-r1647 | nadvornik | 2009-04-14 00:40:47 +0200 (Tue, 14 Apr 2009) | 2 lines
-
-color profile fixes
-
-------------------------------------------------------------------------
-r1646 | nadvornik | 2009-04-13 16:39:50 +0200 (Mon, 13 Apr 2009) | 2 lines
-
-show color management status on statusbar
-
-------------------------------------------------------------------------
-r1645 | nadvornik | 2009-04-13 12:55:49 +0200 (Mon, 13 Apr 2009) | 3 lines
-
-support X11 screen profile
-http://freedesktop.org/wiki/ICC_Profiles_in_X_Specification_0.3
-
-------------------------------------------------------------------------
-r1644 | nadvornik | 2009-04-13 10:09:56 +0200 (Mon, 13 Apr 2009) | 2 lines
-
-moved color profiles from statusbar to View menu
-
-------------------------------------------------------------------------
-r1643 | mow | 2009-04-12 19:58:55 +0200 (Sun, 12 Apr 2009) | 1 line
-
-German translation updated
-------------------------------------------------------------------------
-r1642 | zas_ | 2009-04-12 17:06:43 +0200 (Sun, 12 Apr 2009) | 1 line
-
-French translation was updated.
-------------------------------------------------------------------------
-r1641 | mow | 2009-04-12 13:02:03 +0200 (Sun, 12 Apr 2009) | 3 lines
-
-Update POTFILES.in
-
-metadata.c was not in the POTFILES.in.
-------------------------------------------------------------------------
-r1640 | nadvornik | 2009-04-12 10:36:53 +0200 (Sun, 12 Apr 2009) | 2 lines
-
-fixed ambiguous strings
-
-------------------------------------------------------------------------
-r1639 | nadvornik | 2009-04-11 23:28:46 +0200 (Sat, 11 Apr 2009) | 2 lines
-
-improved default keyword tree
-
-------------------------------------------------------------------------
-r1638 | mow | 2009-04-11 22:46:37 +0200 (Sat, 11 Apr 2009) | 4 lines
-
-Fix that the output of msgfmt could be singular
-
-The output of msgfmt could be singular if there is only one translation
-of the given type.
-------------------------------------------------------------------------
-r1636 | mow | 2009-04-11 21:51:03 +0200 (Sat, 11 Apr 2009) | 4 lines
-
-Allow to configure case handling of keywords
-
-Sometimes I use just different case for keywords. This should be
-chooseable.
-------------------------------------------------------------------------
-r1635 | nadvornik | 2009-04-11 21:35:03 +0200 (Sat, 11 Apr 2009) | 2 lines
-
-fixed updating of filelist marks
-
-------------------------------------------------------------------------
-r1634 | mow | 2009-04-11 20:34:12 +0200 (Sat, 11 Apr 2009) | 9 lines
-
-Adding debian packaging informations
-
-Adding debian control directory to create a geeqie debian package.
-
-NOTES: (To be fixed in autoconf)
-   - LIRC must be explicit _enabled_ instead of disable. This is wrong
-     documented.
-   - It might be a good idea to derivate the readmedir and the htmldir
-     from docdir.
-------------------------------------------------------------------------
-r1633 | mow | 2009-04-11 18:34:25 +0200 (Sat, 11 Apr 2009) | 4 lines
-
-Implementing CTRL-W to close advanced exif window
-
-In fact, this implements keypress event handling in the advanced exif
-window to handle CTRL-W event.
-------------------------------------------------------------------------
-r1632 | mow | 2009-04-10 15:54:08 +0200 (Fri, 10 Apr 2009) | 5 lines
-
-Just update the internal sort method
-
-There is no other use of the internal sort method than speeding up the
-sorting of a collection. So setting it to SORT_NONE is the better
-choice.
-------------------------------------------------------------------------
-r1631 | mow | 2009-04-10 15:44:37 +0200 (Fri, 10 Apr 2009) | 4 lines
-
-Implement random sort method for collections
-
-This patch allows to randomize the collections. (Closes: #2497413)
-https://sourceforge.net/tracker/?func=detail&aid=2497413&group_id=222125&atid=1054683
-------------------------------------------------------------------------
-r1630 | mow | 2009-04-10 12:18:42 +0200 (Fri, 10 Apr 2009) | 9 lines
-
-Fix the broken statistic generation
-
-The output of msgfmt has different format if no fuzzy translations (or
-even no translated) are available. I fixed that by parsing the output of
-msgfmt more intelligent.
-
-Drawback of the solution is that the parsing will not work if the output
-of msgfmt use not the strings "translated messages", "fuzzy
-translations" and "untranslated messages".
-------------------------------------------------------------------------
-r1629 | mow | 2009-04-10 11:47:40 +0200 (Fri, 10 Apr 2009) | 4 lines
-
-German translation updated
-
-Also included a update in the README file. Finally I add myself to that
-file. :-)
-------------------------------------------------------------------------
-r1628 | mow | 2009-04-10 11:47:20 +0200 (Fri, 10 Apr 2009) | 8 lines
-
-Add pgettext for some ambiguous strings
-
-There are some strings which are ambiguous to translate. There is the
-pgettext function to solf that problem.
-
-For example, locations can be translated to german by Ortsangaben
-(geographical) or by Pfad (filesystem). I am sure there are also some
-ambiguous in other languages.
-------------------------------------------------------------------------
-r1627 | zas_ | 2009-04-09 22:40:16 +0200 (Thu, 09 Apr 2009) | 1 line
-
-Minor french translations fixes.
-------------------------------------------------------------------------
-r1626 | zas_ | 2009-04-09 22:07:16 +0200 (Thu, 09 Apr 2009) | 1 line
-
-Fix histogram labels in french.
-------------------------------------------------------------------------
-r1625 | zas_ | 2009-04-09 21:58:03 +0200 (Thu, 09 Apr 2009) | 1 line
-
-French translation was updated.
-------------------------------------------------------------------------
-r1624 | nadvornik | 2009-04-08 21:32:30 +0200 (Wed, 08 Apr 2009) | 4 lines
-
-improved Exiv2 error reporting:
-- use correct charset
-- respect --debug
-
-------------------------------------------------------------------------
-r1623 | mow | 2009-04-07 01:59:54 +0200 (Tue, 07 Apr 2009) | 4 lines
-
-Nest new keywords inside existing
-
-It is boring to first add a bunch of keywords and then move them to the
-new location. It is more natural to add them as child to existing ons.
-------------------------------------------------------------------------
-r1622 | mow | 2009-04-07 01:59:38 +0200 (Tue, 07 Apr 2009) | 4 lines
-
-Fix the is_keyword bug
-
-The is_keyword would be new set when placing the radio buttons. This
-Patch fix it by setting the variable afterwards.
-------------------------------------------------------------------------
-r1621 | mow | 2009-04-07 01:39:27 +0200 (Tue, 07 Apr 2009) | 1 line
-
-Set the focus for new keyword dialog
-------------------------------------------------------------------------
-r1620 | zas_ | 2009-04-07 00:18:13 +0200 (Tue, 07 Apr 2009) | 1 line
-
-Disable unused functions when compiled without threads support, prevents few warnings.
-------------------------------------------------------------------------
-r1619 | zas_ | 2009-04-07 00:13:54 +0200 (Tue, 07 Apr 2009) | 10 lines
-
-Fix up event source ids type: gint -> guint.
-Functions like g_timeout_add() or g_idle_add() return a guint
-greater than 0, but in most places it was wrongly stored as int
-and initialized to -1.
-This broke assertions matching in g_source_remove() for example
-since id was always greater than 0 even when timer was not set
-(-1 was casted to the biggest guint).
-
-
-
-------------------------------------------------------------------------
-r1618 | nadvornik | 2009-04-06 23:52:49 +0200 (Mon, 06 Apr 2009) | 2 lines
-
-re-ordered some options, improved descriptions
-
-------------------------------------------------------------------------
-r1617 | nadvornik | 2009-04-06 22:38:54 +0200 (Mon, 06 Apr 2009) | 2 lines
-
-unconditionally enable fast jpeg thumbnailing
-
-------------------------------------------------------------------------
-r1616 | nadvornik | 2009-04-06 21:53:59 +0200 (Mon, 06 Apr 2009) | 2 lines
-
-added pane_notify_selection to pane API
-
-------------------------------------------------------------------------
-r1615 | zas_ | 2009-04-06 21:13:35 +0200 (Mon, 06 Apr 2009) | 1 line
-
-Remove unused field in IconData.
-------------------------------------------------------------------------
-r1614 | nadvornik | 2009-04-06 21:09:55 +0200 (Mon, 06 Apr 2009) | 2 lines
-
-optimized sidecar file check
-
-------------------------------------------------------------------------
-r1613 | nadvornik | 2009-04-05 11:46:49 +0200 (Sun, 05 Apr 2009) | 2 lines
-
-fixed bug in overlay drawing
-
-------------------------------------------------------------------------
-r1612 | nadvornik | 2009-04-05 11:25:48 +0200 (Sun, 05 Apr 2009) | 2 lines
-
-improved Scroll reset method in preferences dialog
-
-------------------------------------------------------------------------
-r1611 | nadvornik | 2009-04-05 01:12:19 +0200 (Sun, 05 Apr 2009) | 3 lines
-
-disabled 2-pass rendering also affect color correction
-https://sourceforge.net/tracker/?func=detail&aid=2689249&group_id=222125&atid=1054683
-
-------------------------------------------------------------------------
-r1610 | nadvornik | 2009-04-05 00:29:25 +0200 (Sun, 05 Apr 2009) | 2 lines
-
-added option that simplifies saving of multi-window configurations
-
-------------------------------------------------------------------------
-r1609 | nadvornik | 2009-04-05 00:09:50 +0200 (Sun, 05 Apr 2009) | 2 lines
-
-dropped show_copy_path option
-
-------------------------------------------------------------------------
-r1608 | nadvornik | 2009-04-04 23:53:12 +0200 (Sat, 04 Apr 2009) | 2 lines
-
-dropped read_buffer options - they don't have any significant effect
-
-------------------------------------------------------------------------
-r1607 | nadvornik | 2009-04-04 23:14:34 +0200 (Sat, 04 Apr 2009) | 2 lines
-
-startup path options simplified and moved to layout options
-
-------------------------------------------------------------------------
-r1606 | nadvornik | 2009-04-04 22:20:17 +0200 (Sat, 04 Apr 2009) | 4 lines
-
-moved options from Advanced tab to other tabs
-TODO: add Advanced section on each tab
-
-
-------------------------------------------------------------------------
-r1605 | nadvornik | 2009-04-04 21:10:49 +0200 (Sat, 04 Apr 2009) | 2 lines
-
-added metadata_read_GPS_coord
-
-------------------------------------------------------------------------
-r1604 | nadvornik | 2009-04-04 18:42:54 +0200 (Sat, 04 Apr 2009) | 3 lines
-
-set current fd when the bar is shown again
-https://sourceforge.net/tracker/?func=detail&atid=1054680&aid=2729157&group_id=222125
-
-------------------------------------------------------------------------
-r1603 | nadvornik | 2009-04-03 21:35:34 +0200 (Fri, 03 Apr 2009) | 2 lines
-
-convert commandline to utf8
-
-------------------------------------------------------------------------
-r1602 | zas_ | 2009-04-03 01:11:07 +0200 (Fri, 03 Apr 2009) | 1 line
-
-Force thumbnails refreshing when thumbnails dimensions are modified through Preferences.
-------------------------------------------------------------------------
-r1601 | zas_ | 2009-04-02 18:10:12 +0200 (Thu, 02 Apr 2009) | 5 lines
-
-Use full path in genmarshal.
-This allows out of source builds with fakeroot.
-Patch by Lukas Jirkovsky.
-
-
-------------------------------------------------------------------------
-r1600 | zas_ | 2009-04-01 00:23:33 +0200 (Wed, 01 Apr 2009) | 1 line
-
-Cleanup.
-------------------------------------------------------------------------
-r1599 | nadvornik | 2009-03-31 23:33:54 +0200 (Tue, 31 Mar 2009) | 6 lines
-
-improved next/prev operation on sidecar files
-
-all operations with list index seem to be broken but IMHO this fix is
-sufficient for 1.0. Then it definitely needs a better interface.
-
-
-------------------------------------------------------------------------
-r1598 | zas_ | 2009-03-31 22:57:31 +0200 (Tue, 31 Mar 2009) | 1 line
-
-Add and install a template to be used as new editor. Need more work.
-------------------------------------------------------------------------
-r1597 | nadvornik | 2009-03-31 22:53:37 +0200 (Tue, 31 Mar 2009) | 2 lines
-
-fixed vdlist_find_row return value
-
-------------------------------------------------------------------------
-r1596 | nadvornik | 2009-03-31 22:35:04 +0200 (Tue, 31 Mar 2009) | 2 lines
-
-use a better signal
-
-------------------------------------------------------------------------
-r1595 | zas_ | 2009-03-31 22:22:47 +0200 (Tue, 31 Mar 2009) | 1 line
-
-Make desktop window list checkboxes centered and not activatable.
-------------------------------------------------------------------------
-r1594 | nadvornik | 2009-03-31 22:05:16 +0200 (Tue, 31 Mar 2009) | 2 lines
-
-improved debug messages
-
-------------------------------------------------------------------------
-r1593 | nadvornik | 2009-03-31 21:34:39 +0200 (Tue, 31 Mar 2009) | 4 lines
-
-report pixbuf loader errors
-https://sourceforge.net/tracker/?func=detail&aid=2720577&group_id=222125&atid=1054680
-
-
-------------------------------------------------------------------------
-r1592 | zas_ | 2009-03-31 20:45:33 +0200 (Tue, 31 Mar 2009) | 1 line
-
-Allow to delete an editor's desktop file from editors list window.
-------------------------------------------------------------------------
-r1591 | zas_ | 2009-03-30 22:42:06 +0200 (Mon, 30 Mar 2009) | 1 line
-
-Update POTFILES.in and french translation.
-------------------------------------------------------------------------
-r1590 | zas_ | 2009-03-30 22:01:27 +0200 (Mon, 30 Mar 2009) | 1 line
-
-French translation was updated.
-------------------------------------------------------------------------
-r1589 | zas_ | 2009-03-30 21:57:44 +0200 (Mon, 30 Mar 2009) | 1 line
-
-Update Changelog file.
-------------------------------------------------------------------------
-r1588 | zas_ | 2009-03-30 21:01:09 +0200 (Mon, 30 Mar 2009) | 7 lines
-
-Fixed bug where pixel/color information at x=0 coordinates werent shown:
-- pixel-coordinates now calculated with floor
-- guard for update in layout does not apply for 0 coordinates anymore
-
-Patch by Ruben Stein.
-
-
-------------------------------------------------------------------------
-r1587 | zas_ | 2009-03-30 19:52:14 +0200 (Mon, 30 Mar 2009) | 1 line
-
-Fix up previous patch.
-------------------------------------------------------------------------
-r1586 | zas_ | 2009-03-30 19:05:31 +0200 (Mon, 30 Mar 2009) | 1 line
-
-Desktop files window: make columns sortable, replace Apply and OK buttons by one Save button which is made sensitive when needed.
-------------------------------------------------------------------------
-r1585 | nadvornik | 2009-03-29 22:06:21 +0200 (Sun, 29 Mar 2009) | 2 lines
-
-improved bar_pane_comment_notify_cb
-
-------------------------------------------------------------------------
-r1584 | nadvornik | 2009-03-29 21:57:19 +0200 (Sun, 29 Mar 2009) | 2 lines
-
-fixed a typo
-
-------------------------------------------------------------------------
-r1583 | nadvornik | 2009-03-29 21:40:16 +0200 (Sun, 29 Mar 2009) | 2 lines
-
-fixed possible crash
-
-------------------------------------------------------------------------
-r1582 | nadvornik | 2009-03-29 18:39:42 +0200 (Sun, 29 Mar 2009) | 2 lines
-
-added UfRaw ID files to known filetypes
-
-------------------------------------------------------------------------
-r1581 | nadvornik | 2009-03-29 16:26:44 +0200 (Sun, 29 Mar 2009) | 2 lines
-
-pane interface cleanup
-
-------------------------------------------------------------------------
-r1580 | nadvornik | 2009-03-29 16:20:44 +0200 (Sun, 29 Mar 2009) | 2 lines
-
-improved sidebar configuration
-
-------------------------------------------------------------------------
-r1579 | nadvornik | 2009-03-29 12:36:13 +0200 (Sun, 29 Mar 2009) | 2 lines
-
-re-added possibility to display basic file info (size, mode, date)
-
-------------------------------------------------------------------------
-r1578 | nadvornik | 2009-03-28 16:51:21 +0100 (Sat, 28 Mar 2009) | 3 lines
-
-fixed keyboard focus on start-up
-https://sourceforge.net/tracker/?func=detail&aid=2707025&group_id=222125&atid=1054680
-
-------------------------------------------------------------------------
-r1577 | nadvornik | 2009-03-28 16:31:04 +0100 (Sat, 28 Mar 2009) | 2 lines
-
-active image follows keyboard focus
-
-------------------------------------------------------------------------
-r1576 | nadvornik | 2009-03-28 16:09:09 +0100 (Sat, 28 Mar 2009) | 2 lines
-
-split-mode cleanup and improvements
-
-------------------------------------------------------------------------
-r1575 | nadvornik | 2009-03-27 09:05:14 +0100 (Fri, 27 Mar 2009) | 2 lines
-
-added simple desktop file editor
-
-------------------------------------------------------------------------
-r1574 | zas_ | 2009-03-26 22:49:20 +0100 (Thu, 26 Mar 2009) | 7 lines
-
-Improve editors through .desktop files implementation:
-- stricter Exec parameters detection
-- correct Icon key handling (absolute file vs name and --icon prefix)
-- improved escape, single, double quotes handling and escaping
-
-
-
-------------------------------------------------------------------------
-r1573 | nadvornik | 2009-03-26 08:56:01 +0100 (Thu, 26 Mar 2009) | 2 lines
-
-fixed histogram drawing
-
-------------------------------------------------------------------------
-r1572 | zas_ | 2009-03-23 19:49:23 +0100 (Mon, 23 Mar 2009) | 1 line
-
-French translation was updated.
-------------------------------------------------------------------------
-r1571 | nadvornik | 2009-03-22 00:16:38 +0100 (Sun, 22 Mar 2009) | 2 lines
-
-more consistent remote options naming
-
-------------------------------------------------------------------------
-r1570 | nadvornik | 2009-03-21 21:19:11 +0100 (Sat, 21 Mar 2009) | 3 lines
-
-fixed segfault in histogram
-http://sourceforge.net/tracker/index.php?func=detail&aid=2690498&group_id=222125&atid=1054680
-
-------------------------------------------------------------------------
-r1569 | nadvornik | 2009-03-21 20:51:07 +0100 (Sat, 21 Mar 2009) | 2 lines
-
-layout id "_current_" matches the currently active layout window
-
-------------------------------------------------------------------------
-r1568 | nadvornik | 2009-03-21 19:22:04 +0100 (Sat, 21 Mar 2009) | 2 lines
-
-do not copy existing layout id to new window
-
-------------------------------------------------------------------------
-r1567 | nadvornik | 2009-03-21 18:47:50 +0100 (Sat, 21 Mar 2009) | 2 lines
-
-update translated pane titles
-
-------------------------------------------------------------------------
-r1566 | nadvornik | 2009-03-20 23:48:01 +0100 (Fri, 20 Mar 2009) | 2 lines
-
-do not re-create ui_manager at layout change
-
-------------------------------------------------------------------------
-r1565 | nadvornik | 2009-03-20 22:28:31 +0100 (Fri, 20 Mar 2009) | 2 lines
-
-added a possibility to update existing bars from config
-
-------------------------------------------------------------------------
-r1564 | nadvornik | 2009-03-20 18:02:00 +0100 (Fri, 20 Mar 2009) | 3 lines
-
-added tooltips to external editors on toolbar
-- patch by Colin Clark
-
-------------------------------------------------------------------------
-r1563 | nadvornik | 2009-03-20 17:28:43 +0100 (Fri, 20 Mar 2009) | 2 lines
-
-added "load config" command to remote control
-
-------------------------------------------------------------------------
-r1562 | nadvornik | 2009-03-20 15:36:59 +0100 (Fri, 20 Mar 2009) | 2 lines
-
-added possibility to update existing layout window from config
-
-------------------------------------------------------------------------
-r1561 | nadvornik | 2009-03-20 12:52:29 +0100 (Fri, 20 Mar 2009) | 2 lines
-
-do not add duplicate keywords from config file
-
-------------------------------------------------------------------------
-r1560 | nadvornik | 2009-03-20 11:12:29 +0100 (Fri, 20 Mar 2009) | 2 lines
-
-be more verbose on parse errors
-
-------------------------------------------------------------------------
-r1559 | nadvornik | 2009-03-20 10:46:35 +0100 (Fri, 20 Mar 2009) | 3 lines
-
-added function to reload external editors at any time
-eliminated init_after_global_options()
-
-------------------------------------------------------------------------
-r1558 | nadvornik | 2009-03-19 23:58:28 +0100 (Thu, 19 Mar 2009) | 2 lines
-
-initialization clean-up
-
-------------------------------------------------------------------------
-r1557 | nadvornik | 2009-03-19 23:12:14 +0100 (Thu, 19 Mar 2009) | 2 lines
-
-improved config file formatting
-
-------------------------------------------------------------------------
-r1556 | nadvornik | 2009-03-18 00:03:07 +0100 (Wed, 18 Mar 2009) | 2 lines
-
-added more IPTC tags
-
-------------------------------------------------------------------------
-r1555 | nadvornik | 2009-03-17 23:41:09 +0100 (Tue, 17 Mar 2009) | 2 lines
-
-implemented editing support in exif pane
-
-------------------------------------------------------------------------
-r1554 | nadvornik | 2009-03-17 20:52:56 +0100 (Tue, 17 Mar 2009) | 2 lines
-
-fixed loading of desktop file icons, gtk seems to expect an icon name without extension
-
-------------------------------------------------------------------------
-r1553 | nadvornik | 2009-03-17 20:09:34 +0100 (Tue, 17 Mar 2009) | 2 lines
-
-simplified code
-
-------------------------------------------------------------------------
-r1552 | nadvornik | 2009-03-17 19:58:15 +0100 (Tue, 17 Mar 2009) | 2 lines
-
-improved expanding and hiding of helper keywords
-
-------------------------------------------------------------------------
-r1551 | nadvornik | 2009-03-17 19:30:53 +0100 (Tue, 17 Mar 2009) | 2 lines
-
-fixed keyword tree redrawing
-
-------------------------------------------------------------------------
-r1550 | zas_ | 2009-03-17 01:05:13 +0100 (Tue, 17 Mar 2009) | 1 line
-
-Preliminary support for doxygen: make doxygen-doc will create documentation from sources in doc/doxygen directory.
-------------------------------------------------------------------------
-r1549 | zas_ | 2009-03-16 21:39:09 +0100 (Mon, 16 Mar 2009) | 1 line
-
-gint -> gboolean where applicable. The end (ouf!).
-------------------------------------------------------------------------
-r1548 | zas_ | 2009-03-16 20:11:39 +0100 (Mon, 16 Mar 2009) | 1 line
-
-gint -> gboolean where applicable.
-------------------------------------------------------------------------
-r1547 | zas_ | 2009-03-16 19:19:11 +0100 (Mon, 16 Mar 2009) | 1 line
-
-gint -> gboolean where applicable.
-------------------------------------------------------------------------
-r1546 | nadvornik | 2009-03-16 00:22:17 +0100 (Mon, 16 Mar 2009) | 2 lines
-
-improved pane_keywords notification
-
-------------------------------------------------------------------------
-r1545 | nadvornik | 2009-03-15 23:46:25 +0100 (Sun, 15 Mar 2009) | 4 lines
-
-call the notify function just once when the keywords are pushed to the
-textarea
-
-
-------------------------------------------------------------------------
-r1544 | zas_ | 2009-03-15 21:16:20 +0100 (Sun, 15 Mar 2009) | 1 line
-
-gint -> gboolean.
-------------------------------------------------------------------------
-r1543 | nadvornik | 2009-03-15 19:41:25 +0100 (Sun, 15 Mar 2009) | 3 lines
-
-fixed segfault in osd called from img-view
-http://sourceforge.net/tracker/index.php?func=detail&aid=2684068&group_id=222125&atid=1054680
-
-------------------------------------------------------------------------
-r1542 | zas_ | 2009-03-15 19:06:41 +0100 (Sun, 15 Mar 2009) | 1 line
-
-gint -> gboolean.
-------------------------------------------------------------------------
-r1541 | nadvornik | 2009-03-15 18:40:04 +0100 (Sun, 15 Mar 2009) | 2 lines
-
-fixed viewing image from dupe and search windows
-
-------------------------------------------------------------------------
-r1540 | zas_ | 2009-03-15 16:01:07 +0100 (Sun, 15 Mar 2009) | 1 line
-
-gint -> gboolean.
-------------------------------------------------------------------------
-r1539 | zas_ | 2009-03-15 14:33:56 +0100 (Sun, 15 Mar 2009) | 1 line
-
-gint -> gboolean.
-------------------------------------------------------------------------
-r1538 | nadvornik | 2009-03-15 13:41:39 +0100 (Sun, 15 Mar 2009) | 2 lines
-
-fixed XMP and IPTC entry names in exif pane
-
-------------------------------------------------------------------------
-r1537 | nadvornik | 2009-03-15 13:20:14 +0100 (Sun, 15 Mar 2009) | 2 lines
-
-added notification to the exif pane
-
-------------------------------------------------------------------------
-r1536 | nadvornik | 2009-03-15 12:58:46 +0100 (Sun, 15 Mar 2009) | 2 lines
-
-fixed a bug in osd updating, it seems that the osd icons work again
-
-------------------------------------------------------------------------
-r1535 | nadvornik | 2009-03-15 12:34:09 +0100 (Sun, 15 Mar 2009) | 2 lines
-
-compute histogram in idle time
-
-------------------------------------------------------------------------
-r1534 | nadvornik | 2009-03-15 10:06:13 +0100 (Sun, 15 Mar 2009) | 2 lines
-
-fixed possible deadlock with multiple thumb loaders in parallel
-
-------------------------------------------------------------------------
-r1533 | zas_ | 2009-03-15 08:07:52 +0100 (Sun, 15 Mar 2009) | 1 line
-
-gint -> gboolean.
-------------------------------------------------------------------------
-r1532 | nadvornik | 2009-03-15 00:26:42 +0100 (Sun, 15 Mar 2009) | 3 lines
-
-completely separated global and layout window options
-layout window configuration is available under separate menu entry
-
-------------------------------------------------------------------------
-r1531 | zas_ | 2009-03-14 22:12:55 +0100 (Sat, 14 Mar 2009) | 1 line
-
-gint -> gboolean.
-------------------------------------------------------------------------
-r1530 | zas_ | 2009-03-14 21:07:23 +0100 (Sat, 14 Mar 2009) | 1 line
-
-More gboolean.
-------------------------------------------------------------------------
-r1529 | zas_ | 2009-03-14 20:25:21 +0100 (Sat, 14 Mar 2009) | 1 line
-
-Use gboolean where applicable, minor cleanup and indentations fixes.
-------------------------------------------------------------------------
-r1528 | nadvornik | 2009-03-14 18:21:35 +0100 (Sat, 14 Mar 2009) | 2 lines
-
-improved notification system
-
-------------------------------------------------------------------------
-r1527 | zas_ | 2009-03-14 12:26:43 +0100 (Sat, 14 Mar 2009) | 1 line
-
-More gboolean and tidy up.
-------------------------------------------------------------------------
-r1526 | nadvornik | 2009-03-14 11:34:42 +0100 (Sat, 14 Mar 2009) | 2 lines
-
-cleanup, small fixes
-
-------------------------------------------------------------------------
-r1525 | nadvornik | 2009-03-14 00:19:58 +0100 (Sat, 14 Mar 2009) | 2 lines
-
-do not allow to add keywords with the same name as siblings
-
-------------------------------------------------------------------------
-r1524 | nadvornik | 2009-03-13 17:45:21 +0100 (Fri, 13 Mar 2009) | 2 lines
-
-added keyword tree filtering
-
-------------------------------------------------------------------------
-r1523 | nadvornik | 2009-03-13 13:06:01 +0100 (Fri, 13 Mar 2009) | 2 lines
-
-show file name in advanced_exif
-
-------------------------------------------------------------------------
-r1522 | nadvornik | 2009-03-13 11:36:32 +0100 (Fri, 13 Mar 2009) | 2 lines
-
-handle sidecar files for raw formats that are not known to exiv2
-
-------------------------------------------------------------------------
-r1521 | nadvornik | 2009-03-13 10:03:06 +0100 (Fri, 13 Mar 2009) | 2 lines
-
-fixed keyword to mark connection
-
-------------------------------------------------------------------------
-r1520 | zas_ | 2009-03-12 23:44:21 +0100 (Thu, 12 Mar 2009) | 1 line
-
-Use gboolean where applicable.
-------------------------------------------------------------------------
-r1519 | zas_ | 2009-03-12 23:39:06 +0100 (Thu, 12 Mar 2009) | 1 line
-
-Make ishidden() static to filedata.c and rename it is_hidden_file().
-------------------------------------------------------------------------
-r1518 | zas_ | 2009-03-12 23:35:45 +0100 (Thu, 12 Mar 2009) | 1 line
-
-gint -> gboolean and tidy up.
-------------------------------------------------------------------------
-r1517 | nadvornik | 2009-03-12 22:27:13 +0100 (Thu, 12 Mar 2009) | 2 lines
-
-added a dialog for editing keyword tree
-
-------------------------------------------------------------------------
-r1516 | zas_ | 2009-03-12 22:06:37 +0100 (Thu, 12 Mar 2009) | 1 line
-
-Use gboolean where applicable, for the sake of consistency.
-------------------------------------------------------------------------
-r1515 | zas_ | 2009-03-12 00:36:01 +0100 (Thu, 12 Mar 2009) | 1 line
-
-Code cleanup.
-------------------------------------------------------------------------
-r1514 | zas_ | 2009-03-12 00:35:31 +0100 (Thu, 12 Mar 2009) | 1 line
-
-Fix bug when adding a new collection through sort manager. Tidy up.
-------------------------------------------------------------------------
-r1513 | zas_ | 2009-03-12 00:04:30 +0100 (Thu, 12 Mar 2009) | 1 line
-
-Tidy up.
-------------------------------------------------------------------------
-r1512 | zas_ | 2009-03-11 23:56:56 +0100 (Wed, 11 Mar 2009) | 1 line
-
-Use gboolean pseudo type where applicable.
-------------------------------------------------------------------------
-r1511 | zas_ | 2009-03-11 23:28:37 +0100 (Wed, 11 Mar 2009) | 1 line
-
-Remove useless functions.
-------------------------------------------------------------------------
-r1510 | nadvornik | 2009-03-11 22:54:54 +0100 (Wed, 11 Mar 2009) | 2 lines
-
-added a popup menu in keyword tree
-
-------------------------------------------------------------------------
-r1509 | zas_ | 2009-03-11 18:38:20 +0100 (Wed, 11 Mar 2009) | 1 line
-
-Use dynamic allocation for editor key passed to various callbacks.
-------------------------------------------------------------------------
-r1508 | nadvornik | 2009-03-10 23:52:12 +0100 (Tue, 10 Mar 2009) | 2 lines
-
-fixed saving of file_view_type
-
-------------------------------------------------------------------------
-r1507 | zas_ | 2009-03-10 18:58:30 +0100 (Tue, 10 Mar 2009) | 1 line
-
-Remove now useless element.
-------------------------------------------------------------------------
-r1506 | zas_ | 2009-03-10 18:22:17 +0100 (Tue, 10 Mar 2009) | 1 line
-
-Remove the toggle on advanced exif window menu item.
-------------------------------------------------------------------------
-r1505 | zas_ | 2009-03-09 20:37:58 +0100 (Mon, 09 Mar 2009) | 1 line
-
-Add missing g_key_file_free() call.
-------------------------------------------------------------------------
-r1504 | zas_ | 2009-03-09 20:35:53 +0100 (Mon, 09 Mar 2009) | 1 line
-
-Fix editor_command_path_parse().
-------------------------------------------------------------------------
-r1503 | zas_ | 2009-03-09 20:34:26 +0100 (Mon, 09 Mar 2009) | 1 line
-
-Revert changeset 1502. It brokes the spec: hidden desktop files from user directory should hide files from system directory with the same name.
-------------------------------------------------------------------------
-r1502 | zas_ | 2009-03-09 13:44:06 +0100 (Mon, 09 Mar 2009) | 1 line
-
-Only store editors if they match criterias to not be hidden from start, it makes more sense. Fix editor_command_path_parse().
-------------------------------------------------------------------------
-r1501 | zas_ | 2009-03-09 00:12:49 +0100 (Mon, 09 Mar 2009) | 1 line
-
-Introduce EditorFlags type, cleanup.
-------------------------------------------------------------------------
-r1500 | nadvornik | 2009-03-09 00:09:27 +0100 (Mon, 09 Mar 2009) | 2 lines
-
-save and restore the keyword tree
-
-------------------------------------------------------------------------
-r1499 | nadvornik | 2009-03-08 22:12:45 +0100 (Sun, 08 Mar 2009) | 2 lines
-
-fixed crash with certain layout configurations
-
-------------------------------------------------------------------------
-r1498 | zas_ | 2009-03-08 21:49:48 +0100 (Sun, 08 Mar 2009) | 1 line
-
-Cleanup and minor fixes.
-------------------------------------------------------------------------
-r1497 | zas_ | 2009-03-08 18:51:03 +0100 (Sun, 08 Mar 2009) | 1 line
-
-Advanced exif window: make all columns sortable and resizable.
-------------------------------------------------------------------------
-r1496 | zas_ | 2009-03-08 16:30:15 +0100 (Sun, 08 Mar 2009) | 1 line
-
-Add helper macros EDITOR_ERRORS() and EDITOR_ERRORS_BUT_SKIPPED() to clean up the code a bit. Minor tidy up.
-------------------------------------------------------------------------
-r1495 | zas_ | 2009-03-08 16:02:18 +0100 (Sun, 08 Mar 2009) | 1 line
-
-Fix up editor execution.
-------------------------------------------------------------------------
-r1494 | zas_ | 2009-03-08 15:27:19 +0100 (Sun, 08 Mar 2009) | 1 line
-
-Display icons in edit contextual menu.
-------------------------------------------------------------------------
-r1493 | zas_ | 2009-03-08 14:23:25 +0100 (Sun, 08 Mar 2009) | 1 line
-
-In various Edit context menus, only display editors that match the file types in the selection.
-------------------------------------------------------------------------
-r1492 | nadvornik | 2009-03-08 13:42:23 +0100 (Sun, 08 Mar 2009) | 2 lines
-
-dnd fixes
-
-------------------------------------------------------------------------
-r1491 | nadvornik | 2009-03-08 12:32:12 +0100 (Sun, 08 Mar 2009) | 2 lines
-
-dnd fixes
-
-------------------------------------------------------------------------
-r1490 | nadvornik | 2009-03-08 11:38:51 +0100 (Sun, 08 Mar 2009) | 2 lines
-
-allow dropping of multiple keywords
-
-------------------------------------------------------------------------
-r1489 | nadvornik | 2009-03-08 11:25:24 +0100 (Sun, 08 Mar 2009) | 2 lines
-
-show a label instead of the default drag icon
-
-------------------------------------------------------------------------
-r1488 | nadvornik | 2009-03-08 10:56:40 +0100 (Sun, 08 Mar 2009) | 3 lines
-
-dnd in keywords tree
-improved dnd in advanced exif
-
-------------------------------------------------------------------------
-r1487 | nadvornik | 2009-03-07 18:02:59 +0100 (Sat, 07 Mar 2009) | 5 lines
-
-implemented keywords editor as described at
-http://geeqie.wiki.sourceforge.net/keywords
-keyword tree is hardcoded for now
-TODO: configuration
-
-------------------------------------------------------------------------
-r1486 | zas_ | 2009-03-07 11:32:04 +0100 (Sat, 07 Mar 2009) | 1 line
-
-French translation was updated.
-------------------------------------------------------------------------
-r1485 | zas_ | 2009-03-07 11:31:30 +0100 (Sat, 07 Mar 2009) | 1 line
-
-Use a common function bar_pane_expander_title() to set expanders title widget.
-------------------------------------------------------------------------
-r1484 | zas_ | 2009-03-06 23:34:38 +0100 (Fri, 06 Mar 2009) | 1 line
-
-Try to improve tab completion: when a key is pressed while tab completion menu is shown, the number of entries is reduced, dhowing all matching entries but the menu is no more closed after each key pressure. Number of possible entries in this menu was increased from 500 to 1000. Pressing TAB when path entry is empty now adds / (root directory).
-------------------------------------------------------------------------
-r1483 | nadvornik | 2009-03-06 16:52:47 +0100 (Fri, 06 Mar 2009) | 2 lines
-
-simplified bar interface
-
-------------------------------------------------------------------------
-r1482 | zas_ | 2009-03-06 16:04:35 +0100 (Fri, 06 Mar 2009) | 1 line
-
-Add debug versions of path_to_utf8() and path_from_utf8() which allows to report the caller file and line, this is enabled with --enable-debug-flags (and developer mode too).
-------------------------------------------------------------------------
-r1481 | zas_ | 2009-03-06 15:53:32 +0100 (Fri, 06 Mar 2009) | 1 line
-
-Fix utf8/locale conversion warning: the path passed to isdir() is not in UTF8 (if local fs is not in UFT8) so do not use it (isdir() uses stat_utf8() which calls path_from_utf8()).
-------------------------------------------------------------------------
-r1480 | nadvornik | 2009-03-06 15:42:32 +0100 (Fri, 06 Mar 2009) | 2 lines
-
-enable wrap mode in comment pane
-
-------------------------------------------------------------------------
-r1479 | nadvornik | 2009-03-06 15:24:11 +0100 (Fri, 06 Mar 2009) | 2 lines
-
-use standard GtkHPaned for sidebar width
-
-------------------------------------------------------------------------
-r1478 | zas_ | 2009-03-06 12:42:25 +0100 (Fri, 06 Mar 2009) | 1 line
-
-Fix tab completion when entering "/et[TAB]" it was changed to "et", this is fixed.
-------------------------------------------------------------------------
-r1477 | nadvornik | 2009-03-06 00:32:56 +0100 (Fri, 06 Mar 2009) | 2 lines
-
-do not crash if an exif entry is deleted during editing
-
-------------------------------------------------------------------------
-r1476 | nadvornik | 2009-03-06 00:02:15 +0100 (Fri, 06 Mar 2009) | 2 lines
-
-added popup menu to the exif pane
-
-------------------------------------------------------------------------
-r1475 | nadvornik | 2009-03-04 23:44:35 +0100 (Wed, 04 Mar 2009) | 2 lines
-
-indicate that the exif pane is empty
-
-------------------------------------------------------------------------
-r1474 | nadvornik | 2009-03-04 23:34:11 +0100 (Wed, 04 Mar 2009) | 2 lines
-
-prepared exif pane for popup menu
-
-------------------------------------------------------------------------
-r1473 | zas_ | 2009-03-04 22:33:19 +0100 (Wed, 04 Mar 2009) | 1 line
-
-layout_status_update_pixel_cb(): cleanup and optimization, drop pango markup in i18n string, use a small function to calculate numbers length, only allocate text when needed.
-------------------------------------------------------------------------
-r1472 | nadvornik | 2009-03-04 22:19:12 +0100 (Wed, 04 Mar 2009) | 2 lines
-
-dnd from advanced exif window to exif pane
-
-------------------------------------------------------------------------
-r1471 | nadvornik | 2009-03-04 19:53:47 +0100 (Wed, 04 Mar 2009) | 2 lines
-
-Display pixel coordinates and rgb - patch by Ruben Stein
-
-------------------------------------------------------------------------
-r1470 | nadvornik | 2009-03-04 00:17:07 +0100 (Wed, 04 Mar 2009) | 2 lines
-
-reorder exif pane entries with drag and drop
-
-------------------------------------------------------------------------
-r1469 | nadvornik | 2009-03-02 23:48:04 +0100 (Mon, 02 Mar 2009) | 2 lines
-
-overlay now survives image split
-
-------------------------------------------------------------------------
-r1468 | zas_ | 2009-03-02 22:06:32 +0100 (Mon, 02 Mar 2009) | 1 line
-
-Random tidy up.
-------------------------------------------------------------------------
-r1467 | zas_ | 2009-03-02 22:05:57 +0100 (Mon, 02 Mar 2009) | 1 line
-
-Fix memleak in previous patch.
-------------------------------------------------------------------------
-r1466 | zas_ | 2009-03-02 22:04:38 +0100 (Mon, 02 Mar 2009) | 1 line
-
-Add a directory separator at the end of names in tab completion list to indicate directories.
-------------------------------------------------------------------------
-r1465 | zas_ | 2009-03-02 00:38:36 +0100 (Mon, 02 Mar 2009) | 1 line
-
-Align exif labels vertically (visually better since name is now smaller than value).
-------------------------------------------------------------------------
-r1464 | zas_ | 2009-03-02 00:28:53 +0100 (Mon, 02 Mar 2009) | 1 line
-
-Update POTFILES.in and french translation.
-------------------------------------------------------------------------
-r1463 | zas_ | 2009-03-02 00:14:19 +0100 (Mon, 02 Mar 2009) | 1 line
-
-When g_new0() is used, drop redundant initializations to NULL, FALSE or 0, second pass.
-------------------------------------------------------------------------
-r1462 | nadvornik | 2009-03-01 22:35:18 +0100 (Sun, 01 Mar 2009) | 2 lines
-
-make the exif pane grow-only - this reduces sidebar jumping
-
-------------------------------------------------------------------------
-r1461 | zas_ | 2009-03-01 22:06:55 +0100 (Sun, 01 Mar 2009) | 1 line
-
-When g_new0() is used, drop redundant initializations to NULL, FALSE or 0.
-------------------------------------------------------------------------
-r1460 | zas_ | 2009-03-01 20:48:38 +0100 (Sun, 01 Mar 2009) | 1 line
-
-Clarify colorspace determination (exif 2.2/2.21).
-------------------------------------------------------------------------
-r1459 | zas_ | 2009-03-01 18:58:19 +0100 (Sun, 01 Mar 2009) | 1 line
-
-Enable 'Use profile from image' item of color management menu only if such profile information is available from image.
-------------------------------------------------------------------------
-r1458 | zas_ | 2009-03-01 18:13:14 +0100 (Sun, 01 Mar 2009) | 1 line
-
-Improve file checks using is_readable_file().
-------------------------------------------------------------------------
-r1457 | zas_ | 2009-03-01 18:11:51 +0100 (Sun, 01 Mar 2009) | 1 line
-
-Only attempt to read exif if the file is readable.
-------------------------------------------------------------------------
-r1456 | zas_ | 2009-03-01 18:10:45 +0100 (Sun, 01 Mar 2009) | 1 line
-
-Introduce is_readable_file() which test if file exists, is regular and readable.
-------------------------------------------------------------------------
-r1455 | zas_ | 2009-03-01 17:46:40 +0100 (Sun, 01 Mar 2009) | 1 line
-
-image_select(), image_set_selectable(): tidy up.
-------------------------------------------------------------------------
-r1454 | zas_ | 2009-03-01 17:43:48 +0100 (Sun, 01 Mar 2009) | 1 line
-
-Indentation fixes.
-------------------------------------------------------------------------
-r1453 | zas_ | 2009-03-01 16:54:37 +0100 (Sun, 01 Mar 2009) | 1 line
-
-image_post_process_color(): remove exif parameter, just extract it when needed.
-------------------------------------------------------------------------
-r1452 | zas_ | 2009-03-01 16:41:51 +0100 (Sun, 01 Mar 2009) | 1 line
-
-Slightly modify access_file() and use it to test profile files existence and read access.
-------------------------------------------------------------------------
-r1451 | zas_ | 2009-03-01 16:28:06 +0100 (Sun, 01 Mar 2009) | 1 line
-
-Add an ellipse when the file name is truncated.
-------------------------------------------------------------------------
-r1450 | zas_ | 2009-03-01 16:15:37 +0100 (Sun, 01 Mar 2009) | 1 line
-
-In the side bar, display the filename without the 'Filename:' prefix and makes it centered. Allow to select it for copy'n'paste.
-------------------------------------------------------------------------
-r1449 | nadvornik | 2009-03-01 14:37:30 +0100 (Sun, 01 Mar 2009) | 2 lines
-
-dropped ExifUIList
-
-------------------------------------------------------------------------
-r1448 | nadvornik | 2009-03-01 12:59:32 +0100 (Sun, 01 Mar 2009) | 2 lines
-
-do not use separate list of entries, rely on vbox
-
-------------------------------------------------------------------------
-r1447 | nadvornik | 2009-03-01 01:10:00 +0100 (Sun, 01 Mar 2009) | 2 lines
-
-fixed possible crash
-
-------------------------------------------------------------------------
-r1446 | nadvornik | 2009-03-01 00:59:02 +0100 (Sun, 01 Mar 2009) | 2 lines
-
-rewritten exif pane to support arbitrary number of entries
-
-------------------------------------------------------------------------
-r1445 | zas_ | 2009-02-28 21:57:26 +0100 (Sat, 28 Feb 2009) | 1 line
-
-max value -> value. Shorter.
-------------------------------------------------------------------------
-r1444 | zas_ | 2009-02-28 21:53:59 +0100 (Sat, 28 Feb 2009) | 1 line
-
-Add missing space between while and first parenthesis.
-------------------------------------------------------------------------
-r1443 | zas_ | 2009-02-28 21:52:51 +0100 (Sat, 28 Feb 2009) | 1 line
-
-Add missing space between switch and first parenthesis.
-------------------------------------------------------------------------
-r1442 | zas_ | 2009-02-28 21:48:47 +0100 (Sat, 28 Feb 2009) | 1 line
-
-No space between function name and first parenthesis, it eases greping (see CODING).
-------------------------------------------------------------------------
-r1441 | zas_ | 2009-02-28 21:24:42 +0100 (Sat, 28 Feb 2009) | 1 line
-
-Prevent Gtk assertion failures when no icon is set.
-------------------------------------------------------------------------
-r1440 | nadvornik | 2009-02-28 21:13:11 +0100 (Sat, 28 Feb 2009) | 3 lines
-
-show histogram label in the title
-adjusted label texts
-
-------------------------------------------------------------------------
-r1439 | nadvornik | 2009-02-28 20:44:58 +0100 (Sat, 28 Feb 2009) | 2 lines
-
-give the panes more control over expander title
-
-------------------------------------------------------------------------
-r1438 | zas_ | 2009-02-28 20:41:23 +0100 (Sat, 28 Feb 2009) | 1 line
-
-Color profiles menu: test for file access before allowing to select it as input profile.
-------------------------------------------------------------------------
-r1437 | nadvornik | 2009-02-28 19:51:25 +0100 (Sat, 28 Feb 2009) | 2 lines
-
-load icons for external editors
-
-------------------------------------------------------------------------
-r1436 | zas_ | 2009-02-28 19:01:16 +0100 (Sat, 28 Feb 2009) | 1 line
-
-Use g_utf8_casefold() to compare keywords, uppercased/lowercased keywords are now matched against predefined list.
-------------------------------------------------------------------------
-r1435 | nadvornik | 2009-02-28 18:20:16 +0100 (Sat, 28 Feb 2009) | 2 lines
-
-fixed bar_histogram headers
-
-------------------------------------------------------------------------
-r1434 | zas_ | 2009-02-28 18:12:00 +0100 (Sat, 28 Feb 2009) | 1 line
-
-Minor simplification and cleanup.
-------------------------------------------------------------------------
-r1433 | zas_ | 2009-02-28 17:59:20 +0100 (Sat, 28 Feb 2009) | 1 line
-
-image_change_complete(): reduce code redundancy and implify.
-------------------------------------------------------------------------
-r1432 | nadvornik | 2009-02-28 15:40:22 +0100 (Sat, 28 Feb 2009) | 3 lines
-
-fixed overlay configuration
-split overlay options between global and layout window
-
-------------------------------------------------------------------------
-r1431 | nadvornik | 2009-02-28 13:50:39 +0100 (Sat, 28 Feb 2009) | 2 lines
-
-save and restore toolbar configuration
-
-------------------------------------------------------------------------
-r1430 | nadvornik | 2009-02-28 10:59:27 +0100 (Sat, 28 Feb 2009) | 2 lines
-
-create toolbar from ui_manager
-
-------------------------------------------------------------------------
-r1429 | zas_ | 2009-02-28 00:25:31 +0100 (Sat, 28 Feb 2009) | 1 line
-
-Really fix up color profiles options tests. Add an indicator of the embedded color profile when recognized (a * just after sRGB or AdobeRGB compatible).
-------------------------------------------------------------------------
-r1428 | zas_ | 2009-02-27 23:28:17 +0100 (Fri, 27 Feb 2009) | 1 line
-
-Fix up color profiles menu: mark empty entries (but not NULL) as inactive.
-------------------------------------------------------------------------
-r1427 | nadvornik | 2009-02-27 22:30:28 +0100 (Fri, 27 Feb 2009) | 2 lines
-
-compute histmap in idle callback and only if the histogram is expanded
-
-------------------------------------------------------------------------
-r1426 | zas_ | 2009-02-26 22:46:27 +0100 (Thu, 26 Feb 2009) | 1 line
-
-Add a tooltip showing current histogram state on bar histogram.
-------------------------------------------------------------------------
-r1425 | zas_ | 2009-02-26 21:50:36 +0100 (Thu, 26 Feb 2009) | 1 line
-
-Clean up histogram stuff: options saving/restoring, osd histogram separation, tidy up.
-------------------------------------------------------------------------
-r1424 | zas_ | 2009-02-26 18:34:14 +0100 (Thu, 26 Feb 2009) | 1 line
-
-Add .bak and .mo extensions to svn:ignore.
-------------------------------------------------------------------------
-r1423 | nadvornik | 2009-02-26 09:04:52 +0100 (Thu, 26 Feb 2009) | 2 lines
-
-quoted_value is no longer needed
-
-------------------------------------------------------------------------
-r1422 | zas_ | 2009-02-26 00:04:08 +0100 (Thu, 26 Feb 2009) | 1 line
-
-Silent a minor warning.
-------------------------------------------------------------------------
-r1421 | nadvornik | 2009-02-25 22:09:17 +0100 (Wed, 25 Feb 2009) | 2 lines
-
-correctly save and restore overlay string
-
-------------------------------------------------------------------------
-r1420 | zas_ | 2009-02-25 21:54:38 +0100 (Wed, 25 Feb 2009) | 1 line
-
-Save bar pane histogram state to rc file.
-------------------------------------------------------------------------
-r1419 | zas_ | 2009-02-25 21:42:35 +0100 (Wed, 25 Feb 2009) | 1 line
-
-Fix up bar pane histogram contextual menu: show current state for channel and log mode.
-------------------------------------------------------------------------
-r1418 | nadvornik | 2009-02-25 20:46:03 +0100 (Wed, 25 Feb 2009) | 3 lines
-
-reuse original utility_box (image + sidebars) on layout change (switch
-from list to icon view etc.)
-
-------------------------------------------------------------------------
-r1417 | nadvornik | 2009-02-25 19:21:20 +0100 (Wed, 25 Feb 2009) | 2 lines
-
-fixed filter initialization
-
-------------------------------------------------------------------------
-r1416 | nadvornik | 2009-02-24 23:21:28 +0100 (Tue, 24 Feb 2009) | 2 lines
-
-improved bar_sort configuration
-
-------------------------------------------------------------------------
-r1415 | zas_ | 2009-02-24 22:08:16 +0100 (Tue, 24 Feb 2009) | 1 line
-
-Add a contextual menu on bar pane histogram allowing to change channels and mode. More work needed.
-------------------------------------------------------------------------
-r1414 | nadvornik | 2009-02-24 21:47:38 +0100 (Tue, 24 Feb 2009) | 2 lines
-
-fixed --fullscreen option together with enabled bar 
-
-------------------------------------------------------------------------
-r1413 | nadvornik | 2009-02-24 21:34:39 +0100 (Tue, 24 Feb 2009) | 2 lines
-
-simplified and improved bar configuration
-
-------------------------------------------------------------------------
-r1412 | zas_ | 2009-02-24 19:00:45 +0100 (Tue, 24 Feb 2009) | 1 line
-
-Enclose macro parameters names with _ to differentiate them from variable names.
-------------------------------------------------------------------------
-r1411 | zas_ | 2009-02-24 18:47:45 +0100 (Tue, 24 Feb 2009) | 5 lines
-
-Since READ_*() macros are now exported, do not hide
-the if() continue; statement in them.
-Wrap WRITE_STRING() instructions in a safer do {} while (0).
-
-
-------------------------------------------------------------------------
-r1410 | nadvornik | 2009-02-23 23:13:09 +0100 (Mon, 23 Feb 2009) | 2 lines
-
-simplified config writing 
-
-------------------------------------------------------------------------
-r1409 | nadvornik | 2009-02-23 22:21:15 +0100 (Mon, 23 Feb 2009) | 2 lines
-
-enabled commandline again
-
-------------------------------------------------------------------------
-r1408 | zas_ | 2009-02-23 18:20:40 +0100 (Mon, 23 Feb 2009) | 1 line
-
-Introduce helpers histogram_toggle_channel() and histogram_toggle_mode().
-------------------------------------------------------------------------
-r1407 | zas_ | 2009-02-22 18:46:42 +0100 (Sun, 22 Feb 2009) | 1 line
-
-Set svn:ignore on Makefile and Makefile.in.
-------------------------------------------------------------------------
-r1406 | zas_ | 2009-02-22 18:40:32 +0100 (Sun, 22 Feb 2009) | 1 line
-
-Fix and simplify histogram code, drop histogram based on mean value.
-------------------------------------------------------------------------
-r1405 | nadvornik | 2009-02-22 16:35:37 +0100 (Sun, 22 Feb 2009) | 4 lines
-
-config file format changed to XML
-save and restore all layout windows
-save and restore sidebar configuration
-
-------------------------------------------------------------------------
-r1404 | zas_ | 2009-02-22 14:29:49 +0100 (Sun, 22 Feb 2009) | 1 line
-
-Attempt to simplify and fix histrogram code.
-------------------------------------------------------------------------
-r1403 | zas_ | 2009-02-21 21:43:35 +0100 (Sat, 21 Feb 2009) | 1 line
-
-Glibification again.
-------------------------------------------------------------------------
-r1402 | zas_ | 2009-02-21 19:28:53 +0100 (Sat, 21 Feb 2009) | 1 line
-
-French translation was updated.
-------------------------------------------------------------------------
-r1401 | zas_ | 2009-02-21 19:04:52 +0100 (Sat, 21 Feb 2009) | 1 line
-
-Glibification.
-------------------------------------------------------------------------
-r1400 | zas_ | 2009-02-21 11:53:18 +0100 (Sat, 21 Feb 2009) | 1 line
-
-Move grid color setting to histogram_new().
-------------------------------------------------------------------------
-r1399 | zas_ | 2009-02-21 11:33:56 +0100 (Sat, 21 Feb 2009) | 1 line
-
-Remove histogram_ prefix from struct _Histogram fields names and rename them more properly.
-------------------------------------------------------------------------
-r1398 | zas_ | 2009-02-21 11:29:13 +0100 (Sat, 21 Feb 2009) | 1 line
-
-Add grid to bar histogram, simplify the code and draw horizontal lines too.
-------------------------------------------------------------------------
-r1397 | zas_ | 2009-02-19 18:36:38 +0100 (Thu, 19 Feb 2009) | 1 line
-
-Fix bug 2599857: file list sort order was wrong in many cases.
-------------------------------------------------------------------------
-r1396 | nadvornik | 2009-02-16 23:48:30 +0100 (Mon, 16 Feb 2009) | 2 lines
-
-fixed compiler warning
-
-------------------------------------------------------------------------
-r1395 | nadvornik | 2009-02-16 22:01:27 +0100 (Mon, 16 Feb 2009) | 2 lines
-
-hopefully fixed a freeze on solaris
-
-------------------------------------------------------------------------
-r1394 | nadvornik | 2009-02-15 20:25:55 +0100 (Sun, 15 Feb 2009) | 2 lines
-
-added histogram pane
-
-------------------------------------------------------------------------
-r1393 | nadvornik | 2009-02-15 18:27:48 +0100 (Sun, 15 Feb 2009) | 2 lines
-
-fixed histogram drawing
-
-------------------------------------------------------------------------
-r1392 | zas_ | 2009-02-15 16:58:01 +0100 (Sun, 15 Feb 2009) | 1 line
-
-Remove redundant line of code.
-------------------------------------------------------------------------
-r1391 | zas_ | 2009-02-15 16:56:48 +0100 (Sun, 15 Feb 2009) | 1 line
-
-Fix up few compilation warnings.
-------------------------------------------------------------------------
-r1390 | nadvornik | 2009-02-15 14:11:21 +0100 (Sun, 15 Feb 2009) | 3 lines
-
-histogram caching
-histogram interface prepared for histogram pane
-
-------------------------------------------------------------------------
-r1389 | nadvornik | 2009-02-15 10:36:53 +0100 (Sun, 15 Feb 2009) | 3 lines
-
-separated "normal" and advanced exif, "Normal" exif is now in the
-generic bar, advanced exif is in separate window.
-
-------------------------------------------------------------------------
-r1388 | nadvornik | 2009-02-14 21:26:30 +0100 (Sat, 14 Feb 2009) | 2 lines
-
-droped Preferences dialog, sidebar should replace it completely
-
-------------------------------------------------------------------------
-r1387 | nadvornik | 2009-02-14 20:50:54 +0100 (Sat, 14 Feb 2009) | 4 lines
-
-replaced bar_info with an universal bar, restored the original
-functionality (more or less)
-bar configuration is not yet saved
-
-------------------------------------------------------------------------
-r1386 | zas_ | 2009-02-09 10:02:04 +0100 (Mon, 09 Feb 2009) | 1 line
-
-Update ChangeLog using C locale date format, add a script to ease future updates.
-------------------------------------------------------------------------
-r1385 | nadvornik | 2009-02-07 22:03:11 +0100 (Sat, 07 Feb 2009) | 4 lines
-
-force at least one idle call before writting metadata
-(without this the exit_program_write_metadata_cb could be called
-before the exit_program function finished)
-
-------------------------------------------------------------------------
-r1384 | nadvornik | 2009-02-07 20:01:21 +0100 (Sat, 07 Feb 2009) | 6 lines
-
-use metadata_read_* functions where possible
-switch exiv2 to utf8 charset
-support for exiv2 formatting that depends on other tags:
-http://dev.robotbattle.com/bugs/view.php?id=0000516
-
-
-------------------------------------------------------------------------
-r1383 | nadvornik | 2009-02-07 00:49:03 +0100 (Sat, 07 Feb 2009) | 2 lines
-
-Start with "Fit to window" in "Leave Zoom at previous setting" mode
-
-------------------------------------------------------------------------
-r1382 | nadvornik | 2009-02-06 23:56:52 +0100 (Fri, 06 Feb 2009) | 4 lines
-
-do not switch to the next image on mouse click in split mode
-it interferes with image switching too much
-
-
-------------------------------------------------------------------------
-r1381 | nadvornik | 2009-02-06 23:41:47 +0100 (Fri, 06 Feb 2009) | 2 lines
-
-improved labels of some menu items
-
-------------------------------------------------------------------------
-r1380 | zas_ | 2009-02-04 18:15:30 +0100 (Wed, 04 Feb 2009) | 1 line
-
-Add year 2009 to copyright info everywhere.
-------------------------------------------------------------------------
-r1379 | zas_ | 2009-02-04 17:50:24 +0100 (Wed, 04 Feb 2009) | 1 line
-
-Fix up the copyright years info.
-------------------------------------------------------------------------
-r1378 | zas_ | 2009-02-04 17:49:11 +0100 (Wed, 04 Feb 2009) | 1 line
-
-Update README header.
-------------------------------------------------------------------------
-r1377 | zas_ | 2009-02-04 17:47:02 +0100 (Wed, 04 Feb 2009) | 1 line
-
-Speed up random slideshow, startup time decreases from minutes to seconds when amount of images is big. Patch by Kjell Morgenstern.
-------------------------------------------------------------------------
-r1376 | zas_ | 2009-02-04 15:51:23 +0100 (Wed, 04 Feb 2009) | 1 line
-
-Do not show geeqie itself in editors menus.
-------------------------------------------------------------------------
-r1375 | nadvornik | 2009-02-03 19:04:10 +0100 (Tue, 03 Feb 2009) | 2 lines
-
-do not translate already translated texts from desktop files
-
-------------------------------------------------------------------------
-r1374 | zas_ | 2009-02-03 14:52:20 +0100 (Tue, 03 Feb 2009) | 1 line
-
-Add support for NoDisplay (entry is then hidden) and Type (only Application type is valid here) keys.
-------------------------------------------------------------------------
-r1373 | zas_ | 2009-02-03 14:50:10 +0100 (Tue, 03 Feb 2009) | 1 line
-
-Reorder fields a bit and make flags field unsigned.
-------------------------------------------------------------------------
-r1372 | zas_ | 2009-02-03 09:41:21 +0100 (Tue, 03 Feb 2009) | 1 line
-
-editor_list_get() now returns a sorted list, this way items appear in the same order in all menus.
-------------------------------------------------------------------------
-r1371 | nadvornik | 2009-02-02 21:32:59 +0100 (Mon, 02 Feb 2009) | 3 lines
-
-improved placing of external commands in menu
-small menu improvements
-
-------------------------------------------------------------------------
-r1370 | nadvornik | 2009-02-01 23:35:40 +0100 (Sun, 01 Feb 2009) | 3 lines
-
-test TryExec,
-xdg_data_home added to the list of directories
-
-------------------------------------------------------------------------
-r1369 | nadvornik | 2009-02-01 19:27:42 +0100 (Sun, 01 Feb 2009) | 2 lines
-
-fixed switch from single to split image
-
-------------------------------------------------------------------------
-r1368 | nadvornik | 2009-02-01 13:48:14 +0100 (Sun, 01 Feb 2009) | 2 lines
-
-read external editors from .desktop files
-
-------------------------------------------------------------------------
-r1367 | zas_ | 2009-01-29 20:43:34 +0100 (Thu, 29 Jan 2009) | 1 line
-
-Sort the list alphabetically and remove an empty line.
-------------------------------------------------------------------------
-r1366 | nadvornik | 2009-01-29 20:23:39 +0100 (Thu, 29 Jan 2009) | 4 lines
-
-switched to po/LINGUAS, see http://live.gnome.org/GnomeGoals/PoLinguas
-(new glib-gettextize does not support the old method)
-
-
-------------------------------------------------------------------------
-r1365 | zas_ | 2009-01-29 20:07:07 +0100 (Thu, 29 Jan 2009) | 1 line
-
-gint -> gboolean.
-------------------------------------------------------------------------
-r1364 | zas_ | 2009-01-29 20:00:24 +0100 (Thu, 29 Jan 2009) | 1 line
-
-Invert Horizontally vs vertically zoom fit, it was a TRUE/FALSE mismatch, reported by Christopher Beland.
-------------------------------------------------------------------------
-r1363 | zas_ | 2009-01-29 19:52:52 +0100 (Thu, 29 Jan 2009) | 1 line
-
-Remove harmful documentation.helpdir and documentation.htmldir options. These paths can still be modified through --with-readmedir and --htmldir configure options. Reported by Christopher Beland.
-------------------------------------------------------------------------
-r1362 | nadvornik | 2009-01-29 19:05:41 +0100 (Thu, 29 Jan 2009) | 2 lines
-
-added SIGBUS handler
-
-------------------------------------------------------------------------
-r1361 | nadvornik | 2009-01-26 22:08:05 +0100 (Mon, 26 Jan 2009) | 2 lines
-
-fixed compilation with lirc
-
-------------------------------------------------------------------------
-r1360 | zas_ | 2009-01-26 15:59:49 +0100 (Mon, 26 Jan 2009) | 1 line
-
-Silent two minor warnings: GtkSelectionData data field is guchar* while g_strndup() wants gchar * as first parameter.
-------------------------------------------------------------------------
-r1359 | zas_ | 2009-01-26 15:50:56 +0100 (Mon, 26 Jan 2009) | 1 line
-
-Remove --enable-compile-warnings from autogen.sh, it was passed to configure which knows nothing about this option.
-------------------------------------------------------------------------
-r1358 | zas_ | 2009-01-26 15:49:09 +0100 (Mon, 26 Jan 2009) | 1 line
-
-Move -Wall before -Wno-* options for them to have any effect.
-------------------------------------------------------------------------
-r1357 | zas_ | 2009-01-26 15:18:08 +0100 (Mon, 26 Jan 2009) | 1 line
-
-Keep -O0 over -O2 as requested by Vladimir.
-------------------------------------------------------------------------
-r1356 | zas_ | 2009-01-26 09:36:23 +0100 (Mon, 26 Jan 2009) | 1 line
-
-Add -Wformat and -Wformat-security gcc options when --enable-debug-flags is set, move default optimization to -O2 by default (-O0 is only useful for specific debugging purposes).
-------------------------------------------------------------------------
-r1355 | zas_ | 2009-01-26 09:30:30 +0100 (Mon, 26 Jan 2009) | 1 line
-
-Fix a major bug in utf8_compare(): when case_sensitive is true, s1_t and s2_t were uninitialized, leading to unpredicable results.
-------------------------------------------------------------------------
-r1354 | nadvornik | 2009-01-25 20:38:31 +0100 (Sun, 25 Jan 2009) | 2 lines
-
-added the original COPYING file from GQview - we can't rely on autogen.sh
-
-------------------------------------------------------------------------
-r1352 | nadvornik | 2009-01-25 19:14:08 +0100 (Sun, 25 Jan 2009) | 2 lines
-
-updated ChangeLog from svn log
-
-------------------------------------------------------------------------
-r1351 | nadvornik | 2009-01-25 17:58:19 +0100 (Sun, 25 Jan 2009) | 2 lines
-
-fixed gthread detection
-
-------------------------------------------------------------------------
-r1350 | nadvornik | 2009-01-25 10:27:27 +0100 (Sun, 25 Jan 2009) | 2 lines
-
-do not ignore newly created sidecars
-
-------------------------------------------------------------------------
-r1349 | nadvornik | 2009-01-24 14:46:08 +0100 (Sat, 24 Jan 2009) | 2 lines
-
-adjusted marks spacing to align them with the marks filter
-
-------------------------------------------------------------------------
-r1348 | zas_ | 2009-01-24 14:38:53 +0100 (Sat, 24 Jan 2009) | 1 line
-
-Fix incorrect translation.
-------------------------------------------------------------------------
-r1347 | nadvornik | 2009-01-24 14:05:06 +0100 (Sat, 24 Jan 2009) | 4 lines
-
-fixed restoring of OSD at layout_image_full_screen_stop
-https://sourceforge.net/tracker/index.php?func=detail&aid=2039839&group_id=222125&atid=1054680
-
-
-------------------------------------------------------------------------
-r1346 | nadvornik | 2009-01-24 13:15:01 +0100 (Sat, 24 Jan 2009) | 2 lines
-
-fixed glib warning
-
-------------------------------------------------------------------------
-r1345 | nadvornik | 2009-01-24 11:09:29 +0100 (Sat, 24 Jan 2009) | 2 lines
-
-updated version string
-
-------------------------------------------------------------------------
-r1344 | zas_ | 2009-01-24 08:41:23 +0100 (Sat, 24 Jan 2009) | 1 line
-
-Silent two compilation warnings.
-------------------------------------------------------------------------
-r1343 | zas_ | 2009-01-24 08:36:21 +0100 (Sat, 24 Jan 2009) | 1 line
-
-French translation was updated.
-------------------------------------------------------------------------
-r1342 | nadvornik | 2009-01-23 23:53:02 +0100 (Fri, 23 Jan 2009) | 2 lines
-
-fixed possible crash
-
-------------------------------------------------------------------------
-r1341 | nadvornik | 2009-01-21 19:30:54 +0100 (Wed, 21 Jan 2009) | 2 lines
-
-enable threads by default
-
-------------------------------------------------------------------------
-r1340 | nadvornik | 2009-01-21 19:16:26 +0100 (Wed, 21 Jan 2009) | 2 lines
-
-compilation fixes for older exiv2
-
-------------------------------------------------------------------------
-r1339 | nadvornik | 2009-01-20 23:53:09 +0100 (Tue, 20 Jan 2009) | 2 lines
-
-improved metadata preferences
-
-------------------------------------------------------------------------
-r1338 | nadvornik | 2009-01-20 23:29:31 +0100 (Tue, 20 Jan 2009) | 2 lines
-
-fixed possible segfault
-
-------------------------------------------------------------------------
-r1337 | nadvornik | 2009-01-11 22:28:03 +0100 (Sun, 11 Jan 2009) | 2 lines
-
-show symlinks in filelist
-
-------------------------------------------------------------------------
-r1336 | nadvornik | 2009-01-11 22:24:58 +0100 (Sun, 11 Jan 2009) | 2 lines
-
-fixed includes
-
-------------------------------------------------------------------------
-r1335 | nadvornik | 2009-01-11 19:58:05 +0100 (Sun, 11 Jan 2009) | 2 lines
-
-added a status bar button for writting metadata immediately
-
-------------------------------------------------------------------------
-r1334 | nadvornik | 2009-01-11 13:13:30 +0100 (Sun, 11 Jan 2009) | 3 lines
-
-metadata write mode (direct or sidecar) made configurable for each file
-format
-
-------------------------------------------------------------------------
-r1333 | nadvornik | 2009-01-10 21:40:37 +0100 (Sat, 10 Jan 2009) | 3 lines
-
-simplified metadata interface, dropped metadata_read,
-fixes for older exiv2 versions
-
-------------------------------------------------------------------------
-r1332 | zas_ | 2009-01-04 18:14:34 +0100 (Sun, 04 Jan 2009) | 1 line
-
-When "Remember print settings" is checked, save _all_ settings. Before this patch, text fields, text size, source, layout and image scale properties were not saved.
-------------------------------------------------------------------------
-r1331 | zas_ | 2009-01-04 11:32:47 +0100 (Sun, 04 Jan 2009) | 1 line
-
-French translation was updated.
-------------------------------------------------------------------------
-r1330 | zas_ | 2009-01-03 18:13:20 +0100 (Sat, 03 Jan 2009) | 1 line
-
-Silent warnings.
-------------------------------------------------------------------------
-r1329 | nadvornik | 2009-01-03 16:29:08 +0100 (Sat, 03 Jan 2009) | 2 lines
-
-write keywords and comments with separate functions
-
-------------------------------------------------------------------------
-r1328 | nadvornik | 2009-01-03 00:14:01 +0100 (Sat, 03 Jan 2009) | 2 lines
-
-fixed updating of selection after deleting the last image from the list
-
-------------------------------------------------------------------------
-r1327 | nadvornik | 2009-01-02 23:57:09 +0100 (Fri, 02 Jan 2009) | 5 lines
-
-do not enter a directory after rename
-fixed dir tree updating
-http://sourceforge.net/tracker/index.php?func=detail&aid=2481287&group_id=222125&atid=1054680
-
-
-------------------------------------------------------------------------
-r1326 | nadvornik | 2009-01-02 15:58:21 +0100 (Fri, 02 Jan 2009) | 4 lines
-
-added done callback to utilops
-used the callback for metadata writting at exit and for renaming new
-folder
-
-------------------------------------------------------------------------
-r1325 | nadvornik | 2009-01-02 10:39:14 +0100 (Fri, 02 Jan 2009) | 2 lines
-
-fixed view_dir notification
-
-------------------------------------------------------------------------
-r1324 | nadvornik | 2009-01-02 10:26:23 +0100 (Fri, 02 Jan 2009) | 4 lines
-
-sidecar files grouping was made case-insensitive
-added possibility to use macros %raw, %image, %meta in extensions lists
-
-
-------------------------------------------------------------------------
-r1323 | nadvornik | 2008-12-27 23:53:07 +0100 (Sat, 27 Dec 2008) | 2 lines
-
-fixed writting of legacy metadata
-
-------------------------------------------------------------------------
-r1322 | nadvornik | 2008-12-26 20:04:36 +0100 (Fri, 26 Dec 2008) | 3 lines
-
-optimized get_mark_func
-fixed reference counting bug
-
-------------------------------------------------------------------------
-r1321 | nadvornik | 2008-12-26 19:54:07 +0100 (Fri, 26 Dec 2008) | 2 lines
-
-remove cached entries on all changes
-
-------------------------------------------------------------------------
-r1320 | nadvornik | 2008-12-26 18:38:52 +0100 (Fri, 26 Dec 2008) | 2 lines
-
-fixed previous change
-
-------------------------------------------------------------------------
-r1319 | nadvornik | 2008-12-26 15:12:36 +0100 (Fri, 26 Dec 2008) | 3 lines
-
-improved sidecar writting
-private metadata can be saved in xmp format
-
-------------------------------------------------------------------------
-r1318 | nadvornik | 2008-12-25 13:39:34 +0100 (Thu, 25 Dec 2008) | 2 lines
-
-implemented a possibility to connect keywords with marks
-
-------------------------------------------------------------------------
-r1317 | nadvornik | 2008-12-25 13:28:04 +0100 (Thu, 25 Dec 2008) | 2 lines
-
-low-level keyword-to-mark functionality
-
-------------------------------------------------------------------------
-r1316 | nadvornik | 2008-12-25 13:19:37 +0100 (Thu, 25 Dec 2008) | 2 lines
-
-perform internal commands in idle call
-
-------------------------------------------------------------------------
-r1315 | nadvornik | 2008-12-23 23:42:57 +0100 (Tue, 23 Dec 2008) | 2 lines
-
-allow writing of empty keywords/comment
-
-------------------------------------------------------------------------
-r1314 | nadvornik | 2008-12-23 21:53:44 +0100 (Tue, 23 Dec 2008) | 2 lines
-
-added change notification to bar_info.c
-
-------------------------------------------------------------------------
-r1313 | nadvornik | 2008-12-23 20:15:12 +0100 (Tue, 23 Dec 2008) | 2 lines
-
-improved buffering and notifications
-
-------------------------------------------------------------------------
-r1312 | nadvornik | 2008-12-23 20:13:48 +0100 (Tue, 23 Dec 2008) | 3 lines
-
-write changes immediately, the necessary buffering is done on lower
-level in metadata.c
-
-------------------------------------------------------------------------
-r1311 | nadvornik | 2008-12-23 00:25:15 +0100 (Tue, 23 Dec 2008) | 2 lines
-
-file class made configurable in preferences
-
-------------------------------------------------------------------------
-r1310 | zas_ | 2008-12-22 20:43:46 +0100 (Mon, 22 Dec 2008) | 1 line
-
-French translation was updated.
-------------------------------------------------------------------------
-r1309 | nadvornik | 2008-12-22 19:29:25 +0100 (Mon, 22 Dec 2008) | 2 lines
-
-write metadata after timeout, image change or dir change
-
-------------------------------------------------------------------------
-r1308 | nadvornik | 2008-12-22 19:15:26 +0100 (Mon, 22 Dec 2008) | 2 lines
-
-show metadata options in preferences dialog
-
-------------------------------------------------------------------------
-r1307 | nadvornik | 2008-12-21 22:36:58 +0100 (Sun, 21 Dec 2008) | 2 lines
-
-fixed safe delete
-
-------------------------------------------------------------------------
-r1306 | nadvornik | 2008-12-21 22:20:36 +0100 (Sun, 21 Dec 2008) | 2 lines
-
-most of the metadata options now works
-
-------------------------------------------------------------------------
-r1305 | nadvornik | 2008-12-21 17:26:03 +0100 (Sun, 21 Dec 2008) | 2 lines
-
-fixed new options
-
-------------------------------------------------------------------------
-r1304 | zas_ | 2008-12-21 10:28:16 +0100 (Sun, 21 Dec 2008) | 1 line
-
-French translation was updated.
-------------------------------------------------------------------------
-r1303 | nadvornik | 2008-12-21 00:18:20 +0100 (Sun, 21 Dec 2008) | 2 lines
-
-added options for metadata - not yet used
-
-------------------------------------------------------------------------
-r1302 | zas_ | 2008-12-20 22:47:04 +0100 (Sat, 20 Dec 2008) | 1 line
-
-Fix two minor compilation warnings.
-------------------------------------------------------------------------
-r1301 | zas_ | 2008-12-20 22:30:27 +0100 (Sat, 20 Dec 2008) | 1 line
-
-Switch to fullscreen when double clicking on file in icon or list view. Feature request 1966042. The code was there since a long time but disabled, please report any issue.
-------------------------------------------------------------------------
-r1300 | nadvornik | 2008-12-20 21:43:56 +0100 (Sat, 20 Dec 2008) | 3 lines
-
-use the workflow in utilops.c for metadata approving and writting
-TODO: configuration
-
-------------------------------------------------------------------------
-r1299 | nadvornik | 2008-12-16 13:59:23 +0100 (Tue, 16 Dec 2008) | 2 lines
-
-queue metadata and write them in an idle callback 
-
-------------------------------------------------------------------------
-r1298 | nadvornik | 2008-12-15 23:47:31 +0100 (Mon, 15 Dec 2008) | 5 lines
-
-prepared infrastructure for delayed metadata writting - refreshing
-metadata immediately before writting is now possible
-
-modified metadata are stored in fd->modified_xmp
-
-------------------------------------------------------------------------
-r1297 | zas_ | 2008-12-15 19:04:42 +0100 (Mon, 15 Dec 2008) | 1 line
-
-Allow to drag keywords on files in list or icon view. Dragged text is appended to keywords list of the destination file.
-------------------------------------------------------------------------
-r1296 | zas_ | 2008-12-09 20:12:38 +0100 (Tue, 09 Dec 2008) | 1 line
-
-French translation was updated.
-------------------------------------------------------------------------
-r1295 | zas_ | 2008-12-09 18:51:28 +0100 (Tue, 09 Dec 2008) | 1 line
-
-Allow to invert the current selection in Collection view. A new Selection submenu was added to the contextual menu, Select All and Select None were moved to it, and Invert selection was added.
-------------------------------------------------------------------------
-r1294 | zas_ | 2008-12-08 22:34:32 +0100 (Mon, 08 Dec 2008) | 1 line
-
-Display error dialog with appropriate message when user is trying to open an invalid collection file.
-------------------------------------------------------------------------
-r1293 | zas_ | 2008-12-08 22:33:14 +0100 (Mon, 08 Dec 2008) | 1 line
-
-Cosmetic fix.
-------------------------------------------------------------------------
-r1292 | zas_ | 2008-12-07 16:51:50 +0100 (Sun, 07 Dec 2008) | 1 line
-
-Fix patch 1290: we only want to remove unused parameter warnings not all warnings produced by -Wextra, so just disable then using -Wno-unused-parameter and re-add -Wextra (was -W, but this is the old name).
-------------------------------------------------------------------------
-r1291 | nadvornik | 2008-12-07 14:28:04 +0100 (Sun, 07 Dec 2008) | 2 lines
-
-handle the case when io.open() fails
-
-------------------------------------------------------------------------
-r1290 | nadvornik | 2008-12-06 22:24:38 +0100 (Sat, 06 Dec 2008) | 4 lines
-
-disabled the "unused parameter" warnings, they are harmless and nobody
-is going to fix it ;) 
-(note: -W is equivalent to -Wextra) 
-
-------------------------------------------------------------------------
-r1289 | zas_ | 2008-12-02 20:34:53 +0100 (Tue, 02 Dec 2008) | 1 line
-
-Rename few variables to make the code more readable.
-------------------------------------------------------------------------
-r1288 | zas_ | 2008-11-30 22:59:28 +0100 (Sun, 30 Nov 2008) | 1 line
-
-keyword_list_find() -> find_string_in_list(), return gboolean.
-------------------------------------------------------------------------
-r1287 | zas_ | 2008-11-30 22:52:37 +0100 (Sun, 30 Nov 2008) | 1 line
-
-metadata_set_keywords() -> metadata_set(). Use gboolean type for boolean parameters.
-------------------------------------------------------------------------
-r1286 | zas_ | 2008-11-30 22:43:01 +0100 (Sun, 30 Nov 2008) | 1 line
-
-Rename most comment_*() functions to more appropriate metadata_*().
-------------------------------------------------------------------------
-r1285 | zas_ | 2008-11-30 12:46:34 +0100 (Sun, 30 Nov 2008) | 1 line
-
-File filters cleanup: add .pef .dng and .arw extensions to default sidecar extensions list, add .k25 in Kodak raw extensions, simplify and optimize sidecar_ext_parse().
-------------------------------------------------------------------------
-r1284 | zas_ | 2008-11-27 20:10:59 +0100 (Thu, 27 Nov 2008) | 1 line
-
-Do not hardcode exif formatted prefix.
-------------------------------------------------------------------------
-r1283 | zas_ | 2008-11-27 13:34:39 +0100 (Thu, 27 Nov 2008) | 1 line
-
-Fix up sign-related  warning.
-------------------------------------------------------------------------
-r1282 | zas_ | 2008-11-27 13:34:03 +0100 (Thu, 27 Nov 2008) | 1 line
-
-Fix up unsigned expression always true warning.
-------------------------------------------------------------------------
-r1281 | zas_ | 2008-11-27 13:33:07 +0100 (Thu, 27 Nov 2008) | 1 line
-
-Resync .h with .c declarations.
-------------------------------------------------------------------------
-r1280 | zas_ | 2008-11-27 13:31:27 +0100 (Thu, 27 Nov 2008) | 1 line
-
-Fix up pointer signedness warnings.
-------------------------------------------------------------------------
-r1279 | zas_ | 2008-11-27 13:30:49 +0100 (Thu, 27 Nov 2008) | 1 line
-
-Fix up not a prototype warning.
-------------------------------------------------------------------------
-r1278 | zas_ | 2008-11-27 13:30:10 +0100 (Thu, 27 Nov 2008) | 1 line
-
-Remove unused variable.
-------------------------------------------------------------------------
-r1277 | zas_ | 2008-11-27 13:29:38 +0100 (Thu, 27 Nov 2008) | 1 line
-
-Fix up deprecated function and not a prototype warnings.
-------------------------------------------------------------------------
-r1276 | zas_ | 2008-11-26 21:39:50 +0100 (Wed, 26 Nov 2008) | 1 line
-
-Handle return values better to silent some warnings.
-------------------------------------------------------------------------
-r1275 | zas_ | 2008-11-26 21:38:47 +0100 (Wed, 26 Nov 2008) | 1 line
-
-Print a message if chown() or chmod() fail.
-------------------------------------------------------------------------
-r1274 | zas_ | 2008-11-26 21:37:14 +0100 (Wed, 26 Nov 2008) | 1 line
-
-Fix up format vs type warning.
-------------------------------------------------------------------------
-r1273 | zas_ | 2008-11-25 18:32:51 +0100 (Tue, 25 Nov 2008) | 1 line
-
-Move comments/keywords read and write stuff to new metadata.{c,h}.
-------------------------------------------------------------------------
-r1272 | zas_ | 2008-11-25 18:01:03 +0100 (Tue, 25 Nov 2008) | 1 line
-
-Fix up unsigned expression always true/false warnings.
-------------------------------------------------------------------------
-r1271 | zas_ | 2008-11-23 23:05:27 +0100 (Sun, 23 Nov 2008) | 1 line
-
-Hide .gqv extension from collection name in collection window title and recent menu list.
-------------------------------------------------------------------------
-r1270 | zas_ | 2008-11-23 17:16:09 +0100 (Sun, 23 Nov 2008) | 1 line
-
-Rename wmsubclass and name to role, which corresponds better to the purpose of the parameter as it ends to be passed to gtk_window_set_role().
-------------------------------------------------------------------------
-r1269 | zas_ | 2008-11-23 17:10:29 +0100 (Sun, 23 Nov 2008) | 1 line
-
-Drop useless wmclass stuff. Gtk will take care of it and as said in the documentation using gtk_window_set_wmclass() is sort of pointless.
-------------------------------------------------------------------------
-r1268 | zas_ | 2008-11-22 23:54:51 +0100 (Sat, 22 Nov 2008) | 1 line
-
-Use the last selected images for the splitted views. Ie. when 5 images are selected, the last one is displayed, split quad while open images 5,4,3,2. It seems better to me.
-------------------------------------------------------------------------
-r1267 | zas_ | 2008-11-22 23:43:18 +0100 (Sat, 22 Nov 2008) | 1 line
-
-When more than one image is selected, Split Horizontal, Vertical and Quad will use selected images when initialized.
-------------------------------------------------------------------------
-r1266 | zas_ | 2008-11-22 23:10:10 +0100 (Sat, 22 Nov 2008) | 1 line
-
-Tidy up.
-------------------------------------------------------------------------
-r1265 | zas_ | 2008-11-22 23:04:21 +0100 (Sat, 22 Nov 2008) | 1 line
-
-Use common code for layout_image_setup_split_none() too.
-------------------------------------------------------------------------
-r1264 | zas_ | 2008-11-22 22:58:07 +0100 (Sat, 22 Nov 2008) | 1 line
-
-layout_image_setup_split_*(): simplify code.
-------------------------------------------------------------------------
-r1263 | zas_ | 2008-11-22 22:11:09 +0100 (Sat, 22 Nov 2008) | 1 line
-
-layout_image_setup_split_*(): move common code to a new function layout_image_setup_split_common().
-------------------------------------------------------------------------
-r1262 | zas_ | 2008-11-22 17:24:23 +0100 (Sat, 22 Nov 2008) | 1 line
-
-Add a back button in the toolbar: it allows to go back and forth between two directories. Experimental, please test and comment on ml.
-------------------------------------------------------------------------
-r1261 | zas_ | 2008-11-20 18:28:34 +0100 (Thu, 20 Nov 2008) | 1 line
-
-Force font weight and style to normal for keys.
-------------------------------------------------------------------------
-r1260 | zas_ | 2008-11-20 18:23:46 +0100 (Thu, 20 Nov 2008) | 1 line
-
-Fix up yet unmarked keys.
-------------------------------------------------------------------------
-r1259 | zas_ | 2008-11-20 12:46:43 +0100 (Thu, 20 Nov 2008) | 1 line
-
-Fix compilation warnings.
-------------------------------------------------------------------------
-r1258 | zas_ | 2008-11-20 08:22:56 +0100 (Thu, 20 Nov 2008) | 1 line
-
-Fix up some missing html code.
-------------------------------------------------------------------------
-r1257 | zas_ | 2008-11-19 23:57:40 +0100 (Wed, 19 Nov 2008) | 1 line
-
-More keys.
-------------------------------------------------------------------------
-r1256 | zas_ | 2008-11-19 23:46:27 +0100 (Wed, 19 Nov 2008) | 1 line
-
-Fix text wrongly marked as key.
-------------------------------------------------------------------------
-r1255 | zas_ | 2008-11-19 23:42:20 +0100 (Wed, 19 Nov 2008) | 1 line
-
-Mark keyboard keys with a span and make them look like a key through css style.
-------------------------------------------------------------------------
-r1254 | zas_ | 2008-11-19 22:36:02 +0100 (Wed, 19 Nov 2008) | 1 line
-
-Replace [Control] by shorter and more common [Ctrl].
-------------------------------------------------------------------------
-r1253 | zas_ | 2008-11-19 22:16:27 +0100 (Wed, 19 Nov 2008) | 1 line
-
-Unify [Shift] and [Control] notation.
-------------------------------------------------------------------------
-r1252 | zas_ | 2008-11-19 21:53:53 +0100 (Wed, 19 Nov 2008) | 1 line
-
-Move (and update) image pane shortcuts to a table. Simplify css styles for those tables.
-------------------------------------------------------------------------
-r1251 | zas_ | 2008-11-19 18:42:36 +0100 (Wed, 19 Nov 2008) | 1 line
-
-Update documentation.
-------------------------------------------------------------------------
-r1250 | zas_ | 2008-11-17 19:05:42 +0100 (Mon, 17 Nov 2008) | 1 line
-
-Fix up links and various enhancements.
-------------------------------------------------------------------------
-r1249 | zas_ | 2008-11-17 18:17:47 +0100 (Mon, 17 Nov 2008) | 1 line
-
-Remove colored background in headings for printable version.
-------------------------------------------------------------------------
-r1248 | zas_ | 2008-11-17 18:09:44 +0100 (Mon, 17 Nov 2008) | 1 line
-
-Change metadata directory to be $XDG_DATA_HOME instead of $XDG_CACHE_HOME as discussed on the ml (obviously it has impact only when XDG support is set). Suggestion by Omari Stephens.
-------------------------------------------------------------------------
-r1247 | zas_ | 2008-11-17 08:10:32 +0100 (Mon, 17 Nov 2008) | 1 line
-
-Comment out css code that slipped through by cut'n paste error. It may be useful at some time though.
-------------------------------------------------------------------------
-r1246 | zas_ | 2008-11-16 20:58:43 +0100 (Sun, 16 Nov 2008) | 1 line
-
-Add specific css for print media(has to be improved).
-------------------------------------------------------------------------
-r1245 | zas_ | 2008-11-16 17:32:14 +0100 (Sun, 16 Nov 2008) | 1 line
-
-Update svn:ignore property: add some files and replace gqview by geeqie where applicable.
-------------------------------------------------------------------------
-r1244 | zas_ | 2008-11-15 21:17:14 +0100 (Sat, 15 Nov 2008) | 21 lines
-
-Implement preliminary support for XDG Base Directory Specification.
-See http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html.
-
-This feature was requested for a long time (feature requests #1950978 and #2289481).
-For now, it is disabled since it breaks compatibility with previous versions.
-To be able to test it, you have to enable it by defining USE_XDG to 1 in main.h.
-
-geeqierc and other conf files are going to:
-$XDG_CONFIG_HOME/geeqie/ (default to $HOME/.config/geeqie/).
-
-metadata and thumbnails cache (if std is not used) are going to:
-$XDG_CACHE_HOME/geeqie/metadata/ (default to $HOME/.cache/geeqie/metadata/)
-and $XDG_CACHE_HOME/geeqie/thumbnails/ (default to $HOME/.cache/geeqie/thumbnails/)
-
-collections are going to:
-$XDG_DATA_HOME/geeqie/collections/ (default to $HOME/.local/share/geeqie/collections/)
-
-
-Please test and report any issue.
-
-
-------------------------------------------------------------------------
-r1243 | zas_ | 2008-11-15 21:01:25 +0100 (Sat, 15 Nov 2008) | 1 line
-
-Replace cache_ensure_dir_exists() by new recursive_mkdir_if_not_exists().
-------------------------------------------------------------------------
-r1242 | nadvornik | 2008-11-15 20:13:43 +0100 (Sat, 15 Nov 2008) | 2 lines
-
-fixed usage of deprecated functions - patch by Omari Stephens
-
-------------------------------------------------------------------------
-r1241 | zas_ | 2008-11-15 18:48:31 +0100 (Sat, 15 Nov 2008) | 1 line
-
-Rename check_for_home_path() to mkdir_if_not_exists().
-------------------------------------------------------------------------
-r1240 | zas_ | 2008-11-15 18:30:45 +0100 (Sat, 15 Nov 2008) | 11 lines
-
-Use functions to return directories instead of constants.
-Following functions were added:
-get_collections_dir()
-get_metadata_cache_dir()
-get_rc_dir()
-get_thumbnails_cache_dir()
-get_trash_dir()
-
-They return the full directory path.
-
-
-------------------------------------------------------------------------
-r1239 | zas_ | 2008-11-15 11:35:43 +0100 (Sat, 15 Nov 2008) | 1 line
-
-Add a wrapper around system() call named runcmd() which allows easier debugging. Improve the code launching the help browser.
-------------------------------------------------------------------------
-r1238 | zas_ | 2008-11-14 02:10:18 +0100 (Fri, 14 Nov 2008) | 1 line
-
-Fix up Makefile.am: add missing files and do not install template.html.
-------------------------------------------------------------------------
-r1237 | zas_ | 2008-11-12 22:38:00 +0100 (Wed, 12 Nov 2008) | 1 line
-
-Fix a cut'n'paste error.
-------------------------------------------------------------------------
-r1236 | zas_ | 2008-11-12 22:34:55 +0100 (Wed, 12 Nov 2008) | 1 line
-
-More precise description of the pan view find feature and a note about ressources eating was added.
-------------------------------------------------------------------------
-r1235 | zas_ | 2008-11-12 22:15:12 +0100 (Wed, 12 Nov 2008) | 1 line
-
-Add some information about the pan view.
-------------------------------------------------------------------------
-r1234 | zas_ | 2008-11-12 18:59:14 +0100 (Wed, 12 Nov 2008) | 1 line
-
-Add a note about splitted view.
-------------------------------------------------------------------------
-r1233 | zas_ | 2008-11-12 18:48:16 +0100 (Wed, 12 Nov 2008) | 1 line
-
-Add Connected zoom and Split menu items.
-------------------------------------------------------------------------
-r1232 | zas_ | 2008-11-12 00:35:39 +0100 (Wed, 12 Nov 2008) | 1 line
-
-Add missing s...
-------------------------------------------------------------------------
-r1231 | zas_ | 2008-11-12 00:30:13 +0100 (Wed, 12 Nov 2008) | 1 line
-
-Minor fixes.
-------------------------------------------------------------------------
-r1230 | zas_ | 2008-11-11 22:50:42 +0100 (Tue, 11 Nov 2008) | 1 line
-
-Give a new style to menus.
-------------------------------------------------------------------------
-r1229 | zas_ | 2008-11-11 22:49:33 +0100 (Tue, 11 Nov 2008) | 1 line
-
-Fix missing parts.
-------------------------------------------------------------------------
-r1228 | zas_ | 2008-11-11 22:17:55 +0100 (Tue, 11 Nov 2008) | 1 line
-
-Update main window menus description to match current Geeqie.
-------------------------------------------------------------------------
-r1227 | zas_ | 2008-11-11 22:17:03 +0100 (Tue, 11 Nov 2008) | 1 line
-
-Drop dots.
-------------------------------------------------------------------------
-r1226 | zas_ | 2008-11-11 11:32:03 +0100 (Tue, 11 Nov 2008) | 1 line
-
-Update exif pane documentation a bit.
-------------------------------------------------------------------------
-r1225 | zas_ | 2008-11-11 11:24:04 +0100 (Tue, 11 Nov 2008) | 1 line
-
-Add Properties Options page.
-------------------------------------------------------------------------
-r1224 | zas_ | 2008-11-11 11:09:09 +0100 (Tue, 11 Nov 2008) | 1 line
-
-Advanced options documentation is now almost in sync with current geeqie.
-------------------------------------------------------------------------
-r1223 | zas_ | 2008-11-11 10:12:10 +0100 (Tue, 11 Nov 2008) | 1 line
-
-More updates to advanced options documentation. Not yet finished.
-------------------------------------------------------------------------
-r1222 | zas_ | 2008-11-11 00:36:12 +0100 (Tue, 11 Nov 2008) | 1 line
-
-Page cleanup and fixed. Remove obsolete note.
-------------------------------------------------------------------------
-r1221 | zas_ | 2008-11-11 00:15:42 +0100 (Tue, 11 Nov 2008) | 1 line
-
-Add missing link.
-------------------------------------------------------------------------
-r1220 | zas_ | 2008-11-11 00:05:50 +0100 (Tue, 11 Nov 2008) | 1 line
-
-Update documentation a bit: General, Image, Windows, Filtering, Editors and a part of Advanced (Image Overlay) options.
-------------------------------------------------------------------------
-r1219 | zas_ | 2008-11-10 22:33:38 +0100 (Mon, 10 Nov 2008) | 1 line
-
-Let subsection menus match index style.
-------------------------------------------------------------------------
-r1218 | zas_ | 2008-11-10 22:14:34 +0100 (Mon, 10 Nov 2008) | 1 line
-
-Cosmetic changes in image search and find duplicates shortcuts tables.
-------------------------------------------------------------------------
-r1217 | zas_ | 2008-11-10 21:42:44 +0100 (Mon, 10 Nov 2008) | 1 line
-
-Tidy up.
-------------------------------------------------------------------------
-r1216 | zas_ | 2008-11-10 21:40:50 +0100 (Mon, 10 Nov 2008) | 1 line
-
-Move from xhtml transitional to xhtml strict.
-------------------------------------------------------------------------
-r1215 | zas_ | 2008-11-10 21:16:45 +0100 (Mon, 10 Nov 2008) | 1 line
-
-Minor cleanup.
-------------------------------------------------------------------------
-r1214 | zas_ | 2008-11-10 20:37:17 +0100 (Mon, 10 Nov 2008) | 1 line
-
-Tidy up and minor fixes.
-------------------------------------------------------------------------
-r1213 | zas_ | 2008-11-10 19:02:09 +0100 (Mon, 10 Nov 2008) | 1 line
-
-Notes cleanup and minor stylistic fixes.
-------------------------------------------------------------------------
-r1212 | zas_ | 2008-11-10 18:16:16 +0100 (Mon, 10 Nov 2008) | 1 line
-
-Various fixes and cleanup.
-------------------------------------------------------------------------
-r1211 | zas_ | 2008-11-10 17:11:28 +0100 (Mon, 10 Nov 2008) | 1 line
-
-Fix up some errors.
-------------------------------------------------------------------------
-r1210 | zas_ | 2008-11-10 16:20:13 +0100 (Mon, 10 Nov 2008) | 1 line
-
-Fix up unvalid xhtml.
-------------------------------------------------------------------------
-r1209 | zas_ | 2008-11-10 15:56:11 +0100 (Mon, 10 Nov 2008) | 1 line
-
-Fix up a broken link.
-------------------------------------------------------------------------
-r1208 | zas_ | 2008-11-10 15:10:39 +0100 (Mon, 10 Nov 2008) | 1 line
-
-Beautify the manual.
-------------------------------------------------------------------------
-r1207 | zas_ | 2008-11-10 14:00:29 +0100 (Mon, 10 Nov 2008) | 1 line
-
-Reformat more pages.
-------------------------------------------------------------------------
-r1206 | zas_ | 2008-11-10 13:06:05 +0100 (Mon, 10 Nov 2008) | 1 line
-
-Reformat remaining options pages.
-------------------------------------------------------------------------
-r1205 | zas_ | 2008-11-10 11:26:51 +0100 (Mon, 10 Nov 2008) | 1 line
-
-Reformatting: notes, advanced options page and more.
-------------------------------------------------------------------------
-r1204 | zas_ | 2008-11-09 22:53:33 +0100 (Sun, 09 Nov 2008) | 1 line
-
-Reformatting.
-------------------------------------------------------------------------
-r1203 | zas_ | 2008-11-09 18:17:19 +0100 (Sun, 09 Nov 2008) | 1 line
-
-Reformat and cleanup.
-------------------------------------------------------------------------
-r1202 | zas_ | 2008-11-09 14:37:39 +0100 (Sun, 09 Nov 2008) | 1 line
-
-More cleanup of tables.
-------------------------------------------------------------------------
-r1201 | zas_ | 2008-11-09 14:06:16 +0100 (Sun, 09 Nov 2008) | 1 line
-
-Cleanup some tables.
-------------------------------------------------------------------------
-r1200 | zas_ | 2008-11-09 13:48:00 +0100 (Sun, 09 Nov 2008) | 1 line
-
-Drop most old css classes.
-------------------------------------------------------------------------
-r1199 | zas_ | 2008-11-09 10:39:14 +0100 (Sun, 09 Nov 2008) | 1 line
-
-Move dialog descriptions to definitions lists, first step.
-------------------------------------------------------------------------
-r1198 | zas_ | 2008-11-09 10:33:01 +0100 (Sun, 09 Nov 2008) | 1 line
-
-Index cleanup.
-------------------------------------------------------------------------
-r1197 | zas_ | 2008-11-09 10:28:59 +0100 (Sun, 09 Nov 2008) | 1 line
-
-Move menu descriptions to definitions lists.
-------------------------------------------------------------------------
-r1196 | zas_ | 2008-11-08 23:11:51 +0100 (Sat, 08 Nov 2008) | 1 line
-
-Re-introduce Geeqie User Manual footer.
-------------------------------------------------------------------------
-r1195 | zas_ | 2008-11-08 18:38:36 +0100 (Sat, 08 Nov 2008) | 1 line
-
-Simplify bottom navigation table.
-------------------------------------------------------------------------
-r1194 | zas_ | 2008-11-08 18:24:02 +0100 (Sat, 08 Nov 2008) | 1 line
-
-Use col tags with id in top and bottom navigation tables.
-------------------------------------------------------------------------
-r1193 | zas_ | 2008-11-08 12:37:17 +0100 (Sat, 08 Nov 2008) | 1 line
-
-Add a generic spacer at the bottom of the page, remove now unused css classes.
-------------------------------------------------------------------------
-r1192 | zas_ | 2008-11-08 11:59:45 +0100 (Sat, 08 Nov 2008) | 1 line
-
-Add two css classes navtop and navbottom and remove unused ones.
-------------------------------------------------------------------------
-r1191 | zas_ | 2008-11-08 11:49:18 +0100 (Sat, 08 Nov 2008) | 1 line
-
-Add style.css to list of files to install.
-------------------------------------------------------------------------
-r1190 | zas_ | 2008-11-08 11:47:31 +0100 (Sat, 08 Nov 2008) | 1 line
-
-Move css styles to an external stylesheet.
-------------------------------------------------------------------------
-r1189 | zas_ | 2008-11-07 00:49:31 +0100 (Fri, 07 Nov 2008) | 1 line
-
-Remove reference to numbered section.
-------------------------------------------------------------------------
-r1188 | zas_ | 2008-11-07 00:43:46 +0100 (Fri, 07 Nov 2008) | 1 line
-
-Remove references to numbered sections.
-------------------------------------------------------------------------
-r1187 | zas_ | 2008-11-07 00:39:22 +0100 (Fri, 07 Nov 2008) | 1 line
-
-Simplify the table.
-------------------------------------------------------------------------
-r1186 | zas_ | 2008-11-06 21:01:32 +0100 (Thu, 06 Nov 2008) | 10 lines
-
-Previous patch (revision 1185) for the comments-related segfault was incomplete, and as such, it broke keywords in files whose metadata had keywords but no comments.
-
-This patch fixes that (and still fixes the case where one searches on 
-comments and hits a file with keywords but no comments).  Lastly, I would 
-imagine that there exists a failure mode where one searches for a keyword and 
-hits a file with a comment but no keyword, and I imagine this patch should fix 
-that case as well.
-
-Patch by Omari Stephens (aka xsdg).
-
-------------------------------------------------------------------------
-r1185 | zas_ | 2008-11-04 18:26:46 +0100 (Tue, 04 Nov 2008) | 1 line
-
-Fix a segfault occuring when searching for comments in a directory where at least one photo doesn't have a comment. The fix modifies comment_read() function to return FALSE when a comment doesn't exist. Patch by Omari Stephens.
-------------------------------------------------------------------------
-r1184 | zas_ | 2008-11-04 18:11:53 +0100 (Tue, 04 Nov 2008) | 1 line
-
-Do a gtk_init before the parsing of command line arguments to allow gtk specific options. (See http://library.gnome.org/devel/gtk/2.14/gtk-running.html). Patch by Klaus Ethgen.
-------------------------------------------------------------------------
-r1183 | zas_ | 2008-10-27 14:31:39 +0100 (Mon, 27 Oct 2008) | 1 line
-
-Do not install doc/Makefile*. Reported and fixed by Krzysztof Kotlenga.
-------------------------------------------------------------------------
-r1182 | zas_ | 2008-10-26 20:27:20 +0100 (Sun, 26 Oct 2008) | 1 line
-
-Use h2/h3 tags where appropriate.
-------------------------------------------------------------------------
-r1181 | bruclik | 2008-10-26 14:43:10 +0100 (Sun, 26 Oct 2008) | 2 lines
-
-Fixed doc/Makefile.am according to renamed doc files.
-
-------------------------------------------------------------------------
-r1180 | zas_ | 2008-10-25 16:42:52 +0200 (Sat, 25 Oct 2008) | 1 line
-
-Keyboard table cleanup attempt. Need more work.
-------------------------------------------------------------------------
-r1179 | zas_ | 2008-10-25 15:14:00 +0200 (Sat, 25 Oct 2008) | 1 line
-
-Move menus to unordered lists - step 2.
-------------------------------------------------------------------------
-r1178 | zas_ | 2008-10-25 13:02:09 +0200 (Sat, 25 Oct 2008) | 1 line
-
-Move menus to unordered lists - step 1.
-------------------------------------------------------------------------
-r1177 | zas_ | 2008-10-25 10:49:07 +0200 (Sat, 25 Oct 2008) | 1 line
-
-Align Previous to the left, drop useless col tags.
-------------------------------------------------------------------------
-r1176 | zas_ | 2008-10-25 10:14:34 +0200 (Sat, 25 Oct 2008) | 1 line
-
-Drop meta CREATED and CHANGED since they will never be updated and svn takes care of versions.
-------------------------------------------------------------------------
-r1175 | zas_ | 2008-10-25 10:10:11 +0200 (Sat, 25 Oct 2008) | 1 line
-
-Fix page titles.
-------------------------------------------------------------------------
-r1174 | zas_ | 2008-10-25 10:07:57 +0200 (Sat, 25 Oct 2008) | 1 line
-
-Drop chapters numbers from h1 title, and reformat top title a bit.
-------------------------------------------------------------------------
-r1173 | zas_ | 2008-10-25 09:47:47 +0200 (Sat, 25 Oct 2008) | 1 line
-
-Get rid off of chapters numbers in html documentation filenames. It will ease re-ordering.
-------------------------------------------------------------------------
-r1172 | zas_ | 2008-10-24 00:45:44 +0200 (Fri, 24 Oct 2008) | 1 line
-
-Update legal notice and copyright to mention The Geeqie Team.
-------------------------------------------------------------------------
-r1171 | zas_ | 2008-10-23 21:06:23 +0200 (Thu, 23 Oct 2008) | 1 line
-
-With the help of tidy and sed, move html files to xhtml+css. Css classes were prefixed to ease future changes (like a common css file).
-------------------------------------------------------------------------
-r1170 | zas_ | 2008-10-23 20:06:28 +0200 (Thu, 23 Oct 2008) | 1 line
-
-Change occurences of GQview and gqview to Geeqie and geeqie. Rename gqview_faq.html to faq.html
-------------------------------------------------------------------------
-r1169 | zas_ | 2008-10-22 21:56:29 +0200 (Wed, 22 Oct 2008) | 1 line
-
-Let Create thumbnails start in current directory (fallback to home directory if not available) as requested by Marcin Zajaczkowski (feature request 2166691).
-------------------------------------------------------------------------
-r1168 | nadvornik | 2008-10-20 23:00:18 +0200 (Mon, 20 Oct 2008) | 3 lines
-
-Fix a cut and paste error when implementing the comment search (Klaus
-Ethgen)
-
-------------------------------------------------------------------------
-r1167 | nadvornik | 2008-10-20 19:13:32 +0200 (Mon, 20 Oct 2008) | 2 lines
-
-fixed failed assertion in exif_free
-
-------------------------------------------------------------------------
-r1166 | nadvornik | 2008-10-18 22:17:55 +0200 (Sat, 18 Oct 2008) | 2 lines
-
-create xmp sidecar when needed
-
-------------------------------------------------------------------------
-r1165 | nadvornik | 2008-10-18 21:20:27 +0200 (Sat, 18 Oct 2008) | 2 lines
-
-simple synchronization XMP <-> Exif, IPTC
-
-------------------------------------------------------------------------
-r1164 | nadvornik | 2008-10-18 20:22:57 +0200 (Sat, 18 Oct 2008) | 2 lines
-
-infrastructure for preprocessing of metadata
-
-------------------------------------------------------------------------
-r1163 | nadvornik | 2008-10-18 11:07:52 +0200 (Sat, 18 Oct 2008) | 2 lines
-
-fixed bar_exif separator
-
-------------------------------------------------------------------------
-r1162 | nadvornik | 2008-10-18 10:40:32 +0200 (Sat, 18 Oct 2008) | 2 lines
-
-reordered advanced exif columns
-
-------------------------------------------------------------------------
-r1161 | nadvornik | 2008-10-18 10:31:25 +0200 (Sat, 18 Oct 2008) | 2 lines
-
-no need to validate description, it is in utf8
-
-------------------------------------------------------------------------
-r1160 | nadvornik | 2008-10-18 00:00:07 +0200 (Sat, 18 Oct 2008) | 4 lines
-
-improved custom exif look:
-- use toggle instead of remove button 
-- display description instead of property key
-
-------------------------------------------------------------------------
-r1159 | nadvornik | 2008-10-14 23:24:34 +0200 (Tue, 14 Oct 2008) | 2 lines
-
-follow Exiv2 SVN changes
-
-------------------------------------------------------------------------
-r1158 | zas_ | 2008-10-12 10:49:45 +0200 (Sun, 12 Oct 2008) | 1 line
-
-French translation was updated.
-------------------------------------------------------------------------
-r1157 | zas_ | 2008-10-12 10:43:14 +0200 (Sun, 12 Oct 2008) | 1 line
-
-Add a button for each advanced entry in Properties Exif Panel that allow to remove it from display. It fixes bug 1962611.
-------------------------------------------------------------------------
-r1156 | zas_ | 2008-10-12 10:36:53 +0200 (Sun, 12 Oct 2008) | 6 lines
-
-Better handling of accels map file writing errors.
-Secure save is also used for those now, at the expense of
-a bit of duplication of gtk functions.
-It should fix bug 2146917 (debian BTS #501131), reported by
-Stanislav Maslovski.
-
-------------------------------------------------------------------------
-r1155 | nadvornik | 2008-10-11 22:19:48 +0200 (Sat, 11 Oct 2008) | 6 lines
-
-added option to use exif thumbnails
-- it requires exiv2 0.18 or the current svn 
-- it is disabled by default because the exif thumbnails
-  may be outdated if the image was edited
-
-
-------------------------------------------------------------------------
-r1154 | zas_ | 2008-10-07 21:34:11 +0200 (Tue, 07 Oct 2008) | 1 line
-
-French translation was updated.
-------------------------------------------------------------------------
-r1153 | zas_ | 2008-10-07 21:29:13 +0200 (Tue, 07 Oct 2008) | 1 line
-
-Fix up few signed vs unsigned warnings: exif_item_get_rational() last parameter is now of guint type.
-------------------------------------------------------------------------
-r1152 | nadvornik | 2008-10-07 20:37:32 +0200 (Tue, 07 Oct 2008) | 2 lines
-
-Implement the search for image comment - patch by Klaus Ethgen
-
-------------------------------------------------------------------------
-r1151 | nadvornik | 2008-10-07 20:22:58 +0200 (Tue, 07 Oct 2008) | 2 lines
-
-Fixed degree symbol encoding
-
-------------------------------------------------------------------------
-r1150 | nadvornik | 2008-10-07 20:20:22 +0200 (Tue, 07 Oct 2008) | 2 lines
-
-Adding a vim modeline to all files - patch by Klaus Ethgen
-
-------------------------------------------------------------------------
-r1149 | nadvornik | 2008-10-05 20:25:44 +0200 (Sun, 05 Oct 2008) | 2 lines
-
-fixed confirm_delete option
-
-------------------------------------------------------------------------
-r1148 | nadvornik | 2008-10-04 22:28:31 +0200 (Sat, 04 Oct 2008) | 2 lines
-
-fixed charset of exiv2 strings in non-utf8 locales
-
-------------------------------------------------------------------------
-r1147 | nadvornik | 2008-10-01 22:57:56 +0200 (Wed, 01 Oct 2008) | 2 lines
-
-Add support for GPSInfo - patch by Klaus Ethgen
-
-------------------------------------------------------------------------
-r1146 | nadvornik | 2008-09-29 23:17:19 +0200 (Mon, 29 Sep 2008) | 4 lines
-
-The comment section in the meta file is the last section. However it do
-not accept comment lines starting with a '['. This patch will fix that.
-- patch by Klaus Ethgen
-
-------------------------------------------------------------------------
-r1145 | nadvornik | 2008-09-29 23:09:48 +0200 (Mon, 29 Sep 2008) | 2 lines
-
-fixes executable right of images
-
-------------------------------------------------------------------------
-r1144 | nadvornik | 2008-09-29 23:01:30 +0200 (Mon, 29 Sep 2008) | 2 lines
-
-enlarge the dupe window - patch by Klaus Ethgen
-
-------------------------------------------------------------------------
-r1143 | nadvornik | 2008-09-27 20:48:32 +0200 (Sat, 27 Sep 2008) | 2 lines
-
-updated preview loader to work with current svn version of libexiv2
-
-------------------------------------------------------------------------
-r1142 | nadvornik | 2008-09-10 22:37:30 +0200 (Wed, 10 Sep 2008) | 8 lines
-
-use SHIFT for connected scroll and zoom
-
-SHIFT + keys or mouse: affects all split windows
-keys or mouse: affects only active window
-
-CONTROL + mouse: moves fast (originally it was SHIFT + mouse)
-
-
-------------------------------------------------------------------------
-r1141 | nadvornik | 2008-09-09 21:46:44 +0200 (Tue, 09 Sep 2008) | 3 lines
-
-reverted buggy part of rev. 1138 - it made the filelist jump
-unexpectedly
-
-------------------------------------------------------------------------
-r1140 | nadvornik | 2008-09-08 21:57:51 +0200 (Mon, 08 Sep 2008) | 3 lines
-
-added possibility to redraw only the parts of image that are already
-loaded
-
-------------------------------------------------------------------------
-r1139 | zas_ | 2008-09-08 17:53:01 +0200 (Mon, 08 Sep 2008) | 1 line
-
-Fix a compiler warning regarding argument type.
-------------------------------------------------------------------------
-r1138 | bruclik | 2008-09-08 01:01:30 +0200 (Mon, 08 Sep 2008) | 2 lines
-
-Replaced gtk depreceated code.
-
-------------------------------------------------------------------------
-r1137 | zas_ | 2008-09-07 21:42:19 +0200 (Sun, 07 Sep 2008) | 1 line
-
-Shorten config_window_apply() a bit, reduce code redunancy.
-------------------------------------------------------------------------
-r1136 | zas_ | 2008-09-05 00:35:33 +0200 (Fri, 05 Sep 2008) | 1 line
-
-Update translations stats.
-------------------------------------------------------------------------
-r1135 | zas_ | 2008-09-05 00:29:32 +0200 (Fri, 05 Sep 2008) | 1 line
-
-French translation was updated.
-------------------------------------------------------------------------
-r1134 | zas_ | 2008-09-05 00:04:32 +0200 (Fri, 05 Sep 2008) | 1 line
-
-Allow all Preferences pages to scroll vertically. Reduce code redundancy.
-------------------------------------------------------------------------
-r1133 | zas_ | 2008-09-04 23:38:28 +0200 (Thu, 04 Sep 2008) | 1 line
-
-Allow to change image.scroll_reset_method in Preferences > Image.
-------------------------------------------------------------------------
-r1132 | nadvornik | 2008-09-04 23:19:09 +0200 (Thu, 04 Sep 2008) | 4 lines
-
-fixed various problems with preserving viewport on image change,
-options->image.scroll_reset_method should work again (it needs to be
-added to the preferences dialog)
-
-------------------------------------------------------------------------
-r1131 | nadvornik | 2008-09-03 23:54:49 +0200 (Wed, 03 Sep 2008) | 3 lines
-
-load thumbnails with lower priority
-TODO: maybe implement an exception for visible thumbnails
-
-------------------------------------------------------------------------
-r1130 | zas_ | 2008-09-03 23:13:02 +0200 (Wed, 03 Sep 2008) | 1 line
-
-Improve debug messages.
-------------------------------------------------------------------------
-r1129 | nadvornik | 2008-09-03 22:43:10 +0200 (Wed, 03 Sep 2008) | 2 lines
-
-adjusted default options
-
-------------------------------------------------------------------------
-r1128 | nadvornik | 2008-09-03 22:29:32 +0200 (Wed, 03 Sep 2008) | 2 lines
-
-adjusted redraw priority relative to icon drawing
-
-------------------------------------------------------------------------
-r1127 | nadvornik | 2008-09-03 21:58:21 +0200 (Wed, 03 Sep 2008) | 2 lines
-
-dropped IMAGE_THROTTLE_LARGER_IMAGES code
-
-------------------------------------------------------------------------
-r1126 | nadvornik | 2008-09-03 21:52:11 +0200 (Wed, 03 Sep 2008) | 2 lines
-
-fixed handling of broken images
-
-------------------------------------------------------------------------
-r1125 | nadvornik | 2008-09-01 21:18:32 +0200 (Mon, 01 Sep 2008) | 2 lines
-
-improved pixbuf draw priority control
-
-------------------------------------------------------------------------
-r1124 | zas_ | 2008-09-01 19:29:07 +0200 (Mon, 01 Sep 2008) | 1 line
-
-Use a constant for minimal window size. Set it to 32 for all dialogs.
-------------------------------------------------------------------------
-r1123 | zas_ | 2008-09-01 19:22:19 +0200 (Mon, 01 Sep 2008) | 1 line
-
-Remove redundant debug.h inclusion.
-------------------------------------------------------------------------
-r1122 | nadvornik | 2008-08-31 23:19:00 +0200 (Sun, 31 Aug 2008) | 2 lines
-
-fixed read ahead callback
-
-------------------------------------------------------------------------
-r1121 | nadvornik | 2008-08-31 23:02:09 +0200 (Sun, 31 Aug 2008) | 2 lines
-
-fixed error handling in image loader
-
-------------------------------------------------------------------------
-r1120 | nadvornik | 2008-08-31 20:53:11 +0200 (Sun, 31 Aug 2008) | 2 lines
-
-fixed possible endless loop
-
-------------------------------------------------------------------------
-r1119 | zas_ | 2008-08-31 14:29:49 +0200 (Sun, 31 Aug 2008) | 1 line
-
-Add a Save button to Preferences dialog, which allow to save options to file without quitting the application.
-------------------------------------------------------------------------
-r1118 | zas_ | 2008-08-31 13:27:24 +0200 (Sun, 31 Aug 2008) | 1 line
-
-Move quoted_value() and escquote_value() to misc.[ch].
-------------------------------------------------------------------------
-r1117 | zas_ | 2008-08-31 12:51:41 +0200 (Sun, 31 Aug 2008) | 1 line
-
-Move miscellaneous functions to their own files (new misc.[ch]).
-------------------------------------------------------------------------
-r1116 | nadvornik | 2008-08-31 12:08:48 +0200 (Sun, 31 Aug 2008) | 2 lines
-
-use GThreadPool
-
-------------------------------------------------------------------------
-r1115 | nadvornik | 2008-08-31 11:20:29 +0200 (Sun, 31 Aug 2008) | 2 lines
-
-improved thread support in image loader
-
-------------------------------------------------------------------------
-r1114 | zas_ | 2008-08-31 11:13:42 +0200 (Sun, 31 Aug 2008) | 1 line
-
-Move save/load_options() to options.[ch].
-------------------------------------------------------------------------
-r1113 | zas_ | 2008-08-31 10:59:39 +0200 (Sun, 31 Aug 2008) | 1 line
-
-Move sync_options_with_current_state() call to save_options().
-------------------------------------------------------------------------
-r1112 | zas_ | 2008-08-31 10:41:42 +0200 (Sun, 31 Aug 2008) | 1 line
-
-Move some code to new functions, to simplify main().
-------------------------------------------------------------------------
-r1111 | zas_ | 2008-08-31 10:13:36 +0200 (Sun, 31 Aug 2008) | 1 line
-
-Fix two minor compilation warnings.
-------------------------------------------------------------------------
-r1110 | nadvornik | 2008-08-30 22:15:47 +0200 (Sat, 30 Aug 2008) | 4 lines
-
-run image loader in separate thread
-this feature is disabled by default for now, it must be enabled by 
-configure --enable-threads 
-
-------------------------------------------------------------------------
-r1109 | nadvornik | 2008-08-30 15:04:06 +0200 (Sat, 30 Aug 2008) | 2 lines
-
-prepared image loader code for threads
-
-------------------------------------------------------------------------
-r1108 | zas_ | 2008-08-30 12:39:35 +0200 (Sat, 30 Aug 2008) | 5 lines
-
-Allow to override documentation paths through options:
-- documentation.helpdir
-- documentation.htmldir
-Default values are set at configure time.
-
-------------------------------------------------------------------------
-r1107 | nadvornik | 2008-08-29 22:53:53 +0200 (Fri, 29 Aug 2008) | 2 lines
-
-converted image loader to a GObject and use signals for notification
-
-------------------------------------------------------------------------
-r1106 | nadvornik | 2008-08-29 14:35:13 +0200 (Fri, 29 Aug 2008) | 2 lines
-
-do not access image_loader directly
-
-------------------------------------------------------------------------
-r1105 | nadvornik | 2008-08-29 11:59:20 +0200 (Fri, 29 Aug 2008) | 2 lines
-
-added new raw preview interface for legacy exif
-
-------------------------------------------------------------------------
-r1104 | nadvornik | 2008-08-29 11:38:10 +0200 (Fri, 29 Aug 2008) | 2 lines
-
-fixed thumbnail loader for the new raw preview interface
-
-------------------------------------------------------------------------
-r1103 | nadvornik | 2008-08-29 00:26:09 +0200 (Fri, 29 Aug 2008) | 4 lines
-
-use mmaped files image loader 
-implemented new interface for extracting raw previews
-experiments with previews support in SVN version of Exiv2
-
-------------------------------------------------------------------------
-r1102 | bruclik | 2008-08-28 14:51:02 +0200 (Thu, 28 Aug 2008) | 2 lines
-
-Removed converting fd->name to utf8 from file_data_set_collate_keys(), because fd->name is utf8. 
-
-------------------------------------------------------------------------
-r1101 | zas_ | 2008-08-28 12:50:02 +0200 (Thu, 28 Aug 2008) | 1 line
-
-Silent warnings about unused functions when lcms is not used.
-------------------------------------------------------------------------
-r1100 | zas_ | 2008-08-27 19:02:14 +0200 (Wed, 27 Aug 2008) | 1 line
-
-Comment out unused functions.
-------------------------------------------------------------------------
-r1099 | zas_ | 2008-08-27 18:42:59 +0200 (Wed, 27 Aug 2008) | 1 line
-
-Silent a compiler warning.
-------------------------------------------------------------------------
-r1098 | zas_ | 2008-08-27 18:40:21 +0200 (Wed, 27 Aug 2008) | 1 line
-
-const gpointer -> gconstpointer.
-------------------------------------------------------------------------
-r1097 | zas_ | 2008-08-27 00:37:18 +0200 (Wed, 27 Aug 2008) | 1 line
-
-Use gpointer instead of void *.
-------------------------------------------------------------------------
-r1096 | zas_ | 2008-08-27 00:30:40 +0200 (Wed, 27 Aug 2008) | 1 line
-
-Consistency: type * instead of type*.
-------------------------------------------------------------------------
-r1095 | zas_ | 2008-08-27 00:22:51 +0200 (Wed, 27 Aug 2008) | 1 line
-
-For the sake of consistency, use glib basic types everywhere.
-------------------------------------------------------------------------
-r1094 | zas_ | 2008-08-26 23:19:33 +0200 (Tue, 26 Aug 2008) | 1 line
-
-Indentation fixes.
-------------------------------------------------------------------------
-r1093 | bruclik | 2008-08-26 22:21:30 +0200 (Tue, 26 Aug 2008) | 3 lines
-
-Fixed segfault when is run inside directory with non valid uft-8 image
-filename.
-
-------------------------------------------------------------------------
-r1092 | bruclik | 2008-08-26 15:56:56 +0200 (Tue, 26 Aug 2008) | 2 lines
-
-Fixed calling "Image search" function in a directory without image. 
-
-------------------------------------------------------------------------
-r1091 | nadvornik | 2008-08-26 00:45:38 +0200 (Tue, 26 Aug 2008) | 2 lines
-
-correctly maintain selection during iconlist refresh
-
-------------------------------------------------------------------------
-r1090 | zas_ | 2008-08-26 00:20:45 +0200 (Tue, 26 Aug 2008) | 1 line
-
-Whitespaces cleanup.
-------------------------------------------------------------------------
-r1089 | bruclik | 2008-08-25 20:13:33 +0200 (Mon, 25 Aug 2008) | 3 lines
-
-Fixed segfaulting when alter image in directory without images.
-
-
-------------------------------------------------------------------------
-r1088 | nadvornik | 2008-08-25 18:58:27 +0200 (Mon, 25 Aug 2008) | 2 lines
-
-removed unused code
-
-------------------------------------------------------------------------
-r1087 | zas_ | 2008-08-24 16:40:18 +0200 (Sun, 24 Aug 2008) | 1 line
-
-Typo fixes.
-------------------------------------------------------------------------
-r1086 | zas_ | 2008-08-24 16:33:03 +0200 (Sun, 24 Aug 2008) | 1 line
-
-Slight code redundancy reduction.
-------------------------------------------------------------------------
-r1085 | zas_ | 2008-08-24 16:14:37 +0200 (Sun, 24 Aug 2008) | 1 line
-
-Drop redundant variable affectation.
-------------------------------------------------------------------------
-r1084 | zas_ | 2008-08-24 15:22:08 +0200 (Sun, 24 Aug 2008) | 2 lines
-
-Fix untranslated messages. French translation and POTFILES.in were updated.
-
-------------------------------------------------------------------------
-r1083 | zas_ | 2008-08-24 12:00:40 +0200 (Sun, 24 Aug 2008) | 1 line
-
-French translation was updated.
-------------------------------------------------------------------------
-r1082 | zas_ | 2008-08-24 12:00:02 +0200 (Sun, 24 Aug 2008) | 1 line
-
-Mark forgotten string for translation.
-------------------------------------------------------------------------
-r1081 | zas_ | 2008-08-23 23:07:25 +0200 (Sat, 23 Aug 2008) | 1 line
-
-Fix another missing separator bug in image overlay. This one was occuring with default string when no ISO data was available from exif.
-------------------------------------------------------------------------
-r1080 | zas_ | 2008-08-23 22:46:31 +0200 (Sat, 23 Aug 2008) | 1 line
-
-Minor optimization: no need to copy the whole remaining of the string, just copy next char.
-------------------------------------------------------------------------
-r1079 | zas_ | 2008-08-23 19:35:57 +0200 (Sat, 23 Aug 2008) | 2 lines
-
-Only display status if there is at least one file in the file list.
-
-------------------------------------------------------------------------
-r1078 | zas_ | 2008-08-23 19:00:59 +0200 (Sat, 23 Aug 2008) | 1 line
-
-Remove unneeded type casting.
-------------------------------------------------------------------------
-r1077 | nadvornik | 2008-08-23 10:42:12 +0200 (Sat, 23 Aug 2008) | 2 lines
-
-fixed vd_refresh
-
-------------------------------------------------------------------------
-r1076 | zas_ | 2008-08-23 00:09:54 +0200 (Sat, 23 Aug 2008) | 1 line
-
-French translation was updated.
-------------------------------------------------------------------------
-r1075 | zas_ | 2008-08-22 23:52:13 +0200 (Fri, 22 Aug 2008) | 7 lines
-
-Add an option named layout.home_path which modifies the behavior of the Home button.
-By default, pressing this button goes to the user's home directory.
-When this option is set to a path, this path is used instead.
-One can change the option value through Preferences > Advanced > Navigation
-or directly in .geeqierc.
-Feature proposed by Colin Clark.
-
-------------------------------------------------------------------------
-r1074 | zas_ | 2008-08-22 00:49:30 +0200 (Fri, 22 Aug 2008) | 1 line
-
-Typo fix: vf -> vd
-------------------------------------------------------------------------
-r1073 | zas_ | 2008-08-22 00:47:49 +0200 (Fri, 22 Aug 2008) | 1 line
-
-Replace macros VDLIST_INFO() and VDTREE_INFO() by shorter VDLIST() and VDTREE(). VDLIST_INFO(vd, part) becomes VDLIST(vd)->part.
-------------------------------------------------------------------------
-r1072 | zas_ | 2008-08-22 00:36:20 +0200 (Fri, 22 Aug 2008) | 1 line
-
-Indentation fix.
-------------------------------------------------------------------------
-r1071 | zas_ | 2008-08-21 00:26:34 +0200 (Thu, 21 Aug 2008) | 1 line
-
-Use constants instead of enum since value (0xffff0000) overflow INT_MAX on some platforms (seen on Solaris 10 SPARC system using the native Sun version 5.9 compilers). Reported by Jeffery Small.
-------------------------------------------------------------------------
-r1070 | zas_ | 2008-08-21 00:19:35 +0200 (Thu, 21 Aug 2008) | 1 line
-
-Do not return values of void functions. Reported by Jeffery Small.
-------------------------------------------------------------------------
-r1069 | nadvornik | 2008-08-20 22:36:36 +0200 (Wed, 20 Aug 2008) | 2 lines
-
-update the FileData structure when a new folder is created
-
-------------------------------------------------------------------------
-r1068 | nadvornik | 2008-08-20 00:58:31 +0200 (Wed, 20 Aug 2008) | 2 lines
-
-improved refresh in view_dir_list
-
-------------------------------------------------------------------------
-r1067 | nadvornik | 2008-08-19 23:01:29 +0200 (Tue, 19 Aug 2008) | 2 lines
-
-set fallback pixbuf in case of missing file
-
-------------------------------------------------------------------------
-r1066 | nadvornik | 2008-08-19 22:58:23 +0200 (Tue, 19 Aug 2008) | 2 lines
-
-fixed possible segfault
-
-------------------------------------------------------------------------
-r1065 | nadvornik | 2008-08-17 16:18:51 +0200 (Sun, 17 Aug 2008) | 3 lines
-
-removed code for maintaining filelist position, gtk_tree_view itself handles it
-better
-
-------------------------------------------------------------------------
-r1064 | zas_ | 2008-08-17 11:36:02 +0200 (Sun, 17 Aug 2008) | 2 lines
-
-French translation was updated.
-
-------------------------------------------------------------------------
-r1063 | zas_ | 2008-08-17 11:30:45 +0200 (Sun, 17 Aug 2008) | 11 lines
-
-Simplify things related to ViewFileInfoList * and ViewFileInfoIcon * type casting:
-- drop VFICON_INFO() and VFLIST_INFO() macros
-- rename VFLIST_INFO_POINTER() and VFICON_INFO_POINTER() to shorter VFLIST() and VFICON().
-- replace all related occurrences by shorter expressions.
-
-For example:
-VFICON_INFO(vf, columns) becomes VFICON(vf)->columns
-VFLIST_INFO(vf, click_fd) becomes VFLIST(vf)->click_fd
-
-
-
-------------------------------------------------------------------------
-r1062 | zas_ | 2008-08-17 11:00:33 +0200 (Sun, 17 Aug 2008) | 2 lines
-
-Move variable declaration at start of block.
-
-------------------------------------------------------------------------
-r1061 | nadvornik | 2008-08-17 01:37:26 +0200 (Sun, 17 Aug 2008) | 2 lines
-
-marks in iconview made clickable
-
-------------------------------------------------------------------------
-r1060 | nadvornik | 2008-08-16 22:57:40 +0200 (Sat, 16 Aug 2008) | 2 lines
-
-keep files with non-zero marks in memory
-
-------------------------------------------------------------------------
-r1059 | nadvornik | 2008-08-16 22:34:14 +0200 (Sat, 16 Aug 2008) | 2 lines
-
-implemented marks filter
-
-------------------------------------------------------------------------
-r1058 | zas_ | 2008-08-16 09:18:16 +0200 (Sat, 16 Aug 2008) | 3 lines
-
-Fix double escaping of image overlay text.
-Bug 2051955, reported by Emmanuel Dupuis.
-
-------------------------------------------------------------------------
-r1057 | nadvornik | 2008-08-13 23:07:06 +0200 (Wed, 13 Aug 2008) | 2 lines
-
-added keyboard map generator
-
-------------------------------------------------------------------------
-r1056 | nadvornik | 2008-08-13 22:46:06 +0200 (Wed, 13 Aug 2008) | 2 lines
-
-a workaround for http://bugzilla.gnome.org/show_bug.cgi?id=547669
-
-------------------------------------------------------------------------
-r1055 | nadvornik | 2008-08-12 22:21:25 +0200 (Tue, 12 Aug 2008) | 2 lines
-
-fixed crash with float file list and geeqie --blank
-
-------------------------------------------------------------------------
-r1054 | nadvornik | 2008-08-11 20:53:19 +0200 (Mon, 11 Aug 2008) | 2 lines
-
-fixed crash in geeqie --blank
-
-------------------------------------------------------------------------
-r1053 | nadvornik | 2008-08-11 19:45:26 +0200 (Mon, 11 Aug 2008) | 2 lines
-
-fixed setting visible entry in view_dir_tree
-
-------------------------------------------------------------------------
-r1051 | nadvornik | 2008-07-30 20:44:49 +0200 (Wed, 30 Jul 2008) | 2 lines
-
-updated ChangeLog from svn log
-
-------------------------------------------------------------------------
-r1050 | zas_ | 2008-07-28 20:35:19 +0200 (Mon, 28 Jul 2008) | 2 lines
-
-Move declarations at the beginning of blocks.
-
-------------------------------------------------------------------------
-r1049 | zas_ | 2008-07-28 20:07:42 +0200 (Mon, 28 Jul 2008) | 2 lines
-
-Optimize tests even more using last changes.
-
-------------------------------------------------------------------------
-r1048 | nadvornik | 2008-07-28 20:02:10 +0200 (Mon, 28 Jul 2008) | 2 lines
-
-do not free unallocated exif data
-
-------------------------------------------------------------------------
-r1047 | zas_ | 2008-07-28 19:59:09 +0200 (Mon, 28 Jul 2008) | 2 lines
-
-Cache strcmp() result.
-
-------------------------------------------------------------------------
-r1046 | zas_ | 2008-07-28 19:56:56 +0200 (Mon, 28 Jul 2008) | 2 lines
-
-Optimize redundant tests.
-
-------------------------------------------------------------------------
-r1045 | zas_ | 2008-07-28 19:55:06 +0200 (Mon, 28 Jul 2008) | 2 lines
-
-Move dest_dir variable to inner block.
-
-------------------------------------------------------------------------
-r1044 | zas_ | 2008-07-28 11:44:50 +0200 (Mon, 28 Jul 2008) | 2 lines
-
-Reduce code redundancy and minor typo fixes.
-
-------------------------------------------------------------------------
-r1043 | zas_ | 2008-07-28 11:14:10 +0200 (Mon, 28 Jul 2008) | 2 lines
-
-French translation was updated.
-
-------------------------------------------------------------------------
-r1042 | zas_ | 2008-07-28 11:12:33 +0200 (Mon, 28 Jul 2008) | 2 lines
-
-Typo fix.
-
-------------------------------------------------------------------------
-r1041 | nadvornik | 2008-07-27 21:22:40 +0200 (Sun, 27 Jul 2008) | 2 lines
-
-abort file operations when the file list is empty
-
-------------------------------------------------------------------------
-r1040 | nadvornik | 2008-07-27 20:20:59 +0200 (Sun, 27 Jul 2008) | 3 lines
-
-remember path entered in file dialog
-http://sourceforge.net/tracker/index.php?func=detail&aid=2028977&group_id=222125&atid=1054680
-
-------------------------------------------------------------------------
-r1039 | nadvornik | 2008-07-27 15:46:24 +0200 (Sun, 27 Jul 2008) | 2 lines
-
-speed-up of directory notification on deleting large number of files
-
-------------------------------------------------------------------------
-r1038 | nadvornik | 2008-07-27 11:51:28 +0200 (Sun, 27 Jul 2008) | 2 lines
-
-added "Symlink" as an example of "filter" command 
-
-------------------------------------------------------------------------
-r1037 | nadvornik | 2008-07-27 10:57:12 +0200 (Sun, 27 Jul 2008) | 2 lines
-
-improved updating of view_dir_tree
-
-------------------------------------------------------------------------
-r1036 | nadvornik | 2008-07-27 10:40:47 +0200 (Sun, 27 Jul 2008) | 2 lines
-
-fixed deleting of non-empty folder
-
-------------------------------------------------------------------------
-r1035 | nadvornik | 2008-07-27 00:36:58 +0200 (Sun, 27 Jul 2008) | 2 lines
-
-fixed spec file
-
-------------------------------------------------------------------------
-r1034 | nadvornik | 2008-07-27 00:26:08 +0200 (Sun, 27 Jul 2008) | 2 lines
-
-fixed invalid warning on running editors
-
-------------------------------------------------------------------------
-r1033 | nadvornik | 2008-07-26 22:34:24 +0200 (Sat, 26 Jul 2008) | 2 lines
-
-updated version string
-
-------------------------------------------------------------------------
-r1032 | nadvornik | 2008-07-26 22:15:00 +0200 (Sat, 26 Jul 2008) | 3 lines
-
-dropped references to OpenOffice.org as suggested at
-https://sourceforge.net/tracker/index.php?func=detail&aid=1972534&group_id=222125&atid=1054680
-
-------------------------------------------------------------------------
-r1031 | nadvornik | 2008-07-26 22:02:20 +0200 (Sat, 26 Jul 2008) | 2 lines
-
-string cleanup
-
-------------------------------------------------------------------------
-r1030 | nadvornik | 2008-07-26 21:52:40 +0200 (Sat, 26 Jul 2008) | 2 lines
-
-removed unused messages.desc_dlist
-
-------------------------------------------------------------------------
-r1029 | nadvornik | 2008-07-26 21:41:46 +0200 (Sat, 26 Jul 2008) | 2 lines
-
-fixed new folder command
-
-------------------------------------------------------------------------
-r1028 | nadvornik | 2008-07-26 21:33:36 +0200 (Sat, 26 Jul 2008) | 2 lines
-
-fixed renaming of directories
-
-------------------------------------------------------------------------
-r1027 | nadvornik | 2008-07-26 21:01:20 +0200 (Sat, 26 Jul 2008) | 2 lines
-
-warn about changed file extensions
-
-------------------------------------------------------------------------
-r1026 | nadvornik | 2008-07-26 20:33:49 +0200 (Sat, 26 Jul 2008) | 2 lines
-
-added icon for changes without warnings
-
-------------------------------------------------------------------------
-r1025 | nadvornik | 2008-07-26 20:17:56 +0200 (Sat, 26 Jul 2008) | 3 lines
-
-allow only existing folders in destination dialog
-http://sourceforge.net/tracker/index.php?func=detail&aid=2011243&group_id=222125&atid=1054680
-
-------------------------------------------------------------------------
-r1024 | nadvornik | 2008-07-26 12:27:41 +0200 (Sat, 26 Jul 2008) | 2 lines
-
-clean up - checks are handled elsewhere
-
-------------------------------------------------------------------------
-r1023 | nadvornik | 2008-07-26 11:58:25 +0200 (Sat, 26 Jul 2008) | 2 lines
-
-more checks for file operations
-
-------------------------------------------------------------------------
-r1022 | nadvornik | 2008-07-26 00:04:55 +0200 (Sat, 26 Jul 2008) | 2 lines
-
-improved error reporting
-
-------------------------------------------------------------------------
-r1021 | zas_ | 2008-07-25 08:35:35 +0200 (Fri, 25 Jul 2008) | 2 lines
-
-Minor tidy up and optimization.
-
-------------------------------------------------------------------------
-r1020 | zas_ | 2008-07-24 22:24:04 +0200 (Thu, 24 Jul 2008) | 6 lines
-
-Set GIO channels to binary encoding.
-This is needed since messages from commands may not be UTF8-encoded
-and g_io_channel_read_chars() may incorrectly interpret some characters.
-In practice it was truncating some ISO-8859-1 messages containing some
-french characters. This fixes it.
-
-------------------------------------------------------------------------
-r1019 | nadvornik | 2008-07-24 22:03:57 +0200 (Thu, 24 Jul 2008) | 3 lines
-
-separated debugging log and debug CFLAGS
-enable debugging log support by default
-
-------------------------------------------------------------------------
-r1018 | nadvornik | 2008-07-24 00:19:16 +0200 (Thu, 24 Jul 2008) | 2 lines
-
-indicate check warnings and errors in delete and rename dialogs
-
-------------------------------------------------------------------------
-r1017 | nadvornik | 2008-07-23 22:53:05 +0200 (Wed, 23 Jul 2008) | 3 lines
-
-removed file_data_add_change_info
-reduced code redundancy - patch by Laurent, slightly modified
-
-------------------------------------------------------------------------
-r1016 | zas_ | 2008-07-23 19:38:04 +0200 (Wed, 23 Jul 2008) | 2 lines
-
-Minor tidy up.
-
-------------------------------------------------------------------------
-r1015 | zas_ | 2008-07-23 14:46:35 +0200 (Wed, 23 Jul 2008) | 2 lines
-
-Tidy up.
-
-------------------------------------------------------------------------
-r1014 | zas_ | 2008-07-23 14:45:59 +0200 (Wed, 23 Jul 2008) | 2 lines
-
-Use g_strconcat() instead of g_strdup_printf("%s%s", ...).
-
-------------------------------------------------------------------------
-r1013 | zas_ | 2008-07-23 12:21:37 +0200 (Wed, 23 Jul 2008) | 2 lines
-
-Simplify parse_out_relatives().
-
-------------------------------------------------------------------------
-r1012 | zas_ | 2008-07-23 11:10:41 +0200 (Wed, 23 Jul 2008) | 2 lines
-
-Tidy up.
-
-------------------------------------------------------------------------
-r1011 | zas_ | 2008-07-23 11:00:38 +0200 (Wed, 23 Jul 2008) | 2 lines
-
-Fix missing newline at end of file.
-
-------------------------------------------------------------------------
-r1010 | zas_ | 2008-07-23 10:59:29 +0200 (Wed, 23 Jul 2008) | 2 lines
-
-Fix warning: passing argument 1 of 'gtk_tree_store_set' from incompatible pointer type
-
-------------------------------------------------------------------------
-r1009 | nadvornik | 2008-07-23 00:05:20 +0200 (Wed, 23 Jul 2008) | 2 lines
-
-do not create duplicate FileData entries
-
-------------------------------------------------------------------------
-r1008 | nadvornik | 2008-07-22 23:46:08 +0200 (Tue, 22 Jul 2008) | 3 lines
-
-basic infrastructure for early error and dangerous operations checking
-it needs more work
-
-------------------------------------------------------------------------
-r1007 | nadvornik | 2008-07-22 20:27:12 +0200 (Tue, 22 Jul 2008) | 2 lines
-
-clean up fd->change on error
-
-------------------------------------------------------------------------
-r1006 | nadvornik | 2008-07-22 20:13:41 +0200 (Tue, 22 Jul 2008) | 3 lines
-
-remove items from file_data_planned_change_hash when the operation is
-canceled
-
-------------------------------------------------------------------------
-r1005 | nadvornik | 2008-07-22 19:57:22 +0200 (Tue, 22 Jul 2008) | 2 lines
-
-fixed stop button in editor dialog
-
-------------------------------------------------------------------------
-r1004 | nadvornik | 2008-07-22 19:40:24 +0200 (Tue, 22 Jul 2008) | 2 lines
-
-delete file_data_planned_change_hash when it is not used
-
-------------------------------------------------------------------------
-r1003 | nadvornik | 2008-07-21 23:38:26 +0200 (Mon, 21 Jul 2008) | 3 lines
-
-fixed
-http://sourceforge.net/tracker/index.php?func=detail&aid=2019012&group_id=222125&atid=1054680
-
-------------------------------------------------------------------------
-r1002 | nadvornik | 2008-07-21 22:50:24 +0200 (Mon, 21 Jul 2008) | 2 lines
-
-file_util_rename_dir should not return anything
-
-------------------------------------------------------------------------
-r1001 | nadvornik | 2008-07-21 22:40:29 +0200 (Mon, 21 Jul 2008) | 2 lines
-
-added notification handler to view_dir
-
-------------------------------------------------------------------------
-r1000 | zas_ | 2008-07-21 10:31:43 +0200 (Mon, 21 Jul 2008) | 2 lines
-
-French translation was updated.
-
-------------------------------------------------------------------------
-r999 | zas_ | 2008-07-20 17:21:06 +0200 (Sun, 20 Jul 2008) | 2 lines
-
-Update POTFILES.in.
-
-------------------------------------------------------------------------
-r998 | zas_ | 2008-07-20 17:16:05 +0200 (Sun, 20 Jul 2008) | 2 lines
-
-Move uri_*() functions to separate files: uri_utils.[ch]
-
-------------------------------------------------------------------------
-r997 | nadvornik | 2008-07-20 17:04:40 +0200 (Sun, 20 Jul 2008) | 1 line
-
-periodic testing of changed files can be now disabled
-------------------------------------------------------------------------
-r996 | zas_ | 2008-07-20 16:56:32 +0200 (Sun, 20 Jul 2008) | 3 lines
-
-Move history_list_*() functions to separate files:
-history_list.c and history_list.h.
-
-------------------------------------------------------------------------
-r995 | nadvornik | 2008-07-20 16:52:00 +0200 (Sun, 20 Jul 2008) | 2 lines
-
-implemented "create directory" command
-
-------------------------------------------------------------------------
-r994 | nadvornik | 2008-07-20 15:59:55 +0200 (Sun, 20 Jul 2008) | 2 lines
-
-fixed file copy/move dialog
-
-------------------------------------------------------------------------
-r993 | nadvornik | 2008-07-20 15:19:22 +0200 (Sun, 20 Jul 2008) | 5 lines
-
-fixed the case when a renamed file is detected by directory scanning
-before the external rename commands exits. We have to update the
-FileData structure immediately, othervise we would get duplicate
-entries.
-
-------------------------------------------------------------------------
-r992 | zas_ | 2008-07-20 14:20:12 +0200 (Sun, 20 Jul 2008) | 2 lines
-
-Optimize history_list_add_to_key() a bit.
-
-------------------------------------------------------------------------
-r991 | nadvornik | 2008-07-20 13:29:12 +0200 (Sun, 20 Jul 2008) | 2 lines
-
-fixed previous checkin
-
-------------------------------------------------------------------------
-r990 | nadvornik | 2008-07-20 13:22:19 +0200 (Sun, 20 Jul 2008) | 2 lines
-
-implemented directory rename and delete operations
-
-------------------------------------------------------------------------
-r989 | zas_ | 2008-07-20 09:52:16 +0200 (Sun, 20 Jul 2008) | 2 lines
-
-Move out test outside the loop.
-
-------------------------------------------------------------------------
-r988 | zas_ | 2008-07-19 15:57:03 +0200 (Sat, 19 Jul 2008) | 2 lines
-
-Tidy up.
-
-------------------------------------------------------------------------
-r987 | zas_ | 2008-07-19 14:36:46 +0200 (Sat, 19 Jul 2008) | 2 lines
-
-Fix missing newline at end of file.
-
-------------------------------------------------------------------------
-r986 | nadvornik | 2008-07-19 11:06:24 +0200 (Sat, 19 Jul 2008) | 2 lines
-
-increase reference count before sending notification in file_data_new
-
-------------------------------------------------------------------------
-r985 | nadvornik | 2008-07-18 23:20:49 +0200 (Fri, 18 Jul 2008) | 2 lines
-
-fixed test for changed files in cache
-
-------------------------------------------------------------------------
-r984 | zas_ | 2008-07-18 11:55:15 +0200 (Fri, 18 Jul 2008) | 2 lines
-
-Introduce image_loader_set_done_func().
-
-------------------------------------------------------------------------
-r983 | zas_ | 2008-07-18 00:36:58 +0200 (Fri, 18 Jul 2008) | 2 lines
-
-Reduce code redundancy by moving common code to new menu_choice_get_match_type().
-
-------------------------------------------------------------------------
-r982 | nadvornik | 2008-07-17 23:51:21 +0200 (Thu, 17 Jul 2008) | 2 lines
-
-reload changed images
-
-------------------------------------------------------------------------
-r981 | zas_ | 2008-07-15 17:37:14 +0200 (Tue, 15 Jul 2008) | 2 lines
-
-Move code from image_osd_update_cb() to separate functions.
-
-------------------------------------------------------------------------
-r980 | zas_ | 2008-07-15 16:32:00 +0200 (Tue, 15 Jul 2008) | 2 lines
-
-Tidy up and code redundancy reduction.
-
-------------------------------------------------------------------------
-r979 | zas_ | 2008-07-15 14:52:02 +0200 (Tue, 15 Jul 2008) | 4 lines
-
-Use a specific enum for image.zoom_mode values (ZoomMode) and
-simplify calls to image_zoom_get_default(), dropping last parameter
-which was always options->image.zoom_mode.
-
-------------------------------------------------------------------------
-r978 | zas_ | 2008-07-13 16:50:07 +0200 (Sun, 13 Jul 2008) | 9 lines
-
-Improve ways to specify html browser (used for help, see bug 2015099).
-Two new rc file options were added:
-- helpers.html_browser.command_name
-- helpers.html_browser.command_line
-These are checked first before trying common browser locations.
-If these do not lead to a valid browser, then geeqie will
-search for geeqie_html_browser script in the path, then
-it will try various common browsers.
-
-------------------------------------------------------------------------
-r977 | zas_ | 2008-07-13 15:51:23 +0200 (Sun, 13 Jul 2008) | 2 lines
-
-Apply debian-specific patch to launch help browser (bug 2015099).
-
-------------------------------------------------------------------------
-r976 | zas_ | 2008-07-13 14:36:18 +0200 (Sun, 13 Jul 2008) | 3 lines
-
-Fix a segfault occuring when opening some collection files.
-Skip all lines not starting with a # when only geometry is required.
-
-------------------------------------------------------------------------
-r975 | zas_ | 2008-07-05 12:21:09 +0200 (Sat, 05 Jul 2008) | 2 lines
-
-Prevent segfault in certain conditions when displaying debug message.
-
-------------------------------------------------------------------------
-r974 | zas_ | 2008-07-05 00:49:04 +0200 (Sat, 05 Jul 2008) | 2 lines
-
-French translation was updated.
-
-------------------------------------------------------------------------
-r973 | zas_ | 2008-07-04 22:32:48 +0200 (Fri, 04 Jul 2008) | 3 lines
-
-Optimize a bit when connected zoom and scrolling are unset,
-just move the test outside loops.
-
-------------------------------------------------------------------------
-r972 | zas_ | 2008-07-04 19:21:07 +0200 (Fri, 04 Jul 2008) | 2 lines
-
-layout_color_button_press_cb(): tidy up, drop useless memory allocations, improve i18n.
-
-------------------------------------------------------------------------
-r971 | nadvornik | 2008-07-03 22:16:15 +0200 (Thu, 03 Jul 2008) | 2 lines
-
-refresh thumbnails on file change
-
-------------------------------------------------------------------------
-r970 | nadvornik | 2008-07-03 21:38:19 +0200 (Thu, 03 Jul 2008) | 2 lines
-
-set fallback thumbnail pixbuf only if the loading really fails
-
-------------------------------------------------------------------------
-r969 | zas_ | 2008-07-03 20:16:39 +0200 (Thu, 03 Jul 2008) | 4 lines
-
-Fix missing references for the current directory in pan folder stuff.
-It was causing an fd magick assertion failure.
-Bug reported by Omari Stephens.
-
-------------------------------------------------------------------------
-r968 | zas_ | 2008-07-03 10:33:10 +0200 (Thu, 03 Jul 2008) | 4 lines
-
-Increase debugging info in file_data_ref() and file_data_unref().
-When compiled with DEBUG defined, file and line of the caller is displayed
-in debug log.
-
-------------------------------------------------------------------------
-r967 | zas_ | 2008-07-02 10:38:47 +0200 (Wed, 02 Jul 2008) | 5 lines
-
-Optimize file_cache_get() by only moving element to front if needed
-(most of the time there is no need).
-Reduce code redundancy in file_cache_put() by calling file_cache_get().
-Enhance debugging code.
-
-------------------------------------------------------------------------
-r966 | nadvornik | 2008-06-30 23:08:28 +0200 (Mon, 30 Jun 2008) | 2 lines
-
-fixed division by zero in pixbuf_renderer_get_scroll_center
-
-------------------------------------------------------------------------
-r965 | zas_ | 2008-06-29 17:51:54 +0200 (Sun, 29 Jun 2008) | 4 lines
-
-Merge thumb_loader_save_to_cache() and thumb_loader_mark_failure()
-into thumb_loader_save_thumbnail().
-Most of the code was redundant.
-
-------------------------------------------------------------------------
-r964 | zas_ | 2008-06-29 12:11:43 +0200 (Sun, 29 Jun 2008) | 3 lines
-
-Make better matching between options types in options.h and the rest of the code.
-Most changes are from gint to gboolean pseudo type and between gint / guint.
-
-------------------------------------------------------------------------
-r963 | zas_ | 2008-06-28 10:01:36 +0200 (Sat, 28 Jun 2008) | 2 lines
-
-layout_image_drag_cb(): optimize when connected scrolling is unset.
-
-------------------------------------------------------------------------
-r962 | zas_ | 2008-06-28 09:43:37 +0200 (Sat, 28 Jun 2008) | 2 lines
-
-Reduce number of parameters (mostly unused), just pass the event pointer.
-
-------------------------------------------------------------------------
-r961 | zas_ | 2008-06-28 02:44:31 +0200 (Sat, 28 Jun 2008) | 3 lines
-
-Fix warning:
-thumb.c:31: warning : 'normalize_thumb' declared 'static' but never defined
-
-------------------------------------------------------------------------
-r960 | zas_ | 2008-06-28 00:57:48 +0200 (Sat, 28 Jun 2008) | 3 lines
-
-image_osd_mkinfo(): pipe replacement by " - " separator was fixed to work correctly with
-empty first element.
-
-------------------------------------------------------------------------
-r959 | nadvornik | 2008-06-27 23:35:21 +0200 (Fri, 27 Jun 2008) | 3 lines
-
-do not read keywords and comment between exif_read_fd and exif_free_fd
-calls (fd->exif does not have reference counting)
-
-------------------------------------------------------------------------
-r958 | nadvornik | 2008-06-27 23:09:15 +0200 (Fri, 27 Jun 2008) | 3 lines
-
-added pixbuf_fallback function
-fixed thumb loader for non-image files
-
-------------------------------------------------------------------------
-r957 | nadvornik | 2008-06-27 20:43:05 +0200 (Fri, 27 Jun 2008) | 2 lines
-
-fixed crash in entering fullscreen during loading
-
-------------------------------------------------------------------------
-r956 | zas_ | 2008-06-27 12:00:55 +0200 (Fri, 27 Jun 2008) | 2 lines
-
-osd_template_insert(): optimize and simplify using flags.
-
-------------------------------------------------------------------------
-r955 | zas_ | 2008-06-27 10:05:51 +0200 (Fri, 27 Jun 2008) | 3 lines
-
-image_osd_info_render(): ensure values are always escaped before using pango_layout_set_markup().
-Two helper functions were added: osd_template_insert() and osd_template_insert_and_free().
-
-------------------------------------------------------------------------
-r954 | zas_ | 2008-06-27 01:29:08 +0200 (Fri, 27 Jun 2008) | 2 lines
-
-image_osd_info_render(): code cleanup and simplification, drop some useless memory allocations.
-
-------------------------------------------------------------------------
-r953 | zas_ | 2008-06-26 17:59:20 +0200 (Thu, 26 Jun 2008) | 2 lines
-
-Use flags for pr_zoom_*() functions.
-
-------------------------------------------------------------------------
-r952 | zas_ | 2008-06-26 16:43:52 +0200 (Thu, 26 Jun 2008) | 2 lines
-
-Use stricter types for image options.
-
-------------------------------------------------------------------------
-r951 | zas_ | 2008-06-26 14:23:48 +0200 (Thu, 26 Jun 2008) | 2 lines
-
-Use flags instead of int parameters for pixbuf_renderer_overlay_add().
-
-------------------------------------------------------------------------
-r950 | zas_ | 2008-06-26 13:48:40 +0200 (Thu, 26 Jun 2008) | 3 lines
-
-Only define ExifOrientationType if GQ_BUILD is not defined since
-it is already defined in exif.h.
-
-------------------------------------------------------------------------
-r949 | zas_ | 2008-06-25 22:53:52 +0200 (Wed, 25 Jun 2008) | 2 lines
-
-Tidy up.
-
-------------------------------------------------------------------------
-r948 | zas_ | 2008-06-25 22:22:02 +0200 (Wed, 25 Jun 2008) | 2 lines
-
-French translation was updated.
-
-------------------------------------------------------------------------
-r947 | nadvornik | 2008-06-22 22:07:32 +0200 (Sun, 22 Jun 2008) | 2 lines
-
-optimized marks drawing
-
-------------------------------------------------------------------------
-r946 | nadvornik | 2008-06-22 22:01:20 +0200 (Sun, 22 Jun 2008) | 2 lines
-
-show marks in iconview
-
-------------------------------------------------------------------------
-r945 | nadvornik | 2008-06-22 12:01:26 +0200 (Sun, 22 Jun 2008) | 2 lines
-
-show sidecars in icon view
-
-------------------------------------------------------------------------
-r944 | nadvornik | 2008-06-22 11:40:57 +0200 (Sun, 22 Jun 2008) | 2 lines
-
-fixed in-place renaming
-
-------------------------------------------------------------------------
-r943 | nadvornik | 2008-06-22 11:19:42 +0200 (Sun, 22 Jun 2008) | 2 lines
-
-added possibility to disable grouping of selected files
-
-------------------------------------------------------------------------
-r942 | nadvornik | 2008-06-22 00:01:45 +0200 (Sun, 22 Jun 2008) | 2 lines
-
-cache size made configurable
-
-------------------------------------------------------------------------
-r941 | nadvornik | 2008-06-21 21:26:01 +0200 (Sat, 21 Jun 2008) | 2 lines
-
-measure pixbuf cache size in bytes
-
-------------------------------------------------------------------------
-r940 | nadvornik | 2008-06-21 18:00:13 +0200 (Sat, 21 Jun 2008) | 2 lines
-
-simple cache for loaded pixbufs
-
-------------------------------------------------------------------------
-r939 | nadvornik | 2008-06-21 13:05:55 +0200 (Sat, 21 Jun 2008) | 2 lines
-
-renamed fd->pixbuf to fd->thumb_pixbuf
-
-------------------------------------------------------------------------
-r938 | nadvornik | 2008-06-19 00:26:52 +0200 (Thu, 19 Jun 2008) | 3 lines
-
-implemented generic FileData cache
-use it for caching decoded exif data
-
-------------------------------------------------------------------------
-r937 | nadvornik | 2008-06-17 22:25:05 +0200 (Tue, 17 Jun 2008) | 2 lines
-
-more robust thumbs progress bar
-
-------------------------------------------------------------------------
-r936 | nadvornik | 2008-06-17 21:56:21 +0200 (Tue, 17 Jun 2008) | 2 lines
-
-do not allocate new buffer for thumbnails with correct orientation
-
-------------------------------------------------------------------------
-r935 | nadvornik | 2008-06-16 21:07:02 +0200 (Mon, 16 Jun 2008) | 2 lines
-
-fixed memory leak
-
-------------------------------------------------------------------------
-r934 | nadvornik | 2008-06-16 20:37:35 +0200 (Mon, 16 Jun 2008) | 2 lines
-
-another try to free layout at exit
-
-------------------------------------------------------------------------
-r933 | nadvornik | 2008-06-15 23:52:15 +0200 (Sun, 15 Jun 2008) | 2 lines
-
-rotate thumbnails by exif
-
-------------------------------------------------------------------------
-r932 | nadvornik | 2008-06-15 22:09:15 +0200 (Sun, 15 Jun 2008) | 2 lines
-
-use FileData in thumb_loader
-
-------------------------------------------------------------------------
-r931 | nadvornik | 2008-06-14 23:49:48 +0200 (Sat, 14 Jun 2008) | 2 lines
-
-use GtkSizeGroup to control initial size of split images
-
-------------------------------------------------------------------------
-r930 | nadvornik | 2008-06-14 20:41:30 +0200 (Sat, 14 Jun 2008) | 2 lines
-
-preserve image center on refresh
-
-------------------------------------------------------------------------
-r929 | nadvornik | 2008-06-14 20:33:40 +0200 (Sat, 14 Jun 2008) | 4 lines
-
-use multiline description in vflist with large thumbnails
-always display marks in the first column
-show expander in "name" column
-
-------------------------------------------------------------------------
-r928 | nadvornik | 2008-06-14 19:32:27 +0200 (Sat, 14 Jun 2008) | 2 lines
-
-join name and sidecars to one string
-
-------------------------------------------------------------------------
-r927 | nadvornik | 2008-06-14 19:14:28 +0200 (Sat, 14 Jun 2008) | 2 lines
-
-optimized vflist_setup_iter_recursive
-
-------------------------------------------------------------------------
-r926 | nadvornik | 2008-06-14 14:43:39 +0200 (Sat, 14 Jun 2008) | 2 lines
-
-iconlist_refresh optimization
-
-------------------------------------------------------------------------
-r925 | nadvornik | 2008-06-14 14:30:44 +0200 (Sat, 14 Jun 2008) | 2 lines
-
-fixed iconview update after deletion of selected image
-
-------------------------------------------------------------------------
-r924 | zas_ | 2008-06-14 08:52:52 +0200 (Sat, 14 Jun 2008) | 2 lines
-
-Silent unused variable warning.
-
-------------------------------------------------------------------------
-r923 | nadvornik | 2008-06-13 23:32:58 +0200 (Fri, 13 Jun 2008) | 2 lines
-
-optimized vflist_setup_iter
-
-------------------------------------------------------------------------
-r922 | zas_ | 2008-06-13 15:33:11 +0200 (Fri, 13 Jun 2008) | 2 lines
-
-French translation was updated.
-
-------------------------------------------------------------------------
-r921 | zas_ | 2008-06-13 14:27:41 +0200 (Fri, 13 Jun 2008) | 5 lines
-
-Revert patches 759 and 760.
-759 patch broke adding selection of files through sort manager
-to an unopened collection.
-
-
-------------------------------------------------------------------------
-r920 | zas_ | 2008-06-13 13:51:23 +0200 (Fri, 13 Jun 2008) | 2 lines
-
-Display total size of files in collection window, for the list and for the selection.
-
-------------------------------------------------------------------------
-r919 | zas_ | 2008-06-13 13:11:57 +0200 (Fri, 13 Jun 2008) | 4 lines
-
-Optionnally display directory's date in list view.
-It can be set through Preferences > Advanced > Behavior and
-is saved to rc file as layout.show_directory_date option.
-
-------------------------------------------------------------------------
-r918 | zas_ | 2008-06-13 00:43:32 +0200 (Fri, 13 Jun 2008) | 7 lines
-
-load_options_from():
-- do not copy option name and value anywhere, only copy value_all to a separate buffer
-- allow more relaxed syntax on read, so we can correctly read option name and value
-  even if user made some errors like replacing ':' by '=' or inserting a space before ':'.
-- minor aesthetical changes
-
-
-------------------------------------------------------------------------
-r917 | zas_ | 2008-06-12 23:21:32 +0200 (Thu, 12 Jun 2008) | 2 lines
-
-Add a comment about relative positions of image overlay in the rc file. 
-
-------------------------------------------------------------------------
-r916 | zas_ | 2008-06-12 22:33:51 +0200 (Thu, 12 Jun 2008) | 6 lines
-
-Allow to set image overlay info position through options:
-- image_overlay.common.x
-- image_overlay.common.y
-
-For now, there are only editable through rc file.
-
-------------------------------------------------------------------------
-r915 | zas_ | 2008-06-12 22:17:22 +0200 (Thu, 12 Jun 2008) | 6 lines
-
-Move some functions from image.[ch] to image-overlay.c and make them static:
-- image_overlay_add()
-- image_overlay_set()
-- image_overlay_remove()
-- image_overlay_get() (unused)
-
-------------------------------------------------------------------------
-r914 | nadvornik | 2008-06-12 20:30:33 +0200 (Thu, 12 Jun 2008) | 2 lines
-
-reverted changes in layout_close made in rev. 890 and 901  
-
-------------------------------------------------------------------------
-r913 | nadvornik | 2008-06-10 21:25:21 +0200 (Tue, 10 Jun 2008) | 2 lines
-
-fixed vdtree_sort_cb
-
-------------------------------------------------------------------------
-r912 | nadvornik | 2008-06-10 20:39:19 +0200 (Tue, 10 Jun 2008) | 2 lines
-
-fixed segfault in vd_rename_cb
-
-------------------------------------------------------------------------
-r911 | nadvornik | 2008-06-10 20:19:17 +0200 (Tue, 10 Jun 2008) | 2 lines
-
-dropped vficon_sync, use vficon_refresh everywhere
-
-------------------------------------------------------------------------
-r910 | zas_ | 2008-06-10 13:55:18 +0200 (Tue, 10 Jun 2008) | 2 lines
-
-collection_from_dnd_data(): simplify and optimize.
-
-------------------------------------------------------------------------
-r909 | zas_ | 2008-06-10 13:27:35 +0200 (Tue, 10 Jun 2008) | 2 lines
-
-collection_info_list_to_dnd_data(): simplify and optimize.
-
-------------------------------------------------------------------------
-r908 | nadvornik | 2008-06-09 22:27:39 +0200 (Mon, 09 Jun 2008) | 2 lines
-
-moved notification to view_file.c
-
-------------------------------------------------------------------------
-r907 | nadvornik | 2008-06-09 21:43:56 +0200 (Mon, 09 Jun 2008) | 2 lines
-
-run idle function just once
-
-------------------------------------------------------------------------
-r906 | nadvornik | 2008-06-09 21:41:37 +0200 (Mon, 09 Jun 2008) | 2 lines
-
-use vficon_refresh for updating
-
-------------------------------------------------------------------------
-r905 | nadvornik | 2008-06-09 21:00:47 +0200 (Mon, 09 Jun 2008) | 2 lines
-
-handle deletion of selected files
-
-------------------------------------------------------------------------
-r904 | nadvornik | 2008-06-09 20:28:28 +0200 (Mon, 09 Jun 2008) | 2 lines
-
-optimized vficon_refresh_real
-
-------------------------------------------------------------------------
-r903 | zas_ | 2008-06-09 12:10:34 +0200 (Mon, 09 Jun 2008) | 2 lines
-
-Minor fixes and add a note about variable declaration.
-
-------------------------------------------------------------------------
-r902 | zas_ | 2008-06-09 09:14:46 +0200 (Mon, 09 Jun 2008) | 2 lines
-
-Use unsigned type for marks since it is used as a bitfield.
-
-------------------------------------------------------------------------
-r901 | nadvornik | 2008-06-09 09:06:53 +0200 (Mon, 09 Jun 2008) | 2 lines
-
-fixed saving options on exit
-
-------------------------------------------------------------------------
-r900 | zas_ | 2008-06-09 01:42:51 +0200 (Mon, 09 Jun 2008) | 2 lines
-
-Tidy up: add/remove white lines, minor code changes.
-
-------------------------------------------------------------------------
-r899 | nadvornik | 2008-06-08 23:21:13 +0200 (Sun, 08 Jun 2008) | 2 lines
-
-improved vficon_populate
-
-------------------------------------------------------------------------
-r898 | nadvornik | 2008-06-08 22:24:46 +0200 (Sun, 08 Jun 2008) | 2 lines
-
-vficon_sync speed-up
-
-------------------------------------------------------------------------
-r897 | nadvornik | 2008-06-08 21:09:44 +0200 (Sun, 08 Jun 2008) | 2 lines
-
-better check for notify type
-
-------------------------------------------------------------------------
-r896 | nadvornik | 2008-06-08 11:25:39 +0200 (Sun, 08 Jun 2008) | 2 lines
-
-fixed switching thumbnails in listview on and off - bug 1984825
-
-------------------------------------------------------------------------
-r895 | nadvornik | 2008-06-08 00:44:17 +0200 (Sun, 08 Jun 2008) | 2 lines
-
-various refresh and notification fixes
-
-------------------------------------------------------------------------
-r894 | nadvornik | 2008-06-07 17:08:33 +0200 (Sat, 07 Jun 2008) | 2 lines
-
-various notification improvements
-
-------------------------------------------------------------------------
-r893 | nadvornik | 2008-06-07 12:45:33 +0200 (Sat, 07 Jun 2008) | 2 lines
-
-use the new notification for collections
-
-------------------------------------------------------------------------
-r892 | zas_ | 2008-06-07 12:18:30 +0200 (Sat, 07 Jun 2008) | 3 lines
-
-Display Lirc state in config log.
-Re-organize the config log a bit.
-
-------------------------------------------------------------------------
-r891 | nadvornik | 2008-06-07 11:36:12 +0200 (Sat, 07 Jun 2008) | 2 lines
-
-use new notification in img-view
-
-------------------------------------------------------------------------
-r890 | nadvornik | 2008-06-07 11:10:01 +0200 (Sat, 07 Jun 2008) | 2 lines
-
-use new notification in layout and layout_image
-
-------------------------------------------------------------------------
-r889 | nadvornik | 2008-06-07 10:13:22 +0200 (Sat, 07 Jun 2008) | 2 lines
-
-used new notification in search.c
-
-------------------------------------------------------------------------
-r888 | nadvornik | 2008-06-07 09:45:08 +0200 (Sat, 07 Jun 2008) | 2 lines
-
-used new notification in dupe.c
-
-------------------------------------------------------------------------
-r887 | nadvornik | 2008-06-07 00:34:15 +0200 (Sat, 07 Jun 2008) | 2 lines
-
-used new notification in cache_maint
-
-------------------------------------------------------------------------
-r886 | nadvornik | 2008-06-07 00:11:03 +0200 (Sat, 07 Jun 2008) | 2 lines
-
-added NotifyType
-
-------------------------------------------------------------------------
-r885 | nadvornik | 2008-06-06 23:50:09 +0200 (Fri, 06 Jun 2008) | 2 lines
-
-realtime file monitor
-
-------------------------------------------------------------------------
-r884 | nadvornik | 2008-06-06 22:59:03 +0200 (Fri, 06 Jun 2008) | 2 lines
-
-zero-lenght path must be allowed for now
-
-------------------------------------------------------------------------
-r883 | zas_ | 2008-06-06 10:01:19 +0200 (Fri, 06 Jun 2008) | 2 lines
-
-French translation was updated.
-
-------------------------------------------------------------------------
-r882 | zas_ | 2008-06-06 01:31:22 +0200 (Fri, 06 Jun 2008) | 2 lines
-
-Fix "No newline at end of file" warning.
-
-------------------------------------------------------------------------
-r881 | nadvornik | 2008-06-05 20:43:44 +0200 (Thu, 05 Jun 2008) | 2 lines
-
-use new notification in vficon
-
-------------------------------------------------------------------------
-r880 | zas_ | 2008-06-05 11:24:42 +0200 (Thu, 05 Jun 2008) | 3 lines
-
-Compare paths using utf8_collate_key() since paths are utf8-encoded.
-It fixes bug 1959854.
-
-------------------------------------------------------------------------
-r879 | zas_ | 2008-06-05 10:41:02 +0200 (Thu, 05 Jun 2008) | 6 lines
-
-Use uft8_collate_key() to sort utf8 strings.
-Modify file_data_set_path() to sync collate keys and file_data_pool
-on path change.
-
-Partially fix bug 1959854.
-
-------------------------------------------------------------------------
-r878 | nadvornik | 2008-06-04 23:12:47 +0200 (Wed, 04 Jun 2008) | 2 lines
-
-new notification system (used only in vflist for now)
-
-------------------------------------------------------------------------
-r877 | nadvornik | 2008-06-03 21:44:19 +0200 (Tue, 03 Jun 2008) | 2 lines
-
-replaced directory path with FileData* dir_fd
-
-------------------------------------------------------------------------
-r876 | zas_ | 2008-06-03 17:54:05 +0200 (Tue, 03 Jun 2008) | 4 lines
-
-Allow to modify the aspect of Geeqie through the use of a
-gtkrc file that may be present in the geeqie rc directory.
-Patch by Aldric RENAUDIN and me.
-
-------------------------------------------------------------------------
-r875 | zas_ | 2008-06-03 15:54:22 +0200 (Tue, 03 Jun 2008) | 2 lines
-
-Replace hardcoded collection filename extension by a macro (GQ_COLLECTION_EXT).
-
-------------------------------------------------------------------------
-r874 | zas_ | 2008-06-03 13:24:16 +0200 (Tue, 03 Jun 2008) | 2 lines
-
-Drop initialization to NULL since filelist_read() will take care of it.
-
-------------------------------------------------------------------------
-r873 | zas_ | 2008-06-03 11:41:00 +0200 (Tue, 03 Jun 2008) | 2 lines
-
-filelist_read_real(): optimize and clean up.
-
-------------------------------------------------------------------------
-r872 | zas_ | 2008-06-03 11:03:33 +0200 (Tue, 03 Jun 2008) | 2 lines
-
-Reduce indentation level.
-
-------------------------------------------------------------------------
-r871 | zas_ | 2008-06-03 10:57:46 +0200 (Tue, 03 Jun 2008) | 2 lines
-
-Reduce indentation level.
-
-------------------------------------------------------------------------
-r870 | zas_ | 2008-06-03 10:53:53 +0200 (Tue, 03 Jun 2008) | 2 lines
-
-collection_table_find_data_by_coord(): tidy up.
-
-------------------------------------------------------------------------
-r869 | zas_ | 2008-06-03 09:37:24 +0200 (Tue, 03 Jun 2008) | 3 lines
-
-vflist_maint(): only allocate memory and compare strings if needed.
-
-
-------------------------------------------------------------------------
-r868 | zas_ | 2008-06-03 09:32:13 +0200 (Tue, 03 Jun 2008) | 3 lines
-
-layout_real_renamed(), layout_real_removed(), layout_real_moved():
-simplify code.
-
-------------------------------------------------------------------------
-r867 | nadvornik | 2008-05-31 21:46:26 +0200 (Sat, 31 May 2008) | 2 lines
-
-do not change original FileData on copy
-
-------------------------------------------------------------------------
-r866 | nadvornik | 2008-05-31 21:44:41 +0200 (Sat, 31 May 2008) | 3 lines
-
-replaced vflist_maint functions by vflist_refresh - it allows to follow 
-changes made by external editors more precisely
-
-------------------------------------------------------------------------
-r865 | nadvornik | 2008-05-30 23:41:46 +0200 (Fri, 30 May 2008) | 2 lines
-
-vflist_populate_view: better handle selected files that are renamed or deleted
-
-------------------------------------------------------------------------
-r864 | nadvornik | 2008-05-30 22:13:16 +0200 (Fri, 30 May 2008) | 2 lines
-
-fixed thumb index (thumbnails are shown again)
-
-------------------------------------------------------------------------
-r863 | nadvornik | 2008-05-30 21:53:52 +0200 (Fri, 30 May 2008) | 2 lines
-
-simplified vflist_populate_view
-
-------------------------------------------------------------------------
-r862 | zas_ | 2008-05-30 10:39:52 +0200 (Fri, 30 May 2008) | 4 lines
-
-Use functions to set editors name and command and ensure they are
-utf8-encoded.
-Previously, non-utf8 strings from rc file caused some issues. 
-
-------------------------------------------------------------------------
-r861 | zas_ | 2008-05-30 10:36:23 +0200 (Fri, 30 May 2008) | 2 lines
-
-Make utf8_validate_or_convert() to always allocate a new string.
-
-------------------------------------------------------------------------
-r860 | zas_ | 2008-05-30 09:20:25 +0200 (Fri, 30 May 2008) | 2 lines
-
-Check for existing editor command using is_valid_editor_command().
-
-------------------------------------------------------------------------
-r859 | zas_ | 2008-05-29 09:58:34 +0200 (Thu, 29 May 2008) | 4 lines
-
-Preserve properties window width and height during session even when
-layout.save_window_positions is not set.
-It restores the pre revision 858 behavior.
-
-------------------------------------------------------------------------
-r858 | zas_ | 2008-05-29 09:52:05 +0200 (Thu, 29 May 2008) | 3 lines
-
-Save properties window width and height to rc file and restore
-them on next session if layout.save_window_positions is set to TRUE.
-
-------------------------------------------------------------------------
-r857 | nadvornik | 2008-05-29 00:12:10 +0200 (Thu, 29 May 2008) | 2 lines
-
-improved infrastructure for tracing changes, optimized vflist_populate_view
-
-------------------------------------------------------------------------
-r856 | nadvornik | 2008-05-27 20:46:34 +0200 (Tue, 27 May 2008) | 2 lines
-
-measure time of filelist update
-
-------------------------------------------------------------------------
-r855 | nadvornik | 2008-05-27 20:37:15 +0200 (Tue, 27 May 2008) | 2 lines
-
-another fix in notification
-
-------------------------------------------------------------------------
-r854 | nadvornik | 2008-05-26 20:32:04 +0200 (Mon, 26 May 2008) | 2 lines
-
-Fix histogram grid - patch by Uwe Ohse
-
-------------------------------------------------------------------------
-r853 | nadvornik | 2008-05-26 20:22:08 +0200 (Mon, 26 May 2008) | 2 lines
-
-use fputs instead of printf - patch by Uwe Ohse
-
-------------------------------------------------------------------------
-r852 | nadvornik | 2008-05-26 19:06:30 +0200 (Mon, 26 May 2008) | 2 lines
-
-fixed bug in notification code
-
-------------------------------------------------------------------------
-r851 | zas_ | 2008-05-25 22:17:07 +0200 (Sun, 25 May 2008) | 2 lines
-
-Tidy up: indentation fixes, typo fixes, ...
-
-------------------------------------------------------------------------
-r850 | zas_ | 2008-05-25 21:54:00 +0200 (Sun, 25 May 2008) | 2 lines
-
-Typo fix.
-
-------------------------------------------------------------------------
-r849 | zas_ | 2008-05-25 21:13:04 +0200 (Sun, 25 May 2008) | 2 lines
-
-Typo fix.
-
-------------------------------------------------------------------------
-r848 | zas_ | 2008-05-25 21:03:30 +0200 (Sun, 25 May 2008) | 2 lines
-
-bar_sort_set_filter_cb(): filter_idx was set as uint so get it as uint.
-
-------------------------------------------------------------------------
-r847 | nadvornik | 2008-05-25 00:44:18 +0200 (Sun, 25 May 2008) | 4 lines
-
-rewritten utilops.h:
-- better integration of external commands
-- filter commands
-
-------------------------------------------------------------------------
-r846 | zas_ | 2008-05-24 22:01:59 +0200 (Sat, 24 May 2008) | 6 lines
-
-Allow to escape star characters in the template string with a \.
-One can insert a \ by escaping it with another \.
-Fix deletion of empty parts when using | trick.
-Append the separator " - " only if data is neither NULL nor empty.
-Patch by Uwe Ohse and Laurent Monin.
-
-------------------------------------------------------------------------
-r845 | nadvornik | 2008-05-24 11:18:09 +0200 (Sat, 24 May 2008) | 2 lines
-
-improved filedata interface
-
-------------------------------------------------------------------------
-r844 | zas_ | 2008-05-24 01:40:12 +0200 (Sat, 24 May 2008) | 3 lines
-
-Fix display of libpthread detection.
-Fix display of lirc support, do not test for headers if disabled.
-
-------------------------------------------------------------------------
-r843 | zas_ | 2008-05-24 01:18:40 +0200 (Sat, 24 May 2008) | 2 lines
-
-Silent few warnings that appeared when using --disable-exiv2 configure option.
-
-------------------------------------------------------------------------
-r842 | zas_ | 2008-05-24 00:57:51 +0200 (Sat, 24 May 2008) | 2 lines
-
-French translation was updated.
-
-------------------------------------------------------------------------
-r841 | zas_ | 2008-05-24 00:55:23 +0200 (Sat, 24 May 2008) | 2 lines
-
-Use the same label for toolbar buttons tooltip than in main menu.
-
-------------------------------------------------------------------------
-r840 | zas_ | 2008-05-23 17:07:30 +0200 (Fri, 23 May 2008) | 6 lines
-
-Add -Wstrict-prototypes to gcc options only in developer mode
-since it clutters the compilation log with unfixable warnings.
-Add -Wall in developer mode to display even more warnings.
-Fix display of --enable-deprecated at end of configure (yes
-and no were inversed).
-
-------------------------------------------------------------------------
-r839 | zas_ | 2008-05-23 14:27:28 +0200 (Fri, 23 May 2008) | 2 lines
-
-slideshow_next(), slideshow_prev(): move code to common slideshow_move(), reducing code redundancy.
-
-------------------------------------------------------------------------
-r838 | zas_ | 2008-05-23 14:19:42 +0200 (Fri, 23 May 2008) | 2 lines
-
-Move code from slideshow_timer_reset() to new slideshow_timer_stop() and simplify calls.
-
-------------------------------------------------------------------------
-r837 | zas_ | 2008-05-23 02:20:56 +0200 (Fri, 23 May 2008) | 9 lines
-
-Try to load a system-wide rc file if any, before per-user rc file.
-For now, system-wide rc file path is set to /etc/geeqie/geeqierc
-(defined by GQ_SYSTEM_WIDE_DIR in main.h).
-filter_parse() was modified to replace entries having the same key,
-needed since it may be called more than once.
-
-Please test heavily.
-
-
-------------------------------------------------------------------------
-r836 | zas_ | 2008-05-23 01:22:12 +0200 (Fri, 23 May 2008) | 2 lines
-
-Pass ConfOptions * to save_options() and load_options().
-
-------------------------------------------------------------------------
-r835 | zas_ | 2008-05-23 01:17:26 +0200 (Fri, 23 May 2008) | 3 lines
-
-Move code from save_options() to new save_options_to() which takes
-the destination path as parameter.
-
-------------------------------------------------------------------------
-r834 | zas_ | 2008-05-23 01:09:53 +0200 (Fri, 23 May 2008) | 4 lines
-
-Move setup_default_options() and sync_options_with_current_state() to options.[ch].
-Pass ConfOptions * to these instead of directly using global variable.
-Cleanup #include in main.c.
-
-------------------------------------------------------------------------
-r833 | zas_ | 2008-05-23 00:49:07 +0200 (Fri, 23 May 2008) | 2 lines
-
-Move code from exit_program_final() to new sync_options_with_current_state().
-
-------------------------------------------------------------------------
-r832 | zas_ | 2008-05-23 00:43:07 +0200 (Fri, 23 May 2008) | 4 lines
-
-Separate path building code from options loading code.
-Most code of load_options() is moved to new load_options_from().
-ExifUIList initialization is moved to setup_default_options().
-
-------------------------------------------------------------------------
-r831 | zas_ | 2008-05-22 22:22:13 +0200 (Thu, 22 May 2008) | 10 lines
-
-Make shell command and its option rc file options instead of hardcoded strings.
-This allows users to modify the shell command that execute "editors".
-Two new options appear in rc file:
-- shell.path (default to "/bin/sh")
-- shell.options (default to "-c")
-
-These options can only be changed from the rc file, not at runtime.
-Tests are made to check that shell.path is not empty and lead to
-an executable file.
-
-------------------------------------------------------------------------
-r830 | zas_ | 2008-05-22 15:00:45 +0200 (Thu, 22 May 2008) | 3 lines
-
-Fix signed vs unsigned warnings.
-In most cases, gint was used instead of guint.
-
-------------------------------------------------------------------------
-r829 | zas_ | 2008-05-22 13:28:35 +0200 (Thu, 22 May 2008) | 2 lines
-
-Comment out unused static function extension_truncate().
-
-------------------------------------------------------------------------
-r828 | zas_ | 2008-05-22 13:27:43 +0200 (Thu, 22 May 2008) | 2 lines
-
-Fix up some types, make some signed vs unsigned warnings quiet.
-
-------------------------------------------------------------------------
-r827 | zas_ | 2008-05-22 12:09:07 +0200 (Thu, 22 May 2008) | 3 lines
-
-Modify set_default_image_overlay_template_string() to accept the pointer to
-the string to modify and add a generic function to set template_string value.
-
-------------------------------------------------------------------------
-r826 | zas_ | 2008-05-22 11:22:29 +0200 (Thu, 22 May 2008) | 2 lines
-
-French translation was updated.
-
-------------------------------------------------------------------------
-r825 | zas_ | 2008-05-22 11:12:36 +0200 (Thu, 22 May 2008) | 3 lines
-
-Introduce an helper function that returns the name of an editor.
-It helps to reduce code redundancy.
-
-------------------------------------------------------------------------
-r824 | zas_ | 2008-05-22 10:49:52 +0200 (Thu, 22 May 2008) | 2 lines
-
-Use a struct to handle editor's properties.
-
-------------------------------------------------------------------------
-r823 | zas_ | 2008-05-21 21:37:18 +0200 (Wed, 21 May 2008) | 6 lines
-
-Make stricter match for option's names consisting of a prefix and a number.
-It allows to have names like "prefix_12" and "prefix_something" in the same file.
-Using strtol() was wrong since it allowed names like "prefix_-0xa", leading
-to unpredictable results. It was wrong too with "prefix_something", which
-was equivalent to "prefix_0", instead of being an option of its own.
-
-------------------------------------------------------------------------
-r822 | zas_ | 2008-05-21 13:46:19 +0200 (Wed, 21 May 2008) | 2 lines
-
-Replace hardcoded "/" by G_DIR_SEPARATOR_S where applicable.
-
-------------------------------------------------------------------------
-r821 | zas_ | 2008-05-21 13:45:29 +0200 (Wed, 21 May 2008) | 2 lines
-
-Use g_build_filename().
-
-------------------------------------------------------------------------
-r820 | zas_ | 2008-05-21 13:07:23 +0200 (Wed, 21 May 2008) | 2 lines
-
-Use G_DIR_SEPARATOR where applicable.
-
-------------------------------------------------------------------------
-r819 | zas_ | 2008-05-21 13:00:13 +0200 (Wed, 21 May 2008) | 2 lines
-
-Use G_DIR_SEPARATOR_S where applicable.
-
-------------------------------------------------------------------------
-r818 | zas_ | 2008-05-21 12:52:38 +0200 (Wed, 21 May 2008) | 2 lines
-
-Use g_build_filename() and G_DIR_SEPARATOR_S.
-
-------------------------------------------------------------------------
-r817 | zas_ | 2008-05-21 12:46:33 +0200 (Wed, 21 May 2008) | 2 lines
-
-Use g_build_filename() instead of g_strconcat().
-
-------------------------------------------------------------------------
-r816 | zas_ | 2008-05-21 12:11:56 +0200 (Wed, 21 May 2008) | 2 lines
-
-tab_completion_do(): use g_build_filename(), G_DIR_SEPARATOR, G_DIR_SEPARATOR_S.
-
-------------------------------------------------------------------------
-r815 | zas_ | 2008-05-21 11:58:29 +0200 (Wed, 21 May 2008) | 2 lines
-
-tab_completion_popup_cb(): use g_build_filename() and simplify code.
-
-------------------------------------------------------------------------
-r814 | zas_ | 2008-05-21 11:50:32 +0200 (Wed, 21 May 2008) | 3 lines
-
-Use expand_tilde() instead of simple concatenation, it allows correct expansion
-of ~user as well as ~dir.
-
-------------------------------------------------------------------------
-r813 | zas_ | 2008-05-21 11:30:53 +0200 (Wed, 21 May 2008) | 2 lines
-
-dest_change_dir(): rewrite to use g_build_filename(), g_path_get_dirname() and g_path_get_basename().
-
-------------------------------------------------------------------------
-r812 | zas_ | 2008-05-21 10:53:51 +0200 (Wed, 21 May 2008) | 2 lines
-
-Fix a segfault occuring when logging an empty message and there is no log window.
-
-------------------------------------------------------------------------
-r811 | zas_ | 2008-05-21 02:42:14 +0200 (Wed, 21 May 2008) | 2 lines
-
-Use g_build_filename().
-
-------------------------------------------------------------------------
-r810 | zas_ | 2008-05-21 02:39:16 +0200 (Wed, 21 May 2008) | 2 lines
-
-thumb_std_cache_path(): use g_build_filename() and simplify.
-
-------------------------------------------------------------------------
-r809 | zas_ | 2008-05-21 02:32:57 +0200 (Wed, 21 May 2008) | 2 lines
-
-Use g_build_filename().
-
-------------------------------------------------------------------------
-r808 | zas_ | 2008-05-21 02:20:13 +0200 (Wed, 21 May 2008) | 2 lines
-
-Use g_build_filename() where applicable.
-
-------------------------------------------------------------------------
-r807 | zas_ | 2008-05-21 02:15:41 +0200 (Wed, 21 May 2008) | 2 lines
-
-Use g_build_filename() instead of g_strconcat().
-
-------------------------------------------------------------------------
-r806 | zas_ | 2008-05-21 02:13:12 +0200 (Wed, 21 May 2008) | 2 lines
-
-Use g_build_filename() and get rid of "root dir fix".
-
-------------------------------------------------------------------------
-r805 | zas_ | 2008-05-21 02:12:19 +0200 (Wed, 21 May 2008) | 2 lines
-
-Use g_build_filename().
-
-------------------------------------------------------------------------
-r804 | zas_ | 2008-05-21 02:01:03 +0200 (Wed, 21 May 2008) | 5 lines
-
-Disable unused code:
-- cache_maintain_home_dir()
-- cache_maintain_dir()
-
-
-------------------------------------------------------------------------
-r803 | zas_ | 2008-05-21 01:41:13 +0200 (Wed, 21 May 2008) | 2 lines
-
-Build path using g_build_filename() then calculate its length.
-
-------------------------------------------------------------------------
-r802 | zas_ | 2008-05-21 01:11:47 +0200 (Wed, 21 May 2008) | 2 lines
-
-Use G_DIR_SEPARATOR_S instead of hardcoded "/".
-
-------------------------------------------------------------------------
-r801 | zas_ | 2008-05-21 01:07:09 +0200 (Wed, 21 May 2008) | 2 lines
-
-Use g_build_filename() and move location label creation from cache_manager_show() to new cache_manager_location_label().
-
-------------------------------------------------------------------------
-r800 | zas_ | 2008-05-21 00:47:13 +0200 (Wed, 21 May 2008) | 2 lines
-
-cache_find_location(): use g_build_filename() and move redundant code to new functions.
-
-------------------------------------------------------------------------
-r799 | zas_ | 2008-05-21 00:22:11 +0200 (Wed, 21 May 2008) | 2 lines
-
-Use g_build_filename().
-
-------------------------------------------------------------------------
-r798 | zas_ | 2008-05-21 00:13:48 +0200 (Wed, 21 May 2008) | 2 lines
-
-Use size_t instead of gint, it silents a signed vs unsigned warning.
-
-------------------------------------------------------------------------
-r797 | zas_ | 2008-05-21 00:11:59 +0200 (Wed, 21 May 2008) | 2 lines
-
-Use g_build_filename() instead of g_strconcat().
-
-------------------------------------------------------------------------
-r796 | zas_ | 2008-05-21 00:09:04 +0200 (Wed, 21 May 2008) | 2 lines
-
-Drop concat_dir_and_file() and use g_build_filename() instead.
-
-------------------------------------------------------------------------
-r795 | zas_ | 2008-05-21 00:00:14 +0200 (Wed, 21 May 2008) | 2 lines
-
-Use G_DIR_SEPARATOR instead of '/' where applicable.
-
-------------------------------------------------------------------------
-r794 | zas_ | 2008-05-20 23:51:25 +0200 (Tue, 20 May 2008) | 2 lines
-
-Use g_build_filename() to build paths.
-
-------------------------------------------------------------------------
-r793 | zas_ | 2008-05-20 22:11:29 +0200 (Tue, 20 May 2008) | 3 lines
-
-Do not use glib posix wrappers since they were introduced in 2.6
-and we want 2.4 compatibility.
-
-------------------------------------------------------------------------
-r792 | zas_ | 2008-05-20 22:06:11 +0200 (Tue, 20 May 2008) | 2 lines
-
-Use access() instead of g_access() which is only available in 2.8.
-
-------------------------------------------------------------------------
-r791 | zas_ | 2008-05-20 21:14:36 +0200 (Tue, 20 May 2008) | 3 lines
-
-Use utf-8 charset instead of iso-8859-1.
-Minor cleanup.
-
-------------------------------------------------------------------------
-r790 | nadvornik | 2008-05-20 19:43:37 +0200 (Tue, 20 May 2008) | 2 lines
-
-updated ru.po by Alexandre Prokoudine
-
-------------------------------------------------------------------------
-r789 | zas_ | 2008-05-20 10:18:30 +0200 (Tue, 20 May 2008) | 2 lines
-
-French translation was updated.
-
-------------------------------------------------------------------------
-r788 | zas_ | 2008-05-20 10:14:35 +0200 (Tue, 20 May 2008) | 2 lines
-
-Sort out log_printf() vs printf_term() mix up.
-
-------------------------------------------------------------------------
-r787 | zas_ | 2008-05-20 09:52:49 +0200 (Tue, 20 May 2008) | 3 lines
-
-Use print_term() instead of printf(), since it handles charset conversion
-from utf8 to locale if needed.
-
-------------------------------------------------------------------------
-r786 | zas_ | 2008-05-19 13:09:23 +0200 (Mon, 19 May 2008) | 3 lines
-
-Remove C-specific gcc options from CXXFLAGS.
-Add few more warnings.
-
-------------------------------------------------------------------------
-r785 | zas_ | 2008-05-19 11:27:30 +0200 (Mon, 19 May 2008) | 2 lines
-
-Fix some incomplete initialization warnings.
-
-------------------------------------------------------------------------
-r784 | zas_ | 2008-05-19 10:46:37 +0200 (Mon, 19 May 2008) | 2 lines
-
-depreceated -> deprecated
-
-------------------------------------------------------------------------
-r783 | zas_ | 2008-05-19 10:43:11 +0200 (Mon, 19 May 2008) | 2 lines
-
-Typo fixes.
-
-------------------------------------------------------------------------
-r782 | zas_ | 2008-05-19 10:36:06 +0200 (Mon, 19 May 2008) | 2 lines
-
-Create auxdir if needed.
-
-------------------------------------------------------------------------
-r781 | zas_ | 2008-05-19 10:24:10 +0200 (Mon, 19 May 2008) | 2 lines
-
-Fix spurious end of line introduced in revision 780.
-
-------------------------------------------------------------------------
-r780 | bruclik | 2008-05-19 03:15:17 +0200 (Mon, 19 May 2008) | 10 lines
-
-configure.in was rewritten:
-- uses PKG_CHECK_MODULES everywhere
-- added --enable-debug (enable debugging support)
-- added --enable-developer (developer mode, checks depreceated code ...)
-- removed obsoleted INCLUDES from Makefile.am
-Fixed src/debug.h (added glib.h).
-Fixed src/exiv2.c compilation with libexiv2 v0.15.  
-Added src/trash.h to src/Makefile.am (fixed generating 'make dist').
-
-
-------------------------------------------------------------------------
-r779 | bruclik | 2008-05-19 02:54:59 +0200 (Mon, 19 May 2008) | 3 lines
-
-Updated CODING (GPL header, macros, svn change-log, ...).
-
-
-------------------------------------------------------------------------
-r778 | zas_ | 2008-05-18 23:14:01 +0200 (Sun, 18 May 2008) | 7 lines
-
-Save order of Properties dialog tabs to rc file.
-Users of GTK+ <2.10 can set tabs order directly in the rc file,
-others can move tabs using drag'n drop.
-The option is named properties.tabs_order, its default value
-is "123" which is General, Keywords, Exif tabs (left to right).
-
-
-------------------------------------------------------------------------
-r777 | zas_ | 2008-05-18 14:56:18 +0200 (Sun, 18 May 2008) | 3 lines
-
-Cleanup and code redundancy reduction.
-
-
-------------------------------------------------------------------------
-r776 | zas_ | 2008-05-18 13:39:58 +0200 (Sun, 18 May 2008) | 4 lines
-
-Memorize text to display in the log window when the window is
-not yet created. On log window display, the memorized text
-is then recalled and displayed.
-
-------------------------------------------------------------------------
-r775 | zas_ | 2008-05-18 09:36:57 +0200 (Sun, 18 May 2008) | 2 lines
-
-Do not create log window more than once.
-
-------------------------------------------------------------------------
-r774 | zas_ | 2008-05-18 00:37:04 +0200 (Sun, 18 May 2008) | 2 lines
-
-Fix formatted.SubjectDistance appearing twice in exif bar configuration.
-
-------------------------------------------------------------------------
-r773 | zas_ | 2008-05-17 23:28:02 +0200 (Sat, 17 May 2008) | 2 lines
-
-Update POTFILES.in.
-
-------------------------------------------------------------------------
-r772 | zas_ | 2008-05-17 23:26:45 +0200 (Sat, 17 May 2008) | 1 line
-
-Add a log window that shows normal and debug messages. For now, it was added to Help menu.
-------------------------------------------------------------------------
-r771 | nadvornik | 2008-05-16 22:12:11 +0200 (Fri, 16 May 2008) | 2 lines
-
-fixed exiv2 version test
-
-------------------------------------------------------------------------
-r770 | nadvornik | 2008-05-16 22:09:32 +0200 (Fri, 16 May 2008) | 3 lines
-
-get processed values from exiv2
-http://sourceforge.net/tracker/index.php?func=detail&aid=1962444&group_id=222125&atid=1054680
-
-------------------------------------------------------------------------
-r769 | zas_ | 2008-05-16 16:59:45 +0200 (Fri, 16 May 2008) | 3 lines
-
-Fix redundant application name in window titles.
-It simplifies code.
-
-------------------------------------------------------------------------
-r768 | zas_ | 2008-05-16 16:38:05 +0200 (Fri, 16 May 2008) | 2 lines
-
-French translation was updated.
-
-------------------------------------------------------------------------
-r767 | zas_ | 2008-05-16 14:16:49 +0200 (Fri, 16 May 2008) | 3 lines
-
-Do not use printf() directly but use new wrapper function log_printf() instead.
-
-
-------------------------------------------------------------------------
-r766 | zas_ | 2008-05-16 14:08:51 +0200 (Fri, 16 May 2008) | 2 lines
-
-Drop include "debug.h".
-
-------------------------------------------------------------------------
-r765 | zas_ | 2008-05-16 12:02:56 +0200 (Fri, 16 May 2008) | 3 lines
-
-Include debug.h from main.h since debug macros may be used anywhere in the code.
-
-
-------------------------------------------------------------------------
-r764 | zas_ | 2008-05-16 11:10:56 +0200 (Fri, 16 May 2008) | 5 lines
-
-Improve editor commands error display:
-- display all errors (not only syntax errors)
-- display errors from Preferences (checks are made on Apply or OK)
-
-
-------------------------------------------------------------------------
-r763 | zas_ | 2008-05-16 10:37:07 +0200 (Fri, 16 May 2008) | 7 lines
-
-Improve editors a bit:
-- allow whitespaces before and after %v, %V, %w
-- allow % escaping using %% (mandatory to use shell commands than contain % characters)
-- display a dialog on execution if a syntax error is detected (only for generic editors)
-- update README editors section
-
-
-------------------------------------------------------------------------
-r762 | zas_ | 2008-05-14 20:12:11 +0200 (Wed, 14 May 2008) | 9 lines
-
-The Encoding key is now deprecated by the FreeDesktop standard and all
-strings are required to be encoded in UTF-8. This desktop entry
-explicitly specifies an Encoding of UTF-8, which is harmless but no longer
-necessary.
-
-See http://standards.freedesktop.org/desktop-entry-spec/1.0/apc.html
-
-Patch #1963689.
-
-------------------------------------------------------------------------
-r761 | zas_ | 2008-05-14 20:09:05 +0200 (Wed, 14 May 2008) | 3 lines
-
-Patch #1963690 was applied.
-It fixes hyphens/minus confusion in the man page.
-
-------------------------------------------------------------------------
-r760 | zas_ | 2008-05-14 19:00:25 +0200 (Wed, 14 May 2008) | 4 lines
-
-Simplify thumb_std_maint_moved(), since g_list_append knows
-how to append to a NULL list. Patch by Uwe Ohse.
-
-
-------------------------------------------------------------------------
-r759 | zas_ | 2008-05-14 18:52:55 +0200 (Wed, 14 May 2008) | 4 lines
-
-Simplify collect_manager_add_action(), since g_list_append knows 
-how to append to a NULL list. Patch by Uwe Ohse.
-
-
-------------------------------------------------------------------------
-r758 | zas_ | 2008-05-14 14:59:00 +0200 (Wed, 14 May 2008) | 2 lines
-
-Merge vflist_row_by_path() into vflist_index_by_path().
-
-------------------------------------------------------------------------
-r757 | zas_ | 2008-05-14 12:40:43 +0200 (Wed, 14 May 2008) | 3 lines
-
-Fix some typos. Thanks to Michal \u010ciha\u0159 and James R. Van Zandt.
-Patch #1963691.
-
-------------------------------------------------------------------------
-r756 | zas_ | 2008-05-14 10:56:08 +0200 (Wed, 14 May 2008) | 2 lines
-
-Make vf_pop_menu_*_cb static.
-
-------------------------------------------------------------------------
-r755 | zas_ | 2008-05-13 22:31:35 +0200 (Tue, 13 May 2008) | 2 lines
-
-French translation fixes.
-
-------------------------------------------------------------------------
-r754 | zas_ | 2008-05-13 22:21:00 +0200 (Tue, 13 May 2008) | 3 lines
-
-Resync POTFILES.in and *.po, update french translation and
-regenerate statistics in README.
-
-------------------------------------------------------------------------
-r753 | zas_ | 2008-05-13 22:13:44 +0200 (Tue, 13 May 2008) | 2 lines
-
-Merge vflist_pop_menu() and vficon_pop_menu() into vf_pop_menu().
-
-------------------------------------------------------------------------
-r752 | zas_ | 2008-05-13 21:56:52 +0200 (Tue, 13 May 2008) | 2 lines
-
-Move VFICON_INFO() and VFLIST_INFO() macros to view_file.h
-
-------------------------------------------------------------------------
-r751 | zas_ | 2008-05-13 21:54:13 +0200 (Tue, 13 May 2008) | 2 lines
-
-vficon_pop_menu(): drop "gint active" parameter, use stored click_id instead.
-
-------------------------------------------------------------------------
-r750 | zas_ | 2008-05-13 21:51:22 +0200 (Tue, 13 May 2008) | 3 lines
-
-vflist_pop_menu(): drop FileData * parameter, use stored click_fd instead.
-
-
-------------------------------------------------------------------------
-r749 | zas_ | 2008-05-13 21:45:04 +0200 (Tue, 13 May 2008) | 2 lines
-
-Fix last patch, only set vf->clicked_mark for a valid mark.
-
-------------------------------------------------------------------------
-r748 | zas_ | 2008-05-13 21:32:25 +0200 (Tue, 13 May 2008) | 6 lines
-
-Get rid of vflist_pop_menu() col_idx parameter, use new Viewfile field
-named clicked_mark.
-Marks numbering is now consistent with menus (starting at 1, 0 is an
-invalid mark), assertions were modified accordingly.
-
-
-------------------------------------------------------------------------
-r747 | zas_ | 2008-05-13 18:09:43 +0200 (Tue, 13 May 2008) | 6 lines
-
-Expand tilde with file: and view: remote parameters.
-Now these are working:
-geeqie -r file:~/dir
-geeqie -r view:~user/file
-
-
-------------------------------------------------------------------------
-r746 | zas_ | 2008-05-13 16:49:38 +0200 (Tue, 13 May 2008) | 3 lines
-
-Display a message when invalid remote options are used.
-
-
-------------------------------------------------------------------------
-r745 | zas_ | 2008-05-13 16:35:51 +0200 (Tue, 13 May 2008) | 2 lines
-
-Comparing tag id is not sufficient, check the tag name too.
-
-------------------------------------------------------------------------
-r744 | zas_ | 2008-05-13 13:58:47 +0200 (Tue, 13 May 2008) | 2 lines
-
-Keywords and comment can now be displayed in OSD info using %keywords% and %comment%.
-
-------------------------------------------------------------------------
-r743 | zas_ | 2008-05-13 10:53:26 +0200 (Tue, 13 May 2008) | 2 lines
-
-Move all remote stuff from main.c to remote.[ch].
-
-------------------------------------------------------------------------
-r742 | zas_ | 2008-05-13 10:02:46 +0200 (Tue, 13 May 2008) | 2 lines
-
-Move some functions from main.[ch] to new window.[ch].
-
-------------------------------------------------------------------------
-r741 | zas_ | 2008-05-13 09:34:37 +0200 (Tue, 13 May 2008) | 2 lines
-
-Ensure that we end with UTF8 encoded comment and keywords.
-
-------------------------------------------------------------------------
-r740 | zas_ | 2008-05-13 01:26:00 +0200 (Tue, 13 May 2008) | 4 lines
-
-Reading of Iptc.Application2.Keywords should now be fixed.
-Use uft8_validate_or_convert() on exif's text data to be safe.
-
-
-------------------------------------------------------------------------
-r739 | zas_ | 2008-05-13 01:21:35 +0200 (Tue, 13 May 2008) | 2 lines
-
-Rename bar_exif_validate_text() to utf8_validate_or_convert() and move it to main.[ch].
-
-------------------------------------------------------------------------
-r738 | zas_ | 2008-05-13 01:00:04 +0200 (Tue, 13 May 2008) | 2 lines
-
-bar_exif_validate_text(): use computed length and cleanup.
-
-------------------------------------------------------------------------
-r737 | zas_ | 2008-05-12 21:56:28 +0200 (Mon, 12 May 2008) | 2 lines
-
-Disable non-working Iptc.Application2.Keywords reading introduced in revision 736.
-
-------------------------------------------------------------------------
-r736 | zas_ | 2008-05-12 19:10:40 +0200 (Mon, 12 May 2008) | 5 lines
-
-Extract and append keywords from Iptc.Application2.Keywords tags.
-A function was added to make the keywords unique in the list.
-Note: Iptc.Application2.Keywords is only read, not written.
-
-
-------------------------------------------------------------------------
-r735 | zas_ | 2008-05-12 12:46:23 +0200 (Mon, 12 May 2008) | 2 lines
-
-When an option was successfully read, just continue to next line.
-
-------------------------------------------------------------------------
-r734 | zas_ | 2008-05-12 12:37:37 +0200 (Mon, 12 May 2008) | 2 lines
-
-Minor formatting fix in rc file header.
-
-------------------------------------------------------------------------
-r733 | zas_ | 2008-05-12 10:52:17 +0200 (Mon, 12 May 2008) | 8 lines
-
-Rework read_*_option():
-- read_u?int_option() now interpret a value of "true" as 1
-- read_bool_option() now interpret any value different from 0 as true.
-- make functions return TRUE on successful read, FALSE else
-
-Theses changes will help to maintain compatibility when options are modified.
-
-
-------------------------------------------------------------------------
-r732 | zas_ | 2008-05-12 10:11:27 +0200 (Mon, 12 May 2008) | 3 lines
-
-Rename option image_overlay.common.enabled to image_overlay.common.state
-since it is not a boolean anymore.
-
-------------------------------------------------------------------------
-r731 | zas_ | 2008-05-12 02:22:38 +0200 (Mon, 12 May 2008) | 2 lines
-
-Add some wrapper functions for not yet common code.
-
-------------------------------------------------------------------------
-r730 | zas_ | 2008-05-12 01:56:40 +0200 (Mon, 12 May 2008) | 3 lines
-
-Make vf_pop_menu_toggle_view_type_cb() independent of FILEVIEW_LIST/FILEVIEW_ICON real values.
-
-
-------------------------------------------------------------------------
-r729 | zas_ | 2008-05-12 01:47:59 +0200 (Mon, 12 May 2008) | 2 lines
-
-Move a part of pop up menu common code to view_file.[ch].
-
-------------------------------------------------------------------------
-r728 | zas_ | 2008-05-12 01:09:39 +0200 (Mon, 12 May 2008) | 3 lines
-
-Introduce vf_pop_menu_file_list() as a wrapper to
-vflist_pop_menu_file_list() and vficon_pop_menu_file_list().
-
-------------------------------------------------------------------------
-r727 | zas_ | 2008-05-11 23:11:54 +0200 (Sun, 11 May 2008) | 2 lines
-
-Use vf_* functions where possible.
-
-------------------------------------------------------------------------
-r726 | zas_ | 2008-05-11 22:38:21 +0200 (Sun, 11 May 2008) | 2 lines
-
-Drop unused layout_list_get_path() and vf*_index_get_path().
-
-------------------------------------------------------------------------
-r725 | zas_ | 2008-05-11 15:17:38 +0200 (Sun, 11 May 2008) | 2 lines
-
-French translation was updated.
-
-------------------------------------------------------------------------
-r724 | zas_ | 2008-05-11 15:14:58 +0200 (Sun, 11 May 2008) | 4 lines
-
-An option to save and restore the last path used was added.
-This option appears as startup.use_last_path in rc file.
-Preferences > General > Startup was modified accordingly.
-
-------------------------------------------------------------------------
-r723 | zas_ | 2008-05-11 14:23:26 +0200 (Sun, 11 May 2008) | 8 lines
-
-Rename options:
-startup_path_enable -> startup.restore_path
-startup_path        -> startup.path
-
-Geeqie is still able to read old options.
-
-
-
-------------------------------------------------------------------------
-r722 | zas_ | 2008-05-11 13:46:48 +0200 (Sun, 11 May 2008) | 2 lines
-
-Fix help window title.
-
-------------------------------------------------------------------------
-r721 | zas_ | 2008-05-11 13:44:58 +0200 (Sun, 11 May 2008) | 2 lines
-
-Use computed string length.
-
-------------------------------------------------------------------------
-r720 | zas_ | 2008-05-11 13:41:32 +0200 (Sun, 11 May 2008) | 2 lines
-
-Slightly increase help window's default width.
-
-------------------------------------------------------------------------
-r719 | zas_ | 2008-05-11 13:30:41 +0200 (Sun, 11 May 2008) | 4 lines
-
-Add an help button to OSD info configuration in Preferences dialog.
-Make its own section named "Overlay Screen Display".
-
-
-------------------------------------------------------------------------
-r718 | zas_ | 2008-05-11 12:25:04 +0200 (Sun, 11 May 2008) | 5 lines
-
-Partially update main README.
-A section concerning overlay info was added.
-Translation statistics were updated.
-
-
-------------------------------------------------------------------------
-r717 | zas_ | 2008-05-11 11:37:46 +0200 (Sun, 11 May 2008) | 50 lines
-
-Change translations statistics formatting to match the style
-use in the README file.
-
-Here is the result for current trunk:
-
-Translations statistics
-Date: Sun, 11 May 2008 11:33:14 +0200
-
-Note: completion % in the chart below may not be quite correct
-      when fuzzy translations exist but do not appear in the source.
-      For exact results, run make update-po with up to date POTFILES.in.
-      comp % = trans / (trans + fuzzy + untrans)
-
-Language      Comp(%)  Trans  Fuzzy  Untrans  Total
-fr             100.00    985      0        0    985
-be              90.56    892     25       68    985
-eu              68.53    675    150      160    985
-eo              68.22    672    153      160    985
-vi              68.02    670    156      159    985
-it              67.82    668    154      163    985
-pt_BR           67.82    668    154      163    985
-zh_TW           66.90    659    150      176    985
-sk              66.50    655    158      172    985
-fi              64.37    634    176      175    985
-nl              64.37    634    179      172    985
-sv              64.16    632    175      178    985
-bg              64.06    631    175      179    985
-ca              64.06    631    175      179    985
-cs              64.06    631    175      179    985
-de              64.06    631    175      179    985
-es              64.06    631    175      179    985
-ja              64.06    631    175      179    985
-ru              64.06    631    175      179    985
-pl              60.61    597    148      240    985
-ar              42.94    423    315      247    985
-ro              37.56    370    342      273    985
-hu              36.14    356    332      297    985
-id              19.70    194    408      383    985
-et              19.29    190    407      388    985
-uk              17.16    169    411      405    985
-nb              15.94    157    416      412    985
-zh_CN.GB2312    15.94    157    416      412    985
-th              15.13    149    413      423    985
-sl              14.72    145    419      421    985
-da              12.99    128    402      455    985
-ko              11.37    112     52      821    985
-tr               6.60     65    398      522    985
-
-
-
-------------------------------------------------------------------------
-r716 | zas_ | 2008-05-10 23:29:53 +0200 (Sat, 10 May 2008) | 25 lines
-
-Fix display of collection in overlay info.
-Due to markup escaped <i>collection</i> was displayed instead of collection's in italic.
-
-Overlay info syntax was extended to allow the wrapping of displayed data with markup.
-
-General syntax is: %name[:length limit][:extra]%
-Extra string uses special character '*' to mark the place of the data to display.
-If no '*' is present, then extra string is just appended to data.
-Any "\n" is replaced by a newline on display.
-Pango mark up is accepted in left and right parts.
-If data is empty, nothing will be displayed.
-
-Examples:
-"%name:<i>*</i>\n%" -> name is displayed in italics ended with a newline
-"%size:\n%"         -> size is displayed with a newline at end
-"%formatted.ISOSpeedRating:ISO *%"      -> prefix iso number with "ISO " (ie. "ISO 100")
-"Collection <b>*</b>\n" -> display collection name in bold prefixed by "Collection " and a newline is appended
-
-
-Collection name formatting was slighly improved by not displaying the .gqv extension.
-The default overlay info string was modified to use the new syntax, but older info strings should be
-displayed as usual.
-
-
-
-------------------------------------------------------------------------
-r715 | zas_ | 2008-05-10 16:22:18 +0200 (Sat, 10 May 2008) | 2 lines
-
-image_osd_get() now returns OsdShowFlags.
-
-------------------------------------------------------------------------
-r714 | zas_ | 2008-05-10 15:54:25 +0200 (Sat, 10 May 2008) | 2 lines
-
-Display a simple grid with histogram.
-
-------------------------------------------------------------------------
-r713 | zas_ | 2008-05-10 14:33:52 +0200 (Sat, 10 May 2008) | 2 lines
-
-Initialize to correct value (OSD_SHOW_NOTHING instead of FALSE).
-
-------------------------------------------------------------------------
-r712 | zas_ | 2008-05-10 11:00:14 +0200 (Sat, 10 May 2008) | 4 lines
-
-Save full OSD state to rc file and restore it on startup.
-It allows to restore OSD with or without histogram depending
-on previous state.
-
-------------------------------------------------------------------------
-r711 | zas_ | 2008-05-09 14:43:10 +0200 (Fri, 09 May 2008) | 3 lines
-
-image_osd_info_render(): if there's no fd, just return.
-
-
-------------------------------------------------------------------------
-r710 | zas_ | 2008-05-09 14:33:24 +0200 (Fri, 09 May 2008) | 5 lines
-
-Move overlay histogram stuff from ImageWindow to OverlayStateData.
-It simplifies things a lot and make more sense.
-
-Note: overlay icons display is broken since a long time it seems.
-
-------------------------------------------------------------------------
-r709 | zas_ | 2008-05-09 13:15:56 +0200 (Fri, 09 May 2008) | 2 lines
-
-Introduce image_get_osd_data() and image_set_osd_data().
-
-------------------------------------------------------------------------
-r708 | zas_ | 2008-05-09 11:58:46 +0200 (Fri, 09 May 2008) | 2 lines
-
-image_osd_get() and image_osd_set() now uses flags.
-
-------------------------------------------------------------------------
-r707 | zas_ | 2008-05-09 11:34:38 +0200 (Fri, 09 May 2008) | 3 lines
-
-image_osd_histogram_chan_toggle(), image_osd_histogram_log_toggle():
-reduce indentation level.
-
-------------------------------------------------------------------------
-r706 | zas_ | 2008-05-09 10:39:18 +0200 (Fri, 09 May 2008) | 7 lines
-
-Preserve last histogram modes.
-When a new histogram is displayed, it uses previously chosen
-modes.
-These modes are saved on exit to rc file as options:
-histogram.last_channel_mode
-histogram.last_log_mode
-
-------------------------------------------------------------------------
-r705 | zas_ | 2008-05-09 10:03:25 +0200 (Fri, 09 May 2008) | 2 lines
-
-Update CODING and HACKING files, and add po/README file for translators.
-
-------------------------------------------------------------------------
-r704 | zas_ | 2008-05-09 09:46:18 +0200 (Fri, 09 May 2008) | 2 lines
-
-Make lirc_cleanup() and lirc_input_callback() static.
-
-------------------------------------------------------------------------
-r703 | zas_ | 2008-05-09 09:32:30 +0200 (Fri, 09 May 2008) | 4 lines
-
-Use function(void) instead of function() for declaring functions which
-do not take any parameters at all.
-It respects current Geeqie coding style more.
-
-------------------------------------------------------------------------
-r702 | zas_ | 2008-05-09 00:59:14 +0200 (Fri, 09 May 2008) | 4 lines
-
-In the search results view, hide dimensions column instead of
-displaying an empty one.
-When dimensions search criteria is used, it is always displayed.
-
-------------------------------------------------------------------------
-r701 | zas_ | 2008-05-09 00:49:16 +0200 (Fri, 09 May 2008) | 3 lines
-
-Reset thumbnail column to NULL when hidden.
-It fixes bug 1960274.
-
-------------------------------------------------------------------------
-r700 | zas_ | 2008-05-08 22:21:03 +0200 (Thu, 08 May 2008) | 2 lines
-
-search_status_update(): slightly reduce code redundancy.
-
-------------------------------------------------------------------------
-r699 | zas_ | 2008-05-08 14:50:25 +0200 (Thu, 08 May 2008) | 4 lines
-
-Use g_ascii_strncasecmp() instead of strncasecmp() where applicable.
-Add a FIXME where potential improper usage of strncasecmp() is made. 
-
-
-------------------------------------------------------------------------
-r698 | zas_ | 2008-05-08 14:38:34 +0200 (Thu, 08 May 2008) | 3 lines
-
-Use g_ascii_strcasecmp() instead of strcasecmp() where ascii-only strings
-are used.
-
-------------------------------------------------------------------------
-r697 | zas_ | 2008-05-08 01:27:26 +0200 (Thu, 08 May 2008) | 8 lines
-
-Replace deprecated functions by their counterparts:
-g_strcasecmp() -> g_ascii_strcasecmp()
-g_strncasecmp() -> g_ascii_strncasecmp()
-gtk_input_remove() -> g_source_remove()
-g_io_channel_close() -> g_io_channel_shutdown() + g_io_channel_unref()
-
-All these are deprecated either since 2.2 or 2.4.
-
-------------------------------------------------------------------------
-r696 | zas_ | 2008-05-08 00:54:33 +0200 (Thu, 08 May 2008) | 3 lines
-
-Resync po files.
-French translation was updated.
-
-------------------------------------------------------------------------
-r695 | zas_ | 2008-05-08 00:48:30 +0200 (Thu, 08 May 2008) | 5 lines
-
-Add a way to invert the current selection.
-An item labeled "Invert selection" was added to the Select submenu
-in the main menu.
-
-
-------------------------------------------------------------------------
-r694 | zas_ | 2008-05-07 01:58:08 +0200 (Wed, 07 May 2008) | 2 lines
-
-Tidy up.
-
-------------------------------------------------------------------------
-r693 | zas_ | 2008-05-07 01:53:12 +0200 (Wed, 07 May 2008) | 2 lines
-
-French translation was updated.
-
-------------------------------------------------------------------------
-r692 | zas_ | 2008-05-07 01:52:09 +0200 (Wed, 07 May 2008) | 2 lines
-
-Add trash.c.
-
-------------------------------------------------------------------------
-r691 | nadvornik | 2008-05-06 23:35:31 +0200 (Tue, 06 May 2008) | 2 lines
-
-moved safe delete functions to separate file
-
-------------------------------------------------------------------------
-r690 | nadvornik | 2008-05-06 22:24:16 +0200 (Tue, 06 May 2008) | 2 lines
-
-use some of the new functions in filedata.c
-
-------------------------------------------------------------------------
-r689 | zas_ | 2008-05-06 19:00:55 +0200 (Tue, 06 May 2008) | 3 lines
-
-Allow the user to append or replace comments for a group of selected files.
-Two buttons were added to the Keywords panel.
-
-------------------------------------------------------------------------
-r688 | zas_ | 2008-05-06 14:31:23 +0200 (Tue, 06 May 2008) | 6 lines
-
-Use a dedicated option to enable keywords and comment saving as XMP tags
-in image's files.
-This new option is named "save_metadata_in_image_file" in configuration file.
-User can toggle it through Preferences > Advanced > Miscellaneous > Store keywords and comments as XMP tags in image files.
-Description of enable_metadata_dirs was modified as an attempt to improve clarity.
-
-------------------------------------------------------------------------
-r687 | zas_ | 2008-05-06 14:03:39 +0200 (Tue, 06 May 2008) | 2 lines
-
-comment_xmp_read(), comment_xmp_write(): cleanup and improve readibility.
-
-------------------------------------------------------------------------
-r686 | zas_ | 2008-05-05 23:27:39 +0200 (Mon, 05 May 2008) | 2 lines
-
-French translation was updated, various fixes.
-
-------------------------------------------------------------------------
-r685 | zas_ | 2008-05-05 22:56:20 +0200 (Mon, 05 May 2008) | 2 lines
-
-Belarusian translation was updated. Thanks to Pavel Piatruk.
-
-------------------------------------------------------------------------
-r684 | nadvornik | 2008-05-05 22:51:51 +0200 (Mon, 05 May 2008) | 2 lines
-
-started implementation of API for sidecar files
-
-------------------------------------------------------------------------
-r683 | zas_ | 2008-05-05 22:51:50 +0200 (Mon, 05 May 2008) | 2 lines
-
-Update POTFILES.in (filelist.c -> filedata.c).
-
-------------------------------------------------------------------------
-r682 | zas_ | 2008-05-05 22:49:40 +0200 (Mon, 05 May 2008) | 3 lines
-
-Modify regen_potfiles.sh to generate a patch instead of 
-directly applying changes to POTFILES.in.
-
-------------------------------------------------------------------------
-r681 | nadvornik | 2008-05-05 21:20:46 +0200 (Mon, 05 May 2008) | 2 lines
-
-added .gqv to known file types
-
-------------------------------------------------------------------------
-r680 | nadvornik | 2008-05-05 21:11:12 +0200 (Mon, 05 May 2008) | 2 lines
-
-split filelist.c to filefilter.c and filedata.c
-
-------------------------------------------------------------------------
-r679 | zas_ | 2008-05-05 11:21:01 +0200 (Mon, 05 May 2008) | 2 lines
-
-Revert wrong patch rev 676.
-
-------------------------------------------------------------------------
-r678 | zas_ | 2008-05-05 11:12:07 +0200 (Mon, 05 May 2008) | 4 lines
-
-Add an helper script to regenerate POTFILES.in file.
-POTFILES.in was updated.
-French translation was updated.
-
-------------------------------------------------------------------------
-r677 | zas_ | 2008-05-05 10:32:18 +0200 (Mon, 05 May 2008) | 2 lines
-
-Revert patch 675, and correctly fix gtk assertion failure.
-
-------------------------------------------------------------------------
-r676 | zas_ | 2008-05-05 10:15:52 +0200 (Mon, 05 May 2008) | 2 lines
-
-Fix two memory leaks.
-
-------------------------------------------------------------------------
-r675 | zas_ | 2008-05-05 09:46:32 +0200 (Mon, 05 May 2008) | 3 lines
-
-Fix Gtk-CRITICAL **: gtk_label_set_text: assertion `GTK_IS_LABEL (label)' failed
-when swapping to/from file icon view.
-
-------------------------------------------------------------------------
-r674 | zas_ | 2008-05-05 01:57:20 +0200 (Mon, 05 May 2008) | 2 lines
-
-vficon_release_cb(): use switch() and cleanup.
-
-------------------------------------------------------------------------
-r673 | zas_ | 2008-05-05 01:20:43 +0200 (Mon, 05 May 2008) | 2 lines
-
-Minor tidyup.
-
-------------------------------------------------------------------------
-r672 | zas_ | 2008-05-05 01:06:46 +0200 (Mon, 05 May 2008) | 2 lines
-
-Drop unused vficon_select_by_path() and vflist_select_by_path().
-
-------------------------------------------------------------------------
-r671 | zas_ | 2008-05-05 01:03:36 +0200 (Mon, 05 May 2008) | 2 lines
-
-Minor cleanup.
-
-------------------------------------------------------------------------
-r670 | nadvornik | 2008-05-04 23:54:20 +0200 (Sun, 04 May 2008) | 2 lines
-
-dropped path_list functions, use filelist functions everywhere
-
-------------------------------------------------------------------------
-r669 | zas_ | 2008-05-04 21:00:39 +0200 (Sun, 04 May 2008) | 9 lines
-
-Remove unused functions:
-vflist_set_status_func()
-vflist_set_thumb_status_func()
-vflist_set_layout()
-vficon_set_status_func()
-vficon_set_thumb_status_func()
-vficon_set_layout()
-
-
-------------------------------------------------------------------------
-r668 | zas_ | 2008-05-04 20:45:06 +0200 (Sun, 04 May 2008) | 2 lines
-
-Drop ViewFileIcon, use ViewFile and ViewFileInfoIcon instead.
-
-------------------------------------------------------------------------
-r667 | zas_ | 2008-05-04 18:16:07 +0200 (Sun, 04 May 2008) | 2 lines
-
-Drop ViewFileList, use ViewFile and ViewFileInfoList instead.
-
-------------------------------------------------------------------------
-r666 | zas_ | 2008-05-04 13:47:36 +0200 (Sun, 04 May 2008) | 2 lines
-
-Prepare switch to ViewFile (unused yet).
-
-------------------------------------------------------------------------
-r665 | zas_ | 2008-05-04 02:32:05 +0200 (Sun, 04 May 2008) | 3 lines
-
-Shorten Edit menu labels, dropping "in ". It will ease
-translations too, and user can define its own label in Preferences.
-
-------------------------------------------------------------------------
-r664 | zas_ | 2008-05-04 02:21:14 +0200 (Sun, 04 May 2008) | 3 lines
-
-Do not show Copy, Move, Rename, Delete, New Folder external commands
-in the Edit section of contextual menus.
-
-------------------------------------------------------------------------
-r663 | zas_ | 2008-05-04 02:16:37 +0200 (Sun, 04 May 2008) | 2 lines
-
-Use GQ_EDITOR_GENERIC_SLOTS instead of hardcoded value.
-
-------------------------------------------------------------------------
-r662 | zas_ | 2008-05-03 22:55:16 +0200 (Sat, 03 May 2008) | 2 lines
-
-exif_get_description_by_key(): check for "formatted." prefix, and optimize.
-
-------------------------------------------------------------------------
-r661 | zas_ | 2008-05-03 22:49:25 +0200 (Sat, 03 May 2008) | 2 lines
-
-exif_get_formatted_by_key(): skip prefix when comparing.
-
-------------------------------------------------------------------------
-r660 | zas_ | 2008-05-03 22:40:50 +0200 (Sat, 03 May 2008) | 5 lines
-
-Change the prefix of formatted exif tags to a more explicit "formatted." prefix
-instead of the shorter "f".
-Warning: custom overlay info string has to be modified since old names are no
-more recognized, one can reset it to default through Preferences > Advanced.
-
-------------------------------------------------------------------------
-r659 | zas_ | 2008-05-03 18:58:17 +0200 (Sat, 03 May 2008) | 17 lines
-
-Fix a bug occuring when using certain actions on a collection
-item which is not in the selection.
-Triggering it will either result in an assertion failure or a
-segfault.
-
-To reproduce:
-- open a collection
-- right-click on a non-selected image
-- select Delete... menu entry (or Copy, Move, Rename, Properties...)
-
-It results in the best case:
-** ERROR **: file filelist.c: line 905 (file_data_ref): assertion failed: (fd->magick == 0x12345678)
-or a pure segfault due to corrupted data.
-
-collection_table_popup_file_list() has to return a list of filedata *
-not a list of gchar *.
-
-------------------------------------------------------------------------
-r658 | zas_ | 2008-05-03 17:19:35 +0200 (Sat, 03 May 2008) | 3 lines
-
-Move marks-related fields from _ViewFileInfoList to _ViewFile, since
-they'll be used for file icon view too.
-
-------------------------------------------------------------------------
-r657 | zas_ | 2008-05-03 17:17:24 +0200 (Sat, 03 May 2008) | 3 lines
-
-Move common thumbs_* fields from _ViewFileInfoIcon and _ViewFileInfoList
-to _ViewFile.
-
-------------------------------------------------------------------------
-r656 | zas_ | 2008-05-03 17:13:15 +0200 (Sat, 03 May 2008) | 3 lines
-
-Rename thumbs_fd to thumbs_filedata in ViewFileIcon struct to match
-the name used in ViewFileList.
-
-------------------------------------------------------------------------
-r655 | zas_ | 2008-05-03 17:09:21 +0200 (Sat, 03 May 2008) | 2 lines
-
-Remove useless thumbs_list from ViewFileIcon.
-
-------------------------------------------------------------------------
-r654 | zas_ | 2008-05-03 14:50:52 +0200 (Sat, 03 May 2008) | 2 lines
-
-Add function prototypes (yet unused).
-
-------------------------------------------------------------------------
-r653 | zas_ | 2008-05-03 14:48:45 +0200 (Sat, 03 May 2008) | 3 lines
-
-Drop redundant vflist_thumbs_set() introduced in revision 649,
-modify and use existing vflist_thumb_set().
-
-------------------------------------------------------------------------
-r652 | zas_ | 2008-05-03 14:21:22 +0200 (Sat, 03 May 2008) | 2 lines
-
-Remove redundant prototype.
-
-------------------------------------------------------------------------
-r651 | zas_ | 2008-05-03 13:58:41 +0200 (Sat, 03 May 2008) | 2 lines
-
-Introduce ViewFileInfoList and ViewFileInfoIcon (not used yet).
-
-------------------------------------------------------------------------
-r650 | zas_ | 2008-05-03 13:34:13 +0200 (Sat, 03 May 2008) | 3 lines
-
-Replace Layout icon_view field by more generic file_view_type.
-Replace option layout.view_as_icons by layout.file_view_type.
-
-------------------------------------------------------------------------
-r649 | zas_ | 2008-05-03 12:31:37 +0200 (Sat, 03 May 2008) | 4 lines
-
-Set thumbs_enabled through new function vflist_thumbs_set() instead
-of vflist_new().
-
-
-------------------------------------------------------------------------
-r648 | zas_ | 2008-05-03 11:41:09 +0200 (Sat, 03 May 2008) | 3 lines
-
-Prepare merging of some parts of view_file_list and view_file_icon and
-simplification of view_file* interface.
-
-------------------------------------------------------------------------
-r647 | zas_ | 2008-05-03 10:35:08 +0200 (Sat, 03 May 2008) | 3 lines
-
-Change default positions of dividers since width of the main menu
-was increased.
-
-------------------------------------------------------------------------
-r646 | zas_ | 2008-05-03 01:11:31 +0200 (Sat, 03 May 2008) | 3 lines
-
-Make exif_rational_to_double() and exif_get_rational_as_double() static.
-
-
-------------------------------------------------------------------------
-r645 | zas_ | 2008-05-03 01:08:18 +0200 (Sat, 03 May 2008) | 3 lines
-
-info_notebook_reordered_cb(): do not call info_tabs_sync(), it causes exif
-info disappearing when moving the tab.
-
-------------------------------------------------------------------------
-r644 | zas_ | 2008-05-03 00:59:04 +0200 (Sat, 03 May 2008) | 3 lines
-
-Fix a Pango warning related to UTF8 when displaying internationalized
-description in Advanced Exif Properties panel.
-
-------------------------------------------------------------------------
-r643 | zas_ | 2008-05-03 00:31:24 +0200 (Sat, 03 May 2008) | 2 lines
-
-exif_get_description_by_key(): tidy up.
-
-------------------------------------------------------------------------
-r642 | zas_ | 2008-05-03 00:28:39 +0200 (Sat, 03 May 2008) | 3 lines
-
-Add a pointer to the build function in the formatted exif tags struct
-and use a loop in exif_get_formatted_by_key().
-
-------------------------------------------------------------------------
-r641 | zas_ | 2008-05-02 23:58:36 +0200 (Fri, 02 May 2008) | 2 lines
-
-Indentation fix.
-
-------------------------------------------------------------------------
-r640 | zas_ | 2008-05-02 23:34:26 +0200 (Fri, 02 May 2008) | 3 lines
-
-Explode exif_get_formatted_by_key() in smaller functions prefixed "exif_build_f".
-An helper macro was added to call them.
-
-------------------------------------------------------------------------
-r639 | zas_ | 2008-05-02 22:56:59 +0200 (Fri, 02 May 2008) | 3 lines
-
-Remove unused checksum_simple() function.
-
-
-------------------------------------------------------------------------
-r638 | zas_ | 2008-05-02 22:40:47 +0200 (Fri, 02 May 2008) | 2 lines
-
-Simplify remove_extension_from_path().
-
-------------------------------------------------------------------------
-r637 | zas_ | 2008-05-02 22:27:47 +0200 (Fri, 02 May 2008) | 2 lines
-
-remove_level_from_path() was simplified.
-
-------------------------------------------------------------------------
-r636 | zas_ | 2008-05-02 11:03:52 +0200 (Fri, 02 May 2008) | 2 lines
-
-Move variable declaration and affectation near where it is used.
-
-------------------------------------------------------------------------
-r635 | zas_ | 2008-05-02 10:41:32 +0200 (Fri, 02 May 2008) | 2 lines
-
-Replace GQView by Geeqie.
-
-------------------------------------------------------------------------
-r634 | zas_ | 2008-05-02 01:20:26 +0200 (Fri, 02 May 2008) | 2 lines
-
-Use sizeof() instead of hardcoded buffer sizes.
-
-------------------------------------------------------------------------
-r633 | zas_ | 2008-05-02 00:59:54 +0200 (Fri, 02 May 2008) | 2 lines
-
-cache_sim_write_similarity(): cleanup and simplification.
-
-------------------------------------------------------------------------
-r632 | zas_ | 2008-05-02 00:31:14 +0200 (Fri, 02 May 2008) | 2 lines
-
-Use secure_save stuff to write .sim files.
-
-------------------------------------------------------------------------
-r631 | zas_ | 2008-05-02 00:30:16 +0200 (Fri, 02 May 2008) | 2 lines
-
-save_options(): minor code simplification.
-
-------------------------------------------------------------------------
-r630 | zas_ | 2008-05-02 00:27:44 +0200 (Fri, 02 May 2008) | 2 lines
-
-Add a wrapper to fwrite().
-
-------------------------------------------------------------------------
-r629 | zas_ | 2008-05-01 23:42:22 +0200 (Thu, 01 May 2008) | 2 lines
-
-Typo fix.
-
-------------------------------------------------------------------------
-r628 | zas_ | 2008-05-01 20:37:50 +0200 (Thu, 01 May 2008) | 2 lines
-
-Indentation fixes.
-
-------------------------------------------------------------------------
-r627 | zas_ | 2008-05-01 20:26:30 +0200 (Thu, 01 May 2008) | 2 lines
-
-Simplify and optimize extension_find_dot().
-
-------------------------------------------------------------------------
-r626 | nadvornik | 2008-04-30 00:44:06 +0200 (Wed, 30 Apr 2008) | 2 lines
-
-fixed a memory leak
-
-------------------------------------------------------------------------
-r625 | nadvornik | 2008-04-29 20:12:49 +0200 (Tue, 29 Apr 2008) | 2 lines
-
-cleanup: use image_get_image_size
-
-------------------------------------------------------------------------
-r624 | nadvornik | 2008-04-29 19:52:12 +0200 (Tue, 29 Apr 2008) | 4 lines
-
-fixed connected zoom and scroll that didn't work in some cases
-http://sourceforge.net/tracker/index.php?func=detail&aid=1952429&group_id=222125&atid=1054680
-
-
-------------------------------------------------------------------------
-r623 | bruclik | 2008-04-28 01:31:20 +0200 (Mon, 28 Apr 2008) | 5 lines
-
-fix warning cast from pointer to integer of different size (when an integer is 
-passed instead of a pointer to a callback, GINT_TO_POINTER(i) should be used)
-
-
-
-------------------------------------------------------------------------
-r622 | nadvornik | 2008-04-27 22:05:11 +0200 (Sun, 27 Apr 2008) | 2 lines
-
-Added LIRC patch written by Matteo Beniamino
-
-------------------------------------------------------------------------
-r621 | zas_ | 2008-04-25 22:23:21 +0200 (Fri, 25 Apr 2008) | 2 lines
-
-Fix number of directory views, bug introduced in revision 617.
-
-------------------------------------------------------------------------
-r620 | nadvornik | 2008-04-25 22:08:47 +0200 (Fri, 25 Apr 2008) | 4 lines
-
-fixed dragging multiple files from file list
-http://sourceforge.net/tracker/index.php?func=detail&aid=1950740&group_id=222125&atid=1054680
-
-
-------------------------------------------------------------------------
-r619 | zas_ | 2008-04-25 11:31:32 +0200 (Fri, 25 Apr 2008) | 2 lines
-
-Add a line about variable and function names.
-
-------------------------------------------------------------------------
-r618 | zas_ | 2008-04-25 11:28:45 +0200 (Fri, 25 Apr 2008) | 3 lines
-
-Document the Geeqie coding style.
-This is a draft, please improve.
-
-------------------------------------------------------------------------
-r617 | zas_ | 2008-04-25 10:07:22 +0200 (Fri, 25 Apr 2008) | 3 lines
-
-Handle the case of reduction of the number of view directory types.
-Previously it was leading to a segfault.
-
-------------------------------------------------------------------------
-r616 | zas_ | 2008-04-24 22:29:09 +0200 (Thu, 24 Apr 2008) | 4 lines
-
-Allow to copy the path of a directory to clipboard from directory views.
-Show Copy path option has to be enabled.
-Suggested by Fr?\195?\169d?\195?\169ric Mantegazza.
-
-------------------------------------------------------------------------
-r615 | zas_ | 2008-04-24 22:18:59 +0200 (Thu, 24 Apr 2008) | 4 lines
-
-Do not allow to add anything but directories to sort bar in
-folder mode through drag'n'drop.
-Introduce a new field only_directories to _BookMarkData struct.
-
-------------------------------------------------------------------------
-r614 | zas_ | 2008-04-24 18:35:02 +0200 (Thu, 24 Apr 2008) | 2 lines
-
-Add missing spaces around equal sign.
-
-------------------------------------------------------------------------
-r613 | zas_ | 2008-04-24 18:32:20 +0200 (Thu, 24 Apr 2008) | 2 lines
-
-Cleanup exif_get_formatted_by_key().
-
-------------------------------------------------------------------------
-r612 | zas_ | 2008-04-24 17:57:58 +0200 (Thu, 24 Apr 2008) | 2 lines
-
-Add missing space.
-
-------------------------------------------------------------------------
-r611 | zas_ | 2008-04-24 17:53:08 +0200 (Thu, 24 Apr 2008) | 2 lines
-
-6 for() vs 201 for (): winner is for ().
-
-------------------------------------------------------------------------
-r610 | zas_ | 2008-04-24 17:49:57 +0200 (Thu, 24 Apr 2008) | 2 lines
-
-Convert the minority of while() to while ().
-
-------------------------------------------------------------------------
-r609 | zas_ | 2008-04-24 17:44:43 +0200 (Thu, 24 Apr 2008) | 2 lines
-
-Use only one secure_fprintf() call instead of two.
-
-------------------------------------------------------------------------
-r608 | zas_ | 2008-04-24 17:31:21 +0200 (Thu, 24 Apr 2008) | 2 lines
-
-Use sizeof().
-
-------------------------------------------------------------------------
-r607 | zas_ | 2008-04-24 14:47:09 +0200 (Thu, 24 Apr 2008) | 2 lines
-
-Remove whitespace between function name and first parenthesis for the sake of consistency. (pass 2)
-
-------------------------------------------------------------------------
-r606 | zas_ | 2008-04-24 14:23:02 +0200 (Thu, 24 Apr 2008) | 2 lines
-
-Remove whitespace between function name and first parenthesis for the sake of consistency.
-
-------------------------------------------------------------------------
-r605 | zas_ | 2008-04-24 13:40:26 +0200 (Thu, 24 Apr 2008) | 2 lines
-
-Indentation fix.
-
-------------------------------------------------------------------------
-r604 | zas_ | 2008-04-24 11:50:37 +0200 (Thu, 24 Apr 2008) | 1 line
-
-Display file_data debug messages only at level 2.
-------------------------------------------------------------------------
-r603 | zas_ | 2008-04-24 11:43:23 +0200 (Thu, 24 Apr 2008) | 2 lines
-
-Move get_exec_time() to debug.{c,h}.
-
-------------------------------------------------------------------------
-r602 | zas_ | 2008-04-24 11:09:48 +0200 (Thu, 24 Apr 2008) | 2 lines
-
-Move options stuff to options.{c,h} and remove globals.c
-
-------------------------------------------------------------------------
-r601 | zas_ | 2008-04-24 10:53:39 +0200 (Thu, 24 Apr 2008) | 5 lines
-
-Move debug macros from main.h to new debug.h.
-Make debug_level static to debug.c and add utility functions
-to manipulate it.
-Add #include "debug.h" where needed.
-
-------------------------------------------------------------------------
-r600 | zas_ | 2008-04-24 02:15:03 +0200 (Thu, 24 Apr 2008) | 3 lines
-
-Handle the newline in DEBUG_N() macro instead of adding one
-in each debug message string.
-
-------------------------------------------------------------------------
-r599 | zas_ | 2008-04-24 01:52:20 +0200 (Thu, 24 Apr 2008) | 2 lines
-
-French translation was updated.
-
-------------------------------------------------------------------------
-r598 | zas_ | 2008-04-24 01:51:02 +0200 (Thu, 24 Apr 2008) | 2 lines
-
-Make image_osd_histogram_onoff_toggle() and image_osd_histogram_onoff_status() static.
-
-------------------------------------------------------------------------
-r597 | zas_ | 2008-04-24 01:47:53 +0200 (Thu, 24 Apr 2008) | 2 lines
-
-Fix image overlay displayed only on second "I" press in layout view.
-
-------------------------------------------------------------------------
-r596 | zas_ | 2008-04-24 01:35:13 +0200 (Thu, 24 Apr 2008) | 3 lines
-
-Display file and line along debug messages for any debug level but level 1.
-Add a DEBUG_0() macro for instant debugging.
-
-------------------------------------------------------------------------
-r595 | zas_ | 2008-04-24 00:40:55 +0200 (Thu, 24 Apr 2008) | 4 lines
-
-Fix Gtk-CRITICAL **: gtk_entry_set_text: assertion `GTK_IS_ENTRY (entry)' failed
-occuring when toggling file list view <-> file icon view.
-
-
-------------------------------------------------------------------------
-r594 | nadvornik | 2008-04-24 00:38:34 +0200 (Thu, 24 Apr 2008) | 2 lines
-
-clear the buffer before loading of an image
-
-------------------------------------------------------------------------
-r593 | zas_ | 2008-04-24 00:33:18 +0200 (Thu, 24 Apr 2008) | 2 lines
-
-Use menu_item_add_stock_sensitive() and menu_item_add_sensitive().
-
-------------------------------------------------------------------------
-r592 | zas_ | 2008-04-24 00:22:37 +0200 (Thu, 24 Apr 2008) | 2 lines
-
-Update to contributors list.
-
-------------------------------------------------------------------------
-r591 | zas_ | 2008-04-24 00:17:21 +0200 (Thu, 24 Apr 2008) | 8 lines
-
-Allow the copy of file paths to clipboard.
-This feature is disabled by default, it can be set through
-Preferences > Advanced > Behavior > Show "Copy path" ...
-When enabled, it adds a menu entry "Copy path" that let the
-user copies current selection's paths to X clipboard.
-It is very convenient to paste paths to xterm for example.
-Patch by Carles Pina i Estany and me.
-
-------------------------------------------------------------------------
-r590 | nadvornik | 2008-04-23 23:08:29 +0200 (Wed, 23 Apr 2008) | 2 lines
-
-fixed a bug in opening files with non-utf8 locales in exiv2.cc
-
-------------------------------------------------------------------------
-r589 | zas_ | 2008-04-23 22:47:19 +0200 (Wed, 23 Apr 2008) | 9 lines
-
-Introduce macros to display debug messages.
-if (debug) printf(...) is now replaced by variadic macros:
-DEBUG_1()
-And for higher debugging levels:
-DEBUG_2()
-DEBUG_3()
-DEBUG_4()
-
-
-------------------------------------------------------------------------
-r588 | zas_ | 2008-04-23 15:46:18 +0200 (Wed, 23 Apr 2008) | 7 lines
-
-Honor Control and Shift keys while drag'n'droping files
-to directories.
-Before a menu (Copy/Move/Cancel) was always displayed, now
-if the user hold Shift key or Control key, the menu
-is not shown, but move or copy actions take place.
-If no modifier key is used, the menu is displayed as usual.
-
-------------------------------------------------------------------------
-r587 | zas_ | 2008-04-23 15:03:04 +0200 (Wed, 23 Apr 2008) | 2 lines
-
-Only display message if in debug mode.
-
-------------------------------------------------------------------------
-r586 | zas_ | 2008-04-23 11:56:21 +0200 (Wed, 23 Apr 2008) | 5 lines
-
-Fix adding a selection to a collection with no window open
-using the sort manager. Only one file was added, now all
-files in the selection are added (but duplicates).
-A pointer was not reset correctly.
-
-------------------------------------------------------------------------
-r585 | zas_ | 2008-04-23 01:53:24 +0200 (Wed, 23 Apr 2008) | 2 lines
-
-Save sort manager state to rc file.
-
-------------------------------------------------------------------------
-r584 | zas_ | 2008-04-23 00:45:51 +0200 (Wed, 23 Apr 2008) | 2 lines
-
-Remove unused function bar_info_size_request().
-
-------------------------------------------------------------------------
-r583 | zas_ | 2008-04-23 00:44:10 +0200 (Wed, 23 Apr 2008) | 3 lines
-
-Save state and width of exif, info and sort panels to rc file.
-Width is restored only if save windows dimensions is set.
-
-------------------------------------------------------------------------
-r581 | nadvornik | 2008-04-22 21:26:07 +0200 (Tue, 22 Apr 2008) | 2 lines
-
-updated ChangeLog from svn log
-
-------------------------------------------------------------------------
-r580 | nadvornik | 2008-04-22 20:06:38 +0200 (Tue, 22 Apr 2008) | 2 lines
-
-fixed version string ;)
-
-------------------------------------------------------------------------
-r579 | nadvornik | 2008-04-22 19:45:08 +0200 (Tue, 22 Apr 2008) | 2 lines
-
-updated version number
-
-------------------------------------------------------------------------
-r578 | nadvornik | 2008-04-22 19:40:29 +0200 (Tue, 22 Apr 2008) | 2 lines
-
-fixed reading of signed rational type with Exiv2
-
-------------------------------------------------------------------------
-r577 | nadvornik | 2008-04-22 11:57:26 +0200 (Tue, 22 Apr 2008) | 2 lines
-
-fixed instalation of doc files
-
-------------------------------------------------------------------------
-r576 | zas_ | 2008-04-22 11:40:05 +0200 (Tue, 22 Apr 2008) | 3 lines
-
-Correctly escape data before using pango_layout_set_markup().
-Exif data may contain characters like & or < >.
-
-------------------------------------------------------------------------
-r575 | zas_ | 2008-04-22 11:01:29 +0200 (Tue, 22 Apr 2008) | 3 lines
-
-Use image_osd_toggle() in layout_menu_overlay_cb().
-Drop layout_image_overlay_update().
-
-------------------------------------------------------------------------
-r574 | zas_ | 2008-04-22 10:53:07 +0200 (Tue, 22 Apr 2008) | 2 lines
-
-Merge view_overlay_toggle() and layout_image_overlay_toggle() into new image_osd_toggle().
-
-------------------------------------------------------------------------
-r573 | zas_ | 2008-04-22 10:34:30 +0200 (Tue, 22 Apr 2008) | 3 lines
-
-Make histogram depends on image window not layout window.
-It simplifies the code, and make more sense.
-
-------------------------------------------------------------------------
-r572 | zas_ | 2008-04-22 10:16:02 +0200 (Tue, 22 Apr 2008) | 4 lines
-
-Ensure Properties dialog is displayed above fullscreen window.
-Add a parameter to info_window_new() to pass parent window and
-revert patch 472.
-
-------------------------------------------------------------------------
-r571 | zas_ | 2008-04-22 00:19:32 +0200 (Tue, 22 Apr 2008) | 2 lines
-
-Indicate bugs and feature requests trackers, remove obsolete stuff.
-
-------------------------------------------------------------------------
-r570 | zas_ | 2008-04-22 00:15:56 +0200 (Tue, 22 Apr 2008) | 2 lines
-
-Lowercased name.
-
-------------------------------------------------------------------------
-r569 | zas_ | 2008-04-22 00:14:57 +0200 (Tue, 22 Apr 2008) | 2 lines
-
-. -> dot
-
-------------------------------------------------------------------------
-r568 | nadvornik | 2008-04-21 23:46:38 +0200 (Mon, 21 Apr 2008) | 2 lines
-
-updated copyright in source files
-
-------------------------------------------------------------------------
-r567 | zas_ | 2008-04-21 22:45:35 +0200 (Mon, 21 Apr 2008) | 3 lines
-
-Properly initialize image_overlay options.
-
-
-------------------------------------------------------------------------
-r566 | zas_ | 2008-04-21 22:42:18 +0200 (Mon, 21 Apr 2008) | 2 lines
-
-Few more fixes to french translation.
-
-------------------------------------------------------------------------
-r565 | zas_ | 2008-04-21 22:39:36 +0200 (Mon, 21 Apr 2008) | 3 lines
-
-Add some macros to handle rc file compatibility issues related to
-option name changes.
-
-------------------------------------------------------------------------
-r564 | zas_ | 2008-04-21 22:27:39 +0200 (Mon, 21 Apr 2008) | 2 lines
-
-Minor french translation fix.
-
-------------------------------------------------------------------------
-r563 | zas_ | 2008-04-21 22:24:15 +0200 (Mon, 21 Apr 2008) | 2 lines
-
-French translation was updated.
-
-------------------------------------------------------------------------
-r562 | zas_ | 2008-04-21 22:12:49 +0200 (Mon, 21 Apr 2008) | 6 lines
-
-Rename few functions and replace fullscreen info with image overlay template string.
-fullscreen_info_default_cb() -> image_overlay_default_template_cb()
-fullscreen_info_default_ok_cb() -> image_overlay_default_template_ok_cb()
-set_default_fullscreen_info() -> set_default_image_overlay_template_string() (moved to image-overlay.h)
-
-
-------------------------------------------------------------------------
-r561 | zas_ | 2008-04-21 22:01:22 +0200 (Mon, 21 Apr 2008) | 9 lines
-
-Replace fullscreen.info and fullscreen.show_info options by:
-image_overlay.common.enabled => to save last state to rc file
-image_overlay.common.show_at_startup => overrides .common.enabled at startup
-image_overlay.common.template_string => replace fullscreen.info
-
-common is used since for now there is only one image overlay setup,
-later specific setups may be added.
-
-
-------------------------------------------------------------------------
-r560 | nadvornik | 2008-04-21 21:42:58 +0200 (Mon, 21 Apr 2008) | 2 lines
-
-fixed another "gqview" occurence
-
-------------------------------------------------------------------------
-r559 | nadvornik | 2008-04-21 21:10:41 +0200 (Mon, 21 Apr 2008) | 2 lines
-
-updated NEWS, README and other documentation files
-
-------------------------------------------------------------------------
-r558 | nadvornik | 2008-04-21 20:09:30 +0200 (Mon, 21 Apr 2008) | 2 lines
-
-renamed no.po to nb.po
-
-------------------------------------------------------------------------
-r557 | zas_ | 2008-04-21 17:30:16 +0200 (Mon, 21 Apr 2008) | 3 lines
-
-Fix a segfault occuring when pressing 'i' for overlay info
-in a separate image window (no layout).
-
-------------------------------------------------------------------------
-r556 | zas_ | 2008-04-21 16:19:48 +0200 (Mon, 21 Apr 2008) | 2 lines
-
-histogram_draw(): tidy up.
-
-------------------------------------------------------------------------
-r555 | zas_ | 2008-04-21 15:39:17 +0200 (Mon, 21 Apr 2008) | 2 lines
-
-histogram_read(): speed up calculations by 20%.
-
-------------------------------------------------------------------------
-r554 | zas_ | 2008-04-21 13:44:03 +0200 (Mon, 21 Apr 2008) | 2 lines
-
-histogram_read(): use memset() to initialize histogram data instead of for() loop.
-
-------------------------------------------------------------------------
-r553 | zas_ | 2008-04-21 12:11:55 +0200 (Mon, 21 Apr 2008) | 2 lines
-
-French translation was updated.
-
-------------------------------------------------------------------------
-r552 | zas_ | 2008-04-21 12:10:23 +0200 (Mon, 21 Apr 2008) | 2 lines
-
-Add compat.c to POTFILES
-
-------------------------------------------------------------------------
-r551 | zas_ | 2008-04-21 12:09:01 +0200 (Mon, 21 Apr 2008) | 4 lines
-
-Allow the user to set the drag'n drop icon size through
-Preferences > Advanced > Behavior > Drag'n drop icon size.
-It is saved to rc file as dnd_icon_size.
-
-------------------------------------------------------------------------
-r550 | zas_ | 2008-04-21 01:17:35 +0200 (Mon, 21 Apr 2008) | 4 lines
-
-Add a replacement for gtk_radio_action_set_current_value() which
-require GTK+ >= 2.10.
-Two new files were added, compat.h and compat.c.
-
-------------------------------------------------------------------------
-r549 | zas_ | 2008-04-21 00:51:53 +0200 (Mon, 21 Apr 2008) | 2 lines
-
-French translation was updated.
-
-------------------------------------------------------------------------
-r548 | zas_ | 2008-04-21 00:45:00 +0200 (Mon, 21 Apr 2008) | 2 lines
-
-Add number mnemonics to image view editors submenu.
-
-------------------------------------------------------------------------
-r547 | zas_ | 2008-04-21 00:29:23 +0200 (Mon, 21 Apr 2008) | 3 lines
-
-Prefix editor entries in the main menu with numbers.
-It allows Alt+E+number as shortcut to start an editor.
-
-------------------------------------------------------------------------
-r546 | zas_ | 2008-04-21 00:14:54 +0200 (Mon, 21 Apr 2008) | 2 lines
-
-Add missing shortcuts.
-
-------------------------------------------------------------------------
-r545 | nadvornik | 2008-04-21 00:14:38 +0200 (Mon, 21 Apr 2008) | 3 lines
-
-fixed color profile code for older versions of exiv2
-compilation fixes
-
-------------------------------------------------------------------------
-r544 | zas_ | 2008-04-21 00:01:26 +0200 (Mon, 21 Apr 2008) | 4 lines
-
-Mark slideshow toggle state in the menu.
-There is still an issue due to layout vs view slideshows...
-
-
-------------------------------------------------------------------------
-r543 | zas_ | 2008-04-20 23:38:45 +0200 (Sun, 20 Apr 2008) | 2 lines
-
-Fix a typo introduced by revision 521.
-
-------------------------------------------------------------------------
-r542 | nadvornik | 2008-04-20 23:35:03 +0200 (Sun, 20 Apr 2008) | 2 lines
-
-read color profiles from jpeg also with Exiv2
-
-------------------------------------------------------------------------
-r541 | zas_ | 2008-04-20 23:30:36 +0200 (Sun, 20 Apr 2008) | 6 lines
-
-Use explicit names for mouse buttons instead of numbers.
-MOUSE_BUTTON_LEFT   = 1
-MOUSE_BUTTON_MIDDLE = 2
-MOUSE_BUTTON_RIGHT  = 3
-It makes the code easier to read.
-
-------------------------------------------------------------------------
-r540 | zas_ | 2008-04-20 22:35:26 +0200 (Sun, 20 Apr 2008) | 2 lines
-
-Fix a typo: unoffical -> unofficial
-
-------------------------------------------------------------------------
-r539 | zas_ | 2008-04-20 20:07:51 +0200 (Sun, 20 Apr 2008) | 2 lines
-
-Effectively drop empty newlines at end of files (missing from rev 535)
-
-------------------------------------------------------------------------
-r538 | zas_ | 2008-04-20 18:50:19 +0200 (Sun, 20 Apr 2008) | 3 lines
-
-comment_file_read(): rewrite the parser, drop leading and trailing newlines
-in comment.
-
-------------------------------------------------------------------------
-r537 | zas_ | 2008-04-20 15:42:22 +0200 (Sun, 20 Apr 2008) | 2 lines
-
-Minor cleanup and code redundancy reduction.
-
-------------------------------------------------------------------------
-r536 | zas_ | 2008-04-20 15:30:36 +0200 (Sun, 20 Apr 2008) | 2 lines
-
-editor_command_one(): tidy up.
-
-------------------------------------------------------------------------
-r535 | zas_ | 2008-04-20 15:04:57 +0200 (Sun, 20 Apr 2008) | 6 lines
-
-Big whitespaces cleanup:
-- drop whitespaces at end of lines
-- convert eight spaces to tab at start of lines
-- drop spurious spaces mixed with tabs
-- remove empty lines at end of files
-
-------------------------------------------------------------------------
-r534 | zas_ | 2008-04-20 12:05:27 +0200 (Sun, 20 Apr 2008) | 3 lines
-
-Allow the user to change open_recent_list_maxsize option through
-Preferences > Advanced > Navigation.
-
-------------------------------------------------------------------------
-r533 | nadvornik | 2008-04-20 11:53:37 +0200 (Sun, 20 Apr 2008) | 2 lines
-
-rm as external delete command is too dangerous, even for testing
-
-------------------------------------------------------------------------
-r532 | zas_ | 2008-04-20 11:47:51 +0200 (Sun, 20 Apr 2008) | 2 lines
-
-Add a way to restore original state in Adjust menu.
-
-------------------------------------------------------------------------
-r531 | nadvornik | 2008-04-20 11:29:46 +0200 (Sun, 20 Apr 2008) | 2 lines
-
-added fColorProfile pseudo-tag with detailed information
-
-------------------------------------------------------------------------
-r530 | zas_ | 2008-04-20 11:02:05 +0200 (Sun, 20 Apr 2008) | 3 lines
-
-Fix the case "orientation from FileData, color profile from exif".
-Reported by Vladimir Nadvornik.
-
-------------------------------------------------------------------------
-r529 | zas_ | 2008-04-20 01:12:30 +0200 (Sun, 20 Apr 2008) | 3 lines
-
-Rename inappropriate folder_size to folder.
-
-
-------------------------------------------------------------------------
-r528 | zas_ | 2008-04-20 00:32:07 +0200 (Sun, 20 Apr 2008) | 2 lines
-
-Use sizeof() for buffer size where appropriate.
-
-------------------------------------------------------------------------
-r527 | zas_ | 2008-04-19 23:50:05 +0200 (Sat, 19 Apr 2008) | 2 lines
-
-Keep image orientation set by the user during the session.
-
-------------------------------------------------------------------------
-r526 | zas_ | 2008-04-19 23:30:19 +0200 (Sat, 19 Apr 2008) | 3 lines
-
-Save Show Marks state to rc file and display current state in menu.
-It is saved as boolean option layout.show_marks.
-
-------------------------------------------------------------------------
-r525 | nadvornik | 2008-04-19 23:20:08 +0200 (Sat, 19 Apr 2008) | 2 lines
-
-fixed max. number of profiles
-
-------------------------------------------------------------------------
-r524 | zas_ | 2008-04-19 23:18:24 +0200 (Sat, 19 Apr 2008) | 2 lines
-
-Sort options.
-
-------------------------------------------------------------------------
-r523 | nadvornik | 2008-04-19 23:10:18 +0200 (Sat, 19 Apr 2008) | 2 lines
-
-fixed color profile index
-
-------------------------------------------------------------------------
-r522 | zas_ | 2008-04-19 22:53:12 +0200 (Sat, 19 Apr 2008) | 2 lines
-
-Let toggle marks with numeric keypad.
-
-------------------------------------------------------------------------
-r521 | nadvornik | 2008-04-19 22:19:27 +0200 (Sat, 19 Apr 2008) | 4 lines
-
-I have finally found how to add alternative hotkeys
-removed more hard-coded keys
-"Split Quad" is without hotkey for now
-
-------------------------------------------------------------------------
-r520 | zas_ | 2008-04-19 21:28:10 +0200 (Sat, 19 Apr 2008) | 3 lines
-
-Accept keywords composed by two words ("Todo" = "A faire" in french).
-Prevent duplicate keywords in the list.
-
-------------------------------------------------------------------------
-r519 | nadvornik | 2008-04-19 19:55:41 +0200 (Sat, 19 Apr 2008) | 2 lines
-
-show the AdobeRGB profile in the menu, indicate input profile from image
-
-------------------------------------------------------------------------
-r518 | zas_ | 2008-04-19 19:14:03 +0200 (Sat, 19 Apr 2008) | 2 lines
-
-file_dat_unref: display number of references as well of path (debug only).
-
-------------------------------------------------------------------------
-r517 | nadvornik | 2008-04-19 18:26:29 +0200 (Sat, 19 Apr 2008) | 2 lines
-
-first support for AdobeRGB colorspace
-
-------------------------------------------------------------------------
-r516 | zas_ | 2008-04-19 18:10:08 +0200 (Sat, 19 Apr 2008) | 2 lines
-
-French translation fixes.
-
-------------------------------------------------------------------------
-r515 | zas_ | 2008-04-19 15:40:20 +0200 (Sat, 19 Apr 2008) | 3 lines
-
-French translation fixes and updates.
-
-
-------------------------------------------------------------------------
-r514 | zas_ | 2008-04-19 15:39:21 +0200 (Sat, 19 Apr 2008) | 2 lines
-
-Add missing _().
-
-------------------------------------------------------------------------
-r513 | zas_ | 2008-04-19 14:46:59 +0200 (Sat, 19 Apr 2008) | 4 lines
-
-Add the possibility to update only one translation file using,
-for example: make update-po PO=fr
-autogen.sh applies a patch made against glib-gettextize generated Makefile.in.in
-
-------------------------------------------------------------------------
-r512 | zas_ | 2008-04-19 13:11:53 +0200 (Sat, 19 Apr 2008) | 5 lines
-
-Cleanup last patch:
-- drop vd_pop_menu_dir_view_as_cb() since it is now unused.
-- use G_N_ELEMENTS()
-
-
-------------------------------------------------------------------------
-r511 | nadvornik | 2008-04-19 11:49:14 +0200 (Sat, 19 Apr 2008) | 2 lines
-
-improved spec file
-
-------------------------------------------------------------------------
-r510 | zas_ | 2008-04-19 11:36:30 +0200 (Sat, 19 Apr 2008) | 3 lines
-
-Fix directory view popup menu to display a View As submenu
-to switch between different directory views.
-
-------------------------------------------------------------------------
-r509 | zas_ | 2008-04-19 01:35:16 +0200 (Sat, 19 Apr 2008) | 2 lines
-
-gimp-remote has no -n option.
-
-------------------------------------------------------------------------
-r508 | zas_ | 2008-04-19 01:09:03 +0200 (Sat, 19 Apr 2008) | 4 lines
-
-Add zoom ratio display to OSD in fullscreen mode.
-It appears as [%zoom%] in fullscreen info string.
-It is now displayed by default.
-
-------------------------------------------------------------------------
-r507 | nadvornik | 2008-04-19 00:31:58 +0200 (Sat, 19 Apr 2008) | 2 lines
-
-partially fixed reading embedded color profiles with exiv2
-
-------------------------------------------------------------------------
-r506 | zas_ | 2008-04-19 00:15:01 +0200 (Sat, 19 Apr 2008) | 5 lines
-
-Add two new options to control image read buffer at runtime.
-They are available in Preferences > Advanced > Image loading and caching.
-Default read buffer size was set to 4096 instead of 512.
-These options are saved to rc file.
-
-------------------------------------------------------------------------
-r505 | zas_ | 2008-04-18 23:53:33 +0200 (Fri, 18 Apr 2008) | 2 lines
-
-Display elapsed time since previous get_exec_time() call (debug only).
-
-------------------------------------------------------------------------
-r504 | zas_ | 2008-04-18 23:51:08 +0200 (Fri, 18 Apr 2008) | 2 lines
-
-Remove forgotten debug printf().
-
-------------------------------------------------------------------------
-r503 | zas_ | 2008-04-18 23:42:00 +0200 (Fri, 18 Apr 2008) | 2 lines
-
-Fix OSD display when fullscreen info string is empty.
-
-------------------------------------------------------------------------
-r502 | nadvornik | 2008-04-18 23:30:12 +0200 (Fri, 18 Apr 2008) | 2 lines
-
-replace inner loops with memcpy
-
-------------------------------------------------------------------------
-r501 | zas_ | 2008-04-18 22:41:09 +0200 (Fri, 18 Apr 2008) | 5 lines
-
-Explode pr_tile_mirror() in three optimized functions:
-pr_tile_mirror_only()
-pr_tile_mirror_and_flip()
-pr_tile_flip_only()
-
-------------------------------------------------------------------------
-r500 | zas_ | 2008-04-18 18:53:41 +0200 (Fri, 18 Apr 2008) | 5 lines
-
-Rename vd_drop_update() to vd_dnd_drop_update().
-Add two function pointers to ViewDir struct to keep
-vdtree_dnd_drop_expand_cancel() and vdtree_dnd_drop_expand()
-static to view_dir_tree.c.
-
-------------------------------------------------------------------------
-r499 | zas_ | 2008-04-18 18:29:47 +0200 (Fri, 18 Apr 2008) | 2 lines
-
-Drop 3 useless #define.
-
-------------------------------------------------------------------------
-r498 | zas_ | 2008-04-18 18:25:40 +0200 (Fri, 18 Apr 2008) | 4 lines
-
-Fix forgotten vd->pf affectation.
-Cleanup, and reduce code redundancy a bit.
-
-
-------------------------------------------------------------------------
-r497 | zas_ | 2008-04-18 13:01:41 +0200 (Fri, 18 Apr 2008) | 6 lines
-
-Explode pr_tile_rotate_90() in two functions:
-pr_tile_rotate_90_clockwise()
-pr_tile_rotate_90_counter_clockwise()
-Optimize the code at the expense of a bit of code redundancy:
-tests were moved outside the loops, intermediate results are now cached.
-
-------------------------------------------------------------------------
-r496 | zas_ | 2008-04-18 11:15:09 +0200 (Fri, 18 Apr 2008) | 2 lines
-
-Introduce printf_term() macro and use it.
-
-------------------------------------------------------------------------
-r495 | zas_ | 2008-04-17 22:14:49 +0200 (Thu, 17 Apr 2008) | 3 lines
-
-Add a shortcut key for List (L) and change the one for Tree (T),
-they are now in a submenu.
-
-------------------------------------------------------------------------
-r494 | zas_ | 2008-04-17 22:03:49 +0200 (Thu, 17 Apr 2008) | 2 lines
-
-Add some wrappers in view_dir.c and simplify even more.
-
-------------------------------------------------------------------------
-r493 | zas_ | 2008-04-17 21:57:41 +0200 (Thu, 17 Apr 2008) | 2 lines
-
-Fix a bug introduced in revision 489.
-
-------------------------------------------------------------------------
-r492 | zas_ | 2008-04-17 20:44:17 +0200 (Thu, 17 Apr 2008) | 3 lines
-
-Reduce code redundancy with the introduction of a new
-function named vd_get_fd_from_tree_path().
-
-------------------------------------------------------------------------
-r491 | nadvornik | 2008-04-17 19:44:54 +0200 (Thu, 17 Apr 2008) | 3 lines
-
-image post-processing (rotation and color management) moved to
-pixbuf-renderer
-
-------------------------------------------------------------------------
-r490 | zas_ | 2008-04-17 19:35:51 +0200 (Thu, 17 Apr 2008) | 3 lines
-
-Merge vd(list|tree)_release_cb() in vd_release_cb().
-I made some assumptions here i hope correct.
-
-------------------------------------------------------------------------
-r489 | zas_ | 2008-04-17 19:19:41 +0200 (Thu, 17 Apr 2008) | 2 lines
-
-Merge few more functions to view_dir.c.
-
-------------------------------------------------------------------------
-r488 | zas_ | 2008-04-17 18:33:31 +0200 (Thu, 17 Apr 2008) | 2 lines
-
-Move common menu position callback to view_dir.c.
-
-------------------------------------------------------------------------
-r487 | zas_ | 2008-04-17 16:51:32 +0200 (Thu, 17 Apr 2008) | 2 lines
-
-Merge dirlist/dirview dnd code.
-
-------------------------------------------------------------------------
-r486 | zas_ | 2008-04-17 00:51:32 +0200 (Thu, 17 Apr 2008) | 2 lines
-
-Regenerate translations files and update french translation.
-
-------------------------------------------------------------------------
-r485 | zas_ | 2008-04-17 00:31:52 +0200 (Thu, 17 Apr 2008) | 2 lines
-
-Fix new folder feature in dirlist mode, it was broken by revision 481.
-
-------------------------------------------------------------------------
-r484 | zas_ | 2008-04-17 00:23:43 +0200 (Thu, 17 Apr 2008) | 2 lines
-
-Fix a crash introduced in revision 477.
-
-------------------------------------------------------------------------
-r483 | zas_ | 2008-04-17 00:21:01 +0200 (Thu, 17 Apr 2008) | 2 lines
-
-Fix two errors made in revision 473.
-
-------------------------------------------------------------------------
-r482 | zas_ | 2008-04-16 23:58:05 +0200 (Wed, 16 Apr 2008) | 2 lines
-
-Merge few more vdlist/vdtree functions.
-
-------------------------------------------------------------------------
-r481 | zas_ | 2008-04-16 22:36:10 +0200 (Wed, 16 Apr 2008) | 2 lines
-
-Make directory view popup menu common and move it to view_dir.{c,h}.
-
-------------------------------------------------------------------------
-r480 | nadvornik | 2008-04-16 22:32:44 +0200 (Wed, 16 Apr 2008) | 2 lines
-
-fixed compiler warnings
-
-------------------------------------------------------------------------
-r479 | nadvornik | 2008-04-16 22:15:42 +0200 (Wed, 16 Apr 2008) | 2 lines
-
-in debug mode print time information on selected events
-
-------------------------------------------------------------------------
-r478 | zas_ | 2008-04-16 20:57:50 +0200 (Wed, 16 Apr 2008) | 2 lines
-
-Clean up and simplify.
-
-------------------------------------------------------------------------
-r477 | zas_ | 2008-04-16 18:54:38 +0200 (Wed, 16 Apr 2008) | 3 lines
-
-Merge parts of view_dir_list/tree constructors/destructors to
-view_dir.
-
-------------------------------------------------------------------------
-r476 | zas_ | 2008-04-16 18:05:12 +0200 (Wed, 16 Apr 2008) | 3 lines
-
-Move some dnd common code from view_dir_list.c and view_dir_tree.c
-to view_dir.c.
-
-------------------------------------------------------------------------
-r475 | zas_ | 2008-04-16 16:56:31 +0200 (Wed, 16 Apr 2008) | 2 lines
-
-Rename vdt occurences to vd.
-
-------------------------------------------------------------------------
-r474 | zas_ | 2008-04-16 16:51:39 +0200 (Wed, 16 Apr 2008) | 2 lines
-
-Rename vdl occurences to vd.
-
-------------------------------------------------------------------------
-r473 | zas_ | 2008-04-16 16:45:22 +0200 (Wed, 16 Apr 2008) | 11 lines
-
-Introduce a new struct ViewDir to handle directory views common
-data.
-Specific data is now in ViewDirInfoList and ViewDirInfoTree.
-Type of directory view can be specified with enum DirViewType.
-This is saved to rc file as layout.dir_view_type, which replace
-layout.view_as_tree.
-Code was modified to reflect these changes.
-This is a first to move to merge common code of view_dir_list.c
-and view_dir_tree.c and ease the introduction of new types
-of directory view.
-
-------------------------------------------------------------------------
-r472 | zas_ | 2008-04-15 23:49:28 +0200 (Tue, 15 Apr 2008) | 2 lines
-
-Indicate --debug[=level] in usage display.
-
-------------------------------------------------------------------------
-r471 | zas_ | 2008-04-15 23:47:03 +0200 (Tue, 15 Apr 2008) | 4 lines
-
-Parse command line for --debug option as soon as possible and allow
---debug[=level] syntax.
-Only display message indication debug level once.
-
-------------------------------------------------------------------------
-r470 | zas_ | 2008-04-15 23:06:00 +0200 (Tue, 15 Apr 2008) | 2 lines
-
-Cleanup read/write of image.zoom_mode option.
-
-------------------------------------------------------------------------
-r469 | zas_ | 2008-04-15 22:56:55 +0200 (Tue, 15 Apr 2008) | 2 lines
-
-Read show_icon_names only once.
-
-------------------------------------------------------------------------
-r468 | zas_ | 2008-04-15 22:55:21 +0200 (Tue, 15 Apr 2008) | 2 lines
-
-Rename l_conf to layout_order and make it more local.
-
-------------------------------------------------------------------------
-r467 | zas_ | 2008-04-15 22:46:14 +0200 (Tue, 15 Apr 2008) | 5 lines
-
-Fix a bug that was here since a long time, buf has nothing
-to do with options->layout.order, so compare it to l_conf instead.
-It fixes refreshing of files and directories lists when changing
-filtering options.
-
-------------------------------------------------------------------------
-r466 | zas_ | 2008-04-15 22:36:11 +0200 (Tue, 15 Apr 2008) | 6 lines
-
-Add a new option in Preferences > Filtering to allow the
-user to choose to display '.' directory in folder lists or not.
-This option is saved to rc file as file_filter.show_dot_directory.
-A minor fix was made to disable display of .. in folder selection
-dialogs when current path is /.
-
-------------------------------------------------------------------------
-r465 | zas_ | 2008-04-15 22:00:27 +0200 (Tue, 15 Apr 2008) | 2 lines
-
-Add and use few new macros in rc file writing code.
-
-------------------------------------------------------------------------
-r464 | nadvornik | 2008-04-15 20:34:24 +0200 (Tue, 15 Apr 2008) | 2 lines
-
-this might fix the freezes on freebsd, solaris, etc.
-
-------------------------------------------------------------------------
-r463 | nadvornik | 2008-04-15 18:57:30 +0200 (Tue, 15 Apr 2008) | 2 lines
-
-save file_class to config file
-
-------------------------------------------------------------------------
-r462 | zas_ | 2008-04-15 09:16:51 +0200 (Tue, 15 Apr 2008) | 2 lines
-
-Exit fullscreen mode when Properties is displayed.
-
-------------------------------------------------------------------------
-r461 | zas_ | 2008-04-15 08:56:25 +0200 (Tue, 15 Apr 2008) | 7 lines
-
-New Go to directory view feature that permits to find and display the directory
-corresponding to an image view.
-For example, when you open an image in new window from collection, right clicking on
-the newly displayed image will let you choose Go to directory view, which would open
-a new window, with image and directory list.
-If current directory is the one of the image, menu item is disabled.
-
-------------------------------------------------------------------------
-r460 | zas_ | 2008-04-15 01:47:13 +0200 (Tue, 15 Apr 2008) | 2 lines
-
-Move layout.order default init to setup_default_options().
-
-------------------------------------------------------------------------
-r459 | zas_ | 2008-04-15 01:39:46 +0200 (Tue, 15 Apr 2008) | 2 lines
-
-collection_load(): use booleans and always count failures (for debug). 
-
-------------------------------------------------------------------------
-r458 | zas_ | 2008-04-15 01:29:54 +0200 (Tue, 15 Apr 2008) | 2 lines
-
-collection_load(): improve headers parsing.
-
-------------------------------------------------------------------------
-r457 | zas_ | 2008-04-15 01:09:48 +0200 (Tue, 15 Apr 2008) | 2 lines
-
-collection_load(): fix typo (missing #) made in rev 453.
-
-------------------------------------------------------------------------
-r456 | zas_ | 2008-04-15 01:08:27 +0200 (Tue, 15 Apr 2008) | 2 lines
-
-collection_load(): accept whitespaces at start of lines.
-
-------------------------------------------------------------------------
-r455 | zas_ | 2008-04-15 00:57:26 +0200 (Tue, 15 Apr 2008) | 2 lines
-
-collection_load(): increase verbosity in debug mode.
-
-------------------------------------------------------------------------
-r454 | zas_ | 2008-04-15 00:50:50 +0200 (Tue, 15 Apr 2008) | 3 lines
-
-collection_load(): replace official by limit_failures (and
-invert the tests).
-
-------------------------------------------------------------------------
-r453 | zas_ | 2008-04-15 00:45:53 +0200 (Tue, 15 Apr 2008) | 3 lines
-
-Increase collection_load() buffer size and do not activate
-error limiting for GQview collections.
-
-------------------------------------------------------------------------
-r452 | zas_ | 2008-04-15 00:28:29 +0200 (Tue, 15 Apr 2008) | 2 lines
-
-Merge collection_load_only_geometry() into collection_load().
-
-------------------------------------------------------------------------
-r451 | zas_ | 2008-04-15 00:05:47 +0200 (Tue, 15 Apr 2008) | 2 lines
-
-Use flags for collection_load*().
-
-------------------------------------------------------------------------
-r450 | zas_ | 2008-04-13 22:33:45 +0200 (Sun, 13 Apr 2008) | 2 lines
-
-Apply exif display config (Never/If set/Always) to pan view too.
-
-------------------------------------------------------------------------
-r449 | zas_ | 2008-04-13 21:21:13 +0200 (Sun, 13 Apr 2008) | 4 lines
-
-Rename show_dot_files to show_hidden_files.
-There is no need to expose the underlying method to hide
-files.
-
-------------------------------------------------------------------------
-r448 | zas_ | 2008-04-13 20:56:24 +0200 (Sun, 13 Apr 2008) | 3 lines
-
-Let toggle the visibility of hidden files from directories list
-or tree contextual menu.
-
-------------------------------------------------------------------------
-r447 | zas_ | 2008-04-13 14:24:42 +0200 (Sun, 13 Apr 2008) | 2 lines
-
-Add a button to reset fullscreen info string to default value.
-
-------------------------------------------------------------------------
-r446 | zas_ | 2008-04-13 14:12:44 +0200 (Sun, 13 Apr 2008) | 2 lines
-
-Fix a typo, READ_CHAR() must use value_all.
-
-------------------------------------------------------------------------
-r445 | zas_ | 2008-04-13 11:10:38 +0200 (Sun, 13 Apr 2008) | 3 lines
-
-Use convenient macros to read options, it will ensure options
-names are matching (in the rc file and internally).
-
-------------------------------------------------------------------------
-r444 | zas_ | 2008-04-13 10:36:17 +0200 (Sun, 13 Apr 2008) | 5 lines
-
-Simplify read_*_option() stuff by passing pointer to option value.
-Introduce read_uint_option() to read enum values and read_int_option_clamp()
-to read clamped values.
-
-
-------------------------------------------------------------------------
-r443 | zas_ | 2008-04-13 01:59:31 +0200 (Sun, 13 Apr 2008) | 3 lines
-
-Partly rewrite option parser to accept whitespaces at start
-of lines.
-
-------------------------------------------------------------------------
-r442 | zas_ | 2008-04-13 01:41:35 +0200 (Sun, 13 Apr 2008) | 2 lines
-
-exif_* -> exif.display.*
-
-------------------------------------------------------------------------
-r441 | zas_ | 2008-04-13 01:32:08 +0200 (Sun, 13 Apr 2008) | 2 lines
-
-Add a note in the rc file about special editor slots.
-
-------------------------------------------------------------------------
-r440 | zas_ | 2008-04-13 01:16:41 +0200 (Sun, 13 Apr 2008) | 2 lines
-
-sidecar_ext -> sidecar.ext
-
-------------------------------------------------------------------------
-r439 | zas_ | 2008-04-13 01:07:04 +0200 (Sun, 13 Apr 2008) | 2 lines
-
-Unify names of options between variables and rc file.
-
-------------------------------------------------------------------------
-r438 | zas_ | 2008-04-13 01:02:00 +0200 (Sun, 13 Apr 2008) | 2 lines
-
-Use tree_descend_subdirs everywhere.
-
-------------------------------------------------------------------------
-r437 | zas_ | 2008-04-13 00:22:11 +0200 (Sun, 13 Apr 2008) | 2 lines
-
-Use startup_path_enable everywhere.
-
-------------------------------------------------------------------------
-r436 | zas_ | 2008-04-13 00:17:14 +0200 (Sun, 13 Apr 2008) | 2 lines
-
-Rename recent_list_max/open_recent_max to open_recent_list_maxsize.
-
-------------------------------------------------------------------------
-r435 | zas_ | 2008-04-13 00:10:38 +0200 (Sun, 13 Apr 2008) | 2 lines
-
-Rename dupe_custom_threshold option to duplicates_similarity_threshold.
-
-------------------------------------------------------------------------
-r434 | zas_ | 2008-04-13 00:04:29 +0200 (Sun, 13 Apr 2008) | 4 lines
-
-Move safe_delete* and in place rename options to file_ops
-struct.
-Re-order rc file a bit.
-
-------------------------------------------------------------------------
-r433 | zas_ | 2008-04-12 23:45:30 +0200 (Sat, 12 Apr 2008) | 3 lines
-
-Rename option thumbnails.enabled to layout.show_thumbnails as it makes
-more sense.
-
-------------------------------------------------------------------------
-r432 | zas_ | 2008-04-12 23:38:55 +0200 (Sat, 12 Apr 2008) | 5 lines
-
-Rename user_specified_window_background and window_background_color
-to image.use_custom_border_color and image.border_color.
-Rename pref_background_color_set_cb() to pref_color_button_set_cb().
-Rename pref_colorbutton_new() to pref_color_button_new().
-
-------------------------------------------------------------------------
-r431 | zas_ | 2008-04-12 21:33:59 +0200 (Sat, 12 Apr 2008) | 2 lines
-
-Rename window options (moved to layout) and re-order rc file.
-
-------------------------------------------------------------------------
-r430 | zas_ | 2008-04-12 19:20:34 +0200 (Sat, 12 Apr 2008) | 2 lines
-
-Fix bad image option name in the rc file.
-
-------------------------------------------------------------------------
-r429 | zas_ | 2008-04-12 19:09:20 +0200 (Sat, 12 Apr 2008) | 2 lines
-
-Fix display bug when using "Limit image size when autofitting" option.
-
-------------------------------------------------------------------------
-r428 | zas_ | 2008-04-12 17:13:00 +0200 (Sat, 12 Apr 2008) | 2 lines
-
-Beautify rc file, adding sub-sections titles.
-
-------------------------------------------------------------------------
-r427 | zas_ | 2008-04-12 17:04:58 +0200 (Sat, 12 Apr 2008) | 2 lines
-
-Rename image-related options.
-
-------------------------------------------------------------------------
-r426 | zas_ | 2008-04-12 11:41:44 +0200 (Sat, 12 Apr 2008) | 2 lines
-
-Rename thumbnails related options.
-
-------------------------------------------------------------------------
-r425 | zas_ | 2008-04-12 11:12:37 +0200 (Sat, 12 Apr 2008) | 2 lines
-
-Rename file filtering options.
-
-------------------------------------------------------------------------
-r424 | zas_ | 2008-04-12 10:59:52 +0200 (Sat, 12 Apr 2008) | 2 lines
-
-Drop unused stuff.
-
-------------------------------------------------------------------------
-r423 | zas_ | 2008-04-12 10:40:02 +0200 (Sat, 12 Apr 2008) | 2 lines
-
-Rename collection options.
-
-------------------------------------------------------------------------
-r422 | zas_ | 2008-04-12 10:35:58 +0200 (Sat, 12 Apr 2008) | 2 lines
-
-Rename file sorting options.
-
-------------------------------------------------------------------------
-r421 | zas_ | 2008-04-12 10:28:08 +0200 (Sat, 12 Apr 2008) | 2 lines
-
-Re-order and try to group options.
-
-------------------------------------------------------------------------
-r420 | zas_ | 2008-04-12 10:05:44 +0200 (Sat, 12 Apr 2008) | 2 lines
-
-Rename color profile options.
-
-------------------------------------------------------------------------
-r419 | zas_ | 2008-04-12 09:46:01 +0200 (Sat, 12 Apr 2008) | 2 lines
-
-Rename slideshow options.
-
-------------------------------------------------------------------------
-r418 | zas_ | 2008-04-12 09:09:19 +0200 (Sat, 12 Apr 2008) | 3 lines
-
-Only display defined exif tags by default.
-
-
-------------------------------------------------------------------------
-r417 | zas_ | 2008-04-12 09:00:14 +0200 (Sat, 12 Apr 2008) | 2 lines
-
-Drop redundant code.
-
-------------------------------------------------------------------------
-r416 | zas_ | 2008-04-12 08:42:47 +0200 (Sat, 12 Apr 2008) | 3 lines
-
-Add Exif.Photo.ColorSpace tag in Preferences > Properties > Exif.
-Requested by Fr?\195?\169d?\195?\169ric Mantegazza.
-
-------------------------------------------------------------------------
-r415 | zas_ | 2008-04-12 01:32:22 +0200 (Sat, 12 Apr 2008) | 2 lines
-
-Rationalize fullscreen options naming.
-
-------------------------------------------------------------------------
-r414 | zas_ | 2008-04-12 01:01:00 +0200 (Sat, 12 Apr 2008) | 2 lines
-
-options_c -> c_options
-
-------------------------------------------------------------------------
-r413 | zas_ | 2008-04-12 00:52:22 +0200 (Sat, 12 Apr 2008) | 2 lines
-
-Move more options to ConfOptions.
-
-------------------------------------------------------------------------
-r412 | zas_ | 2008-04-12 00:27:54 +0200 (Sat, 12 Apr 2008) | 3 lines
-
-Move file_sort_case_sensitive to ConfOptions.
-
-
-------------------------------------------------------------------------
-r411 | zas_ | 2008-04-12 00:14:36 +0200 (Sat, 12 Apr 2008) | 6 lines
-
-Add a new struct ConfOptions to handle options.
-Changes were made among the code to use only one global var
-named "options" of type ConfOptions *.
-Initialization takes place in new init_options().
-
-
-------------------------------------------------------------------------
-r410 | zas_ | 2008-04-11 22:35:37 +0200 (Fri, 11 Apr 2008) | 4 lines
-
-Make thumbnail standard fail directory after current application
-name and version.
-
-
-------------------------------------------------------------------------
-r409 | zas_ | 2008-04-11 22:01:29 +0200 (Fri, 11 Apr 2008) | 3 lines
-
-Define drag and drop target string in dnd.h.
-Make it use the current name of the application.
-
-------------------------------------------------------------------------
-r408 | zas_ | 2008-04-11 21:43:36 +0200 (Fri, 11 Apr 2008) | 2 lines
-
-Use secure save in history_list_save().
-
-------------------------------------------------------------------------
-r407 | zas_ | 2008-04-11 19:11:14 +0200 (Fri, 11 Apr 2008) | 3 lines
-
-Use secure save in comment_file_write().
-
-
-------------------------------------------------------------------------
-r406 | zas_ | 2008-04-11 18:46:21 +0200 (Fri, 11 Apr 2008) | 5 lines
-
-Secure save now unlinks temporary file on error by default.
-It will prevent left-behind temporary files, but also prevent
-potential data recovery from partially written files (it
-should not be a problem here).
-
-------------------------------------------------------------------------
-r405 | zas_ | 2008-04-11 18:04:37 +0200 (Fri, 11 Apr 2008) | 2 lines
-
-Use secure save feature when saving collections.
-
-------------------------------------------------------------------------
-r404 | zas_ | 2008-04-11 18:02:33 +0200 (Fri, 11 Apr 2008) | 2 lines
-
-Preserve permissions of the destination file when using secure save.
-
-------------------------------------------------------------------------
-r403 | zas_ | 2008-04-11 17:27:08 +0200 (Fri, 11 Apr 2008) | 4 lines
-
-Revert part of the previous patch, let the caller take care
-of calling path_from_utf8().
-
-
-------------------------------------------------------------------------
-r402 | zas_ | 2008-04-11 16:27:55 +0200 (Fri, 11 Apr 2008) | 3 lines
-
-Use path_from_utf8() on the passed filename.
-Add const attribute.
-
-------------------------------------------------------------------------
-r401 | zas_ | 2008-04-11 15:07:48 +0200 (Fri, 11 Apr 2008) | 8 lines
-
-ui_icons.h and icons_inline.h depend on gdk-pixbuf-csource,
-so add a test for it in configure.
-Wrap generated headers files with #ifdef/#endif and add
-a comment related to their auto-generated nature.
-Make the generation itself quiet, but display a message
-on error.
-Make these targets depend on respective Makefile.in.
-
-------------------------------------------------------------------------
-r400 | zas_ | 2008-04-11 14:31:32 +0200 (Fri, 11 Apr 2008) | 2 lines
-
-Move secure save code to its own files: secure_save.{c,h}.
-
-------------------------------------------------------------------------
-r399 | zas_ | 2008-04-11 14:25:36 +0200 (Fri, 11 Apr 2008) | 2 lines
-
-Add missing #ifdef/#endif.
-
-------------------------------------------------------------------------
-r398 | zas_ | 2008-04-11 12:46:52 +0200 (Fri, 11 Apr 2008) | 2 lines
-
-Ensure that gcc flag -Wall is set.
-
-------------------------------------------------------------------------
-r397 | zas_ | 2008-04-11 12:45:37 +0200 (Fri, 11 Apr 2008) | 2 lines
-
-Silent some gcc warnings.
-
-------------------------------------------------------------------------
-r396 | zas_ | 2008-04-11 11:02:20 +0200 (Fri, 11 Apr 2008) | 3 lines
-
-Prevent multiple insertion of the same file in a collection.
-Use a hash table to speed up existence tests.
-
-------------------------------------------------------------------------
-r395 | zas_ | 2008-04-11 10:10:40 +0200 (Fri, 11 Apr 2008) | 2 lines
-
-Only display these messages if debug mode is enabled.
-
-------------------------------------------------------------------------
-r394 | nadvornik | 2008-04-10 21:27:42 +0200 (Thu, 10 Apr 2008) | 2 lines
-
-fixed dates in pan-calendar
-
-------------------------------------------------------------------------
-r393 | zas_ | 2008-04-10 14:07:34 +0200 (Thu, 10 Apr 2008) | 2 lines
-
-Fix fCamera even more.
-
-------------------------------------------------------------------------
-r392 | zas_ | 2008-04-10 13:31:20 +0200 (Thu, 10 Apr 2008) | 2 lines
-
-Do not display ... if not truncated.
-
-------------------------------------------------------------------------
-r391 | zas_ | 2008-04-10 12:43:15 +0200 (Thu, 10 Apr 2008) | 5 lines
-
-Add the possibility to truncate overlay infos displayed:
-%fCamera:20% will truncate data displayed to 20 characters
-and add 3 dots at the end.
-For example, %name% -> some_file, %name:4% -> some...
-
-------------------------------------------------------------------------
-r390 | zas_ | 2008-04-10 02:09:43 +0200 (Thu, 10 Apr 2008) | 2 lines
-
-Fix broken remove_common_prefix(), fCamera didn't display model as it should.
-
-------------------------------------------------------------------------
-r389 | zas_ | 2008-04-10 00:47:43 +0200 (Thu, 10 Apr 2008) | 2 lines
-
-Resync .po files. French translation was updated (100% made).
-
-------------------------------------------------------------------------
-r388 | zas_ | 2008-04-10 00:36:43 +0200 (Thu, 10 Apr 2008) | 2 lines
-
-Add 3 missing files to POTFILES.in.
-
-------------------------------------------------------------------------
-r387 | zas_ | 2008-04-10 00:33:06 +0200 (Thu, 10 Apr 2008) | 2 lines
-
-Simple helper script to display translation statistics.
-
-------------------------------------------------------------------------
-r386 | zas_ | 2008-04-10 00:13:11 +0200 (Thu, 10 Apr 2008) | 3 lines
-
-Fix a typo: "while fluorescent" -> "white fluorescent"
-
-
-------------------------------------------------------------------------
-r385 | zas_ | 2008-04-10 00:01:52 +0200 (Thu, 10 Apr 2008) | 2 lines
-
-Resync .po files. Update french translation.
-
-------------------------------------------------------------------------
-r384 | nadvornik | 2008-04-09 23:14:50 +0200 (Wed, 09 Apr 2008) | 2 lines
-
-fixed crash in pan_calendar
-
-------------------------------------------------------------------------
-r383 | nadvornik | 2008-04-09 22:49:32 +0200 (Wed, 09 Apr 2008) | 2 lines
-
-improved histogram drawing
-
-------------------------------------------------------------------------
-r382 | zas_ | 2008-04-09 18:37:54 +0200 (Wed, 09 Apr 2008) | 5 lines
-
-Simplify and unify gtk_window creation with the help of
-the new window_new() function, that wraps gtk_window_new()
-call.
-Subclass, title and icon are set in the same call.
-
-------------------------------------------------------------------------
-r381 | zas_ | 2008-04-09 15:53:01 +0200 (Wed, 09 Apr 2008) | 2 lines
-
-Replace occurences of Geeqie / geeqie by constants defined in main.h.
-
-------------------------------------------------------------------------
-r380 | zas_ | 2008-04-09 01:41:01 +0200 (Wed, 09 Apr 2008) | 2 lines
-
-int -> gint
-
-------------------------------------------------------------------------
-r379 | zas_ | 2008-04-09 01:39:27 +0200 (Wed, 09 Apr 2008) | 2 lines
-
-Make xmp debug info only appears when debug >= 2.
-
-------------------------------------------------------------------------
-r378 | zas_ | 2008-04-09 01:33:49 +0200 (Wed, 09 Apr 2008) | 3 lines
-
-Enable image rotation depending on EXIF by default.
-New users shouldn't have to search for it.
-
-------------------------------------------------------------------------
-r377 | zas_ | 2008-04-09 01:25:46 +0200 (Wed, 09 Apr 2008) | 2 lines
-
-Fix missing header files inclusions.
-
-------------------------------------------------------------------------
-r376 | zas_ | 2008-04-09 01:16:12 +0200 (Wed, 09 Apr 2008) | 2 lines
-
-GQVIEW_* -> GQ_* 
-
-------------------------------------------------------------------------
-r375 | zas_ | 2008-04-09 01:07:09 +0200 (Wed, 09 Apr 2008) | 2 lines
-
-GQVIEW_H -> MAIN_H
-
-------------------------------------------------------------------------
-r374 | zas_ | 2008-04-09 01:02:33 +0200 (Wed, 09 Apr 2008) | 2 lines
-
-gqview.h -> main.h
-
-------------------------------------------------------------------------
-r373 | zas_ | 2008-04-09 00:31:42 +0200 (Wed, 09 Apr 2008) | 2 lines
-
-Remove obsolete prototype.
-
-------------------------------------------------------------------------
-r372 | zas_ | 2008-04-09 00:28:55 +0200 (Wed, 09 Apr 2008) | 9 lines
-
-
-gqview_remote -> remote_connection
-gqview_command_collection -> command_collection
-gqview_remote_control() -> remote_control()
-gqview_remote_help() -> remote_help()
-gqview_remote_command_find() -> remote_command_find()
-gqview_remote_build_list() -> remote_build_list()
-gqview_remote_cb() -> remote_cb()
-
-------------------------------------------------------------------------
-r371 | zas_ | 2008-04-09 00:16:56 +0200 (Wed, 09 Apr 2008) | 4 lines
-
-
-exit_gqview() renamed to exit_program().
-exit_gqview_final() renamed to exit_program_final().
-
-------------------------------------------------------------------------
-r370 | zas_ | 2008-04-09 00:05:04 +0200 (Wed, 09 Apr 2008) | 8 lines
-
-Add support for some Samsung raw files (.pef).
-
-Samsung raw not strongly differ from Pentax raw.
-The only difference in header (manufacturer, camera name and etc).
-Tested on Samsung GX-1S and Pentax *ist DS.
-Patch by Max Lushnikov.
-
-
-------------------------------------------------------------------------
-r369 | zas_ | 2008-04-08 23:55:58 +0200 (Tue, 08 Apr 2008) | 7 lines
-
-Implement secure rc file saving.
-First data is written to a temporary file, then if nothing
-was wrong, this file is renamed to the final name.
-This way the risk of corrupted rc file is greatly reduced.
-The code is borrowed from ELinks (http://elinks.cz).
-
-
-------------------------------------------------------------------------
-r368 | nadvornik | 2008-04-08 23:52:04 +0200 (Tue, 08 Apr 2008) | 2 lines
-
-fixed histogram label
-
-------------------------------------------------------------------------
-r367 | zas_ | 2008-04-08 23:33:29 +0200 (Tue, 08 Apr 2008) | 11 lines
-
-Fix the "continuous display" of tooltips in the collection view
-(before the tooltip delay occured once, then changing icon to icon never hide the
-tooltip again, now the tip is displayed shortly after the cursor moved on the icon,
-but disappears when moving cursor to another icon).
-
-Display the full path to the file when Show filename text is on (before nothing
-was displayed).
-
-When Show filename text is off, behavior is unchanged, the (short) filename is
-displayed.
-
-------------------------------------------------------------------------
-r366 | nadvornik | 2008-04-08 22:56:50 +0200 (Tue, 08 Apr 2008) | 3 lines
-
-reworked the histogram patch by Uwe Ohse, most of the code is in
-separate files
-
-------------------------------------------------------------------------
-r365 | nadvornik | 2008-04-08 19:26:13 +0200 (Tue, 08 Apr 2008) | 2 lines
-
-fixed file delete notification in view_file_icon
-
-------------------------------------------------------------------------
-r364 | zas_ | 2008-04-08 18:22:21 +0200 (Tue, 08 Apr 2008) | 2 lines
-
-gtk_notebook_set_tab_reorderable() is only available sinc gtk+ 2.10.
-
-------------------------------------------------------------------------
-r363 | zas_ | 2008-04-08 17:53:03 +0200 (Tue, 08 Apr 2008) | 2 lines
-
-Move active variable affectation after the test.
-
-------------------------------------------------------------------------
-r362 | zas_ | 2008-04-08 16:52:42 +0200 (Tue, 08 Apr 2008) | 2 lines
-
-Simplify layout_color_name_parse() using g_strdelimit().
-
-------------------------------------------------------------------------
-r361 | zas_ | 2008-04-08 16:50:14 +0200 (Tue, 08 Apr 2008) | 2 lines
-
-Tidy up, whitespaces and indentation fix.
-
-------------------------------------------------------------------------
-r360 | zas_ | 2008-04-08 13:53:35 +0200 (Tue, 08 Apr 2008) | 7 lines
-
-Remove dependency on GTK 2.12, reported by John Vodden and Vladimir
-Nadvornik.
-gtk_set_tooltip_markup() calls were disabled for GTK+ versions < 2.12.
-gdk_color_to_string() was replaced by a equivalent function.
-
-
-
-------------------------------------------------------------------------
-r359 | zas_ | 2008-04-07 21:47:22 +0200 (Mon, 07 Apr 2008) | 9 lines
-
-Add the possibility to print file names with path.
-A checkbox was added to the Text tab in the Print dialog.
-
-Name checked and Path unchecked  -> filename.jpg
-Name checked and Path checked    -> /some/dir/filename.jpg
-Name unchecked and Path checked  -> /some/dir/
-
-Patch by Michael Mokeev and Laurent Monin.
-
-------------------------------------------------------------------------
-r358 | zas_ | 2008-04-07 21:06:17 +0200 (Mon, 07 Apr 2008) | 2 lines
-
-Fix a segfault on fullscreen file deletion reported by Fr?\195?\169d?\195?\169ric Mantegazza.
-
-------------------------------------------------------------------------
-r357 | zas_ | 2008-04-07 20:52:54 +0200 (Mon, 07 Apr 2008) | 3 lines
-
-Add the possibility to match duplicates on the name but ignoring the case.
-A new item was added to types of match combo box in the Find duplicates dialog.
-
-------------------------------------------------------------------------
-r356 | zas_ | 2008-04-07 10:09:39 +0200 (Mon, 07 Apr 2008) | 3 lines
-
-Display marks in overlay info only if at least one is set.
-Fix a missing g_string_free().
-
-------------------------------------------------------------------------
-r355 | zas_ | 2008-04-06 12:17:41 +0200 (Sun, 06 Apr 2008) | 3 lines
-
-Mark all exif labels as translatable.
-Before only some of them were enclosed by N_().
-
-------------------------------------------------------------------------
-r354 | zas_ | 2008-04-06 12:03:54 +0200 (Sun, 06 Apr 2008) | 2 lines
-
-Mark strings as translatable.
-
-------------------------------------------------------------------------
-r353 | zas_ | 2008-04-05 17:23:39 +0200 (Sat, 05 Apr 2008) | 4 lines
-
-Improve remove_trailing_slash() so it allocates no more than
-needed bytes and remove all trailing slashes instead only one.
-
-
-------------------------------------------------------------------------
-r352 | zas_ | 2008-04-05 13:59:29 +0200 (Sat, 05 Apr 2008) | 4 lines
-
-
-Comment out unused code.
-Geeqie code now compiles cleanly with -Wall gcc option.
-
-------------------------------------------------------------------------
-r351 | zas_ | 2008-04-05 00:34:55 +0200 (Sat, 05 Apr 2008) | 3 lines
-
-Change default exif order a bit to move up common and useful
-info.
-
-------------------------------------------------------------------------
-r350 | zas_ | 2008-04-05 00:23:36 +0200 (Sat, 05 Apr 2008) | 3 lines
-
-
-Re-add "What to show in properties dialog:" label before the table. 
-
-------------------------------------------------------------------------
-r349 | zas_ | 2008-04-05 00:12:28 +0200 (Sat, 05 Apr 2008) | 3 lines
-
-Rename exif preferences tab to "Properties", and name the
-subsection "Exif".
-
-------------------------------------------------------------------------
-r348 | zas_ | 2008-04-04 20:50:52 +0200 (Fri, 04 Apr 2008) | 3 lines
-
-Fix a segfault occuring when enabling debug mode.
-At this point il->fd can be null.
-
-------------------------------------------------------------------------
-r347 | zas_ | 2008-04-04 01:29:14 +0200 (Fri, 04 Apr 2008) | 6 lines
-
-Make the wmclass value unique among the code by defining
-it in main header file as GQ_WMCLASS.
-Before this patch, it was set using PACKAGE (="geeqie"),
-or by the hardcoded string "Geeqie".
-Now all Geeqie windows have the same value for wmclass.
-
-------------------------------------------------------------------------
-r346 | zas_ | 2008-04-04 00:39:50 +0200 (Fri, 04 Apr 2008) | 2 lines
-
-Initialize variables, clearing a gcc warning.
-
-------------------------------------------------------------------------
-r345 | zas_ | 2008-04-04 00:33:28 +0200 (Fri, 04 Apr 2008) | 2 lines
-
-Add missing prototype to header file.
-
-------------------------------------------------------------------------
-r344 | zas_ | 2008-04-04 00:29:20 +0200 (Fri, 04 Apr 2008) | 2 lines
-
-Add few missing prototypes to header file.
-
-------------------------------------------------------------------------
-r343 | zas_ | 2008-04-04 00:20:42 +0200 (Fri, 04 Apr 2008) | 2 lines
-
-Drop a bunch of unused variables.
-
-------------------------------------------------------------------------
-r342 | zas_ | 2008-04-04 00:14:37 +0200 (Fri, 04 Apr 2008) | 2 lines
-
-Add missing #include.
-
-------------------------------------------------------------------------
-r341 | zas_ | 2008-04-04 00:13:12 +0200 (Fri, 04 Apr 2008) | 2 lines
-
-Remove unused variables.
-
-------------------------------------------------------------------------
-r340 | zas_ | 2008-04-04 00:09:36 +0200 (Fri, 04 Apr 2008) | 2 lines
-
-Add missing prototype.
-
-------------------------------------------------------------------------
-r339 | zas_ | 2008-04-04 00:06:31 +0200 (Fri, 04 Apr 2008) | 2 lines
-
-Drop 3 unused variables and comment out 2 unused functions.
-
-------------------------------------------------------------------------
-r338 | zas_ | 2008-04-04 00:03:14 +0200 (Fri, 04 Apr 2008) | 2 lines
-
-Add parenthesis around affection to clear a gcc warning.
-
-------------------------------------------------------------------------
-r337 | zas_ | 2008-04-04 00:01:08 +0200 (Fri, 04 Apr 2008) | 2 lines
-
-Fix a signedness warning.
-
-------------------------------------------------------------------------
-r336 | zas_ | 2008-04-03 23:54:23 +0200 (Thu, 03 Apr 2008) | 3 lines
-
-Main configuration file was renamed from gqviewrc to geeqierc.
-
-
-------------------------------------------------------------------------
-r335 | zas_ | 2008-04-03 23:50:53 +0200 (Thu, 03 Apr 2008) | 3 lines
-
-Fix a segfault occuring when using --without-exiv2 and
-concerning exif stuff.
-
-------------------------------------------------------------------------
-r334 | zas_ | 2008-04-03 23:49:17 +0200 (Thu, 03 Apr 2008) | 2 lines
-
-Fix missing bit of previous patch.
-
-------------------------------------------------------------------------
-r333 | zas_ | 2008-04-03 23:04:19 +0200 (Thu, 03 Apr 2008) | 2 lines
-
-Fix two more gcc warnings related to function declarations.
-
-------------------------------------------------------------------------
-r332 | zas_ | 2008-04-03 22:53:13 +0200 (Thu, 03 Apr 2008) | 3 lines
-
-Remove two unused variables declarations, and add a missing #include.
-
-
-------------------------------------------------------------------------
-r331 | zas_ | 2008-04-03 22:46:55 +0200 (Thu, 03 Apr 2008) | 2 lines
-
-Drop unused variable.
-
-------------------------------------------------------------------------
-r330 | zas_ | 2008-04-03 22:45:55 +0200 (Thu, 03 Apr 2008) | 2 lines
-
-Add missing return at the end of editor_command_next_start().
-
-------------------------------------------------------------------------
-r329 | zas_ | 2008-04-03 22:40:15 +0200 (Thu, 03 Apr 2008) | 2 lines
-
-Drop unused variable.
-
-------------------------------------------------------------------------
-r328 | zas_ | 2008-04-03 22:38:59 +0200 (Thu, 03 Apr 2008) | 2 lines
-
-Make collect_manager_process_action() static.
-
-------------------------------------------------------------------------
-r327 | zas_ | 2008-04-03 22:34:49 +0200 (Thu, 03 Apr 2008) | 2 lines
-
-Fix typos in functions names: file_list -> filelist.
-
-------------------------------------------------------------------------
-r326 | zas_ | 2008-04-03 22:25:22 +0200 (Thu, 03 Apr 2008) | 2 lines
-
-Remove unused variable declarations.
-
-------------------------------------------------------------------------
-r325 | zas_ | 2008-04-03 22:24:20 +0200 (Thu, 03 Apr 2008) | 2 lines
-
-Fix missing header include (filelist.h).
-
-------------------------------------------------------------------------
-r324 | zas_ | 2008-04-03 22:19:16 +0200 (Thu, 03 Apr 2008) | 2 lines
-
-Remove unused variables declarations.
-
-------------------------------------------------------------------------
-r323 | zas_ | 2008-04-03 22:11:09 +0200 (Thu, 03 Apr 2008) | 7 lines
-
-Move tabs code from config_window_create() to new smaller functions.
-Each tab has now its own function named:
-config_tab_general(), config_tab_image(), config_tab_windows(),
-config_tab_filtering(), config_tab_editors(), config_tab_exif(),
-config_tab_advanced();
-
-
-------------------------------------------------------------------------
-r322 | zas_ | 2008-04-03 20:20:39 +0200 (Thu, 03 Apr 2008) | 2 lines
-
-Use more generic names for some cache manager callback functions.
-
-------------------------------------------------------------------------
-r321 | zas_ | 2008-04-03 19:34:30 +0200 (Thu, 03 Apr 2008) | 3 lines
-
-Replace some occurences of gqview by Geeqie.
-
-
-------------------------------------------------------------------------
-r320 | zas_ | 2008-04-03 19:15:49 +0200 (Thu, 03 Apr 2008) | 6 lines
-
-Add a debug level spinner at the end of Preferences > Advanced.
-One can now enable debug mode without restarting geeqie.
-A possibility to disable all debugging code and related options
-at compile time was added.
-
-
-------------------------------------------------------------------------
-r319 | zas_ | 2008-04-03 16:35:03 +0200 (Thu, 03 Apr 2008) | 7 lines
-
-Fix and simplify thumbnails size combo box related code.
-Some variables were unused, code was buggy (spurious entry at
-the end of the list). A sanity check for values coming from
-rc file was added. Two constants now define the default
-thumbnail size.
-
-
-------------------------------------------------------------------------
-r318 | zas_ | 2008-04-03 15:58:20 +0200 (Thu, 03 Apr 2008) | 4 lines
-
-
-Make the preferences window resizeable, and try to improve
-display of editors tab.
-
-------------------------------------------------------------------------
-r317 | zas_ | 2008-04-03 15:24:13 +0200 (Thu, 03 Apr 2008) | 3 lines
-
-Tidy up. Fix indentation and missing whitespaces.
-Make editors table creation code a bit more readable.
-
-------------------------------------------------------------------------
-r316 | zas_ | 2008-04-03 10:51:32 +0200 (Thu, 03 Apr 2008) | 11 lines
-
-Setting no limit size to trash directory is now possible using zero as value.
-A tooltip was added to the spinner to inform the user of this possibility.
-When 0 is set, no remaining/free space check occurs.
-Default size of the trash was set to a 128M and maximum size is now 2048MB, which
-is more conform to today's standards.
-The delete dialog now displays more information:
-- if external command will be used
-- if safe delete is on, max size and path to the trash
-- if safe delete is off
-
-
-------------------------------------------------------------------------
-r315 | nadvornik | 2008-04-02 22:44:40 +0200 (Wed, 02 Apr 2008) | 3 lines
-
-various exif improvements based on patch by Uwe Ohse 
-try to compute 35mm focal length
-
-------------------------------------------------------------------------
-r314 | zas_ | 2008-04-02 14:12:50 +0200 (Wed, 02 Apr 2008) | 6 lines
-
-Make properties tabs reorderable through drag'n drop.
-Order is preserved during the whole session.
-When a new properties dialog is open, it uses the last order used.
-Currently, order isn't saved to rc file.
-
-
-------------------------------------------------------------------------
-r313 | zas_ | 2008-04-02 12:40:54 +0200 (Wed, 02 Apr 2008) | 5 lines
-
-Honor selection while fullscreen navigation.
-The behavior is now consistent in full screen and windowed mode.
-It fixes the fact that the selection was discarded on "Next".
-Patch by Uwe Ohse. Cleanups by Laurent Monin.
-
-------------------------------------------------------------------------
-r312 | zas_ | 2008-04-01 09:42:31 +0200 (Tue, 01 Apr 2008) | 1 line
-
-Fix display of image number in properties dialog when more than one image is selected.
-------------------------------------------------------------------------
-r311 | zas_ | 2008-04-01 00:10:25 +0200 (Tue, 01 Apr 2008) | 1 line
-
-Customizable info overlay in fullscreen, based on the patch posted to gqview-devel list by Timo on 2007-09-10.
-------------------------------------------------------------------------
-r310 | nadvornik | 2008-03-31 23:09:36 +0200 (Mon, 31 Mar 2008) | 3 lines
-
-use quoted_value everywhere
-simplify parsing of multiple quoted values on one line
-
-------------------------------------------------------------------------
-r309 | zas_ | 2008-03-31 09:29:03 +0200 (Mon, 31 Mar 2008) | 1 line
-
-Indentation and white lines minor fixes.
-------------------------------------------------------------------------
-r308 | zas_ | 2008-03-30 21:26:35 +0200 (Sun, 30 Mar 2008) | 1 line
-
-Move strlen() calls outside the while loop.
-------------------------------------------------------------------------
-r307 | zas_ | 2008-03-30 16:19:34 +0200 (Sun, 30 Mar 2008) | 1 line
-
-Comment out forgotten debugging code.
-------------------------------------------------------------------------
-r306 | zas_ | 2008-03-30 16:18:04 +0200 (Sun, 30 Mar 2008) | 1 line
-
-Fix two minor compilation warnings.
-------------------------------------------------------------------------
-r305 | nadvornik | 2008-03-30 13:47:14 +0200 (Sun, 30 Mar 2008) | 6 lines
-
-differentiate among normal image, raw image and metadata
-removed raw extension lists on various places and fixed most of the
-Exiv2 warnings
-todo: configuration and a special icons for unreadable raw or metadata
-
-
-------------------------------------------------------------------------
-r304 | zas_ | 2008-03-30 09:14:37 +0200 (Sun, 30 Mar 2008) | 1 line
-
-Make the zoom increment spinner more precise, step is now 0.1 instead of 1.
-------------------------------------------------------------------------
-r303 | zas_ | 2008-03-29 22:47:10 +0100 (Sat, 29 Mar 2008) | 1 line
-
-Improve escaping and quoting of strings saved in rc files.
-------------------------------------------------------------------------
-r302 | nadvornik | 2008-03-29 15:59:14 +0100 (Sat, 29 Mar 2008) | 2 lines
-
-configurable frame around image - geeqie_autofit_maxsize.patch by Laurent MONIN
-
-------------------------------------------------------------------------
-r301 | nadvornik | 2008-03-29 11:38:15 +0100 (Sat, 29 Mar 2008) | 2 lines
-
-set user-defined color as image background - patch by Laurent MONIN
-
-------------------------------------------------------------------------
-r300 | nadvornik | 2008-03-29 11:11:02 +0100 (Sat, 29 Mar 2008) | 2 lines
-
-fixed color management initialization
-
-------------------------------------------------------------------------
-r299 | nadvornik | 2008-03-26 13:07:00 +0100 (Wed, 26 Mar 2008) | 2 lines
-
-README fixes
-
-------------------------------------------------------------------------
-r298 | nadvornik | 2008-03-26 09:02:45 +0100 (Wed, 26 Mar 2008) | 2 lines
-
-updated README files
-
-------------------------------------------------------------------------
-r297 | nadvornik | 2008-03-26 09:00:46 +0100 (Wed, 26 Mar 2008) | 2 lines
-
-improved xmp vs. legacy metadata handling
-
-------------------------------------------------------------------------
-r296 | nadvornik | 2008-03-25 00:15:29 +0100 (Tue, 25 Mar 2008) | 2 lines
-
-fixed crashes with --debug
-
-------------------------------------------------------------------------
-r295 | nadvornik | 2008-03-24 21:42:39 +0100 (Mon, 24 Mar 2008) | 2 lines
-
-added all possible raw extensions that I could find
-
-------------------------------------------------------------------------
-r294 | nadvornik | 2008-03-24 15:49:00 +0100 (Mon, 24 Mar 2008) | 2 lines
-
-improved support for older exiv2 versions
-
-------------------------------------------------------------------------
-r293 | nadvornik | 2008-03-24 15:03:46 +0100 (Mon, 24 Mar 2008) | 2 lines
-
-exiv2 version checks
-
-------------------------------------------------------------------------
-r292 | nadvornik | 2008-03-24 13:04:31 +0100 (Mon, 24 Mar 2008) | 2 lines
-
-more renames
-
-------------------------------------------------------------------------
-r291 | nadvornik | 2008-03-24 11:27:22 +0100 (Mon, 24 Mar 2008) | 2 lines
-
-changed logo
-
-------------------------------------------------------------------------
-r290 | nadvornik | 2008-03-24 10:55:09 +0100 (Mon, 24 Mar 2008) | 2 lines
-
-more renames
-
-------------------------------------------------------------------------
-r289 | nadvornik | 2008-03-23 21:38:54 +0100 (Sun, 23 Mar 2008) | 2 lines
-
-rename GQview -> Geeqie over the code
-
-------------------------------------------------------------------------
-r288 | nadvornik | 2008-03-23 21:18:51 +0100 (Sun, 23 Mar 2008) | 2 lines
-
-renamed to geeqie
-
-------------------------------------------------------------------------
-r287 | nadvornik | 2008-03-22 20:28:45 +0100 (Sat, 22 Mar 2008) | 2 lines
-
-raw related fixes
-
-------------------------------------------------------------------------
-r286 | nadvornik | 2008-03-22 18:32:43 +0100 (Sat, 22 Mar 2008) | 2 lines
-
-overview of supported raw formats
-
-------------------------------------------------------------------------
-r285 | nadvornik | 2008-03-22 18:09:14 +0100 (Sat, 22 Mar 2008) | 2 lines
-
-configure --without-exiv2
-
-------------------------------------------------------------------------
-r284 | nadvornik | 2008-03-22 17:43:59 +0100 (Sat, 22 Mar 2008) | 2 lines
-
-crw preview support with exiv2
-
-------------------------------------------------------------------------
-r283 | nadvornik | 2008-03-16 15:11:22 +0100 (Sun, 16 Mar 2008) | 3 lines
-
-whitelist of files that can have an xmp sidecar, sample external command
-for creating sidecar
-
-------------------------------------------------------------------------
-r282 | nadvornik | 2008-03-16 11:52:44 +0100 (Sun, 16 Mar 2008) | 2 lines
-
-fixed reading sidecar extensions from config file
-
-------------------------------------------------------------------------
-r281 | nadvornik | 2008-03-16 11:32:52 +0100 (Sun, 16 Mar 2008) | 2 lines
-
-write comment and keywords to xmp, sidecars are used if exist
-
-------------------------------------------------------------------------
-r280 | nadvornik | 2008-03-15 20:53:33 +0100 (Sat, 15 Mar 2008) | 2 lines
-
-write support in Exiv2 wrapper; for now only string values 
-
-------------------------------------------------------------------------
-r279 | nadvornik | 2008-02-24 19:55:19 +0100 (Sun, 24 Feb 2008) | 3 lines
-
-a hack to read raw previews with exiv2 0.16, however it should be fixed
-in the library
-
-------------------------------------------------------------------------
-r278 | nadvornik | 2008-02-15 11:48:09 +0100 (Fri, 15 Feb 2008) | 2 lines
-
-read also iptc and xmp
-
-------------------------------------------------------------------------
-r277 | nadvornik | 2008-02-14 15:04:43 +0100 (Thu, 14 Feb 2008) | 2 lines
-
-more exiv2 fixes
-
-------------------------------------------------------------------------
-r276 | nadvornik | 2008-02-14 12:03:20 +0100 (Thu, 14 Feb 2008) | 2 lines
-
-more exiv2 fixes
-
-------------------------------------------------------------------------
-r275 | nadvornik | 2008-02-14 00:02:48 +0100 (Thu, 14 Feb 2008) | 2 lines
-
-more exiv2 fixes
-
-------------------------------------------------------------------------
-r274 | nadvornik | 2008-02-13 20:31:50 +0100 (Wed, 13 Feb 2008) | 2 lines
-
-unified tag names between exiv2 and internal rxif parser
-
-------------------------------------------------------------------------
-r273 | nadvornik | 2008-02-13 18:47:55 +0100 (Wed, 13 Feb 2008) | 2 lines
-
-more exiv2 fixes
-
-------------------------------------------------------------------------
-r272 | nadvornik | 2008-02-13 18:08:04 +0100 (Wed, 13 Feb 2008) | 2 lines
-
-and first version that actually shows some exif data (see advanced view)
-
-------------------------------------------------------------------------
-r271 | nadvornik | 2008-02-13 17:52:41 +0100 (Wed, 13 Feb 2008) | 2 lines
-
-first exiv2 support that does not crash immediately
-
-------------------------------------------------------------------------
-r270 | nadvornik | 2008-02-13 15:46:23 +0100 (Wed, 13 Feb 2008) | 2 lines
-
-started exiv2 integration
-
-------------------------------------------------------------------------
-r269 | nadvornik | 2008-02-13 14:57:31 +0100 (Wed, 13 Feb 2008) | 2 lines
-
-simplified exif.h, moved implementation-specific stuff to exif-int.h
-
-------------------------------------------------------------------------
-r268 | nadvornik | 2008-02-11 16:23:43 +0100 (Mon, 11 Feb 2008) | 2 lines
-
-do not show frame for full-window images
-
-------------------------------------------------------------------------
-r267 | nadvornik | 2008-02-11 13:51:28 +0100 (Mon, 11 Feb 2008) | 2 lines
-
-improved drawing of image frames
-
-------------------------------------------------------------------------
-r266 | nadvornik | 2008-01-26 22:18:23 +0100 (Sat, 26 Jan 2008) | 2 lines
-
-updated TODO list
-
-------------------------------------------------------------------------
-r265 | nadvornik | 2008-01-20 20:04:18 +0100 (Sun, 20 Jan 2008) | 2 lines
-
-debug messages cleanup
-
-------------------------------------------------------------------------
-r264 | nadvornik | 2008-01-16 20:37:54 +0100 (Wed, 16 Jan 2008) | 2 lines
-
-added file with release notes and TODO
-
-------------------------------------------------------------------------
-r263 | nadvornik | 2007-12-23 22:24:48 +0100 (Sun, 23 Dec 2007) | 2 lines
-
-basic sidecar files configuration via preferences dialog
-
-------------------------------------------------------------------------
-r262 | nadvornik | 2007-12-23 21:28:50 +0100 (Sun, 23 Dec 2007) | 2 lines
-
-fixed loading thumbnails for sidecar files
-
-------------------------------------------------------------------------
-r261 | nadvornik | 2007-12-23 16:49:23 +0100 (Sun, 23 Dec 2007) | 3 lines
-
-fixed vflist_find_row and vflist_sort_set to work correctly with sidecar
-files
-
-------------------------------------------------------------------------
-r260 | nadvornik | 2007-12-22 21:33:09 +0100 (Sat, 22 Dec 2007) | 2 lines
-
-fixed filelist refresh
-
-------------------------------------------------------------------------
-r259 | nadvornik | 2007-12-22 11:10:40 +0100 (Sat, 22 Dec 2007) | 3 lines
-
-preserve marks setting on layout change
-
-
-------------------------------------------------------------------------
-r258 | nadvornik | 2007-12-22 10:51:12 +0100 (Sat, 22 Dec 2007) | 2 lines
-
-basic support for marks in view_file_icon.c
-
-------------------------------------------------------------------------
-r257 | nadvornik | 2007-12-20 23:43:52 +0100 (Thu, 20 Dec 2007) | 2 lines
-
-update FileData on file change
-
-------------------------------------------------------------------------
-r256 | nadvornik | 2007-12-20 17:18:28 +0100 (Thu, 20 Dec 2007) | 3 lines
-
-<num> toggles mark num
-<control><num> selects mark num
-
-------------------------------------------------------------------------
-r255 | nadvornik | 2007-12-20 17:06:20 +0100 (Thu, 20 Dec 2007) | 2 lines
-
-created menu "Select" with selection and marks operations
-
-------------------------------------------------------------------------
-r254 | nadvornik | 2007-12-19 23:01:46 +0100 (Wed, 19 Dec 2007) | 3 lines
-
-complete set of boolean operation with marks - 
-union, intersection, complement
-
-------------------------------------------------------------------------
-r253 | nadvornik | 2007-12-18 22:15:16 +0100 (Tue, 18 Dec 2007) | 2 lines
-
-use accels also in fullscreen mode
-
-------------------------------------------------------------------------
-r252 | nadvornik | 2007-12-17 22:42:24 +0100 (Mon, 17 Dec 2007) | 2 lines
-
-moved some actions to menu and accels
-
-------------------------------------------------------------------------
-r251 | nadvornik | 2007-12-17 20:34:43 +0100 (Mon, 17 Dec 2007) | 2 lines
-
-removed unused variable
-
-------------------------------------------------------------------------
-r250 | nadvornik | 2007-12-16 23:30:19 +0100 (Sun, 16 Dec 2007) | 2 lines
-
-fixed in-place rename
-
-------------------------------------------------------------------------
-r249 | nadvornik | 2007-12-15 18:58:51 +0100 (Sat, 15 Dec 2007) | 2 lines
-
-better integration of split image functions into menu
-
-------------------------------------------------------------------------
-r248 | nadvornik | 2007-12-14 22:51:46 +0100 (Fri, 14 Dec 2007) | 2 lines
-
-show active marks in image overlay
-
-------------------------------------------------------------------------
-r247 | nadvornik | 2007-12-09 22:20:27 +0100 (Sun, 09 Dec 2007) | 2 lines
-
-fixed image focus
-
-------------------------------------------------------------------------
-r246 | nadvornik | 2007-12-09 13:33:51 +0100 (Sun, 09 Dec 2007) | 2 lines
-
-fixed copying zoom an scroll values from the original image on splitting
-
-------------------------------------------------------------------------
-r245 | nadvornik | 2007-12-09 12:58:39 +0100 (Sun, 09 Dec 2007) | 2 lines
-
-do not hilight selected image in SPLIT_NONE
-
-------------------------------------------------------------------------
-r244 | nadvornik | 2007-12-09 01:11:40 +0100 (Sun, 09 Dec 2007) | 2 lines
-
-improved drawing of frame around selected image
-
-------------------------------------------------------------------------
-r243 | nadvornik | 2007-11-25 11:25:25 +0100 (Sun, 25 Nov 2007) | 2 lines
-
-more operations with file marks
-
-------------------------------------------------------------------------
-r242 | nadvornik | 2007-11-24 22:06:30 +0100 (Sat, 24 Nov 2007) | 2 lines
-
-marks: fixes and cleanup
-
-------------------------------------------------------------------------
-r241 | nadvornik | 2007-11-22 22:15:35 +0100 (Thu, 22 Nov 2007) | 2 lines
-
-improved directory scanning a bit
-
-------------------------------------------------------------------------
-r240 | nadvornik | 2007-11-21 23:46:50 +0100 (Wed, 21 Nov 2007) | 2 lines
-
-added possibility to specify prefered file type for external commands
-
-------------------------------------------------------------------------
-r239 | nadvornik | 2007-11-21 22:21:17 +0100 (Wed, 21 Nov 2007) | 2 lines
-
-prevent duplicate sidecar files; code cleanup
-
-------------------------------------------------------------------------
-r238 | nadvornik | 2007-11-20 23:28:40 +0100 (Tue, 20 Nov 2007) | 3 lines
-
-fixed grouping sidecar files and made it configurable via config file
-(no gui yet)
-
-------------------------------------------------------------------------
-r237 | nadvornik | 2007-10-22 21:58:47 +0200 (Mon, 22 Oct 2007) | 2 lines
-
-fixed preloading images in file list
-
-------------------------------------------------------------------------
-r236 | nadvornik | 2007-10-08 21:41:49 +0200 (Mon, 08 Oct 2007) | 2 lines
-
-improved FileDataChangeInfo structure, check for another file operation in progress
-
-------------------------------------------------------------------------
-r235 | nadvornik | 2007-10-02 23:49:02 +0200 (Tue, 02 Oct 2007) | 7 lines
-
-display sidecar files (jpeg + raw)  using gtk_tree_store
-This is just a prototype to test the functionality, it needs more work.
-
-Please test, omments are welcome :)
-
-
-
-------------------------------------------------------------------------
-r234 | nadvornik | 2007-10-01 21:52:10 +0200 (Mon, 01 Oct 2007) | 2 lines
-
-use FileData even for sidecar file list
-
-------------------------------------------------------------------------
-r233 | nadvornik | 2007-09-30 23:10:54 +0200 (Sun, 30 Sep 2007) | 6 lines
-
-editors.c was almost completely rewritten:
-- centralized template parsing
-- better control of executed editors
-- possibility to get editor exit status via callback
-
-
-------------------------------------------------------------------------
-r232 | nadvornik | 2007-09-12 23:17:31 +0200 (Wed, 12 Sep 2007) | 4 lines
-
-display sidecar extensions in filelist
-some cleanup of file marks
-
-
-------------------------------------------------------------------------
-r231 | nadvornik | 2007-09-11 22:06:29 +0200 (Tue, 11 Sep 2007) | 3 lines
-
-replaced gchar* path with FileData *fd
-
-
-------------------------------------------------------------------------
-r230 | nadvornik | 2007-08-23 22:45:59 +0200 (Thu, 23 Aug 2007) | 2 lines
-
-started support for sidecar files like xmp, raw+jpeg etc.
-
-------------------------------------------------------------------------
-r229 | nadvornik | 2007-08-20 22:11:32 +0200 (Mon, 20 Aug 2007) | 2 lines
-
-more external commands
-
-------------------------------------------------------------------------
-r228 | nadvornik | 2007-08-16 22:57:09 +0200 (Thu, 16 Aug 2007) | 2 lines
-
-improved external delete command
-
-------------------------------------------------------------------------
-r227 | nadvornik | 2007-08-15 23:37:51 +0200 (Wed, 15 Aug 2007) | 2 lines
-
-started implementation of external commands; external Delete should work
-
-------------------------------------------------------------------------
-r226 | bruclik | 2007-07-20 09:10:48 +0200 (Fri, 20 Jul 2007) | 3 lines
-
-compilation fix
-
-
-------------------------------------------------------------------------
-r225 | bruclik | 2007-07-13 16:03:08 +0200 (Fri, 13 Jul 2007) | 3 lines
-
-First implementation of marks for all photos.
-
-
-------------------------------------------------------------------------
-r224 | nadvornik | 2007-07-12 22:46:28 +0200 (Thu, 12 Jul 2007) | 2 lines
-
-relative scroll is working; some cleanup
-
-------------------------------------------------------------------------
-r223 | nadvornik | 2007-07-11 23:10:25 +0200 (Wed, 11 Jul 2007) | 2 lines
-
-connected zoom
-
-------------------------------------------------------------------------
-r222 | nadvornik | 2007-07-11 22:00:07 +0200 (Wed, 11 Jul 2007) | 2 lines
-
-started relative scroll, keep scroll position 
-
-------------------------------------------------------------------------
-r221 | nadvornik | 2007-07-10 23:25:51 +0200 (Tue, 10 Jul 2007) | 2 lines
-
-improved connected scroll and active image switching
-
-------------------------------------------------------------------------
-r220 | nadvornik | 2007-06-29 17:16:46 +0200 (Fri, 29 Jun 2007) | 4 lines
-
-implemented split windows
-TODO: menus and hotkeys, connected zoom, activating on drag
-
-
-------------------------------------------------------------------------
+commit 529b1126534cc664e8f88f028fa56190cc8debf3
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sun Aug 12 22:06:03 2012 +0200
+
+    updated NEWS file
+
+commit 9d940b7df273544d99d87699986c2eca9e9c4bfd
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Fri Aug 10 21:20:07 2012 +0200
+
+    make sure fd is referenced
+    
+    file_data_disconnect_sidecar_file may free a fd with zero references
+    we have to ref it if we want to use it later
+
+commit ebc790ba2080dc8abd9cc880ead7a0acc120dd64
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Thu Aug 9 17:32:36 2012 +0200
+
+    fixed file_data_check_sidecars
+    
+    use more clear algorithm:
+    if the group has changed
+       disconnect everything
+       create new group
+
+commit fa99aa221843e0e371edf910a8a39c91451691fb
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Thu Aug 9 17:30:12 2012 +0200
+
+    fixed exif_read_fd
+    
+    - add fd to cache immediately
+    - do not check file presence, the result could be inconsistent with the cache
+
+commit 5ab7044678cf35dff14c06d9031a2791fd563fec
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Tue Aug 7 10:21:29 2012 +0200
+
+    replaced assert with g_assert
+
+commit 5fd7dc2e202ea131aa0d9d399a17066c3be56393
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sun Aug 5 20:46:05 2012 +0200
+
+    updated README file
+
+commit 672c7918e805f090e7848a9ce62cae61f29652fe
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sun Aug 5 20:40:07 2012 +0200
+
+    fixed gen_changelog for git
+
+commit 7b53b482ac007e2d2a8bbd27f7c2bee0ed10103c
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Tue Jul 31 19:10:15 2012 +0200
+
+    spec file cleanup
+
+commit 7f398f978cfbbea7b72d714a0e8b595c6f2e833a
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Tue Jul 31 19:09:43 2012 +0200
+
+    use GPLv2 copy with new FSF address
+
+commit 27c86debac68cd20d7e2a7381833f3cf6245b114
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Tue Jul 31 18:20:06 2012 +0200
+
+    renamed zh_CN.GB2312.po to zh_CN.po
+
+commit b286338544a2c60acb1332f3cb90f6b355af00fb
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Tue Jul 31 17:41:47 2012 +0200
+
+    updated version and copyright notice
+
+commit 27bec4237fa34883854d8c83ce1484fcc0aef165
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Mon Jul 30 18:21:13 2012 +0200
+
+    prevent crash in g_utf8_collate_key
+    
+    https://sourceforge.net/tracker/?func=detail&aid=3330014&group_id=222125&atid=1054680
+
+commit 16bb1afa0623d20923b31c95f4ddf45441b2b5d3
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Mon Jul 30 16:31:04 2012 +0200
+
+    use AC_SYS_LARGEFILE
+    
+    Subject: Build with large file support
+    From: Michal ÄŒihaÅ™ <nijel@debian.org>
+    Forwarded: https://sourceforge.net/tracker/?func=detail&aid=3026317&group_id=222125&atid=1054682
+
+commit 27cdadd96d24077e3bca57ae4f4d2aa97e413612
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sun Jul 29 19:07:39 2012 +0200
+
+    update file data structure
+    
+    update file data structure in view_dir_tree when a new directory
+    is created
+
+commit 99d04b829d846921ddff3f8d268a8e2f08fe64cd
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sun Jul 29 19:05:58 2012 +0200
+
+    statusbar fix
+    
+    make sure layout_status_update_image is called only on valid
+    statusbar
+
+commit cce7db24ab6fc622b0b87cbc31d9cd3cf2abb5b1
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sun Jul 29 15:02:56 2012 +0200
+
+    update statusbar after changing active image
+    
+    https://sourceforge.net/tracker/?func=detail&aid=3531954&group_id=222125&atid=1054680
+
+commit f4245483e556c3a31ce53f39c4cfa78c805f85ca
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Fri Jul 27 16:28:48 2012 +0200
+
+    changed "readonly destination directory" to a warning
+
+commit 3e0e566eca5097f546eb5989196722ac6c1f732c
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Fri Jul 27 15:03:58 2012 +0200
+
+    fixed bug in cache handling
+    
+    changed files stayed in cache, but they were reported as not found,
+    this caused leaks and crashes
+    bug introduced by change of notification function,
+    commit 78cde6934008f79fe498e4adc64d187b0ed47417
+
+commit d17c428da1a3a25b1a24f50470f14e98e8cbd226
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Thu Jul 26 16:02:52 2012 +0200
+
+    initialize default options before commandline parsing
+    
+    this fixes a crash on images specified on commandline
+
+commit cb758c2979a2a096c45ab0cb691cd063d81ae703
+Merge: af76525 6f70188
+Author: Klaus Ethgen <Klaus@Ethgen.de>
+Date:   Thu May 17 18:28:56 2012 +0100
+
+    Merge commit 'refs/merge-requests/1' of git://gitorious.org/geeqie/geeqie into merge-requests/1
+    
+    * git://gitorious.org/geeqie/geeqie:
+      Ignore duplicates with same path
+
+commit af76525a87cc636cdf7f5454f4e32969ef903534
+Merge: 5ef3084 dc3dea1
+Author: Klaus Ethgen <Klaus@Ethgen.de>
+Date:   Mon May 14 17:33:21 2012 +0100
+
+    Merge remote-tracking branch 'origin/toer'
+    
+    * origin/toer:
+      Complete Swedish translation including bugs based on 55de20b 2010-12-11 version
+      Almost complete Swedish translation
+      Started with Swedish translation
+    
+    Merged on request of Tore.
+
+commit 5ef30846a7bc94585771a6d08284b771320b33d4
+Author: Klaus Ethgen <Klaus@Ethgen.de>
+Date:   Fri Jan 6 02:23:57 2012 +0100
+
+    Fix directory walking bug
+    
+    There was a annoying bug when walking up more than one directory level.
+
+commit 6f701885de29cc7ce188fdd3be50cdab253d5f98
+Author: cybjit <cybjit@gmail.com>
+Date:   Mon Apr 25 12:53:35 2011 +0200
+
+    Ignore duplicates with same path
+
+commit ce2d11c4d9df655a4fff053373b724d985a25db0
+Author: Vincent Blut <vincent.debian@free.fr>
+Date:   Sat Dec 3 15:46:20 2011 +0100
+
+    Various errors in the translation (typo, etc.)
+    
+    Patch submitted by Vincent Blut that fix some typo in French locales.
+    Closes Debian bug #620895.
+
+commit bc3ed05a47d86ee3ec78d166df17d1f446f2d0cd
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat Nov 12 11:36:18 2011 +0100
+
+    call size signal indirectly via idle_call
+    
+    image_loader_size_cb is called from a second thread, so it can't
+    use any gtk functions directly or via signals
+    this fixes random crashes in gtk code introduced by commit e24281e5
+
+commit 4cbe6b68b12b1102fcdc2dcec99e6b03c74291a1
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat Nov 12 11:34:55 2011 +0100
+
+    call log window functions indirectly via idle callbacks
+
+commit 04bb6f2326f58139c22d3bb8de7e639c8efb40ba
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Tue Oct 4 22:09:55 2011 +0200
+
+    rename file_data_new_simple to file_data_new_group, filedata.c cleanup
+
+commit 58e4671ba18ae3b3a996f3f518151fc6fb2bbdf0
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sun Oct 2 11:55:34 2011 +0200
+
+    recognize all registered extensions, even if they contain dots
+
+commit 52d7c7d5a99e904839c0497f32ca6d2586b9a14f
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sun Oct 2 11:16:03 2011 +0200
+
+    sidecar_file_priority function is already called with extension as an argument
+
+commit 78cde6934008f79fe498e4adc64d187b0ed47417
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sun Oct 2 11:12:44 2011 +0200
+
+    call notify functions in in an idle call
+
+commit 5276a3faf1ab551a34acb45e72ae15213a7ccbfc
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat Oct 1 23:21:08 2011 +0200
+
+    move the grouping code from file_data_new to filelist_read
+
+commit aff67e653215952b4766cf33bfdfa24cd93949b3
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat Oct 1 20:58:34 2011 +0200
+
+    separate function fortesting changed files without sidecars
+
+commit 21a8bc375e28b4950bac3a1a3e1aef1f734d9c63
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat Oct 1 17:11:10 2011 +0200
+
+    consistent use of fd->extension
+
+commit e6308d6f082ede8e9d6e57b14806356c8923c65d
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat Oct 1 16:31:58 2011 +0200
+
+    simplified grouping of sidecars
+
+commit 18d80ca385e38b3bf9bc4ef36264bb4d430aa1f6
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Fri Sep 30 23:57:31 2011 +0200
+
+    fixed filelist_sort_compare_filedata to not return 0 no different files
+
+commit efc8096527d6f743d17c44b9982616a169973f39
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Fri Sep 30 23:02:26 2011 +0200
+
+    always check for sidecars by readdir
+
+commit 7bb3871e21c03b7103792524458eddf0616880db
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Fri Sep 30 10:54:32 2011 +0200
+
+    do not use FileData entries with empty path
+
+commit 559683ddda8610a986ea1355dc191e8e20f77a23
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Thu Sep 29 17:17:20 2011 +0200
+
+    updated copyright notice
+
+commit 4f028fb255a5edaeb2aec25d2e87ef4b8a2aa44d
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Thu Sep 29 17:14:36 2011 +0200
+
+    added custom tiff loader
+
+commit 25d02a83df709d2852f4cb90867aa261b80280ca
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Thu Sep 29 12:36:08 2011 +0200
+
+    added long-term cache for keywords
+
+commit bdea8db7b066162269cc1d9d09d745983e5fadb0
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Tue Sep 27 22:06:09 2011 +0200
+
+    set stereo.fixed default values to hdmi stereo standard
+
+commit 216a72fa46b4f35d8b4f36dfb7b7a227300faa4c
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Tue Sep 27 22:03:47 2011 +0200
+
+    fixed stereo.fixed preferences
+
+commit 1c4103ded9b34d240b76779d5ea8a5c16bbf1924
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Tue Sep 27 21:12:02 2011 +0200
+
+    fixed stereo_temp_disable functionality
+
+commit f5470bbc26b15ce585c8f1cedfad3adfa611ef85
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Tue Sep 27 10:29:36 2011 +0200
+
+    added panorama .pto file to the list of known files
+
+commit 0736b5d6b3b31bb24531284b44b90b7b225d9e7c
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Fri Jul 29 15:27:09 2011 +0200
+
+    fixed crash on incomplete jpeg file
+
+commit 10f4b603e6b8ad553a7b9c9afb4aa92e43dccae6
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat May 14 22:16:49 2011 +0200
+
+    added Cycle through stereo modes menu entry
+
+commit e9780e09d7e57bd5f5c3594bdd773bb2541ec232
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat May 14 21:53:45 2011 +0200
+
+    do not mix autodetected and user-defined stereo mode
+
+commit c447b43b8f8291da9d941718afaa0b2c9d950efc
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sun Apr 10 21:11:50 2011 +0200
+
+    more compilation fixes
+
+commit 7a8a4c7e4448572ba18d4ded8cf7e86dbd5bf8e7
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sun Apr 10 20:30:17 2011 +0200
+
+    compilation fixes
+
+commit 0ec34da9df56efdd6963a0f3569fe24299a8ba0d
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat Apr 9 19:27:43 2011 +0200
+
+    fixed libjpeg in autoconf
+
+commit 18f8e33ac8681cd297a980a936bd2ce2467614da
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat Apr 9 16:07:31 2011 +0200
+
+    improved mpo parser, consider individual image type code
+
+commit e5235578ba189827610cec22c9ca8bc17c433113
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Fri Apr 8 21:16:41 2011 +0200
+
+    fixed to compile with other libjpeg versions
+
+commit dd008ca74ba4a924b202021a7d0dbd11cf0dc542
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sun Mar 27 19:22:29 2011 +0200
+
+    allocate tile pixbuf allways
+
+commit 43b479c1042930d616cb4c8fb9e80ee5fd0900ec
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sun Mar 27 18:20:19 2011 +0200
+
+    updated copyright notices
+
+commit a7efe96305e0e1847c2e20b119c86cac03fd9e56
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sun Mar 27 18:14:17 2011 +0200
+
+    free mpo data
+
+commit 85dbc07da126d6229f37821e5dd49c3b8546e80e
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sun Mar 27 13:53:23 2011 +0200
+
+    fixed jpeg_segment_find to support more app2 segments with different signatures
+
+commit c2378af08d9bb0b9ee1f958c9a4b50bc65abbed8
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sun Mar 27 12:52:09 2011 +0200
+
+    store stereo flag in loader data
+
+commit 2f3197170c42959552141b2600c9d828542792a8
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sun Mar 27 12:02:30 2011 +0200
+
+    fixed freed data access
+
+commit 091dae0b7d6e602da76f624ddac3e335e262e1fa
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sun Mar 27 11:58:29 2011 +0200
+
+    load mpo files as SBS
+
+commit c546114c635f93ff254b4d479a1b6370377d054b
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sun Mar 27 10:57:08 2011 +0200
+
+    added mpo parser
+
+commit 3b1800b11fd5f98ce268b358f17585d43641c3ea
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat Mar 26 22:13:39 2011 +0100
+
+    split jpeg parser functions to separate file
+
+commit ec75c814d6f79ec16426ee40aacbf7d0aded8e41
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat Mar 26 22:03:30 2011 +0100
+
+    added custom jpeg loader
+
+commit b5b810393f0fae5071a0263db376dadaf595d4c5
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat Mar 26 17:57:25 2011 +0100
+
+    infrastructure for image loader backend
+
+commit 09037ad50bd7a839794df37034bcd3dd378cab13
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Fri Mar 25 23:25:15 2011 +0100
+
+    renderer interface cleanup
+
+commit c9965882aeed23e72cf019f6d3859a69d1d4aebd
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Fri Mar 25 23:14:01 2011 +0100
+
+    fixed redrawing on expose event
+
+commit a5a53debed949e9511e6e6fcd454aa324334a8cf
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Fri Mar 25 22:09:59 2011 +0100
+
+    fixed area_changed handling
+
+commit 8a3733bbabbca537e1f741984fa8b5e94cca08c6
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sun Mar 20 19:16:07 2011 +0100
+
+    added more anaglyph modes
+
+commit 19f041e7e105a568a57b22cc36e30590ccc75de7
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sun Mar 20 12:49:00 2011 +0100
+
+    added half-size (3dtv) stereo mode
+
+commit 797e4dbd59e944c3d3b78d25b44dfe7ae8bb287e
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sun Mar 20 11:31:08 2011 +0100
+
+    fixed sbs mode
+
+commit e82e902ed059b5ed4e12a1c48e816cdf3c514940
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sun Mar 20 11:11:08 2011 +0100
+
+    save and load stereo options
+
+commit f2ee23371ea8a95eb54cd39bf191e658f99cae7e
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sun Mar 20 10:52:41 2011 +0100
+
+    improved preferences dialog
+
+commit bd4b6cfb641e52f646931b69ddccbcacb0f85a5f
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sun Mar 20 10:15:07 2011 +0100
+
+    added fixed stereo mode
+
+commit 826ea8c822093a131c5c44c9c02252aff5d60d2e
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sun Mar 20 00:23:54 2011 +0100
+
+    removed 'swap' entry from menu
+
+commit 28fd30edc8bf0a4d0a62c2732d37f512affaf87b
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sun Mar 20 00:18:13 2011 +0100
+
+    temporarily disable stereo mode, added more stereo prefs
+
+commit 623bc05945e68c9242a69290de12501435a1bc18
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat Mar 19 21:42:13 2011 +0100
+
+    type of source stereo image made adjustable from menu
+
+commit bab7032f6f11847e68ce1ac42d68a18d50aed220
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat Mar 19 19:53:30 2011 +0100
+
+    stereo mode preferences
+
+commit f5f37819bf9ede89c68114b079feb24d19e49343
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat Feb 5 22:22:12 2011 +0100
+
+    change stereo mode from menu
+
+commit 68dc88956d7b42a3ced0e0256d075307e866494f
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat Feb 5 18:20:16 2011 +0100
+
+    swap stereo images
+
+commit 8ea74ae53b6c32d3d5492340fe16fdeeedd12f26
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Fri Feb 4 23:49:13 2011 +0100
+
+    added mirrored stereo mode
+
+commit 086196582749a9f9fd254399665c56a892348ce3
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat Jan 29 17:43:05 2011 +0100
+
+    fixed overlay position - part2
+
+commit a081296160a39396e395eab36c091cddfb9f216e
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat Jan 29 17:35:29 2011 +0100
+
+    fixed overlay position
+
+commit cb324a14505d277f8c2def3512e71f64d151531b
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat Jan 29 17:15:39 2011 +0100
+
+    do not draw tiles outside the viewport
+
+commit 589a4cb49ae1b9c0a8618ca3918a579ef9e517ae
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat Jan 29 14:49:38 2011 +0100
+
+    display pixel aspect ratio support
+
+commit 0a5ec68af089d4b79c3816d3e7df0434ea0ad5e8
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Fri Jan 28 14:34:57 2011 +0100
+
+    anaglyph support
+
+commit fa7103087ac4eaf5d2ddd560fa472d4c4d8a1fa2
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Fri Jan 28 13:13:27 2011 +0100
+
+    rt_tile_render cleanup part 3
+
+commit 3dd0e08368b389250b15790036be7f00075a1d74
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Fri Jan 28 13:05:14 2011 +0100
+
+    rt_tile_render cleanup part 2
+
+commit 808d8558b3d5e2ec8791ca3ea2a0ba14e5e18823
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Fri Jan 28 12:44:32 2011 +0100
+
+    rt_tile_render cleanup part 1
+
+commit 6b9ed5a71fc7230c795e4edd541fb79a5d022220
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Fri Jan 28 11:05:07 2011 +0100
+
+    first stereo support
+
+commit 63fdb63ce1470f08c4be2d7a2ff02582c331560e
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Thu Jan 27 13:40:05 2011 +0100
+
+    separated tile renderer
+
+commit a8c5cb269996f35d4877e31514956c198c3bd2e5
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Mon Sep 26 15:02:05 2011 +0200
+
+    ignore raw image support reported by the pixbuf loader
+
+commit d2c78b7a8dadc45b958e1b74242d64766e9f6e9f
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat Apr 9 16:38:46 2011 +0200
+
+    fixed using DEBUG_N from multiple threads
+
+commit 8a55b69211b5866025f66c514f34ad697d3d1909
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Thu Dec 16 22:26:36 2010 +0100
+
+    Fix bug 3006812: ensure exif cache is initialized even when all files are unreadable.
+    
+    Add a new function exif_init_cache() and call it at top of exif_read_fd(),
+    the issue was caused by a return NULL on unreadable file, before initializinf exif_cache
+    and when exif_free_fd() is called, file_cache_put() was called on invalid cache.
+
+commit 138e31f328408ac88f1162999c8fcb24298ab37a
+Author: Vladislav Naumov <vnaum@vnaum.com>
+Date:   Thu Dec 16 21:55:03 2010 +0100
+
+    Fix bug 2999830: do not report failed chown() on copy.
+    
+    Debian bug 574853 reported by Ian Zimmerman <itz@buug.org>
+    
+    I was trying to copy images from my camera which is mounted as a USB
+    mass storage device.  The files on the mount are owned by root, and
+    geeqie tries to chown (and chgrp) the copy, fails, and displays an
+    error message.  This is only mildly annoying when copying a single
+    file, but when I want to copy multiple files the failure stops the
+    operation after the first file.
+    
+    Patch by Vladislav Naumov <vnaum@vnaum.com>
+    
+    This patch ignores chown errors, while still doing chown
+    (so root still can copy files preserving ownership).
+    
+    http://sourceforge.net/tracker/?func=detail&aid=2999830&group_id=222125&atid=1054680
+    http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=574853 (original report)
+
+commit bd374b070d437d6319946c49ae0166ee4621e737
+Author: Klaus Ethgen <Klaus@Ethgen.de>
+Date:   Sun Jul 24 13:17:34 2011 +0100
+
+    Change the image size from 10×20 to 20×20
+    
+    Now the image should not be scaled anymore. Fix Bug Debian:614607 and
+    SF:3191174.
+
+commit 8f9ba4127954be5e04ac4c8b1822399a435af1ed
+Author: Klaus Ethgen <Klaus@Ethgen.de>
+Date:   Sun May 15 19:44:04 2011 +0100
+
+    Fix a remote command bug
+
+commit 31f6b82dbee7f4456371a1b527161ebc81342577
+Author: Klaus Ethgen <Klaus@Ethgen.de>
+Date:   Sat Apr 9 19:47:30 2011 +0100
+
+    Do not delete path settings when adding new directory
+    
+    This patch will change the way, geeqie is mangling the path name in the
+    rename (copy) dialog when creating new directory. Will fix the bugs
+    Debian:529531 and SF:2795791.
+
+commit a4270acba9810bb6307e7d8da1334211898d8fb5
+Author: Klaus Ethgen <Klaus@Ethgen.de>
+Date:   Fri Jul 16 13:30:53 2010 +0100
+
+    Fix compiling issue
+    
+    img-view.c: In function 'real_view_window_new':
+    img-view.c:889: error: 'for' loop initial declarations are only allowed in C99 mode
+    img-view.c:889: note: use option -std=c99 or -std=gnu99 to compile your code
+
+commit e24281e5b7b6a70c47eeb46c4857913b5eec10a8
+Author: Klaus Ethgen <Klaus@Ethgen.de>
+Date:   Sat May 8 23:52:09 2010 +0100
+
+    Fix the windowsize
+    
+    Opening a new window from a collection should not set the default size.
+    Unfortunately the size of the image is not available in the early state.
+
+commit c971abea1cfb4b4d85e1c67dba2d443ebd5e9f86
+Author: Klaus Ethgen <Klaus@Ethgen.de>
+Date:   Thu Apr 21 18:44:15 2011 +0100
+
+    Fix wrong line ending
+
+commit dc3dea1297365981d2e206fd8afbb84a781ced20
+Author: Tore Ericsson <tore.ericsson@telia.com>
+Date:   Mon Feb 14 21:21:55 2011 +0100
+
+    Complete Swedish translation including bugs based on 55de20b 2010-12-11 version
+
+commit 236bc4c0e943f91e022c1c792a0267688e492f1d
+Author: Tore Ericsson <tore.ericsson@telia.com>
+Date:   Mon Feb 14 15:04:07 2011 +0100
+
+    Almost complete Swedish translation
+    
+    Could not translate dialogue button texts, such as Apply, Close, Cancel, New,
+    Edit, Delete, etc. Also remains three entries where I don't know the meaning
+    on lines 1550, 1558, and 5229. The English text seems to be completely out of
+    order on lines 5601 and 5606. -- Note also: The first cache path in the
+    thumbnail dialogue window appears having a duplication error.
+
+commit 8c25cb5a376d19f3db0b5d8b98a4c16fa8799e9e
+Author: Tore Ericsson <tore.ericsson@telia.com>
+Date:   Mon Feb 14 14:51:44 2011 +0100
+
+    Started with Swedish translation
+
+commit 55de20b6bd7a666ab63ee9d1f60e8fd1833a74c5
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sat Dec 11 20:09:43 2010 +0100
+
+    Convert svn:ignore properties to .gitignore
+    
+    Simplify .gitignore and add few forgotten entries
+
+commit b71da225f077c5268a525886967be68739c5be94
+Author: Klaus Ethgen <Klaus@Ethgen.de>
+Date:   Mon May 10 11:33:13 2010 +0000
+
+    Some small logic mistakes
+    
+    Use boolean operators for booleans and bitwise otherwise only.
+
+commit dd54e571eb1cd5ffc55a97edecc777180d0dddb4
+Author: Klaus Ethgen <Klaus@Ethgen.de>
+Date:   Mon May 10 11:32:56 2010 +0000
+
+    GTK marks several functions as deprecated
+    
+    The following functions has been replaced and deprecated by version
+    2.20:
+       - GTK_WIDGET_CAN_FOCUS
+       - GTK_WIDGET_DRAWABLE
+       - GTK_WIDGET_HAS_FOCUS
+       - GTK_WIDGET_HAS_GRAB
+       - GTK_WIDGET_IS_SENSITIVE
+       - GTK_WIDGET_NO_WINDOW
+       - GTK_WIDGET_REALIZED
+       - GTK_WIDGET_SENSITIVE
+       - GTK_WIDGET_STATE
+       - GTK_WIDGET_TOPLEVEL
+       - GTK_WIDGET_VISIBLE
+
+commit 7a426d74379c2728ffe2bd0b5a33fd9bb473d7fb
+Author: Klaus Ethgen <Klaus@Ethgen.de>
+Date:   Sun Feb 28 22:55:37 2010 +0000
+
+    Add unknown file class to grouping
+
+commit b71f37b8dbfd89c79a407698293cc3de44b4f645
+Author: Klaus Ethgen <Klaus@Ethgen.de>
+Date:   Sun Feb 28 15:17:12 2010 +0000
+
+    Fix a small issue with strptime
+    
+    strptime do not initialize all fields. So the undefined fields could end
+    in crash later on.
+
+commit fc390bb82685262d7fc073f0571e39c2fcc1c8c3
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sat Feb 27 23:31:07 2010 +0000
+
+    Allow scrollview to grow when generic dialog is resized (ie. Metadata write ? dialog). Do not force scrollbar if not needed.
+
+commit 34c581a990f3b8f76084e0379282cb6bf8eb9606
+Author: Klaus Ethgen <Klaus@Ethgen.de>
+Date:   Sat Feb 27 20:35:26 2010 +0000
+
+    Add the feature to add single keywords to selection
+    
+    This patch adds a context menu entry to keywords to ad the current
+    keyword to all selected images.
+
+commit bbcf58c3c476cbff706e04295c028da8239d3e70
+Author: Klaus Ethgen <Klaus@Ethgen.de>
+Date:   Sat Feb 27 20:35:09 2010 +0000
+
+    Little macro correction
+
+commit de8ed72a941ef92c51ceca084b66dc7828cb90ab
+Author: Klaus Ethgen <Klaus@Ethgen.de>
+Date:   Sat Feb 27 20:34:54 2010 +0000
+
+    Unifying the datetime output
+    
+    The output of %date% and %formatted.DateTime% should be equivalent.
+
+commit 7cabd51896c7a9411de0336ade042f4e726fe3e1
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Wed Feb 17 21:05:10 2010 +0000
+
+    updated ChangeLog file
+
+commit c704896fdb0d0d5b5e2d2205c9d57a4382d343d7
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Tue Feb 16 21:18:03 2010 +0000
+
+    added 2010 to copyright text
+
+commit 7bea2e9641e42a79bf6bc89a7b9d86d68e671b87
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Tue Feb 16 21:10:12 2010 +0000
+
+    updated version string
+
+commit 43c48179f5b7249ea13b918d0e6cdb156ce3011f
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Tue Feb 16 20:07:05 2010 +0000
+
+    Restore translators list, removed by revision 1899.
+
+commit 113b2377405d3652e66bb547bdf58f981ef6f606
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Tue Feb 16 19:55:35 2010 +0000
+
+    Update russian translation. Thanks to Denis Silakov.
+
+commit 4261dfa3f5aaf091e97daeb0f99dd020672fe37b
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sun Feb 14 22:00:23 2010 +0000
+
+    fixed segfault in exif parser
+    
+    http://sourceforge.net/tracker/index.php?func=detail&aid=2950617&group_id=222125&atid=1054682
+
+commit b6a2a9d69377da28b4dacdc3630e68e5cb7869ef
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sun Feb 14 21:35:11 2010 +0000
+
+    fixed reference count
+    
+    there was a bug in reference count on writting unsaved metadata
+    before starting an external editor
+
+commit aa1e53ca14dcd9a75a717792be8a4d5fc735a5eb
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sun Feb 7 13:16:35 2010 +0000
+
+    test gnome-doc-tool in configure
+
+commit 78b77ae3833bfa191aa94531e5b5ba0765b0cc6e
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sun Feb 7 12:44:55 2010 +0000
+
+    dropped obsolete sections, gqview changelog moved to wiki
+
+commit f977ad15657970ebb4621ba46e005cefc0b218ae
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Tue Feb 2 20:21:11 2010 +0000
+
+    Brazilian Portuguese translation was updated.
+    
+    Thanks to Sergio Cipolla.
+    
+    References:
+    http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=567824
+
+commit 0e32e4d57426c075fa4d9f3cee75c5bdd897df48
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Wed Jan 27 22:27:10 2010 +0000
+
+    czech translation fixes
+
+commit b015822f5751b6ad105ad607d196320574d30806
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Wed Jan 27 19:58:11 2010 +0000
+
+    Update catalan translation, by angel mompo.
+
+commit 6088a5dd735b2bea2b1a8b4606b3c32e89b86999
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sun Jan 17 13:34:48 2010 +0000
+
+    Fix osd zoom level refreshing (it was broken since some times).
+
+commit 615b0fbae5303c71ce20356036d89d8d5a23261e
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Wed Jan 13 19:49:39 2010 +0000
+
+    Update dutch translation. Work in progress.
+    
+    Patch by Marcel Pol.
+
+commit 141a854c9b4b80132cb0be2cfd45122e41157531
+Author: Klaus Ethgen <Klaus@Ethgen.de>
+Date:   Mon Jan 11 14:10:49 2010 +0000
+
+    Wops, typo...
+
+commit 36ee9c9dcd360e1d6847f4fd9b899c70875cc23f
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sun Jan 10 14:23:29 2010 +0000
+
+    copy_file(): remove incomplete file on error (bug 2890715)
+    
+    The behavior changed, data is first written to a temporary file,
+    which is unlinked in case of error, then the tempfile is renamed
+    to the final name.
+    Size of buffer was increased from 4k to 16k.
+
+commit 8ce20c203c0b7e91eed065d5163bd2ad8e183eb3
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sat Jan 9 11:44:27 2010 +0000
+
+    Workaround intltoolize 0.40.6 bug related to LINGUAS, see bug 2817602.
+
+commit 5a1662366440a908c9af77b57ccd00472ea0d3cc
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sat Jan 9 10:37:48 2010 +0000
+
+    Log a message when EOVERFLOW error is set by stat() when building files lists. See bug 2876142.
+
+commit a1c2ef4506fae105f7ca76463fe21c84bd283cb3
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Tue Jan 5 22:28:11 2010 +0000
+
+    Add Serbian translation.
+    
+    Note there are two *.po files, one for Cyrilic and one for Latin
+    letters.
+    
+    Thanks to Milos Popovic.
+
+commit 59801852932ec6a13f43b1e3f4beb42631906070
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Tue Jan 5 22:26:03 2010 +0000
+
+    Update README about translations.
+
+commit f9feac4ff37cc70a0b601c1e839f4e37ff2b5072
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Tue Jan 5 17:49:50 2010 +0000
+
+    Allow to switch to fullscreen mode using LIRC.
+    
+    Imagine the following situation (which happened to me several times) :
+    you want to see photos from your bed or your sofa so you launch geeqie
+    and go to the right directory, then you take your remote control and sit
+    comfortably far from your keyboard and mouse. And when you want to begin
+    to watch photos, you realize you forgot to enable full screen! You have
+    to stand up and to go until your computer and come back, whereas you
+    could have done it with your remote control.
+    
+    Patch by Bernard Massot.
+
+commit f1c7e5da546938446317b7af5ca2c06996bed93a
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sat Jan 2 12:38:55 2010 +0000
+
+    Get rid of Geeqie version and beta release message. It clutters command line usage, and is not that useful. Suggested by Michal ÄŒihaÅ™.
+
+commit bd34c324c92456f5182579d6922d7aba664f93c3
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sat Dec 19 12:53:20 2009 +0000
+
+    Fix bug 2917164.
+    g_utf8_collate_key_for_filename() don't give sort order one
+    may expect. Using g_utf8_collate_key() make things closer
+    to many other programs output (ie. ls and gqview).
+    
+    Thanks to Michael pointing this out.
+
+commit 99766f9e671fc24106db4104fa468192686e5629
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sat Dec 19 12:49:19 2009 +0000
+
+    Store sort parameters in appropriate variables.
+
+commit 7ec5e57c11590f5d44bb96865e279de8d03c49cf
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Thu Dec 10 17:48:43 2009 +0000
+
+    Move "Add Keyword" menu item at top of Keywords bar contextual menu.
+    
+    Suggested by Lars Täuber.
+
+commit e6fe9db8a728c2188e7276f3cea001981120ed80
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Thu Dec 10 17:44:31 2009 +0000
+
+    Fix contextual menus in lateral bars.
+    
+    Use button_release_event instead of button_press_event,
+    this makes contextual menus persistent until an option
+    is selected or the menu is closed.
+
+commit 17f461e047e39b2e6ddfc82192aeb71db32c326d
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Fri Dec 4 21:01:11 2009 +0000
+
+    Some systems do not have SA_SIGINFO (siginfo_t), like GNU/Hurd, so just test if defined or not. Patch by Michal ÄŒihaÅ™ (Bug ID: 2894271).
+
+commit 4bbf6df484aa38c0919ef1c12f25a61e7cb2857b
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Fri Dec 4 20:40:02 2009 +0000
+
+    Editors: disable Delete button if a .desktop file is not writeable and disable Edit button when no entry is selected.
+
+commit 4ba3a4841437e510a1c2904ac2991debb2d1071a
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Fri Dec 4 19:45:09 2009 +0000
+
+    Add Opera to the list of browsers. Patch by Christian Heckendorf (feature request ID: 2908469).
+
+commit 1f4fdf05a9d2f0ec98fc4a9c17172138e60a9e1f
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Fri Nov 27 23:27:35 2009 +0000
+
+    build documentation with gnome-doc-tool in makefile
+
+commit 3f39e625a89f647d3963770bfc1222ef3f2b8a98
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sun Nov 22 09:12:22 2009 +0000
+
+    scripts for converting wiki documentation to docbook
+
+commit 14fdb79a58c05b2110ccd7a7abc2e31099b74562
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat Nov 21 20:08:51 2009 +0000
+
+    check gtk_clutter_init return value
+    
+    https://sourceforge.net/tracker/index.php?func=detail&aid=2899866&group_id=222125&atid=1054680
+
+commit 64efa05fe3501bbcdd866156a9c62954d198514a
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Wed Nov 18 12:34:30 2009 +0000
+
+    changed https to http in wiki links
+
+commit fb7ec61825c021bfbc7431ce7dcbbafc97a8d9c1
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Fri Nov 13 18:37:31 2009 +0000
+
+    Spanish translation was updated. Thanks to Redy Rodriguez.
+
+commit 40c05f384b37a3fc91262b033a0603ce376f8ccc
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sat Nov 7 21:31:23 2009 +0000
+
+    Updated spanish translation. Thanks to Redy Rodriguez.
+
+commit ec5cfc05e59af8975556ffbc6262252e91172441
+Author: Klaus Ethgen <Klaus@Ethgen.de>
+Date:   Tue Oct 13 21:49:42 2009 +0000
+
+    German translation update
+
+commit 3bd2b7d601d9444418799003a5ae472ac7738d15
+Author: Klaus Ethgen <Klaus@Ethgen.de>
+Date:   Tue Oct 13 21:49:21 2009 +0000
+
+    Add compatibility for GTK 2.18
+    
+    With 2.18 some functions are deprecated. With geeqie that are two at the
+    moment.
+    - gtk_tree_view_column_get_cell_renderers - which can be replaced by
+      gtk_cell_layout_get_cells
+    - gdk_event_get_graphics_expose - I just commented it as there seems to
+      be no replacement in GTK 2.18
+
+commit 84b602a4d3d1156d36c42db6bbd5d811cbe2f255
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat Oct 10 15:01:41 2009 +0000
+
+    added a workaround for https://bugzilla.gnome.org/show_bug.cgi?id=590692
+
+commit 9d0d6ce6929d7fae161552c1d91ee9ff412b3b2f
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat Oct 10 10:15:23 2009 +0000
+
+    use text renderer for editor->hidden
+    
+    The toggle was too confusing because it was not dirrectly editable.
+
+commit a41042b3eed47f80f91448ca4836d09976a238fb
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Thu Oct 1 18:40:34 2009 +0000
+
+    ignored multiple directories specified on commandline
+    
+    IMHO this was inconsistent - specifying one directory had completely
+    different effect than specifying two or more directories. Moreover,
+    it segfaulted.
+    Now only one directory is allowed.
+
+commit 95d62825b5e935186a76211f63bea02b4af88d5a
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Thu Oct 1 17:37:51 2009 +0000
+
+    fixed tree_store reordering
+
+commit 34f3b8a3ff32d1d2c4c77f57dd99344a7443257f
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Mon Sep 28 12:04:35 2009 +0000
+
+    do not cache incomplete thumbnails
+
+commit 63420660a443d3a98d556ef90da3d079d058c4cb
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Mon Sep 28 09:57:06 2009 +0000
+
+    consider sidecars in layout_image popup menu
+
+commit 64cf6613bcea8ae9c8f412255d2132eead0d76e8
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat Sep 26 11:37:09 2009 +0000
+
+    bar_gps cleanup
+    
+    - removed the scrollbar
+    - do not set decel-rate,
+      https://bugzilla.gnome.org/show_bug.cgi?id=596419
+
+commit 643ae01b588ec9645731f147d82102244ac7dc74
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat Sep 26 08:47:28 2009 +0000
+
+    print text using pango renderer
+    
+    - the text is sent to postscript as a bitmap
+    - this fixes printing of non-ascii characters
+    
+    http://sourceforge.net/tracker/index.php?func=detail&aid=2836135&group_id=222125&atid=1054680
+
+commit 8b6b4b9f42ac74470709bd413f0b5ce5b4190a90
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Fri Sep 25 20:39:15 2009 +0000
+
+    require libchamplain 0.4
+    
+    - check for libchamplain 0.4
+    - dropped libchamplain 0.3.x support
+    
+    http://sourceforge.net/tracker/index.php?func=detail&aid=2861847&group_id=222125&atid=1054680
+
+commit b52b036e97cb06283bc2280c432404cba631cbc2
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Thu Sep 24 21:52:44 2009 +0000
+
+    fixed and simplified sidecar grouping code
+
+commit 98cfb648cc4b0173b3e324af8d4c81fa14623124
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Thu Sep 24 18:02:29 2009 +0000
+
+    fixed emitting of error signal from image loader
+
+commit f1c57f3c48c0347586e17fdce74e798ab95756ba
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Mon Sep 21 18:48:32 2009 +0000
+
+    fixed pan-view popup menu
+    
+    - removed wrong callback
+    - consider sidecar files in the editor popup
+
+commit 068a46d7a986f799ada8cc2cc80864c87b4d0741
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Mon Sep 14 21:25:10 2009 +0000
+
+    fixed selection handling in sidebar
+
+commit a65c901d3b70d7b3c2ed08ed89ffc90fac4bccc4
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sun Sep 13 21:08:40 2009 +0000
+
+    fixed editor list in popup menu
+    
+    - show an editor if any of selected files matches
+    - added debug messages
+
+commit 1ab4168f7370de7b3370b1b91cb8a052327055b1
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sun Sep 13 21:03:17 2009 +0000
+
+    fixed incorrect translation
+
+commit 3a4c59562600d7a6b390c702b72c921ade71e3db
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sun Sep 13 20:00:08 2009 +0000
+
+    fixed filelist refresh
+
+commit 0d3397b546403b2beb64608ab306f1d8ec323b2b
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sun Sep 13 12:33:11 2009 +0000
+
+    preserve histmap on NOTIFY_CHANGE
+
+commit d88c0197db63c4282f6986112521d45f87c753a6
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sun Sep 13 09:55:21 2009 +0000
+
+    added possibility to use geeqie-rotate as a standalone script
+
+commit 9f27ef873ac95d800100b3a8702bcbe614a6e49b
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat Sep 12 16:37:05 2009 +0000
+
+    strip the "lang=" prefix from exiv2 in all metadata formats
+
+commit 5773c73278ff455e6b1c96f115509cf24fe89108
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat Sep 12 16:03:09 2009 +0000
+
+    simplified template
+
+commit fcf4c3852f5993e7cbb0e5f19ae46919c22a4ffd
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat Sep 12 15:51:37 2009 +0000
+
+    editor fixes
+    
+    - fixed editor loading order
+    - fixed EditorWindow->modified flag handling
+
+commit 50f55547a981a56f3baa1cd33bc2f3c4139bd695
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat Sep 12 15:31:24 2009 +0000
+
+    fixed reloading of editors
+
+commit fbcd54e1b46fb22ca36e031e863af7b5f28b5d3b
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Wed Sep 9 18:16:09 2009 +0000
+
+    advertisment added
+
+commit 04d9cb61c50924e4a8a7431e2da696b55693d241
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Mon Sep 7 20:44:29 2009 +0000
+
+    start_editor_from_filelist_full fixes
+    
+    fixed return value from start_editor_from_filelist_full()
+    call editor_command_parse to detect possible problems early enough
+
+commit 89d76d7da4f277010901baaf80c239c057d7da70
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Mon Sep 7 20:04:22 2009 +0000
+
+    fixed list of possible editors in popup menu
+
+commit 23f8333708ae73bb3332c1cd6f1033fd9bf9cdfd
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Mon Sep 7 19:48:05 2009 +0000
+
+    fixes sidecar file grouping
+    
+    files with a number in extension were listed twice, it
+    caused problems later
+
+commit b319e56a6f2a4018c385fe0b8eb085724dd33da5
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Mon Sep 7 08:24:09 2009 +0000
+
+    Comment out unused functions, silenting related compilation warnings.
+
+commit 6178ce7ae0e76e7e4d348681969e6dd31235c8ad
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Mon Sep 7 08:18:18 2009 +0000
+
+    Remove an unused variable and minor code cleanup.
+
+commit 9cfd6cc0d65835a221e710c14941591543597145
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sun Sep 6 14:29:19 2009 +0000
+
+    improved editor loading
+
+commit 687a891871bd2c41ecb7f955b80910c941427353
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sun Sep 6 14:21:19 2009 +0000
+
+    fixed unnecessary image reloads in color menu
+
+commit e0fd3c772a12fdb3c6155b90b587c6dbaa418a82
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sun Sep 6 14:01:03 2009 +0000
+
+    load desktop files in idle time
+    
+    - scanning all desktop files takes a lot of time because of hdd seek
+    - this change moves the scanning to idle time
+    - the editors appears in the menus some time after startup
+    
+    https://sourceforge.net/tracker/index.php?func=detail&aid=2852522&group_id=222125&atid=1054680
+
+commit 397dd167416368a4d102b051352add5ed2982414
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sun Sep 6 09:08:37 2009 +0000
+
+    added messages for debugging startup time
+
+commit a9030eea34458fb630d338c042311e3904110eef
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sat Sep 5 13:48:21 2009 +0000
+
+    Update svn ignore lists.
+
+commit dcadde2b6220414d6fc833c97a31b33fa0995d87
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Fri Sep 4 15:53:04 2009 +0000
+
+    Fix up compilation issues related to libchamplain.
+    
+    See http://sourceforge.net/tracker/index.php?func=detail&aid=2848469&group_id=222125&atid=1054680
+
+commit 049463614a739625303f0edb6a8cf1ee90219833
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Thu Sep 3 20:00:40 2009 +0000
+
+    fixed in-place rename
+
+commit 6f6186dad0150ef4f37eca53c0cf22cbfd0cd7a0
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Thu Sep 3 19:18:20 2009 +0000
+
+    do not reload image on copy, move, rename and external editor
+    
+    changed files should be detected anyway
+    http://sourceforge.net/tracker/index.php?func=detail&aid=2848373&group_id=222125&atid=1054680
+
+commit 2b239ea29ca6de434c05482d27abf55df26d35f0
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Fri Aug 28 23:09:05 2009 +0000
+
+    fixed vd_notify_cb leak
+
+commit 1dc77a83b26aed8ff77e59837bf03e77789cb6b7
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Fri Aug 28 21:01:29 2009 +0000
+
+    improved printing of selection
+
+commit fbfb356c4e58eaf760c363caa8cbb3e6a45bd8ed
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Fri Aug 28 20:18:46 2009 +0000
+
+    improved the sidecar grouping algorithm
+
+commit 7cc27f48539b28a84af54e72c687276b729465bb
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Thu Aug 27 20:23:28 2009 +0000
+
+    fixed toggle_slideshow function
+    
+    https://sourceforge.net/tracker/index.php?func=detail&aid=2844302&group_id=222125&atid=1054680
+
+commit ca1e575f63e3e5f39dafdb4c512f8e7672237ee0
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Wed Aug 26 19:19:06 2009 +0000
+
+    updated version message
+
+commit ccc188ca0606d79f1fe7e84e96a995acd96aca42
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Wed Aug 26 19:16:02 2009 +0000
+
+    save one unnecessary call to stat_utf8
+
+commit 04c030835380e4223ea2902c4cea0283bbce9895
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Tue Aug 25 22:21:46 2009 +0000
+
+    use name as a tooltip of external editor if comment is missing
+    
+    the hotkey dialog ignores entries with empty tooltip
+
+commit da53e4e5a7a067aea6961ea89a35098a68562196
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Tue Aug 25 21:30:50 2009 +0000
+
+    write metadata before another opeation
+    
+    - this is implemented for copy and external editor
+    - the unsaved metadata should survive operations like move or rename
+    - saving metadata before delete is pointless
+
+commit 22679396edba29418ca66fb4a1e9238386ae13d5
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sun Aug 23 14:10:56 2009 +0000
+
+    workaround for xpm loader
+    
+    https://sourceforge.net/tracker/?func=detail&aid=2824016&group_id=222125&atid=1054680
+
+commit 399428f6412a8c2866ec65738ca12bccd374fe73
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sun Aug 23 13:37:15 2009 +0000
+
+    fixed moving and maintenance of std. thumbnails
+    
+    https://sourceforge.net/tracker/?func=detail&aid=2836224&group_id=222125&atid=1054680
+
+commit e284087c3e3d8714587fecdbb81d6328d3376b19
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat Aug 22 21:58:49 2009 +0000
+
+    remove deleted files from metadata queue
+
+commit a20b1c7d57bc9f5e189b957942665d0856617b4e
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat Aug 22 20:20:19 2009 +0000
+
+    fixed sidecar grouping
+    
+    this fixes grouping of files which differs only
+    in upper/lowercase extension. The old code stopped scanning
+    when the first file was found.
+
+commit 4fd2d2e9ae0d08ec04f1b893c08a315be6837abc
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Tue Aug 18 20:19:23 2009 +0000
+
+    fixed possible crash in exif_item_get_integer
+
+commit c1371f79e488f152db06c61f821469fe59331ade
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Mon Aug 3 20:47:14 2009 +0000
+
+    updated links
+
+commit 6873f89855794d502a5098369ba8b79fa4794392
+Author: Klaus Ethgen <Klaus@Ethgen.de>
+Date:   Mon Aug 3 12:34:57 2009 +0000
+
+    Fixing libexiv2 bug
+
+commit 95f139cb78e9e71ee9c8978fe70885537d265092
+Author: Klaus Ethgen <Klaus@Ethgen.de>
+Date:   Sat Aug 1 22:37:57 2009 +0000
+
+    Fix a small problem with casefull keywords
+    
+    In @1636 I miss one check for keyword case. Now it should be all fixed.
+
+commit 993581fa3b5a4f2dfe93e6b3ceb03b7219b73f41
+Author: Klaus Ethgen <Klaus@Ethgen.de>
+Date:   Sat Aug 1 22:37:37 2009 +0000
+
+    This function is never used anymore: file_maint_removed
+
+commit 3ba97f11d9ed1b31f4983b6f2b85a1661fd21172
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Fri Jul 31 20:46:55 2009 +0000
+
+    updated project status
+
+commit c57a5a23b7b648f93a7ab9e78d32ea240909a8ef
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Fri Jul 31 20:31:56 2009 +0000
+
+    added project web page under version control
+
+commit 3591c21101f1f1f82eba676b7708f61badc13e0c
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Thu Jul 30 17:59:20 2009 +0000
+
+    Some systems (BSD,MacOsX,HP-UX,...) define MAP_ANON and not MAP_ANONYMOUS. Make each an alias of other to be sure. issue reported by Martin Proetzsch.
+
+commit 50d58991a04ea08b245ad359ed7cd399f5e48d2e
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Wed Jul 29 21:03:38 2009 +0000
+
+    updated czech translation
+
+commit e01d567728c83465fd4bd657233f07b6a1d47403
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Tue Jul 28 22:27:24 2009 +0000
+
+    improved scroll on slower machines
+    
+    patch by Stanislav Brabec
+
+commit 41599122ba313c5806555c6f1e241ed09ff37177
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Tue Jul 28 22:14:26 2009 +0000
+
+    do not process sidecar files in bar_gps
+    
+    patch by Colin Clark
+
+commit 5d66be285cb060db3db2202a7ee3b79cacfd9769
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Tue Jul 28 22:03:54 2009 +0000
+
+    run the scripts with /bin/sh
+
+commit 9ac5bc9898dd722a4b1bbc175ac2d777ec3d53e3
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sat Jul 25 08:23:23 2009 +0000
+
+    French translation was updated.
+
+commit 6c06cb33020b4045625a56baae23b1fef36c8618
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sat Jul 25 08:13:13 2009 +0000
+
+    Remove some bashisms from configure.in. Patch by Greg Troxel.
+
+commit 5495e01cd0d7eec14da56600599aaa7c5876299b
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sat Jul 25 08:00:07 2009 +0000
+
+    Romanian translation was completed. Thanks to Sabin Iacob.
+
+commit 206a227078812c68c76b4a233cd877639a8b49bf
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Fri Jul 24 14:07:54 2009 +0000
+
+    update column sizes after toggling thumbnails
+
+commit 3374e3d5b309aa51edbaf5b4a9a7beeb084452f9
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Fri Jul 24 13:32:37 2009 +0000
+
+    fixed switching of multiline texts
+
+commit 2d113f07405e4579f942e247297cc0ff66227935
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Fri Jul 24 12:56:54 2009 +0000
+
+    do not try to reload deleted image
+    
+    deleted image is replaced by the next one from the list, keep
+    the old image displayed until the new one is set
+
+commit 00c99d21f60a5771bdecff3fd77a6636cdbb685f
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Fri Jul 24 12:45:42 2009 +0000
+
+    call gtk_tree_view_columns_autosize only when reall needed
+    
+    gtk_tree_view_columns_autosize is rather expensive, call it only
+    afrer directory change or after user-requested refresh
+
+commit 66643fc83bc4568484894ae282c1cc1b1f83d31f
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Fri Jul 24 12:21:23 2009 +0000
+
+    do not use cell_data_func
+    
+    cell_data_func is too slow, store formatted string in the tree_store
+    instead
+
+commit 8494a934706a0fa7c16e83df36d2d4fec7a61184
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Tue Jul 21 14:17:01 2009 +0000
+
+    fixed destroying of menu data
+    
+    Make sure that menu destroy functions do not access parent widget
+    structures that are already destroyed
+    There are 2 ways to achieve this:
+    - use g_signal_handlers_disconnect_matched() like in vf_destroy_cb()
+    - use separate data structure passed to *_popup_menu_destroy_cb()
+      like in img-view.
+
+commit 7c7eb0a20e26e0b16c90ec2882559344ac537c1d
+Author: Klaus Ethgen <Klaus@Ethgen.de>
+Date:   Sat Jul 18 08:16:54 2009 +0000
+
+    Fix a overrun
+    
+    data_offset + data_length could be bigger than guint which makes the
+    calculation overflow to a value smaller then size.
+
+commit 6e739c902d1e5cfec08c44348536b5d0c2d23199
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Thu Jul 2 17:37:05 2009 +0000
+
+    updated ChangeLog file
+
+commit 08f70c1da91476bc46ab020ba54f929ca991af5c
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Thu Jul 2 17:31:38 2009 +0000
+
+    updated ca.po - submitted by Mecatxis
+
+commit ecfe3d0ad28feebc56f32610d9707309243a051c
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Wed Jul 1 20:55:37 2009 +0000
+
+    make sure that automake and config.h uses the same installation paths
+
+commit 2e37aa4a9f0235e9ffe2a2daf09d85caa54c303a
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Wed Jul 1 19:38:17 2009 +0000
+
+    updated version string
+
+commit b514d250a6bf056da22f144876fb3a367c35e943
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Wed Jul 1 19:33:09 2009 +0000
+
+    fixed mnemonic conflicts
+
+commit 9c0ca8a14835d15472fc1453bc62cd7403cb9a7a
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Wed Jul 1 18:59:39 2009 +0000
+
+    removed msgctxt keyword, older gettext fails on it
+
+commit a781a6fa2d8dfd1a452ffd0242eb6e420ec4ee80
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Wed Jul 1 18:32:32 2009 +0000
+
+    removed gettext.h reference
+
+commit 0ec10ddfd8183dfcef9e9651d86ee1dd6fab82e9
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Wed Jul 1 07:04:42 2009 +0000
+
+    updated spec file
+
+commit 21797ad0d7c06e997ca15031f3634f7992acaef2
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Tue Jun 30 23:40:37 2009 +0000
+
+    French translation was updated.
+
+commit 0bf27305767735ad7b0ebbd8f18ab4d0b24a5614
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Tue Jun 30 20:15:33 2009 +0000
+
+    fixed an use of uninitialized value
+
+commit b5b0a8583f3e0201b0257e21546e1620d71e73e0
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Tue Jun 30 20:12:28 2009 +0000
+
+    fixes for a built without Exiv2
+    
+    don't try to access XMP metadata if not compiled with Exiv2
+    some metadata options are valid without Exiv2, do not disable them
+
+commit f70e420d4bffd932e7cf9d70debb74df1e96011e
+Author: Klaus Ethgen <Klaus@Ethgen.de>
+Date:   Tue Jun 30 19:53:55 2009 +0000
+
+    Revert "Add pgettext for some ambiguous strings"
+    
+    Now there should be all ambiguous strings gone. This reverts commit 1628
+    
+    With that commit also all ambiguous strings should be solved.
+
+commit ed08c31a1b8e1b458f69605e1756af6460b363e0
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Tue Jun 30 19:12:25 2009 +0000
+
+    add desktop.in files to the tarball
+
+commit 84d6dfa42fdb4560cc895f8346256b80cbc2deeb
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Mon Jun 29 19:48:14 2009 +0000
+
+    fixed writting to gqview legacy format
+
+commit b1e7867f8a5174e1b9650a4f9703efc3b94d20b9
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Mon Jun 29 16:32:43 2009 +0000
+
+    French translation was updated.
+
+commit c278582ae1a6dfa2c1b12ce3af4554b28db37d27
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Mon Jun 29 16:02:28 2009 +0000
+
+    Fix POTFILES.in and update regen_potfiles.sh to add .desktop.in files.
+
+commit f8f76cde319631e0147a286966ca7af0b13f747c
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sun Jun 28 13:41:51 2009 +0000
+
+    added geeqie-import-geeqie.desktop.in
+
+commit 8bb48410fde2352746c65072c38331ec17faa329
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sun Jun 28 11:55:54 2009 +0000
+
+    libchamplain compatibility fix
+
+commit cf4208a56c616bb3dcaae93de5274dfc219a0313
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sun Jun 28 09:25:47 2009 +0000
+
+    cleanup: remove some disabled code
+
+commit 3ad0a54de0b397a1f8d7ca8cb487633150060032
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sun Jun 28 09:08:25 2009 +0000
+
+    warn if another operation is performed on a file with unsaved metadata
+
+commit dadc45eb233a88708878440db9dc0746206f6246
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sun Jun 28 08:49:28 2009 +0000
+
+    sync histogram state after enabling it from the menu
+
+commit a61e74ef49b2910e1c2b52699455707a110344ba
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sun Jun 28 08:32:27 2009 +0000
+
+    added script for importing GQView and Geeqie-alpha metadata
+
+commit db44d472fbb0f81ba00ac282b9e4fa04fd37d64e
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat Jun 27 23:12:52 2009 +0000
+
+    put preferences to separate submenu
+
+commit d960407def39b244453756528e281209f1c47135
+Author: Klaus Ethgen <Klaus@Ethgen.de>
+Date:   Sat Jun 27 22:58:20 2009 +0000
+
+    German translation update
+
+commit 6595653e7fdcd3f9126e2382e61309a6fddceec7
+Author: Klaus Ethgen <Klaus@Ethgen.de>
+Date:   Sat Jun 27 22:57:56 2009 +0000
+
+    Complete commit @1747 (intltool usage)
+    
+    With using intltool the localisation will fail cause of missing
+    desktop.in file. Also the old desktop files are obsoleted by this
+    commit.
+    
+    Also it is not necessary any more to have a './' in front of the files
+    in POTFILES.in.
+
+commit 3000474f9d40efec1c4167fe3c87dce3e2814d18
+Author: Klaus Ethgen <Klaus@Ethgen.de>
+Date:   Sat Jun 27 22:56:50 2009 +0000
+
+    Fix AM_CFLAGS and AM_CXXFLAGS from @1701
+    
+    The commit 1701 did insert wrong lines for AM_CFLAGS and AM_CXXFLAGS to
+    src/Makefile.am.
+    
+    I also did some minor whitespace fixes and made the internal
+    documentation consistent by using \ than @ for doxygen doc.
+
+commit 1282982b76068795acda07efe761286c1d850927
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat Jun 27 22:40:25 2009 +0000
+
+    added command for editing ufraw id file, changed menu location
+
+commit 5865742b0f0e0d9e89c6f8cfc8789e37ab3cfc09
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat Jun 27 21:12:07 2009 +0000
+
+    reordered View menu
+
+commit 2c3454d78f2e002ad86059746d6dbc15070110d0
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat Jun 27 20:47:17 2009 +0000
+
+    use radio buttons for file and dir mode in popup menu
+
+commit 9ef0898770dc7fb0e286c777a1ece3896f22a1ca
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat Jun 27 20:12:56 2009 +0000
+
+    simplified menu_item_add_radio usage
+
+commit f9509525508c1f38a99edf06d5203f2cb063b81a
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat Jun 27 17:54:31 2009 +0000
+
+    created Files and Folders submenu
+
+commit 8948dca3981a8f5484d8cc658dd5253cf9bc9f85
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat Jun 27 15:47:50 2009 +0000
+
+    improved overlay menu
+    
+    - indicate overlay and histogram state in toggle and radio entries in
+      the menu
+    - all entries have visible effect in all modes
+
+commit a374a03dd9be5d447a8a0f0d45b4a2b7a6725cb1
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Wed Jun 24 20:31:30 2009 +0000
+
+    test if an accelerator can be stored
+    
+    gtk_accel_map_change_entry can't change accelerators
+    to keys like arrows. Test this and show the keys in the list
+    only if they can be really changed.
+    
+    https://sourceforge.net/tracker/?func=detail&aid=2805139&group_id=222125&atid=1054680
+
+commit 7bbcd188f372a89bc2ff72d80ed8a20fec5b95ca
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Tue Jun 23 19:20:48 2009 +0000
+
+    improved description string
+
+commit 5a18119c672fff2fb43b3789ffedb8932c960e37
+Author: Klaus Ethgen <Klaus@Ethgen.de>
+Date:   Sun Jun 21 22:52:45 2009 +0000
+
+    Localizing one string
+
+commit d820c538051df54a6316047a3da7ce77414fa980
+Author: Klaus Ethgen <Klaus@Ethgen.de>
+Date:   Sun Jun 21 22:52:08 2009 +0000
+
+    Fix two memory failures
+    
+    1. if the description field for a exif information is empty the program
+       dumps core when trying to change this. The reason is a strcmp with a
+       NULL value.
+    
+       The fix add the small functionality to set the field to default when
+       it is set empty.
+    
+    2. There was a g_strdup miss in exif.c which could end in memory
+       corruption.
+
+commit 48de954045b9d2f5e00ef8ef1be0c23f1babf8ec
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sun Jun 21 20:14:53 2009 +0000
+
+    improved file list update priority
+    
+    - update list with lower priority than the priority of file operations
+    - make sure that it is updated at least once per 2 seconds
+
+commit 8f5b864badbfce732abf5f389688052ece5ce8c1
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sun Jun 21 13:28:02 2009 +0000
+
+    fixed jumping of filelist on focus_in event
+
+commit 624256fd4593dec4dda712194794a3bf85bcdb7f
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sun Jun 21 12:39:58 2009 +0000
+
+    fixed updating of marks in sidecars
+
+commit 8c5f76523ca80ce6b73e625ad8304af1e2acb88e
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat Jun 20 23:15:11 2009 +0000
+
+    various geeqie-ufraw improvements
+    
+    - handle xmp sidecars
+    - commandline options, help
+
+commit ad121b74463720f97b4ff342580227d07b30d52c
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat Jun 20 18:42:23 2009 +0000
+
+    fixed leak in file_util_* functions
+    
+    - file_util_* are changed to take over the filelist and free it when
+      done
+    - make sure that these functions are called correctly
+
+commit 64ac3a19f5d513a64d8824bbc131323341f82f49
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat Jun 20 16:46:32 2009 +0000
+
+    improved list view
+    
+    - do the string formatting in the cell_data callback
+    - show the sidecar list only in collapsed entries
+
+commit 689f00cfe4b24d5a3c9adbe90faa1127b01edc88
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat Jun 20 08:51:07 2009 +0000
+
+    always check for deleted sidecar files
+
+commit 2ac559008ae7dd561c191ee59e2ca0bf23536f06
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Fri Jun 19 22:37:30 2009 +0000
+
+    fixed regexp usage
+
+commit f553c1adfbaefb4e6c6e5f63243d7045298c1fb0
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Fri Jun 19 22:34:52 2009 +0000
+
+    run external commands from current directory even with no files
+
+commit 6b90e03b1485fc0bb2c97369c9b78e520fa6d641
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Thu Jun 18 20:46:33 2009 +0000
+
+    ufraw-batch script
+    
+    added a more complicated script that demonstrates advanced
+    features of external editors:
+    - create a jpeg + ufraw id file for each raw file
+    - update the jpeg if the id file was modified
+
+commit ce28ddc9eb3aa2525c3264a5d108ad0c0663b01c
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Wed Jun 17 18:41:10 2009 +0000
+
+    made file_util_start_editor_from_file consider also sidecars
+
+commit 74888a81cf4563307c3f5814f571aaa47b72de72
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Wed Jun 17 18:19:11 2009 +0000
+
+    fixed problems with floor/ceil
+    
+    - introduce macros ROUND_DOWN, ROUND_UP
+    - fixed incorrect usage of floor/ceil functions on int arguments
+    
+    patch by  Yuriy Kaminskiy
+
+commit a9e0a03817c421da14093d05e41970da740c44a0
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Mon Jun 15 20:50:35 2009 +0000
+
+    use intltool for desktop file translation
+    
+    - desktop files are translated via .po files together with other strings
+    - make update-po is replaced with intltool-update [lang]
+
+commit f63a2dd3fa1b61bec9a04c877f3ca9953b467133
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Mon Jun 15 19:13:45 2009 +0000
+
+    improved rotation script
+    
+    - applies the orientation from metadata
+    - uses exiftran for jpeg an ImageMagick for other files
+
+commit 2900ceba02cd5b6c5d7c1d818dacecc9a65720d4
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sun Jun 14 08:49:39 2009 +0000
+
+    French translation was updated.
+
+commit 1401afe8606b92cfa9f3b52989448e86833ed248
+Author: Klaus Ethgen <Klaus@Ethgen.de>
+Date:   Sat Jun 13 22:19:57 2009 +0000
+
+    Update documentation
+    
+    Now it holds a more verbose doxygen description as discussed in mailing
+    list.
+    
+    - Doxygen style description
+    - Small visibility changes
+    - Commit message change
+
+commit 369eab0297a8ba20f117db5c4c751907e22479ed
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat Jun 13 19:26:32 2009 +0000
+
+    the options for custom border color were made independent
+
+commit 1283b61934436f9ba1563633c0892ba8245b16aa
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Thu Jun 11 18:18:07 2009 +0000
+
+    French translation was updated.
+
+commit 420f3600446e33397c93fe631e2fffb5b8a6f43d
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Thu Jun 11 17:34:37 2009 +0000
+
+    Fix up compilation using make -jN: sometimes it fails due to order of headers inclusion.
+
+commit f5dbedfb0a27731a28584e4734b7fd548222140e
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Wed Jun 10 20:45:24 2009 +0000
+
+    make sure that a directory exists on saving desktop files
+
+commit 545a2c2ca86722831c57ff5f5d8b1c641e6d6988
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Wed Jun 10 20:26:47 2009 +0000
+
+    do not install helper scripts into /usr/bin
+    
+    - install the helper scripts into pkglibdir, that is /usr/lib/geeqie
+    - add the directory to $PATH on startup - the Exec line in desktop files
+      does not have to contain full path
+    
+    fixes
+    https://sourceforge.net/tracker/?func=detail&aid=2801121&group_id=222125&atid=1054680
+
+commit c266b1d322f46134d567ce59168746575944e3d1
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Tue Jun 9 19:12:37 2009 +0000
+
+    enabled color management in img-view
+    
+    patch by Omari Stephens
+
+commit 0dbb46cefd841e6fff6ea1bd002829db6f519bdf
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Tue Jun 9 19:08:52 2009 +0000
+
+    fixed leak in image_post_process_color
+    
+    patch by Omari Stephens
+
+commit 3c31271012cd131271872a32dc5214a81010d665
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Mon Jun 8 19:05:49 2009 +0000
+
+    unify code paths for New directory
+    keep the directory visible after rename
+    https://sourceforge.net/tracker/?func=detail&aid=1951183&group_id=222125&atid=1054680
+
+commit 0128d5e7deb6ec5772daeb22edcb5c5efc918996
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sun Jun 7 10:11:05 2009 +0000
+
+    do not show wide frame in single image mode
+    it partially fixes
+    https://sourceforge.net/tracker/?func=detail&aid=2797348&group_id=222125&atid=1054683
+
+commit 831963138ddff7c9d9d29e39ecf677535e679ec3
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat Jun 6 22:51:55 2009 +0000
+
+    added mark filter to menu - now it is possible to assign hotkeys
+
+commit da1d8ad7407bec7c000684ad9466c45a03243467
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat Jun 6 19:39:46 2009 +0000
+
+    preserve zoom value on fullscreen startup
+
+commit 0b06a8bd76d495c199fabad762571a4f9df9a175
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat Jun 6 17:28:16 2009 +0000
+
+    swap x and y scale when scaling rotated images - it fixes tiles that were
+    sometimes off by 1 pixel - thanks Petr for reporting,
+    code cleanup
+
+commit 538eafee798a9adc76f91daa7b0b7ee31405e89f
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sat Jun 6 17:02:21 2009 +0000
+
+    French translation was updated.
+
+commit 0b3615164ce594afae630a1e652099d14308c356
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat Jun 6 16:14:07 2009 +0000
+
+    better implementation of tree_view_row_get_visibility,
+    gtk_tree_view_set_cursor is not sufficient in some cases, call also
+    tree_view_row_make_visible
+
+commit 2ca07031f3571cee3851b885ac9eb466d0485648
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat Jun 6 15:33:56 2009 +0000
+
+    do not call signal handler from vdtree_row_expanded
+    it fixes tree view for user-entered hidden directories
+
+commit 1bd43a679034412c6ee7f82676c027f7db73a602
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat Jun 6 11:15:09 2009 +0000
+
+    reduced jumping of directory tree when user clicks on folders
+
+commit 2aa7548fca3a27dfb8b891d36507adc918e258ad
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Fri Jun 5 21:52:37 2009 +0000
+
+    simplified the code around vd_select_row
+
+commit e88a00bed30f1083f221a96876a0ddd84f44623f
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Thu Jun 4 21:07:03 2009 +0000
+
+    use layout_set_fd() for changing images from a slideshow
+    - this updates folder and icon in recursive slideshow mode
+    
+    preserve slideshow on layout change - fixes
+      https://sourceforge.net/tracker/?func=detail&aid=1998513&group_id=222125&atid=1054680
+
+commit f333692b5cb1214bfc7b5e890894c7cb8a7c49a0
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Thu Jun 4 19:51:20 2009 +0000
+
+    Add an option to Image preferences to restrict custom border to fullscreen mode only. Bug 2798062.
+
+commit 4751713609feee94ac540b8d57ebbdf65b9bb55d
+Author: Klaus Ethgen <Klaus@Ethgen.de>
+Date:   Thu Jun 4 16:07:41 2009 +0000
+
+    Ongoing translation
+    
+    Now the most is translated to German language. Just the photographic
+    notions are missing.
+
+commit 8e6775025b5874e2bb686854009a4fb07dd74909
+Author: Klaus Ethgen <Klaus@Ethgen.de>
+Date:   Thu Jun 4 16:07:16 2009 +0000
+
+    Change the order of columns for editors dialogue
+
+commit 21b5ebf3430ded75165d2b4caf8baef41dce6bae
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Wed Jun 3 20:05:19 2009 +0000
+
+    regroup sidecar files when an operation on partial group is finished
+
+commit 347fc7ce81fd08f1a8977f67cff7ae18e9d175c6
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Tue Jun 2 22:33:53 2009 +0000
+
+    changed selection behavior as requested at
+    http://sourceforge.net/tracker/?func=detail&aid=2789933&group_id=222125&atid=1054680
+    
+    file view - sidecars are added to the selection if they were expicitly selected
+                or if the entry is collapsed
+    icon view - selection always contains sidecars
+    
+    file operations splits partially selected groups - selected files have
+    disabled grouping
+
+commit 5a743f0af211c998eb7c38a6f5736fff5ca22899
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Mon Jun 1 16:37:30 2009 +0000
+
+    Minor code cleanup and redundancy reduction.
+
+commit ce00bafc5df7e6b25402cd9017618b9e57f0b9f0
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sun May 31 14:32:39 2009 +0000
+
+    fixed incorrect type conversion
+
+commit 7c03436375c2931a9ebe20706648ea9f40195265
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sun May 31 13:32:09 2009 +0000
+
+    do not display menus ("FileMenu" etc.) in accelerator configuration
+    improved tooltip texts
+
+commit 7166e8e6822956cfc657744e4257af67f6152542
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sun May 31 11:08:00 2009 +0000
+
+    do not block the files sent to external editors like gimp
+
+commit f6b5317b9869a7640793c47eda0bbd39253ad363
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat May 30 20:18:22 2009 +0000
+
+    preserve image center over short periods when the "broken image" icon is
+    displayed
+    http://sourceforge.net/tracker/?func=detail&aid=2793057&group_id=222125&atid=1054680
+
+commit 894ebcaf7da4ea3b72486192c43c15922a3bb68b
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Tue May 26 19:41:22 2009 +0000
+
+    Add .desktop files to restore lossless jpeg rotation via editors.
+
+commit 257284ed5d98e13733f90bff28124cdc75c85238
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat May 23 21:23:06 2009 +0000
+
+    added doxygen.conf
+    https://sourceforge.net/tracker/?func=detail&aid=2795068&group_id=222125&atid=1054680
+
+commit 701705f5255fb572f11beb9cb167a4b1729b61fc
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat May 23 21:07:21 2009 +0000
+
+    enabled PageSize code
+    https://bugzilla.redhat.com/show_bug.cgi?id=222639
+
+commit 94698117d7c312c420ae83d26bb80fd973a16b90
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Thu May 21 09:54:20 2009 +0000
+
+    Add missing vim modeline.
+
+commit 8b292110747064f281bd8ebb58be68f35ba5ea62
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Thu May 21 09:20:48 2009 +0000
+
+    Attempt to use stock gtk icons for directory list and tree views.
+
+commit 2a1d12620e62c03dc69d958dd861e8506146b03c
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sat May 16 11:31:48 2009 +0000
+
+    Fix up too short array, reported by Michael Schwendt.
+
+commit db09073d27d708eec901db85729b7c96d513cae8
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sat May 16 08:48:21 2009 +0000
+
+    Fix geeqie.desktop to match spec. Patch by Michael Schwendt.
+    
+    
+    $ desktop-file-validate geeqie.desktop
+    geeqie.desktop: warning: value "Application;Graphics;Viewer;" for key
+    "Categories" in group "Desktop Entry" contains a deprecated value
+    "Application"
+    
+    http://standards.freedesktop.org/menu-spec/menu-spec-1.0.html
+
+commit 939990870184f816d033427411963290f6ade227
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Thu May 14 20:45:34 2009 +0000
+
+    Fix up unused variables warnings.
+
+commit 93e62dee098e12678bee8560811f2676d66a169c
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Thu May 14 20:32:14 2009 +0000
+
+    Merge common thumb code from view_file_list and view_file_icon to view_file.
+
+commit 63ea2c8531d9336883dfeacf232c15e71fe93d90
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Tue May 12 20:54:58 2009 +0000
+
+    added some notes to README file
+
+commit e0541d552647c5878d8ce21e111563837e0c9d9b
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Tue May 12 20:38:26 2009 +0000
+
+    fixed compilation with older gtk
+
+commit ff49d58f802d8a012bc0ffb56826047f40e97be6
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Tue May 12 20:17:03 2009 +0000
+
+    updated TODO list
+
+commit 19db93d6eb70f5163b098be3390476c19f10b54e
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Tue May 12 18:25:18 2009 +0000
+
+    added GPS map support - patch by Colin Clark
+
+commit f0115682dc9aa6726bb6f582af15eae5b62bb0c1
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Tue May 12 06:54:05 2009 +0000
+
+    French translation was updated.
+
+commit d9ddcf2b5bfe86a11a674269b2b0ba3d1e41a694
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Tue May 12 06:42:20 2009 +0000
+
+    Fix up tooltip text: Color _Management -> Color Management.
+
+commit b8f9d00fd3a2a654b5b7121a520da9ed1e6c6a96
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Mon May 11 20:50:13 2009 +0000
+
+    added keyboard configuration dialog
+    mostly written by Petr Ostadal
+    alternate keys are not yet fully configurable - the corresponding code
+    is commented out
+
+commit 59e6c19758556f5b4bfaccfdce0ec356289c0b66
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Mon May 11 10:10:13 2009 +0000
+
+    French translation was updated.
+
+commit b8baff4dae2056c190eb6274bf48764521192aa0
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Mon May 11 09:55:39 2009 +0000
+
+    Include missing header file.
+
+commit 8ae8938d7f55e6b8b1db3a5d699366cc2068baab
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat May 9 19:45:24 2009 +0000
+
+    expose the file grouping flag to the user
+
+commit 70138111fc44652288eb415f4c3587b0a69a661b
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat May 9 19:25:51 2009 +0000
+
+    extended the list of grouped metadata tags
+
+commit 5a13c696e65d72adc9b75d8955903a857ee845a1
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat May 9 17:02:35 2009 +0000
+
+    added some structure to the metadata preferences dialog
+
+commit 6736cd683214e6d52b2784866f710f8a4a1adc48
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Fri May 8 18:29:09 2009 +0000
+
+    better tooltip for disabled lcms
+
+commit 38d38b50801979777ad5eca4bf18ac5769cab5ba
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Thu May 7 20:24:35 2009 +0000
+
+    limit metadata details dialog size
+
+commit ecf3f93d54ef1c36365811d00e1a810a1656a189
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Thu May 7 19:52:38 2009 +0000
+
+    fixed keyword tree initialization
+
+commit dee4299ea23692b3aefb7f29b12918fa05aed927
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Thu May 7 19:38:07 2009 +0000
+
+    updated version string to beta1
+
+commit 0dfdc453bc25ed4a2e1fde1ccf2ddf5f73e5604e
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Thu May 7 19:34:33 2009 +0000
+
+    enabled XDG directory layout
+
+commit 34a545b2adf71400fa340ad002f6b893d5e8dda3
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Thu May 7 19:30:15 2009 +0000
+
+    use "keywords" instead of "tags" in option name, it is more consistent
+
+commit fb440ecd8db37f9b877bfb702b97e91422cd334f
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sun May 3 17:54:37 2009 +0000
+
+    French translation was updated.
+
+commit bcc9ac0c44afd4282d63ea05e889ec19cf1cf458
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat May 2 22:34:46 2009 +0000
+
+    added stock icons for slideshow
+
+commit b9dbcccc72df0cf7e537ae9acc776c582d44a24b
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat May 2 22:19:42 2009 +0000
+
+    updated czech translation
+
+commit baf66bb1af89cfb58a59eb324ef21484c5bca379
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat May 2 11:14:24 2009 +0000
+
+    force the metadata dialog if it was triggered by the menu or the button
+
+commit 034c8455de62bcdf0b0e5bb7741e3625b911bfc0
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat May 2 10:59:36 2009 +0000
+
+    action table clean up
+
+commit bf8cb167b7ccb92cc324ade7ae0af00cca98f2e2
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat May 2 09:15:56 2009 +0000
+
+    improved pixel info, changed the menu entry from "Hide" to "Show",
+    added it on default status bar
+
+commit 022c685ad3ea779b5d173483deb75f19434ccac2
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Fri May 1 23:40:01 2009 +0000
+
+    "<control>S" seems to be hardcoded hotkey for GTK_STOCK_SAVE
+    use <shift>S for sort manager
+
+commit c95bd69965832c1cc0b82683888759057cc37b85
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Fri May 1 23:15:51 2009 +0000
+
+    - handle color profile and write metadata buttons on statusbar by ui_manager
+    - statusbar buttons made configurable
+
+commit b4760e25a6f8e62c950bc9e32f5f4af7c17cdda0
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Fri May 1 09:49:27 2009 +0000
+
+    allow external editors without parameters, as long as they are in
+    category 'X-Geeqie'
+
+commit b2025397567ecf8ba11b9372e2161ffd78e33d94
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Wed Apr 29 20:28:54 2009 +0000
+
+    updated czech translation, not yet complete
+
+commit 6739de52b94a36b0a4fd316444cb00ad06571181
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Tue Apr 28 21:40:00 2009 +0000
+
+    French translation was updated.
+
+commit baa6516063591b9c127a76be15b6d53851cd6c43
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Tue Apr 28 21:38:20 2009 +0000
+
+    Update POTFILES.in: cellrenderericon.c removed, color-man.c added.
+
+commit 563caeb60cdd5d6c438a22b1a3571f1e044d06b8
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Tue Apr 28 21:37:27 2009 +0000
+
+    Fix up po/Makefile to rebuild geeqie.pot when POTFILES.in was modified. Without this change, new translatable strings in recently added files were not available for translation in various .po files after a make update-po. Makefile.in.in.patch was modified to include this fix plus some minor cleanups.
+
+commit 90c899b61dfae05e879b336adf05b189f90f8cb4
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Tue Apr 28 20:09:41 2009 +0000
+
+    do not translate internal strings
+
+commit cdf39c97d14024d0b0f2922e8d9ac5468d6de829
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Tue Apr 28 06:55:56 2009 +0000
+
+    added new files
+
+commit 05a40a1d54061fb85a3f8b55d6eee745edc0ba9e
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Tue Apr 28 06:54:59 2009 +0000
+
+    compilation fixes for older glib and gtk
+
+commit a39d10df5963b157a0010f5e0bf6d1a589a2367d
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Mon Apr 27 23:07:59 2009 +0000
+
+    French translation was updated: fix few main menu mnenonics.
+
+commit e83d047474df3181e844ded3d6341d00a1f06cb2
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Mon Apr 27 21:39:56 2009 +0000
+
+    compilation fixes
+
+commit 3e0cad19e6dfe8df7783655fa39e30a2d46b5095
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Mon Apr 27 20:19:21 2009 +0000
+
+    "make dist" fixes
+
+commit 2dfdfc1d4999579bde942798ac654840c1c05d0d
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sun Apr 26 14:08:44 2009 +0000
+
+    French translation was updated.
+
+commit 81620ce969208f28075c74e05bee39161c567f5c
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sun Apr 26 11:38:28 2009 +0000
+
+    small fixes
+
+commit 61f861ddcb3092f4a243a0220bfd2322ad5dc196
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sun Apr 26 09:25:52 2009 +0000
+
+    fixed return from metadata_write_revert
+
+commit 86da9a1f10413fa132785cdf4d210c0caed1d8d0
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sun Apr 26 09:01:35 2009 +0000
+
+    added an option to write image orientation to the metadata
+
+commit f62a4ec8486bc8489420e73e3981ccde92395342
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat Apr 25 22:08:09 2009 +0000
+
+    separated Orientation and Grayscale functions
+    moved Grayscale to Color management menu
+
+commit a0f54dffd9713fc6ae22a46467371500623ad197
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat Apr 25 20:55:11 2009 +0000
+
+    added more info to the details dialog
+
+commit 81e98ec340104f7f64eb907a60ccecd02319fe7a
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Fri Apr 24 23:26:49 2009 +0000
+
+    added details dialog for other operations too
+
+commit 6ac87bdbb778288847a0aa31fd288a95abdf01d0
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Fri Apr 24 22:51:00 2009 +0000
+
+    added possibility to exclude individual files
+
+commit 6d5b363690423b2dffaf34296d520d11fe7c348a
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Thu Apr 23 21:15:14 2009 +0000
+
+    fixed writting metadata behavior at exit
+
+commit 92d41d67e666813d5c5534214555b6f840924f6b
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Thu Apr 23 21:12:19 2009 +0000
+
+    added an image to the file details dialog
+
+commit b6e52aecca0dfc39c4e27fdd9aa15f9677fb4f19
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Thu Apr 23 20:48:03 2009 +0000
+
+    differentiate between "Cancel" and "Discard changes"
+
+commit 7ff04bed4bde4c74de4ed48a28f0538e8ed4955d
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Tue Apr 21 21:47:11 2009 +0000
+
+    Fix up few warnings (especially on 64bits platforms).
+
+commit a58c2dc7c6be53eb1b58d3eae0198ee102d593ac
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Tue Apr 21 21:16:32 2009 +0000
+
+    fixed metadata.confirm_on_dir_change
+
+commit ba226375e73ade36cdad0d3acc95a96ebec3ef42
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Tue Apr 21 21:07:28 2009 +0000
+
+    added possibility to show modifiied metadata before write
+
+commit 97517b5bdf8f3a555a086b15ded0748aa700979c
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Mon Apr 20 21:34:16 2009 +0000
+
+    added remote interface for exporting additional info (sidecars,
+    destination) to external commands
+    
+    see the symlink command for an example
+    
+    http://sourceforge.net/tracker/?func=detail&aid=2488845&group_id=222125&atid=1054680
+
+commit be3cde059c7592a31a839c4da5d38e85bdff68e9
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Mon Apr 20 21:07:52 2009 +0000
+
+    write info and debugging messages to stderr
+
+commit 4d953e1706d4c1eadf93172438635b4dfa3e9c5f
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Mon Apr 20 19:44:50 2009 +0000
+
+    improved remote protocol to allow bidirectional communication
+
+commit 119665d75960040f13b9a40ecdf0515e4405b49e
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Fri Apr 17 20:26:22 2009 +0000
+
+    fixed tests for vd_find_row return value
+
+commit fe28f85563b7bff64ccad3a7280aadaeb4aff8c0
+Author: Klaus Ethgen <Klaus@Ethgen.de>
+Date:   Tue Apr 14 21:51:29 2009 +0000
+
+    German translation updated
+    
+    With some help from de.alt.rec.digitalfotografie.
+
+commit 2517907d2cb2e80808e33e63b0dd1895b8d53fa5
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Tue Apr 14 20:54:50 2009 +0000
+
+    French translation was updated.
+
+commit 3ad776526060f2004ff824ac4a7e88c3df6c43eb
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Mon Apr 13 22:40:47 2009 +0000
+
+    color profile fixes
+
+commit 75909b6dbed56995f8d6abc9f917ac13de1c576c
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Mon Apr 13 14:39:50 2009 +0000
+
+    show color management status on statusbar
+
+commit a512de6dffd96f4a2273aaa088d339e20fc865c1
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Mon Apr 13 10:55:49 2009 +0000
+
+    support X11 screen profile
+    http://freedesktop.org/wiki/ICC_Profiles_in_X_Specification_0.3
+
+commit 6fa6bdcca280c06ce42c9061caa76890e4cca19e
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Mon Apr 13 08:09:56 2009 +0000
+
+    moved color profiles from statusbar to View menu
+
+commit 9d1fd8df2610693a3c68e31faaf42ce419f09c5e
+Author: Klaus Ethgen <Klaus@Ethgen.de>
+Date:   Sun Apr 12 17:58:55 2009 +0000
+
+    German translation updated
+
+commit 6b5add467cb7bd1f7752dc4c8a25cd6e1535f76d
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sun Apr 12 15:06:43 2009 +0000
+
+    French translation was updated.
+
+commit 9907bdcd3b84735d887aec962bf3ab8c8afb6213
+Author: Klaus Ethgen <Klaus@Ethgen.de>
+Date:   Sun Apr 12 11:02:03 2009 +0000
+
+    Update POTFILES.in
+    
+    metadata.c was not in the POTFILES.in.
+
+commit 6fc844092598a09b07c51f3ca9434d84dc1f7723
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sun Apr 12 08:36:53 2009 +0000
+
+    fixed ambiguous strings
+
+commit 9483a82f6efbc103eccf69be8ffa2f827b2d89bf
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat Apr 11 21:28:46 2009 +0000
+
+    improved default keyword tree
+
+commit 957656a98cb956da53e2e52cb025c2f93dd170cf
+Author: Klaus Ethgen <Klaus@Ethgen.de>
+Date:   Sat Apr 11 20:46:37 2009 +0000
+
+    Fix that the output of msgfmt could be singular
+    
+    The output of msgfmt could be singular if there is only one translation
+    of the given type.
+
+commit 1a73f69002e383830604ccc14c925f2967ede8df
+Author: Klaus Ethgen <Klaus@Ethgen.de>
+Date:   Sat Apr 11 19:51:03 2009 +0000
+
+    Allow to configure case handling of keywords
+    
+    Sometimes I use just different case for keywords. This should be
+    chooseable.
+
+commit 66ad4aee7a6471f5a7f336fce6937182dc83c538
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat Apr 11 19:35:03 2009 +0000
+
+    fixed updating of filelist marks
+
+commit cceb6eee1213706de3b08a08b6410c433b5f64fb
+Author: Klaus Ethgen <Klaus@Ethgen.de>
+Date:   Sat Apr 11 18:34:12 2009 +0000
+
+    Adding debian packaging informations
+    
+    Adding debian control directory to create a geeqie debian package.
+    
+    NOTES: (To be fixed in autoconf)
+       - LIRC must be explicit _enabled_ instead of disable. This is wrong
+         documented.
+       - It might be a good idea to derivate the readmedir and the htmldir
+         from docdir.
+
+commit e91e0ff929d92d40c2dc25d4850729214ccee9cd
+Author: Klaus Ethgen <Klaus@Ethgen.de>
+Date:   Sat Apr 11 16:34:25 2009 +0000
+
+    Implementing CTRL-W to close advanced exif window
+    
+    In fact, this implements keypress event handling in the advanced exif
+    window to handle CTRL-W event.
+
+commit f43df7469ca80ae712259e6234fde3e194219b8d
+Author: Klaus Ethgen <Klaus@Ethgen.de>
+Date:   Fri Apr 10 13:54:08 2009 +0000
+
+    Just update the internal sort method
+    
+    There is no other use of the internal sort method than speeding up the
+    sorting of a collection. So setting it to SORT_NONE is the better
+    choice.
+
+commit 6bbb74b31e8fad738645bb98ff008b7e241da279
+Author: Klaus Ethgen <Klaus@Ethgen.de>
+Date:   Fri Apr 10 13:44:37 2009 +0000
+
+    Implement random sort method for collections
+    
+    This patch allows to randomize the collections. (Closes: #2497413)
+    https://sourceforge.net/tracker/?func=detail&aid=2497413&group_id=222125&atid=1054683
+
+commit 0977d77b3e2bff165ba6e73f0a4fc032b2c34daf
+Author: Klaus Ethgen <Klaus@Ethgen.de>
+Date:   Fri Apr 10 10:18:42 2009 +0000
+
+    Fix the broken statistic generation
+    
+    The output of msgfmt has different format if no fuzzy translations (or
+    even no translated) are available. I fixed that by parsing the output of
+    msgfmt more intelligent.
+    
+    Drawback of the solution is that the parsing will not work if the output
+    of msgfmt use not the strings "translated messages", "fuzzy
+    translations" and "untranslated messages".
+
+commit 16e5361e36e314401b1d2528b5b672786d112dd0
+Author: Klaus Ethgen <Klaus@Ethgen.de>
+Date:   Fri Apr 10 09:47:40 2009 +0000
+
+    German translation updated
+    
+    Also included a update in the README file. Finally I add myself to that
+    file. :-)
+
+commit a9076f2dddc84408b88da2017b77242ac2fc8a24
+Author: Klaus Ethgen <Klaus@Ethgen.de>
+Date:   Fri Apr 10 09:47:20 2009 +0000
+
+    Add pgettext for some ambiguous strings
+    
+    There are some strings which are ambiguous to translate. There is the
+    pgettext function to solf that problem.
+    
+    For example, locations can be translated to german by Ortsangaben
+    (geographical) or by Pfad (filesystem). I am sure there are also some
+    ambiguous in other languages.
+
+commit b2d63b670cc70a0d0714f378aa4809e386cac2a0
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Thu Apr 9 20:40:16 2009 +0000
+
+    Minor french translations fixes.
+
+commit edae49861932cea9597cba0e9dab3186538eed59
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Thu Apr 9 20:07:16 2009 +0000
+
+    Fix histogram labels in french.
+
+commit e6fbbd4293cbfa1b4e6ecfd1f0a3c5cfebc20364
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Thu Apr 9 19:58:03 2009 +0000
+
+    French translation was updated.
+
+commit 672e4f69f438098a1552531fd6882e404e3e606f
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Wed Apr 8 19:32:30 2009 +0000
+
+    improved Exiv2 error reporting:
+    - use correct charset
+    - respect --debug
+
+commit fc1b420298aad46578404e56b0396182c1f4c393
+Author: Klaus Ethgen <Klaus@Ethgen.de>
+Date:   Mon Apr 6 23:59:54 2009 +0000
+
+    Nest new keywords inside existing
+    
+    It is boring to first add a bunch of keywords and then move them to the
+    new location. It is more natural to add them as child to existing ons.
+
+commit 81bcaeeeed18b732259e69d645da59cf953e484c
+Author: Klaus Ethgen <Klaus@Ethgen.de>
+Date:   Mon Apr 6 23:59:38 2009 +0000
+
+    Fix the is_keyword bug
+    
+    The is_keyword would be new set when placing the radio buttons. This
+    Patch fix it by setting the variable afterwards.
+
+commit 80f4d7efaec01b04310602fc82d571d178f797cd
+Author: Klaus Ethgen <Klaus@Ethgen.de>
+Date:   Mon Apr 6 23:39:27 2009 +0000
+
+    Set the focus for new keyword dialog
+
+commit 6224bad98e1263b2ff9d2f431efcd601f74121a3
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Mon Apr 6 22:18:13 2009 +0000
+
+    Disable unused functions when compiled without threads support, prevents few warnings.
+
+commit 14946850539ebb7317fb81add299cb19bacd085a
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Mon Apr 6 22:13:54 2009 +0000
+
+    Fix up event source ids type: gint -> guint.
+    Functions like g_timeout_add() or g_idle_add() return a guint
+    greater than 0, but in most places it was wrongly stored as int
+    and initialized to -1.
+    This broke assertions matching in g_source_remove() for example
+    since id was always greater than 0 even when timer was not set
+    (-1 was casted to the biggest guint).
+
+commit bc94042180f920c3bf111578a565a450c177f613
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Mon Apr 6 21:52:49 2009 +0000
+
+    re-ordered some options, improved descriptions
+
+commit 9e28ad2ad370fa1f0baad1d82adaada56f21ec4d
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Mon Apr 6 20:38:54 2009 +0000
+
+    unconditionally enable fast jpeg thumbnailing
+
+commit 61856b1efe4b60ad03ffeaee4766e7c011fd12ce
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Mon Apr 6 19:53:59 2009 +0000
+
+    added pane_notify_selection to pane API
+
+commit 3b39f3a69f6c153b8501f2b887fc0b0fa46e6298
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Mon Apr 6 19:13:35 2009 +0000
+
+    Remove unused field in IconData.
+
+commit d7f366685b907de7dd3fa4c264104bd4979beb2c
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Mon Apr 6 19:09:55 2009 +0000
+
+    optimized sidecar file check
+
+commit c1209c2edb4c045e50e2a0ce3d8826deabc17ef0
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sun Apr 5 09:46:49 2009 +0000
+
+    fixed bug in overlay drawing
+
+commit 51a9455bd33f439da36889109602a6a2b081b18d
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sun Apr 5 09:25:48 2009 +0000
+
+    improved Scroll reset method in preferences dialog
+
+commit 7ba4f8b997ed526c7bae4f6a076a27f53cc8324a
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat Apr 4 23:12:19 2009 +0000
+
+    disabled 2-pass rendering also affect color correction
+    https://sourceforge.net/tracker/?func=detail&aid=2689249&group_id=222125&atid=1054683
+
+commit 71cf89dfdd1e65f09f810d3f21ff887249e7bc8f
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat Apr 4 22:29:25 2009 +0000
+
+    added option that simplifies saving of multi-window configurations
+
+commit 282436623f1d51df1cd6acd812d79467dccbd3af
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat Apr 4 22:09:50 2009 +0000
+
+    dropped show_copy_path option
+
+commit 33d633ef9aa9b25e585da6f0ff0a486aed4ee2a3
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat Apr 4 21:53:12 2009 +0000
+
+    dropped read_buffer options - they don't have any significant effect
+
+commit 5a3320536bd7974f2a29a3fcc8690ffb277fbd1e
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat Apr 4 21:14:34 2009 +0000
+
+    startup path options simplified and moved to layout options
+
+commit c4b18aa94892e17fe1d1922ebc9fdf298aeab082
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat Apr 4 20:20:17 2009 +0000
+
+    moved options from Advanced tab to other tabs
+    TODO: add Advanced section on each tab
+
+commit c66eafd0dfccc52bbeccef99066654aa061971a9
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat Apr 4 19:10:49 2009 +0000
+
+    added metadata_read_GPS_coord
+
+commit a5a0e4b5c4d69dcc28639ac21ad33be2400e7d61
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat Apr 4 16:42:54 2009 +0000
+
+    set current fd when the bar is shown again
+    https://sourceforge.net/tracker/?func=detail&atid=1054680&aid=2729157&group_id=222125
+
+commit fc76e6d11d10c311f3aa5b2cf81edef98e53ee86
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Fri Apr 3 19:35:34 2009 +0000
+
+    convert commandline to utf8
+
+commit 5f808326c11b02c6b427614e3c2eaee3c0275cf7
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Thu Apr 2 23:11:07 2009 +0000
+
+    Force thumbnails refreshing when thumbnails dimensions are modified through Preferences.
+
+commit 8d622ad68bbee6f4671dec964fedde21e1095d7f
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Thu Apr 2 16:10:12 2009 +0000
+
+    Use full path in genmarshal.
+    This allows out of source builds with fakeroot.
+    Patch by Lukas Jirkovsky.
+
+commit f1b49514000a0db194e68800348c5033e1bb30b7
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Tue Mar 31 22:23:33 2009 +0000
+
+    Cleanup.
+
+commit dc03f50c8796196722ddc1f794280887d489e5fa
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Tue Mar 31 21:33:54 2009 +0000
+
+    improved next/prev operation on sidecar files
+    
+    all operations with list index seem to be broken but IMHO this fix is
+    sufficient for 1.0. Then it definitely needs a better interface.
+
+commit 91a89497f621323b40f3cd5f35bb1e3ab3c8a232
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Tue Mar 31 20:57:31 2009 +0000
+
+    Add and install a template to be used as new editor. Need more work.
+
+commit 23e172eca263571aeddf10792887edf91dcfee7d
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Tue Mar 31 20:53:37 2009 +0000
+
+    fixed vdlist_find_row return value
+
+commit 0ba13b956a7ffdcba1646f1a57ca88b743c2c9b2
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Tue Mar 31 20:35:04 2009 +0000
+
+    use a better signal
+
+commit e2c72d45a22214bd7c079ffe9f59d6047daf69a9
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Tue Mar 31 20:22:47 2009 +0000
+
+    Make desktop window list checkboxes centered and not activatable.
+
+commit f1ff99e0a8a6d4b0c132d6ea9a71455ad444b8ce
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Tue Mar 31 20:05:16 2009 +0000
+
+    improved debug messages
+
+commit 193a5482a0e2dc7af1c012a2c6bfdfe0c204bd5f
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Tue Mar 31 19:34:39 2009 +0000
+
+    report pixbuf loader errors
+    https://sourceforge.net/tracker/?func=detail&aid=2720577&group_id=222125&atid=1054680
+
+commit c20d6b497d25d8bf6ce4883e3f51d957b9cb8aae
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Tue Mar 31 18:45:33 2009 +0000
+
+    Allow to delete an editor's desktop file from editors list window.
+
+commit 852216c650a242a29ec7e1c2d75e0f8cb8dc2bc6
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Mon Mar 30 20:42:06 2009 +0000
+
+    Update POTFILES.in and french translation.
+
+commit 3f65637f72150ab18b68aad9c069f1dd8310da3d
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Mon Mar 30 20:01:27 2009 +0000
+
+    French translation was updated.
+
+commit 5294d9ad16564425b40a77c671f106c1fbbe8d09
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Mon Mar 30 19:57:44 2009 +0000
+
+    Update Changelog file.
+
+commit be6f51861124a8e5f4c10fcc4fdd9df1cf0613ca
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Mon Mar 30 19:01:09 2009 +0000
+
+    Fixed bug where pixel/color information at x=0 coordinates werent shown:
+    - pixel-coordinates now calculated with floor
+    - guard for update in layout does not apply for 0 coordinates anymore
+    
+    Patch by Ruben Stein.
+
+commit 9ec7080489b3089207f5146f8d4a9f18b0275add
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Mon Mar 30 17:52:14 2009 +0000
+
+    Fix up previous patch.
+
+commit 054df7368da1e35ebf7a1ff5321203acd01acbb3
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Mon Mar 30 17:05:31 2009 +0000
+
+    Desktop files window: make columns sortable, replace Apply and OK buttons by one Save button which is made sensitive when needed.
+
+commit 5ccbedf9691a490bb70a89139ab058d1f7f642e7
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sun Mar 29 20:06:21 2009 +0000
+
+    improved bar_pane_comment_notify_cb
+
+commit 93fcf6a8503b7c431ab384dcc8b1a1da65060ff9
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sun Mar 29 19:57:19 2009 +0000
+
+    fixed a typo
+
+commit 41513c5c7bafd1843d763f0cc05873d8e29d93cb
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sun Mar 29 19:40:16 2009 +0000
+
+    fixed possible crash
+
+commit 0fe6e0a143b17894ea7ca13cc337e6bbccfbc640
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sun Mar 29 16:39:42 2009 +0000
+
+    added UfRaw ID files to known filetypes
+
+commit ab645c958e18abe067b0af7dc62307f6f3b2a50b
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sun Mar 29 14:26:44 2009 +0000
+
+    pane interface cleanup
+
+commit 0ceba72258134a7379e5d42ceda33967bad55b08
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sun Mar 29 14:20:44 2009 +0000
+
+    improved sidebar configuration
+
+commit 7958ba1b7c05bb847a4c68f004314316d5936946
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sun Mar 29 10:36:13 2009 +0000
+
+    re-added possibility to display basic file info (size, mode, date)
+
+commit dd3442ea73ca4f99d1dff6ad59c6d48f3479db60
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat Mar 28 15:51:21 2009 +0000
+
+    fixed keyboard focus on start-up
+    https://sourceforge.net/tracker/?func=detail&aid=2707025&group_id=222125&atid=1054680
+
+commit c717291bff504bb1e563e7b0b035906742c582ba
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat Mar 28 15:31:04 2009 +0000
+
+    active image follows keyboard focus
+
+commit 78a1719a4343eef75f0c3d156827013d7b43aaa4
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat Mar 28 15:09:09 2009 +0000
+
+    split-mode cleanup and improvements
+
+commit 4602b028bc005271b0a4e62dc039e665aecc9444
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Fri Mar 27 08:05:14 2009 +0000
+
+    added simple desktop file editor
+
+commit e68bdda5abf8afc998fb49d43868900f01ed559c
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Thu Mar 26 21:49:20 2009 +0000
+
+    Improve editors through .desktop files implementation:
+    - stricter Exec parameters detection
+    - correct Icon key handling (absolute file vs name and --icon prefix)
+    - improved escape, single, double quotes handling and escaping
+
+commit f38f31b17fe21623f2d74d82613afea09b05892c
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Thu Mar 26 07:56:01 2009 +0000
+
+    fixed histogram drawing
+
+commit 507f2bf998627d8856a9ea1388ac04390a1a835e
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Mon Mar 23 18:49:23 2009 +0000
+
+    French translation was updated.
+
+commit abc71f71e6fb0fe732843d06a2100eec2aced123
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat Mar 21 23:16:38 2009 +0000
+
+    more consistent remote options naming
+
+commit c4330fbf13587f5b60c285016f666b95c9f25b98
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat Mar 21 20:19:11 2009 +0000
+
+    fixed segfault in histogram
+    http://sourceforge.net/tracker/index.php?func=detail&aid=2690498&group_id=222125&atid=1054680
+
+commit 9266c3eaa397463d1345f472d69dc1d0894e123b
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat Mar 21 19:51:07 2009 +0000
+
+    layout id "_current_" matches the currently active layout window
+
+commit aa2fd4c36b2b82e5c288dbc8d09478245f4ba929
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat Mar 21 18:22:04 2009 +0000
+
+    do not copy existing layout id to new window
+
+commit 9b9f197ef970ef521bd9e780f85ea5c1c63a900e
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat Mar 21 17:47:50 2009 +0000
+
+    update translated pane titles
+
+commit 4f46f6cca2dbc4423ee371e47877fd1bbf4a57a4
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Fri Mar 20 22:48:01 2009 +0000
+
+    do not re-create ui_manager at layout change
+
+commit 223d36e4c7eae2144f2eb20c6f0c77e27bbe743e
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Fri Mar 20 21:28:31 2009 +0000
+
+    added a possibility to update existing bars from config
+
+commit 61ff1c806812b340b30a891b933ed52c2c033207
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Fri Mar 20 17:02:00 2009 +0000
+
+    added tooltips to external editors on toolbar
+    - patch by Colin Clark
+
+commit da76910fc5992b93d09257b8386bbcd6b1a54a88
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Fri Mar 20 16:28:43 2009 +0000
+
+    added "load config" command to remote control
+
+commit e63d1ab169ffd77e2a0691eee92aee94484e8401
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Fri Mar 20 14:36:59 2009 +0000
+
+    added possibility to update existing layout window from config
+
+commit f85c331b6bdca1a07e38a196e93562448b4c1048
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Fri Mar 20 11:52:29 2009 +0000
+
+    do not add duplicate keywords from config file
+
+commit edddb38414fcaf01150e7b3b1ee0175cf8f72ac2
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Fri Mar 20 10:12:29 2009 +0000
+
+    be more verbose on parse errors
+
+commit db9583d155f876dcf8ecdba06de8c41bf6363955
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Fri Mar 20 09:46:35 2009 +0000
+
+    added function to reload external editors at any time
+    eliminated init_after_global_options()
+
+commit a043fedcd1fa348548988b8c157f60a7b585539d
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Thu Mar 19 22:58:28 2009 +0000
+
+    initialization clean-up
+
+commit 75ad70e81b5f541c6b57bf514a6363df919c102b
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Thu Mar 19 22:12:14 2009 +0000
+
+    improved config file formatting
+
+commit 5cd0768160f389b85802e2c44a568837b0f8e2b8
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Tue Mar 17 23:03:07 2009 +0000
+
+    added more IPTC tags
+
+commit c4397842e058064be7c5e3f43a7f0334cc0ffb3d
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Tue Mar 17 22:41:09 2009 +0000
+
+    implemented editing support in exif pane
+
+commit 4bb3d0e135ca5c31daea4beaebda72905dccf5a0
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Tue Mar 17 19:52:56 2009 +0000
+
+    fixed loading of desktop file icons, gtk seems to expect an icon name without extension
+
+commit 8b21951c112cda8df9ab0d7e21ec024952fec965
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Tue Mar 17 19:09:34 2009 +0000
+
+    simplified code
+
+commit 914fa4e1207fe6f882dca6aa6da0c4306fb0ec63
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Tue Mar 17 18:58:15 2009 +0000
+
+    improved expanding and hiding of helper keywords
+
+commit 48a18d514775969bd21ce0bd154d454af5182ed8
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Tue Mar 17 18:30:53 2009 +0000
+
+    fixed keyword tree redrawing
+
+commit a142c98b0d4a45084b3fbb698bae2f650846673c
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Tue Mar 17 00:05:13 2009 +0000
+
+    Preliminary support for doxygen: make doxygen-doc will create documentation from sources in doc/doxygen directory.
+
+commit 496826c114d4a8f9040bb1ef40e10f5782b3fe15
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Mon Mar 16 20:39:09 2009 +0000
+
+    gint -> gboolean where applicable. The end (ouf!).
+
+commit 0b6b9778a54d91e2cfd39e9609ff9a784d2cbd7f
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Mon Mar 16 19:11:39 2009 +0000
+
+    gint -> gboolean where applicable.
+
+commit 4cd4d86404984c4696fc26e3968e5b17ff998d44
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Mon Mar 16 18:19:11 2009 +0000
+
+    gint -> gboolean where applicable.
+
+commit 049a021e2221f7de3df81ce6c64b77c424ce0dac
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sun Mar 15 23:22:17 2009 +0000
+
+    improved pane_keywords notification
+
+commit bdb1e4f3ca99abb0a9869a9bc872bc5b0b6f60b3
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sun Mar 15 22:46:25 2009 +0000
+
+    call the notify function just once when the keywords are pushed to the
+    textarea
+
+commit 5c5e09cfb61bea28413a35b616540d4fea4710e9
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sun Mar 15 20:16:20 2009 +0000
+
+    gint -> gboolean.
+
+commit 5f2862f720cdf6e5b001b0235f54dd3115378edc
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sun Mar 15 18:41:25 2009 +0000
+
+    fixed segfault in osd called from img-view
+    http://sourceforge.net/tracker/index.php?func=detail&aid=2684068&group_id=222125&atid=1054680
+
+commit a83ce8127733fe662f70e27e4861923525924d2a
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sun Mar 15 18:06:41 2009 +0000
+
+    gint -> gboolean.
+
+commit e297b62d130c7fd6a2d4f7d959b1d2c2a0ed0a29
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sun Mar 15 17:40:04 2009 +0000
+
+    fixed viewing image from dupe and search windows
+
+commit e4ec9f2c3d3c8a79dd7741b2b7e7d4bd6825c758
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sun Mar 15 15:01:07 2009 +0000
+
+    gint -> gboolean.
+
+commit 54797050cd64429ea6a90ee4d8882b0542d634ae
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sun Mar 15 13:33:56 2009 +0000
+
+    gint -> gboolean.
+
+commit 1e7fe2f0bce7e8b4959c6d0e82259617a5224e1c
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sun Mar 15 12:41:39 2009 +0000
+
+    fixed XMP and IPTC entry names in exif pane
+
+commit 972f0c276d31a7510ce0a26e15b4925a6a0c1ab3
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sun Mar 15 12:20:14 2009 +0000
+
+    added notification to the exif pane
+
+commit 7c3dc4dc86dff4853269bbe8341b71f1110d5709
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sun Mar 15 11:58:46 2009 +0000
+
+    fixed a bug in osd updating, it seems that the osd icons work again
+
+commit 04e5dfcf4a9d04ec83be00b15c53a35cdec49f79
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sun Mar 15 11:34:09 2009 +0000
+
+    compute histogram in idle time
+
+commit c30d27838ff7606edcfcaae4e2d616370edacc67
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sun Mar 15 09:06:13 2009 +0000
+
+    fixed possible deadlock with multiple thumb loaders in parallel
+
+commit 3dfd1c11d0f0b11e6627af9b687535dbaf32dee3
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sun Mar 15 07:07:52 2009 +0000
+
+    gint -> gboolean.
+
+commit 2c38cf912ea9c74916ea950f62b1637d26f1a55b
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat Mar 14 23:26:42 2009 +0000
+
+    completely separated global and layout window options
+    layout window configuration is available under separate menu entry
+
+commit 869dd50b966b21850457b98a434dcb015158163e
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sat Mar 14 21:12:55 2009 +0000
+
+    gint -> gboolean.
+
+commit 3707f26ed3f7eb60c321cdef21d58a9ae458c160
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sat Mar 14 20:07:23 2009 +0000
+
+    More gboolean.
+
+commit ccbfd10e582b6099d035f09a0e0bd5bc146885cb
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sat Mar 14 19:25:21 2009 +0000
+
+    Use gboolean where applicable, minor cleanup and indentations fixes.
+
+commit 8e811724d0f95587be393cdb7a677a32ac704d34
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat Mar 14 17:21:35 2009 +0000
+
+    improved notification system
+
+commit 2770d68d3c1a7e5f7550e4305e8b52aa11487759
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sat Mar 14 11:26:43 2009 +0000
+
+    More gboolean and tidy up.
+
+commit 57236ac4620fce1a918d9c3269c51bcf468e5d22
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat Mar 14 10:34:42 2009 +0000
+
+    cleanup, small fixes
+
+commit 83a31276f24f79537f8e708cd2cb9b53af5a1470
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Fri Mar 13 23:19:58 2009 +0000
+
+    do not allow to add keywords with the same name as siblings
+
+commit c27864686704e76f90e3bdc3557537f5fb5086b4
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Fri Mar 13 16:45:21 2009 +0000
+
+    added keyword tree filtering
+
+commit dc9042b3bd903090011f945df79e1eeacd3f8e97
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Fri Mar 13 12:06:01 2009 +0000
+
+    show file name in advanced_exif
+
+commit 3dcfa72047dc28f10b50187c651609ae96cd7065
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Fri Mar 13 10:36:32 2009 +0000
+
+    handle sidecar files for raw formats that are not known to exiv2
+
+commit b987ed85c78996f56abc1f3025f36d3c4532d07c
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Fri Mar 13 09:03:06 2009 +0000
+
+    fixed keyword to mark connection
+
+commit 26823554cdf789efc5c78d6d43a25678b24c76e9
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Thu Mar 12 22:44:21 2009 +0000
+
+    Use gboolean where applicable.
+
+commit ce7252908d82484fbad1823b49a9c497ac86d278
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Thu Mar 12 22:39:06 2009 +0000
+
+    Make ishidden() static to filedata.c and rename it is_hidden_file().
+
+commit ea7b2e3825efdd3929b5dc5b057fa21b6d89ca3a
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Thu Mar 12 22:35:45 2009 +0000
+
+    gint -> gboolean and tidy up.
+
+commit 12d44efdf007bf1bb292b450fd575cb007ace3b0
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Thu Mar 12 21:27:13 2009 +0000
+
+    added a dialog for editing keyword tree
+
+commit 445675df9548d5b7b765a07c7bfe96faa3e4ab6a
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Thu Mar 12 21:06:37 2009 +0000
+
+    Use gboolean where applicable, for the sake of consistency.
+
+commit 2814d20328df2cfb3efcd57bdbf6c8a468c94408
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Wed Mar 11 23:36:01 2009 +0000
+
+    Code cleanup.
+
+commit f719019c2a2838f979aaece5ed16e074c544310d
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Wed Mar 11 23:35:31 2009 +0000
+
+    Fix bug when adding a new collection through sort manager. Tidy up.
+
+commit 3ad46d8aff0ddc2fb5489031121c4bc48b7756d3
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Wed Mar 11 23:04:30 2009 +0000
+
+    Tidy up.
+
+commit 0b00a6f6e8da83036bc84c8a47c863721f2a1c14
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Wed Mar 11 22:56:56 2009 +0000
+
+    Use gboolean pseudo type where applicable.
+
+commit 2f2e14119378d60c52c113078c35999f342b249e
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Wed Mar 11 22:28:37 2009 +0000
+
+    Remove useless functions.
+
+commit 53335b4551e6099ecb9a361d87b35487df57101e
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Wed Mar 11 21:54:54 2009 +0000
+
+    added a popup menu in keyword tree
+
+commit 13b5d1f44e4c824a4a48b972e758f2fde80dbc43
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Wed Mar 11 17:38:20 2009 +0000
+
+    Use dynamic allocation for editor key passed to various callbacks.
+
+commit 4ae54d3fe9578e43dace94f9fdc9fc4e757a74f9
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Tue Mar 10 22:52:12 2009 +0000
+
+    fixed saving of file_view_type
+
+commit 7feb265d9809eef4b3c225b6475b83228771d6ea
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Tue Mar 10 17:58:30 2009 +0000
+
+    Remove now useless element.
+
+commit 244bab9b7cc522210cdfbf1432c3a4b7c3ccce77
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Tue Mar 10 17:22:17 2009 +0000
+
+    Remove the toggle on advanced exif window menu item.
+
+commit 0d08080fca58e3ef64ede91c605d46ccb8bb2689
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Mon Mar 9 19:37:58 2009 +0000
+
+    Add missing g_key_file_free() call.
+
+commit 704c8c788786d55da1a84676cdca7865e85b96da
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Mon Mar 9 19:35:53 2009 +0000
+
+    Fix editor_command_path_parse().
+
+commit 6829be525a541c8e5b3b9a3d130548434d006587
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Mon Mar 9 19:34:26 2009 +0000
+
+    Revert changeset 1502. It brokes the spec: hidden desktop files from user directory should hide files from system directory with the same name.
+
+commit 2c12c12f04540a4b3888fde88f88cc93e7adb011
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Mon Mar 9 12:44:06 2009 +0000
+
+    Only store editors if they match criterias to not be hidden from start, it makes more sense. Fix editor_command_path_parse().
+
+commit 67e00d0a920b6349e42f86742a18ca50fdc4880e
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sun Mar 8 23:12:49 2009 +0000
+
+    Introduce EditorFlags type, cleanup.
+
+commit 30fc45e64c3dea9841d40ba694d1d2b45d002cc6
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sun Mar 8 23:09:27 2009 +0000
+
+    save and restore the keyword tree
+
+commit c00ba73c65a001d5fbf7d7d4c6279c97e6992983
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sun Mar 8 21:12:45 2009 +0000
+
+    fixed crash with certain layout configurations
+
+commit f7dbd69473c9bcdcb08c6b904b11d512e3a2929a
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sun Mar 8 20:49:48 2009 +0000
+
+    Cleanup and minor fixes.
+
+commit 66f5ea89ccea96c00f371f633fe02142cec8bd05
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sun Mar 8 17:51:03 2009 +0000
+
+    Advanced exif window: make all columns sortable and resizable.
+
+commit 411a041e79c2cb24490d562fdcd05030cbcfff71
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sun Mar 8 15:30:15 2009 +0000
+
+    Add helper macros EDITOR_ERRORS() and EDITOR_ERRORS_BUT_SKIPPED() to clean up the code a bit. Minor tidy up.
+
+commit 91b011a25e87aebe4cdc92e2a75db82b872c8302
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sun Mar 8 15:02:18 2009 +0000
+
+    Fix up editor execution.
+
+commit 3014c4ff1cd8fc5a6ce064e3bcc297417a08a37f
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sun Mar 8 14:27:19 2009 +0000
+
+    Display icons in edit contextual menu.
+
+commit 0205b0af299b580d25846b1fc9c17e7716939341
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sun Mar 8 13:23:25 2009 +0000
+
+    In various Edit context menus, only display editors that match the file types in the selection.
+
+commit 06d738a8072a9eae0765859eecc19c1745cde25b
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sun Mar 8 12:42:23 2009 +0000
+
+    dnd fixes
+
+commit e9f2c348743955bcf92c0ef94331d545e7d6f7a1
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sun Mar 8 11:32:12 2009 +0000
+
+    dnd fixes
+
+commit e0a06986823081a727a4413b7e2ff562fd6618be
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sun Mar 8 10:38:51 2009 +0000
+
+    allow dropping of multiple keywords
+
+commit 3dc57a6704aa6b4b5c94e597dc448ee141d14c15
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sun Mar 8 10:25:24 2009 +0000
+
+    show a label instead of the default drag icon
+
+commit 2874d15e958da779066951a0bde3bafe3f9654cb
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sun Mar 8 09:56:40 2009 +0000
+
+    dnd in keywords tree
+    improved dnd in advanced exif
+
+commit 60a09da7a127ddafeb538ed3d27bff57c65c552a
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat Mar 7 17:02:59 2009 +0000
+
+    implemented keywords editor as described at
+    http://geeqie.wiki.sourceforge.net/keywords
+    keyword tree is hardcoded for now
+    TODO: configuration
+
+commit 3d687308a8d41f5be0a667c4a470f6391c6e172b
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sat Mar 7 10:32:04 2009 +0000
+
+    French translation was updated.
+
+commit fbe133245d32410b958b6fdffecfcd14e2ea2bca
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sat Mar 7 10:31:30 2009 +0000
+
+    Use a common function bar_pane_expander_title() to set expanders title widget.
+
+commit e4c7b67ba437b2e4b667b48ed40e50346c3fce45
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Fri Mar 6 22:34:38 2009 +0000
+
+    Try to improve tab completion: when a key is pressed while tab completion menu is shown, the number of entries is reduced, dhowing all matching entries but the menu is no more closed after each key pressure. Number of possible entries in this menu was increased from 500 to 1000. Pressing TAB when path entry is empty now adds / (root directory).
+
+commit 0006442fe24f14a1ce2492b73d22c92670bf0974
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Fri Mar 6 15:52:47 2009 +0000
+
+    simplified bar interface
+
+commit 4da29794c4fe3233ac3ecff01019e86d779a8c2b
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Fri Mar 6 15:04:35 2009 +0000
+
+    Add debug versions of path_to_utf8() and path_from_utf8() which allows to report the caller file and line, this is enabled with --enable-debug-flags (and developer mode too).
+
+commit 7b8e46aa208816b61b4c1c852112aeebd3fe8f46
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Fri Mar 6 14:53:32 2009 +0000
+
+    Fix utf8/locale conversion warning: the path passed to isdir() is not in UTF8 (if local fs is not in UFT8) so do not use it (isdir() uses stat_utf8() which calls path_from_utf8()).
+
+commit 25962e3530372946ba7c7a051b509ecf7056ac85
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Fri Mar 6 14:42:32 2009 +0000
+
+    enable wrap mode in comment pane
+
+commit 55a3179898b348b98a45a58d6f325dbb92026b09
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Fri Mar 6 14:24:11 2009 +0000
+
+    use standard GtkHPaned for sidebar width
+
+commit e8aff8701513b7dd33af46253f588ed93aa26159
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Fri Mar 6 11:42:25 2009 +0000
+
+    Fix tab completion when entering "/et[TAB]" it was changed to "et", this is fixed.
+
+commit 9169391b4c9254bad5d087ea70eac57e35dafe6e
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Thu Mar 5 23:32:56 2009 +0000
+
+    do not crash if an exif entry is deleted during editing
+
+commit cf3ee0a9299dd553165421086ed4b44fe2d27eb6
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Thu Mar 5 23:02:15 2009 +0000
+
+    added popup menu to the exif pane
+
+commit 8cb3c38b5b8f7f3a6e02ba780b2d248e16872c3d
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Wed Mar 4 22:44:35 2009 +0000
+
+    indicate that the exif pane is empty
+
+commit f4ef41357f991741b70538dd8156161f44e462bb
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Wed Mar 4 22:34:11 2009 +0000
+
+    prepared exif pane for popup menu
+
+commit 96f804c86a637788af6faea27f260cca6c596229
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Wed Mar 4 21:33:19 2009 +0000
+
+    layout_status_update_pixel_cb(): cleanup and optimization, drop pango markup in i18n string, use a small function to calculate numbers length, only allocate text when needed.
+
+commit b258d123509caea8cd9fe5d85dd2122d4e353750
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Wed Mar 4 21:19:12 2009 +0000
+
+    dnd from advanced exif window to exif pane
+
+commit ed17579e62a6cfe5a18915d3bfba80f8bc2ee564
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Wed Mar 4 18:53:47 2009 +0000
+
+    Display pixel coordinates and rgb - patch by Ruben Stein
+
+commit 82e0b2a4b6099bbe79ae2a0011fbbe4c528e428d
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Tue Mar 3 23:17:07 2009 +0000
+
+    reorder exif pane entries with drag and drop
+
+commit a899ea58d94c14dc66d34a3567ebdcfa11a6a0f9
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Mon Mar 2 22:48:04 2009 +0000
+
+    overlay now survives image split
+
+commit a4ee370ccd362d7e0c69067dbdad9e0106a1cce4
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Mon Mar 2 21:06:32 2009 +0000
+
+    Random tidy up.
+
+commit da428c44fc7a1da6f146163cb8f484e0fc6676fb
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Mon Mar 2 21:05:57 2009 +0000
+
+    Fix memleak in previous patch.
+
+commit 0668b940429414b217e330b5351bfca31dda1c4d
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Mon Mar 2 21:04:38 2009 +0000
+
+    Add a directory separator at the end of names in tab completion list to indicate directories.
+
+commit 6a8d84391baf8e7bee1160abc4c57eca58987a73
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sun Mar 1 23:38:36 2009 +0000
+
+    Align exif labels vertically (visually better since name is now smaller than value).
+
+commit 2a1b48f6079867a09a28067f17a8e7bb47cdbdfd
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sun Mar 1 23:28:53 2009 +0000
+
+    Update POTFILES.in and french translation.
+
+commit 7fbf2e53a3a5ad667bd585d763cf0bff567d672e
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sun Mar 1 23:14:19 2009 +0000
+
+    When g_new0() is used, drop redundant initializations to NULL, FALSE or 0, second pass.
+
+commit ac3c275ae53473b6be6f20c1b96a470e156a7fdc
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sun Mar 1 21:35:18 2009 +0000
+
+    make the exif pane grow-only - this reduces sidebar jumping
+
+commit 16754fd5f8f49e41f040ed43a28f4c53dfcde982
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sun Mar 1 21:06:55 2009 +0000
+
+    When g_new0() is used, drop redundant initializations to NULL, FALSE or 0.
+
+commit 276cb9bb7ccef6bca68564040a2f5908028ebdc1
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sun Mar 1 19:48:38 2009 +0000
+
+    Clarify colorspace determination (exif 2.2/2.21).
+
+commit 352ec1b93ed21559a6c2cd9d3b583540bd0de5d9
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sun Mar 1 17:58:19 2009 +0000
+
+    Enable 'Use profile from image' item of color management menu only if such profile information is available from image.
+
+commit 2f8d1927009893b4562aa1b95ec61b2f4b997d8d
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sun Mar 1 17:13:14 2009 +0000
+
+    Improve file checks using is_readable_file().
+
+commit 44300b5fd5139f9c485d632207fb7f89cd3c481f
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sun Mar 1 17:11:51 2009 +0000
+
+    Only attempt to read exif if the file is readable.
+
+commit f66300e9b42664a35e88c2baefdff57b3a883759
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sun Mar 1 17:10:45 2009 +0000
+
+    Introduce is_readable_file() which test if file exists, is regular and readable.
+
+commit 2a5590abe04642bb6e1d7abb17a4f12ee9861cd8
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sun Mar 1 16:46:40 2009 +0000
+
+    image_select(), image_set_selectable(): tidy up.
+
+commit d3aa41bc4406825b23336d561c60a81d6509f523
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sun Mar 1 16:43:48 2009 +0000
+
+    Indentation fixes.
+
+commit 671c4e59016ad4b13a791d6bf70a1011b9450b62
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sun Mar 1 15:54:37 2009 +0000
+
+    image_post_process_color(): remove exif parameter, just extract it when needed.
+
+commit bc32699c45cdf3698872449f5b9116a6dd0928a8
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sun Mar 1 15:41:51 2009 +0000
+
+    Slightly modify access_file() and use it to test profile files existence and read access.
+
+commit 2a3788f237b9a0e343501213036eb133545754b7
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sun Mar 1 15:28:06 2009 +0000
+
+    Add an ellipse when the file name is truncated.
+
+commit 138449b284641d79f8f35dbc47ecff5364f94117
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sun Mar 1 15:15:37 2009 +0000
+
+    In the side bar, display the filename without the 'Filename:' prefix and makes it centered. Allow to select it for copy'n'paste.
+
+commit 86e5ecef8ba0effbc52208fcc9c2c788ede293ff
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sun Mar 1 13:37:30 2009 +0000
+
+    dropped ExifUIList
+
+commit 851a261132a08fc1812a73b2c0481d0579a3da0a
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sun Mar 1 11:59:32 2009 +0000
+
+    do not use separate list of entries, rely on vbox
+
+commit 411fa489a446dd00e60f1a77791ce26f9e43bb87
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sun Mar 1 00:10:00 2009 +0000
+
+    fixed possible crash
+
+commit 353d6be218b845a9d974f32d8388867ce2588bbe
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat Feb 28 23:59:02 2009 +0000
+
+    rewritten exif pane to support arbitrary number of entries
+
+commit 7cc909a78fa9f5f7c7fc40533978a29d3ad05767
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sat Feb 28 20:57:26 2009 +0000
+
+    max value -> value. Shorter.
+
+commit bbfd2a7a816e372a04aea99139f835353e4047f8
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sat Feb 28 20:53:59 2009 +0000
+
+    Add missing space between while and first parenthesis.
+
+commit 321ff5bb77411f729fdd38740a02f4de341f77e9
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sat Feb 28 20:52:51 2009 +0000
+
+    Add missing space between switch and first parenthesis.
+
+commit 96a26903f49ddab4a63213310c9da8d2c0457dc0
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sat Feb 28 20:48:47 2009 +0000
+
+    No space between function name and first parenthesis, it eases greping (see CODING).
+
+commit 5ac2ac2a71f6fcc14ad4fc2994c17ea64d415dd5
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sat Feb 28 20:24:42 2009 +0000
+
+    Prevent Gtk assertion failures when no icon is set.
+
+commit f3d61f44c1bfe05188eb68974737f66ce096656d
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat Feb 28 20:13:11 2009 +0000
+
+    show histogram label in the title
+    adjusted label texts
+
+commit f9936e38ffc7feb5ca5af211603c682cfb548fee
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat Feb 28 19:44:58 2009 +0000
+
+    give the panes more control over expander title
+
+commit 106016c61b873ccc55b515336f5217d7f9fd639e
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sat Feb 28 19:41:23 2009 +0000
+
+    Color profiles menu: test for file access before allowing to select it as input profile.
+
+commit dc4646d5966601b57b5a6ac49aaa7bd4fa14b7f3
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat Feb 28 18:51:25 2009 +0000
+
+    load icons for external editors
+
+commit 073a65377169492e9843ee4bdd3acf01f0cf6c78
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sat Feb 28 18:01:16 2009 +0000
+
+    Use g_utf8_casefold() to compare keywords, uppercased/lowercased keywords are now matched against predefined list.
+
+commit 42ea998781724458ce55582414b4d1656d244f10
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat Feb 28 17:20:16 2009 +0000
+
+    fixed bar_histogram headers
+
+commit 0520eeff040165801722d408701eae8c94b2f955
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sat Feb 28 17:12:00 2009 +0000
+
+    Minor simplification and cleanup.
+
+commit df6b9c5b1e3077d19e5c59f2e72e8949da034a08
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sat Feb 28 16:59:20 2009 +0000
+
+    image_change_complete(): reduce code redundancy and implify.
+
+commit fa373d7547d5c23f65088dff3df36d43b90b0139
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat Feb 28 14:40:22 2009 +0000
+
+    fixed overlay configuration
+    split overlay options between global and layout window
+
+commit d5b911cd3eca6de811ef53f8cac6a3f84ced1062
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat Feb 28 12:50:39 2009 +0000
+
+    save and restore toolbar configuration
+
+commit b4581c40f8cb47f32d1102589b005d5435e9e297
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat Feb 28 09:59:27 2009 +0000
+
+    create toolbar from ui_manager
+
+commit b24487aa1f5704a788a8f77782edf40850878a63
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Fri Feb 27 23:25:31 2009 +0000
+
+    Really fix up color profiles options tests. Add an indicator of the embedded color profile when recognized (a * just after sRGB or AdobeRGB compatible).
+
+commit bc2d1d0836169d7184c7010e9d01d16837cddbf5
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Fri Feb 27 22:28:17 2009 +0000
+
+    Fix up color profiles menu: mark empty entries (but not NULL) as inactive.
+
+commit 9c93c4f8a9650ce80206755b524244c878e7b61b
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Fri Feb 27 21:30:28 2009 +0000
+
+    compute histmap in idle callback and only if the histogram is expanded
+
+commit 526bf4edfddf1c63e583a2bf735a4614c55b314b
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Thu Feb 26 21:46:27 2009 +0000
+
+    Add a tooltip showing current histogram state on bar histogram.
+
+commit 66b325900212d630b208e1747280767783f01cb9
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Thu Feb 26 20:50:36 2009 +0000
+
+    Clean up histogram stuff: options saving/restoring, osd histogram separation, tidy up.
+
+commit 3b4446591720a17e3f0856fc290f85b84a303d12
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Thu Feb 26 17:34:14 2009 +0000
+
+    Add .bak and .mo extensions to svn:ignore.
+
+commit 84a6a75d10d4aaa99aaa0b9c5e2ded8a2b26f4da
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Thu Feb 26 08:04:52 2009 +0000
+
+    quoted_value is no longer needed
+
+commit cffe654128aa1230d98c36f6cc48524d87ab6b69
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Wed Feb 25 23:04:08 2009 +0000
+
+    Silent a minor warning.
+
+commit 5651cebff9468fa7cb1275476eea0ccd482cb8df
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Wed Feb 25 21:09:17 2009 +0000
+
+    correctly save and restore overlay string
+
+commit d7b78d9173ebe6d4692dad061a4afe30325d3e23
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Wed Feb 25 20:54:38 2009 +0000
+
+    Save bar pane histogram state to rc file.
+
+commit fddb6eb6775e4f70b70cb5373508b0bcb9ed5a04
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Wed Feb 25 20:42:35 2009 +0000
+
+    Fix up bar pane histogram contextual menu: show current state for channel and log mode.
+
+commit 4d85c50b6c73874d441f834a9d52f8319082c3e8
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Wed Feb 25 19:46:03 2009 +0000
+
+    reuse original utility_box (image + sidebars) on layout change (switch
+    from list to icon view etc.)
+
+commit f9a9bffc314cd4b1cd5229896286666766f020ca
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Wed Feb 25 18:21:20 2009 +0000
+
+    fixed filter initialization
+
+commit b3477302e22f00d62a4f7f9a7ce5a1f8d6a7a142
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Tue Feb 24 22:21:28 2009 +0000
+
+    improved bar_sort configuration
+
+commit da109aa01657b27c22a18bc74bff56e4dae89298
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Tue Feb 24 21:08:16 2009 +0000
+
+    Add a contextual menu on bar pane histogram allowing to change channels and mode. More work needed.
+
+commit e84b67aadcdc1ea32b2c53e6b4a2d6a369f51951
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Tue Feb 24 20:47:38 2009 +0000
+
+    fixed --fullscreen option together with enabled bar
+
+commit 5da3477f9b116d0482737510423e5de949f8a0d4
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Tue Feb 24 20:34:39 2009 +0000
+
+    simplified and improved bar configuration
+
+commit f215252861f96b1b924b93178a406e2ec7bb6ca2
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Tue Feb 24 18:00:45 2009 +0000
+
+    Enclose macro parameters names with _ to differentiate them from variable names.
+
+commit a8df53630e1632e65318a1b397ea1a275f4817e5
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Tue Feb 24 17:47:45 2009 +0000
+
+    Since READ_*() macros are now exported, do not hide
+    the if() continue; statement in them.
+    Wrap WRITE_STRING() instructions in a safer do {} while (0).
+
+commit 1bef8f7ea39aa7652ded34fd2baaa3bf6c28e69d
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Mon Feb 23 22:13:09 2009 +0000
+
+    simplified config writing
+
+commit c2b4bce2393c142785ac7cef5095a5c06348073b
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Mon Feb 23 21:21:15 2009 +0000
+
+    enabled commandline again
+
+commit 778dcd703998a9d37ea6562228e971827a25044f
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Mon Feb 23 17:20:40 2009 +0000
+
+    Introduce helpers histogram_toggle_channel() and histogram_toggle_mode().
+
+commit 4b96dffd2f791d4f99a407da3a11cbeede9f5b2c
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sun Feb 22 17:46:42 2009 +0000
+
+    Set svn:ignore on Makefile and Makefile.in.
+
+commit 6be7a5d9435cd61876ec2585d19e6fc4208eb66d
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sun Feb 22 17:40:32 2009 +0000
+
+    Fix and simplify histogram code, drop histogram based on mean value.
+
+commit 9e9712735fb1522f4f081a9e38c38c4d91a09c51
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sun Feb 22 15:35:37 2009 +0000
+
+    config file format changed to XML
+    save and restore all layout windows
+    save and restore sidebar configuration
+
+commit 179b485a4439fb2e102195fde5b2366a24c5a927
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sun Feb 22 13:29:49 2009 +0000
+
+    Attempt to simplify and fix histrogram code.
+
+commit c6d4606fb8929b3c6596292a9eae836167729bf8
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sat Feb 21 20:43:35 2009 +0000
+
+    Glibification again.
+
+commit 2c9c37c9649ad80e04e14230eebd6584e7de7e8d
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sat Feb 21 18:28:53 2009 +0000
+
+    French translation was updated.
+
+commit 4a596674619d5addc6a223fe2be2093c06622a2d
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sat Feb 21 18:04:52 2009 +0000
+
+    Glibification.
+
+commit 144433d8a9eaa43184c844b76665c91fe21f1c07
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sat Feb 21 10:53:18 2009 +0000
+
+    Move grid color setting to histogram_new().
+
+commit 80547e648cc21fefb1e91f869d90c2ea719a9f6d
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sat Feb 21 10:33:56 2009 +0000
+
+    Remove histogram_ prefix from struct _Histogram fields names and rename them more properly.
+
+commit 0f103e1b6b6ab4017d7f677aaea9120dc015906b
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sat Feb 21 10:29:13 2009 +0000
+
+    Add grid to bar histogram, simplify the code and draw horizontal lines too.
+
+commit 6b0883bae0f9124a6dcc8fcdd87ab24643a85d2f
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Thu Feb 19 17:36:38 2009 +0000
+
+    Fix bug 2599857: file list sort order was wrong in many cases.
+
+commit 263a050716f3c9fdfced1accb4016fcdd11ade19
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Mon Feb 16 22:48:30 2009 +0000
+
+    fixed compiler warning
+
+commit 8422a0c8bd17c3ef09de058a7433e606124524b7
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Mon Feb 16 21:01:27 2009 +0000
+
+    hopefully fixed a freeze on solaris
+
+commit 243a78132e93b3fa27efc6cc3ca46d58bad06b25
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sun Feb 15 19:25:55 2009 +0000
+
+    added histogram pane
+
+commit a1385820cdb789c96a38b709f7b981725f81bdd1
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sun Feb 15 17:27:48 2009 +0000
+
+    fixed histogram drawing
+
+commit 63da7df8b6994ba78db433c8d13513967f54b324
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sun Feb 15 15:58:01 2009 +0000
+
+    Remove redundant line of code.
+
+commit a38c15108e52207831b08be4461b49f0d09926d3
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sun Feb 15 15:56:48 2009 +0000
+
+    Fix up few compilation warnings.
+
+commit a660cd93f81e921141fc7ddb57188c6c23d211c9
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sun Feb 15 13:11:21 2009 +0000
+
+    histogram caching
+    histogram interface prepared for histogram pane
+
+commit c5ead176be15971b27d90d0656b8fc26fa9eca17
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sun Feb 15 09:36:53 2009 +0000
+
+    separated "normal" and advanced exif, "Normal" exif is now in the
+    generic bar, advanced exif is in separate window.
+
+commit a6fb79a9aee3b16eadd450cfcd261f0d3fe9bd9d
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat Feb 14 20:26:30 2009 +0000
+
+    droped Preferences dialog, sidebar should replace it completely
+
+commit ab0cc44129df43dc4bc0d0ec0e95e187a739f32c
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat Feb 14 19:50:54 2009 +0000
+
+    replaced bar_info with an universal bar, restored the original
+    functionality (more or less)
+    bar configuration is not yet saved
+
+commit 310a646e67ba0c32c2384f553eecf512e283684d
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Mon Feb 9 09:02:04 2009 +0000
+
+    Update ChangeLog using C locale date format, add a script to ease future updates.
+
+commit b4f63e5e882b065ea834bd1e99081306284480c2
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat Feb 7 21:03:11 2009 +0000
+
+    force at least one idle call before writting metadata
+    (without this the exit_program_write_metadata_cb could be called
+    before the exit_program function finished)
+
+commit 22f5a68f75212287ff3924432df1902bec16feba
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat Feb 7 19:01:21 2009 +0000
+
+    use metadata_read_* functions where possible
+    switch exiv2 to utf8 charset
+    support for exiv2 formatting that depends on other tags:
+    http://dev.robotbattle.com/bugs/view.php?id=0000516
+
+commit 9c04cb142531b3c5b31be148a40405a1ea103a53
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Fri Feb 6 23:49:03 2009 +0000
+
+    Start with "Fit to window" in "Leave Zoom at previous setting" mode
+
+commit c5b333518ad00d61c1e9ad0bc96c4faae43fc7c9
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Fri Feb 6 22:56:52 2009 +0000
+
+    do not switch to the next image on mouse click in split mode
+    it interferes with image switching too much
+
+commit 4e7f0d2a4ffcefeeacce220761a905cd105b75e2
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Fri Feb 6 22:41:47 2009 +0000
+
+    improved labels of some menu items
+
+commit 11a4cc2074aa9544a906434f40eda2b27d6ef5c1
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Wed Feb 4 17:15:30 2009 +0000
+
+    Add year 2009 to copyright info everywhere.
+
+commit db594bb6a56da7a25d58a3b2ec51f67bc4d0db49
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Wed Feb 4 16:50:24 2009 +0000
+
+    Fix up the copyright years info.
+
+commit 16d8352b142b869d37d9d88f6f7b649ba9b6ba58
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Wed Feb 4 16:49:11 2009 +0000
+
+    Update README header.
+
+commit 932432f09417b4fe1ec05bfb92dfe946f7fd32ea
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Wed Feb 4 16:47:02 2009 +0000
+
+    Speed up random slideshow, startup time decreases from minutes to seconds when amount of images is big. Patch by Kjell Morgenstern.
+
+commit 474d7e891184d4e5a09486b6ccbd777617d416eb
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Wed Feb 4 14:51:23 2009 +0000
+
+    Do not show geeqie itself in editors menus.
+
+commit b93be6e123e894cf75fe9c5d89b1fe09ddacd639
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Tue Feb 3 18:04:10 2009 +0000
+
+    do not translate already translated texts from desktop files
+
+commit e03f199569195e75d937d21f9d982d0c7d5de119
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Tue Feb 3 13:52:20 2009 +0000
+
+    Add support for NoDisplay (entry is then hidden) and Type (only Application type is valid here) keys.
+
+commit 7da00ede6e5a0c460b7bba6f0ce3f2f8767b3a4a
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Tue Feb 3 13:50:10 2009 +0000
+
+    Reorder fields a bit and make flags field unsigned.
+
+commit 27e3c8d9b272241d6e1e73c691df6ea2f61b4424
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Tue Feb 3 08:41:21 2009 +0000
+
+    editor_list_get() now returns a sorted list, this way items appear in the same order in all menus.
+
+commit 413722a5800f7f895e5068f0aec1441d13af5d4e
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Mon Feb 2 20:32:59 2009 +0000
+
+    improved placing of external commands in menu
+    small menu improvements
+
+commit ebfc5ad707b2a261dadc47508aed872d2e83460c
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sun Feb 1 22:35:40 2009 +0000
+
+    test TryExec,
+    xdg_data_home added to the list of directories
+
+commit ace63c487142b18a548b95d76f8056de0bead19d
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sun Feb 1 18:27:42 2009 +0000
+
+    fixed switch from single to split image
+
+commit f94b569b1831c052099295c861f9d3f502072622
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sun Feb 1 12:48:14 2009 +0000
+
+    read external editors from .desktop files
+
+commit ff084f550845b0467a6202d62a7447940a4ea667
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Thu Jan 29 19:43:34 2009 +0000
+
+    Sort the list alphabetically and remove an empty line.
+
+commit 7532aed8f8f0bc89f1c5a2c742bc9021e5f8bbfc
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Thu Jan 29 19:23:39 2009 +0000
+
+    switched to po/LINGUAS, see http://live.gnome.org/GnomeGoals/PoLinguas
+    (new glib-gettextize does not support the old method)
+
+commit 77a9142b41ec6a5d9cac6d35c2a0c9d41052e147
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Thu Jan 29 19:07:07 2009 +0000
+
+    gint -> gboolean.
+
+commit 2e3dc8c8f14d75abb400c32a4c619e79bb371d77
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Thu Jan 29 19:00:24 2009 +0000
+
+    Invert Horizontally vs vertically zoom fit, it was a TRUE/FALSE mismatch, reported by Christopher Beland.
+
+commit ab98857be805f6bd9891d57506038e651dc81dde
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Thu Jan 29 18:52:52 2009 +0000
+
+    Remove harmful documentation.helpdir and documentation.htmldir options. These paths can still be modified through --with-readmedir and --htmldir configure options. Reported by Christopher Beland.
+
+commit 96c8762cd141c1fca795e203a96307c80580d7f4
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Thu Jan 29 18:05:41 2009 +0000
+
+    added SIGBUS handler
+
+commit 788b066dec51f6c89b63569de9f19fa8c781c3f4
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Mon Jan 26 21:08:05 2009 +0000
+
+    fixed compilation with lirc
+
+commit c93ae602d0b44dc87e2ee104df5634c6eec44a92
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Mon Jan 26 14:59:49 2009 +0000
+
+    Silent two minor warnings: GtkSelectionData data field is guchar* while g_strndup() wants gchar * as first parameter.
+
+commit 4b69e1199fe33fa8d904b21a2ba3cc85f7b59e81
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Mon Jan 26 14:50:56 2009 +0000
+
+    Remove --enable-compile-warnings from autogen.sh, it was passed to configure which knows nothing about this option.
+
+commit b68add2c1c1fd4f1d389fe0490986ffffd34302c
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Mon Jan 26 14:49:09 2009 +0000
+
+    Move -Wall before -Wno-* options for them to have any effect.
+
+commit 47ed193a2a19fa34afc8c473353c66b5ea194f8e
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Mon Jan 26 14:18:08 2009 +0000
+
+    Keep -O0 over -O2 as requested by Vladimir.
+
+commit 4fcae73e00ff93c457770fbd05555e8e84122d7a
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Mon Jan 26 08:36:23 2009 +0000
+
+    Add -Wformat and -Wformat-security gcc options when --enable-debug-flags is set, move default optimization to -O2 by default (-O0 is only useful for specific debugging purposes).
+
+commit a24c1c60db9cca6a849920f8a7301530683d97ef
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Mon Jan 26 08:30:30 2009 +0000
+
+    Fix a major bug in utf8_compare(): when case_sensitive is true, s1_t and s2_t were uninitialized, leading to unpredicable results.
+
+commit d80efe42eeb8d6af994245d0cf837d20eb852575
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sun Jan 25 19:38:31 2009 +0000
+
+    added the original COPYING file from GQview - we can't rely on autogen.sh
+
+commit ebd61f57fe603dbedec50c2953e51c6522593cd6
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sun Jan 25 18:14:08 2009 +0000
+
+    updated ChangeLog from svn log
+
+commit 7debdfe9253260f5e855addd9daf389b59c20e1c
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sun Jan 25 16:58:19 2009 +0000
+
+    fixed gthread detection
+
+commit 66c057940975c76fcecaffab9e756b5f9306219d
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sun Jan 25 09:27:27 2009 +0000
+
+    do not ignore newly created sidecars
+
+commit ad9ac9d145e0e7df96118c66ee6dec927ebed702
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat Jan 24 13:46:08 2009 +0000
+
+    adjusted marks spacing to align them with the marks filter
+
+commit 0074b6e5de0f19720985594a1a2b32114ec24204
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sat Jan 24 13:38:53 2009 +0000
+
+    Fix incorrect translation.
+
+commit 5d7594d2acdccc19228350eddd1ab29aad990874
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat Jan 24 13:05:06 2009 +0000
+
+    fixed restoring of OSD at layout_image_full_screen_stop
+    https://sourceforge.net/tracker/index.php?func=detail&aid=2039839&group_id=222125&atid=1054680
+
+commit fce85c3c86d56b122babaf26952cae937a3b61b9
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat Jan 24 12:15:01 2009 +0000
+
+    fixed glib warning
+
+commit 674b05efb895ed75533c07e74147082cf630e9cc
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat Jan 24 10:09:29 2009 +0000
+
+    updated version string
+
+commit f9d7107581b3391183465454de6557de0abf7c98
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sat Jan 24 07:41:23 2009 +0000
+
+    Silent two compilation warnings.
+
+commit 0c44dc1f02b5515cffe2bcc20f54e2d57208a916
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sat Jan 24 07:36:21 2009 +0000
+
+    French translation was updated.
+
+commit 3928a6a6e59e900f2d1343ed3aef01b5c86ac337
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Fri Jan 23 22:53:02 2009 +0000
+
+    fixed possible crash
+
+commit aadb9ca7ccde3464cf0ae80a7985e25227279c70
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Wed Jan 21 18:30:54 2009 +0000
+
+    enable threads by default
+
+commit 0e1a79d60922a6aa11288531218a919774b29d5d
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Wed Jan 21 18:16:26 2009 +0000
+
+    compilation fixes for older exiv2
+
+commit e3086ee765ba371f1d6774d869d1ec7ba1f37590
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Tue Jan 20 22:53:09 2009 +0000
+
+    improved metadata preferences
+
+commit 9d97c970f5f8dc30842c0672cb1ccf5ce8929681
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Tue Jan 20 22:29:31 2009 +0000
+
+    fixed possible segfault
+
+commit 6d9a3f1923d1b8741b5b306022722affee5b4873
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sun Jan 11 21:28:03 2009 +0000
+
+    show symlinks in filelist
+
+commit 07f76a58add699461ed85263e2bf815f22725e2b
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sun Jan 11 21:24:58 2009 +0000
+
+    fixed includes
+
+commit fa197cca9401a69b158ac956aa7aa333525c770c
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sun Jan 11 18:58:05 2009 +0000
+
+    added a status bar button for writting metadata immediately
+
+commit 9e2559ec2e298ade2632cfcb526a674d18ab3cdf
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sun Jan 11 12:13:30 2009 +0000
+
+    metadata write mode (direct or sidecar) made configurable for each file
+    format
+
+commit 79003481053d92298710773530b0f1ae7dec54e0
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat Jan 10 20:40:37 2009 +0000
+
+    simplified metadata interface, dropped metadata_read,
+    fixes for older exiv2 versions
+
+commit 36c2beabcd63fb1d96bf6e639d66de24aa2f40d5
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sun Jan 4 17:14:34 2009 +0000
+
+    When "Remember print settings" is checked, save _all_ settings. Before this patch, text fields, text size, source, layout and image scale properties were not saved.
+
+commit ae1ea297b901d211bf2d2a84e253aecd4712817c
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sun Jan 4 10:32:47 2009 +0000
+
+    French translation was updated.
+
+commit 1196bc75946359bfa10099df15c23808baff9a1e
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sat Jan 3 17:13:20 2009 +0000
+
+    Silent warnings.
+
+commit 911b41365c783519b075eda51fb6dcd345975d68
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat Jan 3 15:29:08 2009 +0000
+
+    write keywords and comments with separate functions
+
+commit d16e38189ea96d485daed8424a2d1b6a9bcd0f8b
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Fri Jan 2 23:14:01 2009 +0000
+
+    fixed updating of selection after deleting the last image from the list
+
+commit dc4d041d5397e3a78c335babff70a409d04f3e54
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Fri Jan 2 22:57:09 2009 +0000
+
+    do not enter a directory after rename
+    fixed dir tree updating
+    http://sourceforge.net/tracker/index.php?func=detail&aid=2481287&group_id=222125&atid=1054680
+
+commit 067cf8e940216c935f818cc0f8f60113d54460c5
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Fri Jan 2 14:58:21 2009 +0000
+
+    added done callback to utilops
+    used the callback for metadata writting at exit and for renaming new
+    folder
+
+commit a63548cf3e28b4684281019f7e697df77cff1c3e
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Fri Jan 2 09:39:14 2009 +0000
+
+    fixed view_dir notification
+
+commit e040fa03e86b3dc95810f64b289682834d496010
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Fri Jan 2 09:26:23 2009 +0000
+
+    sidecar files grouping was made case-insensitive
+    added possibility to use macros %raw, %image, %meta in extensions lists
+
+commit 7f75485133bbb12e04fa8bc32936c6240e33f2ba
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat Dec 27 22:53:07 2008 +0000
+
+    fixed writting of legacy metadata
+
+commit c6d5aeb7f792026da1a2fd400a55d57a1ebef8cf
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Fri Dec 26 19:04:36 2008 +0000
+
+    optimized get_mark_func
+    fixed reference counting bug
+
+commit 88e91c4e066266f68d13df4c4ad59ba279d1293c
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Fri Dec 26 18:54:07 2008 +0000
+
+    remove cached entries on all changes
+
+commit 7eeeeb77a09e7f9c4682bb65599e0c56cd757eba
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Fri Dec 26 17:38:52 2008 +0000
+
+    fixed previous change
+
+commit ff8b93666eca33f39dea7659a1dbc3af641bef46
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Fri Dec 26 14:12:36 2008 +0000
+
+    improved sidecar writting
+    private metadata can be saved in xmp format
+
+commit 0c2e413a220f62599ae49b5cfae99a439345e398
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Thu Dec 25 12:39:34 2008 +0000
+
+    implemented a possibility to connect keywords with marks
+
+commit 2dd4ade4180168ae6dc6d743e6e8d8fa5b5b8a0a
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Thu Dec 25 12:28:04 2008 +0000
+
+    low-level keyword-to-mark functionality
+
+commit 4bf1446de98aefc0904a6b60ba13e30327299dd5
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Thu Dec 25 12:19:37 2008 +0000
+
+    perform internal commands in idle call
+
+commit 31114993628896d4b36c9d361675e0c13b9faaca
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Tue Dec 23 22:42:57 2008 +0000
+
+    allow writing of empty keywords/comment
+
+commit b077c46b67f7697f450d627f549e5e7d840adacc
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Tue Dec 23 20:53:44 2008 +0000
+
+    added change notification to bar_info.c
+
+commit 6c231281ce339d9f5f91a0cbc77c2de1c3216804
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Tue Dec 23 19:15:12 2008 +0000
+
+    improved buffering and notifications
+
+commit 85fce4079a1b0ead93353919690ba3bdc5cb12ef
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Tue Dec 23 19:13:48 2008 +0000
+
+    write changes immediately, the necessary buffering is done on lower
+    level in metadata.c
+
+commit e2359cd023f1c962fe68ac35dc883a25cea87ec5
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Mon Dec 22 23:25:15 2008 +0000
+
+    file class made configurable in preferences
+
+commit 7180d81daf5ebd192610b1517f26e44b58147fb8
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Mon Dec 22 19:43:46 2008 +0000
+
+    French translation was updated.
+
+commit cbbd4a8733202ca3e436365eee667d551ea9c24a
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Mon Dec 22 18:29:25 2008 +0000
+
+    write metadata after timeout, image change or dir change
+
+commit c29865e349a4389ea74b2e067020eaaec19c91af
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Mon Dec 22 18:15:26 2008 +0000
+
+    show metadata options in preferences dialog
+
+commit b3a6877012f4fbc9d6555f28a69067b0fd270ff6
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sun Dec 21 21:36:58 2008 +0000
+
+    fixed safe delete
+
+commit b2478a365c4f5c96bab935dba551e76dad358412
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sun Dec 21 21:20:36 2008 +0000
+
+    most of the metadata options now works
+
+commit a9a31060a8b202604356236dbf751b621246e3e2
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sun Dec 21 16:26:03 2008 +0000
+
+    fixed new options
+
+commit da50487d38ea80d187a57adb99bafe64d256bfc5
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sun Dec 21 09:28:16 2008 +0000
+
+    French translation was updated.
+
+commit e9460139c2941c4df0f1058ba6ca121121339d98
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat Dec 20 23:18:20 2008 +0000
+
+    added options for metadata - not yet used
+
+commit 40a73b68024292f074a1dadfd6e8db3dad0dcd23
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sat Dec 20 21:47:04 2008 +0000
+
+    Fix two minor compilation warnings.
+
+commit f4733f77089a928d68a4cdfa7cee5fb8cf0b4b4d
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sat Dec 20 21:30:27 2008 +0000
+
+    Switch to fullscreen when double clicking on file in icon or list view. Feature request 1966042. The code was there since a long time but disabled, please report any issue.
+
+commit 9643a2546bccb38da155cbfc4265e588b85a34b9
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat Dec 20 20:43:56 2008 +0000
+
+    use the workflow in utilops.c for metadata approving and writting
+    TODO: configuration
+
+commit af283c6af011fd76a43aeb4e4723f02e8d4ac645
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Tue Dec 16 12:59:23 2008 +0000
+
+    queue metadata and write them in an idle callback
+
+commit b908ceb6bbb78a4edde47710e6291fa8eebb1717
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Mon Dec 15 22:47:31 2008 +0000
+
+    prepared infrastructure for delayed metadata writting - refreshing
+    metadata immediately before writting is now possible
+    
+    modified metadata are stored in fd->modified_xmp
+
+commit b7fdc83d5f6e91fbf7d32377edd76c66ee23139c
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Mon Dec 15 18:04:42 2008 +0000
+
+    Allow to drag keywords on files in list or icon view. Dragged text is appended to keywords list of the destination file.
+
+commit d1b9489e72a06e38e580a370f5e8106386c71d73
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Tue Dec 9 19:12:38 2008 +0000
+
+    French translation was updated.
+
+commit 0871c1893d2705e53fc3a1c08af69ad7b94ceba9
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Tue Dec 9 17:51:28 2008 +0000
+
+    Allow to invert the current selection in Collection view. A new Selection submenu was added to the contextual menu, Select All and Select None were moved to it, and Invert selection was added.
+
+commit e5abe232dfcbab211d72c51b73de128a6d822af8
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Mon Dec 8 21:34:32 2008 +0000
+
+    Display error dialog with appropriate message when user is trying to open an invalid collection file.
+
+commit 2d44c554b22f3305e1cbef26397ba96532e47cca
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Mon Dec 8 21:33:14 2008 +0000
+
+    Cosmetic fix.
+
+commit bb2f085701aa58240d46914e01f31bb918b130aa
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sun Dec 7 15:51:50 2008 +0000
+
+    Fix patch 1290: we only want to remove unused parameter warnings not all warnings produced by -Wextra, so just disable then using -Wno-unused-parameter and re-add -Wextra (was -W, but this is the old name).
+
+commit 85e6945309d39750d6543f86cddbfe8b0c166797
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sun Dec 7 13:28:04 2008 +0000
+
+    handle the case when io.open() fails
+
+commit 68f82126997889074361955ca27534bb8fe0f446
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat Dec 6 21:24:38 2008 +0000
+
+    disabled the "unused parameter" warnings, they are harmless and nobody
+    is going to fix it ;)
+    (note: -W is equivalent to -Wextra)
+
+commit 0bd9d0fe13488d9e7d6578bca561aa94d398ba49
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Tue Dec 2 19:34:53 2008 +0000
+
+    Rename few variables to make the code more readable.
+
+commit 33e01e14e35e31e55b0946d7bcc644649483d76b
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sun Nov 30 21:59:28 2008 +0000
+
+    keyword_list_find() -> find_string_in_list(), return gboolean.
+
+commit 81f6d0d4101e461d81b02e9261dcb3479aae3490
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sun Nov 30 21:52:37 2008 +0000
+
+    metadata_set_keywords() -> metadata_set(). Use gboolean type for boolean parameters.
+
+commit d931c87fc64a09eb9bdef1f6969977df4702adcf
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sun Nov 30 21:43:01 2008 +0000
+
+    Rename most comment_*() functions to more appropriate metadata_*().
+
+commit 73e8f782f130f8899520a53de7b4c9d5f3451fdf
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sun Nov 30 11:46:34 2008 +0000
+
+    File filters cleanup: add .pef .dng and .arw extensions to default sidecar extensions list, add .k25 in Kodak raw extensions, simplify and optimize sidecar_ext_parse().
+
+commit 73a3570010efa60255d7e1c230e50fbe6634dd80
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Thu Nov 27 19:10:59 2008 +0000
+
+    Do not hardcode exif formatted prefix.
+
+commit 40acac5694214bfcb9a6623a2cdd479a6a6991b4
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Thu Nov 27 12:34:39 2008 +0000
+
+    Fix up sign-related  warning.
+
+commit fd5cd3190989657da2abf4fc66d9c4e47242f9cb
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Thu Nov 27 12:34:03 2008 +0000
+
+    Fix up unsigned expression always true warning.
+
+commit 41ba7c59ae7008b423ba7a09de4cd781bd4a5b99
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Thu Nov 27 12:33:07 2008 +0000
+
+    Resync .h with .c declarations.
+
+commit 26f6d635c22a18bfc42144b3e848ab2b15481105
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Thu Nov 27 12:31:27 2008 +0000
+
+    Fix up pointer signedness warnings.
+
+commit bb28beac7482b10b36f0dac3efea45392c4942df
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Thu Nov 27 12:30:49 2008 +0000
+
+    Fix up not a prototype warning.
+
+commit 402a7b74cb3f63247cb0451f7470e72aa42a53f2
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Thu Nov 27 12:30:10 2008 +0000
+
+    Remove unused variable.
+
+commit fb0fc10f50e03ac9e154facbdccddbd6f380f60b
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Thu Nov 27 12:29:38 2008 +0000
+
+    Fix up deprecated function and not a prototype warnings.
+
+commit 673dab6bdc4741c7822c4fd1bf5370b7a6edec00
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Wed Nov 26 20:39:50 2008 +0000
+
+    Handle return values better to silent some warnings.
+
+commit 3f7d30d146ce9a3e06ea3df7909c8be3e741f138
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Wed Nov 26 20:38:47 2008 +0000
+
+    Print a message if chown() or chmod() fail.
+
+commit a3cd380dd4155404ae24df7260fa45da108483e4
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Wed Nov 26 20:37:14 2008 +0000
+
+    Fix up format vs type warning.
+
+commit 85b4c3d6b406043f2709f6f0f6ecea8a7418e9a2
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Tue Nov 25 17:32:51 2008 +0000
+
+    Move comments/keywords read and write stuff to new metadata.{c,h}.
+
+commit 499063665b9e138a110e2881a05dc364961b7aaf
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Tue Nov 25 17:01:03 2008 +0000
+
+    Fix up unsigned expression always true/false warnings.
+
+commit 50306a69abd7e07458b7355cef5883f500fd029d
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sun Nov 23 22:05:27 2008 +0000
+
+    Hide .gqv extension from collection name in collection window title and recent menu list.
+
+commit 968a923541ab98923ba0ea32b78da525c258ce68
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sun Nov 23 16:16:09 2008 +0000
+
+    Rename wmsubclass and name to role, which corresponds better to the purpose of the parameter as it ends to be passed to gtk_window_set_role().
+
+commit 92a79f4e480d767c15510c2f69f2a548cf25e91e
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sun Nov 23 16:10:29 2008 +0000
+
+    Drop useless wmclass stuff. Gtk will take care of it and as said in the documentation using gtk_window_set_wmclass() is sort of pointless.
+
+commit 15aaf972f4a7a7490a1ebaef8900074a80124b2d
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sat Nov 22 22:54:51 2008 +0000
+
+    Use the last selected images for the splitted views. Ie. when 5 images are selected, the last one is displayed, split quad while open images 5,4,3,2. It seems better to me.
+
+commit cce7425dc23b06d7267eb110ce0b8814e469285f
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sat Nov 22 22:43:18 2008 +0000
+
+    When more than one image is selected, Split Horizontal, Vertical and Quad will use selected images when initialized.
+
+commit bebe10914b96c3a07f748984b3e6fba18cccfa94
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sat Nov 22 22:10:10 2008 +0000
+
+    Tidy up.
+
+commit 15821ce9a76d8afe0614dc5ed494161c67f8ad70
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sat Nov 22 22:04:21 2008 +0000
+
+    Use common code for layout_image_setup_split_none() too.
+
+commit 67f56552a7bf85f99f537d06885ebb71876a1c25
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sat Nov 22 21:58:07 2008 +0000
+
+    layout_image_setup_split_*(): simplify code.
+
+commit 25ac01ca80b9a13f843aad26643a21e2c991314e
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sat Nov 22 21:11:09 2008 +0000
+
+    layout_image_setup_split_*(): move common code to a new function layout_image_setup_split_common().
+
+commit 7f699d74c05ce9e81e83210a231e0ca86c7c004c
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sat Nov 22 16:24:23 2008 +0000
+
+    Add a back button in the toolbar: it allows to go back and forth between two directories. Experimental, please test and comment on ml.
+
+commit f7327cbd9fa590af75336916692ae40832ab32e7
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Thu Nov 20 17:28:34 2008 +0000
+
+    Force font weight and style to normal for keys.
+
+commit 540d86584baf5d6070b04254129f25e28a359541
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Thu Nov 20 17:23:46 2008 +0000
+
+    Fix up yet unmarked keys.
+
+commit ad4dacfae1907d2ba1e2e8889aac84d7d54121b1
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Thu Nov 20 11:46:43 2008 +0000
+
+    Fix compilation warnings.
+
+commit a7fe24499d26daa57bfe1492bcb79aa8ddf4a92f
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Thu Nov 20 07:22:56 2008 +0000
+
+    Fix up some missing html code.
+
+commit 7d5e78bf230b7f02687139acadb0a29b2483b6af
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Wed Nov 19 22:57:40 2008 +0000
+
+    More keys.
+
+commit 85c37fcfec1a92989c5301fc8dc9f2e8d5de2e8e
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Wed Nov 19 22:46:27 2008 +0000
+
+    Fix text wrongly marked as key.
+
+commit 7f8324bf49907dfbbb582e8b96b6a10cad070490
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Wed Nov 19 22:42:20 2008 +0000
+
+    Mark keyboard keys with a span and make them look like a key through css style.
+
+commit 5aba0342d8c4fef02b48d436d8bc65550f382a9b
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Wed Nov 19 21:36:02 2008 +0000
+
+    Replace [Control] by shorter and more common [Ctrl].
+
+commit 67e91a0baa946ac71c5e34c227d2769a11fab8d0
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Wed Nov 19 21:16:27 2008 +0000
+
+    Unify [Shift] and [Control] notation.
+
+commit 68a305ccc3b4e14657c8f88a7258d0d6b41f8dd2
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Wed Nov 19 20:53:53 2008 +0000
+
+    Move (and update) image pane shortcuts to a table. Simplify css styles for those tables.
+
+commit 7d76bf997f408ba74840477446b590492430ed7a
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Wed Nov 19 17:42:36 2008 +0000
+
+    Update documentation.
+
+commit 0362a31ed7bc49569607a2b6cbec49c6c4288da1
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Mon Nov 17 18:05:42 2008 +0000
+
+    Fix up links and various enhancements.
+
+commit 84d0eeb779804970775a1a2b151094999df1f39c
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Mon Nov 17 17:17:47 2008 +0000
+
+    Remove colored background in headings for printable version.
+
+commit bb0dccd452eaaaad56dba8028f17789632e10ff8
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Mon Nov 17 17:09:44 2008 +0000
+
+    Change metadata directory to be $XDG_DATA_HOME instead of $XDG_CACHE_HOME as discussed on the ml (obviously it has impact only when XDG support is set). Suggestion by Omari Stephens.
+
+commit b4ef8546331d9128999cc531faaa35556eb242d2
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Mon Nov 17 07:10:32 2008 +0000
+
+    Comment out css code that slipped through by cut'n paste error. It may be useful at some time though.
+
+commit 4575fa4ac78579835bfd17a13ccdaf61989066a4
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sun Nov 16 19:58:43 2008 +0000
+
+    Add specific css for print media(has to be improved).
+
+commit 69f15e9da78b7404be497d657110cfad1a266722
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sun Nov 16 16:32:14 2008 +0000
+
+    Update svn:ignore property: add some files and replace gqview by geeqie where applicable.
+
+commit 19e042015022768094ac5d2e90a32db866698467
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sat Nov 15 20:17:14 2008 +0000
+
+    Implement preliminary support for XDG Base Directory Specification.
+    See http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html.
+    
+    This feature was requested for a long time (feature requests #1950978 and #2289481).
+    For now, it is disabled since it breaks compatibility with previous versions.
+    To be able to test it, you have to enable it by defining USE_XDG to 1 in main.h.
+    
+    geeqierc and other conf files are going to:
+    $XDG_CONFIG_HOME/geeqie/ (default to $HOME/.config/geeqie/).
+    
+    metadata and thumbnails cache (if std is not used) are going to:
+    $XDG_CACHE_HOME/geeqie/metadata/ (default to $HOME/.cache/geeqie/metadata/)
+    and $XDG_CACHE_HOME/geeqie/thumbnails/ (default to $HOME/.cache/geeqie/thumbnails/)
+    
+    collections are going to:
+    $XDG_DATA_HOME/geeqie/collections/ (default to $HOME/.local/share/geeqie/collections/)
+    
+    
+    Please test and report any issue.
+
+commit 6419843202ec66cdb0aa9e763a777a06f6617f19
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sat Nov 15 20:01:25 2008 +0000
+
+    Replace cache_ensure_dir_exists() by new recursive_mkdir_if_not_exists().
+
+commit 8b10477d6c451a8a952db33eea29a7d289261635
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat Nov 15 19:13:43 2008 +0000
+
+    fixed usage of deprecated functions - patch by Omari Stephens
+
+commit 27bcad2478c6a0e5ebda8849c9a6bf67d4dfa222
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sat Nov 15 17:48:31 2008 +0000
+
+    Rename check_for_home_path() to mkdir_if_not_exists().
+
+commit 788a57656d4085ba2e526a29648ec1477bafa46f
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sat Nov 15 17:30:45 2008 +0000
+
+    Use functions to return directories instead of constants.
+    Following functions were added:
+    get_collections_dir()
+    get_metadata_cache_dir()
+    get_rc_dir()
+    get_thumbnails_cache_dir()
+    get_trash_dir()
+    
+    They return the full directory path.
+
+commit e5dd414c28b825002568ea99797a4ad7e5bb64ad
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sat Nov 15 10:35:43 2008 +0000
+
+    Add a wrapper around system() call named runcmd() which allows easier debugging. Improve the code launching the help browser.
+
+commit f56852b68c19db3f71dd69c44c8cc38ddbc644ae
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Fri Nov 14 01:10:18 2008 +0000
+
+    Fix up Makefile.am: add missing files and do not install template.html.
+
+commit 55bdd3344fd5f342d30362fe301808f826710112
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Wed Nov 12 21:38:00 2008 +0000
+
+    Fix a cut'n'paste error.
+
+commit 609fc80ba907a18bd5b0998b155580654e8749db
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Wed Nov 12 21:34:55 2008 +0000
+
+    More precise description of the pan view find feature and a note about ressources eating was added.
+
+commit 3005309e752b5f6d9378487b6856f18eb40b365f
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Wed Nov 12 21:15:12 2008 +0000
+
+    Add some information about the pan view.
+
+commit 3effb3cd44a5b956cd0d7416eec0f2aaea94b774
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Wed Nov 12 17:59:14 2008 +0000
+
+    Add a note about splitted view.
+
+commit ae7645d7323cc203e69f73e51976c8d8ea7f7017
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Wed Nov 12 17:48:16 2008 +0000
+
+    Add Connected zoom and Split menu items.
+
+commit f055d32815e382a5cac2117e46ecad2b866e942b
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Tue Nov 11 23:35:39 2008 +0000
+
+    Add missing s...
+
+commit 5078d7e58ebafa27aac3c50703e1c0fcb180d186
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Tue Nov 11 23:30:13 2008 +0000
+
+    Minor fixes.
+
+commit 0dabd8de27a7e8c7801dddc5d848246a001c97ac
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Tue Nov 11 21:50:42 2008 +0000
+
+    Give a new style to menus.
+
+commit ec48abb7939ef9919bbd905d147cfda9e884c457
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Tue Nov 11 21:49:33 2008 +0000
+
+    Fix missing parts.
+
+commit c1a85ebf0418f0b0b4fe9b175702ad86a5f5ed0b
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Tue Nov 11 21:17:55 2008 +0000
+
+    Update main window menus description to match current Geeqie.
+
+commit d6bc7dc5e3b0a140523fcfc9eac0566b569e26eb
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Tue Nov 11 21:17:03 2008 +0000
+
+    Drop dots.
+
+commit f9071c86d19c4fb8417c8838aa1b99176e65342c
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Tue Nov 11 10:32:03 2008 +0000
+
+    Update exif pane documentation a bit.
+
+commit aeca4f3163c33f41b5cc1d0f371fb43d4138ae73
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Tue Nov 11 10:24:04 2008 +0000
+
+    Add Properties Options page.
+
+commit 51a2344638f5f1c738f03d023f4f3139f23761d7
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Tue Nov 11 10:09:09 2008 +0000
+
+    Advanced options documentation is now almost in sync with current geeqie.
+
+commit eeae9191dcb131a7fa9a85876b4314869bffe007
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Tue Nov 11 09:12:10 2008 +0000
+
+    More updates to advanced options documentation. Not yet finished.
+
+commit 9f3cc9ef382cae5ef8c0b6cc050844a796321a15
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Mon Nov 10 23:36:12 2008 +0000
+
+    Page cleanup and fixed. Remove obsolete note.
+
+commit f13928fef829928a7a807a11a5e4d9603592597c
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Mon Nov 10 23:15:42 2008 +0000
+
+    Add missing link.
+
+commit 757b8ebc5495d81fb1fb1b531e2f5e682a0ad9c9
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Mon Nov 10 23:05:50 2008 +0000
+
+    Update documentation a bit: General, Image, Windows, Filtering, Editors and a part of Advanced (Image Overlay) options.
+
+commit b72d86d30095cef07dd61ab15b949c74ef7c0d1c
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Mon Nov 10 21:33:38 2008 +0000
+
+    Let subsection menus match index style.
+
+commit 3c766c9124437106f8c84886680b53b1a17ff6c3
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Mon Nov 10 21:14:34 2008 +0000
+
+    Cosmetic changes in image search and find duplicates shortcuts tables.
+
+commit c410dad0a2007582d3460f222d52f193e8718d12
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Mon Nov 10 20:42:44 2008 +0000
+
+    Tidy up.
+
+commit 25735fd6a8ef1890f8b57d8ba9262f256c0243a7
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Mon Nov 10 20:40:50 2008 +0000
+
+    Move from xhtml transitional to xhtml strict.
+
+commit 60ff2fb4b9a39322f5f685310e7f3a8aea316c76
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Mon Nov 10 20:16:45 2008 +0000
+
+    Minor cleanup.
+
+commit 9b5b933912d1badd83d0e5691fc03f63be9673fc
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Mon Nov 10 19:37:17 2008 +0000
+
+    Tidy up and minor fixes.
+
+commit e07b06778a28e3911cd830a44bc27333d017bd15
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Mon Nov 10 18:02:09 2008 +0000
+
+    Notes cleanup and minor stylistic fixes.
+
+commit 82cd089fb37bda5fc685b5cd43486e8ff26d2679
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Mon Nov 10 17:16:16 2008 +0000
+
+    Various fixes and cleanup.
+
+commit 2ec1474ac5685ed1bf48a7dc35033b502dd81af1
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Mon Nov 10 16:11:28 2008 +0000
+
+    Fix up some errors.
+
+commit 0a594f66306b196a0d9872de6fecc4b3cc9c3511
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Mon Nov 10 15:20:13 2008 +0000
+
+    Fix up unvalid xhtml.
+
+commit 12fe48da5151ce1ef688f03ba44cde89c9eca910
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Mon Nov 10 14:56:11 2008 +0000
+
+    Fix up a broken link.
+
+commit f7216dd164399e1d34e22e5210544e2db6a84746
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Mon Nov 10 14:10:39 2008 +0000
+
+    Beautify the manual.
+
+commit b8742eb7f9aaafdb91ede39c8e6ebdb86b4959c3
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Mon Nov 10 13:00:29 2008 +0000
+
+    Reformat more pages.
+
+commit 7c5c88540dd54a35510d1a92a2b1512efbcc6ac5
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Mon Nov 10 12:06:05 2008 +0000
+
+    Reformat remaining options pages.
+
+commit 2b02d7edc774a42f6b19cec9ba3da91416a73d65
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Mon Nov 10 10:26:51 2008 +0000
+
+    Reformatting: notes, advanced options page and more.
+
+commit 2f3f12a07cc0a9f8e7b6feb83824374df09711c0
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sun Nov 9 21:53:33 2008 +0000
+
+    Reformatting.
+
+commit 49c72a6ce8b97276a8895d4598ca460738aef7cc
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sun Nov 9 17:17:19 2008 +0000
+
+    Reformat and cleanup.
+
+commit 029e68efd2ef971a29888ed7e316b22d7e0637fd
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sun Nov 9 13:37:39 2008 +0000
+
+    More cleanup of tables.
+
+commit fcea33c191163edd21e0749e2ef9fae54d6aee95
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sun Nov 9 13:06:16 2008 +0000
+
+    Cleanup some tables.
+
+commit cd465d19d90ae48c5ba6353f9eacdd2c4232a7f5
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sun Nov 9 12:48:00 2008 +0000
+
+    Drop most old css classes.
+
+commit eb65646611a5675182a3207280eb609cead4bded
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sun Nov 9 09:39:14 2008 +0000
+
+    Move dialog descriptions to definitions lists, first step.
+
+commit d9afdf93b04b6031b118fbd5a8c128e53adc9534
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sun Nov 9 09:33:01 2008 +0000
+
+    Index cleanup.
+
+commit 4c65837d7b39fa0bc99179bcff5448f988750e99
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sun Nov 9 09:28:59 2008 +0000
+
+    Move menu descriptions to definitions lists.
+
+commit db25a0d2c859dbfa694dff305fd195de00f40f1a
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sat Nov 8 22:11:51 2008 +0000
+
+    Re-introduce Geeqie User Manual footer.
+
+commit 8d87ca532ad0db744b99bff3eb9322b889ca6cb1
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sat Nov 8 17:38:36 2008 +0000
+
+    Simplify bottom navigation table.
+
+commit 8b3ed1c3eb50c9455f89dfedc33b62e96b6fdcdc
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sat Nov 8 17:24:02 2008 +0000
+
+    Use col tags with id in top and bottom navigation tables.
+
+commit 0bfece3a257621edda3fefbb44ed64667bac828b
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sat Nov 8 11:37:17 2008 +0000
+
+    Add a generic spacer at the bottom of the page, remove now unused css classes.
+
+commit 357f067eddfbf2e74cf835d8952d43cc1f139ac7
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sat Nov 8 10:59:45 2008 +0000
+
+    Add two css classes navtop and navbottom and remove unused ones.
+
+commit 20f28b5685dd8cb5f6163e37786bf6806e46e02d
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sat Nov 8 10:49:18 2008 +0000
+
+    Add style.css to list of files to install.
+
+commit 2cff73427b00b0155b526b080dcd7ade516686cb
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sat Nov 8 10:47:31 2008 +0000
+
+    Move css styles to an external stylesheet.
+
+commit 450ff6891d977952fa624731f8da7b8d7994305f
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Thu Nov 6 23:49:31 2008 +0000
+
+    Remove reference to numbered section.
+
+commit 5837dbaac197166d0cb046f3119767b44a9b9fa2
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Thu Nov 6 23:43:46 2008 +0000
+
+    Remove references to numbered sections.
+
+commit d2b8b50ff787b13270e54bab25489d5cbb3ebacb
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Thu Nov 6 23:39:22 2008 +0000
+
+    Simplify the table.
+
+commit a5760993339ed221d1377724beb2485c28237945
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Thu Nov 6 20:01:32 2008 +0000
+
+    Previous patch (revision 1185) for the comments-related segfault was incomplete, and as such, it broke keywords in files whose metadata had keywords but no comments.
+    
+    This patch fixes that (and still fixes the case where one searches on
+    comments and hits a file with keywords but no comments).  Lastly, I would
+    imagine that there exists a failure mode where one searches for a keyword and
+    hits a file with a comment but no keyword, and I imagine this patch should fix
+    that case as well.
+    
+    Patch by Omari Stephens (aka xsdg).
+
+commit ebf81820c51edd5ab948021d75e79f9d933937fe
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Tue Nov 4 17:26:46 2008 +0000
+
+    Fix a segfault occuring when searching for comments in a directory where at least one photo doesn't have a comment. The fix modifies comment_read() function to return FALSE when a comment doesn't exist. Patch by Omari Stephens.
+
+commit 6a2475e57fdb9ee5e405acee23261b83f5c31230
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Tue Nov 4 17:11:53 2008 +0000
+
+    Do a gtk_init before the parsing of command line arguments to allow gtk specific options. (See http://library.gnome.org/devel/gtk/2.14/gtk-running.html). Patch by Klaus Ethgen.
+
+commit 54ae8be35d9e69aa570cba8baf9f2e60ef018ba8
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Mon Oct 27 13:31:39 2008 +0000
+
+    Do not install doc/Makefile*. Reported and fixed by Krzysztof Kotlenga.
+
+commit 7771d3caa664a6563b229ee2b322e0d0fd4e4036
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sun Oct 26 19:27:20 2008 +0000
+
+    Use h2/h3 tags where appropriate.
+
+commit 15759e0f4884b7b9ec62c0d388707244c7ca0b58
+Author: Petr Ostadal <postadal@suse.cz>
+Date:   Sun Oct 26 13:43:10 2008 +0000
+
+    Fixed doc/Makefile.am according to renamed doc files.
+
+commit eab8813037f2cedc25857bc889b55502b1666455
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sat Oct 25 14:42:52 2008 +0000
+
+    Keyboard table cleanup attempt. Need more work.
+
+commit fcae84ab900d0203d2339e22888956a9c7565fe8
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sat Oct 25 13:14:00 2008 +0000
+
+    Move menus to unordered lists - step 2.
+
+commit f5596799545b5e6c482ef267d892b674f544e7fc
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sat Oct 25 11:02:09 2008 +0000
+
+    Move menus to unordered lists - step 1.
+
+commit 1f80d96fb573f9597105e5bd3f8d4062d90632f7
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sat Oct 25 08:49:07 2008 +0000
+
+    Align Previous to the left, drop useless col tags.
+
+commit ad8d4b695280105b9d60e155bbebddc0437c22fe
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sat Oct 25 08:14:34 2008 +0000
+
+    Drop meta CREATED and CHANGED since they will never be updated and svn takes care of versions.
+
+commit fdde32bc5523fba5186ffa2e53fdf931df96aaeb
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sat Oct 25 08:10:11 2008 +0000
+
+    Fix page titles.
+
+commit fef02967c23d615d5ce61eb4718cb7e5ac369b51
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sat Oct 25 08:07:57 2008 +0000
+
+    Drop chapters numbers from h1 title, and reformat top title a bit.
+
+commit 0e44cb8c2afa66bc481ce2aff26e00995e9a8626
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sat Oct 25 07:47:47 2008 +0000
+
+    Get rid off of chapters numbers in html documentation filenames. It will ease re-ordering.
+
+commit 2ad4eda59805bb107467b55ebd9b4128c247324b
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Thu Oct 23 22:45:44 2008 +0000
+
+    Update legal notice and copyright to mention The Geeqie Team.
+
+commit 89ae704a2393f7a89d56b9fc9bd233004c046219
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Thu Oct 23 19:06:23 2008 +0000
+
+    With the help of tidy and sed, move html files to xhtml+css. Css classes were prefixed to ease future changes (like a common css file).
+
+commit d92d4a31ba855a0a9e282ea398fab5667896d445
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Thu Oct 23 18:06:28 2008 +0000
+
+    Change occurences of GQview and gqview to Geeqie and geeqie. Rename gqview_faq.html to faq.html
+
+commit f21cc1844a4d3cc73a9852aee48f7087a35b773b
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Wed Oct 22 19:56:29 2008 +0000
+
+    Let Create thumbnails start in current directory (fallback to home directory if not available) as requested by Marcin Zajaczkowski (feature request 2166691).
+
+commit e6eba8a87fe7c07c39dac82d07a298c65d31041a
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Mon Oct 20 21:00:18 2008 +0000
+
+    Fix a cut and paste error when implementing the comment search (Klaus
+    Ethgen)
+
+commit a06197472f69c64332a5e67e191e95654a8ed82d
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Mon Oct 20 17:13:32 2008 +0000
+
+    fixed failed assertion in exif_free
+
+commit 652c3a9fcca7b81091ac80e539df441a4cf6df22
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat Oct 18 20:17:55 2008 +0000
+
+    create xmp sidecar when needed
+
+commit fe16e7bfad961a8ebcc27b50a5dac4aef1b99396
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat Oct 18 19:20:27 2008 +0000
+
+    simple synchronization XMP <-> Exif, IPTC
+
+commit 003a4a917981dcc3d7004fe9896518ee86016198
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat Oct 18 18:22:57 2008 +0000
+
+    infrastructure for preprocessing of metadata
+
+commit 40e5b63b8b32a28f4ab9877d48ae5fe5fddd0acf
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat Oct 18 09:07:52 2008 +0000
+
+    fixed bar_exif separator
+
+commit 666154c6c7576bff4647b0a9dfff08665026cb42
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat Oct 18 08:40:32 2008 +0000
+
+    reordered advanced exif columns
+
+commit 2741df92d520da9047e0ca966e2f6fd095cb75c3
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat Oct 18 08:31:25 2008 +0000
+
+    no need to validate description, it is in utf8
+
+commit b8cfa7eea753ca24de28db8ee08c1a3c0fae32ad
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Fri Oct 17 22:00:07 2008 +0000
+
+    improved custom exif look:
+    - use toggle instead of remove button
+    - display description instead of property key
+
+commit 0109fd0fea063d111a314fee97da5fc3adf13cdc
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Tue Oct 14 21:24:34 2008 +0000
+
+    follow Exiv2 SVN changes
+
+commit 100552d7587b35759b1492a3ba51df58565b96f5
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sun Oct 12 08:49:45 2008 +0000
+
+    French translation was updated.
+
+commit 2ed614f0a404a3f6311976ea15eb7839baaf51f5
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sun Oct 12 08:43:14 2008 +0000
+
+    Add a button for each advanced entry in Properties Exif Panel that allow to remove it from display. It fixes bug 1962611.
+
+commit 801d2c19571cfc858f1348a05d17f22fb39d1679
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sun Oct 12 08:36:53 2008 +0000
+
+    Better handling of accels map file writing errors.
+    Secure save is also used for those now, at the expense of
+    a bit of duplication of gtk functions.
+    It should fix bug 2146917 (debian BTS #501131), reported by
+    Stanislav Maslovski.
+
+commit d198cfafce20a7866d0a3dd80b1592ca59f5dcbc
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat Oct 11 20:19:48 2008 +0000
+
+    added option to use exif thumbnails
+    - it requires exiv2 0.18 or the current svn
+    - it is disabled by default because the exif thumbnails
+      may be outdated if the image was edited
+
+commit dfb0fdc2f0b5cbc0207e360a3bcce9f6bd0b5c75
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Tue Oct 7 19:34:11 2008 +0000
+
+    French translation was updated.
+
+commit bce60ede0854a7a65ad009bd51b16549ba58bc1e
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Tue Oct 7 19:29:13 2008 +0000
+
+    Fix up few signed vs unsigned warnings: exif_item_get_rational() last parameter is now of guint type.
+
+commit eee2c88df65f6cc0112be1098cdcf79f0560e947
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Tue Oct 7 18:37:32 2008 +0000
+
+    Implement the search for image comment - patch by Klaus Ethgen
+
+commit d8c1c93fea463eb0a309de7509676624774c0ad3
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Tue Oct 7 18:22:58 2008 +0000
+
+    Fixed degree symbol encoding
+
+commit 0cd8f42464c6e1e152f1bb9e79b1144f4529b4d1
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Tue Oct 7 18:20:22 2008 +0000
+
+    Adding a vim modeline to all files - patch by Klaus Ethgen
+
+commit be6e4ea715f504545a7d0edc5767b0b82f71477f
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sun Oct 5 18:25:44 2008 +0000
+
+    fixed confirm_delete option
+
+commit 69282a3890ec9264e5471249ad51c8fdb0ed7418
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat Oct 4 20:28:31 2008 +0000
+
+    fixed charset of exiv2 strings in non-utf8 locales
+
+commit 7c50f768d91be9ff48b5cb64de603df00393c52f
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Wed Oct 1 20:57:56 2008 +0000
+
+    Add support for GPSInfo - patch by Klaus Ethgen
+
+commit 599380cc2099521bbf7c879666140943e1c684b6
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Mon Sep 29 21:17:19 2008 +0000
+
+    The comment section in the meta file is the last section. However it do
+    not accept comment lines starting with a '['. This patch will fix that.
+    - patch by Klaus Ethgen
+
+commit 1d1f495c4b3881f540059444ff5aa20eb9bda175
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Mon Sep 29 21:09:48 2008 +0000
+
+    fixes executable right of images
+
+commit 9ab09626f588694ad7ada2e522b74e205fd96795
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Mon Sep 29 21:01:30 2008 +0000
+
+    enlarge the dupe window - patch by Klaus Ethgen
+
+commit cf8398c63f204d0dcf375577446c732c66122f6b
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat Sep 27 18:48:32 2008 +0000
+
+    updated preview loader to work with current svn version of libexiv2
+
+commit d4bc6c7e66a32bb0cc5a3e889ce8bef9b1374908
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Wed Sep 10 20:37:30 2008 +0000
+
+    use SHIFT for connected scroll and zoom
+    
+    SHIFT + keys or mouse: affects all split windows
+    keys or mouse: affects only active window
+    
+    CONTROL + mouse: moves fast (originally it was SHIFT + mouse)
+
+commit f7a5afb6959672b77b973544b217867329a30c5f
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Tue Sep 9 19:46:44 2008 +0000
+
+    reverted buggy part of rev. 1138 - it made the filelist jump
+    unexpectedly
+
+commit a7c9810b152dd9bb01d18e7d048f405d8f11f0ac
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Mon Sep 8 19:57:51 2008 +0000
+
+    added possibility to redraw only the parts of image that are already
+    loaded
+
+commit 383624b87b5f9ea402e0fe4479b955f591025f73
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Mon Sep 8 15:53:01 2008 +0000
+
+    Fix a compiler warning regarding argument type.
+
+commit a53fb65f7e552f4a07760fd72dfd0a6caa5753ff
+Author: Petr Ostadal <postadal@suse.cz>
+Date:   Sun Sep 7 23:01:30 2008 +0000
+
+    Replaced gtk depreceated code.
+
+commit a5aea8fd342ca8d4834464428cab25d373925409
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sun Sep 7 19:42:19 2008 +0000
+
+    Shorten config_window_apply() a bit, reduce code redunancy.
+
+commit 587b4b8d1136e5f043da5566c996cd7a6e288387
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Thu Sep 4 22:35:33 2008 +0000
+
+    Update translations stats.
+
+commit aff258e59eca1aa6a8bd8e5401fccbfceaf4954f
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Thu Sep 4 22:29:32 2008 +0000
+
+    French translation was updated.
+
+commit 9b64bd058039a1d7d926670d90bffadeb0db3bb4
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Thu Sep 4 22:04:32 2008 +0000
+
+    Allow all Preferences pages to scroll vertically. Reduce code redundancy.
+
+commit aa81bf7cdffe666d7e5b7098c564d50e46401312
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Thu Sep 4 21:38:28 2008 +0000
+
+    Allow to change image.scroll_reset_method in Preferences > Image.
+
+commit baedcd2f82ac6f4b819d9919e280a54c7edaa6b7
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Thu Sep 4 21:19:09 2008 +0000
+
+    fixed various problems with preserving viewport on image change,
+    options->image.scroll_reset_method should work again (it needs to be
+    added to the preferences dialog)
+
+commit 9050223df5347b7d2f1ed1d23669e05f19405f77
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Wed Sep 3 21:54:49 2008 +0000
+
+    load thumbnails with lower priority
+    TODO: maybe implement an exception for visible thumbnails
+
+commit e1a5a486095b6987c45f9612c97816a6b01f1de1
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Wed Sep 3 21:13:02 2008 +0000
+
+    Improve debug messages.
+
+commit 6f89fefc8a298f05304f3f7cab37fc76df97c2b8
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Wed Sep 3 20:43:10 2008 +0000
+
+    adjusted default options
+
+commit c518bcef3c44e37ec7cdc935961607db5113f8b5
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Wed Sep 3 20:29:32 2008 +0000
+
+    adjusted redraw priority relative to icon drawing
+
+commit 48519673cc4fea79e657453ed4785457a8e59ea2
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Wed Sep 3 19:58:21 2008 +0000
+
+    dropped IMAGE_THROTTLE_LARGER_IMAGES code
+
+commit 47a0c37d34499a1f71085093447789949350e063
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Wed Sep 3 19:52:11 2008 +0000
+
+    fixed handling of broken images
+
+commit 64aea117f708ea87c87ce2706d4c6b1bafa21541
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Mon Sep 1 19:18:32 2008 +0000
+
+    improved pixbuf draw priority control
+
+commit c6db02fc9beb44c3f4921cb362c397ff0a54ba26
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Mon Sep 1 17:29:07 2008 +0000
+
+    Use a constant for minimal window size. Set it to 32 for all dialogs.
+
+commit bf183b8e89e1244c13f8812bd51a134dd82e66d0
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Mon Sep 1 17:22:19 2008 +0000
+
+    Remove redundant debug.h inclusion.
+
+commit 14596dddc9e279d6444b473378668618b0200842
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sun Aug 31 21:19:00 2008 +0000
+
+    fixed read ahead callback
+
+commit 0aef642959d09a0a417e3a1bd9838290673da331
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sun Aug 31 21:02:09 2008 +0000
+
+    fixed error handling in image loader
+
+commit b10a2e1226a762c6f5e5a76255469c9a58312937
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sun Aug 31 18:53:11 2008 +0000
+
+    fixed possible endless loop
+
+commit 131dc85e54bb154ece413c99e10d0bb07aced996
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sun Aug 31 12:29:49 2008 +0000
+
+    Add a Save button to Preferences dialog, which allow to save options to file without quitting the application.
+
+commit 7725546b83707d675c466dd1b9eb96380ad2f067
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sun Aug 31 11:27:24 2008 +0000
+
+    Move quoted_value() and escquote_value() to misc.[ch].
+
+commit ea455387a49dc8457b2489fefdd8f7cd5a178e0b
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sun Aug 31 10:51:41 2008 +0000
+
+    Move miscellaneous functions to their own files (new misc.[ch]).
+
+commit 2b9bf5f494fa20b8531a3bbbe6140c15985ec13a
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sun Aug 31 10:08:48 2008 +0000
+
+    use GThreadPool
+
+commit 5cf88e588d2c061c470aa524d4a89561b5182c1b
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sun Aug 31 09:20:29 2008 +0000
+
+    improved thread support in image loader
+
+commit 9212340ececba2346d599fa8ffaa6f7ddafcc558
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sun Aug 31 09:13:42 2008 +0000
+
+    Move save/load_options() to options.[ch].
+
+commit 77bc802fa727e39b259cef5431bb897618f888d3
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sun Aug 31 08:59:39 2008 +0000
+
+    Move sync_options_with_current_state() call to save_options().
+
+commit 0db9254e25cad32d5e954f04696e6e5fe74554e3
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sun Aug 31 08:41:42 2008 +0000
+
+    Move some code to new functions, to simplify main().
+
+commit f01ec2c48c555c486ad40ced8341c57dcc4d5e2d
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sun Aug 31 08:13:36 2008 +0000
+
+    Fix two minor compilation warnings.
+
+commit a710f33e4b885e22e3744beb9af9b9285d73640c
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat Aug 30 20:15:47 2008 +0000
+
+    run image loader in separate thread
+    this feature is disabled by default for now, it must be enabled by
+    configure --enable-threads
+
+commit 6a73bcf507697b77cebc69761bb2db8801210641
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat Aug 30 13:04:06 2008 +0000
+
+    prepared image loader code for threads
+
+commit 01bbfff007b6e540e22a1966971a9d00a41a66ad
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sat Aug 30 10:39:35 2008 +0000
+
+    Allow to override documentation paths through options:
+    - documentation.helpdir
+    - documentation.htmldir
+    Default values are set at configure time.
+
+commit ba17ee7539c814d49d3b57158fc91000a4fae2e1
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Fri Aug 29 20:53:53 2008 +0000
+
+    converted image loader to a GObject and use signals for notification
+
+commit 6f13139c2ac0a4e11e21e041ca4f5c4f1327dfac
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Fri Aug 29 12:35:13 2008 +0000
+
+    do not access image_loader directly
+
+commit dc649dfbb31df6e75c7283405ba99084ea328206
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Fri Aug 29 09:59:20 2008 +0000
+
+    added new raw preview interface for legacy exif
+
+commit 6654b671684992272856344aa34b59301c35e023
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Fri Aug 29 09:38:10 2008 +0000
+
+    fixed thumbnail loader for the new raw preview interface
+
+commit bea9cd293c96a86d196b6fa2af689e41fbfa65a2
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Thu Aug 28 22:26:09 2008 +0000
+
+    use mmaped files image loader
+    implemented new interface for extracting raw previews
+    experiments with previews support in SVN version of Exiv2
+
+commit 7fa8df7737575cc63b627b4337131122faffe496
+Author: Petr Ostadal <postadal@suse.cz>
+Date:   Thu Aug 28 12:51:02 2008 +0000
+
+    Removed converting fd->name to utf8 from file_data_set_collate_keys(), because fd->name is utf8.
+
+commit 4908ddd714be7cab8e1cf290fec62d7288692856
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Thu Aug 28 10:50:02 2008 +0000
+
+    Silent warnings about unused functions when lcms is not used.
+
+commit 35776f2dee4439e5ece5ec4746acaffa36fee793
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Wed Aug 27 17:02:14 2008 +0000
+
+    Comment out unused functions.
+
+commit dd4ea407ecdeea13e0117b242aa4ceac71239b9d
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Wed Aug 27 16:42:59 2008 +0000
+
+    Silent a compiler warning.
+
+commit 109ecd8c2e8beda448113dcaf36527b889b5f8ab
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Wed Aug 27 16:40:21 2008 +0000
+
+    const gpointer -> gconstpointer.
+
+commit 3ec7e5728fa2a17086d3b3144b46318e7a1f761d
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Tue Aug 26 22:37:18 2008 +0000
+
+    Use gpointer instead of void *.
+
+commit cd85461e278e79a4894b5bc400273d3f6719416d
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Tue Aug 26 22:30:40 2008 +0000
+
+    Consistency: type * instead of type*.
+
+commit c1006fb758679c5349ac658fe74562ebd88ddf8c
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Tue Aug 26 22:22:51 2008 +0000
+
+    For the sake of consistency, use glib basic types everywhere.
+
+commit aea00af29f6f572581b8bcc6e856e17b4676d381
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Tue Aug 26 21:19:33 2008 +0000
+
+    Indentation fixes.
+
+commit 4073149801dc3484ae0c231c56cb814a8a20024b
+Author: Petr Ostadal <postadal@suse.cz>
+Date:   Tue Aug 26 20:21:30 2008 +0000
+
+    Fixed segfault when is run inside directory with non valid uft-8 image
+    filename.
+
+commit ead8d30aaa1f5e02f703d7ca97c6eaed6df61234
+Author: Petr Ostadal <postadal@suse.cz>
+Date:   Tue Aug 26 13:56:56 2008 +0000
+
+    Fixed calling "Image search" function in a directory without image.
+
+commit aa4d496a3c5caddb81fb114bebcf583784098e4e
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Mon Aug 25 22:45:38 2008 +0000
+
+    correctly maintain selection during iconlist refresh
+
+commit f39b5907f8825173f29be37f76c94d2c8b547188
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Mon Aug 25 22:20:45 2008 +0000
+
+    Whitespaces cleanup.
+
+commit d04050839306a01814536f12e5480288dab52e0e
+Author: Petr Ostadal <postadal@suse.cz>
+Date:   Mon Aug 25 18:13:33 2008 +0000
+
+    Fixed segfaulting when alter image in directory without images.
+
+commit c85a911368d6535d8553e6c81654accfbc486ae6
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Mon Aug 25 16:58:27 2008 +0000
+
+    removed unused code
+
+commit 6b22ce5fd0f6a5b14ae6b761f1982e545385ec22
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sun Aug 24 14:40:18 2008 +0000
+
+    Typo fixes.
+
+commit f20dd48a59ee12d0f21a79f745d1a331f921cf17
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sun Aug 24 14:33:03 2008 +0000
+
+    Slight code redundancy reduction.
+
+commit 1e7b2c34c6d1229c7d95319c909fb550e64e5acf
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sun Aug 24 14:14:37 2008 +0000
+
+    Drop redundant variable affectation.
+
+commit 7d788c98fbd2c656f2b5354e95bc8c1d5fa1093b
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sun Aug 24 13:22:08 2008 +0000
+
+    Fix untranslated messages. French translation and POTFILES.in were updated.
+
+commit 9a1cc0021d442af191023c485a2dbcc69c218be2
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sun Aug 24 10:00:40 2008 +0000
+
+    French translation was updated.
+
+commit eca846433372d875c2bbaaf5160a9142ef86c203
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sun Aug 24 10:00:02 2008 +0000
+
+    Mark forgotten string for translation.
+
+commit 46691080d3ca954f0cf45bb2bfad5f11701230f5
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sat Aug 23 21:07:25 2008 +0000
+
+    Fix another missing separator bug in image overlay. This one was occuring with default string when no ISO data was available from exif.
+
+commit acc2c3b1b830e67f94c5648acee3706d7637a2df
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sat Aug 23 20:46:31 2008 +0000
+
+    Minor optimization: no need to copy the whole remaining of the string, just copy next char.
+
+commit b5bc1451f70cb5e9b92bf65789206cfd9c478cad
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sat Aug 23 17:35:57 2008 +0000
+
+    Only display status if there is at least one file in the file list.
+
+commit 060c2f9cf332a93e40c273e580133be05a984bf9
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sat Aug 23 17:00:59 2008 +0000
+
+    Remove unneeded type casting.
+
+commit 50483da19c8039bb06121572573d0880df979c2c
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat Aug 23 08:42:12 2008 +0000
+
+    fixed vd_refresh
+
+commit bec02e283784eac07cda9f03ba0b255946944702
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Fri Aug 22 22:09:54 2008 +0000
+
+    French translation was updated.
+
+commit eb72228e196dd942f5ebf11d6ffdbdc298046d27
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Fri Aug 22 21:52:13 2008 +0000
+
+    Add an option named layout.home_path which modifies the behavior of the Home button.
+    By default, pressing this button goes to the user's home directory.
+    When this option is set to a path, this path is used instead.
+    One can change the option value through Preferences > Advanced > Navigation
+    or directly in .geeqierc.
+    Feature proposed by Colin Clark.
+
+commit d58451c5831ce52023c007574c0d118f27096d72
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Thu Aug 21 22:49:30 2008 +0000
+
+    Typo fix: vf -> vd
+
+commit 83cfd4393002fb06fc0a1b480f1221319f192ce8
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Thu Aug 21 22:47:49 2008 +0000
+
+    Replace macros VDLIST_INFO() and VDTREE_INFO() by shorter VDLIST() and VDTREE(). VDLIST_INFO(vd, part) becomes VDLIST(vd)->part.
+
+commit 43c576558ba327e4aa71b35471e0863d159c44d1
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Thu Aug 21 22:36:20 2008 +0000
+
+    Indentation fix.
+
+commit de499c4c05275f24081780bc77b06519d7d9d12e
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Wed Aug 20 22:26:34 2008 +0000
+
+    Use constants instead of enum since value (0xffff0000) overflow INT_MAX on some platforms (seen on Solaris 10 SPARC system using the native Sun version 5.9 compilers). Reported by Jeffery Small.
+
+commit 66bc3de86cf6c443c6e2399fb5df9d515898014d
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Wed Aug 20 22:19:35 2008 +0000
+
+    Do not return values of void functions. Reported by Jeffery Small.
+
+commit da981595f5f724233a7b54661e25e424a9134474
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Wed Aug 20 20:36:36 2008 +0000
+
+    update the FileData structure when a new folder is created
+
+commit b65f4f5667141545c1c2bccdca0ce93e92b26abe
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Tue Aug 19 22:58:31 2008 +0000
+
+    improved refresh in view_dir_list
+
+commit e8b3ce85469bc2ff88cdbf5abc38b22fa6c5f7cf
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Tue Aug 19 21:01:29 2008 +0000
+
+    set fallback pixbuf in case of missing file
+
+commit fe2d42004e25e8a5303ab7155731f7188062d1ca
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Tue Aug 19 20:58:23 2008 +0000
+
+    fixed possible segfault
+
+commit e1a9ff9eaba12db2969dc68da34956d3c97f9098
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sun Aug 17 14:18:51 2008 +0000
+
+    removed code for maintaining filelist position, gtk_tree_view itself handles it
+    better
+
+commit 951b62566ba5616b63efe574ee956ac2c4fc5a3d
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sun Aug 17 09:36:02 2008 +0000
+
+    French translation was updated.
+
+commit 3e3a0a459781d1008725274bde950589465acf6d
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sun Aug 17 09:30:45 2008 +0000
+
+    Simplify things related to ViewFileInfoList * and ViewFileInfoIcon * type casting:
+    - drop VFICON_INFO() and VFLIST_INFO() macros
+    - rename VFLIST_INFO_POINTER() and VFICON_INFO_POINTER() to shorter VFLIST() and VFICON().
+    - replace all related occurrences by shorter expressions.
+    
+    For example:
+    VFICON_INFO(vf, columns) becomes VFICON(vf)->columns
+    VFLIST_INFO(vf, click_fd) becomes VFLIST(vf)->click_fd
+
+commit 728c032c4cf6b098b968851a75f6bbe5488040b3
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sun Aug 17 09:00:33 2008 +0000
+
+    Move variable declaration at start of block.
+
+commit cb3202692eb4bcd65f45699b44ded4ac64cc9ad0
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat Aug 16 23:37:26 2008 +0000
+
+    marks in iconview made clickable
+
+commit dbf66300f4c6978d22a0a618778be09ad2fd1ed1
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat Aug 16 20:57:40 2008 +0000
+
+    keep files with non-zero marks in memory
+
+commit df8df1eea01d8c71e3b719cfd2a00c920f0e15fb
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat Aug 16 20:34:14 2008 +0000
+
+    implemented marks filter
+
+commit f0606958123d00b30a9ed649813229d951012dc3
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sat Aug 16 07:18:16 2008 +0000
+
+    Fix double escaping of image overlay text.
+    Bug 2051955, reported by Emmanuel Dupuis.
+
+commit 8fc4646c4c8a48c5793743b76233bc8c78c49093
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Wed Aug 13 21:07:06 2008 +0000
+
+    added keyboard map generator
+
+commit 178dee898565791d42e39aad71049b79eebb2758
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Wed Aug 13 20:46:06 2008 +0000
+
+    a workaround for http://bugzilla.gnome.org/show_bug.cgi?id=547669
+
+commit 86166813f7b90e81cf1c493be7f0ca5c86bec550
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Tue Aug 12 20:21:25 2008 +0000
+
+    fixed crash with float file list and geeqie --blank
+
+commit 5e7e6ce8ff5a7de451480e1c3892ac5ad3ba2b3f
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Mon Aug 11 18:53:19 2008 +0000
+
+    fixed crash in geeqie --blank
+
+commit 2316a8ab4f877611dd31e4bfeff4ce048d279af6
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Mon Aug 11 17:45:26 2008 +0000
+
+    fixed setting visible entry in view_dir_tree
+
+commit d3f019fc2e0bd00cc403b5860749c365964a8306
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Wed Jul 30 18:44:49 2008 +0000
+
+    updated ChangeLog from svn log
+
+commit 28642010130af8533f50a3c5fb88187a9f845803
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Mon Jul 28 18:35:19 2008 +0000
+
+    Move declarations at the beginning of blocks.
+
+commit bb6bd4711d2a4884fdc19a7f8916170520efc924
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Mon Jul 28 18:07:42 2008 +0000
+
+    Optimize tests even more using last changes.
+
+commit a4d5b30df4f5f2bff3d35237d31c6ab1701e1c52
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Mon Jul 28 18:02:10 2008 +0000
+
+    do not free unallocated exif data
+
+commit 6eac9ecc53b989bf432e066aada6ecb1d81609ab
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Mon Jul 28 17:59:09 2008 +0000
+
+    Cache strcmp() result.
+
+commit 660c688332d92dcb8f4ad521d777c6f0cf1472f3
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Mon Jul 28 17:56:56 2008 +0000
+
+    Optimize redundant tests.
+
+commit 299bab0e7d1fcdabd41279f7b8916396862c00d2
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Mon Jul 28 17:55:06 2008 +0000
+
+    Move dest_dir variable to inner block.
+
+commit 9899b80f490d32f5e40e0f02236c8cdedddb0d88
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Mon Jul 28 09:44:50 2008 +0000
+
+    Reduce code redundancy and minor typo fixes.
+
+commit 760c313e51c7e9bff61fad1c9c5ea8c70a35fc88
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Mon Jul 28 09:14:10 2008 +0000
+
+    French translation was updated.
+
+commit f4a4b21d34e24261b19d3adb920085856345f850
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Mon Jul 28 09:12:33 2008 +0000
+
+    Typo fix.
+
+commit 22f458af63bb1cc6490d1c47d8f8a76ac8161650
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sun Jul 27 19:22:40 2008 +0000
+
+    abort file operations when the file list is empty
+
+commit 473d1760b5fe683a04b531e6d54de13cf093b12c
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sun Jul 27 18:20:59 2008 +0000
+
+    remember path entered in file dialog
+    http://sourceforge.net/tracker/index.php?func=detail&aid=2028977&group_id=222125&atid=1054680
+
+commit 49ed0b4fb2dd49d2ec0485707c50dec61f242ef3
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sun Jul 27 13:46:24 2008 +0000
+
+    speed-up of directory notification on deleting large number of files
+
+commit a4311dd534152241fca227385319ef249fc98ab7
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sun Jul 27 09:51:28 2008 +0000
+
+    added "Symlink" as an example of "filter" command
+
+commit b1d0747ca385ba0b6366b6ab1eb88858400c7ba7
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sun Jul 27 08:57:12 2008 +0000
+
+    improved updating of view_dir_tree
+
+commit db21a0fc8760058841b38b2fc8bc4970099cd8f7
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sun Jul 27 08:40:47 2008 +0000
+
+    fixed deleting of non-empty folder
+
+commit fadf71ace27daec42c57292eca569da9afddf890
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat Jul 26 22:36:58 2008 +0000
+
+    fixed spec file
+
+commit 453565d11e275816de5e7eec28b3a558a34b77bb
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat Jul 26 22:26:08 2008 +0000
+
+    fixed invalid warning on running editors
+
+commit 71e1b5a7dbf543c6f87751a387ede8e84d365d4b
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat Jul 26 20:34:24 2008 +0000
+
+    updated version string
+
+commit fdd9338faf0ee30d483b9d1c30885241c340449c
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat Jul 26 20:15:00 2008 +0000
+
+    dropped references to OpenOffice.org as suggested at
+    https://sourceforge.net/tracker/index.php?func=detail&aid=1972534&group_id=222125&atid=1054680
+
+commit da4c68a9e11dd9d457e6eca2c9b552cde5a9a660
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat Jul 26 20:02:20 2008 +0000
+
+    string cleanup
+
+commit 8e4dcbe60ca1974787466e0bb93d10d34ed80afb
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat Jul 26 19:52:40 2008 +0000
+
+    removed unused messages.desc_dlist
+
+commit b2334b66c903a66cdd5a1b984d6b4b40a885c02d
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat Jul 26 19:41:46 2008 +0000
+
+    fixed new folder command
+
+commit b90ac509d431b791b45d2e365e039aabcc497f22
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat Jul 26 19:33:36 2008 +0000
+
+    fixed renaming of directories
+
+commit f7c504c8ada6dae3a66c55ee221d508d6ff5fe36
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat Jul 26 19:01:20 2008 +0000
+
+    warn about changed file extensions
+
+commit 4d670783f8436b85a3816245d9126f09f6f9a573
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat Jul 26 18:33:49 2008 +0000
+
+    added icon for changes without warnings
+
+commit 12bc9f40c65d59e9f3b547b6e3e8649a70809498
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat Jul 26 18:17:56 2008 +0000
+
+    allow only existing folders in destination dialog
+    http://sourceforge.net/tracker/index.php?func=detail&aid=2011243&group_id=222125&atid=1054680
+
+commit 0ec960565c5febd5c59d49eb820c2a98043d4ece
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat Jul 26 10:27:41 2008 +0000
+
+    clean up - checks are handled elsewhere
+
+commit dfab6c695e56757791d68763444c5ef65c338797
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat Jul 26 09:58:25 2008 +0000
+
+    more checks for file operations
+
+commit e3b713522adbaea2fc0f9be3c8e11ed7acc66239
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Fri Jul 25 22:04:55 2008 +0000
+
+    improved error reporting
+
+commit 3d6b2cc44f9b7dd36102f3626c115027094a2591
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Fri Jul 25 06:35:35 2008 +0000
+
+    Minor tidy up and optimization.
+
+commit c658a3d30ac0f2b77788f08d30e5088b2e93845e
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Thu Jul 24 20:24:04 2008 +0000
+
+    Set GIO channels to binary encoding.
+    This is needed since messages from commands may not be UTF8-encoded
+    and g_io_channel_read_chars() may incorrectly interpret some characters.
+    In practice it was truncating some ISO-8859-1 messages containing some
+    french characters. This fixes it.
+
+commit 227a6784ab87c0ba1ddde38334b1897813f0612d
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Thu Jul 24 20:03:57 2008 +0000
+
+    separated debugging log and debug CFLAGS
+    enable debugging log support by default
+
+commit bb9823e32e5f9993d1ed9384a6d295108fd6f5bd
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Wed Jul 23 22:19:16 2008 +0000
+
+    indicate check warnings and errors in delete and rename dialogs
+
+commit 1b80edd5e0264c412231b3c9457226830dc33955
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Wed Jul 23 20:53:05 2008 +0000
+
+    removed file_data_add_change_info
+    reduced code redundancy - patch by Laurent, slightly modified
+
+commit da4ec2a7e37133b2547bb17849c06ce99340c905
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Wed Jul 23 17:38:04 2008 +0000
+
+    Minor tidy up.
+
+commit bd26225bab7fddc99464ba9f7e0a394d15769496
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Wed Jul 23 12:46:35 2008 +0000
+
+    Tidy up.
+
+commit a01c5f4c0819876620c7cabbf7bf3d8ecfd605e3
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Wed Jul 23 12:45:59 2008 +0000
+
+    Use g_strconcat() instead of g_strdup_printf("%s%s", ...).
+
+commit b0a7f6e3aa5647d7736140b431bd0b3d83afec9c
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Wed Jul 23 10:21:37 2008 +0000
+
+    Simplify parse_out_relatives().
+
+commit 9810215a7e23167a29088e86191ceee820e4f715
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Wed Jul 23 09:10:41 2008 +0000
+
+    Tidy up.
+
+commit f46043bfae09b7903aa412302d02756449ebc28b
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Wed Jul 23 09:00:38 2008 +0000
+
+    Fix missing newline at end of file.
+
+commit 90970bd92397908270e53c9178c67a804863eee0
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Wed Jul 23 08:59:29 2008 +0000
+
+    Fix warning: passing argument 1 of 'gtk_tree_store_set' from incompatible pointer type
+
+commit d576f7bbcabdba02d4e295f1e6140634500c3920
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Tue Jul 22 22:05:20 2008 +0000
+
+    do not create duplicate FileData entries
+
+commit 96293a9f07bf5057924635d9a23e4058a2807bb1
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Tue Jul 22 21:46:08 2008 +0000
+
+    basic infrastructure for early error and dangerous operations checking
+    it needs more work
+
+commit 3a442a31ebc195299be3d7bc289754b09370a5b4
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Tue Jul 22 18:27:12 2008 +0000
+
+    clean up fd->change on error
+
+commit c8d7bc43bfb2e8355dc6871dd5df87f38a34bcfd
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Tue Jul 22 18:13:41 2008 +0000
+
+    remove items from file_data_planned_change_hash when the operation is
+    canceled
+
+commit 3a0d2bb75e53a03a19e88a979403acd9455ade1f
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Tue Jul 22 17:57:22 2008 +0000
+
+    fixed stop button in editor dialog
+
+commit 9f2b4b649b703a20350e1962684fe4422d4d39a8
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Tue Jul 22 17:40:24 2008 +0000
+
+    delete file_data_planned_change_hash when it is not used
+
+commit ff4704f404d5097698f17139c07f37bd76da3124
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Mon Jul 21 21:38:26 2008 +0000
+
+    fixed
+    http://sourceforge.net/tracker/index.php?func=detail&aid=2019012&group_id=222125&atid=1054680
+
+commit 84e21974c1752c800a9be9332429747355340d94
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Mon Jul 21 20:50:24 2008 +0000
+
+    file_util_rename_dir should not return anything
+
+commit 89736895aec4a438f30211d49b23391c22282669
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Mon Jul 21 20:40:29 2008 +0000
+
+    added notification handler to view_dir
+
+commit c8f289fb70c4d46a985c701f2b8f8f8874cf7e30
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Mon Jul 21 08:31:43 2008 +0000
+
+    French translation was updated.
+
+commit 46a1dea4cc0119a888dd652a13b0dd444ca71e32
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sun Jul 20 15:21:06 2008 +0000
+
+    Update POTFILES.in.
+
+commit ddb8f1b1b4360a2a1fb5ac5902697a84c0339cec
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sun Jul 20 15:16:05 2008 +0000
+
+    Move uri_*() functions to separate files: uri_utils.[ch]
+
+commit 101520eae1a9f6a1efd7e0a659fa7342ec94f2ac
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sun Jul 20 15:04:40 2008 +0000
+
+    periodic testing of changed files can be now disabled
+
+commit b8ea5645e91e203e09389311c412a0873e0343fc
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sun Jul 20 14:56:32 2008 +0000
+
+    Move history_list_*() functions to separate files:
+    history_list.c and history_list.h.
+
+commit c4685e9702624774fb70b01eb130f26f74ccc267
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sun Jul 20 14:52:00 2008 +0000
+
+    implemented "create directory" command
+
+commit ae2ab4e282fe7851e502acb9f699814d38204176
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sun Jul 20 13:59:55 2008 +0000
+
+    fixed file copy/move dialog
+
+commit a3c139eafad2246f8bde6cef391def6ab4670127
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sun Jul 20 13:19:22 2008 +0000
+
+    fixed the case when a renamed file is detected by directory scanning
+    before the external rename commands exits. We have to update the
+    FileData structure immediately, othervise we would get duplicate
+    entries.
+
+commit 8e0c8b700fad60a5de29b60144140f805668fcd3
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sun Jul 20 12:20:12 2008 +0000
+
+    Optimize history_list_add_to_key() a bit.
+
+commit 303bc18d4a21e0097d6eb6a9e266127294a26ebe
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sun Jul 20 11:29:12 2008 +0000
+
+    fixed previous checkin
+
+commit c6fd35649fa8e25e651dd202e03a211442d57f59
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sun Jul 20 11:22:19 2008 +0000
+
+    implemented directory rename and delete operations
+
+commit 9684fd6b6fcab39a5aa29c33da2ab3f60137665e
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sun Jul 20 07:52:16 2008 +0000
+
+    Move out test outside the loop.
+
+commit 120db8041b40ffc83cb90d0b82084862707ec190
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sat Jul 19 13:57:03 2008 +0000
+
+    Tidy up.
+
+commit 2e9c246e6145e7fb7fac6990524b718bc6826396
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sat Jul 19 12:36:46 2008 +0000
+
+    Fix missing newline at end of file.
+
+commit 3054110d18c6717f764cab2baf31f929ebdcaa66
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat Jul 19 09:06:24 2008 +0000
+
+    increase reference count before sending notification in file_data_new
+
+commit a7213169bf5d2afbc94ef083fcb1aae6711746ee
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Fri Jul 18 21:20:49 2008 +0000
+
+    fixed test for changed files in cache
+
+commit c4de295c0a3115d91e45602f4f9ed5a69d5d7e0e
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Fri Jul 18 09:55:15 2008 +0000
+
+    Introduce image_loader_set_done_func().
+
+commit e1ea2ccd4d041e0ef457d6b94e4325340ca8d874
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Thu Jul 17 22:36:58 2008 +0000
+
+    Reduce code redundancy by moving common code to new menu_choice_get_match_type().
+
+commit 6da5f506c0c4f58e352af4886120efa9765431e9
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Thu Jul 17 21:51:21 2008 +0000
+
+    reload changed images
+
+commit 01e819ff19279f8291ccbbac04f7cb843109c59d
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Tue Jul 15 15:37:14 2008 +0000
+
+    Move code from image_osd_update_cb() to separate functions.
+
+commit 56907bd2e2deb8a01b2b0ca2c005ff4df0b81ef9
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Tue Jul 15 14:32:00 2008 +0000
+
+    Tidy up and code redundancy reduction.
+
+commit 46f96c81c85a3e03e6756c718e3758db8c520208
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Tue Jul 15 12:52:02 2008 +0000
+
+    Use a specific enum for image.zoom_mode values (ZoomMode) and
+    simplify calls to image_zoom_get_default(), dropping last parameter
+    which was always options->image.zoom_mode.
+
+commit e51449e7326f517be62d65c0263b8bbc2f8b85b6
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sun Jul 13 14:50:07 2008 +0000
+
+    Improve ways to specify html browser (used for help, see bug 2015099).
+    Two new rc file options were added:
+    - helpers.html_browser.command_name
+    - helpers.html_browser.command_line
+    These are checked first before trying common browser locations.
+    If these do not lead to a valid browser, then geeqie will
+    search for geeqie_html_browser script in the path, then
+    it will try various common browsers.
+
+commit ccd82ce4a52dd8e7b60bf5a6dc56952255d1f6a1
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sun Jul 13 13:51:23 2008 +0000
+
+    Apply debian-specific patch to launch help browser (bug 2015099).
+
+commit e1dd1bb488601f3df4cd9b4b5d261c3f1d5a015a
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sun Jul 13 12:36:18 2008 +0000
+
+    Fix a segfault occuring when opening some collection files.
+    Skip all lines not starting with a # when only geometry is required.
+
+commit 19c2605cff0e070dc41424b913a624be8057a56a
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sat Jul 5 10:21:09 2008 +0000
+
+    Prevent segfault in certain conditions when displaying debug message.
+
+commit 1823d233d1681647245a00996df74e08a67b0489
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Fri Jul 4 22:49:04 2008 +0000
+
+    French translation was updated.
+
+commit 01e6b8f7eb33d65ea295731275a353e83721e40d
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Fri Jul 4 20:32:48 2008 +0000
+
+    Optimize a bit when connected zoom and scrolling are unset,
+    just move the test outside loops.
+
+commit 4dfe7f7b01cb84421d6af7040ffcf74aabad02e7
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Fri Jul 4 17:21:07 2008 +0000
+
+    layout_color_button_press_cb(): tidy up, drop useless memory allocations, improve i18n.
+
+commit 4fa28d67f125e31256616b2102b7fdef52861584
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Thu Jul 3 20:16:15 2008 +0000
+
+    refresh thumbnails on file change
+
+commit 579c42a76147582e9c4ad2cb8b476e7033f434ac
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Thu Jul 3 19:38:19 2008 +0000
+
+    set fallback thumbnail pixbuf only if the loading really fails
+
+commit 1a227f62b8195434db73cd8b27f50bf5b39cee7e
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Thu Jul 3 18:16:39 2008 +0000
+
+    Fix missing references for the current directory in pan folder stuff.
+    It was causing an fd magick assertion failure.
+    Bug reported by Omari Stephens.
+
+commit 83c79d4c81a9b2521d102bbe414abb81722e0dd9
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Thu Jul 3 08:33:10 2008 +0000
+
+    Increase debugging info in file_data_ref() and file_data_unref().
+    When compiled with DEBUG defined, file and line of the caller is displayed
+    in debug log.
+
+commit 86bea118fffeba039beb5838e0c401629d501faa
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Wed Jul 2 08:38:47 2008 +0000
+
+    Optimize file_cache_get() by only moving element to front if needed
+    (most of the time there is no need).
+    Reduce code redundancy in file_cache_put() by calling file_cache_get().
+    Enhance debugging code.
+
+commit 5f4a945ac78df503f9765056e946c68905ed0a32
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Mon Jun 30 21:08:28 2008 +0000
+
+    fixed division by zero in pixbuf_renderer_get_scroll_center
+
+commit e2bd6f78452c5fbe3850dfbc6b353edfd8b42f65
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sun Jun 29 15:51:54 2008 +0000
+
+    Merge thumb_loader_save_to_cache() and thumb_loader_mark_failure()
+    into thumb_loader_save_thumbnail().
+    Most of the code was redundant.
+
+commit 29242ec0f56bb937f754dd574979b380656e84e4
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sun Jun 29 10:11:43 2008 +0000
+
+    Make better matching between options types in options.h and the rest of the code.
+    Most changes are from gint to gboolean pseudo type and between gint / guint.
+
+commit f40224fd22d5387a0ad45859568d79d67060209f
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sat Jun 28 08:01:36 2008 +0000
+
+    layout_image_drag_cb(): optimize when connected scrolling is unset.
+
+commit ed00275170d23e38bff5a01130e5056a799788c1
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sat Jun 28 07:43:37 2008 +0000
+
+    Reduce number of parameters (mostly unused), just pass the event pointer.
+
+commit 6f624aae6d3d044bc0e6058ee93cc43082838e53
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sat Jun 28 00:44:31 2008 +0000
+
+    Fix warning:
+    thumb.c:31: warning : 'normalize_thumb' declared 'static' but never defined
+
+commit bfc848fe14ebb30a49356f1b2d96b6498e3d5667
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Fri Jun 27 22:57:48 2008 +0000
+
+    image_osd_mkinfo(): pipe replacement by " - " separator was fixed to work correctly with
+    empty first element.
+
+commit 6b6574bad4336981d6b373c52259e43fa9743d17
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Fri Jun 27 21:35:21 2008 +0000
+
+    do not read keywords and comment between exif_read_fd and exif_free_fd
+    calls (fd->exif does not have reference counting)
+
+commit 530a58fe366997da61f48b7c6156fa655d22d020
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Fri Jun 27 21:09:15 2008 +0000
+
+    added pixbuf_fallback function
+    fixed thumb loader for non-image files
+
+commit 84accd5956890abf9612f9b7e0aa72d8e0ea7b8a
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Fri Jun 27 18:43:05 2008 +0000
+
+    fixed crash in entering fullscreen during loading
+
+commit 7d44fe8aa857d7a740a9b867301fa06f373ffcec
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Fri Jun 27 10:00:55 2008 +0000
+
+    osd_template_insert(): optimize and simplify using flags.
+
+commit 42fc5158d4408a77c51570d34b5f83d0add42340
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Fri Jun 27 08:05:51 2008 +0000
+
+    image_osd_info_render(): ensure values are always escaped before using pango_layout_set_markup().
+    Two helper functions were added: osd_template_insert() and osd_template_insert_and_free().
+
+commit ea7852bed519679c1a98f5b240e7065af7abef2e
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Thu Jun 26 23:29:08 2008 +0000
+
+    image_osd_info_render(): code cleanup and simplification, drop some useless memory allocations.
+
+commit 98622a4338ee516d3e06da6153adb61e6cd68b09
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Thu Jun 26 15:59:20 2008 +0000
+
+    Use flags for pr_zoom_*() functions.
+
+commit b26d38c1a3189bf6d4edfdcab5d8dfe9aab19a9f
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Thu Jun 26 14:43:52 2008 +0000
+
+    Use stricter types for image options.
+
+commit cd68217e812b2419e92301d76902edd05c361aee
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Thu Jun 26 12:23:48 2008 +0000
+
+    Use flags instead of int parameters for pixbuf_renderer_overlay_add().
+
+commit a3ffd5d74d5baad16a8a35a02ab28267dd15efd2
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Thu Jun 26 11:48:40 2008 +0000
+
+    Only define ExifOrientationType if GQ_BUILD is not defined since
+    it is already defined in exif.h.
+
+commit d29cd729b404fc3901d862214231ef514f855aa5
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Wed Jun 25 20:53:52 2008 +0000
+
+    Tidy up.
+
+commit 0633bc36c636a0f2afa5bf3211639454870ac177
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Wed Jun 25 20:22:02 2008 +0000
+
+    French translation was updated.
+
+commit 7c4531fa7d4bdf83eb347a0e2e31e92070773930
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sun Jun 22 20:07:32 2008 +0000
+
+    optimized marks drawing
+
+commit 3d04c8792f8b45bc2a5ba7e69a269e0404cd40d0
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sun Jun 22 20:01:20 2008 +0000
+
+    show marks in iconview
+
+commit 975fc4e9e6d3601e83ecd38c159e841205b4bf59
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sun Jun 22 10:01:26 2008 +0000
+
+    show sidecars in icon view
+
+commit 5a236ea28726e79b2e00b6b054580b6a4d00f441
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sun Jun 22 09:40:57 2008 +0000
+
+    fixed in-place renaming
+
+commit 5b05e1156a0efc4e39afb58ae89a034d47b6aa81
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sun Jun 22 09:19:42 2008 +0000
+
+    added possibility to disable grouping of selected files
+
+commit 58b7c37cd74e7f8eedca2b706c4b89137702c9f5
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat Jun 21 22:01:45 2008 +0000
+
+    cache size made configurable
+
+commit c74e05815240fc255b0267d9d9f5ae4a60d1ae68
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat Jun 21 19:26:01 2008 +0000
+
+    measure pixbuf cache size in bytes
+
+commit 1986378ee25aef236908a6a1f67952406c9d51e7
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat Jun 21 16:00:13 2008 +0000
+
+    simple cache for loaded pixbufs
+
+commit 70fb724412e907f541d14eac8e1e67db474d1086
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat Jun 21 11:05:55 2008 +0000
+
+    renamed fd->pixbuf to fd->thumb_pixbuf
+
+commit 065cba7850d0dc548bfc7c33ecddf50bbb0ba0d7
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Wed Jun 18 22:26:52 2008 +0000
+
+    implemented generic FileData cache
+    use it for caching decoded exif data
+
+commit 2ca1adb7912dfd23318e829d9f01c4e9a2f76284
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Tue Jun 17 20:25:05 2008 +0000
+
+    more robust thumbs progress bar
+
+commit 11224ad1e9f6e9517523beb1ffb62b973228ebc9
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Tue Jun 17 19:56:21 2008 +0000
+
+    do not allocate new buffer for thumbnails with correct orientation
+
+commit 304e05c4c8845e40cd58ec758d56c7174d202899
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Mon Jun 16 19:07:02 2008 +0000
+
+    fixed memory leak
+
+commit 57a04dae8f42380d5df07158b1c80ba21f393c6c
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Mon Jun 16 18:37:35 2008 +0000
+
+    another try to free layout at exit
+
+commit b4d3e9956e2ce9ed23dab2fcf08974ec679f5453
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sun Jun 15 21:52:15 2008 +0000
+
+    rotate thumbnails by exif
+
+commit f59f132343a9b70c1fbb8abc755d514751e3e2d7
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sun Jun 15 20:09:15 2008 +0000
+
+    use FileData in thumb_loader
+
+commit 0d80d51136e02c021dcc07f45d78adce8a3ada33
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat Jun 14 21:49:48 2008 +0000
+
+    use GtkSizeGroup to control initial size of split images
+
+commit 1df917cf51c93c886a2b27eb91d9161f5ea64b2f
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat Jun 14 18:41:30 2008 +0000
+
+    preserve image center on refresh
+
+commit aac341d52f5b64196ffd78652fc95a58a5bfd6d0
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat Jun 14 18:33:40 2008 +0000
+
+    use multiline description in vflist with large thumbnails
+    always display marks in the first column
+    show expander in "name" column
+
+commit ac6e8d73416d1b72e768729b917aa4532da3844a
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat Jun 14 17:32:27 2008 +0000
+
+    join name and sidecars to one string
+
+commit 17344587a815f0057e8739cfbf5d2afbea4f2667
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat Jun 14 17:14:28 2008 +0000
+
+    optimized vflist_setup_iter_recursive
+
+commit 8244a9e46297c4adc8dd5095a04a199e9b536a71
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat Jun 14 12:43:39 2008 +0000
+
+    iconlist_refresh optimization
+
+commit 0f4fcde469fc6f9081e4078fa3a88f1c993ff296
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat Jun 14 12:30:44 2008 +0000
+
+    fixed iconview update after deletion of selected image
+
+commit 37fd19aa6a5df3496f5995ac518599b1b74798b8
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sat Jun 14 06:52:52 2008 +0000
+
+    Silent unused variable warning.
+
+commit 5f7b05915dcf7c7ead03ba825ecdd1f825c07482
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Fri Jun 13 21:32:58 2008 +0000
+
+    optimized vflist_setup_iter
+
+commit 922cb25e24b4c735857883757c923bc03002f475
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Fri Jun 13 13:33:11 2008 +0000
+
+    French translation was updated.
+
+commit 669a4954c3e7a9c8b7dd5fe8610e6bd163787738
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Fri Jun 13 12:27:41 2008 +0000
+
+    Revert patches 759 and 760.
+    759 patch broke adding selection of files through sort manager
+    to an unopened collection.
+
+commit 16aa61eb9064f9a2ff7faeb5cb6c49878ea0d735
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Fri Jun 13 11:51:23 2008 +0000
+
+    Display total size of files in collection window, for the list and for the selection.
+
+commit c687f78e1f9625ec8afb0bfc04e43baf9c841a7d
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Fri Jun 13 11:11:57 2008 +0000
+
+    Optionnally display directory's date in list view.
+    It can be set through Preferences > Advanced > Behavior and
+    is saved to rc file as layout.show_directory_date option.
+
+commit 0a1ad21b4dda0f856b023b01dfd9df79f71ca97f
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Thu Jun 12 22:43:32 2008 +0000
+
+    load_options_from():
+    - do not copy option name and value anywhere, only copy value_all to a separate buffer
+    - allow more relaxed syntax on read, so we can correctly read option name and value
+      even if user made some errors like replacing ':' by '=' or inserting a space before ':'.
+    - minor aesthetical changes
+
+commit 11a07ebce120ac8f073b1ffbd2dc828ad54783e1
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Thu Jun 12 21:21:32 2008 +0000
+
+    Add a comment about relative positions of image overlay in the rc file.
+
+commit 943be3f7f7676c11b6826fd507e98477aee44281
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Thu Jun 12 20:33:51 2008 +0000
+
+    Allow to set image overlay info position through options:
+    - image_overlay.common.x
+    - image_overlay.common.y
+    
+    For now, there are only editable through rc file.
+
+commit e6b5b17219e75d276407a55c9fa9833a0d3a5848
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Thu Jun 12 20:17:22 2008 +0000
+
+    Move some functions from image.[ch] to image-overlay.c and make them static:
+    - image_overlay_add()
+    - image_overlay_set()
+    - image_overlay_remove()
+    - image_overlay_get() (unused)
+
+commit c5eb8769b9462b318f52c0d70635fda0c92038cc
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Thu Jun 12 18:30:33 2008 +0000
+
+    reverted changes in layout_close made in rev. 890 and 901
+
+commit 86a4f3c90de18942b84b33046721801cb1edd504
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Tue Jun 10 19:25:21 2008 +0000
+
+    fixed vdtree_sort_cb
+
+commit 69b52cb5e907359a473418866f74461822448737
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Tue Jun 10 18:39:19 2008 +0000
+
+    fixed segfault in vd_rename_cb
+
+commit 08524203c709cf0013c2bd1d04c348067685e526
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Tue Jun 10 18:19:17 2008 +0000
+
+    dropped vficon_sync, use vficon_refresh everywhere
+
+commit f42d498ea1a214bb6c7bf0c6e451489a50c9ab7f
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Tue Jun 10 11:55:18 2008 +0000
+
+    collection_from_dnd_data(): simplify and optimize.
+
+commit 554bfe983c1442fc84a832a0a6d6cc89ef8182a7
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Tue Jun 10 11:27:35 2008 +0000
+
+    collection_info_list_to_dnd_data(): simplify and optimize.
+
+commit 55be71b45a3c28de13d1c532bd2d6e9278fc0239
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Mon Jun 9 20:27:39 2008 +0000
+
+    moved notification to view_file.c
+
+commit e04699877776b3d59fc4ac827cc57166f47328f6
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Mon Jun 9 19:43:56 2008 +0000
+
+    run idle function just once
+
+commit d77ba4a93e80fa8e39ce81d7cb803c55e7da0ca7
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Mon Jun 9 19:41:37 2008 +0000
+
+    use vficon_refresh for updating
+
+commit 1e0be504a15f4eb0228b8b99d69741fed67e6ff5
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Mon Jun 9 19:00:47 2008 +0000
+
+    handle deletion of selected files
+
+commit eff5536c6f25a057eacc0c9a59ef4a0997ce50e5
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Mon Jun 9 18:28:28 2008 +0000
+
+    optimized vficon_refresh_real
+
+commit f4c575e663819adb425f9a7468cd7614a56b03be
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Mon Jun 9 10:10:34 2008 +0000
+
+    Minor fixes and add a note about variable declaration.
+
+commit 1e2563b337e30225c07935af8041a7d1744c8d72
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Mon Jun 9 07:14:46 2008 +0000
+
+    Use unsigned type for marks since it is used as a bitfield.
+
+commit f104380fae8162102711930439e8b2e5fc9e3910
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Mon Jun 9 07:06:53 2008 +0000
+
+    fixed saving options on exit
+
+commit 020655c63732ec867014ba4e41637831789e05c3
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sun Jun 8 23:42:51 2008 +0000
+
+    Tidy up: add/remove white lines, minor code changes.
+
+commit 1f83c4e6344aeed363e504be79d50d1485dd8160
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sun Jun 8 21:21:13 2008 +0000
+
+    improved vficon_populate
+
+commit a871f2934cd24dd852a1810a82d7029cf8cfb3e9
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sun Jun 8 20:24:46 2008 +0000
+
+    vficon_sync speed-up
+
+commit b4f826d25c1daec9e7b3ca63203b615b2490ac8e
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sun Jun 8 19:09:44 2008 +0000
+
+    better check for notify type
+
+commit c64e06ce0192ac8386a54296c09c2b5ee5989aa5
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sun Jun 8 09:25:39 2008 +0000
+
+    fixed switching thumbnails in listview on and off - bug 1984825
+
+commit cd2e0e411d683cd490371d4756b0235e2679071a
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat Jun 7 22:44:17 2008 +0000
+
+    various refresh and notification fixes
+
+commit b993ae7cb2ecc511e009ee18dfa720fd66e3a715
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat Jun 7 15:08:33 2008 +0000
+
+    various notification improvements
+
+commit 063bd585c8e7e4c8bf3c00a0403f7a6ba88cb180
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat Jun 7 10:45:33 2008 +0000
+
+    use the new notification for collections
+
+commit ee08f41b89a36d13dfabb071fccdb532c58f69bf
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sat Jun 7 10:18:30 2008 +0000
+
+    Display Lirc state in config log.
+    Re-organize the config log a bit.
+
+commit 4df45b3ded4ba25fe8daaafdb3ea0de18eb9769c
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat Jun 7 09:36:12 2008 +0000
+
+    use new notification in img-view
+
+commit 92497f66b819d5862cc221344b102d04c59204f4
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat Jun 7 09:10:01 2008 +0000
+
+    use new notification in layout and layout_image
+
+commit f745066286b72604eddc365c088df7a82eafbbcd
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat Jun 7 08:13:22 2008 +0000
+
+    used new notification in search.c
+
+commit 7637e235738516de25759d26d3feb45a171a18d3
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat Jun 7 07:45:08 2008 +0000
+
+    used new notification in dupe.c
+
+commit dd62fe18714c2f714e444c6c6f2de5e7e07acd84
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Fri Jun 6 22:34:15 2008 +0000
+
+    used new notification in cache_maint
+
+commit f335345202a840721560f5aab41ba110a449ddd1
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Fri Jun 6 22:11:03 2008 +0000
+
+    added NotifyType
+
+commit 8bca5d11043655dcb7156598c15884b81eabb83a
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Fri Jun 6 21:50:09 2008 +0000
+
+    realtime file monitor
+
+commit f0ca274daef77b01f134d6c556d2efa775169944
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Fri Jun 6 20:59:03 2008 +0000
+
+    zero-lenght path must be allowed for now
+
+commit 765ce1d52bad52bbfeb8b930c0428318d93185d1
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Fri Jun 6 08:01:19 2008 +0000
+
+    French translation was updated.
+
+commit f64e2fa6ee80241e0bcd786c7c9dc3f70980367d
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Thu Jun 5 23:31:22 2008 +0000
+
+    Fix "No newline at end of file" warning.
+
+commit 7839d6af203658adba7d3de9d18233f48bffc292
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Thu Jun 5 18:43:44 2008 +0000
+
+    use new notification in vficon
+
+commit 3cf04e271280aed1006b46d02e25b5d026c9a3e2
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Thu Jun 5 09:24:42 2008 +0000
+
+    Compare paths using utf8_collate_key() since paths are utf8-encoded.
+    It fixes bug 1959854.
+
+commit baf540a744f37d692c00c740cfe77505f3e4971c
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Thu Jun 5 08:41:02 2008 +0000
+
+    Use uft8_collate_key() to sort utf8 strings.
+    Modify file_data_set_path() to sync collate keys and file_data_pool
+    on path change.
+    
+    Partially fix bug 1959854.
+
+commit 6129e31e323e0064a6c9bb2285dab6cf32088146
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Wed Jun 4 21:12:47 2008 +0000
+
+    new notification system (used only in vflist for now)
+
+commit b83763acf8f3ec6b12ca5302a6e7c73d20eb2ecb
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Tue Jun 3 19:44:19 2008 +0000
+
+    replaced directory path with FileData* dir_fd
+
+commit af94f830d3c67610709600c6a57e85dc583630c1
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Tue Jun 3 15:54:05 2008 +0000
+
+    Allow to modify the aspect of Geeqie through the use of a
+    gtkrc file that may be present in the geeqie rc directory.
+    Patch by Aldric RENAUDIN and me.
+
+commit fa9d41fdd5e0e83247ffcf9195db3c5d069a1976
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Tue Jun 3 13:54:22 2008 +0000
+
+    Replace hardcoded collection filename extension by a macro (GQ_COLLECTION_EXT).
+
+commit 02ad66458b97d359e9612846624e49f42d7109ba
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Tue Jun 3 11:24:16 2008 +0000
+
+    Drop initialization to NULL since filelist_read() will take care of it.
+
+commit 3df14dfb67589c306fb4095b7087638d4aad61bc
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Tue Jun 3 09:41:00 2008 +0000
+
+    filelist_read_real(): optimize and clean up.
+
+commit c3cbb65ba80d2339026513a32fac2ddf1f866bbe
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Tue Jun 3 09:03:33 2008 +0000
+
+    Reduce indentation level.
+
+commit 18f3117f7949d432a1ebf2d4bfcb47a1a50b146d
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Tue Jun 3 08:57:46 2008 +0000
+
+    Reduce indentation level.
+
+commit 688b1111bc04b733c4d879b16faf5c75d4bcbdbf
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Tue Jun 3 08:53:53 2008 +0000
+
+    collection_table_find_data_by_coord(): tidy up.
+
+commit 25c47b533a126a95dd10c663d9f6a32b5e78b8e5
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Tue Jun 3 07:37:24 2008 +0000
+
+    vflist_maint(): only allocate memory and compare strings if needed.
+
+commit 9069f1e009b20f29cf15c7ad6632476589f8516c
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Tue Jun 3 07:32:13 2008 +0000
+
+    layout_real_renamed(), layout_real_removed(), layout_real_moved():
+    simplify code.
+
+commit e1edb9d5c4d980e5c1615f96cd91804cb62ed922
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat May 31 19:46:26 2008 +0000
+
+    do not change original FileData on copy
+
+commit 7fe6112289193b5421a08fc9a27da23a293d8622
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat May 31 19:44:41 2008 +0000
+
+    replaced vflist_maint functions by vflist_refresh - it allows to follow
+    changes made by external editors more precisely
+
+commit 10e0bd5513c5c314d7feba61bac30c2d2bd50669
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Fri May 30 21:41:46 2008 +0000
+
+    vflist_populate_view: better handle selected files that are renamed or deleted
+
+commit 44179fa3ab21aca878d86a7b84a4822927e62dfb
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Fri May 30 20:13:16 2008 +0000
+
+    fixed thumb index (thumbnails are shown again)
+
+commit f5bae1ffc402de38549948787c689ce02fc598f1
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Fri May 30 19:53:52 2008 +0000
+
+    simplified vflist_populate_view
+
+commit ce29b00d2ae2d4461da481c9703d1a1e34d03926
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Fri May 30 08:39:52 2008 +0000
+
+    Use functions to set editors name and command and ensure they are
+    utf8-encoded.
+    Previously, non-utf8 strings from rc file caused some issues.
+
+commit 639e6684b4c4097f95fc2d732eb98a8119d09791
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Fri May 30 08:36:23 2008 +0000
+
+    Make utf8_validate_or_convert() to always allocate a new string.
+
+commit ab16da5e16b325b51e888d8969360b48770b0cf3
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Fri May 30 07:20:25 2008 +0000
+
+    Check for existing editor command using is_valid_editor_command().
+
+commit 7afa3a0b07b38b082a647bc50c046a4d9758a1e7
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Thu May 29 07:58:34 2008 +0000
+
+    Preserve properties window width and height during session even when
+    layout.save_window_positions is not set.
+    It restores the pre revision 858 behavior.
+
+commit 05f3eb89357157adbe443d71986902c2e80c997f
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Thu May 29 07:52:05 2008 +0000
+
+    Save properties window width and height to rc file and restore
+    them on next session if layout.save_window_positions is set to TRUE.
+
+commit f89fbbf03e4d4593445a2fa731557db2596b0305
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Wed May 28 22:12:10 2008 +0000
+
+    improved infrastructure for tracing changes, optimized vflist_populate_view
+
+commit 335a8f5397ddda92fc0bf7acc0d3e48be3732cc8
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Tue May 27 18:46:34 2008 +0000
+
+    measure time of filelist update
+
+commit 01a388eb2885bc5a9dbbb0faafc437a171ff557d
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Tue May 27 18:37:15 2008 +0000
+
+    another fix in notification
+
+commit d5c322089bf472b8061116dda437870fb7724939
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Mon May 26 18:32:04 2008 +0000
+
+    Fix histogram grid - patch by Uwe Ohse
+
+commit 9530a02bc561d40f936c44d5e45d37ddf32815b9
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Mon May 26 18:22:08 2008 +0000
+
+    use fputs instead of printf - patch by Uwe Ohse
+
+commit 1f01199c3dbd8ca9e796ff42b8b591ab90745158
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Mon May 26 17:06:30 2008 +0000
+
+    fixed bug in notification code
+
+commit 5407c7dd1d47999deb999ddcc4908d7c47b7d74c
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sun May 25 20:17:07 2008 +0000
+
+    Tidy up: indentation fixes, typo fixes, ...
+
+commit aa3fda66e2e90d4f87fdb0e71106829aedaac9b0
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sun May 25 19:54:00 2008 +0000
+
+    Typo fix.
+
+commit 7aca9bde7ea89130df6934148287dc3c0f290cd2
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sun May 25 19:13:04 2008 +0000
+
+    Typo fix.
+
+commit 8973118af85916c7dd6240428d865b593d4e889c
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sun May 25 19:03:30 2008 +0000
+
+    bar_sort_set_filter_cb(): filter_idx was set as uint so get it as uint.
+
+commit 56b0d6ecccbd5ef448fb59983828fccc2c5dd5a2
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat May 24 22:44:18 2008 +0000
+
+    rewritten utilops.h:
+    - better integration of external commands
+    - filter commands
+
+commit d2e0888194442fe09a3f099f149e3d4fb3884bc9
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sat May 24 20:01:59 2008 +0000
+
+    Allow to escape star characters in the template string with a \.
+    One can insert a \ by escaping it with another \.
+    Fix deletion of empty parts when using | trick.
+    Append the separator " - " only if data is neither NULL nor empty.
+    Patch by Uwe Ohse and Laurent Monin.
+
+commit c3c6184b858a57f359937a912a8db3f715844270
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat May 24 09:18:09 2008 +0000
+
+    improved filedata interface
+
+commit 2f9f06e43c1d6e6b9d1d7c7af3c038ab830f132f
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Fri May 23 23:40:12 2008 +0000
+
+    Fix display of libpthread detection.
+    Fix display of lirc support, do not test for headers if disabled.
+
+commit 8c7decff43cd66410be772b6c1a3204efe7a7e00
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Fri May 23 23:18:40 2008 +0000
+
+    Silent few warnings that appeared when using --disable-exiv2 configure option.
+
+commit a2f6ae48d9b6632eef9b4b2ad77e189afb61016d
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Fri May 23 22:57:51 2008 +0000
+
+    French translation was updated.
+
+commit 6e80a2dae26e190fdd56461021cc945a9b807ecc
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Fri May 23 22:55:23 2008 +0000
+
+    Use the same label for toolbar buttons tooltip than in main menu.
+
+commit 2d39c9d42b6214b53b9f70ca5a9f946974ad326a
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Fri May 23 15:07:30 2008 +0000
+
+    Add -Wstrict-prototypes to gcc options only in developer mode
+    since it clutters the compilation log with unfixable warnings.
+    Add -Wall in developer mode to display even more warnings.
+    Fix display of --enable-deprecated at end of configure (yes
+    and no were inversed).
+
+commit 07c127246cdf49873cbcb769e00bf6299956dc70
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Fri May 23 12:27:28 2008 +0000
+
+    slideshow_next(), slideshow_prev(): move code to common slideshow_move(), reducing code redundancy.
+
+commit 5caa58afa57bc3340d49ea1701b06038cfbb345b
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Fri May 23 12:19:42 2008 +0000
+
+    Move code from slideshow_timer_reset() to new slideshow_timer_stop() and simplify calls.
+
+commit 001635e8163ec0bc1615dd10de3da4271dd44c00
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Fri May 23 00:20:56 2008 +0000
+
+    Try to load a system-wide rc file if any, before per-user rc file.
+    For now, system-wide rc file path is set to /etc/geeqie/geeqierc
+    (defined by GQ_SYSTEM_WIDE_DIR in main.h).
+    filter_parse() was modified to replace entries having the same key,
+    needed since it may be called more than once.
+    
+    Please test heavily.
+
+commit 43b4e4860807c26bd83cd99da58ecd68f052eb44
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Thu May 22 23:22:12 2008 +0000
+
+    Pass ConfOptions * to save_options() and load_options().
+
+commit 0fe33428a668c783d42432bf80a574d7df6b564d
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Thu May 22 23:17:26 2008 +0000
+
+    Move code from save_options() to new save_options_to() which takes
+    the destination path as parameter.
+
+commit 9d0560eb4199b16058bc3623e49a90393f62b968
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Thu May 22 23:09:53 2008 +0000
+
+    Move setup_default_options() and sync_options_with_current_state() to options.[ch].
+    Pass ConfOptions * to these instead of directly using global variable.
+    Cleanup #include in main.c.
+
+commit 91a77c72ce0c65eacd4ef3810128c7aef9d646db
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Thu May 22 22:49:07 2008 +0000
+
+    Move code from exit_program_final() to new sync_options_with_current_state().
+
+commit 2d0d34eaa30a4d1d8be28eae5158c096e9401174
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Thu May 22 22:43:07 2008 +0000
+
+    Separate path building code from options loading code.
+    Most code of load_options() is moved to new load_options_from().
+    ExifUIList initialization is moved to setup_default_options().
+
+commit b5d0f1f91b10a1efb6bea5fe4878d946b18d124e
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Thu May 22 20:22:13 2008 +0000
+
+    Make shell command and its option rc file options instead of hardcoded strings.
+    This allows users to modify the shell command that execute "editors".
+    Two new options appear in rc file:
+    - shell.path (default to "/bin/sh")
+    - shell.options (default to "-c")
+    
+    These options can only be changed from the rc file, not at runtime.
+    Tests are made to check that shell.path is not empty and lead to
+    an executable file.
+
+commit 94c67ee52b2e81260f2f63c17771c4902942857a
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Thu May 22 13:00:45 2008 +0000
+
+    Fix signed vs unsigned warnings.
+    In most cases, gint was used instead of guint.
+
+commit a4226d0deebed8e331e8b5de48d9c2c11a9e01ff
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Thu May 22 11:28:35 2008 +0000
+
+    Comment out unused static function extension_truncate().
+
+commit 6f08b3a0bfb9a539e0144313ec7b02071f19b7f4
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Thu May 22 11:27:43 2008 +0000
+
+    Fix up some types, make some signed vs unsigned warnings quiet.
+
+commit e050d2a0bb71d56ddd0d7e6a8b60648357d7bcd9
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Thu May 22 10:09:07 2008 +0000
+
+    Modify set_default_image_overlay_template_string() to accept the pointer to
+    the string to modify and add a generic function to set template_string value.
+
+commit 4abc67156b7e0728230026f9c47a091ab69b0f53
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Thu May 22 09:22:29 2008 +0000
+
+    French translation was updated.
+
+commit a331805a87ce4d65fcc06826054f115a9c8a7108
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Thu May 22 09:12:36 2008 +0000
+
+    Introduce an helper function that returns the name of an editor.
+    It helps to reduce code redundancy.
+
+commit 48582c3600eacfd7985aff255372c4909cf87e40
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Thu May 22 08:49:52 2008 +0000
+
+    Use a struct to handle editor's properties.
+
+commit cceaf6dd59921919c0f8c1478bc025de7812ba9f
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Wed May 21 19:37:18 2008 +0000
+
+    Make stricter match for option's names consisting of a prefix and a number.
+    It allows to have names like "prefix_12" and "prefix_something" in the same file.
+    Using strtol() was wrong since it allowed names like "prefix_-0xa", leading
+    to unpredictable results. It was wrong too with "prefix_something", which
+    was equivalent to "prefix_0", instead of being an option of its own.
+
+commit f4fdeefe1b2f4573b91a19682a134a50f675c8ff
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Wed May 21 11:46:19 2008 +0000
+
+    Replace hardcoded "/" by G_DIR_SEPARATOR_S where applicable.
+
+commit ec28448108d471c5fc8705e5502a81e116c506e4
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Wed May 21 11:45:29 2008 +0000
+
+    Use g_build_filename().
+
+commit f42ea51102878335515db3058de36d3ac2c68e27
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Wed May 21 11:07:23 2008 +0000
+
+    Use G_DIR_SEPARATOR where applicable.
+
+commit 88b1387337bed6aae3c4eb9eabb6b5646bc2e743
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Wed May 21 11:00:13 2008 +0000
+
+    Use G_DIR_SEPARATOR_S where applicable.
+
+commit 1ba45c263f1a40689c0f015d00adab032d9ea4b8
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Wed May 21 10:52:38 2008 +0000
+
+    Use g_build_filename() and G_DIR_SEPARATOR_S.
+
+commit 9cbd3ca276a034db2e38e1d302f59ea59000961e
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Wed May 21 10:46:33 2008 +0000
+
+    Use g_build_filename() instead of g_strconcat().
+
+commit 0be6f799a2986d22c2e42e8c51d09a16030875f6
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Wed May 21 10:11:56 2008 +0000
+
+    tab_completion_do(): use g_build_filename(), G_DIR_SEPARATOR, G_DIR_SEPARATOR_S.
+
+commit a847d10f2debed4c4e7f01e6f4e4fcf246f3a281
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Wed May 21 09:58:29 2008 +0000
+
+    tab_completion_popup_cb(): use g_build_filename() and simplify code.
+
+commit e07eab477089e688f3d3668e110b651f1cf346f4
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Wed May 21 09:50:32 2008 +0000
+
+    Use expand_tilde() instead of simple concatenation, it allows correct expansion
+    of ~user as well as ~dir.
+
+commit 5acd3990069f22b64c0336bd89067c1cf265927e
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Wed May 21 09:30:53 2008 +0000
+
+    dest_change_dir(): rewrite to use g_build_filename(), g_path_get_dirname() and g_path_get_basename().
+
+commit 550af58c76fd602a08a811f5be218bcec90d1598
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Wed May 21 08:53:51 2008 +0000
+
+    Fix a segfault occuring when logging an empty message and there is no log window.
+
+commit 98cabee9637e5ddfd9b2f6fcd9296572c6d7253d
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Wed May 21 00:42:14 2008 +0000
+
+    Use g_build_filename().
+
+commit e45c0d959bfbc09115bf447ccc7813d25ace3e1a
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Wed May 21 00:39:16 2008 +0000
+
+    thumb_std_cache_path(): use g_build_filename() and simplify.
+
+commit c656b4ad0212e24cbd9ae2844b0bbf904571ab2f
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Wed May 21 00:32:57 2008 +0000
+
+    Use g_build_filename().
+
+commit 9fbfbb253e2e700806714e6ef5c7813148c8b72a
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Wed May 21 00:20:13 2008 +0000
+
+    Use g_build_filename() where applicable.
+
+commit a9bd1c761342532867bee1fc112d7c5f93deb5b6
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Wed May 21 00:15:41 2008 +0000
+
+    Use g_build_filename() instead of g_strconcat().
+
+commit fe45471190349960979b37aebea84cc2c7cb9675
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Wed May 21 00:13:12 2008 +0000
+
+    Use g_build_filename() and get rid of "root dir fix".
+
+commit 0b30da0498c23b1237ebbf41eac69e341394043a
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Wed May 21 00:12:19 2008 +0000
+
+    Use g_build_filename().
+
+commit 5e710445fc08a56ddd1c73585953d2c791dc866a
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Wed May 21 00:01:03 2008 +0000
+
+    Disable unused code:
+    - cache_maintain_home_dir()
+    - cache_maintain_dir()
+
+commit 95eebfff0a5472e885a2cebd38024a59b37db8af
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Tue May 20 23:41:13 2008 +0000
+
+    Build path using g_build_filename() then calculate its length.
+
+commit e80fa4c91453bf056e384a888e051272b04b7abd
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Tue May 20 23:11:47 2008 +0000
+
+    Use G_DIR_SEPARATOR_S instead of hardcoded "/".
+
+commit 381f82f295a52ba43179d6e0e5036ac73ac8887d
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Tue May 20 23:07:09 2008 +0000
+
+    Use g_build_filename() and move location label creation from cache_manager_show() to new cache_manager_location_label().
+
+commit d145a20894f4c757ea29b79ed25d31004ae97a8a
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Tue May 20 22:47:13 2008 +0000
+
+    cache_find_location(): use g_build_filename() and move redundant code to new functions.
+
+commit 267dbe2ad0cf72a577b2e236245c39e0b1930d59
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Tue May 20 22:22:11 2008 +0000
+
+    Use g_build_filename().
+
+commit d1ad0442c58c29df914c80e211f8c90abf145427
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Tue May 20 22:13:48 2008 +0000
+
+    Use size_t instead of gint, it silents a signed vs unsigned warning.
+
+commit 3bd79d0d86bee23a6514faf22c68f6e3898411a5
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Tue May 20 22:11:59 2008 +0000
+
+    Use g_build_filename() instead of g_strconcat().
+
+commit 73e10c62fc9d789afd29b46183078407369700e6
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Tue May 20 22:09:04 2008 +0000
+
+    Drop concat_dir_and_file() and use g_build_filename() instead.
+
+commit ca505f0dd3957eeea0d69dfc3e133c320bba2683
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Tue May 20 22:00:14 2008 +0000
+
+    Use G_DIR_SEPARATOR instead of '/' where applicable.
+
+commit c56dcb92792b030d9f14cf68d5260be924a999ee
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Tue May 20 21:51:25 2008 +0000
+
+    Use g_build_filename() to build paths.
+
+commit ddee8f88900c6e3af7b48541514e0f029912bd20
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Tue May 20 20:11:29 2008 +0000
+
+    Do not use glib posix wrappers since they were introduced in 2.6
+    and we want 2.4 compatibility.
+
+commit dc3b44026a577f54f257a543223b1d99ea298693
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Tue May 20 20:06:11 2008 +0000
+
+    Use access() instead of g_access() which is only available in 2.8.
+
+commit f2424a9a424a11d32fdc4514b143d67a8285b0d0
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Tue May 20 19:14:36 2008 +0000
+
+    Use utf-8 charset instead of iso-8859-1.
+    Minor cleanup.
+
+commit dd45f154d660065acd669bae936995f889237604
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Tue May 20 17:43:37 2008 +0000
+
+    updated ru.po by Alexandre Prokoudine
+
+commit 231d9567dc36494096b87e29a1ba245c932f646a
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Tue May 20 08:18:30 2008 +0000
+
+    French translation was updated.
+
+commit b130dfe52635ff03a61994eee9fd98ab12e10f9a
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Tue May 20 08:14:35 2008 +0000
+
+    Sort out log_printf() vs printf_term() mix up.
+
+commit a8d4af5cfbfc17f65b7f23db463ebc0220c26dd3
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Tue May 20 07:52:49 2008 +0000
+
+    Use print_term() instead of printf(), since it handles charset conversion
+    from utf8 to locale if needed.
+
+commit 11819b31099e4db5bb0488a404dd633928e806a9
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Mon May 19 11:09:23 2008 +0000
+
+    Remove C-specific gcc options from CXXFLAGS.
+    Add few more warnings.
+
+commit 592f33931c27c10012614e90bf7486b3ffa66039
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Mon May 19 09:27:30 2008 +0000
+
+    Fix some incomplete initialization warnings.
+
+commit 2a2b70b7061760b54f1075902caee61fe6c6a95f
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Mon May 19 08:46:37 2008 +0000
+
+    depreceated -> deprecated
+
+commit 17c0fcefeedde3e92482b78685528b2b667bddde
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Mon May 19 08:43:11 2008 +0000
+
+    Typo fixes.
+
+commit 55c5b71c9d49e5d6b39c3b5fa6f4ce966193c881
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Mon May 19 08:36:06 2008 +0000
+
+    Create auxdir if needed.
+
+commit 397adc4d43c61ec94d54a03edcf3605de977aed7
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Mon May 19 08:24:10 2008 +0000
+
+    Fix spurious end of line introduced in revision 780.
+
+commit bc32bf0bd821a6e5ba5fb37abce4f8d00ccdf5c7
+Author: Petr Ostadal <postadal@suse.cz>
+Date:   Mon May 19 01:15:17 2008 +0000
+
+    configure.in was rewritten:
+    - uses PKG_CHECK_MODULES everywhere
+    - added --enable-debug (enable debugging support)
+    - added --enable-developer (developer mode, checks depreceated code ...)
+    - removed obsoleted INCLUDES from Makefile.am
+    Fixed src/debug.h (added glib.h).
+    Fixed src/exiv2.c compilation with libexiv2 v0.15.
+    Added src/trash.h to src/Makefile.am (fixed generating 'make dist').
+
+commit 51e2636cbf3a5d444dc16041eae47c39ecc9d3ae
+Author: Petr Ostadal <postadal@suse.cz>
+Date:   Mon May 19 00:54:59 2008 +0000
+
+    Updated CODING (GPL header, macros, svn change-log, ...).
+
+commit 31ed8e20e511d9ab92a842cc205e6962b6417f62
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sun May 18 21:14:01 2008 +0000
+
+    Save order of Properties dialog tabs to rc file.
+    Users of GTK+ <2.10 can set tabs order directly in the rc file,
+    others can move tabs using drag'n drop.
+    The option is named properties.tabs_order, its default value
+    is "123" which is General, Keywords, Exif tabs (left to right).
+
+commit a1726043d910102910fa32c669a45a4b23779cbb
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sun May 18 12:56:18 2008 +0000
+
+    Cleanup and code redundancy reduction.
+
+commit 3df95a31203a2deb4e0ec0ce019e1cc528e32d39
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sun May 18 11:39:58 2008 +0000
+
+    Memorize text to display in the log window when the window is
+    not yet created. On log window display, the memorized text
+    is then recalled and displayed.
+
+commit c219d832b90357a8df605bb444757be70bed2c68
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sun May 18 07:36:57 2008 +0000
+
+    Do not create log window more than once.
+
+commit aa1e905eb793586cdfa564228ca939438ce50a91
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sat May 17 22:37:04 2008 +0000
+
+    Fix formatted.SubjectDistance appearing twice in exif bar configuration.
+
+commit d5ddb658018102f15fce0efaba39cde3cd89d976
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sat May 17 21:28:02 2008 +0000
+
+    Update POTFILES.in.
+
+commit c293dfff35a58ab31b1225ea712ea766fdae96b0
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sat May 17 21:26:45 2008 +0000
+
+    Add a log window that shows normal and debug messages. For now, it was added to Help menu.
+
+commit 44bf725c587e93c7852e2232b3cb30692341a1bd
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Fri May 16 20:12:11 2008 +0000
+
+    fixed exiv2 version test
+
+commit 4e2cbf60d0811c493595007e6c6dcac42588609d
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Fri May 16 20:09:32 2008 +0000
+
+    get processed values from exiv2
+    http://sourceforge.net/tracker/index.php?func=detail&aid=1962444&group_id=222125&atid=1054680
+
+commit 2cf6296486285045389eae9162c5e20e6f7ca0a6
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Fri May 16 14:59:45 2008 +0000
+
+    Fix redundant application name in window titles.
+    It simplifies code.
+
+commit 4dd8a0ca5bcf4a1060a3cded4e8eea666d96a300
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Fri May 16 14:38:05 2008 +0000
+
+    French translation was updated.
+
+commit 80363827d0206ced152428b414af7ee12754ccb0
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Fri May 16 12:16:49 2008 +0000
+
+    Do not use printf() directly but use new wrapper function log_printf() instead.
+
+commit 4419bda7c472e6addfa8c204b3be6b9a159c472a
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Fri May 16 12:08:51 2008 +0000
+
+    Drop include "debug.h".
+
+commit 08f6266ee30f28a20ec40150ce1371cedcb943ca
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Fri May 16 10:02:56 2008 +0000
+
+    Include debug.h from main.h since debug macros may be used anywhere in the code.
+
+commit 9cdcce43a34e0c63b05fecaf6b1fbcbcef522781
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Fri May 16 09:10:56 2008 +0000
+
+    Improve editor commands error display:
+    - display all errors (not only syntax errors)
+    - display errors from Preferences (checks are made on Apply or OK)
+
+commit dbb4e406f3b1893911d5c44f3fe5f75ae3b87f4d
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Fri May 16 08:37:07 2008 +0000
+
+    Improve editors a bit:
+    - allow whitespaces before and after %v, %V, %w
+    - allow % escaping using %% (mandatory to use shell commands than contain % characters)
+    - display a dialog on execution if a syntax error is detected (only for generic editors)
+    - update README editors section
+
+commit 8cf9235c20b8f059c00c09caf55fd2b81adb683b
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Wed May 14 18:12:11 2008 +0000
+
+    The Encoding key is now deprecated by the FreeDesktop standard and all
+    strings are required to be encoded in UTF-8. This desktop entry
+    explicitly specifies an Encoding of UTF-8, which is harmless but no longer
+    necessary.
+    
+    See http://standards.freedesktop.org/desktop-entry-spec/1.0/apc.html
+    
+    Patch #1963689.
+
+commit 696b1afc8d1987bb420d36261a7362f58519291f
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Wed May 14 18:09:05 2008 +0000
+
+    Patch #1963690 was applied.
+    It fixes hyphens/minus confusion in the man page.
+
+commit 12d37bfbf24c80a2574d430200c559f2d20da751
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Wed May 14 17:00:25 2008 +0000
+
+    Simplify thumb_std_maint_moved(), since g_list_append knows
+    how to append to a NULL list. Patch by Uwe Ohse.
+
+commit 7c3a92575e1832ac7896aada1b619eef12d5c1c7
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Wed May 14 16:52:55 2008 +0000
+
+    Simplify collect_manager_add_action(), since g_list_append knows
+    how to append to a NULL list. Patch by Uwe Ohse.
+
+commit e6057c67b6938aa5f5d9f15567fd6302e2ef58aa
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Wed May 14 12:59:00 2008 +0000
+
+    Merge vflist_row_by_path() into vflist_index_by_path().
+
+commit 53d0d0d3918a36df3a483989ea02cbea4daa0dbe
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Wed May 14 10:40:43 2008 +0000
+
+    Fix some typos. Thanks to Michal \u010ciha\u0159 and James R. Van Zandt.
+    Patch #1963691.
+
+commit d8bacc9a88f9332a45d49d890f62c0141738fa9f
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Wed May 14 08:56:08 2008 +0000
+
+    Make vf_pop_menu_*_cb static.
+
+commit a2b5404ac9f5fbf0e5a7c0e71dcd94252bf3186d
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Tue May 13 20:31:35 2008 +0000
+
+    French translation fixes.
+
+commit 81193b24e0f5eade934c698fc0ac485d33751269
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Tue May 13 20:21:00 2008 +0000
+
+    Resync POTFILES.in and *.po, update french translation and
+    regenerate statistics in README.
+
+commit 16e84c761e71ac9052621a396d6880b96abe3221
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Tue May 13 20:13:44 2008 +0000
+
+    Merge vflist_pop_menu() and vficon_pop_menu() into vf_pop_menu().
+
+commit d62b5063e0616d905f58fc6036382a7b6d791368
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Tue May 13 19:56:52 2008 +0000
+
+    Move VFICON_INFO() and VFLIST_INFO() macros to view_file.h
+
+commit 0ae96b1f2356d2f6eb6218ac85d8f07830118553
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Tue May 13 19:54:13 2008 +0000
+
+    vficon_pop_menu(): drop "gint active" parameter, use stored click_id instead.
+
+commit d89bc943dfc7c14031b36c49aeb8544defa5d450
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Tue May 13 19:51:22 2008 +0000
+
+    vflist_pop_menu(): drop FileData * parameter, use stored click_fd instead.
+
+commit dc820ece32ce4e8541b8e0d51a82a2486e645ab0
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Tue May 13 19:45:04 2008 +0000
+
+    Fix last patch, only set vf->clicked_mark for a valid mark.
+
+commit 91e4b2d69adc9398df664f4d355880ae146ab994
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Tue May 13 19:32:25 2008 +0000
+
+    Get rid of vflist_pop_menu() col_idx parameter, use new Viewfile field
+    named clicked_mark.
+    Marks numbering is now consistent with menus (starting at 1, 0 is an
+    invalid mark), assertions were modified accordingly.
+
+commit 86ebde92c37840f27e7f81f0051a1b501b398bcb
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Tue May 13 16:09:43 2008 +0000
+
+    Expand tilde with file: and view: remote parameters.
+    Now these are working:
+    geeqie -r file:~/dir
+    geeqie -r view:~user/file
+
+commit 38975e5efdefc3d56f710847821efc2173561f72
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Tue May 13 14:49:38 2008 +0000
+
+    Display a message when invalid remote options are used.
+
+commit e88a963a320d1728638984277c0cad4bb3ab3f00
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Tue May 13 14:35:51 2008 +0000
+
+    Comparing tag id is not sufficient, check the tag name too.
+
+commit f558c8c220211ffd1950748350a09cf4d471f761
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Tue May 13 11:58:47 2008 +0000
+
+    Keywords and comment can now be displayed in OSD info using %keywords% and %comment%.
+
+commit 2ce8b27e1caba72f8f08fa62c2cae7def628cdaf
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Tue May 13 08:53:26 2008 +0000
+
+    Move all remote stuff from main.c to remote.[ch].
+
+commit 12639ee4b8d55c4d4b17b888fe4f18d9ba45c382
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Tue May 13 08:02:46 2008 +0000
+
+    Move some functions from main.[ch] to new window.[ch].
+
+commit c8611249cdc9ee9247803ff04a39a049e7db57d0
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Tue May 13 07:34:37 2008 +0000
+
+    Ensure that we end with UTF8 encoded comment and keywords.
+
+commit 8b3ee1eef7b80997fc1c6ef43d3c622d01d1737c
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Mon May 12 23:26:00 2008 +0000
+
+    Reading of Iptc.Application2.Keywords should now be fixed.
+    Use uft8_validate_or_convert() on exif's text data to be safe.
+
+commit 9aacc4a2448ac1f21bee1ff71ed4ebba4f4eeb81
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Mon May 12 23:21:35 2008 +0000
+
+    Rename bar_exif_validate_text() to utf8_validate_or_convert() and move it to main.[ch].
+
+commit 885b212391d1bf9503c9b1d3e0324d22a8c24f80
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Mon May 12 23:00:04 2008 +0000
+
+    bar_exif_validate_text(): use computed length and cleanup.
+
+commit 7b4885c281b47d456d0985ad6b084cb20fc7cc08
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Mon May 12 19:56:28 2008 +0000
+
+    Disable non-working Iptc.Application2.Keywords reading introduced in revision 736.
+
+commit 874ac4eafacb90b111161275fc71f6345e77d30d
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Mon May 12 17:10:40 2008 +0000
+
+    Extract and append keywords from Iptc.Application2.Keywords tags.
+    A function was added to make the keywords unique in the list.
+    Note: Iptc.Application2.Keywords is only read, not written.
+
+commit c50d73be0f5f860103b2bf66b845e33aae9ce7c7
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Mon May 12 10:46:23 2008 +0000
+
+    When an option was successfully read, just continue to next line.
+
+commit 75f14d8caa9b739913c96b353e100c1088722907
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Mon May 12 10:37:37 2008 +0000
+
+    Minor formatting fix in rc file header.
+
+commit ff365dc6cc9abcf3331fe3eb048c9f8bc082f5c3
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Mon May 12 08:52:17 2008 +0000
+
+    Rework read_*_option():
+    - read_u?int_option() now interpret a value of "true" as 1
+    - read_bool_option() now interpret any value different from 0 as true.
+    - make functions return TRUE on successful read, FALSE else
+    
+    Theses changes will help to maintain compatibility when options are modified.
+
+commit 0481d1d4e1ee29d28e766e47ab5dfd39798f9378
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Mon May 12 08:11:27 2008 +0000
+
+    Rename option image_overlay.common.enabled to image_overlay.common.state
+    since it is not a boolean anymore.
+
+commit 99a50120349e25795138098cb35616a3cc953f33
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Mon May 12 00:22:38 2008 +0000
+
+    Add some wrapper functions for not yet common code.
+
+commit 98e46592bd5e0f88061eb983c092d57594a479d6
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sun May 11 23:56:40 2008 +0000
+
+    Make vf_pop_menu_toggle_view_type_cb() independent of FILEVIEW_LIST/FILEVIEW_ICON real values.
+
+commit c2147d9b7fd901a7a6ffd89fed45c89c138d2281
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sun May 11 23:47:59 2008 +0000
+
+    Move a part of pop up menu common code to view_file.[ch].
+
+commit 4ba97284fc9972458cc337decd8f5e539a74bbb4
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sun May 11 23:09:39 2008 +0000
+
+    Introduce vf_pop_menu_file_list() as a wrapper to
+    vflist_pop_menu_file_list() and vficon_pop_menu_file_list().
+
+commit 2be39b52cf821f156ff7e35613f682cb85b8b8bc
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sun May 11 21:11:54 2008 +0000
+
+    Use vf_* functions where possible.
+
+commit 2a9c38f82f64a01d9c2984a778d8a1702f97c3a1
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sun May 11 20:38:21 2008 +0000
+
+    Drop unused layout_list_get_path() and vf*_index_get_path().
+
+commit 1fe24ccb2ec1ecfaecf2618da3c5353a346a3566
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sun May 11 13:17:38 2008 +0000
+
+    French translation was updated.
+
+commit 814bbc284c9bcb08ce6a3a45b34b601b86459870
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sun May 11 13:14:58 2008 +0000
+
+    An option to save and restore the last path used was added.
+    This option appears as startup.use_last_path in rc file.
+    Preferences > General > Startup was modified accordingly.
+
+commit ff3bbba625e982d3341491b771cf6a6b5b3ccd2c
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sun May 11 12:23:26 2008 +0000
+
+    Rename options:
+    startup_path_enable -> startup.restore_path
+    startup_path        -> startup.path
+    
+    Geeqie is still able to read old options.
+
+commit 4e0f18ac54c4b327c380d9c3be9db0dde2f964a7
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sun May 11 11:46:48 2008 +0000
+
+    Fix help window title.
+
+commit b01f014ebaba751530160ac533299d71681d5bc3
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sun May 11 11:44:58 2008 +0000
+
+    Use computed string length.
+
+commit 53e7b0df5c55a782d95cb892e1ba74b57221f2d6
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sun May 11 11:41:32 2008 +0000
+
+    Slightly increase help window's default width.
+
+commit 4e6dd6649934183de0294ce5cbfe76a6a00fd83f
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sun May 11 11:30:41 2008 +0000
+
+    Add an help button to OSD info configuration in Preferences dialog.
+    Make its own section named "Overlay Screen Display".
+
+commit c7a434caff3c658986b5e3188b47c9d31cb3b221
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sun May 11 10:25:04 2008 +0000
+
+    Partially update main README.
+    A section concerning overlay info was added.
+    Translation statistics were updated.
+
+commit 1fa5d80bd4c211fd31199ba5b8eab8ec638957d1
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sun May 11 09:37:46 2008 +0000
+
+    Change translations statistics formatting to match the style
+    use in the README file.
+    
+    Here is the result for current trunk:
+    
+    Translations statistics
+    Date: Sun, 11 May 2008 11:33:14 +0200
+    
+    Note: completion % in the chart below may not be quite correct
+          when fuzzy translations exist but do not appear in the source.
+          For exact results, run make update-po with up to date POTFILES.in.
+          comp % = trans / (trans + fuzzy + untrans)
+    
+    Language      Comp(%)  Trans  Fuzzy  Untrans  Total
+    fr             100.00    985      0        0    985
+    be              90.56    892     25       68    985
+    eu              68.53    675    150      160    985
+    eo              68.22    672    153      160    985
+    vi              68.02    670    156      159    985
+    it              67.82    668    154      163    985
+    pt_BR           67.82    668    154      163    985
+    zh_TW           66.90    659    150      176    985
+    sk              66.50    655    158      172    985
+    fi              64.37    634    176      175    985
+    nl              64.37    634    179      172    985
+    sv              64.16    632    175      178    985
+    bg              64.06    631    175      179    985
+    ca              64.06    631    175      179    985
+    cs              64.06    631    175      179    985
+    de              64.06    631    175      179    985
+    es              64.06    631    175      179    985
+    ja              64.06    631    175      179    985
+    ru              64.06    631    175      179    985
+    pl              60.61    597    148      240    985
+    ar              42.94    423    315      247    985
+    ro              37.56    370    342      273    985
+    hu              36.14    356    332      297    985
+    id              19.70    194    408      383    985
+    et              19.29    190    407      388    985
+    uk              17.16    169    411      405    985
+    nb              15.94    157    416      412    985
+    zh_CN.GB2312    15.94    157    416      412    985
+    th              15.13    149    413      423    985
+    sl              14.72    145    419      421    985
+    da              12.99    128    402      455    985
+    ko              11.37    112     52      821    985
+    tr               6.60     65    398      522    985
+
+commit 0cbf32806223d6271b1bd211cd4dfc22ba2736ca
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sat May 10 21:29:53 2008 +0000
+
+    Fix display of collection in overlay info.
+    Due to markup escaped <i>collection</i> was displayed instead of collection's in italic.
+    
+    Overlay info syntax was extended to allow the wrapping of displayed data with markup.
+    
+    General syntax is: %name[:length limit][:extra]%
+    Extra string uses special character '*' to mark the place of the data to display.
+    If no '*' is present, then extra string is just appended to data.
+    Any "\n" is replaced by a newline on display.
+    Pango mark up is accepted in left and right parts.
+    If data is empty, nothing will be displayed.
+    
+    Examples:
+    "%name:<i>*</i>\n%" -> name is displayed in italics ended with a newline
+    "%size:\n%"         -> size is displayed with a newline at end
+    "%formatted.ISOSpeedRating:ISO *%"      -> prefix iso number with "ISO " (ie. "ISO 100")
+    "Collection <b>*</b>\n" -> display collection name in bold prefixed by "Collection " and a newline is appended
+    
+    
+    Collection name formatting was slighly improved by not displaying the .gqv extension.
+    The default overlay info string was modified to use the new syntax, but older info strings should be
+    displayed as usual.
+
+commit fc25dbbf61f437c785404029bfce99ed4a71f6b1
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sat May 10 14:22:18 2008 +0000
+
+    image_osd_get() now returns OsdShowFlags.
+
+commit 73fa427e25508213e47fb0671e2a35a790b21b48
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sat May 10 13:54:25 2008 +0000
+
+    Display a simple grid with histogram.
+
+commit af4f4a115221b7c92ba4d7e6805ecc8988dc7147
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sat May 10 12:33:52 2008 +0000
+
+    Initialize to correct value (OSD_SHOW_NOTHING instead of FALSE).
+
+commit 48916cac7e50d057096dc76cab7401e3c0dc35b0
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sat May 10 09:00:14 2008 +0000
+
+    Save full OSD state to rc file and restore it on startup.
+    It allows to restore OSD with or without histogram depending
+    on previous state.
+
+commit 8ccd362187273137e9ed4b51671c6eeef90851dd
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Fri May 9 12:43:10 2008 +0000
+
+    image_osd_info_render(): if there's no fd, just return.
+
+commit c93ee033bf6c9c8d6169cb2e826f5f612990659b
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Fri May 9 12:33:24 2008 +0000
+
+    Move overlay histogram stuff from ImageWindow to OverlayStateData.
+    It simplifies things a lot and make more sense.
+    
+    Note: overlay icons display is broken since a long time it seems.
+
+commit 46a015d5305c8d75297c3d6748ca2b4375851e19
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Fri May 9 11:15:56 2008 +0000
+
+    Introduce image_get_osd_data() and image_set_osd_data().
+
+commit 77d3ccb4b995e0de2e0ac0facf1e03347549cadf
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Fri May 9 09:58:46 2008 +0000
+
+    image_osd_get() and image_osd_set() now uses flags.
+
+commit 94833dae9ada87a15401be7361988be493bbeaad
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Fri May 9 09:34:38 2008 +0000
+
+    image_osd_histogram_chan_toggle(), image_osd_histogram_log_toggle():
+    reduce indentation level.
+
+commit dd431ef1f82d42b02899f1ca1c9f6ad4e172ede4
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Fri May 9 08:39:18 2008 +0000
+
+    Preserve last histogram modes.
+    When a new histogram is displayed, it uses previously chosen
+    modes.
+    These modes are saved on exit to rc file as options:
+    histogram.last_channel_mode
+    histogram.last_log_mode
+
+commit 7917c5a3e4e89fd1b32de87c3788e32025820c41
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Fri May 9 08:03:25 2008 +0000
+
+    Update CODING and HACKING files, and add po/README file for translators.
+
+commit 8ef1e8c83e2cc7f9ee8715be574a2f72d2b1143c
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Fri May 9 07:46:18 2008 +0000
+
+    Make lirc_cleanup() and lirc_input_callback() static.
+
+commit 9cb23ddf80cbb03ee4b4557e4aaa9ecbee7dcb91
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Fri May 9 07:32:30 2008 +0000
+
+    Use function(void) instead of function() for declaring functions which
+    do not take any parameters at all.
+    It respects current Geeqie coding style more.
+
+commit 524cf262d075f28b08c51b187598b6c1f3276dde
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Thu May 8 22:59:14 2008 +0000
+
+    In the search results view, hide dimensions column instead of
+    displaying an empty one.
+    When dimensions search criteria is used, it is always displayed.
+
+commit 6b17a6ad374a2077265c1f806558aba0dd89b585
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Thu May 8 22:49:16 2008 +0000
+
+    Reset thumbnail column to NULL when hidden.
+    It fixes bug 1960274.
+
+commit 786c7401047ffbbec27820cf0e89d008e16ea488
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Thu May 8 20:21:03 2008 +0000
+
+    search_status_update(): slightly reduce code redundancy.
+
+commit cfe2b3ba31e60ed9863f7f9af807b2f936893ef7
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Thu May 8 12:50:25 2008 +0000
+
+    Use g_ascii_strncasecmp() instead of strncasecmp() where applicable.
+    Add a FIXME where potential improper usage of strncasecmp() is made.
+
+commit 6559dd1a68980c2e4a1708a84cfbb60e9775be33
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Thu May 8 12:38:34 2008 +0000
+
+    Use g_ascii_strcasecmp() instead of strcasecmp() where ascii-only strings
+    are used.
+
+commit 947a8668dbefb4da50c01673a18a6cfb2ec1908b
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Wed May 7 23:27:26 2008 +0000
+
+    Replace deprecated functions by their counterparts:
+    g_strcasecmp() -> g_ascii_strcasecmp()
+    g_strncasecmp() -> g_ascii_strncasecmp()
+    gtk_input_remove() -> g_source_remove()
+    g_io_channel_close() -> g_io_channel_shutdown() + g_io_channel_unref()
+    
+    All these are deprecated either since 2.2 or 2.4.
+
+commit c5f3fab36157bac8c74ef5401afc4b5478dc436b
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Wed May 7 22:54:33 2008 +0000
+
+    Resync po files.
+    French translation was updated.
+
+commit 0479ab313fcf0ac12489dfc4df49593b86e212f6
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Wed May 7 22:48:30 2008 +0000
+
+    Add a way to invert the current selection.
+    An item labeled "Invert selection" was added to the Select submenu
+    in the main menu.
+
+commit 2927044d43b56069079cfeac00aa6989b1c9c126
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Tue May 6 23:58:08 2008 +0000
+
+    Tidy up.
+
+commit 38ac488dfcdb0f560617f615b4ced2c01b63821c
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Tue May 6 23:53:12 2008 +0000
+
+    French translation was updated.
+
+commit 4b93995fdf301e4c54c7919ab2a7b4a50b08f87d
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Tue May 6 23:52:09 2008 +0000
+
+    Add trash.c.
+
+commit 25ad32ba818bbb3c7cb4c620a3ede5f9ed374541
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Tue May 6 21:35:31 2008 +0000
+
+    moved safe delete functions to separate file
+
+commit 8546ea31f763bd7e3386e4231be062ff2a73d55a
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Tue May 6 20:24:16 2008 +0000
+
+    use some of the new functions in filedata.c
+
+commit f05bac9cdc8755273958466df6df1b3f5305ee41
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Tue May 6 17:00:55 2008 +0000
+
+    Allow the user to append or replace comments for a group of selected files.
+    Two buttons were added to the Keywords panel.
+
+commit 5f3ddd491eb4d90e18663d030155cfae254ac385
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Tue May 6 12:31:23 2008 +0000
+
+    Use a dedicated option to enable keywords and comment saving as XMP tags
+    in image's files.
+    This new option is named "save_metadata_in_image_file" in configuration file.
+    User can toggle it through Preferences > Advanced > Miscellaneous > Store keywords and comments as XMP tags in image files.
+    Description of enable_metadata_dirs was modified as an attempt to improve clarity.
+
+commit 5ecec83ad07f14578f4922ad7ba7befca9a09c31
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Tue May 6 12:03:39 2008 +0000
+
+    comment_xmp_read(), comment_xmp_write(): cleanup and improve readibility.
+
+commit a729f5905a8ca4faeafca4f4e66832e408c52ccd
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Mon May 5 21:27:39 2008 +0000
+
+    French translation was updated, various fixes.
+
+commit 146b6e2a59584bda8c274ba313862a3abb82a634
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Mon May 5 20:56:20 2008 +0000
+
+    Belarusian translation was updated. Thanks to Pavel Piatruk.
+
+commit 117767d634649683e27badb1d7c2cffc1eac5334
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Mon May 5 20:51:51 2008 +0000
+
+    started implementation of API for sidecar files
+
+commit ffc2e29991a2d8d968133f5340cd711c1fd50c42
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Mon May 5 20:51:50 2008 +0000
+
+    Update POTFILES.in (filelist.c -> filedata.c).
+
+commit 512e5dddd1d85da2fe030e0a464d953d0733cd1e
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Mon May 5 20:49:40 2008 +0000
+
+    Modify regen_potfiles.sh to generate a patch instead of
+    directly applying changes to POTFILES.in.
+
+commit bf41ef491c80e033e2d028a87e00605ac893609f
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Mon May 5 19:20:46 2008 +0000
+
+    added .gqv to known file types
+
+commit 6e7bf48d03f50655a0e70015b3d33ce96bd80f5f
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Mon May 5 19:11:12 2008 +0000
+
+    split filelist.c to filefilter.c and filedata.c
+
+commit f798c6ab2cd9c89fa905f5003783a6c445551805
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Mon May 5 09:21:01 2008 +0000
+
+    Revert wrong patch rev 676.
+
+commit cfa6a11856d742e7b1e1bd46d6e7125eb1694a1b
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Mon May 5 09:12:07 2008 +0000
+
+    Add an helper script to regenerate POTFILES.in file.
+    POTFILES.in was updated.
+    French translation was updated.
+
+commit 0a259ddb8f1c4e2929ea0a5c7570e86d27cddc22
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Mon May 5 08:32:18 2008 +0000
+
+    Revert patch 675, and correctly fix gtk assertion failure.
+
+commit 37193c248cd813a72f62bce349c788072ca5b311
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Mon May 5 08:15:52 2008 +0000
+
+    Fix two memory leaks.
+
+commit 6c35f9de22600d4b8243b8d84095dfb716cedec9
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Mon May 5 07:46:32 2008 +0000
+
+    Fix Gtk-CRITICAL **: gtk_label_set_text: assertion `GTK_IS_LABEL (label)' failed
+    when swapping to/from file icon view.
+
+commit 5cacdd949c21b1c5b989b62eb48d91e094ef3e89
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sun May 4 23:57:20 2008 +0000
+
+    vficon_release_cb(): use switch() and cleanup.
+
+commit b9cb52f0d53dbc898c252dfef98fae9f832bb14d
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sun May 4 23:20:43 2008 +0000
+
+    Minor tidyup.
+
+commit c2117e7e72686ada0203a1d562263dc7f198cb4a
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sun May 4 23:06:46 2008 +0000
+
+    Drop unused vficon_select_by_path() and vflist_select_by_path().
+
+commit b6ea14610564d2367b0a74656717913362166e62
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sun May 4 23:03:36 2008 +0000
+
+    Minor cleanup.
+
+commit 509c70381ce8847866bb84ce398d074a749a6abf
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sun May 4 21:54:20 2008 +0000
+
+    dropped path_list functions, use filelist functions everywhere
+
+commit ac3bd2a2622adbf9154d805e6a0df4bab97f54af
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sun May 4 19:00:39 2008 +0000
+
+    Remove unused functions:
+    vflist_set_status_func()
+    vflist_set_thumb_status_func()
+    vflist_set_layout()
+    vficon_set_status_func()
+    vficon_set_thumb_status_func()
+    vficon_set_layout()
+
+commit d3ade2f9fd8e00a1fce9d8fc7bb32d359af96259
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sun May 4 18:45:06 2008 +0000
+
+    Drop ViewFileIcon, use ViewFile and ViewFileInfoIcon instead.
+
+commit 1267a5c07d5fb00b4eb9f9837b9d82aff3172b6e
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sun May 4 16:16:07 2008 +0000
+
+    Drop ViewFileList, use ViewFile and ViewFileInfoList instead.
+
+commit be9e09722d788060c1ccf58222ee9ca8c80871b6
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sun May 4 11:47:36 2008 +0000
+
+    Prepare switch to ViewFile (unused yet).
+
+commit 7192ff23dcf4fb721d72404649a98de99993f042
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sun May 4 00:32:05 2008 +0000
+
+    Shorten Edit menu labels, dropping "in ". It will ease
+    translations too, and user can define its own label in Preferences.
+
+commit f83f83eed158cf9671c8ccec4e52e4916802eb73
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sun May 4 00:21:14 2008 +0000
+
+    Do not show Copy, Move, Rename, Delete, New Folder external commands
+    in the Edit section of contextual menus.
+
+commit 50a7b03151f939ddc0f61ae9560de5c17412c3c1
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sun May 4 00:16:37 2008 +0000
+
+    Use GQ_EDITOR_GENERIC_SLOTS instead of hardcoded value.
+
+commit 66238168387b3ff974f886b5a039bbccd2d44099
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sat May 3 20:55:16 2008 +0000
+
+    exif_get_description_by_key(): check for "formatted." prefix, and optimize.
+
+commit 03acb7cb8dc91e0f307f818a61f6a7671fe8d9cc
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sat May 3 20:49:25 2008 +0000
+
+    exif_get_formatted_by_key(): skip prefix when comparing.
+
+commit 1000ac5af7b62b93b673d48353edbea43aff67e4
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sat May 3 20:40:50 2008 +0000
+
+    Change the prefix of formatted exif tags to a more explicit "formatted." prefix
+    instead of the shorter "f".
+    Warning: custom overlay info string has to be modified since old names are no
+    more recognized, one can reset it to default through Preferences > Advanced.
+
+commit e01df0556e0bbca765a2e07987148d3b6d10760a
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sat May 3 16:58:17 2008 +0000
+
+    Fix a bug occuring when using certain actions on a collection
+    item which is not in the selection.
+    Triggering it will either result in an assertion failure or a
+    segfault.
+    
+    To reproduce:
+    - open a collection
+    - right-click on a non-selected image
+    - select Delete... menu entry (or Copy, Move, Rename, Properties...)
+    
+    It results in the best case:
+    ** ERROR **: file filelist.c: line 905 (file_data_ref): assertion failed: (fd->magick == 0x12345678)
+    or a pure segfault due to corrupted data.
+    
+    collection_table_popup_file_list() has to return a list of filedata *
+    not a list of gchar *.
+
+commit 31ba226eb280ab241b855069dbc7cc10fc31f225
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sat May 3 15:19:35 2008 +0000
+
+    Move marks-related fields from _ViewFileInfoList to _ViewFile, since
+    they'll be used for file icon view too.
+
+commit 13e75141b49669425e206f358d06f6e1ca4a9627
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sat May 3 15:17:24 2008 +0000
+
+    Move common thumbs_* fields from _ViewFileInfoIcon and _ViewFileInfoList
+    to _ViewFile.
+
+commit 8ac7dc269a5411ee3504599b3c6a085f6aad312c
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sat May 3 15:13:15 2008 +0000
+
+    Rename thumbs_fd to thumbs_filedata in ViewFileIcon struct to match
+    the name used in ViewFileList.
+
+commit fd7d8c583de748c29c5304ee300e7af6a8d36ed8
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sat May 3 15:09:21 2008 +0000
+
+    Remove useless thumbs_list from ViewFileIcon.
+
+commit e1c39fa29264aea839610dfedca5e086b5128395
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sat May 3 12:50:52 2008 +0000
+
+    Add function prototypes (yet unused).
+
+commit a4659c7ea41ec4d1eeb659b1b1dd3d6bcc9bb833
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sat May 3 12:48:45 2008 +0000
+
+    Drop redundant vflist_thumbs_set() introduced in revision 649,
+    modify and use existing vflist_thumb_set().
+
+commit 26de6ed0184a1c43652a582938b2ceb688c4e6d4
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sat May 3 12:21:22 2008 +0000
+
+    Remove redundant prototype.
+
+commit c790abbf70208af477971ec3b3af3fa8e11dbe21
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sat May 3 11:58:41 2008 +0000
+
+    Introduce ViewFileInfoList and ViewFileInfoIcon (not used yet).
+
+commit 26cd72f831ddba954a4e85eb9300427e5e3e0b2a
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sat May 3 11:34:13 2008 +0000
+
+    Replace Layout icon_view field by more generic file_view_type.
+    Replace option layout.view_as_icons by layout.file_view_type.
+
+commit f5b1784d9050d4fdd3d6badb8acfdf8112d53e68
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sat May 3 10:31:37 2008 +0000
+
+    Set thumbs_enabled through new function vflist_thumbs_set() instead
+    of vflist_new().
+
+commit 04a9e3e249e4f237ff01a40c6fd3e8ce241eb107
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sat May 3 09:41:09 2008 +0000
+
+    Prepare merging of some parts of view_file_list and view_file_icon and
+    simplification of view_file* interface.
+
+commit f520f8c5a7f3a470fe072b6f00499612d759964f
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sat May 3 08:35:08 2008 +0000
+
+    Change default positions of dividers since width of the main menu
+    was increased.
+
+commit d2e52306a94755c9fdaae1ffca917ceefc3595f6
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Fri May 2 23:11:31 2008 +0000
+
+    Make exif_rational_to_double() and exif_get_rational_as_double() static.
+
+commit 4d369ddac3bd4da17eab8ea2397ddcf0d9be1f73
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Fri May 2 23:08:18 2008 +0000
+
+    info_notebook_reordered_cb(): do not call info_tabs_sync(), it causes exif
+    info disappearing when moving the tab.
+
+commit 2fc5d88ca3589beeee18a669cac708b719d90963
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Fri May 2 22:59:04 2008 +0000
+
+    Fix a Pango warning related to UTF8 when displaying internationalized
+    description in Advanced Exif Properties panel.
+
+commit 66d230fa707f98cbb75db6de0dd3cd66e235ab95
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Fri May 2 22:31:24 2008 +0000
+
+    exif_get_description_by_key(): tidy up.
+
+commit 30eb0123db8ca4fdacc34e21589f718ed3c9e260
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Fri May 2 22:28:39 2008 +0000
+
+    Add a pointer to the build function in the formatted exif tags struct
+    and use a loop in exif_get_formatted_by_key().
+
+commit c59ca563a159852e616063a9595c24f432cf9ef7
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Fri May 2 21:58:36 2008 +0000
+
+    Indentation fix.
+
+commit 74dc50f227b9f46e2c6746db4f0cfe7d7607888d
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Fri May 2 21:34:26 2008 +0000
+
+    Explode exif_get_formatted_by_key() in smaller functions prefixed "exif_build_f".
+    An helper macro was added to call them.
+
+commit 4fff33dde0de9160cf9ea5df78c69905a00ba24c
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Fri May 2 20:56:59 2008 +0000
+
+    Remove unused checksum_simple() function.
+
+commit 7fd292e32d3445f1cf7c60d2268f8a3c0d10d49b
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Fri May 2 20:40:47 2008 +0000
+
+    Simplify remove_extension_from_path().
+
+commit 4f05f85b26d36c87e449a59d68c7105a7cdb138b
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Fri May 2 20:27:47 2008 +0000
+
+    remove_level_from_path() was simplified.
+
+commit f4b58f7255ce0a67d0076b09f11f2e542f387b51
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Fri May 2 09:03:52 2008 +0000
+
+    Move variable declaration and affectation near where it is used.
+
+commit 0142966824cfdbcefc79a188a4b3aae3d8253c6e
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Fri May 2 08:41:32 2008 +0000
+
+    Replace GQView by Geeqie.
+
+commit 3cce6caefa4385a18b79e83df02743f2c0652103
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Thu May 1 23:20:26 2008 +0000
+
+    Use sizeof() instead of hardcoded buffer sizes.
+
+commit 787538b30bd23fc85a3e8aae38c1ea6877aed636
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Thu May 1 22:59:54 2008 +0000
+
+    cache_sim_write_similarity(): cleanup and simplification.
+
+commit 0d8286ddc775e675c1f3552f92047d3928637d32
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Thu May 1 22:31:14 2008 +0000
+
+    Use secure_save stuff to write .sim files.
+
+commit 68cf3760029075a5e3877954eacef14ee5f67956
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Thu May 1 22:30:16 2008 +0000
+
+    save_options(): minor code simplification.
+
+commit a2ff3d30a0ccf398323de9245d13cb166256f333
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Thu May 1 22:27:44 2008 +0000
+
+    Add a wrapper to fwrite().
+
+commit cae11cbe267cb6f95da10ea3c5d472d4e6069a34
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Thu May 1 21:42:22 2008 +0000
+
+    Typo fix.
+
+commit 394f2839406f77bc462f371da7c81539804e3d5d
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Thu May 1 18:37:50 2008 +0000
+
+    Indentation fixes.
+
+commit ac59f9924c35122eaa97af9ce56f966b97738035
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Thu May 1 18:26:30 2008 +0000
+
+    Simplify and optimize extension_find_dot().
+
+commit e00eb93689768d84f6edd346ae2d4619d1fc2399
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Tue Apr 29 22:44:06 2008 +0000
+
+    fixed a memory leak
+
+commit 53bb7d6c6c0eba150ceda32609281a2bccc43241
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Tue Apr 29 18:12:49 2008 +0000
+
+    cleanup: use image_get_image_size
+
+commit 76b0903edc9ab43fcf41d2a9134c4ef969b8ccb6
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Tue Apr 29 17:52:12 2008 +0000
+
+    fixed connected zoom and scroll that didn't work in some cases
+    http://sourceforge.net/tracker/index.php?func=detail&aid=1952429&group_id=222125&atid=1054680
+
+commit 6e5e4f7670c45b55f2fca8b3916f1b9f9397a318
+Author: Petr Ostadal <postadal@suse.cz>
+Date:   Sun Apr 27 23:31:20 2008 +0000
+
+    fix warning cast from pointer to integer of different size (when an integer is
+    passed instead of a pointer to a callback, GINT_TO_POINTER(i) should be used)
+
+commit 5ae4228a32c2758ec72a0a780a2480474033bb80
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sun Apr 27 20:05:11 2008 +0000
+
+    Added LIRC patch written by Matteo Beniamino
+
+commit 24110e7cf37b69fd01db02f203c5f1a25b5d113d
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Fri Apr 25 20:23:21 2008 +0000
+
+    Fix number of directory views, bug introduced in revision 617.
+
+commit 1f3d7a4f31640be1c85f8cd4d8bd966665d7399c
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Fri Apr 25 20:08:47 2008 +0000
+
+    fixed dragging multiple files from file list
+    http://sourceforge.net/tracker/index.php?func=detail&aid=1950740&group_id=222125&atid=1054680
+
+commit 0fb3e0276867a5224e267571b04641290d9b1013
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Fri Apr 25 09:31:32 2008 +0000
+
+    Add a line about variable and function names.
+
+commit 23b982817520f7e361b3252b18efb0c391f08e17
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Fri Apr 25 09:28:45 2008 +0000
+
+    Document the Geeqie coding style.
+    This is a draft, please improve.
+
+commit 74182a124ee9eca4d76d2e4da9b690dea61a651e
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Fri Apr 25 08:07:22 2008 +0000
+
+    Handle the case of reduction of the number of view directory types.
+    Previously it was leading to a segfault.
+
+commit 856f0b26d9bd498c8e093e75c5a7f7b5bdb8238f
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Thu Apr 24 20:29:09 2008 +0000
+
+    Allow to copy the path of a directory to clipboard from directory views.
+    Show Copy path option has to be enabled.
+    Suggested by Frédéric Mantegazza.
+
+commit 76747275b6e719dbb4efb93d414f82ab2f177d79
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Thu Apr 24 20:18:59 2008 +0000
+
+    Do not allow to add anything but directories to sort bar in
+    folder mode through drag'n'drop.
+    Introduce a new field only_directories to _BookMarkData struct.
+
+commit 9816ef505ad7693841db4e85a5f64d43669675df
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Thu Apr 24 16:35:02 2008 +0000
+
+    Add missing spaces around equal sign.
+
+commit a792a5a9f9267bf8872daff3494a374909d9fca7
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Thu Apr 24 16:32:20 2008 +0000
+
+    Cleanup exif_get_formatted_by_key().
+
+commit de5436b46e7f303f7c16620e67b18ccde63b386e
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Thu Apr 24 15:57:58 2008 +0000
+
+    Add missing space.
+
+commit f6a8c6dfbe0c9db2e662734deb336b57de9bdb6f
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Thu Apr 24 15:53:08 2008 +0000
+
+    6 for() vs 201 for (): winner is for ().
+
+commit db804e24c3646853cd23436cff8ae6ae8926d726
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Thu Apr 24 15:49:57 2008 +0000
+
+    Convert the minority of while() to while ().
+
+commit 371332db2d9c7cc5f72c701fd92623c395489280
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Thu Apr 24 15:44:43 2008 +0000
+
+    Use only one secure_fprintf() call instead of two.
+
+commit 1203b7f1892105a3ac8019cabb7b7d5a8e85cb34
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Thu Apr 24 15:31:21 2008 +0000
+
+    Use sizeof().
+
+commit 0b16c7147a350800d4f4afd2c191d62bbf590e7c
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Thu Apr 24 12:47:09 2008 +0000
+
+    Remove whitespace between function name and first parenthesis for the sake of consistency. (pass 2)
+
+commit 002da4045e3fb091adca1bd57745334f40514257
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Thu Apr 24 12:23:02 2008 +0000
+
+    Remove whitespace between function name and first parenthesis for the sake of consistency.
+
+commit a603169a7d2e745aeb638509fbe839d1182257ec
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Thu Apr 24 11:40:26 2008 +0000
+
+    Indentation fix.
+
+commit 9ed4108d3855b95889c28bd7860f746da900a11d
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Thu Apr 24 09:50:37 2008 +0000
+
+    Display file_data debug messages only at level 2.
+
+commit 7e6cbe554f63e4a16a1ab72333c9f66a7e196347
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Thu Apr 24 09:43:23 2008 +0000
+
+    Move get_exec_time() to debug.{c,h}.
+
+commit 161a3cf407b2af7ce02dcf15792dd9ca8c5c8c16
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Thu Apr 24 09:09:48 2008 +0000
+
+    Move options stuff to options.{c,h} and remove globals.c
+
+commit af1beef9f10c4d5408d73ecbd606cbc0a87b68a3
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Thu Apr 24 08:53:39 2008 +0000
+
+    Move debug macros from main.h to new debug.h.
+    Make debug_level static to debug.c and add utility functions
+    to manipulate it.
+    Add #include "debug.h" where needed.
+
+commit b23c9dac6850b794e8002b031704bff3d83f0b20
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Thu Apr 24 00:15:03 2008 +0000
+
+    Handle the newline in DEBUG_N() macro instead of adding one
+    in each debug message string.
+
+commit 30cfbdf85a61414f63e52f8e21a4fb0ede49acf3
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Wed Apr 23 23:52:20 2008 +0000
+
+    French translation was updated.
+
+commit 9a8f43f7c1f08425b82ab3f52e22ecd81e7c7834
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Wed Apr 23 23:51:02 2008 +0000
+
+    Make image_osd_histogram_onoff_toggle() and image_osd_histogram_onoff_status() static.
+
+commit addef370767780cc6253b4e0d4a592de481f01e4
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Wed Apr 23 23:47:53 2008 +0000
+
+    Fix image overlay displayed only on second "I" press in layout view.
+
+commit 7d68ee688db510528ad6338e6b9e7b909e02c9cf
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Wed Apr 23 23:35:13 2008 +0000
+
+    Display file and line along debug messages for any debug level but level 1.
+    Add a DEBUG_0() macro for instant debugging.
+
+commit e153caa7d02808144fdae1a5348336e61083d972
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Wed Apr 23 22:40:55 2008 +0000
+
+    Fix Gtk-CRITICAL **: gtk_entry_set_text: assertion `GTK_IS_ENTRY (entry)' failed
+    occuring when toggling file list view <-> file icon view.
+
+commit a2a3d0fee28a20f0ede745ab50e3e482aa40dc88
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Wed Apr 23 22:38:34 2008 +0000
+
+    clear the buffer before loading of an image
+
+commit 1d9e03e85df8fde6dec5542ed0125e445fe3ee02
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Wed Apr 23 22:33:18 2008 +0000
+
+    Use menu_item_add_stock_sensitive() and menu_item_add_sensitive().
+
+commit 5773dedeb1eacfe953bcfae30c251bd27f158b81
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Wed Apr 23 22:22:37 2008 +0000
+
+    Update to contributors list.
+
+commit 3a71a78dc06c95ba23d1662e97621aef80d7ad92
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Wed Apr 23 22:17:21 2008 +0000
+
+    Allow the copy of file paths to clipboard.
+    This feature is disabled by default, it can be set through
+    Preferences > Advanced > Behavior > Show "Copy path" ...
+    When enabled, it adds a menu entry "Copy path" that let the
+    user copies current selection's paths to X clipboard.
+    It is very convenient to paste paths to xterm for example.
+    Patch by Carles Pina i Estany and me.
+
+commit b022eddfd7c892f7db4b262e9f027237255c8735
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Wed Apr 23 21:08:29 2008 +0000
+
+    fixed a bug in opening files with non-utf8 locales in exiv2.cc
+
+commit 51514f069a0c030ac9ff092a89979f48cc55e10b
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Wed Apr 23 20:47:19 2008 +0000
+
+    Introduce macros to display debug messages.
+    if (debug) printf(...) is now replaced by variadic macros:
+    DEBUG_1()
+    And for higher debugging levels:
+    DEBUG_2()
+    DEBUG_3()
+    DEBUG_4()
+
+commit b98126503e690efb410be9b153b582879f5b3831
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Wed Apr 23 13:46:18 2008 +0000
+
+    Honor Control and Shift keys while drag'n'droping files
+    to directories.
+    Before a menu (Copy/Move/Cancel) was always displayed, now
+    if the user hold Shift key or Control key, the menu
+    is not shown, but move or copy actions take place.
+    If no modifier key is used, the menu is displayed as usual.
+
+commit 8239272a1d8bd4af22478acb3f5776a5f2faf1a2
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Wed Apr 23 13:03:04 2008 +0000
+
+    Only display message if in debug mode.
+
+commit 682629894b3882e3de68c123c531fb8d8b261424
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Wed Apr 23 09:56:21 2008 +0000
+
+    Fix adding a selection to a collection with no window open
+    using the sort manager. Only one file was added, now all
+    files in the selection are added (but duplicates).
+    A pointer was not reset correctly.
+
+commit 9b106381f25bf9d76db2590c1a08586330da4a33
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Tue Apr 22 23:53:24 2008 +0000
+
+    Save sort manager state to rc file.
+
+commit b1c55eb8df1c22305054d139fbfe65e2a73f377b
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Tue Apr 22 22:45:51 2008 +0000
+
+    Remove unused function bar_info_size_request().
+
+commit 38c13e591d7ff69980e0886af4fba060bee911d4
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Tue Apr 22 22:44:10 2008 +0000
+
+    Save state and width of exif, info and sort panels to rc file.
+    Width is restored only if save windows dimensions is set.
+
+commit a634981a6a28b9f16aef7839b60b2f822ed0971d
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Tue Apr 22 19:26:07 2008 +0000
+
+    updated ChangeLog from svn log
+
+commit 1aeed5d363fa31ad42d7f8aaaf5d8abc47470a87
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Tue Apr 22 18:06:38 2008 +0000
+
+    fixed version string ;)
+
+commit 3ace564b446504e8cc34456c46623e16e939fbfa
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Tue Apr 22 17:45:08 2008 +0000
+
+    updated version number
+
+commit 17fd8dee35ce3751744578a472f1b14de63a4f30
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Tue Apr 22 17:40:29 2008 +0000
+
+    fixed reading of signed rational type with Exiv2
+
+commit 0975a01fb79e3c92c058903a311cbc87e0d06370
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Tue Apr 22 09:57:26 2008 +0000
+
+    fixed instalation of doc files
+
+commit d19be6a6cb20a06c7ee518de9fff486458f4ad10
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Tue Apr 22 09:40:05 2008 +0000
+
+    Correctly escape data before using pango_layout_set_markup().
+    Exif data may contain characters like & or < >.
+
+commit b38d66e98392adcdd1494ab7949254e9b4e99f95
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Tue Apr 22 09:01:29 2008 +0000
+
+    Use image_osd_toggle() in layout_menu_overlay_cb().
+    Drop layout_image_overlay_update().
+
+commit 996cf10ace4e17c5a537497d7a1d04bf8e15ee36
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Tue Apr 22 08:53:07 2008 +0000
+
+    Merge view_overlay_toggle() and layout_image_overlay_toggle() into new image_osd_toggle().
+
+commit 5a18e80ff0ad111a754d3bdc8360269cadbd1615
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Tue Apr 22 08:34:30 2008 +0000
+
+    Make histogram depends on image window not layout window.
+    It simplifies the code, and make more sense.
+
+commit 360f7fcab05c29e3a84dab69169b4018f469fbee
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Tue Apr 22 08:16:02 2008 +0000
+
+    Ensure Properties dialog is displayed above fullscreen window.
+    Add a parameter to info_window_new() to pass parent window and
+    revert patch 472.
+
+commit e67ca23513e0fd8f06fbef46a4ca1468a88c6ce2
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Mon Apr 21 22:19:32 2008 +0000
+
+    Indicate bugs and feature requests trackers, remove obsolete stuff.
+
+commit 3f5e512adb9df8f201ecf8d8bce049b63dfa4f4e
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Mon Apr 21 22:15:56 2008 +0000
+
+    Lowercased name.
+
+commit c5b86fa162157a545e37a9ed018c52c919082580
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Mon Apr 21 22:14:57 2008 +0000
+
+    . -> dot
+
+commit 29042cb9cebffa90766495d7bf8814879474af89
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Mon Apr 21 21:46:38 2008 +0000
+
+    updated copyright in source files
+
+commit db4cefbd463659115e9d976d6f230129c93194bb
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Mon Apr 21 20:45:35 2008 +0000
+
+    Properly initialize image_overlay options.
+
+commit f717a49667e8ff0062bb65eda5a01cf40b076c21
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Mon Apr 21 20:42:18 2008 +0000
+
+    Few more fixes to french translation.
+
+commit 6be1d7a64de4a9a366b0d121b113250df5a42a28
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Mon Apr 21 20:39:36 2008 +0000
+
+    Add some macros to handle rc file compatibility issues related to
+    option name changes.
+
+commit c3d35ef8b25f158d7be74ff154babded3ef26f29
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Mon Apr 21 20:27:39 2008 +0000
+
+    Minor french translation fix.
+
+commit f47a3abcefad2232201d57ecb20385673dd05d1f
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Mon Apr 21 20:24:15 2008 +0000
+
+    French translation was updated.
+
+commit 5a38c6d5dc83b4c142ea82ee702ab72e33f69403
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Mon Apr 21 20:12:49 2008 +0000
+
+    Rename few functions and replace fullscreen info with image overlay template string.
+    fullscreen_info_default_cb() -> image_overlay_default_template_cb()
+    fullscreen_info_default_ok_cb() -> image_overlay_default_template_ok_cb()
+    set_default_fullscreen_info() -> set_default_image_overlay_template_string() (moved to image-overlay.h)
+
+commit 7eb4f7249138c689fd41c2890b0a8ad3b24566d9
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Mon Apr 21 20:01:22 2008 +0000
+
+    Replace fullscreen.info and fullscreen.show_info options by:
+    image_overlay.common.enabled => to save last state to rc file
+    image_overlay.common.show_at_startup => overrides .common.enabled at startup
+    image_overlay.common.template_string => replace fullscreen.info
+    
+    common is used since for now there is only one image overlay setup,
+    later specific setups may be added.
+
+commit 1b40318865ffee3150d652c83bb4eca400f78431
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Mon Apr 21 19:42:58 2008 +0000
+
+    fixed another "gqview" occurence
+
+commit 83e3573f5fb4bec00d4377ddc27e1904f4f68da1
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Mon Apr 21 19:10:41 2008 +0000
+
+    updated NEWS, README and other documentation files
+
+commit 00157fa203d628c0903da8332a40d0e1e0a0e6f8
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Mon Apr 21 18:09:30 2008 +0000
+
+    renamed no.po to nb.po
+
+commit e13355d5fc8beff343cda7db7187822b688dd61f
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Mon Apr 21 15:30:16 2008 +0000
+
+    Fix a segfault occuring when pressing 'i' for overlay info
+    in a separate image window (no layout).
+
+commit 4d1beccf7d7de512882e5f59757c52c326d1a1b6
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Mon Apr 21 14:19:48 2008 +0000
+
+    histogram_draw(): tidy up.
+
+commit 667d057287d39224fd008329ec6a5e0d28dcc818
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Mon Apr 21 13:39:17 2008 +0000
+
+    histogram_read(): speed up calculations by 20%.
+
+commit c397f66ddcc3c7651cda421f11a5cae13afa92ba
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Mon Apr 21 11:44:03 2008 +0000
+
+    histogram_read(): use memset() to initialize histogram data instead of for() loop.
+
+commit a7ae368828f16b5cd0d2ea3375242f6cb90eee86
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Mon Apr 21 10:11:55 2008 +0000
+
+    French translation was updated.
+
+commit 56adb85f9ede97ad87f1c8adbe2b95814128ee7c
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Mon Apr 21 10:10:23 2008 +0000
+
+    Add compat.c to POTFILES
+
+commit d3339b5ef4ccfc029f07766426faf12b30ff5824
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Mon Apr 21 10:09:01 2008 +0000
+
+    Allow the user to set the drag'n drop icon size through
+    Preferences > Advanced > Behavior > Drag'n drop icon size.
+    It is saved to rc file as dnd_icon_size.
+
+commit c10bf95960a1aa871faf0d9930098bdd9a9b1b1c
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sun Apr 20 23:17:35 2008 +0000
+
+    Add a replacement for gtk_radio_action_set_current_value() which
+    require GTK+ >= 2.10.
+    Two new files were added, compat.h and compat.c.
+
+commit bac25c157f02acaf5d06970e49a87cf31809bb44
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sun Apr 20 22:51:53 2008 +0000
+
+    French translation was updated.
+
+commit 1563535bd6d10e9615ab1c67c12531ceaa15ae79
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sun Apr 20 22:45:00 2008 +0000
+
+    Add number mnemonics to image view editors submenu.
+
+commit ea59e24d4f4084f19376efb2a1ff8687e549ed6b
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sun Apr 20 22:29:23 2008 +0000
+
+    Prefix editor entries in the main menu with numbers.
+    It allows Alt+E+number as shortcut to start an editor.
+
+commit 2fa99cc17f3ce25101d9dcd1f9a8a9313e39532f
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sun Apr 20 22:14:54 2008 +0000
+
+    Add missing shortcuts.
+
+commit 8b4cfba15cf968c6ad9cb9804838924d3988b19f
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sun Apr 20 22:14:38 2008 +0000
+
+    fixed color profile code for older versions of exiv2
+    compilation fixes
+
+commit 118f92d8da6b070dba40ad7e56311e40cc923107
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sun Apr 20 22:01:26 2008 +0000
+
+    Mark slideshow toggle state in the menu.
+    There is still an issue due to layout vs view slideshows...
+
+commit 59c6c8f009efbe091aabc08e26671790ef8fbba9
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sun Apr 20 21:38:45 2008 +0000
+
+    Fix a typo introduced by revision 521.
+
+commit 282581c95553818382b548f0900e04ae661a8db7
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sun Apr 20 21:35:03 2008 +0000
+
+    read color profiles from jpeg also with Exiv2
+
+commit 7d1f6b971340bdf761b26db2b075c205745ba91f
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sun Apr 20 21:30:36 2008 +0000
+
+    Use explicit names for mouse buttons instead of numbers.
+    MOUSE_BUTTON_LEFT   = 1
+    MOUSE_BUTTON_MIDDLE = 2
+    MOUSE_BUTTON_RIGHT  = 3
+    It makes the code easier to read.
+
+commit cd9fb13e5fcc4e47598bb671e05c6b88e2698aed
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sun Apr 20 20:35:26 2008 +0000
+
+    Fix a typo: unoffical -> unofficial
+
+commit b880b00f068794630e7a358b5cec718e7e594019
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sun Apr 20 18:07:51 2008 +0000
+
+    Effectively drop empty newlines at end of files (missing from rev 535)
+
+commit a1c71d3b2ba033f5baa6e19d1ed39a8d6f192279
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sun Apr 20 16:50:19 2008 +0000
+
+    comment_file_read(): rewrite the parser, drop leading and trailing newlines
+    in comment.
+
+commit d4392d114707bdc5888aeee2d614377a0609a9c0
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sun Apr 20 13:42:22 2008 +0000
+
+    Minor cleanup and code redundancy reduction.
+
+commit 9ad0a718914f45230e0f19475875e09a9afd3ceb
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sun Apr 20 13:30:36 2008 +0000
+
+    editor_command_one(): tidy up.
+
+commit 7adf4f744a2e3b8ba952263f51155b634660b38d
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sun Apr 20 13:04:57 2008 +0000
+
+    Big whitespaces cleanup:
+    - drop whitespaces at end of lines
+    - convert eight spaces to tab at start of lines
+    - drop spurious spaces mixed with tabs
+    - remove empty lines at end of files
+
+commit c97955e4ac06a81f2a352a24ea21ebfeaeb7bb71
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sun Apr 20 10:05:27 2008 +0000
+
+    Allow the user to change open_recent_list_maxsize option through
+    Preferences > Advanced > Navigation.
+
+commit 71f3f6c7065587a9c1d15fe1a33af8ed5f6d3e12
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sun Apr 20 09:53:37 2008 +0000
+
+    rm as external delete command is too dangerous, even for testing
+
+commit 95eb1d8bc4485bc510073487e2f83f4f60905258
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sun Apr 20 09:47:51 2008 +0000
+
+    Add a way to restore original state in Adjust menu.
+
+commit 8b67bd63f4e6e07b45fc738face1abf359dfc937
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sun Apr 20 09:29:46 2008 +0000
+
+    added fColorProfile pseudo-tag with detailed information
+
+commit c648cdf41aa74fb22dfda4d427f88b2bfe46a0f0
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sun Apr 20 09:02:05 2008 +0000
+
+    Fix the case "orientation from FileData, color profile from exif".
+    Reported by Vladimir Nadvornik.
+
+commit 448b0fb89c7de9573e5ec7ff440fa301ac7ffb3e
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sat Apr 19 23:12:30 2008 +0000
+
+    Rename inappropriate folder_size to folder.
+
+commit 49f7e41a9d6f9bfb35c76870e296bc2fdc8aa395
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sat Apr 19 22:32:07 2008 +0000
+
+    Use sizeof() for buffer size where appropriate.
+
+commit 3e04d15e24bcfb5ef26ed869c301e06a170f780d
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sat Apr 19 21:50:05 2008 +0000
+
+    Keep image orientation set by the user during the session.
+
+commit a99ca586e977ec78bc4255917a9cf9b2b216d9b7
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sat Apr 19 21:30:19 2008 +0000
+
+    Save Show Marks state to rc file and display current state in menu.
+    It is saved as boolean option layout.show_marks.
+
+commit 1879b71339a3fef471ddf453198cda29293498b8
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat Apr 19 21:20:08 2008 +0000
+
+    fixed max. number of profiles
+
+commit 9fbfd4fb566a6f1e7cdb2f8789573197a2c60231
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sat Apr 19 21:18:24 2008 +0000
+
+    Sort options.
+
+commit b2b6e8ce2fddde58139ddebc40ef655d828b216e
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat Apr 19 21:10:18 2008 +0000
+
+    fixed color profile index
+
+commit 218f722e6adc43c59d01a2d28706909d128fa0a5
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sat Apr 19 20:53:12 2008 +0000
+
+    Let toggle marks with numeric keypad.
+
+commit cc35c193b2e718a4c336f4eb5c92e8133ac63587
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat Apr 19 20:19:27 2008 +0000
+
+    I have finally found how to add alternative hotkeys
+    removed more hard-coded keys
+    "Split Quad" is without hotkey for now
+
+commit 28b3a3ee99d6ea34fd3c711cbe1fdc1ea32d66d8
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sat Apr 19 19:28:10 2008 +0000
+
+    Accept keywords composed by two words ("Todo" = "A faire" in french).
+    Prevent duplicate keywords in the list.
+
+commit 3cb190ac4fff1239d5dd27a2d20e9e85c3fbcf8d
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat Apr 19 17:55:41 2008 +0000
+
+    show the AdobeRGB profile in the menu, indicate input profile from image
+
+commit f3f92c31a15a0dc60c5b0cd69840c25addcff285
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sat Apr 19 17:14:03 2008 +0000
+
+    file_dat_unref: display number of references as well of path (debug only).
+
+commit 1a73876d6a93b15ef5f5ec6bbbfbdf34320c80bf
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat Apr 19 16:26:29 2008 +0000
+
+    first support for AdobeRGB colorspace
+
+commit fa1a2b4b8ce6f2d80b7abffcffbc41101bf069a7
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sat Apr 19 16:10:08 2008 +0000
+
+    French translation fixes.
+
+commit 9654df9924eb462012f0b45cf69164107912779d
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sat Apr 19 13:40:20 2008 +0000
+
+    French translation fixes and updates.
+
+commit 7d2b5d37b2f6261648d57961a895c90b504c7f81
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sat Apr 19 13:39:21 2008 +0000
+
+    Add missing _().
+
+commit 7f2c5644543924da2eba00708070b3b612718f29
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sat Apr 19 12:46:59 2008 +0000
+
+    Add the possibility to update only one translation file using,
+    for example: make update-po PO=fr
+    autogen.sh applies a patch made against glib-gettextize generated Makefile.in.in
+
+commit c96a154ee7cfeddc35acfb23999639f8d2004d3d
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sat Apr 19 11:11:53 2008 +0000
+
+    Cleanup last patch:
+    - drop vd_pop_menu_dir_view_as_cb() since it is now unused.
+    - use G_N_ELEMENTS()
+
+commit a139b891f3932562bae2980e03ad4986f89847ab
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat Apr 19 09:49:14 2008 +0000
+
+    improved spec file
+
+commit d338acaf8596de02899bd7d5965855b354d3ceec
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sat Apr 19 09:36:30 2008 +0000
+
+    Fix directory view popup menu to display a View As submenu
+    to switch between different directory views.
+
+commit faead0406f174630dbb35832acd36d89aabdc293
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Fri Apr 18 23:35:16 2008 +0000
+
+    gimp-remote has no -n option.
+
+commit 2167314197590c1a13c1f2d13e3b5cb018d17de1
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Fri Apr 18 23:09:03 2008 +0000
+
+    Add zoom ratio display to OSD in fullscreen mode.
+    It appears as [%zoom%] in fullscreen info string.
+    It is now displayed by default.
+
+commit f595a30b44e656fa390abb9aba67d0c6768f3369
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Fri Apr 18 22:31:58 2008 +0000
+
+    partially fixed reading embedded color profiles with exiv2
+
+commit aa3a6e89bf61d28862db69c00596385c2a72733d
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Fri Apr 18 22:15:01 2008 +0000
+
+    Add two new options to control image read buffer at runtime.
+    They are available in Preferences > Advanced > Image loading and caching.
+    Default read buffer size was set to 4096 instead of 512.
+    These options are saved to rc file.
+
+commit 37af10a74df5d4f3031849ab0a678a9fc2e3d47f
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Fri Apr 18 21:53:33 2008 +0000
+
+    Display elapsed time since previous get_exec_time() call (debug only).
+
+commit a010c8ea1081d31b948c09e3ab1e87a433c5ee10
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Fri Apr 18 21:51:08 2008 +0000
+
+    Remove forgotten debug printf().
+
+commit 763f8437ee2541f39a309154d249b088323eacad
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Fri Apr 18 21:42:00 2008 +0000
+
+    Fix OSD display when fullscreen info string is empty.
+
+commit 7df25c1ba74b9a175fdf33d90bce28db6cd908b2
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Fri Apr 18 21:30:12 2008 +0000
+
+    replace inner loops with memcpy
+
+commit a31575c389e7d8c007dbcac3e47f94e56f9188bf
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Fri Apr 18 20:41:09 2008 +0000
+
+    Explode pr_tile_mirror() in three optimized functions:
+    pr_tile_mirror_only()
+    pr_tile_mirror_and_flip()
+    pr_tile_flip_only()
+
+commit 41f45372c2b917e1595d8e9d83871326d07ea97b
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Fri Apr 18 16:53:41 2008 +0000
+
+    Rename vd_drop_update() to vd_dnd_drop_update().
+    Add two function pointers to ViewDir struct to keep
+    vdtree_dnd_drop_expand_cancel() and vdtree_dnd_drop_expand()
+    static to view_dir_tree.c.
+
+commit 1b102510a0a4900076a2a34467feb80dab809734
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Fri Apr 18 16:29:47 2008 +0000
+
+    Drop 3 useless #define.
+
+commit 5add0a6fd3900ca0c6ea0ed8989e74780f27a8c7
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Fri Apr 18 16:25:40 2008 +0000
+
+    Fix forgotten vd->pf affectation.
+    Cleanup, and reduce code redundancy a bit.
+
+commit 07b43fa0b6dd45d7961e0c6472577ba1562a26e9
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Fri Apr 18 11:01:41 2008 +0000
+
+    Explode pr_tile_rotate_90() in two functions:
+    pr_tile_rotate_90_clockwise()
+    pr_tile_rotate_90_counter_clockwise()
+    Optimize the code at the expense of a bit of code redundancy:
+    tests were moved outside the loops, intermediate results are now cached.
+
+commit d7c3043727595dcb6024590e37180486d1da9793
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Fri Apr 18 09:15:09 2008 +0000
+
+    Introduce printf_term() macro and use it.
+
+commit 8d5ef0b6c0b83a18dc1c9b72b01a5a84ad998468
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Thu Apr 17 20:14:49 2008 +0000
+
+    Add a shortcut key for List (L) and change the one for Tree (T),
+    they are now in a submenu.
+
+commit 1b4a527e848a686aff4d182347b8c113646c5e6f
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Thu Apr 17 20:03:49 2008 +0000
+
+    Add some wrappers in view_dir.c and simplify even more.
+
+commit c53023e25a970f212a1e33b6921b1ad5084525db
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Thu Apr 17 19:57:41 2008 +0000
+
+    Fix a bug introduced in revision 489.
+
+commit fb146a2c8938469f9a9a9e17ad10762f02792919
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Thu Apr 17 18:44:17 2008 +0000
+
+    Reduce code redundancy with the introduction of a new
+    function named vd_get_fd_from_tree_path().
+
+commit 8015d0ae2c89c1c524292fc72d0cf41a8318ef18
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Thu Apr 17 17:44:54 2008 +0000
+
+    image post-processing (rotation and color management) moved to
+    pixbuf-renderer
+
+commit 524fc51faed3885c6126225ad9627f7b2e345286
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Thu Apr 17 17:35:51 2008 +0000
+
+    Merge vd(list|tree)_release_cb() in vd_release_cb().
+    I made some assumptions here i hope correct.
+
+commit a165d9a199cfcc40f8a7510e31c3809fd3a15ef0
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Thu Apr 17 17:19:41 2008 +0000
+
+    Merge few more functions to view_dir.c.
+
+commit 054116d5c6fa3f7afb7773b64eb5d0ddba4385d8
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Thu Apr 17 16:33:31 2008 +0000
+
+    Move common menu position callback to view_dir.c.
+
+commit 4394fa7a38bcb5b24ee6064a753cf78ee18adcec
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Thu Apr 17 14:51:32 2008 +0000
+
+    Merge dirlist/dirview dnd code.
+
+commit a264c79b0c70ef6160afe5914ad1a68828ada895
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Wed Apr 16 22:51:32 2008 +0000
+
+    Regenerate translations files and update french translation.
+
+commit add5ed9d94ecc2d0df2d60610480d23c1082ae3e
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Wed Apr 16 22:31:52 2008 +0000
+
+    Fix new folder feature in dirlist mode, it was broken by revision 481.
+
+commit d129ccdd86cf18e37a020dd2be7760c395f92895
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Wed Apr 16 22:23:43 2008 +0000
+
+    Fix a crash introduced in revision 477.
+
+commit ed88a7f0f8aaa1d3aac7914d1c30de5aa271b89e
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Wed Apr 16 22:21:01 2008 +0000
+
+    Fix two errors made in revision 473.
+
+commit 0313a63861e92a60d1e08d92b68c9ccbb30d6d67
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Wed Apr 16 21:58:05 2008 +0000
+
+    Merge few more vdlist/vdtree functions.
+
+commit 87388b59fb39365d12d12febc2a2aab528380fd8
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Wed Apr 16 20:36:10 2008 +0000
+
+    Make directory view popup menu common and move it to view_dir.{c,h}.
+
+commit 8b709929d5caf41ffd68acb1350c785335131a97
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Wed Apr 16 20:32:44 2008 +0000
+
+    fixed compiler warnings
+
+commit 6820b9f7ef0d66634915b7d0538fb3f81bc86272
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Wed Apr 16 20:15:42 2008 +0000
+
+    in debug mode print time information on selected events
+
+commit 5a2f5a7a783b7e8b1138d32b9c5059e32fe7c1a2
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Wed Apr 16 18:57:50 2008 +0000
+
+    Clean up and simplify.
+
+commit 2bf00ad0b8236c09a056412b49ae3f0fd89ce6bc
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Wed Apr 16 16:54:38 2008 +0000
+
+    Merge parts of view_dir_list/tree constructors/destructors to
+    view_dir.
+
+commit 2ed8126b688006feba5fb928af379d3a1713d14d
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Wed Apr 16 16:05:12 2008 +0000
+
+    Move some dnd common code from view_dir_list.c and view_dir_tree.c
+    to view_dir.c.
+
+commit 49506cdbbc2eab38968eaf7a71836ec3c8261d00
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Wed Apr 16 14:56:31 2008 +0000
+
+    Rename vdt occurences to vd.
+
+commit 252ecb111253c410ee55fd732ac19750e0e81b2e
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Wed Apr 16 14:51:39 2008 +0000
+
+    Rename vdl occurences to vd.
+
+commit b90ce4354563cb43ad69dc3fe97be4ad12f5eb89
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Wed Apr 16 14:45:22 2008 +0000
+
+    Introduce a new struct ViewDir to handle directory views common
+    data.
+    Specific data is now in ViewDirInfoList and ViewDirInfoTree.
+    Type of directory view can be specified with enum DirViewType.
+    This is saved to rc file as layout.dir_view_type, which replace
+    layout.view_as_tree.
+    Code was modified to reflect these changes.
+    This is a first to move to merge common code of view_dir_list.c
+    and view_dir_tree.c and ease the introduction of new types
+    of directory view.
+
+commit 926c9122c33a25e49679e9689c2a22d8b032b7d8
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Tue Apr 15 21:49:28 2008 +0000
+
+    Indicate --debug[=level] in usage display.
+
+commit 5d5d65dbb005ee639931f424d7acdb65865eebb2
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Tue Apr 15 21:47:03 2008 +0000
+
+    Parse command line for --debug option as soon as possible and allow
+    --debug[=level] syntax.
+    Only display message indication debug level once.
+
+commit 68ec77a8cd6d07d78de3c56cf977e24add191706
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Tue Apr 15 21:06:00 2008 +0000
+
+    Cleanup read/write of image.zoom_mode option.
+
+commit dbdee25d4a8be12e7f334659d0041a0987aeb403
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Tue Apr 15 20:56:55 2008 +0000
+
+    Read show_icon_names only once.
+
+commit 02d26d43e10b7dbc2a9ca41f1d87429e6ed21f0f
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Tue Apr 15 20:55:21 2008 +0000
+
+    Rename l_conf to layout_order and make it more local.
+
+commit ba6443e9b37c7c9c629809e8bd079234bf846ad8
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Tue Apr 15 20:46:14 2008 +0000
+
+    Fix a bug that was here since a long time, buf has nothing
+    to do with options->layout.order, so compare it to l_conf instead.
+    It fixes refreshing of files and directories lists when changing
+    filtering options.
+
+commit 7919d6756adc49486a6ec3c3e863fd745757820d
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Tue Apr 15 20:36:11 2008 +0000
+
+    Add a new option in Preferences > Filtering to allow the
+    user to choose to display '.' directory in folder lists or not.
+    This option is saved to rc file as file_filter.show_dot_directory.
+    A minor fix was made to disable display of .. in folder selection
+    dialogs when current path is /.
+
+commit 5fb1b9fa3f94b44fd4cb3571bc561df67703ad39
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Tue Apr 15 20:00:27 2008 +0000
+
+    Add and use few new macros in rc file writing code.
+
+commit 0612855a4da8b544bed995add70c6bb6900b9e95
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Tue Apr 15 18:34:24 2008 +0000
+
+    this might fix the freezes on freebsd, solaris, etc.
+
+commit 0e4f634e7ad58ae90048e8648355d0e9d9017869
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Tue Apr 15 16:57:30 2008 +0000
+
+    save file_class to config file
+
+commit 9225b41f98bcf9d21d458973e72af78153eaacc3
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Tue Apr 15 07:16:51 2008 +0000
+
+    Exit fullscreen mode when Properties is displayed.
+
+commit 4ad9ed88281b7b4000fffea1c1e68e5ad6c919a0
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Tue Apr 15 06:56:25 2008 +0000
+
+    New Go to directory view feature that permits to find and display the directory
+    corresponding to an image view.
+    For example, when you open an image in new window from collection, right clicking on
+    the newly displayed image will let you choose Go to directory view, which would open
+    a new window, with image and directory list.
+    If current directory is the one of the image, menu item is disabled.
+
+commit 28d489b1dc7ee32ffe576e3fc2b9b98056062e98
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Mon Apr 14 23:47:13 2008 +0000
+
+    Move layout.order default init to setup_default_options().
+
+commit ec46e7a26e75c60f577a17dbdadddf5421c17ce1
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Mon Apr 14 23:39:46 2008 +0000
+
+    collection_load(): use booleans and always count failures (for debug).
+
+commit 95f5f103e834a2d31c60c329a30d10116bf6b015
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Mon Apr 14 23:29:54 2008 +0000
+
+    collection_load(): improve headers parsing.
+
+commit d11ebdf00ddd802dabdab77d870cf017663573db
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Mon Apr 14 23:09:48 2008 +0000
+
+    collection_load(): fix typo (missing #) made in rev 453.
+
+commit 51a638cf38c21da8bbb44166a27c9441d17d6b69
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Mon Apr 14 23:08:27 2008 +0000
+
+    collection_load(): accept whitespaces at start of lines.
+
+commit 598acd263839791e2ed5ce66c0cccd351f67e4a4
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Mon Apr 14 22:57:26 2008 +0000
+
+    collection_load(): increase verbosity in debug mode.
+
+commit d0738ee165622d8e1782bb9a6eb7834f7d067fb6
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Mon Apr 14 22:50:50 2008 +0000
+
+    collection_load(): replace official by limit_failures (and
+    invert the tests).
+
+commit 7b5e4b9910d9630dd8337bf7595a72adc5353fbf
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Mon Apr 14 22:45:53 2008 +0000
+
+    Increase collection_load() buffer size and do not activate
+    error limiting for GQview collections.
+
+commit 0b84d42bbae8d46d469262d5bc53acf46d935049
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Mon Apr 14 22:28:29 2008 +0000
+
+    Merge collection_load_only_geometry() into collection_load().
+
+commit 3ababb59e475a61f1f0bd085d0e33e0312c0baf2
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Mon Apr 14 22:05:47 2008 +0000
+
+    Use flags for collection_load*().
+
+commit 03dfde5430fc9f9529840dce357ba17703f98042
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sun Apr 13 20:33:45 2008 +0000
+
+    Apply exif display config (Never/If set/Always) to pan view too.
+
+commit d8dac8fc58190ffde1b6602dbccd62cd5d7b5aa4
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sun Apr 13 19:21:13 2008 +0000
+
+    Rename show_dot_files to show_hidden_files.
+    There is no need to expose the underlying method to hide
+    files.
+
+commit 38e6918e9817e663d99f827afab64e30ece28904
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sun Apr 13 18:56:24 2008 +0000
+
+    Let toggle the visibility of hidden files from directories list
+    or tree contextual menu.
+
+commit c1b559c372212ba25d25c3033900465580a95aae
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sun Apr 13 12:24:42 2008 +0000
+
+    Add a button to reset fullscreen info string to default value.
+
+commit a7f368b7d5697a10f2a07a2d7a323054593ff985
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sun Apr 13 12:12:44 2008 +0000
+
+    Fix a typo, READ_CHAR() must use value_all.
+
+commit 8b62dc72ea0a17ea87ac9eff59eb193de82a6e7f
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sun Apr 13 09:10:38 2008 +0000
+
+    Use convenient macros to read options, it will ensure options
+    names are matching (in the rc file and internally).
+
+commit 9ca550aba088f91cc6996f6cc087cdfd62bba93f
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sun Apr 13 08:36:17 2008 +0000
+
+    Simplify read_*_option() stuff by passing pointer to option value.
+    Introduce read_uint_option() to read enum values and read_int_option_clamp()
+    to read clamped values.
+
+commit 49b7c7fe48866f69d080a098f8a9d06edc818738
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sat Apr 12 23:59:31 2008 +0000
+
+    Partly rewrite option parser to accept whitespaces at start
+    of lines.
+
+commit 3d8e37380a4959e12ccd2fba88d432bd93270827
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sat Apr 12 23:41:35 2008 +0000
+
+    exif_* -> exif.display.*
+
+commit e343ae4e578a24d6e49059bc0c5b0dbde0971b88
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sat Apr 12 23:32:08 2008 +0000
+
+    Add a note in the rc file about special editor slots.
+
+commit e2a2cc276a702ce73821ec81d0768252f2f463dd
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sat Apr 12 23:16:41 2008 +0000
+
+    sidecar_ext -> sidecar.ext
+
+commit 92b6d1c6f6d91e0732716f934aa5bb999313aab5
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sat Apr 12 23:07:04 2008 +0000
+
+    Unify names of options between variables and rc file.
+
+commit 8f2f4ae8a8fbba517d9c2e2c196b7f9ff5a40647
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sat Apr 12 23:02:00 2008 +0000
+
+    Use tree_descend_subdirs everywhere.
+
+commit e5253f24cda55574222c41b5c84e49643ea9049b
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sat Apr 12 22:22:11 2008 +0000
+
+    Use startup_path_enable everywhere.
+
+commit 32611f3c4549e3506390d41fefc5050b80739ca0
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sat Apr 12 22:17:14 2008 +0000
+
+    Rename recent_list_max/open_recent_max to open_recent_list_maxsize.
+
+commit fc112e86d9cf2d7b99aa0b40a07f28c8ecd08b4c
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sat Apr 12 22:10:38 2008 +0000
+
+    Rename dupe_custom_threshold option to duplicates_similarity_threshold.
+
+commit a882880361dd72f9002595502f954d0eff7c1feb
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sat Apr 12 22:04:29 2008 +0000
+
+    Move safe_delete* and in place rename options to file_ops
+    struct.
+    Re-order rc file a bit.
+
+commit cae690dfacfc833d50ff8543d50dd1d6ccc5654a
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sat Apr 12 21:45:30 2008 +0000
+
+    Rename option thumbnails.enabled to layout.show_thumbnails as it makes
+    more sense.
+
+commit 99862dd609c1002a0b307e840377956a7c825fa0
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sat Apr 12 21:38:55 2008 +0000
+
+    Rename user_specified_window_background and window_background_color
+    to image.use_custom_border_color and image.border_color.
+    Rename pref_background_color_set_cb() to pref_color_button_set_cb().
+    Rename pref_colorbutton_new() to pref_color_button_new().
+
+commit 4f893077aa3abd5ef6771504c572a941ddb39f1c
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sat Apr 12 19:33:59 2008 +0000
+
+    Rename window options (moved to layout) and re-order rc file.
+
+commit 3b9d8732905f125947f2b447e9cbf42505af1d2e
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sat Apr 12 17:20:34 2008 +0000
+
+    Fix bad image option name in the rc file.
+
+commit 3129bfd4c67ad166a10cf68684e34c420c528ffd
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sat Apr 12 17:09:20 2008 +0000
+
+    Fix display bug when using "Limit image size when autofitting" option.
+
+commit 41eed8061d6fcdae47cda65e816da4a8c99d7e00
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sat Apr 12 15:13:00 2008 +0000
+
+    Beautify rc file, adding sub-sections titles.
+
+commit 72d1f62068bc2edf087fe11c4003bb2bdfc6f9ac
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sat Apr 12 15:04:58 2008 +0000
+
+    Rename image-related options.
+
+commit 0291156001ed57fd4ae86f34facde1f9dfbf408e
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sat Apr 12 09:41:44 2008 +0000
+
+    Rename thumbnails related options.
+
+commit b9dfc44002659a2d65061c92167c054e5c7929cb
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sat Apr 12 09:12:37 2008 +0000
+
+    Rename file filtering options.
+
+commit cbe3a31e45f964d1ec1a13644dbfada38f16bd0e
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sat Apr 12 08:59:52 2008 +0000
+
+    Drop unused stuff.
+
+commit 2868bf63fa4ab10c32447d58cb054cc6bebe901a
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sat Apr 12 08:40:02 2008 +0000
+
+    Rename collection options.
+
+commit 08116df6d62d699829022021020d180e0b2e390e
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sat Apr 12 08:35:58 2008 +0000
+
+    Rename file sorting options.
+
+commit 7aa112520e180d55e51b04770b8faaa3cf099491
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sat Apr 12 08:28:08 2008 +0000
+
+    Re-order and try to group options.
+
+commit 640bb21dc6aee7dccc6d1f76b611db31163b198b
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sat Apr 12 08:05:44 2008 +0000
+
+    Rename color profile options.
+
+commit e67112638b3f486d8aff634119904205779f9187
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sat Apr 12 07:46:01 2008 +0000
+
+    Rename slideshow options.
+
+commit 4c1a8d75a041016494c6cfa286c22cbcfbc7d166
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sat Apr 12 07:09:19 2008 +0000
+
+    Only display defined exif tags by default.
+
+commit 766bebce3cd6701a545a8d310f5e48561f2712d0
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sat Apr 12 07:00:14 2008 +0000
+
+    Drop redundant code.
+
+commit d0cc864a8050573cbe14ad87334b01a0d21e8d11
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sat Apr 12 06:42:47 2008 +0000
+
+    Add Exif.Photo.ColorSpace tag in Preferences > Properties > Exif.
+    Requested by Frédéric Mantegazza.
+
+commit 165c0da79cf3bad89da98b574c1eb6709c47dd38
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Fri Apr 11 23:32:22 2008 +0000
+
+    Rationalize fullscreen options naming.
+
+commit 52e680bc814903e8132c0416e85e94774c39b4c4
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Fri Apr 11 23:01:00 2008 +0000
+
+    options_c -> c_options
+
+commit 90490472d271ef57cc6d8edb1bde9ed01f333bab
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Fri Apr 11 22:52:22 2008 +0000
+
+    Move more options to ConfOptions.
+
+commit 638d6c3771f6967ac749cf4d06eb9142a83c69c6
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Fri Apr 11 22:27:54 2008 +0000
+
+    Move file_sort_case_sensitive to ConfOptions.
+
+commit d2979ca0c264ed0421e5cc25cbe12cb1b7f88f0e
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Fri Apr 11 22:14:36 2008 +0000
+
+    Add a new struct ConfOptions to handle options.
+    Changes were made among the code to use only one global var
+    named "options" of type ConfOptions *.
+    Initialization takes place in new init_options().
+
+commit 115597977870a18c7ffcd527d381ba7babad049d
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Fri Apr 11 20:35:37 2008 +0000
+
+    Make thumbnail standard fail directory after current application
+    name and version.
+
+commit f4b07b916eca315af4f7681bf01e36a69dfdf6fc
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Fri Apr 11 20:01:29 2008 +0000
+
+    Define drag and drop target string in dnd.h.
+    Make it use the current name of the application.
+
+commit bfa84d177977c2d1d5c7d2db52a5efee6009d6fb
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Fri Apr 11 19:43:36 2008 +0000
+
+    Use secure save in history_list_save().
+
+commit 22e2b40b59d5968e6eb54fdf0abc8c3e26c59a52
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Fri Apr 11 17:11:14 2008 +0000
+
+    Use secure save in comment_file_write().
+
+commit e91c9429984b95358b9f9bd6161ab6003a47d321
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Fri Apr 11 16:46:21 2008 +0000
+
+    Secure save now unlinks temporary file on error by default.
+    It will prevent left-behind temporary files, but also prevent
+    potential data recovery from partially written files (it
+    should not be a problem here).
+
+commit 8f7571734ad7780f9a56a63b590dc59979dceaea
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Fri Apr 11 16:04:37 2008 +0000
+
+    Use secure save feature when saving collections.
+
+commit 90a5034f8953a616e3e3bc8f0d2482b5542b1dd8
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Fri Apr 11 16:02:33 2008 +0000
+
+    Preserve permissions of the destination file when using secure save.
+
+commit 960050a743c0faf468c2be4608d90b506cd7e7ec
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Fri Apr 11 15:27:08 2008 +0000
+
+    Revert part of the previous patch, let the caller take care
+    of calling path_from_utf8().
+
+commit 6b819d4c9fc7ce8932e2fb43e2fea8d1ded661bd
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Fri Apr 11 14:27:55 2008 +0000
+
+    Use path_from_utf8() on the passed filename.
+    Add const attribute.
+
+commit add11b2e5e37c14112a234a84434518a81e0d88e
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Fri Apr 11 13:07:48 2008 +0000
+
+    ui_icons.h and icons_inline.h depend on gdk-pixbuf-csource,
+    so add a test for it in configure.
+    Wrap generated headers files with #ifdef/#endif and add
+    a comment related to their auto-generated nature.
+    Make the generation itself quiet, but display a message
+    on error.
+    Make these targets depend on respective Makefile.in.
+
+commit b27dd030781ba757068cc7c2722830eafc33bd8c
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Fri Apr 11 12:31:32 2008 +0000
+
+    Move secure save code to its own files: secure_save.{c,h}.
+
+commit cb6d88cccee47caad26ff3f1cd09cb3e4abf3f66
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Fri Apr 11 12:25:36 2008 +0000
+
+    Add missing #ifdef/#endif.
+
+commit 9bdd3084d7fad2323f4706eb6d069012637568a8
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Fri Apr 11 10:46:52 2008 +0000
+
+    Ensure that gcc flag -Wall is set.
+
+commit 10a062d55d36f749cc16773cb39daadd3761d8a8
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Fri Apr 11 10:45:37 2008 +0000
+
+    Silent some gcc warnings.
+
+commit ee484a48eecb7bf11090a2cffe64957dfacc7c70
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Fri Apr 11 09:02:20 2008 +0000
+
+    Prevent multiple insertion of the same file in a collection.
+    Use a hash table to speed up existence tests.
+
+commit 9c0b2f023a5c9e0da316e4a2bc5cf01117c56f3f
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Fri Apr 11 08:10:40 2008 +0000
+
+    Only display these messages if debug mode is enabled.
+
+commit d934f5a735c2816ff6fca653672b65536c79eb2f
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Thu Apr 10 19:27:42 2008 +0000
+
+    fixed dates in pan-calendar
+
+commit 6b5b5bbdb0126cb96fe38d5f9d2e15859e9dd8f3
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Thu Apr 10 12:07:34 2008 +0000
+
+    Fix fCamera even more.
+
+commit 3655d6512451651b6daa4659732765e41a42805e
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Thu Apr 10 11:31:20 2008 +0000
+
+    Do not display ... if not truncated.
+
+commit 4f1fc98c467e8ee49a5110caeac20f19d6a40547
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Thu Apr 10 10:43:15 2008 +0000
+
+    Add the possibility to truncate overlay infos displayed:
+    %fCamera:20% will truncate data displayed to 20 characters
+    and add 3 dots at the end.
+    For example, %name% -> some_file, %name:4% -> some...
+
+commit c3a31cca879b0496a7cff3c7443a705a8183854d
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Thu Apr 10 00:09:43 2008 +0000
+
+    Fix broken remove_common_prefix(), fCamera didn't display model as it should.
+
+commit c265a3b27d21585787453f51c6c88f9919731700
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Wed Apr 9 22:47:43 2008 +0000
+
+    Resync .po files. French translation was updated (100% made).
+
+commit cbf85334fc7aeaa7cb4c0f824285fb505712d03a
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Wed Apr 9 22:36:43 2008 +0000
+
+    Add 3 missing files to POTFILES.in.
+
+commit 9e55d96d9e8dbd550e574d0c95e97052db85ff4d
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Wed Apr 9 22:33:06 2008 +0000
+
+    Simple helper script to display translation statistics.
+
+commit 472a9ba634085ee3442f8e2af802cc1392c1a403
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Wed Apr 9 22:13:11 2008 +0000
+
+    Fix a typo: "while fluorescent" -> "white fluorescent"
+
+commit 2e2e9de4bbd7c8bb7f7f352fa7954df9395c56a3
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Wed Apr 9 22:01:52 2008 +0000
+
+    Resync .po files. Update french translation.
+
+commit dcd6cfb9d8e4635614f83aead3e35f83cf0cd097
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Wed Apr 9 21:14:50 2008 +0000
+
+    fixed crash in pan_calendar
+
+commit 64e92b479d212e4fbe94c6ad4148bb29766d6191
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Wed Apr 9 20:49:32 2008 +0000
+
+    improved histogram drawing
+
+commit 5bf349caeeb48de48e69613e10f1202c51f6a6a2
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Wed Apr 9 16:37:54 2008 +0000
+
+    Simplify and unify gtk_window creation with the help of
+    the new window_new() function, that wraps gtk_window_new()
+    call.
+    Subclass, title and icon are set in the same call.
+
+commit c6bd6b0ee75d77f6f4d6d3987a185639a008c02c
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Wed Apr 9 13:53:01 2008 +0000
+
+    Replace occurences of Geeqie / geeqie by constants defined in main.h.
+
+commit ce0e2d8485b356cce35869d956b863fe7c0884f7
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Tue Apr 8 23:41:01 2008 +0000
+
+    int -> gint
+
+commit ea52620169109844ba024c26d1b1c4a6dc29c885
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Tue Apr 8 23:39:27 2008 +0000
+
+    Make xmp debug info only appears when debug >= 2.
+
+commit 1e8eddcf3c0bf7b23f77e70c50a20dcfbbebfed1
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Tue Apr 8 23:33:49 2008 +0000
+
+    Enable image rotation depending on EXIF by default.
+    New users shouldn't have to search for it.
+
+commit f798c6956fcd2665e56d184bc45887d0f4d4edee
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Tue Apr 8 23:25:46 2008 +0000
+
+    Fix missing header files inclusions.
+
+commit 0d0b4d754bd31988e8eed4f3eef0f519b1abf21c
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Tue Apr 8 23:16:12 2008 +0000
+
+    GQVIEW_* -> GQ_*
+
+commit dd06ccc36568ace67c9d8982c8021ffd33ba6968
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Tue Apr 8 23:07:09 2008 +0000
+
+    GQVIEW_H -> MAIN_H
+
+commit f4398500f5a7fbe6236d5573170f8e359823d87e
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Tue Apr 8 23:02:33 2008 +0000
+
+    gqview.h -> main.h
+
+commit 4ccdd1c26c852dedbe58543d845e5fc9a55ba53e
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Tue Apr 8 22:31:42 2008 +0000
+
+    Remove obsolete prototype.
+
+commit 656ba051f062a61bbb21e5add2eda10b9ff18c77
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Tue Apr 8 22:28:55 2008 +0000
+
+    gqview_remote -> remote_connection
+    gqview_command_collection -> command_collection
+    gqview_remote_control() -> remote_control()
+    gqview_remote_help() -> remote_help()
+    gqview_remote_command_find() -> remote_command_find()
+    gqview_remote_build_list() -> remote_build_list()
+    gqview_remote_cb() -> remote_cb()
+
+commit ae45bad7722ac83ba3fbd91499209c5054bda199
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Tue Apr 8 22:16:56 2008 +0000
+
+    exit_gqview() renamed to exit_program().
+    exit_gqview_final() renamed to exit_program_final().
+
+commit a7475aea1b68e02c4ec5444cad4d8fde1ed7691b
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Tue Apr 8 22:05:04 2008 +0000
+
+    Add support for some Samsung raw files (.pef).
+    
+    Samsung raw not strongly differ from Pentax raw.
+    The only difference in header (manufacturer, camera name and etc).
+    Tested on Samsung GX-1S and Pentax *ist DS.
+    Patch by Max Lushnikov.
+
+commit ccc538651bada138f49aec344cc69398359c1fce
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Tue Apr 8 21:55:58 2008 +0000
+
+    Implement secure rc file saving.
+    First data is written to a temporary file, then if nothing
+    was wrong, this file is renamed to the final name.
+    This way the risk of corrupted rc file is greatly reduced.
+    The code is borrowed from ELinks (http://elinks.cz).
+
+commit 0e8b4aabb88cf20b361334edbdd817303de4a768
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Tue Apr 8 21:52:04 2008 +0000
+
+    fixed histogram label
+
+commit e975cd7b5e7737c6fc2c0606ea17b814c9b4c4ea
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Tue Apr 8 21:33:29 2008 +0000
+
+    Fix the "continuous display" of tooltips in the collection view
+    (before the tooltip delay occured once, then changing icon to icon never hide the
+    tooltip again, now the tip is displayed shortly after the cursor moved on the icon,
+    but disappears when moving cursor to another icon).
+    
+    Display the full path to the file when Show filename text is on (before nothing
+    was displayed).
+    
+    When Show filename text is off, behavior is unchanged, the (short) filename is
+    displayed.
+
+commit bddcf782295eb021e6b525ee5773fbea3947b83b
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Tue Apr 8 20:56:50 2008 +0000
+
+    reworked the histogram patch by Uwe Ohse, most of the code is in
+    separate files
+
+commit 149161487904c823cc003a0c45fe1e3cc82205e8
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Tue Apr 8 17:26:13 2008 +0000
+
+    fixed file delete notification in view_file_icon
+
+commit 692e15a37d917d37f5171a64264c06b7635cb39a
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Tue Apr 8 16:22:21 2008 +0000
+
+    gtk_notebook_set_tab_reorderable() is only available sinc gtk+ 2.10.
+
+commit 7e989ce8338140c5c9b0de7f674e2954649e5993
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Tue Apr 8 15:53:03 2008 +0000
+
+    Move active variable affectation after the test.
+
+commit 94caf46eba71f1653d014fbdfa0888b43d98f7d9
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Tue Apr 8 14:52:42 2008 +0000
+
+    Simplify layout_color_name_parse() using g_strdelimit().
+
+commit b43697803c521709dc639805718e079b3f4edcdd
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Tue Apr 8 14:50:14 2008 +0000
+
+    Tidy up, whitespaces and indentation fix.
+
+commit 5d4ea30f551b19d199da2a16b7b252df8244ebb7
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Tue Apr 8 11:53:35 2008 +0000
+
+    Remove dependency on GTK 2.12, reported by John Vodden and Vladimir
+    Nadvornik.
+    gtk_set_tooltip_markup() calls were disabled for GTK+ versions < 2.12.
+    gdk_color_to_string() was replaced by a equivalent function.
+
+commit 255ee5523caae0230e4e163109b00364f3b8180f
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Mon Apr 7 19:47:22 2008 +0000
+
+    Add the possibility to print file names with path.
+    A checkbox was added to the Text tab in the Print dialog.
+    
+    Name checked and Path unchecked  -> filename.jpg
+    Name checked and Path checked    -> /some/dir/filename.jpg
+    Name unchecked and Path checked  -> /some/dir/
+    
+    Patch by Michael Mokeev and Laurent Monin.
+
+commit cf45b42ee7dbd8287eecd728cf225c2f45aed5db
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Mon Apr 7 19:06:17 2008 +0000
+
+    Fix a segfault on fullscreen file deletion reported by Frédéric Mantegazza.
+
+commit da12ecf1747a682afe776cf99ea76f4342fd9876
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Mon Apr 7 18:52:54 2008 +0000
+
+    Add the possibility to match duplicates on the name but ignoring the case.
+    A new item was added to types of match combo box in the Find duplicates dialog.
+
+commit e0831fd697ffb602fc780ea49f4f09259978f867
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Mon Apr 7 08:09:39 2008 +0000
+
+    Display marks in overlay info only if at least one is set.
+    Fix a missing g_string_free().
+
+commit 7391c9ddeddc9372876f2759b4c8908ea2085fa1
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sun Apr 6 10:17:41 2008 +0000
+
+    Mark all exif labels as translatable.
+    Before only some of them were enclosed by N_().
+
+commit 99f37aedb447817ff1cb9e243f768b45099d17a7
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sun Apr 6 10:03:54 2008 +0000
+
+    Mark strings as translatable.
+
+commit 6033096a6d309a6ebab2d1aa1c2d2152b5e6e56a
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sat Apr 5 15:23:39 2008 +0000
+
+    Improve remove_trailing_slash() so it allocates no more than
+    needed bytes and remove all trailing slashes instead only one.
+
+commit 3cd193f19c714ea492ef75b7af92ccddae6d9043
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sat Apr 5 11:59:29 2008 +0000
+
+    Comment out unused code.
+    Geeqie code now compiles cleanly with -Wall gcc option.
+
+commit 4b5d366799dd336e39bda4570cb48c706b87512d
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Fri Apr 4 22:34:55 2008 +0000
+
+    Change default exif order a bit to move up common and useful
+    info.
+
+commit 629f646396dece8527f11d9c55cf37e96420df7a
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Fri Apr 4 22:23:36 2008 +0000
+
+    Re-add "What to show in properties dialog:" label before the table.
+
+commit 9c6fe295906cac617f7ffb57e1f80519982263c0
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Fri Apr 4 22:12:28 2008 +0000
+
+    Rename exif preferences tab to "Properties", and name the
+    subsection "Exif".
+
+commit b74a5e41092be8d442a5edc8927c388f8f064ab4
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Fri Apr 4 18:50:52 2008 +0000
+
+    Fix a segfault occuring when enabling debug mode.
+    At this point il->fd can be null.
+
+commit e8cca019825f81696bed7d0e7ac8adb46107d66e
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Thu Apr 3 23:29:14 2008 +0000
+
+    Make the wmclass value unique among the code by defining
+    it in main header file as GQ_WMCLASS.
+    Before this patch, it was set using PACKAGE (="geeqie"),
+    or by the hardcoded string "Geeqie".
+    Now all Geeqie windows have the same value for wmclass.
+
+commit ba02c7206762d6851a1af2776361daaf16a3db9a
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Thu Apr 3 22:39:50 2008 +0000
+
+    Initialize variables, clearing a gcc warning.
+
+commit 9c57ca463347c5dfe77e25e634135ee282a11d6a
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Thu Apr 3 22:33:28 2008 +0000
+
+    Add missing prototype to header file.
+
+commit 1d07e403b4460791de952fa6b3089e667b60264b
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Thu Apr 3 22:29:20 2008 +0000
+
+    Add few missing prototypes to header file.
+
+commit bae17221c04c2d7ac5a473e94ac0562603d83507
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Thu Apr 3 22:20:42 2008 +0000
+
+    Drop a bunch of unused variables.
+
+commit 4233904c10730a743c21449f929ff99ab6a9cb2e
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Thu Apr 3 22:14:37 2008 +0000
+
+    Add missing #include.
+
+commit b5004054f8709b415a62b457fc166216014e4d6c
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Thu Apr 3 22:13:12 2008 +0000
+
+    Remove unused variables.
+
+commit 0f370af7df0f6b59e783a3c6655d6b8db4986ce9
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Thu Apr 3 22:09:36 2008 +0000
+
+    Add missing prototype.
+
+commit 46cbdf33c88a15bca579a00022356361f7854ec8
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Thu Apr 3 22:06:31 2008 +0000
+
+    Drop 3 unused variables and comment out 2 unused functions.
+
+commit b452f41cefd0a7d578b4e5310543d397ec4ca21b
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Thu Apr 3 22:03:14 2008 +0000
+
+    Add parenthesis around affection to clear a gcc warning.
+
+commit fab357ea72855cdc4397ad4e4009206f47e9065e
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Thu Apr 3 22:01:08 2008 +0000
+
+    Fix a signedness warning.
+
+commit 91d0e07df572f7e7b2bb4564b3d96737ba432650
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Thu Apr 3 21:54:23 2008 +0000
+
+    Main configuration file was renamed from gqviewrc to geeqierc.
+
+commit 94fe3fcbb8e57a53b1ca2fbd2874d319988a3f05
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Thu Apr 3 21:50:53 2008 +0000
+
+    Fix a segfault occuring when using --without-exiv2 and
+    concerning exif stuff.
+
+commit c34caea4863dc67b9420eefeab15fea347482d00
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Thu Apr 3 21:49:17 2008 +0000
+
+    Fix missing bit of previous patch.
+
+commit 287ce3f2961b8d47d7b16b14206de769419a70b0
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Thu Apr 3 21:04:19 2008 +0000
+
+    Fix two more gcc warnings related to function declarations.
+
+commit 7c014bcacbdf6a41bf9b4d056c23af1b095d2c5e
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Thu Apr 3 20:53:13 2008 +0000
+
+    Remove two unused variables declarations, and add a missing #include.
+
+commit ae6a05ca1496e697792873538344986662731d33
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Thu Apr 3 20:46:55 2008 +0000
+
+    Drop unused variable.
+
+commit 71e3199f6438dedfad6c9f887c61377e25d2ecd8
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Thu Apr 3 20:45:55 2008 +0000
+
+    Add missing return at the end of editor_command_next_start().
+
+commit f73531befc98f27f324b2d8931037cb992cee5eb
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Thu Apr 3 20:40:15 2008 +0000
+
+    Drop unused variable.
+
+commit 66f99ad9b066545846752becd21c8fe28360d27d
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Thu Apr 3 20:38:59 2008 +0000
+
+    Make collect_manager_process_action() static.
+
+commit 8e4da844d26d88157198173ae9085700c3ad7e15
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Thu Apr 3 20:34:49 2008 +0000
+
+    Fix typos in functions names: file_list -> filelist.
+
+commit c2eef3c9f81fcfdc2871d68fc70429ee0022b0a1
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Thu Apr 3 20:25:22 2008 +0000
+
+    Remove unused variable declarations.
+
+commit 6c8390b4bf350c22d5dadc4f7cbeecfcf66b2241
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Thu Apr 3 20:24:20 2008 +0000
+
+    Fix missing header include (filelist.h).
+
+commit a161508a7fcab4d94be9661e844e1cbadb459016
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Thu Apr 3 20:19:16 2008 +0000
+
+    Remove unused variables declarations.
+
+commit 8746b22d3ed1b600016bd97a5547dc10248cc0e5
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Thu Apr 3 20:11:09 2008 +0000
+
+    Move tabs code from config_window_create() to new smaller functions.
+    Each tab has now its own function named:
+    config_tab_general(), config_tab_image(), config_tab_windows(),
+    config_tab_filtering(), config_tab_editors(), config_tab_exif(),
+    config_tab_advanced();
+
+commit 1557cbb59eeb34ce818337a2c9a57cb8e03c9c05
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Thu Apr 3 18:20:39 2008 +0000
+
+    Use more generic names for some cache manager callback functions.
+
+commit aecafd20f3ac481c1c919484ebb2dd79af07caca
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Thu Apr 3 17:34:30 2008 +0000
+
+    Replace some occurences of gqview by Geeqie.
+
+commit e10dc3fb90621a74d1641c54cba4e3eb58ed306b
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Thu Apr 3 17:15:49 2008 +0000
+
+    Add a debug level spinner at the end of Preferences > Advanced.
+    One can now enable debug mode without restarting geeqie.
+    A possibility to disable all debugging code and related options
+    at compile time was added.
+
+commit 7cc8e4c3ec69055695aea75aec756ab8623d9b1b
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Thu Apr 3 14:35:03 2008 +0000
+
+    Fix and simplify thumbnails size combo box related code.
+    Some variables were unused, code was buggy (spurious entry at
+    the end of the list). A sanity check for values coming from
+    rc file was added. Two constants now define the default
+    thumbnail size.
+
+commit 1671ec2fa789db8370f51fb6ef8efca946865931
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Thu Apr 3 13:58:20 2008 +0000
+
+    Make the preferences window resizeable, and try to improve
+    display of editors tab.
+
+commit ab990a8c71aed99def1757293cbb888da37af2a9
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Thu Apr 3 13:24:13 2008 +0000
+
+    Tidy up. Fix indentation and missing whitespaces.
+    Make editors table creation code a bit more readable.
+
+commit cf5166859290614def5203aea1900d302d02c6de
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Thu Apr 3 08:51:32 2008 +0000
+
+    Setting no limit size to trash directory is now possible using zero as value.
+    A tooltip was added to the spinner to inform the user of this possibility.
+    When 0 is set, no remaining/free space check occurs.
+    Default size of the trash was set to a 128M and maximum size is now 2048MB, which
+    is more conform to today's standards.
+    The delete dialog now displays more information:
+    - if external command will be used
+    - if safe delete is on, max size and path to the trash
+    - if safe delete is off
+
+commit 84a0008e3167969e2250ac1169da57ad8464624d
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Wed Apr 2 20:44:40 2008 +0000
+
+    various exif improvements based on patch by Uwe Ohse
+    try to compute 35mm focal length
+
+commit a667d7a3491b2758ffff532fc66c76bd84de59cf
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Wed Apr 2 12:12:50 2008 +0000
+
+    Make properties tabs reorderable through drag'n drop.
+    Order is preserved during the whole session.
+    When a new properties dialog is open, it uses the last order used.
+    Currently, order isn't saved to rc file.
+
+commit 119f6773b7605d8ce443c6f79ee1becd5d2250b2
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Wed Apr 2 10:40:54 2008 +0000
+
+    Honor selection while fullscreen navigation.
+    The behavior is now consistent in full screen and windowed mode.
+    It fixes the fact that the selection was discarded on "Next".
+    Patch by Uwe Ohse. Cleanups by Laurent Monin.
+
+commit 9c13e122221c8c594e9c686eb44c00ebe5653a8d
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Tue Apr 1 07:42:31 2008 +0000
+
+    Fix display of image number in properties dialog when more than one image is selected.
+
+commit 46b72816ae905359b0f58dc9306391a045c64851
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Mon Mar 31 22:10:25 2008 +0000
+
+    Customizable info overlay in fullscreen, based on the patch posted to gqview-devel list by Timo on 2007-09-10.
+
+commit 04eaaa21a6ba71239f7c4564ff98a3268326cc40
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Mon Mar 31 21:09:36 2008 +0000
+
+    use quoted_value everywhere
+    simplify parsing of multiple quoted values on one line
+
+commit e24208c28c3cc4cebd512e16b81183ec1df6bae1
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Mon Mar 31 07:29:03 2008 +0000
+
+    Indentation and white lines minor fixes.
+
+commit fcd13bbcea7020864510cb36b878e08fab2f90b2
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sun Mar 30 19:26:35 2008 +0000
+
+    Move strlen() calls outside the while loop.
+
+commit 05e266040ad17850e0b808ba3ddc94fefb526120
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sun Mar 30 14:19:34 2008 +0000
+
+    Comment out forgotten debugging code.
+
+commit 7bfda96a852553fd035ffefcd44c82dab63de722
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sun Mar 30 14:18:04 2008 +0000
+
+    Fix two minor compilation warnings.
+
+commit a3842d6ede2ca127f40bdab206c0bfd35b31e92b
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sun Mar 30 11:47:14 2008 +0000
+
+    differentiate among normal image, raw image and metadata
+    removed raw extension lists on various places and fixed most of the
+    Exiv2 warnings
+    todo: configuration and a special icons for unreadable raw or metadata
+
+commit 07a39dad79cab9d0ffb31934ffffb46cac283614
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sun Mar 30 07:14:37 2008 +0000
+
+    Make the zoom increment spinner more precise, step is now 0.1 instead of 1.
+
+commit 4cd843a2af59ae49b25ee2cf0cc1a4e777567628
+Author: Laurent Monin <geeqie@norz.org>
+Date:   Sat Mar 29 21:47:10 2008 +0000
+
+    Improve escaping and quoting of strings saved in rc files.
+
+commit a6b652131200ed7c783431147a4ea52024341200
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat Mar 29 14:59:14 2008 +0000
+
+    configurable frame around image - geeqie_autofit_maxsize.patch by Laurent MONIN
+
+commit 34d53a4678e430076251d04a4e7e4e4c755a21e1
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat Mar 29 10:38:15 2008 +0000
+
+    set user-defined color as image background - patch by Laurent MONIN
+
+commit a33be8446827d48bdf2c3a390cac83a46c998a9b
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat Mar 29 10:11:02 2008 +0000
+
+    fixed color management initialization
+
+commit c8156a82ec7f5c50ca3879f3d7950be7d2141ad0
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Wed Mar 26 12:07:00 2008 +0000
+
+    README fixes
+
+commit 407aa583a11e3dc639b45941cd642636e90b8da4
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Wed Mar 26 08:02:45 2008 +0000
+
+    updated README files
+
+commit 326749190b90a0d6856aadc41863147f4036ef74
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Wed Mar 26 08:00:46 2008 +0000
+
+    improved xmp vs. legacy metadata handling
+
+commit 6d057f053b0096f75d54ca1072efbc3519fb1fd6
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Mon Mar 24 23:15:29 2008 +0000
+
+    fixed crashes with --debug
+
+commit b62f6a36bb78ebcfdc7e3ebb5ed8053e4602ff31
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Mon Mar 24 20:42:39 2008 +0000
+
+    added all possible raw extensions that I could find
+
+commit 667f7560d8b10468f4c7297519555a3c8decbc4c
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Mon Mar 24 14:49:00 2008 +0000
+
+    improved support for older exiv2 versions
+
+commit da4c691f61c0f2ca628b9ad5e97c3214df774d69
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Mon Mar 24 14:03:46 2008 +0000
+
+    exiv2 version checks
+
+commit 84ae856159768b019f9e84bc7755870d81919ff4
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Mon Mar 24 12:04:31 2008 +0000
+
+    more renames
+
+commit 70dabcc54b1d89de945f04eda7b3a64c353f9b55
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Mon Mar 24 10:27:22 2008 +0000
+
+    changed logo
+
+commit 81d7720e912922961e82aa9b1a1dc87e7d75a74a
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Mon Mar 24 09:55:09 2008 +0000
+
+    more renames
+
+commit 63da021597cd98d86a924b3e233ef17974df5360
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sun Mar 23 20:38:54 2008 +0000
+
+    rename GQview -> Geeqie over the code
+
+commit a0778c990d5e40044d61b06dc2fbdbb9a7e70b04
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sun Mar 23 20:18:51 2008 +0000
+
+    renamed to geeqie
+
+commit ea452132ffaeb843e0679ff75cea362888cf1e6d
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat Mar 22 19:28:45 2008 +0000
+
+    raw related fixes
+
+commit 492c7832025b9958963965fafb009de3d8fde085
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat Mar 22 17:32:43 2008 +0000
+
+    overview of supported raw formats
+
+commit 6974277ce5e41e0271523dbbd5ece82abeec678e
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat Mar 22 17:09:14 2008 +0000
+
+    configure --without-exiv2
+
+commit 2e9a8e8d10e6aefb5965f7b68c7ea0304bc962b2
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat Mar 22 16:43:59 2008 +0000
+
+    crw preview support with exiv2
+
+commit 7f9de3a441f0cda2f3f6338e605ac623c0939e60
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sun Mar 16 14:11:22 2008 +0000
+
+    whitelist of files that can have an xmp sidecar, sample external command
+    for creating sidecar
+
+commit a7b47030ebe7432a344a9af140418143a3e60510
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sun Mar 16 10:52:44 2008 +0000
+
+    fixed reading sidecar extensions from config file
+
+commit 7597fd790455ba66f96c22589c14f77041473c04
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sun Mar 16 10:32:52 2008 +0000
+
+    write comment and keywords to xmp, sidecars are used if exist
+
+commit c0cdc48934658fca8cd0c98c642f6f79139eb546
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat Mar 15 19:53:33 2008 +0000
+
+    write support in Exiv2 wrapper; for now only string values
+
+commit 61e73a06de7a43766561aa634ed092f92074fda8
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sun Feb 24 18:55:19 2008 +0000
+
+    a hack to read raw previews with exiv2 0.16, however it should be fixed
+    in the library
+
+commit 406e5426f94d6f73156a64864486bfc15a57e18e
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Fri Feb 15 10:48:09 2008 +0000
+
+    read also iptc and xmp
+
+commit 8c7b5e49053a0f3c00c437d10b0456ccfe08149d
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Thu Feb 14 14:04:43 2008 +0000
+
+    more exiv2 fixes
+
+commit 2b56231212f7ea7f07ce26525b1b20d8acfba5e4
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Thu Feb 14 11:03:20 2008 +0000
+
+    more exiv2 fixes
+
+commit 0330894fadd7202f8df008f7c8b68c6806d480ac
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Wed Feb 13 23:02:48 2008 +0000
+
+    more exiv2 fixes
+
+commit 4f5f09180a9a03d951a695611df2426342201596
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Wed Feb 13 19:31:50 2008 +0000
+
+    unified tag names between exiv2 and internal rxif parser
+
+commit bf05ea3fd28410a74676a407f659899e4c912046
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Wed Feb 13 17:47:55 2008 +0000
+
+    more exiv2 fixes
+
+commit 69bc9e2f08edac2dd933f5b7ea25864a30c5d660
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Wed Feb 13 17:08:04 2008 +0000
+
+    and first version that actually shows some exif data (see advanced view)
+
+commit fd37e582550777f9c82609aacb4dd5fc2b4aab86
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Wed Feb 13 16:52:41 2008 +0000
+
+    first exiv2 support that does not crash immediately
+
+commit d5f48145d5d4cc13c73fb372b6d6a618eca3ce75
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Wed Feb 13 14:46:23 2008 +0000
+
+    started exiv2 integration
+
+commit dd9103a22cd380d10bffb153f495109066f8065e
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Wed Feb 13 13:57:31 2008 +0000
+
+    simplified exif.h, moved implementation-specific stuff to exif-int.h
+
+commit 431265bcd9755e6074140f587a9512bb50f0549a
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Mon Feb 11 15:23:43 2008 +0000
+
+    do not show frame for full-window images
+
+commit b3b7ee17996db74480664bcc1f68e0ef2b15d420
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Mon Feb 11 12:51:28 2008 +0000
+
+    improved drawing of image frames
+
+commit 0628b6e3e6e9712711131850b85d7d471fd22b20
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat Jan 26 21:18:23 2008 +0000
+
+    updated TODO list
+
+commit bf5d79e01c27563022cf7bf091b12d62375157d6
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sun Jan 20 19:04:18 2008 +0000
+
+    debug messages cleanup
+
+commit 631cb03570ea6c6ea72b1b16246c954ddb0e10d8
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Wed Jan 16 19:37:54 2008 +0000
+
+    added file with release notes and TODO
+
+commit 6d82f53ecfeab8d6094f82a95cbdd7746d295fa1
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sun Dec 23 21:24:48 2007 +0000
+
+    basic sidecar files configuration via preferences dialog
+
+commit 45bbe448e671704146e0bc767810ba93df03ce50
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sun Dec 23 20:28:50 2007 +0000
+
+    fixed loading thumbnails for sidecar files
+
+commit 29b1508bf7b5e237cfeebcb70d1db839105d6e72
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sun Dec 23 15:49:23 2007 +0000
+
+    fixed vflist_find_row and vflist_sort_set to work correctly with sidecar
+    files
+
+commit c1a3110b9f809032dbc8b8aa87fe5ba30e5fedc6
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat Dec 22 20:33:09 2007 +0000
+
+    fixed filelist refresh
+
+commit b06e457b334a134777618c729eb99e71bf1725c9
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat Dec 22 10:10:40 2007 +0000
+
+    preserve marks setting on layout change
+
+commit c753cf51a86606bdcc34cb5bafde19ad9e75bda2
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat Dec 22 09:51:12 2007 +0000
+
+    basic support for marks in view_file_icon.c
+
+commit ec7b00c244dd33aa0db84f09db46e5603f9f3dc1
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Thu Dec 20 22:43:52 2007 +0000
+
+    update FileData on file change
+
+commit 9114e31e1e4e433948d6b6380ea955b4909ddff0
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Thu Dec 20 16:18:28 2007 +0000
+
+    <num> toggles mark num
+    <control><num> selects mark num
+
+commit eda3ed612bc1b1f96ef2956db9d1a07e4da1509f
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Thu Dec 20 16:06:20 2007 +0000
+
+    created menu "Select" with selection and marks operations
+
+commit 3d075305738ca1931d074e207e546f3a5c3fcd3d
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Wed Dec 19 22:01:46 2007 +0000
+
+    complete set of boolean operation with marks -
+    union, intersection, complement
+
+commit 89bad26edcaf2df8dd67d3b965ffdb89ceb05a6f
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Tue Dec 18 21:15:16 2007 +0000
+
+    use accels also in fullscreen mode
+
+commit a9437da31efbdf69f6d9f7bba573f3925dc6a3aa
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Mon Dec 17 21:42:24 2007 +0000
+
+    moved some actions to menu and accels
+
+commit a38f59e3953d625d8209673f67380f2cd34ef824
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Mon Dec 17 19:34:43 2007 +0000
+
+    removed unused variable
+
+commit 345a2cf80b5165d3eb651ef6ade21323280d6ebe
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sun Dec 16 22:30:19 2007 +0000
+
+    fixed in-place rename
+
+commit 05cfc9b2aa804a81b39e792cdf5d7fe8119e8df6
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat Dec 15 17:58:51 2007 +0000
+
+    better integration of split image functions into menu
+
+commit 69f60d962f323105247e0eaae029ab5d4c4d7395
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Fri Dec 14 21:51:46 2007 +0000
+
+    show active marks in image overlay
+
+commit 9ccee7c53567b57b5d54b727ad0d82e453c69d58
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sun Dec 9 21:20:27 2007 +0000
+
+    fixed image focus
+
+commit b44635e7ed331a57eda5ba5d5b4886ddfaf453dc
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sun Dec 9 12:33:51 2007 +0000
+
+    fixed copying zoom an scroll values from the original image on splitting
+
+commit ce0883ff7b010d5562f1d7d1213b326503229644
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sun Dec 9 11:58:39 2007 +0000
+
+    do not hilight selected image in SPLIT_NONE
+
+commit 4c1e2733efabf185cf89ce1c12da428f3402f5e9
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sun Dec 9 00:11:40 2007 +0000
+
+    improved drawing of frame around selected image
+
+commit 7ea79525bc616c4b570ed79cd5a930d85e34cbb6
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sun Nov 25 10:25:25 2007 +0000
+
+    more operations with file marks
+
+commit a0cf6aaa112b855b737422d74eb8ba048598d223
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sat Nov 24 21:06:30 2007 +0000
+
+    marks: fixes and cleanup
+
+commit 5c3c80672cb96a81b25289f09f82d3f642cf2846
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Thu Nov 22 21:15:35 2007 +0000
+
+    improved directory scanning a bit
+
+commit 106211b13e3e057b69bb7676d70155e64eb093cd
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Wed Nov 21 22:46:50 2007 +0000
+
+    added possibility to specify prefered file type for external commands
+
+commit 439688c617f392e5e63b68bac42663a05be7df61
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Wed Nov 21 21:21:17 2007 +0000
+
+    prevent duplicate sidecar files; code cleanup
+
+commit 07fcc6b5f7298e70aa7fc5530427997eece2bb44
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Tue Nov 20 22:28:40 2007 +0000
+
+    fixed grouping sidecar files and made it configurable via config file
+    (no gui yet)
+
+commit f4cbb100a217060899694be8fbe42a496f00f443
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Mon Oct 22 19:58:47 2007 +0000
+
+    fixed preloading images in file list
+
+commit db51b5674d885e18d75a4c4638ec70a5fbb0ee6a
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Mon Oct 8 19:41:49 2007 +0000
+
+    improved FileDataChangeInfo structure, check for another file operation in progress
+
+commit 0f0a7caad365e1040b989a58a53c5cd22270d631
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Tue Oct 2 21:49:02 2007 +0000
+
+    display sidecar files (jpeg + raw)  using gtk_tree_store
+    This is just a prototype to test the functionality, it needs more work.
+    
+    Please test, omments are welcome :)
+
+commit bd71fb9aabd65b6e530a82bf61b0787d5f9218a6
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Mon Oct 1 19:52:10 2007 +0000
+
+    use FileData even for sidecar file list
+
+commit dab00f02153474d52c62447e25e4a89f70ce918b
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Sun Sep 30 21:10:54 2007 +0000
+
+    editors.c was almost completely rewritten:
+    - centralized template parsing
+    - better control of executed editors
+    - possibility to get editor exit status via callback
+
+commit 0521644af7926c994e85a57345d7d9e4045dee23
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Wed Sep 12 21:17:31 2007 +0000
+
+    display sidecar extensions in filelist
+    some cleanup of file marks
+
+commit 06959abbda81a200519ad4b57b16995487b8acd8
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Tue Sep 11 20:06:29 2007 +0000
+
+    replaced gchar* path with FileData *fd
+
+commit d9367f6d1ce776d8a9c2cf67fe9f8166e4e41b6b
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Thu Aug 23 20:45:59 2007 +0000
+
+    started support for sidecar files like xmp, raw+jpeg etc.
+
+commit d42c34b8f61d1769f068d253d52043862cc49e56
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Mon Aug 20 20:11:32 2007 +0000
+
+    more external commands
+
+commit a4e65742955bd3ca929032eac09ea49b57a6873e
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Thu Aug 16 20:57:09 2007 +0000
+
+    improved external delete command
+
+commit 19d0a14182426bf5e9a9591c65f44af4c6fc3c06
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Wed Aug 15 21:37:51 2007 +0000
+
+    started implementation of external commands; external Delete should work
+
+commit 57c15b1c97b8d075ebb879fc4af67ba41a5d8471
+Author: Petr Ostadal <postadal@suse.cz>
+Date:   Fri Jul 20 07:10:48 2007 +0000
+
+    compilation fix
+
+commit 84f67e529bc28f1888d58736ed92d69b227a72a4
+Author: Petr Ostadal <postadal@suse.cz>
+Date:   Fri Jul 13 14:03:08 2007 +0000
+
+    First implementation of marks for all photos.
+
+commit f231104ffad164bd37990a2b4d8e4ffa392f3949
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Thu Jul 12 20:46:28 2007 +0000
+
+    relative scroll is working; some cleanup
+
+commit 45424fcc2bf63a47442a1669f19c57233ed07386
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Wed Jul 11 21:10:25 2007 +0000
+
+    connected zoom
+
+commit 625f31c5f44e5ad9b1689949b3e0553a1a89a2a6
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Wed Jul 11 20:00:07 2007 +0000
+
+    started relative scroll, keep scroll position
+
+commit 44d8cd9bde65b823801ea1f5eca8137641ce5c18
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Tue Jul 10 21:25:51 2007 +0000
+
+    improved connected scroll and active image switching
+
+commit f2c63eb24b224a0f9023dc2fa27dc1fe64a5c047
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date:   Fri Jun 29 15:16:46 2007 +0000
+
+    implemented split windows
+    TODO: menus and hotkeys, connected zoom, activating on drag
 
 Wed Jan 17 16:50:39 2007  John Ellis  <johne@verizon.net>
 
--- a/NEWS	Sun May 27 18:41:56 2012 +0100
+++ b/NEWS	Tue Oct 02 22:19:13 2012 +0100
@@ -1,8 +1,17 @@
+Geeqie 1.1
+==========
 
-This is a snapshot of a wiki page, from the time of release. For current version
-of the page look at http://geeqie.wiki.sourceforge.net/new_features
+- support for stereoscopic images
+  - input: side-by-side (JPS) and MPO format
+  - output: single image, anaglyph, SBS, mirror, SBS half size (3DTV)
+
+- custom tiff loader - better handling of large tiff files
 
-================================================================================
+- rewritten file grouping
+
+
+Geeqie 1.0
+==========
 
 Comparing images side-to-side
 
--- a/README	Sun May 27 18:41:56 2012 +0100
+++ b/README	Tue Oct 02 22:19:13 2012 +0100
@@ -1,7 +1,7 @@
 ###################################################################
-##                            Geeqie 1.0                         ##
+##                            Geeqie 1.1                         ##
 ##                                                               ##
-##              Copyright (C) 2008 - 2010 The Geeqie Team        ##
+##              Copyright (C) 2008 - 2012 The Geeqie Team        ##
 ##              Copyright (C) 1999 - 2006 John Ellis.            ##
 ##                                                               ##
 ##                      Use at your own risk!                    ##
@@ -17,8 +17,8 @@
 Geeqie projects goal is to move the development forward and 
 also integrate the existing patches.
 
-Geeqie is currently in beta state. All planed features for 1.0 are implemented,
-but there are bugs. Please report any crash or odd behavior to the bugtracker:
+Geeqie is currently considered stable. 
+Please report any crash or odd behavior to the bugtracker:
 https://sourceforge.net/tracker/?group_id=222125&atid=1054680
 
 For more info see:
@@ -48,10 +48,7 @@
 ======== Requirements
 
   Required libraries:
-    GTK+ 2.??.x: ftp://ftp.gtk.org/pub/gtk
-FIXME: determine realistic requirements.
-It compiles with GTK 2.10, but some features are disabled and the testing was
-minimal. Please report success or  falilures.
+    GTK+ 2.20: ftp://ftp.gtk.org/pub/gtk
 
   Optional libraries:
     lcms, for color management support: http://www.littlecms.com
@@ -104,6 +101,11 @@
     - Comparison of images to find duplicates by name, size, date,
       dimensions, or image content similarity.
     - EXIF support.
+    
+  Geeqie 1.1:
+    - support for stereoscopic images
+      - input: side-by-side (JPS) and MPO format
+      - output: single image, anaglyph, SBS, mirror, SBS half size (3DTV)
 
 ======== Documentation (brief)                         [section:documentation]
 
@@ -319,7 +321,7 @@
     "1/200 - 80 mm" if there's no ISO information in the Exif data.
 
   If a line is empty, it is removed.
-  This allows to add lines that totally disappear when no data is available.
+  This allows one to add lines that totally disappear when no data is available.
 
   Extra string uses special character '*' to mark the position of the data.
   If no '*' is present, then extra string is just appended to data.
@@ -331,7 +333,7 @@
   "%name:<i>*</i>\n%" -> name is displayed in italics ended with a newline
   "%size:\n%"         -> size is displayed with a newline at end
   "%formatted.ISOSpeedRating:ISO *%"      -> ie. "ISO 100"
-  "Collection <b>*</b>\n" -> display collection name in bold prefixed by
+  "%collection: Collection <b>*</b>\n%" -> display collection name in bold prefixed by
                              "Collection " and a newline is appended
 
 
--- a/configure.in	Sun May 27 18:41:56 2012 +0100
+++ b/configure.in	Tue Oct 02 22:19:13 2012 +0100
@@ -2,7 +2,7 @@
  -*-
 
 dnl This file is a part of Geeqie project (http://geeqie.sourceforge.net/).
-dnl Copyright (C) 2008 - 2010 The Geeqie Team
+dnl Copyright (C) 2008 - 2012 The Geeqie Team
 dnl
 dnl This program is free software; you can redistribute it and/or modify
 dnl it under the terms of the GNU General Public License as published by
@@ -15,7 +15,7 @@
 dnl GNU General Public License for more details.
 
 AC_PREREQ(2.57)
-AC_INIT(geeqie, 1.0, geeqie-devel@lists.sourceforge.net)
+AC_INIT(geeqie, 1.1, geeqie-devel@lists.sourceforge.net)
 
 # Check for rightly dirs
 AC_CONFIG_SRCDIR([src/main.c])
@@ -128,6 +128,7 @@
 AC_PROG_CXX
 AC_STDC_HEADERS
 AC_ARG_PROGRAM
+AC_SYS_LARGEFILE
 IT_PROG_INTLTOOL([0.35.0])
 
 
@@ -188,8 +189,23 @@
   prefix=$prefix
 fi
 
-AM_PATH_GLIB_2_0(2.4.0,,AC_MSG_ERROR(GLIB >= 2.4.0 not installed.))
-AM_PATH_GTK_2_0(2.4.0,,AC_MSG_ERROR(GTK+ >= 2.4.0 not installed.))
+AM_PATH_GLIB_2_0(2.24.0,,AC_MSG_ERROR(GLIB >= 2.24.0 not installed.))
+AC_ARG_ENABLE([gtk3], AC_HELP_STRING([--disable-gtk3], [use gtk2 instead of gtk3]),[gtk3="${enableval}"], [gtk3=m4_ifdef([AM_PATH_GTK_3_0], [auto], [no])])
+
+if test x$gtk3 == xyes; then
+    AC_MSG_WARN("Gtk3 enabled")
+    m4_ifdef([AM_PATH_GTK_3_0], [AM_PATH_GTK_3_0(3.0.0,,AC_MSG_ERROR(GTK+ >= 3.0.0 not installed.))])
+else
+    if test x$gtk3 != xno; then
+       AC_MSG_WARN("Gtk3 is preferred...")
+       m4_ifdef([AM_PATH_GTK_3_0], [AM_PATH_GTK_3_0(3.0.0,,[gtk3=no])])
+    fi
+fi
+
+if test x$gtk3 == xno; then
+    m4_ifdef([AM_PATH_GTK_2_0], [AM_PATH_GTK_2_0(2.20.0,,AC_MSG_ERROR(GTK+ >= 2.20.0 not installed.))])
+    true
+fi
 
 threads="auto"
 AC_ARG_ENABLE([threads],
@@ -274,14 +290,22 @@
     [liblcms=$enableval], [liblcms=auto])
 
 if test "x${liblcms}" != "xno"; then
-  PKG_CHECK_MODULES(LCMS, [lcms >= 1.14],
+  PKG_CHECK_MODULES(LCMS, [lcms2 >= 2.0],
     [
       HAVE_LCMS=yes
       AC_DEFINE(HAVE_LCMS, 1, [define to enable use of color profiles with lcms])
+      AC_DEFINE(HAVE_LCMS2, 1, [lcms2 is used])
     ],
     [
-      HAVE_LCMS=no
-      AC_MSG_WARN([$LCMS_PKG_ERRORS])
+    PKG_CHECK_MODULES(LCMS, [lcms >= 1.14],
+      [
+        HAVE_LCMS=yes
+        AC_DEFINE(HAVE_LCMS, 1, [define to enable use of color profiles with lcms])
+      ],
+      [
+        HAVE_LCMS=no
+        AC_MSG_WARN([$LCMS_PKG_ERRORS])
+      ])
     ])
 else
   HAVE_LCMS=disabled
@@ -380,15 +404,50 @@
 AC_SUBST(LDFLAGS)
 
 
+#  clutter support - experimental
+# ----------------------------------------------------------------------
+
+AC_ARG_ENABLE([clutter],
+  AC_HELP_STRING([--enable-clutter], [enable clutter support - experimental]),
+    [libclutter=$enableval], [libclutter=auto])
+
+if test "x${libclutter}" = "xyes" -o "x${libgps}" = "xyes"; then
+  PKG_CHECK_MODULES(CLUTTER, [clutter-1.0 >= 1.0],
+    [
+      PKG_CHECK_MODULES(CLUTTER_GTK, [clutter-gtk-1.0 >= 1.0],
+        [
+          HAVE_CLUTTER=yes
+          AC_DEFINE(HAVE_CLUTTER, 1, [define to enable use of clutter library])
+        ],
+        [
+          HAVE_CLUTTER=no
+          AC_MSG_WARN([$CLUTTER_GTK_PKG_ERRORS])
+        ])
+        
+    ],
+    [
+      HAVE_CLUTTER=no
+      AC_MSG_WARN([$CLUTTER_PKG_ERRORS])
+    ])
+else
+  HAVE_CLUTTER=disabled
+fi
+
+AC_SUBST(CLUTTER_CFLAGS)
+AC_SUBST(CLUTTER_LIBS)
+AC_SUBST(CLUTTER_GTK_CFLAGS)
+AC_SUBST(CLUTTER_GTK_LIBS)
+
+
 #  Libchamplain support - used for GPS map facility - experimental
 # ----------------------------------------------------------------------
 
 AC_ARG_ENABLE([gps],
   AC_HELP_STRING([--enable-gps], [enable GPS map support - experimental]),
-    [libgps=$enableval], [libgps=auto])
+    [libgps=$enableval], [libgps=yes])
 
-if test "x${libgps}" = "xyes"; then
-  PKG_CHECK_MODULES(LIBCHAMPLAIN, [champlain-0.4 >= 0.4],
+if test "x${libgps}" = "xyes" -a "x${HAVE_CLUTTER}" = "xyes" ; then
+  PKG_CHECK_MODULES(LIBCHAMPLAIN, [champlain-0.12 >= 0.12],
     [
       HAVE_LIBCHAMPLAIN=yes
       AC_DEFINE(HAVE_LIBCHAMPLAIN, 1, [define to enable use of GPS maps])
@@ -401,8 +460,8 @@
   HAVE_LIBCHAMPLAIN=disabled
 fi
 
-if test "x${libgps}" = "xyes"; then
-  PKG_CHECK_MODULES(LIBCHAMPLAIN_GTK, [champlain-gtk-0.4 >= 0.4],
+if test "x${libgps}" = "xyes" -a "x${HAVE_LIBCHAMPLAIN}" = "xyes" ; then
+  PKG_CHECK_MODULES(LIBCHAMPLAIN_GTK, [champlain-gtk-0.12 >= 0.12],
     [
       HAVE_LIBCHAMPLAIN_GTK=yes
       AC_DEFINE(HAVE_LIBCHAMPLAIN_GTK, 1, [define to enable use of GPS maps])
@@ -454,7 +513,7 @@
 
 /*
  *  This file is a part of Geeqie project (http://geeqie.sourceforge.net/).
- *  Copyright (C) 2008 - 2010 The Geeqie Team
+ *  Copyright (C) 2008 - 2012 The Geeqie Team
  *
  *  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
@@ -519,7 +578,7 @@
   Gtk:           $GTK_CFLAGS
   Glib:          $GLIB_CFLAGS
   Thread:        $GTHREAD_LIBS
-  Others:	 $JPEG_LIBS $TIFF_LIBS $LCMS_LIBS $EXIV2_LIBS $LIBCHAMPLAIN_LIBS $LIBCHAMPLAIN_GTK_LIBS $LUA_LIBS
+  Others:	 $JPEG_LIBS $TIFF_LIBS $LCMS_LIBS $EXIV2_LIBS $CLUTTER_LIBS $CLUTTER_GTK_LIBS $LIBCHAMPLAIN_LIBS $LIBCHAMPLAIN_GTK_LIBS $LUA_LIBS
 
 Localization:
   NLS support:   $USE_NLS
@@ -535,6 +594,7 @@
   LCMS:          $HAVE_LCMS
   Exiv2:	 $HAVE_EXIV2
   Lirc:          $HAVE_LIRC
+  Clutter:       $HAVE_CLUTTER
   Libchamplain:		$HAVE_LIBCHAMPLAIN
   Libchamplain-gtk:	$HAVE_LIBCHAMPLAIN_GTK
   Lua:	         $HAVE_LUA
--- a/debian/copyright	Sun May 27 18:41:56 2012 +0100
+++ b/debian/copyright	Tue Oct 02 22:19:13 2012 +0100
@@ -10,7 +10,7 @@
 
 Copyright:
 
-    Copyright (C) 2008 - 2010 The Geeqie Team
+    Copyright (C) 2008 - 2012 The Geeqie Team
     Copyright (C) 2006 John Ellis
 
 License:
--- a/doc/.cvsignore	Sun May 27 18:41:56 2012 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,2 +0,0 @@
-Makefile.in
-Makefile
--- a/doc/Makefile.am	Sun May 27 18:41:56 2012 +0100
+++ b/doc/Makefile.am	Tue Oct 02 22:19:13 2012 +0100
@@ -2,9 +2,6 @@
 
 helpdir = @htmldir@
 
-# empty help_DATA just installs the directory
-help_DATA = 
-
 EXTRA_DIST = docbook2html.sh docbook
 
 html/GuideIndex.html: docbook/GuideIndex.xml
@@ -19,6 +16,7 @@
 
 install-data-hook: html
 	if [ -x "$(GNOME_DOC_TOOL)" ]; then \
+		$(MKDIR_P) "$(DESTDIR)$(helpdir)" || exit 1; \
 		cd html; for f in * ; do $(INSTALL_DATA) "$$f" "$(DESTDIR)$(helpdir)/$$f" ; done; \
 		ln -s GuideIndex.html "$(DESTDIR)$(helpdir)/index.html" ; \
 	fi
--- a/doc/docbook/GuideMainWindowImagePane.xml	Sun May 27 18:41:56 2012 +0100
+++ b/doc/docbook/GuideMainWindowImagePane.xml	Tue Oct 02 22:19:13 2012 +0100
@@ -166,7 +166,7 @@
       Displaying images side by side
     </title>
     <para>
-      Using View &gt; Split item from the main menu, image pane can be splitted in up to four panes, this allows to display images side by side. You may use drag'n drop to change images in each pane.
+      Using View &gt; Split item from the main menu, image pane can be splitted in up to four panes, this allows one to display images side by side. You may use drag'n drop to change images in each pane.
     </para>
     <para>
       Connected zoom is possible through the View &gt; Connected zoom menu. Zoom is then applied to all displayed images.
--- a/doc/docbook/GuideOptionsBehavior.xml	Sun May 27 18:41:56 2012 +0100
+++ b/doc/docbook/GuideOptionsBehavior.xml	Tue Oct 02 22:19:13 2012 +0100
@@ -93,7 +93,7 @@
       Enable this option to show a "Copy path" menu item in applicable menus.
     </para>
     <para>
-      This allows to copy path to files or directories to the clipboard, names are enclosed with double quotes and separated by space.
+      This allows one to copy path to files or directories to the clipboard, names are enclosed with double quotes and separated by space.
     </para>
     <variablelist><varlistentry><term>
         Open recent list maximum size
--- a/doc/docbook/GuideOptionsImage.xml	Sun May 27 18:41:56 2012 +0100
+++ b/doc/docbook/GuideOptionsImage.xml	Tue Oct 02 22:19:13 2012 +0100
@@ -48,7 +48,7 @@
         Limit image size when autofitting
       </term><listitem><para/></listitem></varlistentry></variablelist>
     <para>
-      This percentage will affect the size of the image when Fit image to window is set, instead of using 100% of the window, it will use the specified percentage. It allows to keep a border around the image (values lower than 100%) or to auto zoom the image (values greater than 100%). It affects fullscreen mode too.
+      This percentage will affect the size of the image when Fit image to window is set, instead of using 100% of the window, it will use the specified percentage. It allows one to keep a border around the image (values lower than 100%) or to auto zoom the image (values greater than 100%). It affects fullscreen mode too.
     </para>
     <variablelist><varlistentry><term>
         Zoom increment
--- a/doc/docbook/GuideOptionsWindow.xml	Sun May 27 18:41:56 2012 +0100
+++ b/doc/docbook/GuideOptionsWindow.xml	Tue Oct 02 22:19:13 2012 +0100
@@ -226,7 +226,7 @@
       "1/200 - 80 mm" if there's no ISO information in the Exif data.<?db2html element="br"?>
     </para>
     <para>
-      If a line is empty, it is removed. This allows to add lines that totally disappear when no data is available.
+      If a line is empty, it is removed. This allows one to add lines that totally disappear when no data is available.
     </para>
     <para>
       Extra string uses special character '*' to mark the position of the data. If no '*' is present, then extra string is just appended to data. Any "\n" is replaced by a newline on display. Pango mark up is accepted in left and right parts. If data is empty, nothing will be displayed.
--- a/geeqie.spec.in	Sun May 27 18:41:56 2012 +0100
+++ b/geeqie.spec.in	Tue Oct 02 22:19:13 2012 +0100
@@ -1,15 +1,9 @@
 # norootforbuild
 
-BuildRequires:  gtk2-devel gcc-c++ intltool
+BuildRequires:  gtk2-devel gcc-c++ intltool gnome-doc-utils libjpeg-devel libtiff-devel
 %if 0%{?suse_version}
 BuildRequires:  liblcms-devel update-desktop-files
 %define docname	%{name}
-%if %suse_version < 1030
-%define _prefix	    /opt/gnome
-%define _sysconfdir /etc%{prefix}
-# workaround for gtk2 include conflicts on older SUSE versions:
-%define _includedir %{_usr}
-%endif
 %else
 BuildRequires:  lcms-devel
 %define docname	%{name}-%{version}
@@ -29,7 +23,7 @@
 %endif
 
 
-Summary:        Graphics file browser utility.
+Summary:        Graphics file browser utility
 Summary(fr):    Explorateur de fichiers graphiques
 Summary(es):    Navegador de archivos gráficos
 Summary(it):    Visualizzatore di archivi grafici
@@ -40,6 +34,7 @@
 Group:          Productivity/Graphics/Viewers
 Source:         geeqie-%{version}.tar.gz
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
+URL:            http://geeqie.sourceforge.net/
 #
 # these are requirements of the plugins
 Requires: exiv2 exiftran ImageMagick ufraw
--- a/gen_changelog.sh	Sun May 27 18:41:56 2012 +0100
+++ b/gen_changelog.sh	Tue Oct 02 22:19:13 2012 +0100
@@ -9,7 +9,7 @@
 [ ! -e "ChangeLog" ] && exit 1
 
 tail -6614 ChangeLog > ChangeLog.$$.old && \
-LC_ALL=C svn log -rHEAD:220 > ChangeLog.$$.new && \
+LC_ALL=C git log 1b58572cf58e9d2d4a0305108395dab5c66d3a09..HEAD > ChangeLog.$$.new && \
 cat ChangeLog.$$.old >> ChangeLog.$$.new && \
 mv -f ChangeLog ChangeLog.bak && \
 mv -f ChangeLog.$$.new ChangeLog
--- a/plugins/rotate/geeqie-rotate	Sun May 27 18:41:56 2012 +0100
+++ b/plugins/rotate/geeqie-rotate	Tue Oct 02 22:19:13 2012 +0100
@@ -8,7 +8,7 @@
 rotate()
 {
     ext=`echo "${1##*.}" |tr "[:upper:]" "[:lower:]"`
-    [ "x$ext" == "x" ] && return 1 #no extension
+    [ "x$ext" = "x" ] && return 1 #no extension
 
     gq_metadata="$GQ_METADATA_DIR/$1.gq.xmp"
     if [ -f "$gq_metadata" ]; then
@@ -48,7 +48,7 @@
 }
 
 get_sidecars=
-if [ "x$1" == "x-g" ] ; then
+if [ "x$1" = "x-g" ] ; then
     get_sidecars=yes
     shift
 fi
--- a/po/.cvsignore	Sun May 27 18:41:56 2012 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,9 +0,0 @@
-Makefile
-Makefile.in
-Makefile.in.in
-POTFILES
-cat-id-tbl.c
-gqview.pot
-stamp-cat-id
-*.gmo
-gqview.pot
--- a/po/LINGUAS	Sun May 27 18:41:56 2012 +0100
+++ b/po/LINGUAS	Tue Oct 02 22:19:13 2012 +0100
@@ -31,5 +31,5 @@
 tr
 uk
 vi
-zh_CN.GB2312
+zh_CN
 zh_TW
--- a/po/ca.po	Sun May 27 18:41:56 2012 +0100
+++ b/po/ca.po	Tue Oct 02 22:19:13 2012 +0100
@@ -2,17 +2,21 @@
 # Copyright (C) 2003 Free Software Foundation, Inc.
 # www.kyfieithu.co.uk, www.gyfieithu.co.uk, 2003.
 # angel mompo <mecatxis@ya.com>, 2010.
+# Àngel Mompó <mecatxis@gmail.com>, 2012.
+#
 msgid ""
 msgstr ""
 "Project-Id-Version: Geeqie 1.5.4\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-01-27 20:56+0100\n"
-"PO-Revision-Date: 2010-01-10 18:36+0100\n"
-"Last-Translator: angel mompo <mecatxis@ya.com>\n"
-"Language-Team: catalan <traducció@catux.com>\n"
+"POT-Creation-Date: 2012-08-13 12:19+0200\n"
+"PO-Revision-Date: 2012-07-07 12:32+0200\n"
+"Last-Translator: Àngel Mompó <mecatxis@gmail.com>\n"
+"Language-Team: Catalan <ca@dodds.net> <>\n"
+"Language: \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"
+"Plural-Forms: nplurals=2; plural=(n!=1);\n"
 
 #: ../geeqie.desktop.in.h:1
 msgid "Geeqie"
@@ -54,12 +58,12 @@
 msgid "UFRaw Batch recursive"
 msgstr "Lot recursiu UFRaw"
 
-#: ../src/advanced_exif.c:328 ../src/cache_maint.c:1284
-#: ../src/preferences.c:93 ../src/preferences.c:1595
+#: ../src/advanced_exif.c:328 ../src/cache_maint.c:1304
+#: ../src/preferences.c:93 ../src/preferences.c:1789
 msgid "Metadata"
 msgstr "Metadades"
 
-#: ../src/advanced_exif.c:376 ../src/preferences.c:1512
+#: ../src/advanced_exif.c:376 ../src/preferences.c:1703
 msgid "Description"
 msgstr "Descripció"
 
@@ -67,8 +71,8 @@
 msgid "Value"
 msgstr "Valor"
 
-#: ../src/advanced_exif.c:378 ../src/desktop_file.c:515 ../src/dupe.c:2647
-#: ../src/dupe.c:3165 ../src/print.c:3201 ../src/search.c:2844
+#: ../src/advanced_exif.c:378 ../src/desktop_file.c:515 ../src/dupe.c:2651
+#: ../src/dupe.c:3173 ../src/print.c:3213 ../src/search.c:2852
 #: ../src/utilops.c:462 ../src/view_file_list.c:2046
 msgid "Name"
 msgstr "Nom"
@@ -94,11 +98,11 @@
 msgid "Title"
 msgstr "Títol"
 
-#: ../src/bar.c:169 ../src/search.c:2767
+#: ../src/bar.c:169 ../src/search.c:2775
 msgid "Keywords"
 msgstr "Paraules clau"
 
-#: ../src/bar.c:170 ../src/search.c:2779
+#: ../src/bar.c:170 ../src/search.c:2787
 msgid "Comment"
 msgstr "Comentari"
 
@@ -115,7 +119,7 @@
 msgid "Location and GPS"
 msgstr "Localització i GPS"
 
-#: ../src/bar.c:175 ../src/exif.c:347
+#: ../src/bar.c:175 ../src/exif.c:348
 msgid "Copyright"
 msgstr "Copyright"
 
@@ -127,11 +131,11 @@
 msgid "Move to _top"
 msgstr "Mou a _dalt de tot"
 
-#: ../src/bar.c:298 ../src/ui_bookmark.c:405
+#: ../src/bar.c:298 ../src/ui_bookmark.c:410
 msgid "Move _up"
 msgstr "Mou _amunt"
 
-#: ../src/bar.c:299 ../src/ui_bookmark.c:407
+#: ../src/bar.c:299 ../src/ui_bookmark.c:412
 msgid "Move _down"
 msgstr "Mou a_vall"
 
@@ -143,11 +147,11 @@
 msgid "Remove"
 msgstr "Suprimeix"
 
-#: ../src/bar_comment.c:191
+#: ../src/bar_comment.c:195
 msgid "Add text to selected files"
 msgstr "Afegeix un text als fitxers seleccionats"
 
-#: ../src/bar_comment.c:192
+#: ../src/bar_comment.c:196
 msgid "Replace existing text in selected files"
 msgstr "Reemplaça el text existent als fitxers seleccionats"
 
@@ -155,43 +159,43 @@
 msgid "<empty label, fixme>"
 msgstr "<etiqueta buida, cal arreglar-la>"
 
-#: ../src/bar_exif.c:538 ../src/bar_exif.c:548
+#: ../src/bar_exif.c:546 ../src/bar_exif.c:556
 msgid "Configure entry"
 msgstr "Configura el registre"
 
 #. for the pane
-#: ../src/bar_exif.c:538 ../src/bar_exif.c:548 ../src/bar_exif.c:621
+#: ../src/bar_exif.c:546 ../src/bar_exif.c:556 ../src/bar_exif.c:629
 msgid "Add entry"
 msgstr "Afegeix un registre"
 
-#: ../src/bar_exif.c:554
+#: ../src/bar_exif.c:562
 msgid "Key:"
 msgstr "Clau:"
 
-#: ../src/bar_exif.c:563
+#: ../src/bar_exif.c:571
 msgid "Title:"
 msgstr "Títol:"
 
-#: ../src/bar_exif.c:572
+#: ../src/bar_exif.c:580
 msgid "Show only if set"
 msgstr "Mostra'l només si no és buit"
 
-#: ../src/bar_exif.c:573
+#: ../src/bar_exif.c:581
 msgid "Editable (supported only for XMP)"
 msgstr "Editable (només suportat per XMP)"
 
 #. for the entry
-#: ../src/bar_exif.c:609
+#: ../src/bar_exif.c:617
 #, c-format
 msgid "Configure \"%s\""
 msgstr "Configura «%s»"
 
-#: ../src/bar_exif.c:610 ../src/bar_keywords.c:1143
+#: ../src/bar_exif.c:618 ../src/bar_keywords.c:1207
 #, c-format
 msgid "Remove \"%s\""
 msgstr "Suprimeix «%s»"
 
-#: ../src/bar_exif.c:622
+#: ../src/bar_exif.c:630
 msgid "Show hidden entries"
 msgstr "Mostra els registres ocults"
 
@@ -238,117 +242,121 @@
 msgstr "Centrat del mapa"
 
 #. use the same strings as in layout_util.c
-#: ../src/bar_histogram.c:242 ../src/layout_util.c:1392
+#: ../src/bar_histogram.c:265 ../src/layout_util.c:1432
 msgid "Histogram on _Red"
 msgstr "Histograma del ve_rmell"
 
-#: ../src/bar_histogram.c:243 ../src/layout_util.c:1393
+#: ../src/bar_histogram.c:266 ../src/layout_util.c:1433
 msgid "Histogram on _Green"
 msgstr "Histograma del _verd"
 
-#: ../src/bar_histogram.c:244 ../src/layout_util.c:1394
+#: ../src/bar_histogram.c:267 ../src/layout_util.c:1434
 msgid "Histogram on _Blue"
 msgstr "Histograma del _blau"
 
-#: ../src/bar_histogram.c:245 ../src/layout_util.c:1395
+#: ../src/bar_histogram.c:268 ../src/layout_util.c:1435
 msgid "_Histogram on RGB"
 msgstr "_Histograma del RGB"
 
-#: ../src/bar_histogram.c:246 ../src/layout_util.c:1396
+#: ../src/bar_histogram.c:269 ../src/layout_util.c:1436
 msgid "Histogram on _Value"
 msgstr "Histograma _segons el valor"
 
-#: ../src/bar_histogram.c:250 ../src/layout_util.c:1400
+#: ../src/bar_histogram.c:273 ../src/layout_util.c:1440
 msgid "Li_near Histogram"
 msgstr "Histograma li_neal"
 
-#: ../src/bar_histogram.c:251
+#: ../src/bar_histogram.c:274
 msgid "L_og Histogram"
 msgstr "Histograma l_ogarítmic"
 
-#: ../src/bar_keywords.c:410
+#: ../src/bar_keywords.c:414
 msgid "Add keywords to selected files"
 msgstr "Afegeix paraules clau als fitxers seleccionats"
 
-#: ../src/bar_keywords.c:411
+#: ../src/bar_keywords.c:415
 msgid "Replace existing keywords in selected files"
 msgstr "Reemplaça les paraules clau dels fitxers seleccionats"
 
-#: ../src/bar_keywords.c:884
+#: ../src/bar_keywords.c:888
 msgid "Edit keyword"
 msgstr "Edita la paraula clau"
 
-#: ../src/bar_keywords.c:884
+#: ../src/bar_keywords.c:888
 msgid "Add keywords"
 msgstr "Afegeix paraules clau"
 
-#: ../src/bar_keywords.c:891
+#: ../src/bar_keywords.c:895
 msgid "Configure keyword"
 msgstr "Configura la paraula clau"
 
-#: ../src/bar_keywords.c:891 ../src/bar_keywords.c:1101
+#: ../src/bar_keywords.c:895 ../src/bar_keywords.c:1161
 msgid "Add keyword"
 msgstr "Afegeix una paraula clau"
 
-#: ../src/bar_keywords.c:897
+#: ../src/bar_keywords.c:901
 msgid "Keyword:"
 msgstr "Paraula clau:"
 
-#: ../src/bar_keywords.c:906
+#: ../src/bar_keywords.c:910
 msgid "Keyword type:"
 msgstr "Tipus de paraula clau:"
 
-#: ../src/bar_keywords.c:908
+#: ../src/bar_keywords.c:912
 msgid "Active keyword"
 msgstr "Paraula clau activa"
 
-#: ../src/bar_keywords.c:911
+#: ../src/bar_keywords.c:915
 msgid "Helper"
 msgstr "Ajuda"
 
-#: ../src/bar_keywords.c:1121
+#: ../src/bar_keywords.c:1165
+msgid "Add keyword to all selected images"
+msgstr "Afegeix paraules clau a les imatges seleccionades"
+
+#: ../src/bar_keywords.c:1185
 #, c-format
 msgid "Hide \"%s\""
 msgstr "Oculta «%s»"
 
-#: ../src/bar_keywords.c:1128
+#: ../src/bar_keywords.c:1192
 #, c-format
 msgid "Mark %d"
 msgstr "Marca _%d"
 
-#: ../src/bar_keywords.c:1133
+#: ../src/bar_keywords.c:1197
 #, c-format
 msgid "Connect \"%s\" to mark"
 msgstr "Connecta «%s» a la marca"
 
-#: ../src/bar_keywords.c:1140
+#: ../src/bar_keywords.c:1204
 #, c-format
 msgid "Edit \"%s\""
 msgstr "Edita «%s»"
 
-#: ../src/bar_keywords.c:1150
+#: ../src/bar_keywords.c:1214
 #, c-format
 msgid "Disconnect \"%s\" from mark %s"
 msgstr "Desconnecta «%s» de la marca %s"
 
 #. for the pane
-#: ../src/bar_keywords.c:1162 ../src/bar_keywords.c:1171
+#: ../src/bar_keywords.c:1226 ../src/bar_keywords.c:1235
 msgid "Expand checked"
 msgstr "Amplia els seleccionats"
 
-#: ../src/bar_keywords.c:1163 ../src/bar_keywords.c:1172
+#: ../src/bar_keywords.c:1227 ../src/bar_keywords.c:1236
 msgid "Collapse unchecked"
 msgstr "Redueix els seleccionats"
 
-#: ../src/bar_keywords.c:1164 ../src/bar_keywords.c:1173
+#: ../src/bar_keywords.c:1228 ../src/bar_keywords.c:1237
 msgid "Hide unchecked"
 msgstr "Oculta els seleccionats"
 
-#: ../src/bar_keywords.c:1165
+#: ../src/bar_keywords.c:1229
 msgid "Show all"
 msgstr "Mostra'ls tots"
 
-#: ../src/bar_keywords.c:1168
+#: ../src/bar_keywords.c:1232
 msgid "On any change"
 msgstr "Si hi ha algun canvi"
 
@@ -396,11 +404,11 @@
 msgid "Sort Manager"
 msgstr "Gestor d'ordenació"
 
-#: ../src/bar_sort.c:606 ../src/pan-view.c:2395 ../src/ui_pathsel.c:1099
+#: ../src/bar_sort.c:606 ../src/pan-view.c:2417 ../src/ui_pathsel.c:1106
 msgid "Folders"
 msgstr "Carpetes"
 
-#: ../src/bar_sort.c:607 ../src/options.c:140
+#: ../src/bar_sort.c:607 ../src/options.c:148
 msgid "Collections"
 msgstr "Col·leccions"
 
@@ -433,77 +441,77 @@
 "s'ha produït un error en desar les dades de la memòria cau del sim: %s\n"
 "error: %s\n"
 
-#: ../src/cache_maint.c:129 ../src/cache_maint.c:722 ../src/cache_maint.c:938
-#: ../src/editors.c:1176
+#: ../src/cache_maint.c:129 ../src/cache_maint.c:730 ../src/cache_maint.c:954
+#: ../src/editors.c:1177
 msgid "done"
 msgstr "fet"
 
-#: ../src/cache_maint.c:307
+#: ../src/cache_maint.c:311
 msgid "Removing old metadata..."
 msgstr "S'estan esborrant les metadades antigues..."
 
-#: ../src/cache_maint.c:311
+#: ../src/cache_maint.c:315
 msgid "Clearing cached thumbnails..."
 msgstr "Netejant les miniatures de la memòria cau..."
 
-#: ../src/cache_maint.c:315 ../src/cache_maint.c:1096
+#: ../src/cache_maint.c:319 ../src/cache_maint.c:1116
 msgid "Removing old thumbnails..."
 msgstr "S'estan esborrant les miniatures antigues..."
 
-#: ../src/cache_maint.c:318 ../src/cache_maint.c:1099
+#: ../src/cache_maint.c:322 ../src/cache_maint.c:1119
 msgid "Maintenance"
 msgstr "Manteniment"
 
-#: ../src/cache_maint.c:833
+#: ../src/cache_maint.c:845
 msgid "Invalid folder"
 msgstr "Carpeta no vàlida"
 
-#: ../src/cache_maint.c:834
+#: ../src/cache_maint.c:846
 msgid "The specified folder can not be found."
 msgstr "No s'ha pogut trobar la carpeta especificada."
 
-#: ../src/cache_maint.c:865 ../src/cache_maint.c:879 ../src/cache_maint.c:1275
+#: ../src/cache_maint.c:877 ../src/cache_maint.c:891 ../src/cache_maint.c:1295
 msgid "Create thumbnails"
 msgstr "Crea miniatures"
 
-#: ../src/cache_maint.c:873 ../src/cache_maint.c:1106
+#: ../src/cache_maint.c:885 ../src/cache_maint.c:1126
 msgid "S_tart"
 msgstr "I_nici"
 
-#: ../src/cache_maint.c:886 ../src/preferences.c:1782
+#: ../src/cache_maint.c:898 ../src/preferences.c:1977
 msgid "Folder:"
 msgstr "Carpeta:"
 
-#: ../src/cache_maint.c:889
+#: ../src/cache_maint.c:901
 msgid "Select folder"
 msgstr "Seleccioneu una carpeta"
 
-#: ../src/cache_maint.c:893
+#: ../src/cache_maint.c:905
 msgid "Include subfolders"
 msgstr "Inclou les subcarpetes"
 
-#: ../src/cache_maint.c:894
+#: ../src/cache_maint.c:906
 msgid "Store thumbnails local to source images"
 msgstr "Desa les miniatures al mateix lloc que les imatges originals"
 
-#: ../src/cache_maint.c:903 ../src/cache_maint.c:1115
+#: ../src/cache_maint.c:915 ../src/cache_maint.c:1135
 msgid "click start to begin"
 msgstr "feu clic a inici per començar"
 
-#: ../src/cache_maint.c:1042 ../src/editors.c:1102
+#: ../src/cache_maint.c:1062 ../src/editors.c:1103
 msgid "running..."
 msgstr "executant..."
 
-#: ../src/cache_maint.c:1091
+#: ../src/cache_maint.c:1111
 msgid "Clearing thumbnails..."
 msgstr "Esborrant miniatures..."
 
-#: ../src/cache_maint.c:1157 ../src/cache_maint.c:1160
-#: ../src/cache_maint.c:1253 ../src/cache_maint.c:1270
+#: ../src/cache_maint.c:1177 ../src/cache_maint.c:1180
+#: ../src/cache_maint.c:1273 ../src/cache_maint.c:1290
 msgid "Clear cache"
 msgstr "Buida la memòria cau"
 
-#: ../src/cache_maint.c:1161
+#: ../src/cache_maint.c:1181
 msgid ""
 "This will remove all thumbnails that have\n"
 "been saved to disk, continue?"
@@ -511,49 +519,49 @@
 "Aquesta acció esborrarà totes les miniatures que\n"
 "s'han desat al disc, voleu continuar?"
 
-#: ../src/cache_maint.c:1203
+#: ../src/cache_maint.c:1223
 #, c-format
 msgid "Location: %s"
 msgstr "Ubicació: %s"
 
-#: ../src/cache_maint.c:1228
+#: ../src/cache_maint.c:1248
 msgid "Cache Maintenance"
 msgstr "Manteniment de la memòria cau"
 
-#: ../src/cache_maint.c:1238
+#: ../src/cache_maint.c:1258
 msgid "Cache and Data Maintenance"
 msgstr "Manteniment de Memòria cau i Dades"
 
-#: ../src/cache_maint.c:1242
+#: ../src/cache_maint.c:1262
 msgid "Thumbnail cache"
 msgstr "Memòria cau de miniatures"
 
-#: ../src/cache_maint.c:1248 ../src/cache_maint.c:1265
-#: ../src/cache_maint.c:1290
+#: ../src/cache_maint.c:1268 ../src/cache_maint.c:1285
+#: ../src/cache_maint.c:1310
 msgid "Clean up"
 msgstr "Neteja"
 
-#: ../src/cache_maint.c:1251 ../src/cache_maint.c:1268
+#: ../src/cache_maint.c:1271 ../src/cache_maint.c:1288
 msgid "Remove orphaned or outdated thumbnails."
 msgstr "Suprimeix les miniatures orfes o desactualitzades."
 
-#: ../src/cache_maint.c:1256 ../src/cache_maint.c:1273
+#: ../src/cache_maint.c:1276 ../src/cache_maint.c:1293
 msgid "Delete all cached thumbnails."
 msgstr "Suprimeix totes les miniatures de la memòria cau."
 
-#: ../src/cache_maint.c:1259
+#: ../src/cache_maint.c:1279
 msgid "Shared thumbnail cache"
 msgstr "Miniatures de la memòria cau compartides"
 
-#: ../src/cache_maint.c:1279
+#: ../src/cache_maint.c:1299
 msgid "Render"
 msgstr "Representa"
 
-#: ../src/cache_maint.c:1282
+#: ../src/cache_maint.c:1302
 msgid "Render thumbnails for a specific folder."
 msgstr "Genera les miniatures per a una carpeta específica."
 
-#: ../src/cache_maint.c:1293
+#: ../src/cache_maint.c:1313
 msgid "Remove orphaned keywords and comments."
 msgstr "Suprimeix les paraules clau i els comentaris orfes."
 
@@ -687,140 +695,140 @@
 msgid "%s, %d images"
 msgstr "%s, %d imatges"
 
-#: ../src/collect-table.c:223 ../src/layout_util.c:1194
-#: ../src/layout_util.c:2231
+#: ../src/collect-table.c:223 ../src/layout_util.c:1232
+#: ../src/layout_util.c:2289
 msgid "Empty"
 msgstr "Buida"
 
 #: ../src/collect-table.c:237 ../src/dupe.c:1319 ../src/search.c:320
-#: ../src/view_file.c:835 ../src/view_file.c:938
+#: ../src/view_file.c:835 ../src/view_file.c:942
 msgid "Loading thumbs..."
 msgstr "S'estan carregant les miniatures..."
 
-#: ../src/collect-table.c:866 ../src/dupe.c:2242 ../src/dupe.c:2555
-#: ../src/layout_util.c:1241 ../src/search.c:1000
+#: ../src/collect-table.c:870 ../src/dupe.c:2246 ../src/dupe.c:2559
+#: ../src/layout_util.c:1279 ../src/search.c:1000
 msgid "_View"
 msgstr "_Visualitza"
 
-#: ../src/collect-table.c:868 ../src/dupe.c:2244 ../src/dupe.c:2557
-#: ../src/img-view.c:1281 ../src/layout_image.c:505 ../src/pan-view.c:2823
+#: ../src/collect-table.c:872 ../src/dupe.c:2248 ../src/dupe.c:2561
+#: ../src/img-view.c:1289 ../src/layout_image.c:505 ../src/pan-view.c:2845
 #: ../src/search.c:1002 ../src/view_file.c:588
 msgid "View in _new window"
-msgstr "Visualitzar en una finestra _nova"
-
-#: ../src/collect-table.c:871 ../src/dupe.c:2278 ../src/dupe.c:2565
+msgstr "Visualitza en una finestra _nova"
+
+#: ../src/collect-table.c:875 ../src/dupe.c:2282 ../src/dupe.c:2569
 #: ../src/search.c:1032
 msgid "Rem_ove"
 msgstr "Sup_rimeix"
 
-#: ../src/collect-table.c:874
+#: ../src/collect-table.c:878
 msgid "Append from file list"
 msgstr "Afegeix des de la llista de fitxers"
 
-#: ../src/collect-table.c:876
+#: ../src/collect-table.c:880
 msgid "Append from collection..."
 msgstr "Afegeix des de col·lecció..."
 
-#: ../src/collect-table.c:880
+#: ../src/collect-table.c:884
 msgid "_Selection"
 msgstr "_Selecciona"
 
-#: ../src/collect-table.c:882 ../src/dupe.c:2247 ../src/dupe.c:2560
-#: ../src/layout_util.c:1287 ../src/search.c:1005
+#: ../src/collect-table.c:886 ../src/dupe.c:2251 ../src/dupe.c:2564
+#: ../src/layout_util.c:1326 ../src/search.c:1005
 msgid "Select all"
 msgstr "Selecciona-ho tot"
 
-#: ../src/collect-table.c:884 ../src/dupe.c:2249 ../src/dupe.c:2562
-#: ../src/layout_util.c:1288 ../src/search.c:1007
+#: ../src/collect-table.c:888 ../src/dupe.c:2253 ../src/dupe.c:2566
+#: ../src/layout_util.c:1327 ../src/search.c:1007
 msgid "Select none"
 msgstr "Desfés la selecció"
 
-#: ../src/collect-table.c:886
+#: ../src/collect-table.c:890
 msgid "Invert selection"
 msgstr "Inverteix la selecció"
 
-#: ../src/collect-table.c:898 ../src/dupe.c:2267 ../src/img-view.c:1285
-#: ../src/layout_image.c:513 ../src/layout_util.c:1270 ../src/pan-view.c:2827
+#: ../src/collect-table.c:902 ../src/dupe.c:2271 ../src/img-view.c:1293
+#: ../src/layout_image.c:513 ../src/layout_util.c:1309 ../src/pan-view.c:2849
 #: ../src/search.c:1021 ../src/view_file.c:592
 msgid "_Copy..."
 msgstr "_Copia..."
 
-#: ../src/collect-table.c:900 ../src/dupe.c:2269 ../src/img-view.c:1286
-#: ../src/layout_image.c:515 ../src/layout_util.c:1271 ../src/pan-view.c:2829
+#: ../src/collect-table.c:904 ../src/dupe.c:2273 ../src/img-view.c:1294
+#: ../src/layout_image.c:515 ../src/layout_util.c:1310 ../src/pan-view.c:2851
 #: ../src/search.c:1023 ../src/view_file.c:594
 msgid "_Move..."
 msgstr "_Mou..."
 
-#: ../src/collect-table.c:902 ../src/dupe.c:2271 ../src/img-view.c:1287
-#: ../src/layout_image.c:517 ../src/layout_util.c:1272 ../src/pan-view.c:2831
+#: ../src/collect-table.c:906 ../src/dupe.c:2275 ../src/img-view.c:1295
+#: ../src/layout_image.c:517 ../src/layout_util.c:1311 ../src/pan-view.c:2853
 #: ../src/search.c:1025 ../src/view_dir.c:666 ../src/view_file.c:596
 msgid "_Rename..."
 msgstr "Can_via el nom..."
 
-#: ../src/collect-table.c:904 ../src/dupe.c:2273 ../src/img-view.c:1288
-#: ../src/layout_image.c:519 ../src/layout_util.c:1273
-#: ../src/layout_util.c:1274 ../src/layout_util.c:1275 ../src/pan-view.c:2833
+#: ../src/collect-table.c:908 ../src/dupe.c:2277 ../src/img-view.c:1296
+#: ../src/layout_image.c:519 ../src/layout_util.c:1312
+#: ../src/layout_util.c:1313 ../src/layout_util.c:1314 ../src/pan-view.c:2855
 #: ../src/search.c:1027 ../src/view_dir.c:668 ../src/view_file.c:598
 msgid "_Delete..."
 msgstr "_Suprimeix..."
 
-#: ../src/collect-table.c:906 ../src/dupe.c:2275 ../src/img-view.c:1289
-#: ../src/layout_image.c:522 ../src/pan-view.c:2835 ../src/search.c:1029
+#: ../src/collect-table.c:910 ../src/dupe.c:2279 ../src/img-view.c:1297
+#: ../src/layout_image.c:522 ../src/pan-view.c:2857 ../src/search.c:1029
 #: ../src/view_dir.c:671 ../src/view_file.c:600
 msgid "_Copy path"
 msgstr "_Copia el camí"
 
-#: ../src/collect-table.c:912
+#: ../src/collect-table.c:916
 msgid "Randomize"
 msgstr "Barreja-les"
 
-#: ../src/collect-table.c:914 ../src/view_file.c:616
+#: ../src/collect-table.c:918 ../src/view_file.c:616
 msgid "_Sort"
 msgstr "_Ordena"
 
-#: ../src/collect-table.c:917 ../src/view_file.c:632
+#: ../src/collect-table.c:921 ../src/view_file.c:632
 msgid "Show filename _text"
 msgstr "Mostra el _nom del fitxer"
 
-#: ../src/collect-table.c:920
+#: ../src/collect-table.c:924
 msgid "_Save collection"
 msgstr "_Desa la col·lecció"
 
-#: ../src/collect-table.c:922
+#: ../src/collect-table.c:926
 msgid "Save collection _as..."
 msgstr "_Anomena i desa la col·lecció..."
 
-#: ../src/collect-table.c:925 ../src/layout_util.c:1266
+#: ../src/collect-table.c:929 ../src/layout_util.c:1305
 msgid "_Find duplicates..."
 msgstr "_Cerca imatges duplicades"
 
-#: ../src/collect-table.c:927 ../src/dupe.c:2264 ../src/layout_util.c:1268
+#: ../src/collect-table.c:931 ../src/dupe.c:2268 ../src/layout_util.c:1307
 #: ../src/search.c:1018
 msgid "Print..."
 msgstr "Imprimeix..."
 
-#: ../src/collect-table.c:2085 ../src/dupe.c:3355 ../src/img-view.c:1443
+#: ../src/collect-table.c:2097 ../src/dupe.c:3363 ../src/img-view.c:1451
 msgid "Dropped list includes folders."
 msgstr "La llista deixada inclou carpetes."
 
-#: ../src/collect-table.c:2087 ../src/dupe.c:3357 ../src/img-view.c:1445
+#: ../src/collect-table.c:2099 ../src/dupe.c:3365 ../src/img-view.c:1453
 msgid "_Add contents"
 msgstr "_Afegeix continguts"
 
-#: ../src/collect-table.c:2089 ../src/dupe.c:3358 ../src/img-view.c:1446
+#: ../src/collect-table.c:2101 ../src/dupe.c:3366 ../src/img-view.c:1454
 msgid "Add contents _recursive"
 msgstr "Afegeix continguts _recursivament"
 
-#: ../src/collect-table.c:2091 ../src/dupe.c:3359 ../src/img-view.c:1447
+#: ../src/collect-table.c:2103 ../src/dupe.c:3367 ../src/img-view.c:1455
 msgid "_Skip folders"
 msgstr "_Salta carpetes"
 
-#: ../src/collect-table.c:2094 ../src/dupe.c:3361 ../src/img-view.c:1449
+#: ../src/collect-table.c:2106 ../src/dupe.c:3369 ../src/img-view.c:1457
 #: ../src/view_dir.c:417
 msgid "Cancel"
 msgstr "Cancel·la"
 
-#: ../src/color-man.c:420 ../src/exif.c:232 ../src/exif-common.c:403
+#: ../src/color-man.c:420 ../src/exif.c:233 ../src/exif-common.c:433
 msgid "sRGB"
 msgstr "sRGB"
 
@@ -888,8 +896,8 @@
 msgid "Hidden"
 msgstr "Ocult"
 
-#: ../src/desktop_file.c:543 ../src/dupe.c:2653 ../src/dupe.c:3169
-#: ../src/print.c:3203 ../src/search.c:2848 ../src/ui_pathsel.c:1111
+#: ../src/desktop_file.c:543 ../src/dupe.c:2657 ../src/dupe.c:3177
+#: ../src/print.c:3215 ../src/search.c:2856 ../src/ui_pathsel.c:1118
 #: ../src/utilops.c:458
 msgid "Path"
 msgstr "Camí"
@@ -932,120 +940,120 @@
 msgid "Sorting..."
 msgstr "S'està ordenant..."
 
-#: ../src/dupe.c:2251
+#: ../src/dupe.c:2255
 msgid "Select group _1 duplicates"
 msgstr "Seleccioneu duplicats del grup _1"
 
-#: ../src/dupe.c:2253
+#: ../src/dupe.c:2257
 msgid "Select group _2 duplicates"
 msgstr "Seleccioneu duplicats del grup_ 2 duplicats"
 
-#: ../src/dupe.c:2262 ../src/search.c:1016
+#: ../src/dupe.c:2266 ../src/search.c:1016
 msgid "Add to new collection"
 msgstr "Afegeix a una nova col·lecció"
 
-#: ../src/dupe.c:2280 ../src/dupe.c:2567 ../src/search.c:1034
+#: ../src/dupe.c:2284 ../src/dupe.c:2571 ../src/search.c:1034
 msgid "C_lear"
 msgstr "Nete_ja"
 
-#: ../src/dupe.c:2283 ../src/dupe.c:2570
+#: ../src/dupe.c:2287 ../src/dupe.c:2574
 msgid "Close _window"
 msgstr "Tanca la _finestra"
 
-#: ../src/dupe.c:2443
+#: ../src/dupe.c:2447
 #, c-format
 msgid "%d files (set 2)"
 msgstr "%d fitxers (definiu-ne 2)"
 
-#: ../src/dupe.c:2648
+#: ../src/dupe.c:2652
 msgid "Name case-insensitive"
 msgstr "El nom no distingeix entre majúscules i minúscules"
 
-#: ../src/dupe.c:2649 ../src/dupe.c:3166 ../src/preferences.c:1336
-#: ../src/print.c:3207 ../src/search.c:2845 ../src/view_file_list.c:2050
+#: ../src/dupe.c:2653 ../src/dupe.c:3174 ../src/preferences.c:1527
+#: ../src/print.c:3219 ../src/search.c:2853 ../src/view_file_list.c:2050
 msgid "Size"
 msgstr "Mida"
 
-#: ../src/dupe.c:2650 ../src/dupe.c:3167 ../src/exif.c:341
-#: ../src/exif-common.c:514 ../src/print.c:3205 ../src/search.c:2846
+#: ../src/dupe.c:2654 ../src/dupe.c:3175 ../src/exif.c:342
+#: ../src/exif-common.c:544 ../src/print.c:3217 ../src/search.c:2854
 #: ../src/view_file_list.c:2054
 msgid "Date"
 msgstr "Data"
 
-#: ../src/dupe.c:2651 ../src/dupe.c:3168 ../src/print.c:3209
-#: ../src/search.c:2847
+#: ../src/dupe.c:2655 ../src/dupe.c:3176 ../src/print.c:3221
+#: ../src/search.c:2855
 msgid "Dimensions"
 msgstr "Dimensions"
 
-#: ../src/dupe.c:2652
+#: ../src/dupe.c:2656
 msgid "Checksum"
 msgstr "Suma de verificació"
 
-#: ../src/dupe.c:2654
+#: ../src/dupe.c:2658
 msgid "Similarity (high)"
 msgstr "Semblança (alta)"
 
-#: ../src/dupe.c:2655
+#: ../src/dupe.c:2659
 msgid "Similarity"
 msgstr "Semblança"
 
-#: ../src/dupe.c:2656
+#: ../src/dupe.c:2660
 msgid "Similarity (low)"
 msgstr "Semblança (baixa)"
 
-#: ../src/dupe.c:2657
+#: ../src/dupe.c:2661
 msgid "Similarity (custom)"
 msgstr "Semblança (personalitzada)"
 
-#: ../src/dupe.c:3119
+#: ../src/dupe.c:3127
 msgid "Find duplicates"
 msgstr "Cerca els duplicats"
 
-#: ../src/dupe.c:3201
+#: ../src/dupe.c:3209
 msgid "Compare to:"
 msgstr "Compara amb:"
 
-#: ../src/dupe.c:3214
+#: ../src/dupe.c:3222
 msgid "Compare by:"
 msgstr "Compara per:"
 
-#: ../src/dupe.c:3222 ../src/preferences.c:1171 ../src/search.c:2861
+#: ../src/dupe.c:3230 ../src/preferences.c:1359 ../src/search.c:2869
 msgid "Thumbnails"
 msgstr "Miniatures"
 
-#: ../src/dupe.c:3229
+#: ../src/dupe.c:3237
 msgid "Compare two file sets"
 msgstr "Compara dos conjunts de fitxers"
 
-#: ../src/editors.c:280
+#: ../src/editors.c:281
 #, c-format
 msgid "Desktop file '%s' should not include extension in Icon key: '%s'\n"
 msgstr ""
 "El fixer desktop '%s' no hauria d'incloure extensió a la clau Icon: «%s»\n"
 
 #. flash fired (bit 0)
-#: ../src/editors.c:334 ../src/exif.c:225 ../src/exif-common.c:332
+#: ../src/editors.c:335 ../src/exif.c:226 ../src/exif-common.c:362
 msgid "yes"
 msgstr "sí"
 
-#: ../src/editors.c:334 ../src/exif.c:224 ../src/exif-common.c:332
+#: ../src/editors.c:335 ../src/exif.c:225 ../src/exif-common.c:362
 msgid "no"
 msgstr "no"
 
-#: ../src/editors.c:506
+#: ../src/editors.c:507
 msgid "stopping..."
 msgstr "aturant..."
 
-#: ../src/editors.c:527
+#: ../src/editors.c:528
 msgid "Edit command results"
 msgstr "Edita els resultats de la comanda"
 
-#: ../src/editors.c:530
+#: ../src/editors.c:531
 #, c-format
 msgid "Output of %s"
 msgstr "Sortida de %s"
 
-#: ../src/editors.c:1053
+#: ../src/editors.c:1054
 #, c-format
 msgid ""
 "Failed to run command:\n"
@@ -1054,11 +1062,11 @@
 "No es pot executar la comanda:\n"
 "%s\n"
 
-#: ../src/editors.c:1180
+#: ../src/editors.c:1181
 msgid "stopped by user"
 msgstr "aturat per l'usuari"
 
-#: ../src/editors.c:1265
+#: ../src/editors.c:1266
 #, c-format
 msgid ""
 "%s\n"
@@ -1067,824 +1075,824 @@
 "%s\n"
 "«%s»"
 
-#: ../src/editors.c:1267
+#: ../src/editors.c:1268
 msgid "Invalid editor command"
 msgstr "comanda invalida del editor"
 
-#: ../src/editors.c:1354
+#: ../src/editors.c:1355
 msgid "Editor template is empty."
 msgstr "La plantilla de l'editor és buida."
 
-#: ../src/editors.c:1355
+#: ../src/editors.c:1356
 msgid "Editor template has incorrect syntax."
 msgstr "La plantilla de l'editor te una sintaxi incorrecta."
 
-#: ../src/editors.c:1356
+#: ../src/editors.c:1357
 msgid "Editor template uses incompatible macros."
 msgstr "La plantilla de l'editor fa servir macros incompatibles."
 
-#: ../src/editors.c:1357
+#: ../src/editors.c:1358
 msgid "Can't find matching file type."
 msgstr "No es troba cap tipus de fitxer coincident."
 
-#: ../src/editors.c:1358
+#: ../src/editors.c:1359
 msgid "Can't execute external editor."
 msgstr "No es pot executar l'editor extern."
 
-#: ../src/editors.c:1359
+#: ../src/editors.c:1360
 msgid "External editor returned error status."
 msgstr "L'editor extern a retornat un error."
 
-#: ../src/editors.c:1360
+#: ../src/editors.c:1361
 msgid "File was skipped."
 msgstr "S'ha omès el fitxer."
 
-#: ../src/editors.c:1361
+#: ../src/editors.c:1362
 msgid "Unknown error."
 msgstr "Error desconegut."
 
-#: ../src/exif.c:147 ../src/exif.c:160 ../src/exif.c:174 ../src/exif.c:199
-#: ../src/exif.c:316 ../src/exif.c:663 ../src/exif-common.c:308
-#: ../src/exif-common.c:311 ../src/exif-common.c:378
+#: ../src/exif.c:148 ../src/exif.c:161 ../src/exif.c:175 ../src/exif.c:200
+#: ../src/exif.c:317 ../src/exif.c:664 ../src/exif-common.c:338
+#: ../src/exif-common.c:341 ../src/exif-common.c:408
 msgid "unknown"
 msgstr "desconegut"
 
-#: ../src/exif.c:148
+#: ../src/exif.c:149
 msgid "top left"
 msgstr "superior esquerra"
 
-#: ../src/exif.c:149
+#: ../src/exif.c:150
 msgid "top right"
 msgstr "superior dreta"
 
-#: ../src/exif.c:150
+#: ../src/exif.c:151
 msgid "bottom right"
 msgstr "inferior dreta"
 
-#: ../src/exif.c:151
+#: ../src/exif.c:152
 msgid "bottom left"
 msgstr "inferior esquerra"
 
-#: ../src/exif.c:152
+#: ../src/exif.c:153
 msgid "left top"
 msgstr "esquerra superior"
 
-#: ../src/exif.c:153
+#: ../src/exif.c:154
 msgid "right top"
 msgstr "dreta superior"
 
-#: ../src/exif.c:154
+#: ../src/exif.c:155
 msgid "right bottom"
 msgstr "dreta inferior"
 
-#: ../src/exif.c:155
+#: ../src/exif.c:156
 msgid "left bottom"
 msgstr "esquerra inferior"
 
-#: ../src/exif.c:162
+#: ../src/exif.c:163
 msgid "inch"
 msgstr "polzada"
 
-#: ../src/exif.c:163
+#: ../src/exif.c:164
 msgid "centimeter"
 msgstr "centímetre"
 
-#: ../src/exif.c:175
+#: ../src/exif.c:176
 msgid "average"
 msgstr "mitjana"
 
-#: ../src/exif.c:176
+#: ../src/exif.c:177
 msgid "center weighted"
 msgstr "centre ponderat"
 
-#: ../src/exif.c:177
+#: ../src/exif.c:178
 msgid "spot"
 msgstr "punts"
 
-#: ../src/exif.c:178
-msgid "multi-spot"
-msgstr "multi-punt"
-
 #: ../src/exif.c:179
-msgid "multi-segment"
-msgstr "multi-segment"
+msgid "multi-spot"
+msgstr "multi-punt"
 
 #: ../src/exif.c:180
+msgid "multi-segment"
+msgstr "multi-segment"
+
+#: ../src/exif.c:181
 msgid "partial"
 msgstr "parcial"
 
-#: ../src/exif.c:181 ../src/exif.c:219
+#: ../src/exif.c:182 ../src/exif.c:220
 msgid "other"
 msgstr "altres"
 
-#: ../src/exif.c:186 ../src/exif.c:238
+#: ../src/exif.c:187 ../src/exif.c:239
 msgid "not defined"
 msgstr "sense definir"
 
-#: ../src/exif.c:187 ../src/exif.c:266 ../src/exif.c:273
+#: ../src/exif.c:188 ../src/exif.c:267 ../src/exif.c:274
 msgid "manual"
 msgstr "manual"
 
-#: ../src/exif.c:188 ../src/exif.c:259 ../src/exif.c:295 ../src/exif.c:302
-#: ../src/exif.c:309
+#: ../src/exif.c:189 ../src/exif.c:260 ../src/exif.c:296 ../src/exif.c:303
+#: ../src/exif.c:310
 msgid "normal"
 msgstr "normal"
 
-#: ../src/exif.c:189
+#: ../src/exif.c:190
 msgid "aperture"
 msgstr "obertura"
 
-#: ../src/exif.c:190
+#: ../src/exif.c:191
 msgid "shutter"
 msgstr "obturador"
 
-#: ../src/exif.c:191
-msgid "creative"
-msgstr "creatiu"
-
 #: ../src/exif.c:192
+msgid "creative"
+msgstr "creatiu"
+
+#: ../src/exif.c:193
 msgid "action"
 msgstr "acció"
 
-#: ../src/exif.c:193 ../src/exif.c:280
+#: ../src/exif.c:194 ../src/exif.c:281
 msgid "portrait"
 msgstr "vertical"
 
-#: ../src/exif.c:194 ../src/exif.c:279
+#: ../src/exif.c:195 ../src/exif.c:280
 msgid "landscape"
 msgstr "apaïsat"
 
-#: ../src/exif.c:200
+#: ../src/exif.c:201
 msgid "daylight"
 msgstr "llum de dia"
 
-#: ../src/exif.c:201
+#: ../src/exif.c:202
 msgid "fluorescent"
 msgstr "fluorescent"
 
-#: ../src/exif.c:202
+#: ../src/exif.c:203
 msgid "tungsten (incandescent)"
 msgstr "tungstè (incandescent)"
 
-#: ../src/exif.c:203
+#: ../src/exif.c:204
 msgid "flash"
 msgstr "flaix"
 
-#: ../src/exif.c:204
+#: ../src/exif.c:205
 msgid "fine weather"
 msgstr "bon temps"
 
-#: ../src/exif.c:205
+#: ../src/exif.c:206
 msgid "cloudy weather"
 msgstr "ennuvolat"
 
-#: ../src/exif.c:206
-msgid "shade"
-msgstr "ombra"
-
 #: ../src/exif.c:207
-msgid "daylight fluorescent"
-msgstr "fluorescent llum de dia"
+msgid "shade"
+msgstr "ombra"
 
 #: ../src/exif.c:208
+msgid "daylight fluorescent"
+msgstr "fluorescent llum de dia"
+
+#: ../src/exif.c:209
 msgid "day white fluorescent"
 msgstr "fluorescent day white"
 
-#: ../src/exif.c:209
-msgid "cool white fluorescent"
-msgstr "fluorescent cool white"
-
 #: ../src/exif.c:210
+msgid "cool white fluorescent"
+msgstr "fluorescent cool white"
+
+#: ../src/exif.c:211
 msgid "white fluorescent"
 msgstr "fluorescent blanc"
 
-#: ../src/exif.c:211
+#: ../src/exif.c:212
 msgid "standard light A"
 msgstr "llum estàndard A"
 
-#: ../src/exif.c:212
+#: ../src/exif.c:213
 msgid "standard light B"
 msgstr "llum estàndard B"
 
-#: ../src/exif.c:213
+#: ../src/exif.c:214
 msgid "standard light C"
 msgstr "llum estàndard C"
 
-#: ../src/exif.c:214
+#: ../src/exif.c:215
 msgid "D55"
 msgstr "D55"
 
-#: ../src/exif.c:215
+#: ../src/exif.c:216
 msgid "D65"
 msgstr "D65"
 
-#: ../src/exif.c:216
+#: ../src/exif.c:217
 msgid "D75"
 msgstr "D75"
 
-#: ../src/exif.c:217
+#: ../src/exif.c:218
 msgid "D50"
 msgstr "D50"
 
-#: ../src/exif.c:218
+#: ../src/exif.c:219
 msgid "ISO studio tungsten"
 msgstr "ISO tungstè d'estudi"
 
-#: ../src/exif.c:226
+#: ../src/exif.c:227
 msgid "yes, not detected by strobe"
 msgstr "sí, no detectat per l'efecte estroboscòpic "
 
-#: ../src/exif.c:227
+#: ../src/exif.c:228
 msgid "yes, detected by strobe"
 msgstr "sí, detectat per l'efecte estroboscòpic"
 
-#: ../src/exif.c:233
+#: ../src/exif.c:234
 msgid "uncalibrated"
 msgstr "sense calibrar"
 
-#: ../src/exif.c:239
+#: ../src/exif.c:240
 msgid "1 chip color area"
 msgstr "1 chip d'àrea de color"
 
-#: ../src/exif.c:240
+#: ../src/exif.c:241
 msgid "2 chip color area"
 msgstr "2 chips d'àrea de color"
 
-#: ../src/exif.c:241
+#: ../src/exif.c:242
 msgid "3 chip color area"
 msgstr "3 chips d'àrea de color"
 
-#: ../src/exif.c:242
-msgid "color sequential area"
-msgstr "àrea de color seqüencial"
-
 #: ../src/exif.c:243
-msgid "trilinear"
-msgstr "trilineal"
+msgid "color sequential area"
+msgstr "àrea de color seqüencial"
 
 #: ../src/exif.c:244
+msgid "trilinear"
+msgstr "trilineal"
+
+#: ../src/exif.c:245
 msgid "color sequential linear"
 msgstr "color seqüencial lineal"
 
-#: ../src/exif.c:249
+#: ../src/exif.c:250
 msgid "digital still camera"
 msgstr "càmera de fotografiar digital "
 
-#: ../src/exif.c:254
+#: ../src/exif.c:255
 msgid "direct photo"
 msgstr "fotografia directa"
 
-#: ../src/exif.c:260
+#: ../src/exif.c:261
 msgid "custom"
 msgstr "personalitzat"
 
-#: ../src/exif.c:265 ../src/exif.c:272 ../src/exif-common.c:346
+#: ../src/exif.c:266 ../src/exif.c:273 ../src/exif-common.c:376
 msgid "auto"
 msgstr "automàtic"
 
-#: ../src/exif.c:267
+#: ../src/exif.c:268
 msgid "auto bracket"
 msgstr "enforquillament automàtic"
 
-#: ../src/exif.c:278
+#: ../src/exif.c:279
 msgid "standard"
 msgstr "estàndard"
 
-#: ../src/exif.c:281
+#: ../src/exif.c:282
 msgid "night scene"
 msgstr "escena nocturna"
 
-#: ../src/exif.c:286
+#: ../src/exif.c:287
 msgid "none"
 msgstr "cap"
 
-#: ../src/exif.c:287
+#: ../src/exif.c:288
 msgid "low gain up"
 msgstr "guany baix incrementat"
 
-#: ../src/exif.c:288
+#: ../src/exif.c:289
 msgid "high gain up"
 msgstr "guany alt incrementat"
 
-#: ../src/exif.c:289
-msgid "low gain down"
-msgstr "guany baix disminuït"
-
 #: ../src/exif.c:290
+msgid "low gain down"
+msgstr "guany baix disminuït"
+
+#: ../src/exif.c:291
 msgid "high gain down"
 msgstr "guany alt disminuït"
 
-#: ../src/exif.c:296 ../src/exif.c:310
+#: ../src/exif.c:297 ../src/exif.c:311
 msgid "soft"
 msgstr "suau"
 
-#: ../src/exif.c:297 ../src/exif.c:311
+#: ../src/exif.c:298 ../src/exif.c:312
 msgid "hard"
 msgstr "dur"
 
-#: ../src/exif.c:303
+#: ../src/exif.c:304
 msgid "low"
 msgstr "baix"
 
-#: ../src/exif.c:304
+#: ../src/exif.c:305
 msgid "high"
 msgstr "alt"
 
-#: ../src/exif.c:317
-msgid "macro"
-msgstr "macro"
-
 #: ../src/exif.c:318
-msgid "close"
-msgstr "tancat"
+msgid "macro"
+msgstr "macro"
 
 #: ../src/exif.c:319
+msgid "close"
+msgstr "tancat"
+
+#: ../src/exif.c:320
 msgid "distant"
 msgstr "distant"
 
-#: ../src/exif.c:329
-msgid "Image Width"
-msgstr "Amplada de la imatge"
-
 #: ../src/exif.c:330
+msgid "Image Width"
+msgstr "Amplada de la imatge"
+
+#: ../src/exif.c:331
 msgid "Image Height"
 msgstr "Alçada de la imatge"
 
-#: ../src/exif.c:331
+#: ../src/exif.c:332
 msgid "Bits per Sample/Pixel"
 msgstr "Bits per mostra/pixel"
 
-#: ../src/exif.c:332
+#: ../src/exif.c:333
 msgid "Compression"
 msgstr "Compressió"
 
-#: ../src/exif.c:333
+#: ../src/exif.c:334
 msgid "Image description"
 msgstr "Descripció de la imatge"
 
-#: ../src/exif.c:334
+#: ../src/exif.c:335
 msgid "Camera make"
 msgstr "Fabricant de la càmera"
 
-#: ../src/exif.c:335
+#: ../src/exif.c:336
 msgid "Camera model"
 msgstr "Model de la càmera"
 
-#: ../src/exif.c:336
+#: ../src/exif.c:337
 msgid "Orientation"
 msgstr "Orientació"
 
-#: ../src/exif.c:337
+#: ../src/exif.c:338
 msgid "X resolution"
 msgstr "Resolució X"
 
-#: ../src/exif.c:338
+#: ../src/exif.c:339
 msgid "Y Resolution"
 msgstr "Resolució Y"
 
-#: ../src/exif.c:339
-msgid "Resolution units"
-msgstr "Unitats de la resolució"
-
 #: ../src/exif.c:340
+msgid "Resolution units"
+msgstr "Unitats de la resolució"
+
+#: ../src/exif.c:341
 msgid "Firmware"
 msgstr "Microprogramari"
 
-#: ../src/exif.c:342
+#: ../src/exif.c:343
 msgid "White point"
 msgstr "Punt blanc"
 
-#: ../src/exif.c:343
-msgid "Primary chromaticities"
-msgstr "Cromaticitats primàries"
-
 #: ../src/exif.c:344
+msgid "Primary chromaticities"
+msgstr "Cromaticitats primàries"
+
+#: ../src/exif.c:345
 msgid "YCbCy coefficients"
 msgstr "Coeficients YCbCy"
 
-#: ../src/exif.c:345
+#: ../src/exif.c:346
 msgid "YCbCr positioning"
 msgstr "Posicionament YCbCr"
 
-#: ../src/exif.c:346
+#: ../src/exif.c:347
 msgid "Black white reference"
 msgstr "Referència de blanc i negre"
 
-#: ../src/exif.c:348
+#: ../src/exif.c:349
 msgid "SubIFD Exif offset"
 msgstr "Ã’fset del Exif SubIFD"
 
 #. subIFD follows
-#: ../src/exif.c:350
+#: ../src/exif.c:351
 msgid "Exposure time (seconds)"
 msgstr "Temps d'exposició (segons)"
 
-#: ../src/exif.c:351
+#: ../src/exif.c:352
 msgid "FNumber"
 msgstr "Número F"
 
-#: ../src/exif.c:352
-msgid "Exposure program"
-msgstr "Programació del diafragma"
-
 #: ../src/exif.c:353
+msgid "Exposure program"
+msgstr "Programació del diafragma"
+
+#: ../src/exif.c:354
 msgid "Spectral Sensitivity"
 msgstr "Sensibilitat espectral"
 
-#: ../src/exif.c:354 ../src/exif.c:390 ../src/exif-common.c:518
+#: ../src/exif.c:355 ../src/exif.c:391 ../src/exif-common.c:548
 msgid "ISO sensitivity"
 msgstr "Sensibilitat ISO"
 
-#: ../src/exif.c:355
+#: ../src/exif.c:356
 msgid "Optoelectric conversion factor"
 msgstr "Factor de conversió optoelèctrica"
 
-#: ../src/exif.c:356
+#: ../src/exif.c:357
 msgid "Exif version"
 msgstr "Versió de l'Exif"
 
-#: ../src/exif.c:357
+#: ../src/exif.c:358
 msgid "Date original"
 msgstr "Data original"
 
-#: ../src/exif.c:358
+#: ../src/exif.c:359
 msgid "Date digitized"
 msgstr "Data de digitalització"
 
-#: ../src/exif.c:359
-msgid "Pixel format"
-msgstr "Format del píxel"
-
 #: ../src/exif.c:360
+msgid "Pixel format"
+msgstr "Format del píxel"
+
+#: ../src/exif.c:361
 msgid "Compression ratio"
 msgstr "Ràtio de compressió"
 
-#: ../src/exif.c:361 ../src/exif-common.c:515
+#: ../src/exif.c:362 ../src/exif-common.c:545
 msgid "Shutter speed"
 msgstr "Velocitat de l'obturador"
 
-#: ../src/exif.c:362 ../src/exif-common.c:516
+#: ../src/exif.c:363 ../src/exif-common.c:546
 msgid "Aperture"
 msgstr "Obertura"
 
-#: ../src/exif.c:363
+#: ../src/exif.c:364
 msgid "Brightness"
 msgstr "Brillantor"
 
-#: ../src/exif.c:364 ../src/exif-common.c:517
+#: ../src/exif.c:365 ../src/exif-common.c:547
 msgid "Exposure bias"
 msgstr "Obertura del diafragma"
 
-#: ../src/exif.c:365
+#: ../src/exif.c:366
 msgid "Maximum aperture"
 msgstr "Obertura màxima"
 
-#: ../src/exif.c:366 ../src/exif-common.c:521
+#: ../src/exif.c:367 ../src/exif-common.c:551
 msgid "Subject distance"
 msgstr "Distància al subjecte"
 
-#: ../src/exif.c:367
+#: ../src/exif.c:368
 msgid "Metering mode"
 msgstr "Mètode de mesurament"
 
-#: ../src/exif.c:368
+#: ../src/exif.c:369
 msgid "Light source"
 msgstr "Font de llum"
 
-#: ../src/exif.c:369 ../src/exif-common.c:522
+#: ../src/exif.c:370 ../src/exif-common.c:552
 msgid "Flash"
 msgstr "Flaix"
 
-#: ../src/exif.c:370 ../src/exif-common.c:519
+#: ../src/exif.c:371 ../src/exif-common.c:549
 msgid "Focal length"
 msgstr "Distància focal"
 
-#: ../src/exif.c:371
+#: ../src/exif.c:372
 msgid "Subject area"
 msgstr "Àrea del subjecte"
 
-#: ../src/exif.c:372
+#: ../src/exif.c:373
 msgid "MakerNote"
 msgstr "Nota del fabricant"
 
-#: ../src/exif.c:373
+#: ../src/exif.c:374
 msgid "UserComment"
 msgstr "Comentari del usuari"
 
-#: ../src/exif.c:374
+#: ../src/exif.c:375
 msgid "Subsecond time"
 msgstr "Dècimes de segon"
 
-#: ../src/exif.c:375
+#: ../src/exif.c:376
 msgid "Subsecond time original"
 msgstr "Dècimes de segon de l'hora original"
 
-#: ../src/exif.c:376
+#: ../src/exif.c:377
 msgid "Subsecond time digitized"
 msgstr "Dècimes de segon de l'hora de digitalització"
 
-#: ../src/exif.c:377
+#: ../src/exif.c:378
 msgid "FlashPix version"
 msgstr "Versió del FlashPix"
 
-#: ../src/exif.c:378
+#: ../src/exif.c:379
 msgid "Colorspace"
 msgstr "Espai de color"
 
 #. ExifImageWidth, ExifImageHeight can also be unsigned short
-#: ../src/exif.c:380
+#: ../src/exif.c:381 ../src/preferences.c:2224
 msgid "Width"
 msgstr "Amplada"
 
-#: ../src/exif.c:381
+#: ../src/exif.c:382 ../src/preferences.c:2226
 msgid "Height"
 msgstr "Alçada"
 
-#: ../src/exif.c:382
-msgid "Audio data"
-msgstr "Dades d'àudio"
-
 #: ../src/exif.c:383
+msgid "Audio data"
+msgstr "Dades d'àudio"
+
+#: ../src/exif.c:384
 msgid "ExifR98 extension"
 msgstr "Extensió ExifR98"
 
-#: ../src/exif.c:384
+#: ../src/exif.c:385
 msgid "Flash strength"
 msgstr "Força del flaix"
 
-#: ../src/exif.c:385
+#: ../src/exif.c:386
 msgid "Spatial frequency response"
 msgstr "Resposta de la freqüència espacial"
 
-#: ../src/exif.c:386
+#: ../src/exif.c:387
 msgid "X Pixel density"
 msgstr "Densitat de pixelat X"
 
-#: ../src/exif.c:387
+#: ../src/exif.c:388
 msgid "Y Pixel density"
 msgstr "Densitat de pixelat Y"
 
-#: ../src/exif.c:388
+#: ../src/exif.c:389
 msgid "Pixel density units"
 msgstr "Unitats de densitat del pixelat"
 
-#: ../src/exif.c:389
+#: ../src/exif.c:390
 msgid "Subject location"
 msgstr "Localització del subjecte"
 
-#: ../src/exif.c:391
+#: ../src/exif.c:392
 msgid "Sensor type"
 msgstr "Tipus de sensor"
 
-#: ../src/exif.c:392
+#: ../src/exif.c:393
 msgid "Source type"
 msgstr "Tipus de font"
 
-#: ../src/exif.c:393
+#: ../src/exif.c:394
 msgid "Scene type"
 msgstr "Tipus d'escena"
 
-#: ../src/exif.c:394
+#: ../src/exif.c:395
 msgid "Color filter array pattern"
 msgstr "Patró de la matriu de filtres de color"
 
 #. tags a4xx were added for Exif 2.2 (not just these - some above, as well)
-#: ../src/exif.c:396
+#: ../src/exif.c:397
 msgid "Render process"
 msgstr "Procés de renderització"
 
-#: ../src/exif.c:397
+#: ../src/exif.c:398
 msgid "Exposure mode"
 msgstr "Mode d'exposició"
 
-#: ../src/exif.c:398
+#: ../src/exif.c:399
 msgid "White balance"
 msgstr "Balanç de blanc"
 
-#: ../src/exif.c:399
-msgid "Digital zoom ratio"
-msgstr "Ràtio de l'ampliació digital"
-
 #: ../src/exif.c:400
+msgid "Digital zoom ratio"
+msgstr "Ràtio de l'ampliació digital"
+
+#: ../src/exif.c:401
 msgid "Focal length (35mm)"
 msgstr "Longitud focal (35mm)"
 
-#: ../src/exif.c:401
-msgid "Scene capture type"
-msgstr "Tipus d'escena capturada"
-
 #: ../src/exif.c:402
-msgid "Gain control"
-msgstr "Control del guany"
+msgid "Scene capture type"
+msgstr "Tipus d'escena capturada"
 
 #: ../src/exif.c:403
+msgid "Gain control"
+msgstr "Control del guany"
+
+#: ../src/exif.c:404
 msgid "Contrast"
 msgstr "Contrast"
 
-#: ../src/exif.c:404
-msgid "Saturation"
-msgstr "Saturació"
-
 #: ../src/exif.c:405
+msgid "Saturation"
+msgstr "Saturació"
+
+#: ../src/exif.c:406
 msgid "Sharpness"
 msgstr "Nitidesa"
 
-#: ../src/exif.c:406
-msgid "Device setting"
-msgstr "Preferències del dispositiu"
-
 #: ../src/exif.c:407
-msgid "Subject range"
-msgstr "Distància al subjecte"
+msgid "Device setting"
+msgstr "Preferències del dispositiu"
 
 #: ../src/exif.c:408
+msgid "Subject range"
+msgstr "Distància al subjecte"
+
+#: ../src/exif.c:409
 msgid "Image serial number"
 msgstr "Número de sèrie de la imatge"
 
-#: ../src/exif-common.c:307
+#: ../src/exif-common.c:337
 msgid "infinity"
 msgstr "infinit"
 
-#: ../src/exif-common.c:336
+#: ../src/exif-common.c:366
 msgid "mode:"
 msgstr "mode:"
 
-#: ../src/exif-common.c:340 ../src/trash.c:205
+#: ../src/exif-common.c:370 ../src/trash.c:205
 msgid "on"
 msgstr "actiu"
 
-#: ../src/exif-common.c:343 ../src/trash.c:210
+#: ../src/exif-common.c:373 ../src/trash.c:210
 msgid "off"
 msgstr "inactiu"
 
-#: ../src/exif-common.c:352
+#: ../src/exif-common.c:382
 msgid "not detected by strobe"
 msgstr "no ha estat detectat per l'efecte estroboscòpic"
 
-#: ../src/exif-common.c:353
+#: ../src/exif-common.c:383
 msgid "detected by strobe"
 msgstr "ha estat detectat per l'efecte estroboscòpic"
 
 #. we ignore flash function (bit 5)
 #. red-eye (bit 6)
-#: ../src/exif-common.c:358
+#: ../src/exif-common.c:388
 msgid "red-eye reduction"
 msgstr "reducció de l'efecte <ulls vermells>"
 
-#: ../src/exif-common.c:378
+#: ../src/exif-common.c:408
 msgid "dot"
 msgstr "punts"
 
-#: ../src/exif-common.c:408
+#: ../src/exif-common.c:438
 msgid "AdobeRGB"
 msgstr "AdobeRGB"
 
-#: ../src/exif-common.c:416
+#: ../src/exif-common.c:446
 msgid "embedded"
 msgstr "incrustat"
 
-#: ../src/exif-common.c:505
+#: ../src/exif-common.c:535
 msgid "Above Sea Level"
 msgstr "Sobre el nivell del mar"
 
-#: ../src/exif-common.c:505
+#: ../src/exif-common.c:535
 msgid "Below Sea Level"
 msgstr "Sota el nivell del mar"
 
-#: ../src/exif-common.c:513
+#: ../src/exif-common.c:543
 msgid "Camera"
 msgstr "Càmera"
 
-#: ../src/exif-common.c:520
+#: ../src/exif-common.c:550
 msgid "Focal length 35mm"
 msgstr "Distància focal 35mm"
 
-#: ../src/exif-common.c:523
+#: ../src/exif-common.c:553
 msgid "Resolution"
 msgstr "Resolució"
 
-#: ../src/exif-common.c:524
+#: ../src/exif-common.c:554
 msgid "Color profile"
 msgstr "Perfil de color"
 
-#: ../src/exif-common.c:525
+#: ../src/exif-common.c:555
 msgid "GPS position"
 msgstr "posició GPS"
 
-#: ../src/exif-common.c:526
+#: ../src/exif-common.c:556
 msgid "GPS altitude"
 msgstr "altitud GPS"
 
-#: ../src/exif-common.c:527
+#: ../src/exif-common.c:557
 msgid "File size"
 msgstr "Mida del fitxer"
 
-#: ../src/exif-common.c:528
+#: ../src/exif-common.c:558
 msgid "File date"
 msgstr "Data del fitxer"
 
-#: ../src/exif-common.c:529
+#: ../src/exif-common.c:559
 msgid "File mode"
 msgstr "Mode del fitxer"
 
-#: ../src/filedata.c:91
+#: ../src/filedata.c:97
 #, c-format
 msgid "%d bytes"
 msgstr "%d bytes"
 
-#: ../src/filedata.c:95
+#: ../src/filedata.c:101
 #, c-format
 msgid "%.1f K"
 msgstr "%.1f K"
 
-#: ../src/filedata.c:99
+#: ../src/filedata.c:105
 #, c-format
 msgid "%.1f MB"
 msgstr "%.1f MB"
 
-#: ../src/filedata.c:104
+#: ../src/filedata.c:110
 #, c-format
 msgid "%.1f GB"
 msgstr "%.1f GB"
 
-#: ../src/filedata.c:2185
+#: ../src/filedata.c:2316
 msgid "file or directory does not exist"
 msgstr "el fitxer o el directori no existeix"
 
-#: ../src/filedata.c:2191
+#: ../src/filedata.c:2322
 msgid "destination already exists"
 msgstr "el destí ja existeix"
 
-#: ../src/filedata.c:2197
+#: ../src/filedata.c:2328
 msgid "destination can't be overwritten"
 msgstr "el destí no es pot sobreescriure"
 
-#: ../src/filedata.c:2203
+#: ../src/filedata.c:2334
 msgid "destination directory is not writable"
 msgstr "no es pot escriure al directori destí"
 
-#: ../src/filedata.c:2209
+#: ../src/filedata.c:2340
 msgid "destination directory does not exist"
 msgstr "el directori de destí no existeix"
 
-#: ../src/filedata.c:2215
+#: ../src/filedata.c:2346
 msgid "source directory is not writable"
 msgstr "no es pot escriure al directori font"
 
-#: ../src/filedata.c:2221
+#: ../src/filedata.c:2352
 msgid "no read permission"
 msgstr "no teniu permís de lectura"
 
-#: ../src/filedata.c:2227
+#: ../src/filedata.c:2358
 msgid "file is readonly"
 msgstr "el fitxer és de només lectura"
 
-#: ../src/filedata.c:2233
+#: ../src/filedata.c:2364
 msgid "destination already exists and will be overwritten"
 msgstr "el destí ja existeix i es sobreescriurà"
 
-#: ../src/filedata.c:2239
+#: ../src/filedata.c:2370
 msgid "source and destination are the same"
 msgstr "L'origen i el destí són els mateixos"
 
-#: ../src/filedata.c:2245
+#: ../src/filedata.c:2376
 msgid "source and destination have different extension"
 msgstr "L'origen i el destí tenen extensió diferent"
 
-#: ../src/filedata.c:2251
+#: ../src/filedata.c:2382
 msgid "there are unsaved metadata changes for the file"
 msgstr "hi ha canvis a les metadades del fitxer que no s'han desat"
 
-#: ../src/fullscreen.c:243 ../src/layout_util.c:1329 ../src/layout_util.c:1330
-#: ../src/layout_util.c:1331 ../src/preferences.c:1349
+#: ../src/fullscreen.c:248 ../src/layout_util.c:1368 ../src/layout_util.c:1369
+#: ../src/layout_util.c:1370 ../src/preferences.c:1540
 msgid "Full screen"
 msgstr "Pantalla completa"
 
-#: ../src/fullscreen.c:391
+#: ../src/fullscreen.c:409
 msgid "Full size"
 msgstr "Mida Màxima"
 
-#: ../src/fullscreen.c:396
+#: ../src/fullscreen.c:417
 msgid "Monitor"
 msgstr "Monitor"
 
-#: ../src/fullscreen.c:401
+#: ../src/fullscreen.c:423
 msgid "Screen"
 msgstr "Pantalla"
 
-#: ../src/fullscreen.c:638
+#: ../src/fullscreen.c:660
 msgid "Stay above other windows"
 msgstr "Mantenir sobre les altres finestres"
 
-#: ../src/fullscreen.c:645
+#: ../src/fullscreen.c:667
 msgid "Determined by Window Manager"
-msgstr "Determinat pel Gestor de Finestres"
-
-#: ../src/fullscreen.c:646
+msgstr "Determinat pel gestor de finestres"
+
+#: ../src/fullscreen.c:668
 msgid "Active screen"
 msgstr "Pantalla activa"
 
-#: ../src/fullscreen.c:648
+#: ../src/fullscreen.c:670
 msgid "Active monitor"
 msgstr "Monitor actiu"
 
@@ -1938,62 +1946,68 @@
 msgid " (Collection %s)"
 msgstr "(Col·leccions %s)"
 
-#: ../src/img-view.c:1266 ../src/layout_image.c:489 ../src/layout_util.c:1296
-#: ../src/layout_util.c:1297 ../src/layout_util.c:1312
-#: ../src/layout_util.c:1313 ../src/pan-view.c:2808
+#: ../src/image_load_jpeg.c:177
+#, c-format
+msgid "Error interpreting JPEG image file (%s)"
+msgstr ""
+"S'ha produït un error en la interpretació del fitxer d'imatge JPEG (%s)"
+
+#: ../src/img-view.c:1274 ../src/layout_image.c:489 ../src/layout_util.c:1335
+#: ../src/layout_util.c:1336 ../src/layout_util.c:1351
+#: ../src/layout_util.c:1352 ../src/pan-view.c:2830
 msgid "Zoom _in"
 msgstr "Apropa"
 
-#: ../src/img-view.c:1267 ../src/layout_image.c:490 ../src/layout_util.c:1298
-#: ../src/layout_util.c:1299 ../src/layout_util.c:1314
-#: ../src/layout_util.c:1315 ../src/pan-view.c:2810
+#: ../src/img-view.c:1275 ../src/layout_image.c:490 ../src/layout_util.c:1337
+#: ../src/layout_util.c:1338 ../src/layout_util.c:1353
+#: ../src/layout_util.c:1354 ../src/pan-view.c:2832
 msgid "Zoom _out"
 msgstr "Allunya"
 
-#: ../src/img-view.c:1268 ../src/layout_image.c:491 ../src/layout_util.c:1300
-#: ../src/layout_util.c:1301 ../src/layout_util.c:1316
-#: ../src/layout_util.c:1317 ../src/pan-view.c:2812
+#: ../src/img-view.c:1276 ../src/layout_image.c:491 ../src/layout_util.c:1339
+#: ../src/layout_util.c:1340 ../src/layout_util.c:1355
+#: ../src/layout_util.c:1356 ../src/pan-view.c:2834
 msgid "Zoom _1:1"
 msgstr "Escala real"
 
-#: ../src/img-view.c:1269 ../src/layout_image.c:492
+#: ../src/img-view.c:1277 ../src/layout_image.c:492
 msgid "Fit image to _window"
 msgstr "Ajusta la imatge a la _finestra"
 
-#: ../src/img-view.c:1277 ../src/layout_image.c:501 ../src/layout_util.c:1294
+#: ../src/img-view.c:1285 ../src/layout_image.c:501 ../src/layout_util.c:1333
 msgid "Set as _wallpaper"
 msgstr "Posa com a _fons d'escriptori"
 
-#: ../src/img-view.c:1282 ../src/layout_image.c:508
+#: ../src/img-view.c:1290 ../src/layout_image.c:508
 msgid "_Go to directory view"
 msgstr "_Ves a la vista de directoris"
 
-#: ../src/img-view.c:1295 ../src/layout_image.c:529
+#: ../src/img-view.c:1303 ../src/layout_image.c:529
 msgid "_Stop slideshow"
 msgstr "_Atura les diapositives"
 
-#: ../src/img-view.c:1298 ../src/layout_image.c:532
+#: ../src/img-view.c:1306 ../src/layout_image.c:532
 msgid "Continue slides_how"
 msgstr "_Continua mostrant diapositives"
 
-#: ../src/img-view.c:1303 ../src/img-view.c:1311 ../src/layout_image.c:537
+#: ../src/img-view.c:1311 ../src/img-view.c:1319 ../src/layout_image.c:537
 #: ../src/layout_image.c:544
 msgid "Pause slides_how"
 msgstr "_Pausa la seqüència de diapositives"
 
-#: ../src/img-view.c:1309 ../src/layout_image.c:543
+#: ../src/img-view.c:1317 ../src/layout_image.c:543
 msgid "_Start slideshow"
 msgstr "_Inicia la seqüència de diapositives"
 
-#: ../src/img-view.c:1317 ../src/layout_image.c:554 ../src/pan-view.c:2881
+#: ../src/img-view.c:1325 ../src/layout_image.c:554 ../src/pan-view.c:2903
 msgid "Exit _full screen"
 msgstr "Sortir del mode _pantalla completa"
 
-#: ../src/img-view.c:1321 ../src/layout_image.c:550 ../src/pan-view.c:2885
+#: ../src/img-view.c:1329 ../src/layout_image.c:550 ../src/pan-view.c:2907
 msgid "_Full screen"
 msgstr "_Pantalla completa"
 
-#: ../src/img-view.c:1325 ../src/layout_util.c:1279 ../src/pan-view.c:2889
+#: ../src/img-view.c:1333 ../src/layout_util.c:1318 ../src/pan-view.c:2911
 msgid "C_lose window"
 msgstr "_Tanca la finestra"
 
@@ -2024,79 +2038,79 @@
 msgid "%d files%s"
 msgstr "%d fitxers%s"
 
-#: ../src/layout.c:510
+#: ../src/layout.c:511
 #, c-format
 msgid "(no read permission) %s bytes"
 msgstr "(no teniu permís de lectura) %s bytes"
 
-#: ../src/layout.c:514
+#: ../src/layout.c:515
 #, c-format
 msgid "( ? x ? ) %s bytes"
 msgstr "( ? x ? ) %s bytes"
 
-#: ../src/layout.c:522
+#: ../src/layout.c:523
 #, c-format
 msgid "( %d x %d ) %s bytes"
 msgstr "( %d x %d ) %s bytes"
 
-#: ../src/layout.c:1231 ../src/layout_config.c:58
+#: ../src/layout.c:1244 ../src/layout_config.c:58
 msgid "Tools"
 msgstr "Eines"
 
-#: ../src/layout.c:1853
+#: ../src/layout.c:1874
 msgid "Window options and layout"
 msgstr "Opcions de finestra i distribució"
 
-#: ../src/layout.c:1912
+#: ../src/layout.c:1933
 msgid "General options"
 msgstr "Opcions Generals"
 
-#: ../src/layout.c:1914
+#: ../src/layout.c:1935
 msgid "Home path (empty to use your home directory)"
 msgstr "Directori de l'usuari (deixeu-ho buit per indicar el vostre)"
 
-#: ../src/layout.c:1922
+#: ../src/layout.c:1943
 msgid "Use current"
 msgstr "Fes servir l'actual"
 
-#: ../src/layout.c:1925
+#: ../src/layout.c:1946
 msgid "Show date in directories list view"
 msgstr "Mostra la data a la llista de directoris"
 
-#: ../src/layout.c:1928
+#: ../src/layout.c:1949
 msgid "Exit program when this window is closed"
 msgstr "Surt del programa quan es tanqui aquesta finestra"
 
-#: ../src/layout.c:1931
+#: ../src/layout.c:1952
 msgid "Start-up directory:"
 msgstr "Directori inicial:"
 
-#: ../src/layout.c:1933
+#: ../src/layout.c:1954
 msgid "No change"
 msgstr "Sense canvi"
 
-#: ../src/layout.c:1936
+#: ../src/layout.c:1957
 msgid "Restore last path"
 msgstr "Restaura l'últim camí"
 
-#: ../src/layout.c:1939
+#: ../src/layout.c:1960
 msgid "Home path"
 msgstr "Directori de l'usuari"
 
-#: ../src/layout.c:1943 ../src/print.c:3373 ../src/print.c:3380
+#: ../src/layout.c:1964 ../src/print.c:3385 ../src/print.c:3392
 msgid "Layout"
 msgstr "Format"
 
-#: ../src/layout.c:2187
+#: ../src/layout.c:2208
 msgid "Invalid geometry\n"
 msgstr "Geometria invàlida\n"
 
-#: ../src/layout_config.c:58 ../src/preferences.c:1446
-#: ../src/ui_pathsel.c:1179
+#: ../src/layout_config.c:58 ../src/preferences.c:1637
+#: ../src/ui_pathsel.c:1186
 msgid "Files"
 msgstr "Fitxers"
 
-#: ../src/layout_config.c:58 ../src/preferences.c:91 ../src/preferences.c:1240
+#: ../src/layout_config.c:58 ../src/preferences.c:91 ../src/preferences.c:1428
 #: ../src/print.c:123
 msgid "Image"
 msgstr "Imatge"
@@ -2109,932 +2123,976 @@
 msgid "Hide file _list"
 msgstr "Oculta la _llista de fitxers"
 
-#: ../src/layout_image.c:1559
+#: ../src/layout_image.c:1594
 #, c-format
 msgid "[%*d,%*d]: RGB(%3d,%3d,%3d)"
 msgstr "[%*d,%*d]: RGB(%3d,%3d,%3d)"
 
-#: ../src/layout_image.c:1567
+#: ../src/layout_image.c:1602
 #, c-format
 msgid "[%*s,%*s]: RGB(---,---,---)"
 msgstr "[%*s,%*s]: RGB(---,---,---)"
 
-#: ../src/layout_util.c:1234
+#: ../src/layout_util.c:1272
 msgid "_File"
 msgstr "_Fitxer"
 
-#: ../src/layout_util.c:1235
+#: ../src/layout_util.c:1273
 msgid "_Go"
 msgstr "_Ves"
 
-#: ../src/layout_util.c:1236 ../src/menu.c:109
+#: ../src/layout_util.c:1274 ../src/menu.c:109
 msgid "_Edit"
 msgstr "_Edita"
 
-#: ../src/layout_util.c:1237
+#: ../src/layout_util.c:1275
 msgid "_Select"
 msgstr "_Selecció"
 
-#: ../src/layout_util.c:1238 ../src/menu.c:276
+#: ../src/layout_util.c:1276 ../src/menu.c:280
 msgid "_Orientation"
 msgstr "_Orientació"
 
-#: ../src/layout_util.c:1239
-msgid "E_xternal Editors"
-msgstr "Editors e_xterns"
-
-#: ../src/layout_util.c:1240
-msgid "P_references"
-msgstr "P_referències"
-
-#: ../src/layout_util.c:1242
-msgid "_Files and Folders"
-msgstr "_Fitxers i carpetes"
-
-#: ../src/layout_util.c:1243
-msgid "_Zoom"
-msgstr "_Lupa"
-
-#: ../src/layout_util.c:1244
-msgid "_Color Management"
-msgstr "Gestió del _color"
-
-#: ../src/layout_util.c:1245
-msgid "_Connected Zoom"
-msgstr "Ampliació _connectada"
-
-#: ../src/layout_util.c:1246
-msgid "Spli_t"
-msgstr "_Dividir"
-
-#: ../src/layout_util.c:1247 ../src/layout_util.c:1361
-msgid "Image _Overlay"
-msgstr "Imatge _sobreposada"
-
-#: ../src/layout_util.c:1248
-msgid "_Help"
-msgstr "_Ajuda"
-
-#: ../src/layout_util.c:1250
-msgid "_First Image"
-msgstr "_Primera imatge"
-
-#: ../src/layout_util.c:1250
-msgid "First Image"
-msgstr "Primera imatge"
-
-#: ../src/layout_util.c:1251 ../src/layout_util.c:1252
-#: ../src/layout_util.c:1253
-msgid "_Previous Image"
-msgstr "Imatge _anterior"
-
-#: ../src/layout_util.c:1251 ../src/layout_util.c:1252
-#: ../src/layout_util.c:1253
-msgid "Previous Image"
-msgstr "Imatge anterior"
-
-#: ../src/layout_util.c:1254 ../src/layout_util.c:1255
-#: ../src/layout_util.c:1256
-msgid "_Next Image"
-msgstr "Imatge _següent"
-
-#: ../src/layout_util.c:1254 ../src/layout_util.c:1255
-#: ../src/layout_util.c:1256
-msgid "Next Image"
-msgstr "Imatge següent"
-
-#: ../src/layout_util.c:1257
-msgid "_Last Image"
-msgstr "_Última imatge"
-
-#: ../src/layout_util.c:1257
-msgid "Last Image"
-msgstr "Última imatge"
-
-#: ../src/layout_util.c:1258
-msgid "_Back"
-msgstr "_Enrrere"
-
-#: ../src/layout_util.c:1258
-msgid "Back"
-msgstr "Enrrere"
-
-#: ../src/layout_util.c:1259
-msgid "_Home"
-msgstr "_Directori de l'usuari"
-
-#: ../src/layout_util.c:1259 ../src/options.c:136 ../src/ui_bookmark.c:543
-#: ../src/ui_pathsel.c:1047
-msgid "Home"
-msgstr "Directori de l'usuari"
-
-#: ../src/layout_util.c:1261
-msgid "New _window"
-msgstr "Nova _finestra"
-
-#: ../src/layout_util.c:1261
-msgid "New window"
-msgstr "Nova finestra"
-
-#: ../src/layout_util.c:1262
-msgid "_New collection"
-msgstr "_Nova col·lecció"
-
-#: ../src/layout_util.c:1262
-msgid "New collection"
-msgstr "Nova col·lecció"
-
-#: ../src/layout_util.c:1263
-msgid "_Open collection..."
-msgstr "_Obre una col·lecció..."
-
-#: ../src/layout_util.c:1263
-msgid "Open collection..."
-msgstr "Obre una col·lecció..."
-
-#: ../src/layout_util.c:1264
-msgid "Open recen_t"
-msgstr "Obre recen_ts"
-
-#: ../src/layout_util.c:1264
-msgid "Open recent"
-msgstr "Obre recents"
-
-#: ../src/layout_util.c:1265
-msgid "_Search..."
-msgstr "_Cerca..."
-
-#: ../src/layout_util.c:1265
-msgid "Search..."
-msgstr "Cerca..."
-
-#: ../src/layout_util.c:1266
-msgid "Find duplicates..."
-msgstr "Cerca imatges duplicades"
-
-#: ../src/layout_util.c:1267
-msgid "Pa_n view"
-msgstr "Vista pa_noràmica"
-
-#: ../src/layout_util.c:1267
-msgid "Pan view"
-msgstr "Vista panoràmica"
-
-#: ../src/layout_util.c:1268
-msgid "_Print..."
-msgstr "_Imprimeix..."
-
-#: ../src/layout_util.c:1269
-msgid "N_ew folder..."
-msgstr "_Nova carpeta..."
-
-#: ../src/layout_util.c:1269
-msgid "New folder..."
-msgstr "Nova carpeta..."
-
-#: ../src/layout_util.c:1270
-msgid "Copy..."
-msgstr "Copia..."
-
-#: ../src/layout_util.c:1271
-msgid "Move..."
-msgstr "Mou..."
-
-#: ../src/layout_util.c:1272
-msgid "Rename..."
-msgstr "Canvia el nom..."
-
-#: ../src/layout_util.c:1273 ../src/layout_util.c:1274
-#: ../src/layout_util.c:1275
-msgid "Delete..."
-msgstr "Suprimeix..."
-
-#: ../src/layout_util.c:1276 ../src/view_file.c:603
-msgid "Enable file _grouping"
-msgstr "Habilita els _grups de fitxers"
-
-#: ../src/layout_util.c:1276
-msgid "Enable file grouping"
-msgstr "Habilita els grups de fitxers"
-
-#: ../src/layout_util.c:1277 ../src/view_file.c:605
-msgid "Disable file groupi_ng"
-msgstr "I_nhabilita els grups de fitxers"
-
 #: ../src/layout_util.c:1277
-msgid "Disable file grouping"
-msgstr "Inhabilita els grups de fitxers"
+msgid "E_xternal Editors"
+msgstr "Editors e_xterns"
 
 #: ../src/layout_util.c:1278
-msgid "_Copy path to clipboard"
-msgstr "_Copia el camí al portapapers"
-
-#: ../src/layout_util.c:1278
-msgid "Copy path to clipboard"
-msgstr "Copia el camí al portapapers"
-
-#: ../src/layout_util.c:1279
-msgid "Close window"
-msgstr "Tanca la finestra"
+msgid "P_references"
+msgstr "P_referències"
 
 #: ../src/layout_util.c:1280
-msgid "_Quit"
-msgstr "_Surt"
-
-#: ../src/layout_util.c:1280
-msgid "Quit"
-msgstr "Surt"
-
-#: ../src/layout_util.c:1281 ../src/menu.c:218
-msgid "_Rotate clockwise"
-msgstr "_Gira en sentit horari"
+msgid "_Files and Folders"
+msgstr "_Fitxers i carpetes"
 
 #: ../src/layout_util.c:1281
-msgid "Rotate clockwise"
-msgstr "Gira en sentit horari"
-
-#: ../src/layout_util.c:1282 ../src/menu.c:221
-msgid "Rotate _counterclockwise"
-msgstr "Gira en sentit _antihorari"
+msgid "_Zoom"
+msgstr "_Lupa"
 
 #: ../src/layout_util.c:1282
-msgid "Rotate counterclockwise"
-msgstr "Gira en sentit antihorari"
+msgid "_Color Management"
+msgstr "Gestió del _color"
 
 #: ../src/layout_util.c:1283
-msgid "Rotate 1_80"
-msgstr "Gira 1_80"
-
-#: ../src/layout_util.c:1283
-msgid "Rotate 180"
-msgstr "Gira 180"
-
-#: ../src/layout_util.c:1284 ../src/menu.c:227
-msgid "_Mirror"
-msgstr "_Reflexa"
+msgid "_Connected Zoom"
+msgstr "Ampliació _connectada"
 
 #: ../src/layout_util.c:1284
-msgid "Mirror"
-msgstr "Reflexa"
-
-#: ../src/layout_util.c:1285 ../src/menu.c:230
-msgid "_Flip"
-msgstr "_Inverteix"
+msgid "Spli_t"
+msgstr "_Dividir"
 
 #: ../src/layout_util.c:1285
-msgid "Flip"
-msgstr "Inverteix"
-
-#: ../src/layout_util.c:1286 ../src/menu.c:233
-msgid "_Original state"
-msgstr "Estat _original"
-
-#: ../src/layout_util.c:1286
-msgid "Original state"
-msgstr "Estat original"
+msgid "Stere_o"
+msgstr "Estère_o"
+
+#: ../src/layout_util.c:1286 ../src/layout_util.c:1401
+msgid "Image _Overlay"
+msgstr "Imatge _sobreposada"
 
 #: ../src/layout_util.c:1287
-msgid "Select _all"
-msgstr "Selecciona-ho _tot"
-
-#: ../src/layout_util.c:1288
-msgid "Select _none"
-msgstr "_Desfés la selecció"
+msgid "_Help"
+msgstr "_Ajuda"
 
 #: ../src/layout_util.c:1289
-msgid "_Invert Selection"
-msgstr "_Inverteix la Selecció"
+msgid "_First Image"
+msgstr "_Primera imatge"
 
 #: ../src/layout_util.c:1289
-msgid "Invert Selection"
-msgstr "Inverteix la Selecció"
-
-#: ../src/layout_util.c:1290
-msgid "P_references..."
-msgstr "P_referències..."
-
-#: ../src/layout_util.c:1290
-msgid "Preferences..."
-msgstr "Preferències..."
-
-#: ../src/layout_util.c:1291
-msgid "Configure _Editors..."
-msgstr "Configura els _editors..."
-
-#: ../src/layout_util.c:1291
-msgid "Configure Editors..."
-msgstr "Configura els editors..."
-
+msgid "First Image"
+msgstr "Primera imatge"
+
+#: ../src/layout_util.c:1290 ../src/layout_util.c:1291
 #: ../src/layout_util.c:1292
-msgid "_Configure this window..."
-msgstr "_Configura aquesta finestra..."
-
+msgid "_Previous Image"
+msgstr "Imatge _anterior"
+
+#: ../src/layout_util.c:1290 ../src/layout_util.c:1291
 #: ../src/layout_util.c:1292
-msgid "Configure this window..."
-msgstr "Configura aquesta finestra..."
-
-#: ../src/layout_util.c:1293
-msgid "_Thumbnail maintenance..."
-msgstr "Manteniment de les _Miniatures..."
-
-#: ../src/layout_util.c:1293
-msgid "Thumbnail maintenance..."
-msgstr "Manteniment de les Miniatures..."
-
-#: ../src/layout_util.c:1294
-msgid "Set as wallpaper"
-msgstr "Posa com a fons d'escriptori"
-
+msgid "Previous Image"
+msgstr "Imatge anterior"
+
+#: ../src/layout_util.c:1293 ../src/layout_util.c:1294
 #: ../src/layout_util.c:1295
-msgid "_Save metadata"
-msgstr "De_sa les metadades"
-
+msgid "_Next Image"
+msgstr "Imatge _següent"
+
+#: ../src/layout_util.c:1293 ../src/layout_util.c:1294
 #: ../src/layout_util.c:1295
-msgid "Save metadata"
-msgstr "Desa les metadades"
-
-#: ../src/layout_util.c:1296 ../src/layout_util.c:1297
-msgid "Zoom in"
-msgstr "Apropa"
-
-#: ../src/layout_util.c:1298 ../src/layout_util.c:1299
-msgid "Zoom out"
-msgstr "Allunya"
-
-#: ../src/layout_util.c:1300 ../src/layout_util.c:1301
-msgid "Zoom 1:1"
-msgstr "Escala real"
-
-#: ../src/layout_util.c:1302 ../src/layout_util.c:1303
-#: ../src/layout_util.c:1318 ../src/layout_util.c:1319
-msgid "_Zoom to fit"
-msgstr "_Amplia fins que encaixi"
-
-#: ../src/layout_util.c:1302 ../src/layout_util.c:1303
-msgid "Zoom to fit"
-msgstr "Amplia fins que encaixi"
-
-#: ../src/layout_util.c:1304 ../src/layout_util.c:1320
-msgid "Fit _Horizontally"
-msgstr "Ajusta _Horitzontalment"
+msgid "Next Image"
+msgstr "Imatge següent"
+
+#: ../src/layout_util.c:1296
+msgid "_Last Image"
+msgstr "_Última imatge"
+
+#: ../src/layout_util.c:1296
+msgid "Last Image"
+msgstr "Última imatge"
+
+#: ../src/layout_util.c:1297
+msgid "_Back"
+msgstr "_Enrrere"
+
+#: ../src/layout_util.c:1297
+msgid "Back"
+msgstr "Enrrere"
+
+#: ../src/layout_util.c:1298
+msgid "_Home"
+msgstr "_Directori de l'usuari"
+
+#: ../src/layout_util.c:1298 ../src/options.c:144 ../src/ui_bookmark.c:548
+#: ../src/ui_pathsel.c:1054
+msgid "Home"
+msgstr "Directori de l'usuari"
+
+#: ../src/layout_util.c:1300
+msgid "New _window"
+msgstr "Nova _finestra"
+
+#: ../src/layout_util.c:1300
+msgid "New window"
+msgstr "Nova finestra"
+
+#: ../src/layout_util.c:1301
+msgid "_New collection"
+msgstr "_Nova col·lecció"
+
+#: ../src/layout_util.c:1301
+msgid "New collection"
+msgstr "Nova col·lecció"
+
+#: ../src/layout_util.c:1302
+msgid "_Open collection..."
+msgstr "_Obre una col·lecció..."
+
+#: ../src/layout_util.c:1302
+msgid "Open collection..."
+msgstr "Obre una col·lecció..."
+
+#: ../src/layout_util.c:1303
+msgid "Open recen_t"
+msgstr "Obre recen_ts"
+
+#: ../src/layout_util.c:1303
+msgid "Open recent"
+msgstr "Obre recents"
 
 #: ../src/layout_util.c:1304
-msgid "Fit Horizontally"
-msgstr "Ajusta Horitzontalment"
-
-#: ../src/layout_util.c:1305 ../src/layout_util.c:1321
-msgid "Fit _Vertically"
-msgstr "Ajusta _Verticalment"
+msgid "_Search..."
+msgstr "_Cerca..."
+
+#: ../src/layout_util.c:1304
+msgid "Search..."
+msgstr "Cerca..."
 
 #: ../src/layout_util.c:1305
-msgid "Fit Vertically"
-msgstr "Ajusta Verticalment"
-
-#: ../src/layout_util.c:1306 ../src/layout_util.c:1322
-msgid "Zoom _2:1"
-msgstr "Escala _2:1"
+msgid "Find duplicates..."
+msgstr "Cerca imatges duplicades"
+
+#: ../src/layout_util.c:1306
+msgid "Pa_n view"
+msgstr "Vista pa_noràmica"
 
 #: ../src/layout_util.c:1306
-msgid "Zoom 2:1"
-msgstr "Escala 2:1"
-
-#: ../src/layout_util.c:1307 ../src/layout_util.c:1323
-msgid "Zoom _3:1"
-msgstr "Escala _3:1"
+msgid "Pan view"
+msgstr "Vista panoràmica"
 
 #: ../src/layout_util.c:1307
-msgid "Zoom 3:1"
-msgstr "Escala 3:1"
-
-#: ../src/layout_util.c:1308 ../src/layout_util.c:1324
-msgid "Zoom _4:1"
-msgstr "Escala _4:1"
+msgid "_Print..."
+msgstr "_Imprimeix..."
+
+#: ../src/layout_util.c:1308
+msgid "N_ew folder..."
+msgstr "_Nova carpeta..."
 
 #: ../src/layout_util.c:1308
-msgid "Zoom 4:1"
-msgstr "Escala 4:1"
-
-#: ../src/layout_util.c:1309 ../src/layout_util.c:1325
-msgid "Zoom 1:2"
-msgstr "Escala 1:2"
-
-#: ../src/layout_util.c:1310 ../src/layout_util.c:1326
-msgid "Zoom 1:3"
-msgstr "Escala 1:3"
-
-#: ../src/layout_util.c:1311 ../src/layout_util.c:1327
-msgid "Zoom 1:4"
-msgstr "Escala 1:4"
+msgid "New folder..."
+msgstr "Nova carpeta..."
+
+#: ../src/layout_util.c:1309
+msgid "Copy..."
+msgstr "Copia..."
+
+#: ../src/layout_util.c:1310
+msgid "Move..."
+msgstr "Mou..."
+
+#: ../src/layout_util.c:1311
+msgid "Rename..."
+msgstr "Canvia el nom..."
 
 #: ../src/layout_util.c:1312 ../src/layout_util.c:1313
-msgid "Connected Zoom in"
-msgstr "Ampliació connectada"
-
-#: ../src/layout_util.c:1314 ../src/layout_util.c:1315
-msgid "Connected Zoom out"
-msgstr "Reducció connectada"
-
-#: ../src/layout_util.c:1316 ../src/layout_util.c:1317
-msgid "Connected Zoom 1:1"
-msgstr "Escala real connectada"
-
-#: ../src/layout_util.c:1318 ../src/layout_util.c:1319
-msgid "Connected Zoom to fit"
-msgstr "Ampliació fins que encaixi connectada"
+#: ../src/layout_util.c:1314
+msgid "Delete..."
+msgstr "Suprimeix..."
+
+#: ../src/layout_util.c:1315 ../src/view_file.c:603
+msgid "Enable file _grouping"
+msgstr "Habilita els _grups de fitxers"
+
+#: ../src/layout_util.c:1315
+msgid "Enable file grouping"
+msgstr "Habilita els grups de fitxers"
+
+#: ../src/layout_util.c:1316 ../src/view_file.c:605
+msgid "Disable file groupi_ng"
+msgstr "I_nhabilita els grups de fitxers"
+
+#: ../src/layout_util.c:1316
+msgid "Disable file grouping"
+msgstr "Inhabilita els grups de fitxers"
+
+#: ../src/layout_util.c:1317
+msgid "_Copy path to clipboard"
+msgstr "_Copia el camí al portapapers"
+
+#: ../src/layout_util.c:1317
+msgid "Copy path to clipboard"
+msgstr "Copia el camí al portapapers"
+
+#: ../src/layout_util.c:1318
+msgid "Close window"
+msgstr "Tanca la finestra"
+
+#: ../src/layout_util.c:1319
+msgid "_Quit"
+msgstr "_Surt"
+
+#: ../src/layout_util.c:1319
+msgid "Quit"
+msgstr "Surt"
+
+#: ../src/layout_util.c:1320 ../src/menu.c:222
+msgid "_Rotate clockwise"
+msgstr "_Gira en sentit horari"
 
 #: ../src/layout_util.c:1320
-msgid "Connected Fit Horizontally"
-msgstr "Ajusta Horitzontalment connectat"
+msgid "Rotate clockwise"
+msgstr "Gira en sentit horari"
+
+#: ../src/layout_util.c:1321 ../src/menu.c:225
+msgid "Rotate _counterclockwise"
+msgstr "Gira en sentit _antihorari"
 
 #: ../src/layout_util.c:1321
-msgid "Connected Fit Vertically"
-msgstr "Ajusta Verticalment connectat"
+msgid "Rotate counterclockwise"
+msgstr "Gira en sentit antihorari"
+
+#: ../src/layout_util.c:1322
+msgid "Rotate 1_80"
+msgstr "Gira 1_80"
 
 #: ../src/layout_util.c:1322
-msgid "Connected Zoom 2:1"
-msgstr "Escala 2:1 connectada"
+msgid "Rotate 180"
+msgstr "Gira 180"
+
+#: ../src/layout_util.c:1323 ../src/menu.c:231
+msgid "_Mirror"
+msgstr "_Reflexa"
 
 #: ../src/layout_util.c:1323
-msgid "Connected Zoom 3:1"
-msgstr "Escala 3:1 connectada"
+msgid "Mirror"
+msgstr "Reflexa"
+
+#: ../src/layout_util.c:1324 ../src/menu.c:234
+msgid "_Flip"
+msgstr "_Inverteix"
 
 #: ../src/layout_util.c:1324
-msgid "Connected Zoom 4:1"
-msgstr "Escala 4:1 connectada"
+msgid "Flip"
+msgstr "Inverteix"
+
+#: ../src/layout_util.c:1325 ../src/menu.c:237
+msgid "_Original state"
+msgstr "Estat _original"
 
 #: ../src/layout_util.c:1325
-msgid "Connected Zoom 1:2"
-msgstr "Escala 1:2 connectada"
+msgid "Original state"
+msgstr "Estat original"
 
 #: ../src/layout_util.c:1326
-msgid "Connected Zoom 1:3"
-msgstr "Escala 1:3 connectada"
+msgid "Select _all"
+msgstr "Selecciona-ho _tot"
 
 #: ../src/layout_util.c:1327
-msgid "Connected Zoom 1:4"
-msgstr "Escala 1:4 connectada"
+msgid "Select _none"
+msgstr "_Desfés la selecció"
+
+#: ../src/layout_util.c:1328
+msgid "_Invert Selection"
+msgstr "_Inverteix la Selecció"
 
 #: ../src/layout_util.c:1328
-msgid "_View in new window"
-msgstr "_Visualitzar en una finestra nova"
-
-#: ../src/layout_util.c:1328
-msgid "View in new window"
-msgstr "Visualitzar en una finestra nova"
-
-#: ../src/layout_util.c:1329 ../src/layout_util.c:1330
+msgid "Invert Selection"
+msgstr "Inverteix la Selecció"
+
+#: ../src/layout_util.c:1329
+msgid "P_references..."
+msgstr "P_referències..."
+
+#: ../src/layout_util.c:1329
+msgid "Preferences..."
+msgstr "Preferències..."
+
+#: ../src/layout_util.c:1330
+msgid "Configure _Editors..."
+msgstr "Configura els _editors..."
+
+#: ../src/layout_util.c:1330
+msgid "Configure Editors..."
+msgstr "Configura els editors..."
+
 #: ../src/layout_util.c:1331
-msgid "F_ull screen"
-msgstr "_Pantalla completa"
-
-#: ../src/layout_util.c:1332 ../src/layout_util.c:1333
-msgid "_Leave full screen"
-msgstr "_Surt de la pantalla completa"
-
-#: ../src/layout_util.c:1332 ../src/layout_util.c:1333
-msgid "Leave full screen"
-msgstr "Surt de la pantalla completa"
+msgid "_Configure this window..."
+msgstr "_Configura aquesta finestra..."
+
+#: ../src/layout_util.c:1331
+msgid "Configure this window..."
+msgstr "Configura aquesta finestra..."
+
+#: ../src/layout_util.c:1332
+msgid "_Thumbnail maintenance..."
+msgstr "Manteniment de les _Miniatures..."
+
+#: ../src/layout_util.c:1332
+msgid "Thumbnail maintenance..."
+msgstr "Manteniment de les Miniatures..."
+
+#: ../src/layout_util.c:1333
+msgid "Set as wallpaper"
+msgstr "Posa com a fons d'escriptori"
 
 #: ../src/layout_util.c:1334
-msgid "_Cycle through overlay modes"
-msgstr "_Commuta a través dels modes de capa"
+msgid "_Save metadata"
+msgstr "De_sa les metadades"
 
 #: ../src/layout_util.c:1334
+msgid "Save metadata"
+msgstr "Desa les metadades"
+
+#: ../src/layout_util.c:1335 ../src/layout_util.c:1336
+msgid "Zoom in"
+msgstr "Apropa"
+
+#: ../src/layout_util.c:1337 ../src/layout_util.c:1338
+msgid "Zoom out"
+msgstr "Allunya"
+
+#: ../src/layout_util.c:1339 ../src/layout_util.c:1340
+msgid "Zoom 1:1"
+msgstr "Escala real"
+
+#: ../src/layout_util.c:1341 ../src/layout_util.c:1342
+#: ../src/layout_util.c:1357 ../src/layout_util.c:1358
+msgid "_Zoom to fit"
+msgstr "_Amplia fins que encaixi"
+
+#: ../src/layout_util.c:1341 ../src/layout_util.c:1342
+msgid "Zoom to fit"
+msgstr "Amplia fins que encaixi"
+
+#: ../src/layout_util.c:1343 ../src/layout_util.c:1359
+msgid "Fit _Horizontally"
+msgstr "Ajusta _Horitzontalment"
+
+#: ../src/layout_util.c:1343
+msgid "Fit Horizontally"
+msgstr "Ajusta Horitzontalment"
+
+#: ../src/layout_util.c:1344 ../src/layout_util.c:1360
+msgid "Fit _Vertically"
+msgstr "Ajusta _Verticalment"
+
+#: ../src/layout_util.c:1344
+msgid "Fit Vertically"
+msgstr "Ajusta Verticalment"
+
+#: ../src/layout_util.c:1345 ../src/layout_util.c:1361
+msgid "Zoom _2:1"
+msgstr "Escala _2:1"
+
+#: ../src/layout_util.c:1345
+msgid "Zoom 2:1"
+msgstr "Escala 2:1"
+
+#: ../src/layout_util.c:1346 ../src/layout_util.c:1362
+msgid "Zoom _3:1"
+msgstr "Escala _3:1"
+
+#: ../src/layout_util.c:1346
+msgid "Zoom 3:1"
+msgstr "Escala 3:1"
+
+#: ../src/layout_util.c:1347 ../src/layout_util.c:1363
+msgid "Zoom _4:1"
+msgstr "Escala _4:1"
+
+#: ../src/layout_util.c:1347
+msgid "Zoom 4:1"
+msgstr "Escala 4:1"
+
+#: ../src/layout_util.c:1348 ../src/layout_util.c:1364
+msgid "Zoom 1:2"
+msgstr "Escala 1:2"
+
+#: ../src/layout_util.c:1349 ../src/layout_util.c:1365
+msgid "Zoom 1:3"
+msgstr "Escala 1:3"
+
+#: ../src/layout_util.c:1350 ../src/layout_util.c:1366
+msgid "Zoom 1:4"
+msgstr "Escala 1:4"
+
+#: ../src/layout_util.c:1351 ../src/layout_util.c:1352
+msgid "Connected Zoom in"
+msgstr "Ampliació connectada"
+
+#: ../src/layout_util.c:1353 ../src/layout_util.c:1354
+msgid "Connected Zoom out"
+msgstr "Reducció connectada"
+
+#: ../src/layout_util.c:1355 ../src/layout_util.c:1356
+msgid "Connected Zoom 1:1"
+msgstr "Escala real connectada"
+
+#: ../src/layout_util.c:1357 ../src/layout_util.c:1358
+msgid "Connected Zoom to fit"
+msgstr "Ampliació fins que encaixi connectada"
+
+#: ../src/layout_util.c:1359
+msgid "Connected Fit Horizontally"
+msgstr "Ajusta Horitzontalment connectat"
+
+#: ../src/layout_util.c:1360
+msgid "Connected Fit Vertically"
+msgstr "Ajusta Verticalment connectat"
+
+#: ../src/layout_util.c:1361
+msgid "Connected Zoom 2:1"
+msgstr "Escala 2:1 connectada"
+
+#: ../src/layout_util.c:1362
+msgid "Connected Zoom 3:1"
+msgstr "Escala 3:1 connectada"
+
+#: ../src/layout_util.c:1363
+msgid "Connected Zoom 4:1"
+msgstr "Escala 4:1 connectada"
+
+#: ../src/layout_util.c:1364
+msgid "Connected Zoom 1:2"
+msgstr "Escala 1:2 connectada"
+
+#: ../src/layout_util.c:1365
+msgid "Connected Zoom 1:3"
+msgstr "Escala 1:3 connectada"
+
+#: ../src/layout_util.c:1366
+msgid "Connected Zoom 1:4"
+msgstr "Escala 1:4 connectada"
+
+#: ../src/layout_util.c:1367
+msgid "_View in new window"
+msgstr "_Visualitza en una finestra nova"
+
+#: ../src/layout_util.c:1367
+msgid "View in new window"
+msgstr "Visualitza en una finestra nova"
+
+#: ../src/layout_util.c:1368 ../src/layout_util.c:1369
+#: ../src/layout_util.c:1370
+msgid "F_ull screen"
+msgstr "_Pantalla completa"
+
+#: ../src/layout_util.c:1371 ../src/layout_util.c:1372
+msgid "_Leave full screen"
+msgstr "_Surt de la pantalla completa"
+
+#: ../src/layout_util.c:1371 ../src/layout_util.c:1372
+msgid "Leave full screen"
+msgstr "Surt de la pantalla completa"
+
+#: ../src/layout_util.c:1373
+msgid "_Cycle through overlay modes"
+msgstr "_Commuta a través dels modes de capa"
+
+#: ../src/layout_util.c:1373
 msgid "Cycle through Overlay modes"
 msgstr "Commuta a través dels modes de capa"
 
-#: ../src/layout_util.c:1335
+#: ../src/layout_util.c:1374
 msgid "Cycle through histogram ch_annels"
 msgstr "Commuta a través dels c_anals  d'histograma"
 
-#: ../src/layout_util.c:1335
+#: ../src/layout_util.c:1374
 msgid "Cycle through histogram channels"
 msgstr "Commuta a través dels canals  d'histograma"
 
-#: ../src/layout_util.c:1336
+#: ../src/layout_util.c:1375
 msgid "Cycle through histogram mo_des"
 msgstr "Commuta a través dels mo_des  d'histograma"
 
-#: ../src/layout_util.c:1336
+#: ../src/layout_util.c:1375
 msgid "Cycle through histogram modes"
 msgstr "Commuta a través dels modes  d'histograma"
 
-#: ../src/layout_util.c:1337
+#: ../src/layout_util.c:1376
 msgid "_Hide file list"
 msgstr "Oculta la _llista de fitxers"
 
-#: ../src/layout_util.c:1337
+#: ../src/layout_util.c:1376
 msgid "Hide file list"
 msgstr "Oculta la llista de fitxers"
 
-#: ../src/layout_util.c:1338
+#: ../src/layout_util.c:1377
 msgid "_Pause slideshow"
 msgstr "_Pausa la seqüència de diapositives"
 
-#: ../src/layout_util.c:1338
+#: ../src/layout_util.c:1377
 msgid "Pause slideshow"
 msgstr "Pausa la seqüència de diapositives"
 
-#: ../src/layout_util.c:1339
+#: ../src/layout_util.c:1378
 msgid "_Refresh"
 msgstr "_Actualitza"
 
-#: ../src/layout_util.c:1339
+#: ../src/layout_util.c:1378
 msgid "Refresh"
 msgstr "Actualitza"
 
-#: ../src/layout_util.c:1340
+#: ../src/layout_util.c:1379
 msgid "_Contents"
 msgstr "C_ontinguts"
 
-#: ../src/layout_util.c:1340
+#: ../src/layout_util.c:1379
 msgid "Contents"
 msgstr "Continguts"
 
-#: ../src/layout_util.c:1341
+#: ../src/layout_util.c:1380
 msgid "_Keyboard shortcuts"
 msgstr "_Tecles de drecera"
 
-#: ../src/layout_util.c:1341
+#: ../src/layout_util.c:1380
 msgid "Keyboard shortcuts"
 msgstr "Tecles de drecera"
 
-#: ../src/layout_util.c:1342
+#: ../src/layout_util.c:1381
 msgid "_Release notes"
 msgstr "_Notes de la versió"
 
-#: ../src/layout_util.c:1342
+#: ../src/layout_util.c:1381
 msgid "Release notes"
 msgstr "Notes de la versió"
 
-#: ../src/layout_util.c:1343
+#: ../src/layout_util.c:1382
 msgid "_About"
 msgstr "_Quant a"
 
-#: ../src/layout_util.c:1343 ../src/preferences.c:2108
+#: ../src/layout_util.c:1382 ../src/preferences.c:2381
 msgid "About"
 msgstr "Quant a"
 
-#: ../src/layout_util.c:1344
+#: ../src/layout_util.c:1383
 msgid "_Log Window"
 msgstr "Finestra de _Registre"
 
-#: ../src/layout_util.c:1344
+#: ../src/layout_util.c:1383
 msgid "Log Window"
 msgstr "Finestra de Registre"
 
-#: ../src/layout_util.c:1345
+#: ../src/layout_util.c:1384
 msgid "_Exif window"
 msgstr "Finestra _Exif"
 
-#: ../src/layout_util.c:1345
+#: ../src/layout_util.c:1384
 msgid "Exif window"
 msgstr "Finestra Exif"
 
-#: ../src/layout_util.c:1350
+#: ../src/layout_util.c:1385
+msgid "_Cycle through stereo modes"
+msgstr "_Commuta a través dels modes estèreo"
+
+#: ../src/layout_util.c:1385
+msgid "Cycle through stereo modes"
+msgstr "Commuta a través dels modes estèreo"
+
+#: ../src/layout_util.c:1390
 msgid "Show _Thumbnails"
 msgstr "Mostra les _miniatures"
 
-#: ../src/layout_util.c:1350
+#: ../src/layout_util.c:1390
 msgid "Show Thumbnails"
 msgstr "Mostra les miniatures"
 
-#: ../src/layout_util.c:1351
+#: ../src/layout_util.c:1391
 msgid "Show _Marks"
-msgstr "Mostra les _Marques"
-
-#: ../src/layout_util.c:1351
+msgstr "Mostra les _marques"
+
+#: ../src/layout_util.c:1391
 msgid "Show Marks"
 msgstr "Mostra les Marques"
 
-#: ../src/layout_util.c:1352
+#: ../src/layout_util.c:1392
 msgid "Pi_xel Info"
 msgstr "Informació del pí_xel"
 
-#: ../src/layout_util.c:1352
+#: ../src/layout_util.c:1392
 msgid "Show Pixel Info"
 msgstr "Mostra la informació del píxel"
 
-#: ../src/layout_util.c:1353
+#: ../src/layout_util.c:1393
 msgid "_Float file list"
 msgstr "_Llista de fitxers flotant"
 
-#: ../src/layout_util.c:1353
+#: ../src/layout_util.c:1393
 msgid "Float file list"
 msgstr "Llista de fitxers flotant"
 
-#: ../src/layout_util.c:1354
+#: ../src/layout_util.c:1394
 msgid "Hide tool_bar"
 msgstr "Oculta la _barra d'eines"
 
-#: ../src/layout_util.c:1354
+#: ../src/layout_util.c:1394
 msgid "Hide toolbar"
 msgstr "Oculta la barra d'eines"
 
-#: ../src/layout_util.c:1355
+#: ../src/layout_util.c:1395
 msgid "_Info sidebar"
 msgstr "Barra lateral d'_informació"
 
-#: ../src/layout_util.c:1355
+#: ../src/layout_util.c:1395
 msgid "Info sidebar"
 msgstr "Barra lateral d'informació"
 
-#: ../src/layout_util.c:1356
+#: ../src/layout_util.c:1396
 msgid "Sort _manager"
 msgstr "_Gestor d'ordenació"
 
-#: ../src/layout_util.c:1356
+#: ../src/layout_util.c:1396
 msgid "Sort manager"
 msgstr "Gestor d'ordenació"
 
-#: ../src/layout_util.c:1357
+#: ../src/layout_util.c:1397
 msgid "Toggle _slideshow"
 msgstr "_Commuta la projecció de diapositives"
 
-#: ../src/layout_util.c:1357
+#: ../src/layout_util.c:1397
 msgid "Toggle slideshow"
 msgstr "Commuta la projecció de diapositives"
 
-#: ../src/layout_util.c:1358
+#: ../src/layout_util.c:1398
 msgid "Use _color profiles"
 msgstr "Utilitza els perfils de _color"
 
-#: ../src/layout_util.c:1358
+#: ../src/layout_util.c:1398
 msgid "Use color profiles"
 msgstr "Utilitza els perfils de color"
 
-#: ../src/layout_util.c:1359
+#: ../src/layout_util.c:1399
 msgid "Use profile from _image"
 msgstr "Utilitza els perfils de la _imatge"
 
-#: ../src/layout_util.c:1359
+#: ../src/layout_util.c:1399
 msgid "Use profile from image"
 msgstr "Utilitza els perfils de la imatge"
 
-#: ../src/layout_util.c:1360
+#: ../src/layout_util.c:1400
 msgid "Toggle _grayscale"
 msgstr "Commuta l'escala de _grisos"
 
-#: ../src/layout_util.c:1360
+#: ../src/layout_util.c:1400
 msgid "Toggle grayscale"
 msgstr "Commuta l'escala de grisos"
 
-#: ../src/layout_util.c:1361
+#: ../src/layout_util.c:1401
 msgid "Image Overlay"
 msgstr "Imatge sobreposada"
 
-#: ../src/layout_util.c:1362
+#: ../src/layout_util.c:1402
 msgid "_Show Histogram"
 msgstr "_Mostra l'histograma"
 
-#: ../src/layout_util.c:1362
+#: ../src/layout_util.c:1402
 msgid "Show Histogram"
 msgstr "Mostra l'histograma"
 
-#: ../src/layout_util.c:1366
+#: ../src/layout_util.c:1406
 msgid "Image _List"
 msgstr "_Llista d'imatges"
 
-#: ../src/layout_util.c:1366
+#: ../src/layout_util.c:1406
 msgid "View Images as List"
 msgstr "Mostra les imatges en una llista"
 
-#: ../src/layout_util.c:1367
+#: ../src/layout_util.c:1407
 msgid "I_cons"
 msgstr "_Icones"
 
-#: ../src/layout_util.c:1367
+#: ../src/layout_util.c:1407
 msgid "View Images as Icons"
 msgstr "Mostra les imatges com a icones"
 
-#: ../src/layout_util.c:1371
+#: ../src/layout_util.c:1411
 msgid "Folder Li_st"
 msgstr "Li_sta de carpetes"
 
-#: ../src/layout_util.c:1371
+#: ../src/layout_util.c:1411
 msgid "View Folders as List"
 msgstr "Mostra les carpetes en una llista"
 
-#: ../src/layout_util.c:1372
+#: ../src/layout_util.c:1412
 msgid "Folder T_ree"
 msgstr "A_rbre de carpetes"
 
-#: ../src/layout_util.c:1372
+#: ../src/layout_util.c:1412
 msgid "View Folders as Tree"
 msgstr "Mostra les carpetes en arbre"
 
-#: ../src/layout_util.c:1376
+#: ../src/layout_util.c:1416
 msgid "_Horizontal"
 msgstr "_Horitzontal"
 
-#: ../src/layout_util.c:1376
+#: ../src/layout_util.c:1416
 msgid "Split Horizontal"
 msgstr "Divideix _Horitzontalment"
 
-#: ../src/layout_util.c:1377
+#: ../src/layout_util.c:1417
 msgid "_Vertical"
 msgstr "_Vertical"
 
-#: ../src/layout_util.c:1377
+#: ../src/layout_util.c:1417
 msgid "Split Vertical"
 msgstr "Divideix _Verticalment"
 
-#: ../src/layout_util.c:1378
+#: ../src/layout_util.c:1418
 msgid "_Quad"
 msgstr "_Quatre"
 
-#: ../src/layout_util.c:1378
+#: ../src/layout_util.c:1418
 msgid "Split Quad"
 msgstr "Divideix en quatre"
 
-#: ../src/layout_util.c:1379
+#: ../src/layout_util.c:1419
 msgid "_Single"
 msgstr "Sola"
 
-#: ../src/layout_util.c:1379
+#: ../src/layout_util.c:1419
 msgid "Split Single"
 msgstr "Deixa sola"
 
-#: ../src/layout_util.c:1383
+#: ../src/layout_util.c:1423
 msgid "Input _0: sRGB"
-msgstr "Entrada _0:sRGB"
-
-#: ../src/layout_util.c:1383
+msgstr "Entrada _0: sRGB"
+
+#: ../src/layout_util.c:1423
 msgid "Input 0: sRGB"
-msgstr "Entrada 0:sRGB"
-
-#: ../src/layout_util.c:1384
+msgstr "Entrada 0: sRGB"
+
+#: ../src/layout_util.c:1424
 msgid "Input _1: AdobeRGB compatible"
-msgstr "Entrada_1: Compatible amb AdobeRGB"
-
-#: ../src/layout_util.c:1384
+msgstr "Entrada _1: Compatible amb AdobeRGB"
+
+#: ../src/layout_util.c:1424
 msgid "Input 1: AdobeRGB compatible"
-msgstr "Entrada_1: Compatible amb AdobeRGB"
-
-#: ../src/layout_util.c:1385
+msgstr "Entrada _1: Compatible amb AdobeRGB"
+
+#: ../src/layout_util.c:1425
 msgid "Input _2"
 msgstr "Entrada _2"
 
-#: ../src/layout_util.c:1385
+#: ../src/layout_util.c:1425
 msgid "Input 2"
 msgstr "Entrada 2"
 
-#: ../src/layout_util.c:1386
+#: ../src/layout_util.c:1426
 msgid "Input _3"
 msgstr "Entrada _3"
 
-#: ../src/layout_util.c:1386
+#: ../src/layout_util.c:1426
 msgid "Input 3"
 msgstr "Entrada 3"
 
-#: ../src/layout_util.c:1387
+#: ../src/layout_util.c:1427
 msgid "Input _4"
 msgstr "Entrada _4"
 
-#: ../src/layout_util.c:1387
+#: ../src/layout_util.c:1427
 msgid "Input 4"
 msgstr "Entrada 4"
 
-#: ../src/layout_util.c:1388
+#: ../src/layout_util.c:1428
 msgid "Input _5"
 msgstr "Entrada _5"
 
-#: ../src/layout_util.c:1388
+#: ../src/layout_util.c:1428
 msgid "Input 5"
 msgstr "Entrada 5"
 
-#: ../src/layout_util.c:1392
+#: ../src/layout_util.c:1432
 msgid "Histogram on Red"
 msgstr "Histograma del vermell"
 
-#: ../src/layout_util.c:1393
+#: ../src/layout_util.c:1433
 msgid "Histogram on Green"
 msgstr "Histograma del verd"
 
-#: ../src/layout_util.c:1394
+#: ../src/layout_util.c:1434
 msgid "Histogram on Blue"
 msgstr "Histograma del blau"
 
-#: ../src/layout_util.c:1395
+#: ../src/layout_util.c:1435
 msgid "Histogram on RGB"
 msgstr "Histograma del RGB"
 
-#: ../src/layout_util.c:1396
+#: ../src/layout_util.c:1436
 msgid "Histogram on Value"
 msgstr "histograma segons el valor"
 
-#: ../src/layout_util.c:1400
+#: ../src/layout_util.c:1440
 msgid "Linear Histogram"
 msgstr "histograma lineal"
 
-#: ../src/layout_util.c:1401
+#: ../src/layout_util.c:1441
 msgid "_Log Histogram"
 msgstr "Histograma _logarítmic"
 
-#: ../src/layout_util.c:1401
+#: ../src/layout_util.c:1441
 msgid "Log Histogram"
 msgstr "Histograma logarítmic"
 
-#: ../src/layout_util.c:1667
+#: ../src/layout_util.c:1445
+msgid "_Auto"
+msgstr "_Auto"
+
+#: ../src/layout_util.c:1445
+msgid "Stereo Auto"
+msgstr "Estèreo auto"
+
+#: ../src/layout_util.c:1446
+msgid "_Side by Side"
+msgstr "_De costat"
+
+#: ../src/layout_util.c:1446
+msgid "Stereo Side by Side"
+msgstr "Estèreo de costat"
+
+#: ../src/layout_util.c:1447
+msgid "_Cross"
+msgstr "_Creuat"
+
+#: ../src/layout_util.c:1447
+msgid "Stereo Cross"
+msgstr "Estèreo creuat"
+
+#: ../src/layout_util.c:1448
+msgid "_Off"
+msgstr "A_pagat"
+
+#: ../src/layout_util.c:1448
+msgid "Stereo Off"
+msgstr "Estèreo apagat"
+
+#: ../src/layout_util.c:1722
 #, c-format
 msgid "Mark _%d"
 msgstr "Marca _%d"
 
-#: ../src/layout_util.c:1668 ../src/view_file.c:540
+#: ../src/layout_util.c:1723 ../src/view_file.c:540
 #, c-format
 msgid "_Set mark %d"
 msgstr "_Posa marca %d"
 
-#: ../src/layout_util.c:1668
+#: ../src/layout_util.c:1723
 #, c-format
 msgid "Set mark %d"
 msgstr "Posa marca %d"
 
-#: ../src/layout_util.c:1669 ../src/view_file.c:541
+#: ../src/layout_util.c:1724 ../src/view_file.c:541
 #, c-format
 msgid "_Reset mark %d"
 msgstr "_Esborra marca %d"
 
-#: ../src/layout_util.c:1669
+#: ../src/layout_util.c:1724
 #, c-format
 msgid "Reset mark %d"
 msgstr "Esborra marca %d"
 
-#: ../src/layout_util.c:1670 ../src/layout_util.c:1671 ../src/view_file.c:542
+#: ../src/layout_util.c:1725 ../src/layout_util.c:1726 ../src/view_file.c:542
 #, c-format
 msgid "_Toggle mark %d"
 msgstr "_Commuta la marca %d"
 
-#: ../src/layout_util.c:1670 ../src/layout_util.c:1671
+#: ../src/layout_util.c:1725 ../src/layout_util.c:1726
 #, c-format
 msgid "Toggle mark %d"
 msgstr "Commuta la marca %d"
 
-#: ../src/layout_util.c:1672
+#: ../src/layout_util.c:1727
 #, c-format
 msgid "Se_lect mark %d"
 msgstr "Se_lecciona la marca %d"
 
-#: ../src/layout_util.c:1672 ../src/layout_util.c:1673
+#: ../src/layout_util.c:1727 ../src/layout_util.c:1728
 #, c-format
 msgid "Select mark %d"
 msgstr "Selecciona la marca %d"
 
-#: ../src/layout_util.c:1673 ../src/view_file.c:543
+#: ../src/layout_util.c:1728 ../src/view_file.c:543
 #, c-format
 msgid "_Select mark %d"
 msgstr "_Selecciona la marca %d"
 
-#: ../src/layout_util.c:1674 ../src/view_file.c:544
+#: ../src/layout_util.c:1729 ../src/view_file.c:544
 #, c-format
 msgid "_Add mark %d"
 msgstr "_Afegeix la marca %d"
 
-#: ../src/layout_util.c:1674
+#: ../src/layout_util.c:1729
 #, c-format
 msgid "Add mark %d"
 msgstr "Afegeix la marca %d"
 
-#: ../src/layout_util.c:1675 ../src/view_file.c:545
+#: ../src/layout_util.c:1730 ../src/view_file.c:545
 #, c-format
 msgid "_Intersection with mark %d"
 msgstr "_Intersecció amb la marca %d"
 
-#: ../src/layout_util.c:1675
+#: ../src/layout_util.c:1730
 #, c-format
 msgid "Intersection with mark %d"
 msgstr "Intersecció amb la marca %d"
 
-#: ../src/layout_util.c:1676 ../src/view_file.c:546
+#: ../src/layout_util.c:1731 ../src/view_file.c:546
 #, c-format
 msgid "_Unselect mark %d"
 msgstr "_No seleccionis la marca %d"
 
-#: ../src/layout_util.c:1676
+#: ../src/layout_util.c:1731
 #, c-format
 msgid "Unselect mark %d"
 msgstr "No seleccionis la marca %d"
 
-#: ../src/layout_util.c:1677
+#: ../src/layout_util.c:1732
 #, c-format
 msgid "_Filter mark %d"
 msgstr "_Filtra la marca %d"
 
-#: ../src/layout_util.c:1677
+#: ../src/layout_util.c:1732
 #, c-format
 msgid "Filter mark %d"
 msgstr "Filtra la marca %d"
 
-#: ../src/layout_util.c:2205
+#: ../src/layout_util.c:2263
 #, c-format
 msgid "Number of files with unsaved metadata: %d"
 msgstr "Nombre de fitxers amb medades sense desar: %d"
 
-#: ../src/layout_util.c:2211
+#: ../src/layout_util.c:2269
 msgid "No unsaved metadata"
 msgstr "No hi ha metadades sense desar"
 
-#: ../src/layout_util.c:2258
+#: ../src/layout_util.c:2316
 #, c-format
 msgid ""
 "Image profile: %s\n"
@@ -3043,15 +3101,15 @@
 "Perfil d'imatge: %s\n"
 "Perfil de pantalla: %s"
 
-#: ../src/layout_util.c:2266
+#: ../src/layout_util.c:2324
 msgid "Click to enable color management"
 msgstr "Fes clic per habilitar la gestió de color"
 
-#: ../src/layout_util.c:2271
+#: ../src/layout_util.c:2329
 msgid "Color profiles not supported"
 msgstr "Perfils de color no suportats"
 
-#: ../src/layout_util.c:2293
+#: ../src/layout_util.c:2351
 #, c-format
 msgid "Input _%d: %s"
 msgstr "Entrada _%d: %s"
@@ -3207,7 +3265,7 @@
 msgid "Collections have been modified. Quit anyway?"
 msgstr "Les col·leccions han estat modificades. Voleu sortir igualment?"
 
-#: ../src/main.c:878 ../src/remote.c:601
+#: ../src/main.c:881 ../src/remote.c:601
 msgid "Command line"
 msgstr "Línia de comandes"
 
@@ -3220,262 +3278,267 @@
 msgstr "Ordena segons la data"
 
 #: ../src/menu.c:139
+#, fuzzy
+msgid "Sort by Exif-date"
+msgstr "Ordena segons la data de l'Exif"
+
+#: ../src/menu.c:142
 msgid "Unsorted"
 msgstr "Desordenat"
 
-#: ../src/menu.c:142
+#: ../src/menu.c:145
 msgid "Sort by path"
 msgstr "Ordena segons el camí"
 
-#: ../src/menu.c:145
+#: ../src/menu.c:148
 msgid "Sort by number"
 msgstr "Ordena segons el número"
 
-#: ../src/menu.c:149
+#: ../src/menu.c:152
 msgid "Sort by name"
 msgstr "Ordena segons el nom"
 
-#: ../src/menu.c:199
+#: ../src/menu.c:203
 msgid "Sort"
 msgstr "Ordena"
 
-#: ../src/menu.c:224
+#: ../src/menu.c:228
 msgid "Rotate _180"
 msgstr "Gira _180"
 
-#: ../src/metadata.c:1443
+#: ../src/metadata.c:1599
 msgid "People"
 msgstr "Gent"
 
-#: ../src/metadata.c:1444
+#: ../src/metadata.c:1600
 msgid "Family"
 msgstr "Família"
 
-#: ../src/metadata.c:1445
+#: ../src/metadata.c:1601
 msgid "Free time"
 msgstr "Temps lliure"
 
-#: ../src/metadata.c:1446
+#: ../src/metadata.c:1602
 msgid "Children"
 msgstr "quitxalla"
 
-#: ../src/metadata.c:1447
+#: ../src/metadata.c:1603
 msgid "Sport"
 msgstr "Esport"
 
-#: ../src/metadata.c:1448
+#: ../src/metadata.c:1604
 msgid "Culture"
 msgstr "Cultura"
 
-#: ../src/metadata.c:1449
+#: ../src/metadata.c:1605
 msgid "Festival"
 msgstr "Festival"
 
-#: ../src/metadata.c:1450
+#: ../src/metadata.c:1606
 msgid "Nature"
 msgstr "Natura"
 
-#: ../src/metadata.c:1451
+#: ../src/metadata.c:1607
 msgid "Animal"
 msgstr "Animal"
 
-#: ../src/metadata.c:1452
+#: ../src/metadata.c:1608
 msgid "Bird"
 msgstr "Ocell"
 
-#: ../src/metadata.c:1453
+#: ../src/metadata.c:1609
 msgid "Insect"
 msgstr "Insecte"
 
-#: ../src/metadata.c:1454
+#: ../src/metadata.c:1610
 msgid "Pets"
 msgstr "Domèstic"
 
-#: ../src/metadata.c:1455
+#: ../src/metadata.c:1611
 msgid "Wildlife"
 msgstr "Salvatge"
 
-#: ../src/metadata.c:1456
+#: ../src/metadata.c:1612
 msgid "Zoo"
 msgstr "Zoo"
 
-#: ../src/metadata.c:1457
+#: ../src/metadata.c:1613
 msgid "Plant"
 msgstr "Planta"
 
-#: ../src/metadata.c:1458
+#: ../src/metadata.c:1614
 msgid "Tree"
 msgstr "Arbre"
 
-#: ../src/metadata.c:1459
+#: ../src/metadata.c:1615
 msgid "Flower"
 msgstr "Flor"
 
-#: ../src/metadata.c:1460
+#: ../src/metadata.c:1616
 msgid "Water"
 msgstr "Aigua"
 
-#: ../src/metadata.c:1461
+#: ../src/metadata.c:1617
 msgid "River"
 msgstr "Riu"
 
-#: ../src/metadata.c:1462
+#: ../src/metadata.c:1618
 msgid "Lake"
 msgstr "Llac"
 
-#: ../src/metadata.c:1463
+#: ../src/metadata.c:1619
 msgid "Sea"
 msgstr "Mar"
 
-#: ../src/metadata.c:1464 ../src/print.c:375
+#: ../src/metadata.c:1620 ../src/print.c:375
 msgid "Landscape"
 msgstr "Apaïsat"
 
-#: ../src/metadata.c:1465
+#: ../src/metadata.c:1621
 msgid "Art"
 msgstr "Art"
 
-#: ../src/metadata.c:1466
+#: ../src/metadata.c:1622
 msgid "Statue"
 msgstr "Estatua"
 
-#: ../src/metadata.c:1467
+#: ../src/metadata.c:1623
 msgid "Painting"
 msgstr "Pintura"
 
-#: ../src/metadata.c:1468 ../src/metadata.c:1482
+#: ../src/metadata.c:1624 ../src/metadata.c:1638
 msgid "Historic"
 msgstr "Històric"
 
-#: ../src/metadata.c:1469 ../src/metadata.c:1483
+#: ../src/metadata.c:1625 ../src/metadata.c:1639
 msgid "Modern"
 msgstr "Modern"
 
-#: ../src/metadata.c:1470
+#: ../src/metadata.c:1626
 msgid "City"
 msgstr "Ciutat"
 
-#: ../src/metadata.c:1471
+#: ../src/metadata.c:1627
 msgid "Park"
 msgstr "Parc"
 
-#: ../src/metadata.c:1472
+#: ../src/metadata.c:1628
 msgid "Street"
 msgstr "Carrer"
 
-#: ../src/metadata.c:1473
+#: ../src/metadata.c:1629
 msgid "Square"
 msgstr "Plaça"
 
-#: ../src/metadata.c:1474
+#: ../src/metadata.c:1630
 msgid "Architecture"
 msgstr "Arquitectura"
 
-#: ../src/metadata.c:1475
+#: ../src/metadata.c:1631
 msgid "Buildings"
 msgstr "Edificis"
 
-#: ../src/metadata.c:1476
+#: ../src/metadata.c:1632
 msgid "House"
 msgstr "Casa"
 
-#: ../src/metadata.c:1477
+#: ../src/metadata.c:1633
 msgid "Cathedral"
 msgstr "Catedral"
 
-#: ../src/metadata.c:1478
+#: ../src/metadata.c:1634
 msgid "Palace"
 msgstr "Palau"
 
-#: ../src/metadata.c:1479
+#: ../src/metadata.c:1635
 msgid "Castle"
 msgstr "Castell"
 
-#: ../src/metadata.c:1480
+#: ../src/metadata.c:1636
 msgid "Bridge"
 msgstr "Pont"
 
-#: ../src/metadata.c:1481
+#: ../src/metadata.c:1637
 msgid "Interior"
 msgstr "interior"
 
-#: ../src/metadata.c:1484
+#: ../src/metadata.c:1640
 msgid "Places"
 msgstr "Llocs"
 
-#: ../src/metadata.c:1485
+#: ../src/metadata.c:1641
 msgid "Conditions"
 msgstr "Condicions"
 
-#: ../src/metadata.c:1486
+#: ../src/metadata.c:1642
 msgid "Night"
 msgstr "Nit"
 
-#: ../src/metadata.c:1487
+#: ../src/metadata.c:1643
 msgid "Lights"
 msgstr "Llums"
 
-#: ../src/metadata.c:1488
+#: ../src/metadata.c:1644
 msgid "Reflections"
 msgstr "Reflexes"
 
-#: ../src/metadata.c:1489
+#: ../src/metadata.c:1645
 msgid "Sun"
 msgstr "Sol"
 
-#: ../src/metadata.c:1490
+#: ../src/metadata.c:1646
 msgid "Weather"
 msgstr "Clima"
 
-#: ../src/metadata.c:1491
+#: ../src/metadata.c:1647
 msgid "Fog"
 msgstr "Boira"
 
-#: ../src/metadata.c:1492
+#: ../src/metadata.c:1648
 msgid "Rain"
 msgstr "Pluja"
 
-#: ../src/metadata.c:1493
+#: ../src/metadata.c:1649
 msgid "Clouds"
 msgstr "Núvols"
 
-#: ../src/metadata.c:1494
+#: ../src/metadata.c:1650
 msgid "Snow"
 msgstr "Neu"
 
-#: ../src/metadata.c:1495
+#: ../src/metadata.c:1651
 msgid "Sunny weather"
 msgstr "Assolellat"
 
-#: ../src/metadata.c:1496
+#: ../src/metadata.c:1652
 msgid "Photo"
 msgstr "Foto"
 
-#: ../src/metadata.c:1497
+#: ../src/metadata.c:1653
 msgid "Edited"
 msgstr "Editada"
 
-#: ../src/metadata.c:1498
+#: ../src/metadata.c:1654
 msgid "Detail"
 msgstr "Detall"
 
-#: ../src/metadata.c:1499
+#: ../src/metadata.c:1655
 msgid "Macro"
 msgstr "Macro"
 
-#: ../src/metadata.c:1500 ../src/print.c:374
+#: ../src/metadata.c:1656 ../src/print.c:374
 msgid "Portrait"
 msgstr "Vertical"
 
-#: ../src/metadata.c:1501
+#: ../src/metadata.c:1657
 msgid "Black and White"
 msgstr "Blanc i negre"
 
-#: ../src/metadata.c:1502
+#: ../src/metadata.c:1658
 msgid "Perspective"
 msgstr "Perspectiva"
 
-#: ../src/options.c:138 ../src/ui_bookmark.c:550
+#: ../src/options.c:146 ../src/ui_bookmark.c:555
 msgid "Desktop"
 msgstr "Escriptori"
 
@@ -3501,128 +3564,128 @@
 msgid "Sorting images..."
 msgstr "S'estan ordenant les imatges..."
 
-#: ../src/pan-view.c:1546 ../src/print.c:2601
+#: ../src/pan-view.c:1552 ../src/print.c:2613
 msgid "Filename:"
 msgstr "Nom del fitxer:"
 
-#: ../src/pan-view.c:1548 ../src/pan-view.c:2384 ../src/preferences.c:1353
+#: ../src/pan-view.c:1554 ../src/pan-view.c:2406 ../src/preferences.c:1544
 msgid "Location:"
 msgstr "Ubicació:"
 
-#: ../src/pan-view.c:1550 ../src/pan-view.c:1916
+#: ../src/pan-view.c:1556 ../src/pan-view.c:1922
 msgid "Date:"
 msgstr "Data:"
 
-#: ../src/pan-view.c:1552 ../src/preferences.c:1174 ../src/print.c:3214
-#: ../src/print.c:3425
+#: ../src/pan-view.c:1558 ../src/preferences.c:1362 ../src/print.c:3226
+#: ../src/print.c:3437
 msgid "Size:"
 msgstr "Mida:"
 
-#: ../src/pan-view.c:1654
+#: ../src/pan-view.c:1660
 msgid "path found"
 msgstr "s'ha trobat el camí"
 
-#: ../src/pan-view.c:1654
+#: ../src/pan-view.c:1660
 msgid "filename found"
 msgstr "s'ha trobat el nom del fitxer"
 
-#: ../src/pan-view.c:1702
+#: ../src/pan-view.c:1708
 msgid "partial match"
 msgstr "concordança parcial"
 
-#: ../src/pan-view.c:1913 ../src/pan-view.c:1946
+#: ../src/pan-view.c:1919 ../src/pan-view.c:1952
 msgid "no match"
 msgstr "sense concordança"
 
-#: ../src/pan-view.c:2272 ../src/search.c:2219
+#: ../src/pan-view.c:2294 ../src/search.c:2219
 msgid "Folder not found"
 msgstr "No s'ha trobat la carpeta"
 
-#: ../src/pan-view.c:2273
+#: ../src/pan-view.c:2295
 msgid "The entered path is not a folder"
 msgstr "El camí indicat no és una carpeta"
 
-#: ../src/pan-view.c:2368
+#: ../src/pan-view.c:2390
 msgid "Pan View"
 msgstr "Vista Panoràmica"
 
-#: ../src/pan-view.c:2393
+#: ../src/pan-view.c:2415
 msgid "Timeline"
 msgstr "Línia de temps"
 
-#: ../src/pan-view.c:2394
+#: ../src/pan-view.c:2416
 msgid "Calendar"
 msgstr "Calendari"
 
-#: ../src/pan-view.c:2396
+#: ../src/pan-view.c:2418
 msgid "Folders (flower)"
 msgstr "Carpetes (flor)"
 
-#: ../src/pan-view.c:2397
+#: ../src/pan-view.c:2419
 msgid "Grid"
 msgstr "Graella"
 
-#: ../src/pan-view.c:2406
+#: ../src/pan-view.c:2428
 msgid "Dots"
 msgstr "Punts"
 
-#: ../src/pan-view.c:2407
+#: ../src/pan-view.c:2429
 msgid "No Images"
 msgstr "Cap Imatge"
 
-#: ../src/pan-view.c:2408
+#: ../src/pan-view.c:2430
 msgid "Small Thumbnails"
 msgstr "Miniatures Petites"
 
-#: ../src/pan-view.c:2409
+#: ../src/pan-view.c:2431
 msgid "Normal Thumbnails"
 msgstr "Miniatures Normal"
 
-#: ../src/pan-view.c:2410
+#: ../src/pan-view.c:2432
 msgid "Large Thumbnails"
 msgstr "Miniatures Grans"
 
-#: ../src/pan-view.c:2411 ../src/pan-view.c:2871
+#: ../src/pan-view.c:2433 ../src/pan-view.c:2893
 msgid "1:10 (10%)"
 msgstr "1:10 (10%)"
 
-#: ../src/pan-view.c:2412 ../src/pan-view.c:2867
+#: ../src/pan-view.c:2434 ../src/pan-view.c:2889
 msgid "1:4 (25%)"
 msgstr "1:4 (25%)"
 
-#: ../src/pan-view.c:2413 ../src/pan-view.c:2863
+#: ../src/pan-view.c:2435 ../src/pan-view.c:2885
 msgid "1:3 (33%)"
 msgstr "1:3 (33%)"
 
-#: ../src/pan-view.c:2414 ../src/pan-view.c:2859
+#: ../src/pan-view.c:2436 ../src/pan-view.c:2881
 msgid "1:2 (50%)"
 msgstr "1:2 (50%)"
 
-#: ../src/pan-view.c:2415
+#: ../src/pan-view.c:2437
 msgid "1:1 (100%)"
 msgstr "1:1 (100%)"
 
-#: ../src/pan-view.c:2463
+#: ../src/pan-view.c:2485
 msgid "Find:"
 msgstr "Cerca:"
 
-#: ../src/pan-view.c:2506
+#: ../src/pan-view.c:2528
 msgid "Use Exif date"
 msgstr "Fes servir la data de l'Exif"
 
-#: ../src/pan-view.c:2519
+#: ../src/pan-view.c:2541
 msgid "Find"
 msgstr "Cerca"
 
-#: ../src/pan-view.c:2586
+#: ../src/pan-view.c:2608
 msgid "Pan View Performance"
 msgstr "Rendiment de la vista panoràmica"
 
-#: ../src/pan-view.c:2593
+#: ../src/pan-view.c:2615
 msgid "Pan view performance may be poor."
 msgstr "El rendiment de la vista panoràmica podria ser pobre."
 
-#: ../src/pan-view.c:2594
+#: ../src/pan-view.c:2616
 msgid ""
 "To improve performance of thumbnails in the pan view the following options "
 "can be enabled. Note that both options must be enabled to notice a change in "
@@ -3632,35 +3695,35 @@
 "activar les següents opcions. Fixeu-vos que cal activar les dues opcions per "
 "notar canvis en el rendiment."
 
-#: ../src/pan-view.c:2602 ../src/preferences.c:1177
+#: ../src/pan-view.c:2624 ../src/preferences.c:1365
 msgid "Cache thumbnails"
-msgstr "Desa les miniatures en memòria cau"
-
-#: ../src/pan-view.c:2604
+msgstr "Desa les miniatures a la memòria cau"
+
+#: ../src/pan-view.c:2626
 msgid "Use shared thumbnail cache"
 msgstr "Utilitza la memòria cau compartida de miniatures"
 
-#: ../src/pan-view.c:2610
+#: ../src/pan-view.c:2632
 msgid "Do not show this dialog again"
 msgstr "No tornis a mostrar aquesta finestra"
 
-#: ../src/pan-view.c:2839
+#: ../src/pan-view.c:2861
 msgid "Sort by E_xif date"
 msgstr "Ordena segons la data de l'Exif"
 
-#: ../src/pan-view.c:2845
+#: ../src/pan-view.c:2867
 msgid "_Show Exif information"
 msgstr "_Mostra la informació de l'Exif"
 
-#: ../src/pan-view.c:2847
+#: ../src/pan-view.c:2869
 msgid "Show im_age"
 msgstr "Mostra la im_atge"
 
-#: ../src/pan-view.c:2851
+#: ../src/pan-view.c:2873
 msgid "_None"
 msgstr "_Cap"
 
-#: ../src/pan-view.c:2855
+#: ../src/pan-view.c:2877
 msgid "_Full size"
 msgstr "_Mida Completa"
 
@@ -3672,43 +3735,79 @@
 msgid "RAW Image"
 msgstr "Imatge RAW"
 
-#: ../src/preferences.c:417
+#: ../src/preferences.c:439
 msgid "Nearest (worst, but fastest)"
 msgstr "El més proper (el pitjor, però el més ràpid)"
 
-#: ../src/preferences.c:419
+#: ../src/preferences.c:441
 msgid "Tiles"
 msgstr "Mosaic"
 
-#: ../src/preferences.c:421
+#: ../src/preferences.c:443
 msgid "Bilinear"
 msgstr "Bilineal"
 
-#: ../src/preferences.c:423
+#: ../src/preferences.c:445
 msgid "Hyper (best, but slowest)"
 msgstr "Hyper (el millor, però el més lent)"
 
-#: ../src/preferences.c:451
+#: ../src/preferences.c:473
 msgid "None"
 msgstr "Cap"
 
-#: ../src/preferences.c:452
+#: ../src/preferences.c:474
 msgid "Normal"
 msgstr "Normal"
 
-#: ../src/preferences.c:453
+#: ../src/preferences.c:475
 msgid "Best"
 msgstr "El millor"
 
-#: ../src/preferences.c:515 ../src/print.c:380
+#: ../src/preferences.c:537 ../src/print.c:380
 msgid "Custom"
 msgstr "Personalitzat"
 
-#: ../src/preferences.c:757 ../src/preferences.c:760
+#: ../src/preferences.c:602
+msgid "Single image"
+msgstr "Una sola imatge"
+
+#: ../src/preferences.c:604
+msgid "Anaglyph Red-Cyan"
+msgstr "Anàglif vermell-cian"
+
+#: ../src/preferences.c:606
+msgid "Anaglyph Gray Red-Cyan"
+msgstr "Anàglif gris vermell-cian"
+
+#: ../src/preferences.c:608
+msgid "Anaglyph Dubois"
+msgstr "Anàglif Dubois"
+
+#: ../src/preferences.c:611
+msgid "Side by Side"
+msgstr "De costat"
+
+#: ../src/preferences.c:612
+msgid "Side by Side Half size"
+msgstr "De costat i la meitat de petites"
+
+#: ../src/preferences.c:619
+msgid "Top - Bottom"
+msgstr "De dalt a baix"
+
+#: ../src/preferences.c:620
+msgid "Top - Bottom Half size"
+msgstr "De dalt a baix i la meitat de petites"
+
+#: ../src/preferences.c:629 ../src/preferences.c:2222
+msgid "Fixed position"
+msgstr "Posició fixa"
+
+#: ../src/preferences.c:926 ../src/preferences.c:929
 msgid "Reset filters"
 msgstr "Reinicia els filtres"
 
-#: ../src/preferences.c:761
+#: ../src/preferences.c:930
 msgid ""
 "This will reset the file filters to the defaults.\n"
 "Continue?"
@@ -3716,19 +3815,19 @@
 "Això deixarà els filtres amb les opcions per defecte.\n"
 "Voleu continuar?"
 
-#: ../src/preferences.c:788 ../src/preferences.c:791
+#: ../src/preferences.c:957 ../src/preferences.c:960
 msgid "Clear trash"
 msgstr "Buida la paperera"
 
-#: ../src/preferences.c:792
+#: ../src/preferences.c:961
 msgid "This will remove the trash contents."
 msgstr "Això eliminarà el contingut de la paperera."
 
-#: ../src/preferences.c:836 ../src/preferences.c:839
+#: ../src/preferences.c:1005 ../src/preferences.c:1008
 msgid "Reset image overlay template string"
 msgstr "Reiniciar el text de la plantilla que es superposarà a la imatge"
 
-#: ../src/preferences.c:840
+#: ../src/preferences.c:1009
 msgid ""
 "This will reset the image overlay template string to the default.\n"
 "Continue?"
@@ -3737,204 +3836,209 @@
 "per defecte.\n"
 "Voleu continuar?"
 
-#: ../src/preferences.c:1169
+#: ../src/preferences.c:1357
 msgid "General"
 msgstr "General"
 
-#: ../src/preferences.c:1175 ../src/preferences.c:1248
+#: ../src/preferences.c:1363 ../src/preferences.c:1436
 msgid "Quality:"
 msgstr "Qualitat:"
 
-#: ../src/preferences.c:1183
+#: ../src/preferences.c:1371
 msgid "Use standard thumbnail cache, shared with other applications"
 msgstr ""
-"Fes servir la memòria intermèdia estàndard per a les miniatures, compartida "
-"amb altres aplicacions"
-
-#: ../src/preferences.c:1189
+"Fes servir la memòria cau estàndard per a les miniatures, compartida amb "
+"altres aplicacions"
+
+#: ../src/preferences.c:1377
 msgid ""
 "Store thumbnails in '.thumbnails' folder, local to image folder (non-"
 "standard)"
 msgstr ""
-"Desa les miniatures a la carpeta'.thumnails', a la carpeta de les imatges "
+"Desa les miniatures a la carpeta '.thumnails', carpeta local de les imatges "
 "(no estàndard)"
 
-#: ../src/preferences.c:1193
+#: ../src/preferences.c:1381
 msgid "Use xvpics thumbnails when found (read only)"
 msgstr ""
 "Fes servir les miniatures de xvpics quan estiguin disponibles (només de "
 "lectura)"
 
-#: ../src/preferences.c:1197
+#: ../src/preferences.c:1385
 msgid "Use EXIF thumbnails when available (EXIF thumbnails may be outdated)"
 msgstr ""
 "Fes servir les miniatures de EXID quan estiguin disponibles (poden no estar "
 "actualitzades)"
 
-#: ../src/preferences.c:1200
+#: ../src/preferences.c:1388
 msgid "Slide show"
 msgstr "Projecció de diapositives"
 
-#: ../src/preferences.c:1203
+#: ../src/preferences.c:1391
 msgid "Delay between image change:"
 msgstr "Retard abans del canvi d'imatge:"
 
-#: ../src/preferences.c:1203
+#: ../src/preferences.c:1391
 msgid "seconds"
 msgstr "segons"
 
-#: ../src/preferences.c:1209
+#: ../src/preferences.c:1397
 msgid "Random"
 msgstr "Aleatori"
 
-#: ../src/preferences.c:1210
+#: ../src/preferences.c:1398
 msgid "Repeat"
 msgstr "Repeteix"
 
-#: ../src/preferences.c:1212
+#: ../src/preferences.c:1400
 msgid "Image loading and caching"
 msgstr "Lectura de les imatges i memòria cau"
 
-#: ../src/preferences.c:1215
+#: ../src/preferences.c:1403
 msgid "Offscreen cache size (Mb per image):"
 msgstr "Mida a la memòria cau fora d'enquadrament"
 
-#: ../src/preferences.c:1219
+#: ../src/preferences.c:1407
 msgid "Decoded image cache size (Mb):"
 msgstr "Mida a la memòria cau de la imatge descodificada (MB):"
 
-#: ../src/preferences.c:1221
+#: ../src/preferences.c:1409
 msgid "Preload next image"
 msgstr "Precarrega la següent imatge"
 
-#: ../src/preferences.c:1224
+#: ../src/preferences.c:1412
 msgid "Refresh on file change"
-msgstr "Actualitzar quant hi hagi un canvi a l'arxiu"
-
-#: ../src/preferences.c:1242
+msgstr "Actualitza quant hi hagi un canvi a l'arxiu"
+
+#: ../src/preferences.c:1430
 msgid "Zoom"
 msgstr "Ampliació"
 
-#: ../src/preferences.c:1245
+#: ../src/preferences.c:1433
 msgid "Dithering method:"
 msgstr "Mètode de tramat:"
 
-#: ../src/preferences.c:1250
+#: ../src/preferences.c:1438
 msgid "Two pass rendering (apply HQ zoom and color correction in second pass)"
 msgstr ""
 "renderització en dos pasos (aplica ampliació HQ i correcció de color al "
 "segon pas)"
 
-#: ../src/preferences.c:1253
+#: ../src/preferences.c:1441
 msgid "Allow enlargement of image for zoom to fit"
 msgstr "Permet l'ampliació de la imatge per que encaixi"
 
-#: ../src/preferences.c:1257
+#: ../src/preferences.c:1445
 msgid "Limit image size when autofitting (%):"
 msgstr "Limita la mida quan es dimensioni automàticament la finestra (%):"
 
-#: ../src/preferences.c:1265
+#: ../src/preferences.c:1453
 msgid "Zoom increment:"
 msgstr "Increment de l'ampliació:"
 
-#: ../src/preferences.c:1270
+#: ../src/preferences.c:1458
 msgid "When new image is selected:"
 msgstr "Quan se seleccioni una nova imatge:"
 
-#: ../src/preferences.c:1274
+#: ../src/preferences.c:1462
 msgid "Zoom to original size"
 msgstr "Mostra en la mida original"
 
-#: ../src/preferences.c:1277
+#: ../src/preferences.c:1465
 msgid "Fit image to window"
 msgstr "Ajusta la imatge a la finestra"
 
-#: ../src/preferences.c:1280
+#: ../src/preferences.c:1468
 msgid "Leave Zoom at previous setting"
 msgstr "Amplia com a l'estat anterior"
 
-#: ../src/preferences.c:1286
+#: ../src/preferences.c:1474
 msgid "Scroll to top left corner"
 msgstr "Desplaça't a la cantonada superior esquerra"
 
-#: ../src/preferences.c:1289
+#: ../src/preferences.c:1477
 msgid "Scroll to image center"
 msgstr "Desplaça't al centre de la imatge"
 
-#: ../src/preferences.c:1292
+#: ../src/preferences.c:1480
 msgid "Keep the region from previous image"
 msgstr "Conserva la zona de la imàtge prèvia"
 
-#: ../src/preferences.c:1297
+#: ../src/preferences.c:1485
 msgid "Appearance"
 msgstr "Aspecte"
 
-#: ../src/preferences.c:1299
+#: ../src/preferences.c:1487
 msgid "Use custom border color in window mode"
 msgstr "Fes servir el color de vora personalitzat en mode finestra"
 
-#: ../src/preferences.c:1302
+#: ../src/preferences.c:1490
 msgid "Use custom border color in fullscreen mode"
 msgstr "Fes servir el color de vora personalitzat en mode pantalla completa"
 
-#: ../src/preferences.c:1305
+#: ../src/preferences.c:1493
 msgid "Border color"
 msgstr "Color de la vora"
 
-#: ../src/preferences.c:1308
+#: ../src/preferences.c:1496
 msgid "Convenience"
 msgstr "Conveniència"
 
-#: ../src/preferences.c:1310
+#: ../src/preferences.c:1498
 msgid "Auto rotate image using Exif information"
-msgstr "Gira la imatge automàticament usant la informació Exif"
-
-#: ../src/preferences.c:1327
+msgstr "Gira la imatge automàticament fent servir la informació Exif"
+
+#: ../src/preferences.c:1501
+#, fuzzy
+msgid "Auto rotate proofs using Exif information"
+msgstr "Gira la imatge automàticament fent servir la informació Exif"
+
+#: ../src/preferences.c:1518
 msgid "Windows"
 msgstr "Finestres"
 
-#: ../src/preferences.c:1329
+#: ../src/preferences.c:1520
 msgid "State"
 msgstr "Estat"
 
-#: ../src/preferences.c:1331
+#: ../src/preferences.c:1522
 msgid "Remember window positions"
 msgstr "Recorda la posició de les finestres"
 
-#: ../src/preferences.c:1333
+#: ../src/preferences.c:1524
 msgid "Remember tool state (float/hidden)"
 msgstr "Recorda l'estat de les eines (en pantalla/ocult)"
 
-#: ../src/preferences.c:1338
+#: ../src/preferences.c:1529
 msgid "Fit window to image when tools are hidden/floating"
 msgstr ""
 "Ajusta la finestra a la imatge quan les eines estiguin amagades o flotant"
 
-#: ../src/preferences.c:1342
+#: ../src/preferences.c:1533
 msgid "Limit size when auto-sizing window (%):"
 msgstr "Limita la mida quan es dimensioni automaticament la finestra (%):"
 
-#: ../src/preferences.c:1357
+#: ../src/preferences.c:1548
 msgid "Smooth image flip"
 msgstr "Inverteix la imatge suaument"
 
-#: ../src/preferences.c:1359
+#: ../src/preferences.c:1550
 msgid "Disable screen saver"
 msgstr "Desactiva l'estalvi de pantalla"
 
-#: ../src/preferences.c:1363
+#: ../src/preferences.c:1554
 msgid "Overlay Screen Display"
 msgstr "Pantalla d'imatge sobreposada"
 
-#: ../src/preferences.c:1365
+#: ../src/preferences.c:1556
 msgid "Image overlay template"
 msgstr "Plantilla d'imatge sobreposada"
 
-#: ../src/preferences.c:1379
+#: ../src/preferences.c:1570
 msgid ""
 "<i>%name%</i> results in the filename of the picture.\n"
-"Also available: <i>%collection%</i>, <i>%number%</i>, <i>%total%</i>, <i>%"
-"date%</i>,\n"
+"Also available: <i>%collection%</i>, <i>%number%</i>, <i>%total%</i>, <i>"
+"%date%</i>,\n"
 "<i>%size%</i> (filesize), <i>%width%</i>, <i>%height%</i>, <i>%res%</i> "
 "(resolution)\n"
 "To access exif data use the exif name, e. g. <i>%formatted.Camera%</i> is "
@@ -3944,8 +4048,8 @@
 "characters and will add 3 dots at the end to denote the truncation.\n"
 "If two or more variables are connected with the |-sign, it prints available "
 "variables with a separator.\n"
-"<i>%formatted.ShutterSpeed%</i>|<i>%formatted.ISOSpeedRating%</i>|<i>%"
-"formatted.FocalLength%</i> could show \"1/20s - 400 - 80 mm\" or \"1/200 - "
+"<i>%formatted.ShutterSpeed%</i>|<i>%formatted.ISOSpeedRating%</i>|<i>"
+"%formatted.FocalLength%</i> could show \"1/20s - 400 - 80 mm\" or \"1/200 - "
 "80 mm\",\n"
 "if there's no ISO information in the Exif data.\n"
 "If a line is empty, it is removed. This allows to add lines that totally "
@@ -3963,69 +4067,69 @@
 "caràcters i hi afegirà 3 punts al final per reflectir-ho.\n"
 "Si dues o més variables estan connectades amb el signe |-, mostra les "
 "variables disponibles amb un separador.\n"
-"<i>%formatted.ShutterSpeed%</i>|<i>%formatted.ISOSpeedRating%</i>|<i>%"
-"formatted.FocalLength%</i> mostrarà \"1/20s - 400 - 80 mm\" o \"1/200 - 80 mm"
-"\",\n"
+"<i>%formatted.ShutterSpeed%</i>|<i>%formatted.ISOSpeedRating%</i>|<i>"
+"%formatted.FocalLength%</i> mostrarà \"1/20s - 400 - 80 mm\" o \"1/200 - 80 "
+"mm\",\n"
 "si no hi ha la informació ISO a les dades Exif.\n"
 "Si una línia és buida, es treu. Això permet afegir línies que no es mostren "
 "quan no hi ha dades disponibles.\n"
 
-#: ../src/preferences.c:1396 ../src/preferences.c:1569
-#: ../src/preferences.c:1941
+#: ../src/preferences.c:1587 ../src/preferences.c:1763
+#: ../src/preferences.c:2136
 msgid "Defaults"
 msgstr "Opcions per defecte"
 
-#: ../src/preferences.c:1450
+#: ../src/preferences.c:1641
 msgid "Show hidden files or folders"
 msgstr "Mostra els fitxers ocults"
 
-#: ../src/preferences.c:1453
+#: ../src/preferences.c:1644
 msgid "Show dot directory"
 msgstr "Mostra el directori punt"
 
-#: ../src/preferences.c:1456
+#: ../src/preferences.c:1647
 msgid "Case sensitive sort"
 msgstr "Ordena distingint entre majúscules i minúscules"
 
-#: ../src/preferences.c:1459
+#: ../src/preferences.c:1650
 msgid "Disable File Filtering"
 msgstr "Desactivar els filtres de fitxers"
 
-#: ../src/preferences.c:1463
+#: ../src/preferences.c:1654
 msgid "Grouping sidecar extensions"
 msgstr "Agrupant les extensions sidecar"
 
-#: ../src/preferences.c:1470
+#: ../src/preferences.c:1661
 msgid "File types"
 msgstr "Tipus de fitxers"
 
-#: ../src/preferences.c:1492
+#: ../src/preferences.c:1683
 msgid "Filter"
 msgstr "Filtre"
 
-#: ../src/preferences.c:1524
+#: ../src/preferences.c:1718
 msgid "Class"
 msgstr "Clase"
 
-#: ../src/preferences.c:1541
+#: ../src/preferences.c:1735
 msgid "Writable"
 msgstr "S'hi pot escriure"
 
-#: ../src/preferences.c:1552
+#: ../src/preferences.c:1746
 msgid "Sidecar is allowed"
 msgstr "Es permeten les metadades en sidecar"
 
-#: ../src/preferences.c:1598
+#: ../src/preferences.c:1792
 msgid "Metadata writing process"
 msgstr "Procés d'escriptura de les metadades"
 
-#: ../src/preferences.c:1600
+#: ../src/preferences.c:1794
 msgid "Warning: Geeqie is built without Exiv2. Some options are disabled."
 msgstr ""
 "Atenció: Geeqie s'ha compilat sense Exiv2. Algunes opcions estan "
 "desabilitades"
 
-#: ../src/preferences.c:1602
+#: ../src/preferences.c:1796
 msgid ""
 "Metadata are written in the following order. The process ends after first "
 "success."
@@ -4033,7 +4137,7 @@
 "Les metadades es desen en l'ordre següent. El procés acaba després del "
 "primer èxit."
 
-#: ../src/preferences.c:1605
+#: ../src/preferences.c:1799
 msgid ""
 "1) Save metadata in image files, resp. sidecar files, according to the XMP "
 "standard"
@@ -4041,23 +4145,23 @@
 "1) Desa les metadades als fitxers d'imatge, als resp. fitxers sidecar, "
 "conforme l'estàndard SMP"
 
-#: ../src/preferences.c:1611
+#: ../src/preferences.c:1805
 msgid ""
 "2) Save metadata in '.metadata' folder, local to image folder (non-standard)"
 msgstr ""
 "2) Desa les metadades a la carpeta'.metadata', al directori de la imatge (no "
 "estàndard)"
 
-#: ../src/preferences.c:1614
+#: ../src/preferences.c:1808
 #, c-format
 msgid "3) Save metadata in Geeqie private directory '%s'"
-msgstr "3) Desa les metadades al directori privat de Geeqie '%s'"
-
-#: ../src/preferences.c:1619
+msgstr "3) Desa-les al directori de Geeqie '%s'"
+
+#: ../src/preferences.c:1814
 msgid "Step 1: Write to image files"
 msgstr "Pas 1: Escriu als fitxers d'imatge"
 
-#: ../src/preferences.c:1627
+#: ../src/preferences.c:1822
 msgid ""
 "Store metadata also in legacy IPTC tags (converted according to IPTC4XMP "
 "standard)"
@@ -4065,19 +4169,19 @@
 "Desa-les també en les antigues etiquetes IPTC (convertides segons "
 "l'estàndard IPTC4XMP)"
 
-#: ../src/preferences.c:1630
+#: ../src/preferences.c:1825
 msgid "Warn if the image files are unwritable"
 msgstr "Avisa si no es pot escriure als fitxers de imatge"
 
-#: ../src/preferences.c:1633
+#: ../src/preferences.c:1828
 msgid "Ask before writing to image files"
 msgstr "Pregunta abans d'escriure als fitxers d'imatge"
 
-#: ../src/preferences.c:1636
+#: ../src/preferences.c:1831
 msgid "Step 2 and 3: write to Geeqie private files"
 msgstr "Pasos 2 i 3: escriu als fitxers privat de Geeqie"
 
-#: ../src/preferences.c:1641
+#: ../src/preferences.c:1836
 msgid ""
 "Use GQview legacy metadata format (supports only keywords and comments) "
 "instead of XMP"
@@ -4085,11 +4189,11 @@
 "Antic format de metadades de GQview (només paraules clau i comentaris) en "
 "comptes de XMP"
 
-#: ../src/preferences.c:1645 ../src/preferences.c:1833
+#: ../src/preferences.c:1840 ../src/preferences.c:2028
 msgid "Miscellaneous"
 msgstr "Miscel·lània"
 
-#: ../src/preferences.c:1646
+#: ../src/preferences.c:1841
 msgid ""
 "Write the same description tags (keywords, comment, etc.) to all grouped "
 "sidecars"
@@ -4097,189 +4201,245 @@
 "Escriu les mateixes etiquetes (paraules, comentaris, etc.) a tots els "
 "fitxers sidecars agrupats"
 
-#: ../src/preferences.c:1649
+#: ../src/preferences.c:1844
 msgid "Allow keywords to differ only in case"
 msgstr ""
 "Permet les paraules claus diferenciar-se només en les majúscules/minúscules"
 
-#: ../src/preferences.c:1652
+#: ../src/preferences.c:1847
 msgid "Write altered image orientation to the metadata"
-msgstr "Desa la orientaciño de la imatge alterada a les metadades"
-
-#: ../src/preferences.c:1658
+msgstr "Desa la orientació de la imatge alterada a les metadades"
+
+#: ../src/preferences.c:1853
 msgid "Auto-save options"
 msgstr "Opcions de desat automàtic"
 
-#: ../src/preferences.c:1660
+#: ../src/preferences.c:1855
 msgid "Write metadata after timeout"
-msgstr "Escriu les metadades cada temps d'espera"
-
-#: ../src/preferences.c:1666
+msgstr "Escriu les metadades periòdicament"
+
+#: ../src/preferences.c:1861
 msgid "Timeout (seconds):"
-msgstr "Temps d'espera (segons):"
-
-#: ../src/preferences.c:1669
+msgstr "Període (segons):"
+
+#: ../src/preferences.c:1864
 msgid "Write metadata on image change"
 msgstr "Escriu les metadades en canviar d'imatge:"
 
-#: ../src/preferences.c:1672
+#: ../src/preferences.c:1867
 msgid "Write metadata on directory change"
 msgstr "Escriu les metadades en canviar de directori"
 
-#: ../src/preferences.c:1686
+#: ../src/preferences.c:1881
 msgid "Color management"
 msgstr "Gestió del color"
 
-#: ../src/preferences.c:1688
+#: ../src/preferences.c:1883
 msgid "Input profiles"
 msgstr "Entrada de perfils"
 
-#: ../src/preferences.c:1696
+#: ../src/preferences.c:1891
 msgid "Type"
 msgstr "Tipus"
 
-#: ../src/preferences.c:1699
+#: ../src/preferences.c:1894
 msgid "Menu name"
 msgstr "Nom del menú"
 
-#: ../src/preferences.c:1702
+#: ../src/preferences.c:1897
 msgid "File"
 msgstr "Fitxer"
 
-#: ../src/preferences.c:1710
+#: ../src/preferences.c:1905
 #, c-format
 msgid "Input %d:"
 msgstr "Entrada %d:"
 
-#: ../src/preferences.c:1727 ../src/preferences.c:1747
+#: ../src/preferences.c:1922 ../src/preferences.c:1942
 msgid "Select color profile"
 msgstr "Seleccioneu un perfil de color"
 
-#: ../src/preferences.c:1735
+#: ../src/preferences.c:1930
 msgid "Screen profile"
 msgstr "Perfil de pantalla"
 
-#: ../src/preferences.c:1739
+#: ../src/preferences.c:1934
 msgid "Use system screen profile if available"
 msgstr "Fes servir el perfil de pantalla del sistema si està disponible"
 
-#: ../src/preferences.c:1744
+#: ../src/preferences.c:1939
 msgid "Screen:"
 msgstr "Pantalla:"
 
-#: ../src/preferences.c:1766 ../src/preferences.c:1809
+#: ../src/preferences.c:1961 ../src/preferences.c:2004
 msgid "Behavior"
 msgstr "Comportament"
 
-#: ../src/preferences.c:1768 ../src/utilops.c:1985
+#: ../src/preferences.c:1963 ../src/utilops.c:1985
 msgid "Delete"
 msgstr "Suprimeix"
 
-#: ../src/preferences.c:1770
+#: ../src/preferences.c:1965
 msgid "Confirm file delete"
-msgstr "Confirmeu l'eliminació del fitxer"
-
-#: ../src/preferences.c:1772
+msgstr "DEmana confirmació de l'eliminació del fitxer"
+
+#: ../src/preferences.c:1967
 msgid "Enable Delete key"
 msgstr "Activa la tecla de supressió"
 
-#: ../src/preferences.c:1775
+#: ../src/preferences.c:1970
 msgid "Safe delete"
 msgstr "Supressió segura"
 
-#: ../src/preferences.c:1793
+#: ../src/preferences.c:1988
 msgid "Maximum size:"
 msgstr "Mida màxima:"
 
-#: ../src/preferences.c:1793
+#: ../src/preferences.c:1988
 msgid "MB"
 msgstr "MB"
 
-#: ../src/preferences.c:1796
+#: ../src/preferences.c:1991
 msgid "Set to 0 for unlimited size"
 msgstr "Poseu-ho a 0 per indicar una mida il·limitada"
 
-#: ../src/preferences.c:1798
+#: ../src/preferences.c:1993
 msgid "View"
 msgstr "Visualització"
 
-#: ../src/preferences.c:1811
+#: ../src/preferences.c:2006
 msgid "Rectangular selection in icon view"
 msgstr "Selecció rectangular a la vista d'icones"
 
-#: ../src/preferences.c:1814
+#: ../src/preferences.c:2009
 msgid "Descend folders in tree view"
 msgstr "Carpetes descendents en la vista d'arbre"
 
-#: ../src/preferences.c:1817
+#: ../src/preferences.c:2012
 msgid "In place renaming"
 msgstr "Canvia el nom en el lloc"
 
-#: ../src/preferences.c:1820
+#: ../src/preferences.c:2015
 msgid "Open recent list maximum size"
 msgstr "Mida màxima de la llista de fitxers recents"
 
-#: ../src/preferences.c:1823
+#: ../src/preferences.c:2018
 msgid "Drag'n drop icon size"
 msgstr "Mida de la icona d'arrossegar i deixar anar"
 
-#: ../src/preferences.c:1826
+#: ../src/preferences.c:2021
 msgid "Navigation"
 msgstr "Navegació"
 
-#: ../src/preferences.c:1828
+#: ../src/preferences.c:2023
 msgid "Progressive keyboard scrolling"
 msgstr "Desplaçament progressiu des del teclat"
 
-#: ../src/preferences.c:1830
+#: ../src/preferences.c:2025
 msgid "Mouse wheel scrolls image"
 msgstr "La rodeta del ratolí desplaça la imatge"
 
-#: ../src/preferences.c:1835
+#: ../src/preferences.c:2030
 msgid "Custom similarity threshold:"
 msgstr "Llindar de semblança personalitzat:"
 
-#: ../src/preferences.c:1840
+#: ../src/preferences.c:2035
 msgid "Debugging"
 msgstr "Depuració"
 
-#: ../src/preferences.c:1842
+#: ../src/preferences.c:2037
 msgid "Debug level:"
 msgstr "Nivell de depuració:"
 
-#: ../src/preferences.c:1861
+#: ../src/preferences.c:2056
 msgid "Keyboard"
 msgstr "Teclat"
 
-#: ../src/preferences.c:1863
+#: ../src/preferences.c:2058
 msgid "Accelerators"
 msgstr "Tecles de drecera"
 
-#: ../src/preferences.c:1882
+#: ../src/preferences.c:2077
 msgid "Action"
 msgstr "Acció"
 
-#: ../src/preferences.c:1904
+#: ../src/preferences.c:2099
 msgid "KEY"
 msgstr "Tecla"
 
-#: ../src/preferences.c:1915
+#: ../src/preferences.c:2110
 msgid "Tooltip"
 msgstr "Indicador de funció"
 
-#: ../src/preferences.c:1953
+#: ../src/preferences.c:2148
 msgid "Reset selected"
 msgstr "Reinicia els seleccionats"
 
-#: ../src/preferences.c:1959
+#: ../src/preferences.c:2154
 msgid "Add Alt"
 msgstr "Afegeix Alt"
 
-#: ../src/preferences.c:1978
+#: ../src/preferences.c:2172
+msgid "Stereo"
+msgstr "Estèreo"
+
+#: ../src/preferences.c:2174 ../src/preferences.c:2177
+msgid "Windowed stereo mode"
+msgstr "Mode estèreo en finestra"
+
+#: ../src/preferences.c:2181 ../src/preferences.c:2206
+msgid "Mirror left image"
+msgstr "Mirall de la imatge esquerra"
+
+#: ../src/preferences.c:2184 ../src/preferences.c:2209
+msgid "Flip left image"
+msgstr "Inversió de la imatge esquerra"
+
+#: ../src/preferences.c:2187 ../src/preferences.c:2212
+msgid "Mirror right image"
+msgstr "Mirall de la imatge dreta"
+
+#: ../src/preferences.c:2190 ../src/preferences.c:2215
+msgid "Flip right image"
+msgstr "Inversió de la imatge dreta"
+
+#: ../src/preferences.c:2192 ../src/preferences.c:2217
+msgid "Swap left and right images"
+msgstr "intercanvia les imatges dreta i esquerra"
+
+#: ../src/preferences.c:2194 ../src/preferences.c:2219
+msgid "Disable stereo mode on single image source"
+msgstr "Deshabilita el mode estèreo a les imatges d'una sola font"
+
+#: ../src/preferences.c:2197 ../src/preferences.c:2203
+msgid "Fullscreen stereo mode"
+msgstr "Mode estèreo de pantalla completa"
+
+#: ../src/preferences.c:2198
+msgid "Use different settings for fullscreen"
+msgstr "Fes servir una configuració diferent per la pantalla completa"
+
+#: ../src/preferences.c:2228
+msgid "Left X"
+msgstr "X esquerra"
+
+#: ../src/preferences.c:2230
+msgid "Left Y"
+msgstr "Y esquerra"
+
+#: ../src/preferences.c:2232
+msgid "Right X"
+msgstr "X dreta"
+
+#: ../src/preferences.c:2234
+msgid "Right Y"
+msgstr "Y dreta"
+
+#: ../src/preferences.c:2250
 msgid "Preferences"
 msgstr "Preferències"
 
-#: ../src/preferences.c:2125
+#: ../src/preferences.c:2398
 #, c-format
 msgid ""
 "%s %s\n"
@@ -4300,7 +4460,7 @@
 "\n"
 "Alliberat sota la Llicència Pública General GNU"
 
-#: ../src/preferences.c:2144
+#: ../src/preferences.c:2417
 msgid "Credits..."
 msgstr "Crèdits..."
 
@@ -4348,7 +4508,7 @@
 msgid "jpeg, high quality"
 msgstr "jpeg, qualitat alta"
 
-#: ../src/print.c:365 ../src/print.c:3214
+#: ../src/print.c:365 ../src/print.c:3226
 msgid "points"
 msgstr "punts"
 
@@ -4476,130 +4636,130 @@
 msgid "Page %d"
 msgstr "Pàgina %d"
 
-#: ../src/print.c:1964 ../src/print.c:1969
+#: ../src/print.c:1968 ../src/print.c:1973
 msgid "Printing error"
 msgstr "Error d'impressió"
 
-#: ../src/print.c:1968
+#: ../src/print.c:1972
 #, c-format
 msgid "An error occured printing to %s."
 msgstr "S'ha produït un error en imprimir a %s."
 
-#: ../src/print.c:1972
+#: ../src/print.c:1976
 msgid "Details"
 msgstr "Detalls"
 
-#: ../src/print.c:2589 ../src/print.c:3349
+#: ../src/print.c:2601 ../src/print.c:3361
 msgid "Print"
 msgstr "Imprimeix"
 
-#: ../src/print.c:2593
+#: ../src/print.c:2605
 #, c-format
 msgid "Printing %d pages to %s."
 msgstr "Imprimint %d pàgines a %s."
 
-#: ../src/print.c:2693
+#: ../src/print.c:2705
 msgid "Format:"
 msgstr "Format:"
 
-#: ../src/print.c:2768
+#: ../src/print.c:2780
 msgid "Units:"
 msgstr "Unitats:"
 
-#: ../src/print.c:2812
+#: ../src/print.c:2824
 msgid "Orientation:"
 msgstr "Orientació:"
 
-#: ../src/print.c:2944
+#: ../src/print.c:2956
 msgid "Destination:"
 msgstr "Destí:"
 
-#: ../src/print.c:2992
+#: ../src/print.c:3004
 msgid "<printer name>"
 msgstr "<nom de la impressora>"
 
-#: ../src/print.c:3081
+#: ../src/print.c:3093
 msgid "Unlimited"
 msgstr "Sense límit"
 
-#: ../src/print.c:3199
+#: ../src/print.c:3211
 msgid "Show"
 msgstr "Mostra"
 
-#: ../src/print.c:3212
+#: ../src/print.c:3224
 msgid "Font"
 msgstr "Font"
 
-#: ../src/print.c:3376
+#: ../src/print.c:3388
 msgid "Source"
 msgstr "Origen"
 
-#: ../src/print.c:3388
+#: ../src/print.c:3400
 msgid "Image size:"
 msgstr "Mida de la imatge:"
 
-#: ../src/print.c:3392
+#: ../src/print.c:3404
 msgid "Proof size:"
 msgstr "Mida de la prova:"
 
-#: ../src/print.c:3408
+#: ../src/print.c:3420
 msgid "Text"
 msgstr "Text"
 
-#: ../src/print.c:3418
+#: ../src/print.c:3430
 msgid "Paper"
 msgstr "Paper"
 
-#: ../src/print.c:3441
+#: ../src/print.c:3453
 msgid "Margins"
 msgstr "Marges"
 
-#: ../src/print.c:3443
+#: ../src/print.c:3455
 msgid "Left:"
 msgstr "Esquerre:"
 
-#: ../src/print.c:3446
+#: ../src/print.c:3458
 msgid "Right:"
 msgstr "Dret:"
 
-#: ../src/print.c:3449
-msgid "Top:"
-msgstr "Superior:"
-
-#: ../src/print.c:3452
-msgid "Bottom:"
-msgstr "Inferior:"
-
 #: ../src/print.c:3461
+msgid "Top:"
+msgstr "Superior:"
+
+#: ../src/print.c:3464
+msgid "Bottom:"
+msgstr "Inferior:"
+
+#: ../src/print.c:3473
 msgid "Printer"
 msgstr "Impressora"
 
-#: ../src/print.c:3467
+#: ../src/print.c:3479
 msgid "Custom printer:"
 msgstr "Impressora personalitzada:"
 
-#: ../src/print.c:3476
+#: ../src/print.c:3488
 msgid "File:"
 msgstr "Fitxer:"
 
-#: ../src/print.c:3485
+#: ../src/print.c:3497
 msgid "File format:"
 msgstr "Format del fitxer:"
 
-#: ../src/print.c:3490
+#: ../src/print.c:3502
 msgid "DPI:"
 msgstr "PPP:"
 
-#: ../src/print.c:3498
+#: ../src/print.c:3510
 msgid "Remember print settings"
 msgstr "Recorda els ajustos d'impressió"
 
-#: ../src/rcfile.c:495
+#: ../src/rcfile.c:504
 #, c-format
 msgid "error saving config file: %s\n"
 msgstr "s'ha produït un error en desar el fitxer de configuració: %s\n"
 
-#: ../src/rcfile.c:553
+#: ../src/rcfile.c:562
 #, c-format
 msgid ""
 "error saving config file: %s\n"
@@ -4693,12 +4853,21 @@
 msgid "Remote command list:\n"
 msgstr "Llista de comandes remotes:\n"
 
-#: ../src/remote.c:781
+#: ../src/remote.c:739
+msgid ""
+"\n"
+"  All other command line parameters are used as plain files if they exists.\n"
+msgstr ""
+"\n"
+"  Tots els altres paràmetres de línia de comandes es fan servir com a "
+"fitxers de text pla si existeixen.\n"
+
+#: ../src/remote.c:789
 #, c-format
 msgid "Remote %s not running, starting..."
 msgstr "El %s remot no s'està executant, s'està iniciant..."
 
-#: ../src/remote.c:917
+#: ../src/remote.c:925
 msgid "Remote not available\n"
 msgstr "Geeqie remot no està disponible\n"
 
@@ -4789,52 +4958,52 @@
 msgstr ""
 "Si us plau, introdueixi el nom d'una carpeta que existeixi per la cerca."
 
-#: ../src/search.c:2638
+#: ../src/search.c:2646
 msgid "Image search"
 msgstr "Cerca d'imatges"
 
-#: ../src/search.c:2668
+#: ../src/search.c:2676
 msgid "Search:"
 msgstr "Cerca:"
 
-#: ../src/search.c:2682
+#: ../src/search.c:2690
 msgid "Recurse"
 msgstr "Recursivitat"
 
-#: ../src/search.c:2687
+#: ../src/search.c:2695
 msgid "File name"
 msgstr "Nom del fitxer"
 
-#: ../src/search.c:2693 ../src/search.c:2788
+#: ../src/search.c:2701 ../src/search.c:2796
 msgid "Match case"
 msgstr "Coincidència definida"
 
-#: ../src/search.c:2698
+#: ../src/search.c:2706
 msgid "File size is"
 msgstr "La mida del fitxer és"
 
-#: ../src/search.c:2705 ../src/search.c:2721 ../src/search.c:2740
+#: ../src/search.c:2713 ../src/search.c:2729 ../src/search.c:2748
 msgid "and"
 msgstr "i"
 
-#: ../src/search.c:2711
+#: ../src/search.c:2719
 msgid "File date is"
 msgstr "La data del fitxer és"
 
-#: ../src/search.c:2729
+#: ../src/search.c:2737
 msgid "Image dimensions are"
 msgstr "Les mides de la imatge són"
 
-#: ../src/search.c:2750
+#: ../src/search.c:2758
 msgid "Image content is"
 msgstr "El contingut de la imatge és"
 
-#: ../src/search.c:2756
+#: ../src/search.c:2764
 #, no-c-format
 msgid "% similar to"
 msgstr "% semblant a"
 
-#: ../src/search.c:2842
+#: ../src/search.c:2850
 msgid "Rank"
 msgstr "Rang"
 
@@ -4953,11 +5122,11 @@
 msgid "Select icon"
 msgstr "Selecciona la icona"
 
-#: ../src/ui_bookmark.c:403
+#: ../src/ui_bookmark.c:408
 msgid "_Properties..."
 msgstr "_Propietats..."
 
-#: ../src/ui_bookmark.c:409
+#: ../src/ui_bookmark.c:414
 msgid "_Remove"
 msgstr "_Suprimeix"
 
@@ -5057,11 +5226,11 @@
 msgid "_Delete"
 msgstr "_Suprimeix"
 
-#: ../src/ui_pathsel.c:748 ../src/ui_pathsel.c:1049 ../src/utilops.c:2674
+#: ../src/ui_pathsel.c:751 ../src/ui_pathsel.c:1056 ../src/utilops.c:2674
 msgid "New folder"
 msgstr "Nova carpeta"
 
-#: ../src/ui_pathsel.c:758
+#: ../src/ui_pathsel.c:761
 #, c-format
 msgid ""
 "Unable to create folder:\n"
@@ -5070,27 +5239,27 @@
 "No es pot crear la carpeta:\n"
 "%s"
 
-#: ../src/ui_pathsel.c:759
+#: ../src/ui_pathsel.c:762
 msgid "Error creating folder"
 msgstr "Error quan s'intentava crear la carpeta"
 
-#: ../src/ui_pathsel.c:980
+#: ../src/ui_pathsel.c:987
 msgid "All Files"
 msgstr "Tots els Fitxers"
 
-#: ../src/ui_pathsel.c:1052
+#: ../src/ui_pathsel.c:1059
 msgid "Show hidden"
 msgstr "Mostra els ocults"
 
-#: ../src/ui_pathsel.c:1136
+#: ../src/ui_pathsel.c:1143
 msgid "Filter:"
 msgstr "Filtra:"
 
-#: ../src/ui_tabcomp.c:925
+#: ../src/ui_tabcomp.c:933
 msgid "Select path"
 msgstr "Seleccioneu el camí"
 
-#: ../src/ui_tabcomp.c:941
+#: ../src/ui_tabcomp.c:949
 msgid "All files"
 msgstr "Tots els fitxers"
 
@@ -5486,7 +5655,7 @@
 msgid "Show _thumbnails"
 msgstr "Mostra les _miniatures"
 
-#: ../src/view_file_icon.c:2179 ../src/view_file_list.c:899
+#: ../src/view_file_icon.c:2199 ../src/view_file_list.c:899
 msgid " [NO GROUPING]"
 msgstr "[NO S'AGRUPEN]"
 
@@ -6180,10 +6349,6 @@
 #~ msgstr "treu la pantalla completa"
 
 #, fuzzy
-#~ msgid "Fullscreen info string"
-#~ msgstr "Pantalla completa"
-
-#, fuzzy
 #~ msgid "List"
 #~ msgstr "_Llista"
 
--- a/po/fr.po	Sun May 27 18:41:56 2012 +0100
+++ b/po/fr.po	Tue Oct 02 22:19:13 2012 +0100
@@ -13,10 +13,11 @@
 msgstr ""
 "Project-Id-Version: geeqie-1.0betaX\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-07-25 10:22+0200\n"
-"PO-Revision-Date: 2009-07-25 10:22+0100\n"
+"POT-Creation-Date: 2012-08-16 23:32+0200\n"
+"PO-Revision-Date: 2012-08-16 23:32+0100\n"
 "Last-Translator: Laurent Monin <i18n@norz.org>\n"
 "Language-Team: french <geeqie-devel@lists.sourceforge.net>\n"
+"Language: french\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=utf-8\n"
 "Content-Transfer-Encoding: 8bit\n"
@@ -66,12 +67,12 @@
 msgid "UFRaw Batch recursive"
 msgstr "Traitement par lots UFRaw récursif"
 
-#: ../src/advanced_exif.c:328 ../src/cache_maint.c:1284
-#: ../src/preferences.c:93 ../src/preferences.c:1595
+#: ../src/advanced_exif.c:328 ../src/cache_maint.c:1304
+#: ../src/preferences.c:93 ../src/preferences.c:1759
 msgid "Metadata"
 msgstr "Méta-données"
 
-#: ../src/advanced_exif.c:376 ../src/preferences.c:1512
+#: ../src/advanced_exif.c:376 ../src/preferences.c:1673
 msgid "Description"
 msgstr "Description"
 
@@ -79,9 +80,9 @@
 msgid "Value"
 msgstr "Valeur"
 
-#: ../src/advanced_exif.c:378 ../src/desktop_file.c:497 ../src/dupe.c:2647
-#: ../src/dupe.c:3161 ../src/print.c:3250 ../src/search.c:2840
-#: ../src/utilops.c:449 ../src/view_file_list.c:2037
+#: ../src/advanced_exif.c:378 ../src/desktop_file.c:515 ../src/dupe.c:2651
+#: ../src/dupe.c:3173 ../src/print.c:3213 ../src/search.c:2838
+#: ../src/utilops.c:462 ../src/view_file_list.c:2039
 msgid "Name"
 msgstr "Nom"
 
@@ -106,11 +107,11 @@
 msgid "Title"
 msgstr "Titre"
 
-#: ../src/bar.c:169 ../src/search.c:2763
+#: ../src/bar.c:169 ../src/search.c:2761
 msgid "Keywords"
 msgstr "Mots-clés"
 
-#: ../src/bar.c:170 ../src/search.c:2775
+#: ../src/bar.c:170 ../src/search.c:2773
 msgid "Comment"
 msgstr "Commentaire"
 
@@ -127,11 +128,11 @@
 msgid "Location and GPS"
 msgstr "Position et GPS"
 
-#: ../src/bar.c:175 ../src/exif.c:347
+#: ../src/bar.c:175 ../src/exif.c:348
 msgid "Copyright"
 msgstr "Copyright"
 
-#: ../src/bar.c:178 ../src/bar_gps.c:771
+#: ../src/bar.c:178 ../src/bar_gps.c:763
 msgid "GPS Map"
 msgstr "Carte GPS"
 
@@ -139,11 +140,11 @@
 msgid "Move to _top"
 msgstr "Déplacer tout en hau_t"
 
-#: ../src/bar.c:298 ../src/ui_bookmark.c:405
+#: ../src/bar.c:298 ../src/ui_bookmark.c:407
 msgid "Move _up"
 msgstr "_Monter"
 
-#: ../src/bar.c:299 ../src/ui_bookmark.c:407
+#: ../src/bar.c:299 ../src/ui_bookmark.c:409
 msgid "Move _down"
 msgstr "_Descendre"
 
@@ -155,11 +156,11 @@
 msgid "Remove"
 msgstr "Enlever"
 
-#: ../src/bar_comment.c:188
+#: ../src/bar_comment.c:195
 msgid "Add text to selected files"
 msgstr "Ajouter un texte aux fichiers sélectionnés"
 
-#: ../src/bar_comment.c:189
+#: ../src/bar_comment.c:196
 msgid "Replace existing text in selected files"
 msgstr "Remplacer le texte existant dans les fichiers sélectionnés"
 
@@ -167,69 +168,69 @@
 msgid "<empty label, fixme>"
 msgstr "<label vide, à corriger>"
 
-#: ../src/bar_exif.c:538 ../src/bar_exif.c:548
+#: ../src/bar_exif.c:549 ../src/bar_exif.c:559
 msgid "Configure entry"
 msgstr "Configurer l'entrée"
 
 #. for the pane
-#: ../src/bar_exif.c:538 ../src/bar_exif.c:548 ../src/bar_exif.c:621
+#: ../src/bar_exif.c:549 ../src/bar_exif.c:559 ../src/bar_exif.c:632
 msgid "Add entry"
 msgstr "Ajouter l'entrée"
 
-#: ../src/bar_exif.c:554
+#: ../src/bar_exif.c:565
 msgid "Key:"
 msgstr "Clé :"
 
-#: ../src/bar_exif.c:563
+#: ../src/bar_exif.c:574
 msgid "Title:"
 msgstr "Titre :"
 
-#: ../src/bar_exif.c:572
+#: ../src/bar_exif.c:583
 msgid "Show only if set"
 msgstr "Montrer seulement si défini"
 
-#: ../src/bar_exif.c:573
+#: ../src/bar_exif.c:584
 msgid "Editable (supported only for XMP)"
 msgstr "Modifiable (seulement pour XMP)"
 
 #. for the entry
-#: ../src/bar_exif.c:609
+#: ../src/bar_exif.c:620
 #, c-format
 msgid "Configure \"%s\""
 msgstr "Configurer « %s »"
 
-#: ../src/bar_exif.c:610 ../src/bar_keywords.c:1135
+#: ../src/bar_exif.c:621 ../src/bar_keywords.c:1207
 #, c-format
 msgid "Remove \"%s\""
 msgstr "Enlever « %s »"
 
-#: ../src/bar_exif.c:622
+#: ../src/bar_exif.c:633
 msgid "Show hidden entries"
 msgstr "Montrer les entrées cachées"
 
-#: ../src/bar_gps.c:496
+#: ../src/bar_gps.c:485
 #, c-format
 msgid "Zoom %i"
 msgstr "Zoom %i"
 
-#: ../src/bar_gps.c:514
+#: ../src/bar_gps.c:503
 #, c-format
 msgid "Zoom level %i"
 msgstr "Niveau zoom %i"
 
-#: ../src/bar_gps.c:519
+#: ../src/bar_gps.c:508
 msgid "Loading map"
 msgstr "Chargement de la carte"
 
-#: ../src/bar_gps.c:581
+#: ../src/bar_gps.c:575
 msgid "Enable markers"
 msgstr "Activer les marqueurs"
 
-#: ../src/bar_gps.c:583
+#: ../src/bar_gps.c:577
 msgid "Centre map on marker"
 msgstr "Centrer la carte sur le marqueur"
 
-#: ../src/bar_gps.c:606
+#: ../src/bar_gps.c:600
 msgid ""
 "Move map centre to marker\n"
 " is disabled"
@@ -237,7 +238,7 @@
 "Centrer la carte sur le marqueur\n"
 " désactivé"
 
-#: ../src/bar_gps.c:611
+#: ../src/bar_gps.c:605
 msgid ""
 "Move map centre to marker\n"
 " is enabled"
@@ -245,122 +246,126 @@
 "Centrer la carte sur le marqueur\n"
 " activé"
 
-#: ../src/bar_gps.c:620
+#: ../src/bar_gps.c:614
 msgid "Map Centreing"
 msgstr "Centrage de la carte"
 
 #. use the same strings as in layout_util.c
-#: ../src/bar_histogram.c:240 ../src/layout_util.c:1388
+#: ../src/bar_histogram.c:265 ../src/layout_util.c:1434
 msgid "Histogram on _Red"
 msgstr "Histogramme sur le _rouge"
 
-#: ../src/bar_histogram.c:241 ../src/layout_util.c:1389
+#: ../src/bar_histogram.c:266 ../src/layout_util.c:1435
 msgid "Histogram on _Green"
 msgstr "Histogramme sur le _vert"
 
-#: ../src/bar_histogram.c:242 ../src/layout_util.c:1390
+#: ../src/bar_histogram.c:267 ../src/layout_util.c:1436
 msgid "Histogram on _Blue"
 msgstr "Histogramme sur le _bleu"
 
-#: ../src/bar_histogram.c:243 ../src/layout_util.c:1391
+#: ../src/bar_histogram.c:268 ../src/layout_util.c:1437
 msgid "_Histogram on RGB"
 msgstr "_Histogramme RVB"
 
-#: ../src/bar_histogram.c:244 ../src/layout_util.c:1392
+#: ../src/bar_histogram.c:269 ../src/layout_util.c:1438
 msgid "Histogram on _Value"
 msgstr "Histogramme sur la _valeur"
 
-#: ../src/bar_histogram.c:248 ../src/layout_util.c:1396
+#: ../src/bar_histogram.c:273 ../src/layout_util.c:1442
 msgid "Li_near Histogram"
 msgstr "Histogramme _linéaire"
 
-#: ../src/bar_histogram.c:249
+#: ../src/bar_histogram.c:274
 msgid "L_og Histogram"
 msgstr "Histogramme l_ogarithmique"
 
-#: ../src/bar_keywords.c:406
+#: ../src/bar_keywords.c:414
 msgid "Add keywords to selected files"
 msgstr "Ajouter les mots-clés aux fichiers sélectionnés"
 
-#: ../src/bar_keywords.c:407
+#: ../src/bar_keywords.c:415
 msgid "Replace existing keywords in selected files"
 msgstr "Remplacer les mots-clés existants dans les fichiers sélectionnés"
 
-#: ../src/bar_keywords.c:880
+#: ../src/bar_keywords.c:888
 msgid "Edit keyword"
 msgstr "Éditer le mot-clé"
 
-#: ../src/bar_keywords.c:880
+#: ../src/bar_keywords.c:888
 msgid "Add keywords"
 msgstr "Ajouter des mots-clés"
 
-#: ../src/bar_keywords.c:887
+#: ../src/bar_keywords.c:895
 msgid "Configure keyword"
 msgstr "Configurer le mot-clé"
 
-#: ../src/bar_keywords.c:887 ../src/bar_keywords.c:1169
+#: ../src/bar_keywords.c:895 ../src/bar_keywords.c:1161
 msgid "Add keyword"
 msgstr "Ajouter un mot-clé"
 
-#: ../src/bar_keywords.c:893
+#: ../src/bar_keywords.c:901
 msgid "Keyword:"
 msgstr "Mot-clé :"
 
-#: ../src/bar_keywords.c:902
+#: ../src/bar_keywords.c:910
 msgid "Keyword type:"
 msgstr "Type de mot-clé :"
 
-#: ../src/bar_keywords.c:904
+#: ../src/bar_keywords.c:912
 msgid "Active keyword"
 msgstr "Mot-clé actif"
 
-#: ../src/bar_keywords.c:907
+#: ../src/bar_keywords.c:915
 msgid "Helper"
 msgstr "Assistant"
 
-#: ../src/bar_keywords.c:1113
+#: ../src/bar_keywords.c:1165
+msgid "Add keyword to all selected images"
+msgstr "Ajouter un mot-clé à toutes les images sélectionnées"
+
+#: ../src/bar_keywords.c:1185
 #, c-format
 msgid "Hide \"%s\""
 msgstr "Cacher « %s »"
 
-#: ../src/bar_keywords.c:1120
+#: ../src/bar_keywords.c:1192
 #, c-format
 msgid "Mark %d"
 msgstr "Marque %d"
 
-#: ../src/bar_keywords.c:1125
+#: ../src/bar_keywords.c:1197
 #, c-format
 msgid "Connect \"%s\" to mark"
 msgstr "Connecter « %s » à la marque"
 
-#: ../src/bar_keywords.c:1132
+#: ../src/bar_keywords.c:1204
 #, c-format
 msgid "Edit \"%s\""
 msgstr "Éditer « %s »"
 
-#: ../src/bar_keywords.c:1142
+#: ../src/bar_keywords.c:1214
 #, c-format
 msgid "Disconnect \"%s\" from mark %s"
 msgstr "Déconnecter « %s » de la marque %s"
 
 #. for the pane
-#: ../src/bar_keywords.c:1154 ../src/bar_keywords.c:1163
+#: ../src/bar_keywords.c:1226 ../src/bar_keywords.c:1235
 msgid "Expand checked"
 msgstr "Déployer cochés"
 
-#: ../src/bar_keywords.c:1155 ../src/bar_keywords.c:1164
+#: ../src/bar_keywords.c:1227 ../src/bar_keywords.c:1236
 msgid "Collapse unchecked"
 msgstr "Plier non cochés"
 
-#: ../src/bar_keywords.c:1156 ../src/bar_keywords.c:1165
+#: ../src/bar_keywords.c:1228 ../src/bar_keywords.c:1237
 msgid "Hide unchecked"
 msgstr "Cacher non cochés"
 
-#: ../src/bar_keywords.c:1157
+#: ../src/bar_keywords.c:1229
 msgid "Show all"
 msgstr "Montrer tout"
 
-#: ../src/bar_keywords.c:1160
+#: ../src/bar_keywords.c:1232
 msgid "On any change"
 msgstr "Sur tout changement"
 
@@ -379,7 +384,7 @@
 msgid "Collection exists"
 msgstr "Collection existante"
 
-#: ../src/bar_sort.c:464 ../src/collect.c:1098 ../src/collect-dlg.c:85
+#: ../src/bar_sort.c:464 ../src/collect.c:1101 ../src/collect-dlg.c:85
 #, c-format
 msgid ""
 "Failed to save the collection:\n"
@@ -388,7 +393,7 @@
 "Impossible d'enregistrer la collection :\n"
 "%s"
 
-#: ../src/bar_sort.c:465 ../src/collect.c:1099 ../src/collect-dlg.c:86
+#: ../src/bar_sort.c:465 ../src/collect.c:1102 ../src/collect-dlg.c:86
 msgid "Save Failed"
 msgstr "Erreur à l'enregistrement"
 
@@ -408,19 +413,19 @@
 msgid "Sort Manager"
 msgstr "Gestionnaire de tri"
 
-#: ../src/bar_sort.c:606 ../src/pan-view.c:2395 ../src/ui_pathsel.c:1099
+#: ../src/bar_sort.c:606 ../src/pan-view.c:2419 ../src/ui_pathsel.c:1097
 msgid "Folders"
 msgstr "Dossiers"
 
-#: ../src/bar_sort.c:607 ../src/options.c:140
+#: ../src/bar_sort.c:607 ../src/options.c:147
 msgid "Collections"
 msgstr "Collections"
 
-#: ../src/bar_sort.c:615 ../src/utilops.c:2107
+#: ../src/bar_sort.c:615 ../src/utilops.c:2124
 msgid "Copy"
 msgstr "Copier"
 
-#: ../src/bar_sort.c:618 ../src/utilops.c:2061
+#: ../src/bar_sort.c:618 ../src/utilops.c:2075
 msgid "Move"
 msgstr "Déplacer"
 
@@ -445,77 +450,77 @@
 "erreur à la sauvegarde du fichier de cache des similarités : %s\n"
 "erreur : %s\n"
 
-#: ../src/cache_maint.c:129 ../src/cache_maint.c:722 ../src/cache_maint.c:938
-#: ../src/editors.c:1133
+#: ../src/cache_maint.c:129 ../src/cache_maint.c:730 ../src/cache_maint.c:954
+#: ../src/editors.c:1177
 msgid "done"
 msgstr "terminé"
 
-#: ../src/cache_maint.c:307
+#: ../src/cache_maint.c:311
 msgid "Removing old metadata..."
 msgstr "Suppression des anciennes méta-données..."
 
-#: ../src/cache_maint.c:311
+#: ../src/cache_maint.c:315
 msgid "Clearing cached thumbnails..."
 msgstr "Purge des vignettes en cache..."
 
-#: ../src/cache_maint.c:315 ../src/cache_maint.c:1096
+#: ../src/cache_maint.c:319 ../src/cache_maint.c:1116
 msgid "Removing old thumbnails..."
 msgstr "Suppression des anciennes vignettes..."
 
-#: ../src/cache_maint.c:318 ../src/cache_maint.c:1099
+#: ../src/cache_maint.c:322 ../src/cache_maint.c:1119
 msgid "Maintenance"
 msgstr "Maintenance"
 
-#: ../src/cache_maint.c:833
+#: ../src/cache_maint.c:845
 msgid "Invalid folder"
 msgstr "Dossier invalide"
 
-#: ../src/cache_maint.c:834
+#: ../src/cache_maint.c:846
 msgid "The specified folder can not be found."
 msgstr "Le dossier spécifié est absent."
 
-#: ../src/cache_maint.c:865 ../src/cache_maint.c:879 ../src/cache_maint.c:1275
+#: ../src/cache_maint.c:877 ../src/cache_maint.c:891 ../src/cache_maint.c:1295
 msgid "Create thumbnails"
 msgstr "Créer les vignettes"
 
-#: ../src/cache_maint.c:873 ../src/cache_maint.c:1106
+#: ../src/cache_maint.c:885 ../src/cache_maint.c:1126
 msgid "S_tart"
 msgstr "Dé_but"
 
-#: ../src/cache_maint.c:886 ../src/preferences.c:1782
+#: ../src/cache_maint.c:898 ../src/preferences.c:1947
 msgid "Folder:"
 msgstr "Dossier :"
 
-#: ../src/cache_maint.c:889
+#: ../src/cache_maint.c:901
 msgid "Select folder"
 msgstr "Sélectionner un dossier"
 
-#: ../src/cache_maint.c:893
+#: ../src/cache_maint.c:905
 msgid "Include subfolders"
 msgstr "Inclure les sous-dossiers"
 
-#: ../src/cache_maint.c:894
+#: ../src/cache_maint.c:906
 msgid "Store thumbnails local to source images"
 msgstr "Sauver les vignettes avec les images sources"
 
-#: ../src/cache_maint.c:903 ../src/cache_maint.c:1115
+#: ../src/cache_maint.c:915 ../src/cache_maint.c:1135
 msgid "click start to begin"
 msgstr "cliquer sur Début pour démarrer"
 
-#: ../src/cache_maint.c:1042 ../src/editors.c:1059
+#: ../src/cache_maint.c:1062 ../src/editors.c:1103
 msgid "running..."
 msgstr "en cours..."
 
-#: ../src/cache_maint.c:1091
+#: ../src/cache_maint.c:1111
 msgid "Clearing thumbnails..."
 msgstr "Suppression des vignettes..."
 
-#: ../src/cache_maint.c:1157 ../src/cache_maint.c:1160
-#: ../src/cache_maint.c:1253 ../src/cache_maint.c:1270
+#: ../src/cache_maint.c:1177 ../src/cache_maint.c:1180
+#: ../src/cache_maint.c:1273 ../src/cache_maint.c:1290
 msgid "Clear cache"
 msgstr "Vider le cache"
 
-#: ../src/cache_maint.c:1161
+#: ../src/cache_maint.c:1181
 msgid ""
 "This will remove all thumbnails that have\n"
 "been saved to disk, continue?"
@@ -523,55 +528,55 @@
 "Ceci va effacer toutes les vignettes\n"
 "présentes sur le disque, continuer ?"
 
-#: ../src/cache_maint.c:1203
+#: ../src/cache_maint.c:1223
 #, c-format
 msgid "Location: %s"
 msgstr "Emplacement : %s"
 
-#: ../src/cache_maint.c:1228
+#: ../src/cache_maint.c:1248
 msgid "Cache Maintenance"
 msgstr "Maintenance du cache"
 
-#: ../src/cache_maint.c:1238
+#: ../src/cache_maint.c:1258
 msgid "Cache and Data Maintenance"
 msgstr "Maintenance des données et du cache"
 
-#: ../src/cache_maint.c:1242
+#: ../src/cache_maint.c:1262
 msgid "Thumbnail cache"
 msgstr "Cache des vignettes"
 
-#: ../src/cache_maint.c:1248 ../src/cache_maint.c:1265
-#: ../src/cache_maint.c:1290
+#: ../src/cache_maint.c:1268 ../src/cache_maint.c:1285
+#: ../src/cache_maint.c:1310
 msgid "Clean up"
 msgstr "Nettoyage"
 
-#: ../src/cache_maint.c:1251 ../src/cache_maint.c:1268
+#: ../src/cache_maint.c:1271 ../src/cache_maint.c:1288
 msgid "Remove orphaned or outdated thumbnails."
 msgstr "Éliminer les vignettes orphelines ou plus à jour."
 
-#: ../src/cache_maint.c:1256 ../src/cache_maint.c:1273
+#: ../src/cache_maint.c:1276 ../src/cache_maint.c:1293
 msgid "Delete all cached thumbnails."
 msgstr "Effacer toutes les vignettes en cache."
 
-#: ../src/cache_maint.c:1259
+#: ../src/cache_maint.c:1279
 msgid "Shared thumbnail cache"
 msgstr "Cache partagé des vignettes"
 
-#: ../src/cache_maint.c:1279
+#: ../src/cache_maint.c:1299
 msgid "Render"
 msgstr "Générer"
 
-#: ../src/cache_maint.c:1282
+#: ../src/cache_maint.c:1302
 msgid "Render thumbnails for a specific folder."
 msgstr "Générer les vignettes pour un dossier spécifique."
 
-#: ../src/cache_maint.c:1293
+#: ../src/cache_maint.c:1313
 msgid "Remove orphaned keywords and comments."
 msgstr "Supprimer les mots-clés et commentaires orphelins."
 
 #. When does this occur ??
-#: ../src/collect.c:366 ../src/image.c:160 ../src/image-overlay.c:513
-#: ../src/image-overlay.c:592
+#: ../src/collect.c:366 ../src/image.c:160 ../src/image-overlay.c:512
+#: ../src/image-overlay.c:591
 msgid "Untitled"
 msgstr "Sans_Titre"
 
@@ -580,16 +585,16 @@
 msgid "Untitled (%d)"
 msgstr "Sans_Titre (%d)"
 
-#: ../src/collect.c:1016
+#: ../src/collect.c:1019
 #, c-format
 msgid "%s - Collection - %s"
 msgstr "%s - Collection - %s"
 
-#: ../src/collect.c:1135 ../src/collect.c:1139
+#: ../src/collect.c:1138 ../src/collect.c:1142
 msgid "Close collection"
 msgstr "Fermer collection"
 
-#: ../src/collect.c:1140
+#: ../src/collect.c:1143
 msgid ""
 "Collection has been modified.\n"
 "Save first?"
@@ -597,7 +602,7 @@
 "La collection a été modifiée.\n"
 "L'enregistrer avant ?"
 
-#: ../src/collect.c:1143
+#: ../src/collect.c:1146
 msgid "_Discard"
 msgstr "_Ignorer"
 
@@ -699,140 +704,140 @@
 msgid "%s, %d images"
 msgstr "%s, %d images"
 
-#: ../src/collect-table.c:223 ../src/layout_util.c:1190
-#: ../src/layout_util.c:2135
+#: ../src/collect-table.c:223 ../src/layout_util.c:1234
+#: ../src/layout_util.c:2291
 msgid "Empty"
 msgstr "Vide"
 
 #: ../src/collect-table.c:237 ../src/dupe.c:1319 ../src/search.c:320
-#: ../src/view_file.c:822 ../src/view_file.c:925
+#: ../src/view_file.c:835 ../src/view_file.c:942
 msgid "Loading thumbs..."
 msgstr "Chargement des vignettes..."
 
-#: ../src/collect-table.c:866 ../src/dupe.c:2242 ../src/dupe.c:2555
-#: ../src/layout_util.c:1237 ../src/search.c:996
+#: ../src/collect-table.c:872 ../src/dupe.c:2246 ../src/dupe.c:2559
+#: ../src/layout_util.c:1281 ../src/search.c:1000
 msgid "_View"
 msgstr "_Affichage"
 
-#: ../src/collect-table.c:868 ../src/dupe.c:2244 ../src/dupe.c:2557
-#: ../src/img-view.c:1281 ../src/layout_image.c:498 ../src/pan-view.c:2825
-#: ../src/search.c:998 ../src/view_file.c:575
+#: ../src/collect-table.c:874 ../src/dupe.c:2248 ../src/dupe.c:2561
+#: ../src/img-view.c:1289 ../src/layout_image.c:505 ../src/pan-view.c:2847
+#: ../src/search.c:1002 ../src/view_file.c:588
 msgid "View in _new window"
 msgstr "Voir dans une _nouvelle fenêtre"
 
-#: ../src/collect-table.c:871 ../src/dupe.c:2278 ../src/dupe.c:2565
-#: ../src/search.c:1028
+#: ../src/collect-table.c:877 ../src/dupe.c:2282 ../src/dupe.c:2569
+#: ../src/search.c:1032
 msgid "Rem_ove"
 msgstr "_Enlever"
 
-#: ../src/collect-table.c:874
+#: ../src/collect-table.c:880
 msgid "Append from file list"
 msgstr "Ajouter à partir de la liste des fichiers"
 
-#: ../src/collect-table.c:876
+#: ../src/collect-table.c:882
 msgid "Append from collection..."
 msgstr "Ajouter à partir de la collection..."
 
-#: ../src/collect-table.c:880
+#: ../src/collect-table.c:886
 msgid "_Selection"
 msgstr "_Sélection"
 
-#: ../src/collect-table.c:882 ../src/dupe.c:2247 ../src/dupe.c:2560
-#: ../src/layout_util.c:1283 ../src/search.c:1001
+#: ../src/collect-table.c:888 ../src/dupe.c:2251 ../src/dupe.c:2564
+#: ../src/layout_util.c:1328 ../src/search.c:1005
 msgid "Select all"
 msgstr "Tout sélectionner"
 
-#: ../src/collect-table.c:884 ../src/dupe.c:2249 ../src/dupe.c:2562
-#: ../src/layout_util.c:1284 ../src/search.c:1003
+#: ../src/collect-table.c:890 ../src/dupe.c:2253 ../src/dupe.c:2566
+#: ../src/layout_util.c:1329 ../src/search.c:1007
 msgid "Select none"
 msgstr "Désélectionner"
 
-#: ../src/collect-table.c:886
+#: ../src/collect-table.c:892
 msgid "Invert selection"
 msgstr "Inverser la sélection"
 
-#: ../src/collect-table.c:898 ../src/dupe.c:2267 ../src/img-view.c:1285
-#: ../src/layout_image.c:506 ../src/layout_util.c:1266 ../src/pan-view.c:2829
-#: ../src/search.c:1017 ../src/view_file.c:579
+#: ../src/collect-table.c:904 ../src/dupe.c:2271 ../src/img-view.c:1293
+#: ../src/layout_image.c:513 ../src/layout_util.c:1311 ../src/pan-view.c:2851
+#: ../src/search.c:1021 ../src/view_file.c:592
 msgid "_Copy..."
 msgstr "_Copier..."
 
-#: ../src/collect-table.c:900 ../src/dupe.c:2269 ../src/img-view.c:1286
-#: ../src/layout_image.c:508 ../src/layout_util.c:1267 ../src/pan-view.c:2831
-#: ../src/search.c:1019 ../src/view_file.c:581
+#: ../src/collect-table.c:906 ../src/dupe.c:2273 ../src/img-view.c:1294
+#: ../src/layout_image.c:515 ../src/layout_util.c:1312 ../src/pan-view.c:2853
+#: ../src/search.c:1023 ../src/view_file.c:594
 msgid "_Move..."
 msgstr "_Déplacer..."
 
-#: ../src/collect-table.c:902 ../src/dupe.c:2271 ../src/img-view.c:1287
-#: ../src/layout_image.c:510 ../src/layout_util.c:1268 ../src/pan-view.c:2833
-#: ../src/search.c:1021 ../src/view_dir.c:665 ../src/view_file.c:583
+#: ../src/collect-table.c:908 ../src/dupe.c:2275 ../src/img-view.c:1295
+#: ../src/layout_image.c:517 ../src/layout_util.c:1313 ../src/pan-view.c:2855
+#: ../src/search.c:1025 ../src/view_dir.c:666 ../src/view_file.c:596
 msgid "_Rename..."
 msgstr "_Renommer..."
 
-#: ../src/collect-table.c:904 ../src/dupe.c:2273 ../src/img-view.c:1288
-#: ../src/layout_image.c:512 ../src/layout_util.c:1269
-#: ../src/layout_util.c:1270 ../src/layout_util.c:1271 ../src/pan-view.c:2835
-#: ../src/search.c:1023 ../src/view_dir.c:667 ../src/view_file.c:585
+#: ../src/collect-table.c:910 ../src/dupe.c:2277 ../src/img-view.c:1296
+#: ../src/layout_image.c:519 ../src/layout_util.c:1314
+#: ../src/layout_util.c:1315 ../src/layout_util.c:1316 ../src/pan-view.c:2857
+#: ../src/search.c:1027 ../src/view_dir.c:668 ../src/view_file.c:598
 msgid "_Delete..."
 msgstr "_Supprimer..."
 
-#: ../src/collect-table.c:906 ../src/dupe.c:2275 ../src/img-view.c:1289
-#: ../src/layout_image.c:515 ../src/pan-view.c:2837 ../src/search.c:1025
-#: ../src/view_dir.c:670 ../src/view_file.c:587
+#: ../src/collect-table.c:912 ../src/dupe.c:2279 ../src/img-view.c:1297
+#: ../src/layout_image.c:522 ../src/pan-view.c:2859 ../src/search.c:1029
+#: ../src/view_dir.c:671 ../src/view_file.c:600
 msgid "_Copy path"
 msgstr "_Copier chemin"
 
-#: ../src/collect-table.c:912
+#: ../src/collect-table.c:918
 msgid "Randomize"
 msgstr "Tri aléatoire"
 
-#: ../src/collect-table.c:914 ../src/view_file.c:603
+#: ../src/collect-table.c:920 ../src/view_file.c:616
 msgid "_Sort"
 msgstr "_Trier"
 
-#: ../src/collect-table.c:917 ../src/view_file.c:619
+#: ../src/collect-table.c:923 ../src/view_file.c:632
 msgid "Show filename _text"
 msgstr "Montrer le _nom de fichier"
 
-#: ../src/collect-table.c:920
+#: ../src/collect-table.c:926
 msgid "_Save collection"
 msgstr "_Enregistrer collection"
 
-#: ../src/collect-table.c:922
+#: ../src/collect-table.c:928
 msgid "Save collection _as..."
 msgstr "Enregistrer collection _sous..."
 
-#: ../src/collect-table.c:925 ../src/layout_util.c:1262
+#: ../src/collect-table.c:931 ../src/layout_util.c:1307
 msgid "_Find duplicates..."
 msgstr "Rechercher les _doublons..."
 
-#: ../src/collect-table.c:927 ../src/dupe.c:2264 ../src/layout_util.c:1264
-#: ../src/search.c:1014
+#: ../src/collect-table.c:933 ../src/dupe.c:2268 ../src/layout_util.c:1309
+#: ../src/search.c:1018
 msgid "Print..."
 msgstr "Imprimer..."
 
-#: ../src/collect-table.c:2081 ../src/dupe.c:3351 ../src/img-view.c:1443
+#: ../src/collect-table.c:2117 ../src/dupe.c:3363 ../src/img-view.c:1451
 msgid "Dropped list includes folders."
 msgstr "La liste ajoutée contient des dossiers."
 
-#: ../src/collect-table.c:2083 ../src/dupe.c:3353 ../src/img-view.c:1445
+#: ../src/collect-table.c:2119 ../src/dupe.c:3365 ../src/img-view.c:1453
 msgid "_Add contents"
 msgstr "_Ajouter le contenu"
 
-#: ../src/collect-table.c:2085 ../src/dupe.c:3354 ../src/img-view.c:1446
+#: ../src/collect-table.c:2121 ../src/dupe.c:3366 ../src/img-view.c:1454
 msgid "Add contents _recursive"
 msgstr "Ajouter le contenu _récursivement"
 
-#: ../src/collect-table.c:2087 ../src/dupe.c:3355 ../src/img-view.c:1447
+#: ../src/collect-table.c:2123 ../src/dupe.c:3367 ../src/img-view.c:1455
 msgid "_Skip folders"
 msgstr "Omettre les dossier_s"
 
-#: ../src/collect-table.c:2090 ../src/dupe.c:3357 ../src/img-view.c:1449
-#: ../src/view_dir.c:416
+#: ../src/collect-table.c:2126 ../src/dupe.c:3369 ../src/img-view.c:1457
+#: ../src/view_dir.c:417
 msgid "Cancel"
 msgstr "Annuler"
 
-#: ../src/color-man.c:420 ../src/exif.c:232 ../src/exif-common.c:403
+#: ../src/color-man.c:420 ../src/exif.c:233 ../src/exif-common.c:433
 msgid "sRGB"
 msgstr "sRGB"
 
@@ -844,23 +849,23 @@
 msgid "Custom profile"
 msgstr "Profil utilisateur"
 
-#: ../src/desktop_file.c:72 ../src/desktop_file.c:84 ../src/desktop_file.c:90
+#: ../src/desktop_file.c:74 ../src/desktop_file.c:86 ../src/desktop_file.c:92
 msgid "Can't save"
 msgstr "Sauvegarde impossible"
 
-#: ../src/desktop_file.c:72
+#: ../src/desktop_file.c:74
 msgid "Please specify file name."
 msgstr "Merci d'indiquer un nom de fichier."
 
-#: ../src/desktop_file.c:84
+#: ../src/desktop_file.c:86
 msgid "Could not create directory"
 msgstr "Impossible de créer le dossier"
 
-#: ../src/desktop_file.c:177 ../src/desktop_file.c:520
+#: ../src/desktop_file.c:182 ../src/desktop_file.c:534
 msgid "Desktop file"
 msgstr "Fichier .desktop"
 
-#: ../src/desktop_file.c:286 ../src/ui_pathsel.c:494
+#: ../src/desktop_file.c:291 ../src/ui_pathsel.c:485
 #, c-format
 msgid ""
 "Unable to delete file:\n"
@@ -869,17 +874,17 @@
 "Impossible de supprimer le fichier :\n"
 "%s"
 
-#: ../src/desktop_file.c:287 ../src/ui_pathsel.c:495 ../src/utilops.c:1948
-#: ../src/utilops.c:1975 ../src/utilops.c:2489
+#: ../src/desktop_file.c:292 ../src/ui_pathsel.c:486 ../src/utilops.c:1962
+#: ../src/utilops.c:1989 ../src/utilops.c:2509
 msgid "File deletion failed"
 msgstr "La suppression du fichier a échoué"
 
-#: ../src/desktop_file.c:329 ../src/desktop_file.c:337 ../src/ui_pathsel.c:537
-#: ../src/ui_pathsel.c:545
+#: ../src/desktop_file.c:336 ../src/desktop_file.c:344 ../src/ui_pathsel.c:528
+#: ../src/ui_pathsel.c:536
 msgid "Delete file"
 msgstr "Supprimer fichier"
 
-#: ../src/desktop_file.c:335 ../src/ui_pathsel.c:543
+#: ../src/desktop_file.c:342 ../src/ui_pathsel.c:534
 #, c-format
 msgid ""
 "About to delete the file:\n"
@@ -888,21 +893,21 @@
 "Sur le point de supprimer le fichier :\n"
 " %s"
 
-#: ../src/desktop_file.c:367
+#: ../src/desktop_file.c:374
 msgid "new.desktop"
 msgstr "nouveau.desktop"
 
-#: ../src/desktop_file.c:440
+#: ../src/desktop_file.c:453
 msgid "Editors"
 msgstr "Éditeurs"
 
-#: ../src/desktop_file.c:506
+#: ../src/desktop_file.c:524
 msgid "Hidden"
 msgstr "Caché"
 
-#: ../src/desktop_file.c:529 ../src/dupe.c:2653 ../src/dupe.c:3165
-#: ../src/print.c:3252 ../src/search.c:2844 ../src/ui_pathsel.c:1111
-#: ../src/utilops.c:445
+#: ../src/desktop_file.c:543 ../src/dupe.c:2657 ../src/dupe.c:3177
+#: ../src/print.c:3215 ../src/search.c:2842 ../src/ui_pathsel.c:1109
+#: ../src/utilops.c:458
 msgid "Path"
 msgstr "Chemin"
 
@@ -944,112 +949,121 @@
 msgid "Sorting..."
 msgstr "Tri..."
 
-#: ../src/dupe.c:2251
+#: ../src/dupe.c:2255
 msgid "Select group _1 duplicates"
 msgstr "Sélectionner les doubles du groupe _1"
 
-#: ../src/dupe.c:2253
+#: ../src/dupe.c:2257
 msgid "Select group _2 duplicates"
 msgstr "Sélectionner les doubles du groupe _2"
 
-#: ../src/dupe.c:2262 ../src/search.c:1012
+#: ../src/dupe.c:2266 ../src/search.c:1016
 msgid "Add to new collection"
 msgstr "Ajouter à la nouvelle collection"
 
-#: ../src/dupe.c:2280 ../src/dupe.c:2567 ../src/search.c:1030
+#: ../src/dupe.c:2284 ../src/dupe.c:2571 ../src/search.c:1034
 msgid "C_lear"
 msgstr "_Vider"
 
-#: ../src/dupe.c:2283 ../src/dupe.c:2570
+#: ../src/dupe.c:2287 ../src/dupe.c:2574
 msgid "Close _window"
 msgstr "Fermer la _fenêtre"
 
-#: ../src/dupe.c:2443
+#: ../src/dupe.c:2447
 #, c-format
 msgid "%d files (set 2)"
 msgstr "%d fichiers (groupe 2)"
 
-#: ../src/dupe.c:2648
+#: ../src/dupe.c:2652
 msgid "Name case-insensitive"
 msgstr "Nom insensible à la casse"
 
-#: ../src/dupe.c:2649 ../src/dupe.c:3162 ../src/preferences.c:1336
-#: ../src/print.c:3256 ../src/search.c:2841 ../src/view_file_list.c:2041
+#: ../src/dupe.c:2653 ../src/dupe.c:3174 ../src/preferences.c:1497
+#: ../src/print.c:3219 ../src/search.c:2839 ../src/view_file_list.c:2043
 msgid "Size"
 msgstr "Taille"
 
-#: ../src/dupe.c:2650 ../src/dupe.c:3163 ../src/exif.c:341
-#: ../src/exif-common.c:514 ../src/print.c:3254 ../src/search.c:2842
-#: ../src/view_file_list.c:2045
+#: ../src/dupe.c:2654 ../src/dupe.c:3175 ../src/exif.c:342
+#: ../src/exif-common.c:544 ../src/print.c:3217 ../src/search.c:2840
+#: ../src/view_file_list.c:2047
 msgid "Date"
 msgstr "Date"
 
-#: ../src/dupe.c:2651 ../src/dupe.c:3164 ../src/print.c:3258
-#: ../src/search.c:2843
+#: ../src/dupe.c:2655 ../src/dupe.c:3176 ../src/print.c:3221
+#: ../src/search.c:2841
 msgid "Dimensions"
 msgstr "Dimensions"
 
-#: ../src/dupe.c:2652
+#: ../src/dupe.c:2656
 msgid "Checksum"
 msgstr "Somme de contrôle"
 
-#: ../src/dupe.c:2654
+#: ../src/dupe.c:2658
 msgid "Similarity (high)"
 msgstr "Similarité (élevée)"
 
-#: ../src/dupe.c:2655
+#: ../src/dupe.c:2659
 msgid "Similarity"
 msgstr "Similarité"
 
-#: ../src/dupe.c:2656
+#: ../src/dupe.c:2660
 msgid "Similarity (low)"
 msgstr "Similarité (basse)"
 
-#: ../src/dupe.c:2657
+#: ../src/dupe.c:2661
 msgid "Similarity (custom)"
 msgstr "Similarité (personnalisée)"
 
-#: ../src/dupe.c:3115
+#: ../src/dupe.c:3127
 msgid "Find duplicates"
 msgstr "Trouver les doublons"
 
-#: ../src/dupe.c:3197
+#: ../src/dupe.c:3209
 msgid "Compare to:"
 msgstr "Comparer à :"
 
-#: ../src/dupe.c:3210
+#: ../src/dupe.c:3222
 msgid "Compare by:"
 msgstr "Comparer par :"
 
-#: ../src/dupe.c:3218 ../src/preferences.c:1171 ../src/search.c:2857
+#: ../src/dupe.c:3230 ../src/preferences.c:1332 ../src/search.c:2855
 msgid "Thumbnails"
 msgstr "Vignettes"
 
-#: ../src/dupe.c:3225
+#: ../src/dupe.c:3237
 msgid "Compare two file sets"
 msgstr "Comparer deux jeux de fichiers"
 
-#: ../src/editors.c:279
+#: ../src/editors.c:281
 #, c-format
 msgid "Desktop file '%s' should not include extension in Icon key: '%s'\n"
 msgstr ""
 "Le fichier .desktop « %s » ne devrait pas inclure l'extension dans la clé "
 "Icon : « %s »\n"
 
-#: ../src/editors.c:486
-msgid "stopping..."
-msgstr "arrêt..."
+#. flash fired (bit 0)
+#: ../src/editors.c:335 ../src/exif.c:226 ../src/exif-common.c:362
+msgid "yes"
+msgstr "oui"
+
+#: ../src/editors.c:335 ../src/exif.c:225 ../src/exif-common.c:362
+msgid "no"
+msgstr "non"
 
 #: ../src/editors.c:507
+msgid "stopping..."
+msgstr "arrêt..."
+
+#: ../src/editors.c:528
 msgid "Edit command results"
 msgstr "Voir le résultat de la commande"
 
-#: ../src/editors.c:510
+#: ../src/editors.c:531
 #, c-format
 msgid "Output of %s"
 msgstr "Sortie de %s"
 
-#: ../src/editors.c:1010
+#: ../src/editors.c:1054
 #, c-format
 msgid ""
 "Failed to run command:\n"
@@ -1058,11 +1072,11 @@
 "Échec de l'exécution de la commande :\n"
 "%s\n"
 
-#: ../src/editors.c:1137
+#: ../src/editors.c:1181
 msgid "stopped by user"
 msgstr "arrêté par l'utilisateur"
 
-#: ../src/editors.c:1218
+#: ../src/editors.c:1266
 #, c-format
 msgid ""
 "%s\n"
@@ -1071,834 +1085,825 @@
 "%s\n"
 "« %s »"
 
-#: ../src/editors.c:1220
+#: ../src/editors.c:1268
 msgid "Invalid editor command"
 msgstr "Commande d'éditeur invalide"
 
-#: ../src/editors.c:1307
+#: ../src/editors.c:1355
 msgid "Editor template is empty."
 msgstr "Le gabarit d'éditeur est vide."
 
-#: ../src/editors.c:1308
+#: ../src/editors.c:1356
 msgid "Editor template has incorrect syntax."
 msgstr "Le gabarit d'éditeur a une syntaxe incorrecte."
 
-#: ../src/editors.c:1309
+#: ../src/editors.c:1357
 msgid "Editor template uses incompatible macros."
 msgstr "Le gabarit d'éditeur utilise des macros incompatibles."
 
-#: ../src/editors.c:1310
+#: ../src/editors.c:1358
 msgid "Can't find matching file type."
 msgstr "Ne peut trouver le type de fichier correspondant."
 
-#: ../src/editors.c:1311
+#: ../src/editors.c:1359
 msgid "Can't execute external editor."
 msgstr "Ne peut exécuter l'éditeur externe."
 
-#: ../src/editors.c:1312
+#: ../src/editors.c:1360
 msgid "External editor returned error status."
 msgstr "L'éditeur externe a retourné une erreur."
 
-#: ../src/editors.c:1313
+#: ../src/editors.c:1361
 msgid "File was skipped."
 msgstr "Le fichier a été omis."
 
-#: ../src/editors.c:1314
+#: ../src/editors.c:1362
 msgid "Unknown error."
 msgstr "Erreur inconnue."
 
-#: ../src/exif.c:147 ../src/exif.c:160 ../src/exif.c:174 ../src/exif.c:199
-#: ../src/exif.c:316 ../src/exif.c:663 ../src/exif-common.c:308
-#: ../src/exif-common.c:311 ../src/exif-common.c:378
+#: ../src/exif.c:148 ../src/exif.c:161 ../src/exif.c:175 ../src/exif.c:200
+#: ../src/exif.c:317 ../src/exif.c:664 ../src/exif-common.c:338
+#: ../src/exif-common.c:341 ../src/exif-common.c:408
 msgid "unknown"
 msgstr "inconnu"
 
-#: ../src/exif.c:148
+#: ../src/exif.c:149
 msgid "top left"
 msgstr "haut gauche"
 
-#: ../src/exif.c:149
+#: ../src/exif.c:150
 msgid "top right"
 msgstr "haut droite"
 
-#: ../src/exif.c:150
+#: ../src/exif.c:151
 msgid "bottom right"
 msgstr "bas droite"
 
-#: ../src/exif.c:151
+#: ../src/exif.c:152
 msgid "bottom left"
 msgstr "bas gauche"
 
-#: ../src/exif.c:152
+#: ../src/exif.c:153
 msgid "left top"
 msgstr "gauche haut"
 
-#: ../src/exif.c:153
+#: ../src/exif.c:154
 msgid "right top"
 msgstr "droit haut"
 
-#: ../src/exif.c:154
+#: ../src/exif.c:155
 msgid "right bottom"
 msgstr "droit bas"
 
-#: ../src/exif.c:155
+#: ../src/exif.c:156
 msgid "left bottom"
 msgstr "gauche bas"
 
-#: ../src/exif.c:162
+#: ../src/exif.c:163
 msgid "inch"
 msgstr "pouce"
 
-#: ../src/exif.c:163
+#: ../src/exif.c:164
 msgid "centimeter"
 msgstr "centimètre"
 
-#: ../src/exif.c:175
-msgid "average"
-msgstr "moyenne"
-
 #: ../src/exif.c:176
+msgid "average"
+msgstr "moyenne"
+
+#: ../src/exif.c:177
 msgid "center weighted"
 msgstr "pondération moyenne"
 
-#: ../src/exif.c:177
+#: ../src/exif.c:178
 msgid "spot"
 msgstr "point"
 
-#: ../src/exif.c:178
+#: ../src/exif.c:179
 msgid "multi-spot"
 msgstr "plusieurs points"
 
-#: ../src/exif.c:179
+#: ../src/exif.c:180
 msgid "multi-segment"
 msgstr "plusieurs segments"
 
-#: ../src/exif.c:180
+#: ../src/exif.c:181
 msgid "partial"
 msgstr "partiel"
 
-#: ../src/exif.c:181 ../src/exif.c:219
+#: ../src/exif.c:182 ../src/exif.c:220
 msgid "other"
 msgstr "autre"
 
-#: ../src/exif.c:186 ../src/exif.c:238
+#: ../src/exif.c:187 ../src/exif.c:239
 msgid "not defined"
 msgstr "indéfini"
 
-#: ../src/exif.c:187 ../src/exif.c:266 ../src/exif.c:273
+#: ../src/exif.c:188 ../src/exif.c:267 ../src/exif.c:274
 msgid "manual"
 msgstr "manuel"
 
-#: ../src/exif.c:188 ../src/exif.c:259 ../src/exif.c:295 ../src/exif.c:302
-#: ../src/exif.c:309
+#: ../src/exif.c:189 ../src/exif.c:260 ../src/exif.c:296 ../src/exif.c:303
+#: ../src/exif.c:310
 msgid "normal"
 msgstr "normal"
 
-#: ../src/exif.c:189
+#: ../src/exif.c:190
 msgid "aperture"
 msgstr "ouverture"
 
-#: ../src/exif.c:190
+#: ../src/exif.c:191
 msgid "shutter"
 msgstr "obturateur"
 
-#: ../src/exif.c:191
+#: ../src/exif.c:192
 msgid "creative"
 msgstr "créatif"
 
-#: ../src/exif.c:192
+#: ../src/exif.c:193
 msgid "action"
 msgstr "action"
 
-#: ../src/exif.c:193 ../src/exif.c:280
+#: ../src/exif.c:194 ../src/exif.c:281
 msgid "portrait"
 msgstr "portrait"
 
-#: ../src/exif.c:194 ../src/exif.c:279
+#: ../src/exif.c:195 ../src/exif.c:280
 msgid "landscape"
 msgstr "paysage"
 
-#: ../src/exif.c:200
-msgid "daylight"
-msgstr "lumière naturelle"
-
 #: ../src/exif.c:201
-msgid "fluorescent"
-msgstr "fluorescent"
+msgid "daylight"
+msgstr "lumière naturelle"
 
 #: ../src/exif.c:202
+msgid "fluorescent"
+msgstr "fluorescent"
+
+#: ../src/exif.c:203
 msgid "tungsten (incandescent)"
 msgstr "tungstène (incandescent)"
 
-#: ../src/exif.c:203
-msgid "flash"
-msgstr "flash"
-
 #: ../src/exif.c:204
+msgid "flash"
+msgstr "flash"
+
+#: ../src/exif.c:205
 msgid "fine weather"
 msgstr "beau temps"
 
-#: ../src/exif.c:205
+#: ../src/exif.c:206
 msgid "cloudy weather"
 msgstr "temps nuageux"
 
-#: ../src/exif.c:206
+#: ../src/exif.c:207
 msgid "shade"
 msgstr "ombragé"
 
-#: ../src/exif.c:207
+#: ../src/exif.c:208
 msgid "daylight fluorescent"
 msgstr "lumière du jour fluorescent"
 
-#: ../src/exif.c:208
+#: ../src/exif.c:209
 msgid "day white fluorescent"
 msgstr "fluorescent blanc jour"
 
-#: ../src/exif.c:209
+#: ../src/exif.c:210
 msgid "cool white fluorescent"
 msgstr "fluorescent blanc froid"
 
-#: ../src/exif.c:210
-msgid "white fluorescent"
-msgstr "fluorescent blanc"
-
 #: ../src/exif.c:211
+msgid "white fluorescent"
+msgstr "fluorescent blanc"
+
+#: ../src/exif.c:212
 msgid "standard light A"
 msgstr "lumière standard A"
 
-#: ../src/exif.c:212
+#: ../src/exif.c:213
 msgid "standard light B"
 msgstr "lumière standard B"
 
-#: ../src/exif.c:213
+#: ../src/exif.c:214
 msgid "standard light C"
 msgstr "lumière standard C"
 
-#: ../src/exif.c:214
+#: ../src/exif.c:215
 msgid "D55"
 msgstr "D55"
 
-#: ../src/exif.c:215
+#: ../src/exif.c:216
 msgid "D65"
 msgstr "D65"
 
-#: ../src/exif.c:216
+#: ../src/exif.c:217
 msgid "D75"
 msgstr "D75"
 
-#: ../src/exif.c:217
+#: ../src/exif.c:218
 msgid "D50"
 msgstr "D50"
 
-#: ../src/exif.c:218
+#: ../src/exif.c:219
 msgid "ISO studio tungsten"
 msgstr "tungstène studio ISO"
 
-#: ../src/exif.c:224 ../src/exif-common.c:332
-msgid "no"
-msgstr "non"
-
-#. flash fired (bit 0)
-#: ../src/exif.c:225 ../src/exif-common.c:332
-msgid "yes"
-msgstr "oui"
-
-#: ../src/exif.c:226
+#: ../src/exif.c:227
 msgid "yes, not detected by strobe"
 msgstr "oui, mais non détecté"
 
-#: ../src/exif.c:227
+#: ../src/exif.c:228
 msgid "yes, detected by strobe"
 msgstr "oui, détecté"
 
-#: ../src/exif.c:233
+#: ../src/exif.c:234
 msgid "uncalibrated"
 msgstr "non calibré"
 
-#: ../src/exif.c:239
+#: ../src/exif.c:240
 msgid "1 chip color area"
 msgstr "mono-CCD"
 
-#: ../src/exif.c:240
+#: ../src/exif.c:241
 msgid "2 chip color area"
 msgstr "bi-CCD"
 
-#: ../src/exif.c:241
-msgid "3 chip color area"
-msgstr "tri-CCD"
-
 #: ../src/exif.c:242
-msgid "color sequential area"
-msgstr "CCD séquentiel"
+msgid "3 chip color area"
+msgstr "tri-CCD"
 
 #: ../src/exif.c:243
+msgid "color sequential area"
+msgstr "CCD séquentiel"
+
+#: ../src/exif.c:244
 msgid "trilinear"
 msgstr "trilinéaire"
 
-#: ../src/exif.c:244
+#: ../src/exif.c:245
 msgid "color sequential linear"
 msgstr "capteur séquentiel linéaire"
 
-#: ../src/exif.c:249
+#: ../src/exif.c:250
 msgid "digital still camera"
 msgstr "appareil photo numérique"
 
-#: ../src/exif.c:254
+#: ../src/exif.c:255
 msgid "direct photo"
 msgstr "photo directe"
 
-#: ../src/exif.c:260
+#: ../src/exif.c:261
 msgid "custom"
 msgstr "personnalisé"
 
-#: ../src/exif.c:265 ../src/exif.c:272 ../src/exif-common.c:346
+#: ../src/exif.c:266 ../src/exif.c:273 ../src/exif-common.c:376
 msgid "auto"
 msgstr "auto"
 
-#: ../src/exif.c:267
+#: ../src/exif.c:268
 msgid "auto bracket"
 msgstr "bracketing automatique"
 
-#: ../src/exif.c:278
+#: ../src/exif.c:279
 msgid "standard"
 msgstr "standard"
 
-#: ../src/exif.c:281
+#: ../src/exif.c:282
 msgid "night scene"
 msgstr "scène de nuit"
 
-#: ../src/exif.c:286
+#: ../src/exif.c:287
 msgid "none"
 msgstr "aucun"
 
-#: ../src/exif.c:287
+#: ../src/exif.c:288
 msgid "low gain up"
 msgstr "faible augmentation du gain"
 
-#: ../src/exif.c:288
-msgid "high gain up"
-msgstr "forte augmentation du gain"
-
 #: ../src/exif.c:289
-msgid "low gain down"
-msgstr "faible réduction du gain"
+msgid "high gain up"
+msgstr "forte augmentation du gain"
 
 #: ../src/exif.c:290
+msgid "low gain down"
+msgstr "faible réduction du gain"
+
+#: ../src/exif.c:291
 msgid "high gain down"
 msgstr "forte réduction du gain"
 
-#: ../src/exif.c:296 ../src/exif.c:310
+#: ../src/exif.c:297 ../src/exif.c:311
 msgid "soft"
 msgstr "doux"
 
-#: ../src/exif.c:297 ../src/exif.c:311
+#: ../src/exif.c:298 ../src/exif.c:312
 msgid "hard"
 msgstr "dur"
 
-#: ../src/exif.c:303
+#: ../src/exif.c:304
 msgid "low"
 msgstr "faible"
 
-#: ../src/exif.c:304
+#: ../src/exif.c:305
 msgid "high"
 msgstr "élevé"
 
-#: ../src/exif.c:317
+#: ../src/exif.c:318
 msgid "macro"
 msgstr "macro"
 
-#: ../src/exif.c:318
+#: ../src/exif.c:319
 msgid "close"
 msgstr "près"
 
-#: ../src/exif.c:319
+#: ../src/exif.c:320
 msgid "distant"
 msgstr "loin"
 
-#: ../src/exif.c:329
+#: ../src/exif.c:330
 msgid "Image Width"
 msgstr "Largeur de l'image"
 
-#: ../src/exif.c:330
+#: ../src/exif.c:331
 msgid "Image Height"
 msgstr "Hauteur de l'image"
 
-#: ../src/exif.c:331
+#: ../src/exif.c:332
 msgid "Bits per Sample/Pixel"
 msgstr "Bits compressés par pixel"
 
-#: ../src/exif.c:332
-msgid "Compression"
-msgstr "Compression"
-
 #: ../src/exif.c:333
-msgid "Image description"
-msgstr "Description de l'image"
+msgid "Compression"
+msgstr "Compression"
 
 #: ../src/exif.c:334
+msgid "Image description"
+msgstr "Description de l'image"
+
+#: ../src/exif.c:335
 msgid "Camera make"
 msgstr "Marque de l'appareil"
 
-#: ../src/exif.c:335
-msgid "Camera model"
-msgstr "Modèle de l'appareil"
-
 #: ../src/exif.c:336
+msgid "Camera model"
+msgstr "Modèle de l'appareil"
+
+#: ../src/exif.c:337
 msgid "Orientation"
 msgstr "Orientation"
 
-#: ../src/exif.c:337
+#: ../src/exif.c:338
 msgid "X resolution"
 msgstr "Résolution X"
 
-#: ../src/exif.c:338
+#: ../src/exif.c:339
 msgid "Y Resolution"
 msgstr "Résolution Y"
 
-#: ../src/exif.c:339
+#: ../src/exif.c:340
 msgid "Resolution units"
 msgstr "Unités de résolution"
 
-#: ../src/exif.c:340
+#: ../src/exif.c:341
 msgid "Firmware"
 msgstr "Microcode"
 
-#: ../src/exif.c:342
+#: ../src/exif.c:343
 msgid "White point"
 msgstr "Point blanc"
 
-#: ../src/exif.c:343
-msgid "Primary chromaticities"
-msgstr "Chromaticités Primaires"
-
 #: ../src/exif.c:344
+msgid "Primary chromaticities"
+msgstr "Chromaticités Primaires"
+
+#: ../src/exif.c:345
 msgid "YCbCy coefficients"
 msgstr "Coéfficients YCbCr"
 
-#: ../src/exif.c:345
+#: ../src/exif.c:346
 msgid "YCbCr positioning"
 msgstr "Positionnement YCbCr"
 
-#: ../src/exif.c:346
+#: ../src/exif.c:347
 msgid "Black white reference"
 msgstr "Référence Noir/Blanc"
 
-#: ../src/exif.c:348
+#: ../src/exif.c:349
 msgid "SubIFD Exif offset"
 msgstr "Offset Exif SubIFD"
 
 #. subIFD follows
-#: ../src/exif.c:350
+#: ../src/exif.c:351
 msgid "Exposure time (seconds)"
 msgstr "Temps d'exposition (secondes)"
 
-#: ../src/exif.c:351
+#: ../src/exif.c:352
 msgid "FNumber"
 msgstr "Nombre F"
 
-#: ../src/exif.c:352
-msgid "Exposure program"
-msgstr "Programme d'exposition"
-
 #: ../src/exif.c:353
+msgid "Exposure program"
+msgstr "Programme d'exposition"
+
+#: ../src/exif.c:354
 msgid "Spectral Sensitivity"
 msgstr "Sensibilité spectrale"
 
-#: ../src/exif.c:354 ../src/exif.c:390 ../src/exif-common.c:518
+#: ../src/exif.c:355 ../src/exif.c:391 ../src/exif-common.c:548
 msgid "ISO sensitivity"
 msgstr "Sensibilité ISO"
 
-#: ../src/exif.c:355
+#: ../src/exif.c:356
 msgid "Optoelectric conversion factor"
 msgstr "Facteur de conversion opto-électrique"
 
-#: ../src/exif.c:356
+#: ../src/exif.c:357
 msgid "Exif version"
 msgstr "Version d'exif"
 
-#: ../src/exif.c:357
+#: ../src/exif.c:358
 msgid "Date original"
 msgstr "Date de prise de vue"
 
-#: ../src/exif.c:358
+#: ../src/exif.c:359
 msgid "Date digitized"
 msgstr "Date de numérisation"
 
-#: ../src/exif.c:359
-msgid "Pixel format"
-msgstr "Format des pixels"
-
 #: ../src/exif.c:360
+msgid "Pixel format"
+msgstr "Format des pixels"
+
+#: ../src/exif.c:361
 msgid "Compression ratio"
 msgstr "Rapport de compression"
 
-#: ../src/exif.c:361 ../src/exif-common.c:515
+#: ../src/exif.c:362 ../src/exif-common.c:545
 msgid "Shutter speed"
 msgstr "Vitesse d'obturation"
 
-#: ../src/exif.c:362 ../src/exif-common.c:516
+#: ../src/exif.c:363 ../src/exif-common.c:546
 msgid "Aperture"
 msgstr "Ouverture"
 
-#: ../src/exif.c:363
+#: ../src/exif.c:364
 msgid "Brightness"
 msgstr "Luminosité"
 
-#: ../src/exif.c:364 ../src/exif-common.c:517
+#: ../src/exif.c:365 ../src/exif-common.c:547
 msgid "Exposure bias"
 msgstr "Polarisation d'exposition"
 
-#: ../src/exif.c:365
+#: ../src/exif.c:366
 msgid "Maximum aperture"
 msgstr "Ouverture maximale"
 
-#: ../src/exif.c:366 ../src/exif-common.c:521
+#: ../src/exif.c:367 ../src/exif-common.c:551
 msgid "Subject distance"
 msgstr "Distance du sujet"
 
-#: ../src/exif.c:367
+#: ../src/exif.c:368
 msgid "Metering mode"
 msgstr "Méthode de mesure"
 
-#: ../src/exif.c:368
+#: ../src/exif.c:369
 msgid "Light source"
 msgstr "Source de lumière"
 
-#: ../src/exif.c:369 ../src/exif-common.c:522
+#: ../src/exif.c:370 ../src/exif-common.c:552
 msgid "Flash"
 msgstr "Flash"
 
-#: ../src/exif.c:370 ../src/exif-common.c:519
+#: ../src/exif.c:371 ../src/exif-common.c:549
 msgid "Focal length"
 msgstr "Distance focale"
 
-#: ../src/exif.c:371
+#: ../src/exif.c:372
 msgid "Subject area"
 msgstr "Aire du sujet"
 
-#: ../src/exif.c:372
+#: ../src/exif.c:373
 msgid "MakerNote"
 msgstr "Note du fabriquant"
 
-#: ../src/exif.c:373
+#: ../src/exif.c:374
 msgid "UserComment"
 msgstr "Commentaire utilisateur"
 
-#: ../src/exif.c:374
+#: ../src/exif.c:375
 msgid "Subsecond time"
 msgstr "Heure sub-seconde"
 
-#: ../src/exif.c:375
+#: ../src/exif.c:376
 msgid "Subsecond time original"
 msgstr "Heure sub-seconde originale"
 
-#: ../src/exif.c:376
+#: ../src/exif.c:377
 msgid "Subsecond time digitized"
 msgstr "Date de numérisation sub-seconde"
 
-#: ../src/exif.c:377
+#: ../src/exif.c:378
 msgid "FlashPix version"
 msgstr "Version FlashPix"
 
-#: ../src/exif.c:378
+#: ../src/exif.c:379
 msgid "Colorspace"
 msgstr "Espace de couleurs"
 
 #. ExifImageWidth, ExifImageHeight can also be unsigned short
-#: ../src/exif.c:380
+#: ../src/exif.c:381 ../src/preferences.c:2194
 msgid "Width"
 msgstr "Largeur"
 
-#: ../src/exif.c:381
+#: ../src/exif.c:382 ../src/preferences.c:2196
 msgid "Height"
 msgstr "Hauteur"
 
-#: ../src/exif.c:382
-msgid "Audio data"
-msgstr "Données audio"
-
 #: ../src/exif.c:383
+msgid "Audio data"
+msgstr "Données audio"
+
+#: ../src/exif.c:384
 msgid "ExifR98 extension"
 msgstr "Extension ExifR98"
 
-#: ../src/exif.c:384
+#: ../src/exif.c:385
 msgid "Flash strength"
 msgstr "Puissance Flash"
 
-#: ../src/exif.c:385
+#: ../src/exif.c:386
 msgid "Spatial frequency response"
 msgstr "Réponse fréquentielle spaciale"
 
-#: ../src/exif.c:386
+#: ../src/exif.c:387
 msgid "X Pixel density"
 msgstr "Densité de points en X"
 
-#: ../src/exif.c:387
+#: ../src/exif.c:388
 msgid "Y Pixel density"
 msgstr "Densité de points en Y"
 
-#: ../src/exif.c:388
+#: ../src/exif.c:389
 msgid "Pixel density units"
 msgstr "Unités de la densité de points"
 
-#: ../src/exif.c:389
+#: ../src/exif.c:390
 msgid "Subject location"
 msgstr "Emplacement du sujet"
 
-#: ../src/exif.c:391
+#: ../src/exif.c:392
 msgid "Sensor type"
 msgstr "Type de capteur"
 
-#: ../src/exif.c:392
+#: ../src/exif.c:393
 msgid "Source type"
 msgstr "Type de source"
 
-#: ../src/exif.c:393
+#: ../src/exif.c:394
 msgid "Scene type"
 msgstr "Type de scène"
 
-#: ../src/exif.c:394
+#: ../src/exif.c:395
 msgid "Color filter array pattern"
 msgstr "Forme du filtre couleur "
 
 #. tags a4xx were added for Exif 2.2 (not just these - some above, as well)
-#: ../src/exif.c:396
+#: ../src/exif.c:397
 msgid "Render process"
 msgstr "Procédé de rendu"
 
-#: ../src/exif.c:397
+#: ../src/exif.c:398
 msgid "Exposure mode"
 msgstr "Mode d'exposition"
 
-#: ../src/exif.c:398
+#: ../src/exif.c:399
 msgid "White balance"
 msgstr "Balance des blancs"
 
-#: ../src/exif.c:399
-msgid "Digital zoom ratio"
-msgstr "Rapport de zoom numérique"
-
 #: ../src/exif.c:400
+msgid "Digital zoom ratio"
+msgstr "Rapport de zoom numérique"
+
+#: ../src/exif.c:401
 msgid "Focal length (35mm)"
 msgstr "Focale 35mm"
 
-#: ../src/exif.c:401
-msgid "Scene capture type"
-msgstr "Type de capture de la scène"
-
 #: ../src/exif.c:402
-msgid "Gain control"
-msgstr "Contrôle du gain"
+msgid "Scene capture type"
+msgstr "Type de capture de la scène"
 
 #: ../src/exif.c:403
+msgid "Gain control"
+msgstr "Contrôle du gain"
+
+#: ../src/exif.c:404
 msgid "Contrast"
 msgstr "Contraste"
 
-#: ../src/exif.c:404
-msgid "Saturation"
-msgstr "Saturation"
-
 #: ../src/exif.c:405
+msgid "Saturation"
+msgstr "Saturation"
+
+#: ../src/exif.c:406
 msgid "Sharpness"
 msgstr "Netteté"
 
-#: ../src/exif.c:406
-msgid "Device setting"
-msgstr "Description des paramètres du périphérique"
-
 #: ../src/exif.c:407
-msgid "Subject range"
-msgstr "Distance du sujet"
+msgid "Device setting"
+msgstr "Description des paramètres du périphérique"
 
 #: ../src/exif.c:408
+msgid "Subject range"
+msgstr "Distance du sujet"
+
+#: ../src/exif.c:409
 msgid "Image serial number"
 msgstr "Numéro de série de l'image"
 
-#: ../src/exif-common.c:307
+#: ../src/exif-common.c:337
 msgid "infinity"
 msgstr "infini"
 
-#: ../src/exif-common.c:336
+#: ../src/exif-common.c:366
 msgid "mode:"
 msgstr "mode :"
 
-#: ../src/exif-common.c:340 ../src/trash.c:205
+#: ../src/exif-common.c:370 ../src/trash.c:205
 msgid "on"
 msgstr "on"
 
-#: ../src/exif-common.c:343 ../src/trash.c:210
+#: ../src/exif-common.c:373 ../src/trash.c:210
 msgid "off"
 msgstr "off"
 
-#: ../src/exif-common.c:352
+#: ../src/exif-common.c:382
 msgid "not detected by strobe"
 msgstr "non détecté"
 
-#: ../src/exif-common.c:353
+#: ../src/exif-common.c:383
 msgid "detected by strobe"
 msgstr "détecté"
 
 #. we ignore flash function (bit 5)
 #. red-eye (bit 6)
-#: ../src/exif-common.c:358
+#: ../src/exif-common.c:388
 msgid "red-eye reduction"
 msgstr "anti-yeux rouges"
 
-#: ../src/exif-common.c:378
+#: ../src/exif-common.c:408
 msgid "dot"
 msgstr "point"
 
-#: ../src/exif-common.c:408
+#: ../src/exif-common.c:438
 msgid "AdobeRGB"
 msgstr "AdobeRGB"
 
-#: ../src/exif-common.c:416
+#: ../src/exif-common.c:446
 msgid "embedded"
 msgstr "embarqué"
 
-#: ../src/exif-common.c:505
+#: ../src/exif-common.c:535
 msgid "Above Sea Level"
 msgstr "Au-dessus du niveau de la mer"
 
-#: ../src/exif-common.c:505
+#: ../src/exif-common.c:535
 msgid "Below Sea Level"
 msgstr "En-dessous du niveau de la mer"
 
-#: ../src/exif-common.c:513
+#: ../src/exif-common.c:543
 msgid "Camera"
 msgstr "Appareil"
 
-#: ../src/exif-common.c:520
+#: ../src/exif-common.c:550
 msgid "Focal length 35mm"
 msgstr "Focale 35mm"
 
-#: ../src/exif-common.c:523
+#: ../src/exif-common.c:553
 msgid "Resolution"
 msgstr "Résolution"
 
-#: ../src/exif-common.c:524
+#: ../src/exif-common.c:554
 msgid "Color profile"
 msgstr "Profil colorimétrique"
 
-#: ../src/exif-common.c:525
+#: ../src/exif-common.c:555
 msgid "GPS position"
 msgstr "Position GPS"
 
-#: ../src/exif-common.c:526
+#: ../src/exif-common.c:556
 msgid "GPS altitude"
 msgstr "Altitude GPS"
 
-#: ../src/exif-common.c:527
+#: ../src/exif-common.c:557
 msgid "File size"
 msgstr "Taille du fichier"
 
-#: ../src/exif-common.c:528
+#: ../src/exif-common.c:558
 msgid "File date"
 msgstr "Date du fichier"
 
-#: ../src/exif-common.c:529
+#: ../src/exif-common.c:559
 msgid "File mode"
 msgstr "Droits du fichier"
 
 # c-format
-#: ../src/filedata.c:90
+#: ../src/filedata.c:97
 #, c-format
 msgid "%d bytes"
 msgstr "%d octets"
 
-#: ../src/filedata.c:94
+#: ../src/filedata.c:101
 #, c-format
 msgid "%.1f K"
 msgstr "%.1f Ko"
 
-#: ../src/filedata.c:98
+#: ../src/filedata.c:105
 #, c-format
 msgid "%.1f MB"
 msgstr "%.1f Mo"
 
-#: ../src/filedata.c:103
+#: ../src/filedata.c:110
 #, c-format
 msgid "%.1f GB"
 msgstr "%.1f Go"
 
-#: ../src/filedata.c:2091
+#: ../src/filedata.c:2316
 msgid "file or directory does not exist"
 msgstr "fichier ou dossier inexistant"
 
-#: ../src/filedata.c:2097
+#: ../src/filedata.c:2322
 msgid "destination already exists"
 msgstr "la destination existe déjà."
 
-#: ../src/filedata.c:2103
+#: ../src/filedata.c:2328
 msgid "destination can't be overwritten"
 msgstr "la destination ne peut être écrasée"
 
-#: ../src/filedata.c:2109
+#: ../src/filedata.c:2334
 msgid "destination directory is not writable"
 msgstr "impossible d'écrire dans le dossier de destination"
 
-#: ../src/filedata.c:2115
+#: ../src/filedata.c:2340
 msgid "destination directory does not exist"
 msgstr "le dossier de destination n'existe pas"
 
-#: ../src/filedata.c:2121
+#: ../src/filedata.c:2346
 msgid "source directory is not writable"
 msgstr "impossible d'écrire dans le dossier source "
 
-#: ../src/filedata.c:2127
+#: ../src/filedata.c:2352
 msgid "no read permission"
 msgstr "pas de permission en lecture"
 
-#: ../src/filedata.c:2133
+#: ../src/filedata.c:2358
 msgid "file is readonly"
 msgstr "fichier en lecture seule"
 
-#: ../src/filedata.c:2139
+#: ../src/filedata.c:2364
 msgid "destination already exists and will be overwritten"
 msgstr "la destination existe déjà et sera écrasée"
 
-#: ../src/filedata.c:2145
+#: ../src/filedata.c:2370
 msgid "source and destination are the same"
 msgstr "source et destination sont identiques"
 
-#: ../src/filedata.c:2151
+#: ../src/filedata.c:2376
 msgid "source and destination have different extension"
 msgstr "source et destination ont des extensions différentes"
 
-#: ../src/filedata.c:2157
+#: ../src/filedata.c:2382
 msgid "there are unsaved metadata changes for the file"
 msgstr "Il y a des méta-données modifiées non sauvées pour ce fichier"
 
-#: ../src/fullscreen.c:243 ../src/layout_util.c:1325 ../src/layout_util.c:1326
-#: ../src/layout_util.c:1327 ../src/preferences.c:1349
+#: ../src/fullscreen.c:236 ../src/layout_util.c:1370 ../src/layout_util.c:1371
+#: ../src/layout_util.c:1372 ../src/preferences.c:1510
 msgid "Full screen"
 msgstr "Plein écran"
 
-#: ../src/fullscreen.c:391
+#: ../src/fullscreen.c:397
 msgid "Full size"
 msgstr "Pleine taille"
 
-#: ../src/fullscreen.c:396
+#: ../src/fullscreen.c:405
 msgid "Monitor"
 msgstr "Moniteur"
 
-#: ../src/fullscreen.c:401
+#: ../src/fullscreen.c:411
 msgid "Screen"
 msgstr "Écran"
 
-#: ../src/fullscreen.c:638
+#: ../src/fullscreen.c:648
 msgid "Stay above other windows"
 msgstr "Rester au-dessus des autres fenêtres"
 
-#: ../src/fullscreen.c:645
+#: ../src/fullscreen.c:655
 msgid "Determined by Window Manager"
 msgstr "Déterminé par le gestionnaire de fenêtres"
 
-#: ../src/fullscreen.c:646
+#: ../src/fullscreen.c:656
 msgid "Active screen"
 msgstr "Écran actif"
 
-#: ../src/fullscreen.c:648
+#: ../src/fullscreen.c:658
 msgid "Active monitor"
 msgstr "Moniteur actif"
 
@@ -1952,66 +1957,71 @@
 msgid " (Collection %s)"
 msgstr " (Collection %s)"
 
-#: ../src/img-view.c:1266 ../src/layout_image.c:482 ../src/layout_util.c:1292
-#: ../src/layout_util.c:1293 ../src/layout_util.c:1308
-#: ../src/layout_util.c:1309 ../src/pan-view.c:2810
+#: ../src/image_load_jpeg.c:177
+#, c-format
+msgid "Error interpreting JPEG image file (%s)"
+msgstr "Erreur lors de l'interprétation de fichier de l'image JPEG (%s)"
+
+#: ../src/img-view.c:1274 ../src/layout_image.c:489 ../src/layout_util.c:1337
+#: ../src/layout_util.c:1338 ../src/layout_util.c:1353
+#: ../src/layout_util.c:1354 ../src/pan-view.c:2832
 msgid "Zoom _in"
 msgstr "Zoom a_vant"
 
-#: ../src/img-view.c:1267 ../src/layout_image.c:483 ../src/layout_util.c:1294
-#: ../src/layout_util.c:1295 ../src/layout_util.c:1310
-#: ../src/layout_util.c:1311 ../src/pan-view.c:2812
+#: ../src/img-view.c:1275 ../src/layout_image.c:490 ../src/layout_util.c:1339
+#: ../src/layout_util.c:1340 ../src/layout_util.c:1355
+#: ../src/layout_util.c:1356 ../src/pan-view.c:2834
 msgid "Zoom _out"
 msgstr "Zoom a_rrière"
 
-#: ../src/img-view.c:1268 ../src/layout_image.c:484 ../src/layout_util.c:1296
-#: ../src/layout_util.c:1297 ../src/layout_util.c:1312
-#: ../src/layout_util.c:1313 ../src/pan-view.c:2814
+#: ../src/img-view.c:1276 ../src/layout_image.c:491 ../src/layout_util.c:1341
+#: ../src/layout_util.c:1342 ../src/layout_util.c:1357
+#: ../src/layout_util.c:1358 ../src/pan-view.c:2836
 msgid "Zoom _1:1"
 msgstr "Taille réelle (_1:1)"
 
-#: ../src/img-view.c:1269 ../src/layout_image.c:485
+#: ../src/img-view.c:1277 ../src/layout_image.c:492
 msgid "Fit image to _window"
 msgstr "Mettre à la taille de la _fenêtre"
 
-#: ../src/img-view.c:1277 ../src/layout_image.c:494 ../src/layout_util.c:1290
+#: ../src/img-view.c:1285 ../src/layout_image.c:501 ../src/layout_util.c:1335
 msgid "Set as _wallpaper"
 msgstr "Utiliser comme _papier peint"
 
-#: ../src/img-view.c:1282 ../src/layout_image.c:501
+#: ../src/img-view.c:1290 ../src/layout_image.c:508
 msgid "_Go to directory view"
 msgstr "_Aller à la vue répertoire"
 
-#: ../src/img-view.c:1295 ../src/layout_image.c:522
+#: ../src/img-view.c:1303 ../src/layout_image.c:529
 msgid "_Stop slideshow"
 msgstr "_Stopper le diaporama"
 
-#: ../src/img-view.c:1298 ../src/layout_image.c:525
+#: ../src/img-view.c:1306 ../src/layout_image.c:532
 msgid "Continue slides_how"
 msgstr "Reprendre le _diaporama"
 
-#: ../src/img-view.c:1303 ../src/img-view.c:1311 ../src/layout_image.c:530
-#: ../src/layout_image.c:537
+#: ../src/img-view.c:1311 ../src/img-view.c:1319 ../src/layout_image.c:537
+#: ../src/layout_image.c:544
 msgid "Pause slides_how"
 msgstr "Suspendre le _diaporama"
 
-#: ../src/img-view.c:1309 ../src/layout_image.c:536
+#: ../src/img-view.c:1317 ../src/layout_image.c:543
 msgid "_Start slideshow"
 msgstr "_Lancer le diaporama"
 
-#: ../src/img-view.c:1317 ../src/layout_image.c:547 ../src/pan-view.c:2883
+#: ../src/img-view.c:1325 ../src/layout_image.c:554 ../src/pan-view.c:2905
 msgid "Exit _full screen"
 msgstr "Sortir du mode plein _écran"
 
-#: ../src/img-view.c:1321 ../src/layout_image.c:543 ../src/pan-view.c:2887
+#: ../src/img-view.c:1329 ../src/layout_image.c:550 ../src/pan-view.c:2909
 msgid "_Full screen"
 msgstr "Plein _écran"
 
-#: ../src/img-view.c:1325 ../src/layout_util.c:1275 ../src/pan-view.c:2891
+#: ../src/img-view.c:1333 ../src/layout_util.c:1320 ../src/pan-view.c:2913
 msgid "C_lose window"
 msgstr "Fermer _la fenêtre"
 
-#: ../src/layout.c:363 ../src/view_file.c:600
+#: ../src/layout.c:363 ../src/view_file.c:613
 msgid "Ascending"
 msgstr "Croissant"
 
@@ -2038,79 +2048,79 @@
 msgid "%d files%s"
 msgstr "%d fichiers%s"
 
-#: ../src/layout.c:510
+#: ../src/layout.c:511
 #, c-format
 msgid "(no read permission) %s bytes"
 msgstr "(pas de permission en lecture) %s octets"
 
-#: ../src/layout.c:514
+#: ../src/layout.c:515
 #, c-format
 msgid "( ? x ? ) %s bytes"
 msgstr "( ? x ? ) %s octets"
 
-#: ../src/layout.c:522
+#: ../src/layout.c:523
 #, c-format
 msgid "( %d x %d ) %s bytes"
 msgstr "( %d x %d ) %s octets"
 
-#: ../src/layout.c:1231 ../src/layout_config.c:58
+#: ../src/layout.c:1267 ../src/layout_config.c:58
 msgid "Tools"
 msgstr "Outils"
 
-#: ../src/layout.c:1853
+#: ../src/layout.c:1897
 msgid "Window options and layout"
 msgstr "Options de fenêtre et de disposition"
 
-#: ../src/layout.c:1912
+#: ../src/layout.c:1956
 msgid "General options"
 msgstr "Options générales"
 
-#: ../src/layout.c:1914
+#: ../src/layout.c:1958
 msgid "Home path (empty to use your home directory)"
 msgstr "Dossier Accueil (laisser vide pour utiliser votre dossier personnel)"
 
-#: ../src/layout.c:1922
+#: ../src/layout.c:1966
 msgid "Use current"
 msgstr "Utiliser le dossier courant"
 
-#: ../src/layout.c:1925
+#: ../src/layout.c:1969
 msgid "Show date in directories list view"
 msgstr "Montrer la date dans la vue des répertoires sous forme de liste"
 
-#: ../src/layout.c:1928
+#: ../src/layout.c:1972
 msgid "Exit program when this window is closed"
 msgstr "Quitter le programme quand cette fenêtre est fermée"
 
-#: ../src/layout.c:1931
+#: ../src/layout.c:1975
 msgid "Start-up directory:"
 msgstr "Dossier de démarrage :"
 
-#: ../src/layout.c:1933
+#: ../src/layout.c:1977
 msgid "No change"
 msgstr "Pas de changement"
 
-#: ../src/layout.c:1936
+#: ../src/layout.c:1980
 msgid "Restore last path"
 msgstr "Restaurer le dernier chemin"
 
-#: ../src/layout.c:1939
+#: ../src/layout.c:1983
 msgid "Home path"
 msgstr "Dossier Accueil"
 
-#: ../src/layout.c:1943 ../src/print.c:3422 ../src/print.c:3429
+#: ../src/layout.c:1987 ../src/print.c:3385 ../src/print.c:3392
 msgid "Layout"
 msgstr "Disposition"
 
-#: ../src/layout.c:2186
+#: ../src/layout.c:2231
 msgid "Invalid geometry\n"
 msgstr "Géométrie invalide\n"
 
-#: ../src/layout_config.c:58 ../src/preferences.c:1446
-#: ../src/ui_pathsel.c:1179
+#: ../src/layout_config.c:58 ../src/preferences.c:1607
+#: ../src/ui_pathsel.c:1176
 msgid "Files"
 msgstr "Fichiers"
 
-#: ../src/layout_config.c:58 ../src/preferences.c:91 ../src/preferences.c:1240
+#: ../src/layout_config.c:58 ../src/preferences.c:91 ../src/preferences.c:1401
 #: ../src/print.c:123
 msgid "Image"
 msgstr "Image"
@@ -2119,936 +2129,980 @@
 msgid "(drag to change order)"
 msgstr "(glisser pour changer l'ordre)"
 
-#: ../src/layout_image.c:552
+#: ../src/layout_image.c:559
 msgid "Hide file _list"
 msgstr "Masquer la _liste des fichiers"
 
-#: ../src/layout_image.c:1552
+#: ../src/layout_image.c:1577
 #, c-format
 msgid "[%*d,%*d]: RGB(%3d,%3d,%3d)"
 msgstr "[%*d,%*d]: RVB(%3d,%3d,%3d)"
 
-#: ../src/layout_image.c:1560
+#: ../src/layout_image.c:1585
 #, c-format
 msgid "[%*s,%*s]: RGB(---,---,---)"
 msgstr "[%*s,%*s]: RVB(---,---,---)"
 
-#: ../src/layout_util.c:1230
+#: ../src/layout_util.c:1274
 msgid "_File"
 msgstr "_Fichier"
 
-#: ../src/layout_util.c:1231
+#: ../src/layout_util.c:1275
 msgid "_Go"
 msgstr "A_ller"
 
-#: ../src/layout_util.c:1232 ../src/menu.c:109
+#: ../src/layout_util.c:1276 ../src/menu.c:109
 msgid "_Edit"
 msgstr "Édit_er"
 
-#: ../src/layout_util.c:1233
+#: ../src/layout_util.c:1277
 msgid "_Select"
 msgstr "_Sélection"
 
-#: ../src/layout_util.c:1234 ../src/menu.c:276
+#: ../src/layout_util.c:1278 ../src/menu.c:280
 msgid "_Orientation"
 msgstr "_Orientation"
 
-#: ../src/layout_util.c:1235
+#: ../src/layout_util.c:1279
 msgid "E_xternal Editors"
 msgstr "Éditeurs e_xternes"
 
-#: ../src/layout_util.c:1236
+#: ../src/layout_util.c:1280
 msgid "P_references"
 msgstr "P_références"
 
-#: ../src/layout_util.c:1238
+#: ../src/layout_util.c:1282
 msgid "_Files and Folders"
 msgstr "_Fichiers et Dossiers"
 
-#: ../src/layout_util.c:1239
+#: ../src/layout_util.c:1283
 msgid "_Zoom"
 msgstr "_Zoom"
 
-#: ../src/layout_util.c:1240
+#: ../src/layout_util.c:1284
 msgid "_Color Management"
 msgstr "Gestion des _couleurs"
 
-#: ../src/layout_util.c:1241
+#: ../src/layout_util.c:1285
 msgid "_Connected Zoom"
 msgstr "Zo_om lié"
 
-#: ../src/layout_util.c:1242
+#: ../src/layout_util.c:1286
 msgid "Spli_t"
 msgstr "_Séparer"
 
-#: ../src/layout_util.c:1243 ../src/layout_util.c:1357
+#: ../src/layout_util.c:1287
+msgid "Stere_o"
+msgstr "Stéré_o"
+
+#: ../src/layout_util.c:1288 ../src/layout_util.c:1403
 msgid "Image _Overlay"
 msgstr "Affichage en surimpressi_on"
 
-#: ../src/layout_util.c:1244
+#: ../src/layout_util.c:1289
 msgid "_Help"
 msgstr "A_ide"
 
-#: ../src/layout_util.c:1246
+#: ../src/layout_util.c:1291
 msgid "_First Image"
 msgstr "Première _image"
 
-#: ../src/layout_util.c:1246
+#: ../src/layout_util.c:1291
 msgid "First Image"
 msgstr "Première image"
 
-#: ../src/layout_util.c:1247 ../src/layout_util.c:1248
-#: ../src/layout_util.c:1249
+#: ../src/layout_util.c:1292 ../src/layout_util.c:1293
+#: ../src/layout_util.c:1294
 msgid "_Previous Image"
 msgstr "Image _précédente"
 
-#: ../src/layout_util.c:1247 ../src/layout_util.c:1248
-#: ../src/layout_util.c:1249
+#: ../src/layout_util.c:1292 ../src/layout_util.c:1293
+#: ../src/layout_util.c:1294
 msgid "Previous Image"
 msgstr "Image précédente"
 
-#: ../src/layout_util.c:1250 ../src/layout_util.c:1251
-#: ../src/layout_util.c:1252
+#: ../src/layout_util.c:1295 ../src/layout_util.c:1296
+#: ../src/layout_util.c:1297
 msgid "_Next Image"
 msgstr "Image _suivante"
 
-#: ../src/layout_util.c:1250 ../src/layout_util.c:1251
-#: ../src/layout_util.c:1252
+#: ../src/layout_util.c:1295 ../src/layout_util.c:1296
+#: ../src/layout_util.c:1297
 msgid "Next Image"
 msgstr "Image suivante"
 
-#: ../src/layout_util.c:1253
+#: ../src/layout_util.c:1298
 msgid "_Last Image"
 msgstr "_Dernière image"
 
-#: ../src/layout_util.c:1253
+#: ../src/layout_util.c:1298
 msgid "Last Image"
 msgstr "Dernière image"
 
-#: ../src/layout_util.c:1254
+#: ../src/layout_util.c:1299
 msgid "_Back"
 msgstr "_Retour"
 
-#: ../src/layout_util.c:1254
+#: ../src/layout_util.c:1299
 msgid "Back"
 msgstr "Retour"
 
-#: ../src/layout_util.c:1255
+#: ../src/layout_util.c:1300
 msgid "_Home"
 msgstr "_Rép. perso"
 
-#: ../src/layout_util.c:1255 ../src/options.c:136 ../src/ui_bookmark.c:543
-#: ../src/ui_pathsel.c:1047
+#: ../src/layout_util.c:1300 ../src/options.c:143 ../src/ui_bookmark.c:545
+#: ../src/ui_pathsel.c:1045
 msgid "Home"
 msgstr "Rép. perso"
 
-#: ../src/layout_util.c:1257
+#: ../src/layout_util.c:1302
 msgid "New _window"
 msgstr "Nouvelle _fenêtre"
 
-#: ../src/layout_util.c:1257
+#: ../src/layout_util.c:1302
 msgid "New window"
 msgstr "Nouvelle fenêtre"
 
-#: ../src/layout_util.c:1258
+#: ../src/layout_util.c:1303
 msgid "_New collection"
 msgstr "_Nouvelle collection"
 
-#: ../src/layout_util.c:1258
+#: ../src/layout_util.c:1303
 msgid "New collection"
 msgstr "Nouvelle collection"
 
-#: ../src/layout_util.c:1259
+#: ../src/layout_util.c:1304
 msgid "_Open collection..."
 msgstr "_Ouvrir collection..."
 
-#: ../src/layout_util.c:1259
+#: ../src/layout_util.c:1304
 msgid "Open collection..."
 msgstr "Ouvrir collection..."
 
-#: ../src/layout_util.c:1260
+#: ../src/layout_util.c:1305
 msgid "Open recen_t"
 msgstr "Ouvrir récen_ts"
 
-#: ../src/layout_util.c:1260
+#: ../src/layout_util.c:1305
 msgid "Open recent"
 msgstr "Ouverts récemment"
 
-#: ../src/layout_util.c:1261
+#: ../src/layout_util.c:1306
 msgid "_Search..."
 msgstr "_Recherche..."
 
-#: ../src/layout_util.c:1261
+#: ../src/layout_util.c:1306
 msgid "Search..."
 msgstr "Recherche..."
 
-#: ../src/layout_util.c:1262
+#: ../src/layout_util.c:1307
 msgid "Find duplicates..."
 msgstr "Rechercher les doublons..."
 
-#: ../src/layout_util.c:1263
+#: ../src/layout_util.c:1308
 msgid "Pa_n view"
 msgstr "Affichage pa_noramique"
 
-#: ../src/layout_util.c:1263
+#: ../src/layout_util.c:1308
 msgid "Pan view"
 msgstr "Affichage panoramique"
 
-#: ../src/layout_util.c:1264
+#: ../src/layout_util.c:1309
 msgid "_Print..."
 msgstr "_Imprimer..."
 
-#: ../src/layout_util.c:1265
+#: ../src/layout_util.c:1310
 msgid "N_ew folder..."
 msgstr "Nouv_eau dossier..."
 
-#: ../src/layout_util.c:1265
+#: ../src/layout_util.c:1310
 msgid "New folder..."
 msgstr "Nouveau dossier..."
 
-#: ../src/layout_util.c:1266
+#: ../src/layout_util.c:1311
 msgid "Copy..."
 msgstr "Copier..."
 
-#: ../src/layout_util.c:1267
+#: ../src/layout_util.c:1312
 msgid "Move..."
 msgstr "Déplacer..."
 
-#: ../src/layout_util.c:1268
+#: ../src/layout_util.c:1313
 msgid "Rename..."
 msgstr "Renommer..."
 
-#: ../src/layout_util.c:1269 ../src/layout_util.c:1270
-#: ../src/layout_util.c:1271
+#: ../src/layout_util.c:1314 ../src/layout_util.c:1315
+#: ../src/layout_util.c:1316
 msgid "Delete..."
 msgstr "Supprimer..."
 
-#: ../src/layout_util.c:1272 ../src/view_file.c:590
+#: ../src/layout_util.c:1317 ../src/view_file.c:603
 msgid "Enable file _grouping"
 msgstr "_Grouper les fichiers"
 
-#: ../src/layout_util.c:1272
+#: ../src/layout_util.c:1317
 msgid "Enable file grouping"
 msgstr "Grouper les fichiers"
 
-#: ../src/layout_util.c:1273 ../src/view_file.c:592
+#: ../src/layout_util.c:1318 ../src/view_file.c:605
 msgid "Disable file groupi_ng"
 msgstr "Dégrouper les _fichiers"
 
-#: ../src/layout_util.c:1273
+#: ../src/layout_util.c:1318
 msgid "Disable file grouping"
 msgstr "Dégrouper les fichiers"
 
-#: ../src/layout_util.c:1274
+#: ../src/layout_util.c:1319
 msgid "_Copy path to clipboard"
 msgstr "_Copier chemin dans le presse-papiers"
 
-#: ../src/layout_util.c:1274
+#: ../src/layout_util.c:1319
 msgid "Copy path to clipboard"
 msgstr "Copier chemin dans le presse-papiers"
 
-#: ../src/layout_util.c:1275
+#: ../src/layout_util.c:1320
 msgid "Close window"
 msgstr "Fermer la fenêtre"
 
-#: ../src/layout_util.c:1276
+#: ../src/layout_util.c:1321
 msgid "_Quit"
 msgstr "_Quitter"
 
-#: ../src/layout_util.c:1276
+#: ../src/layout_util.c:1321
 msgid "Quit"
 msgstr "Quitter"
 
-#: ../src/layout_util.c:1277 ../src/menu.c:218
+#: ../src/layout_util.c:1322 ../src/menu.c:222
 msgid "_Rotate clockwise"
 msgstr "_Rotation sens horaire"
 
-#: ../src/layout_util.c:1277
+#: ../src/layout_util.c:1322
 msgid "Rotate clockwise"
 msgstr "Rotation sens horaire"
 
-#: ../src/layout_util.c:1278 ../src/menu.c:221
+#: ../src/layout_util.c:1323 ../src/menu.c:225
 msgid "Rotate _counterclockwise"
 msgstr "Rotation sens _anti-horaire"
 
-#: ../src/layout_util.c:1278
+#: ../src/layout_util.c:1323
 msgid "Rotate counterclockwise"
 msgstr "Rotation sens anti-horaire"
 
-#: ../src/layout_util.c:1279
+#: ../src/layout_util.c:1324
 msgid "Rotate 1_80"
 msgstr "Rotation de 1_80°"
 
-#: ../src/layout_util.c:1279
+#: ../src/layout_util.c:1324
 msgid "Rotate 180"
 msgstr "Rotation de 180°"
 
-#: ../src/layout_util.c:1280 ../src/menu.c:227
+#: ../src/layout_util.c:1325 ../src/menu.c:231
 msgid "_Mirror"
 msgstr "Retournement _horizontal"
 
-#: ../src/layout_util.c:1280
+#: ../src/layout_util.c:1325
 msgid "Mirror"
 msgstr "Retournement horizontal"
 
-#: ../src/layout_util.c:1281 ../src/menu.c:230
+#: ../src/layout_util.c:1326 ../src/menu.c:234
 msgid "_Flip"
 msgstr "Retournement _vertical"
 
-#: ../src/layout_util.c:1281
+#: ../src/layout_util.c:1326
 msgid "Flip"
 msgstr "Retournement vertical"
 
-#: ../src/layout_util.c:1282 ../src/menu.c:233
+#: ../src/layout_util.c:1327 ../src/menu.c:237
 msgid "_Original state"
 msgstr "État _original"
 
-#: ../src/layout_util.c:1282
+#: ../src/layout_util.c:1327
 msgid "Original state"
 msgstr "État original"
 
-#: ../src/layout_util.c:1283
+#: ../src/layout_util.c:1328
 msgid "Select _all"
 msgstr "_Tout sélectionner"
 
-#: ../src/layout_util.c:1284
+#: ../src/layout_util.c:1329
 msgid "Select _none"
 msgstr "_Désélectionner"
 
-#: ../src/layout_util.c:1285
+#: ../src/layout_util.c:1330
 msgid "_Invert Selection"
 msgstr "_Inverser la sélection"
 
-#: ../src/layout_util.c:1285
+#: ../src/layout_util.c:1330
 msgid "Invert Selection"
 msgstr "Inverser la sélection"
 
-#: ../src/layout_util.c:1286
+#: ../src/layout_util.c:1331
 msgid "P_references..."
 msgstr "P_références..."
 
-#: ../src/layout_util.c:1286
+#: ../src/layout_util.c:1331
 msgid "Preferences..."
 msgstr "Préférences..."
 
-#: ../src/layout_util.c:1287
+#: ../src/layout_util.c:1332
 msgid "Configure _Editors..."
 msgstr "Configur_er les éditeurs..."
 
-#: ../src/layout_util.c:1287
+#: ../src/layout_util.c:1332
 msgid "Configure Editors..."
 msgstr "Configurer les éditeurs..."
 
-#: ../src/layout_util.c:1288
+#: ../src/layout_util.c:1333
 msgid "_Configure this window..."
 msgstr "_Configurer cette fenêtre..."
 
-#: ../src/layout_util.c:1288
+#: ../src/layout_util.c:1333
 msgid "Configure this window..."
 msgstr "Configurer cette fenêtre..."
 
-#: ../src/layout_util.c:1289
+#: ../src/layout_util.c:1334
 msgid "_Thumbnail maintenance..."
 msgstr "Maintenance des _vignettes..."
 
-#: ../src/layout_util.c:1289
+#: ../src/layout_util.c:1334
 msgid "Thumbnail maintenance..."
 msgstr "Maintenance des vignettes..."
 
-#: ../src/layout_util.c:1290
+#: ../src/layout_util.c:1335
 msgid "Set as wallpaper"
 msgstr "Utiliser comme papier peint"
 
-#: ../src/layout_util.c:1291
+#: ../src/layout_util.c:1336
 msgid "_Save metadata"
 msgstr "Écrire les méta-donnée_s"
 
-#: ../src/layout_util.c:1291
+#: ../src/layout_util.c:1336
 msgid "Save metadata"
 msgstr "Écrire les méta-données"
 
-#: ../src/layout_util.c:1292 ../src/layout_util.c:1293
+#: ../src/layout_util.c:1337 ../src/layout_util.c:1338
 msgid "Zoom in"
 msgstr "Zoom avant"
 
-#: ../src/layout_util.c:1294 ../src/layout_util.c:1295
+#: ../src/layout_util.c:1339 ../src/layout_util.c:1340
 msgid "Zoom out"
 msgstr "Zoom arrière"
 
-#: ../src/layout_util.c:1296 ../src/layout_util.c:1297
+#: ../src/layout_util.c:1341 ../src/layout_util.c:1342
 msgid "Zoom 1:1"
 msgstr "Taille réelle (1:1)"
 
-#: ../src/layout_util.c:1298 ../src/layout_util.c:1299
-#: ../src/layout_util.c:1314 ../src/layout_util.c:1315
+#: ../src/layout_util.c:1343 ../src/layout_util.c:1344
+#: ../src/layout_util.c:1359 ../src/layout_util.c:1360
 msgid "_Zoom to fit"
 msgstr "Taille de la fenê_tre"
 
-#: ../src/layout_util.c:1298 ../src/layout_util.c:1299
+#: ../src/layout_util.c:1343 ../src/layout_util.c:1344
 msgid "Zoom to fit"
 msgstr "Taille de la fenêtre"
 
-#: ../src/layout_util.c:1300 ../src/layout_util.c:1316
+#: ../src/layout_util.c:1345 ../src/layout_util.c:1361
 msgid "Fit _Horizontally"
 msgstr "Maximiser _Horizontalement"
 
-#: ../src/layout_util.c:1300
+#: ../src/layout_util.c:1345
 msgid "Fit Horizontally"
 msgstr "Maximiser Horizontalement"
 
-#: ../src/layout_util.c:1301 ../src/layout_util.c:1317
+#: ../src/layout_util.c:1346 ../src/layout_util.c:1362
 msgid "Fit _Vertically"
 msgstr "Maximiser _Verticalement"
 
-#: ../src/layout_util.c:1301
+#: ../src/layout_util.c:1346
 msgid "Fit Vertically"
 msgstr "Maximiser Verticalement"
 
-#: ../src/layout_util.c:1302 ../src/layout_util.c:1318
+#: ../src/layout_util.c:1347 ../src/layout_util.c:1363
 msgid "Zoom _2:1"
 msgstr "Zoom _2:1"
 
-#: ../src/layout_util.c:1302
+#: ../src/layout_util.c:1347
 msgid "Zoom 2:1"
 msgstr "Zoom 2:1"
 
-#: ../src/layout_util.c:1303 ../src/layout_util.c:1319
+#: ../src/layout_util.c:1348 ../src/layout_util.c:1364
 msgid "Zoom _3:1"
 msgstr "Zoom _3:1"
 
-#: ../src/layout_util.c:1303
+#: ../src/layout_util.c:1348
 msgid "Zoom 3:1"
 msgstr "Zoom 3:1"
 
-#: ../src/layout_util.c:1304 ../src/layout_util.c:1320
+#: ../src/layout_util.c:1349 ../src/layout_util.c:1365
 msgid "Zoom _4:1"
 msgstr "Zoom _4:1"
 
-#: ../src/layout_util.c:1304
+#: ../src/layout_util.c:1349
 msgid "Zoom 4:1"
 msgstr "Zoom 4:1"
 
-#: ../src/layout_util.c:1305 ../src/layout_util.c:1321
+#: ../src/layout_util.c:1350 ../src/layout_util.c:1366
 msgid "Zoom 1:2"
 msgstr "Zoom 1:2"
 
-#: ../src/layout_util.c:1306 ../src/layout_util.c:1322
+#: ../src/layout_util.c:1351 ../src/layout_util.c:1367
 msgid "Zoom 1:3"
 msgstr "Zoom 1:3"
 
-#: ../src/layout_util.c:1307 ../src/layout_util.c:1323
+#: ../src/layout_util.c:1352 ../src/layout_util.c:1368
 msgid "Zoom 1:4"
 msgstr "Zoom 1:4"
 
-#: ../src/layout_util.c:1308 ../src/layout_util.c:1309
+#: ../src/layout_util.c:1353 ../src/layout_util.c:1354
 msgid "Connected Zoom in"
 msgstr "Zoom lié avant"
 
-#: ../src/layout_util.c:1310 ../src/layout_util.c:1311
+#: ../src/layout_util.c:1355 ../src/layout_util.c:1356
 msgid "Connected Zoom out"
 msgstr "Zoom lié arrière"
 
-#: ../src/layout_util.c:1312 ../src/layout_util.c:1313
+#: ../src/layout_util.c:1357 ../src/layout_util.c:1358
 msgid "Connected Zoom 1:1"
 msgstr "Zoom lié 1:1"
 
-#: ../src/layout_util.c:1314 ../src/layout_util.c:1315
+#: ../src/layout_util.c:1359 ../src/layout_util.c:1360
 msgid "Connected Zoom to fit"
 msgstr "Zoom lié taille de la fenêtre"
 
-#: ../src/layout_util.c:1316
+#: ../src/layout_util.c:1361
 msgid "Connected Fit Horizontally"
 msgstr "Zoom lié Maximiser Horizontalement"
 
-#: ../src/layout_util.c:1317
+#: ../src/layout_util.c:1362
 msgid "Connected Fit Vertically"
 msgstr "Zoom lié Maximiser Verticalement"
 
-#: ../src/layout_util.c:1318
+#: ../src/layout_util.c:1363
 msgid "Connected Zoom 2:1"
 msgstr "Zoom lié 2:1"
 
-#: ../src/layout_util.c:1319
+#: ../src/layout_util.c:1364
 msgid "Connected Zoom 3:1"
 msgstr "Zoom lié 3:1"
 
-#: ../src/layout_util.c:1320
+#: ../src/layout_util.c:1365
 msgid "Connected Zoom 4:1"
 msgstr "Zoom lié 4:1"
 
-#: ../src/layout_util.c:1321
+#: ../src/layout_util.c:1366
 msgid "Connected Zoom 1:2"
 msgstr "Zoom lié 1:2"
 
-#: ../src/layout_util.c:1322
+#: ../src/layout_util.c:1367
 msgid "Connected Zoom 1:3"
 msgstr "Zoom lié 1:3"
 
-#: ../src/layout_util.c:1323
+#: ../src/layout_util.c:1368
 msgid "Connected Zoom 1:4"
 msgstr "Zoom lié 1:4"
 
-#: ../src/layout_util.c:1324
+#: ../src/layout_util.c:1369
 msgid "_View in new window"
 msgstr "_Voir dans une nouvelle fenêtre"
 
-#: ../src/layout_util.c:1324
+#: ../src/layout_util.c:1369
 msgid "View in new window"
 msgstr "Voir dans une nouvelle fenêtre"
 
-#: ../src/layout_util.c:1325 ../src/layout_util.c:1326
-#: ../src/layout_util.c:1327
+#: ../src/layout_util.c:1370 ../src/layout_util.c:1371
+#: ../src/layout_util.c:1372
 msgid "F_ull screen"
 msgstr "Plein _écran"
 
-#: ../src/layout_util.c:1328 ../src/layout_util.c:1329
+#: ../src/layout_util.c:1373 ../src/layout_util.c:1374
 msgid "_Leave full screen"
 msgstr "Quitter le mode p_lein écran"
 
-#: ../src/layout_util.c:1328 ../src/layout_util.c:1329
+#: ../src/layout_util.c:1373 ../src/layout_util.c:1374
 msgid "Leave full screen"
 msgstr "Quitter le mode plein écran"
 
-#: ../src/layout_util.c:1330
+#: ../src/layout_util.c:1375
 msgid "_Cycle through overlay modes"
 msgstr "_Passer en revue les modes de surimpression"
 
-#: ../src/layout_util.c:1330
+#: ../src/layout_util.c:1375
 msgid "Cycle through Overlay modes"
 msgstr "Passer en revue les modes de surimpression"
 
-#: ../src/layout_util.c:1331
+#: ../src/layout_util.c:1376
 msgid "Cycle through histogram ch_annels"
 msgstr "Passer en revue les c_anaux d'histogramme"
 
-#: ../src/layout_util.c:1331
+#: ../src/layout_util.c:1376
 msgid "Cycle through histogram channels"
 msgstr "Passer en revue les canaux d'histogramme"
 
-#: ../src/layout_util.c:1332
+#: ../src/layout_util.c:1377
 msgid "Cycle through histogram mo_des"
 msgstr "Passer en revue les mo_des d'histogramme"
 
-#: ../src/layout_util.c:1332
+#: ../src/layout_util.c:1377
 msgid "Cycle through histogram modes"
 msgstr "Passer en revue les modes d'histogramme"
 
-#: ../src/layout_util.c:1333
+#: ../src/layout_util.c:1378
 msgid "_Hide file list"
 msgstr "_Masquer la liste des fichiers"
 
-#: ../src/layout_util.c:1333
+#: ../src/layout_util.c:1378
 msgid "Hide file list"
 msgstr "Masquer la liste des fichiers"
 
-#: ../src/layout_util.c:1334
+#: ../src/layout_util.c:1379
 msgid "_Pause slideshow"
 msgstr "Sus_pendre le diaporama"
 
-#: ../src/layout_util.c:1334
+#: ../src/layout_util.c:1379
 msgid "Pause slideshow"
 msgstr "Suspendre le diaporama"
 
-#: ../src/layout_util.c:1335
+#: ../src/layout_util.c:1380
 msgid "_Refresh"
 msgstr "_Rafraîchir"
 
-#: ../src/layout_util.c:1335
+#: ../src/layout_util.c:1380
 msgid "Refresh"
 msgstr "Rafraîchir"
 
-#: ../src/layout_util.c:1336
+#: ../src/layout_util.c:1381
 msgid "_Contents"
 msgstr "_Contenu"
 
-#: ../src/layout_util.c:1336
+#: ../src/layout_util.c:1381
 msgid "Contents"
 msgstr "Contenu"
 
-#: ../src/layout_util.c:1337
+#: ../src/layout_util.c:1382
 msgid "_Keyboard shortcuts"
 msgstr "_Raccourcis clavier"
 
-#: ../src/layout_util.c:1337
+#: ../src/layout_util.c:1382
 msgid "Keyboard shortcuts"
 msgstr "Raccourcis clavier"
 
-#: ../src/layout_util.c:1338
+#: ../src/layout_util.c:1383
 msgid "_Release notes"
 msgstr "_Notes de version"
 
-#: ../src/layout_util.c:1338
+#: ../src/layout_util.c:1383
 msgid "Release notes"
 msgstr "Notes pour cette version"
 
-#: ../src/layout_util.c:1339
+#: ../src/layout_util.c:1384
 msgid "_About"
 msgstr "À _propos"
 
-#: ../src/layout_util.c:1339 ../src/preferences.c:2108
+#: ../src/layout_util.c:1384 ../src/preferences.c:2351
 msgid "About"
 msgstr "À propos"
 
-#: ../src/layout_util.c:1340
+#: ../src/layout_util.c:1385
 msgid "_Log Window"
 msgstr "_Journal"
 
-#: ../src/layout_util.c:1340
+#: ../src/layout_util.c:1385
 msgid "Log Window"
 msgstr "Journal"
 
-#: ../src/layout_util.c:1341
+#: ../src/layout_util.c:1386
 msgid "_Exif window"
 msgstr "Fenêtre _Exif"
 
-#: ../src/layout_util.c:1341
+#: ../src/layout_util.c:1386
 msgid "Exif window"
 msgstr "Fenêtre Exif"
 
-#: ../src/layout_util.c:1346
+#: ../src/layout_util.c:1387
+msgid "_Cycle through stereo modes"
+msgstr "_Passer en revue les modes stéréo"
+
+#: ../src/layout_util.c:1387
+msgid "Cycle through stereo modes"
+msgstr "Passer en revue les modes stéréo"
+
+#: ../src/layout_util.c:1392
 msgid "Show _Thumbnails"
 msgstr "Montrer les vigne_ttes"
 
-#: ../src/layout_util.c:1346
+#: ../src/layout_util.c:1392
 msgid "Show Thumbnails"
 msgstr "Montrer les vignettes"
 
-#: ../src/layout_util.c:1347
+#: ../src/layout_util.c:1393
 msgid "Show _Marks"
 msgstr "Montrer les _Marques"
 
-#: ../src/layout_util.c:1347
+#: ../src/layout_util.c:1393
 msgid "Show Marks"
 msgstr "Montrer les marques"
 
-#: ../src/layout_util.c:1348
+#: ../src/layout_util.c:1394
 msgid "Pi_xel Info"
 msgstr "Infos sur le pi_xel"
 
-#: ../src/layout_util.c:1348
+#: ../src/layout_util.c:1394
 msgid "Show Pixel Info"
 msgstr "Montrer les infos sur le pixel"
 
-#: ../src/layout_util.c:1349
+#: ../src/layout_util.c:1395
 msgid "_Float file list"
 msgstr "Liste des fichiers _flottante"
 
-#: ../src/layout_util.c:1349
+#: ../src/layout_util.c:1395
 msgid "Float file list"
 msgstr "Liste des fichiers flottante"
 
-#: ../src/layout_util.c:1350
+#: ../src/layout_util.c:1396
 msgid "Hide tool_bar"
 msgstr "Masquer la _barre d'outils"
 
-#: ../src/layout_util.c:1350
+#: ../src/layout_util.c:1396
 msgid "Hide toolbar"
 msgstr "Masquer la barre d'outils"
 
-#: ../src/layout_util.c:1351
+#: ../src/layout_util.c:1397
 msgid "_Info sidebar"
 msgstr "Barre latérale d'_informations"
 
-#: ../src/layout_util.c:1351
+#: ../src/layout_util.c:1397
 msgid "Info sidebar"
 msgstr "Barre latérale d'informations"
 
-#: ../src/layout_util.c:1352
+#: ../src/layout_util.c:1398
 msgid "Sort _manager"
 msgstr "_Gestionnaire de tris"
 
-#: ../src/layout_util.c:1352
+#: ../src/layout_util.c:1398
 msgid "Sort manager"
 msgstr "Gestionnaire de tris"
 
-#: ../src/layout_util.c:1353
+#: ../src/layout_util.c:1399
 msgid "Toggle _slideshow"
 msgstr "Mode _Diaporama"
 
-#: ../src/layout_util.c:1353
+#: ../src/layout_util.c:1399
 msgid "Toggle slideshow"
 msgstr "Mode diaporama"
 
-#: ../src/layout_util.c:1354
+#: ../src/layout_util.c:1400
 msgid "Use _color profiles"
 msgstr "Utiliser les profils _colorimétriques"
 
-#: ../src/layout_util.c:1354
+#: ../src/layout_util.c:1400
 msgid "Use color profiles"
 msgstr "Utiliser les profils colorimétriques"
 
-#: ../src/layout_util.c:1355
+#: ../src/layout_util.c:1401
 msgid "Use profile from _image"
 msgstr "Utiliser le profil contenu dans l'_image"
 
-#: ../src/layout_util.c:1355
+#: ../src/layout_util.c:1401
 msgid "Use profile from image"
 msgstr "Utiliser le profil contenu dans l'image"
 
-#: ../src/layout_util.c:1356
+#: ../src/layout_util.c:1402
 msgid "Toggle _grayscale"
 msgstr "Bascule niveaux de _gris"
 
-#: ../src/layout_util.c:1356
+#: ../src/layout_util.c:1402
 msgid "Toggle grayscale"
 msgstr "Bascule niveaux de gris"
 
-#: ../src/layout_util.c:1357
+#: ../src/layout_util.c:1403
 msgid "Image Overlay"
 msgstr "Affichage en surimpression"
 
-#: ../src/layout_util.c:1358
+#: ../src/layout_util.c:1404
 msgid "_Show Histogram"
 msgstr "Montrer l'hi_stogramme"
 
-#: ../src/layout_util.c:1358
+#: ../src/layout_util.c:1404
 msgid "Show Histogram"
 msgstr "Montrer l'histogramme"
 
-#: ../src/layout_util.c:1362
+#: ../src/layout_util.c:1408
 msgid "Image _List"
 msgstr "_Liste des images"
 
-#: ../src/layout_util.c:1362
+#: ../src/layout_util.c:1408
 msgid "View Images as List"
 msgstr "Images en liste"
 
-#: ../src/layout_util.c:1363
+#: ../src/layout_util.c:1409
 msgid "I_cons"
 msgstr "I_cônes"
 
-#: ../src/layout_util.c:1363
+#: ../src/layout_util.c:1409
 msgid "View Images as Icons"
 msgstr "Images en Icônes"
 
-#: ../src/layout_util.c:1367
+#: ../src/layout_util.c:1413
 msgid "Folder Li_st"
 msgstr "Li_ste des dossiers"
 
-#: ../src/layout_util.c:1367
+#: ../src/layout_util.c:1413
 msgid "View Folders as List"
 msgstr "Vue des dossiers en liste"
 
-#: ../src/layout_util.c:1368
+#: ../src/layout_util.c:1414
 msgid "Folder T_ree"
 msgstr "A_rbre des dossiers"
 
-#: ../src/layout_util.c:1368
+#: ../src/layout_util.c:1414
 msgid "View Folders as Tree"
 msgstr "Vue des dossiers en arbre"
 
-#: ../src/layout_util.c:1372
+#: ../src/layout_util.c:1418
 msgid "_Horizontal"
 msgstr "_Horizontal"
 
-#: ../src/layout_util.c:1372
+#: ../src/layout_util.c:1418
 msgid "Split Horizontal"
 msgstr "Séparation horizontale"
 
-#: ../src/layout_util.c:1373
+#: ../src/layout_util.c:1419
 msgid "_Vertical"
 msgstr "_Vertical"
 
-#: ../src/layout_util.c:1373
+#: ../src/layout_util.c:1419
 msgid "Split Vertical"
 msgstr "Séparation verticale"
 
-#: ../src/layout_util.c:1374
+#: ../src/layout_util.c:1420
 msgid "_Quad"
 msgstr "_Quatre"
 
-#: ../src/layout_util.c:1374
+#: ../src/layout_util.c:1420
 msgid "Split Quad"
 msgstr "Séparation en quatre"
 
-#: ../src/layout_util.c:1375
+#: ../src/layout_util.c:1421
 msgid "_Single"
 msgstr "_Unique"
 
-#: ../src/layout_util.c:1375
+#: ../src/layout_util.c:1421
 msgid "Split Single"
 msgstr "Unique"
 
-#: ../src/layout_util.c:1379
+#: ../src/layout_util.c:1425
 msgid "Input _0: sRGB"
 msgstr "Entrée _0 : sRGB"
 
-#: ../src/layout_util.c:1379
+#: ../src/layout_util.c:1425
 msgid "Input 0: sRGB"
 msgstr "Entrée 0 : sRGB"
 
-#: ../src/layout_util.c:1380
+#: ../src/layout_util.c:1426
 msgid "Input _1: AdobeRGB compatible"
 msgstr "Entrée _1 : compatible AdobeRGB"
 
-#: ../src/layout_util.c:1380
+#: ../src/layout_util.c:1426
 msgid "Input 1: AdobeRGB compatible"
 msgstr "Entrée 1 : compatible AdobeRGB"
 
-#: ../src/layout_util.c:1381
+#: ../src/layout_util.c:1427
 msgid "Input _2"
 msgstr "Entrée _2"
 
-#: ../src/layout_util.c:1381
+#: ../src/layout_util.c:1427
 msgid "Input 2"
 msgstr "Entrée 2"
 
-#: ../src/layout_util.c:1382
+#: ../src/layout_util.c:1428
 msgid "Input _3"
 msgstr "Entrée _3"
 
-#: ../src/layout_util.c:1382
+#: ../src/layout_util.c:1428
 msgid "Input 3"
 msgstr "Entrée 3"
 
-#: ../src/layout_util.c:1383
+#: ../src/layout_util.c:1429
 msgid "Input _4"
 msgstr "Entrée _4"
 
-#: ../src/layout_util.c:1383
+#: ../src/layout_util.c:1429
 msgid "Input 4"
 msgstr "Entrée 4"
 
-#: ../src/layout_util.c:1384
+#: ../src/layout_util.c:1430
 msgid "Input _5"
 msgstr "Entrée _5"
 
-#: ../src/layout_util.c:1384
+#: ../src/layout_util.c:1430
 msgid "Input 5"
 msgstr "Entrée 5"
 
-#: ../src/layout_util.c:1388
+#: ../src/layout_util.c:1434
 msgid "Histogram on Red"
 msgstr "Histogramme sur le rouge"
 
-#: ../src/layout_util.c:1389
+#: ../src/layout_util.c:1435
 msgid "Histogram on Green"
 msgstr "Histogramme sur le vert"
 
-#: ../src/layout_util.c:1390
+#: ../src/layout_util.c:1436
 msgid "Histogram on Blue"
 msgstr "Histogramme sur le bleu"
 
-#: ../src/layout_util.c:1391
+#: ../src/layout_util.c:1437
 msgid "Histogram on RGB"
 msgstr "Histogramme RVB"
 
-#: ../src/layout_util.c:1392
+#: ../src/layout_util.c:1438
 msgid "Histogram on Value"
 msgstr "Histogramme sur la valeur"
 
-#: ../src/layout_util.c:1396
+#: ../src/layout_util.c:1442
 msgid "Linear Histogram"
 msgstr "Histogramme linéaire"
 
-#: ../src/layout_util.c:1397
+#: ../src/layout_util.c:1443
 msgid "_Log Histogram"
 msgstr "Histogramme _logarithmique"
 
-#: ../src/layout_util.c:1397
+#: ../src/layout_util.c:1443
 msgid "Log Histogram"
 msgstr "Histogramme logarithmique"
 
-#: ../src/layout_util.c:1663
+#: ../src/layout_util.c:1447
+msgid "_Auto"
+msgstr "_Auto"
+
+#: ../src/layout_util.c:1447
+msgid "Stereo Auto"
+msgstr "Stéréo Auto"
+
+#: ../src/layout_util.c:1448
+msgid "_Side by Side"
+msgstr "_Côte-à-côte"
+
+#: ../src/layout_util.c:1448
+msgid "Stereo Side by Side"
+msgstr "Stéréo côte-à-côte"
+
+#: ../src/layout_util.c:1449
+msgid "_Cross"
+msgstr "_Croisé"
+
+#: ../src/layout_util.c:1449
+msgid "Stereo Cross"
+msgstr "Stéréo croisée"
+
+#: ../src/layout_util.c:1450
+msgid "_Off"
+msgstr "_Désactivée"
+
+#: ../src/layout_util.c:1450
+msgid "Stereo Off"
+msgstr "Stéréo désactivée"
+
+#: ../src/layout_util.c:1724
 #, c-format
 msgid "Mark _%d"
 msgstr "Marque _%d"
 
-#: ../src/layout_util.c:1664 ../src/view_file.c:527
+#: ../src/layout_util.c:1725 ../src/view_file.c:540
 #, c-format
 msgid "_Set mark %d"
 msgstr "_Ajout marque %d"
 
-#: ../src/layout_util.c:1664
+#: ../src/layout_util.c:1725
 #, c-format
 msgid "Set mark %d"
 msgstr "Ajout marque %d"
 
-#: ../src/layout_util.c:1665 ../src/view_file.c:528
+#: ../src/layout_util.c:1726 ../src/view_file.c:541
 #, c-format
 msgid "_Reset mark %d"
 msgstr "_Suppression marque %d"
 
-#: ../src/layout_util.c:1665
+#: ../src/layout_util.c:1726
 #, c-format
 msgid "Reset mark %d"
 msgstr "Suppression marque %d"
 
-#: ../src/layout_util.c:1666 ../src/layout_util.c:1667 ../src/view_file.c:529
+#: ../src/layout_util.c:1727 ../src/layout_util.c:1728 ../src/view_file.c:542
 #, c-format
 msgid "_Toggle mark %d"
 msgstr "_Bascule marque %d"
 
-#: ../src/layout_util.c:1666 ../src/layout_util.c:1667
+#: ../src/layout_util.c:1727 ../src/layout_util.c:1728
 #, c-format
 msgid "Toggle mark %d"
 msgstr "Bascule marque %d"
 
-#: ../src/layout_util.c:1668
+#: ../src/layout_util.c:1729
 #, c-format
 msgid "Se_lect mark %d"
 msgstr "Sé_lectionner la marque %d"
 
-#: ../src/layout_util.c:1668 ../src/layout_util.c:1669
+#: ../src/layout_util.c:1729 ../src/layout_util.c:1730
 #, c-format
 msgid "Select mark %d"
 msgstr "Sélectionner la marque %d"
 
-#: ../src/layout_util.c:1669 ../src/view_file.c:530
+#: ../src/layout_util.c:1730 ../src/view_file.c:543
 #, c-format
 msgid "_Select mark %d"
 msgstr "_Sélectionner la marque %d"
 
-#: ../src/layout_util.c:1670 ../src/view_file.c:531
+#: ../src/layout_util.c:1731 ../src/view_file.c:544
 #, c-format
 msgid "_Add mark %d"
 msgstr "Ajouter la marque %d"
 
-#: ../src/layout_util.c:1670
+#: ../src/layout_util.c:1731
 #, c-format
 msgid "Add mark %d"
 msgstr "Ajouter marque %d"
 
-#: ../src/layout_util.c:1671 ../src/view_file.c:532
+#: ../src/layout_util.c:1732 ../src/view_file.c:545
 #, c-format
 msgid "_Intersection with mark %d"
 msgstr "_Intersection avec marque %d"
 
-#: ../src/layout_util.c:1671
+#: ../src/layout_util.c:1732
 #, c-format
 msgid "Intersection with mark %d"
 msgstr "Intersection avec marque %d"
 
-#: ../src/layout_util.c:1672 ../src/view_file.c:533
+#: ../src/layout_util.c:1733 ../src/view_file.c:546
 #, c-format
 msgid "_Unselect mark %d"
 msgstr "_Déselection marque %d"
 
-#: ../src/layout_util.c:1672
+#: ../src/layout_util.c:1733
 #, c-format
 msgid "Unselect mark %d"
 msgstr "Déselection marque %d"
 
-#: ../src/layout_util.c:1673
+#: ../src/layout_util.c:1734
 #, c-format
 msgid "_Filter mark %d"
 msgstr "_Filtrer la marque %d"
 
-#: ../src/layout_util.c:1673
+#: ../src/layout_util.c:1734
 #, c-format
 msgid "Filter mark %d"
 msgstr "Filtrer la marque %d"
 
-#: ../src/layout_util.c:2109
+#: ../src/layout_util.c:2265
 #, c-format
 msgid "Number of files with unsaved metadata: %d"
 msgstr "Nombre de fichiers avec des méta-données à sauver : %d"
 
-#: ../src/layout_util.c:2115
+#: ../src/layout_util.c:2271
 msgid "No unsaved metadata"
 msgstr "Pas de méta-données à sauver"
 
-#: ../src/layout_util.c:2162
+#: ../src/layout_util.c:2318
 #, c-format
 msgid ""
 "Image profile: %s\n"
@@ -3057,31 +3111,31 @@
 "Profil d'image : %s\n"
 "Profil d'écran : %s"
 
-#: ../src/layout_util.c:2170
+#: ../src/layout_util.c:2326
 msgid "Click to enable color management"
 msgstr "Cliquer pour activer la gestion des couleurs"
 
-#: ../src/layout_util.c:2175
+#: ../src/layout_util.c:2331
 msgid "Color profiles not supported"
 msgstr "Profils colorimétriques non supportés"
 
-#: ../src/layout_util.c:2197
+#: ../src/layout_util.c:2353
 #, c-format
 msgid "Input _%d: %s"
 msgstr "Entrée _%d : %s"
 
 #. something went badly wrong
-#: ../src/lirc.c:193
+#: ../src/lirc.c:197
 #, c-format
 msgid "disconnected from LIRC\n"
 msgstr "déconnecté de LIRC\n"
 
-#: ../src/lirc.c:208
+#: ../src/lirc.c:212
 #, c-format
 msgid "Could not init LIRC support\n"
 msgstr "Impossible d'initialiser le support de LIRC\n"
 
-#: ../src/lirc.c:215
+#: ../src/lirc.c:219
 #, c-format
 msgid ""
 "could not read LIRC config file\n"
@@ -3096,7 +3150,7 @@
 msgid "Log"
 msgstr "Journal"
 
-#: ../src/main.c:313
+#: ../src/main.c:322
 #, c-format
 msgid ""
 "Usage: %s [options] [path]\n"
@@ -3105,58 +3159,58 @@
 "Utilisation : %s [options] [chemin]\n"
 "\n"
 
-#: ../src/main.c:314
+#: ../src/main.c:323
 msgid "valid options are:\n"
 msgstr "les options valides sont :\n"
 
-#: ../src/main.c:315
+#: ../src/main.c:324
 msgid "  +t, --with-tools           force show of tools\n"
 msgstr "  +t, --with-tools           force l'affichage des outils\n"
 
-#: ../src/main.c:316
+#: ../src/main.c:325
 msgid "  -t, --without-tools        force hide of tools\n"
 msgstr "  -t, --without-tools        masque les outils\n"
 
-#: ../src/main.c:317
+#: ../src/main.c:326
 msgid "  -f, --fullscreen           start in full screen mode\n"
 msgstr "  -f, --fullscreen           démarre en mode plein écran\n"
 
-#: ../src/main.c:318
+#: ../src/main.c:327
 msgid "  -s, --slideshow            start in slideshow mode\n"
 msgstr "  -s, --slideshow            démarre en mode diaporama\n"
 
-#: ../src/main.c:319
+#: ../src/main.c:328
 msgid "  -l, --list                 open collection window for command line\n"
 msgstr ""
 "  -l, --list                 ouvre une fenêtre de collection pour la ligne "
 "de commande\n"
 
-#: ../src/main.c:320
+#: ../src/main.c:329
 msgid "      --geometry=GEOMETRY    set main window location\n"
 msgstr ""
 "      --geometry=GEOMÉTRIE   détermine la position de la fenêtre principale\n"
 
-#: ../src/main.c:321
+#: ../src/main.c:330
 msgid "  -r, --remote               send following commands to open window\n"
 msgstr ""
 "  -r, --remote               lance la commande suivante pour ouvrir une "
 "fenêtre\n"
 "de commande\n"
 
-#: ../src/main.c:322
+#: ../src/main.c:331
 msgid "  -rh,--remote-help          print remote command list\n"
 msgstr ""
 "  -rh,--remote-help          affiche la liste des commandes à distance\n"
 
-#: ../src/main.c:324
+#: ../src/main.c:333
 msgid "  --debug[=level]            turn on debug output\n"
 msgstr "  --debug[=niveau]           active les sorties de débogage\n"
 
-#: ../src/main.c:326
+#: ../src/main.c:335
 msgid "  -v, --version              print version info\n"
 msgstr "  -v, --version              affiche les infos de version\n"
 
-#: ../src/main.c:327
+#: ../src/main.c:336
 msgid ""
 "  -h, --help                 show this message\n"
 "\n"
@@ -3164,7 +3218,7 @@
 "  -h, --help                 affiche ce message\n"
 "\n"
 
-#: ../src/main.c:339
+#: ../src/main.c:348
 #, c-format
 msgid ""
 "invalid or ignored: %s\n"
@@ -3173,11 +3227,11 @@
 "invalide ou ignoré : %s\n"
 "Utilisez --help pour connaître les options\n"
 
-#: ../src/main.c:368
+#: ../src/main.c:377
 msgid "Invalid or ignored remote options: "
 msgstr "Options de commande à distance invalides ou ignorées :"
 
-#: ../src/main.c:377
+#: ../src/main.c:386
 msgid ""
 "\n"
 "Use --remote-help for valid remote options.\n"
@@ -3186,22 +3240,22 @@
 "Utilisez --remote-help pour voir les options de commande à distance "
 "valides.\n"
 
-#: ../src/main.c:479
+#: ../src/main.c:488
 #, c-format
 msgid "Creating %s dir:%s\n"
 msgstr "Création du dossier %s : %s\n"
 
-#: ../src/main.c:483
+#: ../src/main.c:492
 #, c-format
 msgid "Could not create dir:%s\n"
 msgstr "Impossible de créer le dossier : %s\n"
 
-#: ../src/main.c:535
+#: ../src/main.c:544
 #, c-format
 msgid "error saving file: %s\n"
 msgstr "erreur lors de la sauvegarde du fichier : %s\n"
 
-#: ../src/main.c:554
+#: ../src/main.c:563
 #, c-format
 msgid ""
 "error saving file: %s\n"
@@ -3210,22 +3264,22 @@
 "erreur lors de la sauvegarde du fichier : %s\n"
 "erreur : %s\n"
 
-#: ../src/main.c:659
+#: ../src/main.c:671
 msgid "exit"
 msgstr "sortie"
 
-#: ../src/main.c:664
+#: ../src/main.c:676
 #, c-format
 msgid "Quit %s"
 msgstr "Quitter %s"
 
-#: ../src/main.c:666
+#: ../src/main.c:678
 msgid "Collections have been modified. Quit anyway?"
 msgstr ""
 "Des collections ont été modifiées.\n"
 "Tout de même quitter ?"
 
-#: ../src/main.c:860 ../src/remote.c:601
+#: ../src/main.c:882 ../src/remote.c:601
 msgid "Command line"
 msgstr "Ligne de commande"
 
@@ -3238,262 +3292,266 @@
 msgstr "Trier par date"
 
 #: ../src/menu.c:139
+msgid "Sort by Exif-date"
+msgstr "Trier par date Exif"
+
+#: ../src/menu.c:142
 msgid "Unsorted"
 msgstr "Non trié"
 
-#: ../src/menu.c:142
+#: ../src/menu.c:145
 msgid "Sort by path"
 msgstr "Trier par chemin"
 
-#: ../src/menu.c:145
+#: ../src/menu.c:148
 msgid "Sort by number"
 msgstr "Trier par valeur numérique"
 
-#: ../src/menu.c:149
+#: ../src/menu.c:152
 msgid "Sort by name"
 msgstr "Trier par nom"
 
-#: ../src/menu.c:199
+#: ../src/menu.c:203
 msgid "Sort"
 msgstr "Trier"
 
-#: ../src/menu.c:224
+#: ../src/menu.c:228
 msgid "Rotate _180"
 msgstr "Rotation de _180°"
 
-#: ../src/metadata.c:1382
+#: ../src/metadata.c:1599
 msgid "People"
 msgstr "Personnes"
 
-#: ../src/metadata.c:1383
+#: ../src/metadata.c:1600
 msgid "Family"
 msgstr "Famille"
 
-#: ../src/metadata.c:1384
+#: ../src/metadata.c:1601
 msgid "Free time"
 msgstr "Temps libre"
 
-#: ../src/metadata.c:1385
+#: ../src/metadata.c:1602
 msgid "Children"
 msgstr "Enfants"
 
-#: ../src/metadata.c:1386
+#: ../src/metadata.c:1603
 msgid "Sport"
 msgstr "Sport"
 
-#: ../src/metadata.c:1387
+#: ../src/metadata.c:1604
 msgid "Culture"
 msgstr "Culture"
 
-#: ../src/metadata.c:1388
+#: ../src/metadata.c:1605
 msgid "Festival"
 msgstr "Festival"
 
-#: ../src/metadata.c:1389
+#: ../src/metadata.c:1606
 msgid "Nature"
 msgstr "Nature"
 
-#: ../src/metadata.c:1390
+#: ../src/metadata.c:1607
 msgid "Animal"
 msgstr "Animal"
 
-#: ../src/metadata.c:1391
+#: ../src/metadata.c:1608
 msgid "Bird"
 msgstr "Oiseau"
 
-#: ../src/metadata.c:1392
+#: ../src/metadata.c:1609
 msgid "Insect"
 msgstr "Insecte"
 
-#: ../src/metadata.c:1393
+#: ../src/metadata.c:1610
 msgid "Pets"
 msgstr "Animaux familiers"
 
-#: ../src/metadata.c:1394
+#: ../src/metadata.c:1611
 msgid "Wildlife"
 msgstr "Vie sauvage"
 
-#: ../src/metadata.c:1395
+#: ../src/metadata.c:1612
 msgid "Zoo"
 msgstr "Zoo"
 
-#: ../src/metadata.c:1396
+#: ../src/metadata.c:1613
 msgid "Plant"
 msgstr "Plante"
 
-#: ../src/metadata.c:1397
+#: ../src/metadata.c:1614
 msgid "Tree"
 msgstr "Arbre"
 
-#: ../src/metadata.c:1398
+#: ../src/metadata.c:1615
 msgid "Flower"
 msgstr "Fleur"
 
-#: ../src/metadata.c:1399
+#: ../src/metadata.c:1616
 msgid "Water"
 msgstr "Eau"
 
-#: ../src/metadata.c:1400
+#: ../src/metadata.c:1617
 msgid "River"
 msgstr "Rivière"
 
-#: ../src/metadata.c:1401
+#: ../src/metadata.c:1618
 msgid "Lake"
 msgstr "Lac"
 
-#: ../src/metadata.c:1402
+#: ../src/metadata.c:1619
 msgid "Sea"
 msgstr "Mer"
 
-#: ../src/metadata.c:1403 ../src/print.c:375
+#: ../src/metadata.c:1620 ../src/print.c:375
 msgid "Landscape"
 msgstr "Paysage"
 
-#: ../src/metadata.c:1404
+#: ../src/metadata.c:1621
 msgid "Art"
 msgstr "Art"
 
-#: ../src/metadata.c:1405
+#: ../src/metadata.c:1622
 msgid "Statue"
 msgstr "Statue"
 
-#: ../src/metadata.c:1406
+#: ../src/metadata.c:1623
 msgid "Painting"
 msgstr "Peinture"
 
-#: ../src/metadata.c:1407 ../src/metadata.c:1421
+#: ../src/metadata.c:1624 ../src/metadata.c:1638
 msgid "Historic"
 msgstr "Historique"
 
-#: ../src/metadata.c:1408 ../src/metadata.c:1422
+#: ../src/metadata.c:1625 ../src/metadata.c:1639
 msgid "Modern"
 msgstr "Moderne"
 
-#: ../src/metadata.c:1409
+#: ../src/metadata.c:1626
 msgid "City"
 msgstr "Ville"
 
-#: ../src/metadata.c:1410
+#: ../src/metadata.c:1627
 msgid "Park"
 msgstr "Parc"
 
-#: ../src/metadata.c:1411
+#: ../src/metadata.c:1628
 msgid "Street"
 msgstr "Rue"
 
-#: ../src/metadata.c:1412
+#: ../src/metadata.c:1629
 msgid "Square"
 msgstr "Square"
 
-#: ../src/metadata.c:1413
+#: ../src/metadata.c:1630
 msgid "Architecture"
 msgstr "Architecture"
 
-#: ../src/metadata.c:1414
+#: ../src/metadata.c:1631
 msgid "Buildings"
 msgstr "Constructions"
 
-#: ../src/metadata.c:1415
+#: ../src/metadata.c:1632
 msgid "House"
 msgstr "Maison"
 
-#: ../src/metadata.c:1416
+#: ../src/metadata.c:1633
 msgid "Cathedral"
 msgstr "Cathédrale"
 
-#: ../src/metadata.c:1417
+#: ../src/metadata.c:1634
 msgid "Palace"
 msgstr "Palais"
 
-#: ../src/metadata.c:1418
+#: ../src/metadata.c:1635
 msgid "Castle"
 msgstr "Château"
 
-#: ../src/metadata.c:1419
+#: ../src/metadata.c:1636
 msgid "Bridge"
 msgstr "Pont"
 
-#: ../src/metadata.c:1420
+#: ../src/metadata.c:1637
 msgid "Interior"
 msgstr "Intérieur"
 
-#: ../src/metadata.c:1423
+#: ../src/metadata.c:1640
 msgid "Places"
 msgstr "Lieux"
 
-#: ../src/metadata.c:1424
+#: ../src/metadata.c:1641
 msgid "Conditions"
 msgstr "Conditions"
 
-#: ../src/metadata.c:1425
+#: ../src/metadata.c:1642
 msgid "Night"
 msgstr "Nuit"
 
-#: ../src/metadata.c:1426
+#: ../src/metadata.c:1643
 msgid "Lights"
 msgstr "Lumières"
 
-#: ../src/metadata.c:1427
+#: ../src/metadata.c:1644
 msgid "Reflections"
 msgstr "Réflexions"
 
-#: ../src/metadata.c:1428
+#: ../src/metadata.c:1645
 msgid "Sun"
 msgstr "Soleil"
 
-#: ../src/metadata.c:1429
+#: ../src/metadata.c:1646
 msgid "Weather"
 msgstr "Méteorologie"
 
-#: ../src/metadata.c:1430
+#: ../src/metadata.c:1647
 msgid "Fog"
 msgstr "Brouillard"
 
-#: ../src/metadata.c:1431
+#: ../src/metadata.c:1648
 msgid "Rain"
 msgstr "Pluie"
 
-#: ../src/metadata.c:1432
+#: ../src/metadata.c:1649
 msgid "Clouds"
 msgstr "Nuages"
 
-#: ../src/metadata.c:1433
+#: ../src/metadata.c:1650
 msgid "Snow"
 msgstr "Neige"
 
-#: ../src/metadata.c:1434
+#: ../src/metadata.c:1651
 msgid "Sunny weather"
 msgstr "Temps ensoleillé"
 
-#: ../src/metadata.c:1435
+#: ../src/metadata.c:1652
 msgid "Photo"
 msgstr "Photo"
 
-#: ../src/metadata.c:1436
+#: ../src/metadata.c:1653
 msgid "Edited"
 msgstr "Editée"
 
-#: ../src/metadata.c:1437
+#: ../src/metadata.c:1654
 msgid "Detail"
 msgstr "Détail"
 
-#: ../src/metadata.c:1438
+#: ../src/metadata.c:1655
 msgid "Macro"
 msgstr "Macro"
 
-#: ../src/metadata.c:1439 ../src/print.c:374
+#: ../src/metadata.c:1656 ../src/print.c:374
 msgid "Portrait"
 msgstr "Portrait"
 
-#: ../src/metadata.c:1440
+#: ../src/metadata.c:1657
 msgid "Black and White"
 msgstr "Noir et blanc"
 
-#: ../src/metadata.c:1441
+#: ../src/metadata.c:1658
 msgid "Perspective"
 msgstr "Perspective"
 
-#: ../src/options.c:138 ../src/ui_bookmark.c:550
+#: ../src/options.c:145 ../src/ui_bookmark.c:552
 msgid "Desktop"
 msgstr "Bureau"
 
@@ -3519,167 +3577,167 @@
 msgid "Sorting images..."
 msgstr "Tri des images..."
 
-#: ../src/pan-view.c:1546 ../src/print.c:2650
+#: ../src/pan-view.c:1554 ../src/print.c:2613
 msgid "Filename:"
 msgstr "Nom du fichier :"
 
-#: ../src/pan-view.c:1548 ../src/pan-view.c:2384 ../src/preferences.c:1353
+#: ../src/pan-view.c:1556 ../src/pan-view.c:2408 ../src/preferences.c:1514
 msgid "Location:"
 msgstr "Emplacement :"
 
-#: ../src/pan-view.c:1550 ../src/pan-view.c:1916
+#: ../src/pan-view.c:1558 ../src/pan-view.c:1924
 msgid "Date:"
 msgstr "Date :"
 
-#: ../src/pan-view.c:1552 ../src/preferences.c:1174 ../src/print.c:3263
-#: ../src/print.c:3474
+#: ../src/pan-view.c:1560 ../src/preferences.c:1335 ../src/print.c:3226
+#: ../src/print.c:3437
 msgid "Size:"
 msgstr "Taille :"
 
-#: ../src/pan-view.c:1654
+#: ../src/pan-view.c:1662
 msgid "path found"
 msgstr "chemin trouvé"
 
-#: ../src/pan-view.c:1654
+#: ../src/pan-view.c:1662
 msgid "filename found"
 msgstr "fichier trouvé"
 
-#: ../src/pan-view.c:1702
+#: ../src/pan-view.c:1710
 msgid "partial match"
 msgstr "correspondance partielle"
 
-#: ../src/pan-view.c:1913 ../src/pan-view.c:1946
+#: ../src/pan-view.c:1921 ../src/pan-view.c:1954
 msgid "no match"
 msgstr "pas de correspondance"
 
-#: ../src/pan-view.c:2272 ../src/search.c:2215
+#: ../src/pan-view.c:2296 ../src/search.c:2205
 msgid "Folder not found"
 msgstr "Dossier inexistant"
 
-#: ../src/pan-view.c:2273
+#: ../src/pan-view.c:2297
 msgid "The entered path is not a folder"
 msgstr "Le chemin ne correspond pas à un dossier"
 
-#: ../src/pan-view.c:2368
+#: ../src/pan-view.c:2392
 msgid "Pan View"
 msgstr "Affichage panoramique"
 
-#: ../src/pan-view.c:2393
+#: ../src/pan-view.c:2417
 msgid "Timeline"
 msgstr "Echelle de temps"
 
-#: ../src/pan-view.c:2394
+#: ../src/pan-view.c:2418
 msgid "Calendar"
 msgstr "Calendrier"
 
-#: ../src/pan-view.c:2396
+#: ../src/pan-view.c:2420
 msgid "Folders (flower)"
 msgstr "Dossiers (fleur)"
 
-#: ../src/pan-view.c:2397
+#: ../src/pan-view.c:2421
 msgid "Grid"
 msgstr "Grille"
 
-#: ../src/pan-view.c:2406
+#: ../src/pan-view.c:2430
 msgid "Dots"
 msgstr "Points"
 
-#: ../src/pan-view.c:2407
+#: ../src/pan-view.c:2431
 msgid "No Images"
 msgstr "Aucune image"
 
-#: ../src/pan-view.c:2408
+#: ../src/pan-view.c:2432
 msgid "Small Thumbnails"
 msgstr "Vignettes réduites"
 
-#: ../src/pan-view.c:2409
+#: ../src/pan-view.c:2433
 msgid "Normal Thumbnails"
 msgstr "Vignettes normales"
 
-#: ../src/pan-view.c:2410
+#: ../src/pan-view.c:2434
 msgid "Large Thumbnails"
 msgstr "Vignettes larges"
 
-#: ../src/pan-view.c:2411 ../src/pan-view.c:2873
+#: ../src/pan-view.c:2435 ../src/pan-view.c:2895
 msgid "1:10 (10%)"
 msgstr "1:10 (10%)"
 
-#: ../src/pan-view.c:2412 ../src/pan-view.c:2869
+#: ../src/pan-view.c:2436 ../src/pan-view.c:2891
 msgid "1:4 (25%)"
 msgstr "1:4 (25%)"
 
-#: ../src/pan-view.c:2413 ../src/pan-view.c:2865
+#: ../src/pan-view.c:2437 ../src/pan-view.c:2887
 msgid "1:3 (33%)"
 msgstr "1:3 (33%)"
 
-#: ../src/pan-view.c:2414 ../src/pan-view.c:2861
+#: ../src/pan-view.c:2438 ../src/pan-view.c:2883
 msgid "1:2 (50%)"
 msgstr "1:2 (50%)"
 
-#: ../src/pan-view.c:2415
+#: ../src/pan-view.c:2439
 msgid "1:1 (100%)"
 msgstr "1:1 (100%)"
 
-#: ../src/pan-view.c:2463
+#: ../src/pan-view.c:2487
 msgid "Find:"
 msgstr "Rechercher :"
 
-#: ../src/pan-view.c:2506
+#: ../src/pan-view.c:2530
 msgid "Use Exif date"
 msgstr "Utiliser la date Exif"
 
-#: ../src/pan-view.c:2519
+#: ../src/pan-view.c:2543
 msgid "Find"
 msgstr "Rechercher"
 
-#: ../src/pan-view.c:2586
+#: ../src/pan-view.c:2610
 msgid "Pan View Performance"
 msgstr "Performances vue panoramique"
 
-#: ../src/pan-view.c:2593
+#: ../src/pan-view.c:2617
 msgid "Pan view performance may be poor."
 msgstr "Les performances de la vue panoramique pourraient être mauvaises."
 
-#: ../src/pan-view.c:2594
+#: ../src/pan-view.c:2618
 msgid ""
 "To improve performance of thumbnails in the pan view the following options "
 "can be enabled. Note that both options must be enabled to notice a change in "
 "performance."
 msgstr ""
 "Pour améliorer la vitesse de génération des vignettes dans la vue "
-"panoramique, les options suivantes peuvent être utilisées. Notez que les deux "
-"options doivent être validées pour apprécier un changement dans les "
+"panoramique, les options suivantes peuvent être utilisées. Notez que les "
+"deux options doivent être validées pour apprécier un changement dans les "
 "performances."
 
-#: ../src/pan-view.c:2602 ../src/preferences.c:1177
+#: ../src/pan-view.c:2626 ../src/preferences.c:1338
 msgid "Cache thumbnails"
 msgstr "Mettre en cache les vignettes"
 
-#: ../src/pan-view.c:2604
+#: ../src/pan-view.c:2628
 msgid "Use shared thumbnail cache"
 msgstr "Utiliser un cache partagé pour les vignettes"
 
-#: ../src/pan-view.c:2610
+#: ../src/pan-view.c:2634
 msgid "Do not show this dialog again"
 msgstr "Ne plus afficher ce message"
 
-#: ../src/pan-view.c:2841
+#: ../src/pan-view.c:2863
 msgid "Sort by E_xif date"
 msgstr "Trier par date E_xif"
 
-#: ../src/pan-view.c:2847
+#: ../src/pan-view.c:2869
 msgid "_Show Exif information"
 msgstr "_Montrer les infos Exif"
 
-#: ../src/pan-view.c:2849
+#: ../src/pan-view.c:2871
 msgid "Show im_age"
 msgstr "Montrer im_age"
 
-#: ../src/pan-view.c:2853
+#: ../src/pan-view.c:2875
 msgid "_None"
 msgstr "_Aucun"
 
-#: ../src/pan-view.c:2857
+#: ../src/pan-view.c:2879
 msgid "_Full size"
 msgstr "_Pleine taille"
 
@@ -3691,43 +3749,67 @@
 msgid "RAW Image"
 msgstr "Image RAW"
 
-#: ../src/preferences.c:417
+#: ../src/preferences.c:439
 msgid "Nearest (worst, but fastest)"
 msgstr "Au plus près (moins bon, plus rapide)"
 
-#: ../src/preferences.c:419
+#: ../src/preferences.c:441
 msgid "Tiles"
 msgstr "Tuiles"
 
-#: ../src/preferences.c:421
+#: ../src/preferences.c:443
 msgid "Bilinear"
 msgstr "Bilinéaire"
 
-#: ../src/preferences.c:423
+#: ../src/preferences.c:445
 msgid "Hyper (best, but slowest)"
 msgstr "Hyper (meilleur, plus lent)"
 
-#: ../src/preferences.c:451
-msgid "None"
-msgstr "Aucune"
-
-#: ../src/preferences.c:452
-msgid "Normal"
-msgstr "Normale"
-
-#: ../src/preferences.c:453
-msgid "Best"
-msgstr "Meilleure"
-
-#: ../src/preferences.c:515 ../src/print.c:380
+#: ../src/preferences.c:510 ../src/print.c:380
 msgid "Custom"
 msgstr "Spécifique"
 
-#: ../src/preferences.c:757 ../src/preferences.c:760
+#: ../src/preferences.c:575
+msgid "Single image"
+msgstr "Image simple"
+
+#: ../src/preferences.c:577
+msgid "Anaglyph Red-Cyan"
+msgstr "Anaglyphe Rouge-Cyan"
+
+#: ../src/preferences.c:579
+msgid "Anaglyph Gray Red-Cyan"
+msgstr "Anaglyphe Gris Rouge-Cyan"
+
+#: ../src/preferences.c:581
+msgid "Anaglyph Dubois"
+msgstr "Anaglyphe Dubois"
+
+#: ../src/preferences.c:584
+msgid "Side by Side"
+msgstr "Côte-à-côte"
+
+#: ../src/preferences.c:585
+msgid "Side by Side Half size"
+msgstr "Côte-à-côte demi-taille"
+
+#: ../src/preferences.c:592
+msgid "Top - Bottom"
+msgstr "Haut - Bas"
+
+#: ../src/preferences.c:593
+msgid "Top - Bottom Half size"
+msgstr "Haut - Bas demi-taille"
+
+#: ../src/preferences.c:602 ../src/preferences.c:2192
+msgid "Fixed position"
+msgstr "Position fixe"
+
+#: ../src/preferences.c:899 ../src/preferences.c:902
 msgid "Reset filters"
 msgstr "RAZ des filtres"
 
-#: ../src/preferences.c:761
+#: ../src/preferences.c:903
 msgid ""
 "This will reset the file filters to the defaults.\n"
 "Continue?"
@@ -3735,19 +3817,19 @@
 "Ceci va remettre les filtres de fichiers à leur état par défaut.\n"
 "Continuer ?"
 
-#: ../src/preferences.c:788 ../src/preferences.c:791
+#: ../src/preferences.c:930 ../src/preferences.c:933
 msgid "Clear trash"
 msgstr "Vider la corbeille"
 
-#: ../src/preferences.c:792
+#: ../src/preferences.c:934
 msgid "This will remove the trash contents."
 msgstr "Ceci va supprimer le contenu de la corbeille."
 
-#: ../src/preferences.c:836 ../src/preferences.c:839
+#: ../src/preferences.c:978 ../src/preferences.c:981
 msgid "Reset image overlay template string"
 msgstr "Restaurer le modèle par défaut pour l'affichage en surimpression"
 
-#: ../src/preferences.c:840
+#: ../src/preferences.c:982
 msgid ""
 "This will reset the image overlay template string to the default.\n"
 "Continue?"
@@ -3756,20 +3838,20 @@
 "défaut.\n"
 "Continuer ?"
 
-#: ../src/preferences.c:1169
+#: ../src/preferences.c:1330
 msgid "General"
 msgstr "Général"
 
-#: ../src/preferences.c:1175 ../src/preferences.c:1248
+#: ../src/preferences.c:1336 ../src/preferences.c:1406
 msgid "Quality:"
 msgstr "Qualité :"
 
-#: ../src/preferences.c:1183
+#: ../src/preferences.c:1344
 msgid "Use standard thumbnail cache, shared with other applications"
 msgstr ""
 "Utiliser le cache de vignettes standard, partagé avec les autres applications"
 
-#: ../src/preferences.c:1189
+#: ../src/preferences.c:1350
 msgid ""
 "Store thumbnails in '.thumbnails' folder, local to image folder (non-"
 "standard)"
@@ -3777,181 +3859,181 @@
 "Sauver les vignettes dans le dossier « .thumbnails », local au dossier de "
 "l'image (non-standard)"
 
-#: ../src/preferences.c:1193
+#: ../src/preferences.c:1354
 msgid "Use xvpics thumbnails when found (read only)"
 msgstr "Utiliser les vignettes xvpics si existantes (lecture seule)"
 
-#: ../src/preferences.c:1197
+#: ../src/preferences.c:1358
 msgid "Use EXIF thumbnails when available (EXIF thumbnails may be outdated)"
 msgstr ""
 "Utiliser les vignettes EXIF si disponibles (les vignettes EXIF peuvent ne "
 "pas être à jour)"
 
-#: ../src/preferences.c:1200
+#: ../src/preferences.c:1361
 msgid "Slide show"
 msgstr "Diaporama"
 
-#: ../src/preferences.c:1203
+#: ../src/preferences.c:1364
 msgid "Delay between image change:"
 msgstr "Délai entre deux images :"
 
-#: ../src/preferences.c:1203
+#: ../src/preferences.c:1364
 msgid "seconds"
 msgstr "secondes"
 
-#: ../src/preferences.c:1209
+#: ../src/preferences.c:1370
 msgid "Random"
 msgstr "Aléatoire"
 
-#: ../src/preferences.c:1210
+#: ../src/preferences.c:1371
 msgid "Repeat"
 msgstr "En boucle"
 
-#: ../src/preferences.c:1212
+#: ../src/preferences.c:1373
 msgid "Image loading and caching"
 msgstr "Chargement et cache des images"
 
-#: ../src/preferences.c:1215
+#: ../src/preferences.c:1376
 msgid "Offscreen cache size (Mb per image):"
 msgstr "Taille du cache mémoire hors-écran (Mo par image) :"
 
-#: ../src/preferences.c:1219
+#: ../src/preferences.c:1380
 msgid "Decoded image cache size (Mb):"
 msgstr "Taille du cache mémoire pour les images décodées (Mo) :"
 
-#: ../src/preferences.c:1221
+#: ../src/preferences.c:1382
 msgid "Preload next image"
 msgstr "Précharger l'image suivante"
 
-#: ../src/preferences.c:1224
+#: ../src/preferences.c:1385
 msgid "Refresh on file change"
 msgstr "Rafraîchir la liste des fichiers"
 
-#: ../src/preferences.c:1242
+#: ../src/preferences.c:1403
 msgid "Zoom"
 msgstr "Zoom"
 
-#: ../src/preferences.c:1245
-msgid "Dithering method:"
-msgstr "Méthode de dithering :"
-
-#: ../src/preferences.c:1250
+#: ../src/preferences.c:1408
 msgid "Two pass rendering (apply HQ zoom and color correction in second pass)"
 msgstr ""
 "Rendu en 2 passes (applique le zoom haute qualité et la correction "
 "colorimétrique durant la seconde passe)"
 
-#: ../src/preferences.c:1253
+#: ../src/preferences.c:1411
 msgid "Allow enlargement of image for zoom to fit"
 msgstr "Permettre d'agrandir les images pour que le zoom convienne"
 
-#: ../src/preferences.c:1257
+#: ../src/preferences.c:1415
 msgid "Limit image size when autofitting (%):"
 msgstr "Limiter la taille de l'image lors de l'auto-dimensionnement (%) :"
 
-#: ../src/preferences.c:1265
+#: ../src/preferences.c:1423
 msgid "Zoom increment:"
 msgstr "Incrément de zoom :"
 
-#: ../src/preferences.c:1270
+#: ../src/preferences.c:1428
 msgid "When new image is selected:"
 msgstr "Sélection d'une nouvelle image :"
 
-#: ../src/preferences.c:1274
+#: ../src/preferences.c:1432
 msgid "Zoom to original size"
 msgstr "Zoom à la taille d'origine"
 
-#: ../src/preferences.c:1277
+#: ../src/preferences.c:1435
 msgid "Fit image to window"
 msgstr "Mettre à la taille de la fenêtre"
 
-#: ../src/preferences.c:1280
+#: ../src/preferences.c:1438
 msgid "Leave Zoom at previous setting"
 msgstr "Garder la valeur précédente du zoom"
 
-#: ../src/preferences.c:1286
+#: ../src/preferences.c:1444
 msgid "Scroll to top left corner"
 msgstr "Défiler au coin en haut à gauche"
 
-#: ../src/preferences.c:1289
+#: ../src/preferences.c:1447
 msgid "Scroll to image center"
 msgstr "Défiler au centre de l'image"
 
-#: ../src/preferences.c:1292
+#: ../src/preferences.c:1450
 msgid "Keep the region from previous image"
 msgstr "Garder la région de l'image précédente"
 
-#: ../src/preferences.c:1297
+#: ../src/preferences.c:1455
 msgid "Appearance"
 msgstr "Apparence"
 
-#: ../src/preferences.c:1299
+#: ../src/preferences.c:1457
 msgid "Use custom border color in window mode"
 msgstr "Utiliser une couleur de bordure personnalisée en mode fenêtré"
 
-#: ../src/preferences.c:1302
+#: ../src/preferences.c:1460
 msgid "Use custom border color in fullscreen mode"
 msgstr "Utiliser une couleur de bordure personnalisée en mode plein écran"
 
-#: ../src/preferences.c:1305
+#: ../src/preferences.c:1463
 msgid "Border color"
 msgstr "Couleur de bordure"
 
-#: ../src/preferences.c:1308
+#: ../src/preferences.c:1466
 msgid "Convenience"
 msgstr "Commodités"
 
-#: ../src/preferences.c:1310
+#: ../src/preferences.c:1468
 msgid "Auto rotate image using Exif information"
 msgstr "Rotation automatique de l'image à l'aide des informations Exif"
 
-#: ../src/preferences.c:1327
+#: ../src/preferences.c:1471
+msgid "Auto rotate proofs using Exif information"
+msgstr "Rotation automatique des épreuves en fonction des informations Exif"
+
+#: ../src/preferences.c:1488
 msgid "Windows"
 msgstr "Fenêtres"
 
-#: ../src/preferences.c:1329
+#: ../src/preferences.c:1490
 msgid "State"
 msgstr "État"
 
-#: ../src/preferences.c:1331
+#: ../src/preferences.c:1492
 msgid "Remember window positions"
 msgstr "Se rappeler la position des fenêtres"
 
-#: ../src/preferences.c:1333
+#: ../src/preferences.c:1494
 msgid "Remember tool state (float/hidden)"
 msgstr "Se rappeler l'état des outils (flottants/cachés)"
 
-#: ../src/preferences.c:1338
+#: ../src/preferences.c:1499
 msgid "Fit window to image when tools are hidden/floating"
 msgstr ""
 "Mettre la fenêtre à la taille de l'image quand les outils sont cachés/"
 "flottants"
 
-#: ../src/preferences.c:1342
+#: ../src/preferences.c:1503
 msgid "Limit size when auto-sizing window (%):"
 msgstr "Limiter la taille quand la fenêtre est auto-dimensionnable (%) :"
 
-#: ../src/preferences.c:1357
+#: ../src/preferences.c:1518
 msgid "Smooth image flip"
 msgstr "Lisser le basculement d'image"
 
-#: ../src/preferences.c:1359
+#: ../src/preferences.c:1520
 msgid "Disable screen saver"
 msgstr "Inhiber l'économiseur d'écran"
 
-#: ../src/preferences.c:1363
+#: ../src/preferences.c:1524
 msgid "Overlay Screen Display"
 msgstr "Affichage en surimpression (OSD)"
 
-#: ../src/preferences.c:1365
+#: ../src/preferences.c:1526
 msgid "Image overlay template"
 msgstr "Modèle pour l'affichage en surimpression"
 
-#: ../src/preferences.c:1379
+#: ../src/preferences.c:1540
 msgid ""
 "<i>%name%</i> results in the filename of the picture.\n"
-"Also available: <i>%collection%</i>, <i>%number%</i>, <i>%total%</i>, <i>%"
-"date%</i>,\n"
+"Also available: <i>%collection%</i>, <i>%number%</i>, <i>%total%</i>, <i>"
+"%date%</i>,\n"
 "<i>%size%</i> (filesize), <i>%width%</i>, <i>%height%</i>, <i>%res%</i> "
 "(resolution)\n"
 "To access exif data use the exif name, e. g. <i>%formatted.Camera%</i> is "
@@ -3961,89 +4043,89 @@
 "characters and will add 3 dots at the end to denote the truncation.\n"
 "If two or more variables are connected with the |-sign, it prints available "
 "variables with a separator.\n"
-"<i>%formatted.ShutterSpeed%</i>|<i>%formatted.ISOSpeedRating%</i>|<i>%"
-"formatted.FocalLength%</i> could show \"1/20s - 400 - 80 mm\" or \"1/200 - "
+"<i>%formatted.ShutterSpeed%</i>|<i>%formatted.ISOSpeedRating%</i>|<i>"
+"%formatted.FocalLength%</i> could show \"1/20s - 400 - 80 mm\" or \"1/200 - "
 "80 mm\",\n"
 "if there's no ISO information in the Exif data.\n"
-"If a line is empty, it is removed. This allows to add lines that totally "
+"If a line is empty, it is removed. This allows one to add lines that totally "
 "disappear when no data is available.\n"
 msgstr ""
 "<i>%name%</i> correspond au nom de l'image.\n"
-"Aussi disponibles : <i>%collection%</i>, <i>%number%</i>, <i>%total%</i>, <i>%"
-"date%</i>,\n"
+"Aussi disponibles : <i>%collection%</i>, <i>%number%</i>, <i>%total%</i>, <i>"
+"%date%</i>,\n"
 "<i>%size%</i> (taille du fichier), <i>%width%</i> (largeur), <i>%height%</i> "
 "(hauteur), <i>%res%</i> (résolution)\n"
-"Pour afficher les données Exif, utilisez le nom exif, par exemple <i>%"
-"formatted.Camera%</i> est le nom formaté de l'appareil.\n"
+"Pour afficher les données Exif, utilisez le nom exif, par exemple <i>"
+"%formatted.Camera%</i> est le nom formaté de l'appareil.\n"
 "<i>%Exif.Photo.DateTimeOriginal%</i> la date de la photo d'origine.\n"
 "La notation <i>%formatted.Camera:20</i> permet de tronquer l'affichage de "
 "cette donnée à 20 caractères, 3 points seront ajoutés à la fin pour "
 "l'indiquer.\n"
 "Si deux variables ou plus sont séparées par le caractère |, les variables "
 "disponibles seront affichées avec un séparateur.\n"
-"<i>%formatted.ShutterSpeed%</i>|<i>%formatted.ISOSpeedRating%</i>|<i>%"
-"formatted.FocalLength%</i> montrera \"1/20s - 400 - 80 mm\" ou \"1/200 - 80 "
+"<i>%formatted.ShutterSpeed%</i>|<i>%formatted.ISOSpeedRating%</i>|<i>"
+"%formatted.FocalLength%</i> montrera \"1/20s - 400 - 80 mm\" ou \"1/200 - 80 "
 "mm\",\n"
 "s'il n'y a pas d'information ISO dans les données Exif.\n"
 "Si une ligne est vide, elle n'est pas affichée. Cela permet d'ajouter des "
-"lignes qui disparaitront totalement si aucune donnée n'est disponible.\n"
-
-#: ../src/preferences.c:1396 ../src/preferences.c:1569
-#: ../src/preferences.c:1941
+"lignes qui disparaîtront totalement si aucune donnée n'est disponible.\n"
+
+#: ../src/preferences.c:1557 ../src/preferences.c:1733
+#: ../src/preferences.c:2106
 msgid "Defaults"
 msgstr "Configuration par défaut"
 
-#: ../src/preferences.c:1450
+#: ../src/preferences.c:1611
 msgid "Show hidden files or folders"
 msgstr "Montrer les fichiers ou dossiers cachés"
 
-#: ../src/preferences.c:1453
+#: ../src/preferences.c:1614
 msgid "Show dot directory"
 msgstr "Montrer le répertoire point"
 
-#: ../src/preferences.c:1456
+#: ../src/preferences.c:1617
 msgid "Case sensitive sort"
 msgstr "Tri sensible à la casse"
 
-#: ../src/preferences.c:1459
+#: ../src/preferences.c:1620
 msgid "Disable File Filtering"
 msgstr "Désactiver les filtres de fichiers"
 
-#: ../src/preferences.c:1463
+#: ../src/preferences.c:1624
 msgid "Grouping sidecar extensions"
 msgstr "Groupage des extensions de fichiers sidecars"
 
-#: ../src/preferences.c:1470
+#: ../src/preferences.c:1631
 msgid "File types"
 msgstr "Types de fichier"
 
-#: ../src/preferences.c:1492
+#: ../src/preferences.c:1653
 msgid "Filter"
 msgstr "Filtre"
 
-#: ../src/preferences.c:1524
+#: ../src/preferences.c:1688
 msgid "Class"
 msgstr "Classe"
 
-#: ../src/preferences.c:1541
+#: ../src/preferences.c:1705
 msgid "Writable"
 msgstr "Inscriptible"
 
-#: ../src/preferences.c:1552
+#: ../src/preferences.c:1716
 msgid "Sidecar is allowed"
 msgstr "Sidecar permis"
 
-#: ../src/preferences.c:1598
+#: ../src/preferences.c:1762
 msgid "Metadata writing process"
 msgstr "Processus d'écriture des méta-données"
 
-#: ../src/preferences.c:1600
+#: ../src/preferences.c:1764
 msgid "Warning: Geeqie is built without Exiv2. Some options are disabled."
 msgstr ""
 "Attention : Geeqie a été compilé sans Exiv2, quelques options sont donc "
 "inaccessibles."
 
-#: ../src/preferences.c:1602
+#: ../src/preferences.c:1766
 msgid ""
 "Metadata are written in the following order. The process ends after first "
 "success."
@@ -4051,7 +4133,7 @@
 "Les méta-données sont écrites dans l'ordre suivant. Le processus se termine "
 "dès le premier succès."
 
-#: ../src/preferences.c:1605
+#: ../src/preferences.c:1769
 msgid ""
 "1) Save metadata in image files, resp. sidecar files, according to the XMP "
 "standard"
@@ -4059,23 +4141,23 @@
 "1) Sauver les méta-données dans les fichiers images, les fichiers sidecars, "
 "en accord avec le standard XMP"
 
-#: ../src/preferences.c:1611
+#: ../src/preferences.c:1775
 msgid ""
 "2) Save metadata in '.metadata' folder, local to image folder (non-standard)"
 msgstr ""
-"2) Sauver les méta-données dans le dossier « .metadata », local au dossier de "
-"l'image (non-standard)"
-
-#: ../src/preferences.c:1614
+"2) Sauver les méta-données dans le dossier « .metadata », local au dossier "
+"de l'image (non-standard)"
+
+#: ../src/preferences.c:1778
 #, c-format
 msgid "3) Save metadata in Geeqie private directory '%s'"
 msgstr "3) Sauver les méta-données dans le répertoire privé de Geeqie « %s »"
 
-#: ../src/preferences.c:1619
+#: ../src/preferences.c:1784
 msgid "Step 1: Write to image files"
 msgstr "Étape 1 : écriture dans les fichiers images"
 
-#: ../src/preferences.c:1627
+#: ../src/preferences.c:1792
 msgid ""
 "Store metadata also in legacy IPTC tags (converted according to IPTC4XMP "
 "standard)"
@@ -4083,19 +4165,19 @@
 "Sauver aussi les méta-données dans les tags IPTC (convertis en accord avec "
 "le standard IPTC4XMP)"
 
-#: ../src/preferences.c:1630
+#: ../src/preferences.c:1795
 msgid "Warn if the image files are unwritable"
 msgstr "Prévenir si les images sont protégées en écriture"
 
-#: ../src/preferences.c:1633
+#: ../src/preferences.c:1798
 msgid "Ask before writing to image files"
 msgstr "Demander avant l'écriture dans les images"
 
-#: ../src/preferences.c:1636
+#: ../src/preferences.c:1801
 msgid "Step 2 and 3: write to Geeqie private files"
 msgstr "Étapes 2 et 3 : écriture dans les fichiers privés de Geeqie"
 
-#: ../src/preferences.c:1641
+#: ../src/preferences.c:1806
 msgid ""
 "Use GQview legacy metadata format (supports only keywords and comments) "
 "instead of XMP"
@@ -4103,11 +4185,11 @@
 "Utiliser le format de méta-données historique de GQview (supporte seulement "
 "les mots-clés et les commentaires) au lieu de XMP"
 
-#: ../src/preferences.c:1645 ../src/preferences.c:1833
+#: ../src/preferences.c:1810 ../src/preferences.c:1998
 msgid "Miscellaneous"
 msgstr "Divers"
 
-#: ../src/preferences.c:1646
+#: ../src/preferences.c:1811
 msgid ""
 "Write the same description tags (keywords, comment, etc.) to all grouped "
 "sidecars"
@@ -4115,188 +4197,244 @@
 "Écrire les mêmes balises de description (mots-clés, commentaires, etc.) dans "
 "tous les fichiers sidecars groupés"
 
-#: ../src/preferences.c:1649
+#: ../src/preferences.c:1814
 msgid "Allow keywords to differ only in case"
 msgstr "Permettre aux mots-clés de différer sur la casse"
 
-#: ../src/preferences.c:1652
+#: ../src/preferences.c:1817
 msgid "Write altered image orientation to the metadata"
 msgstr "Sauver l'orientation modifiée dans les méta-données"
 
-#: ../src/preferences.c:1658
+#: ../src/preferences.c:1823
 msgid "Auto-save options"
 msgstr "Options de sauvegarde automatique"
 
-#: ../src/preferences.c:1660
+#: ../src/preferences.c:1825
 msgid "Write metadata after timeout"
 msgstr "Écrire les méta-données après un délai"
 
-#: ../src/preferences.c:1666
+#: ../src/preferences.c:1831
 msgid "Timeout (seconds):"
 msgstr "Délai (secondes) :"
 
-#: ../src/preferences.c:1669
+#: ../src/preferences.c:1834
 msgid "Write metadata on image change"
 msgstr "Écrire les méta-données en cas de modification d'image"
 
-#: ../src/preferences.c:1672
+#: ../src/preferences.c:1837
 msgid "Write metadata on directory change"
 msgstr "Écrire les méta-données après une modification de dossier"
 
-#: ../src/preferences.c:1686
+#: ../src/preferences.c:1851
 msgid "Color management"
 msgstr "Gestion des couleurs"
 
-#: ../src/preferences.c:1688
+#: ../src/preferences.c:1853
 msgid "Input profiles"
 msgstr "Profils d'entrée"
 
-#: ../src/preferences.c:1696
+#: ../src/preferences.c:1861
 msgid "Type"
 msgstr "Type"
 
-#: ../src/preferences.c:1699
+#: ../src/preferences.c:1864
 msgid "Menu name"
 msgstr "Nom du menu"
 
-#: ../src/preferences.c:1702
+#: ../src/preferences.c:1867
 msgid "File"
 msgstr "Fichier"
 
-#: ../src/preferences.c:1710
+#: ../src/preferences.c:1875
 #, c-format
 msgid "Input %d:"
 msgstr "Entrée %d :"
 
-#: ../src/preferences.c:1727 ../src/preferences.c:1747
+#: ../src/preferences.c:1892 ../src/preferences.c:1912
 msgid "Select color profile"
 msgstr "Sélectionner un profil colorimétrique"
 
-#: ../src/preferences.c:1735
+#: ../src/preferences.c:1900
 msgid "Screen profile"
 msgstr "Profil d'écran"
 
-#: ../src/preferences.c:1739
+#: ../src/preferences.c:1904
 msgid "Use system screen profile if available"
 msgstr "Utiliser le profil d'écran du système si disponible"
 
-#: ../src/preferences.c:1744
+#: ../src/preferences.c:1909
 msgid "Screen:"
 msgstr "Écran :"
 
-#: ../src/preferences.c:1766 ../src/preferences.c:1809
+#: ../src/preferences.c:1931 ../src/preferences.c:1974
 msgid "Behavior"
 msgstr "Comportement"
 
-#: ../src/preferences.c:1768 ../src/utilops.c:1971
+#: ../src/preferences.c:1933 ../src/utilops.c:1985
 msgid "Delete"
 msgstr "Suppression"
 
-#: ../src/preferences.c:1770
+#: ../src/preferences.c:1935
 msgid "Confirm file delete"
 msgstr "Confirmer la suppression des fichiers"
 
-#: ../src/preferences.c:1772
+#: ../src/preferences.c:1937
 msgid "Enable Delete key"
 msgstr "Utiliser la touche [Suppr]"
 
-#: ../src/preferences.c:1775
+#: ../src/preferences.c:1940
 msgid "Safe delete"
 msgstr "Suppression récupérable"
 
-#: ../src/preferences.c:1793
+#: ../src/preferences.c:1958
 msgid "Maximum size:"
 msgstr "Taille maximale :"
 
-#: ../src/preferences.c:1793
+#: ../src/preferences.c:1958
 msgid "MB"
 msgstr "Mo"
 
-#: ../src/preferences.c:1796
+#: ../src/preferences.c:1961
 msgid "Set to 0 for unlimited size"
 msgstr "Mettre à zéro pour taille infinie"
 
-#: ../src/preferences.c:1798
+#: ../src/preferences.c:1963
 msgid "View"
 msgstr "Vue"
 
-#: ../src/preferences.c:1811
+#: ../src/preferences.c:1976
 msgid "Rectangular selection in icon view"
 msgstr "Sélection rectangulaire dans la vue en icônes"
 
-#: ../src/preferences.c:1814
+#: ../src/preferences.c:1979
 msgid "Descend folders in tree view"
 msgstr "Parcourir les dossiers dans la vue arborescente"
 
-#: ../src/preferences.c:1817
+#: ../src/preferences.c:1982
 msgid "In place renaming"
 msgstr "Renommer en place"
 
-#: ../src/preferences.c:1820
+#: ../src/preferences.c:1985
 msgid "Open recent list maximum size"
 msgstr "Taille maximale de la liste des fichiers récemment ouverts"
 
-#: ../src/preferences.c:1823
+#: ../src/preferences.c:1988
 msgid "Drag'n drop icon size"
 msgstr "Taille de l'icône du glisser-déplacer"
 
-#: ../src/preferences.c:1826
+#: ../src/preferences.c:1991
 msgid "Navigation"
 msgstr "Navigation"
 
-#: ../src/preferences.c:1828
+#: ../src/preferences.c:1993
 msgid "Progressive keyboard scrolling"
 msgstr "Défilement clavier progressif"
 
-#: ../src/preferences.c:1830
+#: ../src/preferences.c:1995
 msgid "Mouse wheel scrolls image"
 msgstr "Navigation dans l'image avec la molette de la souris"
 
-#: ../src/preferences.c:1835
+#: ../src/preferences.c:2000
 msgid "Custom similarity threshold:"
 msgstr "Seuil de similarité personnalisé :"
 
-#: ../src/preferences.c:1840
+#: ../src/preferences.c:2005
 msgid "Debugging"
 msgstr "Débogage"
 
-#: ../src/preferences.c:1842
+#: ../src/preferences.c:2007
 msgid "Debug level:"
 msgstr "Niveau de débogage :"
 
-#: ../src/preferences.c:1861
+#: ../src/preferences.c:2026
 msgid "Keyboard"
 msgstr "Clavier"
 
-#: ../src/preferences.c:1863
+#: ../src/preferences.c:2028
 msgid "Accelerators"
 msgstr "Raccourcis"
 
-#: ../src/preferences.c:1882
+#: ../src/preferences.c:2047
 msgid "Action"
 msgstr "Action"
 
-#: ../src/preferences.c:1904
+#: ../src/preferences.c:2069
 msgid "KEY"
 msgstr "Touche"
 
-#: ../src/preferences.c:1915
+#: ../src/preferences.c:2080
 msgid "Tooltip"
 msgstr "Infobulle"
 
-#: ../src/preferences.c:1953
+#: ../src/preferences.c:2118
 msgid "Reset selected"
 msgstr "RAZ sélection"
 
-#: ../src/preferences.c:1959
+#: ../src/preferences.c:2124
 msgid "Add Alt"
 msgstr "Ajouter Alt"
 
-#: ../src/preferences.c:1978
+#: ../src/preferences.c:2142
+msgid "Stereo"
+msgstr "Stéréo"
+
+#: ../src/preferences.c:2144 ../src/preferences.c:2147
+msgid "Windowed stereo mode"
+msgstr "Mode stéréo fenêtré"
+
+#: ../src/preferences.c:2151 ../src/preferences.c:2176
+msgid "Mirror left image"
+msgstr "Refléter image de gauche"
+
+#: ../src/preferences.c:2154 ../src/preferences.c:2179
+msgid "Flip left image"
+msgstr "Retourner image de gauche"
+
+#: ../src/preferences.c:2157 ../src/preferences.c:2182
+msgid "Mirror right image"
+msgstr "Refléter image de droite"
+
+#: ../src/preferences.c:2160 ../src/preferences.c:2185
+msgid "Flip right image"
+msgstr "Retourner image de droite"
+
+#: ../src/preferences.c:2162 ../src/preferences.c:2187
+msgid "Swap left and right images"
+msgstr "Échanger les images gauche et droite"
+
+#: ../src/preferences.c:2164 ../src/preferences.c:2189
+msgid "Disable stereo mode on single image source"
+msgstr "Désactiver le mode stéréo sur les images simples"
+
+#: ../src/preferences.c:2167 ../src/preferences.c:2173
+msgid "Fullscreen stereo mode"
+msgstr "Mode stéréo plein écran"
+
+#: ../src/preferences.c:2168
+msgid "Use different settings for fullscreen"
+msgstr "Utiliser des réglages différents en plein écran"
+
+#: ../src/preferences.c:2198
+msgid "Left X"
+msgstr "X gauche"
+
+#: ../src/preferences.c:2200
+msgid "Left Y"
+msgstr "Y gauche"
+
+#: ../src/preferences.c:2202
+msgid "Right X"
+msgstr "X droite"
+
+#: ../src/preferences.c:2204
+msgid "Right Y"
+msgstr "Y droite"
+
+#: ../src/preferences.c:2220
 msgid "Preferences"
 msgstr "Préférences"
 
-#: ../src/preferences.c:2125
+#: ../src/preferences.c:2368
 #, c-format
 msgid ""
 "%s %s\n"
@@ -4325,7 +4463,7 @@
 "\n"
 "Distribué sous GNU General Public License"
 
-#: ../src/preferences.c:2144
+#: ../src/preferences.c:2387
 msgid "Credits..."
 msgstr "Crédits..."
 
@@ -4373,7 +4511,7 @@
 msgid "jpeg, high quality"
 msgstr "JPEG, haute qualité"
 
-#: ../src/print.c:365 ../src/print.c:3263
+#: ../src/print.c:365 ../src/print.c:3226
 msgid "points"
 msgstr "points"
 
@@ -4481,150 +4619,155 @@
 "Impossible d'ouvrir le tube en écriture.\n"
 "« %s »"
 
-#: ../src/print.c:1074 ../src/print.c:1515 ../src/ui_pathsel.c:432
+#: ../src/print.c:1074 ../src/print.c:1466 ../src/ui_pathsel.c:423
 #, c-format
 msgid "A file with name %s already exists."
 msgstr "Un fichier portant le nom %s existe déjà."
 
-#: ../src/print.c:1089 ../src/print.c:1570
+#: ../src/print.c:1089 ../src/print.c:1521
 #, c-format
 msgid "Failure writing to file %s"
 msgstr "Échec à l'écriture dans le fichier %s"
 
 #: ../src/print.c:1144 ../src/print.c:1181 ../src/print.c:1217
-#: ../src/print.c:1334 ../src/print.c:1425 ../src/print.c:1456
+#: ../src/print.c:1334 ../src/print.c:1407
 msgid "SIGPIPE error writing to printer."
 msgstr "Erreur SIGPIPE à l'écriture vers l'imprimante."
 
-#: ../src/print.c:1991
+#: ../src/print.c:1942
 #, c-format
 msgid "Page %d"
 msgstr "Page %d"
 
-#: ../src/print.c:2013 ../src/print.c:2018
+#: ../src/print.c:1968 ../src/print.c:1973
 msgid "Printing error"
 msgstr "Erreur d'impression"
 
-#: ../src/print.c:2017
+#: ../src/print.c:1972
 #, c-format
 msgid "An error occured printing to %s."
 msgstr "Une erreur est apparue lors de l'impression vers %s."
 
-#: ../src/print.c:2021
+#: ../src/print.c:1976
 msgid "Details"
 msgstr "Détails"
 
-#: ../src/print.c:2638 ../src/print.c:3398
+#: ../src/print.c:2601 ../src/print.c:3361
 msgid "Print"
 msgstr "Imprimer"
 
-#: ../src/print.c:2642
+#: ../src/print.c:2605
 #, c-format
 msgid "Printing %d pages to %s."
 msgstr "Impression de %d pages vers %s."
 
-#: ../src/print.c:2742
+#: ../src/print.c:2705
 msgid "Format:"
 msgstr "Format :"
 
-#: ../src/print.c:2817
+#: ../src/print.c:2780
 msgid "Units:"
 msgstr "Unités :"
 
-#: ../src/print.c:2861
+#: ../src/print.c:2824
 msgid "Orientation:"
 msgstr "Orientation :"
 
-#: ../src/print.c:2993
+#: ../src/print.c:2956
 msgid "Destination:"
 msgstr "Destination :"
 
-#: ../src/print.c:3041
+#: ../src/print.c:3004
 msgid "<printer name>"
 msgstr "<Nom de l'imprimante>"
 
-#: ../src/print.c:3130
+#: ../src/print.c:3093
 msgid "Unlimited"
 msgstr "Sans limite"
 
-#: ../src/print.c:3248
+#: ../src/print.c:3211
 msgid "Show"
 msgstr "Montrer"
 
-#: ../src/print.c:3261
+#: ../src/print.c:3224
 msgid "Font"
 msgstr "Police"
 
-#: ../src/print.c:3425
+#: ../src/print.c:3388
 msgid "Source"
 msgstr "Source"
 
-#: ../src/print.c:3437
+#: ../src/print.c:3400
 msgid "Image size:"
 msgstr "Taille de l'image :"
 
-#: ../src/print.c:3441
+#: ../src/print.c:3404
 msgid "Proof size:"
 msgstr "Taille de l'aperçu :"
 
-#: ../src/print.c:3457
+#: ../src/print.c:3420
 msgid "Text"
 msgstr "Texte"
 
-#: ../src/print.c:3467
+#: ../src/print.c:3430
 msgid "Paper"
 msgstr "Papier"
 
-#: ../src/print.c:3490
+#: ../src/print.c:3453
 msgid "Margins"
 msgstr "Marges"
 
-#: ../src/print.c:3492
+#: ../src/print.c:3455
 msgid "Left:"
 msgstr "Gauche :"
 
-#: ../src/print.c:3495
+#: ../src/print.c:3458
 msgid "Right:"
 msgstr "Droite :"
 
-#: ../src/print.c:3498
+#: ../src/print.c:3461
 msgid "Top:"
 msgstr "Haute :"
 
-#: ../src/print.c:3501
+#: ../src/print.c:3464
 msgid "Bottom:"
 msgstr "Basse :"
 
+#: ../src/print.c:3473
+msgid "Printer"
+msgstr "Imprimante"
+
+#: ../src/print.c:3479
+msgid "Custom printer:"
+msgstr "Imprimante spécifique :"
+
+#: ../src/print.c:3488
+msgid "File:"
+msgstr "Fichier :"
+
+#: ../src/print.c:3497
+msgid "File format:"
+msgstr "Format du fichier :"
+
+#: ../src/print.c:3502
+msgid "DPI:"
+msgstr "DPI :"
+
 #: ../src/print.c:3510
-msgid "Printer"
-msgstr "Imprimante"
-
-#: ../src/print.c:3516
-msgid "Custom printer:"
-msgstr "Imprimante spécifique :"
-
-#: ../src/print.c:3525
-msgid "File:"
-msgstr "Fichier :"
-
-#: ../src/print.c:3534
-msgid "File format:"
-msgstr "Format du fichier :"
-
-#: ../src/print.c:3539
-msgid "DPI:"
-msgstr "DPI :"
-
-#: ../src/print.c:3547
 msgid "Remember print settings"
 msgstr "Conserver les paramètres d'impression"
 
-#: ../src/rcfile.c:495
+#: ../src/rcfile.c:81
+#, c-format
+msgid "Option %s ignored: %s\n"
+msgstr "Option %s ignorée: %s\n"
+
+#: ../src/rcfile.c:512
 #, c-format
 msgid "error saving config file: %s\n"
 msgstr "erreur à la sauvegarde du fichier de configuration : %s\n"
 
-#: ../src/rcfile.c:553
+#: ../src/rcfile.c:570
 #, c-format
 msgid ""
 "error saving config file: %s\n"
@@ -4718,12 +4861,21 @@
 msgid "Remote command list:\n"
 msgstr "Liste des commandes à distance :\n"
 
-#: ../src/remote.c:781
+#: ../src/remote.c:739
+msgid ""
+"\n"
+"  All other command line parameters are used as plain files if they exists.\n"
+msgstr ""
+"\n"
+"  Tous les autres paramètres de la ligne de commande sont utilisés comme des "
+"fichiers s'ils existent.\n"
+
+#: ../src/remote.c:789
 #, c-format
 msgid "Remote %s not running, starting..."
 msgstr "Pas de %s distant, lancement..."
 
-#: ../src/remote.c:917
+#: ../src/remote.c:925
 msgid "Remote not available\n"
 msgstr "Commande à distance indisponible\n"
 
@@ -4801,64 +4953,64 @@
 msgid "Searching..."
 msgstr "Recherche..."
 
-#: ../src/search.c:2166
+#: ../src/search.c:2156
 msgid "File not found"
 msgstr "Fichier inexistant"
 
-#: ../src/search.c:2167
+#: ../src/search.c:2157
 msgid "Please enter an existing file for image content."
 msgstr "Sélectionner un fichier existant pour un contenu image."
 
-#: ../src/search.c:2216
+#: ../src/search.c:2206
 msgid "Please enter an existing folder to search."
 msgstr "Sélectionner un dossier existant pour la recherche."
 
-#: ../src/search.c:2634
+#: ../src/search.c:2632
 msgid "Image search"
 msgstr "Recherche d'image"
 
-#: ../src/search.c:2664
+#: ../src/search.c:2662
 msgid "Search:"
 msgstr "Recherche :"
 
-#: ../src/search.c:2678
+#: ../src/search.c:2676
 msgid "Recurse"
 msgstr "Récursivement"
 
-#: ../src/search.c:2683
+#: ../src/search.c:2681
 msgid "File name"
 msgstr "Nom du fichier"
 
-#: ../src/search.c:2689 ../src/search.c:2784
+#: ../src/search.c:2687 ../src/search.c:2782
 msgid "Match case"
 msgstr "Sensible à la casse"
 
-#: ../src/search.c:2694
+#: ../src/search.c:2692
 msgid "File size is"
 msgstr "Taille du fichier est"
 
-#: ../src/search.c:2701 ../src/search.c:2717 ../src/search.c:2736
+#: ../src/search.c:2699 ../src/search.c:2715 ../src/search.c:2734
 msgid "and"
 msgstr "et"
 
-#: ../src/search.c:2707
+#: ../src/search.c:2705
 msgid "File date is"
 msgstr "Date du fichier est"
 
-#: ../src/search.c:2725
+#: ../src/search.c:2723
 msgid "Image dimensions are"
 msgstr "Dimensions de l'image sont"
 
-#: ../src/search.c:2746
+#: ../src/search.c:2744
 msgid "Image content is"
 msgstr "Contenu de l'image est"
 
-#: ../src/search.c:2752
+#: ../src/search.c:2750
 #, no-c-format
 msgid "% similar to"
 msgstr "% similaire à"
 
-#: ../src/search.c:2838
+#: ../src/search.c:2836
 msgid "Rank"
 msgstr "Rang"
 
@@ -4902,8 +5054,8 @@
 msgid "Thumbnail image in cache failed to load, trying to recreate.\n"
 msgstr "Impossible de charger la vignette depuis le cache, régénération.\n"
 
-#: ../src/trash.c:80 ../src/utilops.c:2428 ../src/utilops.c:2439
-#: ../src/utilops.c:2496
+#: ../src/trash.c:80 ../src/utilops.c:2448 ../src/utilops.c:2459
+#: ../src/utilops.c:2516
 msgid "Delete failed"
 msgstr "Échec de la suppression"
 
@@ -4975,11 +5127,11 @@
 msgid "Select icon"
 msgstr "Sélectionner icône"
 
-#: ../src/ui_bookmark.c:403
+#: ../src/ui_bookmark.c:405
 msgid "_Properties..."
 msgstr "_Propriétés..."
 
-#: ../src/ui_bookmark.c:409
+#: ../src/ui_bookmark.c:411
 msgid "_Remove"
 msgstr "Efface_r"
 
@@ -5059,33 +5211,33 @@
 "Impossible de lancer la commande :\n"
 "%s"
 
-#: ../src/ui_pathsel.c:433 ../src/ui_pathsel.c:439 ../src/utilops.c:2130
-#: ../src/utilops.c:2157 ../src/utilops.c:2620
+#: ../src/ui_pathsel.c:424 ../src/ui_pathsel.c:430 ../src/utilops.c:2147
+#: ../src/utilops.c:2174 ../src/utilops.c:2640
 msgid "Rename failed"
 msgstr "Échec de renommage"
 
-#: ../src/ui_pathsel.c:438
+#: ../src/ui_pathsel.c:429
 #, c-format
 msgid "Failed to rename %s to %s."
 msgstr "Impossible de renommer le fichier %s en %s."
 
-#: ../src/ui_pathsel.c:634 ../src/ui_pathsel.c:642
+#: ../src/ui_pathsel.c:625 ../src/ui_pathsel.c:633
 msgid "_Rename"
 msgstr "_Renommer"
 
-#: ../src/ui_pathsel.c:636 ../src/ui_pathsel.c:646
+#: ../src/ui_pathsel.c:627 ../src/ui_pathsel.c:637
 msgid "Add _Bookmark"
 msgstr "Ajouter un _signet"
 
-#: ../src/ui_pathsel.c:644
+#: ../src/ui_pathsel.c:635
 msgid "_Delete"
 msgstr "_Supprimer"
 
-#: ../src/ui_pathsel.c:748 ../src/ui_pathsel.c:1049 ../src/utilops.c:2654
+#: ../src/ui_pathsel.c:742 ../src/ui_pathsel.c:1047 ../src/utilops.c:2674
 msgid "New folder"
 msgstr "Nouveau dossier"
 
-#: ../src/ui_pathsel.c:758
+#: ../src/ui_pathsel.c:752
 #, c-format
 msgid ""
 "Unable to create folder:\n"
@@ -5094,31 +5246,31 @@
 "Impossible de créer le dossier :\n"
 "%s"
 
-#: ../src/ui_pathsel.c:759
+#: ../src/ui_pathsel.c:753
 msgid "Error creating folder"
 msgstr "Erreur pendant la création du dossier"
 
-#: ../src/ui_pathsel.c:980
+#: ../src/ui_pathsel.c:978
 msgid "All Files"
 msgstr "Montrer tous les fichiers"
 
-#: ../src/ui_pathsel.c:1052
+#: ../src/ui_pathsel.c:1050
 msgid "Show hidden"
 msgstr "Montrer les fichiers cachés"
 
-#: ../src/ui_pathsel.c:1136
+#: ../src/ui_pathsel.c:1134
 msgid "Filter:"
 msgstr "Filtre :"
 
-#: ../src/ui_tabcomp.c:925
+#: ../src/ui_tabcomp.c:940
 msgid "Select path"
 msgstr "Sélectionner un chemin"
 
-#: ../src/ui_tabcomp.c:941
+#: ../src/ui_tabcomp.c:956
 msgid "All files"
 msgstr "Tous les fichiers"
 
-#: ../src/utilops.c:534
+#: ../src/utilops.c:547
 msgid ""
 "\n"
 " Continue multiple file operation?"
@@ -5126,11 +5278,11 @@
 "\n"
 " Continuer l'opération de suppression multiple ?"
 
-#: ../src/utilops.c:541 ../src/utilops.c:976
+#: ../src/utilops.c:554 ../src/utilops.c:989
 msgid "Co_ntinue"
 msgstr "Co_ntinuer"
 
-#: ../src/utilops.c:718
+#: ../src/utilops.c:731
 #, c-format
 msgid ""
 "Removal of folder contents failed at this file:\n"
@@ -5141,7 +5293,7 @@
 "\n"
 "%s"
 
-#: ../src/utilops.c:864
+#: ../src/utilops.c:877
 #, c-format
 msgid ""
 "%s\n"
@@ -5150,103 +5302,103 @@
 "%s\n"
 "Impossible de démarrer la commande externe.\n"
 
-#: ../src/utilops.c:944
+#: ../src/utilops.c:957
 #, c-format
 msgid "%s is not a directory"
 msgstr "%s n'est pas un répertoire"
 
-#: ../src/utilops.c:974
+#: ../src/utilops.c:987
 msgid "Really continue?"
 msgstr "Vraiment continuer ?"
 
-#: ../src/utilops.c:988
+#: ../src/utilops.c:1001
 msgid "This operation can't continue:"
 msgstr "Cette opération ne peut continuer :"
 
-#: ../src/utilops.c:1351 ../src/utilops.c:1464 ../src/utilops.c:1848
+#: ../src/utilops.c:1364 ../src/utilops.c:1477 ../src/utilops.c:1861
 msgid "Discard changes"
 msgstr "Ignorer les changements"
 
-#: ../src/utilops.c:1352 ../src/utilops.c:1465 ../src/utilops.c:1798
-#: ../src/utilops.c:1814
+#: ../src/utilops.c:1365 ../src/utilops.c:1478 ../src/utilops.c:1811
+#: ../src/utilops.c:1827
 msgid "File details"
 msgstr "Détails du fichier"
 
-#: ../src/utilops.c:1374 ../src/utilops.c:1472
+#: ../src/utilops.c:1387 ../src/utilops.c:1485
 msgid "Sidecars"
 msgstr "Sidecars"
 
-#: ../src/utilops.c:1376
+#: ../src/utilops.c:1389
 msgid "Write to file"
 msgstr "Écrire dans le fichier"
 
-#: ../src/utilops.c:1416
+#: ../src/utilops.c:1429
 msgid "Choose the destination folder."
 msgstr "Choisir le dossier de destination."
 
-#: ../src/utilops.c:1474
+#: ../src/utilops.c:1487
 msgid "New name"
 msgstr "Nouveau nom"
 
-#: ../src/utilops.c:1504
+#: ../src/utilops.c:1517
 msgid "Manual rename"
 msgstr "Renommage manuel"
 
-#: ../src/utilops.c:1509
+#: ../src/utilops.c:1522
 msgid "Original name:"
 msgstr "Nom d'origine :"
 
-#: ../src/utilops.c:1512
-msgid "New name:"
-msgstr "Nouveau nom :"
-
 #: ../src/utilops.c:1525
+msgid "New name:"
+msgstr "Nouveau nom :"
+
+#: ../src/utilops.c:1538
 msgid "Auto rename"
 msgstr "Renommage auto"
 
-#: ../src/utilops.c:1531
+#: ../src/utilops.c:1544
 msgid "Begin text"
 msgstr "Texte de début"
 
-#: ../src/utilops.c:1539 ../src/utilops.c:1571
+#: ../src/utilops.c:1552 ../src/utilops.c:1584
 msgid "Start #"
 msgstr "N° début"
 
-#: ../src/utilops.c:1545
+#: ../src/utilops.c:1558
 msgid "End text"
 msgstr "Texte de fin"
 
-#: ../src/utilops.c:1553
+#: ../src/utilops.c:1566
 msgid "Padding:"
 msgstr "Bourrage :"
 
-#: ../src/utilops.c:1558
+#: ../src/utilops.c:1571
 msgid "Formatted rename"
 msgstr "Renommage formaté"
 
-#: ../src/utilops.c:1563
+#: ../src/utilops.c:1576
 msgid "Format (* = original name, ## = numbers)"
 msgstr "Format (* = nom original, ## = nombres)"
 
-#: ../src/utilops.c:1701
+#: ../src/utilops.c:1714
 msgid "Another operation in progress.\n"
 msgstr "Autre opération en cours\n"
 
-#: ../src/utilops.c:1757
+#: ../src/utilops.c:1770
 #, c-format
 msgid "File: '%s'\n"
 msgstr "Fichier : « %s »\n"
 
-#: ../src/utilops.c:1762
+#: ../src/utilops.c:1775
 msgid "with sidecar files:\n"
 msgstr "avec les fichiers sidecars :\n"
 
-#: ../src/utilops.c:1768
+#: ../src/utilops.c:1781
 #, c-format
 msgid " '%s'\n"
 msgstr "« %s »\n"
 
-#: ../src/utilops.c:1772
+#: ../src/utilops.c:1785
 msgid ""
 "\n"
 "Status: "
@@ -5254,19 +5406,19 @@
 "\n"
 "État :"
 
-#: ../src/utilops.c:1784
+#: ../src/utilops.c:1797
 msgid "no problem detected"
 msgstr "aucun problème détecté"
 
-#: ../src/utilops.c:1800 ../src/utilops.c:1847
+#: ../src/utilops.c:1813 ../src/utilops.c:1860
 msgid "Exclude file"
 msgstr "Exclure le fichier"
 
-#: ../src/utilops.c:1845 ../src/utilops.c:1870
+#: ../src/utilops.c:1858 ../src/utilops.c:1883
 msgid "Overview of changed metadata"
 msgstr "Aperçu des méta-données modifiées"
 
-#: ../src/utilops.c:1863
+#: ../src/utilops.c:1876
 #, c-format
 msgid ""
 "The following metadata tags will be written to\n"
@@ -5275,100 +5427,100 @@
 "Les méta-données suivantes seront écrites dans\n"
 "« %s »."
 
-#: ../src/utilops.c:1867
+#: ../src/utilops.c:1880
 #, c-format
 msgid "The following metadata tags will be written to the image file itself."
 msgstr "Les méta-données suivantes seront écrites dans le fichier de l'image."
 
-#: ../src/utilops.c:1972
+#: ../src/utilops.c:1986
 msgid "Delete files?"
 msgstr "Supprimer les fichiers ?"
 
-#: ../src/utilops.c:1973
+#: ../src/utilops.c:1987
 msgid "This will delete the following files"
 msgstr "Ceci supprimera les fichiers suivants"
 
-#: ../src/utilops.c:1992
+#: ../src/utilops.c:2006
 msgid "Can't write metadata"
 msgstr "Impossible d'écrire les méta-données"
 
-#: ../src/utilops.c:2015
+#: ../src/utilops.c:2029
 msgid "Write metadata"
 msgstr "Écrire les méta-données"
 
-#: ../src/utilops.c:2016
+#: ../src/utilops.c:2030
 msgid "Write metadata?"
 msgstr "Écrire les méta-données ?"
 
-#: ../src/utilops.c:2017
+#: ../src/utilops.c:2031
 msgid "This will write the changed metadata into the following files"
 msgstr "Cela écrira les méta-données modifiées dans les fichiers suivants"
 
-#: ../src/utilops.c:2019
-msgid "Metadata writting failed"
+#: ../src/utilops.c:2033
+msgid "Metadata writing failed"
 msgstr "Échec de l'écriture des méta-données"
 
-#: ../src/utilops.c:2038 ../src/utilops.c:2065
+#: ../src/utilops.c:2052 ../src/utilops.c:2079
 msgid "Move failed"
 msgstr "Échec du déplacement"
 
-#: ../src/utilops.c:2062
+#: ../src/utilops.c:2076
 msgid "Move files?"
 msgstr "Déplacer les fichiers ?"
 
-#: ../src/utilops.c:2063
+#: ../src/utilops.c:2077
 msgid "This will move the following files"
 msgstr "Ceci déplacera les fichiers suivants"
 
-#: ../src/utilops.c:2084 ../src/utilops.c:2111
+#: ../src/utilops.c:2101 ../src/utilops.c:2128
 msgid "Copy failed"
 msgstr "Échec de la copie"
 
-#: ../src/utilops.c:2108
+#: ../src/utilops.c:2125
 msgid "Copy files?"
 msgstr "Copier les fichiers ?"
 
-#: ../src/utilops.c:2109 ../src/utilops.c:2240
+#: ../src/utilops.c:2126 ../src/utilops.c:2260
 msgid "This will copy the following files"
 msgstr "Ceci copiera les fichiers suivants"
 
-#: ../src/utilops.c:2153 ../src/utilops.c:2616
+#: ../src/utilops.c:2170 ../src/utilops.c:2636
 msgid "Rename"
 msgstr "Renommer"
 
-#: ../src/utilops.c:2154
+#: ../src/utilops.c:2171
 msgid "Rename files?"
 msgstr "Renommer les fichiers ?"
 
-#: ../src/utilops.c:2155
+#: ../src/utilops.c:2172
 msgid "This will rename the following files"
 msgstr "Ceci renommera les fichiers suivants"
 
-#: ../src/utilops.c:2204
+#: ../src/utilops.c:2224
 msgid "Can't run external editor"
 msgstr "Ne peut exécuter l'éditeur externe."
 
-#: ../src/utilops.c:2238
+#: ../src/utilops.c:2258
 msgid "Editor"
 msgstr "Éditeur"
 
-#: ../src/utilops.c:2239
+#: ../src/utilops.c:2259
 msgid "Run editor?"
 msgstr "Exécuter l'éditeur ?"
 
-#: ../src/utilops.c:2242
+#: ../src/utilops.c:2262
 msgid "External command failed"
 msgstr "Échec de la commande externe"
 
-#: ../src/utilops.c:2411 ../src/utilops.c:2484
+#: ../src/utilops.c:2431 ../src/utilops.c:2504
 msgid "Delete folder"
 msgstr "Supprimer un dossier"
 
-#: ../src/utilops.c:2412
+#: ../src/utilops.c:2432
 msgid "Delete symbolic link?"
 msgstr "Supprimer le lien symbolique ?"
 
-#: ../src/utilops.c:2414
+#: ../src/utilops.c:2434
 msgid ""
 "This will delete the symbolic link.\n"
 "The folder this link points to will not be deleted."
@@ -5376,11 +5528,11 @@
 "Cela supprimera le lien symbolique.\n"
 "Le dossier pointé par ce lien symbolique ne sera pas supprimé."
 
-#: ../src/utilops.c:2416
+#: ../src/utilops.c:2436
 msgid "Link deletion failed"
 msgstr "La suppression du lien a échoué"
 
-#: ../src/utilops.c:2426
+#: ../src/utilops.c:2446
 #, c-format
 msgid ""
 "Unable to remove folder %s\n"
@@ -5389,16 +5541,16 @@
 "Impossible de supprimer le dossier %s\n"
 "Pas de permission pour l'écriture."
 
-#: ../src/utilops.c:2438 ../src/utilops.c:2495
+#: ../src/utilops.c:2458 ../src/utilops.c:2515
 #, c-format
 msgid "Unable to list contents of folder %s"
 msgstr "Impossible de lister le contenu du dossier %s"
 
-#: ../src/utilops.c:2452 ../src/utilops.c:2460
+#: ../src/utilops.c:2472 ../src/utilops.c:2480
 msgid "Folder contains subfolders"
 msgstr "Dossier contenant des sous-dossiers"
 
-#: ../src/utilops.c:2456
+#: ../src/utilops.c:2476
 #, c-format
 msgid ""
 "Unable to delete the folder:\n"
@@ -5414,19 +5566,19 @@
 "Ce dossier contient des sous-dossiers qui doivent être déplacés avant sa "
 "suppression."
 
-#: ../src/utilops.c:2464
+#: ../src/utilops.c:2484
 msgid "Subfolders:"
 msgstr "Sous-dossiers :"
 
-#: ../src/utilops.c:2485
+#: ../src/utilops.c:2505
 msgid "Delete folder?"
 msgstr "Supprimer le dossier ?"
 
-#: ../src/utilops.c:2486
+#: ../src/utilops.c:2506
 msgid "The folder contains these files:"
 msgstr "Ce dossier contient ces fichiers :"
 
-#: ../src/utilops.c:2487
+#: ../src/utilops.c:2507
 msgid ""
 "This will delete the folder.\n"
 "The contents of this folder will also be deleted."
@@ -5434,87 +5586,87 @@
 "Cela supprimera le dossier.\n"
 "Le contenu de ce dossier sera aussi supprimé."
 
-#: ../src/utilops.c:2617
+#: ../src/utilops.c:2637
 msgid "Rename folder?"
 msgstr "Renommer le dossier ?"
 
-#: ../src/utilops.c:2618
+#: ../src/utilops.c:2638
 msgid "The folder contains the following files"
 msgstr "Ce dossier contient les fichiers suivants"
 
-#: ../src/utilops.c:2664
+#: ../src/utilops.c:2684
 msgid "Create Folder"
 msgstr "Créer un dossier"
 
-#: ../src/utilops.c:2665
+#: ../src/utilops.c:2685
 msgid "Create folder?"
 msgstr "Créer un dossier ?"
 
-#: ../src/utilops.c:2668
+#: ../src/utilops.c:2688
 msgid "Can't create folder"
 msgstr "Impossible de créer le dossier"
 
-#: ../src/view_dir.c:396
+#: ../src/view_dir.c:397
 msgid "_Copy"
 msgstr "_Copier"
 
-#: ../src/view_dir.c:398
+#: ../src/view_dir.c:399
 msgid "_Move"
 msgstr "_Déplacer"
 
-#: ../src/view_dir.c:644
+#: ../src/view_dir.c:645
 msgid "_Up to parent"
 msgstr "_Remonter"
 
-#: ../src/view_dir.c:649
+#: ../src/view_dir.c:650
 msgid "_Slideshow"
 msgstr "_Diaporama"
 
-#: ../src/view_dir.c:651
+#: ../src/view_dir.c:652
 msgid "Slideshow recursive"
 msgstr "Diaporama récursif"
 
-#: ../src/view_dir.c:655
+#: ../src/view_dir.c:656
 msgid "Find _duplicates..."
 msgstr "Rechercher les _doublons..."
 
-#: ../src/view_dir.c:657
+#: ../src/view_dir.c:658
 msgid "Find duplicates recursive..."
 msgstr "Rechercher récursivement les doublons..."
 
-#: ../src/view_dir.c:662
+#: ../src/view_dir.c:663
 msgid "_New folder..."
 msgstr "_Nouveau dossier..."
 
-#: ../src/view_dir.c:676 ../src/view_file.c:606
+#: ../src/view_dir.c:677 ../src/view_file.c:619
 msgid "View as _List"
 msgstr "Vue en _Liste"
 
-#: ../src/view_dir.c:679
+#: ../src/view_dir.c:680
 msgid "View as _Tree"
 msgstr "Vue en _Arbre"
 
-#: ../src/view_dir.c:684
+#: ../src/view_dir.c:685
 msgid "Show _hidden files"
 msgstr "Montrer les fichiers cac_hés"
 
-#: ../src/view_dir.c:687 ../src/view_file.c:624
+#: ../src/view_dir.c:688 ../src/view_file.c:637
 msgid "Re_fresh"
 msgstr "Ra_fraîchir"
 
-#: ../src/view_file.c:609
+#: ../src/view_file.c:622
 msgid "View as _Icons"
 msgstr "Voir en _Icônes"
 
-#: ../src/view_file.c:615
+#: ../src/view_file.c:628
 msgid "Show _thumbnails"
 msgstr "Montrer les vigne_ttes"
 
-#: ../src/view_file_icon.c:2171 ../src/view_file_list.c:895
+#: ../src/view_file_icon.c:2197 ../src/view_file_list.c:892
 msgid " [NO GROUPING]"
 msgstr " [DÉGROUPÉ]"
 
-#: ../src/view_file_list.c:508
+#: ../src/view_file_list.c:505
 #, c-format
 msgid ""
 "Invalid file name:\n"
@@ -5523,14 +5675,26 @@
 "Nom de fichier invalide :\n"
 "%s"
 
-#: ../src/view_file_list.c:509
+#: ../src/view_file_list.c:506
 msgid "Error renaming file"
 msgstr "Erreur lors du renommage du fichier"
 
-#: ../src/window.c:251
+#: ../src/window.c:252
 msgid "Help"
 msgstr "Aide"
 
+#~ msgid "None"
+#~ msgstr "Aucune"
+
+#~ msgid "Normal"
+#~ msgstr "Normale"
+
+#~ msgid "Best"
+#~ msgstr "Meilleure"
+
+#~ msgid "Dithering method:"
+#~ msgstr "Méthode de dithering :"
+
 #~ msgid "_Image Overlay"
 #~ msgstr "Aff_ichage en surimpression"
 
--- a/po/pl.po	Sun May 27 18:41:56 2012 +0100
+++ b/po/pl.po	Tue Oct 02 22:19:13 2012 +0100
@@ -2,159 +2,364 @@
 msgstr ""
 "Project-Id-Version: gqview 2.1.1\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2008-05-13 22:14+0200\n"
-"PO-Revision-Date: 2004-01-23 21:53+0100\n"
-"Last-Translator: Wit Wiliński <madman@linux.bydg.org>\n"
+"POT-Creation-Date: 2012-08-30 20:37+0200\n"
+"PO-Revision-Date: 2010-04-05 18:34+0100\n"
+"Last-Translator: Grzegorz Gibas <amigib@gmail.com>\n"
 "Language-Team: Polish <translation-team-pl@lists.sourceforge.net>\n"
+"Language: pl\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: src/bar_exif.c:444
-msgid "Tag"
-msgstr "Znacznik"
-
-#: src/bar_exif.c:445 src/dupe.c:2646 src/dupe.c:3167 src/print.c:3232
-#: src/search.c:2760 src/utilops.c:2971 src/view_file_list.c:1820
-msgid "Name"
-msgstr "Nazwa"
-
-#: src/bar_exif.c:446
-msgid "Value"
-msgstr "Wartość"
-
-#: src/bar_exif.c:447
-msgid "Format"
-msgstr "Format"
-
-#: src/bar_exif.c:448
-msgid "Elements"
-msgstr "Elementy"
-
-#: src/bar_exif.c:449 src/preferences.c:1131
+#: ../geeqie.desktop.in.h:1
+msgid "Geeqie"
+msgstr "Geeqie"
+
+#: ../geeqie.desktop.in.h:2
+msgid "Image Viewer"
+msgstr "Przeglądarka obrazków"
+
+#: ../geeqie.desktop.in.h:3
+msgid "View and manage images"
+msgstr "Wyświetl i zarządzaj obrazami"
+
+#: ../plugins/import/geeqie-import-geeqie.desktop.in.h:1
+msgid "Import Geeqie 1.0alphaX metadata"
+msgstr "Importuj metadane z Geeqie 1.0alphaX"
+
+#: ../plugins/import/geeqie-import-gqview.desktop.in.h:1
+msgid "Import GQView metadata"
+msgstr "Importuj metadane z GQView"
+
+#: ../plugins/rotate/rotate.desktop.in.h:1
+msgid "Apply the orientation to image content"
+msgstr "Zastosuj orientację do zawartości pliku"
+
+#: ../plugins/symlink/symlink.desktop.in.h:1
+msgid "Symlink"
+msgstr "DowiÄ…zanie symboliczne"
+
+#: ../plugins/ufraw/geeqie-ufraw.desktop.in.h:1
+msgid "UFRaw Batch"
+msgstr ""
+
+#: ../plugins/ufraw/geeqie-ufraw-id.desktop.in.h:1
+msgid "Edit UFRaw ID file"
+msgstr ""
+
+#: ../plugins/ufraw/geeqie-ufraw-recursive.desktop.in.h:1
+msgid "UFRaw Batch recursive"
+msgstr ""
+
+#: ../src/advanced_exif.c:328 ../src/cache_maint.c:1111
+#: ../src/preferences.c:93 ../src/preferences.c:1617
+msgid "Metadata"
+msgstr "Metadane"
+
+#: ../src/advanced_exif.c:376 ../src/preferences.c:1531
 msgid "Description"
 msgstr "Opis"
 
-#: src/bar_exif.c:576 src/info.c:125 src/preferences.c:1274
-msgid "Exif"
-msgstr ""
-
-#: src/bar_exif.c:650
-msgid "Advanced view"
-msgstr "Widok zaawansowany"
-
-#: src/bar_info.c:35
-msgid "Favorite"
-msgstr "Ulubione"
-
-#: src/bar_info.c:36
-msgid "Todo"
-msgstr "Do zrobienia"
-
-#: src/bar_info.c:37
-msgid "People"
-msgstr "Ludzie"
-
-#: src/bar_info.c:38
-msgid "Places"
-msgstr "Miejsca"
-
-#: src/bar_info.c:39
-msgid "Art"
-msgstr "Sztuka"
-
-#: src/bar_info.c:40
-msgid "Nature"
-msgstr "Natura"
-
-#: src/bar_info.c:41
-msgid "Possessions"
-msgstr "Własności"
-
-#: src/bar_info.c:801
-msgid "Keyword Presets"
-msgstr "SÅ‚owa kluczowe"
-
-#: src/bar_info.c:804
-msgid "Favorite keywords list"
-msgstr "Ulubione słowa kluczowe"
-
-#: src/bar_info.c:1301 src/info.c:189 src/search.c:2699
+#: ../src/advanced_exif.c:377
+msgid "Value"
+msgstr "Wartość"
+
+#: ../src/advanced_exif.c:378 ../src/desktop_file.c:515 ../src/dupe.c:2647
+#: ../src/dupe.c:3134 ../src/print.c:3199 ../src/search.c:2790
+#: ../src/utilops.c:462 ../src/view_file_list.c:1948
+msgid "Name"
+msgstr "Nazwa"
+
+#: ../src/advanced_exif.c:379
+msgid "Tag"
+msgstr "Znacznik"
+
+#: ../src/advanced_exif.c:380
+msgid "Format"
+msgstr "Format"
+
+#: ../src/advanced_exif.c:381
+msgid "Elements"
+msgstr "Elementy"
+
+#. default sidebar
+#: ../src/bar.c:167
+msgid "Histogram"
+msgstr ""
+
+#: ../src/bar.c:168
+msgid "Title"
+msgstr "Tytuł"
+
+#: ../src/bar.c:169 ../src/search.c:2717
 msgid "Keywords"
 msgstr "SÅ‚owa kluczowe"
 
-#: src/bar_info.c:1315 src/info.c:825 src/pan-view.c:1542 src/print.c:2632
-msgid "Filename:"
-msgstr "Nazwa pliku:"
-
-#: src/bar_info.c:1316 src/info.c:391
-msgid "File date:"
-msgstr "Czas utworzenia pliku:"
-
-#: src/bar_info.c:1336
-msgid "Keywords:"
+#: ../src/bar.c:170 ../src/search.c:2729
+msgid "Comment"
+msgstr "Komentarz"
+
+#: ../src/bar.c:171
+msgid "Exif"
+msgstr "Exif"
+
+#. other pre-configured panes
+#: ../src/bar.c:173
+msgid "File info"
+msgstr "Informacje o pliku"
+
+#: ../src/bar.c:174
+msgid "Location and GPS"
+msgstr "Położenie i GPS"
+
+#: ../src/bar.c:175 ../src/exif.c:348
+msgid "Copyright"
+msgstr "Prawa autorskie"
+
+#: ../src/bar.c:178 ../src/bar_gps.c:763
+msgid "GPS Map"
+msgstr "Mapa GPS"
+
+#: ../src/bar.c:297
+msgid "Move to _top"
+msgstr "Przesuń w _górę"
+
+#: ../src/bar.c:298 ../src/ui_bookmark.c:407
+msgid "Move _up"
+msgstr "Przesuń w _górę"
+
+#: ../src/bar.c:299 ../src/ui_bookmark.c:409
+msgid "Move _down"
+msgstr "Przesuń w _dół"
+
+#: ../src/bar.c:300
+msgid "Move to _bottom"
+msgstr "Przesuń w _dół"
+
+#: ../src/bar.c:302
+msgid "Remove"
+msgstr "Usuń"
+
+#: ../src/bar_comment.c:195
+msgid "Add text to selected files"
+msgstr "Dodaj tekst do wybranych plików"
+
+#: ../src/bar_comment.c:196
+msgid "Replace existing text in selected files"
+msgstr "ZastÄ…p istniejÄ…cy tekst w zaznaczonych plikach"
+
+#: ../src/bar_exif.c:213
+msgid "<empty label, fixme>"
+msgstr ""
+
+#: ../src/bar_exif.c:541 ../src/bar_exif.c:551
+#, fuzzy
+msgid "Configure entry"
+msgstr "Opcje konfiguracji"
+
+#. for the pane
+#: ../src/bar_exif.c:541 ../src/bar_exif.c:551 ../src/bar_exif.c:624
+#, fuzzy
+msgid "Add entry"
+msgstr "_Dodaj zawartość"
+
+#: ../src/bar_exif.c:557
+#, fuzzy
+msgid "Key:"
 msgstr "SÅ‚owa kluczowe:"
 
-#: src/bar_info.c:1404
-msgid "Comment:"
-msgstr "Komentarz:"
-
-#: src/bar_info.c:1428
-msgid "Edit favorite keywords list."
-msgstr "Zmień listę słów kluczowych."
-
-#: src/bar_info.c:1432
-msgid "Add keywords to selected files"
-msgstr ""
-
-#: src/bar_info.c:1435
-msgid "Add keywords to selected files, replacing existing ones"
-msgstr ""
-
-#: src/bar_info.c:1438
+#: ../src/bar_exif.c:566
+msgid "Title:"
+msgstr "Tytuł:"
+
+#: ../src/bar_exif.c:575
+msgid "Show only if set"
+msgstr ""
+
+#: ../src/bar_exif.c:576
+msgid "Editable (supported only for XMP)"
+msgstr ""
+
+#. for the entry
+#: ../src/bar_exif.c:612
+#, fuzzy, c-format
+msgid "Configure \"%s\""
+msgstr "Opcje konfiguracji"
+
+#: ../src/bar_exif.c:613 ../src/bar_keywords.c:1187
+#, c-format
+msgid "Remove \"%s\""
+msgstr "Usuń \"%s\""
+
+#: ../src/bar_exif.c:625
 #, fuzzy
-msgid "Add comment to selected files"
-msgstr ""
-"Usunięcie pliku:\n"
-" %s"
-
-#: src/bar_info.c:1441
-msgid "Add comment to selected files, replacing existing one"
-msgstr ""
-
-#: src/bar_info.c:1446
-msgid "Save comment now"
-msgstr "Zapisz komentarz"
-
-#: src/bar_sort.c:218
+msgid "Show hidden entries"
+msgstr "Wyświetlanie ukrytych plików"
+
+#: ../src/bar_gps.c:485
+#, fuzzy, c-format
+msgid "Zoom %i"
+msgstr "Powiększ"
+
+#: ../src/bar_gps.c:503
 #, fuzzy, c-format
+msgid "Zoom level %i"
+msgstr "Powiększ"
+
+#: ../src/bar_gps.c:508
+msgid "Loading map"
+msgstr "Wczytywanie mapy"
+
+#: ../src/bar_gps.c:575
+msgid "Enable markers"
+msgstr ""
+
+#: ../src/bar_gps.c:577
+msgid "Centre map on marker"
+msgstr ""
+
+#: ../src/bar_gps.c:600
+msgid ""
+"Move map centre to marker\n"
+" is disabled"
+msgstr ""
+
+#: ../src/bar_gps.c:605
 msgid ""
-"Unable to remove symbolic link:\n"
-"%s"
-msgstr ""
-"Nie można przenieść pliku:\n"
-"%s\n"
-"do:\n"
-"%s"
-
-#: src/bar_sort.c:219
-msgid "Unlink failed"
-msgstr ""
-
-#: src/bar_sort.c:300
+"Move map centre to marker\n"
+" is enabled"
+msgstr ""
+
+#: ../src/bar_gps.c:614
+msgid "Map Centreing"
+msgstr ""
+
+#. use the same strings as in layout_util.c
+#: ../src/bar_histogram.c:249 ../src/layout_util.c:1411
+msgid "Histogram on _Red"
+msgstr ""
+
+#: ../src/bar_histogram.c:250 ../src/layout_util.c:1412
+msgid "Histogram on _Green"
+msgstr ""
+
+#: ../src/bar_histogram.c:251 ../src/layout_util.c:1413
+msgid "Histogram on _Blue"
+msgstr ""
+
+#: ../src/bar_histogram.c:252 ../src/layout_util.c:1414
+msgid "_Histogram on RGB"
+msgstr ""
+
+#: ../src/bar_histogram.c:253 ../src/layout_util.c:1415
+msgid "Histogram on _Value"
+msgstr ""
+
+#: ../src/bar_histogram.c:257 ../src/layout_util.c:1419
+msgid "Li_near Histogram"
+msgstr ""
+
+#: ../src/bar_histogram.c:258
+msgid "L_og Histogram"
+msgstr ""
+
+#: ../src/bar_keywords.c:401
+msgid "Add keywords to selected files"
+msgstr "Dodaj słowo kluczowe do zaznaczonych plików"
+
+#: ../src/bar_keywords.c:402
+msgid "Replace existing keywords in selected files"
+msgstr "Zastąp istniejące słowa kluczowa w zaznaczonych plikach"
+
+#: ../src/bar_keywords.c:873
+#, fuzzy
+msgid "Edit keyword"
+msgstr "Edytory"
+
+#: ../src/bar_keywords.c:873
+msgid "Add keywords"
+msgstr "Dodaj słowa kluczowe"
+
+#: ../src/bar_keywords.c:880
+#, fuzzy
+msgid "Configure keyword"
+msgstr "Opcje konfiguracji"
+
+#: ../src/bar_keywords.c:880 ../src/bar_keywords.c:1141
+msgid "Add keyword"
+msgstr "Dodaj słowo kluczowe"
+
+#: ../src/bar_keywords.c:886
+msgid "Keyword:"
+msgstr "SÅ‚owo kluczowe:"
+
+#: ../src/bar_keywords.c:895
+#, fuzzy
+msgid "Keyword type:"
+msgstr "SÅ‚owa kluczowe:"
+
+#: ../src/bar_keywords.c:897
+#, fuzzy
+msgid "Active keyword"
+msgstr "Aktywny monitor"
+
+#: ../src/bar_keywords.c:900
+#, fuzzy
+msgid "Helper"
+msgstr "Pomo_c"
+
+#: ../src/bar_keywords.c:1145
+#, fuzzy
+msgid "Add keyword to all selected images"
+msgstr "Dodaj słowo kluczowe do zaznaczonych plików"
+
+#: ../src/bar_keywords.c:1165
+#, c-format
+msgid "Hide \"%s\""
+msgstr ""
+
+#: ../src/bar_keywords.c:1172
 #, fuzzy, c-format
-msgid ""
-"Unable to create symbolic link:\n"
-"%s"
-msgstr ""
-"BÅ‚Ä…d tworzenia katalogu:\n"
-"%s"
-
-#: src/bar_sort.c:301
-msgid "Link failed"
-msgstr ""
-
-#: src/bar_sort.c:452
+msgid "Mark %d"
+msgstr "Dodanie zakładki"
+
+#: ../src/bar_keywords.c:1177
+#, c-format
+msgid "Connect \"%s\" to mark"
+msgstr ""
+
+#: ../src/bar_keywords.c:1184
+#, c-format
+msgid "Edit \"%s\""
+msgstr "Edytuj \"%s\""
+
+#: ../src/bar_keywords.c:1194
+#, c-format
+msgid "Disconnect \"%s\" from mark %s"
+msgstr ""
+
+#. for the pane
+#: ../src/bar_keywords.c:1206 ../src/bar_keywords.c:1215
+msgid "Expand checked"
+msgstr ""
+
+#: ../src/bar_keywords.c:1207 ../src/bar_keywords.c:1216
+msgid "Collapse unchecked"
+msgstr ""
+
+#: ../src/bar_keywords.c:1208 ../src/bar_keywords.c:1217
+msgid "Hide unchecked"
+msgstr ""
+
+#: ../src/bar_keywords.c:1209
+msgid "Show all"
+msgstr "Pokaż wszystko"
+
+#: ../src/bar_keywords.c:1212
+msgid "On any change"
+msgstr ""
+
+#: ../src/bar_sort.c:449
 #, c-format
 msgid ""
 "The collection:\n"
@@ -165,11 +370,11 @@
 "%s\n"
 "już istnieje."
 
-#: src/bar_sort.c:453
+#: ../src/bar_sort.c:450
 msgid "Collection exists"
 msgstr "Kolekcja istnieje"
 
-#: src/bar_sort.c:467 src/collect.c:1083 src/collect-dlg.c:85
+#: ../src/bar_sort.c:464 ../src/collect.c:1034 ../src/collect-dlg.c:85
 #, c-format
 msgid ""
 "Failed to save the collection:\n"
@@ -178,136 +383,132 @@
 "Zapisanie kolekcji nie powiodło się:\n"
 "%s"
 
-#: src/bar_sort.c:468 src/collect.c:1084 src/collect-dlg.c:86
+#: ../src/bar_sort.c:465 ../src/collect.c:1035 ../src/collect-dlg.c:86
 msgid "Save Failed"
 msgstr "Zapis nie powiódł się"
 
-#: src/bar_sort.c:502 src/bar_sort.c:628
+#: ../src/bar_sort.c:500 ../src/bar_sort.c:670
 msgid "Add Bookmark"
 msgstr "Dodanie zakładki"
 
-#: src/bar_sort.c:506
+#: ../src/bar_sort.c:504
 msgid "Add Collection"
 msgstr "Dodaj kolekcjÄ™"
 
-#: src/bar_sort.c:523 src/ui_bookmark.c:601
+#: ../src/bar_sort.c:521 ../src/ui_bookmark.c:288
 msgid "Name:"
 msgstr "Nazwa:"
 
-#: src/bar_sort.c:585
+#: ../src/bar_sort.c:597
 msgid "Sort Manager"
 msgstr "Menedżer Sortowania"
 
-#: src/bar_sort.c:594 src/pan-view.c:2395 src/ui_pathsel.c:1103
+#: ../src/bar_sort.c:606 ../src/pan-view.c:2194 ../src/ui_pathsel.c:1097
 msgid "Folders"
 msgstr "Katalogi"
 
-#: src/bar_sort.c:595 src/main.c:567
+#: ../src/bar_sort.c:607 ../src/options.c:147
 msgid "Collections"
 msgstr "Kolekcje"
 
-#: src/bar_sort.c:603 src/utilops.c:1177
+#: ../src/bar_sort.c:615 ../src/utilops.c:2122
 msgid "Copy"
 msgstr "Skopiuj"
 
-#: src/bar_sort.c:606 src/utilops.c:1191
+#: ../src/bar_sort.c:618 ../src/utilops.c:2073
 msgid "Move"
 msgstr "PrzenieÅ›"
 
-#: src/bar_sort.c:609
-msgid "Link"
-msgstr ""
-
-#: src/bar_sort.c:615
+#: ../src/bar_sort.c:657
 msgid "Add image"
 msgstr "Dodaj obraz"
 
-#: src/bar_sort.c:618
+#: ../src/bar_sort.c:660
 msgid "Add selection"
 msgstr "Dodaj zaznaczone"
 
-#: src/bar_sort.c:631
+#: ../src/bar_sort.c:673
 msgid "Undo last image"
 msgstr "Cofnij ostatni obraz"
 
-#: src/cache.c:175
+#: ../src/cache.c:174
 #, fuzzy, c-format
 msgid ""
 "error saving sim cache data: %s\n"
 "error: %s\n"
 msgstr "błąd przy zapisie pliku konfiguracyjnego: %s\n"
 
-#: src/cache_maint.c:127 src/cache_maint.c:689 src/cache_maint.c:902
-#: src/editors.c:717
+#: ../src/cache_maint.c:110 ../src/cache_maint.c:549 ../src/cache_maint.c:765
+#: ../src/editors.c:1177
 msgid "done"
 msgstr "ukończono"
 
-#: src/cache_maint.c:306
+#: ../src/cache_maint.c:288
 msgid "Removing old metadata..."
 msgstr "Usuwanie starych metadanych..."
 
-#: src/cache_maint.c:310
+#: ../src/cache_maint.c:292
 msgid "Clearing cached thumbnails..."
 msgstr "Czyszczenie cache miniatur..."
 
-#: src/cache_maint.c:314 src/cache_maint.c:1056
+#: ../src/cache_maint.c:296 ../src/cache_maint.c:923
 msgid "Removing old thumbnails..."
 msgstr "Usuwanie starych miniatur..."
 
-#: src/cache_maint.c:317 src/cache_maint.c:1059
+#: ../src/cache_maint.c:299 ../src/cache_maint.c:926
 msgid "Maintenance"
 msgstr ""
 
-#: src/cache_maint.c:800 src/utilops.c:1107
+#: ../src/cache_maint.c:660
 msgid "Invalid folder"
 msgstr "Nieprawidłowy folder"
 
-#: src/cache_maint.c:801
+#: ../src/cache_maint.c:661
 msgid "The specified folder can not be found."
 msgstr "Wybrany folder nie został znaleziony."
 
-#: src/cache_maint.c:829 src/cache_maint.c:843 src/cache_maint.c:1227
+#: ../src/cache_maint.c:692 ../src/cache_maint.c:706 ../src/cache_maint.c:1102
 msgid "Create thumbnails"
 msgstr "Utwórz miniaturki"
 
-#: src/cache_maint.c:837 src/cache_maint.c:1066
+#: ../src/cache_maint.c:700 ../src/cache_maint.c:933
 msgid "S_tart"
 msgstr ""
 
-#: src/cache_maint.c:850 src/preferences.c:1407
+#: ../src/cache_maint.c:713 ../src/preferences.c:1804
 msgid "Folder:"
 msgstr "Katalog:"
 
-#: src/cache_maint.c:853
+#: ../src/cache_maint.c:716
 msgid "Select folder"
 msgstr "Wybierz katalog"
 
-#: src/cache_maint.c:857
+#: ../src/cache_maint.c:720
 msgid "Include subfolders"
 msgstr "Dołącz podkatalogi"
 
-#: src/cache_maint.c:858
+#: ../src/cache_maint.c:721
 msgid "Store thumbnails local to source images"
 msgstr "Zapisuj miniaturki lokalnie"
 
-#: src/cache_maint.c:867 src/cache_maint.c:1075
+#: ../src/cache_maint.c:730 ../src/cache_maint.c:942
 msgid "click start to begin"
 msgstr "kliknij start, aby rozpocząć"
 
-#: src/cache_maint.c:1005 src/editors.c:647
+#: ../src/cache_maint.c:869 ../src/editors.c:1103
 msgid "running..."
 msgstr "przetwarzanie..."
 
-#: src/cache_maint.c:1051
+#: ../src/cache_maint.c:918
 msgid "Clearing thumbnails..."
 msgstr "Czyszczenie miniatur..."
 
-#: src/cache_maint.c:1117 src/cache_maint.c:1120 src/cache_maint.c:1202
-#: src/cache_maint.c:1222
+#: ../src/cache_maint.c:984 ../src/cache_maint.c:987 ../src/cache_maint.c:1080
+#: ../src/cache_maint.c:1097
 msgid "Clear cache"
 msgstr "Wyczyść cache"
 
-#: src/cache_maint.c:1121
+#: ../src/cache_maint.c:988
 msgid ""
 "This will remove all thumbnails that have\n"
 "been saved to disk, continue?"
@@ -315,164 +516,73 @@
 "Zostaną usunięte wszystkie miniaturki\n"
 "zapisane na dysku, kontynuować?"
 
-#: src/cache_maint.c:1172
-#, fuzzy
+#: ../src/cache_maint.c:1030
+#, c-format
+msgid "Location: %s"
+msgstr "Położenie: %s"
+
+#: ../src/cache_maint.c:1055
 msgid "Cache Maintenance"
-msgstr "ZarzÄ…dzanie miniaturkami - Geeqie"
-
-#: src/cache_maint.c:1184
+msgstr "ZarzÄ…dzanie buforem miniaturek"
+
+#: ../src/cache_maint.c:1065
 msgid "Cache and Data Maintenance"
 msgstr "ZarzÄ…dzanie cache i danymi"
 
-#: src/cache_maint.c:1188
-#, fuzzy
+#: ../src/cache_maint.c:1069
 msgid "Thumbnail cache"
-msgstr "Cache miniaturek Geeqie"
-
-#: src/cache_maint.c:1190 src/cache_maint.c:1210 src/cache_maint.c:1238
-#: src/pan-view.c:1544 src/pan-view.c:2384 src/preferences.c:1333
-#: src/utilops.c:1747
-msgid "Location:"
-msgstr "Położenie:"
-
-#: src/cache_maint.c:1197 src/cache_maint.c:1217 src/cache_maint.c:1245
+msgstr "Bufor miniaturek"
+
+#: ../src/cache_maint.c:1075 ../src/cache_maint.c:1092
+#: ../src/cache_maint.c:1117
 msgid "Clean up"
 msgstr "Wyczyść"
 
-#: src/cache_maint.c:1200 src/cache_maint.c:1220
+#: ../src/cache_maint.c:1078 ../src/cache_maint.c:1095
 msgid "Remove orphaned or outdated thumbnails."
 msgstr "Usuń porzucone lub przestarzałe miniaturki."
 
-#: src/cache_maint.c:1205 src/cache_maint.c:1225
+#: ../src/cache_maint.c:1083 ../src/cache_maint.c:1100
 msgid "Delete all cached thumbnails."
 msgstr "Skasuj wszystkie miniaturki z cache"
 
-#: src/cache_maint.c:1208
+#: ../src/cache_maint.c:1086
 msgid "Shared thumbnail cache"
 msgstr "Wspołdzielone cache miniaturek"
 
-#: src/cache_maint.c:1231
+#: ../src/cache_maint.c:1106
 msgid "Render"
 msgstr "Utwórz"
 
-#: src/cache_maint.c:1234
+#: ../src/cache_maint.c:1109
 msgid "Render thumbnails for a specific folder."
 msgstr "Utwórz miniaturki dla wybranego katalogu."
 
-#: src/cache_maint.c:1236
-msgid "Metadata"
-msgstr "Metadane"
-
-#: src/cache_maint.c:1248
+#: ../src/cache_maint.c:1120
 msgid "Remove orphaned keywords and comments."
 msgstr "Usuń porzucone/przestarzałe słowa kluczowe i komentarze."
 
-#: src/cellrenderericon.c:127
-msgid "Pixbuf Object"
-msgstr ""
-
-#: src/cellrenderericon.c:128
-msgid "The pixbuf to render"
-msgstr ""
-
-#: src/cellrenderericon.c:135 src/print.c:3439
-msgid "Text"
-msgstr "Tekst"
-
-#: src/cellrenderericon.c:136
-msgid "Text to render"
-msgstr ""
-
-#: src/cellrenderericon.c:143
-#, fuzzy
-msgid "Background color"
-msgstr "Czarne tło"
-
-#: src/cellrenderericon.c:144
-#, fuzzy
-msgid "Background color as a GdkColor"
-msgstr "Czarne tło"
-
-#: src/cellrenderericon.c:151
-#, fuzzy
-msgid "Foreground color"
-msgstr "Czarne tło"
-
-#: src/cellrenderericon.c:152
-msgid "Foreground color as a GdkColor"
-msgstr ""
-
-#: src/cellrenderericon.c:159
-msgid "Focus"
-msgstr ""
-
-#: src/cellrenderericon.c:160
-msgid "Draw focus indicator"
-msgstr ""
-
-#: src/cellrenderericon.c:167
-msgid "Fixed width"
-msgstr ""
-
-#: src/cellrenderericon.c:168
-msgid "Width of cell"
-msgstr ""
-
-#: src/cellrenderericon.c:176
-msgid "Fixed height"
-msgstr ""
-
-#: src/cellrenderericon.c:177
-msgid "Height of icon excluding text"
-msgstr ""
-
-#: src/cellrenderericon.c:185
-#, fuzzy
-msgid "Background set"
-msgstr "Czarne tło"
-
-#: src/cellrenderericon.c:186
-msgid "Whether this tag affects the background color"
-msgstr ""
-
-#: src/cellrenderericon.c:193
-msgid "Foreground set"
-msgstr ""
-
-#: src/cellrenderericon.c:194
-msgid "Whether this tag affects the foreground color"
-msgstr ""
-
-#: src/cellrenderericon.c:201
-#, fuzzy
-msgid "Show text"
-msgstr "Pokaż nazwę pliku"
-
-#: src/cellrenderericon.c:202
-msgid "Whether the text is displayed"
-msgstr ""
-
-#: src/collect.c:353 src/image.c:178 src/image-overlay.c:437
-#: src/image-overlay.c:512
-#, c-format
+#. When does this occur ??
+#: ../src/collect.c:326 ../src/image.c:160 ../src/image-overlay.c:511
+#: ../src/image-overlay.c:588
 msgid "Untitled"
 msgstr "BezNazwy"
 
-#: src/collect.c:357
+#: ../src/collect.c:330
 #, c-format
 msgid "Untitled (%d)"
 msgstr "BezNazwy (%d)"
 
-#: src/collect.c:1002
-#, fuzzy, c-format
+#: ../src/collect.c:959
+#, c-format
 msgid "%s - Collection - %s"
-msgstr "%s - Kolekcja Geeqie"
-
-#: src/collect.c:1120 src/collect.c:1124
+msgstr "%s - Kolekcja - %s"
+
+#: ../src/collect.c:1071 ../src/collect.c:1075
 msgid "Close collection"
 msgstr "Zamknij kolekcjÄ™"
 
-#: src/collect.c:1125
+#: ../src/collect.c:1076
 msgid ""
 "Collection has been modified.\n"
 "Save first?"
@@ -480,11 +590,11 @@
 "Kolekcja została zmodyfikowana.\n"
 "Czy najpierw zapisać?"
 
-#: src/collect.c:1128
+#: ../src/collect.c:1079
 msgid "_Discard"
 msgstr "Pomiń"
 
-#: src/collect-dlg.c:59
+#: ../src/collect-dlg.c:59
 #, c-format
 msgid ""
 "Specified path:\n"
@@ -492,387 +602,445 @@
 "is a folder, collections are files"
 msgstr ""
 
-#: src/collect-dlg.c:60
+#: ../src/collect-dlg.c:60
 msgid "Invalid filename"
 msgstr "Niepoprawna nazwa pliku"
 
-#: src/collect-dlg.c:69
+#: ../src/collect-dlg.c:69
 msgid "Overwrite File"
 msgstr "Nadpisanie Pliku"
 
-#: src/collect-dlg.c:74
+#: ../src/collect-dlg.c:74
 msgid "Overwrite existing file?"
 msgstr "Nadpisać instniejący plik?"
 
-#: src/collect-dlg.c:76 src/utilops.c:660 src/utilops.c:990 src/utilops.c:1902
-#: src/utilops.c:2622
+#: ../src/collect-dlg.c:76
 msgid "_Overwrite"
 msgstr "Nadpisz"
 
-#: src/collect-dlg.c:171
+#: ../src/collect-dlg.c:127
+#, c-format
+msgid "No such file '%s'."
+msgstr "Plik '%s' nie istnieje."
+
+#: ../src/collect-dlg.c:132
+#, c-format
+msgid "'%s' is a directory, not a collection file."
+msgstr ""
+
+#: ../src/collect-dlg.c:137
+#, c-format
+msgid "You do not have read permissions on the file '%s'."
+msgstr "Nie masz uprawnień by zapisywać do pliku '%s'."
+
+#: ../src/collect-dlg.c:143
+msgid "Can not open collection file"
+msgstr "Nie mogę utworzyć kolekcji"
+
+#: ../src/collect-dlg.c:195
 msgid "Save collection"
 msgstr "Zapisz kolekcjÄ™"
 
-#: src/collect-dlg.c:178
+#: ../src/collect-dlg.c:202
 msgid "Open collection"
 msgstr "Otwarcie kolekcji"
 
-#: src/collect-dlg.c:186
+#: ../src/collect-dlg.c:210
 msgid "Append collection"
 msgstr "Dołącz kolekcji"
 
-#: src/collect-dlg.c:187
+#: ../src/collect-dlg.c:211
 msgid "_Append"
 msgstr "Dołącz"
 
-#: src/collect-dlg.c:205
+#: ../src/collect-dlg.c:228
 msgid "Collection Files"
 msgstr "Pliki kolekcji"
 
-#: src/collect-dlg.c:223
-msgid "Collection empty"
-msgstr "Pusta kolekcja"
-
-#: src/collect-dlg.c:224
-msgid "The current collection is empty, save aborted."
-msgstr "Bieżąca kolekcja jest pusta, zrezygnowano z zapisu."
-
-#: src/collect-io.c:343
-#, fuzzy, c-format
+#: ../src/collect-io.c:346
+#, c-format
 msgid "failed to open collection (write) \"%s\"\n"
-msgstr ""
-"Zapisanie kolekcji nie powiodło się:\n"
-"%s"
-
-#: src/collect-io.c:368
-#, fuzzy, c-format
+msgstr "Otworzenie (zapisanie) kolekcji nie powiodło się \"%s\"\n"
+
+#: ../src/collect-io.c:371
+#, c-format
 msgid ""
 "error saving collection file: %s\n"
 "error: %s\n"
-msgstr "błąd przy zapisie pliku konfiguracyjnego: %s\n"
-
-#: src/collect-table.c:167 src/layout.c:377 src/layout_util.c:965
+msgstr ""
+"błąd przy zapisie pliku kolekcji: %s\n"
+"błąd: %s\n"
+
+#: ../src/collect-table.c:211
+#, c-format
+msgid "%s, %d images (%s, %d)"
+msgstr "%s, %d plików (%s, %d)"
+
+#: ../src/collect-table.c:218
+#, c-format
+msgid "%s, %d images"
+msgstr "%s, %d obrazów"
+
+#: ../src/collect-table.c:223 ../src/layout_util.c:1211
+#: ../src/layout_util.c:2264
 msgid "Empty"
 msgstr "Pusta"
 
-#: src/collect-table.c:171
-#, c-format
-msgid "%d images (%d)"
-msgstr "%d obrazów (%d)"
-
-#: src/collect-table.c:175
-#, c-format
-msgid "%d images"
-msgstr "%d obrazów"
-
-#: src/collect-table.c:189 src/dupe.c:1328 src/search.c:304
-#: src/view_file_icon.c:1779 src/view_file_icon.c:1895
-#: src/view_file_list.c:915 src/view_file_list.c:1031
+#: ../src/collect-table.c:237 ../src/dupe.c:1319 ../src/search.c:320
+#: ../src/view_file.c:835 ../src/view_file.c:938
 msgid "Loading thumbs..."
 msgstr "Wczytywanie miniatur..."
 
-#: src/collect-table.c:776 src/dupe.c:2239 src/dupe.c:2554
-#: src/layout_util.c:1042 src/search.c:983
+#: ../src/collect-table.c:868 ../src/dupe.c:2242 ../src/dupe.c:2555
+#: ../src/layout_util.c:1258 ../src/search.c:996
 msgid "_View"
 msgstr "_PodglÄ…d"
 
-#: src/collect-table.c:778 src/dupe.c:2241 src/dupe.c:2556 src/img-view.c:1282
-#: src/layout_image.c:759 src/pan-view.c:2814 src/search.c:985
-#: src/view_file.c:564
+#: ../src/collect-table.c:870 ../src/dupe.c:2244 ../src/dupe.c:2557
+#: ../src/img-view.c:1268 ../src/layout_image.c:499 ../src/pan-view.c:2617
+#: ../src/search.c:998 ../src/view_file.c:588
 msgid "View in _new window"
 msgstr "PodglÄ…d w _nowym oknie"
 
-#: src/collect-table.c:781 src/dupe.c:2274 src/dupe.c:2564 src/search.c:1014
+#: ../src/collect-table.c:873 ../src/dupe.c:2278 ../src/dupe.c:2565
+#: ../src/search.c:1028
 msgid "Rem_ove"
 msgstr "_Usuń"
 
-#: src/collect-table.c:784
+#: ../src/collect-table.c:876
 msgid "Append from file list"
 msgstr "Dołącz z listy plików"
 
-#: src/collect-table.c:786
+#: ../src/collect-table.c:878
 msgid "Append from collection..."
 msgstr "Dołącz z kolekcji..."
 
-#: src/collect-table.c:789 src/dupe.c:2244 src/dupe.c:2559 src/search.c:988
+#: ../src/collect-table.c:882
+msgid "_Selection"
+msgstr "Zaznaczenie"
+
+#: ../src/collect-table.c:884 ../src/dupe.c:2247 ../src/dupe.c:2560
+#: ../src/layout_util.c:1305 ../src/search.c:1001
 msgid "Select all"
 msgstr "Zaznacz wszystko"
 
-#: src/collect-table.c:791 src/dupe.c:2246 src/dupe.c:2561 src/search.c:990
+#: ../src/collect-table.c:886 ../src/dupe.c:2249 ../src/dupe.c:2562
+#: ../src/layout_util.c:1306 ../src/search.c:1003
 msgid "Select none"
 msgstr "Wyczyść zaznaczenie"
 
-#: src/collect-table.c:799 src/dupe.c:2255 src/img-view.c:1280
-#: src/layout_image.c:756 src/layout_util.c:1096 src/pan-view.c:2811
-#: src/search.c:995 src/view_file.c:562
-msgid "_Properties"
-msgstr "Wł_aściwości"
-
-#: src/collect-table.c:802 src/dupe.c:2262 src/img-view.c:1286
-#: src/layout_image.c:767 src/layout_util.c:1067 src/pan-view.c:2818
-#: src/search.c:1002 src/view_file.c:568
+#: ../src/collect-table.c:888
+msgid "Invert selection"
+msgstr "Odwróć zaznaczenie"
+
+#: ../src/collect-table.c:900 ../src/dupe.c:2267 ../src/img-view.c:1272
+#: ../src/layout_image.c:507 ../src/layout_util.c:1288 ../src/pan-view.c:2621
+#: ../src/search.c:1017 ../src/view_file.c:592
 msgid "_Copy..."
 msgstr "_Kopiuj..."
 
-#: src/collect-table.c:804 src/dupe.c:2264 src/img-view.c:1287
-#: src/layout_image.c:769 src/layout_util.c:1068 src/pan-view.c:2820
-#: src/search.c:1004 src/view_file.c:570
+#: ../src/collect-table.c:902 ../src/dupe.c:2269 ../src/img-view.c:1273
+#: ../src/layout_image.c:509 ../src/layout_util.c:1289 ../src/pan-view.c:2623
+#: ../src/search.c:1019 ../src/view_file.c:594
 msgid "_Move..."
 msgstr "P_rzenieÅ›..."
 
-#: src/collect-table.c:806 src/dupe.c:2266 src/img-view.c:1288
-#: src/layout_image.c:771 src/layout_util.c:1069 src/pan-view.c:2822
-#: src/search.c:1006 src/view_dir.c:608 src/view_file.c:572
+#: ../src/collect-table.c:904 ../src/dupe.c:2271 ../src/img-view.c:1274
+#: ../src/layout_image.c:511 ../src/layout_util.c:1290 ../src/pan-view.c:2625
+#: ../src/search.c:1021 ../src/view_dir.c:665 ../src/view_file.c:596
 msgid "_Rename..."
 msgstr "Zm_ień nazwę..."
 
-#: src/collect-table.c:808 src/dupe.c:2268 src/img-view.c:1289
-#: src/layout_image.c:773 src/layout_util.c:1070 src/layout_util.c:1071
-#: src/layout_util.c:1072 src/pan-view.c:2824 src/search.c:1008
-#: src/view_dir.c:610 src/view_file.c:574
+#: ../src/collect-table.c:906 ../src/dupe.c:2273 ../src/img-view.c:1275
+#: ../src/layout_image.c:513 ../src/layout_util.c:1291
+#: ../src/layout_util.c:1292 ../src/layout_util.c:1293 ../src/pan-view.c:2627
+#: ../src/search.c:1023 ../src/view_dir.c:667 ../src/view_file.c:598
 msgid "_Delete..."
 msgstr "_Usuń..."
 
-#: src/collect-table.c:811 src/dupe.c:2271 src/img-view.c:1291
-#: src/layout_image.c:778 src/layout_util.c:1073 src/pan-view.c:2827
-#: src/search.c:1011 src/view_dir.c:614 src/view_file.c:577
-#, fuzzy
+#: ../src/collect-table.c:908 ../src/dupe.c:2275 ../src/img-view.c:1276
+#: ../src/layout_image.c:516 ../src/pan-view.c:2629 ../src/search.c:1025
+#: ../src/view_dir.c:670 ../src/view_file.c:600
 msgid "_Copy path"
-msgstr "S_kopiuj"
-
-#: src/collect-table.c:816 src/view_file.c:601
+msgstr "S_kopiuj ścieżkę"
+
+#: ../src/collect-table.c:914
+msgid "Randomize"
+msgstr "Losowo"
+
+#: ../src/collect-table.c:916 ../src/view_file.c:616
+msgid "_Sort"
+msgstr "_UporzÄ…dkuj"
+
+#: ../src/collect-table.c:919 ../src/view_file.c:632
 msgid "Show filename _text"
 msgstr "Pokaż nazwę pliku"
 
-#: src/collect-table.c:819
+#: ../src/collect-table.c:922
 msgid "_Save collection"
 msgstr "_Zapisz kolekcjÄ™"
 
-#: src/collect-table.c:821
+#: ../src/collect-table.c:924
 msgid "Save collection _as..."
 msgstr "Zapisz kolekcjÄ™ jako..."
 
-#: src/collect-table.c:824 src/layout_util.c:1063
+#: ../src/collect-table.c:927 ../src/layout_util.c:1284
 msgid "_Find duplicates..."
 msgstr "Wyszukaj duplikaty..."
 
-#: src/collect-table.c:826 src/dupe.c:2259 src/search.c:999
+#: ../src/collect-table.c:929 ../src/dupe.c:2264 ../src/layout_util.c:1286
+#: ../src/search.c:1014
 msgid "Print..."
 msgstr "Drukuj..."
 
-#: src/collect-table.c:1978 src/dupe.c:3355 src/img-view.c:1445
+#: ../src/collect-table.c:2094 ../src/dupe.c:3324 ../src/img-view.c:1430
 msgid "Dropped list includes folders."
 msgstr ""
 
-#: src/collect-table.c:1980 src/dupe.c:3357 src/img-view.c:1447
+#: ../src/collect-table.c:2096 ../src/dupe.c:3326 ../src/img-view.c:1432
 msgid "_Add contents"
 msgstr "_Dodaj zawartość"
 
-#: src/collect-table.c:1982 src/dupe.c:3358 src/img-view.c:1448
+#: ../src/collect-table.c:2098 ../src/dupe.c:3327 ../src/img-view.c:1433
 msgid "Add contents _recursive"
 msgstr "Dodaj zawartość _rekurencyjnie"
 
-#: src/collect-table.c:1984 src/dupe.c:3359 src/img-view.c:1449
+#: ../src/collect-table.c:2100 ../src/dupe.c:3328 ../src/img-view.c:1434
 msgid "_Skip folders"
 msgstr "Pomiń katalogi"
 
-#: src/collect-table.c:1987 src/dupe.c:3361 src/img-view.c:1451
-#: src/view_dir.c:343
+#: ../src/collect-table.c:2103 ../src/dupe.c:3330 ../src/img-view.c:1436
+#: ../src/view_dir.c:417
 msgid "Cancel"
 msgstr "Anuluj"
 
-#: src/dupe.c:99
+#: ../src/color-man.c:426 ../src/exif.c:233 ../src/exif-common.c:436
+msgid "sRGB"
+msgstr ""
+
+#: ../src/color-man.c:428
+msgid "Adobe RGB compatible"
+msgstr ""
+
+#: ../src/color-man.c:443
+msgid "Custom profile"
+msgstr "WÅ‚asne profile"
+
+#: ../src/desktop_file.c:74 ../src/desktop_file.c:86 ../src/desktop_file.c:92
+msgid "Can't save"
+msgstr "Nie można zapisać"
+
+#: ../src/desktop_file.c:74
+msgid "Please specify file name."
+msgstr "Proszę określić nazwę pliku."
+
+#: ../src/desktop_file.c:86
+msgid "Could not create directory"
+msgstr "Nie można utworzyć katalogu"
+
+#: ../src/desktop_file.c:182 ../src/desktop_file.c:534
+#, fuzzy
+msgid "Desktop file"
+msgstr "Pulpit"
+
+#: ../src/desktop_file.c:291 ../src/ui_pathsel.c:485
+#, c-format
+msgid ""
+"Unable to delete file:\n"
+"%s"
+msgstr ""
+"Nie można usunąć pliku:\n"
+"%s"
+
+#: ../src/desktop_file.c:292 ../src/ui_pathsel.c:486 ../src/utilops.c:1960
+#: ../src/utilops.c:1987 ../src/utilops.c:2507
+msgid "File deletion failed"
+msgstr "Usunięcie pliku nie powiodło się"
+
+#: ../src/desktop_file.c:336 ../src/desktop_file.c:344 ../src/ui_pathsel.c:528
+#: ../src/ui_pathsel.c:536
+msgid "Delete file"
+msgstr "Usuń plik"
+
+#: ../src/desktop_file.c:342 ../src/ui_pathsel.c:534
+#, c-format
+msgid ""
+"About to delete the file:\n"
+" %s"
+msgstr ""
+"Usunięcie pliku:\n"
+" %s"
+
+#: ../src/desktop_file.c:374
+#, fuzzy
+msgid "new.desktop"
+msgstr "Pulpit"
+
+#: ../src/desktop_file.c:453
+msgid "Editors"
+msgstr "Edytory"
+
+#: ../src/desktop_file.c:524
+msgid "Hidden"
+msgstr "Ukryty"
+
+#: ../src/desktop_file.c:543 ../src/dupe.c:2653 ../src/dupe.c:3138
+#: ../src/print.c:3201 ../src/search.c:2794 ../src/ui_pathsel.c:1109
+#: ../src/utilops.c:458
+msgid "Path"
+msgstr "Ścieżka"
+
+#: ../src/dupe.c:100
 msgid "Drop files to compare them."
 msgstr "Upuść pliki, aby je porównać."
 
-#: src/dupe.c:103
+#: ../src/dupe.c:104
 #, c-format
 msgid "%d files"
 msgstr "%d plików"
 
-#: src/dupe.c:107
+#: ../src/dupe.c:108
 #, c-format
 msgid "%d matches found in %d files"
 msgstr "%d wystąpień w %d plikach"
 
-#: src/dupe.c:112
+#: ../src/dupe.c:113
 msgid "[set 1]"
 msgstr "[zbiór 1]"
 
-#: src/dupe.c:1454
+#: ../src/dupe.c:1445
 msgid "Reading checksums..."
 msgstr "Odczytywanie sum kontrolnych..."
 
-#: src/dupe.c:1487
+#: ../src/dupe.c:1478
 msgid "Reading dimensions..."
 msgstr "Odczytywanie wymiarów"
 
-#: src/dupe.c:1521
+#: ../src/dupe.c:1512
 msgid "Reading similarity data..."
 msgstr "Wczytywanie danych opisujących podobieństwo..."
 
-#: src/dupe.c:1556 src/dupe.c:1587
+#: ../src/dupe.c:1548 ../src/dupe.c:1579
 msgid "Comparing..."
 msgstr "Porównywanie..."
 
-#: src/dupe.c:1567 src/pan-view.c:1093
+#: ../src/dupe.c:1559 ../src/pan-view.c:996
 msgid "Sorting..."
 msgstr "Sortowanie..."
 
-#: src/dupe.c:2248
+#: ../src/dupe.c:2251
 msgid "Select group _1 duplicates"
 msgstr "Wybierz _pierwszą grupę duplikatów"
 
-#: src/dupe.c:2250
+#: ../src/dupe.c:2253
 msgid "Select group _2 duplicates"
 msgstr "Wybierz _drugą grupę duplikatów"
 
-#: src/dupe.c:2257 src/search.c:997
+#: ../src/dupe.c:2262 ../src/search.c:1012
 msgid "Add to new collection"
 msgstr "Dodaj do nowej kolekcji"
 
-#: src/dupe.c:2276 src/dupe.c:2566 src/search.c:1016
+#: ../src/dupe.c:2280 ../src/dupe.c:2567 ../src/search.c:1030
 msgid "C_lear"
 msgstr "Wyczyść"
 
-#: src/dupe.c:2279 src/dupe.c:2569
+#: ../src/dupe.c:2283 ../src/dupe.c:2570
 msgid "Close _window"
 msgstr "Zamknij okno"
 
-#: src/dupe.c:2439
+#: ../src/dupe.c:2443
 #, c-format
 msgid "%d files (set 2)"
 msgstr "%d plików (zbiór 2)"
 
-#: src/dupe.c:2647
-#, fuzzy
+#: ../src/dupe.c:2648
 msgid "Name case-insensitive"
-msgstr "Rozróżnianie wielkość liter podczas sortowania"
-
-#: src/dupe.c:2648 src/dupe.c:3168 src/preferences.c:1026 src/print.c:3238
-#: src/search.c:2761 src/view_file_list.c:1823
+msgstr "Nazwy z uwzględnianiem wielkości liter"
+
+#: ../src/dupe.c:2649 ../src/dupe.c:3135 ../src/preferences.c:1361
+#: ../src/print.c:3205 ../src/search.c:2791 ../src/view_file_list.c:1952
 msgid "Size"
 msgstr "Rozmiar"
 
-#: src/dupe.c:2649 src/dupe.c:3169 src/exif.c:339 src/exif-common.c:442
-#: src/print.c:3236 src/search.c:2762 src/view_file_list.c:1824
+#: ../src/dupe.c:2650 ../src/dupe.c:3136 ../src/exif.c:342
+#: ../src/exif-common.c:553 ../src/print.c:3203 ../src/search.c:2792
+#: ../src/view_file_list.c:1956
 msgid "Date"
 msgstr "Data"
 
-#: src/dupe.c:2650 src/dupe.c:3170 src/print.c:3240 src/search.c:2763
+#: ../src/dupe.c:2651 ../src/dupe.c:3137 ../src/print.c:3207
+#: ../src/search.c:2793
 msgid "Dimensions"
 msgstr "Wymiary"
 
-#: src/dupe.c:2651
+#: ../src/dupe.c:2652
 msgid "Checksum"
 msgstr "Suma kontrolna"
 
-#: src/dupe.c:2652 src/dupe.c:3171 src/print.c:3234 src/search.c:2764
-#: src/ui_pathsel.c:1115
-msgid "Path"
-msgstr "Ścieżka"
-
-#: src/dupe.c:2653
+#: ../src/dupe.c:2654
 msgid "Similarity (high)"
 msgstr "Podobieństwo (wysokie)"
 
-#: src/dupe.c:2654
+#: ../src/dupe.c:2655
 msgid "Similarity"
 msgstr "Podobieństwo"
 
-#: src/dupe.c:2655
+#: ../src/dupe.c:2656
 msgid "Similarity (low)"
 msgstr "Podobieństwo (niskie)"
 
-#: src/dupe.c:2656
+#: ../src/dupe.c:2657
 msgid "Similarity (custom)"
 msgstr "Podobieństwo (dowolne)"
 
-#: src/dupe.c:3121
-#, fuzzy
+#: ../src/dupe.c:3088
 msgid "Find duplicates"
 msgstr "Wyszukaj duplikaty..."
 
-#: src/dupe.c:3203
+#: ../src/dupe.c:3170
 msgid "Compare to:"
 msgstr "Porównaj z:"
 
-#: src/dupe.c:3216
+#: ../src/dupe.c:3183
 msgid "Compare by:"
 msgstr "Kryterium porównywania:"
 
-#: src/dupe.c:3224 src/preferences.c:884 src/search.c:2777
+#: ../src/dupe.c:3191 ../src/preferences.c:1201 ../src/search.c:2807
 msgid "Thumbnails"
 msgstr "Miniaturki"
 
-#: src/dupe.c:3231
+#: ../src/dupe.c:3198
 msgid "Compare two file sets"
 msgstr "Porównanie dwóch zbiorów plików"
 
-#: src/editors.c:61
-msgid "The Gimp"
-msgstr ""
-
-#: src/editors.c:62
-msgid "XV"
-msgstr ""
-
-#: src/editors.c:63
-msgid "Xpaint"
-msgstr "Xpaint"
-
-#: src/editors.c:64
-msgid "UFraw"
-msgstr ""
-
-#: src/editors.c:65
-msgid "Add XMP sidecar"
-msgstr ""
-
-#: src/editors.c:69
-msgid "Rotate jpeg clockwise"
-msgstr "Obróć jpeg zgodnie z zegarem"
-
-#: src/editors.c:70
-msgid "Rotate jpeg counterclockwise"
-msgstr "Obróć jpeg przeciwnie do zegara"
-
-#. for testing
-#: src/editors.c:74 src/editors.c:80
-msgid "External Copy command"
-msgstr ""
-
-#: src/editors.c:75 src/editors.c:81
-msgid "External Move command"
-msgstr ""
-
-#: src/editors.c:76 src/editors.c:82
-msgid "External Rename command"
-msgstr ""
-
-#: src/editors.c:77 src/editors.c:83
-#, fuzzy
-msgid "External Delete command"
-msgstr "Aktywny klawisz Delete"
-
-#: src/editors.c:78 src/editors.c:84
-msgid "External New Folder command"
-msgstr ""
-
-#: src/editors.c:140
+#: ../src/editors.c:281
+#, c-format
+msgid "Desktop file '%s' should not include extension in Icon key: '%s'\n"
+msgstr ""
+
+#. flash fired (bit 0)
+#: ../src/editors.c:335 ../src/exif.c:226 ../src/exif-common.c:362
+msgid "yes"
+msgstr "tak"
+
+#: ../src/editors.c:335 ../src/exif.c:225 ../src/exif-common.c:362
+msgid "no"
+msgstr "nie"
+
+#: ../src/editors.c:507
 msgid "stopping..."
 msgstr "zatrzymywanie..."
 
-#: src/editors.c:161
+#: ../src/editors.c:528
 msgid "Edit command results"
 msgstr "Edycja wyniku działania polecenia"
 
-#: src/editors.c:164
+#: ../src/editors.c:531
 #, c-format
 msgid "Output of %s"
 msgstr "Wyjście %s"
 
-#: src/editors.c:603
+#: ../src/editors.c:1054
 #, c-format
 msgid ""
 "Failed to run command:\n"
@@ -881,1478 +1049,2117 @@
 "Nie można uruchomić:\n"
 "%s\n"
 
-#: src/editors.c:721
+#: ../src/editors.c:1181
 msgid "stopped by user"
 msgstr "zatrzymane przez użytkownika"
 
-#: src/editors.c:836
+#: ../src/editors.c:1266
+#, c-format
+msgid ""
+"%s\n"
+"\"%s\""
+msgstr ""
+
+#: ../src/editors.c:1268
+#, fuzzy
+msgid "Invalid editor command"
+msgstr "Niepoprawny cel"
+
+#: ../src/editors.c:1355
 msgid "Editor template is empty."
 msgstr ""
 
-#: src/editors.c:837
+#: ../src/editors.c:1356
 msgid "Editor template has incorrect syntax."
 msgstr ""
 
-#: src/editors.c:838
+#: ../src/editors.c:1357
 msgid "Editor template uses incompatible macros."
 msgstr ""
 
-#: src/editors.c:839
+#: ../src/editors.c:1358
 msgid "Can't find matching file type."
-msgstr ""
-
-#: src/editors.c:840
+msgstr "Nie mogę znaleźć pasujących typów plików"
+
+#: ../src/editors.c:1359
 msgid "Can't execute external editor."
-msgstr ""
-
-#: src/editors.c:841
+msgstr "Nie mogę uruchomić zewnętrznego edytora"
+
+#: ../src/editors.c:1360
 msgid "External editor returned error status."
-msgstr ""
-
-#: src/editors.c:842
+msgstr "Zewnętrzny edytor zwrócił błąd."
+
+#: ../src/editors.c:1361
 msgid "File was skipped."
-msgstr ""
-
-#: src/editors.c:843
+msgstr "Plik został pominięty."
+
+#: ../src/editors.c:1362
 msgid "Unknown error."
-msgstr ""
-
-#: src/exif.c:145 src/exif.c:158 src/exif.c:172 src/exif.c:197 src/exif.c:314
-#: src/exif.c:625 src/exif-common.c:308 src/exif-common.c:311
-#: src/exif-common.c:378
+msgstr "Nieznany błąd."
+
+#: ../src/exif.c:148 ../src/exif.c:161 ../src/exif.c:175 ../src/exif.c:200
+#: ../src/exif.c:317 ../src/exif.c:664 ../src/exif-common.c:338
+#: ../src/exif-common.c:341 ../src/exif-common.c:408
 msgid "unknown"
 msgstr "nieznany"
 
-#: src/exif.c:146
+#: ../src/exif.c:149
 msgid "top left"
 msgstr "górny lewy"
 
-#: src/exif.c:147
+#: ../src/exif.c:150
 msgid "top right"
 msgstr "górny prawy"
 
-#: src/exif.c:148
+#: ../src/exif.c:151
 msgid "bottom right"
 msgstr "dolny lewy"
 
-#: src/exif.c:149
+#: ../src/exif.c:152
 msgid "bottom left"
 msgstr "dolny lewy"
 
-#: src/exif.c:150
+#: ../src/exif.c:153
 msgid "left top"
 msgstr "lewy górny"
 
-#: src/exif.c:151
+#: ../src/exif.c:154
 msgid "right top"
 msgstr "prawy górny"
 
-#: src/exif.c:152
+#: ../src/exif.c:155
 msgid "right bottom"
 msgstr "prawy dolny"
 
-#: src/exif.c:153
+#: ../src/exif.c:156
 msgid "left bottom"
 msgstr "lewy dolny"
 
-#: src/exif.c:160
+#: ../src/exif.c:163
 msgid "inch"
 msgstr "cal"
 
-#: src/exif.c:161
+#: ../src/exif.c:164
 msgid "centimeter"
 msgstr "centymetr"
 
-#: src/exif.c:173
+#: ../src/exif.c:176
 msgid "average"
 msgstr "średnie"
 
-#: src/exif.c:174
+#: ../src/exif.c:177
 msgid "center weighted"
 msgstr ""
 
-#: src/exif.c:175
+#: ../src/exif.c:178
 msgid "spot"
 msgstr ""
 
-#: src/exif.c:176
+#: ../src/exif.c:179
 msgid "multi-spot"
 msgstr ""
 
-#: src/exif.c:177
+#: ../src/exif.c:180
 msgid "multi-segment"
 msgstr ""
 
-#: src/exif.c:178
+#: ../src/exif.c:181
 msgid "partial"
 msgstr "częściowe"
 
-#: src/exif.c:179 src/exif.c:217
+#: ../src/exif.c:182 ../src/exif.c:220
 msgid "other"
 msgstr "inne"
 
-#: src/exif.c:184 src/exif.c:236
+#: ../src/exif.c:187 ../src/exif.c:239
 msgid "not defined"
 msgstr "niezdefiniowany"
 
-#: src/exif.c:185 src/exif.c:264 src/exif.c:271
+#: ../src/exif.c:188 ../src/exif.c:267 ../src/exif.c:274
 msgid "manual"
 msgstr "ręczny"
 
-#: src/exif.c:186 src/exif.c:257 src/exif.c:293 src/exif.c:300 src/exif.c:307
+#: ../src/exif.c:189 ../src/exif.c:260 ../src/exif.c:296 ../src/exif.c:303
+#: ../src/exif.c:310
 msgid "normal"
 msgstr "zwykły"
 
-#: src/exif.c:187
+#: ../src/exif.c:190
 msgid "aperture"
 msgstr ""
 
-#: src/exif.c:188
+#: ../src/exif.c:191
 msgid "shutter"
 msgstr "migawka"
 
-#: src/exif.c:189
+#: ../src/exif.c:192
 msgid "creative"
 msgstr ""
 
-#: src/exif.c:190
+#: ../src/exif.c:193
 msgid "action"
 msgstr "akcja"
 
-#: src/exif.c:191 src/exif.c:278
+#: ../src/exif.c:194 ../src/exif.c:281
 msgid "portrait"
 msgstr "pionowe"
 
-#: src/exif.c:192 src/exif.c:277
+#: ../src/exif.c:195 ../src/exif.c:280
 msgid "landscape"
 msgstr "poziome"
 
-#: src/exif.c:198
+#: ../src/exif.c:201
 msgid "daylight"
 msgstr "światło dzienne"
 
-#: src/exif.c:199
+#: ../src/exif.c:202
 msgid "fluorescent"
 msgstr "fluorescencyjne"
 
-#: src/exif.c:200
+#: ../src/exif.c:203
 msgid "tungsten (incandescent)"
 msgstr ""
 
-#: src/exif.c:201
+#: ../src/exif.c:204
 msgid "flash"
 msgstr "flesz"
 
-#: src/exif.c:202
+#: ../src/exif.c:205
 msgid "fine weather"
-msgstr ""
-
-#: src/exif.c:203
+msgstr "dobra pogoda"
+
+#: ../src/exif.c:206
 msgid "cloudy weather"
-msgstr ""
-
-#: src/exif.c:204
+msgstr "pochmurna pogoda"
+
+#: ../src/exif.c:207
 msgid "shade"
 msgstr ""
 
-#: src/exif.c:205
+#: ../src/exif.c:208
 #, fuzzy
 msgid "daylight fluorescent"
 msgstr "fluorescencyjne"
 
-#: src/exif.c:206
+#: ../src/exif.c:209
 #, fuzzy
 msgid "day white fluorescent"
 msgstr "fluorescencyjne"
 
-#: src/exif.c:207
+#: ../src/exif.c:210
 #, fuzzy
 msgid "cool white fluorescent"
 msgstr "fluorescencyjne"
 
-#: src/exif.c:208
+#: ../src/exif.c:211
 #, fuzzy
 msgid "white fluorescent"
 msgstr "fluorescencyjne"
 
-#: src/exif.c:209
+#: ../src/exif.c:212
 msgid "standard light A"
 msgstr ""
 
-#: src/exif.c:210
+#: ../src/exif.c:213
 msgid "standard light B"
 msgstr ""
 
-#: src/exif.c:211
+#: ../src/exif.c:214
 msgid "standard light C"
 msgstr ""
 
-#: src/exif.c:212
+#: ../src/exif.c:215
 msgid "D55"
-msgstr ""
-
-#: src/exif.c:213
+msgstr "D55"
+
+#: ../src/exif.c:216
 msgid "D65"
-msgstr ""
-
-#: src/exif.c:214
+msgstr "D65"
+
+#: ../src/exif.c:217
 msgid "D75"
-msgstr ""
-
-#: src/exif.c:215
+msgstr "D75"
+
+#: ../src/exif.c:218
 msgid "D50"
-msgstr ""
-
-#: src/exif.c:216
+msgstr "D50"
+
+#: ../src/exif.c:219
 msgid "ISO studio tungsten"
 msgstr ""
 
-#: src/exif.c:222 src/exif-common.c:332 src/info.c:257
-msgid "no"
-msgstr "nie"
-
-#. flash fired (bit 0)
-#: src/exif.c:223 src/exif-common.c:332 src/info.c:257
-msgid "yes"
-msgstr "tak"
-
-#: src/exif.c:224
+#: ../src/exif.c:227
 msgid "yes, not detected by strobe"
 msgstr ""
 
-#: src/exif.c:225
+#: ../src/exif.c:228
 msgid "yes, detected by strobe"
 msgstr ""
 
-#: src/exif.c:230 src/exif-common.c:403 src/layout.c:422
-msgid "sRGB"
-msgstr ""
-
-#: src/exif.c:231
+#: ../src/exif.c:234
 msgid "uncalibrated"
-msgstr ""
-
-#: src/exif.c:237
+msgstr "nieskalibrowaniy"
+
+#: ../src/exif.c:240
 msgid "1 chip color area"
 msgstr ""
 
-#: src/exif.c:238
+#: ../src/exif.c:241
 msgid "2 chip color area"
 msgstr ""
 
-#: src/exif.c:239
+#: ../src/exif.c:242
 msgid "3 chip color area"
 msgstr ""
 
-#: src/exif.c:240
+#: ../src/exif.c:243
 msgid "color sequential area"
 msgstr ""
 
-#: src/exif.c:241
-#, fuzzy
+#: ../src/exif.c:244
 msgid "trilinear"
-msgstr "Dwuliniowe"
-
-#: src/exif.c:242
+msgstr "trzyliniowe"
+
+#: ../src/exif.c:245
 msgid "color sequential linear"
 msgstr ""
 
-#: src/exif.c:247
+#: ../src/exif.c:250
 msgid "digital still camera"
 msgstr ""
 
-#: src/exif.c:252
+#: ../src/exif.c:255
 msgid "direct photo"
 msgstr ""
 
-#: src/exif.c:258
-#, fuzzy
+#: ../src/exif.c:261
 msgid "custom"
-msgstr "WÅ‚asne"
-
-#: src/exif.c:263 src/exif.c:270 src/exif-common.c:346
+msgstr "własne"
+
+#: ../src/exif.c:266 ../src/exif.c:273 ../src/exif-common.c:376
 msgid "auto"
 msgstr "automatyczne"
 
-#: src/exif.c:265
+#: ../src/exif.c:268
 #, fuzzy
 msgid "auto bracket"
 msgstr "Automatyczna zmiana nazwy"
 
-#: src/exif.c:276
-#, fuzzy
+#: ../src/exif.c:279
 msgid "standard"
-msgstr "Kalendarz"
-
-#: src/exif.c:279
-#, fuzzy
+msgstr "standard"
+
+#: ../src/exif.c:282
 msgid "night scene"
-msgstr "Źródło światła"
-
-#: src/exif.c:284
-#, fuzzy
+msgstr "nocna scena"
+
+#: ../src/exif.c:287
 msgid "none"
-msgstr "ukończono"
-
-#: src/exif.c:285
+msgstr "brak"
+
+#: ../src/exif.c:288
 #, fuzzy
 msgid "low gain up"
 msgstr "Wyczyść"
 
-#: src/exif.c:286
+#: ../src/exif.c:289
 msgid "high gain up"
 msgstr ""
 
-#: src/exif.c:287
+#: ../src/exif.c:290
 #, fuzzy
 msgid "low gain down"
 msgstr "Zamknij okno"
 
-#: src/exif.c:288
+#: ../src/exif.c:291
 msgid "high gain down"
 msgstr ""
 
-#: src/exif.c:294 src/exif.c:308
+#: ../src/exif.c:297 ../src/exif.c:311
 msgid "soft"
 msgstr ""
 
-#: src/exif.c:295 src/exif.c:309
+#: ../src/exif.c:298 ../src/exif.c:312
 msgid "hard"
 msgstr ""
 
-#: src/exif.c:301
+#: ../src/exif.c:304
 msgid "low"
 msgstr ""
 
-#: src/exif.c:302
-#, fuzzy
+#: ../src/exif.c:305
 msgid "high"
-msgstr "Wysokość"
-
-#: src/exif.c:315
+msgstr "Wysokie"
+
+#: ../src/exif.c:318
 msgid "macro"
 msgstr ""
 
-#: src/exif.c:316
+#: ../src/exif.c:319
 msgid "close"
 msgstr ""
 
-#: src/exif.c:317
+#: ../src/exif.c:320
 msgid "distant"
 msgstr ""
 
-#: src/exif.c:327
-#, fuzzy
+#: ../src/exif.c:330
 msgid "Image Width"
-msgstr "Plik obrazu"
-
-#: src/exif.c:328
-#, fuzzy
+msgstr "Szerokość obrazu"
+
+#: ../src/exif.c:331
 msgid "Image Height"
-msgstr "Wysokość"
-
-#: src/exif.c:329
+msgstr "Wysokość obrazu"
+
+#: ../src/exif.c:332
 msgid "Bits per Sample/Pixel"
 msgstr ""
 
-#: src/exif.c:330
-#, fuzzy
+#: ../src/exif.c:333
 msgid "Compression"
 msgstr "Poziom kompresji:"
 
-#: src/exif.c:331
+#: ../src/exif.c:334
 msgid "Image description"
 msgstr "Opis obrazu"
 
-#: src/exif.c:332
+#: ../src/exif.c:335
 #, fuzzy
 msgid "Camera make"
 msgstr "Aparat fotograficzny"
 
-#: src/exif.c:333
-#, fuzzy
+#: ../src/exif.c:336
 msgid "Camera model"
-msgstr "Aparat fotograficzny"
-
-#: src/exif.c:334
+msgstr "Model aparatu fotograficznego"
+
+#: ../src/exif.c:337
 msgid "Orientation"
-msgstr "Ułożenie"
-
-#: src/exif.c:335
-#, fuzzy
+msgstr "Orientacja"
+
+#: ../src/exif.c:338
 msgid "X resolution"
-msgstr "Rozdzielczość"
-
-#: src/exif.c:336
-#, fuzzy
+msgstr "Rozdzielczość X"
+
+#: ../src/exif.c:339
 msgid "Y Resolution"
-msgstr "Rozdzielczość"
-
-#: src/exif.c:337
+msgstr "Rozdzielczość Y"
+
+#: ../src/exif.c:340
 #, fuzzy
 msgid "Resolution units"
 msgstr "Rozdzielczość"
 
-#: src/exif.c:338
+#: ../src/exif.c:341
 msgid "Firmware"
-msgstr ""
-
-#: src/exif.c:340
+msgstr "Firmware"
+
+#: ../src/exif.c:343
 msgid "White point"
 msgstr ""
 
-#: src/exif.c:341
+#: ../src/exif.c:344
 msgid "Primary chromaticities"
 msgstr ""
 
-#: src/exif.c:342
+#: ../src/exif.c:345
 msgid "YCbCy coefficients"
 msgstr ""
 
-#: src/exif.c:343
+#: ../src/exif.c:346
 msgid "YCbCr positioning"
 msgstr ""
 
-#: src/exif.c:344
+#: ../src/exif.c:347
 #, fuzzy
 msgid "Black white reference"
 msgstr "Konfiguracja Geeqie"
 
-#: src/exif.c:345
-msgid "Copyright"
-msgstr "Prawa autorskie"
-
-#: src/exif.c:346
+#: ../src/exif.c:349
 msgid "SubIFD Exif offset"
 msgstr ""
 
 #. subIFD follows
-#: src/exif.c:348
+#: ../src/exif.c:351
 #, fuzzy
 msgid "Exposure time (seconds)"
 msgstr "Poprawka naświetlania"
 
-#: src/exif.c:349
+#: ../src/exif.c:352
 msgid "FNumber"
 msgstr ""
 
-#: src/exif.c:350
+#: ../src/exif.c:353
 msgid "Exposure program"
 msgstr "Program naświetlania"
 
-#: src/exif.c:351
+#: ../src/exif.c:354
 #, fuzzy
 msgid "Spectral Sensitivity"
 msgstr "czułość ISO"
 
-#: src/exif.c:352 src/exif.c:388 src/exif-common.c:446
+#: ../src/exif.c:355 ../src/exif.c:391 ../src/exif-common.c:557
 msgid "ISO sensitivity"
 msgstr "czułość ISO"
 
-#: src/exif.c:353
+#: ../src/exif.c:356
 msgid "Optoelectric conversion factor"
 msgstr ""
 
-#: src/exif.c:354
+#: ../src/exif.c:357
 msgid "Exif version"
-msgstr ""
-
-#: src/exif.c:355
+msgstr "Wersja Exif"
+
+#: ../src/exif.c:358
 msgid "Date original"
 msgstr "Data oryginału"
 
-#: src/exif.c:356
+#: ../src/exif.c:359
 msgid "Date digitized"
 msgstr "Data digitalizacji"
 
-#: src/exif.c:357
+#: ../src/exif.c:360
 #, fuzzy
 msgid "Pixel format"
 msgstr "Format pliku:"
 
-#: src/exif.c:358
-#, fuzzy
+#: ../src/exif.c:361
 msgid "Compression ratio"
 msgstr "Poziom kompresji:"
 
-#: src/exif.c:359 src/exif-common.c:443
+#: ../src/exif.c:362 ../src/exif-common.c:554
 msgid "Shutter speed"
 msgstr "Szybkość migawki"
 
-#: src/exif.c:360 src/exif-common.c:444
+#: ../src/exif.c:363 ../src/exif-common.c:555
 msgid "Aperture"
 msgstr "Przysłona"
 
-#: src/exif.c:361
+#: ../src/exif.c:364
 msgid "Brightness"
-msgstr ""
-
-#: src/exif.c:362 src/exif-common.c:445
+msgstr "Jasność"
+
+#: ../src/exif.c:365 ../src/exif-common.c:556
 msgid "Exposure bias"
 msgstr "Poprawka naświetlania"
 
-#: src/exif.c:363
+#: ../src/exif.c:366
 #, fuzzy
 msgid "Maximum aperture"
 msgstr "Maksymalny rozmiar:"
 
-#: src/exif.c:364 src/exif-common.c:449
+#: ../src/exif.c:367 ../src/exif-common.c:560
 msgid "Subject distance"
 msgstr "Odległość przedmiotu"
 
-#: src/exif.c:365
+#: ../src/exif.c:368
 msgid "Metering mode"
 msgstr "Metoda pomiaru odległości"
 
-#: src/exif.c:366
+#: ../src/exif.c:369
 msgid "Light source"
 msgstr "Źródło światła"
 
-#: src/exif.c:367 src/exif-common.c:450
+#: ../src/exif.c:370 ../src/exif-common.c:561
 msgid "Flash"
 msgstr "Flesz"
 
-#: src/exif.c:368 src/exif-common.c:447
+#: ../src/exif.c:371 ../src/exif-common.c:558
 msgid "Focal length"
 msgstr "Ogniskowa"
 
-#: src/exif.c:369
+#: ../src/exif.c:372
 #, fuzzy
 msgid "Subject area"
 msgstr "Odległość przedmiotu"
 
-#: src/exif.c:370
+#: ../src/exif.c:373
 msgid "MakerNote"
 msgstr ""
 
-#: src/exif.c:371
-#, fuzzy
+#: ../src/exif.c:374
 msgid "UserComment"
-msgstr "Komentarz:"
-
-#: src/exif.c:372
+msgstr "Komentarz użytkownika:"
+
+#: ../src/exif.c:375
 msgid "Subsecond time"
 msgstr ""
 
-#: src/exif.c:373
+#: ../src/exif.c:376
 #, fuzzy
 msgid "Subsecond time original"
 msgstr "Data oryginału"
 
-#: src/exif.c:374
+#: ../src/exif.c:377
 #, fuzzy
 msgid "Subsecond time digitized"
 msgstr "Data digitalizacji"
 
-#: src/exif.c:375
+#: ../src/exif.c:378
 msgid "FlashPix version"
 msgstr ""
 
-#: src/exif.c:376
+#: ../src/exif.c:379
 msgid "Colorspace"
 msgstr ""
 
 #. ExifImageWidth, ExifImageHeight can also be unsigned short
-#: src/exif.c:378
+#: ../src/exif.c:381 ../src/preferences.c:2033
 msgid "Width"
 msgstr "Szerokość"
 
-#: src/exif.c:379
+#: ../src/exif.c:382 ../src/preferences.c:2035
 msgid "Height"
 msgstr "Wysokość"
 
-#: src/exif.c:380
-#, fuzzy
+#: ../src/exif.c:383
 msgid "Audio data"
-msgstr "Dane E_xif"
-
-#: src/exif.c:381
+msgstr "Dane audio"
+
+#: ../src/exif.c:384
 msgid "ExifR98 extension"
 msgstr ""
 
-#: src/exif.c:382
+#: ../src/exif.c:385
 #, fuzzy
 msgid "Flash strength"
 msgstr "Ogniskowa"
 
-#: src/exif.c:383
+#: ../src/exif.c:386
 msgid "Spatial frequency response"
 msgstr ""
 
-#: src/exif.c:384
+#: ../src/exif.c:387
 msgid "X Pixel density"
 msgstr ""
 
-#: src/exif.c:385
+#: ../src/exif.c:388
 msgid "Y Pixel density"
 msgstr ""
 
-#: src/exif.c:386
+#: ../src/exif.c:389
 msgid "Pixel density units"
 msgstr ""
 
-#: src/exif.c:387
+#: ../src/exif.c:390
 #, fuzzy
 msgid "Subject location"
 msgstr "Zaznaczenie"
 
-#: src/exif.c:389
+#: ../src/exif.c:392
 #, fuzzy
 msgid "Sensor type"
 msgstr "NieuporzÄ…dkowane"
 
-#: src/exif.c:390
-#, fuzzy
+#: ../src/exif.c:393
 msgid "Source type"
 msgstr "Źródło"
 
-#: src/exif.c:391
-#, fuzzy
+#: ../src/exif.c:394
 msgid "Scene type"
-msgstr "centymetr"
-
-#: src/exif.c:392
+msgstr "Typ sceny"
+
+#: ../src/exif.c:395
 msgid "Color filter array pattern"
 msgstr ""
 
 #. tags a4xx were added for Exif 2.2 (not just these - some above, as well)
-#: src/exif.c:394
+#: ../src/exif.c:397
 #, fuzzy
 msgid "Render process"
 msgstr "Utwórz"
 
-#: src/exif.c:395
+#: ../src/exif.c:398
 #, fuzzy
 msgid "Exposure mode"
 msgstr "Poprawka naświetlania"
 
-#: src/exif.c:396
+#: ../src/exif.c:399
 msgid "White balance"
-msgstr ""
-
-#: src/exif.c:397
+msgstr "Balans bieli"
+
+#: ../src/exif.c:400
 msgid "Digital zoom ratio"
 msgstr ""
 
-#: src/exif.c:398
+#: ../src/exif.c:401
 #, fuzzy
 msgid "Focal length (35mm)"
 msgstr "Ogniskowa"
 
-#: src/exif.c:399
+#: ../src/exif.c:402
 msgid "Scene capture type"
 msgstr ""
 
-#: src/exif.c:400
+#: ../src/exif.c:403
 #, fuzzy
 msgid "Gain control"
 msgstr "Odłącza panel sterujący"
 
-#: src/exif.c:401
-#, fuzzy
+#: ../src/exif.c:404
 msgid "Contrast"
-msgstr "pionowe"
-
-#: src/exif.c:402
-#, fuzzy
+msgstr "Kontrast"
+
+#: ../src/exif.c:405
 msgid "Saturation"
-msgstr "akcja"
-
-#: src/exif.c:403
+msgstr "Saturacja"
+
+#: ../src/exif.c:406
 msgid "Sharpness"
-msgstr ""
-
-#: src/exif.c:404
+msgstr "Ostrość"
+
+#: ../src/exif.c:407
 msgid "Device setting"
-msgstr ""
-
-#: src/exif.c:405
+msgstr "Ustawienia urzÄ…dzenia"
+
+#: ../src/exif.c:408
 #, fuzzy
 msgid "Subject range"
 msgstr "Odległość przedmiotu"
 
-#: src/exif.c:406
-#, fuzzy
+#: ../src/exif.c:409
 msgid "Image serial number"
-msgstr "Plik obrazu"
-
-#: src/exif-common.c:307
+msgstr "Numer seryjny obrazu"
+
+#: ../src/exif-common.c:337
 msgid "infinity"
 msgstr "nieskończoność"
 
-#: src/exif-common.c:336
+#: ../src/exif-common.c:366
 msgid "mode:"
 msgstr "tryb:"
 
-#: src/exif-common.c:340 src/trash.c:193
+#: ../src/exif-common.c:370 ../src/trash.c:205
 msgid "on"
 msgstr "włączony"
 
-#: src/exif-common.c:343 src/trash.c:198
+#: ../src/exif-common.c:373 ../src/trash.c:210
 msgid "off"
 msgstr "wyłączony"
 
-#: src/exif-common.c:352
+#: ../src/exif-common.c:382
 msgid "not detected by strobe"
 msgstr ""
 
-#: src/exif-common.c:353
+#: ../src/exif-common.c:383
 msgid "detected by strobe"
 msgstr ""
 
 #. we ignore flash function (bit 5)
 #. red-eye (bit 6)
-#: src/exif-common.c:358
+#: ../src/exif-common.c:388
 msgid "red-eye reduction"
 msgstr "redukcja efektu czerwonych oczu"
 
-#: src/exif-common.c:378
+#: ../src/exif-common.c:408
 msgid "dot"
 msgstr "punktów"
 
-#: src/exif-common.c:408
+#: ../src/exif-common.c:441
 msgid "AdobeRGB"
 msgstr ""
 
-#: src/exif-common.c:416
+#: ../src/exif-common.c:449
 msgid "embedded"
-msgstr ""
-
-#: src/exif-common.c:441
-#, fuzzy
+msgstr "osadzony"
+
+#: ../src/exif-common.c:544
+msgid "Above Sea Level"
+msgstr "Powyżej poziomu morza"
+
+#: ../src/exif-common.c:544
+msgid "Below Sea Level"
+msgstr "Poniżej poziomu morza"
+
+#: ../src/exif-common.c:552
 msgid "Camera"
 msgstr "Aparat fotograficzny"
 
-#: src/exif-common.c:448
+#: ../src/exif-common.c:559
 #, fuzzy
 msgid "Focal length 35mm"
 msgstr "Ogniskowa"
 
-#: src/exif-common.c:451
-#, fuzzy
+#: ../src/exif-common.c:562
 msgid "Resolution"
 msgstr "Rozdzielczość"
 
-#: src/exif-common.c:452
-#, fuzzy
+#: ../src/exif-common.c:563
 msgid "Color profile"
-msgstr "Wszystkie pliki"
-
-#: src/filedata.c:86
+msgstr "Profil koloru"
+
+#: ../src/exif-common.c:564
+msgid "GPS position"
+msgstr "Pozycja wg GPS"
+
+#: ../src/exif-common.c:565
+msgid "GPS altitude"
+msgstr "Wysokość wg GPS"
+
+#: ../src/exif-common.c:566
+msgid "File size"
+msgstr "Rozmiar pliku"
+
+#: ../src/exif-common.c:567
+msgid "File date"
+msgstr "Czas utworzenia pliku"
+
+#: ../src/exif-common.c:568
+#, fuzzy
+msgid "File mode"
+msgstr "Nazwa pliku"
+
+#: ../src/filedata.c:97
 #, c-format
 msgid "%d bytes"
 msgstr "%d bajtów"
 
-#: src/filedata.c:90
+#: ../src/filedata.c:101
 #, c-format
 msgid "%.1f K"
 msgstr "%.1f K"
 
-#: src/filedata.c:94
+#: ../src/filedata.c:105
 #, c-format
 msgid "%.1f MB"
 msgstr "%.1f MB"
 
-#: src/filedata.c:99
+#: ../src/filedata.c:110
 #, c-format
 msgid "%.1f GB"
 msgstr "%.1f GB"
 
-#: src/fullscreen.c:243 src/preferences.c:1329
+#: ../src/filedata.c:2291
+msgid "file or directory does not exist"
+msgstr "plik lub katalog nie istniejÄ…"
+
+#: ../src/filedata.c:2297
+msgid "destination already exists"
+msgstr "cel już istnieje"
+
+#: ../src/filedata.c:2303
+msgid "destination can't be overwritten"
+msgstr "cel nie może być nadpisany"
+
+#: ../src/filedata.c:2309
+msgid "destination directory is not writable"
+msgstr "docelowy katalog nie jest zapisywalny"
+
+#: ../src/filedata.c:2315
+msgid "destination directory does not exist"
+msgstr "docelowy katalog nie istnieje"
+
+#: ../src/filedata.c:2321
+msgid "source directory is not writable"
+msgstr "katalog źródłowy nie istnieje"
+
+#: ../src/filedata.c:2327
+msgid "no read permission"
+msgstr "brak uprawnień do odczytu"
+
+#: ../src/filedata.c:2333
+msgid "file is readonly"
+msgstr "plik jest tylko do odczytu"
+
+#: ../src/filedata.c:2339
+msgid "destination already exists and will be overwritten"
+msgstr "cel już istnieje i zostanie nadpisany"
+
+#: ../src/filedata.c:2345
+#, fuzzy
+msgid "source and destination are the same"
+msgstr "Źródło i cel są takie same, operacja anulowana."
+
+#: ../src/filedata.c:2351
+#, fuzzy
+msgid "source and destination have different extension"
+msgstr "Źródło i cel są takie same, operacja anulowana."
+
+#: ../src/filedata.c:2357
+msgid "there are unsaved metadata changes for the file"
+msgstr "istniejÄ… nie zapisane metadane dla tego pliku"
+
+#: ../src/fullscreen.c:235 ../src/layout_util.c:1347 ../src/layout_util.c:1348
+#: ../src/layout_util.c:1349 ../src/preferences.c:1374
 msgid "Full screen"
 msgstr "Pełny ekran"
 
-#: src/fullscreen.c:395
+#: ../src/fullscreen.c:412
 msgid "Full size"
 msgstr "Pełny rozmiar"
 
-#: src/fullscreen.c:400
+#: ../src/fullscreen.c:420
 msgid "Monitor"
 msgstr "Monitor"
 
-#: src/fullscreen.c:405 src/layout.c:455
+#: ../src/fullscreen.c:426
 msgid "Screen"
 msgstr "Ekran"
 
-#: src/fullscreen.c:642
+#: ../src/fullscreen.c:663
 msgid "Stay above other windows"
 msgstr "Trzymaj ponad innymi oknami"
 
-#: src/fullscreen.c:649
+#: ../src/fullscreen.c:670
 msgid "Determined by Window Manager"
 msgstr "Ustalone przez menedżer okien"
 
-#: src/fullscreen.c:650
+#: ../src/fullscreen.c:671
 msgid "Active screen"
 msgstr "Aktywny ekran"
 
-#: src/fullscreen.c:652
+#: ../src/fullscreen.c:673
 msgid "Active monitor"
 msgstr "Aktywny monitor"
 
-#: src/histogram.c:86
-msgid "logarithmical histogram on red"
-msgstr ""
-
-#: src/histogram.c:87
-msgid "logarithmical histogram on green"
-msgstr ""
-
-#: src/histogram.c:88
-msgid "logarithmical histogram on blue"
-msgstr ""
-
-#: src/histogram.c:89
-msgid "logarithmical histogram on value"
-msgstr ""
-
-#: src/histogram.c:90
-msgid "logarithmical histogram on RGB"
-msgstr ""
-
-#: src/histogram.c:91
-msgid "logarithmical histogram on max value"
-msgstr ""
-
-#: src/histogram.c:96
-msgid "linear histogram on red"
-msgstr ""
-
-#: src/histogram.c:97
-msgid "linear histogram on green"
-msgstr ""
-
-#: src/histogram.c:98
-msgid "linear histogram on blue"
-msgstr ""
-
-#: src/histogram.c:99
-msgid "linear histogram on value"
-msgstr ""
-
-#: src/histogram.c:100
-msgid "linear histogram on RGB"
-msgstr ""
-
-#: src/histogram.c:101
-msgid "linear histogram on max value"
-msgstr ""
-
-#: src/img-view.c:1268 src/layout_image.c:743 src/layout_util.c:1105
-#: src/layout_util.c:1106 src/layout_util.c:1107 src/pan-view.c:2800
+#: ../src/histogram.c:113
+msgid "Log Histogram on Red"
+msgstr ""
+
+#: ../src/histogram.c:114
+msgid "Log Histogram on Green"
+msgstr ""
+
+#: ../src/histogram.c:115
+msgid "Log Histogram on Blue"
+msgstr ""
+
+#: ../src/histogram.c:116
+msgid "Log Histogram on RGB"
+msgstr ""
+
+#: ../src/histogram.c:117
+msgid "Log Histogram on value"
+msgstr ""
+
+#: ../src/histogram.c:122
+msgid "Linear Histogram on Red"
+msgstr ""
+
+#: ../src/histogram.c:123
+msgid "Linear Histogram on Green"
+msgstr ""
+
+#: ../src/histogram.c:124
+msgid "Linear Histogram on Blue"
+msgstr ""
+
+#: ../src/histogram.c:125
+msgid "Linear Histogram on RGB"
+msgstr ""
+
+#: ../src/histogram.c:126
+msgid "Linear Histogram on value"
+msgstr ""
+
+#: ../src/history_list.c:131
+#, c-format
+msgid "Unable to write history lists to: %s\n"
+msgstr "Nie można zapisać list historii w: %s\n"
+
+#: ../src/image.c:161
+#, fuzzy, c-format
+msgid " (Collection %s)"
+msgstr "Kolekcje"
+
+#: ../src/image_load_jpeg.c:177
+#, c-format
+msgid "Error interpreting JPEG image file (%s)"
+msgstr ""
+
+#: ../src/img-view.c:1253 ../src/layout_image.c:483 ../src/layout_util.c:1314
+#: ../src/layout_util.c:1315 ../src/layout_util.c:1330
+#: ../src/layout_util.c:1331 ../src/pan-view.c:2602
 msgid "Zoom _in"
 msgstr "Pow_iększ"
 
-#: src/img-view.c:1269 src/layout_image.c:744 src/layout_util.c:1108
-#: src/layout_util.c:1109 src/pan-view.c:2802
+#: ../src/img-view.c:1254 ../src/layout_image.c:484 ../src/layout_util.c:1316
+#: ../src/layout_util.c:1317 ../src/layout_util.c:1332
+#: ../src/layout_util.c:1333 ../src/pan-view.c:2604
 msgid "Zoom _out"
 msgstr "Po_mniejsz"
 
-#: src/img-view.c:1270 src/layout_image.c:745 src/layout_util.c:1110
-#: src/layout_util.c:1111 src/pan-view.c:2804
+#: ../src/img-view.c:1255 ../src/layout_image.c:485 ../src/layout_util.c:1318
+#: ../src/layout_util.c:1319 ../src/layout_util.c:1334
+#: ../src/layout_util.c:1335 ../src/pan-view.c:2606
 msgid "Zoom _1:1"
 msgstr "Skala _1:1"
 
-#: src/img-view.c:1271 src/layout_image.c:746
+#: ../src/img-view.c:1256 ../src/layout_image.c:486
 msgid "Fit image to _window"
 msgstr "Dopasowanie obrazu do _okna"
 
-#: src/img-view.c:1276 src/layout_image.c:752 src/layout_util.c:1103
+#: ../src/img-view.c:1264 ../src/layout_image.c:495 ../src/layout_util.c:1312
 msgid "Set as _wallpaper"
 msgstr "Usta_w jako tapetÄ™"
 
-#: src/img-view.c:1283 src/layout_image.c:762
+#: ../src/img-view.c:1269 ../src/layout_image.c:502
 msgid "_Go to directory view"
 msgstr ""
 
-#: src/img-view.c:1297 src/layout_image.c:786
+#: ../src/img-view.c:1282 ../src/layout_image.c:523
 msgid "_Stop slideshow"
 msgstr "_Zatrzymaj pokaz slajdów"
 
-#: src/img-view.c:1300 src/layout_image.c:789
+#: ../src/img-view.c:1285 ../src/layout_image.c:526
 msgid "Continue slides_how"
 msgstr "Kontyn_uuj pokaz slajdów"
 
-#: src/img-view.c:1305 src/img-view.c:1313 src/layout_image.c:794
-#: src/layout_image.c:801
+#: ../src/img-view.c:1290 ../src/img-view.c:1298 ../src/layout_image.c:531
+#: ../src/layout_image.c:538
 msgid "Pause slides_how"
 msgstr "W_strzymaj pokaz slajdów"
 
-#: src/img-view.c:1311 src/layout_image.c:800
+#: ../src/img-view.c:1296 ../src/layout_image.c:537
 msgid "_Start slideshow"
 msgstr "Rozpo_cznij pokaz slajdów"
 
-#: src/img-view.c:1319 src/layout_image.c:811 src/pan-view.c:2873
+#: ../src/img-view.c:1304 ../src/layout_image.c:548 ../src/pan-view.c:2675
 msgid "Exit _full screen"
 msgstr "Opuść tryb pełnoekranowy"
 
-#: src/img-view.c:1323 src/layout_image.c:807 src/pan-view.c:2877
+#: ../src/img-view.c:1308 ../src/layout_image.c:544 ../src/pan-view.c:2679
 msgid "_Full screen"
 msgstr "Pełny ekran"
 
-#: src/img-view.c:1327 src/layout_util.c:1074 src/pan-view.c:2881
+#: ../src/img-view.c:1312 ../src/layout_util.c:1297 ../src/pan-view.c:2683
 msgid "C_lose window"
 msgstr "Zamknij okno"
 
-#: src/info.c:392
-msgid "File size:"
-msgstr "Rozmiar pliku:"
-
-#: src/info.c:394
-msgid "Dimensions:"
-msgstr "Wymiary:"
-
-#: src/info.c:395
-msgid "Transparent:"
-msgstr "Przezroczystość:"
-
-#: src/info.c:396 src/print.c:3419
-msgid "Image size:"
-msgstr "Rozmiar obrazu:"
-
-#: src/info.c:398
-msgid "Compress ratio:"
-msgstr "Poziom kompresji:"
-
-#: src/info.c:399
-msgid "File type:"
-msgstr "Typ pliku:"
-
-#: src/info.c:401
-msgid "Owner:"
-msgstr "Właściciel:"
-
-#: src/info.c:402
-msgid "Group:"
-msgstr "Grupa:"
-
-#: src/info.c:405 src/preferences.c:858
-msgid "General"
-msgstr "Ogólne"
-
-#: src/info.c:531
-#, c-format
-msgid "Image %d of %d"
-msgstr "Obraz %d z %d"
-
-#: src/info.c:778
-#, fuzzy
-msgid "Image properties"
-msgstr "Właściwości obrazu - Geeqie"
-
-#: src/layout.c:282 src/view_file.c:585
+#: ../src/layout.c:359 ../src/view_file.c:613
 msgid "Ascending"
 msgstr "RosnÄ…co"
 
-#: src/layout.c:384
-#, c-format
-msgid "This installation of %s was not built with support for color profiles."
-msgstr ""
-
-#: src/layout.c:385
-msgid "Color profiles not supported"
-msgstr ""
-
-#: src/layout.c:410
-msgid "Use _color profiles"
-msgstr ""
-
-#: src/layout.c:415
-msgid "Use profile from _image"
-msgstr ""
-
-#: src/layout.c:421 src/layout.c:439
-#, c-format
-msgid "Input _%d:"
-msgstr ""
-
-#: src/layout.c:422
-msgid "AdobeRGB compatible"
-msgstr ""
-
-#: src/layout.c:464
-msgid "_Screen profile"
-msgstr ""
-
-#: src/layout.c:531
+#: ../src/layout.c:429
 msgid " Slideshow"
 msgstr " Slajdy"
 
-#: src/layout.c:535
+#: ../src/layout.c:433
 msgid " Paused"
 msgstr " Zatrzymane"
 
-#: src/layout.c:552
+#: ../src/layout.c:449
 #, c-format
 msgid "%s, %d files (%s, %d)%s"
 msgstr "%s, %d plików (%s, %d)%s"
 
-#: src/layout.c:559
+#: ../src/layout.c:456
 #, c-format
 msgid "%s, %d files%s"
 msgstr "%s, %d plików%s"
 
-#: src/layout.c:564
+#: ../src/layout.c:461
 #, c-format
 msgid "%d files%s"
 msgstr "%d plików%s"
 
-#: src/layout.c:593
+#: ../src/layout.c:507
 #, c-format
 msgid "(no read permission) %s bytes"
 msgstr "(brak uprawnień do odczytu) %s bajtów"
 
-#: src/layout.c:597
+#: ../src/layout.c:511
 #, c-format
 msgid "( ? x ? ) %s bytes"
 msgstr "( ? x ? ) %s bajtów"
 
-#: src/layout.c:605
+#: ../src/layout.c:519
 #, c-format
 msgid "( %d x %d ) %s bytes"
 msgstr "( %d x %d ) %s bajtów"
 
-#: src/layout.c:1301 src/layout_config.c:58
+#: ../src/layout.c:1244 ../src/layout_config.c:58
 msgid "Tools"
 msgstr "Narzędzia"
 
-#: src/layout.c:1983
-#, fuzzy
+#: ../src/layout.c:1866
+msgid "Window options and layout"
+msgstr "Ustawienia okna i jego ułożenia"
+
+#: ../src/layout.c:1925
+msgid "General options"
+msgstr "Ogólne"
+
+#: ../src/layout.c:1927
+msgid "Home path (empty to use your home directory)"
+msgstr "Katalog startowy (zostaw puste by ustawić twój katalog domowy)"
+
+#: ../src/layout.c:1935
+msgid "Use current"
+msgstr "Wykorzystaj bieżący"
+
+#: ../src/layout.c:1938
+msgid "Show date in directories list view"
+msgstr "Pokaż datę przy widoku katalogu jako listy "
+
+#: ../src/layout.c:1941
+msgid "Exit program when this window is closed"
+msgstr "Zamknij program po zamknięciu tego okna"
+
+#: ../src/layout.c:1944
+msgid "Start-up directory:"
+msgstr "Katalog startowy:"
+
+#: ../src/layout.c:1946
+msgid "No change"
+msgstr "Bez zmian"
+
+#: ../src/layout.c:1949
+msgid "Restore last path"
+msgstr "Użyj ostatniej ścieżki"
+
+#: ../src/layout.c:1952
+msgid "Home path"
+msgstr "Katalog domowy"
+
+#: ../src/layout.c:1956 ../src/print.c:3365 ../src/print.c:3372
+msgid "Layout"
+msgstr "Ułożenie"
+
+#: ../src/layout.c:2200
 msgid "Invalid geometry\n"
-msgstr "Nieprawidłowy folder"
-
-#: src/layout_config.c:58 src/ui_pathsel.c:1183
+msgstr "Nieprawidłowa geometria\n"
+
+#: ../src/layout_config.c:58 ../src/preferences.c:1469
+#: ../src/ui_pathsel.c:1173
 msgid "Files"
 msgstr "Pliki"
 
-#: src/layout_config.c:58 src/preferences.c:941 src/print.c:116
+#: ../src/layout_config.c:58 ../src/preferences.c:91 ../src/preferences.c:1260
+#: ../src/print.c:123
 msgid "Image"
 msgstr "Obraz"
 
-#: src/layout_config.c:364
+#: ../src/layout_config.c:349
 msgid "(drag to change order)"
 msgstr "(przeciągnij aby zmienić kolejność)"
 
-#: src/layout_image.c:816
+#: ../src/layout_image.c:553
 msgid "Hide file _list"
 msgstr "Ukrycie _listy plików"
 
-#: src/layout_util.c:879 src/menu.c:76
-#, fuzzy, c-format
-msgid "_%d %s..."
-msgstr "za pomocÄ… %s..."
-
-#: src/layout_util.c:883 src/menu.c:78
-#, fuzzy, c-format
-msgid "_%d (unknown)..."
-msgstr "za pomocÄ… (nieznany)..."
-
-#: src/layout_util.c:893
-#, fuzzy, c-format
-msgid "_%d empty"
-msgstr "puste"
-
-#: src/layout_util.c:1037
+#: ../src/layout_image.c:1616
+#, c-format
+msgid "[%*d,%*d]: RGB(%3d,%3d,%3d)"
+msgstr ""
+
+#: ../src/layout_image.c:1624
+#, c-format
+msgid "[%*s,%*s]: RGB(---,---,---)"
+msgstr ""
+
+#: ../src/layout_util.c:1251
 msgid "_File"
 msgstr "_Plik"
 
-#: src/layout_util.c:1038
+#: ../src/layout_util.c:1252
 msgid "_Go"
-msgstr ""
-
-#: src/layout_util.c:1039 src/menu.c:93
+msgstr "Idź do"
+
+#: ../src/layout_util.c:1253 ../src/menu.c:109
 msgid "_Edit"
 msgstr "_Edycja"
 
-#: src/layout_util.c:1040
-#, fuzzy
+#: ../src/layout_util.c:1254
 msgid "_Select"
 msgstr "Zaznaczenie"
 
-#: src/layout_util.c:1041 src/menu.c:265
-msgid "_Adjust"
-msgstr "Modyfikacja"
-
-#: src/layout_util.c:1043
-msgid "_View Directory as"
-msgstr ""
-
-#: src/layout_util.c:1044
+#: ../src/layout_util.c:1255 ../src/menu.c:280
+msgid "_Orientation"
+msgstr "Orientacja"
+
+#: ../src/layout_util.c:1256
+msgid "E_xternal Editors"
+msgstr "Zewnętrzne edytory"
+
+#: ../src/layout_util.c:1257
+msgid "P_references"
+msgstr "P_referencje..."
+
+#: ../src/layout_util.c:1259
+msgid "_Files and Folders"
+msgstr "Pliki i katalogi"
+
+#: ../src/layout_util.c:1260
+msgid "_Zoom"
+msgstr "Skalowanie"
+
+#: ../src/layout_util.c:1261
+msgid "_Color Management"
+msgstr "ZarzÄ…dzanie kolorami"
+
+#: ../src/layout_util.c:1262
+msgid "_Connected Zoom"
+msgstr ""
+
+#: ../src/layout_util.c:1263
+msgid "Spli_t"
+msgstr "Podziel"
+
+#: ../src/layout_util.c:1264
+msgid "Stere_o"
+msgstr ""
+
+#: ../src/layout_util.c:1265 ../src/layout_util.c:1380
 #, fuzzy
-msgid "_Zoom"
-msgstr "Skala"
-
-#: src/layout_util.c:1045
-msgid "_Split"
-msgstr ""
-
-#: src/layout_util.c:1046
+msgid "Image _Overlay"
+msgstr "Wyszukiwanie obrazu"
+
+#: ../src/layout_util.c:1266
 msgid "_Help"
 msgstr "Pomo_c"
 
-#: src/layout_util.c:1048
-#, fuzzy
+#: ../src/layout_util.c:1268
 msgid "_First Image"
-msgstr "pierwszy obraz"
-
-#: src/layout_util.c:1049 src/layout_util.c:1050 src/layout_util.c:1051
-#, fuzzy
+msgstr "Pierwszy obraz"
+
+#: ../src/layout_util.c:1268
+msgid "First Image"
+msgstr "Pierwszy obraz"
+
+#: ../src/layout_util.c:1269 ../src/layout_util.c:1270
+#: ../src/layout_util.c:1271
 msgid "_Previous Image"
-msgstr "poprzedni obraz"
-
-#: src/layout_util.c:1052 src/layout_util.c:1053 src/layout_util.c:1054
-#, fuzzy
+msgstr "_Poprzedni obraz"
+
+#: ../src/layout_util.c:1269 ../src/layout_util.c:1270
+#: ../src/layout_util.c:1271
+msgid "Previous Image"
+msgstr "_Poprzedni obraz"
+
+#: ../src/layout_util.c:1272 ../src/layout_util.c:1273
+#: ../src/layout_util.c:1274
 msgid "_Next Image"
-msgstr "następny obraz"
-
-#: src/layout_util.c:1055
-#, fuzzy
+msgstr "_Następny obraz"
+
+#: ../src/layout_util.c:1272 ../src/layout_util.c:1273
+#: ../src/layout_util.c:1274
+msgid "Next Image"
+msgstr "_Następny obraz"
+
+#: ../src/layout_util.c:1275
 msgid "_Last Image"
-msgstr "ostatni obraz"
-
-#: src/layout_util.c:1058
+msgstr "_Ostatni obraz"
+
+#: ../src/layout_util.c:1275
+msgid "Last Image"
+msgstr "_Ostatni obraz"
+
+#: ../src/layout_util.c:1276
+msgid "_Back"
+msgstr "_Powrót"
+
+#: ../src/layout_util.c:1276
+msgid "Back"
+msgstr "Powrót"
+
+#: ../src/layout_util.c:1277
+msgid "_Home"
+msgstr "Położenie początkowe"
+
+#: ../src/layout_util.c:1277 ../src/options.c:143 ../src/ui_bookmark.c:549
+#: ../src/ui_pathsel.c:1045
+msgid "Home"
+msgstr "Położenie początkowe"
+
+#: ../src/layout_util.c:1279
 msgid "New _window"
 msgstr "No_we okno"
 
-#: src/layout_util.c:1059
+#: ../src/layout_util.c:1279
+msgid "New window"
+msgstr "No_we okno"
+
+#: ../src/layout_util.c:1280
 msgid "_New collection"
 msgstr "_Nowa kolekcja"
 
-#: src/layout_util.c:1060
+#: ../src/layout_util.c:1280
+msgid "New collection"
+msgstr "_Nowa kolekcja"
+
+#: ../src/layout_util.c:1281
 msgid "_Open collection..."
 msgstr "Otwórz kolekcję..."
 
-#: src/layout_util.c:1061
-msgid "Open _recent"
+#: ../src/layout_util.c:1281
+msgid "Open collection..."
+msgstr "Otwórz kolekcję..."
+
+#: ../src/layout_util.c:1282
+msgid "Open recen_t"
 msgstr "Otwó_rz ostatni"
 
-#: src/layout_util.c:1062
+#: ../src/layout_util.c:1282
+msgid "Open recent"
+msgstr "Otwó_rz ostatni"
+
+#: ../src/layout_util.c:1283
 msgid "_Search..."
 msgstr "Szukaj..."
 
-#: src/layout_util.c:1064
-msgid "Pan _view"
-msgstr ""
-
-#: src/layout_util.c:1065
+#: ../src/layout_util.c:1283
+msgid "Search..."
+msgstr "Szukaj..."
+
+#: ../src/layout_util.c:1284
+msgid "Find duplicates..."
+msgstr "Wyszukaj duplikaty..."
+
+#: ../src/layout_util.c:1285
+#, fuzzy
+msgid "Pa_n view"
+msgstr "Widok"
+
+#: ../src/layout_util.c:1285
+#, fuzzy
+msgid "Pan view"
+msgstr "Widok"
+
+#: ../src/layout_util.c:1286
 msgid "_Print..."
 msgstr "Drukuj..."
 
-#: src/layout_util.c:1066
+#: ../src/layout_util.c:1287
 msgid "N_ew folder..."
 msgstr "Nowy katalog..."
 
-#: src/layout_util.c:1075
+#: ../src/layout_util.c:1287
+msgid "New folder..."
+msgstr "Nowy katalog..."
+
+#: ../src/layout_util.c:1288
+msgid "Copy..."
+msgstr "_Kopiuj..."
+
+#: ../src/layout_util.c:1289
+msgid "Move..."
+msgstr "P_rzenieÅ›..."
+
+#: ../src/layout_util.c:1290
+msgid "Rename..."
+msgstr "Zm_ień nazwę..."
+
+#: ../src/layout_util.c:1291 ../src/layout_util.c:1292
+#: ../src/layout_util.c:1293
+msgid "Delete..."
+msgstr "_Usuń..."
+
+#: ../src/layout_util.c:1294 ../src/view_file.c:603
+#, fuzzy
+msgid "Enable file _grouping"
+msgstr "Bez filtrowania plików"
+
+#: ../src/layout_util.c:1294
+#, fuzzy
+msgid "Enable file grouping"
+msgstr "Bez filtrowania plików"
+
+#: ../src/layout_util.c:1295 ../src/view_file.c:605
+#, fuzzy
+msgid "Disable file groupi_ng"
+msgstr "Bez filtrowania plików"
+
+#: ../src/layout_util.c:1295
+#, fuzzy
+msgid "Disable file grouping"
+msgstr "Bez filtrowania plików"
+
+#: ../src/layout_util.c:1296
+msgid "_Copy path to clipboard"
+msgstr "S_kopiuj ścieżkę do schowka"
+
+#: ../src/layout_util.c:1296
+msgid "Copy path to clipboard"
+msgstr "Kopiuj ścieżkę do schowka"
+
+#: ../src/layout_util.c:1297
+msgid "Close window"
+msgstr "Zamknij okno"
+
+#: ../src/layout_util.c:1298
 msgid "_Quit"
 msgstr "Zakończ"
 
-#: src/layout_util.c:1088 src/menu.c:203
+#: ../src/layout_util.c:1298
+msgid "Quit"
+msgstr "Zakończ"
+
+#: ../src/layout_util.c:1299 ../src/menu.c:222
 msgid "_Rotate clockwise"
 msgstr "Obróć _zgodnie z zegarem"
 
-#: src/layout_util.c:1089 src/menu.c:206
+#: ../src/layout_util.c:1299
+msgid "Rotate clockwise"
+msgstr "Obróć zgodnie ze wskazówkami zegara"
+
+#: ../src/layout_util.c:1300 ../src/menu.c:225
 msgid "Rotate _counterclockwise"
 msgstr "Obróć _przeciwnie do zegara"
 
-#: src/layout_util.c:1090
+#: ../src/layout_util.c:1300
+msgid "Rotate counterclockwise"
+msgstr "Obróć przeciwnie do wskazówek zegara"
+
+#: ../src/layout_util.c:1301
 msgid "Rotate 1_80"
 msgstr "Obróć o 1_80"
 
-#: src/layout_util.c:1091 src/menu.c:212
+#: ../src/layout_util.c:1301
+msgid "Rotate 180"
+msgstr "Obróć o 180"
+
+#: ../src/layout_util.c:1302 ../src/menu.c:231
 msgid "_Mirror"
 msgstr "_Lustro"
 
-#: src/layout_util.c:1092 src/menu.c:215
+#: ../src/layout_util.c:1302
+msgid "Mirror"
+msgstr "Lustro"
+
+#: ../src/layout_util.c:1303 ../src/menu.c:234
 msgid "_Flip"
 msgstr "O_dbij"
 
-#: src/layout_util.c:1093 src/menu.c:218
-#, fuzzy
-msgid "Toggle _grayscale"
-msgstr "Przełącz pokaz _slajdów"
-
-#: src/layout_util.c:1094 src/menu.c:221
-#, fuzzy
+#: ../src/layout_util.c:1303
+msgid "Flip"
+msgstr "Odbij"
+
+#: ../src/layout_util.c:1304 ../src/menu.c:237
 msgid "_Original state"
-msgstr "Nazwa oryginału"
-
-#: src/layout_util.c:1097
+msgstr "_Oryginalny rozmiar"
+
+#: ../src/layout_util.c:1304
+msgid "Original state"
+msgstr "Oryginalny rozmiar"
+
+#: ../src/layout_util.c:1305
 msgid "Select _all"
 msgstr "Zazn_acz wszystko"
 
-#: src/layout_util.c:1098
+#: ../src/layout_util.c:1306
 msgid "Select _none"
 msgstr "Odz_nacz"
 
-#: src/layout_util.c:1099
-#, fuzzy
+#: ../src/layout_util.c:1307
 msgid "_Invert Selection"
-msgstr "Zaznaczenie"
-
-#: src/layout_util.c:1101
+msgstr "Odwróć zaznaczenie"
+
+#: ../src/layout_util.c:1307
+msgid "Invert Selection"
+msgstr "Odwróć zaznaczenie"
+
+#: ../src/layout_util.c:1308
 msgid "P_references..."
 msgstr "P_referencje..."
 
-#: src/layout_util.c:1102
+#: ../src/layout_util.c:1308
+msgid "Preferences..."
+msgstr "Preferencje..."
+
+#: ../src/layout_util.c:1309
+msgid "Configure _Editors..."
+msgstr "Konfiguruj _Edytory"
+
+#: ../src/layout_util.c:1309
+msgid "Configure Editors..."
+msgstr "Konfiguruj Edytory..."
+
+#: ../src/layout_util.c:1310
+msgid "_Configure this window..."
+msgstr "Konfiguruj okno przeglÄ…darki..."
+
+#: ../src/layout_util.c:1310
+msgid "Configure this window..."
+msgstr "Konfiguruj to okno..."
+
+#: ../src/layout_util.c:1311
 msgid "_Thumbnail maintenance..."
 msgstr "ZarzÄ…dzanie minia_turkami..."
 
-#: src/layout_util.c:1112 src/layout_util.c:1113
+#: ../src/layout_util.c:1311
+msgid "Thumbnail maintenance..."
+msgstr "ZarzÄ…dzanie miniaturkami..."
+
+#: ../src/layout_util.c:1312
+msgid "Set as wallpaper"
+msgstr "Ustaw jako tapetÄ™"
+
+#: ../src/layout_util.c:1313
+msgid "_Save metadata"
+msgstr "Zapi_sz metadane"
+
+#: ../src/layout_util.c:1313
+msgid "Save metadata"
+msgstr "Zapisz metadane"
+
+#: ../src/layout_util.c:1314 ../src/layout_util.c:1315
+msgid "Zoom in"
+msgstr "Powiększ"
+
+#: ../src/layout_util.c:1316 ../src/layout_util.c:1317
+msgid "Zoom out"
+msgstr "Pomniejsz"
+
+#: ../src/layout_util.c:1318 ../src/layout_util.c:1319
+msgid "Zoom 1:1"
+msgstr "Skala 1:1"
+
+#: ../src/layout_util.c:1320 ../src/layout_util.c:1321
+#: ../src/layout_util.c:1336 ../src/layout_util.c:1337
 msgid "_Zoom to fit"
 msgstr "Dopasuj do okna"
 
-#: src/layout_util.c:1114
+#: ../src/layout_util.c:1320 ../src/layout_util.c:1321
+msgid "Zoom to fit"
+msgstr "Dopasuj do okna"
+
+#: ../src/layout_util.c:1322 ../src/layout_util.c:1338
 msgid "Fit _Horizontally"
-msgstr ""
-
-#: src/layout_util.c:1115
-msgid "Fit _Vorizontally"
-msgstr ""
-
-#: src/layout_util.c:1116
-#, fuzzy
+msgstr "Dopasuj w poziomie"
+
+#: ../src/layout_util.c:1322
+msgid "Fit Horizontally"
+msgstr "Dopasuj w poziomie"
+
+#: ../src/layout_util.c:1323 ../src/layout_util.c:1339
+msgid "Fit _Vertically"
+msgstr "Dopasuj w pionie"
+
+#: ../src/layout_util.c:1323
+msgid "Fit Vertically"
+msgstr "Dopasuj w pionie"
+
+#: ../src/layout_util.c:1324 ../src/layout_util.c:1340
 msgid "Zoom _2:1"
-msgstr "Skala _1:1"
-
-#: src/layout_util.c:1117
-#, fuzzy
+msgstr "Skala _2:1"
+
+#: ../src/layout_util.c:1324
+msgid "Zoom 2:1"
+msgstr "Skala 2:1"
+
+#: ../src/layout_util.c:1325 ../src/layout_util.c:1341
 msgid "Zoom _3:1"
-msgstr "Skala _1:1"
-
-#: src/layout_util.c:1118
+msgstr "Skala _3:1"
+
+#: ../src/layout_util.c:1325
+msgid "Zoom 3:1"
+msgstr "Skala 3:1"
+
+#: ../src/layout_util.c:1326 ../src/layout_util.c:1342
+msgid "Zoom _4:1"
+msgstr "Skala _4:1"
+
+#: ../src/layout_util.c:1326
+msgid "Zoom 4:1"
+msgstr "Skala 4:1"
+
+#: ../src/layout_util.c:1327 ../src/layout_util.c:1343
+msgid "Zoom 1:2"
+msgstr "Skala _1:2"
+
+#: ../src/layout_util.c:1328 ../src/layout_util.c:1344
+msgid "Zoom 1:3"
+msgstr "Skala _1:3"
+
+#: ../src/layout_util.c:1329 ../src/layout_util.c:1345
+msgid "Zoom 1:4"
+msgstr "Skala _1:4"
+
+#: ../src/layout_util.c:1330 ../src/layout_util.c:1331
+msgid "Connected Zoom in"
+msgstr ""
+
+#: ../src/layout_util.c:1332 ../src/layout_util.c:1333
 #, fuzzy
-msgid "Zoom _4:1"
-msgstr "Skala _1:1"
-
-#: src/layout_util.c:1119
+msgid "Connected Zoom out"
+msgstr "Pomniejsz"
+
+#: ../src/layout_util.c:1334 ../src/layout_util.c:1335
+#, fuzzy
+msgid "Connected Zoom 1:1"
+msgstr "Ustawia powiększenie 1:1"
+
+#: ../src/layout_util.c:1336 ../src/layout_util.c:1337
 #, fuzzy
-msgid "Zoom 1:2"
-msgstr "Skala _1:1"
-
-#: src/layout_util.c:1120
+msgid "Connected Zoom to fit"
+msgstr "Dopasuj do okna"
+
+#: ../src/layout_util.c:1338
+msgid "Connected Fit Horizontally"
+msgstr ""
+
+#: ../src/layout_util.c:1339
+msgid "Connected Fit Vertically"
+msgstr ""
+
+#: ../src/layout_util.c:1340
 #, fuzzy
-msgid "Zoom 1:3"
-msgstr "Skala _1:1"
-
-#: src/layout_util.c:1121
+msgid "Connected Zoom 2:1"
+msgstr "Ustawia powiększenie 1:1"
+
+#: ../src/layout_util.c:1341
+#, fuzzy
+msgid "Connected Zoom 3:1"
+msgstr "Ustawia powiększenie 1:1"
+
+#: ../src/layout_util.c:1342
+#, fuzzy
+msgid "Connected Zoom 4:1"
+msgstr "Ustawia powiększenie 1:1"
+
+#: ../src/layout_util.c:1343
 #, fuzzy
-msgid "Zoom 1:4"
-msgstr "Skala _1:1"
-
-#: src/layout_util.c:1124
+msgid "Connected Zoom 1:2"
+msgstr "Skala _1:2"
+
+#: ../src/layout_util.c:1344
 #, fuzzy
+msgid "Connected Zoom 1:3"
+msgstr "Skala _1:3"
+
+#: ../src/layout_util.c:1345
+#, fuzzy
+msgid "Connected Zoom 1:4"
+msgstr "Skala _1:4"
+
+#: ../src/layout_util.c:1346
 msgid "_View in new window"
 msgstr "PodglÄ…d w _nowym oknie"
 
-#: src/layout_util.c:1126 src/layout_util.c:1127 src/layout_util.c:1128
+#: ../src/layout_util.c:1346
+msgid "View in new window"
+msgstr "PodglÄ…d w nowym oknie"
+
+#: ../src/layout_util.c:1347 ../src/layout_util.c:1348
+#: ../src/layout_util.c:1349
 msgid "F_ull screen"
 msgstr "P_ełny ekran"
 
-#: src/layout_util.c:1129 src/layout_util.c:1130
-#, fuzzy
-msgid "Escape"
-msgstr "poziome"
-
-#: src/layout_util.c:1131
-msgid "_Image Overlay"
-msgstr ""
-
-#: src/layout_util.c:1132
-msgid "Histogram _channels"
-msgstr ""
-
-#: src/layout_util.c:1133
-msgid "Histogram _log mode"
-msgstr ""
-
-#: src/layout_util.c:1134
+#: ../src/layout_util.c:1350 ../src/layout_util.c:1351
+msgid "_Leave full screen"
+msgstr "Wyłącz pełny ekran"
+
+#: ../src/layout_util.c:1350 ../src/layout_util.c:1351
+msgid "Leave full screen"
+msgstr "Wyłącz pełny ekran"
+
+#: ../src/layout_util.c:1352
+msgid "_Cycle through overlay modes"
+msgstr ""
+
+#: ../src/layout_util.c:1352
+msgid "Cycle through Overlay modes"
+msgstr ""
+
+#: ../src/layout_util.c:1353
+msgid "Cycle through histogram ch_annels"
+msgstr ""
+
+#: ../src/layout_util.c:1353
+msgid "Cycle through histogram channels"
+msgstr ""
+
+#: ../src/layout_util.c:1354
+msgid "Cycle through histogram mo_des"
+msgstr ""
+
+#: ../src/layout_util.c:1354
+msgid "Cycle through histogram modes"
+msgstr ""
+
+#: ../src/layout_util.c:1355
 msgid "_Hide file list"
 msgstr "Ukrycie _listy plików"
 
-#: src/layout_util.c:1135
+#: ../src/layout_util.c:1355
 #, fuzzy
+msgid "Hide file list"
+msgstr "Ukrycie _listy plików"
+
+#: ../src/layout_util.c:1356
 msgid "_Pause slideshow"
 msgstr "W_strzymaj pokaz slajdów"
 
-#: src/layout_util.c:1136
+#: ../src/layout_util.c:1356
+msgid "Pause slideshow"
+msgstr "Wstrzymaj pokaz slajdów"
+
+#: ../src/layout_util.c:1357
 msgid "_Refresh"
 msgstr "_Odśwież"
 
-#: src/layout_util.c:1138
+#: ../src/layout_util.c:1357
+msgid "Refresh"
+msgstr "Odśwież"
+
+#: ../src/layout_util.c:1358
 msgid "_Contents"
 msgstr "Indeks"
 
-#: src/layout_util.c:1139
+#: ../src/layout_util.c:1358
+#, fuzzy
+msgid "Contents"
+msgstr "Indeks"
+
+#: ../src/layout_util.c:1359
 msgid "_Keyboard shortcuts"
 msgstr "Skróty _klawiszowe"
 
-#: src/layout_util.c:1140
+#: ../src/layout_util.c:1359
+msgid "Keyboard shortcuts"
+msgstr "Skróty klawiszowe"
+
+#: ../src/layout_util.c:1360
 msgid "_Release notes"
 msgstr "Wydanie"
 
-#: src/layout_util.c:1141
+#: ../src/layout_util.c:1360
+msgid "Release notes"
+msgstr "O wydaniu"
+
+#: ../src/layout_util.c:1361
 msgid "_About"
 msgstr "O progr_amie"
 
-#: src/layout_util.c:1145 src/layout_util.c:1546
-msgid "_Thumbnails"
-msgstr "Minia_turki"
-
-#: src/layout_util.c:1146
+#: ../src/layout_util.c:1361 ../src/preferences.c:2190
+msgid "About"
+msgstr "O progr_amie"
+
+#: ../src/layout_util.c:1362
+msgid "_Log Window"
+msgstr "Okno _logów"
+
+#: ../src/layout_util.c:1362
+msgid "Log Window"
+msgstr "Okno logów"
+
+#: ../src/layout_util.c:1363
+msgid "_Exif window"
+msgstr "Okno danych Exif"
+
+#: ../src/layout_util.c:1363
+msgid "Exif window"
+msgstr "Okno danych Exif"
+
+#: ../src/layout_util.c:1364
+msgid "_Cycle through stereo modes"
+msgstr ""
+
+#: ../src/layout_util.c:1364
+msgid "Cycle through stereo modes"
+msgstr ""
+
+#: ../src/layout_util.c:1369
+msgid "Show _Thumbnails"
+msgstr "Pokaż _miniaturki"
+
+#: ../src/layout_util.c:1369
+msgid "Show Thumbnails"
+msgstr "Pokaż miniaturki"
+
+#: ../src/layout_util.c:1370
 #, fuzzy
 msgid "Show _Marks"
 msgstr "Wyświetlanie ukrytych"
 
-#: src/layout_util.c:1147
+#: ../src/layout_util.c:1370
+#, fuzzy
+msgid "Show Marks"
+msgstr "Wyświetlanie ukrytych"
+
+#: ../src/layout_util.c:1371
+msgid "Pi_xel Info"
+msgstr "Wyświetlanie informacji o pikselach"
+
+#: ../src/layout_util.c:1371
+msgid "Show Pixel Info"
+msgstr "Wyświetlaj informacje o pikselach"
+
+#: ../src/layout_util.c:1372
 msgid "_Float file list"
 msgstr "Oderwana lista plików"
 
-#: src/layout_util.c:1148
+#: ../src/layout_util.c:1372
+msgid "Float file list"
+msgstr "Oderwana lista plików"
+
+#: ../src/layout_util.c:1373
 msgid "Hide tool_bar"
 msgstr "Ukryj pasek narzędzi"
 
-#: src/layout_util.c:1149
-msgid "_Keywords"
-msgstr "SÅ‚owa _kluczowe"
-
-#: src/layout_util.c:1150
-msgid "E_xif data"
-msgstr "Dane E_xif"
-
-#: src/layout_util.c:1151
+#: ../src/layout_util.c:1373
+msgid "Hide toolbar"
+msgstr "Ukryj pasek narzędzi"
+
+#: ../src/layout_util.c:1374
+msgid "_Info sidebar"
+msgstr "Panel _Informacyjny"
+
+#: ../src/layout_util.c:1374
+msgid "Info sidebar"
+msgstr "Panel informacyjny"
+
+#: ../src/layout_util.c:1375
 msgid "Sort _manager"
 msgstr "_Menedżer sortowania"
 
-#: src/layout_util.c:1152
-msgid "Co_nnected scroll"
-msgstr ""
-
-#: src/layout_util.c:1153
-msgid "C_onnected zoom"
-msgstr ""
-
-#: src/layout_util.c:1154
+#: ../src/layout_util.c:1375
+msgid "Sort manager"
+msgstr "_Menedżer sortowania"
+
+#: ../src/layout_util.c:1376
 msgid "Toggle _slideshow"
 msgstr "Przełącz pokaz _slajdów"
 
-#: src/layout_util.c:1158 src/view_dir.c:29
-msgid "_List"
-msgstr "_Lista"
-
-#: src/layout_util.c:1159
+#: ../src/layout_util.c:1376
+msgid "Toggle slideshow"
+msgstr "Przełącz pokaz _slajdów"
+
+#: ../src/layout_util.c:1377
+msgid "Use _color profiles"
+msgstr "Użyj profili kolorów"
+
+#: ../src/layout_util.c:1377
+msgid "Use color profiles"
+msgstr "Użyj profili kolorów"
+
+#: ../src/layout_util.c:1378
+msgid "Use profile from _image"
+msgstr "Użyj prof_ili z obrazu"
+
+#: ../src/layout_util.c:1378
+msgid "Use profile from image"
+msgstr "Użyj profili z obrazu"
+
+#: ../src/layout_util.c:1379
+msgid "Toggle _grayscale"
+msgstr "Przełącz na odcienie szarości"
+
+#: ../src/layout_util.c:1379
+#, fuzzy
+msgid "Toggle grayscale"
+msgstr "Przełącz pokaz _slajdów"
+
+#: ../src/layout_util.c:1380
+#, fuzzy
+msgid "Image Overlay"
+msgstr "Wyszukiwanie obrazu"
+
+#: ../src/layout_util.c:1381
+msgid "_Show Histogram"
+msgstr "Pokaż _Histogram"
+
+#: ../src/layout_util.c:1381
+msgid "Show Histogram"
+msgstr "Pokaż Histogram"
+
+#: ../src/layout_util.c:1385
+msgid "Image _List"
+msgstr "W postaci listy"
+
+#: ../src/layout_util.c:1385
+msgid "View Images as List"
+msgstr "Wyświetlanie jako listę"
+
+#: ../src/layout_util.c:1386
 msgid "I_cons"
 msgstr "Ikony"
 
-#: src/layout_util.c:1163
-msgid "Horizontal"
-msgstr ""
-
-#: src/layout_util.c:1164
-#, fuzzy
-msgid "Vertical"
-msgstr "częściowe"
-
-#: src/layout_util.c:1165
-msgid "Quad"
-msgstr ""
-
-#: src/layout_util.c:1166
-#, fuzzy
-msgid "Single"
-msgstr "Rozmiar"
-
-#: src/layout_util.c:1354
+#: ../src/layout_util.c:1386
+msgid "View Images as Icons"
+msgstr "Wyświetlanie jako ikony"
+
+#: ../src/layout_util.c:1390
+msgid "Folder Li_st"
+msgstr "Katalogi jako lista"
+
+#: ../src/layout_util.c:1390
+msgid "View Folders as List"
+msgstr "Pokaż katalogi jako listę"
+
+#: ../src/layout_util.c:1391
+msgid "Folder T_ree"
+msgstr "Widok drzewiasty"
+
+#: ../src/layout_util.c:1391
+msgid "View Folders as Tree"
+msgstr "Widok drzewiasty"
+
+#: ../src/layout_util.c:1395
+msgid "_Horizontal"
+msgstr "W poziomie"
+
+#: ../src/layout_util.c:1395
+msgid "Split Horizontal"
+msgstr "Podziel w poziomie"
+
+#: ../src/layout_util.c:1396
+msgid "_Vertical"
+msgstr "W pionie"
+
+#: ../src/layout_util.c:1396
+msgid "Split Vertical"
+msgstr "Podziel w pionie"
+
+#: ../src/layout_util.c:1397
+msgid "_Quad"
+msgstr "Na cztery"
+
+#: ../src/layout_util.c:1397
+msgid "Split Quad"
+msgstr "Podziel na cztery"
+
+#: ../src/layout_util.c:1398
+msgid "_Single"
+msgstr "Pojedynczy"
+
+#: ../src/layout_util.c:1398
+msgid "Split Single"
+msgstr "Bez dzielenia"
+
+#: ../src/layout_util.c:1402
+msgid "Input _0: sRGB"
+msgstr ""
+
+#: ../src/layout_util.c:1402
+msgid "Input 0: sRGB"
+msgstr ""
+
+#: ../src/layout_util.c:1403
+msgid "Input _1: AdobeRGB compatible"
+msgstr ""
+
+#: ../src/layout_util.c:1403
+msgid "Input 1: AdobeRGB compatible"
+msgstr ""
+
+#: ../src/layout_util.c:1404
+msgid "Input _2"
+msgstr ""
+
+#: ../src/layout_util.c:1404
+msgid "Input 2"
+msgstr ""
+
+#: ../src/layout_util.c:1405
+msgid "Input _3"
+msgstr ""
+
+#: ../src/layout_util.c:1405
+msgid "Input 3"
+msgstr ""
+
+#: ../src/layout_util.c:1406
+msgid "Input _4"
+msgstr ""
+
+#: ../src/layout_util.c:1406
+msgid "Input 4"
+msgstr ""
+
+#: ../src/layout_util.c:1407
+msgid "Input _5"
+msgstr ""
+
+#: ../src/layout_util.c:1407
+msgid "Input 5"
+msgstr ""
+
+#: ../src/layout_util.c:1411
+msgid "Histogram on Red"
+msgstr ""
+
+#: ../src/layout_util.c:1412
+msgid "Histogram on Green"
+msgstr ""
+
+#: ../src/layout_util.c:1413
+msgid "Histogram on Blue"
+msgstr ""
+
+#: ../src/layout_util.c:1414
+msgid "Histogram on RGB"
+msgstr ""
+
+#: ../src/layout_util.c:1415
+msgid "Histogram on Value"
+msgstr ""
+
+#: ../src/layout_util.c:1419
+msgid "Linear Histogram"
+msgstr ""
+
+#: ../src/layout_util.c:1420
+msgid "_Log Histogram"
+msgstr ""
+
+#: ../src/layout_util.c:1420
+msgid "Log Histogram"
+msgstr ""
+
+#: ../src/layout_util.c:1424
+msgid "_Auto"
+msgstr ""
+
+#: ../src/layout_util.c:1424
+msgid "Stereo Auto"
+msgstr ""
+
+#: ../src/layout_util.c:1425
+msgid "_Side by Side"
+msgstr ""
+
+#: ../src/layout_util.c:1425
+msgid "Stereo Side by Side"
+msgstr ""
+
+#: ../src/layout_util.c:1426
+msgid "_Cross"
+msgstr ""
+
+#: ../src/layout_util.c:1426
+msgid "Stereo Cross"
+msgstr ""
+
+#: ../src/layout_util.c:1427
+msgid "_Off"
+msgstr ""
+
+#: ../src/layout_util.c:1427
+msgid "Stereo Off"
+msgstr ""
+
+#: ../src/layout_util.c:1701
 #, c-format
 msgid "Mark _%d"
 msgstr ""
 
-#: src/layout_util.c:1355 src/view_file.c:515
+#: ../src/layout_util.c:1702 ../src/view_file.c:540
 #, c-format
 msgid "_Set mark %d"
 msgstr ""
 
-#: src/layout_util.c:1356 src/view_file.c:516
+#: ../src/layout_util.c:1702
+#, fuzzy, c-format
+msgid "Set mark %d"
+msgstr "Zaznacz wszystko"
+
+#: ../src/layout_util.c:1703 ../src/view_file.c:541
 #, c-format
 msgid "_Reset mark %d"
 msgstr ""
 
-#: src/layout_util.c:1357 src/layout_util.c:1358 src/view_file.c:517
+#: ../src/layout_util.c:1703
+#, fuzzy, c-format
+msgid "Reset mark %d"
+msgstr "Zaznacz wszystko"
+
+#: ../src/layout_util.c:1704 ../src/layout_util.c:1705 ../src/view_file.c:542
 #, c-format
 msgid "_Toggle mark %d"
 msgstr ""
 
-#: src/layout_util.c:1359 src/layout_util.c:1360 src/view_file.c:518
+#: ../src/layout_util.c:1704 ../src/layout_util.c:1705
+#, fuzzy, c-format
+msgid "Toggle mark %d"
+msgstr "Zaznacz wszystko"
+
+#: ../src/layout_util.c:1706
+#, fuzzy, c-format
+msgid "Se_lect mark %d"
+msgstr "Zaznacz wszystko"
+
+#: ../src/layout_util.c:1706 ../src/layout_util.c:1707
+#, fuzzy, c-format
+msgid "Select mark %d"
+msgstr "Zaznacz wszystko"
+
+#: ../src/layout_util.c:1707 ../src/view_file.c:543
 #, fuzzy, c-format
 msgid "_Select mark %d"
 msgstr "Zaznacz wszystko"
 
-#: src/layout_util.c:1361 src/view_file.c:519
+#: ../src/layout_util.c:1708 ../src/view_file.c:544
 #, fuzzy, c-format
 msgid "_Add mark %d"
 msgstr "Dodanie zakładki"
 
-#: src/layout_util.c:1362 src/view_file.c:520
+#: ../src/layout_util.c:1708
+#, fuzzy, c-format
+msgid "Add mark %d"
+msgstr "Dodanie zakładki"
+
+#: ../src/layout_util.c:1709 ../src/view_file.c:545
 #, c-format
 msgid "_Intersection with mark %d"
 msgstr ""
 
-#: src/layout_util.c:1363 src/view_file.c:521
+#: ../src/layout_util.c:1709
+#, fuzzy, c-format
+msgid "Intersection with mark %d"
+msgstr "Zaznacz wszystko"
+
+#: ../src/layout_util.c:1710 ../src/view_file.c:546
 #, c-format
 msgid "_Unselect mark %d"
 msgstr ""
 
-#: src/layout_util.c:1547
-msgid "Show thumbnails"
-msgstr "Pokaż miniaturki"
-
-#: src/layout_util.c:1552
-msgid "Change to home folder"
-msgstr "Przejdź do katalogu domowego"
-
-#: src/layout_util.c:1554
-msgid "Refresh file list"
-msgstr "Odświeża listę plików"
-
-#: src/layout_util.c:1556
-msgid "Zoom in"
-msgstr "Powiększ"
-
-#: src/layout_util.c:1558
-msgid "Zoom out"
-msgstr "Pomniejsz"
-
-#: src/layout_util.c:1560 src/preferences.c:978
-msgid "Fit image to window"
-msgstr "Dopasuj do okna"
-
-#: src/layout_util.c:1562
-msgid "Set zoom 1:1"
-msgstr "Ustawia powiększenie 1:1"
-
-#: src/layout_util.c:1564
-msgid "Configure options"
-msgstr "Opcje konfiguracji"
-
-#: src/layout_util.c:1565
-msgid "_Float"
-msgstr "Format"
-
-#: src/layout_util.c:1566
-msgid "Float Controls"
-msgstr "Odłącza panel sterujący"
+#: ../src/layout_util.c:1710
+#, fuzzy, c-format
+msgid "Unselect mark %d"
+msgstr "Zaznacz wszystko"
+
+#: ../src/layout_util.c:1711
+#, fuzzy, c-format
+msgid "_Filter mark %d"
+msgstr "Zaznacz wszystko"
+
+#: ../src/layout_util.c:1711
+#, fuzzy, c-format
+msgid "Filter mark %d"
+msgstr "Zaznacz wszystko"
+
+#: ../src/layout_util.c:2238
+#, c-format
+msgid "Number of files with unsaved metadata: %d"
+msgstr "Liczba plików z niezapisanymi metadanymi: %d"
+
+#: ../src/layout_util.c:2244
+msgid "No unsaved metadata"
+msgstr "Brak niezapisanych metadanych"
+
+#: ../src/layout_util.c:2291
+#, c-format
+msgid ""
+"Image profile: %s\n"
+"Screen profile: %s"
+msgstr ""
+
+#: ../src/layout_util.c:2299
+msgid "Click to enable color management"
+msgstr ""
+
+#: ../src/layout_util.c:2304
+msgid "Color profiles not supported"
+msgstr ""
+
+#: ../src/layout_util.c:2326
+#, c-format
+msgid "Input _%d: %s"
+msgstr ""
 
 #. something went badly wrong
-#: src/lirc.c:184
+#: ../src/lirc.c:197
 #, c-format
 msgid "disconnected from LIRC\n"
 msgstr ""
 
-#: src/lirc.c:199
+#: ../src/lirc.c:212
 #, c-format
 msgid "Could not init LIRC support\n"
 msgstr ""
 
-#: src/lirc.c:206
+#: ../src/lirc.c:219
 #, c-format
 msgid ""
 "could not read LIRC config file\n"
@@ -2360,7 +3167,11 @@
 "know how to create a proper config file\n"
 msgstr ""
 
-#: src/main.c:391
+#: ../src/logwindow.c:76
+msgid "Log"
+msgstr ""
+
+#: ../src/main.c:320
 #, fuzzy, c-format
 msgid ""
 "Usage: %s [options] [path]\n"
@@ -2369,56 +3180,56 @@
 "Użycie: gqview [opcje] [ścieżka]\n"
 "\n"
 
-#: src/main.c:392
+#: ../src/main.c:321
 msgid "valid options are:\n"
 msgstr "poprawnymi opcjami sÄ…:\n"
 
-#: src/main.c:393
+#: ../src/main.c:322
 msgid "  +t, --with-tools           force show of tools\n"
 msgstr "  +t, --with-tools           wymusza wyświetlenie narzędzi\n"
 
-#: src/main.c:394
+#: ../src/main.c:323
 msgid "  -t, --without-tools        force hide of tools\n"
 msgstr "  -t, --without-tools        wymusza ukrycie narzędzi\n"
 
-#: src/main.c:395
+#: ../src/main.c:324
 msgid "  -f, --fullscreen           start in full screen mode\n"
 msgstr "  -f, --fullscreen           uruchamia w trybie pełnoekranowym\n"
 
-#: src/main.c:396
+#: ../src/main.c:325
 msgid "  -s, --slideshow            start in slideshow mode\n"
 msgstr "  -s, --slideshow            uruchamia w trybie slajdowym\n"
 
-#: src/main.c:397
+#: ../src/main.c:326
 msgid "  -l, --list                 open collection window for command line\n"
 msgstr ""
 "  -l, --list                 otwiera okno kolekcji z plikami z wiersza "
 "poleceń\n"
 
-#: src/main.c:398
+#: ../src/main.c:327
 msgid "      --geometry=GEOMETRY    set main window location\n"
 msgstr ""
 
-#: src/main.c:399
+#: ../src/main.c:328
 msgid "  -r, --remote               send following commands to open window\n"
 msgstr "  -r, --remote               wyślij polecenia do otwartego okna\n"
 
-#: src/main.c:400
+#: ../src/main.c:329
 msgid "  -rh,--remote-help          print remote command list\n"
 msgstr ""
 
-#: src/main.c:402
+#: ../src/main.c:331
 #, fuzzy
 msgid "  --debug[=level]            turn on debug output\n"
 msgstr ""
 "  --debug                    uaktywnia wyświetlanie komunikatów\n"
 "                                    diagnostycznych\n"
 
-#: src/main.c:404
+#: ../src/main.c:333
 msgid "  -v, --version              print version info\n"
 msgstr "  -v, --version              wypisuje informacjÄ™ na temat wersji\n"
 
-#: src/main.c:405
+#: ../src/main.c:334
 msgid ""
 "  -h, --help                 show this message\n"
 "\n"
@@ -2426,7 +3237,7 @@
 "  -h, --help                 wypisuje ten komunikat\n"
 "\n"
 
-#: src/main.c:417
+#: ../src/main.c:346
 #, c-format
 msgid ""
 "invalid or ignored: %s\n"
@@ -2435,315 +3246,584 @@
 "niepoprawna lub zignorowana: %s\n"
 "Użyj --help aby uzyskać informacje o opcjach\n"
 
-#: src/main.c:445
+#: ../src/main.c:375
 #, fuzzy
 msgid "Invalid or ignored remote options: "
 msgstr ""
 "niepoprawna lub zignorowana: %s\n"
 "Użyj --help aby uzyskać informacje o opcjach\n"
 
-#: src/main.c:454
+#: ../src/main.c:384
 msgid ""
 "\n"
 "Use --remote-help for valid remote options.\n"
 msgstr ""
 
-#: src/main.c:539
-#, fuzzy, c-format
+#: ../src/main.c:486
+#, c-format
 msgid "Creating %s dir:%s\n"
-msgstr "Tworzenie katalogu Geeqie:%s\n"
-
-#: src/main.c:543
+msgstr "Tworzenie  katalogu %s:%s\n"
+
+#: ../src/main.c:490
 #, c-format
 msgid "Could not create dir:%s\n"
 msgstr "Nie można utworzyć katalogu: %s\n"
 
-#: src/main.c:562 src/ui_bookmark.c:856 src/ui_pathsel.c:1051
-msgid "Home"
-msgstr "Położenie początkowe"
-
-#: src/main.c:564 src/ui_bookmark.c:863
-msgid "Desktop"
-msgstr "Pulpit"
-
-#: src/main.c:680
-#, fuzzy
+#: ../src/main.c:542
+#, c-format
+msgid "error saving file: %s\n"
+msgstr "błąd przy zapisie pliku: %s\n"
+
+#: ../src/main.c:561
+#, c-format
+msgid ""
+"error saving file: %s\n"
+"error: %s\n"
+msgstr ""
+"błąd przy zapisie pliku: %s\n"
+"błąd: %s\n"
+
+#: ../src/main.c:669
 msgid "exit"
-msgstr "Tekst"
-
-#: src/main.c:685
-#, fuzzy, c-format
+msgstr "wyjście"
+
+#: ../src/main.c:674
+#, c-format
 msgid "Quit %s"
-msgstr "Zakończ"
-
-#: src/main.c:687
+msgstr "Zakończ %s"
+
+#: ../src/main.c:676
 msgid "Collections have been modified. Quit anyway?"
 msgstr "Kolekcje zostały zmienione. Mimo to zakończyć?"
 
-#: src/main.c:836 src/remote.c:536
+#: ../src/main.c:876 ../src/remote.c:601
 msgid "Command line"
 msgstr "Wiersz poleceń"
 
-#: src/menu.c:117
+#: ../src/menu.c:133
 msgid "Sort by size"
 msgstr "Uporządkuj według rozmiaru"
 
-#: src/menu.c:120
+#: ../src/menu.c:136
 msgid "Sort by date"
 msgstr "Uporządkuj według daty"
 
-#: src/menu.c:123
+#: ../src/menu.c:139
+#, fuzzy
+msgid "Sort by Exif-date"
+msgstr "Sortuj według daty E_xif"
+
+#: ../src/menu.c:142
 msgid "Unsorted"
 msgstr "NieuporzÄ…dkowane"
 
-#: src/menu.c:126
+#: ../src/menu.c:145
 msgid "Sort by path"
 msgstr "Uporządkuj według ścieżki"
 
-#: src/menu.c:129
+#: ../src/menu.c:148
 msgid "Sort by number"
 msgstr "Uporządkuj według numeru"
 
-#: src/menu.c:133
+#: ../src/menu.c:152
 msgid "Sort by name"
 msgstr "Uporządkuj według nazwy"
 
-#: src/menu.c:184
+#: ../src/menu.c:203
 msgid "Sort"
 msgstr "UporzÄ…dkuj"
 
-#: src/menu.c:209
+#: ../src/menu.c:228
 msgid "Rotate _180"
 msgstr "Obróć o _180"
 
-#: src/pan-view.c:470
+#: ../src/metadata.c:1599
+msgid "People"
+msgstr "Ludzie"
+
+#: ../src/metadata.c:1600
+msgid "Family"
+msgstr "Rodzina"
+
+#: ../src/metadata.c:1601
+msgid "Free time"
+msgstr "Wolny czas"
+
+#: ../src/metadata.c:1602
+msgid "Children"
+msgstr "Dzieci"
+
+#: ../src/metadata.c:1603
+msgid "Sport"
+msgstr "Sport"
+
+#: ../src/metadata.c:1604
+msgid "Culture"
+msgstr "Kultura"
+
+#: ../src/metadata.c:1605
+msgid "Festival"
+msgstr "Festiwal"
+
+#: ../src/metadata.c:1606
+msgid "Nature"
+msgstr "Natura"
+
+#: ../src/metadata.c:1607
+msgid "Animal"
+msgstr "ZwierzÄ™"
+
+#: ../src/metadata.c:1608
+msgid "Bird"
+msgstr "Ptak"
+
+#: ../src/metadata.c:1609
+msgid "Insect"
+msgstr "Owady"
+
+#: ../src/metadata.c:1610
+msgid "Pets"
+msgstr "Zwierzaki"
+
+#: ../src/metadata.c:1611
+msgid "Wildlife"
+msgstr "Fauna i flora"
+
+#: ../src/metadata.c:1612
+msgid "Zoo"
+msgstr "Zoo"
+
+#: ../src/metadata.c:1613
+msgid "Plant"
+msgstr "Roślina"
+
+#: ../src/metadata.c:1614
+msgid "Tree"
+msgstr "Drzewo"
+
+#: ../src/metadata.c:1615
+msgid "Flower"
+msgstr "Kwiat"
+
+#: ../src/metadata.c:1616
+msgid "Water"
+msgstr "Woda"
+
+#: ../src/metadata.c:1617
+msgid "River"
+msgstr "Rzeka"
+
+#: ../src/metadata.c:1618
+msgid "Lake"
+msgstr "Jezioro"
+
+#: ../src/metadata.c:1619
+msgid "Sea"
+msgstr "Morze"
+
+#: ../src/metadata.c:1620 ../src/print.c:375
+msgid "Landscape"
+msgstr "Pejzaż"
+
+#: ../src/metadata.c:1621
+msgid "Art"
+msgstr "Sztuka"
+
+#: ../src/metadata.c:1622
+msgid "Statue"
+msgstr "Statua"
+
+#: ../src/metadata.c:1623
+msgid "Painting"
+msgstr "Malowidło"
+
+#: ../src/metadata.c:1624 ../src/metadata.c:1638
+msgid "Historic"
+msgstr "Historyczne"
+
+#: ../src/metadata.c:1625 ../src/metadata.c:1639
+msgid "Modern"
+msgstr "Nowoczesne"
+
+#: ../src/metadata.c:1626
+msgid "City"
+msgstr "Miasto"
+
+#: ../src/metadata.c:1627
+msgid "Park"
+msgstr "Park"
+
+#: ../src/metadata.c:1628
+msgid "Street"
+msgstr "Ulica"
+
+#: ../src/metadata.c:1629
+msgid "Square"
+msgstr "Plac"
+
+#: ../src/metadata.c:1630
+msgid "Architecture"
+msgstr "Architektura"
+
+#: ../src/metadata.c:1631
+msgid "Buildings"
+msgstr "Budynki"
+
+#: ../src/metadata.c:1632
+msgid "House"
+msgstr "Dom"
+
+#: ../src/metadata.c:1633
+msgid "Cathedral"
+msgstr "Katedra"
+
+#: ../src/metadata.c:1634
+msgid "Palace"
+msgstr "Pałac"
+
+#: ../src/metadata.c:1635
+msgid "Castle"
+msgstr "Zamek"
+
+#: ../src/metadata.c:1636
+msgid "Bridge"
+msgstr "Most"
+
+#: ../src/metadata.c:1637
+msgid "Interior"
+msgstr "Wnętrze"
+
+#: ../src/metadata.c:1640
+msgid "Places"
+msgstr "Miejsca"
+
+#: ../src/metadata.c:1641
+msgid "Conditions"
+msgstr "Warunki"
+
+#: ../src/metadata.c:1642
+msgid "Night"
+msgstr "Noc"
+
+#: ../src/metadata.c:1643
+msgid "Lights"
+msgstr "Światła"
+
+#: ../src/metadata.c:1644
+msgid "Reflections"
+msgstr "Odbicia"
+
+#: ../src/metadata.c:1645
+msgid "Sun"
+msgstr "Słońce"
+
+#: ../src/metadata.c:1646
+msgid "Weather"
+msgstr "Pogoda"
+
+#: ../src/metadata.c:1647
+msgid "Fog"
+msgstr "Mgła"
+
+#: ../src/metadata.c:1648
+msgid "Rain"
+msgstr "Deszcz"
+
+#: ../src/metadata.c:1649
+msgid "Clouds"
+msgstr "Chmury"
+
+#: ../src/metadata.c:1650
+msgid "Snow"
+msgstr "Åšnieg"
+
+#: ../src/metadata.c:1651
+msgid "Sunny weather"
+msgstr "SÅ‚oneczna pogoda"
+
+#: ../src/metadata.c:1652
+msgid "Photo"
+msgstr "Fotografia"
+
+#: ../src/metadata.c:1653
+msgid "Edited"
+msgstr "Edytowany"
+
+#: ../src/metadata.c:1654
+msgid "Detail"
+msgstr "Szczegóły"
+
+#: ../src/metadata.c:1655
+msgid "Macro"
+msgstr "Makro"
+
+#: ../src/metadata.c:1656 ../src/print.c:374
+msgid "Portrait"
+msgstr "Portret"
+
+#: ../src/metadata.c:1657
+msgid "Black and White"
+msgstr "Biało-czarny"
+
+#: ../src/metadata.c:1658
+msgid "Perspective"
+msgstr "Perspektywa"
+
+#: ../src/options.c:145 ../src/ui_bookmark.c:556
+msgid "Desktop"
+msgstr "Pulpit"
+
+#: ../src/pan-view.c:423
 #, c-format
 msgid "%d images, %s"
 msgstr "%d obrazów, %s"
 
-#: src/pan-view.c:480
+#: ../src/pan-view.c:433
 #, c-format
 msgid "The pan view does not support the folder \"%s\"."
 msgstr ""
 
-#: src/pan-view.c:481
+#: ../src/pan-view.c:434
 msgid "Folder not supported"
 msgstr ""
 
-#: src/pan-view.c:1083 src/pan-view.c:1099
+#: ../src/pan-view.c:986 ../src/pan-view.c:1002
 msgid "Reading image data..."
 msgstr "Wczytywanie danych obrazu..."
 
-#: src/pan-view.c:1158
+#: ../src/pan-view.c:1061
 msgid "Sorting images..."
 msgstr "Sortowanie obrazów..."
 
-#: src/pan-view.c:1546 src/pan-view.c:1912
+#: ../src/pan-view.c:1365 ../src/print.c:2599
+msgid "Filename:"
+msgstr "Nazwa pliku:"
+
+#: ../src/pan-view.c:1367 ../src/pan-view.c:2183 ../src/preferences.c:1378
+msgid "Location:"
+msgstr "Położenie:"
+
+#: ../src/pan-view.c:1369 ../src/pan-view.c:1735
 msgid "Date:"
 msgstr "Data:"
 
-#: src/pan-view.c:1548 src/preferences.c:887 src/print.c:3245 src/print.c:3456
+#: ../src/pan-view.c:1371 ../src/preferences.c:1204 ../src/print.c:3212
+#: ../src/print.c:3417
 msgid "Size:"
 msgstr "Rozmiar:"
 
-#: src/pan-view.c:1650
+#: ../src/pan-view.c:1473
 msgid "path found"
-msgstr ""
-
-#: src/pan-view.c:1650
+msgstr "znaleziono ścieżkę"
+
+#: ../src/pan-view.c:1473
 msgid "filename found"
-msgstr ""
-
-#: src/pan-view.c:1698
+msgstr "plik znaleziony"
+
+#: ../src/pan-view.c:1521
 msgid "partial match"
 msgstr "częściowe dopasowanie"
 
-#: src/pan-view.c:1909 src/pan-view.c:1942
+#: ../src/pan-view.c:1732 ../src/pan-view.c:1765
 msgid "no match"
 msgstr "brak dopasowania"
 
-#: src/pan-view.c:2268 src/search.c:2150
+#: ../src/pan-view.c:2071 ../src/search.c:2169
 msgid "Folder not found"
-msgstr ""
-
-#: src/pan-view.c:2269
+msgstr "Katalog nie został znaleziony"
+
+#: ../src/pan-view.c:2072
 msgid "The entered path is not a folder"
 msgstr ""
 
-#: src/pan-view.c:2368
+#: ../src/pan-view.c:2167
 #, fuzzy
 msgid "Pan View"
 msgstr "Widok"
 
-#: src/pan-view.c:2393
+#: ../src/pan-view.c:2192
 msgid "Timeline"
 msgstr "Linia czasu"
 
-#: src/pan-view.c:2394
+#: ../src/pan-view.c:2193
 msgid "Calendar"
 msgstr "Kalendarz"
 
-#: src/pan-view.c:2396
+#: ../src/pan-view.c:2195
 msgid "Folders (flower)"
 msgstr "Katalogi (kwiat)"
 
-#: src/pan-view.c:2397
+#: ../src/pan-view.c:2196
 msgid "Grid"
-msgstr ""
-
-#: src/pan-view.c:2406
+msgstr "Siatka"
+
+#: ../src/pan-view.c:2205
 msgid "Dots"
 msgstr "punkty"
 
-#: src/pan-view.c:2407
+#: ../src/pan-view.c:2206
 msgid "No Images"
 msgstr "Brak obrazów"
 
-#: src/pan-view.c:2408
+#: ../src/pan-view.c:2207
 msgid "Small Thumbnails"
 msgstr "Mniejsze miniaturki"
 
-#: src/pan-view.c:2409
+#: ../src/pan-view.c:2208
 msgid "Normal Thumbnails"
 msgstr "Zwykłe miniaturki"
 
-#: src/pan-view.c:2410
+#: ../src/pan-view.c:2209
 msgid "Large Thumbnails"
 msgstr "Duże miniaturki"
 
-#: src/pan-view.c:2411 src/pan-view.c:2863
+#: ../src/pan-view.c:2210 ../src/pan-view.c:2665
 msgid "1:10 (10%)"
 msgstr "1:10 (10%)"
 
-#: src/pan-view.c:2412 src/pan-view.c:2859
+#: ../src/pan-view.c:2211 ../src/pan-view.c:2661
 msgid "1:4 (25%)"
 msgstr "1:4 (25%)"
 
-#: src/pan-view.c:2413 src/pan-view.c:2855
+#: ../src/pan-view.c:2212 ../src/pan-view.c:2657
 msgid "1:3 (33%)"
 msgstr "1:3 (33%)"
 
-#: src/pan-view.c:2414 src/pan-view.c:2851
+#: ../src/pan-view.c:2213 ../src/pan-view.c:2653
 msgid "1:2 (50%)"
 msgstr "1:2 (50%)"
 
-#: src/pan-view.c:2415
+#: ../src/pan-view.c:2214
 msgid "1:1 (100%)"
 msgstr "1:1 (100%)"
 
-#: src/pan-view.c:2463
+#: ../src/pan-view.c:2262
 msgid "Find:"
 msgstr "Znajdź:"
 
-#: src/pan-view.c:2506
-msgid "Use Exif date"
-msgstr "Użyj daty Exif"
-
-#: src/pan-view.c:2519
+#: ../src/pan-view.c:2313
 msgid "Find"
 msgstr "Znajdź"
 
-#: src/pan-view.c:2586
+#: ../src/pan-view.c:2380
 msgid "Pan View Performance"
 msgstr ""
 
-#: src/pan-view.c:2593
+#: ../src/pan-view.c:2387
 msgid "Pan view performance may be poor."
 msgstr ""
 
-#: src/pan-view.c:2594
+#: ../src/pan-view.c:2388
 msgid ""
 "To improve performance of thumbnails in the pan view the following options "
 "can be enabled. Note that both options must be enabled to notice a change in "
 "performance."
 msgstr ""
 
-#: src/pan-view.c:2602 src/preferences.c:890
+#: ../src/pan-view.c:2396 ../src/preferences.c:1207
 msgid "Cache thumbnails"
-msgstr ""
-
-#: src/pan-view.c:2604 src/preferences.c:896
+msgstr "Bufor miniaturek"
+
+#: ../src/pan-view.c:2398
 msgid "Use shared thumbnail cache"
 msgstr "Użyj współdzielonego cache miniaturek"
 
-#: src/pan-view.c:2610
+#: ../src/pan-view.c:2404
 msgid "Do not show this dialog again"
 msgstr "Więcej nie pokazuj tego okna"
 
-#: src/pan-view.c:2831
+#: ../src/pan-view.c:2633
 msgid "Sort by E_xif date"
 msgstr "Sortuj według daty E_xif"
 
-#: src/pan-view.c:2837
+#: ../src/pan-view.c:2639
 msgid "_Show Exif information"
-msgstr ""
-
-#: src/pan-view.c:2839
-#, fuzzy
+msgstr "Pokaż informacje Exif"
+
+#: ../src/pan-view.c:2641
 msgid "Show im_age"
-msgstr "Wyświetlanie ukrytych"
-
-#: src/pan-view.c:2843
-#, fuzzy
+msgstr "Pok_aż obraz"
+
+#: ../src/pan-view.c:2645
 msgid "_None"
 msgstr "Brak"
 
-#: src/pan-view.c:2847
-#, fuzzy
+#: ../src/pan-view.c:2649
 msgid "_Full size"
 msgstr "Pełny rozmiar"
 
-#. note: the order is important, it must match the values of
-#. * EXIF_UI_OFF, _IFSET, _ON
-#: src/preferences.c:402
-msgid "Never"
-msgstr ""
-
-#: src/preferences.c:403
-msgid "If set"
-msgstr ""
-
-#: src/preferences.c:404
-msgid "Always"
-msgstr ""
-
-#: src/preferences.c:451
+#: ../src/preferences.c:90
+msgid "Unknown"
+msgstr "Nieznany"
+
+#: ../src/preferences.c:92
+msgid "RAW Image"
+msgstr "Obraz RAW"
+
+#: ../src/preferences.c:430
 msgid "Nearest (worst, but fastest)"
 msgstr "Najbliższy sąsiad (najgorsze, lecz najszybsze)"
 
-#: src/preferences.c:453
+#: ../src/preferences.c:432
 msgid "Tiles"
 msgstr "Kafle"
 
-#: src/preferences.c:455
+#: ../src/preferences.c:434
 msgid "Bilinear"
 msgstr "Dwuliniowe"
 
-#: src/preferences.c:457
+#: ../src/preferences.c:436
 msgid "Hyper (best, but slowest)"
 msgstr "Hiper (najlepsze, lecz najwolniejsze)"
 
-#: src/preferences.c:485
-msgid "None"
-msgstr "Brak"
-
-#: src/preferences.c:486
-msgid "Normal"
-msgstr "Zwykła"
-
-#: src/preferences.c:487
-msgid "Best"
-msgstr "Najlepsza"
-
-#: src/preferences.c:548 src/print.c:372
+#: ../src/preferences.c:501 ../src/print.c:380
 msgid "Custom"
 msgstr "WÅ‚asne"
 
-#: src/preferences.c:712 src/preferences.c:715
+#: ../src/preferences.c:566
+#, fuzzy
+msgid "Single image"
+msgstr "następny obraz"
+
+#: ../src/preferences.c:568
+msgid "Anaglyph Red-Cyan"
+msgstr ""
+
+#: ../src/preferences.c:570
+msgid "Anaglyph Gray Red-Cyan"
+msgstr ""
+
+#: ../src/preferences.c:572
+msgid "Anaglyph Dubois"
+msgstr ""
+
+#: ../src/preferences.c:575
+msgid "Side by Side"
+msgstr ""
+
+#: ../src/preferences.c:576
+msgid "Side by Side Half size"
+msgstr ""
+
+#: ../src/preferences.c:583
+#, fuzzy
+msgid "Top - Bottom"
+msgstr "Dolny:"
+
+#: ../src/preferences.c:584
+msgid "Top - Bottom Half size"
+msgstr ""
+
+#: ../src/preferences.c:593 ../src/preferences.c:2031
+#, fuzzy
+msgid "Fixed position"
+msgstr "Pozycja wg GPS"
+
+#: ../src/preferences.c:890 ../src/preferences.c:893
 msgid "Reset filters"
 msgstr "Wyzeruj filtry"
 
-#: src/preferences.c:716
+#: ../src/preferences.c:894
 msgid ""
 "This will reset the file filters to the defaults.\n"
 "Continue?"
@@ -2751,31 +3831,19 @@
 "Ustawienia filtrów powrócą do wartości domyślnych.\n"
 "Kontynuować?"
 
-#: src/preferences.c:750 src/preferences.c:753
-msgid "Reset editors"
-msgstr "Przywróć edytory"
-
-#: src/preferences.c:754
-msgid ""
-"This will reset the edit commands to the defaults.\n"
-"Continue?"
-msgstr ""
-"Komendy ecyji powrócą do wartości domyślnych.\n"
-"Kontynuować?"
-
-#: src/preferences.c:778 src/preferences.c:781
+#: ../src/preferences.c:921 ../src/preferences.c:924
 msgid "Clear trash"
 msgstr "Wyczyść kosz"
 
-#: src/preferences.c:782
+#: ../src/preferences.c:925
 msgid "This will remove the trash contents."
 msgstr "Ta operacja spowoduje usunięcie zawartości kosza"
 
-#: src/preferences.c:826 src/preferences.c:829
+#: ../src/preferences.c:969 ../src/preferences.c:972
 msgid "Reset image overlay template string"
 msgstr ""
 
-#: src/preferences.c:830
+#: ../src/preferences.c:973
 #, fuzzy
 msgid ""
 "This will reset the image overlay template string to the default.\n"
@@ -2784,245 +3852,195 @@
 "Ustawienia filtrów powrócą do wartości domyślnych.\n"
 "Kontynuować?"
 
-#: src/preferences.c:861
-msgid "Startup"
-msgstr "Przy uruchomieniu"
-
-#: src/preferences.c:863
-msgid "Restore folder on startup"
-msgstr ""
-
-#: src/preferences.c:876
-msgid "Use current"
-msgstr "Wykorzystaj bieżący"
-
-#: src/preferences.c:879
-#, fuzzy
-msgid "Use last path"
-msgstr "Zaznacz ścieżkę"
-
-#: src/preferences.c:888 src/preferences.c:950
+#: ../src/preferences.c:1199
+msgid "General"
+msgstr "Ogólne"
+
+#: ../src/preferences.c:1205 ../src/preferences.c:1265
 msgid "Quality:"
 msgstr "Jakość:"
 
-#: src/preferences.c:902
-msgid "Cache thumbnails into .thumbnails"
-msgstr "Używanie katalogu .thumbnails do przechowywania miniaturek"
-
-#: src/preferences.c:906
-msgid "Use xvpics thumbnails when found (read only)"
-msgstr "Wykorzystywanie odnalezionych miniaturek xvpics (tylko odczyt)"
-
-#: src/preferences.c:910
-msgid "Faster jpeg thumbnailing (may reduce quality)"
-msgstr ""
-
-#: src/preferences.c:913
+#: ../src/preferences.c:1213
+msgid "Use standard thumbnail cache, shared with other applications"
+msgstr "Użyj standardowego bufora, dzielonego z innymi programami"
+
+#: ../src/preferences.c:1219
+msgid ""
+"Store thumbnails in '.thumbnails' folder, local to image folder (non-"
+"standard)"
+msgstr ""
+"Zapisuj miniaturki w katalogu '.thumbnails', lokalnie do katalogu z "
+"obrazkami (niestandardowy)"
+
+#: ../src/preferences.c:1222
+msgid "Use EXIF thumbnails when available (EXIF thumbnails may be outdated)"
+msgstr ""
+"Użyj miniaturek EXIF jeśli są dostępne (miniaturki EXIF mogą być nieaktualne)"
+
+#: ../src/preferences.c:1225
 msgid "Slide show"
 msgstr "Pokaz slajdów"
 
-#: src/preferences.c:916
+#: ../src/preferences.c:1228
 msgid "Delay between image change:"
 msgstr "Czas między kolejnymi obrazami:"
 
-#: src/preferences.c:916
+#: ../src/preferences.c:1228
 msgid "seconds"
 msgstr "sekund"
 
-#: src/preferences.c:922
+#: ../src/preferences.c:1234
 msgid "Random"
 msgstr "Losowo"
 
-#: src/preferences.c:923
+#: ../src/preferences.c:1235
 msgid "Repeat"
 msgstr "Powtarzanie"
 
-#: src/preferences.c:944
+#: ../src/preferences.c:1237
+msgid "Image loading and caching"
+msgstr "Åadowanie i buforowanie obrazka"
+
+#: ../src/preferences.c:1239
+msgid "Decoded image cache size (Mb):"
+msgstr "Rozmiar bufora (MB na obraz):"
+
+#: ../src/preferences.c:1241
+msgid "Preload next image"
+msgstr "Wstępny odczyt następnego obrazu"
+
+#: ../src/preferences.c:1244
+msgid "Refresh on file change"
+msgstr "Odświeżanie podczas zmian pliku"
+
+#: ../src/preferences.c:1262
 msgid "Zoom"
 msgstr "Skala"
 
-#: src/preferences.c:947
-msgid "Dithering method:"
-msgstr "Metoda rozpraszania:"
-
-#: src/preferences.c:952
-msgid "Two pass zooming"
-msgstr "Dwuetapowe powiększanie"
-
-#: src/preferences.c:955
+#: ../src/preferences.c:1268
+msgid "Use GPU acceleration via Clutter library"
+msgstr ""
+
+#: ../src/preferences.c:1272
+msgid "Two pass rendering (apply HQ zoom and color correction in second pass)"
+msgstr ""
+"Dwuprzebiegowe renderowanie (stosuje wysokiej jakości skalowanie i korekcję "
+"kolorów w drugim przebiegu)"
+
+#: ../src/preferences.c:1275
 msgid "Allow enlargement of image for zoom to fit"
 msgstr "Rozciąganie obrazów przy powiększaniu, aby je dopasować"
 
-#: src/preferences.c:959
-#, fuzzy
+#: ../src/preferences.c:1279
 msgid "Limit image size when autofitting (%):"
 msgstr "Ograniczenie rozmiaru przy automatycznym dopasowaniu okna (%):"
 
-#: src/preferences.c:967
+#: ../src/preferences.c:1287
 msgid "Zoom increment:"
 msgstr "Przyrost powiększenia"
 
-#: src/preferences.c:972
+#: ../src/preferences.c:1292
 msgid "When new image is selected:"
 msgstr "Po wybraniu nowego obrazu:"
 
-#: src/preferences.c:975
+#: ../src/preferences.c:1296
 msgid "Zoom to original size"
 msgstr "Powiększenie do rozmiaru oryginalnego"
 
-#: src/preferences.c:981
+#: ../src/preferences.c:1299
+msgid "Fit image to window"
+msgstr "Dopasuj do okna"
+
+#: ../src/preferences.c:1302
 msgid "Leave Zoom at previous setting"
 msgstr "Pozostawienie poprzedniego powiększenia"
 
-#: src/preferences.c:985
+#: ../src/preferences.c:1308
+msgid "Scroll to top left corner"
+msgstr "Przewiń do lewej strony"
+
+#: ../src/preferences.c:1311
+msgid "Scroll to image center"
+msgstr "Ustaw na środku obrazka"
+
+#: ../src/preferences.c:1314
+msgid "Keep the region from previous image"
+msgstr "Zapamiętaj położenie z poprzedniego obrazu"
+
+#: ../src/preferences.c:1319
 msgid "Appearance"
 msgstr "WyglÄ…d"
 
-#: src/preferences.c:987
-#, fuzzy
-msgid "Custom border color"
-msgstr "WÅ‚asna drukarka"
-
-#: src/preferences.c:990
-#, fuzzy
+#: ../src/preferences.c:1321
+msgid "Use custom border color in window mode"
+msgstr "Użyj własnego koloru obramowania w trybie okienkowym"
+
+#: ../src/preferences.c:1324
+msgid "Use custom border color in fullscreen mode"
+msgstr "Użyj własnego obramowanie w trybie pełnego ekranu"
+
+#: ../src/preferences.c:1327
 msgid "Border color"
-msgstr "Czarne tło"
-
-#: src/preferences.c:993
+msgstr "Kolor obramowania"
+
+#: ../src/preferences.c:1330
 msgid "Convenience"
 msgstr "Usprawnienia"
 
-#: src/preferences.c:995
-msgid "Refresh on file change"
-msgstr "Odświeżanie podczas zmian pliku"
-
-#: src/preferences.c:997
-msgid "Preload next image"
-msgstr "Wstępny odczyt następnego obrazu"
-
-#: src/preferences.c:999
+#: ../src/preferences.c:1332
 msgid "Auto rotate image using Exif information"
 msgstr "Automatyczne obracanie obrazów na podstawie Exif"
 
-#: src/preferences.c:1016
+#: ../src/preferences.c:1335
+#, fuzzy
+msgid "Auto rotate proofs using Exif information"
+msgstr "Automatyczne obracanie obrazów na podstawie Exif"
+
+#: ../src/preferences.c:1352
 msgid "Windows"
 msgstr "Okna"
 
-#: src/preferences.c:1019
+#: ../src/preferences.c:1354
 msgid "State"
 msgstr "Stan"
 
-#: src/preferences.c:1021
+#: ../src/preferences.c:1356
 msgid "Remember window positions"
 msgstr "Zapamiętanie pozycji okien"
 
-#: src/preferences.c:1023
+#: ../src/preferences.c:1358
 msgid "Remember tool state (float/hidden)"
 msgstr "Zapamiętanie stanu narzędzi (oderwane/ukryte)"
 
-#: src/preferences.c:1028
+#: ../src/preferences.c:1363
 msgid "Fit window to image when tools are hidden/floating"
 msgstr "Dopasowanie okna do obrazu, jeśli narzędzia są ukryte/oderwane"
 
-#: src/preferences.c:1032
+#: ../src/preferences.c:1367
 msgid "Limit size when auto-sizing window (%):"
 msgstr "Ograniczenie rozmiaru przy automatycznym dopasowaniu okna (%):"
 
-#: src/preferences.c:1039 src/print.c:3404 src/print.c:3411
-msgid "Layout"
-msgstr "Ułożenie"
-
-#: src/preferences.c:1066
-msgid "Filtering"
-msgstr "Filtrowanie"
-
-#: src/preferences.c:1071
-msgid "Show hidden files or folders"
-msgstr ""
-
-#: src/preferences.c:1073
-msgid "Show dot directory"
-msgstr ""
-
-#: src/preferences.c:1075
-msgid "Case sensitive sort"
-msgstr "Rozróżnianie wielkość liter podczas sortowania"
-
-#: src/preferences.c:1078
-msgid "Disable File Filtering"
-msgstr "Bez filtrowania plików"
-
-#: src/preferences.c:1082
-msgid "Grouping sidecar extensions"
-msgstr ""
-
-#: src/preferences.c:1089
-msgid "File types"
-msgstr "Typy plików"
-
-#: src/preferences.c:1111
-msgid "Filter"
-msgstr "Filtr"
-
-#: src/preferences.c:1148 src/preferences.c:1234 src/preferences.c:1378
-msgid "Defaults"
-msgstr "Domyślne"
-
-#: src/preferences.c:1177
-msgid "Editors"
-msgstr "Edytory"
-
-#: src/preferences.c:1183
-msgid "#"
-msgstr "#"
-
-#: src/preferences.c:1186 src/preferences.c:1497
-msgid "Menu name"
-msgstr "Nazwa menu"
-
-#: src/preferences.c:1189
-#, fuzzy
-msgid "Command Line"
-msgstr "Wiersz poleceń"
-
-#: src/preferences.c:1261
-#, fuzzy
-msgid "Properties"
-msgstr "Wł_aściwości"
-
-#: src/preferences.c:1279
-msgid "What to show in properties dialog:"
-msgstr ""
-
-#: src/preferences.c:1316
-msgid "Advanced"
-msgstr "Zaawansowane"
-
-#: src/preferences.c:1337
+#: ../src/preferences.c:1382
 msgid "Smooth image flip"
 msgstr "PÅ‚ynne odwracanie obrazu"
 
-#: src/preferences.c:1339
+#: ../src/preferences.c:1384
 msgid "Disable screen saver"
 msgstr "Wyłącz wygaszacz ekranu"
 
-#: src/preferences.c:1343
+#: ../src/preferences.c:1388
 msgid "Overlay Screen Display"
 msgstr ""
 
-#: src/preferences.c:1345
-msgid "Always show image overlay at startup"
-msgstr ""
-
-#: src/preferences.c:1347
+#: ../src/preferences.c:1390
 msgid "Image overlay template"
 msgstr ""
 
-#: src/preferences.c:1361
+#: ../src/preferences.c:1403
 msgid ""
 "<i>%name%</i> results in the filename of the picture.\n"
-"Also available: <i>%collection%</i>, <i>%number%</i>, <i>%total%</i>, <i>%"
-"date%</i>,\n"
+"Also available: <i>%collection%</i>, <i>%number%</i>, <i>%total%</i>, <i>"
+"%date%</i>,\n"
 "<i>%size%</i> (filesize), <i>%width%</i>, <i>%height%</i>, <i>%res%</i> "
 "(resolution)\n"
 "To access exif data use the exif name, e. g. <i>%formatted.Camera%</i> is "
@@ -3032,164 +4050,367 @@
 "characters and will add 3 dots at the end to denote the truncation.\n"
 "If two or more variables are connected with the |-sign, it prints available "
 "variables with a separator.\n"
-"<i>%formatted.ShutterSpeed%</i>|<i>%formatted.ISOSpeedRating%</i>|<i>%"
-"formatted.FocalLength%</i> could show \"1/20s - 400 - 80 mm\" or \"1/200 - "
+"<i>%formatted.ShutterSpeed%</i>|<i>%formatted.ISOSpeedRating%</i>|<i>"
+"%formatted.FocalLength%</i> could show \"1/20s - 400 - 80 mm\" or \"1/200 - "
 "80 mm\",\n"
 "if there's no ISO information in the Exif data.\n"
-"If a line is empty, it is removed. This allows to add lines that totally "
+"If a line is empty, it is removed. This allows one to add lines that totally "
 "disappear when no data is available.\n"
 msgstr ""
 
-#: src/preferences.c:1393
+#: ../src/preferences.c:1419 ../src/preferences.c:1591
+#: ../src/preferences.c:1960
+msgid "Defaults"
+msgstr "Domyślne"
+
+#: ../src/preferences.c:1473
+msgid "Show hidden files or folders"
+msgstr "Pokaż ukryte pliki lub katalogi"
+
+#: ../src/preferences.c:1475
+msgid "Case sensitive sort"
+msgstr "Rozróżnianie wielkość liter podczas sortowania"
+
+#: ../src/preferences.c:1478
+msgid "Disable File Filtering"
+msgstr "Bez filtrowania plików"
+
+#: ../src/preferences.c:1482
+msgid "Grouping sidecar extensions"
+msgstr ""
+
+#: ../src/preferences.c:1489
+msgid "File types"
+msgstr "Typy plików"
+
+#: ../src/preferences.c:1511
+msgid "Filter"
+msgstr "Filtr"
+
+#: ../src/preferences.c:1546
+msgid "Class"
+msgstr "Klasa"
+
+#: ../src/preferences.c:1563
+msgid "Writable"
+msgstr "Zapisywalny"
+
+#: ../src/preferences.c:1574
+msgid "Sidecar is allowed"
+msgstr ""
+
+#: ../src/preferences.c:1620
+msgid "Metadata writing process"
+msgstr ""
+
+#: ../src/preferences.c:1622
+msgid "Warning: Geeqie is built without Exiv2. Some options are disabled."
+msgstr ""
+
+#: ../src/preferences.c:1624
+msgid ""
+"Metadata are written in the following order. The process ends after first "
+"success."
+msgstr ""
+
+#: ../src/preferences.c:1627
+msgid ""
+"1) Save metadata in image files, resp. sidecar files, according to the XMP "
+"standard"
+msgstr ""
+
+#: ../src/preferences.c:1633
+msgid ""
+"2) Save metadata in '.metadata' folder, local to image folder (non-standard)"
+msgstr ""
+
+#: ../src/preferences.c:1636
+#, c-format
+msgid "3) Save metadata in Geeqie private directory '%s'"
+msgstr ""
+
+#: ../src/preferences.c:1642
+msgid "Step 1: Write to image files"
+msgstr ""
+
+#: ../src/preferences.c:1650
+msgid ""
+"Store metadata also in legacy IPTC tags (converted according to IPTC4XMP "
+"standard)"
+msgstr ""
+
+#: ../src/preferences.c:1653
+msgid "Warn if the image files are unwritable"
+msgstr ""
+
+#: ../src/preferences.c:1656
+msgid "Ask before writing to image files"
+msgstr ""
+
+#: ../src/preferences.c:1659
+msgid "Step 2 and 3: write to Geeqie private files"
+msgstr ""
+
+#: ../src/preferences.c:1664
+msgid ""
+"Use GQview legacy metadata format (supports only keywords and comments) "
+"instead of XMP"
+msgstr ""
+
+#: ../src/preferences.c:1668 ../src/preferences.c:1853
+msgid "Miscellaneous"
+msgstr "Różne"
+
+#: ../src/preferences.c:1669
+msgid ""
+"Write the same description tags (keywords, comment, etc.) to all grouped "
+"sidecars"
+msgstr ""
+
+#: ../src/preferences.c:1672
+msgid "Allow keywords to differ only in case"
+msgstr ""
+
+#: ../src/preferences.c:1675
+msgid "Write altered image orientation to the metadata"
+msgstr ""
+
+#: ../src/preferences.c:1681
+msgid "Auto-save options"
+msgstr "Opcje autozapisu"
+
+#: ../src/preferences.c:1683
+msgid "Write metadata after timeout"
+msgstr "Zapisz metadane po upływie danego czasu"
+
+#: ../src/preferences.c:1689
+msgid "Timeout (seconds):"
+msgstr "Limit czasu (sekundy):"
+
+#: ../src/preferences.c:1692
+msgid "Write metadata on image change"
+msgstr "Zapisuj metadane przy zmianie obrazu"
+
+#: ../src/preferences.c:1695
+msgid "Write metadata on directory change"
+msgstr "Zapisz metadane przy zmianie katalogu"
+
+#: ../src/preferences.c:1709
+msgid "Color management"
+msgstr "ZarzÄ…dzanie kolorami"
+
+#: ../src/preferences.c:1711
+msgid "Input profiles"
+msgstr "Profile wejścia"
+
+#: ../src/preferences.c:1719
+msgid "Type"
+msgstr ""
+
+#: ../src/preferences.c:1722
+msgid "Menu name"
+msgstr "Nazwa menu"
+
+#: ../src/preferences.c:1725
+msgid "File"
+msgstr "Plik"
+
+#: ../src/preferences.c:1733
+#, c-format
+msgid "Input %d:"
+msgstr ""
+
+#: ../src/preferences.c:1749 ../src/preferences.c:1769
+msgid "Select color profile"
+msgstr "Wybierz profil koloru"
+
+#: ../src/preferences.c:1757
+msgid "Screen profile"
+msgstr "Profil ekranu"
+
+#: ../src/preferences.c:1761
+msgid "Use system screen profile if available"
+msgstr ""
+
+#: ../src/preferences.c:1766
+msgid "Screen:"
+msgstr "Ekran:"
+
+#: ../src/preferences.c:1788 ../src/preferences.c:1829
+msgid "Behavior"
+msgstr "Zachowanie"
+
+#: ../src/preferences.c:1790 ../src/utilops.c:1983
 msgid "Delete"
 msgstr "Usuń"
 
-#: src/preferences.c:1395
+#: ../src/preferences.c:1792
 msgid "Confirm file delete"
 msgstr "Potwierdzanie usunięcia pliku"
 
-#: src/preferences.c:1397
+#: ../src/preferences.c:1794
 msgid "Enable Delete key"
 msgstr "Aktywny klawisz Delete"
 
-#: src/preferences.c:1400
+#: ../src/preferences.c:1797
 msgid "Safe delete"
 msgstr "bezpieczne usuwanie"
 
-#: src/preferences.c:1418
+#: ../src/preferences.c:1815
 msgid "Maximum size:"
 msgstr "Maksymalny rozmiar:"
 
-#: src/preferences.c:1418
+#: ../src/preferences.c:1815
 msgid "MB"
-msgstr ""
-
-#: src/preferences.c:1421
+msgstr "MB"
+
+#: ../src/preferences.c:1817
 msgid "Set to 0 for unlimited size"
-msgstr ""
-
-#: src/preferences.c:1423
+msgstr "Ustaw na 0 dla nieograniczonego rozmiaru"
+
+#: ../src/preferences.c:1818
 msgid "View"
 msgstr "Widok"
 
-#: src/preferences.c:1434
-msgid "Behavior"
-msgstr "Zachowanie"
-
-#: src/preferences.c:1436
+#: ../src/preferences.c:1831
 msgid "Rectangular selection in icon view"
 msgstr "Zaznaczanie prostokÄ…tne w widoku ikon"
 
-#: src/preferences.c:1439
+#: ../src/preferences.c:1834
 msgid "Descend folders in tree view"
 msgstr "Odwrotna kolejność katalogów w widoku drzewiastym"
 
-#: src/preferences.c:1442
+#: ../src/preferences.c:1837
 msgid "In place renaming"
 msgstr "Zmiana nazwy na miejscu"
 
-#: src/preferences.c:1445
-msgid ""
-"Show \"Copy path\" menu item which write the path of selected files to "
-"clipboard"
-msgstr ""
-
-#: src/preferences.c:1448
+#: ../src/preferences.c:1840
 msgid "Open recent list maximum size"
-msgstr ""
-
-#: src/preferences.c:1451
+msgstr "Maksymalna ilość ostatnio otwartych obrazów"
+
+#: ../src/preferences.c:1843
 msgid "Drag'n drop icon size"
-msgstr ""
-
-#: src/preferences.c:1454
+msgstr "Rozmiar ikon przy drag'n drop"
+
+#: ../src/preferences.c:1846
 msgid "Navigation"
 msgstr "Nawigacja"
 
-#: src/preferences.c:1456
+#: ../src/preferences.c:1848
 msgid "Progressive keyboard scrolling"
 msgstr "Przyrostowe przewijanie klawiaturÄ…"
 
-#: src/preferences.c:1458
+#: ../src/preferences.c:1850
 msgid "Mouse wheel scrolls image"
 msgstr "Przewijanie obrazu kółkiem myszy"
 
-#: src/preferences.c:1461
-msgid "Miscellaneous"
-msgstr "Różne"
-
-#: src/preferences.c:1463
-msgid "Store metadata and cache files in source image's directory"
-msgstr ""
-
-#: src/preferences.c:1466
-#, fuzzy
-msgid "Store keywords and comments as XMP tags in image files"
-msgstr "Zapisuj słowa kluczowe i komentarze lokalnie"
-
-#: src/preferences.c:1469
+#: ../src/preferences.c:1855
 msgid "Custom similarity threshold:"
 msgstr "Dowolny próg podobieństwa:"
 
-#: src/preferences.c:1472
-msgid "Image loading and caching"
-msgstr ""
-
-#: src/preferences.c:1474
-msgid "Offscreen cache size (Mb per image):"
-msgstr "Rozmiar cache w piksmapach (MB na obraz):"
-
-#: src/preferences.c:1477
-msgid "Image read buffer size (bytes):"
-msgstr ""
-
-#: src/preferences.c:1481
-msgid "Image idle loop read count:"
-msgstr ""
-
-#: src/preferences.c:1486
+#: ../src/preferences.c:1860
+msgid "Debugging"
+msgstr "Debugowanie"
+
+#: ../src/preferences.c:1862
+msgid "Debug level:"
+msgstr "Poziom debugowania:"
+
+#: ../src/preferences.c:1880
+msgid "Keyboard"
+msgstr "Klawiatura"
+
+#: ../src/preferences.c:1882
+msgid "Accelerators"
+msgstr "Skróty klawiszowe"
+
+#: ../src/preferences.c:1901
+msgid "Action"
+msgstr "Akcja"
+
+#: ../src/preferences.c:1923
+msgid "KEY"
+msgstr ""
+
+#: ../src/preferences.c:1934
+msgid "Tooltip"
+msgstr "Podpowiedź"
+
+#: ../src/preferences.c:1965
+#, fuzzy
+msgid "Reset selected"
+msgstr "Wyzeruj filtry"
+
+#: ../src/preferences.c:1981
+msgid "Stereo"
+msgstr ""
+
+#: ../src/preferences.c:1983 ../src/preferences.c:1986
+msgid "Windowed stereo mode"
+msgstr ""
+
+#: ../src/preferences.c:1990 ../src/preferences.c:2015
+#, fuzzy
+msgid "Mirror left image"
+msgstr "pierwszy obraz"
+
+#: ../src/preferences.c:1993 ../src/preferences.c:2018
 #, fuzzy
-msgid "Color profiles"
-msgstr "Wszystkie pliki"
-
-#: src/preferences.c:1494
-msgid "Type"
-msgstr ""
-
-#: src/preferences.c:1500
+msgid "Flip left image"
+msgstr "następny obraz"
+
+#: ../src/preferences.c:1996 ../src/preferences.c:2021
+#, fuzzy
+msgid "Mirror right image"
+msgstr "pierwszy obraz"
+
+#: ../src/preferences.c:1999 ../src/preferences.c:2024
 #, fuzzy
-msgid "File"
-msgstr "Plik:"
-
-#: src/preferences.c:1525 src/preferences.c:1536
+msgid "Flip right image"
+msgstr "pierwszy obraz"
+
+#: ../src/preferences.c:2001 ../src/preferences.c:2026
+msgid "Swap left and right images"
+msgstr ""
+
+#: ../src/preferences.c:2003 ../src/preferences.c:2028
+msgid "Disable stereo mode on single image source"
+msgstr ""
+
+#: ../src/preferences.c:2006 ../src/preferences.c:2012
 #, fuzzy
-msgid "Select color profile"
-msgstr "Wybierz katalog"
-
-#: src/preferences.c:1533
+msgid "Fullscreen stereo mode"
+msgstr "Pełny ekran"
+
+#: ../src/preferences.c:2007
+msgid "Use different settings for fullscreen"
+msgstr ""
+
+#: ../src/preferences.c:2037
+#, fuzzy
+msgid "Left X"
+msgstr "Lewy:"
+
+#: ../src/preferences.c:2039
 #, fuzzy
-msgid "Screen:"
-msgstr "Ekran"
-
-#: src/preferences.c:1544
-msgid "Debugging"
-msgstr ""
-
-#: src/preferences.c:1546
-msgid "Debug level:"
-msgstr ""
-
-#: src/preferences.c:1562
+msgid "Left Y"
+msgstr "Lewy:"
+
+#: ../src/preferences.c:2041
 #, fuzzy
+msgid "Right X"
+msgstr "Prawy:"
+
+#: ../src/preferences.c:2043
+#, fuzzy
+msgid "Right Y"
+msgstr "Prawy:"
+
+#: ../src/preferences.c:2059
 msgid "Preferences"
 msgstr "P_referencje..."
 
-#: src/preferences.c:1685
-#, fuzzy
-msgid "About"
-msgstr "O progr_amie"
-
-#: src/preferences.c:1702
+#: ../src/preferences.c:2207
 #, fuzzy, c-format
 msgid ""
 "%s %s\n"
@@ -3209,93 +4430,85 @@
 "\n"
 "Wydany na warunkach licencji GNU GPL"
 
-#: src/preferences.c:1721
+#: ../src/preferences.c:2226
 msgid "Credits..."
 msgstr "Zasługi..."
 
-#: src/print.c:117
+#: ../src/print.c:124
 msgid "Selection"
 msgstr "Zaznaczenie"
 
-#: src/print.c:118
+#: ../src/print.c:125
 msgid "All"
 msgstr "Wszystkie"
 
-#: src/print.c:129
+#: ../src/print.c:136
 msgid "One image per page"
 msgstr "Jeden obraz na stronie"
 
-#: src/print.c:130
+#: ../src/print.c:137
 msgid "Proof sheet"
 msgstr "Wydruk próbny"
 
-#: src/print.c:143
+#: ../src/print.c:150
 msgid "Default printer"
 msgstr "Drukarka domyślna"
 
-#: src/print.c:144
+#: ../src/print.c:151
 msgid "Custom printer"
 msgstr "WÅ‚asna drukarka"
 
-#: src/print.c:145
+#: ../src/print.c:152
 msgid "PostScript file"
 msgstr "Plik PostScript"
 
-#: src/print.c:146
+#: ../src/print.c:153
 msgid "Image file"
 msgstr "Plik obrazu"
 
-#: src/print.c:160
+#: ../src/print.c:167
 msgid "jpeg, low quality"
 msgstr "jpeg, niska jakość"
 
-#: src/print.c:161
+#: ../src/print.c:168
 msgid "jpeg, normal quality"
 msgstr "jpeg, zwykła jakość"
 
-#: src/print.c:162
+#: ../src/print.c:169
 msgid "jpeg, high quality"
 msgstr "jpeg, wysoka jakość"
 
-#: src/print.c:357 src/print.c:3245
+#: ../src/print.c:365 ../src/print.c:3212
 msgid "points"
 msgstr "punkty"
 
-#: src/print.c:358
+#: ../src/print.c:366
 msgid "millimeters"
 msgstr "milimetry"
 
-#: src/print.c:359
+#: ../src/print.c:367
 msgid "centimeters"
 msgstr "centymetry"
 
-#: src/print.c:360
+#: ../src/print.c:368
 msgid "inches"
 msgstr "cale"
 
-#: src/print.c:361
+#: ../src/print.c:369
 msgid "picas"
 msgstr "pica"
 
-#: src/print.c:366
-msgid "Portrait"
-msgstr "Portret"
-
-#: src/print.c:367
-msgid "Landscape"
-msgstr "Pejzaż"
-
-#: src/print.c:373
+#: ../src/print.c:381
 msgid "Letter"
 msgstr ""
 
 #. in 8.5 x 11
-#: src/print.c:374
+#: ../src/print.c:382
 msgid "Legal"
 msgstr ""
 
 #. in 8.5 x 14
-#: src/print.c:375
+#: ../src/print.c:383
 msgid "Executive"
 msgstr ""
 
@@ -3311,487 +4524,519 @@
 #. mm 250 x 353
 #. mm 176 x 250
 #. mm 125 x 176
-#: src/print.c:387
+#: ../src/print.c:395
 msgid "Envelope #10"
 msgstr ""
 
 #. in 4.125 x 9.5
-#: src/print.c:388
+#: ../src/print.c:396
 msgid "Envelope #9"
 msgstr ""
 
 #. in 3.875 x 8.875
-#: src/print.c:389
+#: ../src/print.c:397
 msgid "Envelope C4"
 msgstr ""
 
 #. mm 229 x 324
-#: src/print.c:390
+#: ../src/print.c:398
 msgid "Envelope C5"
 msgstr ""
 
 #. mm 162 x 229
-#: src/print.c:391
+#: ../src/print.c:399
 msgid "Envelope C6"
 msgstr ""
 
 #. mm 114 x 162
-#: src/print.c:392
+#: ../src/print.c:400
 msgid "Photo 6x4"
 msgstr ""
 
 #. in 6   x 4
-#: src/print.c:393
+#: ../src/print.c:401
 msgid "Photo 8x10"
 msgstr ""
 
 #. in 8   x 10
-#: src/print.c:394
+#: ../src/print.c:402
 msgid "Postcard"
 msgstr "Kartka pocztowa"
 
 #. mm 100 x 148
-#: src/print.c:395
+#: ../src/print.c:403
 msgid "Tabloid"
 msgstr ""
 
-#: src/print.c:551
+#: ../src/print.c:559
 #, c-format
 msgid "page %d of %d"
 msgstr "strona %d z %d"
 
-#: src/print.c:743 src/utilops.c:2462
+#: ../src/print.c:751
 msgid "Preview"
 msgstr "PodglÄ…d"
 
-#: src/print.c:1051
+#: ../src/print.c:1059
 #, c-format
 msgid ""
 "Unable to open pipe for writing.\n"
 "\"%s\""
 msgstr ""
 
-#: src/print.c:1066 src/print.c:1506 src/ui_pathsel.c:432
-#: src/view_file_list.c:396
+#: ../src/print.c:1074 ../src/print.c:1466 ../src/ui_pathsel.c:423
 #, c-format
 msgid "A file with name %s already exists."
 msgstr "Plik o nazwie %s już istnieje."
 
-#: src/print.c:1081 src/print.c:1561
+#: ../src/print.c:1089 ../src/print.c:1521
 #, c-format
 msgid "Failure writing to file %s"
 msgstr ""
 
-#: src/print.c:1135 src/print.c:1172 src/print.c:1208 src/print.c:1325
-#: src/print.c:1416 src/print.c:1447
+#: ../src/print.c:1144 ../src/print.c:1181 ../src/print.c:1217
+#: ../src/print.c:1334 ../src/print.c:1407
 msgid "SIGPIPE error writing to printer."
 msgstr ""
 
-#: src/print.c:1982
+#: ../src/print.c:1942
 #, c-format
 msgid "Page %d"
 msgstr "Strona %d"
 
-#: src/print.c:2004 src/print.c:2009
+#: ../src/print.c:1964 ../src/print.c:1969
 msgid "Printing error"
 msgstr "BÅ‚Ä…d wydruku"
 
-#: src/print.c:2008
+#: ../src/print.c:1968
 #, c-format
 msgid "An error occured printing to %s."
 msgstr ""
 
-#: src/print.c:2012
+#: ../src/print.c:1972
 msgid "Details"
 msgstr "Szczegóły"
 
-#: src/print.c:2617 src/print.c:3377
-#, fuzzy
+#: ../src/print.c:2587 ../src/print.c:3341
 msgid "Print"
-msgstr "Drukarka"
-
-#: src/print.c:2624
+msgstr "Drukuj"
+
+#: ../src/print.c:2591
 #, c-format
 msgid "Printing %d pages to %s."
 msgstr ""
 
-#: src/print.c:2724
+#: ../src/print.c:2691
 msgid "Format:"
 msgstr "Format:"
 
-#: src/print.c:2799
+#: ../src/print.c:2766
 msgid "Units:"
 msgstr "Jednostki:"
 
-#: src/print.c:2843
+#: ../src/print.c:2810
 msgid "Orientation:"
 msgstr "Ułożenie:"
 
-#: src/print.c:2975
+#: ../src/print.c:2942
 msgid "Destination:"
-msgstr ""
-
-#: src/print.c:3023
+msgstr "Cel:"
+
+#: ../src/print.c:2990
 msgid "<printer name>"
 msgstr "<nazwa drukarki>"
 
-#: src/print.c:3112
+#: ../src/print.c:3079
 msgid "Unlimited"
 msgstr "Nieograniczone"
 
-#: src/print.c:3230
+#: ../src/print.c:3197
 msgid "Show"
 msgstr "Pokaż"
 
-#: src/print.c:3243
+#: ../src/print.c:3210
 msgid "Font"
 msgstr "Czcionka"
 
-#: src/print.c:3407
+#: ../src/print.c:3368
 msgid "Source"
 msgstr "Źródło"
 
-#: src/print.c:3423
+#: ../src/print.c:3380
+msgid "Image size:"
+msgstr "Rozmiar obrazu:"
+
+#: ../src/print.c:3384
 msgid "Proof size:"
 msgstr "Rozmiar próbki:"
 
-#: src/print.c:3449
+#: ../src/print.c:3400
+msgid "Text"
+msgstr "Tekst"
+
+#: ../src/print.c:3410
 msgid "Paper"
 msgstr "Papier"
 
-#: src/print.c:3472
+#: ../src/print.c:3433
 msgid "Margins"
 msgstr "Merginesy"
 
-#: src/print.c:3474
+#: ../src/print.c:3435
 msgid "Left:"
 msgstr "Lewy:"
 
-#: src/print.c:3477
+#: ../src/print.c:3438
 msgid "Right:"
 msgstr "Prawy:"
 
-#: src/print.c:3480
+#: ../src/print.c:3441
 msgid "Top:"
 msgstr "Górny:"
 
-#: src/print.c:3483
+#: ../src/print.c:3444
 msgid "Bottom:"
 msgstr "Dolny:"
 
-#: src/print.c:3492
+#: ../src/print.c:3453
 msgid "Printer"
 msgstr "Drukarka"
 
-#: src/print.c:3498
+#: ../src/print.c:3459
 msgid "Custom printer:"
 msgstr "WÅ‚asna drukarka:"
 
-#: src/print.c:3507
+#: ../src/print.c:3468
 msgid "File:"
 msgstr "Plik:"
 
-#: src/print.c:3516
+#: ../src/print.c:3477
 msgid "File format:"
 msgstr "Format pliku:"
 
-#: src/print.c:3521
+#: ../src/print.c:3482
 msgid "DPI:"
 msgstr ""
 
-#: src/print.c:3529
+#: ../src/print.c:3490
 msgid "Remember print settings"
 msgstr "Zapamiętanie opcji druku"
 
-#: src/rcfile.c:309
+#: ../src/rcfile.c:81
+#, fuzzy, c-format
+msgid "Option %s ignored: %s\n"
+msgstr "Tworzenie  katalogu %s:%s\n"
+
+#: ../src/rcfile.c:456
 #, c-format
 msgid "error saving config file: %s\n"
 msgstr "błąd przy zapisie pliku konfiguracyjnego: %s\n"
 
-#: src/rcfile.c:583
-#, fuzzy, c-format
+#: ../src/rcfile.c:514
+#, c-format
 msgid ""
 "error saving config file: %s\n"
 "error: %s\n"
-msgstr "błąd przy zapisie pliku konfiguracyjnego: %s\n"
+msgstr ""
+"błąd przy zapisie pliku konfiguracyjnego: %s\n"
+"błąd: %s\n"
 
 #. short, long                  callback,               extra, prefer,description
-#: src/remote.c:574
+#: ../src/remote.c:639
 msgid "next image"
 msgstr "następny obraz"
 
-#: src/remote.c:575
+#: ../src/remote.c:640
 msgid "previous image"
 msgstr "poprzedni obraz"
 
-#: src/remote.c:576
+#: ../src/remote.c:641
 msgid "first image"
 msgstr "pierwszy obraz"
 
-#: src/remote.c:577
+#: ../src/remote.c:642
 msgid "last image"
 msgstr "ostatni obraz"
 
-#: src/remote.c:578
+#: ../src/remote.c:643
 msgid "toggle full screen"
 msgstr "przełącz pełny ekran"
 
-#: src/remote.c:579
+#: ../src/remote.c:644
 msgid "start full screen"
 msgstr "włącz pełny ekran"
 
-#: src/remote.c:580
+#: ../src/remote.c:645
 msgid "stop full screen"
 msgstr "wyłącz pełny ekran"
 
-#: src/remote.c:581
+#: ../src/remote.c:646
 msgid "toggle slide show"
 msgstr "przełącz pokaz slajdów"
 
-#: src/remote.c:582
+#: ../src/remote.c:647
 msgid "start slide show"
 msgstr "rozpocznij pokaz slajdów"
 
-#: src/remote.c:583
+#: ../src/remote.c:648
 msgid "stop slide show"
 msgstr "zatrzymaj pokaz slajdów"
 
-#: src/remote.c:584
+#: ../src/remote.c:649
 msgid "start recursive slide show"
 msgstr "rozpocznij rekursywny pokaz slajdów"
 
-#: src/remote.c:585
+#: ../src/remote.c:650
 msgid "set slide show delay in seconds"
 msgstr ""
 
-#: src/remote.c:586
+#: ../src/remote.c:651
 msgid "show tools"
-msgstr ""
-
-#: src/remote.c:587
+msgstr "pokaż narzędzia"
+
+#: ../src/remote.c:652
 msgid "hide tools"
 msgstr "Ukryj pasek narzędzi"
 
-#: src/remote.c:588
+#: ../src/remote.c:653
 msgid "quit"
 msgstr "zakończ"
 
-#: src/remote.c:589
+#: ../src/remote.c:654
+#, fuzzy
+msgid "load config file"
+msgstr "BÅ‚Ä…d przy kopiowaniu pliku"
+
+#: ../src/remote.c:655
+msgid "get list of sidecars of the given file"
+msgstr ""
+
+#: ../src/remote.c:656
+msgid "get destination path for the given file"
+msgstr ""
+
+#: ../src/remote.c:657
 msgid "open file"
 msgstr "otwórz plik"
 
-#: src/remote.c:590
+#: ../src/remote.c:658
 msgid "open file in new window"
 msgstr "otwórz plik w nowym oknie"
 
-#: src/remote.c:656
+#: ../src/remote.c:724
 msgid "Remote command list:\n"
 msgstr ""
 
-#: src/remote.c:713
+#: ../src/remote.c:739
+msgid ""
+"\n"
+"  All other command line parameters are used as plain files if they exists.\n"
+msgstr ""
+
+#: ../src/remote.c:789
 #, c-format
 msgid "Remote %s not running, starting..."
 msgstr ""
 
-#: src/remote.c:849
+#: ../src/remote.c:925
 msgid "Remote not available\n"
 msgstr ""
 
-#: src/search.c:202
+#: ../src/search.c:212
 msgid "folder"
 msgstr "katalog"
 
-#: src/search.c:203
+#: ../src/search.c:213
 msgid "comments"
 msgstr "komentarze"
 
-#: src/search.c:204
+#: ../src/search.c:214
 msgid "results"
 msgstr "wyniki"
 
-#: src/search.c:208
+#: ../src/search.c:218 ../src/search.c:243
 msgid "contains"
 msgstr "zawiera"
 
-#: src/search.c:209
+#: ../src/search.c:219
 msgid "is"
 msgstr "równa"
 
-#: src/search.c:213 src/search.c:220
+#: ../src/search.c:223 ../src/search.c:230
 msgid "equal to"
 msgstr "równy"
 
-#: src/search.c:214
+#: ../src/search.c:224
 msgid "less than"
 msgstr "mniejszy niż"
 
-#: src/search.c:215
+#: ../src/search.c:225
 msgid "greater than"
 msgstr "większy niż"
 
-#: src/search.c:216 src/search.c:223
+#: ../src/search.c:226 ../src/search.c:233
 msgid "between"
 msgstr "pomiędzy"
 
-#: src/search.c:221
+#: ../src/search.c:231
 msgid "before"
 msgstr "przed"
 
-#: src/search.c:222
+#: ../src/search.c:232
 msgid "after"
 msgstr "po"
 
-#: src/search.c:227
+#: ../src/search.c:237
 msgid "match all"
 msgstr "pasujÄ… wszystkie"
 
-#: src/search.c:228
+#: ../src/search.c:238
 msgid "match any"
 msgstr "pasuje dowolne"
 
-#: src/search.c:229
+#: ../src/search.c:239
 msgid "exclude"
 msgstr "z wyjÄ…tkiem"
 
-#: src/search.c:279
+#: ../src/search.c:244
+#, fuzzy
+msgid "miss"
+msgstr "równa"
+
+#: ../src/search.c:295
 #, c-format
 msgid "%s, %d files (%s, %d)"
 msgstr "%s, %d plików (%s, %d)"
 
-#: src/search.c:284
+#: ../src/search.c:300
 #, c-format
 msgid "%s, %d files"
 msgstr "%s, %d plików"
 
-#: src/search.c:302
+#: ../src/search.c:318
 msgid "Searching..."
 msgstr "Szukanie..."
 
-#: src/search.c:2100
+#: ../src/search.c:2120
 msgid "File not found"
-msgstr ""
-
-#: src/search.c:2101
+msgstr "Plik nie został znaleziony"
+
+#: ../src/search.c:2121
 msgid "Please enter an existing file for image content."
 msgstr ""
 
-#: src/search.c:2151
+#: ../src/search.c:2170
 msgid "Please enter an existing folder to search."
 msgstr ""
 
-#: src/search.c:2576
-#, fuzzy
+#: ../src/search.c:2588
 msgid "Image search"
-msgstr "Wyszukiwanie obrazu - Geeqie"
-
-#: src/search.c:2606
+msgstr "Wyszukiwanie obrazu"
+
+#: ../src/search.c:2618
 msgid "Search:"
 msgstr "Szukaj:"
 
-#: src/search.c:2620
+#: ../src/search.c:2632
 msgid "Recurse"
 msgstr ""
 
-#: src/search.c:2624
+#: ../src/search.c:2637
 msgid "File name"
 msgstr "Nazwa pliku"
 
-#: src/search.c:2630
+#: ../src/search.c:2643 ../src/search.c:2738
 msgid "Match case"
 msgstr ""
 
-#: src/search.c:2634
+#: ../src/search.c:2648
 msgid "File size is"
 msgstr "Rozmiar pliku"
 
-#: src/search.c:2641 src/search.c:2656 src/search.c:2674
+#: ../src/search.c:2655 ../src/search.c:2671 ../src/search.c:2690
 msgid "and"
 msgstr "i"
 
-#: src/search.c:2646
+#: ../src/search.c:2661
 msgid "File date is"
 msgstr "Data pliku"
 
-#: src/search.c:2663
+#: ../src/search.c:2679
 msgid "Image dimensions are"
 msgstr "Wymiary obrazu"
 
-#: src/search.c:2683
+#: ../src/search.c:2700
 msgid "Image content is"
 msgstr "Zawartość obrazu"
 
-#: src/search.c:2689
+#: ../src/search.c:2706
 #, no-c-format
 msgid "% similar to"
 msgstr "% podobna do"
 
-#: src/search.c:2758
+#: ../src/search.c:2788
 msgid "Rank"
 msgstr ""
 
-#: src/secure_save.c:398
-#, fuzzy
+#: ../src/secure_save.c:397
 msgid "Cannot read the file"
-msgstr "Nie można utworzyć katalogu"
-
-#: src/secure_save.c:400
+msgstr "Nie można odczytać pliku"
+
+#: ../src/secure_save.c:399
 #, fuzzy
 msgid "Cannot get file status"
 msgstr "Porównanie dwóch zbiorów plików"
 
-#: src/secure_save.c:402
+#: ../src/secure_save.c:401
 msgid "Cannot access the file"
-msgstr ""
-
-#: src/secure_save.c:404
-#, fuzzy
+msgstr "Brak dostępu do pliku"
+
+#: ../src/secure_save.c:403
 msgid "Cannot create temp file"
-msgstr "Nie można utworzyć katalogu"
-
-#: src/secure_save.c:406
-#, fuzzy
+msgstr "Nie można utworzyć tymczasowego pliku"
+
+#: ../src/secure_save.c:405
 msgid "Cannot rename the file"
-msgstr "Nie można utworzyć katalogu"
-
-#: src/secure_save.c:408
+msgstr "Nie można zmienić nazwy pliku"
+
+#: ../src/secure_save.c:407
 msgid "File saving disabled by option"
-msgstr ""
-
-#: src/secure_save.c:410
+msgstr "Zapisywanie pliku zostało wyłączone w opcjach"
+
+#: ../src/secure_save.c:409
 msgid "Out of memory"
-msgstr ""
-
-#: src/secure_save.c:412
+msgstr "Brak pamięci"
+
+#: ../src/secure_save.c:411
 msgid "Cannot write the file"
-msgstr ""
-
-#: src/secure_save.c:416
+msgstr "Nie mogę zapisać do pliku"
+
+#: ../src/secure_save.c:415
 msgid "Secure file saving error"
 msgstr ""
 
-#: src/thumb.c:382
+#: ../src/thumb.c:392
 msgid "Thumbnail image in cache failed to load, trying to recreate.\n"
 msgstr "Odczyt miniaturki z cache nie powiódł się, próba odtworzenia.\n"
 
-#: src/trash.c:74 src/utilops.c:1402 src/utilops.c:1415 src/utilops.c:1494
-#: src/utilops.c:1511 src/utilops.c:3095 src/utilops.c:3146 src/utilops.c:3232
-#: src/utilops.c:3243
+#: ../src/trash.c:80 ../src/utilops.c:2446 ../src/utilops.c:2457
+#: ../src/utilops.c:2514
 msgid "Delete failed"
 msgstr "Usunięcie nie powiodło się"
 
-#: src/trash.c:75
+#: ../src/trash.c:81
 msgid "Unable to remove old file from trash folder"
 msgstr "Nie można usunąć starego pliku z kosza"
 
-#: src/trash.c:126 src/utilops.c:2755
+#: ../src/trash.c:138
 msgid "Could not create folder"
 msgstr "Nie można utworzyć katalogu"
 
-#: src/trash.c:148
+#: ../src/trash.c:160
 msgid "Permission denied"
 msgstr "Brak dostępu"
 
-#: src/trash.c:158
+#: ../src/trash.c:170
 #, c-format
 msgid ""
 "Unable to access or create the trash folder.\n"
@@ -3800,73 +5045,119 @@
 "Błąd podczas dostępu lub podczas tworzenia katalogu:\n"
 "\"%s\""
 
-#: src/trash.c:162
+#: ../src/trash.c:174
 msgid "Turn off safe delete"
 msgstr "Wyłącz bezpieczne usuwanie"
 
-#: src/trash.c:181
+#: ../src/trash.c:193
 msgid "Deletion by external command"
-msgstr ""
-
-#: src/trash.c:189
+msgstr "Usuwanie zewnętrznym poleceniem"
+
+#: ../src/trash.c:201
 #, c-format
 msgid " (max. %d MB)"
-msgstr ""
-
-#: src/trash.c:193
-#, fuzzy, c-format
+msgstr " (maks. %d MB)"
+
+#: ../src/trash.c:205
+#, c-format
 msgid ""
 "Safe delete: %s%s\n"
 "Trash: %s"
-msgstr "Bezpieczne usuwanie: %s"
-
-#: src/trash.c:198
+msgstr ""
+"Bezpieczne usuwanie: %s%s\n"
+"Kosz: %s"
+
+#: ../src/trash.c:210
 #, c-format
 msgid "Safe delete: %s"
 msgstr "Bezpieczne usuwanie: %s"
 
-#: src/ui_bookmark.c:151
-#, c-format
-msgid "Unable to write history lists to: %s\n"
-msgstr "Nie można zapisać list historii w: %s\n"
-
-#: src/ui_bookmark.c:443 src/ui_bookmark.c:506
+#: ../src/ui_bookmark.c:130 ../src/ui_bookmark.c:193
 msgid "New Bookmark"
 msgstr "Nowa zakładka"
 
-#: src/ui_bookmark.c:589 src/ui_bookmark.c:595
+#: ../src/ui_bookmark.c:276 ../src/ui_bookmark.c:282
 msgid "Edit Bookmark"
 msgstr "Edycja zakładki"
 
-#: src/ui_bookmark.c:610
+#: ../src/ui_bookmark.c:297
 msgid "Path:"
 msgstr "Ścieżka:"
 
-#: src/ui_bookmark.c:619
+#: ../src/ui_bookmark.c:306
 msgid "Icon:"
 msgstr "Ikona:"
 
-#: src/ui_bookmark.c:625
+#: ../src/ui_bookmark.c:312
 msgid "Select icon"
 msgstr "Zaznacz ikonÄ™"
 
-#: src/ui_bookmark.c:716
+#: ../src/ui_bookmark.c:405
 msgid "_Properties..."
 msgstr "_Właściwości..."
 
-#: src/ui_bookmark.c:718
-msgid "Move _up"
-msgstr "Przesuń w _górę"
-
-#: src/ui_bookmark.c:720
-msgid "Move _down"
-msgstr "Przesuń w _dół"
-
-#: src/ui_bookmark.c:722
+#: ../src/ui_bookmark.c:411
 msgid "_Remove"
 msgstr "Usuń"
 
-#: src/ui_help.c:114
+#: ../src/ui_fileops.c:67
+msgid ""
+"One or more filenames are not encoded with the preferred locale character "
+"set.\n"
+msgstr ""
+
+#: ../src/ui_fileops.c:68
+#, c-format
+msgid "Operations on, and display of these files with %s may not succeed.\n"
+msgstr ""
+
+#: ../src/ui_fileops.c:70
+msgid ""
+"If your filenames are not encoded in utf-8, try setting the environment "
+"variable G_BROKEN_FILENAMES=1\n"
+msgstr ""
+
+#: ../src/ui_fileops.c:72
+#, c-format
+msgid "It appears G_BROKEN_FILENAMES is set to %s\n"
+msgstr ""
+
+#: ../src/ui_fileops.c:74
+msgid "It appears G_BROKEN_FILENAMES is not set\n"
+msgstr ""
+
+#: ../src/ui_fileops.c:76
+#, c-format
+msgid ""
+"The locale appears to be set to \"%s\"\n"
+"(set by the LANG environment variable)\n"
+msgstr ""
+
+#: ../src/ui_fileops.c:81
+msgid ""
+"\n"
+"Preferred encoding appears to be UTF-8, however the file:\n"
+msgstr ""
+
+#: ../src/ui_fileops.c:82 ../src/ui_fileops.c:85 ../src/ui_fileops.c:87
+msgid "[name not displayable]"
+msgstr ""
+
+#: ../src/ui_fileops.c:85
+#, c-format
+msgid "\"%s\" is encoded in valid UTF-8."
+msgstr ""
+
+#: ../src/ui_fileops.c:87
+#, c-format
+msgid "\"%s\" is not encoded in valid UTF-8."
+msgstr ""
+
+#: ../src/ui_fileops.c:92 ../src/ui_fileops.c:97
+msgid "Filename encoding locale mismatch"
+msgstr ""
+
+#: ../src/ui_help.c:110
 #, c-format
 msgid ""
 "Unable to load:\n"
@@ -3875,56 +5166,33 @@
 "Nie można wczytać:\n"
 "%s"
 
-#: src/ui_pathsel.c:438 src/utilops.c:2859
+#: ../src/ui_pathsel.c:424 ../src/ui_pathsel.c:430 ../src/utilops.c:2145
+#: ../src/utilops.c:2172 ../src/utilops.c:2638
+msgid "Rename failed"
+msgstr "BÅ‚Ä…d zmiany nazwy"
+
+#: ../src/ui_pathsel.c:429
 #, c-format
 msgid "Failed to rename %s to %s."
 msgstr "Zmiana nazwy %s na %s nie powiodła się."
 
-#: src/ui_pathsel.c:494 src/utilops.c:1510 src/utilops.c:1703
-#, c-format
-msgid ""
-"Unable to delete file:\n"
-"%s"
-msgstr ""
-"Nie można usunąć pliku:\n"
-"%s"
-
-#: src/ui_pathsel.c:495 src/utilops.c:1452 src/utilops.c:1472
-#: src/utilops.c:1684 src/utilops.c:1696 src/utilops.c:1704
-msgid "File deletion failed"
-msgstr "Usunięcie pliku nie powiodło się"
-
-#: src/ui_pathsel.c:537 src/ui_pathsel.c:545 src/utilops.c:1734
-msgid "Delete file"
-msgstr "Usuń plik"
-
-#: src/ui_pathsel.c:543
-#, c-format
-msgid ""
-"About to delete the file:\n"
-" %s"
-msgstr ""
-"Usunięcie pliku:\n"
-" %s"
-
-#: src/ui_pathsel.c:634 src/ui_pathsel.c:642 src/utilops.c:2428
-#: src/utilops.c:2690
+#: ../src/ui_pathsel.c:625 ../src/ui_pathsel.c:633
 msgid "_Rename"
 msgstr "Zmień nazwę"
 
-#: src/ui_pathsel.c:636 src/ui_pathsel.c:646
+#: ../src/ui_pathsel.c:627 ../src/ui_pathsel.c:637
 msgid "Add _Bookmark"
 msgstr "Dodanie zakładki"
 
-#: src/ui_pathsel.c:644
+#: ../src/ui_pathsel.c:635
 msgid "_Delete"
 msgstr "Usuń"
 
-#: src/ui_pathsel.c:748 src/ui_pathsel.c:1053 src/utilops.c:2807
+#: ../src/ui_pathsel.c:742 ../src/ui_pathsel.c:1047 ../src/utilops.c:2672
 msgid "New folder"
 msgstr "Nowy katalog"
 
-#: src/ui_pathsel.c:758 src/utilops.c:2762 src/view_dir.c:511
+#: ../src/ui_pathsel.c:752
 #, c-format
 msgid ""
 "Unable to create folder:\n"
@@ -3933,508 +5201,43 @@
 "BÅ‚Ä…d tworzenia katalogu:\n"
 "%s"
 
-#: src/ui_pathsel.c:759 src/utilops.c:2763 src/view_dir.c:512
+#: ../src/ui_pathsel.c:753
 msgid "Error creating folder"
 msgstr "BÅ‚Ä…d podczas tworzenia katalogu"
 
-#: src/ui_pathsel.c:980
+#: ../src/ui_pathsel.c:978
 msgid "All Files"
 msgstr "Wszystkie pliki"
 
-#: src/ui_pathsel.c:1056
+#: ../src/ui_pathsel.c:1050
 msgid "Show hidden"
 msgstr "Wyświetlanie ukrytych"
 
-#: src/ui_pathsel.c:1140
+#: ../src/ui_pathsel.c:1134
 msgid "Filter:"
 msgstr "Filtr:"
 
-#: src/ui_tabcomp.c:858
+#: ../src/ui_tabcomp.c:924
 msgid "Select path"
-msgstr "Zaznacz ścieżkę"
-
-#: src/ui_tabcomp.c:874
+msgstr "Ustaw ścieżki"
+
+#: ../src/ui_tabcomp.c:940
 msgid "All files"
 msgstr "Wszystkie pliki"
 
-#: src/utilops.c:346 src/utilops.c:811 src/utilops.c:1048
-msgid "Error copying file"
-msgstr "BÅ‚Ä…d przy kopiowaniu pliku"
-
-#: src/utilops.c:347
-#, fuzzy, c-format
-msgid ""
-"%s\n"
-"Unable to copy file:\n"
-"%s\n"
-"to:\n"
-"%s"
-msgstr ""
-"Nie można skopiować pliku:\n"
-"%s\n"
-"do:\n"
-"%s"
-
-#: src/utilops.c:390 src/utilops.c:816 src/utilops.c:1053
-msgid "Error moving file"
-msgstr "BÅ‚Ä…d przy przenoszeniu pliku"
-
-#: src/utilops.c:391
-#, fuzzy, c-format
-msgid ""
-"%s\n"
-"Unable to move file:\n"
-"%s\n"
-"to:\n"
-"%s"
-msgstr ""
-"Nie można przenieść pliku:\n"
-"%s\n"
-"do:\n"
-"%s"
-
-#: src/utilops.c:439 src/utilops.c:1920 src/utilops.c:2642
-#: src/view_file_list.c:391 src/view_file_list.c:397 src/view_file_list.c:411
-msgid "Error renaming file"
-msgstr "BÅ‚Ä…d podczas zmiany nazwy pliku"
-
-#: src/utilops.c:440
-#, fuzzy, c-format
+#: ../src/utilops.c:547
 msgid ""
-"%s\n"
-"Unable to rename file:\n"
-"%s\n"
-"to:\n"
-"%s"
-msgstr ""
-"Nie można zmienić nazwy pliku:\n"
-"%s\n"
-"na:\n"
-"%s"
-
-#: src/utilops.c:651 src/utilops.c:981 src/utilops.c:1893 src/utilops.c:2613
-msgid "Overwrite file"
-msgstr "Nadpisz plik"
-
-#: src/utilops.c:656 src/utilops.c:986 src/utilops.c:1898 src/utilops.c:2618
-msgid "Overwrite file?"
-msgstr "Nadpisać plik?"
-
-#: src/utilops.c:657 src/utilops.c:987
-msgid "Replace existing file with new file."
-msgstr ""
-
-#: src/utilops.c:661
-msgid "Overwrite _all"
-msgstr "N_adpisz wszystkie"
-
-#: src/utilops.c:663
-msgid "S_kip all"
-msgstr "Pomiń wszyst_kie"
-
-#: src/utilops.c:664
-msgid "_Skip"
-msgstr "Pomiń"
-
-#: src/utilops.c:665 src/utilops.c:991 src/utilops.c:1904 src/utilops.c:2624
-msgid "Existing file"
-msgstr "IstniejÄ…cy plik"
-
-#: src/utilops.c:665 src/utilops.c:991 src/utilops.c:1905 src/utilops.c:2625
-msgid "New file"
-msgstr "Nowy plik"
-
-#: src/utilops.c:675 src/utilops.c:1000 src/utilops.c:2038 src/utilops.c:2094
-#: src/utilops.c:2167 src/utilops.c:2501
-msgid "Auto rename"
-msgstr "Automatyczna zmiana nazwy"
-
-#: src/utilops.c:683 src/utilops.c:1008 src/utilops.c:2423 src/utilops.c:2682
-msgid "Rename"
-msgstr "Zmień nazwę"
-
-#: src/utilops.c:724
-msgid "Source to copy matches destination"
-msgstr "Kopiowany plik źródłowy odpowiada docelowemu"
-
-#: src/utilops.c:725
-#, c-format
-msgid ""
-"Unable to copy file:\n"
-"%s\n"
-"to itself."
-msgstr ""
-"Nie można skopiować pliku:\n"
-"%s\n"
-"na niego samego."
-
-#: src/utilops.c:729
-msgid "Source to move matches destination"
-msgstr "Przenoszony plik źródłowy odpowiada docelowemu"
-
-#: src/utilops.c:730
-#, c-format
-msgid ""
-"Unable to move file:\n"
-"%s\n"
-"to itself."
-msgstr ""
-"Nie można przenieść pliku:\n"
-"%s\n"
-"na niego samego."
-
-#: src/utilops.c:738 src/utilops.c:825 src/utilops.c:1408 src/utilops.c:1502
+"\n"
+" Continue multiple file operation?"
+msgstr ""
+"\n"
+"Kontynuować operację na wielu plikach?"
+
+#: ../src/utilops.c:554 ../src/utilops.c:987
 msgid "Co_ntinue"
 msgstr "Ko_ntynuuj"
 
-#: src/utilops.c:812
-#, c-format
-msgid ""
-"Unable to copy file:\n"
-"%s\n"
-"to:\n"
-"%s\n"
-"during multiple file copy."
-msgstr ""
-"Nie można skopiować pliku:\n"
-"%s\n"
-"do:\n"
-"%s\n"
-" podczas kopiowania wielu plików."
-
-#: src/utilops.c:817
-#, c-format
-msgid ""
-"Unable to move file:\n"
-"%s\n"
-"to:\n"
-"%s\n"
-"during multiple file move."
-msgstr ""
-"Nie można przenieść pliku:\n"
-"%s\n"
-"do:\n"
-"%s\n"
-" podczas przenoszenia wielu plików."
-
-#: src/utilops.c:972
-msgid "Source matches destination"
-msgstr "Źródło odpowiada celowi"
-
-#: src/utilops.c:973
-msgid "Source and destination are the same, operation cancelled."
-msgstr "Źródło i cel są takie same, operacja anulowana."
-
-#: src/utilops.c:1049
-#, c-format
-msgid ""
-"Unable to copy file:\n"
-"%s\n"
-"to:\n"
-"%s"
-msgstr ""
-"Nie można skopiować pliku:\n"
-"%s\n"
-"do:\n"
-"%s"
-
-#: src/utilops.c:1054
-#, c-format
-msgid ""
-"Unable to move file:\n"
-"%s\n"
-"to:\n"
-"%s"
-msgstr ""
-"Nie można przenieść pliku:\n"
-"%s\n"
-"do:\n"
-"%s"
-
-#: src/utilops.c:1102
-msgid "Invalid destination"
-msgstr "Niepoprawny cel"
-
-#: src/utilops.c:1103
-msgid ""
-"When operating with multiple files, please select\n"
-"a folder, not a file."
-msgstr ""
-
-#: src/utilops.c:1108
-msgid "Please select an existing folder."
-msgstr ""
-
-#: src/utilops.c:1178 src/view_dir.c:338
-msgid "_Copy"
-msgstr "S_kopiuj"
-
-#: src/utilops.c:1181
-msgid "Copy file"
-msgstr "Kopiuj plik"
-
-#: src/utilops.c:1185
-msgid "Copy multiple files"
-msgstr "Kopiuj wiele plików"
-
-#: src/utilops.c:1192 src/view_dir.c:340
-msgid "_Move"
-msgstr "_PrzenieÅ›"
-
-#: src/utilops.c:1195
-msgid "Move file"
-msgstr "PrzenieÅ› plik"
-
-#: src/utilops.c:1199
-msgid "Move multiple files"
-msgstr "Przenieś wiele plików"
-
-#: src/utilops.c:1214 src/utilops.c:1744
-msgid "File name:"
-msgstr "Nazwa pliku:"
-
-#: src/utilops.c:1218
-msgid "Choose the destination folder."
-msgstr "Wybierz katalog docelowy."
-
-#: src/utilops.c:1389
-#, fuzzy
-msgid ""
-"\n"
-"Unable to delete file by external command:\n"
-msgstr ""
-"Nie można usunąć pliku:\n"
-"%s"
-
-#: src/utilops.c:1401
-#, fuzzy
-msgid ""
-"\n"
-" Continue multiple delete operation?"
-msgstr ""
-"Nie można usunąć pliku:\n"
-" %s\n"
-" Kontynuować operację usuwania plików?"
-
-#: src/utilops.c:1452 src/utilops.c:1684
-msgid "Another operation in progress.\n"
-msgstr ""
-
-#: src/utilops.c:1471
-#, fuzzy, c-format
-msgid ""
-"%s\n"
-"Unable to delete files by external command.\n"
-msgstr ""
-"Nie można usunąć pliku:\n"
-"%s"
-
-#: src/utilops.c:1498
-#, c-format
-msgid ""
-"Unable to delete file:\n"
-" %s\n"
-" Continue multiple delete operation?"
-msgstr ""
-"Nie można usunąć pliku:\n"
-" %s\n"
-" Kontynuować operację usuwania plików?"
-
-#: src/utilops.c:1569
-#, c-format
-msgid "File %d of %d"
-msgstr "Plik %d z %d"
-
-#: src/utilops.c:1637
-#, fuzzy
-msgid "Delete files"
-msgstr "Usuń plik"
-
-#: src/utilops.c:1643
-msgid "Delete multiple files"
-msgstr "Usuń wiele plików"
-
-#: src/utilops.c:1661
-#, c-format
-msgid "Review %d files"
-msgstr "Przegląd %d plików"
-
-#: src/utilops.c:1695
-#, fuzzy, c-format
-msgid ""
-"%s\n"
-"Unable to delete file by external command:\n"
-"%s"
-msgstr ""
-"Nie można usunąć pliku:\n"
-"%s"
-
-#: src/utilops.c:1740
-msgid "Delete file?"
-msgstr "Usunąć plik?"
-
-#: src/utilops.c:1899 src/utilops.c:2619
-msgid "Replace existing file by renaming new file."
-msgstr ""
-
-#: src/utilops.c:1917
-#, c-format
-msgid ""
-"Unable to rename file:\n"
-"%s\n"
-" to:\n"
-"%s"
-msgstr ""
-"Nie można zmienić nazwy pliku:\n"
-"%s\n"
-" na:\n"
-"%s"
-
-#: src/utilops.c:2039
-msgid "Format must include at least one of the symbol characters '*' or '#'.\n"
-msgstr ""
-
-#: src/utilops.c:2095
-msgid ""
-"Can not auto rename with the selected\n"
-"number set, one or more files exist that\n"
-"match the resulting name list.\n"
-msgstr ""
-"Nie można przeprowadzić automatycznej\n"
-"zmiany nazw plików, jeden lub więcej\n"
-"plików posiada nazwę podobną do\n"
-"tych z wynikowej listy nazw.\n"
-
-#: src/utilops.c:2166
-#, c-format
-msgid ""
-"Failed to rename\n"
-"%s\n"
-"The number was %d."
-msgstr ""
-"Nie powiodła się zmiana nazwy\n"
-"%s\n"
-"Liczba %d."
-
-#: src/utilops.c:2427
-msgid "Rename multiple files"
-msgstr ""
-
-#: src/utilops.c:2461
-msgid "Original Name"
-msgstr "Nazwa oryginału"
-
-#: src/utilops.c:2499
-#, fuzzy
-msgid "Manual rename"
-msgstr "Nazwa menu"
-
-#: src/utilops.c:2500
-msgid "Formatted rename"
-msgstr ""
-
-#: src/utilops.c:2513 src/utilops.c:2697
-msgid "Original name:"
-msgstr "Pierwotna nazwa:"
-
-#: src/utilops.c:2516 src/utilops.c:2700
-msgid "New name:"
-msgstr "Nowa nazwa:"
-
-#: src/utilops.c:2534
-msgid "Begin text"
-msgstr "PoczÄ…tek tekstu"
-
-#: src/utilops.c:2542 src/utilops.c:2574
-msgid "Start #"
-msgstr "Start #"
-
-#: src/utilops.c:2548
-msgid "End text"
-msgstr "Koniec tekstu"
-
-#: src/utilops.c:2556
-msgid "Padding:"
-msgstr ""
-
-#: src/utilops.c:2566
-msgid "Format (* = original name, ## = numbers)"
-msgstr ""
-
-#: src/utilops.c:2641 src/view_file_list.c:410
-#, c-format
-msgid ""
-"Unable to rename file:\n"
-"%s\n"
-"to:\n"
-"%s"
-msgstr ""
-"Nie można zmienić nazwy pliku:\n"
-"%s\n"
-"na:\n"
-"%s"
-
-#: src/utilops.c:2687
-msgid "Rename file"
-msgstr "Zmień nazwę"
-
-#: src/utilops.c:2748 src/utilops.c:2841
-#, c-format
-msgid ""
-"The folder:\n"
-"%s\n"
-"already exists."
-msgstr ""
-"Katalog:\n"
-"%s\n"
-"już istnieje."
-
-#: src/utilops.c:2749 src/utilops.c:2842
-msgid "Folder exists"
-msgstr "Katalog istnieje"
-
-#: src/utilops.c:2754 src/utilops.c:2850
-#, c-format
-msgid ""
-"The path:\n"
-"%s\n"
-"already exists as a file."
-msgstr ""
-"Ścieżka:\n"
-"%s\n"
-"już istnieje i reprezentuje plik."
-
-#: src/utilops.c:2812
-#, c-format
-msgid ""
-"Create folder in:\n"
-"%s\n"
-"named:"
-msgstr ""
-"Utwórz katalog w:\n"
-"%s\n"
-"o nazwie:"
-
-#: src/utilops.c:2851 src/utilops.c:2860
-msgid "Rename failed"
-msgstr "BÅ‚Ä…d zmiany nazwy"
-
-#: src/utilops.c:2967
-#, fuzzy
-msgid "Location"
-msgstr "Położenie:"
-
-#: src/utilops.c:3145
-#, fuzzy, c-format
-msgid ""
-"Unable to delete folder:\n"
-"\n"
-"%s"
-msgstr ""
-"Nie można usunąć pliku:\n"
-"%s"
-
-#: src/utilops.c:3152
+#: ../src/utilops.c:731
 #, c-format
 msgid ""
 "Removal of folder contents failed at this file:\n"
@@ -4442,45 +5245,266 @@
 "%s"
 msgstr ""
 
-#: src/utilops.c:3207 src/utilops.c:3291
-#, fuzzy
-msgid "Delete folder"
-msgstr "Wybierz katalog"
-
-#: src/utilops.c:3211
+#: ../src/utilops.c:875
 #, c-format
 msgid ""
-"This will delete the symbolic link:\n"
+"%s\n"
+"Unable to start external command.\n"
+msgstr ""
+"%s\n"
+"Nie można uruchomić zewnętrznego polecenia.\n"
+
+#: ../src/utilops.c:955
+#, c-format
+msgid "%s is not a directory"
+msgstr "%s nie jest katalogiem"
+
+#: ../src/utilops.c:985
+msgid "Really continue?"
+msgstr "Na pewno kontynuować?"
+
+#: ../src/utilops.c:999
+msgid "This operation can't continue:"
+msgstr "Ta operacja nie może być kontynuowana:"
+
+#: ../src/utilops.c:1362 ../src/utilops.c:1475 ../src/utilops.c:1859
+msgid "Discard changes"
+msgstr "Cofnij zmiany"
+
+#: ../src/utilops.c:1363 ../src/utilops.c:1476 ../src/utilops.c:1809
+#: ../src/utilops.c:1825
+msgid "File details"
+msgstr "Szczegóły pliku"
+
+#: ../src/utilops.c:1385 ../src/utilops.c:1483
+#, fuzzy
+msgid "Sidecars"
+msgstr "pica"
+
+#: ../src/utilops.c:1387
+msgid "Write to file"
+msgstr "Zapisz do pliku"
+
+#: ../src/utilops.c:1427
+msgid "Choose the destination folder."
+msgstr "Wybierz katalog docelowy."
+
+#: ../src/utilops.c:1485
+msgid "New name"
+msgstr "Nowa nazwa"
+
+#: ../src/utilops.c:1515
+msgid "Manual rename"
+msgstr "Ręczna zmiana nazwy"
+
+#: ../src/utilops.c:1520
+msgid "Original name:"
+msgstr "Pierwotna nazwa:"
+
+#: ../src/utilops.c:1523
+msgid "New name:"
+msgstr "Nowa nazwa:"
+
+#: ../src/utilops.c:1536
+msgid "Auto rename"
+msgstr "Automatyczna zmiana nazwy"
+
+#: ../src/utilops.c:1542
+msgid "Begin text"
+msgstr "PoczÄ…tek tekstu"
+
+#: ../src/utilops.c:1550 ../src/utilops.c:1582
+msgid "Start #"
+msgstr "Start #"
+
+#: ../src/utilops.c:1556
+msgid "End text"
+msgstr "Koniec tekstu"
+
+#: ../src/utilops.c:1564
+msgid "Padding:"
+msgstr ""
+
+#: ../src/utilops.c:1569
+msgid "Formatted rename"
+msgstr ""
+
+#: ../src/utilops.c:1574
+msgid "Format (* = original name, ## = numbers)"
+msgstr ""
+
+#: ../src/utilops.c:1712
+msgid "Another operation in progress.\n"
+msgstr "Inna operacja jest właśnie w toku.\n"
+
+#: ../src/utilops.c:1768
+#, c-format
+msgid "File: '%s'\n"
+msgstr "Plik: '%s'\n"
+
+#: ../src/utilops.c:1773
+msgid "with sidecar files:\n"
+msgstr ""
+
+#: ../src/utilops.c:1779
+#, c-format
+msgid " '%s'\n"
+msgstr " '%s'\n"
+
+#: ../src/utilops.c:1783
+msgid ""
+"\n"
+"Status: "
+msgstr ""
 "\n"
-"%s\n"
-"\n"
+"Status: "
+
+#: ../src/utilops.c:1795
+msgid "no problem detected"
+msgstr "nie wykryto problemów"
+
+#: ../src/utilops.c:1811 ../src/utilops.c:1858
+msgid "Exclude file"
+msgstr "Pomiń plik"
+
+#: ../src/utilops.c:1856 ../src/utilops.c:1881
+msgid "Overview of changed metadata"
+msgstr "Opis zmienionych metadanych"
+
+#: ../src/utilops.c:1874
+#, c-format
+msgid ""
+"The following metadata tags will be written to\n"
+"'%s'."
+msgstr ""
+"Następujące metadane zostaną zapisane do\n"
+"'%s'."
+
+#: ../src/utilops.c:1878
+#, c-format
+msgid "The following metadata tags will be written to the image file itself."
+msgstr "Następujące metadane zostaną zapisane do obrazu bezpośrednio."
+
+#: ../src/utilops.c:1984
+msgid "Delete files?"
+msgstr "Usunąć pliki?"
+
+#: ../src/utilops.c:1985
+msgid "This will delete the following files"
+msgstr "Ta operacja spowoduje usunięcie następujących plików"
+
+#: ../src/utilops.c:2004
+msgid "Can't write metadata"
+msgstr "Nie mogę zapisać metadanych"
+
+#: ../src/utilops.c:2027
+msgid "Write metadata"
+msgstr "Zapisz metadane"
+
+#: ../src/utilops.c:2028
+msgid "Write metadata?"
+msgstr "Zapisać metadane?"
+
+#: ../src/utilops.c:2029
+msgid "This will write the changed metadata into the following files"
+msgstr "Ta operacja zapisze zmienione metadane do następujących plików"
+
+#: ../src/utilops.c:2031
+#, fuzzy
+msgid "Metadata writing failed"
+msgstr "Zapisywanie metadanych nie powiodło się"
+
+#: ../src/utilops.c:2050 ../src/utilops.c:2077
+msgid "Move failed"
+msgstr "Przenoszenie nie powiodło się"
+
+#: ../src/utilops.c:2074
+msgid "Move files?"
+msgstr "PrzenieÅ› pliki?"
+
+#: ../src/utilops.c:2075
+msgid "This will move the following files"
+msgstr "Ta operacja spowoduje przeniesienie następujących plików"
+
+#: ../src/utilops.c:2099 ../src/utilops.c:2126
+msgid "Copy failed"
+msgstr "Kopiowanie nie powiodło się"
+
+#: ../src/utilops.c:2123
+msgid "Copy files?"
+msgstr "Kopiować pliki?"
+
+#: ../src/utilops.c:2124 ../src/utilops.c:2258
+msgid "This will copy the following files"
+msgstr "Skopiowane zostaną następujące pliki"
+
+#: ../src/utilops.c:2168 ../src/utilops.c:2634
+msgid "Rename"
+msgstr "Zmień nazwę"
+
+#: ../src/utilops.c:2169
+msgid "Rename files?"
+msgstr "Zmienić nazwę plików?"
+
+#: ../src/utilops.c:2170
+msgid "This will rename the following files"
+msgstr "Ta operacja spowoduje zmianę nazwy następujących plików"
+
+#: ../src/utilops.c:2222
+msgid "Can't run external editor"
+msgstr "Nie mogę uruchomić zewnętrznego edytora"
+
+#: ../src/utilops.c:2256
+msgid "Editor"
+msgstr "Edytor"
+
+#: ../src/utilops.c:2257
+msgid "Run editor?"
+msgstr "Uruchomić edytor?"
+
+#: ../src/utilops.c:2260
+msgid "External command failed"
+msgstr "Zewnętrzne polecenie nie powiodło się"
+
+#: ../src/utilops.c:2429 ../src/utilops.c:2502
+msgid "Delete folder"
+msgstr "Usuń katalog"
+
+#: ../src/utilops.c:2430
+msgid "Delete symbolic link?"
+msgstr "Usunąć dowiązanie symboliczne?"
+
+#: ../src/utilops.c:2432
+msgid ""
+"This will delete the symbolic link.\n"
 "The folder this link points to will not be deleted."
 msgstr ""
-
-#: src/utilops.c:3215
-msgid "Delete symbolic link to folder?"
-msgstr ""
-
-#: src/utilops.c:3230
-#, fuzzy, c-format
+"Zaraz usuniesz dowiÄ…zanie symboliczne.\n"
+"Katalog na który wskazuje to dowiązanie NIE zostanie usunięty."
+
+#: ../src/utilops.c:2434
+msgid "Link deletion failed"
+msgstr "Usunięcie linku nie powiodło się"
+
+#: ../src/utilops.c:2444
+#, c-format
 msgid ""
 "Unable to remove folder %s\n"
 "Permissions do not allow writing to the folder."
-msgstr "Nie można usunąć starego pliku z kosza"
-
-#: src/utilops.c:3242
-#, fuzzy, c-format
+msgstr ""
+"Nie można usunąć katalogu %s\n"
+"Brak uprawnień by zapisywać w tym katalogu."
+
+#: ../src/utilops.c:2456 ../src/utilops.c:2513
+#, c-format
 msgid "Unable to list contents of folder %s"
-msgstr ""
-"BÅ‚Ä…d tworzenia katalogu:\n"
-"%s"
-
-#: src/utilops.c:3256 src/utilops.c:3264
-#, fuzzy
+msgstr "Nie mogę wyświetlić zawartości katalogu %s"
+
+#: ../src/utilops.c:2470 ../src/utilops.c:2478
 msgid "Folder contains subfolders"
-msgstr "Dołącz podkatalogi"
-
-#: src/utilops.c:3260
+msgstr "Katalog zawiera podkatalogi"
+
+#: ../src/utilops.c:2474
 #, c-format
 msgid ""
 "Unable to delete the folder:\n"
@@ -4489,92 +5513,114 @@
 "\n"
 "This folder contains subfolders which must be moved before it can be deleted."
 msgstr ""
-
-#: src/utilops.c:3268
-#, fuzzy
-msgid "Subfolders:"
-msgstr "katalog"
-
-#: src/utilops.c:3295
-#, c-format
-msgid ""
-"This will delete the folder:\n"
+"Nie można usunąć katalogu:\n"
 "\n"
 "%s\n"
 "\n"
-"The contents of this folder will also be deleted."
-msgstr ""
-
-#: src/utilops.c:3299
-#, fuzzy
+"Ten katalog zawiera podkatalogi, które musza zostać przeniesione zanim "
+"katalog może zostać usunięty."
+
+#: ../src/utilops.c:2482
+msgid "Subfolders:"
+msgstr "Podkatalogi:"
+
+#: ../src/utilops.c:2503
 msgid "Delete folder?"
-msgstr "Usunąć plik?"
-
-#: src/utilops.c:3303
-#, fuzzy
-msgid "Contents:"
-msgstr "Indeks"
-
-#: src/view_dir.c:30
-#, fuzzy
-msgid "_Tree"
-msgstr "D_rzewo"
-
-#: src/view_dir.c:502
-msgid "new_folder"
-msgstr "nowy_folder"
-
-#: src/view_dir.c:587
+msgstr "Usunąć katalog?"
+
+#: ../src/utilops.c:2504
+msgid "The folder contains these files:"
+msgstr "Ten katalog zawiera następujące pliki:"
+
+#: ../src/utilops.c:2505
+msgid ""
+"This will delete the folder.\n"
+"The contents of this folder will also be deleted."
+msgstr ""
+"Zaraz usuniesz katalog.\n"
+"Zawartość tego katalogu TAKŻE zostanie usunięta."
+
+#: ../src/utilops.c:2635
+msgid "Rename folder?"
+msgstr "Zmienić nazwę katalogu?"
+
+#: ../src/utilops.c:2636
+msgid "The folder contains the following files"
+msgstr "Katalog zawiera następujące pliki"
+
+#: ../src/utilops.c:2682
+msgid "Create Folder"
+msgstr "Utwórz katalog"
+
+#: ../src/utilops.c:2683
+msgid "Create folder?"
+msgstr "Utworzyć katalog?"
+
+#: ../src/utilops.c:2686
+msgid "Can't create folder"
+msgstr "Nie można utworzyć katalogu"
+
+#: ../src/view_dir.c:397
+msgid "_Copy"
+msgstr "S_kopiuj"
+
+#: ../src/view_dir.c:399
+msgid "_Move"
+msgstr "_PrzenieÅ›"
+
+#: ../src/view_dir.c:644
 msgid "_Up to parent"
 msgstr "W _górę do nadrzędnego"
 
-#: src/view_dir.c:592
+#: ../src/view_dir.c:649
 msgid "_Slideshow"
 msgstr "PrzeglÄ…danie _slajdowe"
 
-#: src/view_dir.c:594
+#: ../src/view_dir.c:651
 msgid "Slideshow recursive"
 msgstr "Rekurencyjne przeglÄ…danie slajdowe"
 
-#: src/view_dir.c:598
+#: ../src/view_dir.c:655
 msgid "Find _duplicates..."
 msgstr "Wyszukaj _duplikaty..."
 
-#: src/view_dir.c:600
+#: ../src/view_dir.c:657
 msgid "Find duplicates recursive..."
 msgstr "Rekurencyjnie wyszukaj duplikaty..."
 
-#: src/view_dir.c:605
+#: ../src/view_dir.c:662
 msgid "_New folder..."
 msgstr "Nowy _folder..."
 
-#: src/view_dir.c:619
-#, fuzzy
-msgid "_View as"
-msgstr "_PodglÄ…d"
-
-#: src/view_dir.c:631
-#, fuzzy
+#: ../src/view_dir.c:676 ../src/view_file.c:619
+msgid "View as _List"
+msgstr "Wyświetlanie jako _lista"
+
+#: ../src/view_dir.c:679
+msgid "View as _Tree"
+msgstr "Widok _drzewiasty"
+
+#: ../src/view_dir.c:684
 msgid "Show _hidden files"
-msgstr "Wyświetlanie ukrytych"
-
-#: src/view_dir.c:634 src/view_file.c:606
+msgstr "Wyświetlanie ukrytych plików"
+
+#: ../src/view_dir.c:687 ../src/view_file.c:637
 msgid "Re_fresh"
 msgstr "_Odśwież"
 
-#: src/view_file.c:588
-msgid "_Sort"
-msgstr "_UporzÄ…dkuj"
-
-#: src/view_file.c:591
-msgid "View as _icons"
+#: ../src/view_file.c:622
+msgid "View as _Icons"
 msgstr "Wyświetlanie jako _ikony"
 
-#: src/view_file.c:597
+#: ../src/view_file.c:628
 msgid "Show _thumbnails"
 msgstr "Pokaż _miniaturki"
 
-#: src/view_file_list.c:390
+#: ../src/view_file_icon.c:2098 ../src/view_file_list.c:809
+msgid " [NO GROUPING]"
+msgstr ""
+
+#: ../src/view_file_list.c:435
 #, c-format
 msgid ""
 "Invalid file name:\n"
@@ -4583,15 +5629,504 @@
 "Niepoprawna nazwa pliku:\n"
 "%s"
 
-#: src/view_file_list.c:1821
-msgid "SC"
-msgstr ""
-
-#: src/window.c:226
-#, fuzzy
+#: ../src/view_file_list.c:436
+msgid "Error renaming file"
+msgstr "BÅ‚Ä…d podczas zmiany nazwy pliku"
+
+#: ../src/window.c:252
 msgid "Help"
 msgstr "Pomo_c"
 
+#~ msgid "Collection empty"
+#~ msgstr "Pusta kolekcja"
+
+#~ msgid "The current collection is empty, save aborted."
+#~ msgstr "Bieżąca kolekcja jest pusta, zrezygnowano z zapisu."
+
+#~ msgid "Use Exif date"
+#~ msgstr "Użyj daty Exif"
+
+#~ msgid "None"
+#~ msgstr "Brak"
+
+#~ msgid "Normal"
+#~ msgstr "Zwykła"
+
+#~ msgid "Best"
+#~ msgstr "Najlepsza"
+
+#~ msgid "Use xvpics thumbnails when found (read only)"
+#~ msgstr "Wykorzystywanie odnalezionych miniaturek xvpics (tylko odczyt)"
+
+#~ msgid "Offscreen cache size (Mb per image):"
+#~ msgstr "Rozmiar cache w piksmapach (MB na obraz):"
+
+#~ msgid "Dithering method:"
+#~ msgstr "Metoda rozpraszania:"
+
+#~ msgid "Show dot directory"
+#~ msgstr "Pokaż katalogi z kropką (zwykle ukryte lub systemowe)"
+
+#~ msgid "Add Alt"
+#~ msgstr "Dodaj Alt"
+
+#~ msgid "Advanced view"
+#~ msgstr "Widok zaawansowany"
+
+#~ msgid "Favorite"
+#~ msgstr "Ulubione"
+
+#~ msgid "Todo"
+#~ msgstr "Do zrobienia"
+
+#~ msgid "Possessions"
+#~ msgstr "Własności"
+
+#~ msgid "Keyword Presets"
+#~ msgstr "SÅ‚owa kluczowe"
+
+#~ msgid "Favorite keywords list"
+#~ msgstr "Ulubione słowa kluczowe"
+
+#~ msgid "Edit favorite keywords list."
+#~ msgstr "Zmień listę słów kluczowych."
+
+#~ msgid "Add keywords to selected files, replacing existing ones"
+#~ msgstr ""
+#~ "Dodaj słowo kluczowe do zaznaczonych plików, nadpisując już istniejące"
+
+#~ msgid "Add comment to selected files, replacing existing one"
+#~ msgstr "Dodaj komentarz do zaznaczonych plików, nadpisując już istniejący"
+
+#~ msgid "Save comment now"
+#~ msgstr "Zapisz komentarz"
+
+#~ msgid ""
+#~ "Unable to create symbolic link:\n"
+#~ "%s"
+#~ msgstr ""
+#~ "Nie można stworzyć dowiązania symbolicznego:\n"
+#~ "%s"
+
+#~ msgid "Pixbuf Object"
+#~ msgstr "Obiekt Pixbuf"
+
+#~ msgid "Background color"
+#~ msgstr "Kolor tła"
+
+#~ msgid "Background color as a GdkColor"
+#~ msgstr "Kolor tła jako GdkColor"
+
+#~ msgid "Foreground color"
+#~ msgstr "Kolor pierwszoplanowy"
+
+#~ msgid "Background set"
+#~ msgstr "Ustaw tło"
+
+#~ msgid "Show text"
+#~ msgstr "Pokaż tekst"
+
+#~ msgid "%d images (%d)"
+#~ msgstr "%d obrazów (%d)"
+
+#~ msgid "_Properties"
+#~ msgstr "Wł_aściwości"
+
+#~ msgid "The Gimp"
+#~ msgstr "Gimp"
+
+#~ msgid "XV"
+#~ msgstr "XV"
+
+#~ msgid "UFraw"
+#~ msgstr "UFraw"
+
+#~ msgid "Rotate jpeg clockwise"
+#~ msgstr "Obróć jpeg zgodnie z zegarem"
+
+#~ msgid "Rotate jpeg counterclockwise"
+#~ msgstr "Obróć jpeg przeciwnie do zegara"
+
+#~ msgid "External Move command"
+#~ msgstr "Zewnętrzne polecenie Przenieś"
+
+#~ msgid "External Rename command"
+#~ msgstr "Zewnętrzne polecenie Zmień nazwę"
+
+#, fuzzy
+#~ msgid "External Delete command"
+#~ msgstr "Aktywny klawisz Delete"
+
+#~ msgid "External New Folder command"
+#~ msgstr "Zewnętrzne polecenie Nowy katalog"
+
+#~ msgid "Dimensions:"
+#~ msgstr "Wymiary:"
+
+#~ msgid "Transparent:"
+#~ msgstr "Przezroczystość:"
+
+#~ msgid "Compress ratio:"
+#~ msgstr "Poziom kompresji:"
+
+#~ msgid "File type:"
+#~ msgstr "Typ pliku:"
+
+#~ msgid "Owner:"
+#~ msgstr "Właściciel:"
+
+#~ msgid "Group:"
+#~ msgstr "Grupa:"
+
+#~ msgid "Image %d of %d"
+#~ msgstr "Obraz %d z %d"
+
+#~ msgid "Image properties"
+#~ msgstr "Właściwości obrazu"
+
+#, fuzzy
+#~ msgid "_%d %s..."
+#~ msgstr "za pomocÄ… %s..."
+
+#, fuzzy
+#~ msgid "_%d (unknown)..."
+#~ msgstr "za pomocÄ… (nieznany)..."
+
+#, fuzzy
+#~ msgid "_%d empty"
+#~ msgstr "puste"
+
+#~ msgid "_Adjust"
+#~ msgstr "Modyfikacja"
+
+#~ msgid "_View Directory as"
+#~ msgstr "Pokaż katalog jako"
+
+#, fuzzy
+#~ msgid "Escape"
+#~ msgstr "poziome"
+
+#~ msgid "_Thumbnails"
+#~ msgstr "Minia_turki"
+
+#~ msgid "_Keywords"
+#~ msgstr "SÅ‚owa _kluczowe"
+
+#~ msgid "E_xif data"
+#~ msgstr "Dane E_xif"
+
+#~ msgid "_List"
+#~ msgstr "_Lista"
+
+#~ msgid "Change to home folder"
+#~ msgstr "Przejdź do katalogu domowego"
+
+#~ msgid "Refresh file list"
+#~ msgstr "Odświeża listę plików"
+
+#~ msgid "_Float"
+#~ msgstr "Format"
+
+#~ msgid "Float Controls"
+#~ msgstr "Odłącza panel sterujący"
+
+#~ msgid "Always"
+#~ msgstr "Zawsze"
+
+#~ msgid "Cache thumbnails into .thumbnails"
+#~ msgstr "Używanie katalogu .thumbnails do przechowywania miniaturek"
+
+#~ msgid "Two pass zooming"
+#~ msgstr "Dwuetapowe powiększanie"
+
+#~ msgid "#"
+#~ msgstr "#"
+
+#~ msgid "Command Line"
+#~ msgstr "Wiersz poleceń"
+
+#~ msgid "Advanced"
+#~ msgstr "Zaawansowane"
+
+#~ msgid "Store keywords and comments as XMP tags in image files"
+#~ msgstr ""
+#~ "Zapisuj słowa kluczowe i komentarze jako tagi XMP do pliku (lokalnie)"
+
+#, fuzzy
+#~ msgid ""
+#~ "%s\n"
+#~ "Unable to copy file:\n"
+#~ "%s\n"
+#~ "to:\n"
+#~ "%s"
+#~ msgstr ""
+#~ "Nie można skopiować pliku:\n"
+#~ "%s\n"
+#~ "do:\n"
+#~ "%s"
+
+#~ msgid "Error moving file"
+#~ msgstr "BÅ‚Ä…d przy przenoszeniu pliku"
+
+#, fuzzy
+#~ msgid ""
+#~ "%s\n"
+#~ "Unable to move file:\n"
+#~ "%s\n"
+#~ "to:\n"
+#~ "%s"
+#~ msgstr ""
+#~ "Nie można przenieść pliku:\n"
+#~ "%s\n"
+#~ "do:\n"
+#~ "%s"
+
+#, fuzzy
+#~ msgid ""
+#~ "%s\n"
+#~ "Unable to rename file:\n"
+#~ "%s\n"
+#~ "to:\n"
+#~ "%s"
+#~ msgstr ""
+#~ "Nie można zmienić nazwy pliku:\n"
+#~ "%s\n"
+#~ "na:\n"
+#~ "%s"
+
+#~ msgid "Overwrite file?"
+#~ msgstr "Nadpisać plik?"
+
+#~ msgid "Overwrite _all"
+#~ msgstr "N_adpisz wszystkie"
+
+#~ msgid "S_kip all"
+#~ msgstr "Pomiń wszyst_kie"
+
+#~ msgid "_Skip"
+#~ msgstr "Pomiń"
+
+#~ msgid "Existing file"
+#~ msgstr "IstniejÄ…cy plik"
+
+#~ msgid "New file"
+#~ msgstr "Nowy plik"
+
+#~ msgid "Source to copy matches destination"
+#~ msgstr "Kopiowany plik źródłowy odpowiada docelowemu"
+
+#~ msgid ""
+#~ "Unable to copy file:\n"
+#~ "%s\n"
+#~ "to itself."
+#~ msgstr ""
+#~ "Nie można skopiować pliku:\n"
+#~ "%s\n"
+#~ "na niego samego."
+
+#~ msgid "Source to move matches destination"
+#~ msgstr "Przenoszony plik źródłowy odpowiada docelowemu"
+
+#~ msgid ""
+#~ "Unable to move file:\n"
+#~ "%s\n"
+#~ "to itself."
+#~ msgstr ""
+#~ "Nie można przenieść pliku:\n"
+#~ "%s\n"
+#~ "na niego samego."
+
+#~ msgid ""
+#~ "Unable to copy file:\n"
+#~ "%s\n"
+#~ "to:\n"
+#~ "%s\n"
+#~ "during multiple file copy."
+#~ msgstr ""
+#~ "Nie można skopiować pliku:\n"
+#~ "%s\n"
+#~ "do:\n"
+#~ "%s\n"
+#~ " podczas kopiowania wielu plików."
+
+#~ msgid ""
+#~ "Unable to move file:\n"
+#~ "%s\n"
+#~ "to:\n"
+#~ "%s\n"
+#~ "during multiple file move."
+#~ msgstr ""
+#~ "Nie można przenieść pliku:\n"
+#~ "%s\n"
+#~ "do:\n"
+#~ "%s\n"
+#~ " podczas przenoszenia wielu plików."
+
+#~ msgid "Source matches destination"
+#~ msgstr "Źródło odpowiada celowi"
+
+#~ msgid ""
+#~ "Unable to copy file:\n"
+#~ "%s\n"
+#~ "to:\n"
+#~ "%s"
+#~ msgstr ""
+#~ "Nie można skopiować pliku:\n"
+#~ "%s\n"
+#~ "do:\n"
+#~ "%s"
+
+#~ msgid ""
+#~ "Unable to move file:\n"
+#~ "%s\n"
+#~ "to:\n"
+#~ "%s"
+#~ msgstr ""
+#~ "Nie można przenieść pliku:\n"
+#~ "%s\n"
+#~ "do:\n"
+#~ "%s"
+
+#~ msgid "Please select an existing folder."
+#~ msgstr "Proszę wybrać istniejący katalog."
+
+#~ msgid "Copy multiple files"
+#~ msgstr "Kopiuj wiele plików"
+
+#~ msgid "Move multiple files"
+#~ msgstr "Przenieś wiele plików"
+
+#~ msgid "File name:"
+#~ msgstr "Nazwa pliku:"
+
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "Unable to delete file by external command:\n"
+#~ msgstr ""
+#~ "Nie można usunąć pliku:\n"
+#~ "%s"
+
+#~ msgid ""
+#~ "Unable to delete file:\n"
+#~ " %s\n"
+#~ " Continue multiple delete operation?"
+#~ msgstr ""
+#~ "Nie można usunąć pliku:\n"
+#~ " %s\n"
+#~ " Kontynuować operację usuwania plików?"
+
+#~ msgid "File %d of %d"
+#~ msgstr "Plik %d z %d"
+
+#~ msgid "Delete multiple files"
+#~ msgstr "Usuń wiele plików"
+
+#~ msgid "Review %d files"
+#~ msgstr "Przegląd %d plików"
+
+#, fuzzy
+#~ msgid ""
+#~ "%s\n"
+#~ "Unable to delete file by external command:\n"
+#~ "%s"
+#~ msgstr ""
+#~ "Nie można usunąć pliku:\n"
+#~ "%s"
+
+#~ msgid "Delete file?"
+#~ msgstr "Usunąć plik?"
+
+#~ msgid ""
+#~ "Unable to rename file:\n"
+#~ "%s\n"
+#~ " to:\n"
+#~ "%s"
+#~ msgstr ""
+#~ "Nie można zmienić nazwy pliku:\n"
+#~ "%s\n"
+#~ " na:\n"
+#~ "%s"
+
+#~ msgid ""
+#~ "Can not auto rename with the selected\n"
+#~ "number set, one or more files exist that\n"
+#~ "match the resulting name list.\n"
+#~ msgstr ""
+#~ "Nie można przeprowadzić automatycznej\n"
+#~ "zmiany nazw plików, jeden lub więcej\n"
+#~ "plików posiada nazwę podobną do\n"
+#~ "tych z wynikowej listy nazw.\n"
+
+#~ msgid ""
+#~ "Failed to rename\n"
+#~ "%s\n"
+#~ "The number was %d."
+#~ msgstr ""
+#~ "Nie powiodła się zmiana nazwy\n"
+#~ "%s\n"
+#~ "Liczba %d."
+
+#~ msgid "Original Name"
+#~ msgstr "Nazwa oryginału"
+
+#~ msgid ""
+#~ "Unable to rename file:\n"
+#~ "%s\n"
+#~ "to:\n"
+#~ "%s"
+#~ msgstr ""
+#~ "Nie można zmienić nazwy pliku:\n"
+#~ "%s\n"
+#~ "na:\n"
+#~ "%s"
+
+#~ msgid ""
+#~ "The folder:\n"
+#~ "%s\n"
+#~ "already exists."
+#~ msgstr ""
+#~ "Katalog:\n"
+#~ "%s\n"
+#~ "już istnieje."
+
+#~ msgid ""
+#~ "The path:\n"
+#~ "%s\n"
+#~ "already exists as a file."
+#~ msgstr ""
+#~ "Ścieżka:\n"
+#~ "%s\n"
+#~ "już istnieje i reprezentuje plik."
+
+#~ msgid ""
+#~ "Create folder in:\n"
+#~ "%s\n"
+#~ "named:"
+#~ msgstr ""
+#~ "Utwórz katalog w:\n"
+#~ "%s\n"
+#~ "o nazwie:"
+
+#~ msgid ""
+#~ "Unable to delete folder:\n"
+#~ "\n"
+#~ "%s"
+#~ msgstr ""
+#~ "Nie można usunąć katalogu:\n"
+#~ "\n"
+#~ "%s"
+
+#~ msgid "Contents:"
+#~ msgstr "Zawartość:"
+
+#~ msgid "new_folder"
+#~ msgstr "nowy_folder"
+
+#, fuzzy
+#~ msgid "_View as"
+#~ msgstr "_PodglÄ…d"
+
 #~ msgid "Change to folder:"
 #~ msgstr "Przejdź do katalogu:"
 
@@ -4612,25 +6147,15 @@
 #~ msgstr "wyłącz pełny ekran"
 
 #, fuzzy
-#~ msgid "Fullscreen info string"
-#~ msgstr "Pełny ekran"
-
-#, fuzzy
 #~ msgid "List"
 #~ msgstr "_Lista"
 
-#~ msgid "View as _tree"
-#~ msgstr "Widok _drzewiasty"
-
 #~ msgid "Show entries that begin with a dot"
 #~ msgstr "Wyświetlanie wpisów rozpoczynających się kropką"
 
 #~ msgid "Find duplicates - Geeqie"
 #~ msgstr "Wyszukiwanie duplikatów - Geeqie"
 
-#~ msgid "Geeqie full screen"
-#~ msgstr "pełny ekran Geeqie"
-
 #~ msgid "Geeqie Tools"
 #~ msgstr "Narzędzia Geeqie"
 
@@ -4640,9 +6165,6 @@
 #~ msgid "Geeqie - exit"
 #~ msgstr "Geeqie - zakończenie"
 
-#~ msgid "Quit Geeqie"
-#~ msgstr "Zakończ Geeqie"
-
 #, fuzzy
 #~ msgid "Pan View - Geeqie"
 #~ msgstr "Drukowanie - Geeqie"
--- a/po/pt_BR.po	Sun May 27 18:41:56 2012 +0100
+++ b/po/pt_BR.po	Tue Oct 02 22:19:13 2012 +0100
@@ -7,10 +7,11 @@
 msgstr ""
 "Project-Id-Version: Geeqie 2.1.1\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-02-16 21:05+0100\n"
-"PO-Revision-Date: 2010-01-31 12:15-0300\n"
-"Last-Translator: Sérgio Cipolla <secipolla@gmail.com>\n"
+"POT-Creation-Date: 2012-08-30 20:30+0200\n"
+"PO-Revision-Date: 2010-05-14 10:28-0300\n"
+"Last-Translator: Sérgio Brandão Cipolla <secipolla@gmail.com>\n"
 "Language-Team: Brazilian Portuguese\n"
+"Language: \n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
@@ -57,12 +58,12 @@
 msgid "UFRaw Batch recursive"
 msgstr "Lote UFRaw recursivo"
 
-#: ../src/advanced_exif.c:328 ../src/cache_maint.c:1284
-#: ../src/preferences.c:93 ../src/preferences.c:1595
+#: ../src/advanced_exif.c:328 ../src/cache_maint.c:1111
+#: ../src/preferences.c:93 ../src/preferences.c:1617
 msgid "Metadata"
 msgstr "Metadados"
 
-#: ../src/advanced_exif.c:376 ../src/preferences.c:1512
+#: ../src/advanced_exif.c:376 ../src/preferences.c:1531
 msgid "Description"
 msgstr "Descrição"
 
@@ -71,8 +72,8 @@
 msgstr "Valor"
 
 #: ../src/advanced_exif.c:378 ../src/desktop_file.c:515 ../src/dupe.c:2647
-#: ../src/dupe.c:3165 ../src/print.c:3201 ../src/search.c:2844
-#: ../src/utilops.c:462 ../src/view_file_list.c:2046
+#: ../src/dupe.c:3134 ../src/print.c:3199 ../src/search.c:2790
+#: ../src/utilops.c:462 ../src/view_file_list.c:1948
 msgid "Name"
 msgstr "Nome"
 
@@ -97,11 +98,11 @@
 msgid "Title"
 msgstr "Título"
 
-#: ../src/bar.c:169 ../src/search.c:2767
+#: ../src/bar.c:169 ../src/search.c:2717
 msgid "Keywords"
 msgstr "Palavras-chave"
 
-#: ../src/bar.c:170 ../src/search.c:2779
+#: ../src/bar.c:170 ../src/search.c:2729
 msgid "Comment"
 msgstr "Comentário"
 
@@ -118,11 +119,11 @@
 msgid "Location and GPS"
 msgstr "Localização e GPS"
 
-#: ../src/bar.c:175 ../src/exif.c:347
+#: ../src/bar.c:175 ../src/exif.c:348
 msgid "Copyright"
 msgstr "Copyright"
 
-#: ../src/bar.c:178 ../src/bar_gps.c:768
+#: ../src/bar.c:178 ../src/bar_gps.c:763
 msgid "GPS Map"
 msgstr "Mapa GPS"
 
@@ -130,11 +131,11 @@
 msgid "Move to _top"
 msgstr "Mover para o _topo"
 
-#: ../src/bar.c:298 ../src/ui_bookmark.c:405
+#: ../src/bar.c:298 ../src/ui_bookmark.c:407
 msgid "Move _up"
 msgstr "Mover para _cima"
 
-#: ../src/bar.c:299 ../src/ui_bookmark.c:407
+#: ../src/bar.c:299 ../src/ui_bookmark.c:409
 msgid "Move _down"
 msgstr "Mover para _baixo"
 
@@ -146,11 +147,11 @@
 msgid "Remove"
 msgstr "Remover"
 
-#: ../src/bar_comment.c:191
+#: ../src/bar_comment.c:195
 msgid "Add text to selected files"
 msgstr "Adicionar texto aos arquivos selecionados"
 
-#: ../src/bar_comment.c:192
+#: ../src/bar_comment.c:196
 msgid "Replace existing text in selected files"
 msgstr "Substituir o texto existente nos arquivos selecionados"
 
@@ -158,69 +159,69 @@
 msgid "<empty label, fixme>"
 msgstr "<rótulo vazio, corrigir>"
 
-#: ../src/bar_exif.c:538 ../src/bar_exif.c:548
+#: ../src/bar_exif.c:541 ../src/bar_exif.c:551
 msgid "Configure entry"
 msgstr "Configurar a entrada"
 
 #. for the pane
-#: ../src/bar_exif.c:538 ../src/bar_exif.c:548 ../src/bar_exif.c:621
+#: ../src/bar_exif.c:541 ../src/bar_exif.c:551 ../src/bar_exif.c:624
 msgid "Add entry"
 msgstr "Adicionar uma entrada"
 
-#: ../src/bar_exif.c:554
+#: ../src/bar_exif.c:557
 msgid "Key:"
 msgstr "Tecla:"
 
-#: ../src/bar_exif.c:563
+#: ../src/bar_exif.c:566
 msgid "Title:"
 msgstr "Título:"
 
-#: ../src/bar_exif.c:572
+#: ../src/bar_exif.c:575
 msgid "Show only if set"
 msgstr "Exibir apenas se definido"
 
-#: ../src/bar_exif.c:573
+#: ../src/bar_exif.c:576
 msgid "Editable (supported only for XMP)"
 msgstr "Editável (suportado apenas para XMP)"
 
 #. for the entry
-#: ../src/bar_exif.c:609
+#: ../src/bar_exif.c:612
 #, c-format
 msgid "Configure \"%s\""
 msgstr "Configurar \"%s\""
 
-#: ../src/bar_exif.c:610 ../src/bar_keywords.c:1143
+#: ../src/bar_exif.c:613 ../src/bar_keywords.c:1187
 #, c-format
 msgid "Remove \"%s\""
 msgstr "Remover \"%s\""
 
-#: ../src/bar_exif.c:622
+#: ../src/bar_exif.c:625
 msgid "Show hidden entries"
 msgstr "Exibir entradas ocultas"
 
-#: ../src/bar_gps.c:499
+#: ../src/bar_gps.c:485
 #, c-format
 msgid "Zoom %i"
 msgstr "Zoom %i"
 
-#: ../src/bar_gps.c:517
+#: ../src/bar_gps.c:503
 #, c-format
 msgid "Zoom level %i"
 msgstr "Nível de zoom %i"
 
-#: ../src/bar_gps.c:522
+#: ../src/bar_gps.c:508
 msgid "Loading map"
 msgstr "Carregando o mapa"
 
-#: ../src/bar_gps.c:584
+#: ../src/bar_gps.c:575
 msgid "Enable markers"
 msgstr "Habilitar marcadores"
 
-#: ../src/bar_gps.c:586
+#: ../src/bar_gps.c:577
 msgid "Centre map on marker"
 msgstr "Centralizar o mapa sobre o marcador"
 
-#: ../src/bar_gps.c:609
+#: ../src/bar_gps.c:600
 msgid ""
 "Move map centre to marker\n"
 " is disabled"
@@ -228,7 +229,7 @@
 "Mover o centro do mapa para\n"
 " o marcador está desabilitado"
 
-#: ../src/bar_gps.c:614
+#: ../src/bar_gps.c:605
 msgid ""
 "Move map centre to marker\n"
 " is enabled"
@@ -236,122 +237,127 @@
 "Mover o centro do mapa para\n"
 " o marcador está habilitado"
 
-#: ../src/bar_gps.c:623
+#: ../src/bar_gps.c:614
 msgid "Map Centreing"
 msgstr "Centralização do mapa"
 
 #. use the same strings as in layout_util.c
-#: ../src/bar_histogram.c:242 ../src/layout_util.c:1392
+#: ../src/bar_histogram.c:249 ../src/layout_util.c:1411
 msgid "Histogram on _Red"
 msgstr "Histograma no _vermelho"
 
-#: ../src/bar_histogram.c:243 ../src/layout_util.c:1393
+#: ../src/bar_histogram.c:250 ../src/layout_util.c:1412
 msgid "Histogram on _Green"
 msgstr "Histograma no v_erde"
 
-#: ../src/bar_histogram.c:244 ../src/layout_util.c:1394
+#: ../src/bar_histogram.c:251 ../src/layout_util.c:1413
 msgid "Histogram on _Blue"
 msgstr "Histograma no _azul"
 
-#: ../src/bar_histogram.c:245 ../src/layout_util.c:1395
+#: ../src/bar_histogram.c:252 ../src/layout_util.c:1414
 msgid "_Histogram on RGB"
 msgstr "_Histograma no RGB"
 
-#: ../src/bar_histogram.c:246 ../src/layout_util.c:1396
+#: ../src/bar_histogram.c:253 ../src/layout_util.c:1415
 msgid "Histogram on _Value"
 msgstr "Histograma no valo_r"
 
-#: ../src/bar_histogram.c:250 ../src/layout_util.c:1400
+#: ../src/bar_histogram.c:257 ../src/layout_util.c:1419
 msgid "Li_near Histogram"
 msgstr "Histograma li_near"
 
-#: ../src/bar_histogram.c:251
+#: ../src/bar_histogram.c:258
 msgid "L_og Histogram"
 msgstr "L_ogar o histograma"
 
-#: ../src/bar_keywords.c:410
+#: ../src/bar_keywords.c:401
 msgid "Add keywords to selected files"
 msgstr "Adicionar palavras-chave aos arquivos selecionados"
 
-#: ../src/bar_keywords.c:411
+#: ../src/bar_keywords.c:402
 msgid "Replace existing keywords in selected files"
 msgstr "Substituir as palavras-chave existentes nos arquivos selecionados"
 
-#: ../src/bar_keywords.c:884
+#: ../src/bar_keywords.c:873
 msgid "Edit keyword"
 msgstr "Editar a palavra-chave"
 
-#: ../src/bar_keywords.c:884
+#: ../src/bar_keywords.c:873
 msgid "Add keywords"
 msgstr "Adicionar palavras-chave"
 
-#: ../src/bar_keywords.c:891
+#: ../src/bar_keywords.c:880
 msgid "Configure keyword"
 msgstr "Configurar a palavra-chave"
 
-#: ../src/bar_keywords.c:891 ../src/bar_keywords.c:1101
+#: ../src/bar_keywords.c:880 ../src/bar_keywords.c:1141
 msgid "Add keyword"
 msgstr "Adicionar palavra-chave"
 
+#: ../src/bar_keywords.c:886
+msgid "Keyword:"
+msgstr "Palavra-chave:"
+
+#: ../src/bar_keywords.c:895
+msgid "Keyword type:"
+msgstr "Tipo de palavra-chave:"
+
 #: ../src/bar_keywords.c:897
-msgid "Keyword:"
-msgstr "Palavra-chave:"
-
-#: ../src/bar_keywords.c:906
-msgid "Keyword type:"
-msgstr "Tipo de palavra-chave:"
-
-#: ../src/bar_keywords.c:908
 msgid "Active keyword"
 msgstr "Palavra-chave ativa"
 
-#: ../src/bar_keywords.c:911
+#: ../src/bar_keywords.c:900
 msgid "Helper"
 msgstr "Ajudante"
 
-#: ../src/bar_keywords.c:1121
+#: ../src/bar_keywords.c:1145
+#, fuzzy
+msgid "Add keyword to all selected images"
+msgstr "Adicionar palavras-chave aos arquivos selecionados"
+
+#: ../src/bar_keywords.c:1165
 #, c-format
 msgid "Hide \"%s\""
 msgstr "Ocultar \"%s\""
 
-#: ../src/bar_keywords.c:1128
+#: ../src/bar_keywords.c:1172
 #, c-format
 msgid "Mark %d"
 msgstr "Marcação %d"
 
-#: ../src/bar_keywords.c:1133
+#: ../src/bar_keywords.c:1177
 #, c-format
 msgid "Connect \"%s\" to mark"
 msgstr "Conectar \"%s\" à marcação"
 
-#: ../src/bar_keywords.c:1140
+#: ../src/bar_keywords.c:1184
 #, c-format
 msgid "Edit \"%s\""
 msgstr "Editar \"%s\""
 
-#: ../src/bar_keywords.c:1150
+#: ../src/bar_keywords.c:1194
 #, c-format
 msgid "Disconnect \"%s\" from mark %s"
 msgstr "Desconectar \"%s\" da marcação %s"
 
 #. for the pane
-#: ../src/bar_keywords.c:1162 ../src/bar_keywords.c:1171
+#: ../src/bar_keywords.c:1206 ../src/bar_keywords.c:1215
 msgid "Expand checked"
 msgstr "Expandir os selecionados"
 
-#: ../src/bar_keywords.c:1163 ../src/bar_keywords.c:1172
+#: ../src/bar_keywords.c:1207 ../src/bar_keywords.c:1216
 msgid "Collapse unchecked"
 msgstr "Recolher os não selecionados"
 
-#: ../src/bar_keywords.c:1164 ../src/bar_keywords.c:1173
+#: ../src/bar_keywords.c:1208 ../src/bar_keywords.c:1217
 msgid "Hide unchecked"
 msgstr "Ocultar os não selecionados"
 
-#: ../src/bar_keywords.c:1165
+#: ../src/bar_keywords.c:1209
 msgid "Show all"
 msgstr "Exibir tudo"
 
-#: ../src/bar_keywords.c:1168
+#: ../src/bar_keywords.c:1212
 msgid "On any change"
 msgstr "Em toda modificação"
 
@@ -370,7 +376,7 @@
 msgid "Collection exists"
 msgstr "A coleção existe"
 
-#: ../src/bar_sort.c:464 ../src/collect.c:1098 ../src/collect-dlg.c:85
+#: ../src/bar_sort.c:464 ../src/collect.c:1034 ../src/collect-dlg.c:85
 #, c-format
 msgid ""
 "Failed to save the collection:\n"
@@ -379,7 +385,7 @@
 "Falha ao salvar a coleção:\n"
 "%s"
 
-#: ../src/bar_sort.c:465 ../src/collect.c:1099 ../src/collect-dlg.c:86
+#: ../src/bar_sort.c:465 ../src/collect.c:1035 ../src/collect-dlg.c:86
 msgid "Save Failed"
 msgstr "Falha ao salvar"
 
@@ -399,19 +405,19 @@
 msgid "Sort Manager"
 msgstr "Classificador"
 
-#: ../src/bar_sort.c:606 ../src/pan-view.c:2395 ../src/ui_pathsel.c:1099
+#: ../src/bar_sort.c:606 ../src/pan-view.c:2194 ../src/ui_pathsel.c:1097
 msgid "Folders"
 msgstr "Diretórios"
 
-#: ../src/bar_sort.c:607 ../src/options.c:140
+#: ../src/bar_sort.c:607 ../src/options.c:147
 msgid "Collections"
 msgstr "Coleções"
 
-#: ../src/bar_sort.c:615 ../src/utilops.c:2124
+#: ../src/bar_sort.c:615 ../src/utilops.c:2122
 msgid "Copy"
 msgstr "Copiar"
 
-#: ../src/bar_sort.c:618 ../src/utilops.c:2075
+#: ../src/bar_sort.c:618 ../src/utilops.c:2073
 msgid "Move"
 msgstr "Mover"
 
@@ -436,77 +442,77 @@
 "erro ao salvar os dados do cache de similaridades: %s\n"
 "erro: %s\n"
 
-#: ../src/cache_maint.c:129 ../src/cache_maint.c:722 ../src/cache_maint.c:938
-#: ../src/editors.c:1176
+#: ../src/cache_maint.c:110 ../src/cache_maint.c:549 ../src/cache_maint.c:765
+#: ../src/editors.c:1177
 msgid "done"
 msgstr "concluído"
 
-#: ../src/cache_maint.c:307
+#: ../src/cache_maint.c:288
 msgid "Removing old metadata..."
 msgstr "Removendo metadados antigos..."
 
-#: ../src/cache_maint.c:311
+#: ../src/cache_maint.c:292
 msgid "Clearing cached thumbnails..."
 msgstr "Limpando miniaturas em cache..."
 
-#: ../src/cache_maint.c:315 ../src/cache_maint.c:1096
+#: ../src/cache_maint.c:296 ../src/cache_maint.c:923
 msgid "Removing old thumbnails..."
 msgstr "Removendo miniaturas antigas..."
 
-#: ../src/cache_maint.c:318 ../src/cache_maint.c:1099
+#: ../src/cache_maint.c:299 ../src/cache_maint.c:926
 msgid "Maintenance"
 msgstr "Manutenção"
 
-#: ../src/cache_maint.c:833
+#: ../src/cache_maint.c:660
 msgid "Invalid folder"
 msgstr "Diretório inválido"
 
-#: ../src/cache_maint.c:834
+#: ../src/cache_maint.c:661
 msgid "The specified folder can not be found."
 msgstr "O diretório especificado não pode ser encontrado."
 
-#: ../src/cache_maint.c:865 ../src/cache_maint.c:879 ../src/cache_maint.c:1275
+#: ../src/cache_maint.c:692 ../src/cache_maint.c:706 ../src/cache_maint.c:1102
 msgid "Create thumbnails"
 msgstr "Criar miniaturas"
 
-#: ../src/cache_maint.c:873 ../src/cache_maint.c:1106
+#: ../src/cache_maint.c:700 ../src/cache_maint.c:933
 msgid "S_tart"
 msgstr "_Iniciar"
 
-#: ../src/cache_maint.c:886 ../src/preferences.c:1782
+#: ../src/cache_maint.c:713 ../src/preferences.c:1804
 msgid "Folder:"
 msgstr "Diretório:"
 
-#: ../src/cache_maint.c:889
+#: ../src/cache_maint.c:716
 msgid "Select folder"
 msgstr "Selecionar diretório"
 
-#: ../src/cache_maint.c:893
+#: ../src/cache_maint.c:720
 msgid "Include subfolders"
 msgstr "Incluir subdiretórios"
 
-#: ../src/cache_maint.c:894
+#: ../src/cache_maint.c:721
 msgid "Store thumbnails local to source images"
 msgstr "Armazenar as miniaturas no local das imagens de origem"
 
-#: ../src/cache_maint.c:903 ../src/cache_maint.c:1115
+#: ../src/cache_maint.c:730 ../src/cache_maint.c:942
 msgid "click start to begin"
 msgstr "clique em iniciar para começar"
 
-#: ../src/cache_maint.c:1042 ../src/editors.c:1102
+#: ../src/cache_maint.c:869 ../src/editors.c:1103
 msgid "running..."
 msgstr "executando..."
 
-#: ../src/cache_maint.c:1091
+#: ../src/cache_maint.c:918
 msgid "Clearing thumbnails..."
 msgstr "Limpando as miniaturas..."
 
-#: ../src/cache_maint.c:1157 ../src/cache_maint.c:1160
-#: ../src/cache_maint.c:1253 ../src/cache_maint.c:1270
+#: ../src/cache_maint.c:984 ../src/cache_maint.c:987 ../src/cache_maint.c:1080
+#: ../src/cache_maint.c:1097
 msgid "Clear cache"
 msgstr "Limpar o cache"
 
-#: ../src/cache_maint.c:1161
+#: ../src/cache_maint.c:988
 msgid ""
 "This will remove all thumbnails that have\n"
 "been saved to disk, continue?"
@@ -514,73 +520,73 @@
 "Isto irá remover todas as miniaturas\n"
 "salvas no disco, continuar?"
 
-#: ../src/cache_maint.c:1203
+#: ../src/cache_maint.c:1030
 #, c-format
 msgid "Location: %s"
 msgstr "Localização: %s"
 
-#: ../src/cache_maint.c:1228
+#: ../src/cache_maint.c:1055
 msgid "Cache Maintenance"
 msgstr "Manutenção do cache"
 
-#: ../src/cache_maint.c:1238
+#: ../src/cache_maint.c:1065
 msgid "Cache and Data Maintenance"
 msgstr "Manutenção do cache e de dados"
 
-#: ../src/cache_maint.c:1242
+#: ../src/cache_maint.c:1069
 msgid "Thumbnail cache"
 msgstr "Cache de miniaturas"
 
-#: ../src/cache_maint.c:1248 ../src/cache_maint.c:1265
-#: ../src/cache_maint.c:1290
+#: ../src/cache_maint.c:1075 ../src/cache_maint.c:1092
+#: ../src/cache_maint.c:1117
 msgid "Clean up"
 msgstr "Limpar"
 
-#: ../src/cache_maint.c:1251 ../src/cache_maint.c:1268
+#: ../src/cache_maint.c:1078 ../src/cache_maint.c:1095
 msgid "Remove orphaned or outdated thumbnails."
 msgstr "Remover miniaturas órfãs ou desatualizadas."
 
-#: ../src/cache_maint.c:1256 ../src/cache_maint.c:1273
+#: ../src/cache_maint.c:1083 ../src/cache_maint.c:1100
 msgid "Delete all cached thumbnails."
 msgstr "Apagar todas as miniaturas em cache."
 
-#: ../src/cache_maint.c:1259
+#: ../src/cache_maint.c:1086
 msgid "Shared thumbnail cache"
 msgstr "Cache de miniaturas compartilhado"
 
-#: ../src/cache_maint.c:1279
+#: ../src/cache_maint.c:1106
 msgid "Render"
 msgstr "Gerar"
 
-#: ../src/cache_maint.c:1282
+#: ../src/cache_maint.c:1109
 msgid "Render thumbnails for a specific folder."
 msgstr "Gerar miniaturas para um diretório específico."
 
-#: ../src/cache_maint.c:1293
+#: ../src/cache_maint.c:1120
 msgid "Remove orphaned keywords and comments."
 msgstr "Remover palavras-chave e comentários órfãos."
 
 #. When does this occur ??
-#: ../src/collect.c:366 ../src/image.c:160 ../src/image-overlay.c:512
-#: ../src/image-overlay.c:591
+#: ../src/collect.c:326 ../src/image.c:160 ../src/image-overlay.c:525
+#: ../src/image-overlay.c:602
 msgid "Untitled"
 msgstr "Sem nome"
 
-#: ../src/collect.c:370
+#: ../src/collect.c:330
 #, c-format
 msgid "Untitled (%d)"
 msgstr "Sem nome (%d)"
 
-#: ../src/collect.c:1016
+#: ../src/collect.c:959
 #, c-format
 msgid "%s - Collection - %s"
 msgstr "%s - Coleção - %s"
 
-#: ../src/collect.c:1135 ../src/collect.c:1139
+#: ../src/collect.c:1071 ../src/collect.c:1075
 msgid "Close collection"
 msgstr "Fechar a coleção"
 
-#: ../src/collect.c:1140
+#: ../src/collect.c:1076
 msgid ""
 "Collection has been modified.\n"
 "Save first?"
@@ -588,7 +594,7 @@
 "A coleção foi modificada.\n"
 "Salvar primeiro?"
 
-#: ../src/collect.c:1143
+#: ../src/collect.c:1079
 msgid "_Discard"
 msgstr "_Descartar"
 
@@ -658,14 +664,6 @@
 msgid "Collection Files"
 msgstr "Arquivos de coleção"
 
-#: ../src/collect-dlg.c:245
-msgid "Collection empty"
-msgstr "Coleção vazia"
-
-#: ../src/collect-dlg.c:246
-msgid "The current collection is empty, save aborted."
-msgstr "A coleção atual está vazia, salvamento abortado."
-
 #: ../src/collect-io.c:346
 #, c-format
 msgid "failed to open collection (write) \"%s\"\n"
@@ -690,8 +688,8 @@
 msgid "%s, %d images"
 msgstr "imagens %s, %d"
 
-#: ../src/collect-table.c:223 ../src/layout_util.c:1194
-#: ../src/layout_util.c:2231
+#: ../src/collect-table.c:223 ../src/layout_util.c:1211
+#: ../src/layout_util.c:2264
 msgid "Empty"
 msgstr "Vazio"
 
@@ -700,138 +698,138 @@
 msgid "Loading thumbs..."
 msgstr "Carregando miniaturas..."
 
-#: ../src/collect-table.c:866 ../src/dupe.c:2242 ../src/dupe.c:2555
-#: ../src/layout_util.c:1241 ../src/search.c:1000
+#: ../src/collect-table.c:868 ../src/dupe.c:2242 ../src/dupe.c:2555
+#: ../src/layout_util.c:1258 ../src/search.c:996
 msgid "_View"
 msgstr "_Visualizar"
 
-#: ../src/collect-table.c:868 ../src/dupe.c:2244 ../src/dupe.c:2557
-#: ../src/img-view.c:1281 ../src/layout_image.c:505 ../src/pan-view.c:2823
-#: ../src/search.c:1002 ../src/view_file.c:588
+#: ../src/collect-table.c:870 ../src/dupe.c:2244 ../src/dupe.c:2557
+#: ../src/img-view.c:1268 ../src/layout_image.c:499 ../src/pan-view.c:2617
+#: ../src/search.c:998 ../src/view_file.c:588
 msgid "View in _new window"
 msgstr "Visualizar em uma _nova janela"
 
-#: ../src/collect-table.c:871 ../src/dupe.c:2278 ../src/dupe.c:2565
-#: ../src/search.c:1032
+#: ../src/collect-table.c:873 ../src/dupe.c:2278 ../src/dupe.c:2565
+#: ../src/search.c:1028
 msgid "Rem_ove"
 msgstr "Rem_over"
 
-#: ../src/collect-table.c:874
+#: ../src/collect-table.c:876
 msgid "Append from file list"
 msgstr "Adicionar da lista de arquivos"
 
-#: ../src/collect-table.c:876
+#: ../src/collect-table.c:878
 msgid "Append from collection..."
 msgstr "Adicionar da coleção..."
 
-#: ../src/collect-table.c:880
+#: ../src/collect-table.c:882
 msgid "_Selection"
 msgstr "_Seleção"
 
-#: ../src/collect-table.c:882 ../src/dupe.c:2247 ../src/dupe.c:2560
-#: ../src/layout_util.c:1287 ../src/search.c:1005
+#: ../src/collect-table.c:884 ../src/dupe.c:2247 ../src/dupe.c:2560
+#: ../src/layout_util.c:1305 ../src/search.c:1001
 msgid "Select all"
 msgstr "Selecionar tudo"
 
-#: ../src/collect-table.c:884 ../src/dupe.c:2249 ../src/dupe.c:2562
-#: ../src/layout_util.c:1288 ../src/search.c:1007
+#: ../src/collect-table.c:886 ../src/dupe.c:2249 ../src/dupe.c:2562
+#: ../src/layout_util.c:1306 ../src/search.c:1003
 msgid "Select none"
-msgstr "Não selecionar nenhum"
-
-#: ../src/collect-table.c:886
+msgstr "Desselecionar tudo"
+
+#: ../src/collect-table.c:888
 msgid "Invert selection"
 msgstr "Inverter a seleção"
 
-#: ../src/collect-table.c:898 ../src/dupe.c:2267 ../src/img-view.c:1285
-#: ../src/layout_image.c:513 ../src/layout_util.c:1270 ../src/pan-view.c:2827
-#: ../src/search.c:1021 ../src/view_file.c:592
+#: ../src/collect-table.c:900 ../src/dupe.c:2267 ../src/img-view.c:1272
+#: ../src/layout_image.c:507 ../src/layout_util.c:1288 ../src/pan-view.c:2621
+#: ../src/search.c:1017 ../src/view_file.c:592
 msgid "_Copy..."
 msgstr "Co_piar..."
 
-#: ../src/collect-table.c:900 ../src/dupe.c:2269 ../src/img-view.c:1286
-#: ../src/layout_image.c:515 ../src/layout_util.c:1271 ../src/pan-view.c:2829
-#: ../src/search.c:1023 ../src/view_file.c:594
+#: ../src/collect-table.c:902 ../src/dupe.c:2269 ../src/img-view.c:1273
+#: ../src/layout_image.c:509 ../src/layout_util.c:1289 ../src/pan-view.c:2623
+#: ../src/search.c:1019 ../src/view_file.c:594
 msgid "_Move..."
 msgstr "_Mover..."
 
-#: ../src/collect-table.c:902 ../src/dupe.c:2271 ../src/img-view.c:1287
-#: ../src/layout_image.c:517 ../src/layout_util.c:1272 ../src/pan-view.c:2831
-#: ../src/search.c:1025 ../src/view_dir.c:666 ../src/view_file.c:596
+#: ../src/collect-table.c:904 ../src/dupe.c:2271 ../src/img-view.c:1274
+#: ../src/layout_image.c:511 ../src/layout_util.c:1290 ../src/pan-view.c:2625
+#: ../src/search.c:1021 ../src/view_dir.c:665 ../src/view_file.c:596
 msgid "_Rename..."
 msgstr "_Renomear..."
 
-#: ../src/collect-table.c:904 ../src/dupe.c:2273 ../src/img-view.c:1288
-#: ../src/layout_image.c:519 ../src/layout_util.c:1273
-#: ../src/layout_util.c:1274 ../src/layout_util.c:1275 ../src/pan-view.c:2833
-#: ../src/search.c:1027 ../src/view_dir.c:668 ../src/view_file.c:598
+#: ../src/collect-table.c:906 ../src/dupe.c:2273 ../src/img-view.c:1275
+#: ../src/layout_image.c:513 ../src/layout_util.c:1291
+#: ../src/layout_util.c:1292 ../src/layout_util.c:1293 ../src/pan-view.c:2627
+#: ../src/search.c:1023 ../src/view_dir.c:667 ../src/view_file.c:598
 msgid "_Delete..."
 msgstr "_Apagar..."
 
-#: ../src/collect-table.c:906 ../src/dupe.c:2275 ../src/img-view.c:1289
-#: ../src/layout_image.c:522 ../src/pan-view.c:2835 ../src/search.c:1029
-#: ../src/view_dir.c:671 ../src/view_file.c:600
+#: ../src/collect-table.c:908 ../src/dupe.c:2275 ../src/img-view.c:1276
+#: ../src/layout_image.c:516 ../src/pan-view.c:2629 ../src/search.c:1025
+#: ../src/view_dir.c:670 ../src/view_file.c:600
 msgid "_Copy path"
 msgstr "_Copiar o caminho"
 
-#: ../src/collect-table.c:912
+#: ../src/collect-table.c:914
 msgid "Randomize"
 msgstr "Aleatorizar"
 
-#: ../src/collect-table.c:914 ../src/view_file.c:616
+#: ../src/collect-table.c:916 ../src/view_file.c:616
 msgid "_Sort"
 msgstr "_Ordenar"
 
-#: ../src/collect-table.c:917 ../src/view_file.c:632
+#: ../src/collect-table.c:919 ../src/view_file.c:632
 msgid "Show filename _text"
 msgstr "Exibir o _nome do arquivo"
 
-#: ../src/collect-table.c:920
-msgid "_Save collection"
-msgstr "_Salvar a coleção"
-
 #: ../src/collect-table.c:922
+msgid "_Save collection"
+msgstr "_Salvar a coleção"
+
+#: ../src/collect-table.c:924
 msgid "Save collection _as..."
 msgstr "Salvar a coleção _como..."
 
-#: ../src/collect-table.c:925 ../src/layout_util.c:1266
+#: ../src/collect-table.c:927 ../src/layout_util.c:1284
 msgid "_Find duplicates..."
 msgstr "Procurar por _duplicatas..."
 
-#: ../src/collect-table.c:927 ../src/dupe.c:2264 ../src/layout_util.c:1268
-#: ../src/search.c:1018
+#: ../src/collect-table.c:929 ../src/dupe.c:2264 ../src/layout_util.c:1286
+#: ../src/search.c:1014
 msgid "Print..."
 msgstr "Imprimir..."
 
-#: ../src/collect-table.c:2085 ../src/dupe.c:3355 ../src/img-view.c:1443
+#: ../src/collect-table.c:2094 ../src/dupe.c:3324 ../src/img-view.c:1430
 msgid "Dropped list includes folders."
 msgstr "A lista inclui diretórios."
 
-#: ../src/collect-table.c:2087 ../src/dupe.c:3357 ../src/img-view.c:1445
+#: ../src/collect-table.c:2096 ../src/dupe.c:3326 ../src/img-view.c:1432
 msgid "_Add contents"
 msgstr "_Adicionar o conteúdo"
 
-#: ../src/collect-table.c:2089 ../src/dupe.c:3358 ../src/img-view.c:1446
+#: ../src/collect-table.c:2098 ../src/dupe.c:3327 ../src/img-view.c:1433
 msgid "Add contents _recursive"
 msgstr "Adicionar o conteúdo _recursivamente"
 
-#: ../src/collect-table.c:2091 ../src/dupe.c:3359 ../src/img-view.c:1447
+#: ../src/collect-table.c:2100 ../src/dupe.c:3328 ../src/img-view.c:1434
 msgid "_Skip folders"
 msgstr "_Ignorar os diretórios"
 
-#: ../src/collect-table.c:2094 ../src/dupe.c:3361 ../src/img-view.c:1449
+#: ../src/collect-table.c:2103 ../src/dupe.c:3330 ../src/img-view.c:1436
 #: ../src/view_dir.c:417
 msgid "Cancel"
 msgstr "Cancelar"
 
-#: ../src/color-man.c:420 ../src/exif.c:232 ../src/exif-common.c:403
+#: ../src/color-man.c:426 ../src/exif.c:233 ../src/exif-common.c:436
 msgid "sRGB"
 msgstr "sRGB"
 
-#: ../src/color-man.c:422
+#: ../src/color-man.c:428
 msgid "Adobe RGB compatible"
 msgstr "Compatível com AdobeRGB"
 
-#: ../src/color-man.c:430
+#: ../src/color-man.c:443
 msgid "Custom profile"
 msgstr "Perfil personalizado"
 
@@ -851,7 +849,7 @@
 msgid "Desktop file"
 msgstr "Arquivo .desktop"
 
-#: ../src/desktop_file.c:291 ../src/ui_pathsel.c:494
+#: ../src/desktop_file.c:291 ../src/ui_pathsel.c:485
 #, c-format
 msgid ""
 "Unable to delete file:\n"
@@ -860,17 +858,17 @@
 "Incapaz de apagar o arquivo:\n"
 "%s"
 
-#: ../src/desktop_file.c:292 ../src/ui_pathsel.c:495 ../src/utilops.c:1962
-#: ../src/utilops.c:1989 ../src/utilops.c:2509
+#: ../src/desktop_file.c:292 ../src/ui_pathsel.c:486 ../src/utilops.c:1960
+#: ../src/utilops.c:1987 ../src/utilops.c:2507
 msgid "File deletion failed"
 msgstr "O apagamento do arquivo falhou"
 
-#: ../src/desktop_file.c:336 ../src/desktop_file.c:344 ../src/ui_pathsel.c:537
-#: ../src/ui_pathsel.c:545
+#: ../src/desktop_file.c:336 ../src/desktop_file.c:344 ../src/ui_pathsel.c:528
+#: ../src/ui_pathsel.c:536
 msgid "Delete file"
 msgstr "Apagar o arquivo"
 
-#: ../src/desktop_file.c:342 ../src/ui_pathsel.c:543
+#: ../src/desktop_file.c:342 ../src/ui_pathsel.c:534
 #, c-format
 msgid ""
 "About to delete the file:\n"
@@ -891,8 +889,8 @@
 msgid "Hidden"
 msgstr "Oculto"
 
-#: ../src/desktop_file.c:543 ../src/dupe.c:2653 ../src/dupe.c:3169
-#: ../src/print.c:3203 ../src/search.c:2848 ../src/ui_pathsel.c:1111
+#: ../src/desktop_file.c:543 ../src/dupe.c:2653 ../src/dupe.c:3138
+#: ../src/print.c:3201 ../src/search.c:2794 ../src/ui_pathsel.c:1109
 #: ../src/utilops.c:458
 msgid "Path"
 msgstr "Caminho"
@@ -931,7 +929,7 @@
 msgid "Comparing..."
 msgstr "Comparando..."
 
-#: ../src/dupe.c:1559 ../src/pan-view.c:1094
+#: ../src/dupe.c:1559 ../src/pan-view.c:996
 msgid "Sorting..."
 msgstr "Ordenando..."
 
@@ -943,11 +941,11 @@
 msgid "Select group _2 duplicates"
 msgstr "Selecionar duplicatas do grupo _2"
 
-#: ../src/dupe.c:2262 ../src/search.c:1016
+#: ../src/dupe.c:2262 ../src/search.c:1012
 msgid "Add to new collection"
 msgstr "Adicionar a uma nova coleção"
 
-#: ../src/dupe.c:2280 ../src/dupe.c:2567 ../src/search.c:1034
+#: ../src/dupe.c:2280 ../src/dupe.c:2567 ../src/search.c:1030
 msgid "C_lear"
 msgstr "_Limpar"
 
@@ -964,19 +962,19 @@
 msgid "Name case-insensitive"
 msgstr "Nome insensível ao caso"
 
-#: ../src/dupe.c:2649 ../src/dupe.c:3166 ../src/preferences.c:1336
-#: ../src/print.c:3207 ../src/search.c:2845 ../src/view_file_list.c:2050
+#: ../src/dupe.c:2649 ../src/dupe.c:3135 ../src/preferences.c:1361
+#: ../src/print.c:3205 ../src/search.c:2791 ../src/view_file_list.c:1952
 msgid "Size"
 msgstr "Tamanho"
 
-#: ../src/dupe.c:2650 ../src/dupe.c:3167 ../src/exif.c:341
-#: ../src/exif-common.c:514 ../src/print.c:3205 ../src/search.c:2846
-#: ../src/view_file_list.c:2054
+#: ../src/dupe.c:2650 ../src/dupe.c:3136 ../src/exif.c:342
+#: ../src/exif-common.c:553 ../src/print.c:3203 ../src/search.c:2792
+#: ../src/view_file_list.c:1956
 msgid "Date"
 msgstr "Data"
 
-#: ../src/dupe.c:2651 ../src/dupe.c:3168 ../src/print.c:3209
-#: ../src/search.c:2847
+#: ../src/dupe.c:2651 ../src/dupe.c:3137 ../src/print.c:3207
+#: ../src/search.c:2793
 msgid "Dimensions"
 msgstr "Dimensões"
 
@@ -1000,55 +998,55 @@
 msgid "Similarity (custom)"
 msgstr "Similaridade (personalizada)"
 
-#: ../src/dupe.c:3119
+#: ../src/dupe.c:3088
 msgid "Find duplicates"
 msgstr "Procurar por duplicatas"
 
-#: ../src/dupe.c:3201
+#: ../src/dupe.c:3170
 msgid "Compare to:"
 msgstr "Comparar com:"
 
-#: ../src/dupe.c:3214
+#: ../src/dupe.c:3183
 msgid "Compare by:"
 msgstr "Comparar por:"
 
-#: ../src/dupe.c:3222 ../src/preferences.c:1171 ../src/search.c:2861
+#: ../src/dupe.c:3191 ../src/preferences.c:1201 ../src/search.c:2807
 msgid "Thumbnails"
 msgstr "Miniaturas"
 
-#: ../src/dupe.c:3229
+#: ../src/dupe.c:3198
 msgid "Compare two file sets"
 msgstr "Comparar dois conjuntos de arquivos"
 
-#: ../src/editors.c:280
+#: ../src/editors.c:281
 #, c-format
 msgid "Desktop file '%s' should not include extension in Icon key: '%s'\n"
 msgstr ""
 "O arquivo .desktop '%s' não deveria incluir a extensão na chave Icon: '%s'\n"
 
 #. flash fired (bit 0)
-#: ../src/editors.c:334 ../src/exif.c:225 ../src/exif-common.c:332
+#: ../src/editors.c:335 ../src/exif.c:226 ../src/exif-common.c:362
 msgid "yes"
 msgstr "sim"
 
-#: ../src/editors.c:334 ../src/exif.c:224 ../src/exif-common.c:332
+#: ../src/editors.c:335 ../src/exif.c:225 ../src/exif-common.c:362
 msgid "no"
 msgstr "não"
 
-#: ../src/editors.c:506
+#: ../src/editors.c:507
 msgid "stopping..."
 msgstr "interrompendo..."
 
-#: ../src/editors.c:527
+#: ../src/editors.c:528
 msgid "Edit command results"
 msgstr "Resultados do comando de edição"
 
-#: ../src/editors.c:530
+#: ../src/editors.c:531
 #, c-format
 msgid "Output of %s"
 msgstr "Saída de %s"
 
-#: ../src/editors.c:1053
+#: ../src/editors.c:1054
 #, c-format
 msgid ""
 "Failed to run command:\n"
@@ -1057,11 +1055,11 @@
 "Falha ao executar o comando:\n"
 "%s\n"
 
-#: ../src/editors.c:1180
+#: ../src/editors.c:1181
 msgid "stopped by user"
 msgstr "interrompido pelo usuário"
 
-#: ../src/editors.c:1265
+#: ../src/editors.c:1266
 #, c-format
 msgid ""
 "%s\n"
@@ -1070,864 +1068,864 @@
 "%s\n"
 "\"%s\""
 
-#: ../src/editors.c:1267
+#: ../src/editors.c:1268
 msgid "Invalid editor command"
 msgstr "Comando do editor inválido"
 
-#: ../src/editors.c:1354
+#: ../src/editors.c:1355
 msgid "Editor template is empty."
 msgstr "O gabarito do editor está vazio."
 
-#: ../src/editors.c:1355
+#: ../src/editors.c:1356
 msgid "Editor template has incorrect syntax."
 msgstr "O gabarito do editor tem uma sintaxe incorreta."
 
-#: ../src/editors.c:1356
+#: ../src/editors.c:1357
 msgid "Editor template uses incompatible macros."
 msgstr "O gabarito do editor usa macros incompatíveis."
 
-#: ../src/editors.c:1357
+#: ../src/editors.c:1358
 msgid "Can't find matching file type."
 msgstr "Não posso encontrar um tipo de arquivo correspondente."
 
-#: ../src/editors.c:1358
+#: ../src/editors.c:1359
 msgid "Can't execute external editor."
 msgstr "Não posso executar o editor externo."
 
-#: ../src/editors.c:1359
+#: ../src/editors.c:1360
 msgid "External editor returned error status."
 msgstr "O editor externo retornou um status de erro."
 
-#: ../src/editors.c:1360
+#: ../src/editors.c:1361
 msgid "File was skipped."
 msgstr "O arquivo foi omitido."
 
-#: ../src/editors.c:1361
+#: ../src/editors.c:1362
 msgid "Unknown error."
 msgstr "Erro desconhecido."
 
-#: ../src/exif.c:147 ../src/exif.c:160 ../src/exif.c:174 ../src/exif.c:199
-#: ../src/exif.c:316 ../src/exif.c:663 ../src/exif-common.c:308
-#: ../src/exif-common.c:311 ../src/exif-common.c:378
+#: ../src/exif.c:148 ../src/exif.c:161 ../src/exif.c:175 ../src/exif.c:200
+#: ../src/exif.c:317 ../src/exif.c:664 ../src/exif-common.c:338
+#: ../src/exif-common.c:341 ../src/exif-common.c:408
 msgid "unknown"
 msgstr "desconhecido"
 
-#: ../src/exif.c:148
+#: ../src/exif.c:149
 msgid "top left"
 msgstr "no alto à esquerda"
 
-#: ../src/exif.c:149
+#: ../src/exif.c:150
 msgid "top right"
 msgstr "no alto à direita"
 
-#: ../src/exif.c:150
+#: ../src/exif.c:151
 msgid "bottom right"
 msgstr "embaixo à direita"
 
-#: ../src/exif.c:151
+#: ../src/exif.c:152
 msgid "bottom left"
 msgstr "embaixo à esquerda"
 
-#: ../src/exif.c:152
+#: ../src/exif.c:153
 msgid "left top"
 msgstr "à esquerda no alto"
 
-#: ../src/exif.c:153
+#: ../src/exif.c:154
 msgid "right top"
 msgstr "à direita no alto"
 
-#: ../src/exif.c:154
+#: ../src/exif.c:155
 msgid "right bottom"
 msgstr "à direita embaixo"
 
-#: ../src/exif.c:155
+#: ../src/exif.c:156
 msgid "left bottom"
 msgstr "à esquerda embaixo"
 
-#: ../src/exif.c:162
+#: ../src/exif.c:163
 msgid "inch"
 msgstr "polegada"
 
-#: ../src/exif.c:163
+#: ../src/exif.c:164
 msgid "centimeter"
 msgstr "centímetro"
 
-#: ../src/exif.c:175
+#: ../src/exif.c:176
 msgid "average"
 msgstr "média"
 
-#: ../src/exif.c:176
+#: ../src/exif.c:177
 msgid "center weighted"
 msgstr "alinhado ao centro"
 
-#: ../src/exif.c:177
+#: ../src/exif.c:178
 msgid "spot"
 msgstr "luz direcional"
 
-#: ../src/exif.c:178
-msgid "multi-spot"
-msgstr "luz multidirecional"
-
 #: ../src/exif.c:179
-msgid "multi-segment"
-msgstr "multisegmento"
+msgid "multi-spot"
+msgstr "luz multidirecional"
 
 #: ../src/exif.c:180
+msgid "multi-segment"
+msgstr "multisegmento"
+
+#: ../src/exif.c:181
 msgid "partial"
 msgstr "parcial"
 
-#: ../src/exif.c:181 ../src/exif.c:219
+#: ../src/exif.c:182 ../src/exif.c:220
 msgid "other"
 msgstr "outro"
 
-#: ../src/exif.c:186 ../src/exif.c:238
+#: ../src/exif.c:187 ../src/exif.c:239
 msgid "not defined"
 msgstr "não definido"
 
-#: ../src/exif.c:187 ../src/exif.c:266 ../src/exif.c:273
+#: ../src/exif.c:188 ../src/exif.c:267 ../src/exif.c:274
 msgid "manual"
 msgstr "manual"
 
-#: ../src/exif.c:188 ../src/exif.c:259 ../src/exif.c:295 ../src/exif.c:302
-#: ../src/exif.c:309
+#: ../src/exif.c:189 ../src/exif.c:260 ../src/exif.c:296 ../src/exif.c:303
+#: ../src/exif.c:310
 msgid "normal"
 msgstr "normal"
 
-#: ../src/exif.c:189
+#: ../src/exif.c:190
 msgid "aperture"
 msgstr "abertura"
 
-#: ../src/exif.c:190
+#: ../src/exif.c:191
 msgid "shutter"
 msgstr "exposição"
 
-#: ../src/exif.c:191
-msgid "creative"
-msgstr "criativo"
-
 #: ../src/exif.c:192
+msgid "creative"
+msgstr "criativo"
+
+#: ../src/exif.c:193
 msgid "action"
 msgstr "ação"
 
-#: ../src/exif.c:193 ../src/exif.c:280
+#: ../src/exif.c:194 ../src/exif.c:281
 msgid "portrait"
 msgstr "retrato"
 
-#: ../src/exif.c:194 ../src/exif.c:279
+#: ../src/exif.c:195 ../src/exif.c:280
 msgid "landscape"
 msgstr "paisagem"
 
-#: ../src/exif.c:200
+#: ../src/exif.c:201
 msgid "daylight"
 msgstr "luz do dia"
 
-#: ../src/exif.c:201
+#: ../src/exif.c:202
 msgid "fluorescent"
 msgstr "fluorescente"
 
-#: ../src/exif.c:202
+#: ../src/exif.c:203
 msgid "tungsten (incandescent)"
 msgstr "tungstênio (incandescente)"
 
-#: ../src/exif.c:203
+#: ../src/exif.c:204
 msgid "flash"
 msgstr "flash"
 
-#: ../src/exif.c:204
+#: ../src/exif.c:205
 msgid "fine weather"
 msgstr "tempo bom"
 
-#: ../src/exif.c:205
+#: ../src/exif.c:206
 msgid "cloudy weather"
 msgstr "tempo nublado"
 
-#: ../src/exif.c:206
-msgid "shade"
-msgstr "sombra"
-
 #: ../src/exif.c:207
-msgid "daylight fluorescent"
-msgstr "fluorescente luz do dia"
+msgid "shade"
+msgstr "sombra"
 
 #: ../src/exif.c:208
+msgid "daylight fluorescent"
+msgstr "fluorescente luz do dia"
+
+#: ../src/exif.c:209
 msgid "day white fluorescent"
 msgstr "fluorescente branco dia"
 
-#: ../src/exif.c:209
-msgid "cool white fluorescent"
-msgstr "fluorescente branco frio"
-
 #: ../src/exif.c:210
+msgid "cool white fluorescent"
+msgstr "fluorescente branco frio"
+
+#: ../src/exif.c:211
 msgid "white fluorescent"
 msgstr "fluorescente branco"
 
-#: ../src/exif.c:211
+#: ../src/exif.c:212
 msgid "standard light A"
 msgstr "luz standard A"
 
-#: ../src/exif.c:212
+#: ../src/exif.c:213
 msgid "standard light B"
 msgstr "luz standard B"
 
-#: ../src/exif.c:213
+#: ../src/exif.c:214
 msgid "standard light C"
 msgstr "luz standard C"
 
-#: ../src/exif.c:214
+#: ../src/exif.c:215
 msgid "D55"
 msgstr "D55"
 
-#: ../src/exif.c:215
+#: ../src/exif.c:216
 msgid "D65"
 msgstr "D65"
 
-#: ../src/exif.c:216
+#: ../src/exif.c:217
 msgid "D75"
 msgstr "D75"
 
-#: ../src/exif.c:217
+#: ../src/exif.c:218
 msgid "D50"
 msgstr "D50"
 
-#: ../src/exif.c:218
+#: ../src/exif.c:219
 msgid "ISO studio tungsten"
 msgstr "tungstênio studio ISO"
 
-#: ../src/exif.c:226
+#: ../src/exif.c:227
 msgid "yes, not detected by strobe"
 msgstr "sim, não detectado pelo strobe"
 
-#: ../src/exif.c:227
+#: ../src/exif.c:228
 msgid "yes, detected by strobe"
 msgstr "sim, detectado pelo strobe"
 
-#: ../src/exif.c:233
+#: ../src/exif.c:234
 msgid "uncalibrated"
 msgstr "não calibrado"
 
-#: ../src/exif.c:239
+#: ../src/exif.c:240
 msgid "1 chip color area"
 msgstr "mono-CCD"
 
-#: ../src/exif.c:240
+#: ../src/exif.c:241
 msgid "2 chip color area"
 msgstr "bi-CCD"
 
-#: ../src/exif.c:241
+#: ../src/exif.c:242
 msgid "3 chip color area"
 msgstr "tri-CCD"
 
-#: ../src/exif.c:242
-msgid "color sequential area"
-msgstr "CCD de área"
-
 #: ../src/exif.c:243
-msgid "trilinear"
-msgstr "trilinear"
+msgid "color sequential area"
+msgstr "CCD de área"
 
 #: ../src/exif.c:244
+msgid "trilinear"
+msgstr "trilinear"
+
+#: ../src/exif.c:245
 msgid "color sequential linear"
 msgstr "CCD linear"
 
-#: ../src/exif.c:249
+#: ../src/exif.c:250
 msgid "digital still camera"
 msgstr "câmera digital"
 
-#: ../src/exif.c:254
+#: ../src/exif.c:255
 msgid "direct photo"
 msgstr "foto direta"
 
-#: ../src/exif.c:260
+#: ../src/exif.c:261
 msgid "custom"
 msgstr "personalizado"
 
-#: ../src/exif.c:265 ../src/exif.c:272 ../src/exif-common.c:346
+#: ../src/exif.c:266 ../src/exif.c:273 ../src/exif-common.c:376
 msgid "auto"
 msgstr "auto"
 
-#: ../src/exif.c:267
+#: ../src/exif.c:268
 msgid "auto bracket"
 msgstr "autobracketing"
 
-#: ../src/exif.c:278
+#: ../src/exif.c:279
 msgid "standard"
 msgstr "standard"
 
-#: ../src/exif.c:281
+#: ../src/exif.c:282
 msgid "night scene"
 msgstr "cena noturna"
 
-#: ../src/exif.c:286
+#: ../src/exif.c:287
 msgid "none"
 msgstr "nenhum"
 
-#: ../src/exif.c:287
+#: ../src/exif.c:288
 msgid "low gain up"
 msgstr "suave aumento de ganho"
 
-#: ../src/exif.c:288
+#: ../src/exif.c:289
 msgid "high gain up"
 msgstr "forte aumento de ganho"
 
-#: ../src/exif.c:289
-msgid "low gain down"
-msgstr "suave redução de ganho"
-
 #: ../src/exif.c:290
+msgid "low gain down"
+msgstr "suave redução de ganho"
+
+#: ../src/exif.c:291
 msgid "high gain down"
 msgstr "forte redução de ganho"
 
-#: ../src/exif.c:296 ../src/exif.c:310
+#: ../src/exif.c:297 ../src/exif.c:311
 msgid "soft"
 msgstr "doce"
 
-#: ../src/exif.c:297 ../src/exif.c:311
+#: ../src/exif.c:298 ../src/exif.c:312
 msgid "hard"
 msgstr "duro"
 
-#: ../src/exif.c:303
+#: ../src/exif.c:304
 msgid "low"
 msgstr "suave"
 
-#: ../src/exif.c:304
+#: ../src/exif.c:305
 msgid "high"
 msgstr "elevado"
 
-#: ../src/exif.c:317
-msgid "macro"
-msgstr "macro"
-
 #: ../src/exif.c:318
-msgid "close"
-msgstr "próximo"
+msgid "macro"
+msgstr "macro"
 
 #: ../src/exif.c:319
+msgid "close"
+msgstr "próximo"
+
+#: ../src/exif.c:320
 msgid "distant"
 msgstr "distante"
 
-#: ../src/exif.c:329
-msgid "Image Width"
-msgstr "Largura da imagem"
-
 #: ../src/exif.c:330
+msgid "Image Width"
+msgstr "Largura da imagem"
+
+#: ../src/exif.c:331
 msgid "Image Height"
 msgstr "Altura da imagem"
 
-#: ../src/exif.c:331
+#: ../src/exif.c:332
 msgid "Bits per Sample/Pixel"
 msgstr "Bits por amostra/pixel"
 
-#: ../src/exif.c:332
+#: ../src/exif.c:333
 msgid "Compression"
 msgstr "Compressão"
 
-#: ../src/exif.c:333
+#: ../src/exif.c:334
 msgid "Image description"
 msgstr "Descrição da imagem"
 
-#: ../src/exif.c:334
+#: ../src/exif.c:335
 msgid "Camera make"
 msgstr "Fabricante da câmera"
 
-#: ../src/exif.c:335
+#: ../src/exif.c:336
 msgid "Camera model"
 msgstr "Modelo da câmera"
 
-#: ../src/exif.c:336
+#: ../src/exif.c:337
 msgid "Orientation"
 msgstr "Orientação"
 
-#: ../src/exif.c:337
+#: ../src/exif.c:338
 msgid "X resolution"
 msgstr "Resolução X"
 
-#: ../src/exif.c:338
+#: ../src/exif.c:339
 msgid "Y Resolution"
 msgstr "Resolução Y"
 
-#: ../src/exif.c:339
-msgid "Resolution units"
-msgstr "Unidades de resolução"
-
 #: ../src/exif.c:340
+msgid "Resolution units"
+msgstr "Unidades de resolução"
+
+#: ../src/exif.c:341
 msgid "Firmware"
 msgstr "Firmware"
 
-#: ../src/exif.c:342
+#: ../src/exif.c:343
 msgid "White point"
 msgstr "Ponto branco"
 
-#: ../src/exif.c:343
-msgid "Primary chromaticities"
-msgstr "Cromaticidades primárias"
-
 #: ../src/exif.c:344
+msgid "Primary chromaticities"
+msgstr "Cromaticidades primárias"
+
+#: ../src/exif.c:345
 msgid "YCbCy coefficients"
 msgstr "Coeficientes YCbCr"
 
-#: ../src/exif.c:345
+#: ../src/exif.c:346
 msgid "YCbCr positioning"
 msgstr "Posicionamento YCbCr"
 
-#: ../src/exif.c:346
+#: ../src/exif.c:347
 msgid "Black white reference"
 msgstr "Referência branco preto"
 
-#: ../src/exif.c:348
+#: ../src/exif.c:349
 msgid "SubIFD Exif offset"
 msgstr "Offset Exif SubIFD"
 
 #. subIFD follows
-#: ../src/exif.c:350
+#: ../src/exif.c:351
 msgid "Exposure time (seconds)"
 msgstr "Tempo de exposição (segundos)"
 
-#: ../src/exif.c:351
+#: ../src/exif.c:352
 msgid "FNumber"
 msgstr "Número F"
 
-#: ../src/exif.c:352
-msgid "Exposure program"
-msgstr "Programa de exposição"
-
 #: ../src/exif.c:353
+msgid "Exposure program"
+msgstr "Programa de exposição"
+
+#: ../src/exif.c:354
 msgid "Spectral Sensitivity"
 msgstr "Sensibilidade espectral"
 
-#: ../src/exif.c:354 ../src/exif.c:390 ../src/exif-common.c:518
+#: ../src/exif.c:355 ../src/exif.c:391 ../src/exif-common.c:557
 msgid "ISO sensitivity"
 msgstr "Sensibilidade ISO"
 
-#: ../src/exif.c:355
+#: ../src/exif.c:356
 msgid "Optoelectric conversion factor"
 msgstr "Fator de conversão optoeletrônica"
 
-#: ../src/exif.c:356
+#: ../src/exif.c:357
 msgid "Exif version"
 msgstr "Versão do Exif"
 
-#: ../src/exif.c:357
+#: ../src/exif.c:358
 msgid "Date original"
 msgstr "Data do original"
 
-#: ../src/exif.c:358
+#: ../src/exif.c:359
 msgid "Date digitized"
 msgstr "Data da digitalização"
 
-#: ../src/exif.c:359
-msgid "Pixel format"
-msgstr "Formato do pixel"
-
 #: ../src/exif.c:360
+msgid "Pixel format"
+msgstr "Formato do pixel"
+
+#: ../src/exif.c:361
 msgid "Compression ratio"
 msgstr "Taxa de compressão"
 
-#: ../src/exif.c:361 ../src/exif-common.c:515
+#: ../src/exif.c:362 ../src/exif-common.c:554
 msgid "Shutter speed"
 msgstr "Velocidade de exposição"
 
-#: ../src/exif.c:362 ../src/exif-common.c:516
+#: ../src/exif.c:363 ../src/exif-common.c:555
 msgid "Aperture"
 msgstr "Abertura"
 
-#: ../src/exif.c:363
+#: ../src/exif.c:364
 msgid "Brightness"
 msgstr "Brilho"
 
-#: ../src/exif.c:364 ../src/exif-common.c:517
+#: ../src/exif.c:365 ../src/exif-common.c:556
 msgid "Exposure bias"
 msgstr "Margem de exposição"
 
-#: ../src/exif.c:365
+#: ../src/exif.c:366
 msgid "Maximum aperture"
 msgstr "Abertura máxima"
 
-#: ../src/exif.c:366 ../src/exif-common.c:521
+#: ../src/exif.c:367 ../src/exif-common.c:560
 msgid "Subject distance"
 msgstr "Distância do sujeito"
 
-#: ../src/exif.c:367
+#: ../src/exif.c:368
 msgid "Metering mode"
 msgstr "Método de medição"
 
-#: ../src/exif.c:368
+#: ../src/exif.c:369
 msgid "Light source"
 msgstr "Fonte da luz"
 
-#: ../src/exif.c:369 ../src/exif-common.c:522
+#: ../src/exif.c:370 ../src/exif-common.c:561
 msgid "Flash"
 msgstr "Flash"
 
-#: ../src/exif.c:370 ../src/exif-common.c:519
+#: ../src/exif.c:371 ../src/exif-common.c:558
 msgid "Focal length"
 msgstr "Comprimento do foco"
 
-#: ../src/exif.c:371
+#: ../src/exif.c:372
 msgid "Subject area"
 msgstr "Ãrea do sujeito"
 
-#: ../src/exif.c:372
+#: ../src/exif.c:373
 msgid "MakerNote"
 msgstr "Nota do fabricante"
 
-#: ../src/exif.c:373
+#: ../src/exif.c:374
 msgid "UserComment"
 msgstr "Comentário do usuário"
 
-#: ../src/exif.c:374
+#: ../src/exif.c:375
 msgid "Subsecond time"
 msgstr "Hora em sub-segundo"
 
-#: ../src/exif.c:375
+#: ../src/exif.c:376
 msgid "Subsecond time original"
 msgstr "Hora em sub-segundo original"
 
-#: ../src/exif.c:376
+#: ../src/exif.c:377
 msgid "Subsecond time digitized"
 msgstr "Hora da digitalização em sub-segundo"
 
-#: ../src/exif.c:377
+#: ../src/exif.c:378
 msgid "FlashPix version"
 msgstr "Versão do FlashPix"
 
-#: ../src/exif.c:378
+#: ../src/exif.c:379
 msgid "Colorspace"
 msgstr "Espaço de cores"
 
 #. ExifImageWidth, ExifImageHeight can also be unsigned short
-#: ../src/exif.c:380
+#: ../src/exif.c:381 ../src/preferences.c:2033
 msgid "Width"
 msgstr "Largura"
 
-#: ../src/exif.c:381
+#: ../src/exif.c:382 ../src/preferences.c:2035
 msgid "Height"
 msgstr "Altura"
 
-#: ../src/exif.c:382
-msgid "Audio data"
-msgstr "Dados de áudio"
-
 #: ../src/exif.c:383
+msgid "Audio data"
+msgstr "Dados de áudio"
+
+#: ../src/exif.c:384
 msgid "ExifR98 extension"
 msgstr "Extensão ExifR98"
 
-#: ../src/exif.c:384
+#: ../src/exif.c:385
 msgid "Flash strength"
 msgstr "Força do flash"
 
-#: ../src/exif.c:385
+#: ../src/exif.c:386
 msgid "Spatial frequency response"
 msgstr "Resposta da frequência espacial"
 
-#: ../src/exif.c:386
+#: ../src/exif.c:387
 msgid "X Pixel density"
 msgstr "Densidade de pixel em X"
 
-#: ../src/exif.c:387
+#: ../src/exif.c:388
 msgid "Y Pixel density"
 msgstr "Densidade de pixel em Y"
 
-#: ../src/exif.c:388
+#: ../src/exif.c:389
 msgid "Pixel density units"
 msgstr "Unidades de densidade de pixel"
 
-#: ../src/exif.c:389
+#: ../src/exif.c:390
 msgid "Subject location"
 msgstr "Localização do sujeito"
 
-#: ../src/exif.c:391
+#: ../src/exif.c:392
 msgid "Sensor type"
 msgstr "Tipo de sensor"
 
-#: ../src/exif.c:392
+#: ../src/exif.c:393
 msgid "Source type"
 msgstr "Tipo de fonte"
 
-#: ../src/exif.c:393
+#: ../src/exif.c:394
 msgid "Scene type"
 msgstr "Tipo de cena"
 
-#: ../src/exif.c:394
+#: ../src/exif.c:395
 msgid "Color filter array pattern"
 msgstr "Padrão de arranjo do filtro de cor"
 
 #. tags a4xx were added for Exif 2.2 (not just these - some above, as well)
-#: ../src/exif.c:396
+#: ../src/exif.c:397
 msgid "Render process"
 msgstr "Processo de renderização"
 
-#: ../src/exif.c:397
+#: ../src/exif.c:398
 msgid "Exposure mode"
 msgstr "Modo de exposição"
 
-#: ../src/exif.c:398
+#: ../src/exif.c:399
 msgid "White balance"
 msgstr "Balanço do branco"
 
-#: ../src/exif.c:399
-msgid "Digital zoom ratio"
-msgstr "Taxa do zoom digital"
-
 #: ../src/exif.c:400
+msgid "Digital zoom ratio"
+msgstr "Taxa do zoom digital"
+
+#: ../src/exif.c:401
 msgid "Focal length (35mm)"
 msgstr "Comprimento do foco (35mm)"
 
-#: ../src/exif.c:401
-msgid "Scene capture type"
-msgstr "Tipo de captura da cena"
-
 #: ../src/exif.c:402
-msgid "Gain control"
-msgstr "Controle de ganho"
+msgid "Scene capture type"
+msgstr "Tipo de captura da cena"
 
 #: ../src/exif.c:403
+msgid "Gain control"
+msgstr "Controle de ganho"
+
+#: ../src/exif.c:404
 msgid "Contrast"
 msgstr "Contraste"
 
-#: ../src/exif.c:404
-msgid "Saturation"
-msgstr "Saturação"
-
 #: ../src/exif.c:405
+msgid "Saturation"
+msgstr "Saturação"
+
+#: ../src/exif.c:406
 msgid "Sharpness"
 msgstr "Nitidez"
 
-#: ../src/exif.c:406
-msgid "Device setting"
-msgstr "Configuração do dispositivo"
-
 #: ../src/exif.c:407
-msgid "Subject range"
-msgstr "Distância do sujeito"
+msgid "Device setting"
+msgstr "Configuração do dispositivo"
 
 #: ../src/exif.c:408
+msgid "Subject range"
+msgstr "Distância do sujeito"
+
+#: ../src/exif.c:409
 msgid "Image serial number"
 msgstr "Número de série da imagem"
 
-#: ../src/exif-common.c:307
+#: ../src/exif-common.c:337
 msgid "infinity"
 msgstr "infinito"
 
-#: ../src/exif-common.c:336
+#: ../src/exif-common.c:366
 msgid "mode:"
 msgstr "modo:"
 
-#: ../src/exif-common.c:340 ../src/trash.c:205
+#: ../src/exif-common.c:370 ../src/trash.c:205
 msgid "on"
 msgstr "ativado"
 
-#: ../src/exif-common.c:343 ../src/trash.c:210
+#: ../src/exif-common.c:373 ../src/trash.c:210
 msgid "off"
 msgstr "desativado"
 
-#: ../src/exif-common.c:352
+#: ../src/exif-common.c:382
 msgid "not detected by strobe"
 msgstr "não detectado pelo strobe"
 
-#: ../src/exif-common.c:353
+#: ../src/exif-common.c:383
 msgid "detected by strobe"
 msgstr "detectado pelo strobe"
 
 #. we ignore flash function (bit 5)
 #. red-eye (bit 6)
-#: ../src/exif-common.c:358
+#: ../src/exif-common.c:388
 msgid "red-eye reduction"
 msgstr "redução de olhos vermelhos"
 
-#: ../src/exif-common.c:378
+#: ../src/exif-common.c:408
 msgid "dot"
 msgstr "ponto"
 
-#: ../src/exif-common.c:408
+#: ../src/exif-common.c:441
 msgid "AdobeRGB"
 msgstr "AdobeRGB"
 
-#: ../src/exif-common.c:416
+#: ../src/exif-common.c:449
 msgid "embedded"
 msgstr "embarcado"
 
-#: ../src/exif-common.c:505
+#: ../src/exif-common.c:544
 msgid "Above Sea Level"
 msgstr "Acima do nível do mar"
 
-#: ../src/exif-common.c:505
+#: ../src/exif-common.c:544
 msgid "Below Sea Level"
 msgstr "Abaixo do nível do mar"
 
-#: ../src/exif-common.c:513
+#: ../src/exif-common.c:552
 msgid "Camera"
 msgstr "Câmera"
 
-#: ../src/exif-common.c:520
+#: ../src/exif-common.c:559
 msgid "Focal length 35mm"
 msgstr "Comprimento do foco 35mm"
 
-#: ../src/exif-common.c:523
+#: ../src/exif-common.c:562
 msgid "Resolution"
 msgstr "Resolução"
 
-#: ../src/exif-common.c:524
+#: ../src/exif-common.c:563
 msgid "Color profile"
 msgstr "Perfil de cor"
 
-#: ../src/exif-common.c:525
+#: ../src/exif-common.c:564
 msgid "GPS position"
 msgstr "Posição do GPS"
 
-#: ../src/exif-common.c:526
+#: ../src/exif-common.c:565
 msgid "GPS altitude"
 msgstr "Altitude do GPS"
 
-#: ../src/exif-common.c:527
+#: ../src/exif-common.c:566
 msgid "File size"
 msgstr "Tamanho do arquivo"
 
-#: ../src/exif-common.c:528
+#: ../src/exif-common.c:567
 msgid "File date"
 msgstr "Data do arquivo"
 
-#: ../src/exif-common.c:529
+#: ../src/exif-common.c:568
 msgid "File mode"
 msgstr "Modo do arquivo"
 
-#: ../src/filedata.c:91
+#: ../src/filedata.c:97
 #, c-format
 msgid "%d bytes"
 msgstr "%d bytes"
 
-#: ../src/filedata.c:95
+#: ../src/filedata.c:101
 #, c-format
 msgid "%.1f K"
 msgstr "%.1f KB"
 
-#: ../src/filedata.c:99
+#: ../src/filedata.c:105
 #, c-format
 msgid "%.1f MB"
 msgstr "%.1f MB"
 
-#: ../src/filedata.c:104
+#: ../src/filedata.c:110
 #, c-format
 msgid "%.1f GB"
 msgstr "%.1f GB"
 
-#: ../src/filedata.c:2185
+#: ../src/filedata.c:2291
 msgid "file or directory does not exist"
 msgstr "o arquivo ou o diretório não existe"
 
-#: ../src/filedata.c:2191
+#: ../src/filedata.c:2297
 msgid "destination already exists"
 msgstr "o destino já existe"
 
-#: ../src/filedata.c:2197
+#: ../src/filedata.c:2303
 msgid "destination can't be overwritten"
 msgstr "o destino não pode ser sobre-escrito"
 
-#: ../src/filedata.c:2203
+#: ../src/filedata.c:2309
 msgid "destination directory is not writable"
 msgstr "o diretório de destino não é escrevível"
 
-#: ../src/filedata.c:2209
+#: ../src/filedata.c:2315
 msgid "destination directory does not exist"
 msgstr "o diretório de destino não existe"
 
-#: ../src/filedata.c:2215
+#: ../src/filedata.c:2321
 msgid "source directory is not writable"
 msgstr "o diretório de origem não é escrevível"
 
-#: ../src/filedata.c:2221
+#: ../src/filedata.c:2327
 msgid "no read permission"
 msgstr "sem permissão de leitura"
 
-#: ../src/filedata.c:2227
+#: ../src/filedata.c:2333
 msgid "file is readonly"
 msgstr "o arquivo é somente leitura"
 
-#: ../src/filedata.c:2233
+#: ../src/filedata.c:2339
 msgid "destination already exists and will be overwritten"
 msgstr "o destino já existe e será sobre-escrito"
 
-#: ../src/filedata.c:2239
+#: ../src/filedata.c:2345
 msgid "source and destination are the same"
 msgstr "a origem e o destino são o mesmo"
 
-#: ../src/filedata.c:2245
+#: ../src/filedata.c:2351
 msgid "source and destination have different extension"
 msgstr "a origem e o destino têm diferentes extensões"
 
-#: ../src/filedata.c:2251
+#: ../src/filedata.c:2357
 msgid "there are unsaved metadata changes for the file"
 msgstr "há modificações nos metadados não salvas para o arquivo"
 
-#: ../src/fullscreen.c:243 ../src/layout_util.c:1329 ../src/layout_util.c:1330
-#: ../src/layout_util.c:1331 ../src/preferences.c:1349
+#: ../src/fullscreen.c:235 ../src/layout_util.c:1347 ../src/layout_util.c:1348
+#: ../src/layout_util.c:1349 ../src/preferences.c:1374
 msgid "Full screen"
 msgstr "Tela cheia"
 
-#: ../src/fullscreen.c:391
+#: ../src/fullscreen.c:412
 msgid "Full size"
 msgstr "Tamanho natural"
 
-#: ../src/fullscreen.c:396
+#: ../src/fullscreen.c:420
 msgid "Monitor"
 msgstr "Monitor"
 
-#: ../src/fullscreen.c:401
+#: ../src/fullscreen.c:426
 msgid "Screen"
 msgstr "Tela"
 
-#: ../src/fullscreen.c:638
+#: ../src/fullscreen.c:663
 msgid "Stay above other windows"
 msgstr "Manter acima de outras janelas"
 
-#: ../src/fullscreen.c:645
+#: ../src/fullscreen.c:670
 msgid "Determined by Window Manager"
 msgstr "Determinado pelo gerenciador de janelas"
 
-#: ../src/fullscreen.c:646
+#: ../src/fullscreen.c:671
 msgid "Active screen"
 msgstr "Tela ativa"
 
-#: ../src/fullscreen.c:648
+#: ../src/fullscreen.c:673
 msgid "Active monitor"
 msgstr "Monitor ativo"
 
-#: ../src/histogram.c:113
+#: ../src/histogram.c:114
 msgid "Log Histogram on Red"
 msgstr "Logar o histograma no vermelho"
 
-#: ../src/histogram.c:114
+#: ../src/histogram.c:115
 msgid "Log Histogram on Green"
 msgstr "Logar o histograma no verde"
 
-#: ../src/histogram.c:115
+#: ../src/histogram.c:116
 msgid "Log Histogram on Blue"
 msgstr "Logar o histograma no azul"
 
-#: ../src/histogram.c:116
+#: ../src/histogram.c:117
 msgid "Log Histogram on RGB"
 msgstr "Logar o histograma no RGB"
 
-#: ../src/histogram.c:117
+#: ../src/histogram.c:118
 msgid "Log Histogram on value"
 msgstr "Logar o histograma no valor"
 
-#: ../src/histogram.c:122
+#: ../src/histogram.c:123
 msgid "Linear Histogram on Red"
 msgstr "Histograma linear no vermelho"
 
-#: ../src/histogram.c:123
+#: ../src/histogram.c:124
 msgid "Linear Histogram on Green"
 msgstr "Histograma linear no verde"
 
-#: ../src/histogram.c:124
+#: ../src/histogram.c:125
 msgid "Linear Histogram on Blue"
 msgstr "Histograma linear no azul"
 
-#: ../src/histogram.c:125
+#: ../src/histogram.c:126
 msgid "Linear Histogram on RGB"
 msgstr "Histograma linear no RGB"
 
-#: ../src/histogram.c:126
+#: ../src/histogram.c:127
 msgid "Linear Histogram on value"
 msgstr "Histograma linear no valor"
 
@@ -1941,1103 +1939,1154 @@
 msgid " (Collection %s)"
 msgstr " (Coleção %s)"
 
-#: ../src/img-view.c:1266 ../src/layout_image.c:489 ../src/layout_util.c:1296
-#: ../src/layout_util.c:1297 ../src/layout_util.c:1312
-#: ../src/layout_util.c:1313 ../src/pan-view.c:2808
+#: ../src/image_load_jpeg.c:177
+#, c-format
+msgid "Error interpreting JPEG image file (%s)"
+msgstr ""
+
+#: ../src/img-view.c:1253 ../src/layout_image.c:483 ../src/layout_util.c:1314
+#: ../src/layout_util.c:1315 ../src/layout_util.c:1330
+#: ../src/layout_util.c:1331 ../src/pan-view.c:2602
 msgid "Zoom _in"
 msgstr "_Mais zoom"
 
-#: ../src/img-view.c:1267 ../src/layout_image.c:490 ../src/layout_util.c:1298
-#: ../src/layout_util.c:1299 ../src/layout_util.c:1314
-#: ../src/layout_util.c:1315 ../src/pan-view.c:2810
+#: ../src/img-view.c:1254 ../src/layout_image.c:484 ../src/layout_util.c:1316
+#: ../src/layout_util.c:1317 ../src/layout_util.c:1332
+#: ../src/layout_util.c:1333 ../src/pan-view.c:2604
 msgid "Zoom _out"
 msgstr "Me_nos zoom"
 
-#: ../src/img-view.c:1268 ../src/layout_image.c:491 ../src/layout_util.c:1300
-#: ../src/layout_util.c:1301 ../src/layout_util.c:1316
-#: ../src/layout_util.c:1317 ../src/pan-view.c:2812
+#: ../src/img-view.c:1255 ../src/layout_image.c:485 ../src/layout_util.c:1318
+#: ../src/layout_util.c:1319 ../src/layout_util.c:1334
+#: ../src/layout_util.c:1335 ../src/pan-view.c:2606
 msgid "Zoom _1:1"
 msgstr "Zoom _1:1"
 
-#: ../src/img-view.c:1269 ../src/layout_image.c:492
+#: ../src/img-view.c:1256 ../src/layout_image.c:486
 msgid "Fit image to _window"
 msgstr "Ajustar a imagem à _janela"
 
-#: ../src/img-view.c:1277 ../src/layout_image.c:501 ../src/layout_util.c:1294
+#: ../src/img-view.c:1264 ../src/layout_image.c:495 ../src/layout_util.c:1312
 msgid "Set as _wallpaper"
 msgstr "Definir como _papel de parede"
 
-#: ../src/img-view.c:1282 ../src/layout_image.c:508
+#: ../src/img-view.c:1269 ../src/layout_image.c:502
 msgid "_Go to directory view"
 msgstr "_Ir para a visualização por diretórios"
 
-#: ../src/img-view.c:1295 ../src/layout_image.c:529
+#: ../src/img-view.c:1282 ../src/layout_image.c:523
 msgid "_Stop slideshow"
 msgstr "_Parar a apresentação de slides"
 
-#: ../src/img-view.c:1298 ../src/layout_image.c:532
+#: ../src/img-view.c:1285 ../src/layout_image.c:526
 msgid "Continue slides_how"
 msgstr "_Continuar com a apresentação de slides"
 
-#: ../src/img-view.c:1303 ../src/img-view.c:1311 ../src/layout_image.c:537
-#: ../src/layout_image.c:544
+#: ../src/img-view.c:1290 ../src/img-view.c:1298 ../src/layout_image.c:531
+#: ../src/layout_image.c:538
 msgid "Pause slides_how"
 msgstr "Pau_sar a apresentação de slides"
 
-#: ../src/img-view.c:1309 ../src/layout_image.c:543
+#: ../src/img-view.c:1296 ../src/layout_image.c:537
 msgid "_Start slideshow"
 msgstr "_Iniciar a apresentação de slides"
 
-#: ../src/img-view.c:1317 ../src/layout_image.c:554 ../src/pan-view.c:2881
+#: ../src/img-view.c:1304 ../src/layout_image.c:548 ../src/pan-view.c:2675
 msgid "Exit _full screen"
 msgstr "_Sair da tela cheia"
 
-#: ../src/img-view.c:1321 ../src/layout_image.c:550 ../src/pan-view.c:2885
+#: ../src/img-view.c:1308 ../src/layout_image.c:544 ../src/pan-view.c:2679
 msgid "_Full screen"
 msgstr "_Tela cheia"
 
-#: ../src/img-view.c:1325 ../src/layout_util.c:1279 ../src/pan-view.c:2889
+#: ../src/img-view.c:1312 ../src/layout_util.c:1297 ../src/pan-view.c:2683
 msgid "C_lose window"
 msgstr "_Fechar a janela"
 
-#: ../src/layout.c:363 ../src/view_file.c:613
+#: ../src/layout.c:359 ../src/view_file.c:613
 msgid "Ascending"
 msgstr "Crescente"
 
-#: ../src/layout.c:433
+#: ../src/layout.c:429
 msgid " Slideshow"
 msgstr " Apresentação de slides"
 
-#: ../src/layout.c:437
+#: ../src/layout.c:433
 msgid " Paused"
 msgstr " Pausada"
 
-#: ../src/layout.c:453
+#: ../src/layout.c:449
 #, c-format
 msgid "%s, %d files (%s, %d)%s"
 msgstr "arquivos %s, %d (%s, %d)%s"
 
-#: ../src/layout.c:460
+#: ../src/layout.c:456
 #, c-format
 msgid "%s, %d files%s"
 msgstr "arquivos %s, %d%s"
 
-#: ../src/layout.c:465
+#: ../src/layout.c:461
 #, c-format
 msgid "%d files%s"
 msgstr "arquivos %d%s"
 
-#: ../src/layout.c:510
+#: ../src/layout.c:507
 #, c-format
 msgid "(no read permission) %s bytes"
 msgstr "(sem permissão de leitura) %s bytes"
 
-#: ../src/layout.c:514
+#: ../src/layout.c:511
 #, c-format
 msgid "( ? x ? ) %s bytes"
 msgstr "( ? x ?) %s bytes"
 
-#: ../src/layout.c:522
+#: ../src/layout.c:519
 #, c-format
 msgid "( %d x %d ) %s bytes"
 msgstr "( %d x %d) %s bytes"
 
-#: ../src/layout.c:1231 ../src/layout_config.c:58
+#: ../src/layout.c:1244 ../src/layout_config.c:58
 msgid "Tools"
 msgstr "Ferramentas"
 
-#: ../src/layout.c:1853
+#: ../src/layout.c:1866
 msgid "Window options and layout"
 msgstr "Opções da janela e da disposição"
 
-#: ../src/layout.c:1912
+#: ../src/layout.c:1925
 msgid "General options"
 msgstr "Opções gerais"
 
-#: ../src/layout.c:1914
+#: ../src/layout.c:1927
 msgid "Home path (empty to use your home directory)"
 msgstr "Caminho do diretório inicial (vazio usa o seu diretório home)"
 
-#: ../src/layout.c:1922
+#: ../src/layout.c:1935
 msgid "Use current"
 msgstr "Usar o atual"
 
-#: ../src/layout.c:1925
+#: ../src/layout.c:1938
 msgid "Show date in directories list view"
 msgstr "Exibir a data na visualização por diretórios em lista"
 
-#: ../src/layout.c:1928
+#: ../src/layout.c:1941
 msgid "Exit program when this window is closed"
 msgstr "Finalizar o programa quando esta janela for fechada"
 
-#: ../src/layout.c:1931
+#: ../src/layout.c:1944
 msgid "Start-up directory:"
 msgstr "Diretório inicial:"
 
-#: ../src/layout.c:1933
+#: ../src/layout.c:1946
 msgid "No change"
 msgstr "Sem modificação"
 
-#: ../src/layout.c:1936
+#: ../src/layout.c:1949
 msgid "Restore last path"
 msgstr "Restaurar o último caminho"
 
-#: ../src/layout.c:1939
+#: ../src/layout.c:1952
 msgid "Home path"
 msgstr "Caminho do diretório inicial"
 
-#: ../src/layout.c:1943 ../src/print.c:3373 ../src/print.c:3380
+#: ../src/layout.c:1956 ../src/print.c:3365 ../src/print.c:3372
 msgid "Layout"
 msgstr "Disposição"
 
-#: ../src/layout.c:2187
+#: ../src/layout.c:2200
 msgid "Invalid geometry\n"
 msgstr "Geometria inválida\n"
 
-#: ../src/layout_config.c:58 ../src/preferences.c:1446
-#: ../src/ui_pathsel.c:1179
+#: ../src/layout_config.c:58 ../src/preferences.c:1469
+#: ../src/ui_pathsel.c:1173
 msgid "Files"
 msgstr "Arquivos"
 
-#: ../src/layout_config.c:58 ../src/preferences.c:91 ../src/preferences.c:1240
+#: ../src/layout_config.c:58 ../src/preferences.c:91 ../src/preferences.c:1260
 #: ../src/print.c:123
 msgid "Image"
 msgstr "Imagem"
 
-#: ../src/layout_config.c:364
+#: ../src/layout_config.c:349
 msgid "(drag to change order)"
 msgstr "(arraste para mudar a ordem)"
 
-#: ../src/layout_image.c:559
+#: ../src/layout_image.c:553
 msgid "Hide file _list"
 msgstr "Ocultar a lista de _arquivos"
 
-#: ../src/layout_image.c:1559
+#: ../src/layout_image.c:1616
 #, c-format
 msgid "[%*d,%*d]: RGB(%3d,%3d,%3d)"
 msgstr "[%*d,%*d]: RGB(%3d,%3d,%3d)"
 
-#: ../src/layout_image.c:1567
+#: ../src/layout_image.c:1624
 #, c-format
 msgid "[%*s,%*s]: RGB(---,---,---)"
 msgstr "[%*s,%*s]: RGB(---,---,---)"
 
-#: ../src/layout_util.c:1234
+#: ../src/layout_util.c:1251
 msgid "_File"
 msgstr "_Arquivo"
 
-#: ../src/layout_util.c:1235
+#: ../src/layout_util.c:1252
 msgid "_Go"
 msgstr "_Ir"
 
-#: ../src/layout_util.c:1236 ../src/menu.c:109
+#: ../src/layout_util.c:1253 ../src/menu.c:109
 msgid "_Edit"
 msgstr "_Editar"
 
-#: ../src/layout_util.c:1237
+#: ../src/layout_util.c:1254
 msgid "_Select"
 msgstr "_Selecionar"
 
-#: ../src/layout_util.c:1238 ../src/menu.c:276
+#: ../src/layout_util.c:1255 ../src/menu.c:280
 msgid "_Orientation"
 msgstr "_Orientação"
 
-#: ../src/layout_util.c:1239
+#: ../src/layout_util.c:1256
 msgid "E_xternal Editors"
 msgstr "Editores e_xternos"
 
-#: ../src/layout_util.c:1240
+#: ../src/layout_util.c:1257
 msgid "P_references"
 msgstr "P_referências"
 
-#: ../src/layout_util.c:1242
+#: ../src/layout_util.c:1259
 msgid "_Files and Folders"
 msgstr "_Arquivos e diretórios"
 
-#: ../src/layout_util.c:1243
+#: ../src/layout_util.c:1260
 msgid "_Zoom"
 msgstr "_Zoom"
 
-#: ../src/layout_util.c:1244
+#: ../src/layout_util.c:1261
 msgid "_Color Management"
 msgstr "Gestão de _cores"
 
-#: ../src/layout_util.c:1245
+#: ../src/layout_util.c:1262
 msgid "_Connected Zoom"
 msgstr "Zoom _conectado"
 
-#: ../src/layout_util.c:1246
+#: ../src/layout_util.c:1263
 msgid "Spli_t"
 msgstr "_Dividir"
 
-#: ../src/layout_util.c:1247 ../src/layout_util.c:1361
+#: ../src/layout_util.c:1264
+msgid "Stere_o"
+msgstr ""
+
+#: ../src/layout_util.c:1265 ../src/layout_util.c:1380
 msgid "Image _Overlay"
 msgstr "_Overlay da imagem"
 
-#: ../src/layout_util.c:1248
+#: ../src/layout_util.c:1266
 msgid "_Help"
 msgstr "A_juda"
 
-#: ../src/layout_util.c:1250
+#: ../src/layout_util.c:1268
 msgid "_First Image"
 msgstr "_Primeira imagem"
 
-#: ../src/layout_util.c:1250
+#: ../src/layout_util.c:1268
 msgid "First Image"
 msgstr "Primeira imagem"
 
-#: ../src/layout_util.c:1251 ../src/layout_util.c:1252
-#: ../src/layout_util.c:1253
+#: ../src/layout_util.c:1269 ../src/layout_util.c:1270
+#: ../src/layout_util.c:1271
 msgid "_Previous Image"
 msgstr "Imagem _anterior"
 
-#: ../src/layout_util.c:1251 ../src/layout_util.c:1252
-#: ../src/layout_util.c:1253
+#: ../src/layout_util.c:1269 ../src/layout_util.c:1270
+#: ../src/layout_util.c:1271
 msgid "Previous Image"
 msgstr "Imagem anterior"
 
-#: ../src/layout_util.c:1254 ../src/layout_util.c:1255
-#: ../src/layout_util.c:1256
+#: ../src/layout_util.c:1272 ../src/layout_util.c:1273
+#: ../src/layout_util.c:1274
 msgid "_Next Image"
 msgstr "Próxima _imagem"
 
-#: ../src/layout_util.c:1254 ../src/layout_util.c:1255
-#: ../src/layout_util.c:1256
+#: ../src/layout_util.c:1272 ../src/layout_util.c:1273
+#: ../src/layout_util.c:1274
 msgid "Next Image"
 msgstr "Próxima imagem"
 
-#: ../src/layout_util.c:1257
+#: ../src/layout_util.c:1275
 msgid "_Last Image"
 msgstr "_Última imagem"
 
-#: ../src/layout_util.c:1257
+#: ../src/layout_util.c:1275
 msgid "Last Image"
 msgstr "Última imagem"
 
-#: ../src/layout_util.c:1258
+#: ../src/layout_util.c:1276
 msgid "_Back"
 msgstr "_Voltar"
 
-#: ../src/layout_util.c:1258
+#: ../src/layout_util.c:1276
 msgid "Back"
 msgstr "Voltar"
 
-#: ../src/layout_util.c:1259
+#: ../src/layout_util.c:1277
 msgid "_Home"
 msgstr "_Diretório inicial"
 
-#: ../src/layout_util.c:1259 ../src/options.c:136 ../src/ui_bookmark.c:543
-#: ../src/ui_pathsel.c:1047
+#: ../src/layout_util.c:1277 ../src/options.c:143 ../src/ui_bookmark.c:549
+#: ../src/ui_pathsel.c:1045
 msgid "Home"
 msgstr "Diretório inicial"
 
-#: ../src/layout_util.c:1261
+#: ../src/layout_util.c:1279
 msgid "New _window"
 msgstr "Nova _janela"
 
-#: ../src/layout_util.c:1261
+#: ../src/layout_util.c:1279
 msgid "New window"
 msgstr "Nova janela"
 
-#: ../src/layout_util.c:1262
+#: ../src/layout_util.c:1280
 msgid "_New collection"
 msgstr "Nova _coleção"
 
-#: ../src/layout_util.c:1262
+#: ../src/layout_util.c:1280
 msgid "New collection"
 msgstr "Nova coleção"
 
-#: ../src/layout_util.c:1263
+#: ../src/layout_util.c:1281
 msgid "_Open collection..."
 msgstr "Abrir c_oleção..."
 
-#: ../src/layout_util.c:1263
+#: ../src/layout_util.c:1281
 msgid "Open collection..."
 msgstr "Abrir coleção..."
 
-#: ../src/layout_util.c:1264
+#: ../src/layout_util.c:1282
 msgid "Open recen_t"
 msgstr "Abrir recen_tes"
 
-#: ../src/layout_util.c:1264
+#: ../src/layout_util.c:1282
 msgid "Open recent"
 msgstr "Abrir recentes"
 
-#: ../src/layout_util.c:1265
+#: ../src/layout_util.c:1283
 msgid "_Search..."
 msgstr "Proc_urar..."
 
-#: ../src/layout_util.c:1265
+#: ../src/layout_util.c:1283
 msgid "Search..."
 msgstr "Procurar..."
 
-#: ../src/layout_util.c:1266
+#: ../src/layout_util.c:1284
 msgid "Find duplicates..."
 msgstr "Procurar por duplicatas..."
 
-#: ../src/layout_util.c:1267
+#: ../src/layout_util.c:1285
 msgid "Pa_n view"
 msgstr "Visualização pa_norâmica"
 
-#: ../src/layout_util.c:1267
+#: ../src/layout_util.c:1285
 msgid "Pan view"
 msgstr "Visualização panorâmica"
 
-#: ../src/layout_util.c:1268
+#: ../src/layout_util.c:1286
 msgid "_Print..."
 msgstr "_Imprimir..."
 
-#: ../src/layout_util.c:1269
+#: ../src/layout_util.c:1287
 msgid "N_ew folder..."
 msgstr "No_vo diretório..."
 
-#: ../src/layout_util.c:1269
+#: ../src/layout_util.c:1287
 msgid "New folder..."
 msgstr "Novo diretório..."
 
-#: ../src/layout_util.c:1270
+#: ../src/layout_util.c:1288
 msgid "Copy..."
 msgstr "Copiar..."
 
-#: ../src/layout_util.c:1271
+#: ../src/layout_util.c:1289
 msgid "Move..."
 msgstr "Mover..."
 
-#: ../src/layout_util.c:1272
+#: ../src/layout_util.c:1290
 msgid "Rename..."
 msgstr "Renomear..."
 
-#: ../src/layout_util.c:1273 ../src/layout_util.c:1274
-#: ../src/layout_util.c:1275
+#: ../src/layout_util.c:1291 ../src/layout_util.c:1292
+#: ../src/layout_util.c:1293
 msgid "Delete..."
 msgstr "Apagar..."
 
-#: ../src/layout_util.c:1276 ../src/view_file.c:603
+#: ../src/layout_util.c:1294 ../src/view_file.c:603
 msgid "Enable file _grouping"
 msgstr "Habilitar o a_grupamento de arquivos"
 
-#: ../src/layout_util.c:1276
+#: ../src/layout_util.c:1294
 msgid "Enable file grouping"
 msgstr "Habilitar o agrupamento de arquivos"
 
-#: ../src/layout_util.c:1277 ../src/view_file.c:605
+#: ../src/layout_util.c:1295 ../src/view_file.c:605
 msgid "Disable file groupi_ng"
 msgstr "Desabilitar o agrupame_nto de arquivos"
 
-#: ../src/layout_util.c:1277
+#: ../src/layout_util.c:1295
 msgid "Disable file grouping"
 msgstr "Desabilitar o agrupamento de arquivos"
 
-#: ../src/layout_util.c:1278
+#: ../src/layout_util.c:1296
 msgid "_Copy path to clipboard"
 msgstr "_Copiar o caminho para a área de transferência"
 
-#: ../src/layout_util.c:1278
+#: ../src/layout_util.c:1296
 msgid "Copy path to clipboard"
 msgstr "Copiar o caminho para a área de transferência"
 
-#: ../src/layout_util.c:1279
+#: ../src/layout_util.c:1297
 msgid "Close window"
 msgstr "Fechar a janela"
 
-#: ../src/layout_util.c:1280
+#: ../src/layout_util.c:1298
 msgid "_Quit"
 msgstr "_Sair"
 
-#: ../src/layout_util.c:1280
+#: ../src/layout_util.c:1298
 msgid "Quit"
 msgstr "Sair"
 
-#: ../src/layout_util.c:1281 ../src/menu.c:218
+#: ../src/layout_util.c:1299 ../src/menu.c:222
 msgid "_Rotate clockwise"
 msgstr "Girar no sentido _horário"
 
-#: ../src/layout_util.c:1281
+#: ../src/layout_util.c:1299
 msgid "Rotate clockwise"
 msgstr "Girar no sentido horário"
 
-#: ../src/layout_util.c:1282 ../src/menu.c:221
+#: ../src/layout_util.c:1300 ../src/menu.c:225
 msgid "Rotate _counterclockwise"
 msgstr "Girar no sentido _anti-horário"
 
-#: ../src/layout_util.c:1282
+#: ../src/layout_util.c:1300
 msgid "Rotate counterclockwise"
 msgstr "Girar no sentido anti-horário"
 
-#: ../src/layout_util.c:1283
+#: ../src/layout_util.c:1301
 msgid "Rotate 1_80"
 msgstr "Girar 1_80"
 
-#: ../src/layout_util.c:1283
+#: ../src/layout_util.c:1301
 msgid "Rotate 180"
 msgstr "Girar 180"
 
-#: ../src/layout_util.c:1284 ../src/menu.c:227
+#: ../src/layout_util.c:1302 ../src/menu.c:231
 msgid "_Mirror"
 msgstr "_Espelhar horizontalmente"
 
-#: ../src/layout_util.c:1284
+#: ../src/layout_util.c:1302
 msgid "Mirror"
 msgstr "Espelhar horizontalmente"
 
-#: ../src/layout_util.c:1285 ../src/menu.c:230
+#: ../src/layout_util.c:1303 ../src/menu.c:234
 msgid "_Flip"
 msgstr "Espelhar _verticalmente"
 
-#: ../src/layout_util.c:1285
+#: ../src/layout_util.c:1303
 msgid "Flip"
 msgstr "Espelhar verticalmente"
 
-#: ../src/layout_util.c:1286 ../src/menu.c:233
+#: ../src/layout_util.c:1304 ../src/menu.c:237
 msgid "_Original state"
 msgstr "Estado _original"
 
-#: ../src/layout_util.c:1286
+#: ../src/layout_util.c:1304
 msgid "Original state"
 msgstr "Estado original"
 
-#: ../src/layout_util.c:1287
+#: ../src/layout_util.c:1305
 msgid "Select _all"
 msgstr "Selecionar _tudo"
 
-#: ../src/layout_util.c:1288
+#: ../src/layout_util.c:1306
 msgid "Select _none"
-msgstr "Não selecionar _nada"
-
-#: ../src/layout_util.c:1289
+msgstr "De_sselecionar tudo"
+
+#: ../src/layout_util.c:1307
 msgid "_Invert Selection"
 msgstr "_Inverter a seleção"
 
-#: ../src/layout_util.c:1289
+#: ../src/layout_util.c:1307
 msgid "Invert Selection"
 msgstr "Inverter a seleção"
 
-#: ../src/layout_util.c:1290
+#: ../src/layout_util.c:1308
 msgid "P_references..."
 msgstr "P_referências..."
 
-#: ../src/layout_util.c:1290
+#: ../src/layout_util.c:1308
 msgid "Preferences..."
 msgstr "Preferências..."
 
-#: ../src/layout_util.c:1291
+#: ../src/layout_util.c:1309
 msgid "Configure _Editors..."
 msgstr "Configurar os _editores..."
 
-#: ../src/layout_util.c:1291
+#: ../src/layout_util.c:1309
 msgid "Configure Editors..."
 msgstr "Configurar os editores..."
 
-#: ../src/layout_util.c:1292
+#: ../src/layout_util.c:1310
 msgid "_Configure this window..."
 msgstr "_Configurar esta janela..."
 
-#: ../src/layout_util.c:1292
+#: ../src/layout_util.c:1310
 msgid "Configure this window..."
 msgstr "Configurar esta janela..."
 
-#: ../src/layout_util.c:1293
+#: ../src/layout_util.c:1311
 msgid "_Thumbnail maintenance..."
 msgstr "_Manutenção das miniaturas..."
 
-#: ../src/layout_util.c:1293
+#: ../src/layout_util.c:1311
 msgid "Thumbnail maintenance..."
 msgstr "Manutenção das miniaturas..."
 
-#: ../src/layout_util.c:1294
+#: ../src/layout_util.c:1312
 msgid "Set as wallpaper"
 msgstr "Definir como papel de parede"
 
-#: ../src/layout_util.c:1295
+#: ../src/layout_util.c:1313
 msgid "_Save metadata"
 msgstr "_Salvar os metadados"
 
-#: ../src/layout_util.c:1295
+#: ../src/layout_util.c:1313
 msgid "Save metadata"
 msgstr "Salvar os metadados"
 
-#: ../src/layout_util.c:1296 ../src/layout_util.c:1297
+#: ../src/layout_util.c:1314 ../src/layout_util.c:1315
 msgid "Zoom in"
 msgstr "Mais zoom"
 
-#: ../src/layout_util.c:1298 ../src/layout_util.c:1299
+#: ../src/layout_util.c:1316 ../src/layout_util.c:1317
 msgid "Zoom out"
 msgstr "Menos zoom"
 
-#: ../src/layout_util.c:1300 ../src/layout_util.c:1301
+#: ../src/layout_util.c:1318 ../src/layout_util.c:1319
 msgid "Zoom 1:1"
 msgstr "Zoom 1:1"
 
-#: ../src/layout_util.c:1302 ../src/layout_util.c:1303
-#: ../src/layout_util.c:1318 ../src/layout_util.c:1319
+#: ../src/layout_util.c:1320 ../src/layout_util.c:1321
+#: ../src/layout_util.c:1336 ../src/layout_util.c:1337
 msgid "_Zoom to fit"
 msgstr "_Zoom ajustado"
 
-#: ../src/layout_util.c:1302 ../src/layout_util.c:1303
+#: ../src/layout_util.c:1320 ../src/layout_util.c:1321
 msgid "Zoom to fit"
 msgstr "Zoom ajustado"
 
-#: ../src/layout_util.c:1304 ../src/layout_util.c:1320
+#: ../src/layout_util.c:1322 ../src/layout_util.c:1338
 msgid "Fit _Horizontally"
 msgstr "Ajustar _horizontalmente"
 
-#: ../src/layout_util.c:1304
+#: ../src/layout_util.c:1322
 msgid "Fit Horizontally"
 msgstr "Ajustar horizontalmente"
 
-#: ../src/layout_util.c:1305 ../src/layout_util.c:1321
+#: ../src/layout_util.c:1323 ../src/layout_util.c:1339
 msgid "Fit _Vertically"
 msgstr "Ajustar _verticalmente"
 
-#: ../src/layout_util.c:1305
+#: ../src/layout_util.c:1323
 msgid "Fit Vertically"
 msgstr "Ajustar verticalmente"
 
-#: ../src/layout_util.c:1306 ../src/layout_util.c:1322
+#: ../src/layout_util.c:1324 ../src/layout_util.c:1340
 msgid "Zoom _2:1"
 msgstr "Zoom _2:1"
 
-#: ../src/layout_util.c:1306
+#: ../src/layout_util.c:1324
 msgid "Zoom 2:1"
 msgstr "Zoom 2:1"
 
-#: ../src/layout_util.c:1307 ../src/layout_util.c:1323
+#: ../src/layout_util.c:1325 ../src/layout_util.c:1341
 msgid "Zoom _3:1"
 msgstr "Zoom _3:1"
 
-#: ../src/layout_util.c:1307
+#: ../src/layout_util.c:1325
 msgid "Zoom 3:1"
 msgstr "Zoom 3:1"
 
-#: ../src/layout_util.c:1308 ../src/layout_util.c:1324
+#: ../src/layout_util.c:1326 ../src/layout_util.c:1342
 msgid "Zoom _4:1"
 msgstr "Zoom _4:1"
 
-#: ../src/layout_util.c:1308
+#: ../src/layout_util.c:1326
 msgid "Zoom 4:1"
 msgstr "Zoom 4:1"
 
-#: ../src/layout_util.c:1309 ../src/layout_util.c:1325
+#: ../src/layout_util.c:1327 ../src/layout_util.c:1343
 msgid "Zoom 1:2"
 msgstr "Zoom 1:2"
 
-#: ../src/layout_util.c:1310 ../src/layout_util.c:1326
+#: ../src/layout_util.c:1328 ../src/layout_util.c:1344
 msgid "Zoom 1:3"
 msgstr "Zoom 1:3"
 
-#: ../src/layout_util.c:1311 ../src/layout_util.c:1327
+#: ../src/layout_util.c:1329 ../src/layout_util.c:1345
 msgid "Zoom 1:4"
 msgstr "Zoom 1:4"
 
-#: ../src/layout_util.c:1312 ../src/layout_util.c:1313
+#: ../src/layout_util.c:1330 ../src/layout_util.c:1331
 msgid "Connected Zoom in"
 msgstr "Mais zoom conectado"
 
-#: ../src/layout_util.c:1314 ../src/layout_util.c:1315
+#: ../src/layout_util.c:1332 ../src/layout_util.c:1333
 msgid "Connected Zoom out"
 msgstr "Menos zoom conectado"
 
-#: ../src/layout_util.c:1316 ../src/layout_util.c:1317
+#: ../src/layout_util.c:1334 ../src/layout_util.c:1335
 msgid "Connected Zoom 1:1"
 msgstr "Zoom conectado 1:1"
 
-#: ../src/layout_util.c:1318 ../src/layout_util.c:1319
+#: ../src/layout_util.c:1336 ../src/layout_util.c:1337
 msgid "Connected Zoom to fit"
 msgstr "Zoom conectado ajustado"
 
-#: ../src/layout_util.c:1320
+#: ../src/layout_util.c:1338
 msgid "Connected Fit Horizontally"
 msgstr "Ajustar conectado horizontalmente"
 
-#: ../src/layout_util.c:1321
+#: ../src/layout_util.c:1339
 msgid "Connected Fit Vertically"
 msgstr "Ajustar conectado verticalmente"
 
-#: ../src/layout_util.c:1322
+#: ../src/layout_util.c:1340
 msgid "Connected Zoom 2:1"
 msgstr "Zoom conectado 2:1"
 
-#: ../src/layout_util.c:1323
+#: ../src/layout_util.c:1341
 msgid "Connected Zoom 3:1"
 msgstr "Zoom conectado 3:1"
 
-#: ../src/layout_util.c:1324
+#: ../src/layout_util.c:1342
 msgid "Connected Zoom 4:1"
 msgstr "Zoom conectado 4:1"
 
-#: ../src/layout_util.c:1325
+#: ../src/layout_util.c:1343
 msgid "Connected Zoom 1:2"
 msgstr "Zoom conectado 1:2"
 
-#: ../src/layout_util.c:1326
+#: ../src/layout_util.c:1344
 msgid "Connected Zoom 1:3"
 msgstr "Zoom conectado 1:3"
 
-#: ../src/layout_util.c:1327
+#: ../src/layout_util.c:1345
 msgid "Connected Zoom 1:4"
 msgstr "Zoom conectado 1:4"
 
-#: ../src/layout_util.c:1328
+#: ../src/layout_util.c:1346
 msgid "_View in new window"
 msgstr "_Visualizar em uma nova janela"
 
-#: ../src/layout_util.c:1328
+#: ../src/layout_util.c:1346
 msgid "View in new window"
 msgstr "Visualizar em uma nova janela"
 
-#: ../src/layout_util.c:1329 ../src/layout_util.c:1330
-#: ../src/layout_util.c:1331
+#: ../src/layout_util.c:1347 ../src/layout_util.c:1348
+#: ../src/layout_util.c:1349
 msgid "F_ull screen"
 msgstr "_Tela cheia"
 
-#: ../src/layout_util.c:1332 ../src/layout_util.c:1333
+#: ../src/layout_util.c:1350 ../src/layout_util.c:1351
 msgid "_Leave full screen"
 msgstr "_Sair da tela cheia"
 
-#: ../src/layout_util.c:1332 ../src/layout_util.c:1333
+#: ../src/layout_util.c:1350 ../src/layout_util.c:1351
 msgid "Leave full screen"
 msgstr "Sair da tela cheia"
 
-#: ../src/layout_util.c:1334
+#: ../src/layout_util.c:1352
 msgid "_Cycle through overlay modes"
 msgstr "_Circular pelos modos de overlay"
 
-#: ../src/layout_util.c:1334
+#: ../src/layout_util.c:1352
 msgid "Cycle through Overlay modes"
 msgstr "Circular pelos modos de overlay"
 
-#: ../src/layout_util.c:1335
+#: ../src/layout_util.c:1353
 msgid "Cycle through histogram ch_annels"
 msgstr "Circ_ular pelos canais de histograma"
 
-#: ../src/layout_util.c:1335
+#: ../src/layout_util.c:1353
 msgid "Cycle through histogram channels"
 msgstr "Circular pelos canais de histograma"
 
-#: ../src/layout_util.c:1336
+#: ../src/layout_util.c:1354
 msgid "Cycle through histogram mo_des"
 msgstr "Circular pelos mo_dos de histograma"
 
-#: ../src/layout_util.c:1336
+#: ../src/layout_util.c:1354
 msgid "Cycle through histogram modes"
 msgstr "Circular pelos modos de histograma"
 
-#: ../src/layout_util.c:1337
+#: ../src/layout_util.c:1355
 msgid "_Hide file list"
 msgstr "Ocultar a _lista de arquivos"
 
-#: ../src/layout_util.c:1337
+#: ../src/layout_util.c:1355
 msgid "Hide file list"
 msgstr "Ocultar a lista de arquivos"
 
-#: ../src/layout_util.c:1338
+#: ../src/layout_util.c:1356
 msgid "_Pause slideshow"
 msgstr "_Pausar a apresentação de slides"
 
-#: ../src/layout_util.c:1338
+#: ../src/layout_util.c:1356
 msgid "Pause slideshow"
 msgstr "Pausar a apresentação de slides"
 
-#: ../src/layout_util.c:1339
+#: ../src/layout_util.c:1357
 msgid "_Refresh"
 msgstr "Atualiza_r"
 
-#: ../src/layout_util.c:1339
+#: ../src/layout_util.c:1357
 msgid "Refresh"
 msgstr "Atualizar"
 
-#: ../src/layout_util.c:1340
+#: ../src/layout_util.c:1358
 msgid "_Contents"
 msgstr "_Conteúdo"
 
-#: ../src/layout_util.c:1340
+#: ../src/layout_util.c:1358
 msgid "Contents"
 msgstr "Conteúdo"
 
-#: ../src/layout_util.c:1341
+#: ../src/layout_util.c:1359
 msgid "_Keyboard shortcuts"
 msgstr "Atalhos de _teclado"
 
-#: ../src/layout_util.c:1341
+#: ../src/layout_util.c:1359
 msgid "Keyboard shortcuts"
 msgstr "Atalhos de teclado"
 
-#: ../src/layout_util.c:1342
+#: ../src/layout_util.c:1360
 msgid "_Release notes"
 msgstr "_Notas de lançamento"
 
-#: ../src/layout_util.c:1342
+#: ../src/layout_util.c:1360
 msgid "Release notes"
 msgstr "Notas de lançamento"
 
-#: ../src/layout_util.c:1343
+#: ../src/layout_util.c:1361
 msgid "_About"
 msgstr "_Sobre"
 
-#: ../src/layout_util.c:1343 ../src/preferences.c:2108
+#: ../src/layout_util.c:1361 ../src/preferences.c:2190
 msgid "About"
 msgstr "Sobre"
 
-#: ../src/layout_util.c:1344
+#: ../src/layout_util.c:1362
 msgid "_Log Window"
 msgstr "_Logar a janela"
 
-#: ../src/layout_util.c:1344
+#: ../src/layout_util.c:1362
 msgid "Log Window"
 msgstr "Logar a janela"
 
-#: ../src/layout_util.c:1345
+#: ../src/layout_util.c:1363
 msgid "_Exif window"
 msgstr "Janela _Exif"
 
-#: ../src/layout_util.c:1345
+#: ../src/layout_util.c:1363
 msgid "Exif window"
 msgstr "Janela Exif"
 
-#: ../src/layout_util.c:1350
+#: ../src/layout_util.c:1364
+#, fuzzy
+msgid "_Cycle through stereo modes"
+msgstr "_Circular pelos modos de overlay"
+
+#: ../src/layout_util.c:1364
+#, fuzzy
+msgid "Cycle through stereo modes"
+msgstr "Circular pelos modos de histograma"
+
+#: ../src/layout_util.c:1369
 msgid "Show _Thumbnails"
 msgstr "Exibir _miniaturas"
 
-#: ../src/layout_util.c:1350
+#: ../src/layout_util.c:1369
 msgid "Show Thumbnails"
 msgstr "Exibir miniaturas"
 
-#: ../src/layout_util.c:1351
+#: ../src/layout_util.c:1370
 msgid "Show _Marks"
 msgstr "Exibir as _marcações"
 
-#: ../src/layout_util.c:1351
+#: ../src/layout_util.c:1370
 msgid "Show Marks"
 msgstr "Exibir as marcações"
 
-#: ../src/layout_util.c:1352
+#: ../src/layout_util.c:1371
 msgid "Pi_xel Info"
 msgstr "Informação do pi_xel"
 
-#: ../src/layout_util.c:1352
+#: ../src/layout_util.c:1371
 msgid "Show Pixel Info"
 msgstr "Exibir a informação do pixel"
 
-#: ../src/layout_util.c:1353
+#: ../src/layout_util.c:1372
 msgid "_Float file list"
 msgstr "_Flutuar a lista de arquivos"
 
-#: ../src/layout_util.c:1353
+#: ../src/layout_util.c:1372
 msgid "Float file list"
 msgstr "Flutuar a lista de arquivos"
 
-#: ../src/layout_util.c:1354
+#: ../src/layout_util.c:1373
 msgid "Hide tool_bar"
 msgstr "Ocultar a _barra de ferramentas"
 
-#: ../src/layout_util.c:1354
+#: ../src/layout_util.c:1373
 msgid "Hide toolbar"
 msgstr "Ocultar a barra de ferramentas"
 
-#: ../src/layout_util.c:1355
+#: ../src/layout_util.c:1374
 msgid "_Info sidebar"
 msgstr "Barra lateral de _informações"
 
-#: ../src/layout_util.c:1355
+#: ../src/layout_util.c:1374
 msgid "Info sidebar"
 msgstr "Barra lateral de informações"
 
-#: ../src/layout_util.c:1356
+#: ../src/layout_util.c:1375
 msgid "Sort _manager"
 msgstr "C_lassificador"
 
-#: ../src/layout_util.c:1356
+#: ../src/layout_util.c:1375
 msgid "Sort manager"
 msgstr "Classificador"
 
-#: ../src/layout_util.c:1357
+#: ../src/layout_util.c:1376
 msgid "Toggle _slideshow"
-msgstr "Alternar apresentação de _slides"
-
-#: ../src/layout_util.c:1357
+msgstr "Iniciar/Parar apresentação de _slides"
+
+#: ../src/layout_util.c:1376
 msgid "Toggle slideshow"
-msgstr "Alternar apresentação de slides"
-
-#: ../src/layout_util.c:1358
+msgstr "Iniciar/Parar apresentação de slides"
+
+#: ../src/layout_util.c:1377
 msgid "Use _color profiles"
 msgstr "Usar perfis de _cor"
 
-#: ../src/layout_util.c:1358
+#: ../src/layout_util.c:1377
 msgid "Use color profiles"
 msgstr "Usar perfis de cor"
 
-#: ../src/layout_util.c:1359
+#: ../src/layout_util.c:1378
 msgid "Use profile from _image"
 msgstr "Usar o perfil da _imagem"
 
-#: ../src/layout_util.c:1359
+#: ../src/layout_util.c:1378
 msgid "Use profile from image"
 msgstr "Usar o perfil da imagem"
 
-#: ../src/layout_util.c:1360
+#: ../src/layout_util.c:1379
 msgid "Toggle _grayscale"
-msgstr "Alternar _escala de cinza"
-
-#: ../src/layout_util.c:1360
+msgstr "_Escala de cinzas"
+
+#: ../src/layout_util.c:1379
 msgid "Toggle grayscale"
-msgstr "Alternar escala de cinza"
-
-#: ../src/layout_util.c:1361
+msgstr "Escala de cinzas"
+
+#: ../src/layout_util.c:1380
 msgid "Image Overlay"
 msgstr "Overlay da imagem"
 
-#: ../src/layout_util.c:1362
+#: ../src/layout_util.c:1381
 msgid "_Show Histogram"
 msgstr "Exibir o hi_stograma"
 
-#: ../src/layout_util.c:1362
+#: ../src/layout_util.c:1381
 msgid "Show Histogram"
 msgstr "Exibir o histograma"
 
-#: ../src/layout_util.c:1366
+#: ../src/layout_util.c:1385
 msgid "Image _List"
 msgstr "_Lista de imagens"
 
-#: ../src/layout_util.c:1366
+#: ../src/layout_util.c:1385
 msgid "View Images as List"
 msgstr "Visualizar imagens em lista"
 
-#: ../src/layout_util.c:1367
+#: ../src/layout_util.c:1386
 msgid "I_cons"
 msgstr "Ãco_nes"
 
-#: ../src/layout_util.c:1367
+#: ../src/layout_util.c:1386
 msgid "View Images as Icons"
 msgstr "Visualizar imagens em ícones"
 
-#: ../src/layout_util.c:1371
+#: ../src/layout_util.c:1390
 msgid "Folder Li_st"
 msgstr "Li_sta de diretórios"
 
-#: ../src/layout_util.c:1371
+#: ../src/layout_util.c:1390
 msgid "View Folders as List"
 msgstr "Visualizar diretórios em lista"
 
-#: ../src/layout_util.c:1372
+#: ../src/layout_util.c:1391
 msgid "Folder T_ree"
 msgstr "Ã_rvore de diretórios"
 
-#: ../src/layout_util.c:1372
+#: ../src/layout_util.c:1391
 msgid "View Folders as Tree"
 msgstr "Visualizar diretórios em árvore"
 
-#: ../src/layout_util.c:1376
+#: ../src/layout_util.c:1395
 msgid "_Horizontal"
 msgstr "_Horizontal"
 
-#: ../src/layout_util.c:1376
+#: ../src/layout_util.c:1395
 msgid "Split Horizontal"
 msgstr "Dividir horizontalmente"
 
-#: ../src/layout_util.c:1377
+#: ../src/layout_util.c:1396
 msgid "_Vertical"
 msgstr "_Vertical"
 
-#: ../src/layout_util.c:1377
+#: ../src/layout_util.c:1396
 msgid "Split Vertical"
 msgstr "Dividir verticalmente"
 
-#: ../src/layout_util.c:1378
+#: ../src/layout_util.c:1397
 msgid "_Quad"
 msgstr "Em _quatro"
 
-#: ../src/layout_util.c:1378
+#: ../src/layout_util.c:1397
 msgid "Split Quad"
 msgstr "Dividir em quatro"
 
-#: ../src/layout_util.c:1379
+#: ../src/layout_util.c:1398
 msgid "_Single"
 msgstr "_Única"
 
-#: ../src/layout_util.c:1379
+#: ../src/layout_util.c:1398
 msgid "Split Single"
 msgstr "Divisão única"
 
-#: ../src/layout_util.c:1383
+#: ../src/layout_util.c:1402
 msgid "Input _0: sRGB"
 msgstr "Entrada _0: sRGB"
 
-#: ../src/layout_util.c:1383
+#: ../src/layout_util.c:1402
 msgid "Input 0: sRGB"
 msgstr "Entrada 0: sRGB"
 
-#: ../src/layout_util.c:1384
+#: ../src/layout_util.c:1403
 msgid "Input _1: AdobeRGB compatible"
 msgstr "Entrada _1: compatível com AdobeRGB"
 
-#: ../src/layout_util.c:1384
+#: ../src/layout_util.c:1403
 msgid "Input 1: AdobeRGB compatible"
 msgstr "Entrada 1: compatível com AdobeRGB"
 
-#: ../src/layout_util.c:1385
+#: ../src/layout_util.c:1404
 msgid "Input _2"
 msgstr "Entrada _2"
 
-#: ../src/layout_util.c:1385
+#: ../src/layout_util.c:1404
 msgid "Input 2"
 msgstr "Entrada 2"
 
-#: ../src/layout_util.c:1386
+#: ../src/layout_util.c:1405
 msgid "Input _3"
 msgstr "Entrada _3"
 
-#: ../src/layout_util.c:1386
+#: ../src/layout_util.c:1405
 msgid "Input 3"
 msgstr "Entrada 3"
 
-#: ../src/layout_util.c:1387
+#: ../src/layout_util.c:1406
 msgid "Input _4"
 msgstr "Entrada _4"
 
-#: ../src/layout_util.c:1387
+#: ../src/layout_util.c:1406
 msgid "Input 4"
 msgstr "Entrada 4"
 
-#: ../src/layout_util.c:1388
+#: ../src/layout_util.c:1407
 msgid "Input _5"
 msgstr "Entrada _5"
 
-#: ../src/layout_util.c:1388
+#: ../src/layout_util.c:1407
 msgid "Input 5"
 msgstr "Entrada 5"
 
-#: ../src/layout_util.c:1392
+#: ../src/layout_util.c:1411
 msgid "Histogram on Red"
 msgstr "Histograma no vermelho"
 
-#: ../src/layout_util.c:1393
+#: ../src/layout_util.c:1412
 msgid "Histogram on Green"
 msgstr "Histograma no verde"
 
-#: ../src/layout_util.c:1394
+#: ../src/layout_util.c:1413
 msgid "Histogram on Blue"
 msgstr "Histograma no azul"
 
-#: ../src/layout_util.c:1395
+#: ../src/layout_util.c:1414
 msgid "Histogram on RGB"
 msgstr "Histograma no RGB"
 
-#: ../src/layout_util.c:1396
+#: ../src/layout_util.c:1415
 msgid "Histogram on Value"
 msgstr "Histograma no valor"
 
-#: ../src/layout_util.c:1400
+#: ../src/layout_util.c:1419
 msgid "Linear Histogram"
 msgstr "Histograma linear"
 
-#: ../src/layout_util.c:1401
+#: ../src/layout_util.c:1420
 msgid "_Log Histogram"
 msgstr "_Logar o histograma"
 
-#: ../src/layout_util.c:1401
+#: ../src/layout_util.c:1420
 msgid "Log Histogram"
 msgstr "Logar o histograma"
 
-#: ../src/layout_util.c:1667
+#: ../src/layout_util.c:1424
+msgid "_Auto"
+msgstr ""
+
+#: ../src/layout_util.c:1424
+msgid "Stereo Auto"
+msgstr ""
+
+#: ../src/layout_util.c:1425
+msgid "_Side by Side"
+msgstr ""
+
+#: ../src/layout_util.c:1425
+msgid "Stereo Side by Side"
+msgstr ""
+
+#: ../src/layout_util.c:1426
+msgid "_Cross"
+msgstr ""
+
+#: ../src/layout_util.c:1426
+msgid "Stereo Cross"
+msgstr ""
+
+#: ../src/layout_util.c:1427
+msgid "_Off"
+msgstr ""
+
+#: ../src/layout_util.c:1427
+msgid "Stereo Off"
+msgstr ""
+
+#: ../src/layout_util.c:1701
 #, c-format
 msgid "Mark _%d"
 msgstr "Marcação _%d"
 
-#: ../src/layout_util.c:1668 ../src/view_file.c:540
+#: ../src/layout_util.c:1702 ../src/view_file.c:540
 #, c-format
 msgid "_Set mark %d"
-msgstr "_Definir a marcação %d"
-
-#: ../src/layout_util.c:1668
+msgstr "_Marcar a marcação %d"
+
+#: ../src/layout_util.c:1702
 #, c-format
 msgid "Set mark %d"
-msgstr "Definir a marcação %d"
-
-#: ../src/layout_util.c:1669 ../src/view_file.c:541
+msgstr "Marcar a marcação %d"
+
+#: ../src/layout_util.c:1703 ../src/view_file.c:541
 #, c-format
 msgid "_Reset mark %d"
-msgstr "_Redefinir a marcação %d"
-
-#: ../src/layout_util.c:1669
+msgstr "_Desmarcar a marcação %d"
+
+#: ../src/layout_util.c:1703
 #, c-format
 msgid "Reset mark %d"
-msgstr "Redefinir a marcação %d"
-
-#: ../src/layout_util.c:1670 ../src/layout_util.c:1671 ../src/view_file.c:542
+msgstr "Desmarcar a marcação %d"
+
+#: ../src/layout_util.c:1704 ../src/layout_util.c:1705 ../src/view_file.c:542
 #, c-format
 msgid "_Toggle mark %d"
-msgstr "Al_ternar a marcação %d"
-
-#: ../src/layout_util.c:1670 ../src/layout_util.c:1671
+msgstr "Marcar/D_esmarcar a marcação %d"
+
+#: ../src/layout_util.c:1704 ../src/layout_util.c:1705
 #, c-format
 msgid "Toggle mark %d"
-msgstr "Alternar a marcação %d"
-
-#: ../src/layout_util.c:1672
+msgstr "Marcar/Desmarcar a marcação %d"
+
+#: ../src/layout_util.c:1706
 #, c-format
 msgid "Se_lect mark %d"
 msgstr "Se_lecionar a marcação %d"
 
-#: ../src/layout_util.c:1672 ../src/layout_util.c:1673
+#: ../src/layout_util.c:1706 ../src/layout_util.c:1707
 #, c-format
 msgid "Select mark %d"
 msgstr "Selecionar a marcação %d"
 
-#: ../src/layout_util.c:1673 ../src/view_file.c:543
+#: ../src/layout_util.c:1707 ../src/view_file.c:543
 #, c-format
 msgid "_Select mark %d"
 msgstr "_Selecionar a marcação %d"
 
-#: ../src/layout_util.c:1674 ../src/view_file.c:544
+#: ../src/layout_util.c:1708 ../src/view_file.c:544
 #, c-format
 msgid "_Add mark %d"
 msgstr "_Adicionar a marcação %d"
 
-#: ../src/layout_util.c:1674
+#: ../src/layout_util.c:1708
 #, c-format
 msgid "Add mark %d"
 msgstr "Adicionar a marcação %d"
 
-#: ../src/layout_util.c:1675 ../src/view_file.c:545
+#: ../src/layout_util.c:1709 ../src/view_file.c:545
 #, c-format
 msgid "_Intersection with mark %d"
 msgstr "_Interseção com a marcação %d"
 
-#: ../src/layout_util.c:1675
+#: ../src/layout_util.c:1709
 #, c-format
 msgid "Intersection with mark %d"
 msgstr "Interseção com a marcação %d"
 
-#: ../src/layout_util.c:1676 ../src/view_file.c:546
+#: ../src/layout_util.c:1710 ../src/view_file.c:546
 #, c-format
 msgid "_Unselect mark %d"
 msgstr "De_sselecionar a marcação %d"
 
-#: ../src/layout_util.c:1676
+#: ../src/layout_util.c:1710
 #, c-format
 msgid "Unselect mark %d"
 msgstr "Desselecionar a marcação %d"
 
-#: ../src/layout_util.c:1677
+#: ../src/layout_util.c:1711
 #, c-format
 msgid "_Filter mark %d"
-msgstr "_Filtrar a marcação %d"
-
-#: ../src/layout_util.c:1677
+msgstr "_Habilitar/Desabilitar o filtro da marcação %d"
+
+#: ../src/layout_util.c:1711
 #, c-format
 msgid "Filter mark %d"
-msgstr "Filtrar a marcação %d"
-
-#: ../src/layout_util.c:2205
+msgstr "Habilitar/Desabilitar o filtro da marcação %d"
+
+#: ../src/layout_util.c:2238
 #, c-format
 msgid "Number of files with unsaved metadata: %d"
 msgstr "Número de arquivos com metadados não salvos: %d"
 
-#: ../src/layout_util.c:2211
+#: ../src/layout_util.c:2244
 msgid "No unsaved metadata"
 msgstr "Nenhum metadado não salvo"
 
-#: ../src/layout_util.c:2258
+#: ../src/layout_util.c:2291
 #, c-format
 msgid ""
 "Image profile: %s\n"
@@ -3046,15 +3095,15 @@
 "Perfil da imagem: %s\n"
 "Perfil da tela: %s"
 
-#: ../src/layout_util.c:2266
+#: ../src/layout_util.c:2299
 msgid "Click to enable color management"
 msgstr "Clicar para habilitar a gestão de cores"
 
-#: ../src/layout_util.c:2271
+#: ../src/layout_util.c:2304
 msgid "Color profiles not supported"
 msgstr "Perfis de cor não suportados"
 
-#: ../src/layout_util.c:2293
+#: ../src/layout_util.c:2326
 #, c-format
 msgid "Input _%d: %s"
 msgstr "Entrada _%d: %s"
@@ -3085,7 +3134,7 @@
 msgid "Log"
 msgstr "Log"
 
-#: ../src/main.c:321
+#: ../src/main.c:320
 #, c-format
 msgid ""
 "Usage: %s [options] [path]\n"
@@ -3094,57 +3143,57 @@
 "Uso: %s [opções] [caminho]\n"
 "\n"
 
-#: ../src/main.c:322
+#: ../src/main.c:321
 msgid "valid options are:\n"
 msgstr "opções válidas são:\n"
 
-#: ../src/main.c:323
+#: ../src/main.c:322
 msgid "  +t, --with-tools           force show of tools\n"
 msgstr "  +t, --with-tools          forçar a exibição das ferramentas\n"
 
+#: ../src/main.c:323
+msgid "  -t, --without-tools        force hide of tools\n"
+msgstr "  -t, --without-tools       forçar o ocultamento das ferramentas\n"
+
 #: ../src/main.c:324
-msgid "  -t, --without-tools        force hide of tools\n"
-msgstr "  -t, --without-tools       forçar o ocultamento das ferramentas\n"
+msgid "  -f, --fullscreen           start in full screen mode\n"
+msgstr "  -f, --fullscreen          iniciar no modo de tela-cheia\n"
 
 #: ../src/main.c:325
-msgid "  -f, --fullscreen           start in full screen mode\n"
-msgstr "  -f, --fullscreen          iniciar no modo de tela-cheia\n"
-
-#: ../src/main.c:326
 msgid "  -s, --slideshow            start in slideshow mode\n"
 msgstr ""
 "  -s, --slideshow           iniciar no modo de apresentação de slides\n"
 
-#: ../src/main.c:327
+#: ../src/main.c:326
 msgid "  -l, --list                 open collection window for command line\n"
 msgstr ""
 "  -l, --list                abrir a janela de coleção para a linha de "
 "comando\n"
 
-#: ../src/main.c:328
+#: ../src/main.c:327
 msgid "      --geometry=GEOMETRY    set main window location\n"
 msgstr ""
 "      --geometry=GEOMETRIA  definir a localização da janela principal\n"
 
-#: ../src/main.c:329
+#: ../src/main.c:328
 msgid "  -r, --remote               send following commands to open window\n"
 msgstr ""
 "  -r, --remote              enviar os seguintes comandos para a janela "
 "aberta\n"
 
-#: ../src/main.c:330
+#: ../src/main.c:329
 msgid "  -rh,--remote-help          print remote command list\n"
 msgstr "  -rh,--remote-help         exibir a lista de comandos remotos\n"
 
-#: ../src/main.c:332
+#: ../src/main.c:331
 msgid "  --debug[=level]            turn on debug output\n"
 msgstr "      --debug[=nível]       ativar a saída de depuração\n"
 
-#: ../src/main.c:334
+#: ../src/main.c:333
 msgid "  -v, --version              print version info\n"
 msgstr "  -v, --version             exibir as informações da versão\n"
 
-#: ../src/main.c:335
+#: ../src/main.c:334
 msgid ""
 "  -h, --help                 show this message\n"
 "\n"
@@ -3152,7 +3201,7 @@
 "  -h, --help                exibir esta mensagem\n"
 "\n"
 
-#: ../src/main.c:347
+#: ../src/main.c:346
 #, c-format
 msgid ""
 "invalid or ignored: %s\n"
@@ -3161,11 +3210,11 @@
 "inválido ou ignorado: %s\n"
 "Use --help para as opções\n"
 
-#: ../src/main.c:376
+#: ../src/main.c:375
 msgid "Invalid or ignored remote options: "
 msgstr "Opções remotas inválidas ou ignoradas:"
 
-#: ../src/main.c:385
+#: ../src/main.c:384
 msgid ""
 "\n"
 "Use --remote-help for valid remote options.\n"
@@ -3173,22 +3222,22 @@
 "\n"
 "Use --remote-help para opções remotas válidas.\n"
 
-#: ../src/main.c:487
+#: ../src/main.c:486
 #, c-format
 msgid "Creating %s dir:%s\n"
 msgstr "Criando o dir %s:%s\n"
 
-#: ../src/main.c:491
+#: ../src/main.c:490
 #, c-format
 msgid "Could not create dir:%s\n"
 msgstr "Não pude criar o diretório:%s\n"
 
-#: ../src/main.c:543
+#: ../src/main.c:542
 #, c-format
 msgid "error saving file: %s\n"
 msgstr "erro ao salvar o arquivo: %s\n"
 
-#: ../src/main.c:562
+#: ../src/main.c:561
 #, c-format
 msgid ""
 "error saving file: %s\n"
@@ -3197,20 +3246,20 @@
 "erro ao salvar o arquivo: %s\n"
 "erro:%s\n"
 
-#: ../src/main.c:670
+#: ../src/main.c:669
 msgid "exit"
 msgstr "sair"
 
-#: ../src/main.c:675
+#: ../src/main.c:674
 #, c-format
 msgid "Quit %s"
 msgstr "Sair %s"
 
-#: ../src/main.c:677
+#: ../src/main.c:676
 msgid "Collections have been modified. Quit anyway?"
 msgstr "Coleções foram modificadas. Sair mesmo assim?"
 
-#: ../src/main.c:878 ../src/remote.c:601
+#: ../src/main.c:876 ../src/remote.c:601
 msgid "Command line"
 msgstr "Linha de comando"
 
@@ -3223,409 +3272,410 @@
 msgstr "Ordenar pela data"
 
 #: ../src/menu.c:139
+#, fuzzy
+msgid "Sort by Exif-date"
+msgstr "Ordenar pela data E_xif"
+
+#: ../src/menu.c:142
 msgid "Unsorted"
 msgstr "Não ordenado"
 
-#: ../src/menu.c:142
+#: ../src/menu.c:145
 msgid "Sort by path"
 msgstr "Ordenar pelo caminho"
 
-#: ../src/menu.c:145
+#: ../src/menu.c:148
 msgid "Sort by number"
 msgstr "Ordenar pelo número"
 
-#: ../src/menu.c:149
+#: ../src/menu.c:152
 msgid "Sort by name"
 msgstr "Ordenar pelo nome"
 
-#: ../src/menu.c:199
+#: ../src/menu.c:203
 msgid "Sort"
 msgstr "Ordenar"
 
-#: ../src/menu.c:224
+#: ../src/menu.c:228
 msgid "Rotate _180"
 msgstr "Girar _180"
 
-#: ../src/metadata.c:1443
+#: ../src/metadata.c:1599
 msgid "People"
 msgstr "Pessoas"
 
-#: ../src/metadata.c:1444
+#: ../src/metadata.c:1600
 msgid "Family"
 msgstr "Família"
 
-#: ../src/metadata.c:1445
+#: ../src/metadata.c:1601
 msgid "Free time"
 msgstr "Tempo livre"
 
-#: ../src/metadata.c:1446
+#: ../src/metadata.c:1602
 msgid "Children"
 msgstr "Crianças"
 
-#: ../src/metadata.c:1447
+#: ../src/metadata.c:1603
 msgid "Sport"
 msgstr "Esporte"
 
-#: ../src/metadata.c:1448
+#: ../src/metadata.c:1604
 msgid "Culture"
 msgstr "Cultura"
 
-#: ../src/metadata.c:1449
+#: ../src/metadata.c:1605
 msgid "Festival"
 msgstr "Festival"
 
-#: ../src/metadata.c:1450
+#: ../src/metadata.c:1606
 msgid "Nature"
 msgstr "Natureza"
 
-#: ../src/metadata.c:1451
+#: ../src/metadata.c:1607
 msgid "Animal"
 msgstr "Animal"
 
-#: ../src/metadata.c:1452
+#: ../src/metadata.c:1608
 msgid "Bird"
 msgstr "Ave"
 
-#: ../src/metadata.c:1453
+#: ../src/metadata.c:1609
 msgid "Insect"
 msgstr "Inseto"
 
-#: ../src/metadata.c:1454
+#: ../src/metadata.c:1610
 msgid "Pets"
 msgstr "Animais de estimação"
 
-#: ../src/metadata.c:1455
+#: ../src/metadata.c:1611
 msgid "Wildlife"
 msgstr "Vida selvagem"
 
-#: ../src/metadata.c:1456
+#: ../src/metadata.c:1612
 msgid "Zoo"
 msgstr "Zoo"
 
-#: ../src/metadata.c:1457
+#: ../src/metadata.c:1613
 msgid "Plant"
 msgstr "Planta"
 
-#: ../src/metadata.c:1458
+#: ../src/metadata.c:1614
 msgid "Tree"
 msgstr "Ãrvore"
 
-#: ../src/metadata.c:1459
+#: ../src/metadata.c:1615
 msgid "Flower"
 msgstr "Flor"
 
-#: ../src/metadata.c:1460
+#: ../src/metadata.c:1616
 msgid "Water"
 msgstr "Ãgua"
 
-#: ../src/metadata.c:1461
+#: ../src/metadata.c:1617
 msgid "River"
 msgstr "Rio"
 
-#: ../src/metadata.c:1462
+#: ../src/metadata.c:1618
 msgid "Lake"
 msgstr "Lago"
 
-#: ../src/metadata.c:1463
+#: ../src/metadata.c:1619
 msgid "Sea"
 msgstr "Mar"
 
-#: ../src/metadata.c:1464 ../src/print.c:375
+#: ../src/metadata.c:1620 ../src/print.c:375
 msgid "Landscape"
 msgstr "Paisagem"
 
-#: ../src/metadata.c:1465
+#: ../src/metadata.c:1621
 msgid "Art"
 msgstr "Arte"
 
-#: ../src/metadata.c:1466
+#: ../src/metadata.c:1622
 msgid "Statue"
 msgstr "Estátua"
 
-#: ../src/metadata.c:1467
+#: ../src/metadata.c:1623
 msgid "Painting"
 msgstr "Pintura"
 
-#: ../src/metadata.c:1468 ../src/metadata.c:1482
+#: ../src/metadata.c:1624 ../src/metadata.c:1638
 msgid "Historic"
 msgstr "Histórico"
 
-#: ../src/metadata.c:1469 ../src/metadata.c:1483
+#: ../src/metadata.c:1625 ../src/metadata.c:1639
 msgid "Modern"
 msgstr "Moderno"
 
-#: ../src/metadata.c:1470
+#: ../src/metadata.c:1626
 msgid "City"
 msgstr "Cidade"
 
-#: ../src/metadata.c:1471
+#: ../src/metadata.c:1627
 msgid "Park"
 msgstr "Parque"
 
-#: ../src/metadata.c:1472
+#: ../src/metadata.c:1628
 msgid "Street"
 msgstr "Rua"
 
-#: ../src/metadata.c:1473
+#: ../src/metadata.c:1629
 msgid "Square"
 msgstr "Praça"
 
-#: ../src/metadata.c:1474
+#: ../src/metadata.c:1630
 msgid "Architecture"
 msgstr "Arquitetura"
 
-#: ../src/metadata.c:1475
+#: ../src/metadata.c:1631
 msgid "Buildings"
 msgstr "Edificações"
 
-#: ../src/metadata.c:1476
+#: ../src/metadata.c:1632
 msgid "House"
 msgstr "Casa"
 
-#: ../src/metadata.c:1477
+#: ../src/metadata.c:1633
 msgid "Cathedral"
 msgstr "Catedral"
 
-#: ../src/metadata.c:1478
+#: ../src/metadata.c:1634
 msgid "Palace"
 msgstr "Palácio"
 
-#: ../src/metadata.c:1479
+#: ../src/metadata.c:1635
 msgid "Castle"
 msgstr "Castelo"
 
-#: ../src/metadata.c:1480
+#: ../src/metadata.c:1636
 msgid "Bridge"
 msgstr "Ponte"
 
-#: ../src/metadata.c:1481
+#: ../src/metadata.c:1637
 msgid "Interior"
 msgstr "Interior"
 
-#: ../src/metadata.c:1484
+#: ../src/metadata.c:1640
 msgid "Places"
 msgstr "Lugares"
 
-#: ../src/metadata.c:1485
+#: ../src/metadata.c:1641
 msgid "Conditions"
 msgstr "Condições"
 
-#: ../src/metadata.c:1486
+#: ../src/metadata.c:1642
 msgid "Night"
 msgstr "Noite"
 
-#: ../src/metadata.c:1487
+#: ../src/metadata.c:1643
 msgid "Lights"
 msgstr "Luzes"
 
-#: ../src/metadata.c:1488
+#: ../src/metadata.c:1644
 msgid "Reflections"
 msgstr "Reflexos"
 
-#: ../src/metadata.c:1489
+#: ../src/metadata.c:1645
 msgid "Sun"
 msgstr "Sol"
 
-#: ../src/metadata.c:1490
+#: ../src/metadata.c:1646
 msgid "Weather"
 msgstr "Clima"
 
-#: ../src/metadata.c:1491
+#: ../src/metadata.c:1647
 msgid "Fog"
 msgstr "Neblina"
 
-#: ../src/metadata.c:1492
+#: ../src/metadata.c:1648
 msgid "Rain"
 msgstr "Chuva"
 
-#: ../src/metadata.c:1493
+#: ../src/metadata.c:1649
 msgid "Clouds"
 msgstr "Nuvens"
 
-#: ../src/metadata.c:1494
+#: ../src/metadata.c:1650
 msgid "Snow"
 msgstr "Neve"
 
-#: ../src/metadata.c:1495
+#: ../src/metadata.c:1651
 msgid "Sunny weather"
 msgstr "Tempo ensolarado"
 
-#: ../src/metadata.c:1496
+#: ../src/metadata.c:1652
 msgid "Photo"
 msgstr "Foto"
 
-#: ../src/metadata.c:1497
+#: ../src/metadata.c:1653
 msgid "Edited"
 msgstr "Editado"
 
-#: ../src/metadata.c:1498
+#: ../src/metadata.c:1654
 msgid "Detail"
 msgstr "Detalhe"
 
-#: ../src/metadata.c:1499
+#: ../src/metadata.c:1655
 msgid "Macro"
 msgstr "Macro"
 
-#: ../src/metadata.c:1500 ../src/print.c:374
+#: ../src/metadata.c:1656 ../src/print.c:374
 msgid "Portrait"
 msgstr "Retrato"
 
-#: ../src/metadata.c:1501
+#: ../src/metadata.c:1657
 msgid "Black and White"
 msgstr "Branco e preto"
 
-#: ../src/metadata.c:1502
+#: ../src/metadata.c:1658
 msgid "Perspective"
 msgstr "Perspectiva"
 
-#: ../src/options.c:138 ../src/ui_bookmark.c:550
+#: ../src/options.c:145 ../src/ui_bookmark.c:556
 msgid "Desktop"
 msgstr "Ãrea de trabalho"
 
-#: ../src/pan-view.c:472
+#: ../src/pan-view.c:423
 #, c-format
 msgid "%d images, %s"
 msgstr "%d imagens, %s"
 
-#: ../src/pan-view.c:482
+#: ../src/pan-view.c:433
 #, c-format
 msgid "The pan view does not support the folder \"%s\"."
 msgstr "A visualização panorâmica não suporta o diretório \"%s\"."
 
-#: ../src/pan-view.c:483
+#: ../src/pan-view.c:434
 msgid "Folder not supported"
 msgstr "Diretório não suportado"
 
-#: ../src/pan-view.c:1084 ../src/pan-view.c:1100
+#: ../src/pan-view.c:986 ../src/pan-view.c:1002
 msgid "Reading image data..."
 msgstr "Lendo os dados da imagem..."
 
-#: ../src/pan-view.c:1159
+#: ../src/pan-view.c:1061
 msgid "Sorting images..."
 msgstr "Ordenando as imagens..."
 
-#: ../src/pan-view.c:1546 ../src/print.c:2601
+#: ../src/pan-view.c:1365 ../src/print.c:2599
 msgid "Filename:"
 msgstr "Nome do arquivo:"
 
-#: ../src/pan-view.c:1548 ../src/pan-view.c:2384 ../src/preferences.c:1353
+#: ../src/pan-view.c:1367 ../src/pan-view.c:2183 ../src/preferences.c:1378
 msgid "Location:"
 msgstr "Localização:"
 
-#: ../src/pan-view.c:1550 ../src/pan-view.c:1916
+#: ../src/pan-view.c:1369 ../src/pan-view.c:1735
 msgid "Date:"
 msgstr "Data:"
 
-#: ../src/pan-view.c:1552 ../src/preferences.c:1174 ../src/print.c:3214
-#: ../src/print.c:3425
+#: ../src/pan-view.c:1371 ../src/preferences.c:1204 ../src/print.c:3212
+#: ../src/print.c:3417
 msgid "Size:"
 msgstr "Tamanho:"
 
-#: ../src/pan-view.c:1654
+#: ../src/pan-view.c:1473
 msgid "path found"
 msgstr "caminho encontrado"
 
-#: ../src/pan-view.c:1654
+#: ../src/pan-view.c:1473
 msgid "filename found"
 msgstr "nome de arquivo encontrado"
 
-#: ../src/pan-view.c:1702
+#: ../src/pan-view.c:1521
 msgid "partial match"
 msgstr "combinação parcial"
 
-#: ../src/pan-view.c:1913 ../src/pan-view.c:1946
+#: ../src/pan-view.c:1732 ../src/pan-view.c:1765
 msgid "no match"
 msgstr "sem combinação"
 
-#: ../src/pan-view.c:2272 ../src/search.c:2219
+#: ../src/pan-view.c:2071 ../src/search.c:2169
 msgid "Folder not found"
 msgstr "Diretório não encontrado"
 
-#: ../src/pan-view.c:2273
+#: ../src/pan-view.c:2072
 msgid "The entered path is not a folder"
 msgstr "O caminho especificado não é um diretório"
 
-#: ../src/pan-view.c:2368
+#: ../src/pan-view.c:2167
 msgid "Pan View"
 msgstr "Visualização panorâmica"
 
-#: ../src/pan-view.c:2393
+#: ../src/pan-view.c:2192
 msgid "Timeline"
 msgstr "Linha do tempo"
 
-#: ../src/pan-view.c:2394
+#: ../src/pan-view.c:2193
 msgid "Calendar"
 msgstr "Calendário"
 
-#: ../src/pan-view.c:2396
+#: ../src/pan-view.c:2195
 msgid "Folders (flower)"
 msgstr "Diretórios (flor)"
 
-#: ../src/pan-view.c:2397
+#: ../src/pan-view.c:2196
 msgid "Grid"
 msgstr "Grade"
 
-#: ../src/pan-view.c:2406
+#: ../src/pan-view.c:2205
 msgid "Dots"
 msgstr "Pontos"
 
-#: ../src/pan-view.c:2407
+#: ../src/pan-view.c:2206
 msgid "No Images"
 msgstr "Sem imagens"
 
-#: ../src/pan-view.c:2408
+#: ../src/pan-view.c:2207
 msgid "Small Thumbnails"
 msgstr "Miniaturas pequenas"
 
-#: ../src/pan-view.c:2409
+#: ../src/pan-view.c:2208
 msgid "Normal Thumbnails"
 msgstr "Miniaturas normais"
 
-#: ../src/pan-view.c:2410
+#: ../src/pan-view.c:2209
 msgid "Large Thumbnails"
 msgstr "Miniaturas grandes"
 
-#: ../src/pan-view.c:2411 ../src/pan-view.c:2871
+#: ../src/pan-view.c:2210 ../src/pan-view.c:2665
 msgid "1:10 (10%)"
 msgstr "1:10 (10%)"
 
-#: ../src/pan-view.c:2412 ../src/pan-view.c:2867
+#: ../src/pan-view.c:2211 ../src/pan-view.c:2661
 msgid "1:4 (25%)"
 msgstr "1:4 (25%)"
 
-#: ../src/pan-view.c:2413 ../src/pan-view.c:2863
+#: ../src/pan-view.c:2212 ../src/pan-view.c:2657
 msgid "1:3 (33%)"
 msgstr "1:3 (33%)"
 
-#: ../src/pan-view.c:2414 ../src/pan-view.c:2859
+#: ../src/pan-view.c:2213 ../src/pan-view.c:2653
 msgid "1:2 (50%)"
 msgstr "1:2 (50%)"
 
-#: ../src/pan-view.c:2415
+#: ../src/pan-view.c:2214
 msgid "1:1 (100%)"
 msgstr "1:1 (100%)"
 
-#: ../src/pan-view.c:2463
+#: ../src/pan-view.c:2262
 msgid "Find:"
 msgstr "Localizar:"
 
-#: ../src/pan-view.c:2506
-msgid "Use Exif date"
-msgstr "Usar data Exif"
-
-#: ../src/pan-view.c:2519
+#: ../src/pan-view.c:2313
 msgid "Find"
 msgstr "Localizar"
 
-#: ../src/pan-view.c:2586
+#: ../src/pan-view.c:2380
 msgid "Pan View Performance"
 msgstr "Desempenho da visualização panorâmica"
 
-#: ../src/pan-view.c:2593
+#: ../src/pan-view.c:2387
 msgid "Pan view performance may be poor."
 msgstr "O desempenho da visualização panorâmica pode ser fraco."
 
-#: ../src/pan-view.c:2594
+#: ../src/pan-view.c:2388
 msgid ""
 "To improve performance of thumbnails in the pan view the following options "
 "can be enabled. Note that both options must be enabled to notice a change in "
@@ -3635,35 +3685,35 @@
 "seguintes opções podem ser habilitadas. Note que ambas as opções devem ser "
 "habilitadas para que seja notada uma melhora no desempenho."
 
-#: ../src/pan-view.c:2602 ../src/preferences.c:1177
+#: ../src/pan-view.c:2396 ../src/preferences.c:1207
 msgid "Cache thumbnails"
 msgstr "Pôr as miniaturas em cache"
 
-#: ../src/pan-view.c:2604
+#: ../src/pan-view.c:2398
 msgid "Use shared thumbnail cache"
 msgstr "Usar cache de miniaturas compartilhado"
 
-#: ../src/pan-view.c:2610
+#: ../src/pan-view.c:2404
 msgid "Do not show this dialog again"
 msgstr "Não exibir esta mensagem novamente"
 
-#: ../src/pan-view.c:2839
+#: ../src/pan-view.c:2633
 msgid "Sort by E_xif date"
 msgstr "Ordenar pela data E_xif"
 
-#: ../src/pan-view.c:2845
+#: ../src/pan-view.c:2639
 msgid "_Show Exif information"
 msgstr "_Exibir a informação do Exif"
 
-#: ../src/pan-view.c:2847
+#: ../src/pan-view.c:2641
 msgid "Show im_age"
 msgstr "Exibir a im_agem"
 
-#: ../src/pan-view.c:2851
+#: ../src/pan-view.c:2645
 msgid "_None"
 msgstr "_Nenhum"
 
-#: ../src/pan-view.c:2855
+#: ../src/pan-view.c:2649
 msgid "_Full size"
 msgstr "_Tamanho natural"
 
@@ -3675,43 +3725,70 @@
 msgid "RAW Image"
 msgstr "Imagem RAW"
 
-#: ../src/preferences.c:417
+#: ../src/preferences.c:430
 msgid "Nearest (worst, but fastest)"
 msgstr "O mais próximo (o pior mas o mais rápido)"
 
-#: ../src/preferences.c:419
+#: ../src/preferences.c:432
 msgid "Tiles"
 msgstr "Azulejos"
 
-#: ../src/preferences.c:421
+#: ../src/preferences.c:434
 msgid "Bilinear"
 msgstr "Bilinear"
 
-#: ../src/preferences.c:423
+#: ../src/preferences.c:436
 msgid "Hyper (best, but slowest)"
 msgstr "Hyper (o melhor mas o mais lento)"
 
-#: ../src/preferences.c:451
-msgid "None"
-msgstr "Nenhum"
-
-#: ../src/preferences.c:452
-msgid "Normal"
-msgstr "Normal"
-
-#: ../src/preferences.c:453
-msgid "Best"
-msgstr "O melhor"
-
-#: ../src/preferences.c:515 ../src/print.c:380
+#: ../src/preferences.c:501 ../src/print.c:380
 msgid "Custom"
 msgstr "Personalizado"
 
-#: ../src/preferences.c:757 ../src/preferences.c:760
+#: ../src/preferences.c:566
+#, fuzzy
+msgid "Single image"
+msgstr "próxima imagem"
+
+#: ../src/preferences.c:568
+msgid "Anaglyph Red-Cyan"
+msgstr ""
+
+#: ../src/preferences.c:570
+msgid "Anaglyph Gray Red-Cyan"
+msgstr ""
+
+#: ../src/preferences.c:572
+msgid "Anaglyph Dubois"
+msgstr ""
+
+#: ../src/preferences.c:575
+msgid "Side by Side"
+msgstr ""
+
+#: ../src/preferences.c:576
+msgid "Side by Side Half size"
+msgstr ""
+
+#: ../src/preferences.c:583
+#, fuzzy
+msgid "Top - Bottom"
+msgstr "Inferior:"
+
+#: ../src/preferences.c:584
+msgid "Top - Bottom Half size"
+msgstr ""
+
+#: ../src/preferences.c:593 ../src/preferences.c:2031
+#, fuzzy
+msgid "Fixed position"
+msgstr "Posição do GPS"
+
+#: ../src/preferences.c:890 ../src/preferences.c:893
 msgid "Reset filters"
 msgstr "Redefinir os filtros"
 
-#: ../src/preferences.c:761
+#: ../src/preferences.c:894
 msgid ""
 "This will reset the file filters to the defaults.\n"
 "Continue?"
@@ -3719,19 +3796,19 @@
 "Isto redefinirá os filtros de arquivo para os valores padrão.\n"
 "Continuar?"
 
-#: ../src/preferences.c:788 ../src/preferences.c:791
+#: ../src/preferences.c:921 ../src/preferences.c:924
 msgid "Clear trash"
 msgstr "Limpar a lixeira"
 
-#: ../src/preferences.c:792
+#: ../src/preferences.c:925
 msgid "This will remove the trash contents."
 msgstr "Isto removerá o conteúdo da lixeira"
 
-#: ../src/preferences.c:836 ../src/preferences.c:839
+#: ../src/preferences.c:969 ../src/preferences.c:972
 msgid "Reset image overlay template string"
 msgstr "Redefinir a cadeia do gabarito do overlay da imagem"
 
-#: ../src/preferences.c:840
+#: ../src/preferences.c:973
 msgid ""
 "This will reset the image overlay template string to the default.\n"
 "Continue?"
@@ -3740,20 +3817,20 @@
 "padrão.\n"
 "Continuar?"
 
-#: ../src/preferences.c:1169
+#: ../src/preferences.c:1199
 msgid "General"
 msgstr "Geral"
 
-#: ../src/preferences.c:1175 ../src/preferences.c:1248
+#: ../src/preferences.c:1205 ../src/preferences.c:1265
 msgid "Quality:"
 msgstr "Qualidade:"
 
-#: ../src/preferences.c:1183
+#: ../src/preferences.c:1213
 msgid "Use standard thumbnail cache, shared with other applications"
 msgstr ""
 "Usar o cache de miniaturas standard, compartilhado com outras aplicações"
 
-#: ../src/preferences.c:1189
+#: ../src/preferences.c:1219
 msgid ""
 "Store thumbnails in '.thumbnails' folder, local to image folder (non-"
 "standard)"
@@ -3761,180 +3838,178 @@
 "Guardar as miniaturas no diretório '.thumbnails', local ao diretório de "
 "imagens (não standard)"
 
-#: ../src/preferences.c:1193
-msgid "Use xvpics thumbnails when found (read only)"
-msgstr "Usar miniaturas xvpics quando encontradas (somente leitura)"
-
-#: ../src/preferences.c:1197
+#: ../src/preferences.c:1222
 msgid "Use EXIF thumbnails when available (EXIF thumbnails may be outdated)"
 msgstr ""
 "Usar miniaturas Exif se disponíveis (as miniaturas Exif podem estar "
 "desatualizadas)"
 
-#: ../src/preferences.c:1200
+#: ../src/preferences.c:1225
 msgid "Slide show"
 msgstr "Apresentação de slides"
 
-#: ../src/preferences.c:1203
+#: ../src/preferences.c:1228
 msgid "Delay between image change:"
 msgstr "Atraso entre a mudança de imagens:"
 
-#: ../src/preferences.c:1203
+#: ../src/preferences.c:1228
 msgid "seconds"
 msgstr "segundos"
 
-#: ../src/preferences.c:1209
+#: ../src/preferences.c:1234
 msgid "Random"
 msgstr "Aleatório"
 
-#: ../src/preferences.c:1210
+#: ../src/preferences.c:1235
 msgid "Repeat"
 msgstr "Repetir"
 
-#: ../src/preferences.c:1212
+#: ../src/preferences.c:1237
 msgid "Image loading and caching"
 msgstr "Carregamento e cacheamento das imagens"
 
-#: ../src/preferences.c:1215
-msgid "Offscreen cache size (Mb per image):"
-msgstr "Tamanho do cache não visível (Mb por imagem)"
-
-#: ../src/preferences.c:1219
+#: ../src/preferences.c:1239
 msgid "Decoded image cache size (Mb):"
 msgstr "Tamanho do cache da imagem decodificada (Mb)"
 
-#: ../src/preferences.c:1221
+#: ../src/preferences.c:1241
 msgid "Preload next image"
 msgstr "Precarregar próxima imagem"
 
-#: ../src/preferences.c:1224
+#: ../src/preferences.c:1244
 msgid "Refresh on file change"
 msgstr "Atualizar na mudança de arquivo"
 
-#: ../src/preferences.c:1242
+#: ../src/preferences.c:1262
 msgid "Zoom"
 msgstr "Zoom"
 
-#: ../src/preferences.c:1245
-msgid "Dithering method:"
-msgstr "Método de dithering:"
-
-#: ../src/preferences.c:1250
+#: ../src/preferences.c:1268
+msgid "Use GPU acceleration via Clutter library"
+msgstr ""
+
+#: ../src/preferences.c:1272
 msgid "Two pass rendering (apply HQ zoom and color correction in second pass)"
 msgstr ""
 "Renderização em duas passagens (aplicar zoom HQ e correção de cor na segunda "
 "passagem)"
 
-#: ../src/preferences.c:1253
+#: ../src/preferences.c:1275
 msgid "Allow enlargement of image for zoom to fit"
 msgstr "Permitir o alargamento da imagem para o zoom ajustado"
 
-#: ../src/preferences.c:1257
+#: ../src/preferences.c:1279
 msgid "Limit image size when autofitting (%):"
 msgstr "Limitar o tamanho da imagem quando autoajustar (%):"
 
-#: ../src/preferences.c:1265
+#: ../src/preferences.c:1287
 msgid "Zoom increment:"
 msgstr "Incremento do zoom:"
 
-#: ../src/preferences.c:1270
+#: ../src/preferences.c:1292
 msgid "When new image is selected:"
 msgstr "Quando uma nova imagem é selecionada:"
 
-#: ../src/preferences.c:1274
+#: ../src/preferences.c:1296
 msgid "Zoom to original size"
 msgstr "Zoom para o tamanho original"
 
-#: ../src/preferences.c:1277
+#: ../src/preferences.c:1299
 msgid "Fit image to window"
 msgstr "Ajustar a imagem à janela"
 
-#: ../src/preferences.c:1280
+#: ../src/preferences.c:1302
 msgid "Leave Zoom at previous setting"
 msgstr "Deixar o zoom na configuração anterior"
 
-#: ../src/preferences.c:1286
+#: ../src/preferences.c:1308
 msgid "Scroll to top left corner"
 msgstr "Deslocar para o canto superior esquerdo"
 
-#: ../src/preferences.c:1289
+#: ../src/preferences.c:1311
 msgid "Scroll to image center"
 msgstr "Deslocar para o centro da imagem"
 
-#: ../src/preferences.c:1292
+#: ../src/preferences.c:1314
 msgid "Keep the region from previous image"
 msgstr "Manter a região da imagem anterior"
 
-#: ../src/preferences.c:1297
+#: ../src/preferences.c:1319
 msgid "Appearance"
 msgstr "Aparência"
 
-#: ../src/preferences.c:1299
+#: ../src/preferences.c:1321
 msgid "Use custom border color in window mode"
 msgstr "Usar cor da borda personalizada no modo de janela"
 
-#: ../src/preferences.c:1302
+#: ../src/preferences.c:1324
 msgid "Use custom border color in fullscreen mode"
 msgstr "Usar cor da borda personalizada no modo de tela cheia"
 
-#: ../src/preferences.c:1305
+#: ../src/preferences.c:1327
 msgid "Border color"
 msgstr "Cor da borda"
 
-#: ../src/preferences.c:1308
+#: ../src/preferences.c:1330
 msgid "Convenience"
 msgstr "Conveniência"
 
-#: ../src/preferences.c:1310
+#: ../src/preferences.c:1332
 msgid "Auto rotate image using Exif information"
 msgstr "Autorotacionar a imagem usando a informação Exif"
 
-#: ../src/preferences.c:1327
+#: ../src/preferences.c:1335
+#, fuzzy
+msgid "Auto rotate proofs using Exif information"
+msgstr "Autorotacionar a imagem usando a informação Exif"
+
+#: ../src/preferences.c:1352
 msgid "Windows"
 msgstr "Janelas"
 
-#: ../src/preferences.c:1329
+#: ../src/preferences.c:1354
 msgid "State"
 msgstr "Estado"
 
-#: ../src/preferences.c:1331
+#: ../src/preferences.c:1356
 msgid "Remember window positions"
 msgstr "Lembrar as posições das janelas"
 
-#: ../src/preferences.c:1333
+#: ../src/preferences.c:1358
 msgid "Remember tool state (float/hidden)"
 msgstr "Lembrar o estado das ferramentas (flutuantes/ocultas)"
 
-#: ../src/preferences.c:1338
+#: ../src/preferences.c:1363
 msgid "Fit window to image when tools are hidden/floating"
 msgstr ""
 "Ajustar a janela à imagem quando as ferramentas estiverem flutuando/ocultas"
 
-#: ../src/preferences.c:1342
+#: ../src/preferences.c:1367
 msgid "Limit size when auto-sizing window (%):"
 msgstr "Limitar o tamanho quando autodimensionar a janela (%):"
 
-#: ../src/preferences.c:1357
+#: ../src/preferences.c:1382
 msgid "Smooth image flip"
 msgstr "Troca de imagem suave "
 
-#: ../src/preferences.c:1359
+#: ../src/preferences.c:1384
 msgid "Disable screen saver"
 msgstr "Desabilitar o protetor de tela"
 
-#: ../src/preferences.c:1363
+#: ../src/preferences.c:1388
 msgid "Overlay Screen Display"
 msgstr "Exibição do overlay da tela"
 
-#: ../src/preferences.c:1365
+#: ../src/preferences.c:1390
 msgid "Image overlay template"
 msgstr "Gabarito do overlay da imagem"
 
-#: ../src/preferences.c:1379
+#: ../src/preferences.c:1403
+#, fuzzy
 msgid ""
 "<i>%name%</i> results in the filename of the picture.\n"
-"Also available: <i>%collection%</i>, <i>%number%</i>, <i>%total%</i>, <i>%"
-"date%</i>,\n"
+"Also available: <i>%collection%</i>, <i>%number%</i>, <i>%total%</i>, <i>"
+"%date%</i>,\n"
 "<i>%size%</i> (filesize), <i>%width%</i>, <i>%height%</i>, <i>%res%</i> "
 "(resolution)\n"
 "To access exif data use the exif name, e. g. <i>%formatted.Camera%</i> is "
@@ -3944,18 +4019,18 @@
 "characters and will add 3 dots at the end to denote the truncation.\n"
 "If two or more variables are connected with the |-sign, it prints available "
 "variables with a separator.\n"
-"<i>%formatted.ShutterSpeed%</i>|<i>%formatted.ISOSpeedRating%</i>|<i>%"
-"formatted.FocalLength%</i> could show \"1/20s - 400 - 80 mm\" or \"1/200 - "
+"<i>%formatted.ShutterSpeed%</i>|<i>%formatted.ISOSpeedRating%</i>|<i>"
+"%formatted.FocalLength%</i> could show \"1/20s - 400 - 80 mm\" or \"1/200 - "
 "80 mm\",\n"
 "if there's no ISO information in the Exif data.\n"
-"If a line is empty, it is removed. This allows to add lines that totally "
+"If a line is empty, it is removed. This allows one to add lines that totally "
 "disappear when no data is available.\n"
 msgstr ""
 "<i>%name%</i> resulta no nome do arquivo da imagem.\n"
 "Também disponíveis: <i>%collection%</i>, <i>%number%</i>, <i>%total%</i>, <i>"
 "%date%</i>,\n"
-"<i>%size%</i> (tamanho do arquivo), <i>%width%</i>, <i>%height%</i>, <i>%res%"
-"</i> (resolução)\n"
+"<i>%size%</i> (tamanho do arquivo), <i>%width%</i>, <i>%height%</i>, <i>%res"
+"%</i> (resolução)\n"
 "Para acessar dados Exif use o nome Exif, p.ex. <i>%formatted.Camera%</i> é o "
 "nome da câmera formatada,\n"
 "<i>%Exif.Photo.DateTimeOriginal%</i> a data da captura original.\n"
@@ -3963,69 +4038,65 @@
 "caracteres e adicionará 3 pontos no final para denotar o truncamento.\n"
 "Se duas ou mais variáveis são conectadas pelo sinal | , imprime-se as "
 "variáveis disponíveis com um separador.\n"
-"<i>%formatted.ShutterSpeed%</i>|<i>%formatted.ISOSpeedRating%</i>|<i>%"
-"formatted.FocalLength%</i> poderia exibir \"1/20s - 400 - 80 mm\" ou \"1/200 "
-"- 80 mm\",\n"
+"<i>%formatted.ShutterSpeed%</i>|<i>%formatted.ISOSpeedRating%</i>|<i>"
+"%formatted.FocalLength%</i> poderia exibir \"1/20s - 400 - 80 mm\" ou "
+"\"1/200 - 80 mm\",\n"
 "se não houver informação ISO nos dados Exif.\n"
 "Se uma linha está vazia ela é removida. Isso possibilita que sejam "
 "adicionadas linhas que desaparecem totalmente se não houver dados "
 "disponíveis.\n"
 
-#: ../src/preferences.c:1396 ../src/preferences.c:1569
-#: ../src/preferences.c:1941
+#: ../src/preferences.c:1419 ../src/preferences.c:1591
+#: ../src/preferences.c:1960
 msgid "Defaults"
 msgstr "Padrões"
 
-#: ../src/preferences.c:1450
+#: ../src/preferences.c:1473
 msgid "Show hidden files or folders"
 msgstr "Exibir arquivos ou diretórios ocultos"
 
-#: ../src/preferences.c:1453
-msgid "Show dot directory"
-msgstr "Exibir diretório com ponto"
-
-#: ../src/preferences.c:1456
+#: ../src/preferences.c:1475
 msgid "Case sensitive sort"
 msgstr "Ordenação sensível ao caso"
 
-#: ../src/preferences.c:1459
+#: ../src/preferences.c:1478
 msgid "Disable File Filtering"
 msgstr "Desativar a filtragem de arquivos"
 
-#: ../src/preferences.c:1463
+#: ../src/preferences.c:1482
 msgid "Grouping sidecar extensions"
 msgstr "Ao agrupar extensões sidecar"
 
-#: ../src/preferences.c:1470
+#: ../src/preferences.c:1489
 msgid "File types"
 msgstr "Tipos de arquivo"
 
-#: ../src/preferences.c:1492
+#: ../src/preferences.c:1511
 msgid "Filter"
 msgstr "Filtro"
 
-#: ../src/preferences.c:1524
+#: ../src/preferences.c:1546
 msgid "Class"
 msgstr "Classe"
 
-#: ../src/preferences.c:1541
+#: ../src/preferences.c:1563
 msgid "Writable"
 msgstr "Escrevível"
 
-#: ../src/preferences.c:1552
+#: ../src/preferences.c:1574
 msgid "Sidecar is allowed"
 msgstr "Sidecar é permitido"
 
-#: ../src/preferences.c:1598
+#: ../src/preferences.c:1620
 msgid "Metadata writing process"
 msgstr "Processo de escrita dos metadados"
 
-#: ../src/preferences.c:1600
+#: ../src/preferences.c:1622
 msgid "Warning: Geeqie is built without Exiv2. Some options are disabled."
 msgstr ""
 "Atenção: O Geeqie é construído sem Exiv2. Algumas opções estão desabilitadas."
 
-#: ../src/preferences.c:1602
+#: ../src/preferences.c:1624
 msgid ""
 "Metadata are written in the following order. The process ends after first "
 "success."
@@ -4033,7 +4104,7 @@
 "Os metadados são escritos na seguinte ordem. O processo finaliza após o "
 "primeiro sucesso."
 
-#: ../src/preferences.c:1605
+#: ../src/preferences.c:1627
 msgid ""
 "1) Save metadata in image files, resp. sidecar files, according to the XMP "
 "standard"
@@ -4041,23 +4112,23 @@
 "1) Salvar metadados nos arquivos de imagem, respeitando arquivos sidecar, "
 "conforme o standard XMP"
 
-#: ../src/preferences.c:1611
+#: ../src/preferences.c:1633
 msgid ""
 "2) Save metadata in '.metadata' folder, local to image folder (non-standard)"
 msgstr ""
 "2) Salvar metadados no diretório '.metadata', local ao diretório de imagens "
 "(não standard)"
 
-#: ../src/preferences.c:1614
+#: ../src/preferences.c:1636
 #, c-format
 msgid "3) Save metadata in Geeqie private directory '%s'"
 msgstr "3) Salvar metadados no diretório privado do Geeqie '%s'"
 
-#: ../src/preferences.c:1619
+#: ../src/preferences.c:1642
 msgid "Step 1: Write to image files"
 msgstr "Passo 1: escrever nos arquivos de imagem"
 
-#: ../src/preferences.c:1627
+#: ../src/preferences.c:1650
 msgid ""
 "Store metadata also in legacy IPTC tags (converted according to IPTC4XMP "
 "standard)"
@@ -4065,19 +4136,19 @@
 "Guardar metadados também em etiquetas legadas IPTC (convertidas conforme o "
 "standard IPTC4XMP)"
 
-#: ../src/preferences.c:1630
+#: ../src/preferences.c:1653
 msgid "Warn if the image files are unwritable"
 msgstr "Alertar se os arquivos de imagem não forem escrevíveis"
 
-#: ../src/preferences.c:1633
+#: ../src/preferences.c:1656
 msgid "Ask before writing to image files"
 msgstr "Perguntar antes de escrever sobre arquivos de imagem"
 
-#: ../src/preferences.c:1636
+#: ../src/preferences.c:1659
 msgid "Step 2 and 3: write to Geeqie private files"
 msgstr "Passos 2 e 3: escrever nos arquivos privados do Geeqie"
 
-#: ../src/preferences.c:1641
+#: ../src/preferences.c:1664
 msgid ""
 "Use GQview legacy metadata format (supports only keywords and comments) "
 "instead of XMP"
@@ -4085,11 +4156,11 @@
 "Usar o formato de metadados legado do GQview (suporta apenas palavras-chave "
 "e comentários) em vez do XMP"
 
-#: ../src/preferences.c:1645 ../src/preferences.c:1833
+#: ../src/preferences.c:1668 ../src/preferences.c:1853
 msgid "Miscellaneous"
 msgstr "Miscelânea"
 
-#: ../src/preferences.c:1646
+#: ../src/preferences.c:1669
 msgid ""
 "Write the same description tags (keywords, comment, etc.) to all grouped "
 "sidecars"
@@ -4097,188 +4168,249 @@
 "Escrever as mesmas etiquetas descritivas (palavras-chave, comentário etc.) "
 "em todos os sidecars agrupados"
 
-#: ../src/preferences.c:1649
+#: ../src/preferences.c:1672
 msgid "Allow keywords to differ only in case"
 msgstr "Permitir que as palavras-chave difiram apenas no caso"
 
-#: ../src/preferences.c:1652
+#: ../src/preferences.c:1675
 msgid "Write altered image orientation to the metadata"
 msgstr "Escrever a orientação alterada da imagem nos metadados"
 
-#: ../src/preferences.c:1658
+#: ../src/preferences.c:1681
 msgid "Auto-save options"
 msgstr "Opções de salvamento automático"
 
-#: ../src/preferences.c:1660
+#: ../src/preferences.c:1683
 msgid "Write metadata after timeout"
 msgstr "Escrever os metadados após o timeout"
 
-#: ../src/preferences.c:1666
+#: ../src/preferences.c:1689
 msgid "Timeout (seconds):"
 msgstr "Timeout (segundos):"
 
-#: ../src/preferences.c:1669
+#: ../src/preferences.c:1692
 msgid "Write metadata on image change"
 msgstr "Escrever os metadados na mudança de imagens"
 
-#: ../src/preferences.c:1672
+#: ../src/preferences.c:1695
 msgid "Write metadata on directory change"
 msgstr "Escrever os metadados na mudança de diretórios"
 
-#: ../src/preferences.c:1686
+#: ../src/preferences.c:1709
 msgid "Color management"
 msgstr "Gestão de cor"
 
-#: ../src/preferences.c:1688
+#: ../src/preferences.c:1711
 msgid "Input profiles"
 msgstr "Fornecer perfis"
 
-#: ../src/preferences.c:1696
+#: ../src/preferences.c:1719
 msgid "Type"
 msgstr "Tipo"
 
-#: ../src/preferences.c:1699
+#: ../src/preferences.c:1722
 msgid "Menu name"
 msgstr "Nome no menu"
 
-#: ../src/preferences.c:1702
+#: ../src/preferences.c:1725
 msgid "File"
 msgstr "Arquivo"
 
-#: ../src/preferences.c:1710
+#: ../src/preferences.c:1733
 #, c-format
 msgid "Input %d:"
 msgstr "Entrada %d:"
 
-#: ../src/preferences.c:1727 ../src/preferences.c:1747
+#: ../src/preferences.c:1749 ../src/preferences.c:1769
 msgid "Select color profile"
 msgstr "Selecionar perfil de cor"
 
-#: ../src/preferences.c:1735
+#: ../src/preferences.c:1757
 msgid "Screen profile"
 msgstr "Perfil da tela"
 
-#: ../src/preferences.c:1739
+#: ../src/preferences.c:1761
 msgid "Use system screen profile if available"
 msgstr "Usar o perfil de tela do sistema se disponível"
 
-#: ../src/preferences.c:1744
+#: ../src/preferences.c:1766
 msgid "Screen:"
 msgstr "Tela:"
 
-#: ../src/preferences.c:1766 ../src/preferences.c:1809
+#: ../src/preferences.c:1788 ../src/preferences.c:1829
 msgid "Behavior"
 msgstr "Comportamento"
 
-#: ../src/preferences.c:1768 ../src/utilops.c:1985
+#: ../src/preferences.c:1790 ../src/utilops.c:1983
 msgid "Delete"
 msgstr "Apagar"
 
-#: ../src/preferences.c:1770
+#: ../src/preferences.c:1792
 msgid "Confirm file delete"
 msgstr "Confirmar o apagamento do arquivo"
 
-#: ../src/preferences.c:1772
+#: ../src/preferences.c:1794
 msgid "Enable Delete key"
 msgstr "Habilitar a tecla Delete"
 
-#: ../src/preferences.c:1775
+#: ../src/preferences.c:1797
 msgid "Safe delete"
 msgstr "Apagamento seguro"
 
-#: ../src/preferences.c:1793
+#: ../src/preferences.c:1815
 msgid "Maximum size:"
 msgstr "Tamanho máximo:"
 
-#: ../src/preferences.c:1793
+#: ../src/preferences.c:1815
 msgid "MB"
 msgstr "MB"
 
-#: ../src/preferences.c:1796
+#: ../src/preferences.c:1817
 msgid "Set to 0 for unlimited size"
 msgstr "Definir em 0 para tamanho ilimitado"
 
-#: ../src/preferences.c:1798
+#: ../src/preferences.c:1818
 msgid "View"
 msgstr "Visualizar"
 
-#: ../src/preferences.c:1811
+#: ../src/preferences.c:1831
 msgid "Rectangular selection in icon view"
 msgstr "Seleção retangular na visualização em ícones"
 
-#: ../src/preferences.c:1814
+#: ../src/preferences.c:1834
 msgid "Descend folders in tree view"
 msgstr "Descer os diretórios na visualização em árvore"
 
-#: ../src/preferences.c:1817
+#: ../src/preferences.c:1837
 msgid "In place renaming"
 msgstr "Renomeação no lugar"
 
-#: ../src/preferences.c:1820
+#: ../src/preferences.c:1840
 msgid "Open recent list maximum size"
 msgstr "Tamanho máximo da lista 'Abrir recentes'"
 
-#: ../src/preferences.c:1823
+#: ../src/preferences.c:1843
 msgid "Drag'n drop icon size"
 msgstr "Tamanho do ícone no arrastar e soltar"
 
-#: ../src/preferences.c:1826
+#: ../src/preferences.c:1846
 msgid "Navigation"
 msgstr "Navegação"
 
-#: ../src/preferences.c:1828
+#: ../src/preferences.c:1848
 msgid "Progressive keyboard scrolling"
 msgstr "Rolagem pelo teclado progressiva"
 
-#: ../src/preferences.c:1830
+#: ../src/preferences.c:1850
 msgid "Mouse wheel scrolls image"
 msgstr "Roda do mouse rola a imagem"
 
-#: ../src/preferences.c:1835
+#: ../src/preferences.c:1855
 msgid "Custom similarity threshold:"
 msgstr "Limiar de similaridade personalizado:"
 
-#: ../src/preferences.c:1840
+#: ../src/preferences.c:1860
 msgid "Debugging"
 msgstr "Depuração"
 
-#: ../src/preferences.c:1842
+#: ../src/preferences.c:1862
 msgid "Debug level:"
 msgstr "Nível de depuração:"
 
-#: ../src/preferences.c:1861
+#: ../src/preferences.c:1880
 msgid "Keyboard"
 msgstr "Teclado"
 
-#: ../src/preferences.c:1863
+#: ../src/preferences.c:1882
 msgid "Accelerators"
 msgstr "Aceleradores"
 
-#: ../src/preferences.c:1882
+#: ../src/preferences.c:1901
 msgid "Action"
 msgstr "Ação"
 
-#: ../src/preferences.c:1904
+#: ../src/preferences.c:1923
 msgid "KEY"
 msgstr "Tecla"
 
-#: ../src/preferences.c:1915
+#: ../src/preferences.c:1934
 msgid "Tooltip"
 msgstr "Dica"
 
-#: ../src/preferences.c:1953
+#: ../src/preferences.c:1965
 msgid "Reset selected"
-msgstr "Redefinir os selecionados"
-
-#: ../src/preferences.c:1959
-msgid "Add Alt"
-msgstr "Adicionar Alt"
-
-#: ../src/preferences.c:1978
+msgstr "Restaurar os selecionados"
+
+#: ../src/preferences.c:1981
+msgid "Stereo"
+msgstr ""
+
+#: ../src/preferences.c:1983 ../src/preferences.c:1986
+msgid "Windowed stereo mode"
+msgstr ""
+
+#: ../src/preferences.c:1990 ../src/preferences.c:2015
+#, fuzzy
+msgid "Mirror left image"
+msgstr "primeira imagem"
+
+#: ../src/preferences.c:1993 ../src/preferences.c:2018
+#, fuzzy
+msgid "Flip left image"
+msgstr "próxima imagem"
+
+#: ../src/preferences.c:1996 ../src/preferences.c:2021
+#, fuzzy
+msgid "Mirror right image"
+msgstr "primeira imagem"
+
+#: ../src/preferences.c:1999 ../src/preferences.c:2024
+#, fuzzy
+msgid "Flip right image"
+msgstr "primeira imagem"
+
+#: ../src/preferences.c:2001 ../src/preferences.c:2026
+msgid "Swap left and right images"
+msgstr ""
+
+#: ../src/preferences.c:2003 ../src/preferences.c:2028
+msgid "Disable stereo mode on single image source"
+msgstr ""
+
+#: ../src/preferences.c:2006 ../src/preferences.c:2012
+#, fuzzy
+msgid "Fullscreen stereo mode"
+msgstr "Tela cheia"
+
+#: ../src/preferences.c:2007
+msgid "Use different settings for fullscreen"
+msgstr ""
+
+#: ../src/preferences.c:2037
+#, fuzzy
+msgid "Left X"
+msgstr "Esquerda:"
+
+#: ../src/preferences.c:2039
+#, fuzzy
+msgid "Left Y"
+msgstr "Esquerda:"
+
+#: ../src/preferences.c:2041
+#, fuzzy
+msgid "Right X"
+msgstr "Direita:"
+
+#: ../src/preferences.c:2043
+#, fuzzy
+msgid "Right Y"
+msgstr "Direita:"
+
+#: ../src/preferences.c:2059
 msgid "Preferences"
 msgstr "Preferências"
 
-#: ../src/preferences.c:2125
+#: ../src/preferences.c:2207
 #, c-format
 msgid ""
 "%s %s\n"
@@ -4299,7 +4431,7 @@
 "\n"
 "Lançado sob a Licença Pública Geral GNU"
 
-#: ../src/preferences.c:2144
+#: ../src/preferences.c:2226
 msgid "Credits..."
 msgstr "Créditos..."
 
@@ -4347,7 +4479,7 @@
 msgid "jpeg, high quality"
 msgstr "jpeg, alta qualidade"
 
-#: ../src/print.c:365 ../src/print.c:3214
+#: ../src/print.c:365 ../src/print.c:3212
 msgid "points"
 msgstr "pontos"
 
@@ -4455,7 +4587,7 @@
 "Incapaz de abrir o pipe para a escrita.\n"
 "\"%s\""
 
-#: ../src/print.c:1074 ../src/print.c:1466 ../src/ui_pathsel.c:432
+#: ../src/print.c:1074 ../src/print.c:1466 ../src/ui_pathsel.c:423
 #, c-format
 msgid "A file with name %s already exists."
 msgstr "Já existe um arquivo com o nome %s."
@@ -4488,117 +4620,122 @@
 msgid "Details"
 msgstr "Detalhes"
 
-#: ../src/print.c:2589 ../src/print.c:3349
+#: ../src/print.c:2587 ../src/print.c:3341
 msgid "Print"
 msgstr "Imprimir"
 
-#: ../src/print.c:2593
+#: ../src/print.c:2591
 #, c-format
 msgid "Printing %d pages to %s."
 msgstr "Imprimindo %d páginas em %s."
 
-#: ../src/print.c:2693
+#: ../src/print.c:2691
 msgid "Format:"
 msgstr "Formato:"
 
-#: ../src/print.c:2768
+#: ../src/print.c:2766
 msgid "Units:"
 msgstr "Unidades:"
 
-#: ../src/print.c:2812
+#: ../src/print.c:2810
 msgid "Orientation:"
 msgstr "Orientação:"
 
-#: ../src/print.c:2944
+#: ../src/print.c:2942
 msgid "Destination:"
 msgstr "Destino:"
 
-#: ../src/print.c:2992
+#: ../src/print.c:2990
 msgid "<printer name>"
 msgstr "<nome da impressora>"
 
-#: ../src/print.c:3081
+#: ../src/print.c:3079
 msgid "Unlimited"
 msgstr "Ilimitado"
 
-#: ../src/print.c:3199
+#: ../src/print.c:3197
 msgid "Show"
 msgstr "Exibir"
 
-#: ../src/print.c:3212
+#: ../src/print.c:3210
 msgid "Font"
 msgstr "Fonte"
 
-#: ../src/print.c:3376
+#: ../src/print.c:3368
 msgid "Source"
 msgstr "Origem"
 
-#: ../src/print.c:3388
+#: ../src/print.c:3380
 msgid "Image size:"
 msgstr "Tamanho da imagem:"
 
-#: ../src/print.c:3392
+#: ../src/print.c:3384
 msgid "Proof size:"
 msgstr "Tamanho da prova:"
 
-#: ../src/print.c:3408
+#: ../src/print.c:3400
 msgid "Text"
 msgstr "Texto"
 
-#: ../src/print.c:3418
+#: ../src/print.c:3410
 msgid "Paper"
 msgstr "Papel"
 
-#: ../src/print.c:3441
+#: ../src/print.c:3433
 msgid "Margins"
 msgstr "Margens"
 
-#: ../src/print.c:3443
+#: ../src/print.c:3435
 msgid "Left:"
 msgstr "Esquerda:"
 
-#: ../src/print.c:3446
+#: ../src/print.c:3438
 msgid "Right:"
 msgstr "Direita:"
 
-#: ../src/print.c:3449
+#: ../src/print.c:3441
 msgid "Top:"
 msgstr "Superior:"
 
-#: ../src/print.c:3452
+#: ../src/print.c:3444
 msgid "Bottom:"
 msgstr "Inferior:"
 
-#: ../src/print.c:3461
+#: ../src/print.c:3453
 msgid "Printer"
 msgstr "Impressora"
 
-#: ../src/print.c:3467
+#: ../src/print.c:3459
 msgid "Custom printer:"
 msgstr "Impressora personalizada:"
 
-#: ../src/print.c:3476
+#: ../src/print.c:3468
 msgid "File:"
 msgstr "Arquivo:"
 
-#: ../src/print.c:3485
+#: ../src/print.c:3477
 msgid "File format:"
 msgstr "Formato de arquivo:"
 
-#: ../src/print.c:3490
+#: ../src/print.c:3482
 msgid "DPI:"
 msgstr "PPP:"
 
-#: ../src/print.c:3498
+#: ../src/print.c:3490
 msgid "Remember print settings"
 msgstr "Lembrar as configurações de impressão"
 
-#: ../src/rcfile.c:495
+#: ../src/rcfile.c:81
+#, fuzzy, c-format
+msgid "Option %s ignored: %s\n"
+msgstr "Criando o dir %s:%s\n"
+
+#: ../src/rcfile.c:456
 #, c-format
 msgid "error saving config file: %s\n"
 msgstr "erro ao salvar o arquivo de configuração: %s\n"
 
-#: ../src/rcfile.c:553
+#: ../src/rcfile.c:514
 #, c-format
 msgid ""
 "error saving config file: %s\n"
@@ -4626,11 +4763,11 @@
 
 #: ../src/remote.c:643
 msgid "toggle full screen"
-msgstr "alternar a tela cheia"
+msgstr "abrir a/sair da tela cheia"
 
 #: ../src/remote.c:644
 msgid "start full screen"
-msgstr "iniciar a tela cheia"
+msgstr "abrir a tela cheia"
 
 #: ../src/remote.c:645
 msgid "stop full screen"
@@ -4638,7 +4775,7 @@
 
 #: ../src/remote.c:646
 msgid "toggle slide show"
-msgstr "alternar a apresentação de slides"
+msgstr "iniciar/parar a apresentação de slides"
 
 #: ../src/remote.c:647
 msgid "start slide show"
@@ -4692,12 +4829,18 @@
 msgid "Remote command list:\n"
 msgstr "Lista de comandos remotos:\n"
 
-#: ../src/remote.c:781
+#: ../src/remote.c:739
+msgid ""
+"\n"
+"  All other command line parameters are used as plain files if they exists.\n"
+msgstr ""
+
+#: ../src/remote.c:789
 #, c-format
 msgid "Remote %s not running, starting..."
 msgstr "%s remoto não está executando, iniciando..."
 
-#: ../src/remote.c:917
+#: ../src/remote.c:925
 msgid "Remote not available\n"
 msgstr "Remoto não disponível\n"
 
@@ -4775,64 +4918,64 @@
 msgid "Searching..."
 msgstr "Pesquisando..."
 
-#: ../src/search.c:2170
+#: ../src/search.c:2120
 msgid "File not found"
 msgstr "Arquivo não encontrado"
 
-#: ../src/search.c:2171
+#: ../src/search.c:2121
 msgid "Please enter an existing file for image content."
 msgstr "Por favor informe um arquivo existente para o conteúdo da imagem."
 
-#: ../src/search.c:2220
+#: ../src/search.c:2170
 msgid "Please enter an existing folder to search."
 msgstr "Por favor informe um diretório existente para pesquisar."
 
-#: ../src/search.c:2638
+#: ../src/search.c:2588
 msgid "Image search"
 msgstr "Busca de imagem"
 
-#: ../src/search.c:2668
+#: ../src/search.c:2618
 msgid "Search:"
 msgstr "Pesquisa:"
 
-#: ../src/search.c:2682
+#: ../src/search.c:2632
 msgid "Recurse"
 msgstr "Recursiva"
 
-#: ../src/search.c:2687
+#: ../src/search.c:2637
 msgid "File name"
 msgstr "Nome do arquivo"
 
-#: ../src/search.c:2693 ../src/search.c:2788
+#: ../src/search.c:2643 ../src/search.c:2738
 msgid "Match case"
 msgstr "Diferenciar maiúsculas de minúsculas"
 
-#: ../src/search.c:2698
+#: ../src/search.c:2648
 msgid "File size is"
 msgstr "O tamanho do arquivo é"
 
-#: ../src/search.c:2705 ../src/search.c:2721 ../src/search.c:2740
+#: ../src/search.c:2655 ../src/search.c:2671 ../src/search.c:2690
 msgid "and"
 msgstr "e"
 
-#: ../src/search.c:2711
+#: ../src/search.c:2661
 msgid "File date is"
 msgstr "A data do arquivo é"
 
-#: ../src/search.c:2729
+#: ../src/search.c:2679
 msgid "Image dimensions are"
 msgstr "As dimensões da imagem são"
 
-#: ../src/search.c:2750
+#: ../src/search.c:2700
 msgid "Image content is"
 msgstr "O conteúdo da imagem é"
 
-#: ../src/search.c:2756
+#: ../src/search.c:2706
 #, no-c-format
 msgid "% similar to"
 msgstr "% similar a"
 
-#: ../src/search.c:2842
+#: ../src/search.c:2788
 msgid "Rank"
 msgstr "Classificação"
 
@@ -4872,12 +5015,12 @@
 msgid "Secure file saving error"
 msgstr "Erro no salvamento seguro do arquivo"
 
-#: ../src/thumb.c:396
+#: ../src/thumb.c:392
 msgid "Thumbnail image in cache failed to load, trying to recreate.\n"
 msgstr "Falhou o carregamento da miniatura no cache, tentando recriar.\n"
 
-#: ../src/trash.c:80 ../src/utilops.c:2448 ../src/utilops.c:2459
-#: ../src/utilops.c:2516
+#: ../src/trash.c:80 ../src/utilops.c:2446 ../src/utilops.c:2457
+#: ../src/utilops.c:2514
 msgid "Delete failed"
 msgstr "O apagamento falhou"
 
@@ -4949,15 +5092,15 @@
 msgid "Select icon"
 msgstr "Selecionar ícone"
 
-#: ../src/ui_bookmark.c:403
+#: ../src/ui_bookmark.c:405
 msgid "_Properties..."
 msgstr "_Propriedades..."
 
-#: ../src/ui_bookmark.c:409
+#: ../src/ui_bookmark.c:411
 msgid "_Remove"
 msgstr "_Remover"
 
-#: ../src/ui_fileops.c:94
+#: ../src/ui_fileops.c:67
 msgid ""
 "One or more filenames are not encoded with the preferred locale character "
 "set.\n"
@@ -4965,14 +5108,14 @@
 "Um ou mais nomes de arquivo não estão codificados com o conjunto de "
 "caracteres de locale preferido.\n"
 
-#: ../src/ui_fileops.c:95
+#: ../src/ui_fileops.c:68
 #, c-format
 msgid "Operations on, and display of these files with %s may not succeed.\n"
 msgstr ""
 "Operações sobre e a exibição desses arquivos com %s podem não ser bem "
 "sucedidas.\n"
 
-#: ../src/ui_fileops.c:97
+#: ../src/ui_fileops.c:70
 msgid ""
 "If your filenames are not encoded in utf-8, try setting the environment "
 "variable G_BROKEN_FILENAMES=1\n"
@@ -4980,16 +5123,16 @@
 "Se os seus nomes de arquivo não estão codificados em UTF-8, tente definir a "
 "variável de ambiente G_BROKEN_FILENAMES=1\n"
 
-#: ../src/ui_fileops.c:99
+#: ../src/ui_fileops.c:72
 #, c-format
 msgid "It appears G_BROKEN_FILENAMES is set to %s\n"
 msgstr "Parece que G_BROKEN_FILENAMES  está definida para %s\n"
 
-#: ../src/ui_fileops.c:101
+#: ../src/ui_fileops.c:74
 msgid "It appears G_BROKEN_FILENAMES is not set\n"
 msgstr "Parece que G_BROKEN_FILENAMES não está definida\n"
 
-#: ../src/ui_fileops.c:103
+#: ../src/ui_fileops.c:76
 #, c-format
 msgid ""
 "The locale appears to be set to \"%s\"\n"
@@ -4998,7 +5141,7 @@
 "Parece que o locale está definido para \"%s\"\n"
 "(definido pela variável de ambiente LANG)\n"
 
-#: ../src/ui_fileops.c:108
+#: ../src/ui_fileops.c:81
 msgid ""
 "\n"
 "Preferred encoding appears to be UTF-8, however the file:\n"
@@ -5006,25 +5149,25 @@
 "\n"
 "Parece que a codificação preferida é UTF-8, no entanto o arquivo:\n"
 
-#: ../src/ui_fileops.c:109 ../src/ui_fileops.c:112 ../src/ui_fileops.c:114
+#: ../src/ui_fileops.c:82 ../src/ui_fileops.c:85 ../src/ui_fileops.c:87
 msgid "[name not displayable]"
 msgstr "[o nome não é exibível]"
 
-#: ../src/ui_fileops.c:112
+#: ../src/ui_fileops.c:85
 #, c-format
 msgid "\"%s\" is encoded in valid UTF-8."
 msgstr "\"%s\" está codificado em UTF-8 válido."
 
-#: ../src/ui_fileops.c:114
+#: ../src/ui_fileops.c:87
 #, c-format
 msgid "\"%s\" is not encoded in valid UTF-8."
 msgstr "\"%s\" não está codificado em UTF-8 válido."
 
-#: ../src/ui_fileops.c:119 ../src/ui_fileops.c:124
+#: ../src/ui_fileops.c:92 ../src/ui_fileops.c:97
 msgid "Filename encoding locale mismatch"
 msgstr "Descasamento da codificação de locale no nome do arquivo"
 
-#: ../src/ui_help.c:114
+#: ../src/ui_help.c:110
 #, c-format
 msgid ""
 "Unable to load:\n"
@@ -5033,33 +5176,33 @@
 "Incapaz de carregar:\n"
 "%s"
 
-#: ../src/ui_pathsel.c:433 ../src/ui_pathsel.c:439 ../src/utilops.c:2147
-#: ../src/utilops.c:2174 ../src/utilops.c:2640
+#: ../src/ui_pathsel.c:424 ../src/ui_pathsel.c:430 ../src/utilops.c:2145
+#: ../src/utilops.c:2172 ../src/utilops.c:2638
 msgid "Rename failed"
 msgstr "A renomeação falhou"
 
-#: ../src/ui_pathsel.c:438
+#: ../src/ui_pathsel.c:429
 #, c-format
 msgid "Failed to rename %s to %s."
 msgstr "Falha ao renomear %s para %s."
 
-#: ../src/ui_pathsel.c:634 ../src/ui_pathsel.c:642
+#: ../src/ui_pathsel.c:625 ../src/ui_pathsel.c:633
 msgid "_Rename"
 msgstr "_Renomear"
 
-#: ../src/ui_pathsel.c:636 ../src/ui_pathsel.c:646
+#: ../src/ui_pathsel.c:627 ../src/ui_pathsel.c:637
 msgid "Add _Bookmark"
 msgstr "_Adicionar favorito"
 
-#: ../src/ui_pathsel.c:644
+#: ../src/ui_pathsel.c:635
 msgid "_Delete"
 msgstr "_Apagar"
 
-#: ../src/ui_pathsel.c:748 ../src/ui_pathsel.c:1049 ../src/utilops.c:2674
+#: ../src/ui_pathsel.c:742 ../src/ui_pathsel.c:1047 ../src/utilops.c:2672
 msgid "New folder"
 msgstr "Novo diretório"
 
-#: ../src/ui_pathsel.c:758
+#: ../src/ui_pathsel.c:752
 #, c-format
 msgid ""
 "Unable to create folder:\n"
@@ -5068,27 +5211,27 @@
 "Incapaz de criar o diretório:\n"
 "%s"
 
-#: ../src/ui_pathsel.c:759
+#: ../src/ui_pathsel.c:753
 msgid "Error creating folder"
 msgstr "Erro ao criar o diretório"
 
-#: ../src/ui_pathsel.c:980
+#: ../src/ui_pathsel.c:978
 msgid "All Files"
 msgstr "Todos os arquivos"
 
-#: ../src/ui_pathsel.c:1052
+#: ../src/ui_pathsel.c:1050
 msgid "Show hidden"
 msgstr "Exibir ocultos"
 
-#: ../src/ui_pathsel.c:1136
+#: ../src/ui_pathsel.c:1134
 msgid "Filter:"
 msgstr "Filtro:"
 
-#: ../src/ui_tabcomp.c:925
+#: ../src/ui_tabcomp.c:924
 msgid "Select path"
 msgstr "Selecionar o caminho"
 
-#: ../src/ui_tabcomp.c:941
+#: ../src/ui_tabcomp.c:940
 msgid "All files"
 msgstr "Todos os arquivos"
 
@@ -5100,7 +5243,7 @@
 "\n"
 " Continuar a operação com múltiplos arquivos?"
 
-#: ../src/utilops.c:554 ../src/utilops.c:989
+#: ../src/utilops.c:554 ../src/utilops.c:987
 msgid "Co_ntinue"
 msgstr "Co_ntinuar"
 
@@ -5115,7 +5258,7 @@
 "\n"
 "%s"
 
-#: ../src/utilops.c:877
+#: ../src/utilops.c:875
 #, c-format
 msgid ""
 "%s\n"
@@ -5124,103 +5267,103 @@
 "%s\n"
 "Incapaz de iniciar o comando externo.\n"
 
-#: ../src/utilops.c:957
+#: ../src/utilops.c:955
 #, c-format
 msgid "%s is not a directory"
 msgstr "%s não é um diretório"
 
-#: ../src/utilops.c:987
+#: ../src/utilops.c:985
 msgid "Really continue?"
 msgstr "Realmente continuar?"
 
-#: ../src/utilops.c:1001
+#: ../src/utilops.c:999
 msgid "This operation can't continue:"
 msgstr "Esta operação não pode continuar:"
 
-#: ../src/utilops.c:1364 ../src/utilops.c:1477 ../src/utilops.c:1861
+#: ../src/utilops.c:1362 ../src/utilops.c:1475 ../src/utilops.c:1859
 msgid "Discard changes"
 msgstr "Descartar as modificações"
 
-#: ../src/utilops.c:1365 ../src/utilops.c:1478 ../src/utilops.c:1811
-#: ../src/utilops.c:1827
+#: ../src/utilops.c:1363 ../src/utilops.c:1476 ../src/utilops.c:1809
+#: ../src/utilops.c:1825
 msgid "File details"
 msgstr "Detalhes do arquivo"
 
-#: ../src/utilops.c:1387 ../src/utilops.c:1485
+#: ../src/utilops.c:1385 ../src/utilops.c:1483
 msgid "Sidecars"
 msgstr "Sidecars"
 
-#: ../src/utilops.c:1389
+#: ../src/utilops.c:1387
 msgid "Write to file"
 msgstr "Escrever no arquivo"
 
-#: ../src/utilops.c:1429
+#: ../src/utilops.c:1427
 msgid "Choose the destination folder."
 msgstr "Escolha o diretório de destino."
 
-#: ../src/utilops.c:1487
+#: ../src/utilops.c:1485
 msgid "New name"
 msgstr "Novo nome"
 
-#: ../src/utilops.c:1517
+#: ../src/utilops.c:1515
 msgid "Manual rename"
 msgstr "Renomeação manual"
 
-#: ../src/utilops.c:1522
+#: ../src/utilops.c:1520
 msgid "Original name:"
 msgstr "Nome original:"
 
-#: ../src/utilops.c:1525
+#: ../src/utilops.c:1523
 msgid "New name:"
 msgstr "Novo nome:"
 
-#: ../src/utilops.c:1538
+#: ../src/utilops.c:1536
 msgid "Auto rename"
 msgstr "Renomear automaticamente"
 
-#: ../src/utilops.c:1544
+#: ../src/utilops.c:1542
 msgid "Begin text"
 msgstr "Começar o texto"
 
-#: ../src/utilops.c:1552 ../src/utilops.c:1584
+#: ../src/utilops.c:1550 ../src/utilops.c:1582
 msgid "Start #"
 msgstr "Início #"
 
-#: ../src/utilops.c:1558
+#: ../src/utilops.c:1556
 msgid "End text"
 msgstr "Finalizar o texto"
 
-#: ../src/utilops.c:1566
+#: ../src/utilops.c:1564
 msgid "Padding:"
 msgstr "Enchimento:"
 
-#: ../src/utilops.c:1571
+#: ../src/utilops.c:1569
 msgid "Formatted rename"
 msgstr "Renomear formatado"
 
-#: ../src/utilops.c:1576
+#: ../src/utilops.c:1574
 msgid "Format (* = original name, ## = numbers)"
 msgstr "Formato (* = nome original, ## = números)"
 
-#: ../src/utilops.c:1714
+#: ../src/utilops.c:1712
 msgid "Another operation in progress.\n"
 msgstr "Outra operação em progresso.\n"
 
-#: ../src/utilops.c:1770
+#: ../src/utilops.c:1768
 #, c-format
 msgid "File: '%s'\n"
 msgstr "Arquivo: '%s'\n"
 
-#: ../src/utilops.c:1775
+#: ../src/utilops.c:1773
 msgid "with sidecar files:\n"
 msgstr "com arquivos sidecar:\n"
 
-#: ../src/utilops.c:1781
+#: ../src/utilops.c:1779
 #, c-format
 msgid " '%s'\n"
 msgstr " '%s'\n"
 
-#: ../src/utilops.c:1785
+#: ../src/utilops.c:1783
 msgid ""
 "\n"
 "Status: "
@@ -5228,19 +5371,19 @@
 "\n"
 "Status: "
 
-#: ../src/utilops.c:1797
+#: ../src/utilops.c:1795
 msgid "no problem detected"
 msgstr "nenhum problema detectado"
 
-#: ../src/utilops.c:1813 ../src/utilops.c:1860
+#: ../src/utilops.c:1811 ../src/utilops.c:1858
 msgid "Exclude file"
 msgstr "Excluir arquivo"
 
-#: ../src/utilops.c:1858 ../src/utilops.c:1883
+#: ../src/utilops.c:1856 ../src/utilops.c:1881
 msgid "Overview of changed metadata"
 msgstr "Visão geral dos metadados modificados"
 
-#: ../src/utilops.c:1876
+#: ../src/utilops.c:1874
 #, c-format
 msgid ""
 "The following metadata tags will be written to\n"
@@ -5249,102 +5392,103 @@
 "As seguintes etiquetas de metadados serão escritas em\n"
 "'%s'."
 
-#: ../src/utilops.c:1880
+#: ../src/utilops.c:1878
 #, c-format
 msgid "The following metadata tags will be written to the image file itself."
 msgstr ""
 "As seguintes etiquetas de metadados serão escritas no próprio arquivo da "
 "imagem."
 
-#: ../src/utilops.c:1986
+#: ../src/utilops.c:1984
 msgid "Delete files?"
 msgstr "Apagar arquivos?"
 
-#: ../src/utilops.c:1987
+#: ../src/utilops.c:1985
 msgid "This will delete the following files"
 msgstr "Isto irá apagar os seguintes arquivos"
 
-#: ../src/utilops.c:2006
+#: ../src/utilops.c:2004
 msgid "Can't write metadata"
 msgstr "Não posso escrever os metadados"
 
+#: ../src/utilops.c:2027
+msgid "Write metadata"
+msgstr "Escrever os metadados"
+
+#: ../src/utilops.c:2028
+msgid "Write metadata?"
+msgstr "Escrever os metadados?"
+
 #: ../src/utilops.c:2029
-msgid "Write metadata"
-msgstr "Escrever os metadados"
-
-#: ../src/utilops.c:2030
-msgid "Write metadata?"
-msgstr "Escrever os metadados?"
+msgid "This will write the changed metadata into the following files"
+msgstr "Isto irá escrever os metadados modificados para os seguintes arquivos"
 
 #: ../src/utilops.c:2031
-msgid "This will write the changed metadata into the following files"
-msgstr "Isto irá escrever os metadados modificados para os seguintes arquivos"
-
-#: ../src/utilops.c:2033
-msgid "Metadata writting failed"
+#, fuzzy
+msgid "Metadata writing failed"
 msgstr "A escrita dos metadados falhou"
 
-#: ../src/utilops.c:2052 ../src/utilops.c:2079
+#: ../src/utilops.c:2050 ../src/utilops.c:2077
 msgid "Move failed"
 msgstr "A movimentação falhou"
 
-#: ../src/utilops.c:2076
+#: ../src/utilops.c:2074
 msgid "Move files?"
 msgstr "Mover arquivos?"
 
-#: ../src/utilops.c:2077
+#: ../src/utilops.c:2075
 msgid "This will move the following files"
 msgstr "Isto irá mover os seguintes arquivos"
 
-#: ../src/utilops.c:2101 ../src/utilops.c:2128
+#: ../src/utilops.c:2099 ../src/utilops.c:2126
 msgid "Copy failed"
 msgstr "A cópia falhou"
 
-#: ../src/utilops.c:2125
+#: ../src/utilops.c:2123
 msgid "Copy files?"
 msgstr "Copiar arquivos?"
 
-#: ../src/utilops.c:2126 ../src/utilops.c:2260
+#: ../src/utilops.c:2124 ../src/utilops.c:2258
 msgid "This will copy the following files"
 msgstr "Isto copiará os seguintes arquivos"
 
-#: ../src/utilops.c:2170 ../src/utilops.c:2636
+#: ../src/utilops.c:2168 ../src/utilops.c:2634
 msgid "Rename"
 msgstr "Renomear"
 
-#: ../src/utilops.c:2171
+#: ../src/utilops.c:2169
 msgid "Rename files?"
 msgstr "Renomear arquivos?"
 
-#: ../src/utilops.c:2172
+#: ../src/utilops.c:2170
 msgid "This will rename the following files"
 msgstr "Isto irá renomear os seguintes arquivos"
 
-#: ../src/utilops.c:2224
+#: ../src/utilops.c:2222
 msgid "Can't run external editor"
 msgstr "Não posso executar o editor externo"
 
-#: ../src/utilops.c:2258
+#: ../src/utilops.c:2256
 msgid "Editor"
 msgstr "Editor"
 
-#: ../src/utilops.c:2259
+#: ../src/utilops.c:2257
 msgid "Run editor?"
 msgstr "Executar o editor?"
 
-#: ../src/utilops.c:2262
+#: ../src/utilops.c:2260
 msgid "External command failed"
 msgstr "O comando externo falhou"
 
-#: ../src/utilops.c:2431 ../src/utilops.c:2504
+#: ../src/utilops.c:2429 ../src/utilops.c:2502
 msgid "Delete folder"
 msgstr "Apagar o diretório"
 
+#: ../src/utilops.c:2430
+msgid "Delete symbolic link?"
+msgstr "Apagar a ligação simbólica?"
+
 #: ../src/utilops.c:2432
-msgid "Delete symbolic link?"
-msgstr "Apagar a ligação simbólica?"
-
-#: ../src/utilops.c:2434
 msgid ""
 "This will delete the symbolic link.\n"
 "The folder this link points to will not be deleted."
@@ -5352,11 +5496,11 @@
 "Isto apagará a ligação simbólica.\n"
 "O diretório para o qual esta ligação aponta não será apagado."
 
-#: ../src/utilops.c:2436
+#: ../src/utilops.c:2434
 msgid "Link deletion failed"
 msgstr "O apagamento da ligação falhou"
 
-#: ../src/utilops.c:2446
+#: ../src/utilops.c:2444
 #, c-format
 msgid ""
 "Unable to remove folder %s\n"
@@ -5365,16 +5509,16 @@
 "Incapaz de remover o diretório %s\n"
 "As permissões não autorizam a escrita no diretório."
 
-#: ../src/utilops.c:2458 ../src/utilops.c:2515
+#: ../src/utilops.c:2456 ../src/utilops.c:2513
 #, c-format
 msgid "Unable to list contents of folder %s"
 msgstr "Incapaz de listar o conteúdo do diretório %s"
 
-#: ../src/utilops.c:2472 ../src/utilops.c:2480
+#: ../src/utilops.c:2470 ../src/utilops.c:2478
 msgid "Folder contains subfolders"
 msgstr "O diretório contém subdiretórios"
 
-#: ../src/utilops.c:2476
+#: ../src/utilops.c:2474
 #, c-format
 msgid ""
 "Unable to delete the folder:\n"
@@ -5390,19 +5534,19 @@
 "Este diretório contém subdiretórios que precisam ser movidos antes que ele "
 "possa ser apagado."
 
-#: ../src/utilops.c:2484
+#: ../src/utilops.c:2482
 msgid "Subfolders:"
 msgstr "Subdiretórios:"
 
-#: ../src/utilops.c:2505
+#: ../src/utilops.c:2503
 msgid "Delete folder?"
 msgstr "Apagar o diretório?"
 
-#: ../src/utilops.c:2506
+#: ../src/utilops.c:2504
 msgid "The folder contains these files:"
 msgstr "O diretório contém estes arquivos:"
 
-#: ../src/utilops.c:2507
+#: ../src/utilops.c:2505
 msgid ""
 "This will delete the folder.\n"
 "The contents of this folder will also be deleted."
@@ -5410,23 +5554,23 @@
 "Isto apagará o diretório.\n"
 "O conteúdo deste diretório também será apagado."
 
-#: ../src/utilops.c:2637
+#: ../src/utilops.c:2635
 msgid "Rename folder?"
 msgstr "Renomear o diretório?"
 
-#: ../src/utilops.c:2638
+#: ../src/utilops.c:2636
 msgid "The folder contains the following files"
 msgstr "O diretório contém os seguintes arquivos"
 
-#: ../src/utilops.c:2684
+#: ../src/utilops.c:2682
 msgid "Create Folder"
 msgstr "Criar Diretório"
 
-#: ../src/utilops.c:2685
+#: ../src/utilops.c:2683
 msgid "Create folder?"
 msgstr "Criar o diretório?"
 
-#: ../src/utilops.c:2688
+#: ../src/utilops.c:2686
 msgid "Can't create folder"
 msgstr "Não posso criar o diretório"
 
@@ -5438,43 +5582,43 @@
 msgid "_Move"
 msgstr "_Mover"
 
-#: ../src/view_dir.c:645
+#: ../src/view_dir.c:644
 msgid "_Up to parent"
 msgstr "S_ubir para o pai"
 
-#: ../src/view_dir.c:650
+#: ../src/view_dir.c:649
 msgid "_Slideshow"
 msgstr "Apresentação de _slides"
 
-#: ../src/view_dir.c:652
+#: ../src/view_dir.c:651
 msgid "Slideshow recursive"
 msgstr "Apresentação de slides recursiva"
 
-#: ../src/view_dir.c:656
+#: ../src/view_dir.c:655
 msgid "Find _duplicates..."
 msgstr "Procurar por _duplicatas..."
 
-#: ../src/view_dir.c:658
+#: ../src/view_dir.c:657
 msgid "Find duplicates recursive..."
 msgstr "Procurar por duplicatas recursivamente..."
 
-#: ../src/view_dir.c:663
+#: ../src/view_dir.c:662
 msgid "_New folder..."
 msgstr "_Novo diretório..."
 
-#: ../src/view_dir.c:677 ../src/view_file.c:619
+#: ../src/view_dir.c:676 ../src/view_file.c:619
 msgid "View as _List"
 msgstr "Visualizar em _Lista"
 
-#: ../src/view_dir.c:680
+#: ../src/view_dir.c:679
 msgid "View as _Tree"
 msgstr "Visualizar em _Ãrvore"
 
-#: ../src/view_dir.c:685
+#: ../src/view_dir.c:684
 msgid "Show _hidden files"
 msgstr "Exibir arquivos _ocultos"
 
-#: ../src/view_dir.c:688 ../src/view_file.c:637
+#: ../src/view_dir.c:687 ../src/view_file.c:637
 msgid "Re_fresh"
 msgstr "_Atualizar"
 
@@ -5486,11 +5630,11 @@
 msgid "Show _thumbnails"
 msgstr "Exibir _miniaturas"
 
-#: ../src/view_file_icon.c:2179 ../src/view_file_list.c:899
+#: ../src/view_file_icon.c:2098 ../src/view_file_list.c:809
 msgid " [NO GROUPING]"
 msgstr " [SEM AGRUPAMENTO]"
 
-#: ../src/view_file_list.c:512
+#: ../src/view_file_list.c:435
 #, c-format
 msgid ""
 "Invalid file name:\n"
@@ -5499,7 +5643,7 @@
 "Nome de arquivo inválido:\n"
 "%s"
 
-#: ../src/view_file_list.c:513
+#: ../src/view_file_list.c:436
 msgid "Error renaming file"
 msgstr "Erro ao renomear arquivo"
 
@@ -5507,6 +5651,39 @@
 msgid "Help"
 msgstr "Ajuda"
 
+#~ msgid "Collection empty"
+#~ msgstr "Coleção vazia"
+
+#~ msgid "The current collection is empty, save aborted."
+#~ msgstr "A coleção atual está vazia, salvamento abortado."
+
+#~ msgid "Use Exif date"
+#~ msgstr "Usar data Exif"
+
+#~ msgid "None"
+#~ msgstr "Nenhum"
+
+#~ msgid "Normal"
+#~ msgstr "Normal"
+
+#~ msgid "Best"
+#~ msgstr "O melhor"
+
+#~ msgid "Use xvpics thumbnails when found (read only)"
+#~ msgstr "Usar miniaturas xvpics quando encontradas (somente leitura)"
+
+#~ msgid "Offscreen cache size (Mb per image):"
+#~ msgstr "Tamanho do cache não visível (Mb por imagem)"
+
+#~ msgid "Dithering method:"
+#~ msgstr "Método de dithering:"
+
+#~ msgid "Show dot directory"
+#~ msgstr "Exibir diretório com ponto"
+
+#~ msgid "Add Alt"
+#~ msgstr "Adicionar Alt"
+
 #~ msgid "Advanced view"
 #~ msgstr "Exibição avançada"
 
@@ -6005,10 +6182,6 @@
 #~ msgstr "sair da tela cheia"
 
 #, fuzzy
-#~ msgid "Fullscreen info string"
-#~ msgstr "Tela cheia"
-
-#, fuzzy
 #~ msgid "List"
 #~ msgstr "Lis_ta"
 
--- a/po/sk.po	Sun May 27 18:41:56 2012 +0100
+++ b/po/sk.po	Tue Oct 02 22:19:13 2012 +0100
@@ -6,174 +6,421 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: sk\n"
+"Project-Id-Version: Geegie 1.0\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2008-05-13 22:14+0200\n"
-"PO-Revision-Date: 2004-02-11 23:45+0100\n"
-"Last-Translator: \n"
-"Language-Team:  <sk@li.org>\n"
+"POT-Creation-Date: 2011-03-08 20:49+0100\n"
+"PO-Revision-Date: 2010-11-08 17:32+0100\n"
+"Last-Translator: Peter Tuhársky <tuharsky@misbb.sk>\n"
+"Language-Team: Peter Tuhársky <tuharsky@misbb.sk>\n"
+"Language: \n"
 "MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=ISO-8859-2\n"
+"Content-Type: text/plain; charset=utf-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "X-Generator: KBabel 1.0.1\n"
-
-#: src/bar_exif.c:444
-msgid "Tag"
-msgstr "Znaèka"
+"X-Poedit-Language: Slovak\n"
+"X-Poedit-Country: SLOVAKIA\n"
+"X-Poedit-SourceCharset: utf-8\n"
+
+# src/img-view.c:559 src/window.c:533
+#: ../geeqie.desktop.in.h:1
+#, fuzzy
+msgid "Geeqie"
+msgstr "SkonÄiÅ¥ Geeqie"
+
+# src/preferences.c:676
+#: ../geeqie.desktop.in.h:2
+#, fuzzy
+msgid "Image Viewer"
+msgstr "Súbor obrázku"
+
+# src/preferences.c:660
+#: ../geeqie.desktop.in.h:3
+#, fuzzy
+msgid "View and manage images"
+msgstr "PredÄítaÅ¥ nasledujúci obrázok"
+
+#: ../plugins/import/geeqie-import-geeqie.desktop.in.h:1
+msgid "Import Geeqie 1.0alphaX metadata"
+msgstr ""
+
+#: ../plugins/import/geeqie-import-gqview.desktop.in.h:1
+msgid "Import GQView metadata"
+msgstr ""
+
+# src/utilops.c:544
+#: ../plugins/rotate/rotate.desktop.in.h:1
+#, fuzzy
+msgid "Apply the orientation to image content"
+msgstr "Prosím zadajte existujúci súbor pre obsah obrázka."
+
+#: ../plugins/symlink/symlink.desktop.in.h:1
+msgid "Symlink"
+msgstr ""
+
+#: ../plugins/ufraw/geeqie-ufraw.desktop.in.h:1
+msgid "UFRaw Batch"
+msgstr ""
+
+#: ../plugins/ufraw/geeqie-ufraw-id.desktop.in.h:1
+msgid "Edit UFRaw ID file"
+msgstr ""
+
+#: ../plugins/ufraw/geeqie-ufraw-recursive.desktop.in.h:1
+msgid "UFRaw Batch recursive"
+msgstr ""
+
+#: ../src/advanced_exif.c:328 ../src/cache_maint.c:1304
+#: ../src/preferences.c:93 ../src/preferences.c:1678
+msgid "Metadata"
+msgstr "Metadáta"
+
+#: ../src/advanced_exif.c:376 ../src/preferences.c:1592
+msgid "Description"
+msgstr "Popis"
+
+#: ../src/advanced_exif.c:377
+msgid "Value"
+msgstr "Hodnota"
 
 # src/dupe.c:1652 src/dupe.c:1941
-#: src/bar_exif.c:445 src/dupe.c:2646 src/dupe.c:3167 src/print.c:3232
-#: src/search.c:2760 src/utilops.c:2971 src/view_file_list.c:1820
+#: ../src/advanced_exif.c:378 ../src/desktop_file.c:515 ../src/dupe.c:2651
+#: ../src/dupe.c:3173 ../src/print.c:3213 ../src/search.c:2852
+#: ../src/utilops.c:462 ../src/view_file_list.c:2046
 msgid "Name"
 msgstr "Meno"
 
-#: src/bar_exif.c:446
-msgid "Value"
-msgstr "Hodnota"
+#: ../src/advanced_exif.c:379
+msgid "Tag"
+msgstr "ZnaÄka"
 
 # src/preferences.c:401
-#: src/bar_exif.c:447
+#: ../src/advanced_exif.c:380
 msgid "Format"
-msgstr "Formát"
-
-#: src/bar_exif.c:448
+msgstr "Formát"
+
+#: ../src/advanced_exif.c:381
 msgid "Elements"
 msgstr "Prvky"
 
-#: src/bar_exif.c:449 src/preferences.c:1131
-msgid "Description"
-msgstr "Popis"
+#. default sidebar
+#: ../src/bar.c:167
+#, fuzzy
+msgid "Histogram"
+msgstr "_Kanály histogramu"
+
+# src/collect.c:329 src/image.c:1058
+#: ../src/bar.c:168
+#, fuzzy
+msgid "Title"
+msgstr "Nepomenovaný"
+
+#: ../src/bar.c:169 ../src/search.c:2775
+msgid "Keywords"
+msgstr "KľúÄové slová"
+
+# src/dupe.c:1948
+#: ../src/bar.c:170 ../src/search.c:2787
+#, fuzzy
+msgid "Comment"
+msgstr "Poznámka:"
 
 # src/main.c:622
-#: src/bar_exif.c:576 src/info.c:125 src/preferences.c:1274
+#: ../src/bar.c:171
 msgid "Exif"
 msgstr "Exif"
 
-#: src/bar_exif.c:650
-msgid "Advanced view"
-msgstr "Roz¹írený pohµad"
-
-#: src/bar_info.c:35
-msgid "Favorite"
-msgstr "Obµúbené"
-
-# src/preferences.c:368
-#: src/bar_info.c:36
-msgid "Todo"
-msgstr "Úlohy"
-
-#: src/bar_info.c:37
-msgid "People"
-msgstr "¥udia"
-
-#: src/bar_info.c:38
-msgid "Places"
-msgstr "Miesta"
-
-#: src/bar_info.c:39
-msgid "Art"
-msgstr "Umenie"
-
-#: src/bar_info.c:40
-msgid "Nature"
-msgstr "Príroda"
-
-#: src/bar_info.c:41
-msgid "Possessions"
-msgstr "Predmety"
-
-#: src/bar_info.c:801
-msgid "Keyword Presets"
-msgstr "Predvolené kµúèové slová"
-
-#: src/bar_info.c:804
-msgid "Favorite keywords list"
-msgstr "Zoznam obµúbených kµúèových slov"
-
-#: src/bar_info.c:1301 src/info.c:189 src/search.c:2699
-msgid "Keywords"
-msgstr "Kµúèové slová"
-
-# src/utilops.c:980
-#: src/bar_info.c:1315 src/info.c:825 src/pan-view.c:1542 src/print.c:2632
-msgid "Filename:"
-msgstr "Názov súboru:"
-
-# src/ui_pathsel.c:799
-#: src/bar_info.c:1316 src/info.c:391
-msgid "File date:"
-msgstr "Dátum súboru:"
-
-#: src/bar_info.c:1336
-msgid "Keywords:"
-msgstr "Kµúèové slová:"
-
-# src/dupe.c:1948
-#: src/bar_info.c:1404
-msgid "Comment:"
-msgstr "Poznámka:"
-
-#: src/bar_info.c:1428
-msgid "Edit favorite keywords list."
-msgstr "Upravi» zoznam obµúbených kµúèových slov."
-
-#: src/bar_info.c:1432
+#. other pre-configured panes
+#: ../src/bar.c:173
+#, fuzzy
+msgid "File info"
+msgstr "Súbor sa nenašiel"
+
+#: ../src/bar.c:174
+#, fuzzy
+msgid "Location and GPS"
+msgstr "Umiestnenie"
+
+# src/utilops.c:592
+#: ../src/bar.c:175 ../src/exif.c:347
+msgid "Copyright"
+msgstr "Autorské práva"
+
+#: ../src/bar.c:178 ../src/bar_gps.c:768
+msgid "GPS Map"
+msgstr ""
+
+# src/utilops.c:601
+#: ../src/bar.c:297
+#, fuzzy
+msgid "Move to _top"
+msgstr "Presunúť _hore"
+
+# src/utilops.c:601
+#: ../src/bar.c:298 ../src/ui_bookmark.c:410
+msgid "Move _up"
+msgstr "Presunúť _hore"
+
+# src/utilops.c:601
+#: ../src/bar.c:299 ../src/ui_bookmark.c:412
+msgid "Move _down"
+msgstr "Presunúť _dole"
+
+#: ../src/bar.c:300
+#, fuzzy
+msgid "Move to _bottom"
+msgstr "vľavo dole"
+
+# src/collect-table.c:622 src/dupe.c:1410 src/dupe.c:1568
+#: ../src/bar.c:302
+msgid "Remove"
+msgstr "Vymazať"
+
+#: ../src/bar_comment.c:195
+#, fuzzy
+msgid "Add text to selected files"
+msgstr "Pridať poznámku k vybraným súborom"
+
+#: ../src/bar_comment.c:196
+#, fuzzy
+msgid "Replace existing text in selected files"
+msgstr "Prepísať existujúci súbor novým."
+
+#: ../src/bar_exif.c:213
+msgid "<empty label, fixme>"
+msgstr ""
+
+# src/menu.c:1087
+#: ../src/bar_exif.c:546 ../src/bar_exif.c:556
+#, fuzzy
+msgid "Configure entry"
+msgstr "Konfigurovať voľby"
+
+# src/collect-table.c:1820 src/dupe.c:2172
+#. for the pane
+#: ../src/bar_exif.c:546 ../src/bar_exif.c:556 ../src/bar_exif.c:629
+#, fuzzy
+msgid "Add entry"
+msgstr "Pridať obsah"
+
+#: ../src/bar_exif.c:562
+msgid "Key:"
+msgstr ""
+
+#: ../src/bar_exif.c:571
+msgid "Title:"
+msgstr ""
+
+#: ../src/bar_exif.c:580
+msgid "Show only if set"
+msgstr ""
+
+#: ../src/bar_exif.c:581
+msgid "Editable (supported only for XMP)"
+msgstr ""
+
+# src/menu.c:1087
+#. for the entry
+#: ../src/bar_exif.c:617
+#, fuzzy, c-format
+msgid "Configure \"%s\""
+msgstr "Konfigurovať voľby"
+
+# src/collect-table.c:622 src/dupe.c:1410 src/dupe.c:1568
+#: ../src/bar_exif.c:618 ../src/bar_keywords.c:1207
+#, fuzzy, c-format
+msgid "Remove \"%s\""
+msgstr "Vymazať"
+
+# src/ui_pathsel.c:764
+#: ../src/bar_exif.c:630
+#, fuzzy
+msgid "Show hidden entries"
+msgstr "Ukázať _skryté súbory"
+
+# src/img-view.c:789 src/menu.c:944 src/menu.c:1079
+#: ../src/bar_gps.c:499
+#, fuzzy, c-format
+msgid "Zoom %i"
+msgstr "Priblížiť"
+
+# src/img-view.c:789 src/menu.c:944 src/menu.c:1079
+#: ../src/bar_gps.c:517
+#, fuzzy, c-format
+msgid "Zoom level %i"
+msgstr "Priblížiť"
+
+# src/collect-table.c:100 src/dupe.c:668 src/filelist.c:1811
+#: ../src/bar_gps.c:522
+#, fuzzy
+msgid "Loading map"
+msgstr "NaÄítavam náhľady..."
+
+#: ../src/bar_gps.c:584
+msgid "Enable markers"
+msgstr ""
+
+#: ../src/bar_gps.c:586
+msgid "Centre map on marker"
+msgstr ""
+
+#: ../src/bar_gps.c:609
+msgid ""
+"Move map centre to marker\n"
+" is disabled"
+msgstr ""
+
+#: ../src/bar_gps.c:614
+msgid ""
+"Move map centre to marker\n"
+" is enabled"
+msgstr ""
+
+#: ../src/bar_gps.c:623
+msgid "Map Centreing"
+msgstr ""
+
+#. use the same strings as in layout_util.c
+#: ../src/bar_histogram.c:265 ../src/layout_util.c:1404
+#, fuzzy
+msgid "Histogram on _Red"
+msgstr "Histogram v _log režime"
+
+#: ../src/bar_histogram.c:266 ../src/layout_util.c:1405
+#, fuzzy
+msgid "Histogram on _Green"
+msgstr "lineárny histogram zelenej"
+
+#: ../src/bar_histogram.c:267 ../src/layout_util.c:1406
+#, fuzzy
+msgid "Histogram on _Blue"
+msgstr "lineárny histogram modrej"
+
+#: ../src/bar_histogram.c:268 ../src/layout_util.c:1407
+#, fuzzy
+msgid "_Histogram on RGB"
+msgstr "lineárny histogram RGB"
+
+#: ../src/bar_histogram.c:269 ../src/layout_util.c:1408
+#, fuzzy
+msgid "Histogram on _Value"
+msgstr "lineárny histogram hodnoty"
+
+#: ../src/bar_histogram.c:273 ../src/layout_util.c:1412
+#, fuzzy
+msgid "Li_near Histogram"
+msgstr "lineárny histogram Äervenej"
+
+#: ../src/bar_histogram.c:274
+msgid "L_og Histogram"
+msgstr ""
+
+#: ../src/bar_keywords.c:414
 msgid "Add keywords to selected files"
-msgstr "Prida» kµúèové slová do vybraných súborov"
-
-#: src/bar_info.c:1435
-#, fuzzy
-msgid "Add keywords to selected files, replacing existing ones"
-msgstr "Prida» kµúèové slová do vybraných súborov, existujúce prepísa»."
-
-#: src/bar_info.c:1438
-#, fuzzy
-msgid "Add comment to selected files"
-msgstr "Prida» kµúèové slová do vybraných súborov"
-
-#: src/bar_info.c:1441
-#, fuzzy
-msgid "Add comment to selected files, replacing existing one"
-msgstr "Prida» kµúèové slová do vybraných súborov, existujúce prepísa»."
-
-# src/collect-dlg.c:165 src/collect-table.c:641
-#: src/bar_info.c:1446
-msgid "Save comment now"
-msgstr "Ulo¾i» poznámku"
-
-# src/utilops.c:496
-#: src/bar_sort.c:218
+msgstr "PridaÅ¥ kľúÄové slová do vybraných súborov"
+
+#: ../src/bar_keywords.c:415
+#, fuzzy
+msgid "Replace existing keywords in selected files"
+msgstr "PridaÅ¥ kľúÄové slová do vybraných súborov"
+
+# src/preferences.c:915
+#: ../src/bar_keywords.c:888
+#, fuzzy
+msgid "Edit keyword"
+msgstr "Editory"
+
+#: ../src/bar_keywords.c:888
+#, fuzzy
+msgid "Add keywords"
+msgstr "KľúÄové slová"
+
+# src/menu.c:1087
+#: ../src/bar_keywords.c:895
+#, fuzzy
+msgid "Configure keyword"
+msgstr "Konfigurovať voľby"
+
+#: ../src/bar_keywords.c:895 ../src/bar_keywords.c:1161
+#, fuzzy
+msgid "Add keyword"
+msgstr "KľúÄové slová"
+
+#: ../src/bar_keywords.c:901
+#, fuzzy
+msgid "Keyword:"
+msgstr "KľúÄové slová:"
+
+#: ../src/bar_keywords.c:910
+#, fuzzy
+msgid "Keyword type:"
+msgstr "KľúÄové slová:"
+
+#: ../src/bar_keywords.c:912
+#, fuzzy
+msgid "Active keyword"
+msgstr "Aktívny monitor"
+
+# src/menu.c:771
+#: ../src/bar_keywords.c:915
+#, fuzzy
+msgid "Helper"
+msgstr "Pomoc"
+
+#: ../src/bar_keywords.c:1165
+#, fuzzy
+msgid "Add keyword to all selected images"
+msgstr "PridaÅ¥ kľúÄové slová do vybraných súborov"
+
+#: ../src/bar_keywords.c:1185
+#, c-format
+msgid "Hide \"%s\""
+msgstr ""
+
+#: ../src/bar_keywords.c:1192
 #, fuzzy, c-format
-msgid ""
-"Unable to remove symbolic link:\n"
-"%s"
-msgstr ""
-"Nemo¾no presunú» súbor:\n"
-"%s\n"
-"do:\n"
-"%s"
-
-# src/utilops.c:664 src/utilops.c:676
-#: src/bar_sort.c:219
-msgid "Unlink failed"
-msgstr "Odpájanie sa nepodarilo"
-
-# src/ui_pathsel.c:517 src/utilops.c:1158
-#: src/bar_sort.c:300
+msgid "Mark %d"
+msgstr "ZnaÄka _%d"
+
+#: ../src/bar_keywords.c:1197
+#, c-format
+msgid "Connect \"%s\" to mark"
+msgstr ""
+
+# src/preferences.c:915
+#: ../src/bar_keywords.c:1204
 #, fuzzy, c-format
-msgid ""
-"Unable to create symbolic link:\n"
-"%s"
-msgstr ""
-"Nemo¾no vytvori» prieèinok:\n"
-"%s"
-
-#: src/bar_sort.c:301
-msgid "Link failed"
-msgstr "Pripojenie sa nepodarilo"
+msgid "Edit \"%s\""
+msgstr "Editory"
+
+#: ../src/bar_keywords.c:1214
+#, c-format
+msgid "Disconnect \"%s\" from mark %s"
+msgstr ""
+
+#. for the pane
+#: ../src/bar_keywords.c:1226 ../src/bar_keywords.c:1235
+msgid "Expand checked"
+msgstr ""
+
+#: ../src/bar_keywords.c:1227 ../src/bar_keywords.c:1236
+msgid "Collapse unchecked"
+msgstr ""
+
+#: ../src/bar_keywords.c:1228 ../src/bar_keywords.c:1237
+msgid "Hide unchecked"
+msgstr ""
+
+#: ../src/bar_keywords.c:1229
+#, fuzzy
+msgid "Show all"
+msgstr "Ukáž"
+
+#: ../src/bar_keywords.c:1232
+msgid "On any change"
+msgstr ""
 
 # src/utilops.c:1144
-#: src/bar_sort.c:452
+#: ../src/bar_sort.c:449
 #, c-format
 msgid ""
 "The collection:\n"
@@ -182,3241 +429,4201 @@
 msgstr ""
 "Zbierka:\n"
 "%s\n"
-"u¾ existuje."
+"už existuje."
 
 # src/collect-dlg.c:206
-#: src/bar_sort.c:453
+#: ../src/bar_sort.c:450
 msgid "Collection exists"
-msgstr "Zbierka u¾ existuje"
+msgstr "Zbierka už existuje"
 
 # src/collect-dlg.c:82 src/collect.c:1011
-#: src/bar_sort.c:467 src/collect.c:1083 src/collect-dlg.c:85
+#: ../src/bar_sort.c:464 ../src/collect.c:1098 ../src/collect-dlg.c:85
 #, c-format
 msgid ""
 "Failed to save the collection:\n"
 "%s"
 msgstr ""
-"Ulo¾enie zbierky sa nepodarilo:\n"
+"Uloženie zbierky sa nepodarilo:\n"
 "%s"
 
 # src/collect-dlg.c:83 src/collect.c:1012
-#: src/bar_sort.c:468 src/collect.c:1084 src/collect-dlg.c:86
+#: ../src/bar_sort.c:465 ../src/collect.c:1099 ../src/collect-dlg.c:86
 msgid "Save Failed"
-msgstr "Ulo¾enie sa nepodarilo"
-
-#: src/bar_sort.c:502 src/bar_sort.c:628
+msgstr "Nepodarilo sa uložiť"
+
+#: ../src/bar_sort.c:500 ../src/bar_sort.c:670
 msgid "Add Bookmark"
-msgstr "Prida» zálo¾ku"
+msgstr "Pridať záložku"
 
 # src/preferences.c:897
-#: src/bar_sort.c:506
+#: ../src/bar_sort.c:504
 msgid "Add Collection"
-msgstr "Prida» zbierku"
+msgstr "Pridať zbierku"
 
 # src/dupe.c:1652 src/dupe.c:1941
-#: src/bar_sort.c:523 src/ui_bookmark.c:601
+#: ../src/bar_sort.c:521 ../src/ui_bookmark.c:288
 msgid "Name:"
 msgstr "Meno:"
 
 # src/menu.c:526
-#: src/bar_sort.c:585
+#: ../src/bar_sort.c:597
 msgid "Sort Manager"
-msgstr "Správca triedenia"
+msgstr "Správca triedenia"
 
 # src/preferences.c:368
-#: src/bar_sort.c:594 src/pan-view.c:2395 src/ui_pathsel.c:1103
+#: ../src/bar_sort.c:606 ../src/pan-view.c:2417 ../src/ui_pathsel.c:1099
 msgid "Folders"
-msgstr "Prieèinky"
+msgstr "PrieÄinky"
 
 # src/preferences.c:897
-#: src/bar_sort.c:595 src/main.c:567
+#: ../src/bar_sort.c:607 ../src/options.c:141
 msgid "Collections"
 msgstr "Zbierky"
 
 # src/utilops.c:592
-#: src/bar_sort.c:603 src/utilops.c:1177
+#: ../src/bar_sort.c:615 ../src/utilops.c:2124
 msgid "Copy"
-msgstr "Kopírova»"
+msgstr "Kopírovať"
 
 # src/utilops.c:601
-#: src/bar_sort.c:606 src/utilops.c:1191
+#: ../src/bar_sort.c:618 ../src/utilops.c:2075
 msgid "Move"
-msgstr "Presunú»"
-
-#: src/bar_sort.c:609
-msgid "Link"
-msgstr "Pripoji»"
+msgstr "Presunúť"
 
 # src/collect-table.c:86
-#: src/bar_sort.c:615
+#: ../src/bar_sort.c:657
 msgid "Add image"
-msgstr "Prida» obrázok"
+msgstr "Pridať obrázok"
 
 # src/collect-table.c:628 src/dupe.c:1393 src/dupe.c:1565
-#: src/bar_sort.c:618
+#: ../src/bar_sort.c:660
 msgid "Add selection"
-msgstr "Prida» výber"
-
-#: src/bar_sort.c:631
+msgstr "Pridať výber"
+
+#: ../src/bar_sort.c:673
 msgid "Undo last image"
-msgstr "Vráti» posledný obrázok"
+msgstr "Vrátiť posledný obrázok"
 
 # src/rcfile.c:132
-#: src/cache.c:175
-#, fuzzy, c-format
+#: ../src/cache.c:174
+#, c-format
 msgid ""
 "error saving sim cache data: %s\n"
 "error: %s\n"
-msgstr "chyba pri ukladaní konfiguraèného súboru: %s\n"
+msgstr ""
+"chyba pri ukladaní údajov sim vyrovnávacej pamäte: %s\n"
+"chyba: %s\n"
 
 # src/preferences.c:400
-#: src/cache_maint.c:127 src/cache_maint.c:689 src/cache_maint.c:902
-#: src/editors.c:717
+#: ../src/cache_maint.c:129 ../src/cache_maint.c:730 ../src/cache_maint.c:954
+#: ../src/editors.c:1176
 msgid "done"
 msgstr "hotovo"
 
 # src/dupe.c:841
-#: src/cache_maint.c:306
+#: ../src/cache_maint.c:311
 msgid "Removing old metadata..."
-msgstr "Odstraòujem staré podobnostné dáta (metadata)..."
+msgstr "Odstraňujem staré metadáta..."
 
 # src/cache_maint.c:245
-#: src/cache_maint.c:310
+#: ../src/cache_maint.c:315
 msgid "Clearing cached thumbnails..."
-msgstr "Èistím vyrovnávaciu pamä» miniatúr..."
+msgstr "Čistím vyrovnávaciu pamäť náhľadov..."
 
 # src/cache_maint.c:249
-#: src/cache_maint.c:314 src/cache_maint.c:1056
+#: ../src/cache_maint.c:319 ../src/cache_maint.c:1116
 msgid "Removing old thumbnails..."
-msgstr "Odstraòujem staré miniatúry..."
-
-#: src/cache_maint.c:317 src/cache_maint.c:1059
+msgstr "Odstraňujem staré náhľady..."
+
+#: ../src/cache_maint.c:322 ../src/cache_maint.c:1119
 msgid "Maintenance"
-msgstr "Údr¾ba"
+msgstr "Údržba"
 
 # src/collect-dlg.c:59
-#: src/cache_maint.c:800 src/utilops.c:1107
+#: ../src/cache_maint.c:845
 msgid "Invalid folder"
-msgstr "Nesprávny prieèinok"
-
-#: src/cache_maint.c:801
+msgstr "Nesprávny prieÄinok"
+
+#: ../src/cache_maint.c:846
 msgid "The specified folder can not be found."
-msgstr "Uvedený prieèinok sa nena¹iel"
+msgstr "Uvedený prieÄinok sa nenaÅ¡iel"
 
 # src/preferences.c:603
-#: src/cache_maint.c:829 src/cache_maint.c:843 src/cache_maint.c:1227
+#: ../src/cache_maint.c:877 ../src/cache_maint.c:891 ../src/cache_maint.c:1295
 msgid "Create thumbnails"
-msgstr "Vytvori» miniatúry"
-
-#: src/cache_maint.c:837 src/cache_maint.c:1066
+msgstr "Vytvoriť náhľady"
+
+#: ../src/cache_maint.c:885 ../src/cache_maint.c:1126
 msgid "S_tart"
-msgstr "©tart"
+msgstr "Å _tart"
 
 # src/preferences.c:368
-#: src/cache_maint.c:850 src/preferences.c:1407
+#: ../src/cache_maint.c:898 ../src/preferences.c:1866
 msgid "Folder:"
-msgstr "Prieèinok:"
+msgstr "PrieÄinok:"
 
 # src/collect-table.c:628 src/dupe.c:1393 src/dupe.c:1565
-#: src/cache_maint.c:853
+#: ../src/cache_maint.c:901
 msgid "Select folder"
-msgstr "Vybra» prieèinok"
+msgstr "VybraÅ¥ prieÄinok"
 
 # src/collect-dlg.c:59
-#: src/cache_maint.c:857
+#: ../src/cache_maint.c:905
 msgid "Include subfolders"
-msgstr "Vrátane podprieèinkov"
-
-#: src/cache_maint.c:858
+msgstr "Vrátane podprieÄinkov"
+
+#: ../src/cache_maint.c:906
 msgid "Store thumbnails local to source images"
-msgstr "Miniatúry uklada» lokálne ku zdrojovým obrázkov"
-
-#: src/cache_maint.c:867 src/cache_maint.c:1075
+msgstr "Náhľady ukladať lokálne ku zdrojovým obrázkom"
+
+#: ../src/cache_maint.c:915 ../src/cache_maint.c:1135
 msgid "click start to begin"
-msgstr "pre spustenie kliknite na ¹tart"
+msgstr "spustíte kliknutím na štart"
 
 # src/dupe.c:871 src/dupe.c:892
-#: src/cache_maint.c:1005 src/editors.c:647
+#: ../src/cache_maint.c:1062 ../src/editors.c:1102
 msgid "running..."
 msgstr "pracujem..."
 
 # src/cache_maint.c:245
-#: src/cache_maint.c:1051
+#: ../src/cache_maint.c:1111
 msgid "Clearing thumbnails..."
-msgstr "Èistím miniatúry..."
+msgstr "Čistím náhľady..."
 
 # src/preferences.c:163 src/preferences.c:604
-#: src/cache_maint.c:1117 src/cache_maint.c:1120 src/cache_maint.c:1202
-#: src/cache_maint.c:1222
+#: ../src/cache_maint.c:1177 ../src/cache_maint.c:1180
+#: ../src/cache_maint.c:1273 ../src/cache_maint.c:1290
 msgid "Clear cache"
-msgstr "Vyèisti» vyrovnávaciu pamä»"
+msgstr "VyÄistiÅ¥ vyrovnávaciu pamäť"
 
 # src/preferences.c:163
-#: src/cache_maint.c:1121
+#: ../src/cache_maint.c:1181
 msgid ""
 "This will remove all thumbnails that have\n"
 "been saved to disk, continue?"
 msgstr ""
-"Chystám sa vymaza» v¹etky miniatúry, ktoré\n"
-"boli ulo¾ené na disk, pokraèova»?"
-
-#: src/cache_maint.c:1172
-#, fuzzy
+"Chystám sa odstrániť všetky náhľady,\n"
+"ktoré boli uložené na disk; pokraÄovaÅ¥?"
+
+#: ../src/cache_maint.c:1223
+#, fuzzy, c-format
+msgid "Location: %s"
+msgstr "Umiestnenie:"
+
+#: ../src/cache_maint.c:1248
 msgid "Cache Maintenance"
-msgstr "Údr¾ba vyrovnávacej pamäte - Geeqie"
-
-#: src/cache_maint.c:1184
+msgstr "Údržba vyrovnávacej pamäte"
+
+#: ../src/cache_maint.c:1258
 msgid "Cache and Data Maintenance"
-msgstr "Údr¾ba dát a vyrovnávacej pamäte"
+msgstr "Údržba dát a vyrovnávacej pamäte"
 
 # src/fullscreen.c:117
-#: src/cache_maint.c:1188
-#, fuzzy
+#: ../src/cache_maint.c:1262
 msgid "Thumbnail cache"
-msgstr "Geeqie vyrovnávacia pamä» miniatúr"
-
-#: src/cache_maint.c:1190 src/cache_maint.c:1210 src/cache_maint.c:1238
-#: src/pan-view.c:1544 src/pan-view.c:2384 src/preferences.c:1333
-#: src/utilops.c:1747
-msgid "Location:"
-msgstr "Umiestnenie:"
+msgstr "Vyrovnávacia pamäť náhľadov"
 
 # src/dupe.c:1412 src/dupe.c:1570
-#: src/cache_maint.c:1197 src/cache_maint.c:1217 src/cache_maint.c:1245
+#: ../src/cache_maint.c:1268 ../src/cache_maint.c:1285
+#: ../src/cache_maint.c:1310
 msgid "Clean up"
-msgstr "Vyèisti»"
-
-#: src/cache_maint.c:1200 src/cache_maint.c:1220
+msgstr "VyÄistiÅ¥"
+
+#: ../src/cache_maint.c:1271 ../src/cache_maint.c:1288
 msgid "Remove orphaned or outdated thumbnails."
-msgstr "Odstráni» neaktuálne miniatúry"
+msgstr "Odstrániť neaktuálne náhľady."
 
 # src/preferences.c:603
-#: src/cache_maint.c:1205 src/cache_maint.c:1225
+#: ../src/cache_maint.c:1276 ../src/cache_maint.c:1293
 msgid "Delete all cached thumbnails."
-msgstr "Zmaza» v¹etky miniatúry z vyrovnávacej pamäte"
+msgstr "Odstrániť všetky náhľady z vyrovnávacej pamäte."
 
 # src/preferences.c:603
-#: src/cache_maint.c:1208
+#: ../src/cache_maint.c:1279
 msgid "Shared thumbnail cache"
-msgstr "Zdieµaná vyrovnávacia pamä» miniatúr"
+msgstr "Zdieľaná vyrovnávacia pamäť náhľadov"
 
 # src/ui_pathsel.c:437 src/ui_pathsel.c:460 src/utilops.c:944
 # src/utilops.c:1095
-#: src/cache_maint.c:1231
+#: ../src/cache_maint.c:1299
 msgid "Render"
-msgstr "Vykresli»"
-
-#: src/cache_maint.c:1234
+msgstr "Vykresliť"
+
+#: ../src/cache_maint.c:1302
 msgid "Render thumbnails for a specific folder."
-msgstr "Vykresli» miniatúry pre ¹pecifický prieèinok."
-
-#: src/cache_maint.c:1236
-msgid "Metadata"
-msgstr "Podobnostné dáta (metadata)"
-
-#: src/cache_maint.c:1248
+msgstr "VykresliÅ¥ náhľady pre Å¡pecifický prieÄinok."
+
+#: ../src/cache_maint.c:1313
 msgid "Remove orphaned keywords and comments."
-msgstr "Odstráni» neaktuálne kµúèové slová a poznámky."
-
-#: src/cellrenderericon.c:127
-msgid "Pixbuf Object"
-msgstr ""
-
-#: src/cellrenderericon.c:128
-msgid "The pixbuf to render"
-msgstr ""
-
-#: src/cellrenderericon.c:135 src/print.c:3439
-msgid "Text"
-msgstr "Text"
-
-#: src/cellrenderericon.c:136
-msgid "Text to render"
-msgstr ""
-
-#: src/cellrenderericon.c:143
-#, fuzzy
-msgid "Background color"
-msgstr "Èierne pozadie"
-
-#: src/cellrenderericon.c:144
-#, fuzzy
-msgid "Background color as a GdkColor"
-msgstr "Èierne pozadie"
-
-#: src/cellrenderericon.c:151
-#, fuzzy
-msgid "Foreground color"
-msgstr "Èierne pozadie"
-
-#: src/cellrenderericon.c:152
-msgid "Foreground color as a GdkColor"
-msgstr ""
-
-#: src/cellrenderericon.c:159
-msgid "Focus"
-msgstr ""
-
-#: src/cellrenderericon.c:160
-msgid "Draw focus indicator"
-msgstr ""
-
-#: src/cellrenderericon.c:167
-msgid "Fixed width"
-msgstr ""
-
-#: src/cellrenderericon.c:168
-msgid "Width of cell"
-msgstr ""
-
-#: src/cellrenderericon.c:176
-msgid "Fixed height"
-msgstr ""
-
-#: src/cellrenderericon.c:177
-msgid "Height of icon excluding text"
-msgstr ""
-
-#: src/cellrenderericon.c:185
-#, fuzzy
-msgid "Background set"
-msgstr "Èierne pozadie"
-
-#: src/cellrenderericon.c:186
-msgid "Whether this tag affects the background color"
-msgstr ""
-
-#: src/cellrenderericon.c:193
-msgid "Foreground set"
-msgstr ""
-
-#: src/cellrenderericon.c:194
-msgid "Whether this tag affects the foreground color"
-msgstr ""
-
-# src/ui_pathsel.c:764
-#: src/cellrenderericon.c:201
-#, fuzzy
-msgid "Show text"
-msgstr "Zobrazi» meno súboru"
-
-#: src/cellrenderericon.c:202
-msgid "Whether the text is displayed"
-msgstr ""
+msgstr "OdstrániÅ¥ neaktuálne kľúÄové slová a poznámky."
 
 # src/collect.c:329 src/image.c:1058
-#: src/collect.c:353 src/image.c:178 src/image-overlay.c:437
-#: src/image-overlay.c:512
-#, c-format
+#. When does this occur ??
+#: ../src/collect.c:366 ../src/image.c:160 ../src/image-overlay.c:512
+#: ../src/image-overlay.c:591
 msgid "Untitled"
-msgstr "Nepomenovaný"
+msgstr "Nepomenovaný"
 
 # src/collect.c:333
-#: src/collect.c:357
+#: ../src/collect.c:370
 #, c-format
 msgid "Untitled (%d)"
-msgstr "Nepomenovaný (%d)"
+msgstr "Nepomenovaný (%d)"
 
 # src/collect.c:930
-#: src/collect.c:1002
-#, fuzzy, c-format
+#: ../src/collect.c:1016
+#, c-format
 msgid "%s - Collection - %s"
-msgstr "%s - Geeqie zbierka"
+msgstr "%s - Zbierka - %s"
 
 # src/collect.c:1048
-#: src/collect.c:1120 src/collect.c:1124
+#: ../src/collect.c:1135 ../src/collect.c:1139
 msgid "Close collection"
-msgstr "Zatvori» zbierku"
+msgstr "Zatvoriť zbierku"
 
 # src/collect.c:1048
-#: src/collect.c:1125
+#: ../src/collect.c:1140
 msgid ""
 "Collection has been modified.\n"
 "Save first?"
 msgstr ""
-"Zbierka bola zmenená.\n"
-"Ulo¾i»?"
-
-#: src/collect.c:1128
+"Zbierka bola zmenená.\n"
+"Uložiť?"
+
+#: ../src/collect.c:1143
 msgid "_Discard"
-msgstr "ZahoDi»"
+msgstr "_Zahodiť"
 
 # src/collect-dlg.c:58
-#: src/collect-dlg.c:59
+#: ../src/collect-dlg.c:59
 #, c-format
 msgid ""
 "Specified path:\n"
 "%s\n"
 "is a folder, collections are files"
 msgstr ""
-"Zadaná cesta:\n"
+"Zadaná cesta:\n"
 "%s\n"
-"je prieèinok, ale zbierky sú súbory"
+"je prieÄinok, ale zbierky sú súbory"
 
 # src/collect-dlg.c:59
-#: src/collect-dlg.c:60
+#: ../src/collect-dlg.c:60
 msgid "Invalid filename"
-msgstr "Nesprávne meno súboru"
+msgstr "Nesprávne meno súboru"
 
 # src/collect-dlg.c:69
-#: src/collect-dlg.c:69
+#: ../src/collect-dlg.c:69
 msgid "Overwrite File"
-msgstr "Prepísa» súbor"
+msgstr "Prepísať súbor"
 
 # src/utilops.c:339 src/utilops.c:459 src/utilops.c:826 src/utilops.c:1032
-#: src/collect-dlg.c:74
+#: ../src/collect-dlg.c:74
 msgid "Overwrite existing file?"
-msgstr "Prepísa» existujúci súbor?"
+msgstr "Prepísať existujúci súbor?"
 
 # src/collect-dlg.c:73 src/utilops.c:463 src/utilops.c:830 src/utilops.c:1036
-#: src/collect-dlg.c:76 src/utilops.c:660 src/utilops.c:990 src/utilops.c:1902
-#: src/utilops.c:2622
+#: ../src/collect-dlg.c:76
 msgid "_Overwrite"
-msgstr "Prepísa»"
+msgstr "_Prepísať"
+
+#: ../src/collect-dlg.c:127
+#, c-format
+msgid "No such file '%s'."
+msgstr ""
+
+#: ../src/collect-dlg.c:132
+#, c-format
+msgid "'%s' is a directory, not a collection file."
+msgstr ""
+
+#: ../src/collect-dlg.c:137
+#, c-format
+msgid "You do not have read permissions on the file '%s'."
+msgstr ""
+
+# src/collect-dlg.c:82 src/collect.c:1011
+#: ../src/collect-dlg.c:143
+#, fuzzy
+msgid "Can not open collection file"
+msgstr "nepodarilo sa otvoriť kolekciu (zápis) \"%s\"\n"
 
 # src/collect-dlg.c:165 src/collect-table.c:641
-#: src/collect-dlg.c:171
+#: ../src/collect-dlg.c:195
 msgid "Save collection"
-msgstr "Ulo¾i» zbierku"
+msgstr "Uložiť zbierku"
 
 # src/collect-dlg.c:172
-#: src/collect-dlg.c:178
+#: ../src/collect-dlg.c:202
 msgid "Open collection"
-msgstr "Otvori» zbierku"
+msgstr "Otvoriť zbierku"
 
 # src/collect-dlg.c:180
-#: src/collect-dlg.c:186
+#: ../src/collect-dlg.c:210
 msgid "Append collection"
-msgstr "Pripoji» zbierku"
+msgstr "Pripojiť zbierku"
 
 # src/collect-dlg.c:182
-#: src/collect-dlg.c:187
+#: ../src/collect-dlg.c:211
 msgid "_Append"
-msgstr "Pripoji»"
+msgstr "_Pripojiť"
 
 # src/collect-dlg.c:194
-#: src/collect-dlg.c:205
+#: ../src/collect-dlg.c:228
 msgid "Collection Files"
-msgstr "Súbory zbierok"
+msgstr "Súbory zbierok"
 
 # src/collect-dlg.c:206
-#: src/collect-dlg.c:223
+#: ../src/collect-dlg.c:245
 msgid "Collection empty"
-msgstr "Zbierka je prázdna"
+msgstr "Zbierka je prázdna"
 
 # src/collect-dlg.c:206
-#: src/collect-dlg.c:224
+#: ../src/collect-dlg.c:246
 msgid "The current collection is empty, save aborted."
-msgstr "Aktuálna zbierka je prázdna, neukladám."
+msgstr "Aktuálna zbierka je prázdna, neukladám."
 
 # src/collect-dlg.c:82 src/collect.c:1011
-#: src/collect-io.c:343
-#, fuzzy, c-format
+#: ../src/collect-io.c:346
+#, c-format
 msgid "failed to open collection (write) \"%s\"\n"
-msgstr ""
-"Ulo¾enie zbierky sa nepodarilo:\n"
-"%s"
+msgstr "nepodarilo sa otvoriť kolekciu (zápis) \"%s\"\n"
 
 # src/rcfile.c:132
-#: src/collect-io.c:368
-#, fuzzy, c-format
+#: ../src/collect-io.c:371
+#, c-format
 msgid ""
 "error saving collection file: %s\n"
 "error: %s\n"
-msgstr "chyba pri ukladaní konfiguraèného súboru: %s\n"
-
-# src/collect-table.c:78 src/menu.c:684
-#: src/collect-table.c:167 src/layout.c:377 src/layout_util.c:965
-msgid "Empty"
-msgstr "Prázdne"
-
-# src/collect-table.c:82
-#: src/collect-table.c:171
-#, c-format
-msgid "%d images (%d)"
-msgstr "%d obrázkov (%d)"
+msgstr ""
+"chyba pri ukladaní súboru kolekcie: %s\n"
+"chyba: %s\n"
+
+# src/filelist.c:86
+#: ../src/collect-table.c:211
+#, fuzzy, c-format
+msgid "%s, %d images (%s, %d)"
+msgstr "%s, %d súborov (%s, %d)"
 
 # src/collect-table.c:86
-#: src/collect-table.c:175
-#, c-format
-msgid "%d images"
-msgstr "%d obrázkov"
+#: ../src/collect-table.c:218
+#, fuzzy, c-format
+msgid "%s, %d images"
+msgstr "%d obrázkov"
+
+# src/collect-table.c:78 src/menu.c:684
+#: ../src/collect-table.c:223 ../src/layout_util.c:1206
+#: ../src/layout_util.c:2243
+msgid "Empty"
+msgstr "Prázdne"
 
 # src/collect-table.c:100 src/dupe.c:668 src/filelist.c:1811
-#: src/collect-table.c:189 src/dupe.c:1328 src/search.c:304
-#: src/view_file_icon.c:1779 src/view_file_icon.c:1895
-#: src/view_file_list.c:915 src/view_file_list.c:1031
+#: ../src/collect-table.c:237 ../src/dupe.c:1319 ../src/search.c:320
+#: ../src/view_file.c:835 ../src/view_file.c:942
 msgid "Loading thumbs..."
-msgstr "Naèítavam miniatúry..."
+msgstr "NaÄítavam náhľady..."
 
 # src/menu.c:753
-#: src/collect-table.c:776 src/dupe.c:2239 src/dupe.c:2554
-#: src/layout_util.c:1042 src/search.c:983
+#: ../src/collect-table.c:870 ../src/dupe.c:2246 ../src/dupe.c:2559
+#: ../src/layout_util.c:1253 ../src/search.c:1000
 msgid "_View"
-msgstr "Zobrazi»"
+msgstr "_Zobraziť"
 
 # src/collect-table.c:620 src/dupe.c:1388 src/dupe.c:1560 src/img-view.c:801
 # src/menu.c:906 src/menu.c:964
-#: src/collect-table.c:778 src/dupe.c:2241 src/dupe.c:2556 src/img-view.c:1282
-#: src/layout_image.c:759 src/pan-view.c:2814 src/search.c:985
-#: src/view_file.c:564
+#: ../src/collect-table.c:872 ../src/dupe.c:2248 ../src/dupe.c:2561
+#: ../src/img-view.c:1281 ../src/layout_image.c:505 ../src/pan-view.c:2845
+#: ../src/search.c:1002 ../src/view_file.c:588
 msgid "View in _new window"
-msgstr "Zobrazi» v _novom okne"
+msgstr "Zobraziť v _novom okne"
 
 # src/collect-table.c:622 src/dupe.c:1410 src/dupe.c:1568
-#: src/collect-table.c:781 src/dupe.c:2274 src/dupe.c:2564 src/search.c:1014
+#: ../src/collect-table.c:875 ../src/dupe.c:2282 ../src/dupe.c:2569
+#: ../src/search.c:1032
 msgid "Rem_ove"
-msgstr "Vymaza»"
+msgstr "_Odobrať"
 
 # src/collect-table.c:624
-#: src/collect-table.c:784
+#: ../src/collect-table.c:878
 msgid "Append from file list"
-msgstr "Pripoji» zo zoznamu súborov"
+msgstr "Pripojiť zo zoznamu súborov"
 
 # src/collect-table.c:625
-#: src/collect-table.c:786
+#: ../src/collect-table.c:880
 msgid "Append from collection..."
-msgstr "Pripoji» zo zbierky..."
-
-# src/collect-table.c:627 src/dupe.c:1391 src/dupe.c:1563
-#: src/collect-table.c:789 src/dupe.c:2244 src/dupe.c:2559 src/search.c:988
-msgid "Select all"
-msgstr "Vybra» v¹etko"
+msgstr "Pripojiť zo zbierky..."
 
 # src/collect-table.c:628 src/dupe.c:1393 src/dupe.c:1565
-#: src/collect-table.c:791 src/dupe.c:2246 src/dupe.c:2561 src/search.c:990
+#: ../src/collect-table.c:884
+#, fuzzy
+msgid "_Selection"
+msgstr "Výber"
+
+# src/collect-table.c:627 src/dupe.c:1391 src/dupe.c:1563
+#: ../src/collect-table.c:886 ../src/dupe.c:2251 ../src/dupe.c:2564
+#: ../src/layout_util.c:1299 ../src/search.c:1005
+msgid "Select all"
+msgstr "Vybrať všetko"
+
+# src/collect-table.c:628 src/dupe.c:1393 src/dupe.c:1565
+#: ../src/collect-table.c:888 ../src/dupe.c:2253 ../src/dupe.c:2566
+#: ../src/layout_util.c:1300 ../src/search.c:1007
 msgid "Select none"
-msgstr "Zru¹i» výber"
-
-# src/menu.c:748
-#: src/collect-table.c:799 src/dupe.c:2255 src/img-view.c:1280
-#: src/layout_image.c:756 src/layout_util.c:1096 src/pan-view.c:2811
-#: src/search.c:995 src/view_file.c:562
-msgid "_Properties"
-msgstr "Vlastnosti"
+msgstr "Zrušiť výber"
+
+# src/collect-table.c:628 src/dupe.c:1393 src/dupe.c:1565
+#: ../src/collect-table.c:890
+#, fuzzy
+msgid "Invert selection"
+msgstr "_OpaÄný výber"
 
 # src/collect-table.c:633 src/dupe.c:1401 src/img-view.c:804 src/menu.c:910
 # src/menu.c:969
-#: src/collect-table.c:802 src/dupe.c:2262 src/img-view.c:1286
-#: src/layout_image.c:767 src/layout_util.c:1067 src/pan-view.c:2818
-#: src/search.c:1002 src/view_file.c:568
+#: ../src/collect-table.c:902 ../src/dupe.c:2271 ../src/img-view.c:1285
+#: ../src/layout_image.c:513 ../src/layout_util.c:1282 ../src/pan-view.c:2849
+#: ../src/search.c:1021 ../src/view_file.c:592
 msgid "_Copy..."
-msgstr "Kopírova»..."
+msgstr "_Kopírovať..."
 
 # src/collect-table.c:634 src/dupe.c:1403 src/img-view.c:805 src/menu.c:912
 # src/menu.c:971
-#: src/collect-table.c:804 src/dupe.c:2264 src/img-view.c:1287
-#: src/layout_image.c:769 src/layout_util.c:1068 src/pan-view.c:2820
-#: src/search.c:1004 src/view_file.c:570
+#: ../src/collect-table.c:904 ../src/dupe.c:2273 ../src/img-view.c:1286
+#: ../src/layout_image.c:515 ../src/layout_util.c:1283 ../src/pan-view.c:2851
+#: ../src/search.c:1023 ../src/view_file.c:594
 msgid "_Move..."
-msgstr "Presunú»..."
+msgstr "_Presunúť..."
 
 # src/collect-table.c:635 src/dupe.c:1405 src/img-view.c:806 src/menu.c:914
 # src/menu.c:973
-#: src/collect-table.c:806 src/dupe.c:2266 src/img-view.c:1288
-#: src/layout_image.c:771 src/layout_util.c:1069 src/pan-view.c:2822
-#: src/search.c:1006 src/view_dir.c:608 src/view_file.c:572
+#: ../src/collect-table.c:906 ../src/dupe.c:2275 ../src/img-view.c:1287
+#: ../src/layout_image.c:517 ../src/layout_util.c:1284 ../src/pan-view.c:2853
+#: ../src/search.c:1025 ../src/view_dir.c:666 ../src/view_file.c:596
 msgid "_Rename..."
-msgstr "P_remenova»..."
+msgstr "_Premenovať..."
 
 # src/collect-table.c:636 src/dupe.c:1407 src/img-view.c:807 src/menu.c:916
 # src/menu.c:975
-#: src/collect-table.c:808 src/dupe.c:2268 src/img-view.c:1289
-#: src/layout_image.c:773 src/layout_util.c:1070 src/layout_util.c:1071
-#: src/layout_util.c:1072 src/pan-view.c:2824 src/search.c:1008
-#: src/view_dir.c:610 src/view_file.c:574
+#: ../src/collect-table.c:908 ../src/dupe.c:2277 ../src/img-view.c:1288
+#: ../src/layout_image.c:519 ../src/layout_util.c:1285
+#: ../src/layout_util.c:1286 ../src/layout_util.c:1287 ../src/pan-view.c:2855
+#: ../src/search.c:1027 ../src/view_dir.c:668 ../src/view_file.c:598
 msgid "_Delete..."
-msgstr "Vymaza»..."
+msgstr "_Odstrániť..."
 
 # src/utilops.c:592
-#: src/collect-table.c:811 src/dupe.c:2271 src/img-view.c:1291
-#: src/layout_image.c:778 src/layout_util.c:1073 src/pan-view.c:2827
-#: src/search.c:1011 src/view_dir.c:614 src/view_file.c:577
-#, fuzzy
+#: ../src/collect-table.c:910 ../src/dupe.c:2279 ../src/img-view.c:1289
+#: ../src/layout_image.c:522 ../src/pan-view.c:2857 ../src/search.c:1029
+#: ../src/view_dir.c:671 ../src/view_file.c:600
 msgid "_Copy path"
-msgstr "Kopírova»"
+msgstr "_Kopírovať cestu"
+
+# src/preferences.c:645
+#: ../src/collect-table.c:916
+#, fuzzy
+msgid "Randomize"
+msgstr "Náhodne"
+
+# src/menu.c:559
+#: ../src/collect-table.c:918 ../src/view_file.c:616
+msgid "_Sort"
+msgstr "_Usporiadať"
 
 # src/ui_pathsel.c:764
-#: src/collect-table.c:816 src/view_file.c:601
+#: ../src/collect-table.c:921 ../src/view_file.c:632
 msgid "Show filename _text"
-msgstr "Zobrazi» meno súboru"
+msgstr "Zobraziť _text mena súboru"
 
 # src/collect-dlg.c:165 src/collect-table.c:641
-#: src/collect-table.c:819
+#: ../src/collect-table.c:924
 msgid "_Save collection"
-msgstr "Ulo¾i» zbierku"
+msgstr "_Uložiť zbierku"
 
 # src/collect-table.c:642
-#: src/collect-table.c:821
+#: ../src/collect-table.c:926
 msgid "Save collection _as..."
-msgstr "Ulo¾i» zbierku _ako..."
+msgstr "Uložiť zbierku _ako..."
 
 # src/collect-table.c:644 src/menu.c:885
-#: src/collect-table.c:824 src/layout_util.c:1063
+#: ../src/collect-table.c:929 ../src/layout_util.c:1278
 msgid "_Find duplicates..."
-msgstr "Nájs» duplikáty..."
+msgstr "_Nájsť duplikáty..."
 
 # src/menu.c:721
-#: src/collect-table.c:826 src/dupe.c:2259 src/search.c:999
+#: ../src/collect-table.c:931 ../src/dupe.c:2268 ../src/layout_util.c:1280
+#: ../src/search.c:1018
 msgid "Print..."
-msgstr "Tlaè..."
+msgstr "TlaÄ..."
 
 # src/collect-table.c:1818 src/dupe.c:2170
-#: src/collect-table.c:1978 src/dupe.c:3355 src/img-view.c:1445
+#: ../src/collect-table.c:2097 ../src/dupe.c:3363 ../src/img-view.c:1443
 msgid "Dropped list includes folders."
-msgstr "Odstraòovaný zoznam obsahuje prieèinky."
+msgstr "Odstraňovaný zoznam obsahuje prieÄinky."
 
 # src/collect-table.c:1820 src/dupe.c:2172
-#: src/collect-table.c:1980 src/dupe.c:3357 src/img-view.c:1447
+#: ../src/collect-table.c:2099 ../src/dupe.c:3365 ../src/img-view.c:1445
 msgid "_Add contents"
-msgstr "Prid_a» obsah"
+msgstr "_Pridať obsah"
 
 # src/collect-table.c:1821 src/dupe.c:2173
-#: src/collect-table.c:1982 src/dupe.c:3358 src/img-view.c:1448
+#: ../src/collect-table.c:2101 ../src/dupe.c:3366 ../src/img-view.c:1446
 msgid "Add contents _recursive"
-msgstr "Prida» obsah _rekurzívne"
+msgstr "Pridať obsah _rekurzívne"
 
 # src/collect-table.c:1822 src/dupe.c:2174
-#: src/collect-table.c:1984 src/dupe.c:3359 src/img-view.c:1449
+#: ../src/collect-table.c:2103 ../src/dupe.c:3367 ../src/img-view.c:1447
 msgid "_Skip folders"
-msgstr "Pre_skoèi» prieèinky"
+msgstr "P_reskoÄiÅ¥ prieÄinky"
 
 # src/collect-table.c:1824 src/dupe.c:2176 src/preferences.c:536
 # src/ui_utildlg.c:105
-#: src/collect-table.c:1987 src/dupe.c:3361 src/img-view.c:1451
-#: src/view_dir.c:343
+#: ../src/collect-table.c:2106 ../src/dupe.c:3369 ../src/img-view.c:1449
+#: ../src/view_dir.c:417
 msgid "Cancel"
-msgstr "Zru¹i»"
+msgstr "Zrušiť"
+
+#: ../src/color-man.c:420 ../src/exif.c:232 ../src/exif-common.c:432
+msgid "sRGB"
+msgstr "sRGB"
+
+#: ../src/color-man.c:422
+#, fuzzy
+msgid "Adobe RGB compatible"
+msgstr "Kompatibilné s AdobeRGB"
+
+# src/preferences.c:875
+#: ../src/color-man.c:430
+#, fuzzy
+msgid "Custom profile"
+msgstr "Používateľom definovaná tlaÄiareň"
+
+#: ../src/desktop_file.c:74 ../src/desktop_file.c:86 ../src/desktop_file.c:92
+msgid "Can't save"
+msgstr ""
+
+#: ../src/desktop_file.c:74
+msgid "Please specify file name."
+msgstr ""
+
+# src/utilops.c:1151
+#: ../src/desktop_file.c:86
+#, fuzzy
+msgid "Could not create directory"
+msgstr "Nemôžem vytvoriÅ¥ prieÄinok"
+
+# src/utilops.c:989
+#: ../src/desktop_file.c:182 ../src/desktop_file.c:534
+#, fuzzy
+msgid "Desktop file"
+msgstr "Plocha"
+
+# src/ui_pathsel.c:343 src/utilops.c:675 src/utilops.c:727
+#: ../src/desktop_file.c:291 ../src/ui_pathsel.c:494
+#, c-format
+msgid ""
+"Unable to delete file:\n"
+"%s"
+msgstr ""
+"Nemožno odstrániť súbor:\n"
+"%s"
+
+# src/ui_pathsel.c:344 src/utilops.c:728
+#: ../src/desktop_file.c:292 ../src/ui_pathsel.c:495 ../src/utilops.c:1962
+#: ../src/utilops.c:1989 ../src/utilops.c:2509
+msgid "File deletion failed"
+msgstr "Nepodarilo sa odstrániť súbor"
+
+# src/ui_pathsel.c:398 src/utilops.c:760
+#: ../src/desktop_file.c:336 ../src/desktop_file.c:344 ../src/ui_pathsel.c:537
+#: ../src/ui_pathsel.c:545
+msgid "Delete file"
+msgstr "Odstrániť súbor"
+
+# src/ui_pathsel.c:397 src/utilops.c:759
+#: ../src/desktop_file.c:342 ../src/ui_pathsel.c:543
+#, c-format
+msgid ""
+"About to delete the file:\n"
+" %s"
+msgstr ""
+"Pripravený odstrániť súbor:\n"
+" %s"
+
+# src/utilops.c:989
+#: ../src/desktop_file.c:374
+#, fuzzy
+msgid "new.desktop"
+msgstr "Plocha"
+
+# src/preferences.c:915
+#: ../src/desktop_file.c:453
+msgid "Editors"
+msgstr "Editory"
+
+#: ../src/desktop_file.c:524
+msgid "Hidden"
+msgstr ""
+
+# src/dupe.c:1657 src/dupe.c:1945
+#: ../src/desktop_file.c:543 ../src/dupe.c:2657 ../src/dupe.c:3177
+#: ../src/print.c:3215 ../src/search.c:2856 ../src/ui_pathsel.c:1111
+#: ../src/utilops.c:458
+msgid "Path"
+msgstr "Cesta"
 
 # src/dupe.c:61
-#: src/dupe.c:99
+#: ../src/dupe.c:100
 msgid "Drop files to compare them."
-msgstr "Pritiahnu» súbory pre ich porovnanie."
+msgstr "Vložte súbory pre ich porovnanie."
 
 # src/dupe.c:67 src/dupe.c:1449
-#: src/dupe.c:103
+#: ../src/dupe.c:104
 #, c-format
 msgid "%d files"
-msgstr "%d súborov"
+msgstr "%d súborov"
 
 # src/dupe.c:71
-#: src/dupe.c:107
+#: ../src/dupe.c:108
 #, c-format
 msgid "%d matches found in %d files"
-msgstr "%d zhôd, v %d súboroch"
-
-#: src/dupe.c:112
+msgstr "%d zhôd, v %d súboroch"
+
+#: ../src/dupe.c:113
 msgid "[set 1]"
 msgstr "[sada 1]"
 
 # src/dupe.c:775
-#: src/dupe.c:1454
+#: ../src/dupe.c:1445
 msgid "Reading checksums..."
-msgstr "Naèítavam kontrolné súèty..."
+msgstr "NaÄítavam kontrolné súÄty..."
 
 # src/dupe.c:807
-#: src/dupe.c:1487
+#: ../src/dupe.c:1478
 msgid "Reading dimensions..."
-msgstr "Naèítavam rozmery..."
+msgstr "NaÄítavam rozmery..."
 
 # src/dupe.c:841
-#: src/dupe.c:1521
+#: ../src/dupe.c:1512
 msgid "Reading similarity data..."
-msgstr "Naèítavam podobnostné dáta..."
+msgstr "NaÄítavam podobnostné dáta..."
 
 # src/dupe.c:871 src/dupe.c:892
-#: src/dupe.c:1556 src/dupe.c:1587
+#: ../src/dupe.c:1548 ../src/dupe.c:1579
 msgid "Comparing..."
-msgstr "Porovnávam..."
+msgstr "Porovnávam..."
 
 # src/dupe.c:871 src/dupe.c:892
-#: src/dupe.c:1567 src/pan-view.c:1093
+#: ../src/dupe.c:1559 ../src/pan-view.c:1094
 msgid "Sorting..."
 msgstr "Triedim..."
 
-#: src/dupe.c:2248
+#: ../src/dupe.c:2255
 msgid "Select group _1 duplicates"
-msgstr "Vybra» skupinu _1 duplikátov"
-
-#: src/dupe.c:2250
+msgstr "Vybrať skupinu _1 duplikátov"
+
+#: ../src/dupe.c:2257
 msgid "Select group _2 duplicates"
-msgstr "Vybra» skupinu _2 duplikátov"
+msgstr "Vybrať skupinu _2 duplikátov"
 
 # src/dupe.c:1398
-#: src/dupe.c:2257 src/search.c:997
+#: ../src/dupe.c:2266 ../src/search.c:1016
 msgid "Add to new collection"
-msgstr "Prida» do novej zbierky"
+msgstr "Pridať do novej zbierky"
 
 # src/dupe.c:1412 src/dupe.c:1570
-#: src/dupe.c:2276 src/dupe.c:2566 src/search.c:1016
+#: ../src/dupe.c:2284 ../src/dupe.c:2571 ../src/search.c:1034
 msgid "C_lear"
-msgstr "Vymaza»"
+msgstr "_VyÄistiÅ¥"
 
 # src/dupe.c:1415 src/dupe.c:1573 src/img-view.c:841
-#: src/dupe.c:2279 src/dupe.c:2569
+#: ../src/dupe.c:2287 ../src/dupe.c:2574
 msgid "Close _window"
-msgstr "Zavrie» okno"
+msgstr "Zavrieť _okno"
 
 # src/filelist.c:88
-#: src/dupe.c:2439
+#: ../src/dupe.c:2447
 #, c-format
 msgid "%d files (set 2)"
-msgstr "%d súborov (sada 2)"
-
-#: src/dupe.c:2647
-#, fuzzy
+msgstr "%d súborov (sada 2)"
+
+#: ../src/dupe.c:2652
 msgid "Name case-insensitive"
-msgstr "Triedenie citlivé na veµkos» znakov"
+msgstr "Názov necitlivý na veľkosť znakov"
 
 # src/dupe.c:1653 src/dupe.c:1942
-#: src/dupe.c:2648 src/dupe.c:3168 src/preferences.c:1026 src/print.c:3238
-#: src/search.c:2761 src/view_file_list.c:1823
+#: ../src/dupe.c:2653 ../src/dupe.c:3174 ../src/preferences.c:1416
+#: ../src/print.c:3219 ../src/search.c:2853 ../src/view_file_list.c:2050
 msgid "Size"
-msgstr "Veµkos»"
+msgstr "Veľkosť"
 
 # src/dupe.c:1654 src/dupe.c:1943
-#: src/dupe.c:2649 src/dupe.c:3169 src/exif.c:339 src/exif-common.c:442
-#: src/print.c:3236 src/search.c:2762 src/view_file_list.c:1824
+#: ../src/dupe.c:2654 ../src/dupe.c:3175 ../src/exif.c:341
+#: ../src/exif-common.c:543 ../src/print.c:3217 ../src/search.c:2854
+#: ../src/view_file_list.c:2054
 msgid "Date"
-msgstr "Dátum"
+msgstr "Dátum"
 
 # src/dupe.c:1655 src/dupe.c:1944
-#: src/dupe.c:2650 src/dupe.c:3170 src/print.c:3240 src/search.c:2763
+#: ../src/dupe.c:2655 ../src/dupe.c:3176 ../src/print.c:3221
+#: ../src/search.c:2855
 msgid "Dimensions"
 msgstr "Rozmery"
 
 # src/dupe.c:1656
-#: src/dupe.c:2651
+#: ../src/dupe.c:2656
 msgid "Checksum"
-msgstr "Kontrolný súèet"
-
-# src/dupe.c:1657 src/dupe.c:1945
-#: src/dupe.c:2652 src/dupe.c:3171 src/print.c:3234 src/search.c:2764
-#: src/ui_pathsel.c:1115
-msgid "Path"
-msgstr "Cesta"
+msgstr "Kontrolný súÄet"
 
 # src/dupe.c:1658
-#: src/dupe.c:2653
+#: ../src/dupe.c:2658
 msgid "Similarity (high)"
-msgstr "Podobnos» (vysoká)"
+msgstr "Podobnosť (vysoká)"
 
 # src/dupe.c:1659
-#: src/dupe.c:2654
+#: ../src/dupe.c:2659
 msgid "Similarity"
-msgstr "Podobnos»"
+msgstr "Podobnosť"
+
+# src/dupe.c:1660
+#: ../src/dupe.c:2660
+msgid "Similarity (low)"
+msgstr "Podobnosť (nízka)"
 
 # src/dupe.c:1660
-#: src/dupe.c:2655
-msgid "Similarity (low)"
-msgstr "Podobnos» (nízka)"
-
-# src/dupe.c:1660
-#: src/dupe.c:2656
+#: ../src/dupe.c:2661
 msgid "Similarity (custom)"
-msgstr "Podobnos» (voliteµná)"
+msgstr "Podobnosť (vlastná)"
 
 # src/collect-table.c:644 src/menu.c:885
-#: src/dupe.c:3121
-#, fuzzy
+#: ../src/dupe.c:3127
 msgid "Find duplicates"
-msgstr "Nájs» duplikáty..."
+msgstr "Nájsť duplikáty"
 
 # src/dupe.c:1948
-#: src/dupe.c:3203
+#: ../src/dupe.c:3209
 msgid "Compare to:"
-msgstr "Porovna» s:"
+msgstr "Porovnať s:"
 
 # src/dupe.c:2045
-#: src/dupe.c:3216
+#: ../src/dupe.c:3222
 msgid "Compare by:"
-msgstr "Porovna» podµa:"
+msgstr "Porovnať podľa:"
 
 # src/dupe.c:2054 src/preferences.c:586
-#: src/dupe.c:3224 src/preferences.c:884 src/search.c:2777
+#: ../src/dupe.c:3230 ../src/preferences.c:1248 ../src/search.c:2869
 msgid "Thumbnails"
-msgstr "Miniatúry"
+msgstr "Náhľady"
 
 # src/dupe.c:2060
-#: src/dupe.c:3231
+#: ../src/dupe.c:3237
 msgid "Compare two file sets"
-msgstr "Porovna» dve sady súborov"
-
-# src/main.c:552
-#: src/editors.c:61
-msgid "The Gimp"
-msgstr "Gimp"
-
-# src/main.c:558
-#: src/editors.c:62
-msgid "XV"
-msgstr "XV"
-
-# src/main.c:561
-#: src/editors.c:63
-msgid "Xpaint"
-msgstr "Xpaint"
-
-#: src/editors.c:64
-msgid "UFraw"
-msgstr ""
-
-#: src/editors.c:65
-msgid "Add XMP sidecar"
-msgstr ""
-
-# src/menu.c:572
-#: src/editors.c:69
-msgid "Rotate jpeg clockwise"
-msgstr ""
-"Rotova» jpeg v smere\n"
-"hodinových ruèièiek"
-
-# src/menu.c:575
-#: src/editors.c:70
-msgid "Rotate jpeg counterclockwise"
-msgstr ""
-"Rotova» jpeg proti smeru\n"
-"hodinových ruèièiek"
-
-#. for testing
-#: src/editors.c:74 src/editors.c:80
-msgid "External Copy command"
-msgstr ""
-
-#: src/editors.c:75 src/editors.c:81
-msgid "External Move command"
-msgstr ""
-
-#: src/editors.c:76 src/editors.c:82
-msgid "External Rename command"
-msgstr ""
-
-# src/preferences.c:669
-#: src/editors.c:77 src/editors.c:83
-#, fuzzy
-msgid "External Delete command"
-msgstr "Povoli» klávesu Delete"
-
-#: src/editors.c:78 src/editors.c:84
-msgid "External New Folder command"
-msgstr ""
+msgstr "Porovnať dve sady súborov"
+
+#: ../src/editors.c:280
+#, c-format
+msgid "Desktop file '%s' should not include extension in Icon key: '%s'\n"
+msgstr ""
+
+# src/utilops.c:343
+#. flash fired (bit 0)
+#: ../src/editors.c:334 ../src/exif.c:225 ../src/exif-common.c:361
+msgid "yes"
+msgstr "áno"
+
+#: ../src/editors.c:334 ../src/exif.c:224 ../src/exif-common.c:361
+msgid "no"
+msgstr "nie"
 
 # src/dupe.c:871 src/dupe.c:892
-#: src/editors.c:140
+#: ../src/editors.c:506
 msgid "stopping..."
 msgstr "zastavujem..."
 
-#: src/editors.c:161
+#: ../src/editors.c:527
 msgid "Edit command results"
-msgstr "Výsledky z príkazu na úpravu"
-
-#: src/editors.c:164
+msgstr "Výsledky z príkazu na úpravu"
+
+#: ../src/editors.c:530
 #, c-format
 msgid "Output of %s"
-msgstr "Výstup z %s"
+msgstr "Výstup z %s"
 
 # src/ui_help.c:191
-#: src/editors.c:603
+#: ../src/editors.c:1053
 #, c-format
 msgid ""
 "Failed to run command:\n"
 "%s\n"
 msgstr ""
-"Nepodarilo sa spusti» príkaz:\n"
+"Nepodarilo sa spustiť príkaz:\n"
 "%s\n"
 
 # src/menu.c:522
-#: src/editors.c:721
+#: ../src/editors.c:1180
 msgid "stopped by user"
-msgstr "zastavené pou¾ívateµom"
-
-#: src/editors.c:836
+msgstr "zastavené používateľom"
+
+#: ../src/editors.c:1265
+#, c-format
+msgid ""
+"%s\n"
+"\"%s\""
+msgstr ""
+
+# src/utilops.c:543
+#: ../src/editors.c:1267
+#, fuzzy
+msgid "Invalid editor command"
+msgstr "Chybný adresár"
+
+#: ../src/editors.c:1354
 msgid "Editor template is empty."
-msgstr ""
-
-#: src/editors.c:837
+msgstr "Šablóna editora je prázdna."
+
+#: ../src/editors.c:1355
 msgid "Editor template has incorrect syntax."
-msgstr ""
-
-#: src/editors.c:838
+msgstr "Šablóna editora má nesprávnu syntax."
+
+#: ../src/editors.c:1356
 msgid "Editor template uses incompatible macros."
-msgstr ""
-
-#: src/editors.c:839
+msgstr "Šablóna editora používa nekompatibilné makrá."
+
+#: ../src/editors.c:1357
 msgid "Can't find matching file type."
-msgstr ""
-
-#: src/editors.c:840
+msgstr "Nepodarilo sa nájsť požadovaný typ súboru."
+
+#: ../src/editors.c:1358
 msgid "Can't execute external editor."
-msgstr ""
-
-#: src/editors.c:841
+msgstr "Nepodarilo sa spustiť externý editor."
+
+#: ../src/editors.c:1359
 msgid "External editor returned error status."
-msgstr ""
-
-#: src/editors.c:842
+msgstr "Externý editor vrátil chybový stav."
+
+#: ../src/editors.c:1360
 msgid "File was skipped."
-msgstr ""
-
-#: src/editors.c:843
+msgstr "Súbor bol preskoÄený."
+
+#: ../src/editors.c:1361
 msgid "Unknown error."
-msgstr ""
+msgstr "Neznáma chyba."
 
 # src/menu.c:432 src/menu.c:461
-#: src/exif.c:145 src/exif.c:158 src/exif.c:172 src/exif.c:197 src/exif.c:314
-#: src/exif.c:625 src/exif-common.c:308 src/exif-common.c:311
-#: src/exif-common.c:378
+#: ../src/exif.c:147 ../src/exif.c:160 ../src/exif.c:174 ../src/exif.c:199
+#: ../src/exif.c:316 ../src/exif.c:663 ../src/exif-common.c:337
+#: ../src/exif-common.c:340 ../src/exif-common.c:407
 msgid "unknown"
-msgstr "neznámy"
+msgstr "neznáme"
 
 # src/ui_pathsel.c:402 src/ui_pathsel.c:461 src/utilops.c:711
 # src/utilops.c:764
-#: src/exif.c:146
+#: ../src/exif.c:148
 msgid "top left"
-msgstr "hore vµavo"
-
-#: src/exif.c:147
+msgstr "hore vľavo"
+
+#: ../src/exif.c:149
 msgid "top right"
 msgstr "hore vpravo"
 
-#: src/exif.c:148
+#: ../src/exif.c:150
 msgid "bottom right"
 msgstr "dole vpravo"
 
-#: src/exif.c:149
+#: ../src/exif.c:151
 msgid "bottom left"
-msgstr "dole vµavo"
+msgstr "dole vľavo"
 
 # src/ui_pathsel.c:402 src/ui_pathsel.c:461 src/utilops.c:711
 # src/utilops.c:764
-#: src/exif.c:150
+#: ../src/exif.c:152
 msgid "left top"
-msgstr "vµavo hore"
-
-#: src/exif.c:151
+msgstr "vľavo hore"
+
+#: ../src/exif.c:153
 msgid "right top"
 msgstr "vpravo hore"
 
-#: src/exif.c:152
+#: ../src/exif.c:154
 msgid "right bottom"
 msgstr "vpravo dole"
 
-#: src/exif.c:153
+#: ../src/exif.c:155
 msgid "left bottom"
-msgstr "vµavo dole"
-
-#: src/exif.c:160
+msgstr "vľavo dole"
+
+#: ../src/exif.c:162
 msgid "inch"
 msgstr "palec"
 
-#: src/exif.c:161
+#: ../src/exif.c:163
 msgid "centimeter"
 msgstr "centimeter"
 
-#: src/exif.c:173
+#: ../src/exif.c:175
 msgid "average"
-msgstr "priemerný"
-
-#: src/exif.c:174
+msgstr "priemerné"
+
+#: ../src/exif.c:176
 msgid "center weighted"
-msgstr "stredovo vyvá¾ený"
-
-#: src/exif.c:175
+msgstr "stredovo vyvážené"
+
+#: ../src/exif.c:177
 msgid "spot"
-msgstr "bodový"
-
-#: src/exif.c:176
+msgstr "bodové"
+
+#: ../src/exif.c:178
 msgid "multi-spot"
-msgstr "viacbodový"
-
-#: src/exif.c:177
+msgstr "viacbodové"
+
+#: ../src/exif.c:179
 msgid "multi-segment"
-msgstr "viacsegmentový"
-
-#: src/exif.c:178
+msgstr "viacsegmentové"
+
+#: ../src/exif.c:180
 msgid "partial"
-msgstr "èiastoèný"
-
-#: src/exif.c:179 src/exif.c:217
+msgstr "ÄiastoÄné"
+
+#: ../src/exif.c:181 ../src/exif.c:219
 msgid "other"
-msgstr "iné"
-
-#: src/exif.c:184 src/exif.c:236
+msgstr "iné"
+
+#: ../src/exif.c:186 ../src/exif.c:238
 msgid "not defined"
-msgstr "nedefinované"
-
-#: src/exif.c:185 src/exif.c:264 src/exif.c:271
+msgstr "nedefinované"
+
+#: ../src/exif.c:187 ../src/exif.c:266 ../src/exif.c:273
 msgid "manual"
-msgstr "manuálne"
+msgstr "manuálne"
 
 # src/preferences.c:401
-#: src/exif.c:186 src/exif.c:257 src/exif.c:293 src/exif.c:300 src/exif.c:307
+#: ../src/exif.c:188 ../src/exif.c:259 ../src/exif.c:295 ../src/exif.c:302
+#: ../src/exif.c:309
 msgid "normal"
-msgstr "normálne"
-
-#: src/exif.c:187
+msgstr "normálne"
+
+#: ../src/exif.c:189
 msgid "aperture"
 msgstr "clona"
 
-#: src/exif.c:188
+#: ../src/exif.c:190
 msgid "shutter"
-msgstr "uzávierka"
+msgstr "uzávierka"
 
 # src/utilops.c:1216
-#: src/exif.c:189
+#: ../src/exif.c:191
 msgid "creative"
-msgstr "tvorivý"
-
-#: src/exif.c:190
+msgstr "tvorivý"
+
+#: ../src/exif.c:192
 msgid "action"
 msgstr "akcia"
 
-#: src/exif.c:191 src/exif.c:278
+#: ../src/exif.c:193 ../src/exif.c:280
 msgid "portrait"
-msgstr "na vý¹ku"
-
-#: src/exif.c:192 src/exif.c:277
+msgstr "na výšku"
+
+#: ../src/exif.c:194 ../src/exif.c:279
 msgid "landscape"
-msgstr "na ¹írku"
-
-#: src/exif.c:198
+msgstr "na šírku"
+
+#: ../src/exif.c:200
 msgid "daylight"
-msgstr "denné svetlo"
-
-#: src/exif.c:199
+msgstr "denné svetlo"
+
+#: ../src/exif.c:201
 msgid "fluorescent"
-msgstr "fluorescenèné"
-
-#: src/exif.c:200
+msgstr "fluorescenÄné"
+
+#: ../src/exif.c:202
 msgid "tungsten (incandescent)"
-msgstr "volfrám (roz¾eravený)"
-
-#: src/exif.c:201
+msgstr "volfrám (rozžeravený)"
+
+#: ../src/exif.c:203
 msgid "flash"
 msgstr "blesk"
 
-#: src/exif.c:202
+#: ../src/exif.c:204
 msgid "fine weather"
-msgstr ""
-
-#: src/exif.c:203
+msgstr "dobré poÄasie"
+
+#: ../src/exif.c:205
 msgid "cloudy weather"
-msgstr ""
-
-#: src/exif.c:204
+msgstr "oblaÄno"
+
+#: ../src/exif.c:206
 msgid "shade"
-msgstr ""
-
-#: src/exif.c:205
-#, fuzzy
+msgstr "tieň"
+
+#: ../src/exif.c:207
 msgid "daylight fluorescent"
-msgstr "fluorescenèné"
-
-#: src/exif.c:206
-#, fuzzy
+msgstr "denné svetlo fluorescenÄné"
+
+#: ../src/exif.c:208
 msgid "day white fluorescent"
-msgstr "fluorescenèné"
-
-#: src/exif.c:207
-#, fuzzy
+msgstr "denná biela fluorescenÄná"
+
+#: ../src/exif.c:209
 msgid "cool white fluorescent"
-msgstr "fluorescenèné"
-
-#: src/exif.c:208
-#, fuzzy
+msgstr "studené biele fluorescenÄné"
+
+#: ../src/exif.c:210
 msgid "white fluorescent"
-msgstr "fluorescenèné"
-
-#: src/exif.c:209
+msgstr "biele fluorescenÄné"
+
+#: ../src/exif.c:211
 msgid "standard light A"
-msgstr ""
-
-#: src/exif.c:210
+msgstr "štandardné svetlo A"
+
+#: ../src/exif.c:212
 msgid "standard light B"
-msgstr ""
-
-#: src/exif.c:211
+msgstr "štandardné svetlo B"
+
+#: ../src/exif.c:213
 msgid "standard light C"
-msgstr ""
-
-#: src/exif.c:212
+msgstr "štandardné svetlo C"
+
+#: ../src/exif.c:214
 msgid "D55"
-msgstr ""
-
-#: src/exif.c:213
+msgstr "D55"
+
+#: ../src/exif.c:215
 msgid "D65"
-msgstr ""
-
-#: src/exif.c:214
+msgstr "D65"
+
+#: ../src/exif.c:216
 msgid "D75"
-msgstr ""
-
-#: src/exif.c:215
+msgstr "D75"
+
+#: ../src/exif.c:217
 msgid "D50"
-msgstr ""
-
-#: src/exif.c:216
+msgstr "D50"
+
+#: ../src/exif.c:218
 msgid "ISO studio tungsten"
-msgstr ""
-
-#: src/exif.c:222 src/exif-common.c:332 src/info.c:257
-msgid "no"
-msgstr "nie"
-
-# src/utilops.c:343
-#. flash fired (bit 0)
-#: src/exif.c:223 src/exif-common.c:332 src/info.c:257
-msgid "yes"
-msgstr "áno"
-
-#: src/exif.c:224
+msgstr "Štúdiové svetlo ISO"
+
+#: ../src/exif.c:226
 msgid "yes, not detected by strobe"
-msgstr "áno, nedetekované snímacím impulzom"
-
-#: src/exif.c:225
+msgstr "áno, nedetegované snímacím impulzom"
+
+#: ../src/exif.c:227
 msgid "yes, detected by strobe"
-msgstr "áno, detekované snímacím impulzom"
-
-#: src/exif.c:230 src/exif-common.c:403 src/layout.c:422
-msgid "sRGB"
-msgstr ""
-
-#: src/exif.c:231
+msgstr "áno, detegované snímacím impulzom"
+
+#: ../src/exif.c:233
 msgid "uncalibrated"
-msgstr ""
-
-#: src/exif.c:237
+msgstr "nekalibrované"
+
+#: ../src/exif.c:239
 msgid "1 chip color area"
-msgstr ""
-
-#: src/exif.c:238
+msgstr "1 farebná oblasÅ¥ Äipu"
+
+#: ../src/exif.c:240
 msgid "2 chip color area"
-msgstr ""
-
-#: src/exif.c:239
+msgstr "2 farebná oblasÅ¥ Äipu"
+
+#: ../src/exif.c:241
 msgid "3 chip color area"
-msgstr ""
-
-#: src/exif.c:240
+msgstr "3 farebná oblasÅ¥ Äipu"
+
+#: ../src/exif.c:242
 msgid "color sequential area"
 msgstr ""
 
 # src/preferences.c:369
-#: src/exif.c:241
-#, fuzzy
+#: ../src/exif.c:243
 msgid "trilinear"
-msgstr "Bilineárne"
-
-#: src/exif.c:242
+msgstr "trilineárne"
+
+#: ../src/exif.c:244
 msgid "color sequential linear"
 msgstr ""
 
-#: src/exif.c:247
+#: ../src/exif.c:249
 msgid "digital still camera"
-msgstr ""
-
-#: src/exif.c:252
+msgstr "digitálny fotoaparát"
+
+#: ../src/exif.c:254
 msgid "direct photo"
-msgstr ""
-
-#: src/exif.c:258
-#, fuzzy
+msgstr "direct photo"
+
+#: ../src/exif.c:260
 msgid "custom"
-msgstr "Pou¾ívateµské"
-
-#: src/exif.c:263 src/exif.c:270 src/exif-common.c:346
+msgstr "vlastné"
+
+#: ../src/exif.c:265 ../src/exif.c:272 ../src/exif-common.c:375
 msgid "auto"
 msgstr "automaticky"
 
 # src/preferences.c:930
-#: src/exif.c:265
-#, fuzzy
+#: ../src/exif.c:267
 msgid "auto bracket"
-msgstr "Automatické premenovanie"
+msgstr ""
 
 # src/dupe.c:1412 src/dupe.c:1570
-#: src/exif.c:276
-#, fuzzy
+#: ../src/exif.c:278
 msgid "standard"
-msgstr "Kalendár"
-
-#: src/exif.c:279
-#, fuzzy
+msgstr "Å¡tandard"
+
+#: ../src/exif.c:281
 msgid "night scene"
-msgstr "Zdroj svetla"
+msgstr "noÄná scéna"
 
 # src/preferences.c:400
-#: src/exif.c:284
-#, fuzzy
+#: ../src/exif.c:286
 msgid "none"
-msgstr "hotovo"
+msgstr "žiadne"
 
 # src/dupe.c:1412 src/dupe.c:1570
-#: src/exif.c:285
+#: ../src/exif.c:287
 #, fuzzy
 msgid "low gain up"
-msgstr "Vyèisti»"
-
-#: src/exif.c:286
+msgstr "VyÄistiÅ¥"
+
+#: ../src/exif.c:288
 msgid "high gain up"
-msgstr ""
+msgstr "zvýšiť vysoký zisk"
 
 # src/dupe.c:1415 src/dupe.c:1573 src/img-view.c:841
-#: src/exif.c:287
-#, fuzzy
+#: ../src/exif.c:289
 msgid "low gain down"
-msgstr "Zavrie» okno"
-
-#: src/exif.c:288
+msgstr ""
+
+#: ../src/exif.c:290
 msgid "high gain down"
-msgstr ""
-
-#: src/exif.c:294 src/exif.c:308
-#, fuzzy
+msgstr "znížiť vysoký zisk"
+
+#: ../src/exif.c:296 ../src/exif.c:310
 msgid "soft"
-msgstr "bodový"
-
-#: src/exif.c:295 src/exif.c:309
+msgstr "mäkké"
+
+#: ../src/exif.c:297 ../src/exif.c:311
 msgid "hard"
-msgstr ""
-
-#: src/exif.c:301
+msgstr "pevné"
+
+#: ../src/exif.c:303
 msgid "low"
-msgstr ""
-
-#: src/exif.c:302
-#, fuzzy
+msgstr "nízke"
+
+#: ../src/exif.c:304
 msgid "high"
-msgstr "Vý¹ka"
-
-#: src/exif.c:315
+msgstr "vysoké"
+
+#: ../src/exif.c:317
 msgid "macro"
-msgstr ""
+msgstr "makro"
 
 # src/collect.c:1053 src/ui_help.c:302
-#: src/exif.c:316
-#, fuzzy
+#: ../src/exif.c:318
 msgid "close"
-msgstr "Zavrie»"
-
-#: src/exif.c:317
+msgstr "zavrieť"
+
+#: ../src/exif.c:319
 msgid "distant"
-msgstr ""
+msgstr "vzdialené"
 
 # src/preferences.c:676
-#: src/exif.c:327
-#, fuzzy
+#: ../src/exif.c:329
 msgid "Image Width"
-msgstr "Súbor obrázku"
-
-#: src/exif.c:328
-#, fuzzy
+msgstr "Šírka obrázku"
+
+#: ../src/exif.c:330
 msgid "Image Height"
-msgstr "Vý¹ka"
-
-#: src/exif.c:329
+msgstr "Výška obrázku"
+
+#: ../src/exif.c:331
 msgid "Bits per Sample/Pixel"
-msgstr ""
+msgstr "Bitov na vzorku/pixel"
 
 # src/dupe.c:1948
-#: src/exif.c:330
-#, fuzzy
+#: ../src/exif.c:332
 msgid "Compression"
-msgstr "Kompresný pomer:"
+msgstr "Kompresia"
 
 # src/utilops.c:539
-#: src/exif.c:331
+#: ../src/exif.c:333
 msgid "Image description"
-msgstr "Popis obrázku"
-
-#: src/exif.c:332
-#, fuzzy
+msgstr "Popis obrázku"
+
+#: ../src/exif.c:334
 msgid "Camera make"
-msgstr "Fotoaparát"
-
-#: src/exif.c:333
-#, fuzzy
+msgstr "Vydanie fotoaparátu"
+
+#: ../src/exif.c:335
 msgid "Camera model"
-msgstr "Fotoaparát"
+msgstr "Model fotoaparátu"
 
 # src/dupe.c:1655 src/dupe.c:1944
-#: src/exif.c:334
+#: ../src/exif.c:336
 msgid "Orientation"
-msgstr "Orientácia"
-
-#: src/exif.c:335
-#, fuzzy
+msgstr "Orientácia"
+
+#: ../src/exif.c:337
 msgid "X resolution"
-msgstr "Rozlí¹enie"
-
-#: src/exif.c:336
-#, fuzzy
+msgstr "Rozlíšenie X"
+
+#: ../src/exif.c:338
 msgid "Y Resolution"
-msgstr "Rozlí¹enie"
-
-#: src/exif.c:337
-#, fuzzy
+msgstr "Rozlíšenie Y"
+
+#: ../src/exif.c:339
 msgid "Resolution units"
-msgstr "Rozlí¹enie"
-
-#: src/exif.c:338
+msgstr "Jednotky rozlíšenia"
+
+#: ../src/exif.c:340
 msgid "Firmware"
-msgstr ""
-
-#: src/exif.c:340
+msgstr "Firmvér"
+
+#: ../src/exif.c:342
 msgid "White point"
-msgstr ""
-
-#: src/exif.c:341
+msgstr "Biely bod"
+
+#: ../src/exif.c:343
 msgid "Primary chromaticities"
-msgstr ""
-
-#: src/exif.c:342
+msgstr "Primárne chromaticity"
+
+#: ../src/exif.c:344
 msgid "YCbCy coefficients"
-msgstr ""
-
-#: src/exif.c:343
+msgstr "YCbCy koeficienty"
+
+#: ../src/exif.c:345
 msgid "YCbCr positioning"
-msgstr ""
+msgstr "YCbCr poziciovanie"
 
 # src/utilops.c:942 src/utilops.c:1091
-#: src/exif.c:344
-#, fuzzy
+#: ../src/exif.c:346
 msgid "Black white reference"
-msgstr "Geeqie - Nastavenia"
-
-# src/utilops.c:592
-#: src/exif.c:345
-msgid "Copyright"
-msgstr "Autorské práva"
-
-#: src/exif.c:346
+msgstr "ÄŒierno-biela referencia"
+
+#: ../src/exif.c:348
 msgid "SubIFD Exif offset"
-msgstr ""
+msgstr "SubIFD Exif posun"
 
 #. subIFD follows
-#: src/exif.c:348
-#, fuzzy
+#: ../src/exif.c:350
 msgid "Exposure time (seconds)"
-msgstr "Skreslenie expozície"
-
-#: src/exif.c:349
+msgstr "Čas expozície (sekúnd)"
+
+#: ../src/exif.c:351
 msgid "FNumber"
-msgstr ""
-
-#: src/exif.c:350
+msgstr "Číslo F"
+
+#: ../src/exif.c:352
 msgid "Exposure program"
-msgstr "Expozièný program"
-
-#: src/exif.c:351
-#, fuzzy
+msgstr "ExpoziÄný program"
+
+#: ../src/exif.c:353
 msgid "Spectral Sensitivity"
-msgstr "Citlivos» ISO"
-
-#: src/exif.c:352 src/exif.c:388 src/exif-common.c:446
+msgstr "Spektrálna citlivosť"
+
+#: ../src/exif.c:354 ../src/exif.c:390 ../src/exif-common.c:547
 msgid "ISO sensitivity"
-msgstr "Citlivos» ISO"
-
-#: src/exif.c:353
+msgstr "Citlivosť ISO"
+
+#: ../src/exif.c:355
 msgid "Optoelectric conversion factor"
-msgstr ""
-
-#: src/exif.c:354
+msgstr "Optoelektrický konverzný faktor"
+
+#: ../src/exif.c:356
 msgid "Exif version"
-msgstr ""
-
-#: src/exif.c:355
+msgstr "Exif verzia"
+
+#: ../src/exif.c:357
 msgid "Date original"
-msgstr "Dátum originálu"
-
-#: src/exif.c:356
+msgstr "Dátum originálu"
+
+#: ../src/exif.c:358
 msgid "Date digitized"
-msgstr "Dátum digitalizácie"
+msgstr "Dátum digitalizácie"
 
 # src/ui_pathsel.c:799
-#: src/exif.c:357
-#, fuzzy
+#: ../src/exif.c:359
 msgid "Pixel format"
-msgstr "Formát súboru:"
+msgstr "Formát pixlov"
 
 # src/dupe.c:1948
-#: src/exif.c:358
-#, fuzzy
+#: ../src/exif.c:360
 msgid "Compression ratio"
-msgstr "Kompresný pomer:"
-
-#: src/exif.c:359 src/exif-common.c:443
+msgstr "Kompresný pomer"
+
+#: ../src/exif.c:361 ../src/exif-common.c:544
 msgid "Shutter speed"
-msgstr "Rýchlos» uzávierky"
-
-#: src/exif.c:360 src/exif-common.c:444
+msgstr "Rýchlosť uzávierky"
+
+#: ../src/exif.c:362 ../src/exif-common.c:545
 msgid "Aperture"
 msgstr "Clona"
 
-#: src/exif.c:361
+#: ../src/exif.c:363
 msgid "Brightness"
-msgstr ""
-
-#: src/exif.c:362 src/exif-common.c:445
+msgstr "Jas"
+
+#: ../src/exif.c:364 ../src/exif-common.c:546
 msgid "Exposure bias"
-msgstr "Skreslenie expozície"
-
-#: src/exif.c:363
-#, fuzzy
+msgstr "Skreslenie expozície"
+
+#: ../src/exif.c:365
 msgid "Maximum aperture"
-msgstr "clona"
-
-#: src/exif.c:364 src/exif-common.c:449
+msgstr "Maximálna clona"
+
+#: ../src/exif.c:366 ../src/exif-common.c:550
 msgid "Subject distance"
-msgstr "Vzdialenos» subjektu"
+msgstr "Vzdialenosť subjektu"
 
 # src/preferences.c:693
-#: src/exif.c:365
+#: ../src/exif.c:367
 msgid "Metering mode"
-msgstr "Re¾im merania"
-
-#: src/exif.c:366
+msgstr "Režim merania"
+
+#: ../src/exif.c:368
 msgid "Light source"
 msgstr "Zdroj svetla"
 
-#: src/exif.c:367 src/exif-common.c:450
+#: ../src/exif.c:369 ../src/exif-common.c:551
 msgid "Flash"
 msgstr "Blesk"
 
-#: src/exif.c:368 src/exif-common.c:447
+#: ../src/exif.c:370 ../src/exif-common.c:548
 msgid "Focal length"
-msgstr "Ohnisková vzdialenos»"
-
-#: src/exif.c:369
-#, fuzzy
+msgstr "Ohnisková vzdialenosť"
+
+#: ../src/exif.c:371
 msgid "Subject area"
-msgstr "Vzdialenos» subjektu"
-
-#: src/exif.c:370
+msgstr "Oblasť subjektu"
+
+#: ../src/exif.c:372
 msgid "MakerNote"
-msgstr ""
+msgstr "PoznámkaVýrobcu"
 
 # src/dupe.c:1948
-#: src/exif.c:371
-#, fuzzy
+#: ../src/exif.c:373
 msgid "UserComment"
-msgstr "Poznámka:"
-
-#: src/exif.c:372
+msgstr "Poznámka používateľa"
+
+#: ../src/exif.c:374
 msgid "Subsecond time"
-msgstr ""
-
-#: src/exif.c:373
-#, fuzzy
+msgstr "Podsekundový Äas"
+
+#: ../src/exif.c:375
 msgid "Subsecond time original"
-msgstr "Dátum originálu"
-
-#: src/exif.c:374
-#, fuzzy
+msgstr "Podsekundový Äas originálu"
+
+#: ../src/exif.c:376
 msgid "Subsecond time digitized"
-msgstr "Dátum digitalizácie"
-
-#: src/exif.c:375
+msgstr "Podsekundový Äas digitalizácie"
+
+#: ../src/exif.c:377
 msgid "FlashPix version"
-msgstr ""
+msgstr "FlashPix verzia"
 
 # src/collect.c:1053 src/ui_help.c:302
-#: src/exif.c:376
-#, fuzzy
+#: ../src/exif.c:378
 msgid "Colorspace"
-msgstr "Zavrie»"
+msgstr "Farebný priestor"
 
 #. ExifImageWidth, ExifImageHeight can also be unsigned short
-#: src/exif.c:378
+#: ../src/exif.c:380
 msgid "Width"
-msgstr "©írka"
-
-#: src/exif.c:379
+msgstr "Šírka"
+
+#: ../src/exif.c:381
 msgid "Height"
-msgstr "Vý¹ka"
+msgstr "Výška"
 
 # src/menu.c:765
-#: src/exif.c:380
-#, fuzzy
+#: ../src/exif.c:382
 msgid "Audio data"
-msgstr "_Exif dáta"
-
-#: src/exif.c:381
+msgstr "Zvukové dáta"
+
+#: ../src/exif.c:383
 msgid "ExifR98 extension"
-msgstr ""
-
-#: src/exif.c:382
-#, fuzzy
+msgstr "ExifR98 rozšírenie"
+
+#: ../src/exif.c:384
 msgid "Flash strength"
-msgstr "Ohnisková vzdialenos»"
-
-#: src/exif.c:383
+msgstr "Sila blesku"
+
+#: ../src/exif.c:385
 msgid "Spatial frequency response"
-msgstr ""
-
-#: src/exif.c:384
+msgstr "Priestorová frekvenÄná odozva"
+
+#: ../src/exif.c:386
 msgid "X Pixel density"
-msgstr ""
-
-#: src/exif.c:385
+msgstr "Hustota pixelov X"
+
+#: ../src/exif.c:387
 msgid "Y Pixel density"
-msgstr ""
-
-#: src/exif.c:386
+msgstr "Hustota pixelov Y"
+
+#: ../src/exif.c:388
 msgid "Pixel density units"
-msgstr ""
+msgstr "Jednotka hustoty pixelov"
 
 # src/collect-table.c:628 src/dupe.c:1393 src/dupe.c:1565
-#: src/exif.c:387
-#, fuzzy
+#: ../src/exif.c:389
 msgid "Subject location"
-msgstr "Výber"
+msgstr "Umiestnenie subjektu"
 
 # src/menu.c:516
-#: src/exif.c:389
-#, fuzzy
+#: ../src/exif.c:391
 msgid "Sensor type"
-msgstr "Neusporiadané"
+msgstr "Typ senzoru"
 
 # src/menu.c:559
-#: src/exif.c:390
-#, fuzzy
+#: ../src/exif.c:392
 msgid "Source type"
-msgstr "Zdroj"
-
-#: src/exif.c:391
-#, fuzzy
+msgstr "Typ zdroja"
+
+#: ../src/exif.c:393
 msgid "Scene type"
-msgstr "centimeter"
-
-#: src/exif.c:392
+msgstr "Typ scény"
+
+#: ../src/exif.c:394
 msgid "Color filter array pattern"
-msgstr ""
+msgstr "Vzor poľa farebného filtra"
 
 # src/ui_pathsel.c:437 src/ui_pathsel.c:460 src/utilops.c:944
 # src/utilops.c:1095
 #. tags a4xx were added for Exif 2.2 (not just these - some above, as well)
-#: src/exif.c:394
-#, fuzzy
+#: ../src/exif.c:396
 msgid "Render process"
-msgstr "Vykresli»"
-
-#: src/exif.c:395
-#, fuzzy
+msgstr "Proces vykresľovania"
+
+#: ../src/exif.c:397
 msgid "Exposure mode"
-msgstr "Skreslenie expozície"
-
-#: src/exif.c:396
+msgstr "Režim expozície"
+
+#: ../src/exif.c:398
 msgid "White balance"
-msgstr ""
-
-#: src/exif.c:397
+msgstr "Vyváženie bielej"
+
+#: ../src/exif.c:399
 msgid "Digital zoom ratio"
-msgstr ""
-
-#: src/exif.c:398
-#, fuzzy
+msgstr "Pomer digitálnej lupy"
+
+#: ../src/exif.c:400
 msgid "Focal length (35mm)"
-msgstr "Ohnisková vzdialenos»"
-
-#: src/exif.c:399
+msgstr "Ohnisková vzdialenosť (35mm)"
+
+#: ../src/exif.c:401
 msgid "Scene capture type"
-msgstr ""
+msgstr "Typ scény"
 
 # src/menu.c:1089
-#: src/exif.c:400
-#, fuzzy
+#: ../src/exif.c:402
 msgid "Gain control"
-msgstr "Plávajúce ovládanie"
-
-#: src/exif.c:401
-#, fuzzy
+msgstr "Ovládanie zisku"
+
+#: ../src/exif.c:403
 msgid "Contrast"
-msgstr "na vý¹ku"
-
-#: src/exif.c:402
-#, fuzzy
+msgstr "Kontrast"
+
+#: ../src/exif.c:404
 msgid "Saturation"
-msgstr "akcia"
-
-#: src/exif.c:403
+msgstr "Sýtosť"
+
+#: ../src/exif.c:405
 msgid "Sharpness"
-msgstr ""
-
-#: src/exif.c:404
+msgstr "Ostrosť"
+
+#: ../src/exif.c:406
 msgid "Device setting"
-msgstr ""
-
-#: src/exif.c:405
-#, fuzzy
+msgstr "Nastavenie zariadenia"
+
+#: ../src/exif.c:407
 msgid "Subject range"
-msgstr "Vzdialenos» subjektu"
+msgstr "Vzdialenosť subjektu"
 
 # src/preferences.c:676
-#: src/exif.c:406
-#, fuzzy
+#: ../src/exif.c:408
 msgid "Image serial number"
-msgstr "Súbor obrázku"
-
-#: src/exif-common.c:307
+msgstr "Sériové Äíslo obrázku"
+
+#: ../src/exif-common.c:336
 msgid "infinity"
-msgstr "nekoneèno"
+msgstr "nekoneÄno"
 
 # src/preferences.c:368
-#: src/exif-common.c:336
+#: ../src/exif-common.c:365
 msgid "mode:"
-msgstr "re¾im:"
+msgstr "režim:"
 
 # src/preferences.c:400
-#: src/exif-common.c:340 src/trash.c:193
+#: ../src/exif-common.c:369 ../src/trash.c:205
 msgid "on"
-msgstr "zapnuté"
-
-#: src/exif-common.c:343 src/trash.c:198
+msgstr "zapnuté"
+
+#: ../src/exif-common.c:372 ../src/trash.c:210
 msgid "off"
-msgstr "vypnuté"
-
-#: src/exif-common.c:352
+msgstr "vypnuté"
+
+#: ../src/exif-common.c:381
 msgid "not detected by strobe"
-msgstr "nedetekované snímacím impulzom"
-
-#: src/exif-common.c:353
+msgstr "nedetegované snímacím impulzom"
+
+#: ../src/exif-common.c:382
 msgid "detected by strobe"
-msgstr "detekované snímacím impulzom"
+msgstr "detegované snímacím impulzom"
 
 #. we ignore flash function (bit 5)
 #. red-eye (bit 6)
-#: src/exif-common.c:358
+#: ../src/exif-common.c:387
 msgid "red-eye reduction"
-msgstr "redukcia \"èervených oèí\""
-
-#: src/exif-common.c:378
+msgstr "redukcia \"Äervených oÄí\""
+
+#: ../src/exif-common.c:407
 msgid "dot"
 msgstr "bod"
 
-#: src/exif-common.c:408
+#: ../src/exif-common.c:437
 msgid "AdobeRGB"
-msgstr ""
-
-#: src/exif-common.c:416
+msgstr "AdobeRGB"
+
+#: ../src/exif-common.c:445
 msgid "embedded"
-msgstr ""
-
-#: src/exif-common.c:441
-#, fuzzy
+msgstr "vstavaný"
+
+#: ../src/exif-common.c:534
+msgid "Above Sea Level"
+msgstr ""
+
+#: ../src/exif-common.c:534
+msgid "Below Sea Level"
+msgstr ""
+
+#: ../src/exif-common.c:542
 msgid "Camera"
-msgstr "Fotoaparát"
-
-#: src/exif-common.c:448
-#, fuzzy
+msgstr "Fotoaparát"
+
+#: ../src/exif-common.c:549
 msgid "Focal length 35mm"
-msgstr "Ohnisková vzdialenos»"
-
-#: src/exif-common.c:451
-#, fuzzy
+msgstr "Ohnisková vzdialenosť 35mm"
+
+#: ../src/exif-common.c:552
 msgid "Resolution"
-msgstr "Rozlí¹enie"
+msgstr "Rozlíšenie"
 
 # src/ui_pathsel.c:697
-#: src/exif-common.c:452
-#, fuzzy
+#: ../src/exif-common.c:553
 msgid "Color profile"
-msgstr "V¹etky súbory"
+msgstr "Farebný profil"
+
+#: ../src/exif-common.c:554
+#, fuzzy
+msgid "GPS position"
+msgstr "YCbCr poziciovanie"
+
+#: ../src/exif-common.c:555
+msgid "GPS altitude"
+msgstr ""
+
+# src/preferences.c:368
+#: ../src/exif-common.c:556
+#, fuzzy
+msgid "File size"
+msgstr "Veľkosť súboru:"
+
+# src/ui_pathsel.c:799
+#: ../src/exif-common.c:557
+#, fuzzy
+msgid "File date"
+msgstr "Dátum súboru:"
+
+# src/utilops.c:980
+#: ../src/exif-common.c:558
+#, fuzzy
+msgid "File mode"
+msgstr "Názov súboru"
 
 # src/dupe.c:67 src/dupe.c:1449
-#: src/filedata.c:86
+#: ../src/filedata.c:95
 #, c-format
 msgid "%d bytes"
-msgstr "%d bytov"
-
-#: src/filedata.c:90
+msgstr "%d bajtov"
+
+#: ../src/filedata.c:99
 #, c-format
 msgid "%.1f K"
 msgstr "%.1f K"
 
-#: src/filedata.c:94
+#: ../src/filedata.c:103
 #, c-format
 msgid "%.1f MB"
 msgstr "%.1f MB"
 
-#: src/filedata.c:99
+#: ../src/filedata.c:108
 #, c-format
 msgid "%.1f GB"
 msgstr "%.1f GB"
 
+#: ../src/filedata.c:2262
+msgid "file or directory does not exist"
+msgstr ""
+
+# src/filelist.c:814
+#: ../src/filedata.c:2268
+#, fuzzy
+msgid "destination already exists"
+msgstr "Súbor %s už existuje."
+
+#: ../src/filedata.c:2274
+msgid "destination can't be overwritten"
+msgstr ""
+
+#: ../src/filedata.c:2280
+msgid "destination directory is not writable"
+msgstr ""
+
+#: ../src/filedata.c:2286
+msgid "destination directory does not exist"
+msgstr ""
+
+#: ../src/filedata.c:2292
+msgid "source directory is not writable"
+msgstr ""
+
+#: ../src/filedata.c:2298
+#, fuzzy
+msgid "no read permission"
+msgstr "(zákaz Äítania) %s bytov"
+
+#: ../src/filedata.c:2304
+msgid "file is readonly"
+msgstr ""
+
+#: ../src/filedata.c:2310
+msgid "destination already exists and will be overwritten"
+msgstr ""
+
+# src/utilops.c:451
+#: ../src/filedata.c:2316
+#, fuzzy
+msgid "source and destination are the same"
+msgstr "Zdroj a cieľ sú totožné, operácia zrušená."
+
+# src/utilops.c:451
+#: ../src/filedata.c:2322
+#, fuzzy
+msgid "source and destination have different extension"
+msgstr "Zdroj a cieľ sú totožné, operácia zrušená."
+
+#: ../src/filedata.c:2328
+msgid "there are unsaved metadata changes for the file"
+msgstr ""
+
 # src/img-view.c:837 src/menu.c:1001
-#: src/fullscreen.c:243 src/preferences.c:1329
+#: ../src/fullscreen.c:247 ../src/layout_util.c:1341 ../src/layout_util.c:1342
+#: ../src/layout_util.c:1343 ../src/preferences.c:1429
 msgid "Full screen"
-msgstr "Celooobrazovkový re¾im"
+msgstr "Celooobrazovkový režim"
 
 # src/preferences.c:368
-#: src/fullscreen.c:395
+#: ../src/fullscreen.c:395
 msgid "Full size"
-msgstr "Úplná veµkos»"
-
-#: src/fullscreen.c:400
+msgstr "Úplná veľkosť"
+
+#: ../src/fullscreen.c:400
 msgid "Monitor"
 msgstr "Monitor"
 
-#: src/fullscreen.c:405 src/layout.c:455
+#: ../src/fullscreen.c:405
 msgid "Screen"
 msgstr "Obrazovka"
 
 # src/img-view.c:792 src/menu.c:947 src/menu.c:1083 src/preferences.c:716
-#: src/fullscreen.c:642
+#: ../src/fullscreen.c:642
 msgid "Stay above other windows"
-msgstr "Zotrva» nad ostatnými oknami"
-
-#: src/fullscreen.c:649
+msgstr "Zotrvať nad ostatnými oknami"
+
+#: ../src/fullscreen.c:649
 msgid "Determined by Window Manager"
-msgstr "Nech rozhodne správca okien (WM)"
-
-#: src/fullscreen.c:650
+msgstr "Nech rozhodne správca okien"
+
+#: ../src/fullscreen.c:650
 msgid "Active screen"
-msgstr "Aktívna obrazovka"
-
-#: src/fullscreen.c:652
+msgstr "Aktívna obrazovka"
+
+#: ../src/fullscreen.c:652
 msgid "Active monitor"
-msgstr "Aktívny monitor"
-
-#: src/histogram.c:86
-msgid "logarithmical histogram on red"
-msgstr ""
-
-#: src/histogram.c:87
-msgid "logarithmical histogram on green"
-msgstr ""
-
-#: src/histogram.c:88
-msgid "logarithmical histogram on blue"
-msgstr ""
-
-#: src/histogram.c:89
-msgid "logarithmical histogram on value"
-msgstr ""
-
-#: src/histogram.c:90
-msgid "logarithmical histogram on RGB"
-msgstr ""
-
-#: src/histogram.c:91
-msgid "logarithmical histogram on max value"
-msgstr ""
-
-#: src/histogram.c:96
-msgid "linear histogram on red"
-msgstr ""
-
-#: src/histogram.c:97
-msgid "linear histogram on green"
-msgstr ""
-
-#: src/histogram.c:98
-msgid "linear histogram on blue"
-msgstr ""
-
-#: src/histogram.c:99
-msgid "linear histogram on value"
-msgstr ""
-
-#: src/histogram.c:100
-msgid "linear histogram on RGB"
-msgstr ""
-
-#: src/histogram.c:101
-msgid "linear histogram on max value"
-msgstr ""
+msgstr "Aktívny monitor"
+
+#: ../src/histogram.c:113
+#, fuzzy
+msgid "Log Histogram on Red"
+msgstr "lineárny histogram Äervenej"
+
+#: ../src/histogram.c:114
+#, fuzzy
+msgid "Log Histogram on Green"
+msgstr "lineárny histogram zelenej"
+
+#: ../src/histogram.c:115
+#, fuzzy
+msgid "Log Histogram on Blue"
+msgstr "lineárny histogram modrej"
+
+#: ../src/histogram.c:116
+#, fuzzy
+msgid "Log Histogram on RGB"
+msgstr "lineárny histogram RGB"
+
+#: ../src/histogram.c:117
+#, fuzzy
+msgid "Log Histogram on value"
+msgstr "lineárny histogram hodnoty"
+
+#: ../src/histogram.c:122
+#, fuzzy
+msgid "Linear Histogram on Red"
+msgstr "lineárny histogram Äervenej"
+
+#: ../src/histogram.c:123
+#, fuzzy
+msgid "Linear Histogram on Green"
+msgstr "lineárny histogram zelenej"
+
+#: ../src/histogram.c:124
+#, fuzzy
+msgid "Linear Histogram on Blue"
+msgstr "lineárny histogram modrej"
+
+#: ../src/histogram.c:125
+#, fuzzy
+msgid "Linear Histogram on RGB"
+msgstr "lineárny histogram RGB"
+
+#: ../src/histogram.c:126
+#, fuzzy
+msgid "Linear Histogram on value"
+msgstr "lineárny histogram hodnoty"
+
+# src/ui_tabcomp.c:171
+#: ../src/history_list.c:131
+#, c-format
+msgid "Unable to write history lists to: %s\n"
+msgstr "Nemožno zapísať históriu do: %s\n"
+
+# src/preferences.c:897
+#: ../src/image.c:161
+#, fuzzy, c-format
+msgid " (Collection %s)"
+msgstr "Zbierky"
 
 # src/img-view.c:789 src/menu.c:944 src/menu.c:1079
-#: src/img-view.c:1268 src/layout_image.c:743 src/layout_util.c:1105
-#: src/layout_util.c:1106 src/layout_util.c:1107 src/pan-view.c:2800
+#: ../src/img-view.c:1266 ../src/layout_image.c:489 ../src/layout_util.c:1308
+#: ../src/layout_util.c:1309 ../src/layout_util.c:1324
+#: ../src/layout_util.c:1325 ../src/pan-view.c:2830
 msgid "Zoom _in"
-msgstr "Priblí¾_i»"
+msgstr "_ZväÄÅ¡iÅ¥"
 
 # src/img-view.c:790 src/menu.c:945 src/menu.c:1081
-#: src/img-view.c:1269 src/layout_image.c:744 src/layout_util.c:1108
-#: src/layout_util.c:1109 src/pan-view.c:2802
+#: ../src/img-view.c:1267 ../src/layout_image.c:490 ../src/layout_util.c:1310
+#: ../src/layout_util.c:1311 ../src/layout_util.c:1326
+#: ../src/layout_util.c:1327 ../src/pan-view.c:2832
 msgid "Zoom _out"
-msgstr "_Oddiali»"
+msgstr "Z_menšiť"
 
 # src/img-view.c:791 src/menu.c:946
-#: src/img-view.c:1270 src/layout_image.c:745 src/layout_util.c:1110
-#: src/layout_util.c:1111 src/pan-view.c:2804
+#: ../src/img-view.c:1268 ../src/layout_image.c:491 ../src/layout_util.c:1312
+#: ../src/layout_util.c:1313 ../src/layout_util.c:1328
+#: ../src/layout_util.c:1329 ../src/pan-view.c:2834
 msgid "Zoom _1:1"
 msgstr "Zobrazenie _1:1"
 
 # src/img-view.c:792 src/menu.c:947 src/menu.c:1083 src/preferences.c:716
-#: src/img-view.c:1271 src/layout_image.c:746
+#: ../src/img-view.c:1269 ../src/layout_image.c:492
 msgid "Fit image to _window"
-msgstr "Prispôsobi» obrázok do okna"
+msgstr "Prispôsobiť obrázok _oknu"
 
 # src/img-view.c:797 src/menu.c:960
-#: src/img-view.c:1276 src/layout_image.c:752 src/layout_util.c:1103
+#: ../src/img-view.c:1277 ../src/layout_image.c:501 ../src/layout_util.c:1306
 msgid "Set as _wallpaper"
-msgstr "Nastavi» ako pozadie plochy"
-
-#: src/img-view.c:1283 src/layout_image.c:762
+msgstr "Nastaviť ako _pozadie plochy"
+
+#: ../src/img-view.c:1282 ../src/layout_image.c:508
 msgid "_Go to directory view"
-msgstr ""
+msgstr "_ChoÄ na pohľad prieÄinkov"
 
 # src/img-view.c:813 src/menu.c:982
-#: src/img-view.c:1297 src/layout_image.c:786
+#: ../src/img-view.c:1295 ../src/layout_image.c:529
 msgid "_Stop slideshow"
-msgstr "Za_stavi» prezentáciu"
+msgstr "Za_staviť prezentáciu"
 
 # src/img-view.c:816 src/menu.c:985
-#: src/img-view.c:1300 src/layout_image.c:789
+#: ../src/img-view.c:1298 ../src/layout_image.c:532
 msgid "Continue slides_how"
-msgstr "Pokraèova» v prezentácii"
+msgstr "_PokraÄovaÅ¥ v prezentácii"
 
 # src/img-view.c:820 src/img-view.c:827 src/menu.c:989 src/menu.c:995
-#: src/img-view.c:1305 src/img-view.c:1313 src/layout_image.c:794
-#: src/layout_image.c:801
+#: ../src/img-view.c:1303 ../src/img-view.c:1311 ../src/layout_image.c:537
+#: ../src/layout_image.c:544
 msgid "Pause slides_how"
-msgstr "Pozastavi» prezentáciu"
+msgstr "_Pozastaviť prezentáciu"
 
 # src/img-view.c:825 src/menu.c:994
-#: src/img-view.c:1311 src/layout_image.c:800
+#: ../src/img-view.c:1309 ../src/layout_image.c:543
 msgid "_Start slideshow"
-msgstr "_Spusti» prezentáciu"
+msgstr "_Spustiť prezentáciu"
 
 # src/img-view.c:833 src/menu.c:1005
-#: src/img-view.c:1319 src/layout_image.c:811 src/pan-view.c:2873
+#: ../src/img-view.c:1317 ../src/layout_image.c:554 ../src/pan-view.c:2903
 msgid "Exit _full screen"
-msgstr "Ukonèi» celoobrazovkový re¾im"
+msgstr "UkonÄiÅ¥ _celoobrazovkový režim"
 
 # src/img-view.c:837 src/menu.c:1001
-#: src/img-view.c:1323 src/layout_image.c:807 src/pan-view.c:2877
+#: ../src/img-view.c:1321 ../src/layout_image.c:550 ../src/pan-view.c:2907
 msgid "_Full screen"
-msgstr "Celooobrazovkový re¾im"
+msgstr "_Celooobrazovkový režim"
 
 # src/dupe.c:1415 src/dupe.c:1573 src/img-view.c:841
-#: src/img-view.c:1327 src/layout_util.c:1074 src/pan-view.c:2881
+#: ../src/img-view.c:1325 ../src/layout_util.c:1291 ../src/pan-view.c:2911
 msgid "C_lose window"
-msgstr "Zavrie» okno"
-
-# src/preferences.c:368
-#: src/info.c:392
-msgid "File size:"
-msgstr "Veµkos» súboru:"
-
-# src/dupe.c:1655 src/dupe.c:1944
-#: src/info.c:394
-msgid "Dimensions:"
-msgstr "Rozmery:"
-
-#: src/info.c:395
-msgid "Transparent:"
-msgstr "Priehµadnos»:"
-
-# src/preferences.c:676
-#: src/info.c:396 src/print.c:3419
-msgid "Image size:"
-msgstr "Veµkos» obrázku:"
-
-# src/dupe.c:1948
-#: src/info.c:398
-msgid "Compress ratio:"
-msgstr "Kompresný pomer:"
-
-# src/ui_pathsel.c:799
-#: src/info.c:399
-msgid "File type:"
-msgstr "Typ súboru:"
-
-#: src/info.c:401
-msgid "Owner:"
-msgstr "Vlastník:"
-
-#: src/info.c:402
-msgid "Group:"
-msgstr "Skupina:"
-
-# src/preferences.c:551
-#: src/info.c:405 src/preferences.c:858
-msgid "General"
-msgstr "Hlavné"
-
-#: src/info.c:531
-#, c-format
-msgid "Image %d of %d"
-msgstr "Obrázok %d z %d"
-
-#: src/info.c:778
-#, fuzzy
-msgid "Image properties"
-msgstr "Vlastnosti obrázka - Geeqie"
+msgstr "_Zavrieť okno"
 
 # src/window.c:87
-#: src/layout.c:282 src/view_file.c:585
+#: ../src/layout.c:363 ../src/view_file.c:613
 msgid "Ascending"
 msgstr "Vzostupne"
 
-#: src/layout.c:384
-#, c-format
-msgid "This installation of %s was not built with support for color profiles."
-msgstr ""
-
-#: src/layout.c:385
-#, fuzzy
-msgid "Color profiles not supported"
-msgstr "Prieèinok nie je podporovaný"
-
-#: src/layout.c:410
-msgid "Use _color profiles"
-msgstr ""
-
-#: src/layout.c:415
-msgid "Use profile from _image"
-msgstr ""
-
-#: src/layout.c:421 src/layout.c:439
-#, c-format
-msgid "Input _%d:"
-msgstr ""
-
-#: src/layout.c:422
-msgid "AdobeRGB compatible"
-msgstr ""
-
-#: src/layout.c:464
-msgid "_Screen profile"
-msgstr ""
-
 # src/filelist.c:76
-#: src/layout.c:531
+#: ../src/layout.c:433
 msgid " Slideshow"
-msgstr "Prezentácia"
+msgstr " Prezentácia"
 
 # src/filelist.c:80
-#: src/layout.c:535
+#: ../src/layout.c:437
 msgid " Paused"
-msgstr " Pozastavené"
+msgstr " Pozastavené"
 
 # src/filelist.c:86
-#: src/layout.c:552
+#: ../src/layout.c:453
 #, c-format
 msgid "%s, %d files (%s, %d)%s"
-msgstr "%s, %d súborov (%s, %d)%s"
+msgstr "%s, %d súborov (%s, %d)%s"
 
 # src/filelist.c:88
-#: src/layout.c:559
+#: ../src/layout.c:460
 #, c-format
 msgid "%s, %d files%s"
-msgstr "%s, %d súborov%s"
+msgstr "%s, %d súborov%s"
 
 # src/filelist.c:88
-#: src/layout.c:564
+#: ../src/layout.c:465
 #, c-format
 msgid "%d files%s"
-msgstr "%d súborov%s"
-
-#: src/layout.c:593
+msgstr "%d súborov%s"
+
+#: ../src/layout.c:510
 #, c-format
 msgid "(no read permission) %s bytes"
-msgstr "(zákaz èítania) %s bytov"
+msgstr "(zákaz Äítania) %s bytov"
 
 # src/window.c:379
-#: src/layout.c:597
+#: ../src/layout.c:514
 #, c-format
 msgid "( ? x ? ) %s bytes"
 msgstr "( ? x ? ) %s bajtov"
 
 # src/window.c:383
-#: src/layout.c:605
+#: ../src/layout.c:522
 #, c-format
 msgid "( %d x %d ) %s bytes"
 msgstr "( %d x %d ) %s bajtov"
 
 # src/preferences.c:368
-#: src/layout.c:1301 src/layout_config.c:58
+#: ../src/layout.c:1243 ../src/layout_config.c:58
 msgid "Tools"
-msgstr "Nástroje"
+msgstr "Nástroje"
+
+#: ../src/layout.c:1873
+msgid "Window options and layout"
+msgstr ""
+
+# src/preferences.c:551
+#: ../src/layout.c:1932
+#, fuzzy
+msgid "General options"
+msgstr "Hlavné"
+
+#: ../src/layout.c:1934
+msgid "Home path (empty to use your home directory)"
+msgstr ""
+
+# src/preferences.c:581
+#: ../src/layout.c:1942
+msgid "Use current"
+msgstr "Použiť aktuálny"
+
+#: ../src/layout.c:1945
+#, fuzzy
+msgid "Show date in directories list view"
+msgstr "_ChoÄ na pohľad prieÄinkov"
+
+#: ../src/layout.c:1948
+msgid "Exit program when this window is closed"
+msgstr ""
+
+# src/preferences.c:559
+#: ../src/layout.c:1951
+#, fuzzy
+msgid "Start-up directory:"
+msgstr "ZaÄiatoÄný adresár"
+
+#: ../src/layout.c:1953
+msgid "No change"
+msgstr ""
+
+# src/collect-table.c:627 src/dupe.c:1391 src/dupe.c:1563
+#: ../src/layout.c:1956
+#, fuzzy
+msgid "Restore last path"
+msgstr "Použiť minulú cestu"
+
+# src/utilops.c:592
+#: ../src/layout.c:1959
+#, fuzzy
+msgid "Home path"
+msgstr "_Kopírovať cestu"
+
+#: ../src/layout.c:1963 ../src/print.c:3385 ../src/print.c:3392
+msgid "Layout"
+msgstr "Rozloženie"
 
 # src/collect-dlg.c:59
-#: src/layout.c:1983
-#, fuzzy
+#: ../src/layout.c:2207
 msgid "Invalid geometry\n"
-msgstr "Nesprávny prieèinok"
+msgstr "Nesprávny tvar\n"
 
 # src/preferences.c:368
-#: src/layout_config.c:58 src/ui_pathsel.c:1183
+#: ../src/layout_config.c:58 ../src/preferences.c:1526
+#: ../src/ui_pathsel.c:1179
 msgid "Files"
-msgstr "Súbory"
+msgstr "Súbory"
 
 # src/preferences.c:676
-#: src/layout_config.c:58 src/preferences.c:941 src/print.c:116
+#: ../src/layout_config.c:58 ../src/preferences.c:91 ../src/preferences.c:1317
+#: ../src/print.c:123
 msgid "Image"
-msgstr "Obrázok"
-
-#: src/layout_config.c:364
+msgstr "Obrázok"
+
+#: ../src/layout_config.c:364
 msgid "(drag to change order)"
-msgstr "(zmena poradia »ahaním)"
+msgstr "(poradie zmeníte ťahaním)"
 
 # src/menu.c:1010
-#: src/layout_image.c:816
+#: ../src/layout_image.c:559
 msgid "Hide file _list"
-msgstr "Sky» zoznam súborov"
-
-# src/menu.c:430 src/menu.c:457
-#: src/layout_util.c:879 src/menu.c:76
-#, fuzzy, c-format
-msgid "_%d %s..."
-msgstr "v %s..."
-
-# src/menu.c:432 src/menu.c:461
-#: src/layout_util.c:883 src/menu.c:78
-#, fuzzy, c-format
-msgid "_%d (unknown)..."
-msgstr "v (neznámom)..."
-
-# src/collect-table.c:78 src/menu.c:684
-#: src/layout_util.c:893
-#, fuzzy, c-format
-msgid "_%d empty"
-msgstr "prázdne"
+msgstr "Skyť _zoznam súborov"
+
+#: ../src/layout_image.c:1559
+#, c-format
+msgid "[%*d,%*d]: RGB(%3d,%3d,%3d)"
+msgstr ""
+
+#: ../src/layout_image.c:1567
+#, c-format
+msgid "[%*s,%*s]: RGB(---,---,---)"
+msgstr ""
 
 # src/menu.c:709
-#: src/layout_util.c:1037
+#: ../src/layout_util.c:1246
 msgid "_File"
-msgstr "Súbor(_F)"
-
-#: src/layout_util.c:1038
+msgstr "_Súbor"
+
+#: ../src/layout_util.c:1247
 msgid "_Go"
-msgstr ""
+msgstr "_ChoÄ na"
 
 # src/menu.c:726
-#: src/layout_util.c:1039 src/menu.c:93
+#: ../src/layout_util.c:1248 ../src/menu.c:109
 msgid "_Edit"
-msgstr "_Upravi»"
+msgstr "_Upraviť"
 
 # src/collect-table.c:628 src/dupe.c:1393 src/dupe.c:1565
-#: src/layout_util.c:1040
-#, fuzzy
+#: ../src/layout_util.c:1249
 msgid "_Select"
-msgstr "Výber"
-
-# src/menu.c:626
-#: src/layout_util.c:1041 src/menu.c:265
-msgid "_Adjust"
-msgstr "N_astavi»"
-
-# src/ui_pathsel.c:507 src/ui_pathsel.c:759
-#: src/layout_util.c:1043
-#, fuzzy
-msgid "_View Directory as"
-msgstr "Nový adresár"
+msgstr "_Výber"
+
+# src/dupe.c:1655 src/dupe.c:1944
+#: ../src/layout_util.c:1250 ../src/menu.c:280
+#, fuzzy
+msgid "_Orientation"
+msgstr "Orientácia"
+
+#: ../src/layout_util.c:1251
+msgid "E_xternal Editors"
+msgstr ""
+
+# src/menu.c:748
+#: ../src/layout_util.c:1252
+#, fuzzy
+msgid "P_references"
+msgstr "Predvoľby"
+
+#: ../src/layout_util.c:1254
+msgid "_Files and Folders"
+msgstr ""
 
 # src/img-view.c:789 src/menu.c:944 src/menu.c:1079
-#: src/layout_util.c:1044
-#, fuzzy
+#: ../src/layout_util.c:1255
 msgid "_Zoom"
-msgstr "Lupa"
-
-#: src/layout_util.c:1045
-msgid "_Split"
-msgstr ""
+msgstr "_Lupa"
+
+# src/menu.c:526
+#: ../src/layout_util.c:1256
+#, fuzzy
+msgid "_Color Management"
+msgstr "Správca triedenia"
+
+#: ../src/layout_util.c:1257
+msgid "_Connected Zoom"
+msgstr ""
+
+#: ../src/layout_util.c:1258
+#, fuzzy
+msgid "Spli_t"
+msgstr "_Rozdeliť"
+
+#: ../src/layout_util.c:1259 ../src/layout_util.c:1373
+#, fuzzy
+msgid "Image _Overlay"
+msgstr "_Prekrytie obrázka"
 
 # src/menu.c:771
-#: src/layout_util.c:1046
+#: ../src/layout_util.c:1260
 msgid "_Help"
-msgstr "Pomocník(_H)"
-
-#: src/layout_util.c:1048
-#, fuzzy
+msgstr "_Pomoc"
+
+#: ../src/layout_util.c:1262
 msgid "_First Image"
-msgstr "prvý obrázok"
-
-#: src/layout_util.c:1049 src/layout_util.c:1050 src/layout_util.c:1051
-#, fuzzy
+msgstr "_Prvý obrázok"
+
+#: ../src/layout_util.c:1262
+#, fuzzy
+msgid "First Image"
+msgstr "_Prvý obrázok"
+
+#: ../src/layout_util.c:1263 ../src/layout_util.c:1264
+#: ../src/layout_util.c:1265
 msgid "_Previous Image"
-msgstr "predchádzajúci obrázok"
+msgstr "P_redchádzajúci obrázok"
+
+#: ../src/layout_util.c:1263 ../src/layout_util.c:1264
+#: ../src/layout_util.c:1265
+#, fuzzy
+msgid "Previous Image"
+msgstr "P_redchádzajúci obrázok"
+
+# src/preferences.c:660
+#: ../src/layout_util.c:1266 ../src/layout_util.c:1267
+#: ../src/layout_util.c:1268
+msgid "_Next Image"
+msgstr "_nasledujúci obrázok"
 
 # src/preferences.c:660
-#: src/layout_util.c:1052 src/layout_util.c:1053 src/layout_util.c:1054
-#, fuzzy
-msgid "_Next Image"
-msgstr "nasledujúci obrázok"
-
-#: src/layout_util.c:1055
-#, fuzzy
+#: ../src/layout_util.c:1266 ../src/layout_util.c:1267
+#: ../src/layout_util.c:1268
+#, fuzzy
+msgid "Next Image"
+msgstr "_nasledujúci obrázok"
+
+#: ../src/layout_util.c:1269
 msgid "_Last Image"
-msgstr "posledný obrázok"
+msgstr "Po_sledný obrázok"
+
+#: ../src/layout_util.c:1269
+#, fuzzy
+msgid "Last Image"
+msgstr "Po_sledný obrázok"
+
+#: ../src/layout_util.c:1270
+msgid "_Back"
+msgstr ""
+
+#: ../src/layout_util.c:1270
+msgid "Back"
+msgstr ""
+
+# src/ui_pathsel.c:754
+#: ../src/layout_util.c:1271
+#, fuzzy
+msgid "_Home"
+msgstr "Domov"
+
+# src/ui_pathsel.c:754
+#: ../src/layout_util.c:1271 ../src/options.c:137 ../src/ui_bookmark.c:548
+#: ../src/ui_pathsel.c:1047
+msgid "Home"
+msgstr "Domov"
+
+# src/menu.c:711
+#: ../src/layout_util.c:1273
+msgid "New _window"
+msgstr "Nové _okno"
 
 # src/menu.c:711
-#: src/layout_util.c:1058
-msgid "New _window"
-msgstr "_Nové okno"
+#: ../src/layout_util.c:1273
+#, fuzzy
+msgid "New window"
+msgstr "Nové _okno"
+
+# src/collect-dlg.c:165 src/collect-table.c:641
+#: ../src/layout_util.c:1274
+msgid "_New collection"
+msgstr "_Nová zbierka"
 
 # src/collect-dlg.c:165 src/collect-table.c:641
-#: src/layout_util.c:1059
-msgid "_New collection"
-msgstr "Nová zbierka"
+#: ../src/layout_util.c:1274
+#, fuzzy
+msgid "New collection"
+msgstr "_Nová zbierka"
+
+# src/collect-dlg.c:172
+#: ../src/layout_util.c:1275
+msgid "_Open collection..."
+msgstr "_Otvoriť zbierku..."
 
 # src/collect-dlg.c:172
-#: src/layout_util.c:1060
-msgid "_Open collection..."
-msgstr "_Otvori» zbierku..."
+#: ../src/layout_util.c:1275
+#, fuzzy
+msgid "Open collection..."
+msgstr "_Otvoriť zbierku..."
 
 # src/menu.c:713
-#: src/layout_util.c:1061
-msgid "Open _recent"
-msgstr "Otvo_ri» nedávne"
+#: ../src/layout_util.c:1276
+#, fuzzy
+msgid "Open recen_t"
+msgstr "Otvoriť _nedávne"
+
+# src/menu.c:713
+#: ../src/layout_util.c:1276
+#, fuzzy
+msgid "Open recent"
+msgstr "Otvoriť _nedávne"
+
+# src/dupe.c:871 src/dupe.c:892
+#: ../src/layout_util.c:1277
+msgid "_Search..."
+msgstr "_Hľadať..."
 
 # src/dupe.c:871 src/dupe.c:892
-#: src/layout_util.c:1062
-msgid "_Search..."
-msgstr "Vyhµadávanie..."
-
-#: src/layout_util.c:1064
-msgid "Pan _view"
-msgstr "Roz¹írený pohµad"
+#: ../src/layout_util.c:1277
+#, fuzzy
+msgid "Search..."
+msgstr "_Hľadať..."
+
+# src/collect-table.c:644 src/menu.c:885
+#: ../src/layout_util.c:1278
+#, fuzzy
+msgid "Find duplicates..."
+msgstr "_Nájsť duplikáty..."
+
+#: ../src/layout_util.c:1279
+#, fuzzy
+msgid "Pa_n view"
+msgstr "_Rozšírený pohľad"
+
+#: ../src/layout_util.c:1279
+#, fuzzy
+msgid "Pan view"
+msgstr "_Rozšírený pohľad"
 
 # src/menu.c:721
-#: src/layout_util.c:1065
+#: ../src/layout_util.c:1280
 msgid "_Print..."
-msgstr "Tlaè..."
-
-#: src/layout_util.c:1066
+msgstr "_TlaÄ..."
+
+#: ../src/layout_util.c:1281
 msgid "N_ew folder..."
-msgstr "Nový prieèinok..."
+msgstr "_Nový prieÄinok..."
+
+#: ../src/layout_util.c:1281
+#, fuzzy
+msgid "New folder..."
+msgstr "_Nový prieÄinok..."
+
+# src/collect-table.c:633 src/dupe.c:1401 src/img-view.c:804 src/menu.c:910
+# src/menu.c:969
+#: ../src/layout_util.c:1282
+#, fuzzy
+msgid "Copy..."
+msgstr "_Kopírovať..."
+
+# src/collect-table.c:634 src/dupe.c:1403 src/img-view.c:805 src/menu.c:912
+# src/menu.c:971
+#: ../src/layout_util.c:1283
+#, fuzzy
+msgid "Move..."
+msgstr "_Presunúť..."
+
+# src/collect-table.c:635 src/dupe.c:1405 src/img-view.c:806 src/menu.c:914
+# src/menu.c:973
+#: ../src/layout_util.c:1284
+#, fuzzy
+msgid "Rename..."
+msgstr "_Premenovať..."
+
+# src/collect-table.c:636 src/dupe.c:1407 src/img-view.c:807 src/menu.c:916
+# src/menu.c:975
+#: ../src/layout_util.c:1285 ../src/layout_util.c:1286
+#: ../src/layout_util.c:1287
+#, fuzzy
+msgid "Delete..."
+msgstr "_Odstrániť..."
+
+# src/preferences.c:823
+#: ../src/layout_util.c:1288 ../src/view_file.c:603
+#, fuzzy
+msgid "Enable file _grouping"
+msgstr "Vypnúť filtrovanie súborov"
+
+# src/preferences.c:823
+#: ../src/layout_util.c:1288
+#, fuzzy
+msgid "Enable file grouping"
+msgstr "Vypnúť filtrovanie súborov"
+
+# src/preferences.c:823
+#: ../src/layout_util.c:1289 ../src/view_file.c:605
+#, fuzzy
+msgid "Disable file groupi_ng"
+msgstr "Vypnúť filtrovanie súborov"
+
+# src/preferences.c:823
+#: ../src/layout_util.c:1289
+#, fuzzy
+msgid "Disable file grouping"
+msgstr "Vypnúť filtrovanie súborov"
+
+# src/utilops.c:592
+#: ../src/layout_util.c:1290
+#, fuzzy
+msgid "_Copy path to clipboard"
+msgstr "_Kopírovať cestu"
+
+#: ../src/layout_util.c:1290
+msgid "Copy path to clipboard"
+msgstr ""
+
+# src/dupe.c:1415 src/dupe.c:1573 src/img-view.c:841
+#: ../src/layout_util.c:1291
+#, fuzzy
+msgid "Close window"
+msgstr "_Zavrieť okno"
 
 # src/preferences.c:684
-#: src/layout_util.c:1075
+#: ../src/layout_util.c:1292
 msgid "_Quit"
-msgstr "Skonèi»"
+msgstr "_Koniec"
+
+# src/preferences.c:684
+#: ../src/layout_util.c:1292
+#, fuzzy
+msgid "Quit"
+msgstr "_Koniec"
 
 # src/menu.c:572
-#: src/layout_util.c:1088 src/menu.c:203
+#: ../src/layout_util.c:1293 ../src/menu.c:222
 msgid "_Rotate clockwise"
-msgstr ""
-"Rotova» v smere\n"
-"hodinových ruèièiek"
+msgstr "OtoÄiÅ¥ _v smere hodinových ruÄiÄiek"
+
+# src/menu.c:572
+#: ../src/layout_util.c:1293
+#, fuzzy
+msgid "Rotate clockwise"
+msgstr "OtoÄiÅ¥ _v smere hodinových ruÄiÄiek"
 
 # src/menu.c:575
-#: src/layout_util.c:1089 src/menu.c:206
+#: ../src/layout_util.c:1294 ../src/menu.c:225
 msgid "Rotate _counterclockwise"
-msgstr ""
-"Rotova» proti smeru\n"
-"hodinových ruèièiek"
+msgstr "OtoÄiÅ¥ _proti smeru hodinových ruÄiÄiek"
+
+# src/menu.c:575
+#: ../src/layout_util.c:1294
+#, fuzzy
+msgid "Rotate counterclockwise"
+msgstr "OtoÄiÅ¥ _proti smeru hodinových ruÄiÄiek"
+
+# src/menu.c:578
+#: ../src/layout_util.c:1295
+msgid "Rotate 1_80"
+msgstr "OtoÄiÅ¥ 1_80"
 
 # src/menu.c:578
-#: src/layout_util.c:1090
-msgid "Rotate 1_80"
-msgstr "Rotova» 1_80"
+#: ../src/layout_util.c:1295
+#, fuzzy
+msgid "Rotate 180"
+msgstr "OtoÄiÅ¥ 1_80"
 
 # src/menu.c:581
-#: src/layout_util.c:1091 src/menu.c:212
+#: ../src/layout_util.c:1296 ../src/menu.c:231
 msgid "_Mirror"
-msgstr "_Zrkadli»"
+msgstr "_Zrkadliť"
+
+# src/menu.c:581
+#: ../src/layout_util.c:1296
+#, fuzzy
+msgid "Mirror"
+msgstr "_Zrkadliť"
 
 # src/menu.c:584
-#: src/layout_util.c:1092 src/menu.c:215
+#: ../src/layout_util.c:1297 ../src/menu.c:234
 msgid "_Flip"
-msgstr "_Preklopi»"
-
-# src/img-view.c:813 src/menu.c:982
-#: src/layout_util.c:1093 src/menu.c:218
-#, fuzzy
-msgid "Toggle _grayscale"
-msgstr "Za_stavi» prezentáciu"
-
-#: src/layout_util.c:1094 src/menu.c:221
-#, fuzzy
+msgstr "_Preklopiť"
+
+# src/menu.c:584
+#: ../src/layout_util.c:1297
+#, fuzzy
+msgid "Flip"
+msgstr "_Preklopiť"
+
+#: ../src/layout_util.c:1298 ../src/menu.c:237
 msgid "_Original state"
-msgstr "Pôvodný názov"
+msgstr "_Pôvodný stav"
+
+#: ../src/layout_util.c:1298
+#, fuzzy
+msgid "Original state"
+msgstr "_Pôvodný stav"
 
 # src/collect-table.c:627 src/dupe.c:1391 src/dupe.c:1563
-#: src/layout_util.c:1097
+#: ../src/layout_util.c:1299
 msgid "Select _all"
-msgstr "Vybr_a» v¹etko"
+msgstr "Vybrať _všetko"
+
+# src/collect-table.c:628 src/dupe.c:1393 src/dupe.c:1565
+#: ../src/layout_util.c:1300
+msgid "Select _none"
+msgstr "_Zrušiť výber"
+
+# src/collect-table.c:628 src/dupe.c:1393 src/dupe.c:1565
+#: ../src/layout_util.c:1301
+msgid "_Invert Selection"
+msgstr "_OpaÄný výber"
 
 # src/collect-table.c:628 src/dupe.c:1393 src/dupe.c:1565
-#: src/layout_util.c:1098
-msgid "Select _none"
-msgstr "Zru¹i» výber"
-
-# src/collect-table.c:628 src/dupe.c:1393 src/dupe.c:1565
-#: src/layout_util.c:1099
-#, fuzzy
-msgid "_Invert Selection"
-msgstr "Výber"
+#: ../src/layout_util.c:1301
+#, fuzzy
+msgid "Invert Selection"
+msgstr "_OpaÄný výber"
+
+# src/menu.c:748
+#: ../src/layout_util.c:1302
+msgid "P_references..."
+msgstr "_Predvoľby..."
 
 # src/menu.c:748
-#: src/layout_util.c:1101
-msgid "P_references..."
-msgstr "Predv_oµby..."
-
-#: src/layout_util.c:1102
+#: ../src/layout_util.c:1302
+#, fuzzy
+msgid "Preferences..."
+msgstr "_Predvoľby..."
+
+# src/menu.c:1087
+#: ../src/layout_util.c:1303
+#, fuzzy
+msgid "Configure _Editors..."
+msgstr "Konfigurovať voľby"
+
+# src/menu.c:1087
+#: ../src/layout_util.c:1303
+#, fuzzy
+msgid "Configure Editors..."
+msgstr "Konfigurovať voľby"
+
+# src/menu.c:1087
+#: ../src/layout_util.c:1304
+#, fuzzy
+msgid "_Configure this window..."
+msgstr "Konfigurovať voľby"
+
+# src/menu.c:1087
+#: ../src/layout_util.c:1304
+#, fuzzy
+msgid "Configure this window..."
+msgstr "Konfigurovať voľby"
+
+#: ../src/layout_util.c:1305
 msgid "_Thumbnail maintenance..."
-msgstr "Údr¾ba minia_túr"
+msgstr "Údržba _náhľadov..."
+
+#: ../src/layout_util.c:1305
+#, fuzzy
+msgid "Thumbnail maintenance..."
+msgstr "Údržba _náhľadov..."
+
+# src/img-view.c:797 src/menu.c:960
+#: ../src/layout_util.c:1306
+#, fuzzy
+msgid "Set as wallpaper"
+msgstr "Nastaviť ako _pozadie plochy"
+
+#: ../src/layout_util.c:1307
+#, fuzzy
+msgid "_Save metadata"
+msgstr "Metadáta"
+
+#: ../src/layout_util.c:1307
+#, fuzzy
+msgid "Save metadata"
+msgstr "Metadáta"
+
+# src/img-view.c:789 src/menu.c:944 src/menu.c:1079
+#: ../src/layout_util.c:1308 ../src/layout_util.c:1309
+msgid "Zoom in"
+msgstr "Priblížiť"
+
+# src/img-view.c:790 src/menu.c:945 src/menu.c:1081
+#: ../src/layout_util.c:1310 ../src/layout_util.c:1311
+msgid "Zoom out"
+msgstr "Oddialiť"
+
+# src/img-view.c:791 src/menu.c:946
+#: ../src/layout_util.c:1312 ../src/layout_util.c:1313
+#, fuzzy
+msgid "Zoom 1:1"
+msgstr "Zobrazenie _1:1"
 
 # src/menu.c:758
-#: src/layout_util.c:1112 src/layout_util.c:1113
+#: ../src/layout_util.c:1314 ../src/layout_util.c:1315
+#: ../src/layout_util.c:1330 ../src/layout_util.c:1331
 msgid "_Zoom to fit"
-msgstr "Prispôsobi» oknu"
-
-#: src/layout_util.c:1114
+msgstr "_Prispôsobiť oknu"
+
+# src/menu.c:758
+#: ../src/layout_util.c:1314 ../src/layout_util.c:1315
+#, fuzzy
+msgid "Zoom to fit"
+msgstr "_Prispôsobiť oknu"
+
+#: ../src/layout_util.c:1316 ../src/layout_util.c:1332
 msgid "Fit _Horizontally"
-msgstr ""
-
-#: src/layout_util.c:1115
-msgid "Fit _Vorizontally"
-msgstr ""
+msgstr "Vmestiť _vodorovne"
+
+#: ../src/layout_util.c:1316
+#, fuzzy
+msgid "Fit Horizontally"
+msgstr "Vmestiť _vodorovne"
+
+#: ../src/layout_util.c:1317 ../src/layout_util.c:1333
+#, fuzzy
+msgid "Fit _Vertically"
+msgstr "Vmestiť _zvisle"
+
+#: ../src/layout_util.c:1317
+#, fuzzy
+msgid "Fit Vertically"
+msgstr "Zvislé"
 
 # src/img-view.c:791 src/menu.c:946
-#: src/layout_util.c:1116
-#, fuzzy
+#: ../src/layout_util.c:1318 ../src/layout_util.c:1334
 msgid "Zoom _2:1"
-msgstr "Zobrazenie _1:1"
+msgstr "Zobraziť _2:1"
+
+# src/img-view.c:791 src/menu.c:946
+#: ../src/layout_util.c:1318
+#, fuzzy
+msgid "Zoom 2:1"
+msgstr "Zobraziť _2:1"
+
+# src/img-view.c:791 src/menu.c:946
+#: ../src/layout_util.c:1319 ../src/layout_util.c:1335
+msgid "Zoom _3:1"
+msgstr "Zobraziť _3:1"
 
 # src/img-view.c:791 src/menu.c:946
-#: src/layout_util.c:1117
-#, fuzzy
-msgid "Zoom _3:1"
-msgstr "Zobrazenie _1:1"
+#: ../src/layout_util.c:1319
+#, fuzzy
+msgid "Zoom 3:1"
+msgstr "Zobraziť _3:1"
+
+# src/img-view.c:791 src/menu.c:946
+#: ../src/layout_util.c:1320 ../src/layout_util.c:1336
+msgid "Zoom _4:1"
+msgstr "Zobraziť _4:1"
+
+# src/img-view.c:791 src/menu.c:946
+#: ../src/layout_util.c:1320
+#, fuzzy
+msgid "Zoom 4:1"
+msgstr "Zobraziť _4:1"
+
+# src/img-view.c:791 src/menu.c:946
+#: ../src/layout_util.c:1321 ../src/layout_util.c:1337
+msgid "Zoom 1:2"
+msgstr "Zobraziť 1:2"
+
+# src/img-view.c:791 src/menu.c:946
+#: ../src/layout_util.c:1322 ../src/layout_util.c:1338
+msgid "Zoom 1:3"
+msgstr "Zobraziť 1:3"
 
 # src/img-view.c:791 src/menu.c:946
-#: src/layout_util.c:1118
-#, fuzzy
-msgid "Zoom _4:1"
-msgstr "Zobrazenie _1:1"
+#: ../src/layout_util.c:1323 ../src/layout_util.c:1339
+msgid "Zoom 1:4"
+msgstr "Zobraziť 1:4"
+
+#: ../src/layout_util.c:1324 ../src/layout_util.c:1325
+#, fuzzy
+msgid "Connected Zoom in"
+msgstr "Odpojené od LIRC\n"
+
+# src/img-view.c:790 src/menu.c:945 src/menu.c:1081
+#: ../src/layout_util.c:1326 ../src/layout_util.c:1327
+#, fuzzy
+msgid "Connected Zoom out"
+msgstr "Oddialiť"
+
+# src/menu.c:1085
+#: ../src/layout_util.c:1328 ../src/layout_util.c:1329
+#, fuzzy
+msgid "Connected Zoom 1:1"
+msgstr "Nastaviť zobrazenie 1:1"
+
+# src/menu.c:758
+#: ../src/layout_util.c:1330 ../src/layout_util.c:1331
+#, fuzzy
+msgid "Connected Zoom to fit"
+msgstr "_Prispôsobiť oknu"
+
+#: ../src/layout_util.c:1332
+#, fuzzy
+msgid "Connected Fit Horizontally"
+msgstr "Vmestiť _vodorovne"
+
+#: ../src/layout_util.c:1333
+msgid "Connected Fit Vertically"
+msgstr ""
+
+# src/menu.c:1085
+#: ../src/layout_util.c:1334
+#, fuzzy
+msgid "Connected Zoom 2:1"
+msgstr "Nastaviť zobrazenie 1:1"
+
+# src/menu.c:1085
+#: ../src/layout_util.c:1335
+#, fuzzy
+msgid "Connected Zoom 3:1"
+msgstr "Nastaviť zobrazenie 1:1"
+
+# src/menu.c:1085
+#: ../src/layout_util.c:1336
+#, fuzzy
+msgid "Connected Zoom 4:1"
+msgstr "Nastaviť zobrazenie 1:1"
 
 # src/img-view.c:791 src/menu.c:946
-#: src/layout_util.c:1119
-#, fuzzy
-msgid "Zoom 1:2"
-msgstr "Zobrazenie _1:1"
+#: ../src/layout_util.c:1337
+#, fuzzy
+msgid "Connected Zoom 1:2"
+msgstr "Zobraziť 1:2"
 
 # src/img-view.c:791 src/menu.c:946
-#: src/layout_util.c:1120
-#, fuzzy
-msgid "Zoom 1:3"
-msgstr "Zobrazenie _1:1"
+#: ../src/layout_util.c:1338
+#, fuzzy
+msgid "Connected Zoom 1:3"
+msgstr "Zobraziť 1:3"
 
 # src/img-view.c:791 src/menu.c:946
-#: src/layout_util.c:1121
-#, fuzzy
-msgid "Zoom 1:4"
-msgstr "Zobrazenie _1:1"
+#: ../src/layout_util.c:1339
+#, fuzzy
+msgid "Connected Zoom 1:4"
+msgstr "Zobraziť 1:4"
 
 # src/collect-table.c:620 src/dupe.c:1388 src/dupe.c:1560 src/img-view.c:801
 # src/menu.c:906 src/menu.c:964
-#: src/layout_util.c:1124
-#, fuzzy
+#: ../src/layout_util.c:1340
 msgid "_View in new window"
-msgstr "Zobrazi» v _novom okne"
+msgstr "_Zobraziť v novom okne"
+
+# src/collect-table.c:620 src/dupe.c:1388 src/dupe.c:1560 src/img-view.c:801
+# src/menu.c:906 src/menu.c:964
+#: ../src/layout_util.c:1340
+#, fuzzy
+msgid "View in new window"
+msgstr "_Zobraziť v novom okne"
 
 # src/img-view.c:837 src/menu.c:1001
-#: src/layout_util.c:1126 src/layout_util.c:1127 src/layout_util.c:1128
+#: ../src/layout_util.c:1341 ../src/layout_util.c:1342
+#: ../src/layout_util.c:1343
 msgid "F_ull screen"
-msgstr "Celooobrazovkový re¾im"
-
-#: src/layout_util.c:1129 src/layout_util.c:1130
-#, fuzzy
-msgid "Escape"
-msgstr "na ¹írku"
-
-#: src/layout_util.c:1131
-msgid "_Image Overlay"
-msgstr ""
-
-#: src/layout_util.c:1132
-msgid "Histogram _channels"
-msgstr ""
-
-#: src/layout_util.c:1133
-msgid "Histogram _log mode"
-msgstr ""
+msgstr "_Celooobrazovkový režim"
+
+# src/fullscreen.c:117
+#: ../src/layout_util.c:1344 ../src/layout_util.c:1345
+#, fuzzy
+msgid "_Leave full screen"
+msgstr "Geeqie: celoobrazovkový režim"
+
+# src/fullscreen.c:117
+#: ../src/layout_util.c:1344 ../src/layout_util.c:1345
+#, fuzzy
+msgid "Leave full screen"
+msgstr "Geeqie: celoobrazovkový režim"
+
+#: ../src/layout_util.c:1346
+msgid "_Cycle through overlay modes"
+msgstr ""
+
+#: ../src/layout_util.c:1346
+msgid "Cycle through Overlay modes"
+msgstr ""
+
+#: ../src/layout_util.c:1347
+#, fuzzy
+msgid "Cycle through histogram ch_annels"
+msgstr "_Kanály histogramu"
+
+#: ../src/layout_util.c:1347
+#, fuzzy
+msgid "Cycle through histogram channels"
+msgstr "_Kanály histogramu"
+
+#: ../src/layout_util.c:1348
+#, fuzzy
+msgid "Cycle through histogram mo_des"
+msgstr "lineárny histogram Äervenej"
+
+#: ../src/layout_util.c:1348
+#, fuzzy
+msgid "Cycle through histogram modes"
+msgstr "lineárny histogram Äervenej"
+
+# src/menu.c:1010
+#: ../src/layout_util.c:1349
+msgid "_Hide file list"
+msgstr "_Skyť zoznam súborov"
 
 # src/menu.c:1010
-#: src/layout_util.c:1134
-msgid "_Hide file list"
-msgstr "Sky» zoznam súborov"
+#: ../src/layout_util.c:1349
+#, fuzzy
+msgid "Hide file list"
+msgstr "_Skyť zoznam súborov"
 
 # src/img-view.c:820 src/img-view.c:827 src/menu.c:989 src/menu.c:995
-#: src/layout_util.c:1135
-#, fuzzy
+#: ../src/layout_util.c:1350
 msgid "_Pause slideshow"
-msgstr "Pozastavi» prezentáciu"
+msgstr "_Pozastaviť prezentáciu"
+
+# src/img-view.c:820 src/img-view.c:827 src/menu.c:989 src/menu.c:995
+#: ../src/layout_util.c:1350
+#, fuzzy
+msgid "Pause slideshow"
+msgstr "_Pozastaviť prezentáciu"
+
+# src/menu.c:891 src/menu.c:920
+#: ../src/layout_util.c:1351
+msgid "_Refresh"
+msgstr "_Obnoviť"
 
 # src/menu.c:891 src/menu.c:920
-#: src/layout_util.c:1136
-msgid "_Refresh"
-msgstr "Obnovi»"
+#: ../src/layout_util.c:1351
+#, fuzzy
+msgid "Refresh"
+msgstr "_Obnoviť"
+
+# src/menu.c:776
+#: ../src/layout_util.c:1352
+msgid "_Contents"
+msgstr "_Obsah"
 
 # src/menu.c:776
-#: src/layout_util.c:1138
-msgid "_Contents"
-msgstr "Obsah"
+#: ../src/layout_util.c:1352
+#, fuzzy
+msgid "Contents"
+msgstr "_Obsah"
+
+# src/menu.c:773
+#: ../src/layout_util.c:1353
+msgid "_Keyboard shortcuts"
+msgstr "_Klávesové skratky"
 
 # src/menu.c:773
-#: src/layout_util.c:1139
-msgid "_Keyboard shortcuts"
-msgstr "_Klávesové skratky"
+#: ../src/layout_util.c:1353
+#, fuzzy
+msgid "Keyboard shortcuts"
+msgstr "_Klávesové skratky"
 
 # src/menu.c:774
-#: src/layout_util.c:1140
+#: ../src/layout_util.c:1354
 msgid "_Release notes"
-msgstr "Poznámky k ve_rzii"
+msgstr "_Poznámky k vydaniu"
+
+# src/menu.c:774
+#: ../src/layout_util.c:1354
+#, fuzzy
+msgid "Release notes"
+msgstr "_Poznámky k vydaniu"
+
+# src/menu.c:776
+#: ../src/layout_util.c:1355
+msgid "_About"
+msgstr "_O aplikácii Geeqie"
 
 # src/menu.c:776
-#: src/layout_util.c:1141
-msgid "_About"
-msgstr "O Geeqie"
-
-# src/dupe.c:2054 src/preferences.c:586
-#: src/layout_util.c:1145 src/layout_util.c:1546
-msgid "_Thumbnails"
-msgstr "Minia_túry"
+#: ../src/layout_util.c:1355 ../src/preferences.c:2192
+msgid "About"
+msgstr "O aplikácii Geeqie"
+
+# src/preferences.c:773
+#: ../src/layout_util.c:1356
+#, fuzzy
+msgid "_Log Window"
+msgstr "Okná"
+
+# src/preferences.c:773
+#: ../src/layout_util.c:1356
+#, fuzzy
+msgid "Log Window"
+msgstr "Okná"
+
+# src/dupe.c:1415 src/dupe.c:1573 src/img-view.c:841
+#: ../src/layout_util.c:1357
+#, fuzzy
+msgid "_Exif window"
+msgstr "_Zavrieť okno"
+
+# src/menu.c:711
+#: ../src/layout_util.c:1357
+#, fuzzy
+msgid "Exif window"
+msgstr "Nové _okno"
+
+# src/preferences.c:603
+#: ../src/layout_util.c:1362
+#, fuzzy
+msgid "Show _Thumbnails"
+msgstr "Zobraziť _náhľady"
+
+# src/preferences.c:603
+#: ../src/layout_util.c:1362
+#, fuzzy
+msgid "Show Thumbnails"
+msgstr "Zobraziť náhľady"
 
 # src/ui_pathsel.c:764
-#: src/layout_util.c:1146
-#, fuzzy
+#: ../src/layout_util.c:1363
 msgid "Show _Marks"
-msgstr "Ukáza» skryté"
+msgstr "ZobraziÅ¥ _znaÄky"
+
+# src/ui_pathsel.c:764
+#: ../src/layout_util.c:1363
+#, fuzzy
+msgid "Show Marks"
+msgstr "ZobraziÅ¥ _znaÄky"
+
+# src/ui_pathsel.c:799
+#: ../src/layout_util.c:1364
+#, fuzzy
+msgid "Pi_xel Info"
+msgstr "Formát pixlov"
+
+# src/ui_pathsel.c:764
+#: ../src/layout_util.c:1364
+#, fuzzy
+msgid "Show Pixel Info"
+msgstr "Ukázať skryté"
 
 # src/menu.c:766
-#: src/layout_util.c:1147
+#: ../src/layout_util.c:1365
 msgid "_Float file list"
-msgstr "Plávajúci zoznam súborov"
+msgstr "_Plávajúci zoznam súborov"
+
+# src/menu.c:766
+#: ../src/layout_util.c:1365
+#, fuzzy
+msgid "Float file list"
+msgstr "_Plávajúci zoznam súborov"
+
+# src/menu.c:754
+#: ../src/layout_util.c:1366
+msgid "Hide tool_bar"
+msgstr "Skryť _panel nástrojov"
 
 # src/menu.c:754
-#: src/layout_util.c:1148
-msgid "Hide tool_bar"
-msgstr "Skry» panel nástrojov"
-
-# src/dupe.c:1655 src/dupe.c:1944
-#: src/layout_util.c:1149
-msgid "_Keywords"
-msgstr "_Kµúèové slová"
-
-# src/menu.c:765
-#: src/layout_util.c:1150
-msgid "E_xif data"
-msgstr "_Exif dáta"
+#: ../src/layout_util.c:1366
+#, fuzzy
+msgid "Hide toolbar"
+msgstr "Skryť _panel nástrojov"
+
+#: ../src/layout_util.c:1367
+msgid "_Info sidebar"
+msgstr ""
+
+#: ../src/layout_util.c:1367
+msgid "Info sidebar"
+msgstr ""
+
+# src/menu.c:526
+#: ../src/layout_util.c:1368
+msgid "Sort _manager"
+msgstr "_Správca triedenia"
 
 # src/menu.c:526
-#: src/layout_util.c:1151
-msgid "Sort _manager"
-msgstr "_Správca triedenia"
-
-#: src/layout_util.c:1152
-msgid "Co_nnected scroll"
-msgstr ""
-
-#: src/layout_util.c:1153
-msgid "C_onnected zoom"
-msgstr ""
+#: ../src/layout_util.c:1368
+#, fuzzy
+msgid "Sort manager"
+msgstr "_Správca triedenia"
+
+# src/img-view.c:813 src/menu.c:982
+#: ../src/layout_util.c:1369
+msgid "Toggle _slideshow"
+msgstr "Prepnúť _prezentáciu"
+
+# src/img-view.c:813 src/menu.c:982
+#: ../src/layout_util.c:1369
+#, fuzzy
+msgid "Toggle slideshow"
+msgstr "Prepnúť _prezentáciu"
+
+#: ../src/layout_util.c:1370
+msgid "Use _color profiles"
+msgstr "Použiť _Farebné profily"
+
+#: ../src/layout_util.c:1370
+#, fuzzy
+msgid "Use color profiles"
+msgstr "Použiť _Farebné profily"
+
+#: ../src/layout_util.c:1371
+msgid "Use profile from _image"
+msgstr "Použiť profil z _obrázka"
+
+#: ../src/layout_util.c:1371
+#, fuzzy
+msgid "Use profile from image"
+msgstr "Použiť profil z _obrázka"
 
 # src/img-view.c:813 src/menu.c:982
-#: src/layout_util.c:1154
-msgid "Toggle _slideshow"
-msgstr "Za_stavi» prezentáciu"
-
-# src/menu.c:765
-#: src/layout_util.c:1158 src/view_dir.c:29
-msgid "_List"
-msgstr "Zoznam"
-
-#: src/layout_util.c:1159
+#: ../src/layout_util.c:1372
+msgid "Toggle _grayscale"
+msgstr "Prepnúť šedotón"
+
+# src/img-view.c:813 src/menu.c:982
+#: ../src/layout_util.c:1372
+#, fuzzy
+msgid "Toggle grayscale"
+msgstr "Prepnúť šedotón"
+
+#: ../src/layout_util.c:1373
+#, fuzzy
+msgid "Image Overlay"
+msgstr "_Prekrytie obrázka"
+
+#: ../src/layout_util.c:1374
+msgid "_Show Histogram"
+msgstr ""
+
+#: ../src/layout_util.c:1374
+msgid "Show Histogram"
+msgstr ""
+
+# src/preferences.c:676
+#: ../src/layout_util.c:1378
+#, fuzzy
+msgid "Image _List"
+msgstr "Šírka obrázku"
+
+# src/menu.c:769
+#: ../src/layout_util.c:1378
+#, fuzzy
+msgid "View Images as List"
+msgstr "/Zobraziť/Prepnúť prezentáciu"
+
+#: ../src/layout_util.c:1379
 msgid "I_cons"
 msgstr "_Ikona:"
 
-#: src/layout_util.c:1163
-msgid "Horizontal"
-msgstr ""
-
-#: src/layout_util.c:1164
-#, fuzzy
-msgid "Vertical"
-msgstr "èiastoèný"
-
-#: src/layout_util.c:1165
-msgid "Quad"
-msgstr ""
+# src/dupe.c:1655 src/dupe.c:1944
+#: ../src/layout_util.c:1379
+#, fuzzy
+msgid "View Images as Icons"
+msgstr "Zobraziť ako _ikony"
+
+# src/preferences.c:368
+#: ../src/layout_util.c:1383
+#, fuzzy
+msgid "Folder Li_st"
+msgstr "PrieÄinok existuje"
+
+# src/preferences.c:368
+#: ../src/layout_util.c:1383
+#, fuzzy
+msgid "View Folders as List"
+msgstr "PrieÄinok existuje"
+
+# src/preferences.c:368
+#: ../src/layout_util.c:1384
+#, fuzzy
+msgid "Folder T_ree"
+msgstr "PrieÄinok existuje"
+
+# src/menu.c:761
+#: ../src/layout_util.c:1384
+#, fuzzy
+msgid "View Folders as Tree"
+msgstr "Zobraziť ako s_trom"
+
+#: ../src/layout_util.c:1388
+#, fuzzy
+msgid "_Horizontal"
+msgstr "Vodorovne"
+
+#: ../src/layout_util.c:1388
+#, fuzzy
+msgid "Split Horizontal"
+msgstr "Vmestiť _vodorovne"
+
+#: ../src/layout_util.c:1389
+#, fuzzy
+msgid "_Vertical"
+msgstr "Zvislé"
+
+#: ../src/layout_util.c:1389
+#, fuzzy
+msgid "Split Vertical"
+msgstr "Zvislé"
+
+#: ../src/layout_util.c:1390
+#, fuzzy
+msgid "_Quad"
+msgstr "Å tvor"
+
+#: ../src/layout_util.c:1390
+#, fuzzy
+msgid "Split Quad"
+msgstr "_Rozdeliť"
+
+# src/dupe.c:1653 src/dupe.c:1942
+#: ../src/layout_util.c:1391
+#, fuzzy
+msgid "_Single"
+msgstr "Jednotlivo"
 
 # src/dupe.c:1653 src/dupe.c:1942
-#: src/layout_util.c:1166
-#, fuzzy
-msgid "Single"
-msgstr "Veµkos»"
-
-#: src/layout_util.c:1354
+#: ../src/layout_util.c:1391
+#, fuzzy
+msgid "Split Single"
+msgstr "Jednotlivo"
+
+#: ../src/layout_util.c:1395
+#, fuzzy
+msgid "Input _0: sRGB"
+msgstr "Vstup _%d:"
+
+#: ../src/layout_util.c:1395
+#, fuzzy
+msgid "Input 0: sRGB"
+msgstr "Vstup _%d:"
+
+#: ../src/layout_util.c:1396
+#, fuzzy
+msgid "Input _1: AdobeRGB compatible"
+msgstr "Kompatibilné s AdobeRGB"
+
+#: ../src/layout_util.c:1396
+#, fuzzy
+msgid "Input 1: AdobeRGB compatible"
+msgstr "Kompatibilné s AdobeRGB"
+
+#: ../src/layout_util.c:1397
+#, fuzzy
+msgid "Input _2"
+msgstr "Vstup _%d:"
+
+#: ../src/layout_util.c:1397
+#, fuzzy
+msgid "Input 2"
+msgstr "Vstup _%d:"
+
+#: ../src/layout_util.c:1398
+#, fuzzy
+msgid "Input _3"
+msgstr "Vstup _%d:"
+
+#: ../src/layout_util.c:1398
+#, fuzzy
+msgid "Input 3"
+msgstr "Vstup _%d:"
+
+#: ../src/layout_util.c:1399
+#, fuzzy
+msgid "Input _4"
+msgstr "Vstup _%d:"
+
+#: ../src/layout_util.c:1399
+#, fuzzy
+msgid "Input 4"
+msgstr "Vstup _%d:"
+
+#: ../src/layout_util.c:1400
+#, fuzzy
+msgid "Input _5"
+msgstr "Vstup _%d:"
+
+#: ../src/layout_util.c:1400
+#, fuzzy
+msgid "Input 5"
+msgstr "Vstup _%d:"
+
+#: ../src/layout_util.c:1404
+#, fuzzy
+msgid "Histogram on Red"
+msgstr "Histogram v _log režime"
+
+#: ../src/layout_util.c:1405
+#, fuzzy
+msgid "Histogram on Green"
+msgstr "lineárny histogram zelenej"
+
+#: ../src/layout_util.c:1406
+#, fuzzy
+msgid "Histogram on Blue"
+msgstr "lineárny histogram modrej"
+
+#: ../src/layout_util.c:1407
+#, fuzzy
+msgid "Histogram on RGB"
+msgstr "lineárny histogram RGB"
+
+#: ../src/layout_util.c:1408
+#, fuzzy
+msgid "Histogram on Value"
+msgstr "lineárny histogram hodnoty"
+
+#: ../src/layout_util.c:1412
+#, fuzzy
+msgid "Linear Histogram"
+msgstr "lineárny histogram Äervenej"
+
+#: ../src/layout_util.c:1413
+msgid "_Log Histogram"
+msgstr ""
+
+#: ../src/layout_util.c:1413
+msgid "Log Histogram"
+msgstr ""
+
+#: ../src/layout_util.c:1679
 #, c-format
 msgid "Mark _%d"
-msgstr ""
-
-#: src/layout_util.c:1355 src/view_file.c:515
+msgstr "ZnaÄka _%d"
+
+#: ../src/layout_util.c:1680 ../src/view_file.c:540
 #, c-format
 msgid "_Set mark %d"
-msgstr ""
-
-#: src/layout_util.c:1356 src/view_file.c:516
+msgstr "_NastaviÅ¥ znaÄku %d"
+
+#: ../src/layout_util.c:1680
+#, fuzzy, c-format
+msgid "Set mark %d"
+msgstr "_NastaviÅ¥ znaÄku %d"
+
+#: ../src/layout_util.c:1681 ../src/view_file.c:541
 #, c-format
 msgid "_Reset mark %d"
-msgstr ""
-
-#: src/layout_util.c:1357 src/layout_util.c:1358 src/view_file.c:517
+msgstr "_VynulovaÅ¥ znaÄku %d"
+
+#: ../src/layout_util.c:1681
+#, fuzzy, c-format
+msgid "Reset mark %d"
+msgstr "_VynulovaÅ¥ znaÄku %d"
+
+#: ../src/layout_util.c:1682 ../src/layout_util.c:1683 ../src/view_file.c:542
 #, c-format
 msgid "_Toggle mark %d"
-msgstr ""
+msgstr "_Prepnúť znaÄku %d"
+
+#: ../src/layout_util.c:1682 ../src/layout_util.c:1683
+#, fuzzy, c-format
+msgid "Toggle mark %d"
+msgstr "_Prepnúť znaÄku %d"
 
 # src/collect-table.c:627 src/dupe.c:1391 src/dupe.c:1563
-#: src/layout_util.c:1359 src/layout_util.c:1360 src/view_file.c:518
+#: ../src/layout_util.c:1684
 #, fuzzy, c-format
+msgid "Se_lect mark %d"
+msgstr "_VybraÅ¥ znaÄku %d"
+
+# src/collect-table.c:627 src/dupe.c:1391 src/dupe.c:1563
+#: ../src/layout_util.c:1684 ../src/layout_util.c:1685
+#, fuzzy, c-format
+msgid "Select mark %d"
+msgstr "_VybraÅ¥ znaÄku %d"
+
+# src/collect-table.c:627 src/dupe.c:1391 src/dupe.c:1563
+#: ../src/layout_util.c:1685 ../src/view_file.c:543
+#, c-format
 msgid "_Select mark %d"
-msgstr "Vybra» v¹etko"
-
-#: src/layout_util.c:1361 src/view_file.c:519
+msgstr "_VybraÅ¥ znaÄku %d"
+
+#: ../src/layout_util.c:1686 ../src/view_file.c:544
+#, c-format
+msgid "_Add mark %d"
+msgstr "_PridaÅ¥ znaÄku %d"
+
+#: ../src/layout_util.c:1686
 #, fuzzy, c-format
-msgid "_Add mark %d"
-msgstr "Prida» zálo¾ku"
-
-#: src/layout_util.c:1362 src/view_file.c:520
+msgid "Add mark %d"
+msgstr "_PridaÅ¥ znaÄku %d"
+
+#: ../src/layout_util.c:1687 ../src/view_file.c:545
 #, c-format
 msgid "_Intersection with mark %d"
-msgstr ""
-
-#: src/layout_util.c:1363 src/view_file.c:521
+msgstr "_Prienik so znaÄkou %d"
+
+#: ../src/layout_util.c:1687
+#, fuzzy, c-format
+msgid "Intersection with mark %d"
+msgstr "_Prienik so znaÄkou %d"
+
+#: ../src/layout_util.c:1688 ../src/view_file.c:546
 #, c-format
 msgid "_Unselect mark %d"
-msgstr ""
-
-# src/preferences.c:603
-#: src/layout_util.c:1547
-msgid "Show thumbnails"
-msgstr "Zobrazi» miniatúry"
-
-# src/menu.c:1075
-#: src/layout_util.c:1552
-msgid "Change to home folder"
-msgstr "Návrat do domovského prieèinka"
-
-# src/menu.c:1077
-#: src/layout_util.c:1554
-msgid "Refresh file list"
-msgstr "Obnovi» zoznam súborov"
-
-# src/img-view.c:789 src/menu.c:944 src/menu.c:1079
-#: src/layout_util.c:1556
-msgid "Zoom in"
-msgstr "Priblí¾i»"
-
-# src/img-view.c:790 src/menu.c:945 src/menu.c:1081
-#: src/layout_util.c:1558
-msgid "Zoom out"
-msgstr "Oddiali»"
-
-# src/img-view.c:792 src/menu.c:947 src/menu.c:1083 src/preferences.c:716
-#: src/layout_util.c:1560 src/preferences.c:978
-msgid "Fit image to window"
-msgstr "Prispôsobi» obrázok do okna"
-
-# src/menu.c:1085
-#: src/layout_util.c:1562
-msgid "Set zoom 1:1"
-msgstr "Nastavi» zobrazenie 1:1"
-
-# src/menu.c:1087
-#: src/layout_util.c:1564
-msgid "Configure options"
-msgstr "Konfigurova» voµby"
-
-# src/preferences.c:401
-#: src/layout_util.c:1565
-msgid "_Float"
-msgstr "P_lávajúce"
-
-# src/menu.c:1089
-#: src/layout_util.c:1566
-msgid "Float Controls"
-msgstr "Plávajúce ovládanie"
+msgstr "_OdznaÄiÅ¥ znaÄku %d"
+
+#: ../src/layout_util.c:1688
+#, fuzzy, c-format
+msgid "Unselect mark %d"
+msgstr "_OdznaÄiÅ¥ znaÄku %d"
+
+#: ../src/layout_util.c:1689
+#, fuzzy, c-format
+msgid "_Filter mark %d"
+msgstr "_NastaviÅ¥ znaÄku %d"
+
+#: ../src/layout_util.c:1689
+#, fuzzy, c-format
+msgid "Filter mark %d"
+msgstr "_NastaviÅ¥ znaÄku %d"
+
+#: ../src/layout_util.c:2217
+#, c-format
+msgid "Number of files with unsaved metadata: %d"
+msgstr ""
+
+#: ../src/layout_util.c:2223
+msgid "No unsaved metadata"
+msgstr ""
+
+#: ../src/layout_util.c:2270
+#, c-format
+msgid ""
+"Image profile: %s\n"
+"Screen profile: %s"
+msgstr ""
+
+#: ../src/layout_util.c:2278
+msgid "Click to enable color management"
+msgstr ""
+
+#: ../src/layout_util.c:2283
+msgid "Color profiles not supported"
+msgstr "Farebné profily nie sú podporované"
+
+#: ../src/layout_util.c:2305
+#, fuzzy, c-format
+msgid "Input _%d: %s"
+msgstr "Vstup _%d:"
 
 #. something went badly wrong
-#: src/lirc.c:184
+#: ../src/lirc.c:197
 #, c-format
 msgid "disconnected from LIRC\n"
-msgstr ""
-
-#: src/lirc.c:199
-#, fuzzy, c-format
+msgstr "Odpojené od LIRC\n"
+
+#: ../src/lirc.c:212
+#, c-format
 msgid "Could not init LIRC support\n"
-msgstr "Prieèinok nie je podporovaný"
-
-#: src/lirc.c:206
+msgstr "Nepodarilo sa spustiť podporu LIRC\n"
+
+#: ../src/lirc.c:219
 #, c-format
 msgid ""
 "could not read LIRC config file\n"
 "please read the documentation of LIRC to \n"
 "know how to create a proper config file\n"
 msgstr ""
+"nepodarilo sa otvoriÅ¥ konfiguraÄný súbor LIRC\n"
+"prosím preÄítajte si dokumentáciu LIRC,\n"
+"aby ste vedeli vytvoriÅ¥ správny konfiguraÄný súbor\n"
+
+#: ../src/logwindow.c:76
+msgid "Log"
+msgstr ""
 
 # src/main.c:457
-#: src/main.c:391
-#, fuzzy, c-format
+#: ../src/main.c:321
+#, c-format
 msgid ""
 "Usage: %s [options] [path]\n"
 "\n"
 msgstr ""
-"Pou¾itie: gqview [parametre] [cesta]\n"
+"Použitie: %s [parametre] [cesta]\n"
 "\n"
 
 # src/main.c:458
-#: src/main.c:392
+#: ../src/main.c:322
 msgid "valid options are:\n"
-msgstr "mo¾né parametre sú:\n"
+msgstr "možné parametre sú:\n"
 
 # src/main.c:459
-#: src/main.c:393
+#: ../src/main.c:323
 msgid "  +t, --with-tools           force show of tools\n"
-msgstr "  +t, --with-tools           vynúti» zobrazenie nástrojov\n"
+msgstr "  +t, --with-tools           vynútiť zobrazenie nástrojov\n"
 
 # src/main.c:460
-#: src/main.c:394
+#: ../src/main.c:324
 msgid "  -t, --without-tools        force hide of tools\n"
-msgstr "  -t, --without-tools         vynúti» skrytie nástrojov\n"
+msgstr "  -t, --without-tools         vynútiť skrytie nástrojov\n"
 
 # src/main.c:461
-#: src/main.c:395
+#: ../src/main.c:325
 msgid "  -f, --fullscreen           start in full screen mode\n"
-msgstr "  -f, --fullscreen           ¹tart v celoobrazovkovom móde\n"
+msgstr "  -f, --fullscreen           štart v celoobrazovkovom móde\n"
 
 # src/main.c:462
-#: src/main.c:396
+#: ../src/main.c:326
 msgid "  -s, --slideshow            start in slideshow mode\n"
-msgstr "  -s, --slideshow            ¹tart v prezentaènom móde\n"
+msgstr "  -s, --slideshow            Å¡tart v prezentaÄnom móde\n"
 
 # src/main.c:463
-#: src/main.c:397
+#: ../src/main.c:327
 msgid "  -l, --list                 open collection window for command line\n"
 msgstr ""
-"  -l, --list                 otvori» okno so zbierkou pre príkazový riadok\n"
-
-#: src/main.c:398
+"  -l, --list                 otvoriť okno so zbierkou pre príkazový riadok\n"
+
+#: ../src/main.c:328
 msgid "      --geometry=GEOMETRY    set main window location\n"
-msgstr ""
+msgstr "      --geometry=GEOMETRY    nastaviť umiestnenie hlavného okna\n"
 
 # src/main.c:463
-#: src/main.c:399
+#: ../src/main.c:329
 msgid "  -r, --remote               send following commands to open window\n"
 msgstr ""
-"  -r, --remote              odosla» nasledujúce príkazy do otvoreného okna\n"
-"  -l, --list                 otvori» okno so zbierkou pre príkazový riadok\n"
-
-#: src/main.c:400
+"  -r, --remote              odoslať nasledujúce príkazy do otvoreného okna\n"
+"  -l, --list                 otvoriť okno so zbierkou pre príkazový riadok\n"
+
+#: ../src/main.c:330
 msgid "  -rh,--remote-help          print remote command list\n"
-msgstr "  -rh,--remote-help         zobrazi» zoznam vzdialených príkazov\n"
+msgstr "  -rh,--remote-help         zobraziť zoznam vzdialených príkazov\n"
 
 # src/main.c:464
-#: src/main.c:402
-#, fuzzy
+#: ../src/main.c:332
 msgid "  --debug[=level]            turn on debug output\n"
-msgstr "  --debug                    zapnú» ladiaci výstup\n"
+msgstr "  --debug                    zapnúť ladiaci výstup\n"
 
 # src/main.c:465
-#: src/main.c:404
+#: ../src/main.c:334
 msgid "  -v, --version              print version info\n"
-msgstr "  -v, --version              vypísa» verziu programu\n"
+msgstr "  -v, --version              vypísať verziu programu\n"
 
 # src/main.c:466
-#: src/main.c:405
+#: ../src/main.c:335
 msgid ""
 "  -h, --help                 show this message\n"
 "\n"
 msgstr ""
-"  -h, --help                 zobrazí túto správu\n"
+"  -h, --help                 zobrazí túto správu\n"
 "\n"
 
 # src/main.c:471
-#: src/main.c:417
+#: ../src/main.c:347
 #, c-format
 msgid ""
 "invalid or ignored: %s\n"
 "Use --help for options\n"
 msgstr ""
-"chybný alebo ignorovaný: %s\n"
-"Pou¾i --help pre parametre\n"
+"chybný alebo ignorovaný: %s\n"
+"Použi --help pre parametre\n"
 
 # src/main.c:471
-#: src/main.c:445
-#, fuzzy
+#: ../src/main.c:376
 msgid "Invalid or ignored remote options: "
-msgstr ""
-"chybný alebo ignorovaný: %s\n"
-"Pou¾i --help pre parametre\n"
-
-#: src/main.c:454
+msgstr "Chybné alebo ignorované vzdialené možnosti:"
+
+#: ../src/main.c:385
 msgid ""
 "\n"
 "Use --remote-help for valid remote options.\n"
 msgstr ""
+"\n"
+"Správne vzdialené možnosti získate pomocou --remote-help.\n"
 
 # src/main.c:533
-#: src/main.c:539
-#, fuzzy, c-format
+#: ../src/main.c:487
+#, c-format
 msgid "Creating %s dir:%s\n"
-msgstr "Vytváram Geeqie adresár:%s\n"
+msgstr "Vytváram %s adresár:%s\n"
 
 # src/main.c:536
-#: src/main.c:543
+#: ../src/main.c:491
 #, c-format
 msgid "Could not create dir:%s\n"
-msgstr "Nemô¾em vytvori» adresár:%s\n"
-
-# src/ui_pathsel.c:754
-#: src/main.c:562 src/ui_bookmark.c:856 src/ui_pathsel.c:1051
-msgid "Home"
-msgstr "Domov"
-
-# src/utilops.c:989
-#: src/main.c:564 src/ui_bookmark.c:863
-msgid "Desktop"
-msgstr "Plocha"
+msgstr "Nemôžem vytvoriť adresár:%s\n"
+
+# src/rcfile.c:132
+#: ../src/main.c:543
+#, fuzzy, c-format
+msgid "error saving file: %s\n"
+msgstr "chyba pri ukladaní konfiguraÄného súboru: %s\n"
+
+# src/rcfile.c:132
+#: ../src/main.c:562
+#, fuzzy, c-format
+msgid ""
+"error saving file: %s\n"
+"error: %s\n"
+msgstr ""
+"chyba pri ukladaní konfiguraÄného súboru: %s\n"
+"chyba: %s\n"
 
 # src/main.c:622
-#: src/main.c:680
-#, fuzzy
+#: ../src/main.c:670
 msgid "exit"
-msgstr "Koniec"
+msgstr "koniec"
 
 # src/preferences.c:684
-#: src/main.c:685
-#, fuzzy, c-format
+#: ../src/main.c:675
+#, c-format
 msgid "Quit %s"
-msgstr "Skonèi»"
+msgstr "SkonÄiÅ¥ %s"
 
 # src/main.c:619
-#: src/main.c:687
+#: ../src/main.c:677
 msgid "Collections have been modified. Quit anyway?"
-msgstr "Zbierky boli zmenené. Naozaj skonèi»?"
+msgstr "Zbierky boli zmenené. Naozaj skonÄiÅ¥?"
 
 # src/main.c:743
-#: src/main.c:836 src/remote.c:536
+#: ../src/main.c:878 ../src/remote.c:601
 msgid "Command line"
-msgstr "Príkazový riadok"
+msgstr "Príkazový riadok"
 
 # src/menu.c:510
-#: src/menu.c:117
+#: ../src/menu.c:133
 msgid "Sort by size"
-msgstr "Usporiada» podµa veµkosti"
+msgstr "Usporiadať podľa veľkosti"
+
+# src/menu.c:513
+#: ../src/menu.c:136
+msgid "Sort by date"
+msgstr "Usporiadať podľa dátumu"
 
 # src/menu.c:513
-#: src/menu.c:120
-msgid "Sort by date"
-msgstr "Usporiada» podµa dátumu"
+#: ../src/menu.c:139
+#, fuzzy
+msgid "Sort by Exif-date"
+msgstr "Usporiadať podľa E_xif dátumu"
 
 # src/menu.c:516
-#: src/menu.c:123
+#: ../src/menu.c:142
 msgid "Unsorted"
-msgstr "Neusporiadané"
+msgstr "Neusporiadané"
 
 # src/menu.c:519
-#: src/menu.c:126
+#: ../src/menu.c:145
 msgid "Sort by path"
-msgstr "Usporiada» podµa cesty"
+msgstr "Usporiadať podľa cesty"
 
 # src/menu.c:522
-#: src/menu.c:129
+#: ../src/menu.c:148
 msgid "Sort by number"
-msgstr "Usporiada» podµa èísla"
+msgstr "UsporiadaÅ¥ podľa Äísla"
 
 # src/menu.c:526
-#: src/menu.c:133
+#: ../src/menu.c:152
 msgid "Sort by name"
-msgstr "Usporiada» podµa mena"
+msgstr "Usporiadať podľa mena"
 
 # src/menu.c:559
-#: src/menu.c:184
+#: ../src/menu.c:203
 msgid "Sort"
-msgstr "Usporiada»"
+msgstr "Usporiadať"
 
 # src/menu.c:578
-#: src/menu.c:209
+#: ../src/menu.c:228
 msgid "Rotate _180"
-msgstr "Rotova» _180"
+msgstr "OtoÄiÅ¥ _180"
+
+#: ../src/metadata.c:1463
+msgid "People"
+msgstr "Ľudia"
+
+#: ../src/metadata.c:1464
+msgid "Family"
+msgstr ""
+
+#: ../src/metadata.c:1465
+msgid "Free time"
+msgstr ""
+
+#: ../src/metadata.c:1466
+msgid "Children"
+msgstr ""
+
+#: ../src/metadata.c:1467
+#, fuzzy
+msgid "Sport"
+msgstr "na výšku"
+
+#: ../src/metadata.c:1468
+#, fuzzy
+msgid "Culture"
+msgstr "Príroda"
+
+#: ../src/metadata.c:1469
+msgid "Festival"
+msgstr ""
+
+#: ../src/metadata.c:1470
+msgid "Nature"
+msgstr "Príroda"
+
+#: ../src/metadata.c:1471
+msgid "Animal"
+msgstr ""
+
+#: ../src/metadata.c:1472
+msgid "Bird"
+msgstr ""
+
+#: ../src/metadata.c:1473
+msgid "Insect"
+msgstr ""
+
+#: ../src/metadata.c:1474
+msgid "Pets"
+msgstr ""
+
+#: ../src/metadata.c:1475
+msgid "Wildlife"
+msgstr ""
+
+# src/img-view.c:789 src/menu.c:944 src/menu.c:1079
+#: ../src/metadata.c:1476
+#, fuzzy
+msgid "Zoo"
+msgstr "Lupa"
+
+#: ../src/metadata.c:1477
+msgid "Plant"
+msgstr ""
+
+# src/menu.c:768
+#: ../src/metadata.c:1478
+#, fuzzy
+msgid "Tree"
+msgstr "_Strom"
+
+#: ../src/metadata.c:1479
+msgid "Flower"
+msgstr ""
+
+#: ../src/metadata.c:1480
+msgid "Water"
+msgstr ""
+
+#: ../src/metadata.c:1481
+msgid "River"
+msgstr ""
+
+#: ../src/metadata.c:1482
+msgid "Lake"
+msgstr ""
+
+# src/dupe.c:871 src/dupe.c:892
+#: ../src/metadata.c:1483
+#, fuzzy
+msgid "Sea"
+msgstr "Hľadanie:"
+
+#: ../src/metadata.c:1484 ../src/print.c:375
+msgid "Landscape"
+msgstr "Na šírku"
+
+#: ../src/metadata.c:1485
+msgid "Art"
+msgstr "Umenie"
+
+#: ../src/metadata.c:1486
+#, fuzzy
+msgid "Statue"
+msgstr "Stav"
+
+# src/ui_pathsel.c:799
+#: ../src/metadata.c:1487
+#, fuzzy
+msgid "Painting"
+msgstr "Chyba pri tlaÄi"
+
+#: ../src/metadata.c:1488 ../src/metadata.c:1502
+msgid "Historic"
+msgstr ""
+
+#: ../src/metadata.c:1489 ../src/metadata.c:1503
+msgid "Modern"
+msgstr ""
+
+#: ../src/metadata.c:1490
+msgid "City"
+msgstr ""
+
+#: ../src/metadata.c:1491
+msgid "Park"
+msgstr ""
+
+#: ../src/metadata.c:1492
+msgid "Street"
+msgstr ""
+
+#: ../src/metadata.c:1493
+msgid "Square"
+msgstr ""
+
+#: ../src/metadata.c:1494
+#, fuzzy
+msgid "Architecture"
+msgstr "Clona"
+
+#: ../src/metadata.c:1495
+msgid "Buildings"
+msgstr ""
+
+#: ../src/metadata.c:1496
+msgid "House"
+msgstr ""
+
+#: ../src/metadata.c:1497
+msgid "Cathedral"
+msgstr ""
+
+#: ../src/metadata.c:1498
+#, fuzzy
+msgid "Palace"
+msgstr "Miesta"
+
+#: ../src/metadata.c:1499
+msgid "Castle"
+msgstr ""
+
+#: ../src/metadata.c:1500
+msgid "Bridge"
+msgstr ""
+
+#: ../src/metadata.c:1501
+msgid "Interior"
+msgstr ""
+
+#: ../src/metadata.c:1504
+msgid "Places"
+msgstr "Miesta"
+
+# src/preferences.c:897
+#: ../src/metadata.c:1505
+#, fuzzy
+msgid "Conditions"
+msgstr "Zbierky"
+
+#: ../src/metadata.c:1506
+#, fuzzy
+msgid "Night"
+msgstr "Výška"
+
+#: ../src/metadata.c:1507
+#, fuzzy
+msgid "Lights"
+msgstr "Zdroj svetla"
+
+# src/collect-table.c:628 src/dupe.c:1393 src/dupe.c:1565
+#: ../src/metadata.c:1508
+#, fuzzy
+msgid "Reflections"
+msgstr "Výber"
+
+#: ../src/metadata.c:1509
+msgid "Sun"
+msgstr ""
+
+#: ../src/metadata.c:1510
+#, fuzzy
+msgid "Weather"
+msgstr "iné"
+
+#: ../src/metadata.c:1511
+msgid "Fog"
+msgstr ""
+
+#: ../src/metadata.c:1512
+msgid "Rain"
+msgstr ""
+
+#: ../src/metadata.c:1513
+msgid "Clouds"
+msgstr ""
+
+#: ../src/metadata.c:1514
+msgid "Snow"
+msgstr ""
+
+#: ../src/metadata.c:1515
+#, fuzzy
+msgid "Sunny weather"
+msgstr "oblaÄno"
+
+#: ../src/metadata.c:1516
+#, fuzzy
+msgid "Photo"
+msgstr "Fotka 6x4"
+
+# src/menu.c:492
+#: ../src/metadata.c:1517
+#, fuzzy
+msgid "Edited"
+msgstr "Editovať"
+
+#: ../src/metadata.c:1518
+#, fuzzy
+msgid "Detail"
+msgstr "Podrobnosti"
+
+#: ../src/metadata.c:1519
+#, fuzzy
+msgid "Macro"
+msgstr "makro"
+
+#: ../src/metadata.c:1520 ../src/print.c:374
+msgid "Portrait"
+msgstr "Na výšku"
+
+#: ../src/metadata.c:1521
+msgid "Black and White"
+msgstr ""
+
+# src/utilops.c:1216
+#: ../src/metadata.c:1522
+#, fuzzy
+msgid "Perspective"
+msgstr "tvorivý"
+
+# src/utilops.c:989
+#: ../src/options.c:139 ../src/ui_bookmark.c:555
+msgid "Desktop"
+msgstr "Plocha"
 
 # src/collect-table.c:86
-#: src/pan-view.c:470
+#: ../src/pan-view.c:472
 #, c-format
 msgid "%d images, %s"
-msgstr "%d obrázkov, %s"
-
-#: src/pan-view.c:480
+msgstr "%d obrázkov, %s"
+
+#: ../src/pan-view.c:482
 #, c-format
 msgid "The pan view does not support the folder \"%s\"."
-msgstr "Roz¹írený pohµad nepodporuje prieèinok \"%s\"."
-
-#: src/pan-view.c:481
+msgstr "Rozšírený pohľad nepodporuje prieÄinok \"%s\"."
+
+#: ../src/pan-view.c:483
 msgid "Folder not supported"
-msgstr "Prieèinok nie je podporovaný"
+msgstr "PrieÄinok nie je podporovaný"
 
 # src/dupe.c:841
-#: src/pan-view.c:1083 src/pan-view.c:1099
+#: ../src/pan-view.c:1084 ../src/pan-view.c:1100
 msgid "Reading image data..."
-msgstr "Naèítavam dáta obrázku..."
+msgstr "NaÄítavam dáta obrázku..."
 
 # src/dupe.c:871 src/dupe.c:892
-#: src/pan-view.c:1158
+#: ../src/pan-view.c:1159
 msgid "Sorting images..."
-msgstr "Triedim obrázky..."
-
-# src/dupe.c:1654 src/dupe.c:1943
-#: src/pan-view.c:1546 src/pan-view.c:1912
-msgid "Date:"
-msgstr "Dátum:"
-
-# src/preferences.c:595
-#: src/pan-view.c:1548 src/preferences.c:887 src/print.c:3245 src/print.c:3456
-msgid "Size:"
-msgstr "Rozmer:"
-
-#: src/pan-view.c:1650
-msgid "path found"
-msgstr "nájdená cesta"
+msgstr "Triedim obrázky..."
 
 # src/utilops.c:980
-#: src/pan-view.c:1650
+#: ../src/pan-view.c:1552 ../src/print.c:2613
+msgid "Filename:"
+msgstr "Názov súboru:"
+
+#: ../src/pan-view.c:1554 ../src/pan-view.c:2406 ../src/preferences.c:1433
+msgid "Location:"
+msgstr "Umiestnenie:"
+
+# src/dupe.c:1654 src/dupe.c:1943
+#: ../src/pan-view.c:1556 ../src/pan-view.c:1922
+msgid "Date:"
+msgstr "Dátum:"
+
+# src/preferences.c:595
+#: ../src/pan-view.c:1558 ../src/preferences.c:1251 ../src/print.c:3226
+#: ../src/print.c:3437
+msgid "Size:"
+msgstr "Rozmer:"
+
+#: ../src/pan-view.c:1660
+msgid "path found"
+msgstr "nájdená cesta"
+
+# src/utilops.c:980
+#: ../src/pan-view.c:1660
 msgid "filename found"
-msgstr "nájdený súbor"
-
-#: src/pan-view.c:1698
+msgstr "nájdený súbor"
+
+#: ../src/pan-view.c:1708
 msgid "partial match"
-msgstr "èiastoèná zhoda"
-
-#: src/pan-view.c:1909 src/pan-view.c:1942
+msgstr "ÄiastoÄná zhoda"
+
+#: ../src/pan-view.c:1919 ../src/pan-view.c:1952
 msgid "no match"
-msgstr "¾iadna zhoda"
-
-#: src/pan-view.c:2268 src/search.c:2150
+msgstr "žiadna zhoda"
+
+#: ../src/pan-view.c:2294 ../src/search.c:2219
 msgid "Folder not found"
-msgstr "Prieèinok sa nena¹iel"
-
-#: src/pan-view.c:2269
+msgstr "PrieÄinok sa nenaÅ¡iel"
+
+#: ../src/pan-view.c:2295
 msgid "The entered path is not a folder"
-msgstr "Zadaná cesta nie je prieèinok"
-
-#: src/pan-view.c:2368
-#, fuzzy
+msgstr "Zadaná cesta nie je prieÄinok"
+
+#: ../src/pan-view.c:2390
 msgid "Pan View"
-msgstr "Roz¹írený pohµad"
+msgstr "Rozšírený pohľad"
 
 # src/preferences.c:369
-#: src/pan-view.c:2393
-#, fuzzy
+#: ../src/pan-view.c:2415
 msgid "Timeline"
-msgstr "Bilineárne"
+msgstr "Harmonogram"
 
 # src/dupe.c:1412 src/dupe.c:1570
-#: src/pan-view.c:2394
+#: ../src/pan-view.c:2416
 msgid "Calendar"
-msgstr "Kalendár"
+msgstr "Kalendár"
 
 # src/preferences.c:368
-#: src/pan-view.c:2396
+#: ../src/pan-view.c:2418
 msgid "Folders (flower)"
-msgstr "Prieèinky (kvet)"
-
-#: src/pan-view.c:2397
+msgstr "PrieÄinky (kvet)"
+
+#: ../src/pan-view.c:2419
 msgid "Grid"
-msgstr "Mrie¾ka"
+msgstr "Mriežka"
 
 # src/main.c:561
-#: src/pan-view.c:2406
+#: ../src/pan-view.c:2428
 msgid "Dots"
 msgstr "Bodky"
 
 # src/preferences.c:676
-#: src/pan-view.c:2407
+#: ../src/pan-view.c:2429
 msgid "No Images"
-msgstr "®iadne obrázky"
+msgstr "Žiadne obrázky"
 
 # src/dupe.c:2054 src/preferences.c:586
-#: src/pan-view.c:2408
+#: ../src/pan-view.c:2430
 msgid "Small Thumbnails"
-msgstr "Malé miniatúry"
+msgstr "Malé náhľady"
 
 # src/dupe.c:2054 src/preferences.c:586
-#: src/pan-view.c:2409
+#: ../src/pan-view.c:2431
 msgid "Normal Thumbnails"
-msgstr "Normálne miniatúry"
+msgstr "Normálne náhľady"
 
 # src/cache_maint.c:252
-#: src/pan-view.c:2410
+#: ../src/pan-view.c:2432
 msgid "Large Thumbnails"
-msgstr "Veµké miniatúry"
-
-#: src/pan-view.c:2411 src/pan-view.c:2863
+msgstr "Veľké náhľady"
+
+#: ../src/pan-view.c:2433 ../src/pan-view.c:2893
 msgid "1:10 (10%)"
 msgstr "1:10 (10%)"
 
-#: src/pan-view.c:2412 src/pan-view.c:2859
+#: ../src/pan-view.c:2434 ../src/pan-view.c:2889
 msgid "1:4 (25%)"
 msgstr "1:4 (25%)"
 
-#: src/pan-view.c:2413 src/pan-view.c:2855
+#: ../src/pan-view.c:2435 ../src/pan-view.c:2885
 msgid "1:3 (33%)"
 msgstr "1:3 (33%)"
 
-#: src/pan-view.c:2414 src/pan-view.c:2851
+#: ../src/pan-view.c:2436 ../src/pan-view.c:2881
 msgid "1:2 (50%)"
 msgstr "1:2 (50%)"
 
-#: src/pan-view.c:2415
+#: ../src/pan-view.c:2437
 msgid "1:1 (100%)"
 msgstr "1:1 (100%)"
 
 # src/ui_pathsel.c:799
-#: src/pan-view.c:2463
+#: ../src/pan-view.c:2485
 msgid "Find:"
-msgstr "Hµada»:"
+msgstr "Hľadať:"
 
 # src/menu.c:765
-#: src/pan-view.c:2506
+#: ../src/pan-view.c:2528
 msgid "Use Exif date"
-msgstr "Pou¾i» Exif dátum"
-
-#: src/pan-view.c:2519
+msgstr "Použiť Exif dátum"
+
+#: ../src/pan-view.c:2541
 msgid "Find"
-msgstr "Hµada»"
-
-#: src/pan-view.c:2586
+msgstr "Hľadať"
+
+#: ../src/pan-view.c:2608
 msgid "Pan View Performance"
-msgstr "Výkon roz¹íreného pohµadu"
-
-#: src/pan-view.c:2593
+msgstr "Výkon rozšíreného pohľadu"
+
+#: ../src/pan-view.c:2615
 msgid "Pan view performance may be poor."
-msgstr "Výkon roz¹íreného pohµadu mô¾e by» chabý."
-
-#: src/pan-view.c:2594
+msgstr "Výkon rozšíreného pohľadu môže byť chabý."
+
+#: ../src/pan-view.c:2616
 msgid ""
 "To improve performance of thumbnails in the pan view the following options "
 "can be enabled. Note that both options must be enabled to notice a change in "
 "performance."
 msgstr ""
-"Pre zlep¹enie výkonu miniatúr v roz¹írenom pohµade mô¾u by» pou¾ité "
-"nasledujúce voµby. Upozornenie: obidvoje voµby musia by» zapnuté, ak chcete "
-"pocíti» zmenu vo výkone."
+"Nasledujúce voľby slúžia na zlepšenie výkonu miniatúr v rozšírenom pohľade. "
+"Upozornenie: obidve voľby musia byť zapnuté, ak chcete pocítiť zmenu vo "
+"výkone."
 
 # src/preferences.c:603
-#: src/pan-view.c:2602 src/preferences.c:890
+#: ../src/pan-view.c:2624 ../src/preferences.c:1254
 msgid "Cache thumbnails"
-msgstr "Ke¹ova» miniatúry"
-
-#: src/pan-view.c:2604 src/preferences.c:896
+msgstr "Kešovať náhľady"
+
+#: ../src/pan-view.c:2626
 msgid "Use shared thumbnail cache"
-msgstr "Pou¾i» zdieµanú vyrovnávaciu pamä» pre miniatúry"
-
-#: src/pan-view.c:2610
+msgstr "Použiť zdieľanú vyrovnávaciu pamäť pre náhľady"
+
+#: ../src/pan-view.c:2632
 msgid "Do not show this dialog again"
-msgstr "Tento dialóg u¾ nezobrazuj"
+msgstr "Tento dialóg už nezobrazuj"
 
 # src/menu.c:513
-#: src/pan-view.c:2831
+#: ../src/pan-view.c:2861
 msgid "Sort by E_xif date"
-msgstr "Usporiada» podµa Exif dátumu"
-
-#: src/pan-view.c:2837
+msgstr "Usporiadať podľa E_xif dátumu"
+
+#: ../src/pan-view.c:2867
 msgid "_Show Exif information"
-msgstr ""
+msgstr "_Zobraziť Exif informácie"
 
 # src/ui_pathsel.c:764
-#: src/pan-view.c:2839
-#, fuzzy
+#: ../src/pan-view.c:2869
 msgid "Show im_age"
-msgstr "Ukáza» skryté"
+msgstr "Zobraziť _obrázok"
 
 # src/preferences.c:400
-#: src/pan-view.c:2843
-#, fuzzy
+#: ../src/pan-view.c:2873
 msgid "_None"
-msgstr "®iadna"
+msgstr "Žiad_na"
 
 # src/preferences.c:368
-#: src/pan-view.c:2847
-#, fuzzy
+#: ../src/pan-view.c:2877
 msgid "_Full size"
-msgstr "Úplná veµkos»"
-
-#. note: the order is important, it must match the values of
-#. * EXIF_UI_OFF, _IFSET, _ON
-#: src/preferences.c:402
-msgid "Never"
-msgstr ""
-
-#: src/preferences.c:403
-msgid "If set"
-msgstr ""
-
-#: src/preferences.c:404
-msgid "Always"
-msgstr ""
+msgstr "_Plná veľkosť"
+
+# src/menu.c:432 src/menu.c:461
+#: ../src/preferences.c:90
+#, fuzzy
+msgid "Unknown"
+msgstr "neznáme"
+
+# src/preferences.c:676
+#: ../src/preferences.c:92
+#, fuzzy
+msgid "RAW Image"
+msgstr "Obrázok"
 
 # src/preferences.c:367
-#: src/preferences.c:451
+#: ../src/preferences.c:418
 msgid "Nearest (worst, but fastest)"
-msgstr "Najbli¾¹ie (najhor¹ie, ale narýchlej¹ie)"
+msgstr "Najbližšie (najhoršia, ale narýchlejšia)"
 
 # src/preferences.c:368
-#: src/preferences.c:453
+#: ../src/preferences.c:420
 msgid "Tiles"
-msgstr "Dla¾dice"
+msgstr "Dlaždice"
 
 # src/preferences.c:369
-#: src/preferences.c:455
+#: ../src/preferences.c:422
 msgid "Bilinear"
-msgstr "Bilineárne"
+msgstr "Bilineárne"
 
 # src/preferences.c:370
-#: src/preferences.c:457
+#: ../src/preferences.c:424
 msgid "Hyper (best, but slowest)"
-msgstr "Hyper (najlep¹ie, ale najpomal¹ie)"
+msgstr "Hyper (najlepšia, ale najpomalšia)"
 
 # src/preferences.c:400
-#: src/preferences.c:485
+#: ../src/preferences.c:452
 msgid "None"
-msgstr "®iadna"
+msgstr "Žiadna"
 
 # src/preferences.c:401
-#: src/preferences.c:486
+#: ../src/preferences.c:453
 msgid "Normal"
-msgstr "Normálna"
+msgstr "Normálna"
 
 # src/preferences.c:402
-#: src/preferences.c:487
+#: ../src/preferences.c:454
 msgid "Best"
-msgstr "Najlep¹ia"
-
-#: src/preferences.c:548 src/print.c:372
+msgstr "Najlepšia"
+
+#: ../src/preferences.c:516 ../src/print.c:380
 msgid "Custom"
-msgstr "Pou¾ívateµské"
+msgstr "Používateľské"
 
 # src/utilops.c:707
-#: src/preferences.c:712 src/preferences.c:715
+#: ../src/preferences.c:815 ../src/preferences.c:818
 msgid "Reset filters"
-msgstr "Vynulova» filtre"
-
-#: src/preferences.c:716
+msgstr "Vynulovať filtre"
+
+#: ../src/preferences.c:819
 msgid ""
 "This will reset the file filters to the defaults.\n"
 "Continue?"
 msgstr ""
-"Chystám sa nastavi» filtre na prednastavené hodnoty.\n"
-"Pokraèova»?"
-
-# src/utilops.c:707
-#: src/preferences.c:750 src/preferences.c:753
-msgid "Reset editors"
-msgstr "Vynulova» editory"
-
-#: src/preferences.c:754
-msgid ""
-"This will reset the edit commands to the defaults.\n"
-"Continue?"
-msgstr ""
-"Chystám sa nastavi» príkazy na úpravu na prednastavené hodnoty.\n"
-"Pokraèova»?"
+"Chystám sa nastaviť filtre na predvolené hodnoty.\n"
+"PokraÄovaÅ¥?"
 
 # src/preferences.c:163 src/preferences.c:604
-#: src/preferences.c:778 src/preferences.c:781
+#: ../src/preferences.c:846 ../src/preferences.c:849
 msgid "Clear trash"
-msgstr "Vyèisti» kô¹"
-
-#: src/preferences.c:782
+msgstr "VyÄistiÅ¥ kôš"
+
+#: ../src/preferences.c:850
 msgid "This will remove the trash contents."
-msgstr "Toto vyma¾e obsah ko¹a."
-
-#: src/preferences.c:826 src/preferences.c:829
+msgstr "Týmto sa odstráni obsah koša."
+
+#: ../src/preferences.c:894 ../src/preferences.c:897
 msgid "Reset image overlay template string"
-msgstr ""
-
-#: src/preferences.c:830
-#, fuzzy
+msgstr "Vynulovať reťazec šablóny prekrytia obrázku"
+
+#: ../src/preferences.c:898
 msgid ""
 "This will reset the image overlay template string to the default.\n"
 "Continue?"
 msgstr ""
-"Chystám sa nastavi» filtre na prednastavené hodnoty.\n"
-"Pokraèova»?"
-
-#: src/preferences.c:861
-msgid "Startup"
-msgstr "©tart"
-
-#: src/preferences.c:863
-msgid "Restore folder on startup"
-msgstr ""
-
-# src/preferences.c:581
-#: src/preferences.c:876
-msgid "Use current"
-msgstr "Pou¾i» aktuálny"
-
-# src/collect-table.c:627 src/dupe.c:1391 src/dupe.c:1563
-#: src/preferences.c:879
-#, fuzzy
-msgid "Use last path"
-msgstr "Vybra» cestu"
+"Chystám sa nastaviť reťazec šablóny prekrytia obrázkov na prednastavené "
+"hodnoty.\n"
+"PokraÄovaÅ¥?"
+
+# src/preferences.c:551
+#: ../src/preferences.c:1246
+msgid "General"
+msgstr "Hlavné"
 
 # src/preferences.c:597
-#: src/preferences.c:888 src/preferences.c:950
+#: ../src/preferences.c:1252 ../src/preferences.c:1325
 msgid "Quality:"
 msgstr "Kvalita:"
 
-# src/preferences.c:610
-#: src/preferences.c:902
-msgid "Cache thumbnails into .thumbnails"
-msgstr "Ke¹ova» miniatúry do .thumbnails"
+#: ../src/preferences.c:1260
+msgid "Use standard thumbnail cache, shared with other applications"
+msgstr ""
+
+#: ../src/preferences.c:1266
+msgid ""
+"Store thumbnails in '.thumbnails' folder, local to image folder (non-"
+"standard)"
+msgstr ""
 
 # src/preferences.c:613
-#: src/preferences.c:906
+#: ../src/preferences.c:1270
 msgid "Use xvpics thumbnails when found (read only)"
-msgstr "Pou¾i» xvpics miniatúry ak sú nájdené (iba na èítanie)"
-
-#: src/preferences.c:910
-msgid "Faster jpeg thumbnailing (may reduce quality)"
-msgstr "Rýchlej¹ie jpeg miniatúry (mô¾e zní¾i» kvalitu)"
+msgstr "PoužiÅ¥ xvpics náhľady ak sú k dispozícii (iba na Äítanie)"
+
+#: ../src/preferences.c:1274
+msgid "Use EXIF thumbnails when available (EXIF thumbnails may be outdated)"
+msgstr ""
 
 # src/preferences.c:615
-#: src/preferences.c:913
+#: ../src/preferences.c:1277
 msgid "Slide show"
-msgstr "Prezentácia"
+msgstr "Prezentácia"
 
 # src/preferences.c:628
-#: src/preferences.c:916
+#: ../src/preferences.c:1280
 msgid "Delay between image change:"
-msgstr "Oneskorenie pri zmene obrázku (v sekundách):"
-
-#: src/preferences.c:916
+msgstr "Oneskorenie pri zmene obrázku (v sekundách):"
+
+#: ../src/preferences.c:1280
 msgid "seconds"
-msgstr "sekúnd"
+msgstr "sekúnd"
 
 # src/preferences.c:645
-#: src/preferences.c:922
+#: ../src/preferences.c:1286
 msgid "Random"
-msgstr "Náhodne"
+msgstr "Náhodne"
 
 # src/preferences.c:647
-#: src/preferences.c:923
+#: ../src/preferences.c:1287
 msgid "Repeat"
 msgstr "Opakovane"
 
+#: ../src/preferences.c:1289
+msgid "Image loading and caching"
+msgstr "NaÄítavanie a keÅ¡ovanie obrázka"
+
+# src/preferences.c:735
+#: ../src/preferences.c:1292
+msgid "Offscreen cache size (Mb per image):"
+msgstr "Veľkosť mimoobrazovej vyrovnávacej pamäte (Mb na obrázok):"
+
+# src/preferences.c:735
+#: ../src/preferences.c:1296
+#, fuzzy
+msgid "Decoded image cache size (Mb):"
+msgstr "Veľkosť mimoobrazovej vyrovnávacej pamäte (Mb na obrázok):"
+
+# src/preferences.c:660
+#: ../src/preferences.c:1298
+msgid "Preload next image"
+msgstr "PredÄítaÅ¥ nasledujúci obrázok"
+
+# src/menu.c:1077
+#: ../src/preferences.c:1301
+msgid "Refresh on file change"
+msgstr "Obnoviť pri zmene súboru"
+
 # src/img-view.c:789 src/menu.c:944 src/menu.c:1079
-#: src/preferences.c:944
+#: ../src/preferences.c:1319
 msgid "Zoom"
 msgstr "Lupa"
 
 # src/preferences.c:693
-#: src/preferences.c:947
+#: ../src/preferences.c:1322
 msgid "Dithering method:"
-msgstr "Metóda vyhladzovania:"
-
-#: src/preferences.c:952
-msgid "Two pass zooming"
-msgstr "Dvojpriechodová zmena mierky"
+msgstr "Metóda vyhladzovania:"
+
+#: ../src/preferences.c:1327
+msgid "Two pass rendering (apply HQ zoom and color correction in second pass)"
+msgstr ""
 
 # src/preferences.c:729
-#: src/preferences.c:955
+#: ../src/preferences.c:1330
 msgid "Allow enlargement of image for zoom to fit"
-msgstr "Povoli» zväè¹enie obrázku pre prispôsobenie veµkosti"
+msgstr "PovoliÅ¥ zväÄÅ¡enie obrázku pre prispôsobenie veľkosti"
 
 # src/preferences.c:794
-#: src/preferences.c:959
-#, fuzzy
+#: ../src/preferences.c:1334
 msgid "Limit image size when autofitting (%):"
-msgstr "Obmedzi» rozmer ak sa okno automaticky prispôsobuje (%):"
+msgstr "Obmedziť veľkosť obrázka ak ho prispôsobujeme oknu (%):"
 
 # src/preferences.c:751
-#: src/preferences.c:967
+#: ../src/preferences.c:1342
 msgid "Zoom increment:"
-msgstr "Krok zväè¹enia/zmen¹enia:"
+msgstr "Krok zväÄÅ¡enia/zmenÅ¡enia:"
 
 # src/preferences.c:700
-#: src/preferences.c:972
+#: ../src/preferences.c:1347
 msgid "When new image is selected:"
-msgstr "Keï je zvolený nový obrázok:"
+msgstr "KeÄ je vybraný nový obrázok:"
 
 # src/preferences.c:710
-#: src/preferences.c:975
+#: ../src/preferences.c:1351
 msgid "Zoom to original size"
-msgstr "Mierka na originálny rozmer"
+msgstr "Nastaviť mierku na originálny rozmer"
+
+# src/img-view.c:792 src/menu.c:947 src/menu.c:1083 src/preferences.c:716
+#: ../src/preferences.c:1354
+msgid "Fit image to window"
+msgstr "Prispôsobiť obrázok oknu"
 
 # src/preferences.c:722
-#: src/preferences.c:981
+#: ../src/preferences.c:1357
 msgid "Leave Zoom at previous setting"
-msgstr "Ponecha» mierku na predchádajúcom nastavení"
+msgstr "Ponechať mierku na predchádzajúcom nastavení"
+
+#: ../src/preferences.c:1363
+msgid "Scroll to top left corner"
+msgstr ""
+
+#: ../src/preferences.c:1366
+msgid "Scroll to image center"
+msgstr ""
+
+#: ../src/preferences.c:1369
+msgid "Keep the region from previous image"
+msgstr ""
 
 # src/collect-dlg.c:182
-#: src/preferences.c:985
+#: ../src/preferences.c:1374
 msgid "Appearance"
-msgstr "Vzhµad"
+msgstr "Vzhľad"
 
 # src/preferences.c:875
-#: src/preferences.c:987
-#, fuzzy
-msgid "Custom border color"
-msgstr "Pou¾ívateµom definovaná tlaèiareò"
-
-#: src/preferences.c:990
-#, fuzzy
+#: ../src/preferences.c:1376
+#, fuzzy
+msgid "Use custom border color in window mode"
+msgstr "Používateľská farba pozadia"
+
+#: ../src/preferences.c:1379
+msgid "Use custom border color in fullscreen mode"
+msgstr ""
+
+#: ../src/preferences.c:1382
 msgid "Border color"
-msgstr "Èierne pozadie"
+msgstr "Farba pozadia"
 
 # src/utilops.c:328 src/utilops.c:394 src/utilops.c:668
-#: src/preferences.c:993
+#: ../src/preferences.c:1385
 msgid "Convenience"
 msgstr "Pohodlie"
 
-# src/menu.c:1077
-#: src/preferences.c:995
-msgid "Refresh on file change"
-msgstr "Obnovi» pri zmene súboru"
-
-# src/preferences.c:660
-#: src/preferences.c:997
-msgid "Preload next image"
-msgstr "Predèíta» nasledujúci obrázok"
-
-#: src/preferences.c:999
+#: ../src/preferences.c:1387
 msgid "Auto rotate image using Exif information"
-msgstr "Automaticky rotova» obrázok podµa Exif informácií"
+msgstr "Automaticky otoÄiÅ¥ obrázok podľa Exif informácií"
+
+#: ../src/preferences.c:1390
+#, fuzzy
+msgid "Auto rotate proofs using Exif information"
+msgstr "Automaticky otoÄiÅ¥ obrázok podľa Exif informácií"
 
 # src/preferences.c:773
-#: src/preferences.c:1016
+#: ../src/preferences.c:1407
 msgid "Windows"
-msgstr "Okná"
-
-#: src/preferences.c:1019
+msgstr "Okná"
+
+#: ../src/preferences.c:1409
 msgid "State"
 msgstr "Stav"
 
 # src/preferences.c:782
-#: src/preferences.c:1021
+#: ../src/preferences.c:1411
 msgid "Remember window positions"
-msgstr "Pamäta» si pozície okien"
+msgstr "Pamätať si pozície okien"
 
 # src/preferences.c:784
-#: src/preferences.c:1023
+#: ../src/preferences.c:1413
 msgid "Remember tool state (float/hidden)"
-msgstr "Pamäta» si stav nástrojov (plávajúce/skryté)"
+msgstr "Pamätať si stav nástrojov (plávajúce/skryté)"
 
 # src/preferences.c:787
-#: src/preferences.c:1028
+#: ../src/preferences.c:1418
 msgid "Fit window to image when tools are hidden/floating"
-msgstr "Prispôsobi» okno na veµkos» obrázku, ak sú nástroje skryté/plávajúce"
+msgstr "Prispôsobiť okno veľkosti obrázku ak sú nástroje skryté/plávajúce"
 
 # src/preferences.c:794
-#: src/preferences.c:1032
+#: ../src/preferences.c:1422
 msgid "Limit size when auto-sizing window (%):"
-msgstr "Obmedzi» rozmer ak sa okno automaticky prispôsobuje (%):"
-
-#: src/preferences.c:1039 src/print.c:3404 src/print.c:3411
-msgid "Layout"
-msgstr "Rozlo¾enie"
-
-# src/preferences.c:812
-#: src/preferences.c:1066
-msgid "Filtering"
-msgstr "Filtrovanie"
-
-#: src/preferences.c:1071
-msgid "Show hidden files or folders"
-msgstr ""
-
-# src/ui_pathsel.c:507 src/ui_pathsel.c:759
-#: src/preferences.c:1073
-#, fuzzy
-msgid "Show dot directory"
-msgstr "Nový adresár"
-
-#: src/preferences.c:1075
-msgid "Case sensitive sort"
-msgstr "Triedenie citlivé na veµkos» znakov"
-
-# src/preferences.c:823
-#: src/preferences.c:1078
-msgid "Disable File Filtering"
-msgstr "Vypnú» filtrovanie súborov"
-
-#: src/preferences.c:1082
-msgid "Grouping sidecar extensions"
-msgstr ""
-
-# src/ui_pathsel.c:799
-#: src/preferences.c:1089
-msgid "File types"
-msgstr "Typy súborov"
-
-# src/ui_pathsel.c:799
-#: src/preferences.c:1111
-msgid "Filter"
-msgstr "Filter"
-
-#: src/preferences.c:1148 src/preferences.c:1234 src/preferences.c:1378
-msgid "Defaults"
-msgstr "Prednastavené"
-
-# src/preferences.c:915
-#: src/preferences.c:1177
-msgid "Editors"
-msgstr "Editory"
-
-# src/preferences.c:927
-#: src/preferences.c:1183
-msgid "#"
-msgstr "#"
-
-# src/preferences.c:930
-#: src/preferences.c:1186 src/preferences.c:1497
-msgid "Menu name"
-msgstr "Názov ponuky"
-
-# src/preferences.c:933
-#: src/preferences.c:1189
-msgid "Command Line"
-msgstr "Príkazový riadok"
-
-# src/menu.c:748
-#: src/preferences.c:1261
-#, fuzzy
-msgid "Properties"
-msgstr "Vlastnosti"
-
-#: src/preferences.c:1279
-msgid "What to show in properties dialog:"
-msgstr ""
-
-#: src/preferences.c:1316
-msgid "Advanced"
-msgstr "Pokroèilé"
+msgstr "Obmedziť rozmer ak sa okno automaticky prispôsobuje (%):"
 
 # src/preferences.c:676
-#: src/preferences.c:1337
+#: ../src/preferences.c:1437
 msgid "Smooth image flip"
-msgstr "Plynulé preklopenie obrázku"
-
-#: src/preferences.c:1339
+msgstr "Plynulé preklopenie obrázku"
+
+#: ../src/preferences.c:1439
 msgid "Disable screen saver"
-msgstr "Vypnú» ¹etriè obrazovky"
-
-#: src/preferences.c:1343
+msgstr "Vypnúť Å¡etriÄ obrazovky"
+
+#: ../src/preferences.c:1443
 msgid "Overlay Screen Display"
 msgstr ""
 
-#: src/preferences.c:1345
-msgid "Always show image overlay at startup"
-msgstr ""
-
-#: src/preferences.c:1347
+#: ../src/preferences.c:1445
 msgid "Image overlay template"
-msgstr ""
-
-#: src/preferences.c:1361
+msgstr "Šablóna prekrytia obrázku"
+
+#: ../src/preferences.c:1459
 msgid ""
 "<i>%name%</i> results in the filename of the picture.\n"
-"Also available: <i>%collection%</i>, <i>%number%</i>, <i>%total%</i>, <i>%"
-"date%</i>,\n"
+"Also available: <i>%collection%</i>, <i>%number%</i>, <i>%total%</i>, <i>"
+"%date%</i>,\n"
 "<i>%size%</i> (filesize), <i>%width%</i>, <i>%height%</i>, <i>%res%</i> "
 "(resolution)\n"
 "To access exif data use the exif name, e. g. <i>%formatted.Camera%</i> is "
@@ -3426,183 +4633,346 @@
 "characters and will add 3 dots at the end to denote the truncation.\n"
 "If two or more variables are connected with the |-sign, it prints available "
 "variables with a separator.\n"
-"<i>%formatted.ShutterSpeed%</i>|<i>%formatted.ISOSpeedRating%</i>|<i>%"
-"formatted.FocalLength%</i> could show \"1/20s - 400 - 80 mm\" or \"1/200 - "
+"<i>%formatted.ShutterSpeed%</i>|<i>%formatted.ISOSpeedRating%</i>|<i>"
+"%formatted.FocalLength%</i> could show \"1/20s - 400 - 80 mm\" or \"1/200 - "
 "80 mm\",\n"
 "if there's no ISO information in the Exif data.\n"
 "If a line is empty, it is removed. This allows to add lines that totally "
 "disappear when no data is available.\n"
 msgstr ""
 
-# src/ui_pathsel.c:402 src/ui_pathsel.c:461 src/utilops.c:711
-# src/utilops.c:764
-#: src/preferences.c:1393
-msgid "Delete"
-msgstr "Zmaza»"
-
-# src/preferences.c:667
-#: src/preferences.c:1395
-msgid "Confirm file delete"
-msgstr "Potvrdi» zmazanie súboru"
-
-# src/preferences.c:669
-#: src/preferences.c:1397
-msgid "Enable Delete key"
-msgstr "Povoli» klávesu Delete"
-
-# src/preferences.c:667
-#: src/preferences.c:1400
-msgid "Safe delete"
-msgstr "Bezpeèné mazanie"
-
-#: src/preferences.c:1418
-msgid "Maximum size:"
-msgstr "Maximálna veµkos»:"
-
-#: src/preferences.c:1418
-msgid "MB"
-msgstr "MB"
-
-#: src/preferences.c:1421
-msgid "Set to 0 for unlimited size"
-msgstr ""
-
-# src/collect-table.c:619 src/dupe.c:1386 src/dupe.c:1558
-#: src/preferences.c:1423
-msgid "View"
-msgstr "Zobrazi»"
-
-#: src/preferences.c:1434
-msgid "Behavior"
-msgstr "Správanie"
-
-# src/preferences.c:906
-#: src/preferences.c:1436
-msgid "Rectangular selection in icon view"
-msgstr "Obdå¾nikový výber v ikonovom pohµade"
-
-#: src/preferences.c:1439
-msgid "Descend folders in tree view"
-msgstr "Zni¾ova» prieèinky v stromovom zobrazení"
-
-# src/preferences.c:658
-#: src/preferences.c:1442
-msgid "In place renaming"
-msgstr "Premenovanie na mieste"
-
-#: src/preferences.c:1445
-msgid ""
-"Show \"Copy path\" menu item which write the path of selected files to "
-"clipboard"
-msgstr ""
-
-#: src/preferences.c:1448
-msgid "Open recent list maximum size"
-msgstr ""
-
-#: src/preferences.c:1451
-msgid "Drag'n drop icon size"
-msgstr ""
-
-#: src/preferences.c:1454
-msgid "Navigation"
-msgstr "Navigácia"
-
-# src/preferences.c:764
-#: src/preferences.c:1456
-msgid "Progressive keyboard scrolling"
-msgstr "Progresívne posúvanie klávesnicou"
-
-# src/preferences.c:766
-#: src/preferences.c:1458
-msgid "Mouse wheel scrolls image"
-msgstr "Koliesko my¹i posúva obrázok"
-
-#: src/preferences.c:1461
-msgid "Miscellaneous"
-msgstr "Rozlièné"
-
-#: src/preferences.c:1463
-msgid "Store metadata and cache files in source image's directory"
-msgstr ""
-
-#: src/preferences.c:1466
-#, fuzzy
-msgid "Store keywords and comments as XMP tags in image files"
-msgstr "Uklada» kµúèové slová a poznámky lokálne do zdrojových obrázkov"
-
-# src/preferences.c:875
-#: src/preferences.c:1469
-msgid "Custom similarity threshold:"
-msgstr "Pou¾ívateµský prah podobnosti:"
-
-#: src/preferences.c:1472
-msgid "Image loading and caching"
-msgstr ""
-
-# src/preferences.c:735
-#: src/preferences.c:1474
-msgid "Offscreen cache size (Mb per image):"
-msgstr "Veµkos» mimoobrazokovej vyrovnávacej pamäte (Mb na obrázok):"
-
-#: src/preferences.c:1477
-msgid "Image read buffer size (bytes):"
-msgstr ""
-
-#: src/preferences.c:1481
-msgid "Image idle loop read count:"
-msgstr ""
-
-# src/ui_pathsel.c:697
-#: src/preferences.c:1486
-#, fuzzy
-msgid "Color profiles"
-msgstr "V¹etky súbory"
-
-#: src/preferences.c:1494
-msgid "Type"
+#: ../src/preferences.c:1476 ../src/preferences.c:1652
+#: ../src/preferences.c:2025
+msgid "Defaults"
+msgstr "Predvolené"
+
+#: ../src/preferences.c:1530
+msgid "Show hidden files or folders"
+msgstr "ZobraziÅ¥ skryté súbory alebo prieÄinky"
+
+# src/ui_pathsel.c:507 src/ui_pathsel.c:759
+#: ../src/preferences.c:1533
+msgid "Show dot directory"
+msgstr "ZobraziÅ¥ bodkový prieÄinok"
+
+#: ../src/preferences.c:1536
+msgid "Case sensitive sort"
+msgstr "Triedenie citlivé na veľkosť znakov"
+
+# src/preferences.c:823
+#: ../src/preferences.c:1539
+msgid "Disable File Filtering"
+msgstr "Vypnúť filtrovanie súborov"
+
+#: ../src/preferences.c:1543
+msgid "Grouping sidecar extensions"
 msgstr ""
 
 # src/ui_pathsel.c:799
-#: src/preferences.c:1500
-#, fuzzy
+#: ../src/preferences.c:1550
+msgid "File types"
+msgstr "Typy súborov"
+
+# src/ui_pathsel.c:799
+#: ../src/preferences.c:1572
+msgid "Filter"
+msgstr "Filter"
+
+#: ../src/preferences.c:1607
+msgid "Class"
+msgstr ""
+
+#: ../src/preferences.c:1624
+msgid "Writable"
+msgstr ""
+
+#: ../src/preferences.c:1635
+msgid "Sidecar is allowed"
+msgstr ""
+
+#: ../src/preferences.c:1681
+msgid "Metadata writing process"
+msgstr ""
+
+#: ../src/preferences.c:1683
+msgid "Warning: Geeqie is built without Exiv2. Some options are disabled."
+msgstr ""
+
+#: ../src/preferences.c:1685
+msgid ""
+"Metadata are written in the following order. The process ends after first "
+"success."
+msgstr ""
+
+#: ../src/preferences.c:1688
+msgid ""
+"1) Save metadata in image files, resp. sidecar files, according to the XMP "
+"standard"
+msgstr ""
+
+#: ../src/preferences.c:1694
+msgid ""
+"2) Save metadata in '.metadata' folder, local to image folder (non-standard)"
+msgstr ""
+
+#: ../src/preferences.c:1697
+#, c-format
+msgid "3) Save metadata in Geeqie private directory '%s'"
+msgstr ""
+
+#: ../src/preferences.c:1703
+msgid "Step 1: Write to image files"
+msgstr ""
+
+#: ../src/preferences.c:1711
+msgid ""
+"Store metadata also in legacy IPTC tags (converted according to IPTC4XMP "
+"standard)"
+msgstr ""
+
+#: ../src/preferences.c:1714
+msgid "Warn if the image files are unwritable"
+msgstr ""
+
+#: ../src/preferences.c:1717
+#, fuzzy
+msgid "Ask before writing to image files"
+msgstr "Chyba pri zápise do súboru %s"
+
+#: ../src/preferences.c:1720
+msgid "Step 2 and 3: write to Geeqie private files"
+msgstr ""
+
+#: ../src/preferences.c:1725
+msgid ""
+"Use GQview legacy metadata format (supports only keywords and comments) "
+"instead of XMP"
+msgstr ""
+
+#: ../src/preferences.c:1729 ../src/preferences.c:1917
+msgid "Miscellaneous"
+msgstr "RozliÄné"
+
+#: ../src/preferences.c:1730
+msgid ""
+"Write the same description tags (keywords, comment, etc.) to all grouped "
+"sidecars"
+msgstr ""
+
+#: ../src/preferences.c:1733
+msgid "Allow keywords to differ only in case"
+msgstr ""
+
+#: ../src/preferences.c:1736
+msgid "Write altered image orientation to the metadata"
+msgstr ""
+
+#: ../src/preferences.c:1742
+msgid "Auto-save options"
+msgstr ""
+
+#: ../src/preferences.c:1744
+msgid "Write metadata after timeout"
+msgstr ""
+
+#: ../src/preferences.c:1750
+#, fuzzy
+msgid "Timeout (seconds):"
+msgstr "Čas expozície (sekúnd)"
+
+# src/preferences.c:628
+#: ../src/preferences.c:1753
+#, fuzzy
+msgid "Write metadata on image change"
+msgstr "Oneskorenie pri zmene obrázku (v sekundách):"
+
+#: ../src/preferences.c:1756
+msgid "Write metadata on directory change"
+msgstr ""
+
+# src/menu.c:526
+#: ../src/preferences.c:1770
+#, fuzzy
+msgid "Color management"
+msgstr "_Správca triedenia"
+
+# src/ui_pathsel.c:697
+#: ../src/preferences.c:1772
+#, fuzzy
+msgid "Input profiles"
+msgstr "Farebné profily"
+
+#: ../src/preferences.c:1780
+msgid "Type"
+msgstr "Typ"
+
+# src/preferences.c:930
+#: ../src/preferences.c:1783
+msgid "Menu name"
+msgstr "Názov ponuky"
+
+# src/ui_pathsel.c:799
+#: ../src/preferences.c:1786
 msgid "File"
-msgstr "Súbor:"
+msgstr "Súbor"
+
+#: ../src/preferences.c:1794
+#, fuzzy, c-format
+msgid "Input %d:"
+msgstr "Vstup _%d:"
 
 # src/collect-table.c:628 src/dupe.c:1393 src/dupe.c:1565
-#: src/preferences.c:1525 src/preferences.c:1536
-#, fuzzy
+#: ../src/preferences.c:1811 ../src/preferences.c:1831
 msgid "Select color profile"
-msgstr "Vybra» prieèinok"
-
-#: src/preferences.c:1533
-#, fuzzy
+msgstr "Vybrať farebný profil"
+
+#: ../src/preferences.c:1819
+#, fuzzy
+msgid "Screen profile"
+msgstr "Profil _Zobrazenia"
+
+#: ../src/preferences.c:1823
+msgid "Use system screen profile if available"
+msgstr ""
+
+#: ../src/preferences.c:1828
 msgid "Screen:"
-msgstr "Obrazovka"
-
-#: src/preferences.c:1544
+msgstr "Obrazovka:"
+
+#: ../src/preferences.c:1850 ../src/preferences.c:1893
+msgid "Behavior"
+msgstr "Správanie"
+
+# src/ui_pathsel.c:402 src/ui_pathsel.c:461 src/utilops.c:711
+# src/utilops.c:764
+#: ../src/preferences.c:1852 ../src/utilops.c:1985
+msgid "Delete"
+msgstr "Odstrániť"
+
+# src/preferences.c:667
+#: ../src/preferences.c:1854
+msgid "Confirm file delete"
+msgstr "Potvrdiť odstránenie súboru"
+
+# src/preferences.c:669
+#: ../src/preferences.c:1856
+msgid "Enable Delete key"
+msgstr "Povoliť klávesu Delete"
+
+# src/preferences.c:667
+#: ../src/preferences.c:1859
+msgid "Safe delete"
+msgstr "BezpeÄné odstránenie"
+
+#: ../src/preferences.c:1877
+msgid "Maximum size:"
+msgstr "Maximálna veľkosť:"
+
+#: ../src/preferences.c:1877
+msgid "MB"
+msgstr "MB"
+
+#: ../src/preferences.c:1880
+msgid "Set to 0 for unlimited size"
+msgstr "Ak chcete neobmedzenú veľkosť, nastavte na 0"
+
+# src/collect-table.c:619 src/dupe.c:1386 src/dupe.c:1558
+#: ../src/preferences.c:1882
+msgid "View"
+msgstr "Zobraziť"
+
+# src/preferences.c:906
+#: ../src/preferences.c:1895
+msgid "Rectangular selection in icon view"
+msgstr "Obdĺžnikový výber v ikonovom pohľade"
+
+#: ../src/preferences.c:1898
+msgid "Descend folders in tree view"
+msgstr "ZnižovaÅ¥ prieÄinky v stromovom zobrazení"
+
+# src/preferences.c:658
+#: ../src/preferences.c:1901
+msgid "In place renaming"
+msgstr "Premenovanie na mieste"
+
+#: ../src/preferences.c:1904
+msgid "Open recent list maximum size"
+msgstr "Maximálna veľkosť zoznamu naposledy otvorených"
+
+#: ../src/preferences.c:1907
+msgid "Drag'n drop icon size"
+msgstr "Veľkosť ikony pre ťahaj-a-pusť"
+
+#: ../src/preferences.c:1910
+msgid "Navigation"
+msgstr "Navigácia"
+
+# src/preferences.c:764
+#: ../src/preferences.c:1912
+msgid "Progressive keyboard scrolling"
+msgstr "Progresívne posúvanie klávesnicou"
+
+# src/preferences.c:766
+#: ../src/preferences.c:1914
+msgid "Mouse wheel scrolls image"
+msgstr "Koliesko myši posúva obrázok"
+
+# src/preferences.c:875
+#: ../src/preferences.c:1919
+msgid "Custom similarity threshold:"
+msgstr "Používateľský prah podobnosti:"
+
+#: ../src/preferences.c:1924
 msgid "Debugging"
-msgstr ""
-
-#: src/preferences.c:1546
+msgstr "Ladenie"
+
+#: ../src/preferences.c:1926
 msgid "Debug level:"
-msgstr ""
+msgstr "Úroveň ladenia:"
+
+#: ../src/preferences.c:1945
+msgid "Keyboard"
+msgstr ""
+
+#: ../src/preferences.c:1947
+msgid "Accelerators"
+msgstr ""
+
+#: ../src/preferences.c:1966
+#, fuzzy
+msgid "Action"
+msgstr "akcia"
+
+#: ../src/preferences.c:1988
+msgid "KEY"
+msgstr ""
+
+# src/preferences.c:368
+#: ../src/preferences.c:1999
+#, fuzzy
+msgid "Tooltip"
+msgstr "Nástroje"
+
+# src/utilops.c:707
+#: ../src/preferences.c:2037
+#, fuzzy
+msgid "Reset selected"
+msgstr "Vynulovať filtre"
+
+# src/collect-table.c:628 src/dupe.c:1393 src/dupe.c:1565
+#: ../src/preferences.c:2043
+#, fuzzy
+msgid "Add Alt"
+msgstr "Pridať výber"
 
 # src/menu.c:748
-#: src/preferences.c:1562
-#, fuzzy
+#: ../src/preferences.c:2062
 msgid "Preferences"
-msgstr "Predv_oµby..."
-
-# src/menu.c:776
-#: src/preferences.c:1685
-#, fuzzy
-msgid "About"
-msgstr "O Geeqie"
+msgstr "Predvoľby"
 
 # src/preferences.c:1041
-#: src/preferences.c:1702
-#, fuzzy, c-format
+#: ../src/preferences.c:2209
+#, c-format
 msgid ""
 "%s %s\n"
 "\n"
@@ -3613,106 +4983,99 @@
 "\n"
 "Released under the GNU General Public License"
 msgstr ""
-"Geeqie %s\n"
+"%s %s\n"
 "\n"
-"Copyright (c) %s John Ellis\n"
-"WWW: %s\n"
+"Copyright (c) 2006 John Ellis\n"
+"Copyright (c) %s Tím Geeqie\n"
+"web: %s\n"
 "email: %s\n"
 "\n"
-"Vydané pod GNU General Public License"
+"Vydané pod GNU General Public License"
 
 # src/menu.c:748
-#: src/preferences.c:1721
+#: ../src/preferences.c:2228
 msgid "Credits..."
-msgstr "Poïakovanie..."
+msgstr "PoÄakovanie..."
 
 # src/collect-table.c:628 src/dupe.c:1393 src/dupe.c:1565
-#: src/print.c:117
+#: ../src/print.c:124
 msgid "Selection"
-msgstr "Výber"
-
-#: src/print.c:118
+msgstr "Výber"
+
+#: ../src/print.c:125
 msgid "All"
-msgstr "V¹etko"
-
-#: src/print.c:129
+msgstr "VÅ¡etko"
+
+#: ../src/print.c:136
 msgid "One image per page"
-msgstr "Jeden obrázok na stránku"
-
-#: src/print.c:130
+msgstr "Jeden obrázok na stránku"
+
+#: ../src/print.c:137
 msgid "Proof sheet"
 msgstr ""
 
-#: src/print.c:143
+#: ../src/print.c:150
 msgid "Default printer"
-msgstr "Prednastavená tlaèiareò"
+msgstr "Predvolená tlaÄiareň"
 
 # src/preferences.c:875
-#: src/print.c:144
+#: ../src/print.c:151
 msgid "Custom printer"
-msgstr "Pou¾ívateµom definovaná tlaèiareò"
-
-#: src/print.c:145
+msgstr "Používateľom definovaná tlaÄiareň"
+
+#: ../src/print.c:152
 msgid "PostScript file"
-msgstr "Postskriptový súbor"
+msgstr "Postskriptový súbor"
 
 # src/preferences.c:676
-#: src/print.c:146
+#: ../src/print.c:153
 msgid "Image file"
-msgstr "Súbor obrázku"
-
-#: src/print.c:160
+msgstr "Súbor obrázku"
+
+#: ../src/print.c:167
 msgid "jpeg, low quality"
-msgstr "jpeg, nízka kvalita"
-
-#: src/print.c:161
+msgstr "jpeg, nízka kvalita"
+
+#: ../src/print.c:168
 msgid "jpeg, normal quality"
-msgstr "jpeg, normálna kvalita"
-
-#: src/print.c:162
+msgstr "jpeg, normálna kvalita"
+
+#: ../src/print.c:169
 msgid "jpeg, high quality"
-msgstr "jpeg, vysoká kvalita"
+msgstr "jpeg, vysoká kvalita"
 
 # src/main.c:561
-#: src/print.c:357 src/print.c:3245
+#: ../src/print.c:365 ../src/print.c:3226
 msgid "points"
 msgstr "body"
 
-#: src/print.c:358
+#: ../src/print.c:366
 msgid "millimeters"
 msgstr "milimetre"
 
-#: src/print.c:359
+#: ../src/print.c:367
 msgid "centimeters"
 msgstr "centimetre"
 
-#: src/print.c:360
+#: ../src/print.c:368
 msgid "inches"
 msgstr "palce"
 
-#: src/print.c:361
+#: ../src/print.c:369
 msgid "picas"
 msgstr ""
 
-#: src/print.c:366
-msgid "Portrait"
-msgstr "Na vý¹ku"
-
-#: src/print.c:367
-msgid "Landscape"
-msgstr "Na ¹írku"
-
-#: src/print.c:373
+#: ../src/print.c:381
 msgid "Letter"
 msgstr "List"
 
 #. in 8.5 x 11
-#: src/print.c:374
+#: ../src/print.c:382
 msgid "Legal"
 msgstr ""
 
 #. in 8.5 x 14
-#: src/print.c:375
+#: ../src/print.c:383
 msgid "Executive"
 msgstr ""
 
@@ -3728,1330 +5091,1115 @@
 #. mm 250 x 353
 #. mm 176 x 250
 #. mm 125 x 176
-#: src/print.c:387
+#: ../src/print.c:395
 msgid "Envelope #10"
-msgstr ""
+msgstr "Obálka #10"
 
 #. in 4.125 x 9.5
-#: src/print.c:388
+#: ../src/print.c:396
 msgid "Envelope #9"
-msgstr ""
+msgstr "Obálka #9"
 
 #. in 3.875 x 8.875
-#: src/print.c:389
+#: ../src/print.c:397
 msgid "Envelope C4"
-msgstr ""
+msgstr "Obálka C4"
 
 #. mm 229 x 324
-#: src/print.c:390
+#: ../src/print.c:398
 msgid "Envelope C5"
-msgstr ""
+msgstr "Obálka C5"
 
 #. mm 162 x 229
-#: src/print.c:391
+#: ../src/print.c:399
 msgid "Envelope C6"
-msgstr ""
+msgstr "Obálka C6"
 
 #. mm 114 x 162
-#: src/print.c:392
+#: ../src/print.c:400
 msgid "Photo 6x4"
-msgstr ""
+msgstr "Fotka 6x4"
 
 #. in 6   x 4
-#: src/print.c:393
+#: ../src/print.c:401
 msgid "Photo 8x10"
-msgstr ""
+msgstr "Fotka 8x10"
 
 #. in 8   x 10
-#: src/print.c:394
+#: ../src/print.c:402
 msgid "Postcard"
-msgstr ""
+msgstr "Pohľadnica"
 
 #. mm 100 x 148
-#: src/print.c:395
+#: ../src/print.c:403
 msgid "Tabloid"
 msgstr ""
 
-#: src/print.c:551
+#: ../src/print.c:559
 #, c-format
 msgid "page %d of %d"
-msgstr "stránka %d z %d"
-
-#: src/print.c:743 src/utilops.c:2462
+msgstr "stránka %d z %d"
+
+#: ../src/print.c:751
 msgid "Preview"
-msgstr "Náhµad"
-
-#: src/print.c:1051
+msgstr "Predbežné zobrazenie"
+
+#: ../src/print.c:1059
 #, c-format
 msgid ""
 "Unable to open pipe for writing.\n"
 "\"%s\""
-msgstr "Nemohol som otvori» rúru pre zápis.!n\"%s\""
+msgstr ""
+"Nemohol som otvoriť rúru pre zápis.\n"
+"\"%s\""
 
 # src/ui_pathsel.c:307
-#: src/print.c:1066 src/print.c:1506 src/ui_pathsel.c:432
-#: src/view_file_list.c:396
+#: ../src/print.c:1074 ../src/print.c:1466 ../src/ui_pathsel.c:432
 #, c-format
 msgid "A file with name %s already exists."
-msgstr "Súbor s názvom %s u¾ existuje."
-
-#: src/print.c:1081 src/print.c:1561
+msgstr "Súbor s názvom %s už existuje."
+
+#: ../src/print.c:1089 ../src/print.c:1521
 #, c-format
 msgid "Failure writing to file %s"
-msgstr "Chyba pri zápise do súboru %s"
-
-#: src/print.c:1135 src/print.c:1172 src/print.c:1208 src/print.c:1325
-#: src/print.c:1416 src/print.c:1447
+msgstr "Chyba pri zápise do súboru %s"
+
+#: ../src/print.c:1144 ../src/print.c:1181 ../src/print.c:1217
+#: ../src/print.c:1334 ../src/print.c:1407
 msgid "SIGPIPE error writing to printer."
-msgstr "SIGPIPE chyba pri zápise na tlaèiareò."
-
-#: src/print.c:1982
+msgstr "SIGPIPE chyba pri zápise na tlaÄiareň."
+
+#: ../src/print.c:1942
 #, c-format
 msgid "Page %d"
 msgstr "Strana %d"
 
 # src/ui_pathsel.c:799
-#: src/print.c:2004 src/print.c:2009
+#: ../src/print.c:1968 ../src/print.c:1973
 msgid "Printing error"
-msgstr "Chyba pri tlaèi"
-
-#: src/print.c:2008
+msgstr "Chyba pri tlaÄi"
+
+#: ../src/print.c:1972
 #, c-format
 msgid "An error occured printing to %s."
-msgstr "Pri tlaèi na %s sa vyskytla chyba."
-
-#: src/print.c:2012
+msgstr "Pri tlaÄi na %s sa vyskytla chyba."
+
+#: ../src/print.c:1976
 msgid "Details"
 msgstr "Podrobnosti"
 
 # src/ui_pathsel.c:799
-#: src/print.c:2617 src/print.c:3377
-#, fuzzy
+#: ../src/print.c:2601 ../src/print.c:3361
 msgid "Print"
-msgstr "Tlaèiareò"
-
-#: src/print.c:2624
+msgstr "TlaÄ"
+
+#: ../src/print.c:2605
 #, c-format
 msgid "Printing %d pages to %s."
-msgstr "Tlaèím %d strán na %s."
+msgstr "TlaÄím %d strán na %s."
 
 # src/preferences.c:401
-#: src/print.c:2724
+#: ../src/print.c:2705
 msgid "Format:"
-msgstr "Formát:"
-
-#: src/print.c:2799
+msgstr "Formát:"
+
+#: ../src/print.c:2780
 msgid "Units:"
 msgstr "Jednotky:"
 
 # src/dupe.c:1655 src/dupe.c:1944
-#: src/print.c:2843
+#: ../src/print.c:2824
 msgid "Orientation:"
-msgstr "Orientácia:"
-
-#: src/print.c:2975
+msgstr "Orientácia:"
+
+#: ../src/print.c:2956
 msgid "Destination:"
-msgstr "Cieµ:"
+msgstr "Cieľ:"
 
 # src/utilops.c:980
-#: src/print.c:3023
+#: ../src/print.c:3004
 msgid "<printer name>"
-msgstr "<názov tlaèiarne>"
+msgstr "<názov tlaÄiarne>"
 
 # src/collect.c:329 src/image.c:1058
-#: src/print.c:3112
+#: ../src/print.c:3093
 msgid "Unlimited"
-msgstr "Neobmedzené"
-
-#: src/print.c:3230
+msgstr "Neobmedzené"
+
+#: ../src/print.c:3211
 msgid "Show"
-msgstr "Uká¾"
+msgstr "Ukáž"
 
 # src/preferences.c:400
-#: src/print.c:3243
+#: ../src/print.c:3224
 msgid "Font"
-msgstr "Písmo"
+msgstr "Písmo"
 
 # src/menu.c:559
-#: src/print.c:3407
+#: ../src/print.c:3388
 msgid "Source"
 msgstr "Zdroj"
 
 # src/preferences.c:676
-#: src/print.c:3423
-#, fuzzy
+#: ../src/print.c:3400
+msgid "Image size:"
+msgstr "Veľkosť obrázku:"
+
+# src/preferences.c:676
+#: ../src/print.c:3404
 msgid "Proof size:"
-msgstr "Veµkos» obrázoku:"
-
-#: src/print.c:3449
+msgstr "Veľkosť obrázku:"
+
+#: ../src/print.c:3420
+msgid "Text"
+msgstr "Text"
+
+#: ../src/print.c:3430
 msgid "Paper"
 msgstr "Papier"
 
-#: src/print.c:3472
+#: ../src/print.c:3453
 msgid "Margins"
-msgstr "Hranice"
-
-#: src/print.c:3474
+msgstr "Okraje"
+
+#: ../src/print.c:3455
 msgid "Left:"
-msgstr "Vµavo:"
-
-#: src/print.c:3477
+msgstr "Vľavo:"
+
+#: ../src/print.c:3458
 msgid "Right:"
 msgstr "Vpravo:"
 
-#: src/print.c:3480
+#: ../src/print.c:3461
 msgid "Top:"
 msgstr "Hore:"
 
 # src/utilops.c:989
-#: src/print.c:3483
+#: ../src/print.c:3464
 msgid "Bottom:"
 msgstr "Dole:"
 
 # src/ui_pathsel.c:799
-#: src/print.c:3492
+#: ../src/print.c:3473
 msgid "Printer"
-msgstr "Tlaèiareò"
+msgstr "TlaÄiareň"
 
 # src/preferences.c:875
-#: src/print.c:3498
+#: ../src/print.c:3479
 msgid "Custom printer:"
-msgstr "Pou¾ívateµom definovaná tlaèiareò:"
+msgstr "Používateľom definovaná tlaÄiareň:"
 
 # src/ui_pathsel.c:799
-#: src/print.c:3507
+#: ../src/print.c:3488
 msgid "File:"
-msgstr "Súbor:"
+msgstr "Súbor:"
 
 # src/ui_pathsel.c:799
-#: src/print.c:3516
+#: ../src/print.c:3497
 msgid "File format:"
-msgstr "Formát súboru:"
-
-#: src/print.c:3521
+msgstr "Formát súboru:"
+
+#: ../src/print.c:3502
 msgid "DPI:"
 msgstr "DPI:"
 
 # src/preferences.c:782
-#: src/print.c:3529
+#: ../src/print.c:3510
 msgid "Remember print settings"
-msgstr "Zapamäta» si nastavenia tlaèe"
+msgstr "ZapamätaÅ¥ si nastavenia tlaÄe"
 
 # src/rcfile.c:132
-#: src/rcfile.c:309
+#: ../src/rcfile.c:495
 #, c-format
 msgid "error saving config file: %s\n"
-msgstr "chyba pri ukladaní konfiguraèného súboru: %s\n"
+msgstr "chyba pri ukladaní konfiguraÄného súboru: %s\n"
 
 # src/rcfile.c:132
-#: src/rcfile.c:583
-#, fuzzy, c-format
+#: ../src/rcfile.c:553
+#, c-format
 msgid ""
 "error saving config file: %s\n"
 "error: %s\n"
-msgstr "chyba pri ukladaní konfiguraèného súboru: %s\n"
+msgstr ""
+"chyba pri ukladaní konfiguraÄného súboru: %s\n"
+"chyba: %s\n"
 
 # src/preferences.c:660
 #. short, long                  callback,               extra, prefer,description
-#: src/remote.c:574
+#: ../src/remote.c:639
 msgid "next image"
-msgstr "nasledujúci obrázok"
-
-#: src/remote.c:575
+msgstr "nasledujúci obrázok"
+
+#: ../src/remote.c:640
 msgid "previous image"
-msgstr "predchádzajúci obrázok"
-
-#: src/remote.c:576
+msgstr "predchádzajúci obrázok"
+
+#: ../src/remote.c:641
 msgid "first image"
-msgstr "prvý obrázok"
-
-#: src/remote.c:577
+msgstr "prvý obrázok"
+
+#: ../src/remote.c:642
 msgid "last image"
-msgstr "posledný obrázok"
+msgstr "posledný obrázok"
 
 # src/img-view.c:833 src/menu.c:1005
-#: src/remote.c:578
+#: ../src/remote.c:643
 msgid "toggle full screen"
-msgstr "Prepnú» celoobrazovkový re¾im"
+msgstr "prepnúť celoobrazovkový režim"
+
+# src/img-view.c:833 src/menu.c:1005
+#: ../src/remote.c:644
+msgid "start full screen"
+msgstr "prepnúť na celoobrazovkový režim"
 
 # src/img-view.c:833 src/menu.c:1005
-#: src/remote.c:579
-msgid "start full screen"
-msgstr "Zapnú» celoobrazovkový re¾im"
-
-# src/img-view.c:833 src/menu.c:1005
-#: src/remote.c:580
+#: ../src/remote.c:645
 msgid "stop full screen"
-msgstr "Ukonèi» celoobrazovkový re¾im"
+msgstr "ukonÄiÅ¥ celoobrazovkový režim"
+
+# src/img-view.c:813 src/menu.c:982
+#: ../src/remote.c:646
+msgid "toggle slide show"
+msgstr "prepnúť prezentáciu"
+
+# src/img-view.c:825 src/menu.c:994
+#: ../src/remote.c:647
+msgid "start slide show"
+msgstr "spustiť prezentáciu"
 
 # src/img-view.c:813 src/menu.c:982
-#: src/remote.c:581
-msgid "toggle slide show"
-msgstr "Prepnú» prezentáciu"
-
-# src/img-view.c:825 src/menu.c:994
-#: src/remote.c:582
-msgid "start slide show"
-msgstr "Spusti» prezentáciu"
-
-# src/img-view.c:813 src/menu.c:982
-#: src/remote.c:583
+#: ../src/remote.c:648
 msgid "stop slide show"
-msgstr "zastavi» prezentáciu"
+msgstr "zastaviť prezentáciu"
 
 # src/img-view.c:825 src/menu.c:994
-#: src/remote.c:584
+#: ../src/remote.c:649
 msgid "start recursive slide show"
-msgstr "spusti» rekurzívnu prezentáciu"
-
-#: src/remote.c:585
+msgstr "spustiť rekurzívnu prezentáciu"
+
+#: ../src/remote.c:650
 msgid "set slide show delay in seconds"
-msgstr "nastavi» pozdr¾anie v sekundách"
-
-#: src/remote.c:586
+msgstr "nastaviť prestávku medzi obrázkami prezentácie v sekundách"
+
+#: ../src/remote.c:651
 msgid "show tools"
-msgstr "zobrazi» nástroje"
+msgstr "zobraziť nástroje"
 
 # src/window.c:234
-#: src/remote.c:587
+#: ../src/remote.c:652
 msgid "hide tools"
-msgstr "skry» nástroje"
-
-#: src/remote.c:588
+msgstr "skryť nástroje"
+
+#: ../src/remote.c:653
 msgid "quit"
-msgstr "skonèi»"
+msgstr "skonÄiÅ¥"
+
+# src/utilops.c:382 src/utilops.c:490
+#: ../src/remote.c:654
+#, fuzzy
+msgid "load config file"
+msgstr "Chyba pri kopírovaní súboru"
+
+#: ../src/remote.c:655
+msgid "get list of sidecars of the given file"
+msgstr ""
+
+#: ../src/remote.c:656
+msgid "get destination path for the given file"
+msgstr ""
 
 # src/utilops.c:1090
-#: src/remote.c:589
+#: ../src/remote.c:657
 msgid "open file"
-msgstr "otvori» súbor:"
+msgstr "otvoriť súbor"
 
 # src/collect-table.c:620 src/dupe.c:1388 src/dupe.c:1560 src/img-view.c:801
 # src/menu.c:906 src/menu.c:964
-#: src/remote.c:590
+#: ../src/remote.c:658
 msgid "open file in new window"
-msgstr "otvori» súbor v novom okne novom okne"
-
-#: src/remote.c:656
+msgstr "otvoriť súbor v novom okne novom okne"
+
+#: ../src/remote.c:724
 msgid "Remote command list:\n"
-msgstr "Zoznam vzdialených príkazov:\n"
-
-#: src/remote.c:713
-#, fuzzy, c-format
+msgstr "Zoznam vzdialených príkazov:\n"
+
+#: ../src/remote.c:781
+#, c-format
 msgid "Remote %s not running, starting..."
-msgstr "Vzdialený Geeqie nebe¾í, ¹tartujem..."
-
-#: src/remote.c:849
+msgstr "Vzdialený %s nebeží, štartujem..."
+
+#: ../src/remote.c:917
 msgid "Remote not available\n"
-msgstr "Vzdialený je nedostupný\n"
+msgstr "Vzdialený je nedostupný\n"
 
 # src/preferences.c:368
-#: src/search.c:202
+#: ../src/search.c:212
 msgid "folder"
-msgstr "prieèinok"
-
-#: src/search.c:203
+msgstr "prieÄinok"
+
+#: ../src/search.c:213
 msgid "comments"
-msgstr "poznámky"
-
-#: src/search.c:204
+msgstr "poznámky"
+
+#: ../src/search.c:214
 msgid "results"
-msgstr "výsledky"
+msgstr "výsledky"
 
 # src/utilops.c:328 src/utilops.c:394 src/utilops.c:668
-#: src/search.c:208
+#: ../src/search.c:218 ../src/search.c:243
 msgid "contains"
 msgstr "obsahuje"
 
-#: src/search.c:209
+#: ../src/search.c:219
 msgid "is"
 msgstr "je"
 
-#: src/search.c:213 src/search.c:220
+#: ../src/search.c:223 ../src/search.c:230
 msgid "equal to"
-msgstr "rovnaký ako"
-
-#: src/search.c:214
+msgstr "rovnaký ako"
+
+#: ../src/search.c:224
 msgid "less than"
-msgstr "men¹í ne¾"
+msgstr "menší než"
 
 # src/menu.c:1066
-#: src/search.c:215
+#: ../src/search.c:225
 msgid "greater than"
-msgstr "väè¹í ne¾"
-
-#: src/search.c:216 src/search.c:223
+msgstr "väÄší než"
+
+#: ../src/search.c:226 ../src/search.c:233
 msgid "between"
 msgstr "medzi"
 
-#: src/search.c:221
+#: ../src/search.c:231
 msgid "before"
 msgstr "pred"
 
 # src/ui_pathsel.c:799
-#: src/search.c:222
+#: ../src/search.c:232
 msgid "after"
 msgstr "po"
 
-#: src/search.c:227
+#: ../src/search.c:237
 msgid "match all"
-msgstr "úplná zhoda"
-
-#: src/search.c:228
+msgstr "úplná zhoda"
+
+#: ../src/search.c:238
 msgid "match any"
-msgstr "akákoµvek zhoda"
-
-#: src/search.c:229
+msgstr "akákoľvek zhoda"
+
+#: ../src/search.c:239
 msgid "exclude"
 msgstr "okrem"
 
+#: ../src/search.c:244
+msgid "miss"
+msgstr ""
+
 # src/filelist.c:86
-#: src/search.c:279
+#: ../src/search.c:295
 #, c-format
 msgid "%s, %d files (%s, %d)"
-msgstr "%s, %d súborov (%s, %d)"
+msgstr "%s, %d súborov (%s, %d)"
 
 # src/filelist.c:88
-#: src/search.c:284
+#: ../src/search.c:300
 #, c-format
 msgid "%s, %d files"
-msgstr "%s, %d súborov"
+msgstr "%s, %d súborov"
 
 # src/dupe.c:871 src/dupe.c:892
-#: src/search.c:302
+#: ../src/search.c:318
 msgid "Searching..."
-msgstr "Hµadám..."
-
-#: src/search.c:2100
+msgstr "Hľadám..."
+
+#: ../src/search.c:2170
 msgid "File not found"
-msgstr "Súbor sa nena¹iel"
+msgstr "Súbor sa nenašiel"
 
 # src/utilops.c:544
-#: src/search.c:2101
+#: ../src/search.c:2171
 msgid "Please enter an existing file for image content."
-msgstr "Prosím zadajte existujúci súbor pre obsah obrázka."
+msgstr "Prosím zadajte existujúci súbor pre obsah obrázka."
 
 # src/utilops.c:544
-#: src/search.c:2151
+#: ../src/search.c:2220
 msgid "Please enter an existing folder to search."
-msgstr "Prosím zadajte existujúci prieèinok pre vyhµadávanie."
-
-#: src/search.c:2576
-#, fuzzy
+msgstr "Prosím zadajte existujúci prieÄinok pre vyhľadávanie."
+
+#: ../src/search.c:2646
 msgid "Image search"
-msgstr "Vyhµada» obrázok - Geeqie"
+msgstr "Hľadať obrázok"
 
 # src/dupe.c:871 src/dupe.c:892
-#: src/search.c:2606
+#: ../src/search.c:2676
 msgid "Search:"
-msgstr "Hµadanie:"
-
-#: src/search.c:2620
+msgstr "Hľadanie:"
+
+#: ../src/search.c:2690
 msgid "Recurse"
 msgstr "Rekurzia"
 
 # src/utilops.c:980
-#: src/search.c:2624
+#: ../src/search.c:2695
 msgid "File name"
-msgstr "Názov súboru"
-
-#: src/search.c:2630
+msgstr "Názov súboru"
+
+#: ../src/search.c:2701 ../src/search.c:2796
 msgid "Match case"
-msgstr "Citlivé na veµkos» písma"
+msgstr "Citlivé na veľkosť písma"
 
 # src/preferences.c:368
-#: src/search.c:2634
+#: ../src/search.c:2706
 msgid "File size is"
-msgstr "Veµkos» súboru je"
+msgstr "Veľkosť súboru je"
 
 # src/preferences.c:645
-#: src/search.c:2641 src/search.c:2656 src/search.c:2674
+#: ../src/search.c:2713 ../src/search.c:2729 ../src/search.c:2748
 msgid "and"
 msgstr "a"
 
 # src/ui_pathsel.c:799
-#: src/search.c:2646
+#: ../src/search.c:2719
 msgid "File date is"
-msgstr "Dátum súboru je"
+msgstr "Dátum súboru je"
 
 # src/utilops.c:539
-#: src/search.c:2663
+#: ../src/search.c:2737
 msgid "Image dimensions are"
-msgstr "Rozmery obrázku sú"
+msgstr "Rozmery obrázku sú"
 
 # src/collect-table.c:1820 src/dupe.c:2172
-#: src/search.c:2683
+#: ../src/search.c:2758
 msgid "Image content is"
-msgstr "Obsah obrázku je"
+msgstr "Obsah obrázku je"
 
 # src/dupe.c:1659
-#: src/search.c:2689
+#: ../src/search.c:2764
 #, no-c-format
 msgid "% similar to"
-msgstr "& podobnos» s"
+msgstr "% podobnosť s"
 
 # src/preferences.c:645
-#: src/search.c:2758
+#: ../src/search.c:2850
 msgid "Rank"
 msgstr "Trieda"
 
 # src/utilops.c:1151
-#: src/secure_save.c:398
-#, fuzzy
+#: ../src/secure_save.c:397
 msgid "Cannot read the file"
-msgstr "Nemô¾em vytvori» prieèinok"
+msgstr "Nemôžem preÄítaÅ¥ tento súbor"
 
 # src/dupe.c:2060
-#: src/secure_save.c:400
-#, fuzzy
+#: ../src/secure_save.c:399
 msgid "Cannot get file status"
-msgstr "Porovna» dve sady súborov"
-
-#: src/secure_save.c:402
+msgstr "Nemôžem získať stav súboru"
+
+#: ../src/secure_save.c:401
 msgid "Cannot access the file"
-msgstr ""
+msgstr "Súbor sa nepodarilo otvoriť"
 
 # src/utilops.c:1151
-#: src/secure_save.c:404
-#, fuzzy
+#: ../src/secure_save.c:403
 msgid "Cannot create temp file"
-msgstr "Nemô¾em vytvori» prieèinok"
+msgstr "Nemôžem vytvoriÅ¥ doÄasný súbor"
 
 # src/utilops.c:1151
-#: src/secure_save.c:406
-#, fuzzy
+#: ../src/secure_save.c:405
 msgid "Cannot rename the file"
-msgstr "Nemô¾em vytvori» prieèinok"
-
-#: src/secure_save.c:408
+msgstr "Nemôžem premenovať tento súbor"
+
+#: ../src/secure_save.c:407
 msgid "File saving disabled by option"
-msgstr ""
-
-#: src/secure_save.c:410
+msgstr "Ukladanie súboru je vypnuté v možnostiach"
+
+#: ../src/secure_save.c:409
 msgid "Out of memory"
-msgstr ""
-
-#: src/secure_save.c:412
+msgstr "Preplnenie pamäte"
+
+#: ../src/secure_save.c:411
 msgid "Cannot write the file"
-msgstr ""
-
-#: src/secure_save.c:416
+msgstr "Nepodarilo sa zapísať do súboru"
+
+#: ../src/secure_save.c:415
 msgid "Secure file saving error"
-msgstr ""
+msgstr "Chyba pri bezpeÄnom ukladaní súboru"
 
 # src/thumb.c:268
-#: src/thumb.c:382
+#: ../src/thumb.c:396
 msgid "Thumbnail image in cache failed to load, trying to recreate.\n"
 msgstr ""
-"Zlyhalo naèítanie miniatúry z vyrovnávacej pamäte, pokus o opätovné "
+"Nepodarilo sa naÄítaÅ¥ náhľad z vyrovnávacej pamäte, pokus o opätovné "
 "vytvorenie\n"
 
 # src/utilops.c:664 src/utilops.c:676
-#: src/trash.c:74 src/utilops.c:1402 src/utilops.c:1415 src/utilops.c:1494
-#: src/utilops.c:1511 src/utilops.c:3095 src/utilops.c:3146 src/utilops.c:3232
-#: src/utilops.c:3243
+#: ../src/trash.c:80 ../src/utilops.c:2448 ../src/utilops.c:2459
+#: ../src/utilops.c:2516
 msgid "Delete failed"
-msgstr "Mazanie sa nepodarilo"
+msgstr "Odstraňovanie sa nepodarilo"
 
 # src/utilops.c:322
-#: src/trash.c:75
+#: ../src/trash.c:81
 msgid "Unable to remove old file from trash folder"
-msgstr "Nemo¾no vybra» starý súbor z ko¹a"
+msgstr "Nemožno vybrať starý súbor z koša"
 
 # src/utilops.c:1151
-#: src/trash.c:126 src/utilops.c:2755
+#: ../src/trash.c:138
 msgid "Could not create folder"
-msgstr "Nemô¾em vytvori» prieèinok"
-
-#: src/trash.c:148
+msgstr "Nemôžem vytvoriÅ¥ prieÄinok"
+
+#: ../src/trash.c:160
 msgid "Permission denied"
-msgstr "Prístup odmietnutý"
+msgstr "Prístup odmietnutý"
 
 # src/ui_pathsel.c:517 src/utilops.c:1158
-#: src/trash.c:158
+#: ../src/trash.c:170
 #, c-format
 msgid ""
 "Unable to access or create the trash folder.\n"
 "\"%s\""
 msgstr ""
-"Nemo¾no pristupova» alebo vytvori» prieèinok ko¹a.\n"
+"Nemožno pristupovaÅ¥ alebo vytvoriÅ¥ prieÄinok koÅ¡a.\n"
 "\"%s\""
 
 # src/preferences.c:667
-#: src/trash.c:162
+#: ../src/trash.c:174
 msgid "Turn off safe delete"
-msgstr "Vypnú» bezpeèné mazanie"
-
-#: src/trash.c:181
+msgstr "Vypnúť bezpeÄné odstraňovanie"
+
+#: ../src/trash.c:193
 msgid "Deletion by external command"
-msgstr ""
-
-#: src/trash.c:189
+msgstr "Odstránenie pomocou externého príkazu"
+
+#: ../src/trash.c:201
 #, c-format
 msgid " (max. %d MB)"
-msgstr ""
+msgstr " (max. %d MB)"
 
 # src/preferences.c:667
-#: src/trash.c:193
-#, fuzzy, c-format
+#: ../src/trash.c:205
+#, c-format
 msgid ""
 "Safe delete: %s%s\n"
 "Trash: %s"
-msgstr "Bezpeèné mazanie: %s"
+msgstr ""
+"BezpeÄné odstraňovanie: %s%s\n"
+"Kôš: %s"
 
 # src/preferences.c:667
-#: src/trash.c:198
+#: ../src/trash.c:210
 #, c-format
 msgid "Safe delete: %s"
-msgstr "Bezpeèné mazanie: %s"
-
-# src/ui_tabcomp.c:171
-#: src/ui_bookmark.c:151
-#, c-format
-msgid "Unable to write history lists to: %s\n"
-msgstr "Nemo¾no zapísa» históriu do: %s\n"
-
-#: src/ui_bookmark.c:443 src/ui_bookmark.c:506
+msgstr "BezpeÄné mazanie: %s"
+
+#: ../src/ui_bookmark.c:130 ../src/ui_bookmark.c:193
 msgid "New Bookmark"
-msgstr "Nová zálo¾ka"
+msgstr "Nová záložka"
 
 # src/preferences.c:915
-#: src/ui_bookmark.c:589 src/ui_bookmark.c:595
+#: ../src/ui_bookmark.c:276 ../src/ui_bookmark.c:282
 msgid "Edit Bookmark"
-msgstr "Upravi» zálo¾ku"
+msgstr "Upraviť záložku"
 
 # src/dupe.c:1657 src/dupe.c:1945
-#: src/ui_bookmark.c:610
+#: ../src/ui_bookmark.c:297
 msgid "Path:"
 msgstr "Cesta:"
 
-#: src/ui_bookmark.c:619
+#: ../src/ui_bookmark.c:306
 msgid "Icon:"
 msgstr "Ikona:"
 
 # src/collect-table.c:628 src/dupe.c:1393 src/dupe.c:1565
-#: src/ui_bookmark.c:625
+#: ../src/ui_bookmark.c:312
 msgid "Select icon"
-msgstr "Vybra» ikonu"
+msgstr "Vybrať ikonu"
 
 # src/menu.c:748
-#: src/ui_bookmark.c:716
+#: ../src/ui_bookmark.c:408
 msgid "_Properties..."
-msgstr "Vlastnosti..."
-
-# src/utilops.c:601
-#: src/ui_bookmark.c:718
-msgid "Move _up"
-msgstr "Pres_unú» hore"
-
-# src/utilops.c:601
-#: src/ui_bookmark.c:720
-msgid "Move _down"
-msgstr "Presunú» _dole"
+msgstr "_Vlastnosti..."
 
 # src/collect-table.c:622 src/dupe.c:1410 src/dupe.c:1568
-#: src/ui_bookmark.c:722
+#: ../src/ui_bookmark.c:414
 msgid "_Remove"
-msgstr "_Vymaza»"
+msgstr "_Odobrať"
+
+#: ../src/ui_fileops.c:94
+msgid ""
+"One or more filenames are not encoded with the preferred locale character "
+"set.\n"
+msgstr ""
+
+#: ../src/ui_fileops.c:95
+#, c-format
+msgid "Operations on, and display of these files with %s may not succeed.\n"
+msgstr ""
+
+#: ../src/ui_fileops.c:97
+msgid ""
+"If your filenames are not encoded in utf-8, try setting the environment "
+"variable G_BROKEN_FILENAMES=1\n"
+msgstr ""
+
+#: ../src/ui_fileops.c:99
+#, c-format
+msgid "It appears G_BROKEN_FILENAMES is set to %s\n"
+msgstr ""
+
+#: ../src/ui_fileops.c:101
+msgid "It appears G_BROKEN_FILENAMES is not set\n"
+msgstr ""
+
+#: ../src/ui_fileops.c:103
+#, c-format
+msgid ""
+"The locale appears to be set to \"%s\"\n"
+"(set by the LANG environment variable)\n"
+msgstr ""
+
+#: ../src/ui_fileops.c:108
+msgid ""
+"\n"
+"Preferred encoding appears to be UTF-8, however the file:\n"
+msgstr ""
+
+#: ../src/ui_fileops.c:109 ../src/ui_fileops.c:112 ../src/ui_fileops.c:114
+#, fuzzy
+msgid "[name not displayable]"
+msgstr "Vzdialený je nedostupný\n"
+
+#: ../src/ui_fileops.c:112
+#, c-format
+msgid "\"%s\" is encoded in valid UTF-8."
+msgstr ""
+
+#: ../src/ui_fileops.c:114
+#, c-format
+msgid "\"%s\" is not encoded in valid UTF-8."
+msgstr ""
+
+#: ../src/ui_fileops.c:119 ../src/ui_fileops.c:124
+msgid "Filename encoding locale mismatch"
+msgstr ""
 
 # src/ui_help.c:191
-#: src/ui_help.c:114
+#: ../src/ui_help.c:114
 #, c-format
 msgid ""
 "Unable to load:\n"
 "%s"
 msgstr ""
-"Nemo¾no naèíta» súbor:\n"
+"Nemožno naÄítaÅ¥ súbor:\n"
 "%s"
 
+# src/utilops.c:1090
+#: ../src/ui_pathsel.c:433 ../src/ui_pathsel.c:439 ../src/utilops.c:2147
+#: ../src/utilops.c:2174 ../src/utilops.c:2640
+msgid "Rename failed"
+msgstr "Premenovanie sa nepodarilo"
+
 # src/ui_pathsel.c:313
-#: src/ui_pathsel.c:438 src/utilops.c:2859
+#: ../src/ui_pathsel.c:438
 #, c-format
 msgid "Failed to rename %s to %s."
-msgstr "Nemo¾no premenova» %s na %s."
-
-# src/ui_pathsel.c:343 src/utilops.c:675 src/utilops.c:727
-#: src/ui_pathsel.c:494 src/utilops.c:1510 src/utilops.c:1703
-#, c-format
-msgid ""
-"Unable to delete file:\n"
-"%s"
-msgstr ""
-"Nemo¾no zmaza» súbor:\n"
-"%s"
-
-# src/ui_pathsel.c:344 src/utilops.c:728
-#: src/ui_pathsel.c:495 src/utilops.c:1452 src/utilops.c:1472
-#: src/utilops.c:1684 src/utilops.c:1696 src/utilops.c:1704
-msgid "File deletion failed"
-msgstr "Zmazanie súboru sa nepodarilo"
-
-# src/ui_pathsel.c:398 src/utilops.c:760
-#: src/ui_pathsel.c:537 src/ui_pathsel.c:545 src/utilops.c:1734
-msgid "Delete file"
-msgstr "Zmaza» súbor"
-
-# src/ui_pathsel.c:397 src/utilops.c:759
-#: src/ui_pathsel.c:543
-#, c-format
-msgid ""
-"About to delete the file:\n"
-" %s"
-msgstr ""
-"Pripravený zmaza» súbor:\n"
-" %s"
+msgstr "Nemožno premenovať %s na %s."
 
 # src/ui_pathsel.c:437 src/ui_pathsel.c:460 src/utilops.c:944
 # src/utilops.c:1095
-#: src/ui_pathsel.c:634 src/ui_pathsel.c:642 src/utilops.c:2428
-#: src/utilops.c:2690
+#: ../src/ui_pathsel.c:634 ../src/ui_pathsel.c:642
 msgid "_Rename"
-msgstr "P_remenova»"
+msgstr "_Premenovať"
 
 # src/preferences.c:915
-#: src/ui_pathsel.c:636 src/ui_pathsel.c:646
+#: ../src/ui_pathsel.c:636 ../src/ui_pathsel.c:646
 msgid "Add _Bookmark"
-msgstr "Prida» zálo¾ku"
+msgstr "Pridať _záložku"
 
 # src/ui_pathsel.c:402 src/ui_pathsel.c:461 src/utilops.c:711
 # src/utilops.c:764
-#: src/ui_pathsel.c:644
+#: ../src/ui_pathsel.c:644
 msgid "_Delete"
-msgstr "Vymaza»"
-
-#: src/ui_pathsel.c:748 src/ui_pathsel.c:1053 src/utilops.c:2807
+msgstr "_Odstrániť"
+
+#: ../src/ui_pathsel.c:748 ../src/ui_pathsel.c:1049 ../src/utilops.c:2674
 msgid "New folder"
-msgstr "Nový prieèinok"
+msgstr "Nový prieÄinok"
 
 # src/ui_pathsel.c:517 src/utilops.c:1158
-#: src/ui_pathsel.c:758 src/utilops.c:2762 src/view_dir.c:511
+#: ../src/ui_pathsel.c:758
 #, c-format
 msgid ""
 "Unable to create folder:\n"
 "%s"
 msgstr ""
-"Nemo¾no vytvori» prieèinok:\n"
+"Nemožno vytvoriÅ¥ prieÄinok:\n"
 "%s"
 
 # src/ui_pathsel.c:518 src/utilops.c:1159
-#: src/ui_pathsel.c:759 src/utilops.c:2763 src/view_dir.c:512
+#: ../src/ui_pathsel.c:759
 msgid "Error creating folder"
-msgstr "Chyba pri vytváraní prieèinka"
+msgstr "Chyba pri vytváraní prieÄinku"
 
 # src/ui_pathsel.c:697
-#: src/ui_pathsel.c:980
+#: ../src/ui_pathsel.c:980
 msgid "All Files"
-msgstr "V¹etky súbory"
+msgstr "Všetky súbory"
 
 # src/ui_pathsel.c:764
-#: src/ui_pathsel.c:1056
+#: ../src/ui_pathsel.c:1052
 msgid "Show hidden"
-msgstr "Ukáza» skryté"
+msgstr "Ukázať skryté"
 
 # src/ui_pathsel.c:799
-#: src/ui_pathsel.c:1140
+#: ../src/ui_pathsel.c:1136
 msgid "Filter:"
 msgstr "Filter:"
 
 # src/collect-table.c:627 src/dupe.c:1391 src/dupe.c:1563
-#: src/ui_tabcomp.c:858
+#: ../src/ui_tabcomp.c:933
 msgid "Select path"
-msgstr "Vybra» cestu"
+msgstr "Vybrať cestu"
 
 # src/ui_pathsel.c:697
-#: src/ui_tabcomp.c:874
+#: ../src/ui_tabcomp.c:949
 msgid "All files"
-msgstr "V¹etky súbory"
-
-# src/utilops.c:382 src/utilops.c:490
-#: src/utilops.c:346 src/utilops.c:811 src/utilops.c:1048
-msgid "Error copying file"
-msgstr "Chyba pri kopírovaní súboru"
-
-# src/utilops.c:491
-#: src/utilops.c:347
-#, fuzzy, c-format
-msgid ""
-"%s\n"
-"Unable to copy file:\n"
-"%s\n"
-"to:\n"
-"%s"
-msgstr ""
-"Nemo¾no kopírova» súbor:\n"
-"%s\n"
-"do:\n"
-"%s"
-
-# src/utilops.c:387 src/utilops.c:495
-#: src/utilops.c:390 src/utilops.c:816 src/utilops.c:1053
-msgid "Error moving file"
-msgstr "Chyba pri presúvaní súboru"
-
-# src/utilops.c:496
-#: src/utilops.c:391
-#, fuzzy, c-format
-msgid ""
-"%s\n"
-"Unable to move file:\n"
-"%s\n"
-"to:\n"
-"%s"
-msgstr ""
-"Nemo¾no presunú» súbor:\n"
-"%s\n"
-"do:\n"
-"%s"
-
-# src/filelist.c:809 src/filelist.c:815 src/filelist.c:821 src/utilops.c:845
-# src/utilops.c:1048
-#: src/utilops.c:439 src/utilops.c:1920 src/utilops.c:2642
-#: src/view_file_list.c:391 src/view_file_list.c:397 src/view_file_list.c:411
-msgid "Error renaming file"
-msgstr "Chyba pri premenovaní súboru"
-
-# src/filelist.c:820 src/utilops.c:1047
-#: src/utilops.c:440
-#, fuzzy, c-format
-msgid ""
-"%s\n"
-"Unable to rename file:\n"
-"%s\n"
-"to:\n"
-"%s"
-msgstr ""
-"Nemo¾no premenova» súbor:\n"
-"%s\n"
-"na:\n"
-"%s"
-
-# src/utilops.c:339 src/utilops.c:459 src/utilops.c:826 src/utilops.c:1032
-#: src/utilops.c:651 src/utilops.c:981 src/utilops.c:1893 src/utilops.c:2613
-msgid "Overwrite file"
-msgstr "Prepísa» súbor"
-
-# src/utilops.c:339 src/utilops.c:459 src/utilops.c:826 src/utilops.c:1032
-#: src/utilops.c:656 src/utilops.c:986 src/utilops.c:1898 src/utilops.c:2618
-msgid "Overwrite file?"
-msgstr "Prepísa» súbor?"
-
-#: src/utilops.c:657 src/utilops.c:987
-msgid "Replace existing file with new file."
-msgstr "Prepísa» existujúci súbor novým."
-
-# src/utilops.c:339 src/utilops.c:459 src/utilops.c:826 src/utilops.c:1032
-#: src/utilops.c:661
-msgid "Overwrite _all"
-msgstr "Prepísa» v¹etky"
-
-# src/utilops.c:345
-#: src/utilops.c:663
-msgid "S_kip all"
-msgstr "Preskoèi» v¹etky"
-
-# src/utilops.c:345
-#: src/utilops.c:664
-msgid "_Skip"
-msgstr "Preskoèi»"
-
-# src/utilops.c:387 src/utilops.c:495
-#: src/utilops.c:665 src/utilops.c:991 src/utilops.c:1904 src/utilops.c:2624
-msgid "Existing file"
-msgstr "Existujúci súbor"
-
-#: src/utilops.c:665 src/utilops.c:991 src/utilops.c:1905 src/utilops.c:2625
-msgid "New file"
-msgstr "Nový súbor"
-
-# src/preferences.c:930
-#: src/utilops.c:675 src/utilops.c:1000 src/utilops.c:2038 src/utilops.c:2094
-#: src/utilops.c:2167 src/utilops.c:2501
-msgid "Auto rename"
-msgstr "Automatické premenovanie"
-
-# src/ui_pathsel.c:437 src/ui_pathsel.c:460 src/utilops.c:944
-# src/utilops.c:1095
-#: src/utilops.c:683 src/utilops.c:1008 src/utilops.c:2423 src/utilops.c:2682
-msgid "Rename"
-msgstr "Premenova»"
-
-# src/utilops.c:316
-#: src/utilops.c:724
-msgid "Source to copy matches destination"
-msgstr "Zdroj pre kopírovanie sa zhoduje s cieµom"
-
-# src/utilops.c:317
-#: src/utilops.c:725
-#, c-format
-msgid ""
-"Unable to copy file:\n"
-"%s\n"
-"to itself."
-msgstr ""
-"Nemo¾no kopírova» súbor:\n"
-"%s\n"
-"do seba."
-
-# src/utilops.c:321
-#: src/utilops.c:729
-msgid "Source to move matches destination"
-msgstr "Zdroj pre presúvanie sa zhoduje s cieµom"
-
-# src/utilops.c:322
-#: src/utilops.c:730
-#, c-format
-msgid ""
-"Unable to move file:\n"
-"%s\n"
-"to itself."
-msgstr ""
-"Nemo¾no presunú» súbor:\n"
-"%s\n"
-"do seba."
-
-# src/utilops.c:328 src/utilops.c:394 src/utilops.c:668
-#: src/utilops.c:738 src/utilops.c:825 src/utilops.c:1408 src/utilops.c:1502
-msgid "Co_ntinue"
-msgstr "Pokraèova»"
-
-# src/utilops.c:383
-#: src/utilops.c:812
-#, c-format
-msgid ""
-"Unable to copy file:\n"
-"%s\n"
-"to:\n"
-"%s\n"
-"during multiple file copy."
-msgstr ""
-"Nemo¾no kopírova» súbor:\n"
-"%s\n"
-"do:\n"
-"%s\n"
-"poèas viacnásobného kopírovania."
-
-# src/utilops.c:388
-#: src/utilops.c:817
-#, c-format
-msgid ""
-"Unable to move file:\n"
-"%s\n"
-"to:\n"
-"%s\n"
-"during multiple file move."
-msgstr ""
-"Nemo¾no presunú» súbor:\n"
-"%s\n"
-"do:\n"
-"%s\n"
-"poèas viacnásobného presúvania."
-
-# src/utilops.c:450
-#: src/utilops.c:972
-msgid "Source matches destination"
-msgstr "Zdroj zodpovedá cieµu"
-
-# src/utilops.c:451
-#: src/utilops.c:973
-msgid "Source and destination are the same, operation cancelled."
-msgstr "Zdroj a cieµ sú toto¾né, operácia zru¹ená."
-
-# src/utilops.c:491
-#: src/utilops.c:1049
-#, c-format
-msgid ""
-"Unable to copy file:\n"
-"%s\n"
-"to:\n"
-"%s"
-msgstr ""
-"Nemo¾no kopírova» súbor:\n"
-"%s\n"
-"do:\n"
-"%s"
-
-# src/utilops.c:496
-#: src/utilops.c:1054
-#, c-format
-msgid ""
-"Unable to move file:\n"
-"%s\n"
-"to:\n"
-"%s"
-msgstr ""
-"Nemo¾no presunú» súbor:\n"
-"%s\n"
-"do:\n"
-"%s"
-
-# src/utilops.c:539
-#: src/utilops.c:1102
-msgid "Invalid destination"
-msgstr "Chybný cieµ"
-
-# src/utilops.c:540
-#: src/utilops.c:1103
-msgid ""
-"When operating with multiple files, please select\n"
-"a folder, not a file."
-msgstr ""
-"Keï narábate s viacerými súbormi, prosím zvoµte\n"
-" prieèinok, nie súbor."
-
-# src/utilops.c:544
-#: src/utilops.c:1108
-msgid "Please select an existing folder."
-msgstr "Prosím zvoµte existujúci prieèinok"
-
-# src/utilops.c:592
-#: src/utilops.c:1178 src/view_dir.c:338
-msgid "_Copy"
-msgstr "Kopírova»"
-
-# src/utilops.c:1090
-#: src/utilops.c:1181
-msgid "Copy file"
-msgstr "Kopírova» súbor:"
-
-# src/utilops.c:596
-#: src/utilops.c:1185
-msgid "Copy multiple files"
-msgstr "Kopírova» viacero súborov"
-
-# src/utilops.c:601
-#: src/utilops.c:1192 src/view_dir.c:340
-msgid "_Move"
-msgstr "Presunú»"
-
-# src/utilops.c:1090
-#: src/utilops.c:1195
-msgid "Move file"
-msgstr "Presunú» súbor"
-
-# src/utilops.c:605
-#: src/utilops.c:1199
-msgid "Move multiple files"
-msgstr "Presunú» viacero súborov"
-
-# src/utilops.c:980
-#: src/utilops.c:1214 src/utilops.c:1744
-msgid "File name:"
-msgstr "Názov súboru:"
-
-# src/utilops.c:450
-#: src/utilops.c:1218
-msgid "Choose the destination folder."
-msgstr "Výber cieµového prieèinku."
-
-# src/ui_pathsel.c:343 src/utilops.c:675 src/utilops.c:727
-#: src/utilops.c:1389
+msgstr "Všetky súbory"
+
+# src/utilops.c:663
+#: ../src/utilops.c:547
 #, fuzzy
 msgid ""
 "\n"
-"Unable to delete file by external command:\n"
-msgstr ""
-"Nemo¾no zmaza» súbor:\n"
-"%s"
-
-# src/utilops.c:663
-#: src/utilops.c:1401
-#, fuzzy
-msgid ""
+" Continue multiple file operation?"
+msgstr ""
 "\n"
-" Continue multiple delete operation?"
-msgstr ""
-"Nemo¾no zmaza» súbor:\n"
-" %s\n"
-" Pokraèova» s viacnásobnou operáciou mazania?"
-
-#: src/utilops.c:1452 src/utilops.c:1684
-msgid "Another operation in progress.\n"
-msgstr ""
-
-# src/ui_pathsel.c:343 src/utilops.c:675 src/utilops.c:727
-#: src/utilops.c:1471
-#, fuzzy, c-format
-msgid ""
-"%s\n"
-"Unable to delete files by external command.\n"
-msgstr ""
-"Nemo¾no zmaza» súbor:\n"
-"%s"
-
-# src/utilops.c:663
-#: src/utilops.c:1498
-#, c-format
-msgid ""
-"Unable to delete file:\n"
-" %s\n"
-" Continue multiple delete operation?"
-msgstr ""
-"Nemo¾no zmaza» súbor:\n"
-" %s\n"
-" Pokraèova» s viacnásobnou operáciou mazania?"
-
-#: src/utilops.c:1569
-#, c-format
-msgid "File %d of %d"
-msgstr "Súbor %d z %d"
-
-# src/ui_pathsel.c:398 src/utilops.c:760
-#: src/utilops.c:1637
-#, fuzzy
-msgid "Delete files"
-msgstr "Zmaza» súbor"
-
-# src/utilops.c:942
-#: src/utilops.c:1643
-msgid "Delete multiple files"
-msgstr "Zmaza» viacero súborov"
-
-# src/dupe.c:67 src/dupe.c:1449
-#: src/utilops.c:1661
-#, c-format
-msgid "Review %d files"
-msgstr "Prehµad %d súborov"
-
-# src/ui_pathsel.c:343 src/utilops.c:675 src/utilops.c:727
-#: src/utilops.c:1695
-#, fuzzy, c-format
-msgid ""
-"%s\n"
-"Unable to delete file by external command:\n"
-"%s"
-msgstr ""
-"Nemo¾no zmaza» súbor:\n"
-"%s"
-
-# src/ui_pathsel.c:398 src/utilops.c:760
-#: src/utilops.c:1740
-msgid "Delete file?"
-msgstr "Zmaza» súbor?"
-
-#: src/utilops.c:1899 src/utilops.c:2619
-msgid "Replace existing file by renaming new file."
-msgstr "Prepísa» existujúci súbor premenovaním nového súboru."
-
-# src/utilops.c:842
-#: src/utilops.c:1917
-#, c-format
-msgid ""
-"Unable to rename file:\n"
-"%s\n"
-" to:\n"
-"%s"
-msgstr ""
-"Nemo¾no premenova» súbor:\n"
-"%s\n"
-" na:\n"
-"%s"
-
-#: src/utilops.c:2039
-msgid "Format must include at least one of the symbol characters '*' or '#'.\n"
-msgstr ""
-
-#: src/utilops.c:2095
-msgid ""
-"Can not auto rename with the selected\n"
-"number set, one or more files exist that\n"
-"match the resulting name list.\n"
-msgstr ""
-"Nemô¾em automaticky premenova» s vybranou\n"
-"èíselnou sadou, preto¾e existujú nejaké súbory,\n"
-"ktorých mená sa nachádzajú vo výslednom zozname.\n"
-
-# src/ui_pathsel.c:313
-#: src/utilops.c:2166
-#, c-format
-msgid ""
-"Failed to rename\n"
-"%s\n"
-"The number was %d."
-msgstr ""
-"Premenovanie sa nepodarilo\n"
-"%s\n"
-"Èíslo bolo: %d."
-
-# src/utilops.c:942
-#: src/utilops.c:2427
-msgid "Rename multiple files"
-msgstr "Premenova» viacero súborov"
-
-#: src/utilops.c:2461
-msgid "Original Name"
-msgstr "Pôvodný názov"
-
-# src/preferences.c:930
-#: src/utilops.c:2499
-#, fuzzy
-msgid "Manual rename"
-msgstr "Názov ponuky"
-
-#: src/utilops.c:2500
-msgid "Formatted rename"
-msgstr ""
-
-#: src/utilops.c:2513 src/utilops.c:2697
-msgid "Original name:"
-msgstr "Pôvodný názov:"
-
-# src/utilops.c:980
-#: src/utilops.c:2516 src/utilops.c:2700
-msgid "New name:"
-msgstr "Nový názov:"
-
-#: src/utilops.c:2534
-msgid "Begin text"
-msgstr "Zaèiatoèný text"
-
-#: src/utilops.c:2542 src/utilops.c:2574
-msgid "Start #"
-msgstr "©tart #"
-
-#: src/utilops.c:2548
-msgid "End text"
-msgstr "Koncový text"
-
-#: src/utilops.c:2556
-msgid "Padding:"
-msgstr "výplò:"
-
-#: src/utilops.c:2566
-msgid "Format (* = original name, ## = numbers)"
-msgstr ""
-
-# src/filelist.c:820 src/utilops.c:1047
-#: src/utilops.c:2641 src/view_file_list.c:410
-#, c-format
-msgid ""
-"Unable to rename file:\n"
-"%s\n"
-"to:\n"
-"%s"
-msgstr ""
-"Nemo¾no premenova» súbor:\n"
-"%s\n"
-"na:\n"
-"%s"
-
-# src/utilops.c:1090
-#: src/utilops.c:2687
-msgid "Rename file"
-msgstr "Premenova» súbor"
-
-# src/utilops.c:1144
-#: src/utilops.c:2748 src/utilops.c:2841
-#, c-format
-msgid ""
-"The folder:\n"
-"%s\n"
-"already exists."
-msgstr ""
-"Prieèinok:\n"
-"%s\n"
-"u¾ existuje."
-
-# src/preferences.c:368
-#: src/utilops.c:2749 src/utilops.c:2842
-msgid "Folder exists"
-msgstr "Prieèinok existuje"
-
-# src/utilops.c:1150
-#: src/utilops.c:2754 src/utilops.c:2850
-#, c-format
-msgid ""
-"The path:\n"
-"%s\n"
-"already exists as a file."
-msgstr ""
-"Cesta:\n"
-"%s\n"
-"u¾ existuje ako súbor."
-
-# src/utilops.c:1211
-#: src/utilops.c:2812
-#, c-format
-msgid ""
-"Create folder in:\n"
-"%s\n"
-"named:"
-msgstr ""
-"Vytvori» prieèinok v:\n"
-"%s\n"
-"nazva» ho:"
-
-# src/utilops.c:1090
-#: src/utilops.c:2851 src/utilops.c:2860
-msgid "Rename failed"
-msgstr "Premenovanie sa nepodarilo"
-
-#: src/utilops.c:2967
-#, fuzzy
-msgid "Location"
-msgstr "Umiestnenie:"
-
-# src/ui_pathsel.c:343 src/utilops.c:675 src/utilops.c:727
-#: src/utilops.c:3145
-#, fuzzy, c-format
-msgid ""
-"Unable to delete folder:\n"
-"\n"
-"%s"
-msgstr ""
-"Nemo¾no zmaza» súbor:\n"
-"%s"
-
-#: src/utilops.c:3152
+" PokraÄovaÅ¥ s operáciou hromadného odstraňovania?"
+
+# src/utilops.c:328 src/utilops.c:394 src/utilops.c:668
+#: ../src/utilops.c:554 ../src/utilops.c:989
+msgid "Co_ntinue"
+msgstr "_PokraÄovaÅ¥"
+
+#: ../src/utilops.c:731
 #, c-format
 msgid ""
 "Removal of folder contents failed at this file:\n"
 "\n"
 "%s"
 msgstr ""
+"Odoberanie obsahu prieÄinka zlyhalo na tomto súbore:\n"
+"\n"
+"%s"
+
+# src/ui_pathsel.c:343 src/utilops.c:675 src/utilops.c:727
+#: ../src/utilops.c:877
+#, fuzzy, c-format
+msgid ""
+"%s\n"
+"Unable to start external command.\n"
+msgstr ""
+"%s\n"
+"Nemožno odstrániť súbory externým príkazom.\n"
+
+# src/preferences.c:559
+#: ../src/utilops.c:957
+#, fuzzy, c-format
+msgid "%s is not a directory"
+msgstr "ZaÄiatoÄný adresár"
+
+#: ../src/utilops.c:987
+msgid "Really continue?"
+msgstr ""
+
+#: ../src/utilops.c:1001
+msgid "This operation can't continue:"
+msgstr ""
+
+#: ../src/utilops.c:1364 ../src/utilops.c:1477 ../src/utilops.c:1861
+#, fuzzy
+msgid "Discard changes"
+msgstr "_Zahodiť"
+
+# src/ui_pathsel.c:799
+#: ../src/utilops.c:1365 ../src/utilops.c:1478 ../src/utilops.c:1811
+#: ../src/utilops.c:1827
+#, fuzzy
+msgid "File details"
+msgstr "Dátum súboru je"
+
+#: ../src/utilops.c:1387 ../src/utilops.c:1485
+msgid "Sidecars"
+msgstr ""
+
+# src/utilops.c:339 src/utilops.c:459 src/utilops.c:826 src/utilops.c:1032
+#: ../src/utilops.c:1389
+#, fuzzy
+msgid "Write to file"
+msgstr "Prepísať súbor"
+
+# src/utilops.c:450
+#: ../src/utilops.c:1429
+msgid "Choose the destination folder."
+msgstr "Vyberte cieľový prieÄinok."
+
+# src/utilops.c:980
+#: ../src/utilops.c:1487
+#, fuzzy
+msgid "New name"
+msgstr "Nový názov:"
+
+# src/preferences.c:930
+#: ../src/utilops.c:1517
+msgid "Manual rename"
+msgstr "RuÄné premenovanie"
+
+#: ../src/utilops.c:1522
+msgid "Original name:"
+msgstr "Pôvodný názov:"
+
+# src/utilops.c:980
+#: ../src/utilops.c:1525
+msgid "New name:"
+msgstr "Nový názov:"
+
+# src/preferences.c:930
+#: ../src/utilops.c:1538
+msgid "Auto rename"
+msgstr "Automatické premenovanie"
+
+#: ../src/utilops.c:1544
+msgid "Begin text"
+msgstr "ZaÄiatoÄný text"
+
+#: ../src/utilops.c:1552 ../src/utilops.c:1584
+msgid "Start #"
+msgstr "Å tart #"
+
+#: ../src/utilops.c:1558
+msgid "End text"
+msgstr "Koncový text"
+
+#: ../src/utilops.c:1566
+msgid "Padding:"
+msgstr "Výplň:"
+
+#: ../src/utilops.c:1571
+msgid "Formatted rename"
+msgstr "Formátované premenovanie"
+
+#: ../src/utilops.c:1576
+msgid "Format (* = original name, ## = numbers)"
+msgstr "Formát (* = pôvodné meno, ## = Äísla)"
+
+#: ../src/utilops.c:1714
+msgid "Another operation in progress.\n"
+msgstr "Momentálne prebieha iná operácia.\n"
+
+# src/ui_pathsel.c:799
+#: ../src/utilops.c:1770
+#, fuzzy, c-format
+msgid "File: '%s'\n"
+msgstr "Súbor:"
+
+#: ../src/utilops.c:1775
+msgid "with sidecar files:\n"
+msgstr ""
+
+#: ../src/utilops.c:1781
+#, c-format
+msgid " '%s'\n"
+msgstr ""
+
+#: ../src/utilops.c:1785
+msgid ""
+"\n"
+"Status: "
+msgstr ""
+
+#: ../src/utilops.c:1797
+msgid "no problem detected"
+msgstr ""
+
+#: ../src/utilops.c:1813 ../src/utilops.c:1860
+#, fuzzy
+msgid "Exclude file"
+msgstr "okrem"
+
+#: ../src/utilops.c:1858 ../src/utilops.c:1883
+msgid "Overview of changed metadata"
+msgstr ""
+
+#: ../src/utilops.c:1876
+#, c-format
+msgid ""
+"The following metadata tags will be written to\n"
+"'%s'."
+msgstr ""
+
+#: ../src/utilops.c:1880
+#, c-format
+msgid "The following metadata tags will be written to the image file itself."
+msgstr ""
+
+# src/ui_pathsel.c:398 src/utilops.c:760
+#: ../src/utilops.c:1986
+#, fuzzy
+msgid "Delete files?"
+msgstr "Odstrániť súbor"
+
+#: ../src/utilops.c:1987
+#, fuzzy
+msgid "This will delete the following files"
+msgstr "Týmto sa odstráni obsah koša."
+
+#: ../src/utilops.c:2006
+msgid "Can't write metadata"
+msgstr ""
+
+#: ../src/utilops.c:2029
+#, fuzzy
+msgid "Write metadata"
+msgstr "Metadáta"
+
+#: ../src/utilops.c:2030
+#, fuzzy
+msgid "Write metadata?"
+msgstr "Metadáta"
+
+#: ../src/utilops.c:2031
+#, fuzzy
+msgid "This will write the changed metadata into the following files"
+msgstr ""
+"Chystám sa nastaviť príkazy na úpravu na predvolené hodnoty.\n"
+"PokraÄovaÅ¥?"
+
+#: ../src/utilops.c:2033
+msgid "Metadata writting failed"
+msgstr ""
+
+# src/utilops.c:1090
+#: ../src/utilops.c:2052 ../src/utilops.c:2079
+#, fuzzy
+msgid "Move failed"
+msgstr "Presunúť súbor"
+
+# src/utilops.c:1090
+#: ../src/utilops.c:2076
+#, fuzzy
+msgid "Move files?"
+msgstr "Presunúť súbor"
+
+#: ../src/utilops.c:2077
+#, fuzzy
+msgid "This will move the following files"
+msgstr "Týmto sa odstráni obsah koša."
+
+# src/utilops.c:1090
+#: ../src/utilops.c:2101 ../src/utilops.c:2128
+#, fuzzy
+msgid "Copy failed"
+msgstr "Kopírovať súbor"
+
+# src/utilops.c:1090
+#: ../src/utilops.c:2125
+#, fuzzy
+msgid "Copy files?"
+msgstr "Kopírovať súbor"
+
+#: ../src/utilops.c:2126 ../src/utilops.c:2260
+msgid "This will copy the following files"
+msgstr ""
+
+# src/ui_pathsel.c:437 src/ui_pathsel.c:460 src/utilops.c:944
+# src/utilops.c:1095
+#: ../src/utilops.c:2170 ../src/utilops.c:2636
+msgid "Rename"
+msgstr "Premenovať"
+
+# src/utilops.c:1090
+#: ../src/utilops.c:2171
+#, fuzzy
+msgid "Rename files?"
+msgstr "Premenovať súbor"
+
+#: ../src/utilops.c:2172
+#, fuzzy
+msgid "This will rename the following files"
+msgstr "Týmto sa odstráni obsah koša."
+
+#: ../src/utilops.c:2224
+#, fuzzy
+msgid "Can't run external editor"
+msgstr "Nepodarilo sa spustiť externý editor."
+
+# src/preferences.c:915
+#: ../src/utilops.c:2258
+#, fuzzy
+msgid "Editor"
+msgstr "Editory"
+
+# src/utilops.c:707
+#: ../src/utilops.c:2259
+#, fuzzy
+msgid "Run editor?"
+msgstr "Vynulovať editory"
+
+#: ../src/utilops.c:2262
+#, fuzzy
+msgid "External command failed"
+msgstr "Externý príkaz na kopírovanie"
 
 # src/collect-table.c:628 src/dupe.c:1393 src/dupe.c:1565
-#: src/utilops.c:3207 src/utilops.c:3291
-#, fuzzy
+#: ../src/utilops.c:2431 ../src/utilops.c:2504
 msgid "Delete folder"
-msgstr "Vybra» prieèinok"
-
-#: src/utilops.c:3211
-#, c-format
+msgstr "OdstrániÅ¥ prieÄinok"
+
+#: ../src/utilops.c:2432
+#, fuzzy
+msgid "Delete symbolic link?"
+msgstr "OdstrániÅ¥ symbolický odkaz na prieÄinok?"
+
+#: ../src/utilops.c:2434
+#, fuzzy
 msgid ""
-"This will delete the symbolic link:\n"
+"This will delete the symbolic link.\n"
+"The folder this link points to will not be deleted."
+msgstr ""
+"Týmto sa odstráni symbolický odkaz:\n"
 "\n"
 "%s\n"
 "\n"
-"The folder this link points to will not be deleted."
-msgstr ""
-
-#: src/utilops.c:3215
-msgid "Delete symbolic link to folder?"
-msgstr ""
+"PrieÄinok, na ktorý odkaz smeruje, nebude odstránený."
+
+# src/ui_pathsel.c:344 src/utilops.c:728
+#: ../src/utilops.c:2436
+#, fuzzy
+msgid "Link deletion failed"
+msgstr "Nepodarilo sa odstrániť súbor"
 
 # src/utilops.c:322
-#: src/utilops.c:3230
-#, fuzzy, c-format
+#: ../src/utilops.c:2446
+#, c-format
 msgid ""
 "Unable to remove folder %s\n"
 "Permissions do not allow writing to the folder."
-msgstr "Nemo¾no vybra» starý súbor z ko¹a"
+msgstr ""
+"Nemožno odobraÅ¥ prieÄinok %s\n"
+"Prístupové oprávnenia neumožňujú zápis do tohto prieÄinku."
 
 # src/ui_pathsel.c:517 src/utilops.c:1158
-#: src/utilops.c:3242
-#, fuzzy, c-format
+#: ../src/utilops.c:2458 ../src/utilops.c:2515
+#, c-format
 msgid "Unable to list contents of folder %s"
-msgstr ""
-"Nemo¾no vytvori» prieèinok:\n"
-"%s"
+msgstr "Nemožno zobraziÅ¥ obsah prieÄinku %s"
 
 # src/collect-dlg.c:59
-#: src/utilops.c:3256 src/utilops.c:3264
-#, fuzzy
+#: ../src/utilops.c:2472 ../src/utilops.c:2480
 msgid "Folder contains subfolders"
-msgstr "Vrátane podprieèinkov"
-
-#: src/utilops.c:3260
+msgstr "PrieÄinok obsahuje podprieÄinky"
+
+#: ../src/utilops.c:2476
 #, c-format
 msgid ""
 "Unable to delete the folder:\n"
@@ -5060,175 +6208,872 @@
 "\n"
 "This folder contains subfolders which must be moved before it can be deleted."
 msgstr ""
+"Nemožno odstrániÅ¥ tento prieÄinok:\n"
+"\n"
+"%s\n"
+"\n"
+"Tento prieÄinok obsahuje podprieÄinky, ktoré sa najprv musia presunúť, a až "
+"potom ho bude možné odstrániť."
 
 # src/preferences.c:368
-#: src/utilops.c:3268
-#, fuzzy
+#: ../src/utilops.c:2484
 msgid "Subfolders:"
-msgstr "prieèinok"
-
-#: src/utilops.c:3295
-#, c-format
+msgstr "PodprieÄinky:"
+
+# src/ui_pathsel.c:398 src/utilops.c:760
+#: ../src/utilops.c:2505
+msgid "Delete folder?"
+msgstr "OdstrániÅ¥ prieÄinok?"
+
+# src/collect-dlg.c:59
+#: ../src/utilops.c:2506
+#, fuzzy
+msgid "The folder contains these files:"
+msgstr "PrieÄinok obsahuje podprieÄinky"
+
+#: ../src/utilops.c:2507
+#, fuzzy
 msgid ""
-"This will delete the folder:\n"
+"This will delete the folder.\n"
+"The contents of this folder will also be deleted."
+msgstr ""
+"Týmto bude odstránený prieÄinok:\n"
 "\n"
 "%s\n"
 "\n"
-"The contents of this folder will also be deleted."
-msgstr ""
+"Obsah prieÄinku bude tiež odstránený."
+
+# src/utilops.c:1090
+#: ../src/utilops.c:2637
+#, fuzzy
+msgid "Rename folder?"
+msgstr "Premenovať súbor"
+
+# src/collect-dlg.c:59
+#: ../src/utilops.c:2638
+#, fuzzy
+msgid "The folder contains the following files"
+msgstr "PrieÄinok obsahuje podprieÄinky"
+
+# src/collect-table.c:628 src/dupe.c:1393 src/dupe.c:1565
+#: ../src/utilops.c:2684
+#, fuzzy
+msgid "Create Folder"
+msgstr "OdstrániÅ¥ prieÄinok"
 
 # src/ui_pathsel.c:398 src/utilops.c:760
-#: src/utilops.c:3299
-#, fuzzy
-msgid "Delete folder?"
-msgstr "Zmaza» súbor?"
-
-# src/menu.c:776
-#: src/utilops.c:3303
-#, fuzzy
-msgid "Contents:"
-msgstr "Obsah"
-
-# src/menu.c:768
-#: src/view_dir.c:30
-#, fuzzy
-msgid "_Tree"
-msgstr "S_trom"
-
-#: src/view_dir.c:502
-msgid "new_folder"
-msgstr "nový prieèinok"
-
-#: src/view_dir.c:587
+#: ../src/utilops.c:2685
+#, fuzzy
+msgid "Create folder?"
+msgstr "OdstrániÅ¥ prieÄinok?"
+
+# src/utilops.c:1151
+#: ../src/utilops.c:2688
+#, fuzzy
+msgid "Can't create folder"
+msgstr "Nemôžem vytvoriÅ¥ prieÄinok"
+
+# src/utilops.c:592
+#: ../src/view_dir.c:397
+msgid "_Copy"
+msgstr "_Kopírovať"
+
+# src/utilops.c:601
+#: ../src/view_dir.c:399
+msgid "_Move"
+msgstr "_Presunúť"
+
+#: ../src/view_dir.c:645
 msgid "_Up to parent"
-msgstr "O stupeò vy¹¹ie"
+msgstr "O stupeň _vyššie"
 
 # src/menu.c:879
-#: src/view_dir.c:592
+#: ../src/view_dir.c:650
 msgid "_Slideshow"
-msgstr "Prezentácia"
+msgstr "_Prezentácia"
 
 # src/menu.c:881
-#: src/view_dir.c:594
+#: ../src/view_dir.c:652
 msgid "Slideshow recursive"
-msgstr "Prezentácia rekurzívne"
+msgstr "Prezentácia rekurzívne"
 
 # src/collect-table.c:644 src/menu.c:885
-#: src/view_dir.c:598
+#: ../src/view_dir.c:656
 msgid "Find _duplicates..."
-msgstr "Nájs» _duplikáty..."
+msgstr "Nájsť _duplikáty..."
 
 # src/menu.c:887
-#: src/view_dir.c:600
+#: ../src/view_dir.c:658
 msgid "Find duplicates recursive..."
-msgstr "Nájs» duplikáty rekurzívne..."
-
-#: src/view_dir.c:605
+msgstr "Nájsť duplikáty rekurzívne..."
+
+#: ../src/view_dir.c:663
 msgid "_New folder..."
-msgstr "_Nový prieèinok..."
-
-# src/menu.c:753
-#: src/view_dir.c:619
-#, fuzzy
-msgid "_View as"
-msgstr "Zobrazi»"
+msgstr "_Nový prieÄinok..."
+
+# src/dupe.c:1655 src/dupe.c:1944
+#: ../src/view_dir.c:677 ../src/view_file.c:619
+#, fuzzy
+msgid "View as _List"
+msgstr "Zobraziť ako _ikony"
+
+# src/menu.c:761
+#: ../src/view_dir.c:680
+#, fuzzy
+msgid "View as _Tree"
+msgstr "Zobraziť ako s_trom"
 
 # src/ui_pathsel.c:764
-#: src/view_dir.c:631
-#, fuzzy
+#: ../src/view_dir.c:685
 msgid "Show _hidden files"
-msgstr "Ukáza» skryté"
+msgstr "Ukázať _skryté súbory"
 
 # src/menu.c:891 src/menu.c:920
-#: src/view_dir.c:634 src/view_file.c:606
+#: ../src/view_dir.c:688 ../src/view_file.c:637
 msgid "Re_fresh"
-msgstr "Obnovi»"
-
-# src/menu.c:559
-#: src/view_file.c:588
-msgid "_Sort"
-msgstr "U_sporiada»"
+msgstr "_Obnoviť"
 
 # src/dupe.c:1655 src/dupe.c:1944
-#: src/view_file.c:591
-msgid "View as _icons"
-msgstr "Zobrazi» ako _ikony"
+#: ../src/view_file.c:622
+#, fuzzy
+msgid "View as _Icons"
+msgstr "Zobraziť ako _ikony"
 
 # src/preferences.c:603
-#: src/view_file.c:597
+#: ../src/view_file.c:628
 msgid "Show _thumbnails"
-msgstr "Zobrazi» minia_túry"
+msgstr "Zobraziť _náhľady"
+
+#: ../src/view_file_icon.c:2199 ../src/view_file_list.c:899
+msgid " [NO GROUPING]"
+msgstr ""
 
 # src/filelist.c:808
-#: src/view_file_list.c:390
+#: ../src/view_file_list.c:512
 #, c-format
 msgid ""
 "Invalid file name:\n"
 "%s"
 msgstr ""
-"Nesprávne meno súboru:\n"
+"Nesprávny názov súboru:\n"
 "%s"
 
-#: src/view_file_list.c:1821
-msgid "SC"
-msgstr ""
+# src/filelist.c:809 src/filelist.c:815 src/filelist.c:821 src/utilops.c:845
+# src/utilops.c:1048
+#: ../src/view_file_list.c:513
+msgid "Error renaming file"
+msgstr "Chyba pri premenovaní súboru"
 
 # src/menu.c:771
-#: src/window.c:226
+#: ../src/window.c:252
 msgid "Help"
 msgstr "Pomoc"
 
+#~ msgid "Advanced view"
+#~ msgstr "Rozšírený pohľad"
+
+#~ msgid "Favorite"
+#~ msgstr "Obľúbené"
+
+# src/preferences.c:368
+#~ msgid "Todo"
+#~ msgstr "Úlohy"
+
+#~ msgid "Possessions"
+#~ msgstr "Predmety"
+
+#~ msgid "Keyword Presets"
+#~ msgstr "Predvolené kľúÄové slová"
+
+#~ msgid "Favorite keywords list"
+#~ msgstr "Zoznam obľúbených kľúÄových slov"
+
+#~ msgid "Edit favorite keywords list."
+#~ msgstr "UpraviÅ¥ zoznam obľúbených kľúÄových slov."
+
+#~ msgid "Add keywords to selected files, replacing existing ones"
+#~ msgstr "PridaÅ¥ kľúÄové slová do vybraných súborov, existujúce prepísaÅ¥"
+
+#~ msgid "Add comment to selected files, replacing existing one"
+#~ msgstr "Pridať poznámku k vybraným súborom, existujúce poznámky sa prepíšu."
+
+# src/collect-dlg.c:165 src/collect-table.c:641
+#~ msgid "Save comment now"
+#~ msgstr "Uložiť poznámku"
+
+# src/utilops.c:496
+#~ msgid ""
+#~ "Unable to remove symbolic link:\n"
+#~ "%s"
+#~ msgstr ""
+#~ "Nemožno odstrániť symbolický odkaz:\n"
+#~ "%s"
+
+# src/utilops.c:664 src/utilops.c:676
+#~ msgid "Unlink failed"
+#~ msgstr "Odpájanie sa nepodarilo"
+
+# src/ui_pathsel.c:517 src/utilops.c:1158
+#~ msgid ""
+#~ "Unable to create symbolic link:\n"
+#~ "%s"
+#~ msgstr ""
+#~ "Nemožno vytvoriť symbolický odkaz:\n"
+#~ "%s"
+
+#~ msgid "Link failed"
+#~ msgstr "Pripojenie sa nepodarilo"
+
+#~ msgid "Link"
+#~ msgstr "Pripojiť"
+
+#~ msgid "Text to render"
+#~ msgstr "Text pre vykreslenie"
+
+#~ msgid "Background color"
+#~ msgstr "Farba pozadia"
+
+#~ msgid "Background color as a GdkColor"
+#~ msgstr "Farba pozadia podľa GdkColor"
+
+#~ msgid "Foreground color"
+#~ msgstr "Farba popredia"
+
+#~ msgid "Foreground color as a GdkColor"
+#~ msgstr "Farba popredia ako GdkColor"
+
+#~ msgid "Focus"
+#~ msgstr "Ohnisko"
+
+#~ msgid "Fixed width"
+#~ msgstr "Pevná šírka"
+
+#~ msgid "Width of cell"
+#~ msgstr "Šírka bunky"
+
+#~ msgid "Fixed height"
+#~ msgstr "Pevná výška"
+
+#~ msgid "Height of icon excluding text"
+#~ msgstr "Výška ikony okrem textu"
+
+#~ msgid "Background set"
+#~ msgstr "Pozadie nastavené"
+
+#~ msgid "Whether this tag affects the background color"
+#~ msgstr "UrÄuje, Äi táto znaÄka ovplyvňuje farbu pozadia"
+
+#~ msgid "Foreground set"
+#~ msgstr "Popredie nastavené"
+
+#~ msgid "Whether this tag affects the foreground color"
+#~ msgstr "UrÄuje, Äi táto znaÄka ovplyvňuje farbu popredia"
+
+# src/ui_pathsel.c:764
+#~ msgid "Show text"
+#~ msgstr "Zobraziť text"
+
+#~ msgid "Whether the text is displayed"
+#~ msgstr "UrÄuje, Äi sa zobrazuje text"
+
+# src/collect-table.c:82
+#~ msgid "%d images (%d)"
+#~ msgstr "%d obrázkov (%d)"
+
+# src/menu.c:748
+#~ msgid "_Properties"
+#~ msgstr "_Vlastnosti"
+
+# src/main.c:552
+#~ msgid "The Gimp"
+#~ msgstr "Gimp"
+
+# src/main.c:558
+#~ msgid "XV"
+#~ msgstr "XV"
+
+# src/main.c:561
+#~ msgid "Xpaint"
+#~ msgstr "Xpaint"
+
+#~ msgid "UFraw"
+#~ msgstr "UFraw"
+
+#~ msgid "Add XMP sidecar"
+#~ msgstr "Pridať XMP prívesok"
+
+# src/menu.c:572
+#~ msgid "Rotate jpeg clockwise"
+#~ msgstr "OtoÄiÅ¥ jpeg v smere hodinových ruÄiÄiek"
+
+# src/menu.c:575
+#~ msgid "Rotate jpeg counterclockwise"
+#~ msgstr "OtoÄiÅ¥ jpeg proti smeru hodinových ruÄiÄiek"
+
+#~ msgid "External Move command"
+#~ msgstr "Externý príkaz na presun"
+
+#~ msgid "External Rename command"
+#~ msgstr "Externý príkaz na premenovanie"
+
+# src/preferences.c:669
+#~ msgid "External Delete command"
+#~ msgstr "Externý príkaz pre odstránenie"
+
+#~ msgid "External New Folder command"
+#~ msgstr "Externý príkaz pre Nový prieÄinok"
+
+#~ msgid "logarithmical histogram on red"
+#~ msgstr "logaritmický histogram Äervenej"
+
+#~ msgid "logarithmical histogram on green"
+#~ msgstr "logaritmický histogram zelenej"
+
+#~ msgid "logarithmical histogram on blue"
+#~ msgstr "logaritmický histogram modrej"
+
+#~ msgid "logarithmical histogram on value"
+#~ msgstr "logaritmický histogram hodnoty"
+
+#~ msgid "logarithmical histogram on RGB"
+#~ msgstr "logaritmický histogram RGB"
+
+#~ msgid "logarithmical histogram on max value"
+#~ msgstr "logaritmický histogram maximálnej hodnoty"
+
+#~ msgid "linear histogram on max value"
+#~ msgstr "lineárny histogram maximálnej hodnoty"
+
+# src/dupe.c:1655 src/dupe.c:1944
+#~ msgid "Dimensions:"
+#~ msgstr "Rozmery:"
+
+#~ msgid "Transparent:"
+#~ msgstr "Priehľadnosť:"
+
+# src/dupe.c:1948
+#~ msgid "Compress ratio:"
+#~ msgstr "Kompresný pomer:"
+
+# src/ui_pathsel.c:799
+#~ msgid "File type:"
+#~ msgstr "Typ súboru:"
+
+#~ msgid "Owner:"
+#~ msgstr "Vlastník:"
+
+#~ msgid "Group:"
+#~ msgstr "Skupina:"
+
+#~ msgid "Image %d of %d"
+#~ msgstr "Obrázok %d z %d"
+
+#~ msgid "Image properties"
+#~ msgstr "Vlastnosti obrázku"
+
+#~ msgid ""
+#~ "This installation of %s was not built with support for color profiles."
+#~ msgstr "Táto inštalácia %s nebola vytvorená s podporou pre farebné profily."
+
+# src/menu.c:430 src/menu.c:457
+#~ msgid "_%d %s..."
+#~ msgstr "_%d %s..."
+
+# src/menu.c:432 src/menu.c:461
+#~ msgid "_%d (unknown)..."
+#~ msgstr "_%d (neznáme)..."
+
+# src/collect-table.c:78 src/menu.c:684
+#~ msgid "_%d empty"
+#~ msgstr "_%d prázdne"
+
+# src/menu.c:626
+#~ msgid "_Adjust"
+#~ msgstr "_Nastaviť"
+
+# src/ui_pathsel.c:507 src/ui_pathsel.c:759
+#~ msgid "_View Directory as"
+#~ msgstr "_ZobraziÅ¥ prieÄinok ako"
+
+# src/dupe.c:2054 src/preferences.c:586
+#~ msgid "_Thumbnails"
+#~ msgstr "_Náhľady"
+
+# src/dupe.c:1655 src/dupe.c:1944
+#~ msgid "_Keywords"
+#~ msgstr "_KľúÄové slová"
+
+# src/menu.c:765
+#~ msgid "E_xif data"
+#~ msgstr "E_xif dáta"
+
+# src/menu.c:765
+#~ msgid "_List"
+#~ msgstr "_Zoznam"
+
+# src/menu.c:1075
+#~ msgid "Change to home folder"
+#~ msgstr "Návrat do domovského prieÄinka"
+
+# src/menu.c:1077
+#~ msgid "Refresh file list"
+#~ msgstr "Obnoviť zoznam súborov"
+
+# src/preferences.c:401
+#~ msgid "_Float"
+#~ msgstr "_Plávajúce"
+
+# src/menu.c:1089
+#~ msgid "Float Controls"
+#~ msgstr "Plávajúce ovládanie"
+
+#~ msgid "Never"
+#~ msgstr "Nikdy"
+
+#~ msgid "If set"
+#~ msgstr "Ak je nastavené"
+
+#~ msgid "Always"
+#~ msgstr "Vždy"
+
+#~ msgid "Startup"
+#~ msgstr "Å tart"
+
+#~ msgid "Restore folder on startup"
+#~ msgstr "ObnoviÅ¥ prieÄinok pri Å¡tarte"
+
+# src/preferences.c:610
+#~ msgid "Cache thumbnails into .thumbnails"
+#~ msgstr "Kešovať náhľady do .thumbnails"
+
+#~ msgid "Faster jpeg thumbnailing (may reduce quality)"
+#~ msgstr "Rýchlejšie jpeg náhľady (môže znížiť kvalitu)"
+
+#~ msgid "Two pass zooming"
+#~ msgstr "Dvojprechodová zmena mierky"
+
+# src/preferences.c:812
+#~ msgid "Filtering"
+#~ msgstr "Filtrovanie"
+
+# src/preferences.c:927
+#~ msgid "#"
+#~ msgstr "#"
+
+# src/preferences.c:933
+#~ msgid "Command Line"
+#~ msgstr "Príkazový riadok"
+
+# src/menu.c:748
+#~ msgid "Properties"
+#~ msgstr "Vlastnosti"
+
+#~ msgid "What to show in properties dialog:"
+#~ msgstr "V dialógu vlastností sa zobrazí:"
+
+#~ msgid "Advanced"
+#~ msgstr "PokroÄilé"
+
+#~ msgid "Always show image overlay at startup"
+#~ msgstr "Vždy pri štarte zobraziť prekrytie obrázku"
+
+#~ msgid ""
+#~ "Show \"Copy path\" menu item which write the path of selected files to "
+#~ "clipboard"
+#~ msgstr ""
+#~ "Zobraziť v ponuke položku \"Kopírovať cestu\" ktorá uloží cestu vybraných "
+#~ "súborov do schránky"
+
+#~ msgid "Store metadata and cache files in source image's directory"
+#~ msgstr ""
+#~ "UložiÅ¥ metadáta a súbory vyrovnávacej pamäte do zdrojového prieÄinka "
+#~ "obrázkov"
+
+#~ msgid "Store keywords and comments as XMP tags in image files"
+#~ msgstr ""
+#~ "UkladaÅ¥ kľúÄové slová a poznámky ako XMP znaÄky do zdrojových obrázkov"
+
+#~ msgid "Image read buffer size (bytes):"
+#~ msgstr "VeľkosÅ¥ vyrovnávacej pamäte pre naÄítanie obrázkov (v bajtoch):"
+
+# src/utilops.c:491
+#~ msgid ""
+#~ "%s\n"
+#~ "Unable to copy file:\n"
+#~ "%s\n"
+#~ "to:\n"
+#~ "%s"
+#~ msgstr ""
+#~ "%s\n"
+#~ "Nemožno kopírovať súbor:\n"
+#~ "%s\n"
+#~ "do:\n"
+#~ "%s"
+
+# src/utilops.c:387 src/utilops.c:495
+#~ msgid "Error moving file"
+#~ msgstr "Chyba pri presúvaní súboru"
+
+# src/utilops.c:496
+#~ msgid ""
+#~ "%s\n"
+#~ "Unable to move file:\n"
+#~ "%s\n"
+#~ "to:\n"
+#~ "%s"
+#~ msgstr ""
+#~ "%s\n"
+#~ "Nemožno presunúť súbor:\n"
+#~ "%s\n"
+#~ "do:\n"
+#~ "%s"
+
+# src/filelist.c:820 src/utilops.c:1047
+#~ msgid ""
+#~ "%s\n"
+#~ "Unable to rename file:\n"
+#~ "%s\n"
+#~ "to:\n"
+#~ "%s"
+#~ msgstr ""
+#~ "%s\n"
+#~ "Nemožno premenovať súbor:\n"
+#~ "%s\n"
+#~ "na:\n"
+#~ "%s"
+
+# src/utilops.c:339 src/utilops.c:459 src/utilops.c:826 src/utilops.c:1032
+#~ msgid "Overwrite file?"
+#~ msgstr "Prepísať súbor?"
+
+# src/utilops.c:339 src/utilops.c:459 src/utilops.c:826 src/utilops.c:1032
+#~ msgid "Overwrite _all"
+#~ msgstr "Prepísať _všetky"
+
+# src/utilops.c:345
+#~ msgid "S_kip all"
+#~ msgstr "Pres_koÄiÅ¥ vÅ¡etky"
+
+# src/utilops.c:345
+#~ msgid "_Skip"
+#~ msgstr "Pre_skoÄiÅ¥"
+
+# src/utilops.c:387 src/utilops.c:495
+#~ msgid "Existing file"
+#~ msgstr "Existujúci súbor"
+
+#~ msgid "New file"
+#~ msgstr "Nový súbor"
+
+# src/utilops.c:316
+#~ msgid "Source to copy matches destination"
+#~ msgstr "Zdroj pre kopírovanie sa zhoduje s cieľom"
+
+# src/utilops.c:317
+#~ msgid ""
+#~ "Unable to copy file:\n"
+#~ "%s\n"
+#~ "to itself."
+#~ msgstr ""
+#~ "Nemožno kopírovať súbor:\n"
+#~ "%s\n"
+#~ "do seba."
+
+# src/utilops.c:321
+#~ msgid "Source to move matches destination"
+#~ msgstr "Zdroj pre presúvanie sa zhoduje s cieľom"
+
+# src/utilops.c:322
+#~ msgid ""
+#~ "Unable to move file:\n"
+#~ "%s\n"
+#~ "to itself."
+#~ msgstr ""
+#~ "Nemožno presunúť súbor:\n"
+#~ "%s\n"
+#~ "do seba."
+
+# src/utilops.c:383
+#~ msgid ""
+#~ "Unable to copy file:\n"
+#~ "%s\n"
+#~ "to:\n"
+#~ "%s\n"
+#~ "during multiple file copy."
+#~ msgstr ""
+#~ "Nemožno kopírovať súbor:\n"
+#~ "%s\n"
+#~ "do:\n"
+#~ "%s\n"
+#~ "poÄas viacnásobného kopírovania."
+
+# src/utilops.c:388
+#~ msgid ""
+#~ "Unable to move file:\n"
+#~ "%s\n"
+#~ "to:\n"
+#~ "%s\n"
+#~ "during multiple file move."
+#~ msgstr ""
+#~ "Nemožno presunúť súbor:\n"
+#~ "%s\n"
+#~ "do:\n"
+#~ "%s\n"
+#~ "poÄas viacnásobného presúvania."
+
+# src/utilops.c:450
+#~ msgid "Source matches destination"
+#~ msgstr "Zdroj zodpovedá cieľu"
+
+# src/utilops.c:491
+#~ msgid ""
+#~ "Unable to copy file:\n"
+#~ "%s\n"
+#~ "to:\n"
+#~ "%s"
+#~ msgstr ""
+#~ "Nemožno kopírovať súbor:\n"
+#~ "%s\n"
+#~ "do:\n"
+#~ "%s"
+
+# src/utilops.c:496
+#~ msgid ""
+#~ "Unable to move file:\n"
+#~ "%s\n"
+#~ "to:\n"
+#~ "%s"
+#~ msgstr ""
+#~ "Nemožno presunúť súbor:\n"
+#~ "%s\n"
+#~ "do:\n"
+#~ "%s"
+
+# src/utilops.c:539
+#~ msgid "Invalid destination"
+#~ msgstr "Chybný cieľ"
+
+# src/utilops.c:540
+#~ msgid ""
+#~ "When operating with multiple files, please select\n"
+#~ "a folder, not a file."
+#~ msgstr ""
+#~ "KeÄ narábate s viacerými súbormi, prosím vyberte\n"
+#~ "nejaký prieÄinok, nie súbor."
+
+# src/utilops.c:544
+#~ msgid "Please select an existing folder."
+#~ msgstr "Prosím vyberte nejaký existujúci prieÄinok."
+
+# src/utilops.c:596
+#~ msgid "Copy multiple files"
+#~ msgstr "Kopírovať viacero súborov"
+
+# src/utilops.c:605
+#~ msgid "Move multiple files"
+#~ msgstr "Presunúť viacero súborov"
+
+# src/utilops.c:980
+#~ msgid "File name:"
+#~ msgstr "Názov súboru:"
+
+# src/ui_pathsel.c:343 src/utilops.c:675 src/utilops.c:727
+#~ msgid ""
+#~ "\n"
+#~ "Unable to delete file by external command:\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Nemožno odstrániť súbor externým príkazom:\n"
+
+# src/utilops.c:663
+#~ msgid ""
+#~ "Unable to delete file:\n"
+#~ " %s\n"
+#~ " Continue multiple delete operation?"
+#~ msgstr ""
+#~ "Nemožno odstrániť súbor:\n"
+#~ " %s\n"
+#~ " PokraÄovaÅ¥ s viacnásobnou operáciou mazania?"
+
+#~ msgid "File %d of %d"
+#~ msgstr "Súbor %d z %d"
+
+# src/utilops.c:942
+#~ msgid "Delete multiple files"
+#~ msgstr "Odstrániť viacero súborov"
+
+# src/dupe.c:67 src/dupe.c:1449
+#~ msgid "Review %d files"
+#~ msgstr "Prehľad %d súborov"
+
+# src/ui_pathsel.c:343 src/utilops.c:675 src/utilops.c:727
+#~ msgid ""
+#~ "%s\n"
+#~ "Unable to delete file by external command:\n"
+#~ "%s"
+#~ msgstr ""
+#~ "%s\n"
+#~ "Nemožno odstrániť súbor externým príkazom:\n"
+#~ "%s"
+
+# src/ui_pathsel.c:398 src/utilops.c:760
+#~ msgid "Delete file?"
+#~ msgstr "Odstrániť súbor?"
+
+#~ msgid "Replace existing file by renaming new file."
+#~ msgstr "Prepísať existujúci súbor premenovaním nového súboru."
+
+# src/utilops.c:842
+#~ msgid ""
+#~ "Unable to rename file:\n"
+#~ "%s\n"
+#~ " to:\n"
+#~ "%s"
+#~ msgstr ""
+#~ "Nemožno premenovať súbor:\n"
+#~ "%s\n"
+#~ " na:\n"
+#~ "%s"
+
+#~ msgid ""
+#~ "Format must include at least one of the symbol characters '*' or '#'.\n"
+#~ msgstr "Formát musí obsahovať najmenej jeden zo znakov  '*' alebo '#'.\n"
+
+#~ msgid ""
+#~ "Can not auto rename with the selected\n"
+#~ "number set, one or more files exist that\n"
+#~ "match the resulting name list.\n"
+#~ msgstr ""
+#~ "Nemôžem automaticky premenovať s vybranou\n"
+#~ "Äíselnou sadou, pretože existujú nejaké súbory,\n"
+#~ "ktorých mená sa nachádzajú vo výslednom zozname.\n"
+
+# src/ui_pathsel.c:313
+#~ msgid ""
+#~ "Failed to rename\n"
+#~ "%s\n"
+#~ "The number was %d."
+#~ msgstr ""
+#~ "Premenovanie sa nepodarilo\n"
+#~ "%s\n"
+#~ "Číslo bolo: %d."
+
+# src/utilops.c:942
+#~ msgid "Rename multiple files"
+#~ msgstr "Premenovať viacero súborov"
+
+#~ msgid "Original Name"
+#~ msgstr "Pôvodný názov"
+
+# src/filelist.c:820 src/utilops.c:1047
+#~ msgid ""
+#~ "Unable to rename file:\n"
+#~ "%s\n"
+#~ "to:\n"
+#~ "%s"
+#~ msgstr ""
+#~ "Nemožno premenovať súbor:\n"
+#~ "%s\n"
+#~ "na:\n"
+#~ "%s"
+
+# src/utilops.c:1144
+#~ msgid ""
+#~ "The folder:\n"
+#~ "%s\n"
+#~ "already exists."
+#~ msgstr ""
+#~ "PrieÄinok:\n"
+#~ "%s\n"
+#~ "už existuje."
+
+# src/utilops.c:1150
+#~ msgid ""
+#~ "The path:\n"
+#~ "%s\n"
+#~ "already exists as a file."
+#~ msgstr ""
+#~ "Cesta:\n"
+#~ "%s\n"
+#~ "už existuje ako súbor."
+
+# src/utilops.c:1211
+#~ msgid ""
+#~ "Create folder in:\n"
+#~ "%s\n"
+#~ "named:"
+#~ msgstr ""
+#~ "VytvoriÅ¥ prieÄinok v:\n"
+#~ "%s\n"
+#~ "nazvať ho:"
+
+# src/ui_pathsel.c:343 src/utilops.c:675 src/utilops.c:727
+#~ msgid ""
+#~ "Unable to delete folder:\n"
+#~ "\n"
+#~ "%s"
+#~ msgstr ""
+#~ "Nemožno odstrániÅ¥ prieÄinok:\n"
+#~ "\n"
+#~ "%s"
+
+# src/menu.c:776
+#~ msgid "Contents:"
+#~ msgstr "Obsah:"
+
+#~ msgid "new_folder"
+#~ msgstr "nový_prieÄinok"
+
+# src/menu.c:753
+#~ msgid "_View as"
+#~ msgstr "_Zobraziť ako"
+
+#~ msgid "SC"
+#~ msgstr "SC"
+
 # src/menu.c:1075
 #~ msgid "Change to folder:"
-#~ msgstr "Vstúpi» do adresára:"
+#~ msgstr "Vstúpiť do adresára:"
 
 # src/img-view.c:837 src/menu.c:1001
 #, fuzzy
 #~ msgid "Reset fullscreen info string"
-#~ msgstr "Celooobrazovkový mód"
+#~ msgstr "Celooobrazovkový mód"
 
 #, fuzzy
 #~ msgid ""
 #~ "This will reset the fullscreen info string to the default.\n"
 #~ "Continue?"
 #~ msgstr ""
-#~ "Chystám sa nastavi» filtre na prednastavené hodnoty.\n"
-#~ "Pokraèova»?"
+#~ "Chystám sa nastaviť filtre na prednastavené hodnoty.\n"
+#~ "PokraÄovaÅ¥?"
 
 # src/img-view.c:833 src/menu.c:1005
 #, fuzzy
 #~ msgid "Always show fullscreen info"
-#~ msgstr "Ukonèi» celoobrazovkový re¾im"
+#~ msgstr "UkonÄiÅ¥ celoobrazovkový režim"
 
 # src/img-view.c:837 src/menu.c:1001
 #, fuzzy
 #~ msgid "Fullscreen info string"
-#~ msgstr "Celooobrazovkový mód"
+#~ msgstr "Celooobrazovkový mód"
 
 # src/menu.c:765
 #, fuzzy
 #~ msgid "List"
 #~ msgstr "Zoznam"
 
-# src/menu.c:761
-#~ msgid "View as _tree"
-#~ msgstr "Zobrazi» ako s_trom"
-
 # src/preferences.c:821
 #~ msgid "Show entries that begin with a dot"
-#~ msgstr "Zobrazi» polo¾ky ktoré zaèínajú bodkou"
+#~ msgstr "ZobraziÅ¥ položky ktoré zaÄínajú bodkou"
 
 # src/dupe.c:1968
 #~ msgid "Find duplicates - Geeqie"
-#~ msgstr "Nájs» duplikáty - Geeqie"
-
-# src/fullscreen.c:117
-#~ msgid "Geeqie full screen"
-#~ msgstr "Geeqie: celoobrazovkový re¾im"
+#~ msgstr "Nájsť duplikáty - Geeqie"
 
 # src/window.c:234
 #~ msgid "Geeqie Tools"
-#~ msgstr "Geeqie : Nástroje"
+#~ msgstr "Geeqie : Nástroje"
 
 # src/main.c:129
 #~ msgid "Help - Geeqie"
@@ -5239,13 +7084,9 @@
 #~ msgstr "Geeqie - koniec"
 
 # src/img-view.c:559 src/window.c:533
-#~ msgid "Quit Geeqie"
-#~ msgstr "Skonèi» Geeqie"
-
-# src/img-view.c:559 src/window.c:533
 #, fuzzy
 #~ msgid "Pan View - Geeqie"
-#~ msgstr "Tlaè - Geeqie"
+#~ msgstr "TlaÄ - Geeqie"
 
 # src/img-view.c:559 src/window.c:533
 #~ msgid "About - Geeqie"
@@ -5253,23 +7094,23 @@
 
 # src/img-view.c:559 src/window.c:533
 #~ msgid "Print - Geeqie"
-#~ msgstr "Tlaè - Geeqie"
+#~ msgstr "TlaÄ - Geeqie"
 
 # src/main.c:129
 #~ msgid "Copy - Geeqie"
-#~ msgstr "Kopírovanie - Geeqie"
+#~ msgstr "Kopírovanie - Geeqie"
 
 # src/main.c:129
 #~ msgid "Move - Geeqie"
-#~ msgstr "Presunú» - Geeqie"
+#~ msgstr "Presunúť - Geeqie"
 
 # src/utilops.c:707
 #~ msgid "Delete files - Geeqie"
-#~ msgstr "Mazanie súborov - Geeqie"
+#~ msgstr "Mazanie súborov - Geeqie"
 
 # src/ui_pathsel.c:398 src/utilops.c:760
 #~ msgid "Delete file - Geeqie"
-#~ msgstr "Zmaza» súbor - Geeqie"
+#~ msgstr "Zmazať súbor - Geeqie"
 
 # src/main.c:129
 #~ msgid "Rename - Geeqie"
@@ -5277,274 +7118,274 @@
 
 # src/main.c:129
 #~ msgid "New folder - Geeqie"
-#~ msgstr "Nový prieèinok - Geeqie"
+#~ msgstr "Nový prieÄinok - Geeqie"
 
 # src/menu.c:710
 #~ msgid "/File/tear1"
-#~ msgstr "/Súbor/tear1"
+#~ msgstr "/Súbor/tear1"
 
 # src/menu.c:711
 #~ msgid "/File/_New collection"
-#~ msgstr "/Súbor/_Nová zbierka"
+#~ msgstr "/Súbor/_Nová zbierka"
 
 # src/menu.c:712
 #~ msgid "/File/_Open collection..."
-#~ msgstr "/Súbor/_Otvori» zbierku"
+#~ msgstr "/Súbor/_Otvoriť zbierku"
 
 # src/menu.c:714
 #~ msgid "/File/sep1"
-#~ msgstr "/Súbor/sep1"
+#~ msgstr "/Súbor/sep1"
 
 # src/menu.c:721
 #, fuzzy
 #~ msgid "/File/_Search..."
-#~ msgstr "/Súbor/P_remenova»..."
+#~ msgstr "/Súbor/P_remenovať..."
 
 # src/menu.c:715
 #~ msgid "/File/_Find duplicates..."
-#~ msgstr "/Súbor/Nájs» duplikáty"
+#~ msgstr "/Súbor/Nájsť duplikáty"
 
 # src/menu.c:716
 #~ msgid "/File/sep2"
-#~ msgstr "/Súbor/sep2"
+#~ msgstr "/Súbor/sep2"
 
 # src/menu.c:721
 #, fuzzy
 #~ msgid "/File/_Print..."
-#~ msgstr "/Súbor/P_remenova»..."
+#~ msgstr "/Súbor/P_remenovať..."
 
 # src/menu.c:722
 #~ msgid "/File/N_ew folder..."
-#~ msgstr "/Súbor/Nový adresár..."
+#~ msgstr "/Súbor/Nový adresár..."
 
 # src/menu.c:718
 #~ msgid "/File/sep3"
-#~ msgstr "/Súbor/sep3"
+#~ msgstr "/Súbor/sep3"
 
 # src/menu.c:719
 #~ msgid "/File/_Copy..."
-#~ msgstr "/Súbor/K_opírova»..."
+#~ msgstr "/Súbor/K_opírovať..."
 
 # src/menu.c:720
 #~ msgid "/File/_Move..."
-#~ msgstr "/Súbor/_Presunú»..."
+#~ msgstr "/Súbor/_Presunúť..."
 
 # src/menu.c:721
 #~ msgid "/File/_Rename..."
-#~ msgstr "/Súbor/P_remenova»..."
+#~ msgstr "/Súbor/P_remenovať..."
 
 # src/menu.c:722
 #~ msgid "/File/_Delete..."
-#~ msgstr "/Súbor/_Vymaza»..."
+#~ msgstr "/Súbor/_Vymazať..."
 
 # src/menu.c:723
 #~ msgid "/File/sep4"
-#~ msgstr "/Súbor/sep4"
+#~ msgstr "/Súbor/sep4"
 
 # src/dupe.c:1415 src/dupe.c:1573 src/img-view.c:841
 #~ msgid "/File/C_lose window"
-#~ msgstr "/File/Zavrie» okno"
+#~ msgstr "/File/Zavrieť okno"
 
 # src/menu.c:724
 #, fuzzy
 #~ msgid "/File/_Quit"
-#~ msgstr "/Súbor/_Koniec"
+#~ msgstr "/Súbor/_Koniec"
 
 # src/menu.c:726
 #~ msgid "/_Edit"
-#~ msgstr "/_Upravi»"
+#~ msgstr "/_Upraviť"
 
 # src/menu.c:727
 #~ msgid "/Edit/tear1"
-#~ msgstr "/Upravi»/tear1"
+#~ msgstr "/Upraviť/tear1"
 
 # src/menu.c:728
 #~ msgid "/Edit/editor1"
-#~ msgstr "/Upravi»/editor1"
+#~ msgstr "/Upraviť/editor1"
 
 # src/menu.c:729
 #~ msgid "/Edit/editor2"
-#~ msgstr "/Upravi»/editor2"
+#~ msgstr "/Upraviť/editor2"
 
 # src/menu.c:730
 #~ msgid "/Edit/editor3"
-#~ msgstr "/Upravi»/editor3"
+#~ msgstr "/Upraviť/editor3"
 
 # src/menu.c:731
 #~ msgid "/Edit/editor4"
-#~ msgstr "/Upravi»/editor4"
+#~ msgstr "/Upraviť/editor4"
 
 # src/menu.c:732
 #~ msgid "/Edit/editor5"
-#~ msgstr "/Upravi»/editor5"
+#~ msgstr "/Upraviť/editor5"
 
 # src/menu.c:733
 #~ msgid "/Edit/editor6"
-#~ msgstr "/Upravi»/editor6"
+#~ msgstr "/Upraviť/editor6"
 
 # src/menu.c:734
 #~ msgid "/Edit/editor7"
-#~ msgstr "/Upravi»/editor7"
+#~ msgstr "/Upraviť/editor7"
 
 # src/menu.c:735
 #~ msgid "/Edit/editor8"
-#~ msgstr "/Upravi»/editor8"
+#~ msgstr "/Upraviť/editor8"
 
 # src/menu.c:728
 #~ msgid "/Edit/editor9"
-#~ msgstr "/Upravi»/editor1"
+#~ msgstr "/Upraviť/editor1"
 
 # src/menu.c:728
 #~ msgid "/Edit/editor0"
-#~ msgstr "/Upravi»/editor0"
+#~ msgstr "/Upraviť/editor0"
 
 # src/menu.c:736
 #~ msgid "/Edit/sep1"
-#~ msgstr "/Upravi»/sep1"
+#~ msgstr "/Upraviť/sep1"
 
 # src/menu.c:737
 #~ msgid "/Edit/_Adjust"
-#~ msgstr "/Upravi»/N_astavi»"
+#~ msgstr "/Upraviť/N_astaviť"
 
 # src/menu.c:748
 #~ msgid "/Edit/_Properties"
-#~ msgstr "/Upravi»/_Vlastnosti"
+#~ msgstr "/Upraviť/_Vlastnosti"
 
 # src/menu.c:738
 #~ msgid "/Edit/Adjust/tear1"
-#~ msgstr "/Upravi»/Nastavi»/tear1"
+#~ msgstr "/Upraviť/Nastaviť/tear1"
 
 # src/menu.c:739
 #~ msgid "/Edit/Adjust/_Rotate clockwise"
-#~ msgstr "/Upravi»/Nastavi»/Rotova» vp_ravo"
+#~ msgstr "/Upraviť/Nastaviť/Rotovať vp_ravo"
 
 # src/menu.c:740
 #~ msgid "/Edit/Adjust/Rotate _counterclockwise"
-#~ msgstr "/Upravi»/Nastavi»/Rotova» _vµavo"
+#~ msgstr "/Upraviť/Nastaviť/Rotovať _vľavo"
 
 # src/menu.c:741
 #~ msgid "/Edit/Adjust/Rotate 1_80"
-#~ msgstr "/Upravi»/Nastavi»/Rotova» 1_80"
+#~ msgstr "/Upraviť/Nastaviť/Rotovať 1_80"
 
 # src/menu.c:742
 #~ msgid "/Edit/Adjust/_Mirror"
-#~ msgstr "/Upravi»/Nastavi»/_Zrkadli»"
+#~ msgstr "/Upraviť/Nastaviť/_Zrkadliť"
 
 # src/menu.c:743
 #~ msgid "/Edit/Adjust/_Flip"
-#~ msgstr "/Upravi»/Nastavi»/_Preklopi»"
+#~ msgstr "/Upraviť/Nastaviť/_Preklopiť"
 
 # src/menu.c:744
 #~ msgid "/Edit/sep2"
-#~ msgstr "/Upravi»/sep2"
+#~ msgstr "/Upraviť/sep2"
 
 # src/menu.c:745
 #~ msgid "/Edit/Select _all"
-#~ msgstr "/Upravi»/Vybra» _v¹etko"
+#~ msgstr "/Upraviť/Vybrať _všetko"
 
 # src/menu.c:746
 #~ msgid "/Edit/Select _none"
-#~ msgstr "/Upravi»/Vybra» n_iè"
+#~ msgstr "/UpraviÅ¥/VybraÅ¥ n_iÄ"
 
 # src/menu.c:747
 #~ msgid "/Edit/sep3"
-#~ msgstr "/Upravi»/sep3"
+#~ msgstr "/Upraviť/sep3"
 
 # src/menu.c:748
 #~ msgid "/Edit/_Options..."
-#~ msgstr "/Upravi»/V_oµby..."
+#~ msgstr "/Upraviť/V_oľby..."
 
 # src/menu.c:750
 #~ msgid "/Edit/sep4"
-#~ msgstr "/Upravi»/sep4"
+#~ msgstr "/Upraviť/sep4"
 
 # src/menu.c:751
 #~ msgid "/Edit/Set as _wallpaper"
-#~ msgstr "/Upravi»/Nastavi» ako _pozadie plochy"
+#~ msgstr "/Upraviť/Nastaviť ako _pozadie plochy"
 
 # src/menu.c:753
 #~ msgid "/_View"
-#~ msgstr "/_Zobrazi»"
+#~ msgstr "/_Zobraziť"
 
 # src/menu.c:754
 #~ msgid "/View/tear1"
-#~ msgstr "/Zobrazi»/tear1"
+#~ msgstr "/Zobraziť/tear1"
 
 # src/menu.c:755
 #~ msgid "/View/Zoom _in"
-#~ msgstr "/Zobrazi»/Priblí¾i»"
+#~ msgstr "/Zobraziť/Priblížiť"
 
 # src/menu.c:756
 #~ msgid "/View/Zoom _out"
-#~ msgstr "/Zobrazi»/Oddiali»"
+#~ msgstr "/Zobraziť/Oddialiť"
 
 # src/menu.c:757
 #~ msgid "/View/Zoom _1:1"
-#~ msgstr "/Zobrazi»/Zobrazenie _1:1"
+#~ msgstr "/Zobraziť/Zobrazenie _1:1"
 
 # src/menu.c:759
 #~ msgid "/View/sep1"
-#~ msgstr "/Zobrazi»/sep1"
+#~ msgstr "/Zobraziť/sep1"
 
 # src/menu.c:762
 #~ msgid "/View/_Thumbnails"
-#~ msgstr "/Zobrazi»/M_iniatúry"
+#~ msgstr "/Zobraziť/M_iniatúry"
 
 # src/dupe.c:1655 src/dupe.c:1944
 #~ msgid "/View/I_cons"
-#~ msgstr "/Zobrazi»/Ikony"
+#~ msgstr "/Zobraziť/Ikony"
 
 # src/menu.c:764
 #~ msgid "/View/sep2"
-#~ msgstr "/Zobrazi»/sep2"
+#~ msgstr "/Zobraziť/sep2"
 
 # src/menu.c:761
 #~ msgid "/View/F_ull screen"
-#~ msgstr "/Zobrazi»/_Celá obrazovka"
+#~ msgstr "/Zobraziť/_Celá obrazovka"
 
 # src/menu.c:768
 #~ msgid "/View/sep3"
-#~ msgstr "/Zobrazi»/sep3"
+#~ msgstr "/Zobraziť/sep3"
 
 # src/menu.c:767
 #~ msgid "/View/_Hide file list"
-#~ msgstr "/Zobrazi»/S_kry» zoznam súborov"
+#~ msgstr "/Zobraziť/S_kryť zoznam súborov"
 
 # src/menu.c:759
 #~ msgid "/View/sep4"
-#~ msgstr "/Zobrazi»/sep1"
+#~ msgstr "/Zobraziť/sep1"
 
 # src/menu.c:755
 #~ msgid "/View/Sort _manager"
-#~ msgstr "/Zobrazi»/Správca triedenia"
+#~ msgstr "/Zobraziť/Správca triedenia"
 
 # src/menu.c:759
 #~ msgid "/View/sep5"
-#~ msgstr "/Zobrazi»/sep5"
+#~ msgstr "/Zobraziť/sep5"
 
 # src/menu.c:769
 #~ msgid "/View/Toggle _slideshow"
-#~ msgstr "/Zobrazi»/Prepnú» prezentáciu"
+#~ msgstr "/Zobraziť/Prepnúť prezentáciu"
 
 # src/menu.c:765
 #~ msgid "/View/_Refresh Lists"
-#~ msgstr "/Zobrazi»/_Obnovi» zoznamy"
+#~ msgstr "/Zobraziť/_Obnoviť zoznamy"
 
 # src/menu.c:772
 #~ msgid "/Help/tear1"
-#~ msgstr "/Pomocník/tear1"
+#~ msgstr "/Pomocník/tear1"
 
 # src/menu.c:775
 #~ msgid "/Help/sep1"
-#~ msgstr "/Pomocník/sep1"
+#~ msgstr "/Pomocník/sep1"
 
 # src/preferences.c:507
 #~ msgid "Geeqie configuration"
-#~ msgstr "Konfigurácia Geeqie"
+#~ msgstr "Konfigurácia Geeqie"
 
 # src/menu.c:749
 #~ msgid "/Edit/_Remove old thumbnails"
-#~ msgstr "/Upravi»/Odst_ráni» staré miniatúry"
+#~ msgstr "/Upraviť/Odst_rániť staré miniatúry"
 
 # src/dupe.c:1657 src/dupe.c:1945
 #, fuzzy
@@ -5553,31 +7394,31 @@
 
 # src/collect-dlg.c:167 src/collect.c:1052
 #~ msgid "Save"
-#~ msgstr "Ulo¾i»"
+#~ msgstr "Uložiť"
 
 # src/collect-dlg.c:68
 #~ msgid ""
 #~ "Overwrite collection file:\n"
 #~ "%s"
 #~ msgstr ""
-#~ "Prepísa» súbor zbierky:\n"
+#~ "Prepísať súbor zbierky:\n"
 #~ "%s"
 
 # src/collect-dlg.c:166
 #~ msgid "Save collection as:"
-#~ msgstr "Ulo¾i» zbierku ako:"
+#~ msgstr "Uložiť zbierku ako:"
 
 # src/collect-dlg.c:173
 #~ msgid "Open collection from:"
-#~ msgstr "Otvori» zbierku z:"
+#~ msgstr "Otvoriť zbierku z:"
 
 # src/collect-dlg.c:174
 #~ msgid "Open"
-#~ msgstr "Otvori»"
+#~ msgstr "Otvoriť"
 
 # src/collect-dlg.c:181
 #~ msgid "Append collection from:"
-#~ msgstr "Pripoji» zbierku z:"
+#~ msgstr "Pripojiť zbierku z:"
 
 # src/main.c:622
 #~ msgid "Exit"
@@ -5591,44 +7432,40 @@
 # src/collect-dlg.c:59
 #, fuzzy
 #~ msgid "Initial folder"
-#~ msgstr "Nesprávne meno súboru"
+#~ msgstr "Nesprávne meno súboru"
 
 # src/preferences.c:569
 #, fuzzy
 #~ msgid "On startup, change to this folder:"
-#~ msgstr "Pri ¹tarte nastavi» sa do adresára:"
+#~ msgstr "Pri štarte nastaviť sa do adresára:"
 
 # src/preferences.c:695 src/preferences.c:697
 #~ msgid "Zoom (scaling):"
-#~ msgstr "Priblí¾enie (zmena mierky):"
+#~ msgstr "Priblíženie (zmena mierky):"
 
 # src/preferences.c:805
 #~ msgid "Place dialogs under mouse"
-#~ msgstr "Umiestòova» dialógy pod ukazovateµ my¹i"
+#~ msgstr "Umiestňovať dialógy pod ukazovateľ myši"
 
 # src/preferences.c:825
 #~ msgid "Include files of type:"
-#~ msgstr "Zahrnú» súbory typu:"
-
-# src/collect-table.c:622 src/dupe.c:1410 src/dupe.c:1568
-#~ msgid "Remove"
-#~ msgstr "Vymaza»"
+#~ msgstr "Zahrnúť súbory typu:"
 
 #~ msgid "Add"
-#~ msgstr "Prida»"
+#~ msgstr "Pridať"
 
 # src/preferences.c:368
 #, fuzzy
 #~ msgid "Point size:"
-#~ msgstr "Veµkos» súboru:"
+#~ msgstr "Veľkosť súboru:"
 
 #, fuzzy
 #~ msgid "Width:"
-#~ msgstr "©írka"
+#~ msgstr "Šírka"
 
 #, fuzzy
 #~ msgid "Height:"
-#~ msgstr "Vý¹ka"
+#~ msgstr "Výška"
 
 # src/utilops.c:338
 #~ msgid ""
@@ -5637,18 +7474,18 @@
 #~ " with:\n"
 #~ " %s"
 #~ msgstr ""
-#~ "Prepísa» súbor:\n"
+#~ "Prepísať súbor:\n"
 #~ " %s\n"
-#~ " súborom:\n"
+#~ " súborom:\n"
 #~ " %s"
 
 # src/utilops.c:343
 #~ msgid "Yes"
-#~ msgstr "Áno"
+#~ msgstr "Ãno"
 
 # src/utilops.c:344
 #~ msgid "Yes to all"
-#~ msgstr "Áno pre v¹etky"
+#~ msgstr "Ãno pre vÅ¡etky"
 
 # src/utilops.c:458
 #~ msgid ""
@@ -5657,9 +7494,9 @@
 #~ " with:\n"
 #~ "%s"
 #~ msgstr ""
-#~ "Prepísa» súbor:\n"
+#~ "Prepísať súbor:\n"
 #~ "%s\n"
-#~ " súborom:\n"
+#~ " súborom:\n"
 #~ "%s"
 
 # src/utilops.c:594
@@ -5668,7 +7505,7 @@
 #~ "%s\n"
 #~ "to:"
 #~ msgstr ""
-#~ "Kopírova» súbor:\n"
+#~ "Kopírovať súbor:\n"
 #~ "%s\n"
 #~ "do:"
 
@@ -5678,13 +7515,13 @@
 #~ "%s\n"
 #~ "to:"
 #~ msgstr ""
-#~ "Presunú» súbor:\n"
+#~ "Presunúť súbor:\n"
 #~ "%s\n"
 #~ "do:"
 
 # src/utilops.c:707
 #~ msgid "About to delete multiple files..."
-#~ msgstr "Pripravený na viacnásobné mazanie súborov..."
+#~ msgstr "Pripravený na viacnásobné mazanie súborov..."
 
 # src/utilops.c:825 src/utilops.c:1031
 #~ msgid ""
@@ -5693,9 +7530,9 @@
 #~ "by renaming:\n"
 #~ "%s"
 #~ msgstr ""
-#~ "Prepísa» súbor:\n"
+#~ "Prepísať súbor:\n"
 #~ "%s\n"
-#~ "s premenovaním:\n"
+#~ "s premenovaním:\n"
 #~ "%s"
 
 # src/utilops.c:989
@@ -5704,102 +7541,61 @@
 
 # src/utilops.c:1216
 #~ msgid "Create"
-#~ msgstr "Vytvori»"
-
-# src/preferences.c:559
-#~ msgid "Initial directory"
-#~ msgstr "Zaèiatoèný adresár"
+#~ msgstr "Vytvoriť"
 
 # src/ui_pathsel.c:517 src/utilops.c:1158
 #~ msgid ""
 #~ "Unable to create directory:\n"
 #~ "%s"
 #~ msgstr ""
-#~ "Nemo¾no vytvori» adresár:\n"
+#~ "Nemožno vytvoriť adresár:\n"
 #~ "%s"
 
 # src/ui_pathsel.c:518 src/utilops.c:1159
 #~ msgid "Error creating directory"
-#~ msgstr "Chyba vytvárania adresára"
+#~ msgstr "Chyba vytvárania adresára"
 
 # src/utilops.c:539
 #, fuzzy
 #~ msgid "Image details"
-#~ msgstr "Popis obrázku"
-
-# src/menu.c:769
-#, fuzzy
-#~ msgid "/View/Image _details"
-#~ msgstr "/Zobrazi»/Prepnú» prezentáciu"
-
-# src/collect-table.c:1820 src/dupe.c:2172
-#~ msgid "Add contents"
-#~ msgstr "Prida» obsah"
+#~ msgstr "Popis obrázku"
 
 # src/collect-table.c:1821 src/dupe.c:2173
 #~ msgid "Add contents recursive"
-#~ msgstr "Prida» obsah rekurzívne"
+#~ msgstr "Pridať obsah rekurzívne"
 
 # src/collect-table.c:1822 src/dupe.c:2174
 #~ msgid "Skip directories"
-#~ msgstr "Preskoèi» adresáre"
-
-# src/utilops.c:543
-#~ msgid "Invalid directory"
-#~ msgstr "Chybný adresár"
+#~ msgstr "PreskoÄiÅ¥ adresáre"
 
 # src/utilops.c:591
 #~ msgid "Geeqie - copy"
-#~ msgstr "Geeqie - kopírovanie"
+#~ msgstr "Geeqie - kopírovanie"
 
 # src/utilops.c:600
 #~ msgid "Geeqie - move"
-#~ msgstr "Geeqie - presúvanie"
+#~ msgstr "Geeqie - presúvanie"
 
 # src/utilops.c:1145
 #~ msgid "Directory exists"
-#~ msgstr "Adresár existuje"
+#~ msgstr "Adresár existuje"
 
 # src/utilops.c:1212
 #~ msgid "Geeqie - new directory"
-#~ msgstr "Geeqie - nový adresár"
+#~ msgstr "Geeqie - nový adresár"
 
 #~ msgid "Misc."
-#~ msgstr "Rôzne"
+#~ msgstr "Rôzne"
 
 # src/menu.c:717
 #~ msgid "/File/Create _Dir..."
-#~ msgstr "/Súbor/Vytvori» _Adresár"
-
-# src/menu.c:492
-#~ msgid "Edit"
-#~ msgstr "Editova»"
+#~ msgstr "/Súbor/Vytvoriť _Adresár"
 
 # src/preferences.c:908
 #~ msgid "Insert file drops at pointer location"
-#~ msgstr "Vlo¾i» vybraté súbory na miesto ukazovateµa"
-
-# src/filelist.c:814
-#~ msgid "File named %s already exists."
-#~ msgstr "Súbor %s u¾ existuje."
+#~ msgstr "Vložiť vybraté súbory na miesto ukazovateľa"
 
 # src/utilops.c:989
 #, fuzzy
 #~ msgid "top"
 #~ msgstr "na:"
-
-# src/main.c:146 src/main.c:176
-#~ msgid "Geeqie running: %s\n"
-#~ msgstr "Geeqie spustení: %s\n"
-
-# src/main.c:555
-#~ msgid "Electric Eyes"
-#~ msgstr "Electric Eyes"
-
-# src/preferences.c:530
-#~ msgid "Apply"
-#~ msgstr "Pou¾i»"
-
-# src/preferences.c:888
-#~ msgid "format: [.foo;.bar]"
-#~ msgstr "formát: [.foo;.bar]"
--- a/po/sv.po	Sun May 27 18:41:56 2012 +0100
+++ b/po/sv.po	Tue Oct 02 22:19:13 2012 +0100
@@ -8,8 +8,8 @@
 msgstr ""
 "Project-Id-Version: geeqie 1.x\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-12-29 14:22+0100\n"
-"PO-Revision-Date: 2011-01-13 19:58+0100\n"
+"POT-Creation-Date: 2011-01-14 16:16+0100\n"
+"PO-Revision-Date: 2011-02-14 16:11+0100\n"
 "Last-Translator: Tore Ericsson <tore.ericsson@telia.com>\n"
 "Language-Team: Swedish\n"
 "MIME-Version: 1.0\n"
@@ -41,23 +41,23 @@
 
 #: ../plugins/rotate/rotate.desktop.in.h:1
 msgid "Apply the orientation to image content"
-msgstr "Tillämpa orienteringen på bildinnehållet"
+msgstr "Välj _denna som bildens orientering"
 
 #: ../plugins/symlink/symlink.desktop.in.h:1
 msgid "Symlink"
-msgstr "Länka till..."
+msgstr "_Länka till..."
 
 #: ../plugins/ufraw/geeqie-ufraw.desktop.in.h:1
 msgid "UFRaw Batch"
-msgstr ""
+msgstr "UFRaw batch"
 
 #: ../plugins/ufraw/geeqie-ufraw-id.desktop.in.h:1
 msgid "Edit UFRaw ID file"
-msgstr ""
+msgstr "Redigera ID-filen till UFRaw"
 
 #: ../plugins/ufraw/geeqie-ufraw-recursive.desktop.in.h:1
 msgid "UFRaw Batch recursive"
-msgstr ""
+msgstr "UFRaw batch, rekursivt"
 
 #: ../src/advanced_exif.c:328
 #: ../src/cache_maint.c:1304
@@ -142,7 +142,7 @@
 
 #: ../src/bar.c:297
 msgid "Move to _top"
-msgstr "Flytta övers_t"
+msgstr "Flytta _överst"
 
 #: ../src/bar.c:298
 #: ../src/ui_bookmark.c:405
@@ -152,11 +152,11 @@
 #: ../src/bar.c:299
 #: ../src/ui_bookmark.c:407
 msgid "Move _down"
-msgstr "Flytta _ner"
+msgstr "Flytta _ned"
 
 #: ../src/bar.c:300
 msgid "Move to _bottom"
-msgstr "Flytta _nederst"
+msgstr "Flytta n_ederst"
 
 #: ../src/bar.c:302
 msgid "Remove"
@@ -196,7 +196,7 @@
 
 #: ../src/bar_exif.c:580
 msgid "Show only if set"
-msgstr ""
+msgstr "Visa endast om till"
 
 #: ../src/bar_exif.c:581
 msgid "Editable (supported only for XMP)"
@@ -265,17 +265,17 @@
 #: ../src/bar_histogram.c:250
 #: ../src/layout_util.c:1404
 msgid "Histogram on _Red"
-msgstr "Histogram,_rött"
+msgstr "Histogram, _rött"
 
 #: ../src/bar_histogram.c:251
 #: ../src/layout_util.c:1405
 msgid "Histogram on _Green"
-msgstr "Histogram,_grönt"
+msgstr "Histogram, _grönt"
 
 #: ../src/bar_histogram.c:252
 #: ../src/layout_util.c:1406
 msgid "Histogram on _Blue"
-msgstr "Histogram,_blått"
+msgstr "Histogram, _blått"
 
 #: ../src/bar_histogram.c:253
 #: ../src/layout_util.c:1407
@@ -285,16 +285,16 @@
 #: ../src/bar_histogram.c:254
 #: ../src/layout_util.c:1408
 msgid "Histogram on _Value"
-msgstr "Histogram,_värden"
+msgstr "Histogram, v_ärden"
 
 #: ../src/bar_histogram.c:258
 #: ../src/layout_util.c:1412
 msgid "Li_near Histogram"
-msgstr "Li_njärt histogram"
+msgstr "L_injärt histogram"
 
 #: ../src/bar_histogram.c:259
 msgid "L_og Histogram"
-msgstr "L_ogaritmiskt histogram"
+msgstr "_Logaritmiskt histogram"
 
 #: ../src/bar_keywords.c:414
 msgid "Add keywords to selected files"
@@ -370,17 +370,17 @@
 #: ../src/bar_keywords.c:1226
 #: ../src/bar_keywords.c:1235
 msgid "Expand checked"
-msgstr ""
+msgstr "Expandera förkryssade"
 
 #: ../src/bar_keywords.c:1227
 #: ../src/bar_keywords.c:1236
 msgid "Collapse unchecked"
-msgstr ""
+msgstr "Vik ihop ej förkryssade"
 
 #: ../src/bar_keywords.c:1228
 #: ../src/bar_keywords.c:1237
 msgid "Hide unchecked"
-msgstr ""
+msgstr "Göm ej förkryssade"
 
 #: ../src/bar_keywords.c:1229
 msgid "Show all"
@@ -388,7 +388,7 @@
 
 #: ../src/bar_keywords.c:1232
 msgid "On any change"
-msgstr ""
+msgstr "Vid varje förändring"
 
 #: ../src/bar_sort.c:449
 #, c-format
@@ -397,13 +397,13 @@
 "%s\n"
 "already exists."
 msgstr ""
-"Albumet:\n"
+"Kollektionen:\n"
 "%s\n"
 "finns redan."
 
 #: ../src/bar_sort.c:450
 msgid "Collection exists"
-msgstr "Albumet finns"
+msgstr "Kollektionen finns"
 
 #: ../src/bar_sort.c:464
 #: ../src/collect.c:1098
@@ -413,7 +413,7 @@
 "Failed to save the collection:\n"
 "%s"
 msgstr ""
-"Kunde inte spara albumet:\n"
+"Kunde inte spara kollektionen:\n"
 "%s"
 
 #: ../src/bar_sort.c:465
@@ -429,7 +429,7 @@
 
 #: ../src/bar_sort.c:504
 msgid "Add Collection"
-msgstr "Lägg till album"
+msgstr "Lägg till kollektion"
 
 #: ../src/bar_sort.c:521
 #: ../src/ui_bookmark.c:288
@@ -449,7 +449,7 @@
 #: ../src/bar_sort.c:607
 #: ../src/options.c:140
 msgid "Collections"
-msgstr "Album"
+msgstr "Kolllektioner"
 
 #: ../src/bar_sort.c:615
 #: ../src/utilops.c:2124
@@ -579,11 +579,11 @@
 
 #: ../src/cache_maint.c:1248
 msgid "Cache Maintenance"
-msgstr "Cache-hantering"
+msgstr "Cachehantering"
 
 #: ../src/cache_maint.c:1258
 msgid "Cache and Data Maintenance"
-msgstr "Cache- och Datahantering"
+msgstr "Underhåll av cachedata"
 
 #: ../src/cache_maint.c:1262
 msgid "Thumbnail cache"
@@ -598,12 +598,12 @@
 #: ../src/cache_maint.c:1271
 #: ../src/cache_maint.c:1288
 msgid "Remove orphaned or outdated thumbnails."
-msgstr "Ta bort övergivna eller föråldrade miniatyrbilder."
+msgstr "Ta bort övergivna eller föråldrade miniatyrbilder"
 
 #: ../src/cache_maint.c:1276
 #: ../src/cache_maint.c:1293
 msgid "Delete all cached thumbnails."
-msgstr "Radera alla cachade miniatyrbilder."
+msgstr "Radera alla cachade miniatyrbilder"
 
 #: ../src/cache_maint.c:1279
 msgid "Shared thumbnail cache"
@@ -615,11 +615,11 @@
 
 #: ../src/cache_maint.c:1302
 msgid "Render thumbnails for a specific folder."
-msgstr "Skapa miniatyrbilder för en specifik mapp."
+msgstr "Skapa miniatyrbilder för en specifik mapp"
 
 #: ../src/cache_maint.c:1313
 msgid "Remove orphaned keywords and comments."
-msgstr "Ta bort övergivna nyckelord och kommentarer."
+msgstr "Ta bort övergivna nyckelord och kommentarer"
 
 #. When does this occur ??
 #: ../src/collect.c:366
@@ -642,15 +642,15 @@
 #: ../src/collect.c:1135
 #: ../src/collect.c:1139
 msgid "Close collection"
-msgstr "Stäng album"
+msgstr "Stäng kollektionen"
 
 #: ../src/collect.c:1140
 msgid ""
 "Collection has been modified.\n"
 "Save first?"
 msgstr ""
-"Albumet har ändrats.\n"
-"Spara först?"
+"Kollektionen är ändrad.\n"
+"Spara ändringen?"
 
 #: ../src/collect.c:1143
 msgid "_Discard"
@@ -665,7 +665,7 @@
 msgstr ""
 "Angiven sökväg:\n"
 "%s\n"
-"är en mapp, album är filer"
+"är en mapp, kollektioner är filer"
 
 #: ../src/collect-dlg.c:60
 msgid "Invalid filename"
@@ -704,15 +704,15 @@
 
 #: ../src/collect-dlg.c:195
 msgid "Save collection"
-msgstr "Spara album"
+msgstr "Spara kollektionen"
 
 #: ../src/collect-dlg.c:202
 msgid "Open collection"
-msgstr "Öppna album"
+msgstr "Öppna kollektion"
 
 #: ../src/collect-dlg.c:210
 msgid "Append collection"
-msgstr "Komplettera album"
+msgstr "Lägg till i kollektionen"
 
 #: ../src/collect-dlg.c:211
 msgid "_Append"
@@ -720,15 +720,15 @@
 
 #: ../src/collect-dlg.c:228
 msgid "Collection Files"
-msgstr "Albumfiler"
+msgstr "Kollektionsfiler"
 
 #: ../src/collect-dlg.c:245
 msgid "Collection empty"
-msgstr "Tomt album"
+msgstr "Tom kollektion"
 
 #: ../src/collect-dlg.c:246
 msgid "The current collection is empty, save aborted."
-msgstr "Detta album är tomt, försöket att spara avbröts."
+msgstr "Kollektionen är tom, kan inte sparas."
 
 #: ../src/collect-io.c:346
 #, c-format
@@ -741,7 +741,7 @@
 "error saving collection file: %s\n"
 "error: %s\n"
 msgstr ""
-"fel vid spara kollektionsfil: %s\n"
+"kunde inte spara kollektionsfil: %s\n"
 "fel: %s\n"
 
 #: ../src/collect-table.c:211
@@ -800,7 +800,7 @@
 
 #: ../src/collect-table.c:880
 msgid "Append from collection..."
-msgstr "Lägg till från album..."
+msgstr "Lägg till från kollektion..."
 
 #: ../src/collect-table.c:884
 msgid "_Selection"
@@ -846,7 +846,7 @@
 #: ../src/search.c:1023
 #: ../src/view_file.c:594
 msgid "_Move..."
-msgstr "Fl_ytta..."
+msgstr "_Flytta..."
 
 #: ../src/collect-table.c:906
 #: ../src/dupe.c:2275
@@ -858,7 +858,7 @@
 #: ../src/view_dir.c:666
 #: ../src/view_file.c:596
 msgid "_Rename..."
-msgstr "_Namnändra..."
+msgstr "_Byt namn..."
 
 #: ../src/collect-table.c:908
 #: ../src/dupe.c:2277
@@ -901,16 +901,16 @@
 
 #: ../src/collect-table.c:924
 msgid "_Save collection"
-msgstr "_Spara album"
+msgstr "_Spara kollektionen"
 
 #: ../src/collect-table.c:926
 msgid "Save collection _as..."
-msgstr "Spara album s_om..."
+msgstr "Spara kollektionen s_om..."
 
 #: ../src/collect-table.c:929
 #: ../src/layout_util.c:1278
 msgid "_Find duplicates..."
-msgstr "_Hitta dubletter..."
+msgstr "Hitta _dubletter..."
 
 #: ../src/collect-table.c:931
 #: ../src/dupe.c:2268
@@ -1024,7 +1024,7 @@
 
 #: ../src/desktop_file.c:453
 msgid "Editors"
-msgstr "Redigerare"
+msgstr "Textredigerare"
 
 #: ../src/desktop_file.c:524
 msgid "Hidden"
@@ -1091,7 +1091,7 @@
 #: ../src/dupe.c:2266
 #: ../src/search.c:1016
 msgid "Add to new collection"
-msgstr "Lägg till i nytt album"
+msgstr "Lägg till i ny kollektion"
 
 #: ../src/dupe.c:2284
 #: ../src/dupe.c:2571
@@ -1240,27 +1240,27 @@
 
 #: ../src/editors.c:1354
 msgid "Editor template is empty."
-msgstr ""
+msgstr "Redigeringsmallen är tom"
 
 #: ../src/editors.c:1355
 msgid "Editor template has incorrect syntax."
-msgstr ""
+msgstr "Redigeringsmallen är felaktig"
 
 #: ../src/editors.c:1356
 msgid "Editor template uses incompatible macros."
-msgstr ""
+msgstr "Redigeringsmallen använder inkompatibla makron"
 
 #: ../src/editors.c:1357
 msgid "Can't find matching file type."
-msgstr "Kan inte hitta denna filtyp-"
+msgstr "Kan inte hitta denna filtyp"
 
 #: ../src/editors.c:1358
 msgid "Can't execute external editor."
-msgstr "Kan inte starta extern textredigerare."
+msgstr "Kan inte starta extern textredigerare"
 
 #: ../src/editors.c:1359
 msgid "External editor returned error status."
-msgstr "Extern textredigerare returnerar felstatus."
+msgstr "Extern textredigerare returnerar felstatus"
 
 #: ../src/editors.c:1360
 msgid "File was skipped."
@@ -1470,7 +1470,7 @@
 
 #: ../src/exif.c:218
 msgid "ISO studio tungsten"
-msgstr ""
+msgstr "ISO studio-volfram"
 
 #: ../src/exif.c:226
 msgid "yes, not detected by strobe"
@@ -1486,19 +1486,19 @@
 
 #: ../src/exif.c:239
 msgid "1 chip color area"
-msgstr ""
+msgstr "1 chip färgområde"
 
 #: ../src/exif.c:240
 msgid "2 chip color area"
-msgstr ""
+msgstr "2 chip färgområde"
 
 #: ../src/exif.c:241
 msgid "3 chip color area"
-msgstr ""
+msgstr "3 chip färgområde"
 
 #: ../src/exif.c:242
 msgid "color sequential area"
-msgstr ""
+msgstr "sekventiellt färgområde"
 
 #: ../src/exif.c:243
 msgid "trilinear"
@@ -1506,7 +1506,7 @@
 
 #: ../src/exif.c:244
 msgid "color sequential linear"
-msgstr ""
+msgstr "sekventiellt linjär färg"
 
 #: ../src/exif.c:249
 msgid "digital still camera"
@@ -1514,7 +1514,7 @@
 
 #: ../src/exif.c:254
 msgid "direct photo"
-msgstr ""
+msgstr "direkt fotografi"
 
 #: ../src/exif.c:260
 msgid "custom"
@@ -1524,11 +1524,11 @@
 #: ../src/exif.c:272
 #: ../src/exif-common.c:375
 msgid "auto"
-msgstr "auto"
+msgstr "automatiskt"
 
 #: ../src/exif.c:267
 msgid "auto bracket"
-msgstr "1+exponering+3"
+msgstr "automatisk alternativexponering"
 
 #: ../src/exif.c:278
 msgid "standard"
@@ -1544,19 +1544,19 @@
 
 #: ../src/exif.c:287
 msgid "low gain up"
-msgstr "öka lågeffekt"
+msgstr "low gain up"
 
 #: ../src/exif.c:288
 msgid "high gain up"
-msgstr ""
+msgstr "high gain up"
 
 #: ../src/exif.c:289
 msgid "low gain down"
-msgstr "minska lågeffekt"
+msgstr "low gain down"
 
 #: ../src/exif.c:290
 msgid "high gain down"
-msgstr ""
+msgstr "high gain down"
 
 #: ../src/exif.c:296
 #: ../src/exif.c:310
@@ -1582,11 +1582,11 @@
 
 #: ../src/exif.c:318
 msgid "close"
-msgstr "stäng"
+msgstr "nära"
 
 #: ../src/exif.c:319
 msgid "distant"
-msgstr "avlägsen"
+msgstr "avlägset"
 
 #: ../src/exif.c:329
 msgid "Image Width"
@@ -1598,7 +1598,7 @@
 
 #: ../src/exif.c:331
 msgid "Bits per Sample/Pixel"
-msgstr ""
+msgstr "Bits per punkt/pixel"
 
 #: ../src/exif.c:332
 msgid "Compression"
@@ -1638,19 +1638,19 @@
 
 #: ../src/exif.c:342
 msgid "White point"
-msgstr ""
+msgstr "Vitpunkt"
 
 #: ../src/exif.c:343
 msgid "Primary chromaticities"
-msgstr ""
+msgstr "Primära kromaticiteter"
 
 #: ../src/exif.c:344
 msgid "YCbCy coefficients"
-msgstr ""
+msgstr "YCbCy-koefficienter"
 
 #: ../src/exif.c:345
 msgid "YCbCr positioning"
-msgstr ""
+msgstr "YCbCr-positionering"
 
 #: ../src/exif.c:346
 msgid "Black white reference"
@@ -1658,7 +1658,7 @@
 
 #: ../src/exif.c:348
 msgid "SubIFD Exif offset"
-msgstr ""
+msgstr "SubIFD Exif-offset"
 
 #. subIFD follows
 #: ../src/exif.c:350
@@ -1667,7 +1667,7 @@
 
 #: ../src/exif.c:351
 msgid "FNumber"
-msgstr ""
+msgstr "FNumber"
 
 #: ../src/exif.c:352
 msgid "Exposure program"
@@ -1685,7 +1685,7 @@
 
 #: ../src/exif.c:355
 msgid "Optoelectric conversion factor"
-msgstr ""
+msgstr "Optoelektrisk konverteringsfaktor"
 
 #: ../src/exif.c:356
 msgid "Exif version"
@@ -1733,7 +1733,7 @@
 #: ../src/exif.c:366
 #: ../src/exif-common.c:550
 msgid "Subject distance"
-msgstr "Avstånd till motiv"
+msgstr "Motivavstånd"
 
 #: ../src/exif.c:367
 msgid "Metering mode"
@@ -1767,19 +1767,19 @@
 
 #: ../src/exif.c:374
 msgid "Subsecond time"
-msgstr ""
+msgstr "Tid, delar av sekunder"
 
 #: ../src/exif.c:375
 msgid "Subsecond time original"
-msgstr "Originaltidpunkt"
+msgstr "Originaltid, delar av sekunder"
 
 #: ../src/exif.c:376
 msgid "Subsecond time digitized"
-msgstr "Digitaliseringstidpunkt"
+msgstr "Digitaliseringstid, delar av sekunder"
 
 #: ../src/exif.c:377
 msgid "FlashPix version"
-msgstr ""
+msgstr "FlashPix-version"
 
 #: ../src/exif.c:378
 msgid "Colorspace"
@@ -1800,7 +1800,7 @@
 
 #: ../src/exif.c:383
 msgid "ExifR98 extension"
-msgstr ""
+msgstr "ExifR98-tillägg"
 
 #: ../src/exif.c:384
 msgid "Flash strength"
@@ -1808,7 +1808,7 @@
 
 #: ../src/exif.c:385
 msgid "Spatial frequency response"
-msgstr ""
+msgstr "Spatiell frekvensrespons"
 
 #: ../src/exif.c:386
 msgid "X Pixel density"
@@ -1840,7 +1840,7 @@
 
 #: ../src/exif.c:394
 msgid "Color filter array pattern"
-msgstr ""
+msgstr "Färgfilter-vektormönster"
 
 #. tags a4xx were added for Exif 2.2 (not just these - some above, as well)
 #: ../src/exif.c:396
@@ -1857,7 +1857,7 @@
 
 #: ../src/exif.c:399
 msgid "Digital zoom ratio"
-msgstr ""
+msgstr "Digital zoomning"
 
 #: ../src/exif.c:400
 msgid "Focal length (35mm)"
@@ -1865,11 +1865,11 @@
 
 #: ../src/exif.c:401
 msgid "Scene capture type"
-msgstr ""
+msgstr "Sceninnehållstyp"
 
 #: ../src/exif.c:402
 msgid "Gain control"
-msgstr "Vinst(?)kontroll"
+msgstr "Förstärkningsinställning"
 
 #: ../src/exif.c:403
 msgid "Contrast"
@@ -1981,7 +1981,7 @@
 
 #: ../src/exif-common.c:558
 msgid "File mode"
-msgstr "Filtyp(?)"
+msgstr "Filtyp"
 
 #: ../src/filedata.c:91
 #, c-format
@@ -2073,7 +2073,7 @@
 
 #: ../src/fullscreen.c:638
 msgid "Stay above other windows"
-msgstr "Stanna ovanför andra fönster"
+msgstr "Behåll fönstret överst"
 
 #: ../src/fullscreen.c:645
 msgid "Determined by Window Manager"
@@ -2176,12 +2176,12 @@
 #: ../src/layout_image.c:501
 #: ../src/layout_util.c:1306
 msgid "Set as _wallpaper"
-msgstr "Ställ in som skrivbords_underlag"
+msgstr "Använd som skrivbords_underlag"
 
 #: ../src/img-view.c:1282
 #: ../src/layout_image.c:508
 msgid "_Go to directory view"
-msgstr ""
+msgstr "_GÃ¥ till mappvy"
 
 #: ../src/img-view.c:1295
 #: ../src/layout_image.c:529
@@ -2273,15 +2273,15 @@
 
 #: ../src/layout.c:1873
 msgid "Window options and layout"
-msgstr "Fönsteralternativ och -layout"
+msgstr "Bildvisningsfönstret"
 
 #: ../src/layout.c:1932
 msgid "General options"
-msgstr "Allmänna valmöjligheter"
+msgstr "Allmänt"
 
 #: ../src/layout.c:1934
 msgid "Home path (empty to use your home directory)"
-msgstr "Startmapp (tomt = din egen hemmamapp)"
+msgstr "Startmapp (tomt = egen hemmamapp)"
 
 #: ../src/layout.c:1942
 msgid "Use current"
@@ -2289,7 +2289,7 @@
 
 #: ../src/layout.c:1945
 msgid "Show date in directories list view"
-msgstr ""
+msgstr "Visa datum i mapplistvyn"
 
 #: ../src/layout.c:1948
 msgid "Exit program when this window is closed"
@@ -2297,7 +2297,7 @@
 
 #: ../src/layout.c:1951
 msgid "Start-up directory:"
-msgstr ""
+msgstr "Startmapp"
 
 #: ../src/layout.c:1953
 msgid "No change"
@@ -2336,7 +2336,7 @@
 
 #: ../src/layout_config.c:364
 msgid "(drag to change order)"
-msgstr "(dra-och-släpp för att byta ordning)"
+msgstr "Dra-och-släpp för att byta ordning!"
 
 #: ../src/layout_image.c:559
 msgid "Hide file _list"
@@ -2380,7 +2380,7 @@
 
 #: ../src/layout_util.c:1252
 msgid "P_references"
-msgstr "_Förval"
+msgstr "_Inställningar"
 
 #: ../src/layout_util.c:1254
 msgid "_Files and Folders"
@@ -2392,15 +2392,15 @@
 
 #: ../src/layout_util.c:1256
 msgid "_Color Management"
-msgstr "_Färghantering"
+msgstr "F_ärghantering"
 
 #: ../src/layout_util.c:1257
 msgid "_Connected Zoom"
-msgstr ""
+msgstr "_Zooma"
 
 #: ../src/layout_util.c:1258
 msgid "Spli_t"
-msgstr "_Dela"
+msgstr "Fönster_delning"
 
 #: ../src/layout_util.c:1259
 #: ../src/layout_util.c:1373
@@ -2413,7 +2413,7 @@
 
 #: ../src/layout_util.c:1262
 msgid "_First Image"
-msgstr "_Första bilden"
+msgstr "till _första bilden"
 
 #: ../src/layout_util.c:1262
 msgid "First Image"
@@ -2423,7 +2423,7 @@
 #: ../src/layout_util.c:1264
 #: ../src/layout_util.c:1265
 msgid "_Previous Image"
-msgstr "Före_gående bild"
+msgstr "till före_gående bild"
 
 #: ../src/layout_util.c:1263
 #: ../src/layout_util.c:1264
@@ -2435,7 +2435,7 @@
 #: ../src/layout_util.c:1267
 #: ../src/layout_util.c:1268
 msgid "_Next Image"
-msgstr "_Nästa bild"
+msgstr "till _nästa bild"
 
 #: ../src/layout_util.c:1266
 #: ../src/layout_util.c:1267
@@ -2445,7 +2445,7 @@
 
 #: ../src/layout_util.c:1269
 msgid "_Last Image"
-msgstr "_Sista bilden"
+msgstr "till _sista bilden"
 
 #: ../src/layout_util.c:1269
 msgid "Last Image"
@@ -2453,15 +2453,15 @@
 
 #: ../src/layout_util.c:1270
 msgid "_Back"
-msgstr "_Bakåt"
+msgstr "_tillbaka"
 
 #: ../src/layout_util.c:1270
 msgid "Back"
-msgstr "Bakåt"
+msgstr "Tillbaka"
 
 #: ../src/layout_util.c:1271
 msgid "_Home"
-msgstr "_Hem"
+msgstr "_hem"
 
 #: ../src/layout_util.c:1271
 #: ../src/options.c:136
@@ -2472,7 +2472,7 @@
 
 #: ../src/layout_util.c:1273
 msgid "New _window"
-msgstr "Nytt _fönster"
+msgstr "_Nytt fönster"
 
 #: ../src/layout_util.c:1273
 msgid "New window"
@@ -2480,7 +2480,7 @@
 
 #: ../src/layout_util.c:1274
 msgid "_New collection"
-msgstr "_Nytt album"
+msgstr "Ny k_ollektion"
 
 #: ../src/layout_util.c:1274
 msgid "New collection"
@@ -2488,7 +2488,7 @@
 
 #: ../src/layout_util.c:1275
 msgid "_Open collection..."
-msgstr "Öppna _album..."
+msgstr "_Öppna kollektion..."
 
 #: ../src/layout_util.c:1275
 msgid "Open collection..."
@@ -2496,19 +2496,19 @@
 
 #: ../src/layout_util.c:1276
 msgid "Open recen_t"
-msgstr "Öppna senas_te"
+msgstr "S_enaste kollektion"
 
 #: ../src/layout_util.c:1276
 msgid "Open recent"
-msgstr "Öppna senaste"
+msgstr "Öppna senaste kollektion"
 
 #: ../src/layout_util.c:1277
 msgid "_Search..."
-msgstr "_Sök..."
+msgstr "_Hitta..."
 
 #: ../src/layout_util.c:1277
 msgid "Search..."
-msgstr "Sök..."
+msgstr "Hitta..."
 
 #: ../src/layout_util.c:1278
 msgid "Find duplicates..."
@@ -2516,7 +2516,7 @@
 
 #: ../src/layout_util.c:1279
 msgid "Pa_n view"
-msgstr "Pane_lvy"
+msgstr "_Panelvy"
 
 #: ../src/layout_util.c:1279
 msgid "Pan view"
@@ -2524,7 +2524,7 @@
 
 #: ../src/layout_util.c:1280
 msgid "_Print..."
-msgstr "_Skriv ut..."
+msgstr "Skriv _ut..."
 
 #: ../src/layout_util.c:1281
 msgid "N_ew folder..."
@@ -2544,7 +2544,7 @@
 
 #: ../src/layout_util.c:1284
 msgid "Rename..."
-msgstr "_Namnändra..."
+msgstr "Byt namn..."
 
 #: ../src/layout_util.c:1285
 #: ../src/layout_util.c:1286
@@ -2584,7 +2584,7 @@
 
 #: ../src/layout_util.c:1292
 msgid "_Quit"
-msgstr "A_vsluta"
+msgstr "_Avsluta"
 
 #: ../src/layout_util.c:1292
 msgid "Quit"
@@ -2602,7 +2602,7 @@
 #: ../src/layout_util.c:1294
 #: ../src/menu.c:221
 msgid "Rotate _counterclockwise"
-msgstr "Rotera mot_urs"
+msgstr "R_otera moturs"
 
 #: ../src/layout_util.c:1294
 msgid "Rotate counterclockwise"
@@ -2637,11 +2637,11 @@
 #: ../src/layout_util.c:1298
 #: ../src/menu.c:233
 msgid "_Original state"
-msgstr "_Ursprunglig inställning"
+msgstr "_Ursprunglig orientering"
 
 #: ../src/layout_util.c:1298
 msgid "Original state"
-msgstr "Ursprunglig inställning"
+msgstr "Ursprunglig orientering"
 
 #: ../src/layout_util.c:1299
 msgid "Select _all"
@@ -2653,7 +2653,7 @@
 
 #: ../src/layout_util.c:1301
 msgid "_Invert Selection"
-msgstr "_Invertera markeringar"
+msgstr "I_nvertera markeringar"
 
 #: ../src/layout_util.c:1301
 msgid "Invert Selection"
@@ -2661,15 +2661,15 @@
 
 #: ../src/layout_util.c:1302
 msgid "P_references..."
-msgstr "In_ställningar..."
+msgstr "_Ställ in..."
 
 #: ../src/layout_util.c:1302
 msgid "Preferences..."
-msgstr "Inställningar..."
+msgstr "Ställ in..."
 
 #: ../src/layout_util.c:1303
 msgid "Configure _Editors..."
-msgstr "Konfigurera _textredigerare..."
+msgstr "_Konfigurera textredigerare..."
 
 #: ../src/layout_util.c:1303
 msgid "Configure Editors..."
@@ -2677,11 +2677,11 @@
 
 #: ../src/layout_util.c:1304
 msgid "_Configure this window..."
-msgstr "_Konfigurera det här fönstret..."
+msgstr "_Bildvisningsfönstret..."
 
 #: ../src/layout_util.c:1304
 msgid "Configure this window..."
-msgstr "Konfigurera det här fönstret..."
+msgstr "Bildvisningsfönstret..."
 
 #: ../src/layout_util.c:1305
 msgid "_Thumbnail maintenance..."
@@ -2689,7 +2689,7 @@
 
 #: ../src/layout_util.c:1305
 msgid "Thumbnail maintenance..."
-msgstr "_Miniatyrbildsunderhåll..."
+msgstr "Miniatyrbildsunderhåll..."
 
 #: ../src/layout_util.c:1306
 msgid "Set as wallpaper"
@@ -2793,7 +2793,7 @@
 #: ../src/layout_util.c:1324
 #: ../src/layout_util.c:1325
 msgid "Connected Zoom in"
-msgstr ""
+msgstr "Zooma in"
 
 #: ../src/layout_util.c:1326
 #: ../src/layout_util.c:1327
@@ -2812,11 +2812,11 @@
 
 #: ../src/layout_util.c:1332
 msgid "Connected Fit Horizontally"
-msgstr ""
+msgstr "Horisontell fönsterpassning"
 
 #: ../src/layout_util.c:1333
 msgid "Connected Fit Vertically"
-msgstr ""
+msgstr "Vertikal fönsterpassning"
 
 #: ../src/layout_util.c:1334
 msgid "Connected Zoom 2:1"
@@ -2868,7 +2868,7 @@
 
 #: ../src/layout_util.c:1346
 msgid "_Cycle through overlay modes"
-msgstr "_Växla mellan overlay-alternativ"
+msgstr "Vä_xla mellan overlay-alternativ"
 
 #: ../src/layout_util.c:1346
 msgid "Cycle through Overlay modes"
@@ -2989,7 +2989,7 @@
 
 #: ../src/layout_util.c:1365
 msgid "_Float file list"
-msgstr "_Ta loss fillista"
+msgstr "Ta loss _fillista"
 
 #: ../src/layout_util.c:1365
 msgid "Float file list"
@@ -3005,11 +3005,11 @@
 
 #: ../src/layout_util.c:1367
 msgid "_Info sidebar"
-msgstr "_Informationskolumnen"
+msgstr "_Informationskolumn"
 
 #: ../src/layout_util.c:1367
 msgid "Info sidebar"
-msgstr "Informationskolumnen"
+msgstr "Informationskolumn"
 
 #: ../src/layout_util.c:1368
 msgid "Sort _manager"
@@ -3045,11 +3045,11 @@
 
 #: ../src/layout_util.c:1372
 msgid "Toggle _grayscale"
-msgstr "Växla _gråskala"
+msgstr "Växla _gråskala - färg"
 
 #: ../src/layout_util.c:1372
 msgid "Toggle grayscale"
-msgstr "Växla gråskala"
+msgstr "Växla gråskala - färg"
 
 #: ../src/layout_util.c:1373
 msgid "Image Overlay"
@@ -3057,7 +3057,7 @@
 
 #: ../src/layout_util.c:1374
 msgid "_Show Histogram"
-msgstr "Visa hi_stogram"
+msgstr "_Visa histogram"
 
 #: ../src/layout_util.c:1374
 msgid "Show Histogram"
@@ -3065,15 +3065,15 @@
 
 #: ../src/layout_util.c:1378
 msgid "Image _List"
-msgstr "Bild_lista"
+msgstr "Fil_namnlista"
 
 #: ../src/layout_util.c:1378
 msgid "View Images as List"
-msgstr "Visa bildlista"
+msgstr "Visa filnamnlista"
 
 #: ../src/layout_util.c:1379
 msgid "I_cons"
-msgstr "I_koner"
+msgstr "_Ikoner"
 
 #: ../src/layout_util.c:1379
 msgid "View Images as Icons"
@@ -3097,7 +3097,7 @@
 
 #: ../src/layout_util.c:1388
 msgid "_Horizontal"
-msgstr "_Horisontellt"
+msgstr "_horisontellt"
 
 #: ../src/layout_util.c:1388
 msgid "Split Horizontal"
@@ -3113,7 +3113,7 @@
 
 #: ../src/layout_util.c:1390
 msgid "_Quad"
-msgstr "_fyra bilder"
+msgstr "i _fyra bilder"
 
 #: ../src/layout_util.c:1390
 msgid "Split Quad"
@@ -3121,11 +3121,11 @@
 
 #: ../src/layout_util.c:1391
 msgid "_Single"
-msgstr "_en bild"
+msgstr "_ingen (en bild)"
 
 #: ../src/layout_util.c:1391
 msgid "Split Single"
-msgstr "Dela en bild"
+msgstr "Dela inte (en bild)"
 
 #: ../src/layout_util.c:1395
 msgid "Input _0: sRGB"
@@ -3250,19 +3250,19 @@
 #: ../src/layout_util.c:1684
 #, c-format
 msgid "Se_lect mark %d"
-msgstr "Väl_j märke %d"
+msgstr "_Urval märke %d"
 
 #: ../src/layout_util.c:1684
 #: ../src/layout_util.c:1685
 #, c-format
 msgid "Select mark %d"
-msgstr "Välj märke %d"
+msgstr "Urval märke %d"
 
 #: ../src/layout_util.c:1685
 #: ../src/view_file.c:543
 #, c-format
 msgid "_Select mark %d"
-msgstr "_Välj märke %d"
+msgstr "_Urval märke %d"
 
 #: ../src/layout_util.c:1686
 #: ../src/view_file.c:544
@@ -3279,7 +3279,7 @@
 #: ../src/view_file.c:545
 #, c-format
 msgid "_Intersection with mark %d"
-msgstr "Skä_rning med märke %d"
+msgstr "_Skärning med märke %d"
 
 #: ../src/layout_util.c:1687
 #, c-format
@@ -3290,12 +3290,12 @@
 #: ../src/view_file.c:546
 #, c-format
 msgid "_Unselect mark %d"
-msgstr "Välj _bort märke %d"
+msgstr "_Bortval märke %d"
 
 #: ../src/layout_util.c:1688
 #, c-format
 msgid "Unselect mark %d"
-msgstr "Välj bort märke %d"
+msgstr "Bortval märke %d"
 
 #: ../src/layout_util.c:1689
 #, c-format
@@ -3322,6 +3322,8 @@
 "Image profile: %s\n"
 "Screen profile: %s"
 msgstr ""
+"Bildprofil: %s\n"
+"Skärmprofil: %s"
 
 #: ../src/layout_util.c:2278
 msgid "Click to enable color management"
@@ -3340,7 +3342,7 @@
 #: ../src/lirc.c:197
 #, c-format
 msgid "disconnected from LIRC\n"
-msgstr ""
+msgstr "bortkopplad från LIRC\n"
 
 #: ../src/lirc.c:212
 #, c-format
@@ -3354,6 +3356,9 @@
 "please read the documentation of LIRC to \n"
 "know how to create a proper config file\n"
 msgstr ""
+"kan inte läsa LIRC-konfigureringsfilen;\n"
+"vänligen läs LIRC-dokumentationen för beskrivning \n"
+"av vad konfigureringsfiler ska innehålla\n"
 
 #: ../src/logwindow.c:76
 msgid "Log"
@@ -3390,11 +3395,11 @@
 
 #: ../src/main.c:327
 msgid "  -l, --list                 open collection window for command line\n"
-msgstr "  -l, --list                 öppna albumfönster för angivna filer\n"
+msgstr "  -l, --list                 öppna kollektionsfönster för kommandorad\n"
 
 #: ../src/main.c:328
 msgid "      --geometry=GEOMETRY    set main window location\n"
-msgstr ""
+msgstr "      --geometry=GEOMETRY    välj huvudfönstrets placering\n"
 
 #: ../src/main.c:329
 msgid "  -r, --remote               send following commands to open window\n"
@@ -3438,6 +3443,8 @@
 "\n"
 "Use --remote-help for valid remote options.\n"
 msgstr ""
+"\n"
+"Använd  --remote-help  för gällande fjärralternativ\n"
 
 #: ../src/main.c:487
 #, c-format
@@ -3474,7 +3481,7 @@
 
 #: ../src/main.c:677
 msgid "Collections have been modified. Quit anyway?"
-msgstr "Album har ändrats. Avsluta ändå?"
+msgstr "Kollektionen är ändrad. Avsluta ändå?"
 
 #: ../src/main.c:878
 #: ../src/remote.c:601
@@ -3600,7 +3607,7 @@
 #: ../src/metadata.c:1484
 #: ../src/print.c:375
 msgid "Landscape"
-msgstr "Liggande"
+msgstr "Landskap"
 
 #: ../src/metadata.c:1485
 msgid "Art"
@@ -3638,7 +3645,7 @@
 
 #: ../src/metadata.c:1493
 msgid "Square"
-msgstr "Fyrkant"
+msgstr "Torg"
 
 #: ../src/metadata.c:1494
 msgid "Architecture"
@@ -3739,7 +3746,7 @@
 #: ../src/metadata.c:1520
 #: ../src/print.c:374
 msgid "Portrait"
-msgstr "Stående"
+msgstr "Porträtt"
 
 #: ../src/metadata.c:1521
 msgid "Black and White"
@@ -3762,7 +3769,7 @@
 #: ../src/pan-view.c:482
 #, c-format
 msgid "The pan view does not support the folder \"%s\"."
-msgstr "Panelvyn kan inte visa mappen \"%s\"."
+msgstr "Panelvyn kan inte visa mappen \"%s\""
 
 #: ../src/pan-view.c:483
 msgid "Folder not supported"
@@ -3908,11 +3915,11 @@
 
 #: ../src/pan-view.c:2615
 msgid "Pan view performance may be poor."
-msgstr "Panelvyprestanda kan vara dåliga."
+msgstr "Panelvyprestanda kan vara dåliga"
 
 #: ../src/pan-view.c:2616
 msgid "To improve performance of thumbnails in the pan view the following options can be enabled. Note that both options must be enabled to notice a change in performance."
-msgstr "För att snabba upp miniatyrbildvisningen i panelvyn kan följade göras, menm märk att båda åtgärderna behövs för att någon förbättring ska märkas: "
+msgstr "För att snabba upp miniatyrbildvisningen i panelvyn kan följade göras, men märk att båda åtgärderna behövs för att någon förbättring ska märkas: "
 
 #: ../src/pan-view.c:2624
 #: ../src/preferences.c:1177
@@ -4217,6 +4224,15 @@
 "if there's no ISO information in the Exif data.\n"
 "If a line is empty, it is removed. This allows to add lines that totally disappear when no data is available.\n"
 msgstr ""
+"<i>%name%</i> visar bildens filnamn\n"
+"Mera: <i>%collection%</i> kollektion, <i>%number%</i> nr, <i>%total%</i> antal, <i>%date%</i> datum,\n"
+"<i>%size%</i> filstorlek, <i>%width%</i> bredd, <i>%height%</i> höjd, <i>%res%</i> upplösning\n"
+"För exif-data använd exif-namnet, ex. <i>%formatted.Camera%</i> formaterat kameranamn,\n"
+"<i>%Exif.Photo.DateTimeOriginal%</i> när originalbilden exponerades\n"
+"Att skriva <i>%formatted.Camera:20</i> betyder att texten begränsas till 20 tecken och 3 punkter markerar flera\n"
+"Om två eller fler förbinds med |-tecken visas de tillgängliga med en separator:\n"
+"<i>%formatted.ShutterSpeed%</i>|<i>%formatted.ISOSpeedRating%</i>|<i>%formatted.FocalLength%</i> blir t.ex. \"1/20s - 400 - 80 mm\" eller \"1/200 - 80 mm\" om ISO-information saknas\n"
+"Tomma rader ignoreras, så att de helt försvinner då ingen information finns\n"
 
 #: ../src/preferences.c:1396
 #: ../src/preferences.c:1569
@@ -4242,7 +4258,7 @@
 
 #: ../src/preferences.c:1463
 msgid "Grouping sidecar extensions"
-msgstr ""
+msgstr "Grupperar 'sidecar'-tilläggen"
 
 #: ../src/preferences.c:1470
 msgid "File types"
@@ -4262,7 +4278,7 @@
 
 #: ../src/preferences.c:1552
 msgid "Sidecar is allowed"
-msgstr ""
+msgstr "'Sidecar'-filer tillåtna"
 
 #: ../src/preferences.c:1598
 msgid "Metadata writing process"
@@ -4274,28 +4290,28 @@
 
 #: ../src/preferences.c:1602
 msgid "Metadata are written in the following order. The process ends after first success."
-msgstr "Metadata skrivs i följande ordning. Processen avslutas så snart den lyckats."
+msgstr "Metadata skrivs i följande ordning. Processen avslutas så snart den lyckats:"
 
 #: ../src/preferences.c:1605
 msgid "1) Save metadata in image files, resp. sidecar files, according to the XMP standard"
-msgstr ""
+msgstr "1) Spara metadata i bildfiler respektive 'sidecar'-filer enligt XMP-standard"
 
 #: ../src/preferences.c:1611
 msgid "2) Save metadata in '.metadata' folder, local to image folder (non-standard)"
-msgstr ""
+msgstr "2) Spara metadata i '.metadata'-mapp lokalt med bildmappen (icke-standard)"
 
 #: ../src/preferences.c:1614
 #, c-format
 msgid "3) Save metadata in Geeqie private directory '%s'"
-msgstr ""
+msgstr "3) Spara metadata i den särskilda Geeqie-mappen '%s'"
 
 #: ../src/preferences.c:1619
 msgid "Step 1: Write to image files"
-msgstr ""
+msgstr "Steg 1: Skriv till bildfiler"
 
 #: ../src/preferences.c:1627
 msgid "Store metadata also in legacy IPTC tags (converted according to IPTC4XMP standard)"
-msgstr ""
+msgstr "Spara också metadata som traditionell IPTC (konverterat enligt IPCT4XMP-standard)"
 
 #: ../src/preferences.c:1630
 msgid "Warn if the image files are unwritable"
@@ -4307,11 +4323,11 @@
 
 #: ../src/preferences.c:1636
 msgid "Step 2 and 3: write to Geeqie private files"
-msgstr ""
+msgstr "Steg 2 och 3: Skriv till särskilda Geeqie-filer"
 
 #: ../src/preferences.c:1641
 msgid "Use GQview legacy metadata format (supports only keywords and comments) instead of XMP"
-msgstr ""
+msgstr "Använd gamla GQview-metadata-formatet (endast nyckelord och kommentarer) i stället för XMP"
 
 #: ../src/preferences.c:1645
 #: ../src/preferences.c:1833
@@ -4320,7 +4336,7 @@
 
 #: ../src/preferences.c:1646
 msgid "Write the same description tags (keywords, comment, etc.) to all grouped sidecars"
-msgstr ""
+msgstr "Skriv likadana beskrivningar (nyckelord, kommentarer, etc.) för alla 'sidecar'-grupper"
 
 #: ../src/preferences.c:1649
 msgid "Allow keywords to differ only in case"
@@ -4336,7 +4352,7 @@
 
 #: ../src/preferences.c:1660
 msgid "Write metadata after timeout"
-msgstr ""
+msgstr "Skriv metadata efter timeout"
 
 #: ../src/preferences.c:1666
 msgid "Timeout (seconds):"
@@ -4348,7 +4364,7 @@
 
 #: ../src/preferences.c:1672
 msgid "Write metadata on directory change"
-msgstr ""
+msgstr "Skriv metadata vid mappbyte"
 
 #: ../src/preferences.c:1686
 msgid "Color management"
@@ -4386,7 +4402,7 @@
 
 #: ../src/preferences.c:1739
 msgid "Use system screen profile if available"
-msgstr ""
+msgstr "Använd systemegen bildskärmprofil då sådan finns"
 
 #: ../src/preferences.c:1744
 msgid "Screen:"
@@ -4444,11 +4460,11 @@
 
 #: ../src/preferences.c:1820
 msgid "Open recent list maximum size"
-msgstr ""
+msgstr "Öppna senaste listans maximalstorlek"
 
 #: ../src/preferences.c:1823
 msgid "Drag'n drop icon size"
-msgstr ""
+msgstr "Drag-och-släpp ikonstorlek"
 
 #: ../src/preferences.c:1826
 msgid "Navigation"
@@ -4480,7 +4496,7 @@
 
 #: ../src/preferences.c:1863
 msgid "Accelerators"
-msgstr ""
+msgstr "Snabbtangenter"
 
 #: ../src/preferences.c:1882
 msgid "Action"
@@ -4703,7 +4719,7 @@
 #: ../src/print.c:1334
 #: ../src/print.c:1407
 msgid "SIGPIPE error writing to printer."
-msgstr "SIGPIPE-fel vid utskrift."
+msgstr "SIGPIPE-fel vid utskrift"
 
 #: ../src/print.c:1942
 #, c-format
@@ -4911,11 +4927,11 @@
 
 #: ../src/remote.c:655
 msgid "get list of sidecars of the given file"
-msgstr ""
+msgstr "få lista med 'sidecar'-filer till denna fil"
 
 #: ../src/remote.c:656
 msgid "get destination path for the given file"
-msgstr ""
+msgstr "få sökvägen till denna fil"
 
 #: ../src/remote.c:657
 msgid "open file"
@@ -5037,7 +5053,7 @@
 
 #: ../src/search.c:2690
 msgid "Recurse"
-msgstr "Rekursera"
+msgstr "Rekursivt"
 
 #: ../src/search.c:2695
 msgid "File name"
@@ -5097,11 +5113,11 @@
 
 #: ../src/secure_save.c:405
 msgid "Cannot rename the file"
-msgstr "Filnamnändring omöjlig"
+msgstr "Kan inte byta namn på filen"
 
 #: ../src/secure_save.c:407
 msgid "File saving disabled by option"
-msgstr ""
+msgstr "Filen kan inte sparas (bortvalt)"
 
 #: ../src/secure_save.c:409
 msgid "Out of memory"
@@ -5113,7 +5129,7 @@
 
 #: ../src/secure_save.c:415
 msgid "Secure file saving error"
-msgstr ""
+msgstr "Fel vid försök till säker filskrivning"
 
 #: ../src/thumb.c:396
 msgid "Thumbnail image in cache failed to load, trying to recreate.\n"
@@ -5153,7 +5169,7 @@
 
 #: ../src/trash.c:193
 msgid "Deletion by external command"
-msgstr ""
+msgstr "Borttagning med externkommando"
 
 #: ../src/trash.c:201
 #, c-format
@@ -5211,20 +5227,20 @@
 #: ../src/ui_fileops.c:95
 #, c-format
 msgid "Operations on, and display of these files with %s may not succeed.\n"
-msgstr ""
+msgstr "Risk för att filåtgärder inklusive visning av de här filerna inte fungerar med %s \n"
 
 #: ../src/ui_fileops.c:97
 msgid "If your filenames are not encoded in utf-8, try setting the environment variable G_BROKEN_FILENAMES=1\n"
-msgstr ""
+msgstr "Om filnamn inte är kodade i UTF-8: försök sätta miljövariabeln G_BROKEN_FILENAMES=1\n"
 
 #: ../src/ui_fileops.c:99
 #, c-format
 msgid "It appears G_BROKEN_FILENAMES is set to %s\n"
-msgstr ""
+msgstr "Verkar som G_BROKEN_FILENAMES har värdet %s\n"
 
 #: ../src/ui_fileops.c:101
 msgid "It appears G_BROKEN_FILENAMES is not set\n"
-msgstr ""
+msgstr "Verkar som G_BROKEN_FILENAMES ej har något värde\n"
 
 #: ../src/ui_fileops.c:103
 #, c-format
@@ -5241,7 +5257,7 @@
 "Preferred encoding appears to be UTF-8, however the file:\n"
 msgstr ""
 "\n"
-"Teckenkodningen ser ut att vara UTF-8, men filen:\n"
+"Gällande teckenkodning ser ut att vara UTF-8, men filen:\n"
 
 #: ../src/ui_fileops.c:109
 #: ../src/ui_fileops.c:112
@@ -5287,7 +5303,7 @@
 #: ../src/ui_pathsel.c:634
 #: ../src/ui_pathsel.c:642
 msgid "_Rename"
-msgstr "_Namnändra"
+msgstr "_Byt namn"
 
 #: ../src/ui_pathsel.c:636
 #: ../src/ui_pathsel.c:646
@@ -5357,6 +5373,9 @@
 "\n"
 "%s"
 msgstr ""
+"Borttagning av mappinnehållet stannade vid denna fil:\n"
+"\n"
+"%s"
 
 #: ../src/utilops.c:877
 #, c-format
@@ -5365,7 +5384,7 @@
 "Unable to start external command.\n"
 msgstr ""
 "%s\n"
-"Kan inte starta externkommando.\n"
+"Kan inte starta externkommandot\n"
 
 #: ../src/utilops.c:957
 #, c-format
@@ -5396,7 +5415,7 @@
 #: ../src/utilops.c:1387
 #: ../src/utilops.c:1485
 msgid "Sidecars"
-msgstr ""
+msgstr "'Sidecar'-filer"
 
 #: ../src/utilops.c:1389
 msgid "Write to file"
@@ -5404,7 +5423,7 @@
 
 #: ../src/utilops.c:1429
 msgid "Choose the destination folder."
-msgstr "Välj målmapp."
+msgstr "Välj målmapp"
 
 #: ../src/utilops.c:1487
 msgid "New name"
@@ -5449,7 +5468,7 @@
 
 #: ../src/utilops.c:1576
 msgid "Format (* = original name, ## = numbers)"
-msgstr ""
+msgstr "Format (* = originalnamn, ## = siffror)"
 
 #: ../src/utilops.c:1714
 msgid "Another operation in progress.\n"
@@ -5462,7 +5481,7 @@
 
 #: ../src/utilops.c:1775
 msgid "with sidecar files:\n"
-msgstr ""
+msgstr "med 'sidecar'-filer:\n"
 
 #: ../src/utilops.c:1781
 #, c-format
@@ -5497,11 +5516,13 @@
 "The following metadata tags will be written to\n"
 "'%s'."
 msgstr ""
+"Följande metadata kommer att skrivas till\n"
+"'%s'"
 
 #: ../src/utilops.c:1880
 #, c-format
 msgid "The following metadata tags will be written to the image file itself."
-msgstr ""
+msgstr "Följande metadata kommer att skrivas till själva bildfilen"
 
 #: ../src/utilops.c:1986
 msgid "Delete files?"
@@ -5561,7 +5582,7 @@
 #: ../src/utilops.c:2170
 #: ../src/utilops.c:2636
 msgid "Rename"
-msgstr "Namnändra"
+msgstr "Byt namn"
 
 #: ../src/utilops.c:2171
 msgid "Rename files?"
@@ -5575,14 +5596,15 @@
 msgid "Can't run external editor"
 msgstr "Kan inte starta extern textredigerare"
 
+# Editor" must be wrong, better "Link"
 #: ../src/utilops.c:2258
 msgid "Editor"
-msgstr "Redigerare"
-
-# "Run editor?" must be wrong!
+msgstr "Länka"
+
+# "Run editor?" must be wrong, better "Create symlink?"
 #: ../src/utilops.c:2259
 msgid "Run editor?"
-msgstr "Länka till..."
+msgstr "Skapa länk (symlink)?"
 
 #: ../src/utilops.c:2262
 msgid "External command failed"
@@ -5661,8 +5683,8 @@
 "This will delete the folder.\n"
 "The contents of this folder will also be deleted."
 msgstr ""
-"Det här tar bort mappen.\n"
-"Mappens innehåll kommer också att tas bort."
+"Det här tar bort mappen\n"
+"Mappens innehåll kommer också att tas bort"
 
 #: ../src/utilops.c:2637
 msgid "Rename folder?"
@@ -5690,7 +5712,7 @@
 
 #: ../src/view_dir.c:399
 msgid "_Move"
-msgstr "Fl_ytta"
+msgstr "_Flytta"
 
 #: ../src/view_dir.c:645
 msgid "_Up to parent"
--- a/po/zh_CN.GB2312.po	Sun May 27 18:41:56 2012 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,5343 +0,0 @@
-msgid ""
-msgstr ""
-"Project-Id-Version: gqview 0.9.5\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2008-05-13 22:14+0200\n"
-"PO-Revision-Date: 2001-02-21 17:46+0800\n"
-"Last-Translator: Wu Yulun <migr@operamail.com>\n"
-"Language-Team: Chinese <i18n-chinese@egroups.com>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=gb2312\n"
-"Content-Transfer-Encoding: 8bit\n"
-
-#: src/bar_exif.c:444
-msgid "Tag"
-msgstr ""
-
-#: src/bar_exif.c:445 src/dupe.c:2646 src/dupe.c:3167 src/print.c:3232
-#: src/search.c:2760 src/utilops.c:2971 src/view_file_list.c:1820
-msgid "Name"
-msgstr "Ãû³Æ"
-
-#: src/bar_exif.c:446
-msgid "Value"
-msgstr ""
-
-#: src/bar_exif.c:447
-#, fuzzy
-msgid "Format"
-msgstr "ÆÕͨ"
-
-#: src/bar_exif.c:448
-msgid "Elements"
-msgstr ""
-
-#: src/bar_exif.c:449 src/preferences.c:1131
-msgid "Description"
-msgstr ""
-
-#: src/bar_exif.c:576 src/info.c:125 src/preferences.c:1274
-#, fuzzy
-msgid "Exif"
-msgstr "Í˳ö"
-
-#: src/bar_exif.c:650
-msgid "Advanced view"
-msgstr ""
-
-#: src/bar_info.c:35
-msgid "Favorite"
-msgstr ""
-
-#: src/bar_info.c:36
-#, fuzzy
-msgid "Todo"
-msgstr "ƽÆÌ"
-
-#: src/bar_info.c:37
-msgid "People"
-msgstr ""
-
-#: src/bar_info.c:38
-msgid "Places"
-msgstr ""
-
-#: src/bar_info.c:39
-msgid "Art"
-msgstr ""
-
-#: src/bar_info.c:40
-#, fuzzy
-msgid "Nature"
-msgstr "ÈÕÆÚ"
-
-#: src/bar_info.c:41
-msgid "Possessions"
-msgstr ""
-
-#: src/bar_info.c:801
-msgid "Keyword Presets"
-msgstr ""
-
-#: src/bar_info.c:804
-msgid "Favorite keywords list"
-msgstr ""
-
-#: src/bar_info.c:1301 src/info.c:189 src/search.c:2699
-msgid "Keywords"
-msgstr ""
-
-#: src/bar_info.c:1315 src/info.c:825 src/pan-view.c:1542 src/print.c:2632
-#, fuzzy
-msgid "Filename:"
-msgstr "ÖØÃüÃû£º"
-
-#: src/bar_info.c:1316 src/info.c:391
-#, fuzzy
-msgid "File date:"
-msgstr "¹ýÂËÆ÷£º"
-
-#: src/bar_info.c:1336
-msgid "Keywords:"
-msgstr ""
-
-#: src/bar_info.c:1404
-#, fuzzy
-msgid "Comment:"
-msgstr "ÓëÖ®±È½Ï£º"
-
-#: src/bar_info.c:1428
-msgid "Edit favorite keywords list."
-msgstr ""
-
-#: src/bar_info.c:1432
-msgid "Add keywords to selected files"
-msgstr ""
-
-#: src/bar_info.c:1435
-msgid "Add keywords to selected files, replacing existing ones"
-msgstr ""
-
-#: src/bar_info.c:1438
-#, fuzzy
-msgid "Add comment to selected files"
-msgstr ""
-"½«ÒªÉ¾³ýÎļþ£º\n"
-" %s"
-
-#: src/bar_info.c:1441
-msgid "Add comment to selected files, replacing existing one"
-msgstr ""
-
-#: src/bar_info.c:1446
-#, fuzzy
-msgid "Save comment now"
-msgstr "±£´æͼÏñ¼¯"
-
-#: src/bar_sort.c:218
-#, fuzzy, c-format
-msgid ""
-"Unable to remove symbolic link:\n"
-"%s"
-msgstr ""
-"ÎÞ·¨½«Îļþ£º\n"
-"%s\n"
-"Òƶ¯µ½£º\n"
-"%s"
-
-#: src/bar_sort.c:219
-#, fuzzy
-msgid "Unlink failed"
-msgstr "ɾ³ýʧ°Ü"
-
-#: src/bar_sort.c:300
-#, fuzzy, c-format
-msgid ""
-"Unable to create symbolic link:\n"
-"%s"
-msgstr ""
-"ÎÞ·¨´´½¨Ä¿Â¼£º\n"
-"%s"
-
-#: src/bar_sort.c:301
-msgid "Link failed"
-msgstr ""
-
-#: src/bar_sort.c:452
-#, fuzzy, c-format
-msgid ""
-"The collection:\n"
-"%s\n"
-"already exists."
-msgstr ""
-"Ŀ¼£º\n"
-"%s\n"
-"ÒÑ´æÔÚ¡£"
-
-#: src/bar_sort.c:453
-#, fuzzy
-msgid "Collection exists"
-msgstr "ͼÏñ¼¯Îª¿Õ"
-
-#: src/bar_sort.c:467 src/collect.c:1083 src/collect-dlg.c:85
-#, c-format
-msgid ""
-"Failed to save the collection:\n"
-"%s"
-msgstr ""
-"±£´æͼÏñ¼¯Ê§°Ü£º\n"
-"%s"
-
-#: src/bar_sort.c:468 src/collect.c:1084 src/collect-dlg.c:86
-msgid "Save Failed"
-msgstr "±£´æʧ°Ü"
-
-#: src/bar_sort.c:502 src/bar_sort.c:628
-msgid "Add Bookmark"
-msgstr ""
-
-#: src/bar_sort.c:506
-#, fuzzy
-msgid "Add Collection"
-msgstr "ͼÏñ¼¯"
-
-#: src/bar_sort.c:523 src/ui_bookmark.c:601
-#, fuzzy
-msgid "Name:"
-msgstr "Ãû³Æ"
-
-#: src/bar_sort.c:585
-#, fuzzy
-msgid "Sort Manager"
-msgstr "°´Ãû³ÆÅÅÐò"
-
-#: src/bar_sort.c:594 src/pan-view.c:2395 src/ui_pathsel.c:1103
-#, fuzzy
-msgid "Folders"
-msgstr "ƽÆÌ"
-
-#: src/bar_sort.c:595 src/main.c:567
-msgid "Collections"
-msgstr "ͼÏñ¼¯"
-
-#: src/bar_sort.c:603 src/utilops.c:1177
-msgid "Copy"
-msgstr "¸´ÖÆ"
-
-#: src/bar_sort.c:606 src/utilops.c:1191
-msgid "Move"
-msgstr "Òƶ¯"
-
-#: src/bar_sort.c:609
-msgid "Link"
-msgstr ""
-
-#: src/bar_sort.c:615
-#, fuzzy
-msgid "Add image"
-msgstr "%d ͼÏñ"
-
-#: src/bar_sort.c:618
-#, fuzzy
-msgid "Add selection"
-msgstr "Çå³ýËùÓÐÑ¡Ôñ"
-
-#: src/bar_sort.c:631
-msgid "Undo last image"
-msgstr ""
-
-#: src/cache.c:175
-#, fuzzy, c-format
-msgid ""
-"error saving sim cache data: %s\n"
-"error: %s\n"
-msgstr "±£´æÅäÖÃÎļþ³ö´í£º%s\n"
-
-#: src/cache_maint.c:127 src/cache_maint.c:689 src/cache_maint.c:902
-#: src/editors.c:717
-#, fuzzy
-msgid "done"
-msgstr "ÎÞ"
-
-#: src/cache_maint.c:306
-#, fuzzy
-msgid "Removing old metadata..."
-msgstr "ÕýÔÚ¶ÁÈ¡ÏàËÆÐÔÊý¾Ý..."
-
-#: src/cache_maint.c:310
-#, fuzzy
-msgid "Clearing cached thumbnails..."
-msgstr "ÕýÔÚÇå³ýËõÂÔͼ..."
-
-#: src/cache_maint.c:314 src/cache_maint.c:1056
-#, fuzzy
-msgid "Removing old thumbnails..."
-msgstr "ÕýÔÚÇå³ý¾ÉµÄËõÂÔͼ..."
-
-#: src/cache_maint.c:317 src/cache_maint.c:1059
-msgid "Maintenance"
-msgstr ""
-
-#: src/cache_maint.c:800 src/utilops.c:1107
-#, fuzzy
-msgid "Invalid folder"
-msgstr "·Ç·¨ÎļþÃû"
-
-#: src/cache_maint.c:801
-msgid "The specified folder can not be found."
-msgstr ""
-
-#: src/cache_maint.c:829 src/cache_maint.c:843 src/cache_maint.c:1227
-#, fuzzy
-msgid "Create thumbnails"
-msgstr "»º´æËõÂÔͼ"
-
-#: src/cache_maint.c:837 src/cache_maint.c:1066
-#, fuzzy
-msgid "S_tart"
-msgstr "ÈÕÆÚ"
-
-#: src/cache_maint.c:850 src/preferences.c:1407
-#, fuzzy
-msgid "Folder:"
-msgstr "ƽÆÌ"
-
-#: src/cache_maint.c:853
-#, fuzzy
-msgid "Select folder"
-msgstr "Çå³ýËùÓÐÑ¡Ôñ"
-
-#: src/cache_maint.c:857
-#, fuzzy
-msgid "Include subfolders"
-msgstr "·Ç·¨ÎļþÃû"
-
-#: src/cache_maint.c:858
-msgid "Store thumbnails local to source images"
-msgstr ""
-
-#: src/cache_maint.c:867 src/cache_maint.c:1075
-msgid "click start to begin"
-msgstr ""
-
-#: src/cache_maint.c:1005 src/editors.c:647
-#, fuzzy
-msgid "running..."
-msgstr "ÕýÔڱȽÏ..."
-
-#: src/cache_maint.c:1051
-msgid "Clearing thumbnails..."
-msgstr "ÕýÔÚÇå³ýËõÂÔͼ..."
-
-#: src/cache_maint.c:1117 src/cache_maint.c:1120 src/cache_maint.c:1202
-#: src/cache_maint.c:1222
-msgid "Clear cache"
-msgstr "Çå³ý»º³åÇø"
-
-#: src/cache_maint.c:1121
-msgid ""
-"This will remove all thumbnails that have\n"
-"been saved to disk, continue?"
-msgstr ""
-"Õ⽫ɾ³ý±£´æµ½´ÅÅÌÉϵÄ\n"
-"ËùÓÐËõÂÔͼ£¬¼ÌÐø£¿"
-
-#: src/cache_maint.c:1172
-#, fuzzy
-msgid "Cache Maintenance"
-msgstr "ÇóÖú - Geeqie"
-
-#: src/cache_maint.c:1184
-msgid "Cache and Data Maintenance"
-msgstr ""
-
-#: src/cache_maint.c:1188
-#, fuzzy
-msgid "Thumbnail cache"
-msgstr "Geeqie È«ÆÁ"
-
-#: src/cache_maint.c:1190 src/cache_maint.c:1210 src/cache_maint.c:1238
-#: src/pan-view.c:1544 src/pan-view.c:2384 src/preferences.c:1333
-#: src/utilops.c:1747
-#, fuzzy
-msgid "Location:"
-msgstr "ͼÏñ¼¯"
-
-#: src/cache_maint.c:1197 src/cache_maint.c:1217 src/cache_maint.c:1245
-#, fuzzy
-msgid "Clean up"
-msgstr "Çå³ý"
-
-#: src/cache_maint.c:1200 src/cache_maint.c:1220
-msgid "Remove orphaned or outdated thumbnails."
-msgstr ""
-
-#: src/cache_maint.c:1205 src/cache_maint.c:1225
-#, fuzzy
-msgid "Delete all cached thumbnails."
-msgstr "»º´æËõÂÔͼ"
-
-#: src/cache_maint.c:1208
-#, fuzzy
-msgid "Shared thumbnail cache"
-msgstr "»º´æËõÂÔͼ"
-
-#: src/cache_maint.c:1231
-#, fuzzy
-msgid "Render"
-msgstr "ÖØÃüÃû"
-
-#: src/cache_maint.c:1234
-msgid "Render thumbnails for a specific folder."
-msgstr ""
-
-#: src/cache_maint.c:1236
-msgid "Metadata"
-msgstr ""
-
-#: src/cache_maint.c:1248
-msgid "Remove orphaned keywords and comments."
-msgstr ""
-
-#: src/cellrenderericon.c:127
-msgid "Pixbuf Object"
-msgstr ""
-
-#: src/cellrenderericon.c:128
-msgid "The pixbuf to render"
-msgstr ""
-
-#: src/cellrenderericon.c:135 src/print.c:3439
-msgid "Text"
-msgstr ""
-
-#: src/cellrenderericon.c:136
-msgid "Text to render"
-msgstr ""
-
-#: src/cellrenderericon.c:143
-msgid "Background color"
-msgstr ""
-
-#: src/cellrenderericon.c:144
-msgid "Background color as a GdkColor"
-msgstr ""
-
-#: src/cellrenderericon.c:151
-msgid "Foreground color"
-msgstr ""
-
-#: src/cellrenderericon.c:152
-msgid "Foreground color as a GdkColor"
-msgstr ""
-
-#: src/cellrenderericon.c:159
-msgid "Focus"
-msgstr ""
-
-#: src/cellrenderericon.c:160
-msgid "Draw focus indicator"
-msgstr ""
-
-#: src/cellrenderericon.c:167
-msgid "Fixed width"
-msgstr ""
-
-#: src/cellrenderericon.c:168
-msgid "Width of cell"
-msgstr ""
-
-#: src/cellrenderericon.c:176
-msgid "Fixed height"
-msgstr ""
-
-#: src/cellrenderericon.c:177
-msgid "Height of icon excluding text"
-msgstr ""
-
-#: src/cellrenderericon.c:185
-msgid "Background set"
-msgstr ""
-
-#: src/cellrenderericon.c:186
-msgid "Whether this tag affects the background color"
-msgstr ""
-
-#: src/cellrenderericon.c:193
-msgid "Foreground set"
-msgstr ""
-
-#: src/cellrenderericon.c:194
-msgid "Whether this tag affects the foreground color"
-msgstr ""
-
-#: src/cellrenderericon.c:201
-#, fuzzy
-msgid "Show text"
-msgstr "ÏÔʾÒþ²ØÎļþ"
-
-#: src/cellrenderericon.c:202
-msgid "Whether the text is displayed"
-msgstr ""
-
-#: src/collect.c:353 src/image.c:178 src/image-overlay.c:437
-#: src/image-overlay.c:512
-#, c-format
-msgid "Untitled"
-msgstr "ÎÞ±êÌâ"
-
-#: src/collect.c:357
-#, c-format
-msgid "Untitled (%d)"
-msgstr "ÎÞ±êÌâ (%d)"
-
-#: src/collect.c:1002
-#, fuzzy, c-format
-msgid "%s - Collection - %s"
-msgstr "%s - Geeqie ͼÏñ¼¯"
-
-#: src/collect.c:1120 src/collect.c:1124
-msgid "Close collection"
-msgstr "¹Ø±ÕͼÏñ¼¯"
-
-#: src/collect.c:1125
-msgid ""
-"Collection has been modified.\n"
-"Save first?"
-msgstr ""
-"ͼÏñ¼¯ÒÑÐ޸ġ£\n"
-"Ê×Ïȱ£´æËü£¿"
-
-#: src/collect.c:1128
-msgid "_Discard"
-msgstr ""
-
-#: src/collect-dlg.c:59
-#, fuzzy, c-format
-msgid ""
-"Specified path:\n"
-"%s\n"
-"is a folder, collections are files"
-msgstr ""
-"Ö¸¶¨Â·¾¶£º\n"
-"%s\n"
-"ÊǸöĿ¼£¬µ«Í¼Ïñ¼¯ÊÇÎļþ"
-
-#: src/collect-dlg.c:60
-msgid "Invalid filename"
-msgstr "·Ç·¨ÎļþÃû"
-
-#: src/collect-dlg.c:69
-msgid "Overwrite File"
-msgstr "¸²¸ÇÎļþ"
-
-#: src/collect-dlg.c:74
-#, fuzzy
-msgid "Overwrite existing file?"
-msgstr "¸²¸ÇÎļþ"
-
-#: src/collect-dlg.c:76 src/utilops.c:660 src/utilops.c:990 src/utilops.c:1902
-#: src/utilops.c:2622
-#, fuzzy
-msgid "_Overwrite"
-msgstr "¸²¸Ç"
-
-#: src/collect-dlg.c:171
-msgid "Save collection"
-msgstr "±£´æͼÏñ¼¯"
-
-#: src/collect-dlg.c:178
-msgid "Open collection"
-msgstr "´ò¿ªÍ¼Ïñ¼¯"
-
-#: src/collect-dlg.c:186
-msgid "Append collection"
-msgstr "×·¼ÓͼÏñ¼¯"
-
-#: src/collect-dlg.c:187
-#, fuzzy
-msgid "_Append"
-msgstr "×·¼Ó"
-
-#: src/collect-dlg.c:205
-msgid "Collection Files"
-msgstr "ͼÏñ¼¯Îļþ"
-
-#: src/collect-dlg.c:223
-msgid "Collection empty"
-msgstr "ͼÏñ¼¯Îª¿Õ"
-
-#: src/collect-dlg.c:224
-msgid "The current collection is empty, save aborted."
-msgstr "µ±Ç°Í¼Ïñ¼¯Îª¿Õ£¬·ÅÆú±£´æ¡£"
-
-#: src/collect-io.c:343
-#, fuzzy, c-format
-msgid "failed to open collection (write) \"%s\"\n"
-msgstr ""
-"±£´æͼÏñ¼¯Ê§°Ü£º\n"
-"%s"
-
-#: src/collect-io.c:368
-#, fuzzy, c-format
-msgid ""
-"error saving collection file: %s\n"
-"error: %s\n"
-msgstr "±£´æÅäÖÃÎļþ³ö´í£º%s\n"
-
-#: src/collect-table.c:167 src/layout.c:377 src/layout_util.c:965
-msgid "Empty"
-msgstr "¿Õ"
-
-#: src/collect-table.c:171
-#, c-format
-msgid "%d images (%d)"
-msgstr "%d ͼÏñ (%d)"
-
-#: src/collect-table.c:175
-#, c-format
-msgid "%d images"
-msgstr "%d ͼÏñ"
-
-#: src/collect-table.c:189 src/dupe.c:1328 src/search.c:304
-#: src/view_file_icon.c:1779 src/view_file_icon.c:1895
-#: src/view_file_list.c:915 src/view_file_list.c:1031
-msgid "Loading thumbs..."
-msgstr "ÕýÔÚ×°ÈëËõÂÔͼ..."
-
-#: src/collect-table.c:776 src/dupe.c:2239 src/dupe.c:2554
-#: src/layout_util.c:1042 src/search.c:983
-#, fuzzy
-msgid "_View"
-msgstr "/²é¿´(_V)"
-
-#: src/collect-table.c:778 src/dupe.c:2241 src/dupe.c:2556 src/img-view.c:1282
-#: src/layout_image.c:759 src/pan-view.c:2814 src/search.c:985
-#: src/view_file.c:564
-#, fuzzy
-msgid "View in _new window"
-msgstr "ÔÚд°¿ÚÖв鿴"
-
-#: src/collect-table.c:781 src/dupe.c:2274 src/dupe.c:2564 src/search.c:1014
-#, fuzzy
-msgid "Rem_ove"
-msgstr "ɾ³ý"
-
-#: src/collect-table.c:784
-msgid "Append from file list"
-msgstr "´ÓÎļþÁбíÖÐ×·¼Ó"
-
-#: src/collect-table.c:786
-msgid "Append from collection..."
-msgstr "´ÓͼÏñ¼¯ÖÐ×·¼Ó..."
-
-#: src/collect-table.c:789 src/dupe.c:2244 src/dupe.c:2559 src/search.c:988
-msgid "Select all"
-msgstr "È«Ñ¡"
-
-#: src/collect-table.c:791 src/dupe.c:2246 src/dupe.c:2561 src/search.c:990
-msgid "Select none"
-msgstr "Çå³ýËùÓÐÑ¡Ôñ"
-
-#: src/collect-table.c:799 src/dupe.c:2255 src/img-view.c:1280
-#: src/layout_image.c:756 src/layout_util.c:1096 src/pan-view.c:2811
-#: src/search.c:995 src/view_file.c:562
-#, fuzzy
-msgid "_Properties"
-msgstr "/±à¼­/Ñ¡Ïî(_O)..."
-
-#: src/collect-table.c:802 src/dupe.c:2262 src/img-view.c:1286
-#: src/layout_image.c:767 src/layout_util.c:1067 src/pan-view.c:2818
-#: src/search.c:1002 src/view_file.c:568
-#, fuzzy
-msgid "_Copy..."
-msgstr "¸´ÖÆ..."
-
-#: src/collect-table.c:804 src/dupe.c:2264 src/img-view.c:1287
-#: src/layout_image.c:769 src/layout_util.c:1068 src/pan-view.c:2820
-#: src/search.c:1004 src/view_file.c:570
-#, fuzzy
-msgid "_Move..."
-msgstr "Òƶ¯..."
-
-#: src/collect-table.c:806 src/dupe.c:2266 src/img-view.c:1288
-#: src/layout_image.c:771 src/layout_util.c:1069 src/pan-view.c:2822
-#: src/search.c:1006 src/view_dir.c:608 src/view_file.c:572
-#, fuzzy
-msgid "_Rename..."
-msgstr "ÖØÃüÃû..."
-
-#: src/collect-table.c:808 src/dupe.c:2268 src/img-view.c:1289
-#: src/layout_image.c:773 src/layout_util.c:1070 src/layout_util.c:1071
-#: src/layout_util.c:1072 src/pan-view.c:2824 src/search.c:1008
-#: src/view_dir.c:610 src/view_file.c:574
-#, fuzzy
-msgid "_Delete..."
-msgstr "ɾ³ý..."
-
-#: src/collect-table.c:811 src/dupe.c:2271 src/img-view.c:1291
-#: src/layout_image.c:778 src/layout_util.c:1073 src/pan-view.c:2827
-#: src/search.c:1011 src/view_dir.c:614 src/view_file.c:577
-#, fuzzy
-msgid "_Copy path"
-msgstr "¸´ÖÆ"
-
-#: src/collect-table.c:816 src/view_file.c:601
-#, fuzzy
-msgid "Show filename _text"
-msgstr "ÏÔʾÒþ²ØÎļþ"
-
-#: src/collect-table.c:819
-#, fuzzy
-msgid "_Save collection"
-msgstr "±£´æͼÏñ¼¯"
-
-#: src/collect-table.c:821
-#, fuzzy
-msgid "Save collection _as..."
-msgstr "½«Í¼Ïñ¼¯Áí´æΪ..."
-
-#: src/collect-table.c:824 src/layout_util.c:1063
-#, fuzzy
-msgid "_Find duplicates..."
-msgstr "Ñ°ÕÒ¸±±¾..."
-
-#: src/collect-table.c:826 src/dupe.c:2259 src/search.c:999
-#, fuzzy
-msgid "Print..."
-msgstr "/Îļþ/ÖØÃüÃû(_R)..."
-
-#: src/collect-table.c:1978 src/dupe.c:3355 src/img-view.c:1445
-#, fuzzy
-msgid "Dropped list includes folders."
-msgstr "ÍÏ·ÅÁÐ±íº¬ÓÐĿ¼¡£"
-
-#: src/collect-table.c:1980 src/dupe.c:3357 src/img-view.c:1447
-#, fuzzy
-msgid "_Add contents"
-msgstr "Ìí¼ÓÄÚÈÝ"
-
-#: src/collect-table.c:1982 src/dupe.c:3358 src/img-view.c:1448
-#, fuzzy
-msgid "Add contents _recursive"
-msgstr "µÝ¹éÌí¼ÓÄÚÈÝ"
-
-#: src/collect-table.c:1984 src/dupe.c:3359 src/img-view.c:1449
-#, fuzzy
-msgid "_Skip folders"
-msgstr "ºöÂÔĿ¼"
-
-#: src/collect-table.c:1987 src/dupe.c:3361 src/img-view.c:1451
-#: src/view_dir.c:343
-msgid "Cancel"
-msgstr "È¡Ïû"
-
-#: src/dupe.c:99
-msgid "Drop files to compare them."
-msgstr "ÍÏ·ÅÎļþÒԱȽÏËüÃÇ¡£"
-
-#: src/dupe.c:103
-#, c-format
-msgid "%d files"
-msgstr "%d Îļþ"
-
-#: src/dupe.c:107
-#, c-format
-msgid "%d matches found in %d files"
-msgstr "ÔÚ %2$d ¸öÎļþÖÐÕÒµ½ %1$d ¸öÆ¥Åä"
-
-#: src/dupe.c:112
-msgid "[set 1]"
-msgstr ""
-
-#: src/dupe.c:1454
-msgid "Reading checksums..."
-msgstr "ÕýÔÚ¶ÁȡУÑéºÍ..."
-
-#: src/dupe.c:1487
-msgid "Reading dimensions..."
-msgstr "ÕýÔÚ¶ÁÈ¡³ß´ç..."
-
-#: src/dupe.c:1521
-msgid "Reading similarity data..."
-msgstr "ÕýÔÚ¶ÁÈ¡ÏàËÆÐÔÊý¾Ý..."
-
-#: src/dupe.c:1556 src/dupe.c:1587
-msgid "Comparing..."
-msgstr "ÕýÔڱȽÏ..."
-
-#: src/dupe.c:1567 src/pan-view.c:1093
-#, fuzzy
-msgid "Sorting..."
-msgstr "ÕýÔڱȽÏ..."
-
-#: src/dupe.c:2248
-msgid "Select group _1 duplicates"
-msgstr ""
-
-#: src/dupe.c:2250
-msgid "Select group _2 duplicates"
-msgstr ""
-
-#: src/dupe.c:2257 src/search.c:997
-msgid "Add to new collection"
-msgstr "Ìí¼Óµ½ÐÂͼÏñ¼¯"
-
-#: src/dupe.c:2276 src/dupe.c:2566 src/search.c:1016
-#, fuzzy
-msgid "C_lear"
-msgstr "Çå³ý"
-
-#: src/dupe.c:2279 src/dupe.c:2569
-#, fuzzy
-msgid "Close _window"
-msgstr "¹Ø±Õ´°¿Ú"
-
-#: src/dupe.c:2439
-#, fuzzy, c-format
-msgid "%d files (set 2)"
-msgstr "%d Îļþ%s"
-
-#: src/dupe.c:2647
-msgid "Name case-insensitive"
-msgstr ""
-
-#: src/dupe.c:2648 src/dupe.c:3168 src/preferences.c:1026 src/print.c:3238
-#: src/search.c:2761 src/view_file_list.c:1823
-msgid "Size"
-msgstr "´óС"
-
-#: src/dupe.c:2649 src/dupe.c:3169 src/exif.c:339 src/exif-common.c:442
-#: src/print.c:3236 src/search.c:2762 src/view_file_list.c:1824
-msgid "Date"
-msgstr "ÈÕÆÚ"
-
-#: src/dupe.c:2650 src/dupe.c:3170 src/print.c:3240 src/search.c:2763
-msgid "Dimensions"
-msgstr "³ß´ç"
-
-#: src/dupe.c:2651
-msgid "Checksum"
-msgstr "УÑéºÍ"
-
-#: src/dupe.c:2652 src/dupe.c:3171 src/print.c:3234 src/search.c:2764
-#: src/ui_pathsel.c:1115
-msgid "Path"
-msgstr "·¾¶"
-
-#: src/dupe.c:2653
-msgid "Similarity (high)"
-msgstr "ÏàËÆÐÔ (¸ß)"
-
-#: src/dupe.c:2654
-msgid "Similarity"
-msgstr "ÏàËÆÐÔ"
-
-#: src/dupe.c:2655
-msgid "Similarity (low)"
-msgstr "ÏàËÆÐÔ (µÍ)"
-
-#: src/dupe.c:2656
-#, fuzzy
-msgid "Similarity (custom)"
-msgstr "ÏàËÆÐÔ (µÍ)"
-
-#: src/dupe.c:3121
-#, fuzzy
-msgid "Find duplicates"
-msgstr "Ñ°ÕÒ¸±±¾..."
-
-#: src/dupe.c:3203
-msgid "Compare to:"
-msgstr "ÓëÖ®±È½Ï£º"
-
-#: src/dupe.c:3216
-msgid "Compare by:"
-msgstr "ÒÀ´Ë±È½Ï£º"
-
-#: src/dupe.c:3224 src/preferences.c:884 src/search.c:2777
-msgid "Thumbnails"
-msgstr "ËõÂÔͼ"
-
-#: src/dupe.c:3231
-msgid "Compare two file sets"
-msgstr "±È½ÏÁ½¸öÎļþ¼¯"
-
-#: src/editors.c:61
-msgid "The Gimp"
-msgstr "Gimp"
-
-#: src/editors.c:62
-msgid "XV"
-msgstr "XV"
-
-#: src/editors.c:63
-msgid "Xpaint"
-msgstr "Xpaint"
-
-#: src/editors.c:64
-msgid "UFraw"
-msgstr ""
-
-#: src/editors.c:65
-msgid "Add XMP sidecar"
-msgstr ""
-
-#: src/editors.c:69
-#, fuzzy
-msgid "Rotate jpeg clockwise"
-msgstr "˳ʱÕëÐýת"
-
-#: src/editors.c:70
-#, fuzzy
-msgid "Rotate jpeg counterclockwise"
-msgstr "ÄæʱÕëÐýת"
-
-#. for testing
-#: src/editors.c:74 src/editors.c:80
-msgid "External Copy command"
-msgstr ""
-
-#: src/editors.c:75 src/editors.c:81
-msgid "External Move command"
-msgstr ""
-
-#: src/editors.c:76 src/editors.c:82
-msgid "External Rename command"
-msgstr ""
-
-#: src/editors.c:77 src/editors.c:83
-#, fuzzy
-msgid "External Delete command"
-msgstr "ÆôÓÃɾ³ý¼ü"
-
-#: src/editors.c:78 src/editors.c:84
-msgid "External New Folder command"
-msgstr ""
-
-#: src/editors.c:140
-#, fuzzy
-msgid "stopping..."
-msgstr "ÕýÔڱȽÏ..."
-
-#: src/editors.c:161
-msgid "Edit command results"
-msgstr ""
-
-#: src/editors.c:164
-#, c-format
-msgid "Output of %s"
-msgstr ""
-
-#: src/editors.c:603
-#, fuzzy, c-format
-msgid ""
-"Failed to run command:\n"
-"%s\n"
-msgstr ""
-"ÎÞ·¨×°È룺\n"
-"%s"
-
-#: src/editors.c:721
-#, fuzzy
-msgid "stopped by user"
-msgstr "°´±àºÅÅÅÐò"
-
-#: src/editors.c:836
-msgid "Editor template is empty."
-msgstr ""
-
-#: src/editors.c:837
-msgid "Editor template has incorrect syntax."
-msgstr ""
-
-#: src/editors.c:838
-msgid "Editor template uses incompatible macros."
-msgstr ""
-
-#: src/editors.c:839
-msgid "Can't find matching file type."
-msgstr ""
-
-#: src/editors.c:840
-msgid "Can't execute external editor."
-msgstr ""
-
-#: src/editors.c:841
-msgid "External editor returned error status."
-msgstr ""
-
-#: src/editors.c:842
-msgid "File was skipped."
-msgstr ""
-
-#: src/editors.c:843
-msgid "Unknown error."
-msgstr ""
-
-#: src/exif.c:145 src/exif.c:158 src/exif.c:172 src/exif.c:197 src/exif.c:314
-#: src/exif.c:625 src/exif-common.c:308 src/exif-common.c:311
-#: src/exif-common.c:378
-#, fuzzy
-msgid "unknown"
-msgstr "ÔÚ (δ֪)..."
-
-#: src/exif.c:146
-#, fuzzy
-msgid "top left"
-msgstr "ɾ³ý"
-
-#: src/exif.c:147
-msgid "top right"
-msgstr ""
-
-#: src/exif.c:148
-msgid "bottom right"
-msgstr ""
-
-#: src/exif.c:149
-msgid "bottom left"
-msgstr ""
-
-#: src/exif.c:150
-#, fuzzy
-msgid "left top"
-msgstr "ɾ³ý"
-
-#: src/exif.c:151
-msgid "right top"
-msgstr ""
-
-#: src/exif.c:152
-msgid "right bottom"
-msgstr ""
-
-#: src/exif.c:153
-msgid "left bottom"
-msgstr ""
-
-#: src/exif.c:160
-msgid "inch"
-msgstr ""
-
-#: src/exif.c:161
-msgid "centimeter"
-msgstr ""
-
-#: src/exif.c:173
-msgid "average"
-msgstr ""
-
-#: src/exif.c:174
-msgid "center weighted"
-msgstr ""
-
-#: src/exif.c:175
-msgid "spot"
-msgstr ""
-
-#: src/exif.c:176
-msgid "multi-spot"
-msgstr ""
-
-#: src/exif.c:177
-msgid "multi-segment"
-msgstr ""
-
-#: src/exif.c:178
-msgid "partial"
-msgstr ""
-
-#: src/exif.c:179 src/exif.c:217
-msgid "other"
-msgstr ""
-
-#: src/exif.c:184 src/exif.c:236
-msgid "not defined"
-msgstr ""
-
-#: src/exif.c:185 src/exif.c:264 src/exif.c:271
-msgid "manual"
-msgstr ""
-
-#: src/exif.c:186 src/exif.c:257 src/exif.c:293 src/exif.c:300 src/exif.c:307
-#, fuzzy
-msgid "normal"
-msgstr "ÆÕͨ"
-
-#: src/exif.c:187
-msgid "aperture"
-msgstr ""
-
-#: src/exif.c:188
-msgid "shutter"
-msgstr ""
-
-#: src/exif.c:189
-#, fuzzy
-msgid "creative"
-msgstr "´´½¨"
-
-#: src/exif.c:190
-msgid "action"
-msgstr ""
-
-#: src/exif.c:191 src/exif.c:278
-msgid "portrait"
-msgstr ""
-
-#: src/exif.c:192 src/exif.c:277
-msgid "landscape"
-msgstr ""
-
-#: src/exif.c:198
-msgid "daylight"
-msgstr ""
-
-#: src/exif.c:199
-msgid "fluorescent"
-msgstr ""
-
-#: src/exif.c:200
-msgid "tungsten (incandescent)"
-msgstr ""
-
-#: src/exif.c:201
-msgid "flash"
-msgstr ""
-
-#: src/exif.c:202
-msgid "fine weather"
-msgstr ""
-
-#: src/exif.c:203
-msgid "cloudy weather"
-msgstr ""
-
-#: src/exif.c:204
-msgid "shade"
-msgstr ""
-
-#: src/exif.c:205
-msgid "daylight fluorescent"
-msgstr ""
-
-#: src/exif.c:206
-msgid "day white fluorescent"
-msgstr ""
-
-#: src/exif.c:207
-msgid "cool white fluorescent"
-msgstr ""
-
-#: src/exif.c:208
-msgid "white fluorescent"
-msgstr ""
-
-#: src/exif.c:209
-msgid "standard light A"
-msgstr ""
-
-#: src/exif.c:210
-msgid "standard light B"
-msgstr ""
-
-#: src/exif.c:211
-msgid "standard light C"
-msgstr ""
-
-#: src/exif.c:212
-msgid "D55"
-msgstr ""
-
-#: src/exif.c:213
-msgid "D65"
-msgstr ""
-
-#: src/exif.c:214
-msgid "D75"
-msgstr ""
-
-#: src/exif.c:215
-msgid "D50"
-msgstr ""
-
-#: src/exif.c:216
-msgid "ISO studio tungsten"
-msgstr ""
-
-#: src/exif.c:222 src/exif-common.c:332 src/info.c:257
-msgid "no"
-msgstr ""
-
-#. flash fired (bit 0)
-#: src/exif.c:223 src/exif-common.c:332 src/info.c:257
-#, fuzzy
-msgid "yes"
-msgstr "ÊÇ"
-
-#: src/exif.c:224
-msgid "yes, not detected by strobe"
-msgstr ""
-
-#: src/exif.c:225
-msgid "yes, detected by strobe"
-msgstr ""
-
-#: src/exif.c:230 src/exif-common.c:403 src/layout.c:422
-msgid "sRGB"
-msgstr ""
-
-#: src/exif.c:231
-msgid "uncalibrated"
-msgstr ""
-
-#: src/exif.c:237
-msgid "1 chip color area"
-msgstr ""
-
-#: src/exif.c:238
-msgid "2 chip color area"
-msgstr ""
-
-#: src/exif.c:239
-msgid "3 chip color area"
-msgstr ""
-
-#: src/exif.c:240
-msgid "color sequential area"
-msgstr ""
-
-#: src/exif.c:241
-#, fuzzy
-msgid "trilinear"
-msgstr "Ë«ÏßÐÔ"
-
-#: src/exif.c:242
-msgid "color sequential linear"
-msgstr ""
-
-#: src/exif.c:247
-msgid "digital still camera"
-msgstr ""
-
-#: src/exif.c:252
-msgid "direct photo"
-msgstr ""
-
-#: src/exif.c:258
-msgid "custom"
-msgstr ""
-
-#: src/exif.c:263 src/exif.c:270 src/exif-common.c:346
-msgid "auto"
-msgstr ""
-
-#: src/exif.c:265
-#, fuzzy
-msgid "auto bracket"
-msgstr "²Ëµ¥Ãû"
-
-#: src/exif.c:276
-#, fuzzy
-msgid "standard"
-msgstr "Çå³ý"
-
-#: src/exif.c:279
-msgid "night scene"
-msgstr ""
-
-#: src/exif.c:284
-#, fuzzy
-msgid "none"
-msgstr "ÎÞ"
-
-#: src/exif.c:285
-#, fuzzy
-msgid "low gain up"
-msgstr "Çå³ý"
-
-#: src/exif.c:286
-msgid "high gain up"
-msgstr ""
-
-#: src/exif.c:287
-#, fuzzy
-msgid "low gain down"
-msgstr "¹Ø±Õ´°¿Ú"
-
-#: src/exif.c:288
-msgid "high gain down"
-msgstr ""
-
-#: src/exif.c:294 src/exif.c:308
-msgid "soft"
-msgstr ""
-
-#: src/exif.c:295 src/exif.c:309
-msgid "hard"
-msgstr ""
-
-#: src/exif.c:301
-msgid "low"
-msgstr ""
-
-#: src/exif.c:302
-msgid "high"
-msgstr ""
-
-#: src/exif.c:315
-msgid "macro"
-msgstr ""
-
-#: src/exif.c:316
-#, fuzzy
-msgid "close"
-msgstr "¹Ø±Õ"
-
-#: src/exif.c:317
-msgid "distant"
-msgstr ""
-
-#: src/exif.c:327
-#, fuzzy
-msgid "Image Width"
-msgstr "ͼÏñ"
-
-#: src/exif.c:328
-#, fuzzy
-msgid "Image Height"
-msgstr "ÎÞЧµÄÄ¿±ê"
-
-#: src/exif.c:329
-msgid "Bits per Sample/Pixel"
-msgstr ""
-
-#: src/exif.c:330
-#, fuzzy
-msgid "Compression"
-msgstr "ÓëÖ®±È½Ï£º"
-
-#: src/exif.c:331
-#, fuzzy
-msgid "Image description"
-msgstr "ÎÞЧµÄÄ¿±ê"
-
-#: src/exif.c:332
-msgid "Camera make"
-msgstr ""
-
-#: src/exif.c:333
-msgid "Camera model"
-msgstr ""
-
-#: src/exif.c:334
-#, fuzzy
-msgid "Orientation"
-msgstr "³ß´ç"
-
-#: src/exif.c:335
-msgid "X resolution"
-msgstr ""
-
-#: src/exif.c:336
-msgid "Y Resolution"
-msgstr ""
-
-#: src/exif.c:337
-#, fuzzy
-msgid "Resolution units"
-msgstr "ͼÏñ¼¯Îª¿Õ"
-
-#: src/exif.c:338
-msgid "Firmware"
-msgstr ""
-
-#: src/exif.c:340
-msgid "White point"
-msgstr ""
-
-#: src/exif.c:341
-msgid "Primary chromaticities"
-msgstr ""
-
-#: src/exif.c:342
-msgid "YCbCy coefficients"
-msgstr ""
-
-#: src/exif.c:343
-msgid "YCbCr positioning"
-msgstr ""
-
-#: src/exif.c:344
-#, fuzzy
-msgid "Black white reference"
-msgstr "Geeqie - ÖØÃüÃû"
-
-#: src/exif.c:345
-#, fuzzy
-msgid "Copyright"
-msgstr "¸´ÖÆ"
-
-#: src/exif.c:346
-msgid "SubIFD Exif offset"
-msgstr ""
-
-#. subIFD follows
-#: src/exif.c:348
-msgid "Exposure time (seconds)"
-msgstr ""
-
-#: src/exif.c:349
-msgid "FNumber"
-msgstr ""
-
-#: src/exif.c:350
-msgid "Exposure program"
-msgstr ""
-
-#: src/exif.c:351
-msgid "Spectral Sensitivity"
-msgstr ""
-
-#: src/exif.c:352 src/exif.c:388 src/exif-common.c:446
-msgid "ISO sensitivity"
-msgstr ""
-
-#: src/exif.c:353
-msgid "Optoelectric conversion factor"
-msgstr ""
-
-#: src/exif.c:354
-msgid "Exif version"
-msgstr ""
-
-#: src/exif.c:355
-msgid "Date original"
-msgstr ""
-
-#: src/exif.c:356
-msgid "Date digitized"
-msgstr ""
-
-#: src/exif.c:357
-#, fuzzy
-msgid "Pixel format"
-msgstr "¹ýÂËÆ÷£º"
-
-#: src/exif.c:358
-#, fuzzy
-msgid "Compression ratio"
-msgstr "ÓëÖ®±È½Ï£º"
-
-#: src/exif.c:359 src/exif-common.c:443
-msgid "Shutter speed"
-msgstr ""
-
-#: src/exif.c:360 src/exif-common.c:444
-msgid "Aperture"
-msgstr ""
-
-#: src/exif.c:361
-msgid "Brightness"
-msgstr ""
-
-#: src/exif.c:362 src/exif-common.c:445
-msgid "Exposure bias"
-msgstr ""
-
-#: src/exif.c:363
-#, fuzzy
-msgid "Maximum aperture"
-msgstr "ƽÆÌ"
-
-#: src/exif.c:364 src/exif-common.c:449
-msgid "Subject distance"
-msgstr ""
-
-#: src/exif.c:365
-#, fuzzy
-msgid "Metering mode"
-msgstr "¶¶¶¯·½·¨£º"
-
-#: src/exif.c:366
-msgid "Light source"
-msgstr ""
-
-#: src/exif.c:367 src/exif-common.c:450
-msgid "Flash"
-msgstr ""
-
-#: src/exif.c:368 src/exif-common.c:447
-msgid "Focal length"
-msgstr ""
-
-#: src/exif.c:369
-msgid "Subject area"
-msgstr ""
-
-#: src/exif.c:370
-msgid "MakerNote"
-msgstr ""
-
-#: src/exif.c:371
-#, fuzzy
-msgid "UserComment"
-msgstr "ÓëÖ®±È½Ï£º"
-
-#: src/exif.c:372
-msgid "Subsecond time"
-msgstr ""
-
-#: src/exif.c:373
-msgid "Subsecond time original"
-msgstr ""
-
-#: src/exif.c:374
-msgid "Subsecond time digitized"
-msgstr ""
-
-#: src/exif.c:375
-msgid "FlashPix version"
-msgstr ""
-
-#: src/exif.c:376
-#, fuzzy
-msgid "Colorspace"
-msgstr "¹Ø±Õ"
-
-#. ExifImageWidth, ExifImageHeight can also be unsigned short
-#: src/exif.c:378
-msgid "Width"
-msgstr ""
-
-#: src/exif.c:379
-msgid "Height"
-msgstr ""
-
-#: src/exif.c:380
-#, fuzzy
-msgid "Audio data"
-msgstr "/²é¿´/¸üÐÂÁбí(_R)"
-
-#: src/exif.c:381
-msgid "ExifR98 extension"
-msgstr ""
-
-#: src/exif.c:382
-msgid "Flash strength"
-msgstr ""
-
-#: src/exif.c:383
-msgid "Spatial frequency response"
-msgstr ""
-
-#: src/exif.c:384
-msgid "X Pixel density"
-msgstr ""
-
-#: src/exif.c:385
-msgid "Y Pixel density"
-msgstr ""
-
-#: src/exif.c:386
-msgid "Pixel density units"
-msgstr ""
-
-#: src/exif.c:387
-#, fuzzy
-msgid "Subject location"
-msgstr "Çå³ýËùÓÐÑ¡Ôñ"
-
-#: src/exif.c:389
-#, fuzzy
-msgid "Sensor type"
-msgstr "δÅÅÐò"
-
-#: src/exif.c:390
-#, fuzzy
-msgid "Source type"
-msgstr "ÅÅÐò"
-
-#: src/exif.c:391
-#, fuzzy
-msgid "Scene type"
-msgstr "¹ýÂËÆ÷£º"
-
-#: src/exif.c:392
-msgid "Color filter array pattern"
-msgstr ""
-
-#. tags a4xx were added for Exif 2.2 (not just these - some above, as well)
-#: src/exif.c:394
-#, fuzzy
-msgid "Render process"
-msgstr "ÖØÃüÃû"
-
-#: src/exif.c:395
-msgid "Exposure mode"
-msgstr ""
-
-#: src/exif.c:396
-msgid "White balance"
-msgstr ""
-
-#: src/exif.c:397
-msgid "Digital zoom ratio"
-msgstr ""
-
-#: src/exif.c:398
-msgid "Focal length (35mm)"
-msgstr ""
-
-#: src/exif.c:399
-msgid "Scene capture type"
-msgstr ""
-
-#: src/exif.c:400
-#, fuzzy
-msgid "Gain control"
-msgstr "¸¡¶¯¿ØÖÆ"
-
-#: src/exif.c:401
-#, fuzzy
-msgid "Contrast"
-msgstr "¼ÌÐø"
-
-#: src/exif.c:402
-msgid "Saturation"
-msgstr ""
-
-#: src/exif.c:403
-msgid "Sharpness"
-msgstr ""
-
-#: src/exif.c:404
-msgid "Device setting"
-msgstr ""
-
-#: src/exif.c:405
-msgid "Subject range"
-msgstr ""
-
-#: src/exif.c:406
-#, fuzzy
-msgid "Image serial number"
-msgstr "ͼÏñ"
-
-#: src/exif-common.c:307
-msgid "infinity"
-msgstr ""
-
-#: src/exif-common.c:336
-#, fuzzy
-msgid "mode:"
-msgstr "ƽÆÌ"
-
-#: src/exif-common.c:340 src/trash.c:193
-#, fuzzy
-msgid "on"
-msgstr "ÎÞ"
-
-#: src/exif-common.c:343 src/trash.c:198
-msgid "off"
-msgstr ""
-
-#: src/exif-common.c:352
-msgid "not detected by strobe"
-msgstr ""
-
-#: src/exif-common.c:353
-msgid "detected by strobe"
-msgstr ""
-
-#. we ignore flash function (bit 5)
-#. red-eye (bit 6)
-#: src/exif-common.c:358
-msgid "red-eye reduction"
-msgstr ""
-
-#: src/exif-common.c:378
-msgid "dot"
-msgstr ""
-
-#: src/exif-common.c:408
-msgid "AdobeRGB"
-msgstr ""
-
-#: src/exif-common.c:416
-msgid "embedded"
-msgstr ""
-
-#: src/exif-common.c:441
-#, fuzzy
-msgid "Camera"
-msgstr "Ãû³Æ"
-
-#: src/exif-common.c:448
-msgid "Focal length 35mm"
-msgstr ""
-
-#: src/exif-common.c:451
-#, fuzzy
-msgid "Resolution"
-msgstr "ͼÏñ¼¯Îª¿Õ"
-
-#: src/exif-common.c:452
-#, fuzzy
-msgid "Color profile"
-msgstr "ËùÓÐÎļþ"
-
-#: src/filedata.c:86
-#, fuzzy, c-format
-msgid "%d bytes"
-msgstr "%d Îļþ"
-
-#: src/filedata.c:90
-#, c-format
-msgid "%.1f K"
-msgstr ""
-
-#: src/filedata.c:94
-#, c-format
-msgid "%.1f MB"
-msgstr ""
-
-#: src/filedata.c:99
-#, c-format
-msgid "%.1f GB"
-msgstr ""
-
-#: src/fullscreen.c:243 src/preferences.c:1329
-#, fuzzy
-msgid "Full screen"
-msgstr "È«ÆÁ"
-
-#: src/fullscreen.c:395
-#, fuzzy
-msgid "Full size"
-msgstr "ƽÆÌ"
-
-#: src/fullscreen.c:400
-msgid "Monitor"
-msgstr ""
-
-#: src/fullscreen.c:405 src/layout.c:455
-msgid "Screen"
-msgstr ""
-
-#: src/fullscreen.c:642
-#, fuzzy
-msgid "Stay above other windows"
-msgstr "½«Í¼ÏñÌîÂú´°¿Ú"
-
-#: src/fullscreen.c:649
-msgid "Determined by Window Manager"
-msgstr ""
-
-#: src/fullscreen.c:650
-msgid "Active screen"
-msgstr ""
-
-#: src/fullscreen.c:652
-msgid "Active monitor"
-msgstr ""
-
-#: src/histogram.c:86
-msgid "logarithmical histogram on red"
-msgstr ""
-
-#: src/histogram.c:87
-msgid "logarithmical histogram on green"
-msgstr ""
-
-#: src/histogram.c:88
-msgid "logarithmical histogram on blue"
-msgstr ""
-
-#: src/histogram.c:89
-msgid "logarithmical histogram on value"
-msgstr ""
-
-#: src/histogram.c:90
-msgid "logarithmical histogram on RGB"
-msgstr ""
-
-#: src/histogram.c:91
-msgid "logarithmical histogram on max value"
-msgstr ""
-
-#: src/histogram.c:96
-msgid "linear histogram on red"
-msgstr ""
-
-#: src/histogram.c:97
-msgid "linear histogram on green"
-msgstr ""
-
-#: src/histogram.c:98
-msgid "linear histogram on blue"
-msgstr ""
-
-#: src/histogram.c:99
-msgid "linear histogram on value"
-msgstr ""
-
-#: src/histogram.c:100
-msgid "linear histogram on RGB"
-msgstr ""
-
-#: src/histogram.c:101
-msgid "linear histogram on max value"
-msgstr ""
-
-#: src/img-view.c:1268 src/layout_image.c:743 src/layout_util.c:1105
-#: src/layout_util.c:1106 src/layout_util.c:1107 src/pan-view.c:2800
-#, fuzzy
-msgid "Zoom _in"
-msgstr "·Å´ó"
-
-#: src/img-view.c:1269 src/layout_image.c:744 src/layout_util.c:1108
-#: src/layout_util.c:1109 src/pan-view.c:2802
-#, fuzzy
-msgid "Zoom _out"
-msgstr "ËõС"
-
-#: src/img-view.c:1270 src/layout_image.c:745 src/layout_util.c:1110
-#: src/layout_util.c:1111 src/pan-view.c:2804
-#, fuzzy
-msgid "Zoom _1:1"
-msgstr "Ëõ·Åµ½ 1:1"
-
-#: src/img-view.c:1271 src/layout_image.c:746
-#, fuzzy
-msgid "Fit image to _window"
-msgstr "½«Í¼ÏñÌîÂú´°¿Ú"
-
-#: src/img-view.c:1276 src/layout_image.c:752 src/layout_util.c:1103
-#, fuzzy
-msgid "Set as _wallpaper"
-msgstr "ÉèÖÃΪǽֽ"
-
-#: src/img-view.c:1283 src/layout_image.c:762
-msgid "_Go to directory view"
-msgstr ""
-
-#: src/img-view.c:1297 src/layout_image.c:786
-#, fuzzy
-msgid "_Stop slideshow"
-msgstr "Í£Ö¹²¥·Å»ÃµÆƬ"
-
-#: src/img-view.c:1300 src/layout_image.c:789
-#, fuzzy
-msgid "Continue slides_how"
-msgstr "¼ÌÐø²¥·Å»ÃµÆƬ"
-
-#: src/img-view.c:1305 src/img-view.c:1313 src/layout_image.c:794
-#: src/layout_image.c:801
-#, fuzzy
-msgid "Pause slides_how"
-msgstr "ÔÝÍ£²¥·Å»ÃµÆƬ"
-
-#: src/img-view.c:1311 src/layout_image.c:800
-#, fuzzy
-msgid "_Start slideshow"
-msgstr "¿ªÊ¼²¥·Å»ÃµÆƬ"
-
-#: src/img-view.c:1319 src/layout_image.c:811 src/pan-view.c:2873
-#, fuzzy
-msgid "Exit _full screen"
-msgstr "Í˳öÈ«ÆÁ"
-
-#: src/img-view.c:1323 src/layout_image.c:807 src/pan-view.c:2877
-#, fuzzy
-msgid "_Full screen"
-msgstr "È«ÆÁ"
-
-#: src/img-view.c:1327 src/layout_util.c:1074 src/pan-view.c:2881
-#, fuzzy
-msgid "C_lose window"
-msgstr "¹Ø±Õ´°¿Ú"
-
-#: src/info.c:392
-#, fuzzy
-msgid "File size:"
-msgstr "ƽÆÌ"
-
-#: src/info.c:394
-#, fuzzy
-msgid "Dimensions:"
-msgstr "³ß´ç"
-
-#: src/info.c:395
-msgid "Transparent:"
-msgstr ""
-
-#: src/info.c:396 src/print.c:3419
-#, fuzzy
-msgid "Image size:"
-msgstr "ͼÏñ"
-
-#: src/info.c:398
-#, fuzzy
-msgid "Compress ratio:"
-msgstr "ÓëÖ®±È½Ï£º"
-
-#: src/info.c:399
-#, fuzzy
-msgid "File type:"
-msgstr "¹ýÂËÆ÷£º"
-
-#: src/info.c:401
-msgid "Owner:"
-msgstr ""
-
-#: src/info.c:402
-msgid "Group:"
-msgstr ""
-
-#: src/info.c:405 src/preferences.c:858
-msgid "General"
-msgstr "³£¹æ"
-
-#: src/info.c:531
-#, c-format
-msgid "Image %d of %d"
-msgstr ""
-
-#: src/info.c:778
-#, fuzzy
-msgid "Image properties"
-msgstr "ÎÞЧµÄÄ¿±ê"
-
-#: src/layout.c:282 src/view_file.c:585
-msgid "Ascending"
-msgstr "ÉýÐò"
-
-#: src/layout.c:384
-#, c-format
-msgid "This installation of %s was not built with support for color profiles."
-msgstr ""
-
-#: src/layout.c:385
-msgid "Color profiles not supported"
-msgstr ""
-
-#: src/layout.c:410
-msgid "Use _color profiles"
-msgstr ""
-
-#: src/layout.c:415
-msgid "Use profile from _image"
-msgstr ""
-
-#: src/layout.c:421 src/layout.c:439
-#, c-format
-msgid "Input _%d:"
-msgstr ""
-
-#: src/layout.c:422
-msgid "AdobeRGB compatible"
-msgstr ""
-
-#: src/layout.c:464
-msgid "_Screen profile"
-msgstr ""
-
-#: src/layout.c:531
-msgid " Slideshow"
-msgstr " »ÃµÆƬ"
-
-#: src/layout.c:535
-msgid " Paused"
-msgstr " ÒÑÔÝÍ£"
-
-#: src/layout.c:552
-#, fuzzy, c-format
-msgid "%s, %d files (%s, %d)%s"
-msgstr "%d Îļþ (%d)%s"
-
-#: src/layout.c:559
-#, fuzzy, c-format
-msgid "%s, %d files%s"
-msgstr "%d Îļþ%s"
-
-#: src/layout.c:564
-#, c-format
-msgid "%d files%s"
-msgstr "%d Îļþ%s"
-
-#: src/layout.c:593
-#, c-format
-msgid "(no read permission) %s bytes"
-msgstr ""
-
-#: src/layout.c:597
-#, c-format
-msgid "( ? x ? ) %s bytes"
-msgstr "( ? x ? ) %s ×Ö½Ú"
-
-#: src/layout.c:605
-#, c-format
-msgid "( %d x %d ) %s bytes"
-msgstr "( %d x %d ) %s ×Ö½Ú"
-
-#: src/layout.c:1301 src/layout_config.c:58
-#, fuzzy
-msgid "Tools"
-msgstr "ƽÆÌ"
-
-#: src/layout.c:1983
-#, fuzzy
-msgid "Invalid geometry\n"
-msgstr "·Ç·¨ÎļþÃû"
-
-#: src/layout_config.c:58 src/ui_pathsel.c:1183
-#, fuzzy
-msgid "Files"
-msgstr "ƽÆÌ"
-
-#: src/layout_config.c:58 src/preferences.c:941 src/print.c:116
-msgid "Image"
-msgstr "ͼÏñ"
-
-#: src/layout_config.c:364
-msgid "(drag to change order)"
-msgstr ""
-
-#: src/layout_image.c:816
-#, fuzzy
-msgid "Hide file _list"
-msgstr "(²»)Òþ²ØÎļþÁбí"
-
-#: src/layout_util.c:879 src/menu.c:76
-#, fuzzy, c-format
-msgid "_%d %s..."
-msgstr "ÔÚ %s..."
-
-#: src/layout_util.c:883 src/menu.c:78
-#, fuzzy, c-format
-msgid "_%d (unknown)..."
-msgstr "ÔÚ (δ֪)..."
-
-#: src/layout_util.c:893
-#, fuzzy, c-format
-msgid "_%d empty"
-msgstr "¿Õ"
-
-#: src/layout_util.c:1037
-#, fuzzy
-msgid "_File"
-msgstr "/Îļþ(_F)"
-
-#: src/layout_util.c:1038
-msgid "_Go"
-msgstr ""
-
-#: src/layout_util.c:1039 src/menu.c:93
-#, fuzzy
-msgid "_Edit"
-msgstr "/±à¼­(_E)"
-
-#: src/layout_util.c:1040
-#, fuzzy
-msgid "_Select"
-msgstr "Çå³ýËùÓÐÑ¡Ôñ"
-
-#: src/layout_util.c:1041 src/menu.c:265
-#, fuzzy
-msgid "_Adjust"
-msgstr "µ÷Õû"
-
-#: src/layout_util.c:1043
-#, fuzzy
-msgid "_View Directory as"
-msgstr "н¨Ä¿Â¼"
-
-#: src/layout_util.c:1044
-#, fuzzy
-msgid "_Zoom"
-msgstr "·Å´ó"
-
-#: src/layout_util.c:1045
-msgid "_Split"
-msgstr ""
-
-#: src/layout_util.c:1046
-#, fuzzy
-msgid "_Help"
-msgstr "/ÇóÖú(_H)"
-
-#: src/layout_util.c:1048
-#, fuzzy
-msgid "_First Image"
-msgstr "%d ͼÏñ"
-
-#: src/layout_util.c:1049 src/layout_util.c:1050 src/layout_util.c:1051
-msgid "_Previous Image"
-msgstr ""
-
-#: src/layout_util.c:1052 src/layout_util.c:1053 src/layout_util.c:1054
-#, fuzzy
-msgid "_Next Image"
-msgstr "Ô¤ÏÈ×°ÈëÏÂÒ»ÕÅͼ"
-
-#: src/layout_util.c:1055
-#, fuzzy
-msgid "_Last Image"
-msgstr "Ô¤ÏÈ×°ÈëÏÂÒ»ÕÅͼ"
-
-#: src/layout_util.c:1058
-#, fuzzy
-msgid "New _window"
-msgstr "/Îļþ/ÐÂͼÏñ¼¯"
-
-#: src/layout_util.c:1059
-#, fuzzy
-msgid "_New collection"
-msgstr "±£´æͼÏñ¼¯"
-
-#: src/layout_util.c:1060
-#, fuzzy
-msgid "_Open collection..."
-msgstr "´ò¿ªÍ¼Ïñ¼¯"
-
-#: src/layout_util.c:1061
-#, fuzzy
-msgid "Open _recent"
-msgstr "/Îļþ/´ò¿ª½üÆÚ·ÃÎÊÄÚÈÝ(_R)"
-
-#: src/layout_util.c:1062
-#, fuzzy
-msgid "_Search..."
-msgstr "ÕýÔڱȽÏ..."
-
-#: src/layout_util.c:1064
-#, fuzzy
-msgid "Pan _view"
-msgstr "ÇóÖú - Geeqie"
-
-#: src/layout_util.c:1065
-#, fuzzy
-msgid "_Print..."
-msgstr "/Îļþ/ÖØÃüÃû(_R)..."
-
-#: src/layout_util.c:1066
-#, fuzzy
-msgid "N_ew folder..."
-msgstr "ÇóÖú - Geeqie"
-
-#: src/layout_util.c:1075
-#, fuzzy
-msgid "_Quit"
-msgstr "Æ·ÖÊ"
-
-#: src/layout_util.c:1088 src/menu.c:203
-#, fuzzy
-msgid "_Rotate clockwise"
-msgstr "˳ʱÕëÐýת"
-
-#: src/layout_util.c:1089 src/menu.c:206
-#, fuzzy
-msgid "Rotate _counterclockwise"
-msgstr "ÄæʱÕëÐýת"
-
-#: src/layout_util.c:1090
-#, fuzzy
-msgid "Rotate 1_80"
-msgstr "Ðýת 180 ¶È"
-
-#: src/layout_util.c:1091 src/menu.c:212
-#, fuzzy
-msgid "_Mirror"
-msgstr "¾µÏñ"
-
-#: src/layout_util.c:1092 src/menu.c:215
-#, fuzzy
-msgid "_Flip"
-msgstr "·­×ª"
-
-#: src/layout_util.c:1093 src/menu.c:218
-#, fuzzy
-msgid "Toggle _grayscale"
-msgstr "Í£Ö¹²¥·Å»ÃµÆƬ"
-
-#: src/layout_util.c:1094 src/menu.c:221
-#, fuzzy
-msgid "_Original state"
-msgstr "ÖØÃüÃû£º"
-
-#: src/layout_util.c:1097
-#, fuzzy
-msgid "Select _all"
-msgstr "È«Ñ¡"
-
-#: src/layout_util.c:1098
-#, fuzzy
-msgid "Select _none"
-msgstr "Çå³ýËùÓÐÑ¡Ôñ"
-
-#: src/layout_util.c:1099
-#, fuzzy
-msgid "_Invert Selection"
-msgstr "Çå³ýËùÓÐÑ¡Ôñ"
-
-#: src/layout_util.c:1101
-#, fuzzy
-msgid "P_references..."
-msgstr "/±à¼­/Ñ¡Ïî(_O)..."
-
-#: src/layout_util.c:1102
-msgid "_Thumbnail maintenance..."
-msgstr ""
-
-#: src/layout_util.c:1112 src/layout_util.c:1113
-#, fuzzy
-msgid "_Zoom to fit"
-msgstr "/²é¿´/Ëõ·Åµ½Êʵ±´óС(_Z)"
-
-#: src/layout_util.c:1114
-msgid "Fit _Horizontally"
-msgstr ""
-
-#: src/layout_util.c:1115
-msgid "Fit _Vorizontally"
-msgstr ""
-
-#: src/layout_util.c:1116
-#, fuzzy
-msgid "Zoom _2:1"
-msgstr "Ëõ·Åµ½ 1:1"
-
-#: src/layout_util.c:1117
-#, fuzzy
-msgid "Zoom _3:1"
-msgstr "Ëõ·Åµ½ 1:1"
-
-#: src/layout_util.c:1118
-#, fuzzy
-msgid "Zoom _4:1"
-msgstr "Ëõ·Åµ½ 1:1"
-
-#: src/layout_util.c:1119
-#, fuzzy
-msgid "Zoom 1:2"
-msgstr "Ëõ·Åµ½ 1:1"
-
-#: src/layout_util.c:1120
-#, fuzzy
-msgid "Zoom 1:3"
-msgstr "Ëõ·Åµ½ 1:1"
-
-#: src/layout_util.c:1121
-#, fuzzy
-msgid "Zoom 1:4"
-msgstr "Ëõ·Åµ½ 1:1"
-
-#: src/layout_util.c:1124
-#, fuzzy
-msgid "_View in new window"
-msgstr "ÔÚд°¿ÚÖв鿴"
-
-#: src/layout_util.c:1126 src/layout_util.c:1127 src/layout_util.c:1128
-#, fuzzy
-msgid "F_ull screen"
-msgstr "È«ÆÁ"
-
-#: src/layout_util.c:1129 src/layout_util.c:1130
-msgid "Escape"
-msgstr ""
-
-#: src/layout_util.c:1131
-msgid "_Image Overlay"
-msgstr ""
-
-#: src/layout_util.c:1132
-msgid "Histogram _channels"
-msgstr ""
-
-#: src/layout_util.c:1133
-msgid "Histogram _log mode"
-msgstr ""
-
-#: src/layout_util.c:1134
-#, fuzzy
-msgid "_Hide file list"
-msgstr "(²»)Òþ²ØÎļþÁбí"
-
-#: src/layout_util.c:1135
-#, fuzzy
-msgid "_Pause slideshow"
-msgstr "ÔÝÍ£²¥·Å»ÃµÆƬ"
-
-#: src/layout_util.c:1136
-#, fuzzy
-msgid "_Refresh"
-msgstr "Ë¢ÐÂ"
-
-#: src/layout_util.c:1138
-#, fuzzy
-msgid "_Contents"
-msgstr "/ÇóÖú/¹ØÓÚ(_A)"
-
-#: src/layout_util.c:1139
-#, fuzzy
-msgid "_Keyboard shortcuts"
-msgstr "/ÇóÖú/¼üÅÌ¿ì½Ý¼ü(_K)"
-
-#: src/layout_util.c:1140
-#, fuzzy
-msgid "_Release notes"
-msgstr "/ÇóÖú/·¢ÐÐ˵Ã÷(_R)"
-
-#: src/layout_util.c:1141
-#, fuzzy
-msgid "_About"
-msgstr "¹ØÓÚ"
-
-#: src/layout_util.c:1145 src/layout_util.c:1546
-#, fuzzy
-msgid "_Thumbnails"
-msgstr "ËõÂÔͼ"
-
-#: src/layout_util.c:1146
-#, fuzzy
-msgid "Show _Marks"
-msgstr "ÏÔʾÒþ²ØÎļþ"
-
-#: src/layout_util.c:1147
-#, fuzzy
-msgid "_Float file list"
-msgstr "/²é¿´/(²»)¸¡¶¯ÎļþÁбí(_F)"
-
-#: src/layout_util.c:1148
-#, fuzzy
-msgid "Hide tool_bar"
-msgstr "/²é¿´/Ƭ¶Î1"
-
-#: src/layout_util.c:1149
-#, fuzzy
-msgid "_Keywords"
-msgstr "³ß´ç"
-
-#: src/layout_util.c:1150
-#, fuzzy
-msgid "E_xif data"
-msgstr "/²é¿´/¸üÐÂÁбí(_R)"
-
-#: src/layout_util.c:1151
-#, fuzzy
-msgid "Sort _manager"
-msgstr "°´Ãû³ÆÅÅÐò"
-
-#: src/layout_util.c:1152
-msgid "Co_nnected scroll"
-msgstr ""
-
-#: src/layout_util.c:1153
-msgid "C_onnected zoom"
-msgstr ""
-
-#: src/layout_util.c:1154
-#, fuzzy
-msgid "Toggle _slideshow"
-msgstr "Í£Ö¹²¥·Å»ÃµÆƬ"
-
-#: src/layout_util.c:1158 src/view_dir.c:29
-#, fuzzy
-msgid "_List"
-msgstr "/²é¿´/¸üÐÂÁбí(_R)"
-
-#: src/layout_util.c:1159
-#, fuzzy
-msgid "I_cons"
-msgstr "³ß´ç"
-
-#: src/layout_util.c:1163
-msgid "Horizontal"
-msgstr ""
-
-#: src/layout_util.c:1164
-msgid "Vertical"
-msgstr ""
-
-#: src/layout_util.c:1165
-msgid "Quad"
-msgstr ""
-
-#: src/layout_util.c:1166
-#, fuzzy
-msgid "Single"
-msgstr "´óС"
-
-#: src/layout_util.c:1354
-#, c-format
-msgid "Mark _%d"
-msgstr ""
-
-#: src/layout_util.c:1355 src/view_file.c:515
-#, c-format
-msgid "_Set mark %d"
-msgstr ""
-
-#: src/layout_util.c:1356 src/view_file.c:516
-#, c-format
-msgid "_Reset mark %d"
-msgstr ""
-
-#: src/layout_util.c:1357 src/layout_util.c:1358 src/view_file.c:517
-#, c-format
-msgid "_Toggle mark %d"
-msgstr ""
-
-#: src/layout_util.c:1359 src/layout_util.c:1360 src/view_file.c:518
-#, fuzzy, c-format
-msgid "_Select mark %d"
-msgstr "È«Ñ¡"
-
-#: src/layout_util.c:1361 src/view_file.c:519
-#, fuzzy, c-format
-msgid "_Add mark %d"
-msgstr "±à¼­Æ÷"
-
-#: src/layout_util.c:1362 src/view_file.c:520
-#, c-format
-msgid "_Intersection with mark %d"
-msgstr ""
-
-#: src/layout_util.c:1363 src/view_file.c:521
-#, c-format
-msgid "_Unselect mark %d"
-msgstr ""
-
-#: src/layout_util.c:1547
-#, fuzzy
-msgid "Show thumbnails"
-msgstr "»º´æËõÂÔͼ"
-
-#: src/layout_util.c:1552
-#, fuzzy
-msgid "Change to home folder"
-msgstr "»Øµ½¼ÒĿ¼"
-
-#: src/layout_util.c:1554
-msgid "Refresh file list"
-msgstr "Ë¢ÐÂÎļþÁбí"
-
-#: src/layout_util.c:1556
-msgid "Zoom in"
-msgstr "·Å´ó"
-
-#: src/layout_util.c:1558
-msgid "Zoom out"
-msgstr "ËõС"
-
-#: src/layout_util.c:1560 src/preferences.c:978
-msgid "Fit image to window"
-msgstr "½«Í¼ÏñÌîÂú´°¿Ú"
-
-#: src/layout_util.c:1562
-msgid "Set zoom 1:1"
-msgstr "ÉèÖñÈÀý 1:1"
-
-#: src/layout_util.c:1564
-msgid "Configure options"
-msgstr "ÅäÖÃÑ¡Ïî"
-
-#: src/layout_util.c:1565
-#, fuzzy
-msgid "_Float"
-msgstr "ÆÕͨ"
-
-#: src/layout_util.c:1566
-msgid "Float Controls"
-msgstr "¸¡¶¯¿ØÖÆ"
-
-#. something went badly wrong
-#: src/lirc.c:184
-#, c-format
-msgid "disconnected from LIRC\n"
-msgstr ""
-
-#: src/lirc.c:199
-#, c-format
-msgid "Could not init LIRC support\n"
-msgstr ""
-
-#: src/lirc.c:206
-#, c-format
-msgid ""
-"could not read LIRC config file\n"
-"please read the documentation of LIRC to \n"
-"know how to create a proper config file\n"
-msgstr ""
-
-#: src/main.c:391
-#, fuzzy, c-format
-msgid ""
-"Usage: %s [options] [path]\n"
-"\n"
-msgstr ""
-"Ó÷¨: gqview [Ñ¡Ïî] [·¾¶]\n"
-"\n"
-
-#: src/main.c:392
-msgid "valid options are:\n"
-msgstr "ÓÐЧµÄÑ¡ÏîΪ£º\n"
-
-#: src/main.c:393
-msgid "  +t, --with-tools           force show of tools\n"
-msgstr "  +t, --with-tools           Ç¿ÐÐÏÔʾ¹¤¾ß\n"
-
-#: src/main.c:394
-msgid "  -t, --without-tools        force hide of tools\n"
-msgstr "  -t, --without-tools        Ç¿ÐÐÒþ²Ø¹¤¾ß\n"
-
-#: src/main.c:395
-msgid "  -f, --fullscreen           start in full screen mode\n"
-msgstr "  -f, --fullscreen           ÒÔÈ«ÆÁģʽÆô¶¯\n"
-
-#: src/main.c:396
-msgid "  -s, --slideshow            start in slideshow mode\n"
-msgstr "  -s, --slidehosw            ÒԻõÆģʽÆô¶¯\n"
-
-#: src/main.c:397
-msgid "  -l, --list                 open collection window for command line\n"
-msgstr "  -l, --list                 ΪÃüÁîÐпªÆôͼÏñ¼¯´°¿Ú\n"
-
-#: src/main.c:398
-msgid "      --geometry=GEOMETRY    set main window location\n"
-msgstr ""
-
-#: src/main.c:399
-#, fuzzy
-msgid "  -r, --remote               send following commands to open window\n"
-msgstr "  -l, --list                 ΪÃüÁîÐпªÆôͼÏñ¼¯´°¿Ú\n"
-
-#: src/main.c:400
-msgid "  -rh,--remote-help          print remote command list\n"
-msgstr ""
-
-#: src/main.c:402
-#, fuzzy
-msgid "  --debug[=level]            turn on debug output\n"
-msgstr "  --debug                    ´ò¿ªµ÷ÊÔÐÅÏ¢Êä³ö\n"
-
-#: src/main.c:404
-msgid "  -v, --version              print version info\n"
-msgstr "  -v, --version              ´òÓ¡°æ±¾ÐÅÏ¢\n"
-
-#: src/main.c:405
-msgid ""
-"  -h, --help                 show this message\n"
-"\n"
-msgstr ""
-"  -h, --help                 ÏÔʾ¸ÃÏûÏ¢\n"
-"\n"
-
-#: src/main.c:417
-#, c-format
-msgid ""
-"invalid or ignored: %s\n"
-"Use --help for options\n"
-msgstr ""
-"ÎÞЧ»òºöÂÔ£º%s\n"
-"ʹÓà --help ²é¿´Ñ¡Ïî\n"
-
-#: src/main.c:445
-#, fuzzy
-msgid "Invalid or ignored remote options: "
-msgstr ""
-"ÎÞЧ»òºöÂÔ£º%s\n"
-"ʹÓà --help ²é¿´Ñ¡Ïî\n"
-
-#: src/main.c:454
-msgid ""
-"\n"
-"Use --remote-help for valid remote options.\n"
-msgstr ""
-
-#: src/main.c:539
-#, fuzzy, c-format
-msgid "Creating %s dir:%s\n"
-msgstr "ÕýÔÚ´´½¨ Geeqie Ŀ¼£º%s\n"
-
-#: src/main.c:543
-#, c-format
-msgid "Could not create dir:%s\n"
-msgstr "ÎÞ·¨´´½¨Ä¿Â¼£º%s\n"
-
-#: src/main.c:562 src/ui_bookmark.c:856 src/ui_pathsel.c:1051
-msgid "Home"
-msgstr "¼Ò"
-
-#: src/main.c:564 src/ui_bookmark.c:863
-#, fuzzy
-msgid "Desktop"
-msgstr "µ½£º"
-
-#: src/main.c:680
-#, fuzzy
-msgid "exit"
-msgstr "Í˳ö"
-
-#: src/main.c:685
-#, fuzzy, c-format
-msgid "Quit %s"
-msgstr "Æ·ÖÊ"
-
-#: src/main.c:687
-#, fuzzy
-msgid "Collections have been modified. Quit anyway?"
-msgstr ""
-"ͼÏñ¼¯ÒѾ­±»¸Ä±ä¡£\n"
-"Ç¿ÐÐÍ˳ö£¿"
-
-#: src/main.c:836 src/remote.c:536
-msgid "Command line"
-msgstr "ÃüÁîÐÐ"
-
-#: src/menu.c:117
-#, fuzzy
-msgid "Sort by size"
-msgstr "°´´óСÅÅÐò"
-
-#: src/menu.c:120
-#, fuzzy
-msgid "Sort by date"
-msgstr "°´ÈÕÆÚÅÅÐò"
-
-#: src/menu.c:123
-msgid "Unsorted"
-msgstr "δÅÅÐò"
-
-#: src/menu.c:126
-#, fuzzy
-msgid "Sort by path"
-msgstr "°´Â·¾¶ÅÅÐò"
-
-#: src/menu.c:129
-#, fuzzy
-msgid "Sort by number"
-msgstr "°´±àºÅÅÅÐò"
-
-#: src/menu.c:133
-#, fuzzy
-msgid "Sort by name"
-msgstr "°´Ãû³ÆÅÅÐò"
-
-#: src/menu.c:184
-msgid "Sort"
-msgstr "ÅÅÐò"
-
-#: src/menu.c:209
-#, fuzzy
-msgid "Rotate _180"
-msgstr "Ðýת 180 ¶È"
-
-#: src/pan-view.c:470
-#, fuzzy, c-format
-msgid "%d images, %s"
-msgstr "%d ͼÏñ"
-
-#: src/pan-view.c:480
-#, c-format
-msgid "The pan view does not support the folder \"%s\"."
-msgstr ""
-
-#: src/pan-view.c:481
-msgid "Folder not supported"
-msgstr ""
-
-#: src/pan-view.c:1083 src/pan-view.c:1099
-#, fuzzy
-msgid "Reading image data..."
-msgstr "ÕýÔÚ¶ÁÈ¡ÏàËÆÐÔÊý¾Ý..."
-
-#: src/pan-view.c:1158
-#, fuzzy
-msgid "Sorting images..."
-msgstr "ÕýÔڱȽÏ..."
-
-#: src/pan-view.c:1546 src/pan-view.c:1912
-#, fuzzy
-msgid "Date:"
-msgstr "ÈÕÆÚ"
-
-#: src/pan-view.c:1548 src/preferences.c:887 src/print.c:3245 src/print.c:3456
-msgid "Size:"
-msgstr "´óС£º"
-
-#: src/pan-view.c:1650
-msgid "path found"
-msgstr ""
-
-#: src/pan-view.c:1650
-#, fuzzy
-msgid "filename found"
-msgstr "ÖØÃüÃû£º"
-
-#: src/pan-view.c:1698
-msgid "partial match"
-msgstr ""
-
-#: src/pan-view.c:1909 src/pan-view.c:1942
-msgid "no match"
-msgstr ""
-
-#: src/pan-view.c:2268 src/search.c:2150
-msgid "Folder not found"
-msgstr ""
-
-#: src/pan-view.c:2269
-msgid "The entered path is not a folder"
-msgstr ""
-
-#: src/pan-view.c:2368
-#, fuzzy
-msgid "Pan View"
-msgstr "ÇóÖú - Geeqie"
-
-#: src/pan-view.c:2393
-#, fuzzy
-msgid "Timeline"
-msgstr "Ë«ÏßÐÔ"
-
-#: src/pan-view.c:2394
-#, fuzzy
-msgid "Calendar"
-msgstr "Çå³ý"
-
-#: src/pan-view.c:2396
-#, fuzzy
-msgid "Folders (flower)"
-msgstr "ƽÆÌ"
-
-#: src/pan-view.c:2397
-msgid "Grid"
-msgstr ""
-
-#: src/pan-view.c:2406
-#, fuzzy
-msgid "Dots"
-msgstr "Xpaint"
-
-#: src/pan-view.c:2407
-#, fuzzy
-msgid "No Images"
-msgstr "ͼÏñ"
-
-#: src/pan-view.c:2408
-#, fuzzy
-msgid "Small Thumbnails"
-msgstr "ËõÂÔͼ"
-
-#: src/pan-view.c:2409
-#, fuzzy
-msgid "Normal Thumbnails"
-msgstr "ËõÂÔͼ"
-
-#: src/pan-view.c:2410
-#, fuzzy
-msgid "Large Thumbnails"
-msgstr "Çå³ýËõÂÔͼ"
-
-#: src/pan-view.c:2411 src/pan-view.c:2863
-msgid "1:10 (10%)"
-msgstr ""
-
-#: src/pan-view.c:2412 src/pan-view.c:2859
-msgid "1:4 (25%)"
-msgstr ""
-
-#: src/pan-view.c:2413 src/pan-view.c:2855
-msgid "1:3 (33%)"
-msgstr ""
-
-#: src/pan-view.c:2414 src/pan-view.c:2851
-msgid "1:2 (50%)"
-msgstr ""
-
-#: src/pan-view.c:2415
-msgid "1:1 (100%)"
-msgstr ""
-
-#: src/pan-view.c:2463
-#, fuzzy
-msgid "Find:"
-msgstr "¹ýÂËÆ÷£º"
-
-#: src/pan-view.c:2506
-#, fuzzy
-msgid "Use Exif date"
-msgstr "/²é¿´/¸üÐÂÁбí(_R)"
-
-#: src/pan-view.c:2519
-msgid "Find"
-msgstr ""
-
-#: src/pan-view.c:2586
-msgid "Pan View Performance"
-msgstr ""
-
-#: src/pan-view.c:2593
-msgid "Pan view performance may be poor."
-msgstr ""
-
-#: src/pan-view.c:2594
-msgid ""
-"To improve performance of thumbnails in the pan view the following options "
-"can be enabled. Note that both options must be enabled to notice a change in "
-"performance."
-msgstr ""
-
-#: src/pan-view.c:2602 src/preferences.c:890
-msgid "Cache thumbnails"
-msgstr "»º´æËõÂÔͼ"
-
-#: src/pan-view.c:2604 src/preferences.c:896
-msgid "Use shared thumbnail cache"
-msgstr ""
-
-#: src/pan-view.c:2610
-msgid "Do not show this dialog again"
-msgstr ""
-
-#: src/pan-view.c:2831
-#, fuzzy
-msgid "Sort by E_xif date"
-msgstr "°´ÈÕÆÚÅÅÐò"
-
-#: src/pan-view.c:2837
-msgid "_Show Exif information"
-msgstr ""
-
-#: src/pan-view.c:2839
-#, fuzzy
-msgid "Show im_age"
-msgstr "ÏÔʾÒþ²ØÎļþ"
-
-#: src/pan-view.c:2843
-#, fuzzy
-msgid "_None"
-msgstr "ÎÞ"
-
-#: src/pan-view.c:2847
-#, fuzzy
-msgid "_Full size"
-msgstr "ƽÆÌ"
-
-#. note: the order is important, it must match the values of
-#. * EXIF_UI_OFF, _IFSET, _ON
-#: src/preferences.c:402
-msgid "Never"
-msgstr ""
-
-#: src/preferences.c:403
-msgid "If set"
-msgstr ""
-
-#: src/preferences.c:404
-msgid "Always"
-msgstr ""
-
-#: src/preferences.c:451
-msgid "Nearest (worst, but fastest)"
-msgstr "×î½ü (×îÔ㣬µ«×î¿ì)"
-
-#: src/preferences.c:453
-msgid "Tiles"
-msgstr "ƽÆÌ"
-
-#: src/preferences.c:455
-msgid "Bilinear"
-msgstr "Ë«ÏßÐÔ"
-
-#: src/preferences.c:457
-msgid "Hyper (best, but slowest)"
-msgstr "³¬¼¶ (×îºÃ£¬µ«×îÂý)"
-
-#: src/preferences.c:485
-msgid "None"
-msgstr "ÎÞ"
-
-#: src/preferences.c:486
-msgid "Normal"
-msgstr "ÆÕͨ"
-
-#: src/preferences.c:487
-msgid "Best"
-msgstr "×î¼Ñ"
-
-#: src/preferences.c:548 src/print.c:372
-msgid "Custom"
-msgstr ""
-
-#: src/preferences.c:712 src/preferences.c:715
-#, fuzzy
-msgid "Reset filters"
-msgstr "ɾ³ýÎļþ"
-
-#: src/preferences.c:716
-msgid ""
-"This will reset the file filters to the defaults.\n"
-"Continue?"
-msgstr ""
-
-#: src/preferences.c:750 src/preferences.c:753
-#, fuzzy
-msgid "Reset editors"
-msgstr "ɾ³ýÎļþ"
-
-#: src/preferences.c:754
-msgid ""
-"This will reset the edit commands to the defaults.\n"
-"Continue?"
-msgstr ""
-
-#: src/preferences.c:778 src/preferences.c:781
-#, fuzzy
-msgid "Clear trash"
-msgstr "Çå³ý»º³åÇø"
-
-#: src/preferences.c:782
-msgid "This will remove the trash contents."
-msgstr ""
-
-#: src/preferences.c:826 src/preferences.c:829
-msgid "Reset image overlay template string"
-msgstr ""
-
-#: src/preferences.c:830
-msgid ""
-"This will reset the image overlay template string to the default.\n"
-"Continue?"
-msgstr ""
-
-#: src/preferences.c:861
-msgid "Startup"
-msgstr ""
-
-#: src/preferences.c:863
-msgid "Restore folder on startup"
-msgstr ""
-
-#: src/preferences.c:876
-msgid "Use current"
-msgstr "ʹÓõ±Ç°Ä¿Â¼"
-
-#: src/preferences.c:879
-#, fuzzy
-msgid "Use last path"
-msgstr "È«Ñ¡"
-
-#: src/preferences.c:888 src/preferences.c:950
-msgid "Quality:"
-msgstr "Æ·ÖÊ£º"
-
-#: src/preferences.c:902
-msgid "Cache thumbnails into .thumbnails"
-msgstr "½«ËõÂÔͼ»º´æµ½ .thumbnails ÖÐ"
-
-#: src/preferences.c:906
-msgid "Use xvpics thumbnails when found (read only)"
-msgstr "Èç¹ûÕÒµ½xvpicsËõÂÔͼ¼´Ê¹ÓÃ(Ö»¶Á)"
-
-#: src/preferences.c:910
-msgid "Faster jpeg thumbnailing (may reduce quality)"
-msgstr ""
-
-#: src/preferences.c:913
-msgid "Slide show"
-msgstr "չʾ»ÃµÆƬ"
-
-#: src/preferences.c:916
-#, fuzzy
-msgid "Delay between image change:"
-msgstr "ͼÏñ¸Ä±äʱ¼ä¼ä¸ô(Ãë)£º"
-
-#: src/preferences.c:916
-msgid "seconds"
-msgstr ""
-
-#: src/preferences.c:922
-msgid "Random"
-msgstr "Ëæ»ú"
-
-#: src/preferences.c:923
-msgid "Repeat"
-msgstr "Öظ´"
-
-#: src/preferences.c:944
-#, fuzzy
-msgid "Zoom"
-msgstr "·Å´ó"
-
-#: src/preferences.c:947
-msgid "Dithering method:"
-msgstr "¶¶¶¯·½·¨£º"
-
-#: src/preferences.c:952
-msgid "Two pass zooming"
-msgstr ""
-
-#: src/preferences.c:955
-#, fuzzy
-msgid "Allow enlargement of image for zoom to fit"
-msgstr "ΪËõ·ÅÀ©Õ¹Í¼ÏñÒÔ±ãÆ¥Åä¡£"
-
-#: src/preferences.c:959
-#, fuzzy
-msgid "Limit image size when autofitting (%):"
-msgstr "×Ô¶¯¸Ä±ä´°¿Ú´óСʱÏÞÖƳߴç (%)£º"
-
-#: src/preferences.c:967
-msgid "Zoom increment:"
-msgstr "Ëõ·ÅÔöÁ¿£º"
-
-#: src/preferences.c:972
-msgid "When new image is selected:"
-msgstr "µ±Ñ¡ÔñÐÂͼÏñʱ£º"
-
-#: src/preferences.c:975
-msgid "Zoom to original size"
-msgstr "Ëõ·Åµ½Ô­³ß´ç"
-
-#: src/preferences.c:981
-msgid "Leave Zoom at previous setting"
-msgstr "±£ÁôÉÏÒ»´ÎµÄËõ·ÅÉèÖÃ"
-
-#: src/preferences.c:985
-#, fuzzy
-msgid "Appearance"
-msgstr "×·¼Ó"
-
-#: src/preferences.c:987
-#, fuzzy
-msgid "Custom border color"
-msgstr "¶¨ÖÆÎļþÀàÐÍ£º"
-
-#: src/preferences.c:990
-msgid "Border color"
-msgstr ""
-
-#: src/preferences.c:993
-#, fuzzy
-msgid "Convenience"
-msgstr "¼ÌÐø"
-
-#: src/preferences.c:995
-#, fuzzy
-msgid "Refresh on file change"
-msgstr "Ë¢ÐÂÎļþÁбí"
-
-#: src/preferences.c:997
-msgid "Preload next image"
-msgstr "Ô¤ÏÈ×°ÈëÏÂÒ»ÕÅͼ"
-
-#: src/preferences.c:999
-msgid "Auto rotate image using Exif information"
-msgstr ""
-
-#: src/preferences.c:1016
-msgid "Windows"
-msgstr "´°¿Ú"
-
-#: src/preferences.c:1019
-#, fuzzy
-msgid "State"
-msgstr "ÈÕÆÚ"
-
-#: src/preferences.c:1021
-msgid "Remember window positions"
-msgstr "¼Çס´°¿ÚλÖÃ"
-
-#: src/preferences.c:1023
-msgid "Remember tool state (float/hidden)"
-msgstr "¼Çס¹¤¾ßÀ¸×´Ì¬(¸¡¶¯/Òþ²Ø)"
-
-#: src/preferences.c:1028
-msgid "Fit window to image when tools are hidden/floating"
-msgstr "µ±¹¤¾ßµµÒþ²Ø/¸¡¶¯Ê±,ʹ´°¿ÚÊÊӦͼÏñ"
-
-#: src/preferences.c:1032
-msgid "Limit size when auto-sizing window (%):"
-msgstr "×Ô¶¯¸Ä±ä´°¿Ú´óСʱÏÞÖƳߴç (%)£º"
-
-#: src/preferences.c:1039 src/print.c:3404 src/print.c:3411
-msgid "Layout"
-msgstr ""
-
-#: src/preferences.c:1066
-msgid "Filtering"
-msgstr "¹ýÂË"
-
-#: src/preferences.c:1071
-msgid "Show hidden files or folders"
-msgstr ""
-
-#: src/preferences.c:1073
-#, fuzzy
-msgid "Show dot directory"
-msgstr "н¨Ä¿Â¼"
-
-#: src/preferences.c:1075
-msgid "Case sensitive sort"
-msgstr ""
-
-#: src/preferences.c:1078
-msgid "Disable File Filtering"
-msgstr "½ûÖ¹Îļþ¹ýÂË"
-
-#: src/preferences.c:1082
-msgid "Grouping sidecar extensions"
-msgstr ""
-
-#: src/preferences.c:1089
-#, fuzzy
-msgid "File types"
-msgstr "¹ýÂËÆ÷£º"
-
-#: src/preferences.c:1111
-#, fuzzy
-msgid "Filter"
-msgstr "¹ýÂËÆ÷£º"
-
-#: src/preferences.c:1148 src/preferences.c:1234 src/preferences.c:1378
-msgid "Defaults"
-msgstr ""
-
-#: src/preferences.c:1177
-msgid "Editors"
-msgstr "±à¼­Æ÷"
-
-#: src/preferences.c:1183
-msgid "#"
-msgstr "#"
-
-#: src/preferences.c:1186 src/preferences.c:1497
-msgid "Menu name"
-msgstr "²Ëµ¥Ãû"
-
-#: src/preferences.c:1189
-msgid "Command Line"
-msgstr "ÃüÁîÐÐ"
-
-#: src/preferences.c:1261
-#, fuzzy
-msgid "Properties"
-msgstr "/±à¼­/Ñ¡Ïî(_O)..."
-
-#: src/preferences.c:1279
-msgid "What to show in properties dialog:"
-msgstr ""
-
-#: src/preferences.c:1316
-msgid "Advanced"
-msgstr ""
-
-#: src/preferences.c:1337
-#, fuzzy
-msgid "Smooth image flip"
-msgstr "ͼÏñ"
-
-#: src/preferences.c:1339
-msgid "Disable screen saver"
-msgstr ""
-
-#: src/preferences.c:1343
-msgid "Overlay Screen Display"
-msgstr ""
-
-#: src/preferences.c:1345
-msgid "Always show image overlay at startup"
-msgstr ""
-
-#: src/preferences.c:1347
-msgid "Image overlay template"
-msgstr ""
-
-#: src/preferences.c:1361
-msgid ""
-"<i>%name%</i> results in the filename of the picture.\n"
-"Also available: <i>%collection%</i>, <i>%number%</i>, <i>%total%</i>, <i>%"
-"date%</i>,\n"
-"<i>%size%</i> (filesize), <i>%width%</i>, <i>%height%</i>, <i>%res%</i> "
-"(resolution)\n"
-"To access exif data use the exif name, e. g. <i>%formatted.Camera%</i> is "
-"the formatted camera name,\n"
-"<i>%Exif.Photo.DateTimeOriginal%</i> the date of the original shot.\n"
-"<i>%formatted.Camera:20</i> notation will truncate the displayed data to 20 "
-"characters and will add 3 dots at the end to denote the truncation.\n"
-"If two or more variables are connected with the |-sign, it prints available "
-"variables with a separator.\n"
-"<i>%formatted.ShutterSpeed%</i>|<i>%formatted.ISOSpeedRating%</i>|<i>%"
-"formatted.FocalLength%</i> could show \"1/20s - 400 - 80 mm\" or \"1/200 - "
-"80 mm\",\n"
-"if there's no ISO information in the Exif data.\n"
-"If a line is empty, it is removed. This allows to add lines that totally "
-"disappear when no data is available.\n"
-msgstr ""
-
-#: src/preferences.c:1393
-msgid "Delete"
-msgstr "ɾ³ý"
-
-#: src/preferences.c:1395
-msgid "Confirm file delete"
-msgstr "È·ÈÏɾ³ýÎļþ"
-
-#: src/preferences.c:1397
-msgid "Enable Delete key"
-msgstr "ÆôÓÃɾ³ý¼ü"
-
-#: src/preferences.c:1400
-#, fuzzy
-msgid "Safe delete"
-msgstr "È·ÈÏɾ³ýÎļþ"
-
-#: src/preferences.c:1418
-#, fuzzy
-msgid "Maximum size:"
-msgstr "ƽÆÌ"
-
-#: src/preferences.c:1418
-msgid "MB"
-msgstr ""
-
-#: src/preferences.c:1421
-msgid "Set to 0 for unlimited size"
-msgstr ""
-
-#: src/preferences.c:1423
-msgid "View"
-msgstr "²é¿´"
-
-#: src/preferences.c:1434
-msgid "Behavior"
-msgstr ""
-
-#: src/preferences.c:1436
-#, fuzzy
-msgid "Rectangular selection in icon view"
-msgstr "Õý·½ÐÎÑ¡Ôñ"
-
-#: src/preferences.c:1439
-msgid "Descend folders in tree view"
-msgstr ""
-
-#: src/preferences.c:1442
-msgid "In place renaming"
-msgstr "¼´Ê±ÖØÃüÃû"
-
-#: src/preferences.c:1445
-msgid ""
-"Show \"Copy path\" menu item which write the path of selected files to "
-"clipboard"
-msgstr ""
-
-#: src/preferences.c:1448
-msgid "Open recent list maximum size"
-msgstr ""
-
-#: src/preferences.c:1451
-msgid "Drag'n drop icon size"
-msgstr ""
-
-#: src/preferences.c:1454
-msgid "Navigation"
-msgstr ""
-
-#: src/preferences.c:1456
-msgid "Progressive keyboard scrolling"
-msgstr "ÀÛ½ø¼üÅ̹ö¶¯"
-
-#: src/preferences.c:1458
-msgid "Mouse wheel scrolls image"
-msgstr "ÓÃÊó±êÂÖ¹ö¶¯Í¼Ïñ"
-
-#: src/preferences.c:1461
-msgid "Miscellaneous"
-msgstr ""
-
-#: src/preferences.c:1463
-msgid "Store metadata and cache files in source image's directory"
-msgstr ""
-
-#: src/preferences.c:1466
-msgid "Store keywords and comments as XMP tags in image files"
-msgstr ""
-
-#: src/preferences.c:1469
-#, fuzzy
-msgid "Custom similarity threshold:"
-msgstr "¶¨ÖÆÎļþÀàÐÍ£º"
-
-#: src/preferences.c:1472
-msgid "Image loading and caching"
-msgstr ""
-
-#: src/preferences.c:1474
-msgid "Offscreen cache size (Mb per image):"
-msgstr "·ÇÆÁÄ»»º³åÇø´óС (ÿ¸öͼÏñµÄ Mb Êý)£º"
-
-#: src/preferences.c:1477
-msgid "Image read buffer size (bytes):"
-msgstr ""
-
-#: src/preferences.c:1481
-msgid "Image idle loop read count:"
-msgstr ""
-
-#: src/preferences.c:1486
-#, fuzzy
-msgid "Color profiles"
-msgstr "ËùÓÐÎļþ"
-
-#: src/preferences.c:1494
-msgid "Type"
-msgstr ""
-
-#: src/preferences.c:1500
-#, fuzzy
-msgid "File"
-msgstr "¹ýÂËÆ÷£º"
-
-#: src/preferences.c:1525 src/preferences.c:1536
-#, fuzzy
-msgid "Select color profile"
-msgstr "Çå³ýËùÓÐÑ¡Ôñ"
-
-#: src/preferences.c:1533
-msgid "Screen:"
-msgstr ""
-
-#: src/preferences.c:1544
-msgid "Debugging"
-msgstr ""
-
-#: src/preferences.c:1546
-msgid "Debug level:"
-msgstr ""
-
-#: src/preferences.c:1562
-#, fuzzy
-msgid "Preferences"
-msgstr "/±à¼­/Ñ¡Ïî(_O)..."
-
-#: src/preferences.c:1685
-#, fuzzy
-msgid "About"
-msgstr "¹ØÓÚ"
-
-#: src/preferences.c:1702
-#, fuzzy, c-format
-msgid ""
-"%s %s\n"
-"\n"
-"Copyright (c) 2006 John Ellis\n"
-"Copyright (c) %s The Geeqie Team\n"
-"website: %s\n"
-"email: %s\n"
-"\n"
-"Released under the GNU General Public License"
-msgstr ""
-"Geeqie %s\n"
-"\n"
-"°æȨËùÓÐ (c) 2003 John Ellis\n"
-"http://gqview.sourceforge.net\n"
-"gqview@users.sourceforge.net\n"
-"\n"
-"°´Í¨Óù«¹²Ðí¿ÉÖ¤·¢ÐÐ"
-
-#: src/preferences.c:1721
-#, fuzzy
-msgid "Credits..."
-msgstr "/±à¼­/Ñ¡Ïî(_O)..."
-
-#: src/print.c:117
-#, fuzzy
-msgid "Selection"
-msgstr "Çå³ýËùÓÐÑ¡Ôñ"
-
-#: src/print.c:118
-msgid "All"
-msgstr ""
-
-#: src/print.c:129
-msgid "One image per page"
-msgstr ""
-
-#: src/print.c:130
-msgid "Proof sheet"
-msgstr ""
-
-#: src/print.c:143
-msgid "Default printer"
-msgstr ""
-
-#: src/print.c:144
-#, fuzzy
-msgid "Custom printer"
-msgstr "¶¨ÖÆÎļþÀàÐÍ£º"
-
-#: src/print.c:145
-msgid "PostScript file"
-msgstr ""
-
-#: src/print.c:146
-#, fuzzy
-msgid "Image file"
-msgstr "ͼÏñ"
-
-#: src/print.c:160
-msgid "jpeg, low quality"
-msgstr ""
-
-#: src/print.c:161
-msgid "jpeg, normal quality"
-msgstr ""
-
-#: src/print.c:162
-msgid "jpeg, high quality"
-msgstr ""
-
-#: src/print.c:357 src/print.c:3245
-#, fuzzy
-msgid "points"
-msgstr "Xpaint"
-
-#: src/print.c:358
-msgid "millimeters"
-msgstr ""
-
-#: src/print.c:359
-msgid "centimeters"
-msgstr ""
-
-#: src/print.c:360
-msgid "inches"
-msgstr ""
-
-#: src/print.c:361
-msgid "picas"
-msgstr ""
-
-#: src/print.c:366
-msgid "Portrait"
-msgstr ""
-
-#: src/print.c:367
-msgid "Landscape"
-msgstr ""
-
-#: src/print.c:373
-msgid "Letter"
-msgstr ""
-
-#. in 8.5 x 11
-#: src/print.c:374
-msgid "Legal"
-msgstr ""
-
-#. in 8.5 x 14
-#: src/print.c:375
-msgid "Executive"
-msgstr ""
-
-#. in 7.25x 10.5
-#. mm 841 x 1189
-#. mm 594 x 841
-#. mm 420 x 594
-#. mm 297 x 420
-#. mm 210 x 297
-#. mm 148 x 210
-#. mm 105 x 148
-#. mm 353 x 500
-#. mm 250 x 353
-#. mm 176 x 250
-#. mm 125 x 176
-#: src/print.c:387
-msgid "Envelope #10"
-msgstr ""
-
-#. in 4.125 x 9.5
-#: src/print.c:388
-msgid "Envelope #9"
-msgstr ""
-
-#. in 3.875 x 8.875
-#: src/print.c:389
-msgid "Envelope C4"
-msgstr ""
-
-#. mm 229 x 324
-#: src/print.c:390
-msgid "Envelope C5"
-msgstr ""
-
-#. mm 162 x 229
-#: src/print.c:391
-msgid "Envelope C6"
-msgstr ""
-
-#. mm 114 x 162
-#: src/print.c:392
-msgid "Photo 6x4"
-msgstr ""
-
-#. in 6   x 4
-#: src/print.c:393
-msgid "Photo 8x10"
-msgstr ""
-
-#. in 8   x 10
-#: src/print.c:394
-msgid "Postcard"
-msgstr ""
-
-#. mm 100 x 148
-#: src/print.c:395
-msgid "Tabloid"
-msgstr ""
-
-#: src/print.c:551
-#, c-format
-msgid "page %d of %d"
-msgstr ""
-
-#: src/print.c:743 src/utilops.c:2462
-msgid "Preview"
-msgstr ""
-
-#: src/print.c:1051
-#, c-format
-msgid ""
-"Unable to open pipe for writing.\n"
-"\"%s\""
-msgstr ""
-
-#: src/print.c:1066 src/print.c:1506 src/ui_pathsel.c:432
-#: src/view_file_list.c:396
-#, fuzzy, c-format
-msgid "A file with name %s already exists."
-msgstr "ÎļþÃû %s ÒÑ´æÔÚ¡£"
-
-#: src/print.c:1081 src/print.c:1561
-#, c-format
-msgid "Failure writing to file %s"
-msgstr ""
-
-#: src/print.c:1135 src/print.c:1172 src/print.c:1208 src/print.c:1325
-#: src/print.c:1416 src/print.c:1447
-msgid "SIGPIPE error writing to printer."
-msgstr ""
-
-#: src/print.c:1982
-#, c-format
-msgid "Page %d"
-msgstr ""
-
-#: src/print.c:2004 src/print.c:2009
-#, fuzzy
-msgid "Printing error"
-msgstr "¹ýÂËÆ÷£º"
-
-#: src/print.c:2008
-#, c-format
-msgid "An error occured printing to %s."
-msgstr ""
-
-#: src/print.c:2012
-#, fuzzy
-msgid "Details"
-msgstr "ɾ³ýÎļþ"
-
-#: src/print.c:2617 src/print.c:3377
-#, fuzzy
-msgid "Print"
-msgstr "¹ýÂËÆ÷£º"
-
-#: src/print.c:2624
-#, c-format
-msgid "Printing %d pages to %s."
-msgstr ""
-
-#: src/print.c:2724
-#, fuzzy
-msgid "Format:"
-msgstr "ÆÕͨ"
-
-#: src/print.c:2799
-msgid "Units:"
-msgstr ""
-
-#: src/print.c:2843
-#, fuzzy
-msgid "Orientation:"
-msgstr "³ß´ç"
-
-#: src/print.c:2975
-#, fuzzy
-msgid "Destination:"
-msgstr "ÎÞЧµÄÄ¿±ê"
-
-#: src/print.c:3023
-#, fuzzy
-msgid "<printer name>"
-msgstr "ÖØÃüÃû£º"
-
-#: src/print.c:3112
-#, fuzzy
-msgid "Unlimited"
-msgstr "ÎÞ±êÌâ"
-
-#: src/print.c:3230
-msgid "Show"
-msgstr ""
-
-#: src/print.c:3243
-#, fuzzy
-msgid "Font"
-msgstr "ÎÞ"
-
-#: src/print.c:3407
-#, fuzzy
-msgid "Source"
-msgstr "ÅÅÐò"
-
-#: src/print.c:3423
-#, fuzzy
-msgid "Proof size:"
-msgstr "ͼÏñ"
-
-#: src/print.c:3449
-#, fuzzy
-msgid "Paper"
-msgstr "¹ýÂËÆ÷£º"
-
-#: src/print.c:3472
-msgid "Margins"
-msgstr ""
-
-#: src/print.c:3474
-msgid "Left:"
-msgstr ""
-
-#: src/print.c:3477
-msgid "Right:"
-msgstr ""
-
-#: src/print.c:3480
-msgid "Top:"
-msgstr ""
-
-#: src/print.c:3483
-#, fuzzy
-msgid "Bottom:"
-msgstr "µ½£º"
-
-#: src/print.c:3492
-#, fuzzy
-msgid "Printer"
-msgstr "¹ýÂËÆ÷£º"
-
-#: src/print.c:3498
-#, fuzzy
-msgid "Custom printer:"
-msgstr "¶¨ÖÆÎļþÀàÐÍ£º"
-
-#: src/print.c:3507
-#, fuzzy
-msgid "File:"
-msgstr "¹ýÂËÆ÷£º"
-
-#: src/print.c:3516
-#, fuzzy
-msgid "File format:"
-msgstr "¹ýÂËÆ÷£º"
-
-#: src/print.c:3521
-msgid "DPI:"
-msgstr ""
-
-#: src/print.c:3529
-#, fuzzy
-msgid "Remember print settings"
-msgstr "¼Çס´°¿ÚλÖÃ"
-
-#: src/rcfile.c:309
-#, c-format
-msgid "error saving config file: %s\n"
-msgstr "±£´æÅäÖÃÎļþ³ö´í£º%s\n"
-
-#: src/rcfile.c:583
-#, fuzzy, c-format
-msgid ""
-"error saving config file: %s\n"
-"error: %s\n"
-msgstr "±£´æÅäÖÃÎļþ³ö´í£º%s\n"
-
-#. short, long                  callback,               extra, prefer,description
-#: src/remote.c:574
-#, fuzzy
-msgid "next image"
-msgstr "Ô¤ÏÈ×°ÈëÏÂÒ»ÕÅͼ"
-
-#: src/remote.c:575
-msgid "previous image"
-msgstr ""
-
-#: src/remote.c:576
-#, fuzzy
-msgid "first image"
-msgstr "%d ͼÏñ"
-
-#: src/remote.c:577
-#, fuzzy
-msgid "last image"
-msgstr "Ô¤ÏÈ×°ÈëÏÂÒ»ÕÅͼ"
-
-#: src/remote.c:578
-#, fuzzy
-msgid "toggle full screen"
-msgstr "Í˳öÈ«ÆÁ"
-
-#: src/remote.c:579
-#, fuzzy
-msgid "start full screen"
-msgstr "Í˳öÈ«ÆÁ"
-
-#: src/remote.c:580
-#, fuzzy
-msgid "stop full screen"
-msgstr "Í˳öÈ«ÆÁ"
-
-#: src/remote.c:581
-#, fuzzy
-msgid "toggle slide show"
-msgstr "Í£Ö¹²¥·Å»ÃµÆƬ"
-
-#: src/remote.c:582
-#, fuzzy
-msgid "start slide show"
-msgstr "¿ªÊ¼²¥·Å»ÃµÆƬ"
-
-#: src/remote.c:583
-#, fuzzy
-msgid "stop slide show"
-msgstr "Í£Ö¹²¥·Å»ÃµÆƬ"
-
-#: src/remote.c:584
-#, fuzzy
-msgid "start recursive slide show"
-msgstr "¿ªÊ¼²¥·Å»ÃµÆƬ"
-
-#: src/remote.c:585
-msgid "set slide show delay in seconds"
-msgstr ""
-
-#: src/remote.c:586
-msgid "show tools"
-msgstr ""
-
-#: src/remote.c:587
-#, fuzzy
-msgid "hide tools"
-msgstr "Geeqie ¹¤¾ßÀ¸"
-
-#: src/remote.c:588
-msgid "quit"
-msgstr ""
-
-#: src/remote.c:589
-#, fuzzy
-msgid "open file"
-msgstr ""
-"½«Îļþ£º\n"
-"%s\n"
-"ÖØÃüÃûΪ£º"
-
-#: src/remote.c:590
-#, fuzzy
-msgid "open file in new window"
-msgstr "ÔÚд°¿ÚÖв鿴"
-
-#: src/remote.c:656
-msgid "Remote command list:\n"
-msgstr ""
-
-#: src/remote.c:713
-#, c-format
-msgid "Remote %s not running, starting..."
-msgstr ""
-
-#: src/remote.c:849
-msgid "Remote not available\n"
-msgstr ""
-
-#: src/search.c:202
-#, fuzzy
-msgid "folder"
-msgstr "ƽÆÌ"
-
-#: src/search.c:203
-#, fuzzy
-msgid "comments"
-msgstr "Ìí¼ÓÄÚÈÝ"
-
-#: src/search.c:204
-msgid "results"
-msgstr ""
-
-#: src/search.c:208
-#, fuzzy
-msgid "contains"
-msgstr "¼ÌÐø"
-
-#: src/search.c:209
-msgid "is"
-msgstr ""
-
-#: src/search.c:213 src/search.c:220
-msgid "equal to"
-msgstr ""
-
-#: src/search.c:214
-msgid "less than"
-msgstr ""
-
-#: src/search.c:215
-#, fuzzy
-msgid "greater than"
-msgstr "´´½¨ËõÂÔͼ"
-
-#: src/search.c:216 src/search.c:223
-msgid "between"
-msgstr ""
-
-#: src/search.c:221
-msgid "before"
-msgstr ""
-
-#: src/search.c:222
-#, fuzzy
-msgid "after"
-msgstr "¹ýÂËÆ÷£º"
-
-#: src/search.c:227
-msgid "match all"
-msgstr ""
-
-#: src/search.c:228
-msgid "match any"
-msgstr ""
-
-#: src/search.c:229
-msgid "exclude"
-msgstr ""
-
-#: src/search.c:279
-#, fuzzy, c-format
-msgid "%s, %d files (%s, %d)"
-msgstr "%d Îļþ (%d)%s"
-
-#: src/search.c:284
-#, fuzzy, c-format
-msgid "%s, %d files"
-msgstr "%d Îļþ%s"
-
-#: src/search.c:302
-#, fuzzy
-msgid "Searching..."
-msgstr "ÕýÔڱȽÏ..."
-
-#: src/search.c:2100
-msgid "File not found"
-msgstr ""
-
-#: src/search.c:2101
-#, fuzzy
-msgid "Please enter an existing file for image content."
-msgstr "ÇëÑ¡ÔñÒ»¸öÒÑ´æÔÚµÄĿ¼"
-
-#: src/search.c:2151
-#, fuzzy
-msgid "Please enter an existing folder to search."
-msgstr "ÇëÑ¡ÔñÒ»¸öÒÑ´æÔÚµÄĿ¼"
-
-#: src/search.c:2576
-#, fuzzy
-msgid "Image search"
-msgstr "ͼÏñ"
-
-#: src/search.c:2606
-#, fuzzy
-msgid "Search:"
-msgstr "ÕýÔڱȽÏ..."
-
-#: src/search.c:2620
-msgid "Recurse"
-msgstr ""
-
-#: src/search.c:2624
-#, fuzzy
-msgid "File name"
-msgstr "ÖØÃüÃû£º"
-
-#: src/search.c:2630
-msgid "Match case"
-msgstr ""
-
-#: src/search.c:2634
-#, fuzzy
-msgid "File size is"
-msgstr "ƽÆÌ"
-
-#: src/search.c:2641 src/search.c:2656 src/search.c:2674
-#, fuzzy
-msgid "and"
-msgstr "Ëæ»ú"
-
-#: src/search.c:2646
-#, fuzzy
-msgid "File date is"
-msgstr "¹ýÂËÆ÷£º"
-
-#: src/search.c:2663
-#, fuzzy
-msgid "Image dimensions are"
-msgstr "ÎÞЧµÄÄ¿±ê"
-
-#: src/search.c:2683
-#, fuzzy
-msgid "Image content is"
-msgstr "Ìí¼ÓÄÚÈÝ"
-
-#: src/search.c:2689
-#, fuzzy, no-c-format
-msgid "% similar to"
-msgstr "ÏàËÆÐÔ"
-
-#: src/search.c:2758
-#, fuzzy
-msgid "Rank"
-msgstr "Ëæ»ú"
-
-#: src/secure_save.c:398
-#, fuzzy
-msgid "Cannot read the file"
-msgstr "ÎÞ·¨´´½¨Ä¿Â¼"
-
-#: src/secure_save.c:400
-#, fuzzy
-msgid "Cannot get file status"
-msgstr "±È½ÏÁ½¸öÎļþ¼¯"
-
-#: src/secure_save.c:402
-msgid "Cannot access the file"
-msgstr ""
-
-#: src/secure_save.c:404
-#, fuzzy
-msgid "Cannot create temp file"
-msgstr "ÎÞ·¨´´½¨Ä¿Â¼"
-
-#: src/secure_save.c:406
-#, fuzzy
-msgid "Cannot rename the file"
-msgstr "ÎÞ·¨´´½¨Ä¿Â¼"
-
-#: src/secure_save.c:408
-msgid "File saving disabled by option"
-msgstr ""
-
-#: src/secure_save.c:410
-msgid "Out of memory"
-msgstr ""
-
-#: src/secure_save.c:412
-msgid "Cannot write the file"
-msgstr ""
-
-#: src/secure_save.c:416
-msgid "Secure file saving error"
-msgstr ""
-
-#: src/thumb.c:382
-msgid "Thumbnail image in cache failed to load, trying to recreate.\n"
-msgstr "×°È뻺³åµÄËõÂÔͼʧ°Ü£¬ÕýÊÔͼÖؽ¨¡£\n"
-
-#: src/trash.c:74 src/utilops.c:1402 src/utilops.c:1415 src/utilops.c:1494
-#: src/utilops.c:1511 src/utilops.c:3095 src/utilops.c:3146 src/utilops.c:3232
-#: src/utilops.c:3243
-msgid "Delete failed"
-msgstr "ɾ³ýʧ°Ü"
-
-#: src/trash.c:75
-#, fuzzy
-msgid "Unable to remove old file from trash folder"
-msgstr ""
-"ÎÞ·¨½«Îļþ£º\n"
-"%s\n"
-"Òƶ¯µ½×ÔÉí¡£"
-
-#: src/trash.c:126 src/utilops.c:2755
-#, fuzzy
-msgid "Could not create folder"
-msgstr "ÎÞ·¨´´½¨Ä¿Â¼"
-
-#: src/trash.c:148
-msgid "Permission denied"
-msgstr ""
-
-#: src/trash.c:158
-#, fuzzy, c-format
-msgid ""
-"Unable to access or create the trash folder.\n"
-"\"%s\""
-msgstr ""
-"ÎÞ·¨´´½¨Ä¿Â¼£º\n"
-"%s"
-
-#: src/trash.c:162
-#, fuzzy
-msgid "Turn off safe delete"
-msgstr "È·ÈÏɾ³ýÎļþ"
-
-#: src/trash.c:181
-msgid "Deletion by external command"
-msgstr ""
-
-#: src/trash.c:189
-#, c-format
-msgid " (max. %d MB)"
-msgstr ""
-
-#: src/trash.c:193
-#, fuzzy, c-format
-msgid ""
-"Safe delete: %s%s\n"
-"Trash: %s"
-msgstr "È·ÈÏɾ³ýÎļþ"
-
-#: src/trash.c:198
-#, fuzzy, c-format
-msgid "Safe delete: %s"
-msgstr "È·ÈÏɾ³ýÎļþ"
-
-#: src/ui_bookmark.c:151
-#, c-format
-msgid "Unable to write history lists to: %s\n"
-msgstr "ÎÞ·¨½«ÀúÊ·ÁбíдÈ룺%s\n"
-
-#: src/ui_bookmark.c:443 src/ui_bookmark.c:506
-msgid "New Bookmark"
-msgstr ""
-
-#: src/ui_bookmark.c:589 src/ui_bookmark.c:595
-#, fuzzy
-msgid "Edit Bookmark"
-msgstr "±à¼­Æ÷"
-
-#: src/ui_bookmark.c:610
-#, fuzzy
-msgid "Path:"
-msgstr "·¾¶"
-
-#: src/ui_bookmark.c:619
-msgid "Icon:"
-msgstr ""
-
-#: src/ui_bookmark.c:625
-#, fuzzy
-msgid "Select icon"
-msgstr "Çå³ýËùÓÐÑ¡Ôñ"
-
-#: src/ui_bookmark.c:716
-#, fuzzy
-msgid "_Properties..."
-msgstr "/±à¼­/Ñ¡Ïî(_O)..."
-
-#: src/ui_bookmark.c:718
-#, fuzzy
-msgid "Move _up"
-msgstr "Òƶ¯"
-
-#: src/ui_bookmark.c:720
-#, fuzzy
-msgid "Move _down"
-msgstr "Òƶ¯"
-
-#: src/ui_bookmark.c:722
-#, fuzzy
-msgid "_Remove"
-msgstr "ɾ³ý"
-
-#: src/ui_help.c:114
-#, c-format
-msgid ""
-"Unable to load:\n"
-"%s"
-msgstr ""
-"ÎÞ·¨×°È룺\n"
-"%s"
-
-#: src/ui_pathsel.c:438 src/utilops.c:2859
-#, c-format
-msgid "Failed to rename %s to %s."
-msgstr "½« %s ÖØÃüÃûΪ %s ʧ°Ü¡£"
-
-#: src/ui_pathsel.c:494 src/utilops.c:1510 src/utilops.c:1703
-#, c-format
-msgid ""
-"Unable to delete file:\n"
-"%s"
-msgstr ""
-"ÎÞ·¨É¾³ýÎļþ£º\n"
-"%s"
-
-#: src/ui_pathsel.c:495 src/utilops.c:1452 src/utilops.c:1472
-#: src/utilops.c:1684 src/utilops.c:1696 src/utilops.c:1704
-msgid "File deletion failed"
-msgstr "Îļþɾ³ýʧ°Ü"
-
-#: src/ui_pathsel.c:537 src/ui_pathsel.c:545 src/utilops.c:1734
-msgid "Delete file"
-msgstr "ɾ³ýÎļþ"
-
-#: src/ui_pathsel.c:543
-#, c-format
-msgid ""
-"About to delete the file:\n"
-" %s"
-msgstr ""
-"½«ÒªÉ¾³ýÎļþ£º\n"
-" %s"
-
-#: src/ui_pathsel.c:634 src/ui_pathsel.c:642 src/utilops.c:2428
-#: src/utilops.c:2690
-#, fuzzy
-msgid "_Rename"
-msgstr "ÖØÃüÃû"
-
-#: src/ui_pathsel.c:636 src/ui_pathsel.c:646
-#, fuzzy
-msgid "Add _Bookmark"
-msgstr "±à¼­Æ÷"
-
-#: src/ui_pathsel.c:644
-#, fuzzy
-msgid "_Delete"
-msgstr "ɾ³ý"
-
-#: src/ui_pathsel.c:748 src/ui_pathsel.c:1053 src/utilops.c:2807
-#, fuzzy
-msgid "New folder"
-msgstr "ÇóÖú - Geeqie"
-
-#: src/ui_pathsel.c:758 src/utilops.c:2762 src/view_dir.c:511
-#, fuzzy, c-format
-msgid ""
-"Unable to create folder:\n"
-"%s"
-msgstr ""
-"ÎÞ·¨´´½¨Ä¿Â¼£º\n"
-"%s"
-
-#: src/ui_pathsel.c:759 src/utilops.c:2763 src/view_dir.c:512
-#, fuzzy
-msgid "Error creating folder"
-msgstr "´´½¨Ä¿Â¼´íÎó"
-
-#: src/ui_pathsel.c:980
-msgid "All Files"
-msgstr "ËùÓÐÎļþ"
-
-#: src/ui_pathsel.c:1056
-msgid "Show hidden"
-msgstr "ÏÔʾÒþ²ØÎļþ"
-
-#: src/ui_pathsel.c:1140
-msgid "Filter:"
-msgstr "¹ýÂËÆ÷£º"
-
-#: src/ui_tabcomp.c:858
-#, fuzzy
-msgid "Select path"
-msgstr "È«Ñ¡"
-
-#: src/ui_tabcomp.c:874
-#, fuzzy
-msgid "All files"
-msgstr "ËùÓÐÎļþ"
-
-#: src/utilops.c:346 src/utilops.c:811 src/utilops.c:1048
-msgid "Error copying file"
-msgstr "¸´ÖÆÎļþ´íÎó"
-
-#: src/utilops.c:347
-#, fuzzy, c-format
-msgid ""
-"%s\n"
-"Unable to copy file:\n"
-"%s\n"
-"to:\n"
-"%s"
-msgstr ""
-"ÎÞ·¨½«Îļþ£º\n"
-"%s\n"
-"¸´ÖƵ½£º\n"
-"%s"
-
-#: src/utilops.c:390 src/utilops.c:816 src/utilops.c:1053
-msgid "Error moving file"
-msgstr "Òƶ¯Îļþ´íÎó"
-
-#: src/utilops.c:391
-#, fuzzy, c-format
-msgid ""
-"%s\n"
-"Unable to move file:\n"
-"%s\n"
-"to:\n"
-"%s"
-msgstr ""
-"ÎÞ·¨½«Îļþ£º\n"
-"%s\n"
-"Òƶ¯µ½£º\n"
-"%s"
-
-#: src/utilops.c:439 src/utilops.c:1920 src/utilops.c:2642
-#: src/view_file_list.c:391 src/view_file_list.c:397 src/view_file_list.c:411
-msgid "Error renaming file"
-msgstr "ÖØÃüÃûÎļþ´íÎó"
-
-#: src/utilops.c:440
-#, fuzzy, c-format
-msgid ""
-"%s\n"
-"Unable to rename file:\n"
-"%s\n"
-"to:\n"
-"%s"
-msgstr ""
-"ÎÞ·¨½«Îļþ£º\n"
-"%s\n"
-"ÖØÃüÃûΪ£º\n"
-"%s"
-
-#: src/utilops.c:651 src/utilops.c:981 src/utilops.c:1893 src/utilops.c:2613
-msgid "Overwrite file"
-msgstr "¸²¸ÇÎļþ"
-
-#: src/utilops.c:656 src/utilops.c:986 src/utilops.c:1898 src/utilops.c:2618
-#, fuzzy
-msgid "Overwrite file?"
-msgstr "¸²¸ÇÎļþ"
-
-#: src/utilops.c:657 src/utilops.c:987
-msgid "Replace existing file with new file."
-msgstr ""
-
-#: src/utilops.c:661
-#, fuzzy
-msgid "Overwrite _all"
-msgstr "¸²¸ÇÎļþ"
-
-#: src/utilops.c:663
-#, fuzzy
-msgid "S_kip all"
-msgstr "Ìø¹ý"
-
-#: src/utilops.c:664
-#, fuzzy
-msgid "_Skip"
-msgstr "Ìø¹ý"
-
-#: src/utilops.c:665 src/utilops.c:991 src/utilops.c:1904 src/utilops.c:2624
-#, fuzzy
-msgid "Existing file"
-msgstr "Òƶ¯Îļþ´íÎó"
-
-#: src/utilops.c:665 src/utilops.c:991 src/utilops.c:1905 src/utilops.c:2625
-#, fuzzy
-msgid "New file"
-msgstr "ÇóÖú - Geeqie"
-
-#: src/utilops.c:675 src/utilops.c:1000 src/utilops.c:2038 src/utilops.c:2094
-#: src/utilops.c:2167 src/utilops.c:2501
-#, fuzzy
-msgid "Auto rename"
-msgstr "²Ëµ¥Ãû"
-
-#: src/utilops.c:683 src/utilops.c:1008 src/utilops.c:2423 src/utilops.c:2682
-msgid "Rename"
-msgstr "ÖØÃüÃû"
-
-#: src/utilops.c:724
-msgid "Source to copy matches destination"
-msgstr "¸´ÖƵÄÔ´ÓëÄ¿±êÏàͬ"
-
-#: src/utilops.c:725
-#, c-format
-msgid ""
-"Unable to copy file:\n"
-"%s\n"
-"to itself."
-msgstr ""
-"ÎÞ·¨½«Îļþ£º\n"
-"%s\n"
-"¸´ÖƵ½×ÔÉí¡£"
-
-#: src/utilops.c:729
-msgid "Source to move matches destination"
-msgstr "Òƶ¯µÄÔ´ÓëÄ¿±êÏàͬ"
-
-#: src/utilops.c:730
-#, c-format
-msgid ""
-"Unable to move file:\n"
-"%s\n"
-"to itself."
-msgstr ""
-"ÎÞ·¨½«Îļþ£º\n"
-"%s\n"
-"Òƶ¯µ½×ÔÉí¡£"
-
-#: src/utilops.c:738 src/utilops.c:825 src/utilops.c:1408 src/utilops.c:1502
-#, fuzzy
-msgid "Co_ntinue"
-msgstr "¼ÌÐø"
-
-#: src/utilops.c:812
-#, fuzzy, c-format
-msgid ""
-"Unable to copy file:\n"
-"%s\n"
-"to:\n"
-"%s\n"
-"during multiple file copy."
-msgstr ""
-"ÔÚ¶àÎļþ¸´ÖÆʱ£¬ÎÞ·¨½«£º\n"
-"%s ¸´ÖƵ½£º\n"
-"%s\n"
-"¡£"
-
-#: src/utilops.c:817
-#, fuzzy, c-format
-msgid ""
-"Unable to move file:\n"
-"%s\n"
-"to:\n"
-"%s\n"
-"during multiple file move."
-msgstr ""
-"ÔÚ¶àÎļþÒƶ¯Ê±£¬ÎÞ·¨½«\n"
-"%s Òƶ¯µ½£º\n"
-"%s\n"
-"¡£"
-
-#: src/utilops.c:972
-msgid "Source matches destination"
-msgstr "Ô´ÓëÄ¿±êÏàͬ"
-
-#: src/utilops.c:973
-msgid "Source and destination are the same, operation cancelled."
-msgstr "Ô´ºÍÄ¿±êÏàͬ£¬²Ù×÷·ÅÆú¡£"
-
-#: src/utilops.c:1049
-#, c-format
-msgid ""
-"Unable to copy file:\n"
-"%s\n"
-"to:\n"
-"%s"
-msgstr ""
-"ÎÞ·¨½«Îļþ£º\n"
-"%s\n"
-"¸´ÖƵ½£º\n"
-"%s"
-
-#: src/utilops.c:1054
-#, c-format
-msgid ""
-"Unable to move file:\n"
-"%s\n"
-"to:\n"
-"%s"
-msgstr ""
-"ÎÞ·¨½«Îļþ£º\n"
-"%s\n"
-"Òƶ¯µ½£º\n"
-"%s"
-
-#: src/utilops.c:1102
-msgid "Invalid destination"
-msgstr "ÎÞЧµÄÄ¿±ê"
-
-#: src/utilops.c:1103
-#, fuzzy
-msgid ""
-"When operating with multiple files, please select\n"
-"a folder, not a file."
-msgstr ""
-"¶ÔÓÚ¶àÎļþ²Ù×÷£¬ÇëÑ¡ÔñĿ¼£¬\n"
-"¶ø²»ÊÇÎļþ¡£"
-
-#: src/utilops.c:1108
-#, fuzzy
-msgid "Please select an existing folder."
-msgstr "ÇëÑ¡ÔñÒ»¸öÒÑ´æÔÚµÄĿ¼"
-
-#: src/utilops.c:1178 src/view_dir.c:338
-#, fuzzy
-msgid "_Copy"
-msgstr "¸´ÖÆ"
-
-#: src/utilops.c:1181
-#, fuzzy
-msgid "Copy file"
-msgstr ""
-"½«Îļþ£º\n"
-"%s\n"
-"ÖØÃüÃûΪ£º"
-
-#: src/utilops.c:1185
-#, fuzzy
-msgid "Copy multiple files"
-msgstr "½«¶à¸öÎļþ¸´ÖƵ½£º"
-
-#: src/utilops.c:1192 src/view_dir.c:340
-#, fuzzy
-msgid "_Move"
-msgstr "Òƶ¯"
-
-#: src/utilops.c:1195
-#, fuzzy
-msgid "Move file"
-msgstr ""
-"½«Îļþ£º\n"
-"%s\n"
-"ÖØÃüÃûΪ£º"
-
-#: src/utilops.c:1199
-#, fuzzy
-msgid "Move multiple files"
-msgstr "½«¶à¸öÎļþÒƶ¯µ½£º"
-
-#: src/utilops.c:1214 src/utilops.c:1744
-#, fuzzy
-msgid "File name:"
-msgstr "ÖØÃüÃû£º"
-
-#: src/utilops.c:1218
-#, fuzzy
-msgid "Choose the destination folder."
-msgstr "Ô´ÓëÄ¿±êÏàͬ"
-
-#: src/utilops.c:1389
-#, fuzzy
-msgid ""
-"\n"
-"Unable to delete file by external command:\n"
-msgstr ""
-"ÎÞ·¨É¾³ýÎļþ£º\n"
-"%s"
-
-#: src/utilops.c:1401
-#, fuzzy
-msgid ""
-"\n"
-" Continue multiple delete operation?"
-msgstr ""
-"ÎÞ·¨É¾³ýÎļþ£º\n"
-" %s\n"
-" ¼ÌÐø½øÐжàÎļþɾ³ý²Ù×÷£¿"
-
-#: src/utilops.c:1452 src/utilops.c:1684
-msgid "Another operation in progress.\n"
-msgstr ""
-
-#: src/utilops.c:1471
-#, fuzzy, c-format
-msgid ""
-"%s\n"
-"Unable to delete files by external command.\n"
-msgstr ""
-"ÎÞ·¨É¾³ýÎļþ£º\n"
-"%s"
-
-#: src/utilops.c:1498
-#, c-format
-msgid ""
-"Unable to delete file:\n"
-" %s\n"
-" Continue multiple delete operation?"
-msgstr ""
-"ÎÞ·¨É¾³ýÎļþ£º\n"
-" %s\n"
-" ¼ÌÐø½øÐжàÎļþɾ³ý²Ù×÷£¿"
-
-#: src/utilops.c:1569
-#, c-format
-msgid "File %d of %d"
-msgstr ""
-
-#: src/utilops.c:1637
-#, fuzzy
-msgid "Delete files"
-msgstr "ɾ³ýÎļþ"
-
-#: src/utilops.c:1643
-#, fuzzy
-msgid "Delete multiple files"
-msgstr "ÖØÃüÃû¶à¸öÎļþ£º"
-
-#: src/utilops.c:1661
-#, fuzzy, c-format
-msgid "Review %d files"
-msgstr "%d Îļþ"
-
-#: src/utilops.c:1695
-#, fuzzy, c-format
-msgid ""
-"%s\n"
-"Unable to delete file by external command:\n"
-"%s"
-msgstr ""
-"ÎÞ·¨É¾³ýÎļþ£º\n"
-"%s"
-
-#: src/utilops.c:1740
-#, fuzzy
-msgid "Delete file?"
-msgstr "ɾ³ýÎļþ"
-
-#: src/utilops.c:1899 src/utilops.c:2619
-msgid "Replace existing file by renaming new file."
-msgstr ""
-
-#: src/utilops.c:1917
-#, c-format
-msgid ""
-"Unable to rename file:\n"
-"%s\n"
-" to:\n"
-"%s"
-msgstr ""
-"ÎÞ·¨½«Îļþ£º\n"
-"%s\n"
-" ÖØÃüÃûΪ£º\n"
-"%s"
-
-#: src/utilops.c:2039
-msgid "Format must include at least one of the symbol characters '*' or '#'.\n"
-msgstr ""
-
-#: src/utilops.c:2095
-msgid ""
-"Can not auto rename with the selected\n"
-"number set, one or more files exist that\n"
-"match the resulting name list.\n"
-msgstr ""
-
-#: src/utilops.c:2166
-#, fuzzy, c-format
-msgid ""
-"Failed to rename\n"
-"%s\n"
-"The number was %d."
-msgstr "½« %s ÖØÃüÃûΪ %s ʧ°Ü¡£"
-
-#: src/utilops.c:2427
-#, fuzzy
-msgid "Rename multiple files"
-msgstr "ÖØÃüÃû¶à¸öÎļþ£º"
-
-#: src/utilops.c:2461
-msgid "Original Name"
-msgstr ""
-
-#: src/utilops.c:2499
-#, fuzzy
-msgid "Manual rename"
-msgstr "²Ëµ¥Ãû"
-
-#: src/utilops.c:2500
-msgid "Formatted rename"
-msgstr ""
-
-#: src/utilops.c:2513 src/utilops.c:2697
-#, fuzzy
-msgid "Original name:"
-msgstr "ÖØÃüÃû£º"
-
-#: src/utilops.c:2516 src/utilops.c:2700
-#, fuzzy
-msgid "New name:"
-msgstr "ÖØÃüÃû£º"
-
-#: src/utilops.c:2534
-msgid "Begin text"
-msgstr ""
-
-#: src/utilops.c:2542 src/utilops.c:2574
-msgid "Start #"
-msgstr ""
-
-#: src/utilops.c:2548
-msgid "End text"
-msgstr ""
-
-#: src/utilops.c:2556
-msgid "Padding:"
-msgstr ""
-
-#: src/utilops.c:2566
-msgid "Format (* = original name, ## = numbers)"
-msgstr ""
-
-#: src/utilops.c:2641 src/view_file_list.c:410
-#, c-format
-msgid ""
-"Unable to rename file:\n"
-"%s\n"
-"to:\n"
-"%s"
-msgstr ""
-"ÎÞ·¨½«Îļþ£º\n"
-"%s\n"
-"ÖØÃüÃûΪ£º\n"
-"%s"
-
-#: src/utilops.c:2687
-#, fuzzy
-msgid "Rename file"
-msgstr ""
-"½«Îļþ£º\n"
-"%s\n"
-"ÖØÃüÃûΪ£º"
-
-#: src/utilops.c:2748 src/utilops.c:2841
-#, fuzzy, c-format
-msgid ""
-"The folder:\n"
-"%s\n"
-"already exists."
-msgstr ""
-"Ŀ¼£º\n"
-"%s\n"
-"ÒÑ´æÔÚ¡£"
-
-#: src/utilops.c:2749 src/utilops.c:2842
-#, fuzzy
-msgid "Folder exists"
-msgstr "ƽÆÌ"
-
-#: src/utilops.c:2754 src/utilops.c:2850
-#, c-format
-msgid ""
-"The path:\n"
-"%s\n"
-"already exists as a file."
-msgstr ""
-"·¾¶£º\n"
-"%s\n"
-"ÊÇÒ»¸öÒÑ´æÔÚµÄÎļþ¡£"
-
-#: src/utilops.c:2812
-#, fuzzy, c-format
-msgid ""
-"Create folder in:\n"
-"%s\n"
-"named:"
-msgstr ""
-"ÔÚ\n"
-"%s\n"
-"´´½¨Ä¿Â¼£¬²¢ÃüÃûΪ£º"
-
-#: src/utilops.c:2851 src/utilops.c:2860
-#, fuzzy
-msgid "Rename failed"
-msgstr ""
-"½«Îļþ£º\n"
-"%s\n"
-"ÖØÃüÃûΪ£º"
-
-#: src/utilops.c:2967
-#, fuzzy
-msgid "Location"
-msgstr "ͼÏñ¼¯"
-
-#: src/utilops.c:3145
-#, fuzzy, c-format
-msgid ""
-"Unable to delete folder:\n"
-"\n"
-"%s"
-msgstr ""
-"ÎÞ·¨É¾³ýÎļþ£º\n"
-"%s"
-
-#: src/utilops.c:3152
-#, c-format
-msgid ""
-"Removal of folder contents failed at this file:\n"
-"\n"
-"%s"
-msgstr ""
-
-#: src/utilops.c:3207 src/utilops.c:3291
-#, fuzzy
-msgid "Delete folder"
-msgstr "Çå³ýËùÓÐÑ¡Ôñ"
-
-#: src/utilops.c:3211
-#, c-format
-msgid ""
-"This will delete the symbolic link:\n"
-"\n"
-"%s\n"
-"\n"
-"The folder this link points to will not be deleted."
-msgstr ""
-
-#: src/utilops.c:3215
-msgid "Delete symbolic link to folder?"
-msgstr ""
-
-#: src/utilops.c:3230
-#, fuzzy, c-format
-msgid ""
-"Unable to remove folder %s\n"
-"Permissions do not allow writing to the folder."
-msgstr ""
-"ÎÞ·¨½«Îļþ£º\n"
-"%s\n"
-"Òƶ¯µ½×ÔÉí¡£"
-
-#: src/utilops.c:3242
-#, fuzzy, c-format
-msgid "Unable to list contents of folder %s"
-msgstr ""
-"ÎÞ·¨´´½¨Ä¿Â¼£º\n"
-"%s"
-
-#: src/utilops.c:3256 src/utilops.c:3264
-#, fuzzy
-msgid "Folder contains subfolders"
-msgstr "·Ç·¨ÎļþÃû"
-
-#: src/utilops.c:3260
-#, c-format
-msgid ""
-"Unable to delete the folder:\n"
-"\n"
-"%s\n"
-"\n"
-"This folder contains subfolders which must be moved before it can be deleted."
-msgstr ""
-
-#: src/utilops.c:3268
-#, fuzzy
-msgid "Subfolders:"
-msgstr "ƽÆÌ"
-
-#: src/utilops.c:3295
-#, c-format
-msgid ""
-"This will delete the folder:\n"
-"\n"
-"%s\n"
-"\n"
-"The contents of this folder will also be deleted."
-msgstr ""
-
-#: src/utilops.c:3299
-#, fuzzy
-msgid "Delete folder?"
-msgstr "ɾ³ýÎļþ"
-
-#: src/utilops.c:3303
-#, fuzzy
-msgid "Contents:"
-msgstr "/ÇóÖú/¹ØÓÚ(_A)"
-
-#: src/view_dir.c:30
-#, fuzzy
-msgid "_Tree"
-msgstr "/²é¿´/µÚÈý¶Î"
-
-#: src/view_dir.c:502
-msgid "new_folder"
-msgstr ""
-
-#: src/view_dir.c:587
-msgid "_Up to parent"
-msgstr ""
-
-#: src/view_dir.c:592
-#, fuzzy
-msgid "_Slideshow"
-msgstr "»ÃµÆƬ"
-
-#: src/view_dir.c:594
-msgid "Slideshow recursive"
-msgstr "µÝ¹é»ÃµÆƬ"
-
-#: src/view_dir.c:598
-#, fuzzy
-msgid "Find _duplicates..."
-msgstr "Ñ°ÕÒ¸±±¾..."
-
-#: src/view_dir.c:600
-msgid "Find duplicates recursive..."
-msgstr "µÝ¹éÑ°ÕÒ¸±±¾..."
-
-#: src/view_dir.c:605
-msgid "_New folder..."
-msgstr ""
-
-#: src/view_dir.c:619
-#, fuzzy
-msgid "_View as"
-msgstr "/²é¿´(_V)"
-
-#: src/view_dir.c:631
-#, fuzzy
-msgid "Show _hidden files"
-msgstr "ÏÔʾÒþ²ØÎļþ"
-
-#: src/view_dir.c:634 src/view_file.c:606
-#, fuzzy
-msgid "Re_fresh"
-msgstr "Ë¢ÐÂ"
-
-#: src/view_file.c:588
-#, fuzzy
-msgid "_Sort"
-msgstr "ÅÅÐò"
-
-#: src/view_file.c:591
-#, fuzzy
-msgid "View as _icons"
-msgstr "³ß´ç"
-
-#: src/view_file.c:597
-#, fuzzy
-msgid "Show _thumbnails"
-msgstr "»º´æËõÂÔͼ"
-
-#: src/view_file_list.c:390
-#, c-format
-msgid ""
-"Invalid file name:\n"
-"%s"
-msgstr ""
-"·Ç·¨ÎļþÃû£º\n"
-"%s"
-
-#: src/view_file_list.c:1821
-msgid "SC"
-msgstr ""
-
-#: src/window.c:226
-#, fuzzy
-msgid "Help"
-msgstr "/ÇóÖú(_H)"
-
-#, fuzzy
-#~ msgid "Change to folder:"
-#~ msgstr "»Øµ½¼ÒĿ¼"
-
-#, fuzzy
-#~ msgid "Reset fullscreen info string"
-#~ msgstr "È«ÆÁ"
-
-#, fuzzy
-#~ msgid "Always show fullscreen info"
-#~ msgstr "Í˳öÈ«ÆÁ"
-
-#, fuzzy
-#~ msgid "Fullscreen info string"
-#~ msgstr "È«ÆÁ"
-
-#, fuzzy
-#~ msgid "List"
-#~ msgstr "/²é¿´/¸üÐÂÁбí(_R)"
-
-#, fuzzy
-#~ msgid "View as _tree"
-#~ msgstr "/²é¿´/È«ÆÁ(_U)"
-
-#~ msgid "Show entries that begin with a dot"
-#~ msgstr "ÏÔʾÒþ²ØÎļþ"
-
-#~ msgid "Find duplicates - Geeqie"
-#~ msgstr "Îļþ¸´ÖÆ - Geeqie"
-
-#~ msgid "Geeqie full screen"
-#~ msgstr "Geeqie È«ÆÁ"
-
-#~ msgid "Geeqie Tools"
-#~ msgstr "Geeqie ¹¤¾ßÀ¸"
-
-#~ msgid "Help - Geeqie"
-#~ msgstr "ÇóÖú - Geeqie"
-
-#~ msgid "Geeqie - exit"
-#~ msgstr "Geeqie - Í˳ö"
-
-#, fuzzy
-#~ msgid "Quit Geeqie"
-#~ msgstr "ÇóÖú - Geeqie"
-
-#, fuzzy
-#~ msgid "Pan View - Geeqie"
-#~ msgstr "ÇóÖú - Geeqie"
-
-#, fuzzy
-#~ msgid "About - Geeqie"
-#~ msgstr "ÇóÖú - Geeqie"
-
-#, fuzzy
-#~ msgid "Print - Geeqie"
-#~ msgstr "ÇóÖú - Geeqie"
-
-#, fuzzy
-#~ msgid "Copy - Geeqie"
-#~ msgstr "ÇóÖú - Geeqie"
-
-#, fuzzy
-#~ msgid "Move - Geeqie"
-#~ msgstr "ÇóÖú - Geeqie"
-
-#, fuzzy
-#~ msgid "Delete files - Geeqie"
-#~ msgstr "ɾ³ýÎļþ"
-
-#, fuzzy
-#~ msgid "Delete file - Geeqie"
-#~ msgstr "ɾ³ýÎļþ"
-
-#, fuzzy
-#~ msgid "Rename - Geeqie"
-#~ msgstr "ÇóÖú - Geeqie"
-
-#, fuzzy
-#~ msgid "New folder - Geeqie"
-#~ msgstr "ÇóÖú - Geeqie"
-
-#~ msgid "/File/tear1"
-#~ msgstr "/Îļþ/Ƭ¶Î1"
-
-#~ msgid "/File/_New collection"
-#~ msgstr "/Îļþ/ÐÂͼÏñ¼¯"
-
-#~ msgid "/File/_Open collection..."
-#~ msgstr "/Îļþ/´ò¿ªÍ¼Ïñ¼¯(_O)..."
-
-#~ msgid "/File/sep1"
-#~ msgstr "/Îļþ/µÚÒ»¶Î"
-
-#, fuzzy
-#~ msgid "/File/_Search..."
-#~ msgstr "/Îļþ/ÖØÃüÃû(_R)..."
-
-#~ msgid "/File/_Find duplicates..."
-#~ msgstr "/Îļþ/Ñ°ÕÒ¸±±¾(_F)..."
-
-#~ msgid "/File/sep2"
-#~ msgstr "/Îļþ/µÚ¶þ¶Î"
-
-#, fuzzy
-#~ msgid "/File/_Print..."
-#~ msgstr "/Îļþ/ÖØÃüÃû(_R)..."
-
-#, fuzzy
-#~ msgid "/File/N_ew folder..."
-#~ msgstr "/Îļþ/ɾ³ý(_D)..."
-
-#~ msgid "/File/sep3"
-#~ msgstr "/Îļþ/µÚÈý¶Î"
-
-#~ msgid "/File/_Copy..."
-#~ msgstr "/Îļþ/¸´ÖÆ(_C)..."
-
-#~ msgid "/File/_Move..."
-#~ msgstr "/Îļþ/Òƶ¯(_M)..."
-
-#~ msgid "/File/_Rename..."
-#~ msgstr "/Îļþ/ÖØÃüÃû(_R)..."
-
-#~ msgid "/File/_Delete..."
-#~ msgstr "/Îļþ/ɾ³ý(_D)..."
-
-#~ msgid "/File/sep4"
-#~ msgstr "/Îļþ/µÚËĶÎ"
-
-#, fuzzy
-#~ msgid "/File/C_lose window"
-#~ msgstr "¹Ø±Õ´°¿Ú"
-
-#, fuzzy
-#~ msgid "/File/_Quit"
-#~ msgstr "/Îļþ/Í˳ö(_X)"
-
-#~ msgid "/_Edit"
-#~ msgstr "/±à¼­(_E)"
-
-#~ msgid "/Edit/tear1"
-#~ msgstr "/±à¼­/Ƭ¶Î1"
-
-#~ msgid "/Edit/editor1"
-#~ msgstr "/±à¼­/±à¼­Æ÷1"
-
-#~ msgid "/Edit/editor2"
-#~ msgstr "/±à¼­/±à¼­Æ÷2"
-
-#~ msgid "/Edit/editor3"
-#~ msgstr "/±à¼­/±à¼­Æ÷3"
-
-#~ msgid "/Edit/editor4"
-#~ msgstr "/±à¼­/±à¼­Æ÷4"
-
-#~ msgid "/Edit/editor5"
-#~ msgstr "/±à¼­/±à¼­Æ÷5"
-
-#~ msgid "/Edit/editor6"
-#~ msgstr "/±à¼­/±à¼­Æ÷6"
-
-#~ msgid "/Edit/editor7"
-#~ msgstr "/±à¼­/±à¼­Æ÷7"
-
-#~ msgid "/Edit/editor8"
-#~ msgstr "/±à¼­/±à¼­Æ÷8"
-
-#, fuzzy
-#~ msgid "/Edit/editor9"
-#~ msgstr "/±à¼­/±à¼­Æ÷1"
-
-#, fuzzy
-#~ msgid "/Edit/editor0"
-#~ msgstr "/±à¼­/±à¼­Æ÷1"
-
-#~ msgid "/Edit/sep1"
-#~ msgstr "/±à¼­/µÚÒ»¶Î"
-
-#~ msgid "/Edit/_Adjust"
-#~ msgstr "/±à¼­/µ÷Õû(_A)"
-
-#, fuzzy
-#~ msgid "/Edit/_Properties"
-#~ msgstr "/±à¼­/Ñ¡Ïî(_O)..."
-
-#~ msgid "/Edit/Adjust/tear1"
-#~ msgstr "/±à¼­/µ÷Õû/Ƭ¶Î1"
-
-#~ msgid "/Edit/Adjust/_Rotate clockwise"
-#~ msgstr "/±à¼­/µ÷Õû/˳ʱÕëÐýת(_R)"
-
-#~ msgid "/Edit/Adjust/Rotate _counterclockwise"
-#~ msgstr "/±à¼­/µ÷Õû/ÄæʱÕëÐýת(_C)"
-
-#~ msgid "/Edit/Adjust/Rotate 1_80"
-#~ msgstr "/±à¼­/µ÷Õû/Ðýת 180 ¶È"
-
-#~ msgid "/Edit/Adjust/_Mirror"
-#~ msgstr "/±à¼­/µ÷Õû/¾µÏñ(_M)"
-
-#~ msgid "/Edit/Adjust/_Flip"
-#~ msgstr "/±à¼­/µ÷Õû/·­×ª(_F)"
-
-#~ msgid "/Edit/sep2"
-#~ msgstr "/±à¼­/µÚ¶þ¶Î"
-
-#~ msgid "/Edit/Select _all"
-#~ msgstr "/±à¼­/È«Ñ¡(_A)"
-
-#~ msgid "/Edit/Select _none"
-#~ msgstr "/±à¼­/Çå³ýËùÓÐÑ¡Ôñ(_N)"
-
-#~ msgid "/Edit/sep3"
-#~ msgstr "/±à¼­/µÚÈý¶Î"
-
-#~ msgid "/Edit/_Options..."
-#~ msgstr "/±à¼­/Ñ¡Ïî(_O)..."
-
-#~ msgid "/Edit/sep4"
-#~ msgstr "/±à¼­/µÚËĶÎ"
-
-#~ msgid "/Edit/Set as _wallpaper"
-#~ msgstr "/±à¼­/ÉèÖÃΪǽֽ(_W)"
-
-#~ msgid "/_View"
-#~ msgstr "/²é¿´(_V)"
-
-#~ msgid "/View/tear1"
-#~ msgstr "/²é¿´/Ƭ¶Î1"
-
-#~ msgid "/View/Zoom _in"
-#~ msgstr "/²é¿´/·Å´ó(_I)"
-
-#~ msgid "/View/Zoom _out"
-#~ msgstr "/²é¿´/ËõС(_O)"
-
-#~ msgid "/View/Zoom _1:1"
-#~ msgstr "/²é¿´/Ëõ·Åµ½ 1:1(_1)"
-
-#~ msgid "/View/sep1"
-#~ msgstr "/²é¿´/µÚÒ»¶Î"
-
-#~ msgid "/View/_Thumbnails"
-#~ msgstr "/²é¿´/ËõÂÔͼ(_T)"
-
-#~ msgid "/View/sep2"
-#~ msgstr "/²é¿´/µÚ¶þ¶Î"
-
-#~ msgid "/View/F_ull screen"
-#~ msgstr "/²é¿´/È«ÆÁ(_U)"
-
-#~ msgid "/View/sep3"
-#~ msgstr "/²é¿´/µÚÈý¶Î"
-
-#, fuzzy
-#~ msgid "/View/_Hide file list"
-#~ msgstr "/²é¿´/(²»)Òþ²ØÎļþÁбí(_H)"
-
-#, fuzzy
-#~ msgid "/View/sep4"
-#~ msgstr "/²é¿´/µÚÒ»¶Î"
-
-#, fuzzy
-#~ msgid "/View/Sort _manager"
-#~ msgstr "/²é¿´/·Å´ó(_I)"
-
-#, fuzzy
-#~ msgid "/View/sep5"
-#~ msgstr "/²é¿´/µÚÒ»¶Î"
-
-#~ msgid "/View/Toggle _slideshow"
-#~ msgstr "/²é¿´/Çл»»ÃµÆÏÔʾ(_S)"
-
-#~ msgid "/View/_Refresh Lists"
-#~ msgstr "/²é¿´/¸üÐÂÁбí(_R)"
-
-#~ msgid "/Help/tear1"
-#~ msgstr "/ÇóÖú/Ƭ¶Î1"
-
-#~ msgid "/Help/sep1"
-#~ msgstr "/ÇóÖú/µÚÒ»¶Î"
-
-#~ msgid "/Help/_About"
-#~ msgstr "/ÇóÖú/¹ØÓÚ(_A)"
-
-#~ msgid "Geeqie configuration"
-#~ msgstr "Geeqie ÅäÖÃ"
-
-#~ msgid "/Edit/_Remove old thumbnails"
-#~ msgstr "/±à¼­/ɾ³ýÔ­À´µÄËõÂÔͼ(_R)"
-
-#, fuzzy
-#~ msgid "path"
-#~ msgstr "·¾¶"
-
-#~ msgid "Save"
-#~ msgstr "±£´æ"
-
-#~ msgid ""
-#~ "Overwrite collection file:\n"
-#~ "%s"
-#~ msgstr ""
-#~ "¸²¸ÇͼÏñ¼¯Îļþ£º\n"
-#~ "%s"
-
-#~ msgid "Save collection as:"
-#~ msgstr "½«Í¼Ïñ¼¯Áí´æΪ£º"
-
-#~ msgid "Open collection from:"
-#~ msgstr "´Ó´Ë´¦´ò¿ªÍ¼Ïñ¼¯£º"
-
-#~ msgid "Open"
-#~ msgstr "´ò¿ª"
-
-#~ msgid "Append collection from:"
-#~ msgstr "´Ó´Ë´¦×·¼ÓͼÏñ¼¯£º"
-
-#~ msgid "Exit"
-#~ msgstr "Í˳ö"
-
-#~ msgid "Ok"
-#~ msgstr "È·¶¨"
-
-#, fuzzy
-#~ msgid "Initial folder"
-#~ msgstr "·Ç·¨ÎļþÃû"
-
-#, fuzzy
-#~ msgid "On startup, change to this folder:"
-#~ msgstr "µ±Æô¶¯Ê±¸Ä±äµ½´ËĿ¼£º"
-
-#~ msgid "Zoom (scaling):"
-#~ msgstr "Ëõ·Å£º"
-
-#~ msgid "Place dialogs under mouse"
-#~ msgstr "½«¶Ô»°¿òÖÃÓÚÊó±êλÖÃ"
-
-#~ msgid "Include files of type:"
-#~ msgstr "°üº¬ÎļþÀàÐÍ£º"
-
-#~ msgid "Remove"
-#~ msgstr "ɾ³ý"
-
-#, fuzzy
-#~ msgid "Point size:"
-#~ msgstr "ƽÆÌ"
-
-#~ msgid ""
-#~ "Overwrite file:\n"
-#~ " %s\n"
-#~ " with:\n"
-#~ " %s"
-#~ msgstr ""
-#~ "¸²¸ÇÎļþ£º\n"
-#~ " %s\n"
-#~ " ÒÔ£º\n"
-#~ " %s"
-
-#~ msgid "Yes"
-#~ msgstr "ÊÇ"
-
-#~ msgid "Yes to all"
-#~ msgstr "È«¶¼ÊÇ"
-
-#~ msgid ""
-#~ "Overwrite file:\n"
-#~ "%s\n"
-#~ " with:\n"
-#~ "%s"
-#~ msgstr ""
-#~ "¸²¸ÇÎļþ£º\n"
-#~ " %s\n"
-#~ " ÒÔ£º\n"
-#~ " %s"
-
-#~ msgid ""
-#~ "Copy file:\n"
-#~ "%s\n"
-#~ "to:"
-#~ msgstr ""
-#~ "½«Îļþ£º\n"
-#~ "%s\n"
-#~ "µ½£º"
-
-#~ msgid ""
-#~ "Move file:\n"
-#~ "%s\n"
-#~ "to:"
-#~ msgstr ""
-#~ "½«Îļþ£º\n"
-#~ "%s\n"
-#~ "Òƶ¯µ½£º"
-
-#~ msgid "About to delete multiple files..."
-#~ msgstr "½«ÒªÉ¾³ý¶à¸öÎļþ..."
-
-#~ msgid ""
-#~ "Overwrite file:\n"
-#~ "%s\n"
-#~ "by renaming:\n"
-#~ "%s"
-#~ msgstr ""
-#~ "¸²¸ÇÎļþ£º\n"
-#~ "%s\n"
-#~ "¸üÃûΪ£º\n"
-#~ "%s"
-
-#~ msgid "to:"
-#~ msgstr "µ½£º"
-
-#~ msgid "Create"
-#~ msgstr "´´½¨"
-
-#~ msgid "Initial directory"
-#~ msgstr "³õʼĿ¼"
-
-#~ msgid ""
-#~ "Unable to create directory:\n"
-#~ "%s"
-#~ msgstr ""
-#~ "ÎÞ·¨´´½¨Ä¿Â¼£º\n"
-#~ "%s"
-
-#~ msgid "Error creating directory"
-#~ msgstr "´´½¨Ä¿Â¼´íÎó"
-
-#, fuzzy
-#~ msgid "/View/Image _details"
-#~ msgstr "/²é¿´/Çл»»ÃµÆÏÔʾ(_S)"
-
-#~ msgid "Add contents"
-#~ msgstr "Ìí¼ÓÄÚÈÝ"
-
-#~ msgid "Add contents recursive"
-#~ msgstr "µÝ¹éÌí¼ÓÄÚÈÝ"
-
-#~ msgid "Skip directories"
-#~ msgstr "ºöÂÔĿ¼"
-
-#~ msgid "Invalid directory"
-#~ msgstr "ÎÞЧµÄĿ¼"
-
-#~ msgid "Geeqie - copy"
-#~ msgstr "Geeqie - ¸´ÖÆ"
-
-#~ msgid "Geeqie - move"
-#~ msgstr "Geeqie - Òƶ¯"
-
-#~ msgid "Directory exists"
-#~ msgstr "Ŀ¼ÒÑ´æÔÚ"
-
-#~ msgid "Geeqie - new directory"
-#~ msgstr "Geeqie - н¨Ä¿Â¼"
-
-#~ msgid "/File/Create _Dir..."
-#~ msgstr "/Îļþ/´´½¨Ä¿Â¼(_D)..."
-
-#~ msgid "Edit"
-#~ msgstr "±à¼­"
-
-#~ msgid "Insert file drops at pointer location"
-#~ msgstr "ÔÚÊó±ê¹â±êλÖòåÈëÍÏ·ÅÎļþ"
-
-#~ msgid "File named %s already exists."
-#~ msgstr "ÃûΪ %s µÄÎļþÒÑ´æÔÚ¡£"
-
-#, fuzzy
-#~ msgid "top"
-#~ msgstr "µ½£º"
-
-#~ msgid "Geeqie running: %s\n"
-#~ msgstr "Geeqie ÔËÐУº%s\n"
-
-#~ msgid "Electric Eyes"
-#~ msgstr "µçÑÛ"
-
-#~ msgid "Apply"
-#~ msgstr "Ó¦ÓÃ"
-
-#~ msgid "format: [.foo;.bar]"
-#~ msgstr "¸ñʽ£º[.foo;.bar]"
-
-#~ msgid "Unable to delete dir: %s\n"
-#~ msgstr "ÎÞ·¨É¾³ýĿ¼: %s\n"
-
-#~ msgid "create dir failed: %s\n"
-#~ msgstr "´´½¨Ä¿Â¼Ê§°Ü: %s\n"
-
-#~ msgid "     Ok     "
-#~ msgstr "    È·¶¨    "
-
-#~ msgid "External Editors"
-#~ msgstr "ÄÚ²¿±à¼­Æ÷"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/po/zh_CN.po	Tue Oct 02 22:19:13 2012 +0100
@@ -0,0 +1,5343 @@
+msgid ""
+msgstr ""
+"Project-Id-Version: gqview 0.9.5\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2008-05-13 22:14+0200\n"
+"PO-Revision-Date: 2001-02-21 17:46+0800\n"
+"Last-Translator: Wu Yulun <migr@operamail.com>\n"
+"Language-Team: Chinese <i18n-chinese@egroups.com>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=gb2312\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: src/bar_exif.c:444
+msgid "Tag"
+msgstr ""
+
+#: src/bar_exif.c:445 src/dupe.c:2646 src/dupe.c:3167 src/print.c:3232
+#: src/search.c:2760 src/utilops.c:2971 src/view_file_list.c:1820
+msgid "Name"
+msgstr "Ãû³Æ"
+
+#: src/bar_exif.c:446
+msgid "Value"
+msgstr ""
+
+#: src/bar_exif.c:447
+#, fuzzy
+msgid "Format"
+msgstr "ÆÕͨ"
+
+#: src/bar_exif.c:448
+msgid "Elements"
+msgstr ""
+
+#: src/bar_exif.c:449 src/preferences.c:1131
+msgid "Description"
+msgstr ""
+
+#: src/bar_exif.c:576 src/info.c:125 src/preferences.c:1274
+#, fuzzy
+msgid "Exif"
+msgstr "Í˳ö"
+
+#: src/bar_exif.c:650
+msgid "Advanced view"
+msgstr ""
+
+#: src/bar_info.c:35
+msgid "Favorite"
+msgstr ""
+
+#: src/bar_info.c:36
+#, fuzzy
+msgid "Todo"
+msgstr "ƽÆÌ"
+
+#: src/bar_info.c:37
+msgid "People"
+msgstr ""
+
+#: src/bar_info.c:38
+msgid "Places"
+msgstr ""
+
+#: src/bar_info.c:39
+msgid "Art"
+msgstr ""
+
+#: src/bar_info.c:40
+#, fuzzy
+msgid "Nature"
+msgstr "ÈÕÆÚ"
+
+#: src/bar_info.c:41
+msgid "Possessions"
+msgstr ""
+
+#: src/bar_info.c:801
+msgid "Keyword Presets"
+msgstr ""
+
+#: src/bar_info.c:804
+msgid "Favorite keywords list"
+msgstr ""
+
+#: src/bar_info.c:1301 src/info.c:189 src/search.c:2699
+msgid "Keywords"
+msgstr ""
+
+#: src/bar_info.c:1315 src/info.c:825 src/pan-view.c:1542 src/print.c:2632
+#, fuzzy
+msgid "Filename:"
+msgstr "ÖØÃüÃû£º"
+
+#: src/bar_info.c:1316 src/info.c:391
+#, fuzzy
+msgid "File date:"
+msgstr "¹ýÂËÆ÷£º"
+
+#: src/bar_info.c:1336
+msgid "Keywords:"
+msgstr ""
+
+#: src/bar_info.c:1404
+#, fuzzy
+msgid "Comment:"
+msgstr "ÓëÖ®±È½Ï£º"
+
+#: src/bar_info.c:1428
+msgid "Edit favorite keywords list."
+msgstr ""
+
+#: src/bar_info.c:1432
+msgid "Add keywords to selected files"
+msgstr ""
+
+#: src/bar_info.c:1435
+msgid "Add keywords to selected files, replacing existing ones"
+msgstr ""
+
+#: src/bar_info.c:1438
+#, fuzzy
+msgid "Add comment to selected files"
+msgstr ""
+"½«ÒªÉ¾³ýÎļþ£º\n"
+" %s"
+
+#: src/bar_info.c:1441
+msgid "Add comment to selected files, replacing existing one"
+msgstr ""
+
+#: src/bar_info.c:1446
+#, fuzzy
+msgid "Save comment now"
+msgstr "±£´æͼÏñ¼¯"
+
+#: src/bar_sort.c:218
+#, fuzzy, c-format
+msgid ""
+"Unable to remove symbolic link:\n"
+"%s"
+msgstr ""
+"ÎÞ·¨½«Îļþ£º\n"
+"%s\n"
+"Òƶ¯µ½£º\n"
+"%s"
+
+#: src/bar_sort.c:219
+#, fuzzy
+msgid "Unlink failed"
+msgstr "ɾ³ýʧ°Ü"
+
+#: src/bar_sort.c:300
+#, fuzzy, c-format
+msgid ""
+"Unable to create symbolic link:\n"
+"%s"
+msgstr ""
+"ÎÞ·¨´´½¨Ä¿Â¼£º\n"
+"%s"
+
+#: src/bar_sort.c:301
+msgid "Link failed"
+msgstr ""
+
+#: src/bar_sort.c:452
+#, fuzzy, c-format
+msgid ""
+"The collection:\n"
+"%s\n"
+"already exists."
+msgstr ""
+"Ŀ¼£º\n"
+"%s\n"
+"ÒÑ´æÔÚ¡£"
+
+#: src/bar_sort.c:453
+#, fuzzy
+msgid "Collection exists"
+msgstr "ͼÏñ¼¯Îª¿Õ"
+
+#: src/bar_sort.c:467 src/collect.c:1083 src/collect-dlg.c:85
+#, c-format
+msgid ""
+"Failed to save the collection:\n"
+"%s"
+msgstr ""
+"±£´æͼÏñ¼¯Ê§°Ü£º\n"
+"%s"
+
+#: src/bar_sort.c:468 src/collect.c:1084 src/collect-dlg.c:86
+msgid "Save Failed"
+msgstr "±£´æʧ°Ü"
+
+#: src/bar_sort.c:502 src/bar_sort.c:628
+msgid "Add Bookmark"
+msgstr ""
+
+#: src/bar_sort.c:506
+#, fuzzy
+msgid "Add Collection"
+msgstr "ͼÏñ¼¯"
+
+#: src/bar_sort.c:523 src/ui_bookmark.c:601
+#, fuzzy
+msgid "Name:"
+msgstr "Ãû³Æ"
+
+#: src/bar_sort.c:585
+#, fuzzy
+msgid "Sort Manager"
+msgstr "°´Ãû³ÆÅÅÐò"
+
+#: src/bar_sort.c:594 src/pan-view.c:2395 src/ui_pathsel.c:1103
+#, fuzzy
+msgid "Folders"
+msgstr "ƽÆÌ"
+
+#: src/bar_sort.c:595 src/main.c:567
+msgid "Collections"
+msgstr "ͼÏñ¼¯"
+
+#: src/bar_sort.c:603 src/utilops.c:1177
+msgid "Copy"
+msgstr "¸´ÖÆ"
+
+#: src/bar_sort.c:606 src/utilops.c:1191
+msgid "Move"
+msgstr "Òƶ¯"
+
+#: src/bar_sort.c:609
+msgid "Link"
+msgstr ""
+
+#: src/bar_sort.c:615
+#, fuzzy
+msgid "Add image"
+msgstr "%d ͼÏñ"
+
+#: src/bar_sort.c:618
+#, fuzzy
+msgid "Add selection"
+msgstr "Çå³ýËùÓÐÑ¡Ôñ"
+
+#: src/bar_sort.c:631
+msgid "Undo last image"
+msgstr ""
+
+#: src/cache.c:175
+#, fuzzy, c-format
+msgid ""
+"error saving sim cache data: %s\n"
+"error: %s\n"
+msgstr "±£´æÅäÖÃÎļþ³ö´í£º%s\n"
+
+#: src/cache_maint.c:127 src/cache_maint.c:689 src/cache_maint.c:902
+#: src/editors.c:717
+#, fuzzy
+msgid "done"
+msgstr "ÎÞ"
+
+#: src/cache_maint.c:306
+#, fuzzy
+msgid "Removing old metadata..."
+msgstr "ÕýÔÚ¶ÁÈ¡ÏàËÆÐÔÊý¾Ý..."
+
+#: src/cache_maint.c:310
+#, fuzzy
+msgid "Clearing cached thumbnails..."
+msgstr "ÕýÔÚÇå³ýËõÂÔͼ..."
+
+#: src/cache_maint.c:314 src/cache_maint.c:1056
+#, fuzzy
+msgid "Removing old thumbnails..."
+msgstr "ÕýÔÚÇå³ý¾ÉµÄËõÂÔͼ..."
+
+#: src/cache_maint.c:317 src/cache_maint.c:1059
+msgid "Maintenance"
+msgstr ""
+
+#: src/cache_maint.c:800 src/utilops.c:1107
+#, fuzzy
+msgid "Invalid folder"
+msgstr "·Ç·¨ÎļþÃû"
+
+#: src/cache_maint.c:801
+msgid "The specified folder can not be found."
+msgstr ""
+
+#: src/cache_maint.c:829 src/cache_maint.c:843 src/cache_maint.c:1227
+#, fuzzy
+msgid "Create thumbnails"
+msgstr "»º´æËõÂÔͼ"
+
+#: src/cache_maint.c:837 src/cache_maint.c:1066
+#, fuzzy
+msgid "S_tart"
+msgstr "ÈÕÆÚ"
+
+#: src/cache_maint.c:850 src/preferences.c:1407
+#, fuzzy
+msgid "Folder:"
+msgstr "ƽÆÌ"
+
+#: src/cache_maint.c:853
+#, fuzzy
+msgid "Select folder"
+msgstr "Çå³ýËùÓÐÑ¡Ôñ"
+
+#: src/cache_maint.c:857
+#, fuzzy
+msgid "Include subfolders"
+msgstr "·Ç·¨ÎļþÃû"
+
+#: src/cache_maint.c:858
+msgid "Store thumbnails local to source images"
+msgstr ""
+
+#: src/cache_maint.c:867 src/cache_maint.c:1075
+msgid "click start to begin"
+msgstr ""
+
+#: src/cache_maint.c:1005 src/editors.c:647
+#, fuzzy
+msgid "running..."
+msgstr "ÕýÔڱȽÏ..."
+
+#: src/cache_maint.c:1051
+msgid "Clearing thumbnails..."
+msgstr "ÕýÔÚÇå³ýËõÂÔͼ..."
+
+#: src/cache_maint.c:1117 src/cache_maint.c:1120 src/cache_maint.c:1202
+#: src/cache_maint.c:1222
+msgid "Clear cache"
+msgstr "Çå³ý»º³åÇø"
+
+#: src/cache_maint.c:1121
+msgid ""
+"This will remove all thumbnails that have\n"
+"been saved to disk, continue?"
+msgstr ""
+"Õ⽫ɾ³ý±£´æµ½´ÅÅÌÉϵÄ\n"
+"ËùÓÐËõÂÔͼ£¬¼ÌÐø£¿"
+
+#: src/cache_maint.c:1172
+#, fuzzy
+msgid "Cache Maintenance"
+msgstr "ÇóÖú - Geeqie"
+
+#: src/cache_maint.c:1184
+msgid "Cache and Data Maintenance"
+msgstr ""
+
+#: src/cache_maint.c:1188
+#, fuzzy
+msgid "Thumbnail cache"
+msgstr "Geeqie È«ÆÁ"
+
+#: src/cache_maint.c:1190 src/cache_maint.c:1210 src/cache_maint.c:1238
+#: src/pan-view.c:1544 src/pan-view.c:2384 src/preferences.c:1333
+#: src/utilops.c:1747
+#, fuzzy
+msgid "Location:"
+msgstr "ͼÏñ¼¯"
+
+#: src/cache_maint.c:1197 src/cache_maint.c:1217 src/cache_maint.c:1245
+#, fuzzy
+msgid "Clean up"
+msgstr "Çå³ý"
+
+#: src/cache_maint.c:1200 src/cache_maint.c:1220
+msgid "Remove orphaned or outdated thumbnails."
+msgstr ""
+
+#: src/cache_maint.c:1205 src/cache_maint.c:1225
+#, fuzzy
+msgid "Delete all cached thumbnails."
+msgstr "»º´æËõÂÔͼ"
+
+#: src/cache_maint.c:1208
+#, fuzzy
+msgid "Shared thumbnail cache"
+msgstr "»º´æËõÂÔͼ"
+
+#: src/cache_maint.c:1231
+#, fuzzy
+msgid "Render"
+msgstr "ÖØÃüÃû"
+
+#: src/cache_maint.c:1234
+msgid "Render thumbnails for a specific folder."
+msgstr ""
+
+#: src/cache_maint.c:1236
+msgid "Metadata"
+msgstr ""
+
+#: src/cache_maint.c:1248
+msgid "Remove orphaned keywords and comments."
+msgstr ""
+
+#: src/cellrenderericon.c:127
+msgid "Pixbuf Object"
+msgstr ""
+
+#: src/cellrenderericon.c:128
+msgid "The pixbuf to render"
+msgstr ""
+
+#: src/cellrenderericon.c:135 src/print.c:3439
+msgid "Text"
+msgstr ""
+
+#: src/cellrenderericon.c:136
+msgid "Text to render"
+msgstr ""
+
+#: src/cellrenderericon.c:143
+msgid "Background color"
+msgstr ""
+
+#: src/cellrenderericon.c:144
+msgid "Background color as a GdkColor"
+msgstr ""
+
+#: src/cellrenderericon.c:151
+msgid "Foreground color"
+msgstr ""
+
+#: src/cellrenderericon.c:152
+msgid "Foreground color as a GdkColor"
+msgstr ""
+
+#: src/cellrenderericon.c:159
+msgid "Focus"
+msgstr ""
+
+#: src/cellrenderericon.c:160
+msgid "Draw focus indicator"
+msgstr ""
+
+#: src/cellrenderericon.c:167
+msgid "Fixed width"
+msgstr ""
+
+#: src/cellrenderericon.c:168
+msgid "Width of cell"
+msgstr ""
+
+#: src/cellrenderericon.c:176
+msgid "Fixed height"
+msgstr ""
+
+#: src/cellrenderericon.c:177
+msgid "Height of icon excluding text"
+msgstr ""
+
+#: src/cellrenderericon.c:185
+msgid "Background set"
+msgstr ""
+
+#: src/cellrenderericon.c:186
+msgid "Whether this tag affects the background color"
+msgstr ""
+
+#: src/cellrenderericon.c:193
+msgid "Foreground set"
+msgstr ""
+
+#: src/cellrenderericon.c:194
+msgid "Whether this tag affects the foreground color"
+msgstr ""
+
+#: src/cellrenderericon.c:201
+#, fuzzy
+msgid "Show text"
+msgstr "ÏÔʾÒþ²ØÎļþ"
+
+#: src/cellrenderericon.c:202
+msgid "Whether the text is displayed"
+msgstr ""
+
+#: src/collect.c:353 src/image.c:178 src/image-overlay.c:437
+#: src/image-overlay.c:512
+#, c-format
+msgid "Untitled"
+msgstr "ÎÞ±êÌâ"
+
+#: src/collect.c:357
+#, c-format
+msgid "Untitled (%d)"
+msgstr "ÎÞ±êÌâ (%d)"
+
+#: src/collect.c:1002
+#, fuzzy, c-format
+msgid "%s - Collection - %s"
+msgstr "%s - Geeqie ͼÏñ¼¯"
+
+#: src/collect.c:1120 src/collect.c:1124
+msgid "Close collection"
+msgstr "¹Ø±ÕͼÏñ¼¯"
+
+#: src/collect.c:1125
+msgid ""
+"Collection has been modified.\n"
+"Save first?"
+msgstr ""
+"ͼÏñ¼¯ÒÑÐ޸ġ£\n"
+"Ê×Ïȱ£´æËü£¿"
+
+#: src/collect.c:1128
+msgid "_Discard"
+msgstr ""
+
+#: src/collect-dlg.c:59
+#, fuzzy, c-format
+msgid ""
+"Specified path:\n"
+"%s\n"
+"is a folder, collections are files"
+msgstr ""
+"Ö¸¶¨Â·¾¶£º\n"
+"%s\n"
+"ÊǸöĿ¼£¬µ«Í¼Ïñ¼¯ÊÇÎļþ"
+
+#: src/collect-dlg.c:60
+msgid "Invalid filename"
+msgstr "·Ç·¨ÎļþÃû"
+
+#: src/collect-dlg.c:69
+msgid "Overwrite File"
+msgstr "¸²¸ÇÎļþ"
+
+#: src/collect-dlg.c:74
+#, fuzzy
+msgid "Overwrite existing file?"
+msgstr "¸²¸ÇÎļþ"
+
+#: src/collect-dlg.c:76 src/utilops.c:660 src/utilops.c:990 src/utilops.c:1902
+#: src/utilops.c:2622
+#, fuzzy
+msgid "_Overwrite"
+msgstr "¸²¸Ç"
+
+#: src/collect-dlg.c:171
+msgid "Save collection"
+msgstr "±£´æͼÏñ¼¯"
+
+#: src/collect-dlg.c:178
+msgid "Open collection"
+msgstr "´ò¿ªÍ¼Ïñ¼¯"
+
+#: src/collect-dlg.c:186
+msgid "Append collection"
+msgstr "×·¼ÓͼÏñ¼¯"
+
+#: src/collect-dlg.c:187
+#, fuzzy
+msgid "_Append"
+msgstr "×·¼Ó"
+
+#: src/collect-dlg.c:205
+msgid "Collection Files"
+msgstr "ͼÏñ¼¯Îļþ"
+
+#: src/collect-dlg.c:223
+msgid "Collection empty"
+msgstr "ͼÏñ¼¯Îª¿Õ"
+
+#: src/collect-dlg.c:224
+msgid "The current collection is empty, save aborted."
+msgstr "µ±Ç°Í¼Ïñ¼¯Îª¿Õ£¬·ÅÆú±£´æ¡£"
+
+#: src/collect-io.c:343
+#, fuzzy, c-format
+msgid "failed to open collection (write) \"%s\"\n"
+msgstr ""
+"±£´æͼÏñ¼¯Ê§°Ü£º\n"
+"%s"
+
+#: src/collect-io.c:368
+#, fuzzy, c-format
+msgid ""
+"error saving collection file: %s\n"
+"error: %s\n"
+msgstr "±£´æÅäÖÃÎļþ³ö´í£º%s\n"
+
+#: src/collect-table.c:167 src/layout.c:377 src/layout_util.c:965
+msgid "Empty"
+msgstr "¿Õ"
+
+#: src/collect-table.c:171
+#, c-format
+msgid "%d images (%d)"
+msgstr "%d ͼÏñ (%d)"
+
+#: src/collect-table.c:175
+#, c-format
+msgid "%d images"
+msgstr "%d ͼÏñ"
+
+#: src/collect-table.c:189 src/dupe.c:1328 src/search.c:304
+#: src/view_file_icon.c:1779 src/view_file_icon.c:1895
+#: src/view_file_list.c:915 src/view_file_list.c:1031
+msgid "Loading thumbs..."
+msgstr "ÕýÔÚ×°ÈëËõÂÔͼ..."
+
+#: src/collect-table.c:776 src/dupe.c:2239 src/dupe.c:2554
+#: src/layout_util.c:1042 src/search.c:983
+#, fuzzy
+msgid "_View"
+msgstr "/²é¿´(_V)"
+
+#: src/collect-table.c:778 src/dupe.c:2241 src/dupe.c:2556 src/img-view.c:1282
+#: src/layout_image.c:759 src/pan-view.c:2814 src/search.c:985
+#: src/view_file.c:564
+#, fuzzy
+msgid "View in _new window"
+msgstr "ÔÚд°¿ÚÖв鿴"
+
+#: src/collect-table.c:781 src/dupe.c:2274 src/dupe.c:2564 src/search.c:1014
+#, fuzzy
+msgid "Rem_ove"
+msgstr "ɾ³ý"
+
+#: src/collect-table.c:784
+msgid "Append from file list"
+msgstr "´ÓÎļþÁбíÖÐ×·¼Ó"
+
+#: src/collect-table.c:786
+msgid "Append from collection..."
+msgstr "´ÓͼÏñ¼¯ÖÐ×·¼Ó..."
+
+#: src/collect-table.c:789 src/dupe.c:2244 src/dupe.c:2559 src/search.c:988
+msgid "Select all"
+msgstr "È«Ñ¡"
+
+#: src/collect-table.c:791 src/dupe.c:2246 src/dupe.c:2561 src/search.c:990
+msgid "Select none"
+msgstr "Çå³ýËùÓÐÑ¡Ôñ"
+
+#: src/collect-table.c:799 src/dupe.c:2255 src/img-view.c:1280
+#: src/layout_image.c:756 src/layout_util.c:1096 src/pan-view.c:2811
+#: src/search.c:995 src/view_file.c:562
+#, fuzzy
+msgid "_Properties"
+msgstr "/±à¼­/Ñ¡Ïî(_O)..."
+
+#: src/collect-table.c:802 src/dupe.c:2262 src/img-view.c:1286
+#: src/layout_image.c:767 src/layout_util.c:1067 src/pan-view.c:2818
+#: src/search.c:1002 src/view_file.c:568
+#, fuzzy
+msgid "_Copy..."
+msgstr "¸´ÖÆ..."
+
+#: src/collect-table.c:804 src/dupe.c:2264 src/img-view.c:1287
+#: src/layout_image.c:769 src/layout_util.c:1068 src/pan-view.c:2820
+#: src/search.c:1004 src/view_file.c:570
+#, fuzzy
+msgid "_Move..."
+msgstr "Òƶ¯..."
+
+#: src/collect-table.c:806 src/dupe.c:2266 src/img-view.c:1288
+#: src/layout_image.c:771 src/layout_util.c:1069 src/pan-view.c:2822
+#: src/search.c:1006 src/view_dir.c:608 src/view_file.c:572
+#, fuzzy
+msgid "_Rename..."
+msgstr "ÖØÃüÃû..."
+
+#: src/collect-table.c:808 src/dupe.c:2268 src/img-view.c:1289
+#: src/layout_image.c:773 src/layout_util.c:1070 src/layout_util.c:1071
+#: src/layout_util.c:1072 src/pan-view.c:2824 src/search.c:1008
+#: src/view_dir.c:610 src/view_file.c:574
+#, fuzzy
+msgid "_Delete..."
+msgstr "ɾ³ý..."
+
+#: src/collect-table.c:811 src/dupe.c:2271 src/img-view.c:1291
+#: src/layout_image.c:778 src/layout_util.c:1073 src/pan-view.c:2827
+#: src/search.c:1011 src/view_dir.c:614 src/view_file.c:577
+#, fuzzy
+msgid "_Copy path"
+msgstr "¸´ÖÆ"
+
+#: src/collect-table.c:816 src/view_file.c:601
+#, fuzzy
+msgid "Show filename _text"
+msgstr "ÏÔʾÒþ²ØÎļþ"
+
+#: src/collect-table.c:819
+#, fuzzy
+msgid "_Save collection"
+msgstr "±£´æͼÏñ¼¯"
+
+#: src/collect-table.c:821
+#, fuzzy
+msgid "Save collection _as..."
+msgstr "½«Í¼Ïñ¼¯Áí´æΪ..."
+
+#: src/collect-table.c:824 src/layout_util.c:1063
+#, fuzzy
+msgid "_Find duplicates..."
+msgstr "Ñ°ÕÒ¸±±¾..."
+
+#: src/collect-table.c:826 src/dupe.c:2259 src/search.c:999
+#, fuzzy
+msgid "Print..."
+msgstr "/Îļþ/ÖØÃüÃû(_R)..."
+
+#: src/collect-table.c:1978 src/dupe.c:3355 src/img-view.c:1445
+#, fuzzy
+msgid "Dropped list includes folders."
+msgstr "ÍÏ·ÅÁÐ±íº¬ÓÐĿ¼¡£"
+
+#: src/collect-table.c:1980 src/dupe.c:3357 src/img-view.c:1447
+#, fuzzy
+msgid "_Add contents"
+msgstr "Ìí¼ÓÄÚÈÝ"
+
+#: src/collect-table.c:1982 src/dupe.c:3358 src/img-view.c:1448
+#, fuzzy
+msgid "Add contents _recursive"
+msgstr "µÝ¹éÌí¼ÓÄÚÈÝ"
+
+#: src/collect-table.c:1984 src/dupe.c:3359 src/img-view.c:1449
+#, fuzzy
+msgid "_Skip folders"
+msgstr "ºöÂÔĿ¼"
+
+#: src/collect-table.c:1987 src/dupe.c:3361 src/img-view.c:1451
+#: src/view_dir.c:343
+msgid "Cancel"
+msgstr "È¡Ïû"
+
+#: src/dupe.c:99
+msgid "Drop files to compare them."
+msgstr "ÍÏ·ÅÎļþÒԱȽÏËüÃÇ¡£"
+
+#: src/dupe.c:103
+#, c-format
+msgid "%d files"
+msgstr "%d Îļþ"
+
+#: src/dupe.c:107
+#, c-format
+msgid "%d matches found in %d files"
+msgstr "ÔÚ %2$d ¸öÎļþÖÐÕÒµ½ %1$d ¸öÆ¥Åä"
+
+#: src/dupe.c:112
+msgid "[set 1]"
+msgstr ""
+
+#: src/dupe.c:1454
+msgid "Reading checksums..."
+msgstr "ÕýÔÚ¶ÁȡУÑéºÍ..."
+
+#: src/dupe.c:1487
+msgid "Reading dimensions..."
+msgstr "ÕýÔÚ¶ÁÈ¡³ß´ç..."
+
+#: src/dupe.c:1521
+msgid "Reading similarity data..."
+msgstr "ÕýÔÚ¶ÁÈ¡ÏàËÆÐÔÊý¾Ý..."
+
+#: src/dupe.c:1556 src/dupe.c:1587
+msgid "Comparing..."
+msgstr "ÕýÔڱȽÏ..."
+
+#: src/dupe.c:1567 src/pan-view.c:1093
+#, fuzzy
+msgid "Sorting..."
+msgstr "ÕýÔڱȽÏ..."
+
+#: src/dupe.c:2248
+msgid "Select group _1 duplicates"
+msgstr ""
+
+#: src/dupe.c:2250
+msgid "Select group _2 duplicates"
+msgstr ""
+
+#: src/dupe.c:2257 src/search.c:997
+msgid "Add to new collection"
+msgstr "Ìí¼Óµ½ÐÂͼÏñ¼¯"
+
+#: src/dupe.c:2276 src/dupe.c:2566 src/search.c:1016
+#, fuzzy
+msgid "C_lear"
+msgstr "Çå³ý"
+
+#: src/dupe.c:2279 src/dupe.c:2569
+#, fuzzy
+msgid "Close _window"
+msgstr "¹Ø±Õ´°¿Ú"
+
+#: src/dupe.c:2439
+#, fuzzy, c-format
+msgid "%d files (set 2)"
+msgstr "%d Îļþ%s"
+
+#: src/dupe.c:2647
+msgid "Name case-insensitive"
+msgstr ""
+
+#: src/dupe.c:2648 src/dupe.c:3168 src/preferences.c:1026 src/print.c:3238
+#: src/search.c:2761 src/view_file_list.c:1823
+msgid "Size"
+msgstr "´óС"
+
+#: src/dupe.c:2649 src/dupe.c:3169 src/exif.c:339 src/exif-common.c:442
+#: src/print.c:3236 src/search.c:2762 src/view_file_list.c:1824
+msgid "Date"
+msgstr "ÈÕÆÚ"
+
+#: src/dupe.c:2650 src/dupe.c:3170 src/print.c:3240 src/search.c:2763
+msgid "Dimensions"
+msgstr "³ß´ç"
+
+#: src/dupe.c:2651
+msgid "Checksum"
+msgstr "УÑéºÍ"
+
+#: src/dupe.c:2652 src/dupe.c:3171 src/print.c:3234 src/search.c:2764
+#: src/ui_pathsel.c:1115
+msgid "Path"
+msgstr "·¾¶"
+
+#: src/dupe.c:2653
+msgid "Similarity (high)"
+msgstr "ÏàËÆÐÔ (¸ß)"
+
+#: src/dupe.c:2654
+msgid "Similarity"
+msgstr "ÏàËÆÐÔ"
+
+#: src/dupe.c:2655
+msgid "Similarity (low)"
+msgstr "ÏàËÆÐÔ (µÍ)"
+
+#: src/dupe.c:2656
+#, fuzzy
+msgid "Similarity (custom)"
+msgstr "ÏàËÆÐÔ (µÍ)"
+
+#: src/dupe.c:3121
+#, fuzzy
+msgid "Find duplicates"
+msgstr "Ñ°ÕÒ¸±±¾..."
+
+#: src/dupe.c:3203
+msgid "Compare to:"
+msgstr "ÓëÖ®±È½Ï£º"
+
+#: src/dupe.c:3216
+msgid "Compare by:"
+msgstr "ÒÀ´Ë±È½Ï£º"
+
+#: src/dupe.c:3224 src/preferences.c:884 src/search.c:2777
+msgid "Thumbnails"
+msgstr "ËõÂÔͼ"
+
+#: src/dupe.c:3231
+msgid "Compare two file sets"
+msgstr "±È½ÏÁ½¸öÎļþ¼¯"
+
+#: src/editors.c:61
+msgid "The Gimp"
+msgstr "Gimp"
+
+#: src/editors.c:62
+msgid "XV"
+msgstr "XV"
+
+#: src/editors.c:63
+msgid "Xpaint"
+msgstr "Xpaint"
+
+#: src/editors.c:64
+msgid "UFraw"
+msgstr ""
+
+#: src/editors.c:65
+msgid "Add XMP sidecar"
+msgstr ""
+
+#: src/editors.c:69
+#, fuzzy
+msgid "Rotate jpeg clockwise"
+msgstr "˳ʱÕëÐýת"
+
+#: src/editors.c:70
+#, fuzzy
+msgid "Rotate jpeg counterclockwise"
+msgstr "ÄæʱÕëÐýת"
+
+#. for testing
+#: src/editors.c:74 src/editors.c:80
+msgid "External Copy command"
+msgstr ""
+
+#: src/editors.c:75 src/editors.c:81
+msgid "External Move command"
+msgstr ""
+
+#: src/editors.c:76 src/editors.c:82
+msgid "External Rename command"
+msgstr ""
+
+#: src/editors.c:77 src/editors.c:83
+#, fuzzy
+msgid "External Delete command"
+msgstr "ÆôÓÃɾ³ý¼ü"
+
+#: src/editors.c:78 src/editors.c:84
+msgid "External New Folder command"
+msgstr ""
+
+#: src/editors.c:140
+#, fuzzy
+msgid "stopping..."
+msgstr "ÕýÔڱȽÏ..."
+
+#: src/editors.c:161
+msgid "Edit command results"
+msgstr ""
+
+#: src/editors.c:164
+#, c-format
+msgid "Output of %s"
+msgstr ""
+
+#: src/editors.c:603
+#, fuzzy, c-format
+msgid ""
+"Failed to run command:\n"
+"%s\n"
+msgstr ""
+"ÎÞ·¨×°È룺\n"
+"%s"
+
+#: src/editors.c:721
+#, fuzzy
+msgid "stopped by user"
+msgstr "°´±àºÅÅÅÐò"
+
+#: src/editors.c:836
+msgid "Editor template is empty."
+msgstr ""
+
+#: src/editors.c:837
+msgid "Editor template has incorrect syntax."
+msgstr ""
+
+#: src/editors.c:838
+msgid "Editor template uses incompatible macros."
+msgstr ""
+
+#: src/editors.c:839
+msgid "Can't find matching file type."
+msgstr ""
+
+#: src/editors.c:840
+msgid "Can't execute external editor."
+msgstr ""
+
+#: src/editors.c:841
+msgid "External editor returned error status."
+msgstr ""
+
+#: src/editors.c:842
+msgid "File was skipped."
+msgstr ""
+
+#: src/editors.c:843
+msgid "Unknown error."
+msgstr ""
+
+#: src/exif.c:145 src/exif.c:158 src/exif.c:172 src/exif.c:197 src/exif.c:314
+#: src/exif.c:625 src/exif-common.c:308 src/exif-common.c:311
+#: src/exif-common.c:378
+#, fuzzy
+msgid "unknown"
+msgstr "ÔÚ (δ֪)..."
+
+#: src/exif.c:146
+#, fuzzy
+msgid "top left"
+msgstr "ɾ³ý"
+
+#: src/exif.c:147
+msgid "top right"
+msgstr ""
+
+#: src/exif.c:148
+msgid "bottom right"
+msgstr ""
+
+#: src/exif.c:149
+msgid "bottom left"
+msgstr ""
+
+#: src/exif.c:150
+#, fuzzy
+msgid "left top"
+msgstr "ɾ³ý"
+
+#: src/exif.c:151
+msgid "right top"
+msgstr ""
+
+#: src/exif.c:152
+msgid "right bottom"
+msgstr ""
+
+#: src/exif.c:153
+msgid "left bottom"
+msgstr ""
+
+#: src/exif.c:160
+msgid "inch"
+msgstr ""
+
+#: src/exif.c:161
+msgid "centimeter"
+msgstr ""
+
+#: src/exif.c:173
+msgid "average"
+msgstr ""
+
+#: src/exif.c:174
+msgid "center weighted"
+msgstr ""
+
+#: src/exif.c:175
+msgid "spot"
+msgstr ""
+
+#: src/exif.c:176
+msgid "multi-spot"
+msgstr ""
+
+#: src/exif.c:177
+msgid "multi-segment"
+msgstr ""
+
+#: src/exif.c:178
+msgid "partial"
+msgstr ""
+
+#: src/exif.c:179 src/exif.c:217
+msgid "other"
+msgstr ""
+
+#: src/exif.c:184 src/exif.c:236
+msgid "not defined"
+msgstr ""
+
+#: src/exif.c:185 src/exif.c:264 src/exif.c:271
+msgid "manual"
+msgstr ""
+
+#: src/exif.c:186 src/exif.c:257 src/exif.c:293 src/exif.c:300 src/exif.c:307
+#, fuzzy
+msgid "normal"
+msgstr "ÆÕͨ"
+
+#: src/exif.c:187
+msgid "aperture"
+msgstr ""
+
+#: src/exif.c:188
+msgid "shutter"
+msgstr ""
+
+#: src/exif.c:189
+#, fuzzy
+msgid "creative"
+msgstr "´´½¨"
+
+#: src/exif.c:190
+msgid "action"
+msgstr ""
+
+#: src/exif.c:191 src/exif.c:278
+msgid "portrait"
+msgstr ""
+
+#: src/exif.c:192 src/exif.c:277
+msgid "landscape"
+msgstr ""
+
+#: src/exif.c:198
+msgid "daylight"
+msgstr ""
+
+#: src/exif.c:199
+msgid "fluorescent"
+msgstr ""
+
+#: src/exif.c:200
+msgid "tungsten (incandescent)"
+msgstr ""
+
+#: src/exif.c:201
+msgid "flash"
+msgstr ""
+
+#: src/exif.c:202
+msgid "fine weather"
+msgstr ""
+
+#: src/exif.c:203
+msgid "cloudy weather"
+msgstr ""
+
+#: src/exif.c:204
+msgid "shade"
+msgstr ""
+
+#: src/exif.c:205
+msgid "daylight fluorescent"
+msgstr ""
+
+#: src/exif.c:206
+msgid "day white fluorescent"
+msgstr ""
+
+#: src/exif.c:207
+msgid "cool white fluorescent"
+msgstr ""
+
+#: src/exif.c:208
+msgid "white fluorescent"
+msgstr ""
+
+#: src/exif.c:209
+msgid "standard light A"
+msgstr ""
+
+#: src/exif.c:210
+msgid "standard light B"
+msgstr ""
+
+#: src/exif.c:211
+msgid "standard light C"
+msgstr ""
+
+#: src/exif.c:212
+msgid "D55"
+msgstr ""
+
+#: src/exif.c:213
+msgid "D65"
+msgstr ""
+
+#: src/exif.c:214
+msgid "D75"
+msgstr ""
+
+#: src/exif.c:215
+msgid "D50"
+msgstr ""
+
+#: src/exif.c:216
+msgid "ISO studio tungsten"
+msgstr ""
+
+#: src/exif.c:222 src/exif-common.c:332 src/info.c:257
+msgid "no"
+msgstr ""
+
+#. flash fired (bit 0)
+#: src/exif.c:223 src/exif-common.c:332 src/info.c:257
+#, fuzzy
+msgid "yes"
+msgstr "ÊÇ"
+
+#: src/exif.c:224
+msgid "yes, not detected by strobe"
+msgstr ""
+
+#: src/exif.c:225
+msgid "yes, detected by strobe"
+msgstr ""
+
+#: src/exif.c:230 src/exif-common.c:403 src/layout.c:422
+msgid "sRGB"
+msgstr ""
+
+#: src/exif.c:231
+msgid "uncalibrated"
+msgstr ""
+
+#: src/exif.c:237
+msgid "1 chip color area"
+msgstr ""
+
+#: src/exif.c:238
+msgid "2 chip color area"
+msgstr ""
+
+#: src/exif.c:239
+msgid "3 chip color area"
+msgstr ""
+
+#: src/exif.c:240
+msgid "color sequential area"
+msgstr ""
+
+#: src/exif.c:241
+#, fuzzy
+msgid "trilinear"
+msgstr "Ë«ÏßÐÔ"
+
+#: src/exif.c:242
+msgid "color sequential linear"
+msgstr ""
+
+#: src/exif.c:247
+msgid "digital still camera"
+msgstr ""
+
+#: src/exif.c:252
+msgid "direct photo"
+msgstr ""
+
+#: src/exif.c:258
+msgid "custom"
+msgstr ""
+
+#: src/exif.c:263 src/exif.c:270 src/exif-common.c:346
+msgid "auto"
+msgstr ""
+
+#: src/exif.c:265
+#, fuzzy
+msgid "auto bracket"
+msgstr "²Ëµ¥Ãû"
+
+#: src/exif.c:276
+#, fuzzy
+msgid "standard"
+msgstr "Çå³ý"
+
+#: src/exif.c:279
+msgid "night scene"
+msgstr ""
+
+#: src/exif.c:284
+#, fuzzy
+msgid "none"
+msgstr "ÎÞ"
+
+#: src/exif.c:285
+#, fuzzy
+msgid "low gain up"
+msgstr "Çå³ý"
+
+#: src/exif.c:286
+msgid "high gain up"
+msgstr ""
+
+#: src/exif.c:287
+#, fuzzy
+msgid "low gain down"
+msgstr "¹Ø±Õ´°¿Ú"
+
+#: src/exif.c:288
+msgid "high gain down"
+msgstr ""
+
+#: src/exif.c:294 src/exif.c:308
+msgid "soft"
+msgstr ""
+
+#: src/exif.c:295 src/exif.c:309
+msgid "hard"
+msgstr ""
+
+#: src/exif.c:301
+msgid "low"
+msgstr ""
+
+#: src/exif.c:302
+msgid "high"
+msgstr ""
+
+#: src/exif.c:315
+msgid "macro"
+msgstr ""
+
+#: src/exif.c:316
+#, fuzzy
+msgid "close"
+msgstr "¹Ø±Õ"
+
+#: src/exif.c:317
+msgid "distant"
+msgstr ""
+
+#: src/exif.c:327
+#, fuzzy
+msgid "Image Width"
+msgstr "ͼÏñ"
+
+#: src/exif.c:328
+#, fuzzy
+msgid "Image Height"
+msgstr "ÎÞЧµÄÄ¿±ê"
+
+#: src/exif.c:329
+msgid "Bits per Sample/Pixel"
+msgstr ""
+
+#: src/exif.c:330
+#, fuzzy
+msgid "Compression"
+msgstr "ÓëÖ®±È½Ï£º"
+
+#: src/exif.c:331
+#, fuzzy
+msgid "Image description"
+msgstr "ÎÞЧµÄÄ¿±ê"
+
+#: src/exif.c:332
+msgid "Camera make"
+msgstr ""
+
+#: src/exif.c:333
+msgid "Camera model"
+msgstr ""
+
+#: src/exif.c:334
+#, fuzzy
+msgid "Orientation"
+msgstr "³ß´ç"
+
+#: src/exif.c:335
+msgid "X resolution"
+msgstr ""
+
+#: src/exif.c:336
+msgid "Y Resolution"
+msgstr ""
+
+#: src/exif.c:337
+#, fuzzy
+msgid "Resolution units"
+msgstr "ͼÏñ¼¯Îª¿Õ"
+
+#: src/exif.c:338
+msgid "Firmware"
+msgstr ""
+
+#: src/exif.c:340
+msgid "White point"
+msgstr ""
+
+#: src/exif.c:341
+msgid "Primary chromaticities"
+msgstr ""
+
+#: src/exif.c:342
+msgid "YCbCy coefficients"
+msgstr ""
+
+#: src/exif.c:343
+msgid "YCbCr positioning"
+msgstr ""
+
+#: src/exif.c:344
+#, fuzzy
+msgid "Black white reference"
+msgstr "Geeqie - ÖØÃüÃû"
+
+#: src/exif.c:345
+#, fuzzy
+msgid "Copyright"
+msgstr "¸´ÖÆ"
+
+#: src/exif.c:346
+msgid "SubIFD Exif offset"
+msgstr ""
+
+#. subIFD follows
+#: src/exif.c:348
+msgid "Exposure time (seconds)"
+msgstr ""
+
+#: src/exif.c:349
+msgid "FNumber"
+msgstr ""
+
+#: src/exif.c:350
+msgid "Exposure program"
+msgstr ""
+
+#: src/exif.c:351
+msgid "Spectral Sensitivity"
+msgstr ""
+
+#: src/exif.c:352 src/exif.c:388 src/exif-common.c:446
+msgid "ISO sensitivity"
+msgstr ""
+
+#: src/exif.c:353
+msgid "Optoelectric conversion factor"
+msgstr ""
+
+#: src/exif.c:354
+msgid "Exif version"
+msgstr ""
+
+#: src/exif.c:355
+msgid "Date original"
+msgstr ""
+
+#: src/exif.c:356
+msgid "Date digitized"
+msgstr ""
+
+#: src/exif.c:357
+#, fuzzy
+msgid "Pixel format"
+msgstr "¹ýÂËÆ÷£º"
+
+#: src/exif.c:358
+#, fuzzy
+msgid "Compression ratio"
+msgstr "ÓëÖ®±È½Ï£º"
+
+#: src/exif.c:359 src/exif-common.c:443
+msgid "Shutter speed"
+msgstr ""
+
+#: src/exif.c:360 src/exif-common.c:444
+msgid "Aperture"
+msgstr ""
+
+#: src/exif.c:361
+msgid "Brightness"
+msgstr ""
+
+#: src/exif.c:362 src/exif-common.c:445
+msgid "Exposure bias"
+msgstr ""
+
+#: src/exif.c:363
+#, fuzzy
+msgid "Maximum aperture"
+msgstr "ƽÆÌ"
+
+#: src/exif.c:364 src/exif-common.c:449
+msgid "Subject distance"
+msgstr ""
+
+#: src/exif.c:365
+#, fuzzy
+msgid "Metering mode"
+msgstr "¶¶¶¯·½·¨£º"
+
+#: src/exif.c:366
+msgid "Light source"
+msgstr ""
+
+#: src/exif.c:367 src/exif-common.c:450
+msgid "Flash"
+msgstr ""
+
+#: src/exif.c:368 src/exif-common.c:447
+msgid "Focal length"
+msgstr ""
+
+#: src/exif.c:369
+msgid "Subject area"
+msgstr ""
+
+#: src/exif.c:370
+msgid "MakerNote"
+msgstr ""
+
+#: src/exif.c:371
+#, fuzzy
+msgid "UserComment"
+msgstr "ÓëÖ®±È½Ï£º"
+
+#: src/exif.c:372
+msgid "Subsecond time"
+msgstr ""
+
+#: src/exif.c:373
+msgid "Subsecond time original"
+msgstr ""
+
+#: src/exif.c:374
+msgid "Subsecond time digitized"
+msgstr ""
+
+#: src/exif.c:375
+msgid "FlashPix version"
+msgstr ""
+
+#: src/exif.c:376
+#, fuzzy
+msgid "Colorspace"
+msgstr "¹Ø±Õ"
+
+#. ExifImageWidth, ExifImageHeight can also be unsigned short
+#: src/exif.c:378
+msgid "Width"
+msgstr ""
+
+#: src/exif.c:379
+msgid "Height"
+msgstr ""
+
+#: src/exif.c:380
+#, fuzzy
+msgid "Audio data"
+msgstr "/²é¿´/¸üÐÂÁбí(_R)"
+
+#: src/exif.c:381
+msgid "ExifR98 extension"
+msgstr ""
+
+#: src/exif.c:382
+msgid "Flash strength"
+msgstr ""
+
+#: src/exif.c:383
+msgid "Spatial frequency response"
+msgstr ""
+
+#: src/exif.c:384
+msgid "X Pixel density"
+msgstr ""
+
+#: src/exif.c:385
+msgid "Y Pixel density"
+msgstr ""
+
+#: src/exif.c:386
+msgid "Pixel density units"
+msgstr ""
+
+#: src/exif.c:387
+#, fuzzy
+msgid "Subject location"
+msgstr "Çå³ýËùÓÐÑ¡Ôñ"
+
+#: src/exif.c:389
+#, fuzzy
+msgid "Sensor type"
+msgstr "δÅÅÐò"
+
+#: src/exif.c:390
+#, fuzzy
+msgid "Source type"
+msgstr "ÅÅÐò"
+
+#: src/exif.c:391
+#, fuzzy
+msgid "Scene type"
+msgstr "¹ýÂËÆ÷£º"
+
+#: src/exif.c:392
+msgid "Color filter array pattern"
+msgstr ""
+
+#. tags a4xx were added for Exif 2.2 (not just these - some above, as well)
+#: src/exif.c:394
+#, fuzzy
+msgid "Render process"
+msgstr "ÖØÃüÃû"
+
+#: src/exif.c:395
+msgid "Exposure mode"
+msgstr ""
+
+#: src/exif.c:396
+msgid "White balance"
+msgstr ""
+
+#: src/exif.c:397
+msgid "Digital zoom ratio"
+msgstr ""
+
+#: src/exif.c:398
+msgid "Focal length (35mm)"
+msgstr ""
+
+#: src/exif.c:399
+msgid "Scene capture type"
+msgstr ""
+
+#: src/exif.c:400
+#, fuzzy
+msgid "Gain control"
+msgstr "¸¡¶¯¿ØÖÆ"
+
+#: src/exif.c:401
+#, fuzzy
+msgid "Contrast"
+msgstr "¼ÌÐø"
+
+#: src/exif.c:402
+msgid "Saturation"
+msgstr ""
+
+#: src/exif.c:403
+msgid "Sharpness"
+msgstr ""
+
+#: src/exif.c:404
+msgid "Device setting"
+msgstr ""
+
+#: src/exif.c:405
+msgid "Subject range"
+msgstr ""
+
+#: src/exif.c:406
+#, fuzzy
+msgid "Image serial number"
+msgstr "ͼÏñ"
+
+#: src/exif-common.c:307
+msgid "infinity"
+msgstr ""
+
+#: src/exif-common.c:336
+#, fuzzy
+msgid "mode:"
+msgstr "ƽÆÌ"
+
+#: src/exif-common.c:340 src/trash.c:193
+#, fuzzy
+msgid "on"
+msgstr "ÎÞ"
+
+#: src/exif-common.c:343 src/trash.c:198
+msgid "off"
+msgstr ""
+
+#: src/exif-common.c:352
+msgid "not detected by strobe"
+msgstr ""
+
+#: src/exif-common.c:353
+msgid "detected by strobe"
+msgstr ""
+
+#. we ignore flash function (bit 5)
+#. red-eye (bit 6)
+#: src/exif-common.c:358
+msgid "red-eye reduction"
+msgstr ""
+
+#: src/exif-common.c:378
+msgid "dot"
+msgstr ""
+
+#: src/exif-common.c:408
+msgid "AdobeRGB"
+msgstr ""
+
+#: src/exif-common.c:416
+msgid "embedded"
+msgstr ""
+
+#: src/exif-common.c:441
+#, fuzzy
+msgid "Camera"
+msgstr "Ãû³Æ"
+
+#: src/exif-common.c:448
+msgid "Focal length 35mm"
+msgstr ""
+
+#: src/exif-common.c:451
+#, fuzzy
+msgid "Resolution"
+msgstr "ͼÏñ¼¯Îª¿Õ"
+
+#: src/exif-common.c:452
+#, fuzzy
+msgid "Color profile"
+msgstr "ËùÓÐÎļþ"
+
+#: src/filedata.c:86
+#, fuzzy, c-format
+msgid "%d bytes"
+msgstr "%d Îļþ"
+
+#: src/filedata.c:90
+#, c-format
+msgid "%.1f K"
+msgstr ""
+
+#: src/filedata.c:94
+#, c-format
+msgid "%.1f MB"
+msgstr ""
+
+#: src/filedata.c:99
+#, c-format
+msgid "%.1f GB"
+msgstr ""
+
+#: src/fullscreen.c:243 src/preferences.c:1329
+#, fuzzy
+msgid "Full screen"
+msgstr "È«ÆÁ"
+
+#: src/fullscreen.c:395
+#, fuzzy
+msgid "Full size"
+msgstr "ƽÆÌ"
+
+#: src/fullscreen.c:400
+msgid "Monitor"
+msgstr ""
+
+#: src/fullscreen.c:405 src/layout.c:455
+msgid "Screen"
+msgstr ""
+
+#: src/fullscreen.c:642
+#, fuzzy
+msgid "Stay above other windows"
+msgstr "½«Í¼ÏñÌîÂú´°¿Ú"
+
+#: src/fullscreen.c:649
+msgid "Determined by Window Manager"
+msgstr ""
+
+#: src/fullscreen.c:650
+msgid "Active screen"
+msgstr ""
+
+#: src/fullscreen.c:652
+msgid "Active monitor"
+msgstr ""
+
+#: src/histogram.c:86
+msgid "logarithmical histogram on red"
+msgstr ""
+
+#: src/histogram.c:87
+msgid "logarithmical histogram on green"
+msgstr ""
+
+#: src/histogram.c:88
+msgid "logarithmical histogram on blue"
+msgstr ""
+
+#: src/histogram.c:89
+msgid "logarithmical histogram on value"
+msgstr ""
+
+#: src/histogram.c:90
+msgid "logarithmical histogram on RGB"
+msgstr ""
+
+#: src/histogram.c:91
+msgid "logarithmical histogram on max value"
+msgstr ""
+
+#: src/histogram.c:96
+msgid "linear histogram on red"
+msgstr ""
+
+#: src/histogram.c:97
+msgid "linear histogram on green"
+msgstr ""
+
+#: src/histogram.c:98
+msgid "linear histogram on blue"
+msgstr ""
+
+#: src/histogram.c:99
+msgid "linear histogram on value"
+msgstr ""
+
+#: src/histogram.c:100
+msgid "linear histogram on RGB"
+msgstr ""
+
+#: src/histogram.c:101
+msgid "linear histogram on max value"
+msgstr ""
+
+#: src/img-view.c:1268 src/layout_image.c:743 src/layout_util.c:1105
+#: src/layout_util.c:1106 src/layout_util.c:1107 src/pan-view.c:2800
+#, fuzzy
+msgid "Zoom _in"
+msgstr "·Å´ó"
+
+#: src/img-view.c:1269 src/layout_image.c:744 src/layout_util.c:1108
+#: src/layout_util.c:1109 src/pan-view.c:2802
+#, fuzzy
+msgid "Zoom _out"
+msgstr "ËõС"
+
+#: src/img-view.c:1270 src/layout_image.c:745 src/layout_util.c:1110
+#: src/layout_util.c:1111 src/pan-view.c:2804
+#, fuzzy
+msgid "Zoom _1:1"
+msgstr "Ëõ·Åµ½ 1:1"
+
+#: src/img-view.c:1271 src/layout_image.c:746
+#, fuzzy
+msgid "Fit image to _window"
+msgstr "½«Í¼ÏñÌîÂú´°¿Ú"
+
+#: src/img-view.c:1276 src/layout_image.c:752 src/layout_util.c:1103
+#, fuzzy
+msgid "Set as _wallpaper"
+msgstr "ÉèÖÃΪǽֽ"
+
+#: src/img-view.c:1283 src/layout_image.c:762
+msgid "_Go to directory view"
+msgstr ""
+
+#: src/img-view.c:1297 src/layout_image.c:786
+#, fuzzy
+msgid "_Stop slideshow"
+msgstr "Í£Ö¹²¥·Å»ÃµÆƬ"
+
+#: src/img-view.c:1300 src/layout_image.c:789
+#, fuzzy
+msgid "Continue slides_how"
+msgstr "¼ÌÐø²¥·Å»ÃµÆƬ"
+
+#: src/img-view.c:1305 src/img-view.c:1313 src/layout_image.c:794
+#: src/layout_image.c:801
+#, fuzzy
+msgid "Pause slides_how"
+msgstr "ÔÝÍ£²¥·Å»ÃµÆƬ"
+
+#: src/img-view.c:1311 src/layout_image.c:800
+#, fuzzy
+msgid "_Start slideshow"
+msgstr "¿ªÊ¼²¥·Å»ÃµÆƬ"
+
+#: src/img-view.c:1319 src/layout_image.c:811 src/pan-view.c:2873
+#, fuzzy
+msgid "Exit _full screen"
+msgstr "Í˳öÈ«ÆÁ"
+
+#: src/img-view.c:1323 src/layout_image.c:807 src/pan-view.c:2877
+#, fuzzy
+msgid "_Full screen"
+msgstr "È«ÆÁ"
+
+#: src/img-view.c:1327 src/layout_util.c:1074 src/pan-view.c:2881
+#, fuzzy
+msgid "C_lose window"
+msgstr "¹Ø±Õ´°¿Ú"
+
+#: src/info.c:392
+#, fuzzy
+msgid "File size:"
+msgstr "ƽÆÌ"
+
+#: src/info.c:394
+#, fuzzy
+msgid "Dimensions:"
+msgstr "³ß´ç"
+
+#: src/info.c:395
+msgid "Transparent:"
+msgstr ""
+
+#: src/info.c:396 src/print.c:3419
+#, fuzzy
+msgid "Image size:"
+msgstr "ͼÏñ"
+
+#: src/info.c:398
+#, fuzzy
+msgid "Compress ratio:"
+msgstr "ÓëÖ®±È½Ï£º"
+
+#: src/info.c:399
+#, fuzzy
+msgid "File type:"
+msgstr "¹ýÂËÆ÷£º"
+
+#: src/info.c:401
+msgid "Owner:"
+msgstr ""
+
+#: src/info.c:402
+msgid "Group:"
+msgstr ""
+
+#: src/info.c:405 src/preferences.c:858
+msgid "General"
+msgstr "³£¹æ"
+
+#: src/info.c:531
+#, c-format
+msgid "Image %d of %d"
+msgstr ""
+
+#: src/info.c:778
+#, fuzzy
+msgid "Image properties"
+msgstr "ÎÞЧµÄÄ¿±ê"
+
+#: src/layout.c:282 src/view_file.c:585
+msgid "Ascending"
+msgstr "ÉýÐò"
+
+#: src/layout.c:384
+#, c-format
+msgid "This installation of %s was not built with support for color profiles."
+msgstr ""
+
+#: src/layout.c:385
+msgid "Color profiles not supported"
+msgstr ""
+
+#: src/layout.c:410
+msgid "Use _color profiles"
+msgstr ""
+
+#: src/layout.c:415
+msgid "Use profile from _image"
+msgstr ""
+
+#: src/layout.c:421 src/layout.c:439
+#, c-format
+msgid "Input _%d:"
+msgstr ""
+
+#: src/layout.c:422
+msgid "AdobeRGB compatible"
+msgstr ""
+
+#: src/layout.c:464
+msgid "_Screen profile"
+msgstr ""
+
+#: src/layout.c:531
+msgid " Slideshow"
+msgstr " »ÃµÆƬ"
+
+#: src/layout.c:535
+msgid " Paused"
+msgstr " ÒÑÔÝÍ£"
+
+#: src/layout.c:552
+#, fuzzy, c-format
+msgid "%s, %d files (%s, %d)%s"
+msgstr "%d Îļþ (%d)%s"
+
+#: src/layout.c:559
+#, fuzzy, c-format
+msgid "%s, %d files%s"
+msgstr "%d Îļþ%s"
+
+#: src/layout.c:564
+#, c-format
+msgid "%d files%s"
+msgstr "%d Îļþ%s"
+
+#: src/layout.c:593
+#, c-format
+msgid "(no read permission) %s bytes"
+msgstr ""
+
+#: src/layout.c:597
+#, c-format
+msgid "( ? x ? ) %s bytes"
+msgstr "( ? x ? ) %s ×Ö½Ú"
+
+#: src/layout.c:605
+#, c-format
+msgid "( %d x %d ) %s bytes"
+msgstr "( %d x %d ) %s ×Ö½Ú"
+
+#: src/layout.c:1301 src/layout_config.c:58
+#, fuzzy
+msgid "Tools"
+msgstr "ƽÆÌ"
+
+#: src/layout.c:1983
+#, fuzzy
+msgid "Invalid geometry\n"
+msgstr "·Ç·¨ÎļþÃû"
+
+#: src/layout_config.c:58 src/ui_pathsel.c:1183
+#, fuzzy
+msgid "Files"
+msgstr "ƽÆÌ"
+
+#: src/layout_config.c:58 src/preferences.c:941 src/print.c:116
+msgid "Image"
+msgstr "ͼÏñ"
+
+#: src/layout_config.c:364
+msgid "(drag to change order)"
+msgstr ""
+
+#: src/layout_image.c:816
+#, fuzzy
+msgid "Hide file _list"
+msgstr "(²»)Òþ²ØÎļþÁбí"
+
+#: src/layout_util.c:879 src/menu.c:76
+#, fuzzy, c-format
+msgid "_%d %s..."
+msgstr "ÔÚ %s..."
+
+#: src/layout_util.c:883 src/menu.c:78
+#, fuzzy, c-format
+msgid "_%d (unknown)..."
+msgstr "ÔÚ (δ֪)..."
+
+#: src/layout_util.c:893
+#, fuzzy, c-format
+msgid "_%d empty"
+msgstr "¿Õ"
+
+#: src/layout_util.c:1037
+#, fuzzy
+msgid "_File"
+msgstr "/Îļþ(_F)"
+
+#: src/layout_util.c:1038
+msgid "_Go"
+msgstr ""
+
+#: src/layout_util.c:1039 src/menu.c:93
+#, fuzzy
+msgid "_Edit"
+msgstr "/±à¼­(_E)"
+
+#: src/layout_util.c:1040
+#, fuzzy
+msgid "_Select"
+msgstr "Çå³ýËùÓÐÑ¡Ôñ"
+
+#: src/layout_util.c:1041 src/menu.c:265
+#, fuzzy
+msgid "_Adjust"
+msgstr "µ÷Õû"
+
+#: src/layout_util.c:1043
+#, fuzzy
+msgid "_View Directory as"
+msgstr "н¨Ä¿Â¼"
+
+#: src/layout_util.c:1044
+#, fuzzy
+msgid "_Zoom"
+msgstr "·Å´ó"
+
+#: src/layout_util.c:1045
+msgid "_Split"
+msgstr ""
+
+#: src/layout_util.c:1046
+#, fuzzy
+msgid "_Help"
+msgstr "/ÇóÖú(_H)"
+
+#: src/layout_util.c:1048
+#, fuzzy
+msgid "_First Image"
+msgstr "%d ͼÏñ"
+
+#: src/layout_util.c:1049 src/layout_util.c:1050 src/layout_util.c:1051
+msgid "_Previous Image"
+msgstr ""
+
+#: src/layout_util.c:1052 src/layout_util.c:1053 src/layout_util.c:1054
+#, fuzzy
+msgid "_Next Image"
+msgstr "Ô¤ÏÈ×°ÈëÏÂÒ»ÕÅͼ"
+
+#: src/layout_util.c:1055
+#, fuzzy
+msgid "_Last Image"
+msgstr "Ô¤ÏÈ×°ÈëÏÂÒ»ÕÅͼ"
+
+#: src/layout_util.c:1058
+#, fuzzy
+msgid "New _window"
+msgstr "/Îļþ/ÐÂͼÏñ¼¯"
+
+#: src/layout_util.c:1059
+#, fuzzy
+msgid "_New collection"
+msgstr "±£´æͼÏñ¼¯"
+
+#: src/layout_util.c:1060
+#, fuzzy
+msgid "_Open collection..."
+msgstr "´ò¿ªÍ¼Ïñ¼¯"
+
+#: src/layout_util.c:1061
+#, fuzzy
+msgid "Open _recent"
+msgstr "/Îļþ/´ò¿ª½üÆÚ·ÃÎÊÄÚÈÝ(_R)"
+
+#: src/layout_util.c:1062
+#, fuzzy
+msgid "_Search..."
+msgstr "ÕýÔڱȽÏ..."
+
+#: src/layout_util.c:1064
+#, fuzzy
+msgid "Pan _view"
+msgstr "ÇóÖú - Geeqie"
+
+#: src/layout_util.c:1065
+#, fuzzy
+msgid "_Print..."
+msgstr "/Îļþ/ÖØÃüÃû(_R)..."
+
+#: src/layout_util.c:1066
+#, fuzzy
+msgid "N_ew folder..."
+msgstr "ÇóÖú - Geeqie"
+
+#: src/layout_util.c:1075
+#, fuzzy
+msgid "_Quit"
+msgstr "Æ·ÖÊ"
+
+#: src/layout_util.c:1088 src/menu.c:203
+#, fuzzy
+msgid "_Rotate clockwise"
+msgstr "˳ʱÕëÐýת"
+
+#: src/layout_util.c:1089 src/menu.c:206
+#, fuzzy
+msgid "Rotate _counterclockwise"
+msgstr "ÄæʱÕëÐýת"
+
+#: src/layout_util.c:1090
+#, fuzzy
+msgid "Rotate 1_80"
+msgstr "Ðýת 180 ¶È"
+
+#: src/layout_util.c:1091 src/menu.c:212
+#, fuzzy
+msgid "_Mirror"
+msgstr "¾µÏñ"
+
+#: src/layout_util.c:1092 src/menu.c:215
+#, fuzzy
+msgid "_Flip"
+msgstr "·­×ª"
+
+#: src/layout_util.c:1093 src/menu.c:218
+#, fuzzy
+msgid "Toggle _grayscale"
+msgstr "Í£Ö¹²¥·Å»ÃµÆƬ"
+
+#: src/layout_util.c:1094 src/menu.c:221
+#, fuzzy
+msgid "_Original state"
+msgstr "ÖØÃüÃû£º"
+
+#: src/layout_util.c:1097
+#, fuzzy
+msgid "Select _all"
+msgstr "È«Ñ¡"
+
+#: src/layout_util.c:1098
+#, fuzzy
+msgid "Select _none"
+msgstr "Çå³ýËùÓÐÑ¡Ôñ"
+
+#: src/layout_util.c:1099
+#, fuzzy
+msgid "_Invert Selection"
+msgstr "Çå³ýËùÓÐÑ¡Ôñ"
+
+#: src/layout_util.c:1101
+#, fuzzy
+msgid "P_references..."
+msgstr "/±à¼­/Ñ¡Ïî(_O)..."
+
+#: src/layout_util.c:1102
+msgid "_Thumbnail maintenance..."
+msgstr ""
+
+#: src/layout_util.c:1112 src/layout_util.c:1113
+#, fuzzy
+msgid "_Zoom to fit"
+msgstr "/²é¿´/Ëõ·Åµ½Êʵ±´óС(_Z)"
+
+#: src/layout_util.c:1114
+msgid "Fit _Horizontally"
+msgstr ""
+
+#: src/layout_util.c:1115
+msgid "Fit _Vorizontally"
+msgstr ""
+
+#: src/layout_util.c:1116
+#, fuzzy
+msgid "Zoom _2:1"
+msgstr "Ëõ·Åµ½ 1:1"
+
+#: src/layout_util.c:1117
+#, fuzzy
+msgid "Zoom _3:1"
+msgstr "Ëõ·Åµ½ 1:1"
+
+#: src/layout_util.c:1118
+#, fuzzy
+msgid "Zoom _4:1"
+msgstr "Ëõ·Åµ½ 1:1"
+
+#: src/layout_util.c:1119
+#, fuzzy
+msgid "Zoom 1:2"
+msgstr "Ëõ·Åµ½ 1:1"
+
+#: src/layout_util.c:1120
+#, fuzzy
+msgid "Zoom 1:3"
+msgstr "Ëõ·Åµ½ 1:1"
+
+#: src/layout_util.c:1121
+#, fuzzy
+msgid "Zoom 1:4"
+msgstr "Ëõ·Åµ½ 1:1"
+
+#: src/layout_util.c:1124
+#, fuzzy
+msgid "_View in new window"
+msgstr "ÔÚд°¿ÚÖв鿴"
+
+#: src/layout_util.c:1126 src/layout_util.c:1127 src/layout_util.c:1128
+#, fuzzy
+msgid "F_ull screen"
+msgstr "È«ÆÁ"
+
+#: src/layout_util.c:1129 src/layout_util.c:1130
+msgid "Escape"
+msgstr ""
+
+#: src/layout_util.c:1131
+msgid "_Image Overlay"
+msgstr ""
+
+#: src/layout_util.c:1132
+msgid "Histogram _channels"
+msgstr ""
+
+#: src/layout_util.c:1133
+msgid "Histogram _log mode"
+msgstr ""
+
+#: src/layout_util.c:1134
+#, fuzzy
+msgid "_Hide file list"
+msgstr "(²»)Òþ²ØÎļþÁбí"
+
+#: src/layout_util.c:1135
+#, fuzzy
+msgid "_Pause slideshow"
+msgstr "ÔÝÍ£²¥·Å»ÃµÆƬ"
+
+#: src/layout_util.c:1136
+#, fuzzy
+msgid "_Refresh"
+msgstr "Ë¢ÐÂ"
+
+#: src/layout_util.c:1138
+#, fuzzy
+msgid "_Contents"
+msgstr "/ÇóÖú/¹ØÓÚ(_A)"
+
+#: src/layout_util.c:1139
+#, fuzzy
+msgid "_Keyboard shortcuts"
+msgstr "/ÇóÖú/¼üÅÌ¿ì½Ý¼ü(_K)"
+
+#: src/layout_util.c:1140
+#, fuzzy
+msgid "_Release notes"
+msgstr "/ÇóÖú/·¢ÐÐ˵Ã÷(_R)"
+
+#: src/layout_util.c:1141
+#, fuzzy
+msgid "_About"
+msgstr "¹ØÓÚ"
+
+#: src/layout_util.c:1145 src/layout_util.c:1546
+#, fuzzy
+msgid "_Thumbnails"
+msgstr "ËõÂÔͼ"
+
+#: src/layout_util.c:1146
+#, fuzzy
+msgid "Show _Marks"
+msgstr "ÏÔʾÒþ²ØÎļþ"
+
+#: src/layout_util.c:1147
+#, fuzzy
+msgid "_Float file list"
+msgstr "/²é¿´/(²»)¸¡¶¯ÎļþÁбí(_F)"
+
+#: src/layout_util.c:1148
+#, fuzzy
+msgid "Hide tool_bar"
+msgstr "/²é¿´/Ƭ¶Î1"
+
+#: src/layout_util.c:1149
+#, fuzzy
+msgid "_Keywords"
+msgstr "³ß´ç"
+
+#: src/layout_util.c:1150
+#, fuzzy
+msgid "E_xif data"
+msgstr "/²é¿´/¸üÐÂÁбí(_R)"
+
+#: src/layout_util.c:1151
+#, fuzzy
+msgid "Sort _manager"
+msgstr "°´Ãû³ÆÅÅÐò"
+
+#: src/layout_util.c:1152
+msgid "Co_nnected scroll"
+msgstr ""
+
+#: src/layout_util.c:1153
+msgid "C_onnected zoom"
+msgstr ""
+
+#: src/layout_util.c:1154
+#, fuzzy
+msgid "Toggle _slideshow"
+msgstr "Í£Ö¹²¥·Å»ÃµÆƬ"
+
+#: src/layout_util.c:1158 src/view_dir.c:29
+#, fuzzy
+msgid "_List"
+msgstr "/²é¿´/¸üÐÂÁбí(_R)"
+
+#: src/layout_util.c:1159
+#, fuzzy
+msgid "I_cons"
+msgstr "³ß´ç"
+
+#: src/layout_util.c:1163
+msgid "Horizontal"
+msgstr ""
+
+#: src/layout_util.c:1164
+msgid "Vertical"
+msgstr ""
+
+#: src/layout_util.c:1165
+msgid "Quad"
+msgstr ""
+
+#: src/layout_util.c:1166
+#, fuzzy
+msgid "Single"
+msgstr "´óС"
+
+#: src/layout_util.c:1354
+#, c-format
+msgid "Mark _%d"
+msgstr ""
+
+#: src/layout_util.c:1355 src/view_file.c:515
+#, c-format
+msgid "_Set mark %d"
+msgstr ""
+
+#: src/layout_util.c:1356 src/view_file.c:516
+#, c-format
+msgid "_Reset mark %d"
+msgstr ""
+
+#: src/layout_util.c:1357 src/layout_util.c:1358 src/view_file.c:517
+#, c-format
+msgid "_Toggle mark %d"
+msgstr ""
+
+#: src/layout_util.c:1359 src/layout_util.c:1360 src/view_file.c:518
+#, fuzzy, c-format
+msgid "_Select mark %d"
+msgstr "È«Ñ¡"
+
+#: src/layout_util.c:1361 src/view_file.c:519
+#, fuzzy, c-format
+msgid "_Add mark %d"
+msgstr "±à¼­Æ÷"
+
+#: src/layout_util.c:1362 src/view_file.c:520
+#, c-format
+msgid "_Intersection with mark %d"
+msgstr ""
+
+#: src/layout_util.c:1363 src/view_file.c:521
+#, c-format
+msgid "_Unselect mark %d"
+msgstr ""
+
+#: src/layout_util.c:1547
+#, fuzzy
+msgid "Show thumbnails"
+msgstr "»º´æËõÂÔͼ"
+
+#: src/layout_util.c:1552
+#, fuzzy
+msgid "Change to home folder"
+msgstr "»Øµ½¼ÒĿ¼"
+
+#: src/layout_util.c:1554
+msgid "Refresh file list"
+msgstr "Ë¢ÐÂÎļþÁбí"
+
+#: src/layout_util.c:1556
+msgid "Zoom in"
+msgstr "·Å´ó"
+
+#: src/layout_util.c:1558
+msgid "Zoom out"
+msgstr "ËõС"
+
+#: src/layout_util.c:1560 src/preferences.c:978
+msgid "Fit image to window"
+msgstr "½«Í¼ÏñÌîÂú´°¿Ú"
+
+#: src/layout_util.c:1562
+msgid "Set zoom 1:1"
+msgstr "ÉèÖñÈÀý 1:1"
+
+#: src/layout_util.c:1564
+msgid "Configure options"
+msgstr "ÅäÖÃÑ¡Ïî"
+
+#: src/layout_util.c:1565
+#, fuzzy
+msgid "_Float"
+msgstr "ÆÕͨ"
+
+#: src/layout_util.c:1566
+msgid "Float Controls"
+msgstr "¸¡¶¯¿ØÖÆ"
+
+#. something went badly wrong
+#: src/lirc.c:184
+#, c-format
+msgid "disconnected from LIRC\n"
+msgstr ""
+
+#: src/lirc.c:199
+#, c-format
+msgid "Could not init LIRC support\n"
+msgstr ""
+
+#: src/lirc.c:206
+#, c-format
+msgid ""
+"could not read LIRC config file\n"
+"please read the documentation of LIRC to \n"
+"know how to create a proper config file\n"
+msgstr ""
+
+#: src/main.c:391
+#, fuzzy, c-format
+msgid ""
+"Usage: %s [options] [path]\n"
+"\n"
+msgstr ""
+"Ó÷¨: gqview [Ñ¡Ïî] [·¾¶]\n"
+"\n"
+
+#: src/main.c:392
+msgid "valid options are:\n"
+msgstr "ÓÐЧµÄÑ¡ÏîΪ£º\n"
+
+#: src/main.c:393
+msgid "  +t, --with-tools           force show of tools\n"
+msgstr "  +t, --with-tools           Ç¿ÐÐÏÔʾ¹¤¾ß\n"
+
+#: src/main.c:394
+msgid "  -t, --without-tools        force hide of tools\n"
+msgstr "  -t, --without-tools        Ç¿ÐÐÒþ²Ø¹¤¾ß\n"
+
+#: src/main.c:395
+msgid "  -f, --fullscreen           start in full screen mode\n"
+msgstr "  -f, --fullscreen           ÒÔÈ«ÆÁģʽÆô¶¯\n"
+
+#: src/main.c:396
+msgid "  -s, --slideshow            start in slideshow mode\n"
+msgstr "  -s, --slidehosw            ÒԻõÆģʽÆô¶¯\n"
+
+#: src/main.c:397
+msgid "  -l, --list                 open collection window for command line\n"
+msgstr "  -l, --list                 ΪÃüÁîÐпªÆôͼÏñ¼¯´°¿Ú\n"
+
+#: src/main.c:398
+msgid "      --geometry=GEOMETRY    set main window location\n"
+msgstr ""
+
+#: src/main.c:399
+#, fuzzy
+msgid "  -r, --remote               send following commands to open window\n"
+msgstr "  -l, --list                 ΪÃüÁîÐпªÆôͼÏñ¼¯´°¿Ú\n"
+
+#: src/main.c:400
+msgid "  -rh,--remote-help          print remote command list\n"
+msgstr ""
+
+#: src/main.c:402
+#, fuzzy
+msgid "  --debug[=level]            turn on debug output\n"
+msgstr "  --debug                    ´ò¿ªµ÷ÊÔÐÅÏ¢Êä³ö\n"
+
+#: src/main.c:404
+msgid "  -v, --version              print version info\n"
+msgstr "  -v, --version              ´òÓ¡°æ±¾ÐÅÏ¢\n"
+
+#: src/main.c:405
+msgid ""
+"  -h, --help                 show this message\n"
+"\n"
+msgstr ""
+"  -h, --help                 ÏÔʾ¸ÃÏûÏ¢\n"
+"\n"
+
+#: src/main.c:417
+#, c-format
+msgid ""
+"invalid or ignored: %s\n"
+"Use --help for options\n"
+msgstr ""
+"ÎÞЧ»òºöÂÔ£º%s\n"
+"ʹÓà --help ²é¿´Ñ¡Ïî\n"
+
+#: src/main.c:445
+#, fuzzy
+msgid "Invalid or ignored remote options: "
+msgstr ""
+"ÎÞЧ»òºöÂÔ£º%s\n"
+"ʹÓà --help ²é¿´Ñ¡Ïî\n"
+
+#: src/main.c:454
+msgid ""
+"\n"
+"Use --remote-help for valid remote options.\n"
+msgstr ""
+
+#: src/main.c:539
+#, fuzzy, c-format
+msgid "Creating %s dir:%s\n"
+msgstr "ÕýÔÚ´´½¨ Geeqie Ŀ¼£º%s\n"
+
+#: src/main.c:543
+#, c-format
+msgid "Could not create dir:%s\n"
+msgstr "ÎÞ·¨´´½¨Ä¿Â¼£º%s\n"
+
+#: src/main.c:562 src/ui_bookmark.c:856 src/ui_pathsel.c:1051
+msgid "Home"
+msgstr "¼Ò"
+
+#: src/main.c:564 src/ui_bookmark.c:863
+#, fuzzy
+msgid "Desktop"
+msgstr "µ½£º"
+
+#: src/main.c:680
+#, fuzzy
+msgid "exit"
+msgstr "Í˳ö"
+
+#: src/main.c:685
+#, fuzzy, c-format
+msgid "Quit %s"
+msgstr "Æ·ÖÊ"
+
+#: src/main.c:687
+#, fuzzy
+msgid "Collections have been modified. Quit anyway?"
+msgstr ""
+"ͼÏñ¼¯ÒѾ­±»¸Ä±ä¡£\n"
+"Ç¿ÐÐÍ˳ö£¿"
+
+#: src/main.c:836 src/remote.c:536
+msgid "Command line"
+msgstr "ÃüÁîÐÐ"
+
+#: src/menu.c:117
+#, fuzzy
+msgid "Sort by size"
+msgstr "°´´óСÅÅÐò"
+
+#: src/menu.c:120
+#, fuzzy
+msgid "Sort by date"
+msgstr "°´ÈÕÆÚÅÅÐò"
+
+#: src/menu.c:123
+msgid "Unsorted"
+msgstr "δÅÅÐò"
+
+#: src/menu.c:126
+#, fuzzy
+msgid "Sort by path"
+msgstr "°´Â·¾¶ÅÅÐò"
+
+#: src/menu.c:129
+#, fuzzy
+msgid "Sort by number"
+msgstr "°´±àºÅÅÅÐò"
+
+#: src/menu.c:133
+#, fuzzy
+msgid "Sort by name"
+msgstr "°´Ãû³ÆÅÅÐò"
+
+#: src/menu.c:184
+msgid "Sort"
+msgstr "ÅÅÐò"
+
+#: src/menu.c:209
+#, fuzzy
+msgid "Rotate _180"
+msgstr "Ðýת 180 ¶È"
+
+#: src/pan-view.c:470
+#, fuzzy, c-format
+msgid "%d images, %s"
+msgstr "%d ͼÏñ"
+
+#: src/pan-view.c:480
+#, c-format
+msgid "The pan view does not support the folder \"%s\"."
+msgstr ""
+
+#: src/pan-view.c:481
+msgid "Folder not supported"
+msgstr ""
+
+#: src/pan-view.c:1083 src/pan-view.c:1099
+#, fuzzy
+msgid "Reading image data..."
+msgstr "ÕýÔÚ¶ÁÈ¡ÏàËÆÐÔÊý¾Ý..."
+
+#: src/pan-view.c:1158
+#, fuzzy
+msgid "Sorting images..."
+msgstr "ÕýÔڱȽÏ..."
+
+#: src/pan-view.c:1546 src/pan-view.c:1912
+#, fuzzy
+msgid "Date:"
+msgstr "ÈÕÆÚ"
+
+#: src/pan-view.c:1548 src/preferences.c:887 src/print.c:3245 src/print.c:3456
+msgid "Size:"
+msgstr "´óС£º"
+
+#: src/pan-view.c:1650
+msgid "path found"
+msgstr ""
+
+#: src/pan-view.c:1650
+#, fuzzy
+msgid "filename found"
+msgstr "ÖØÃüÃû£º"
+
+#: src/pan-view.c:1698
+msgid "partial match"
+msgstr ""
+
+#: src/pan-view.c:1909 src/pan-view.c:1942
+msgid "no match"
+msgstr ""
+
+#: src/pan-view.c:2268 src/search.c:2150
+msgid "Folder not found"
+msgstr ""
+
+#: src/pan-view.c:2269
+msgid "The entered path is not a folder"
+msgstr ""
+
+#: src/pan-view.c:2368
+#, fuzzy
+msgid "Pan View"
+msgstr "ÇóÖú - Geeqie"
+
+#: src/pan-view.c:2393
+#, fuzzy
+msgid "Timeline"
+msgstr "Ë«ÏßÐÔ"
+
+#: src/pan-view.c:2394
+#, fuzzy
+msgid "Calendar"
+msgstr "Çå³ý"
+
+#: src/pan-view.c:2396
+#, fuzzy
+msgid "Folders (flower)"
+msgstr "ƽÆÌ"
+
+#: src/pan-view.c:2397
+msgid "Grid"
+msgstr ""
+
+#: src/pan-view.c:2406
+#, fuzzy
+msgid "Dots"
+msgstr "Xpaint"
+
+#: src/pan-view.c:2407
+#, fuzzy
+msgid "No Images"
+msgstr "ͼÏñ"
+
+#: src/pan-view.c:2408
+#, fuzzy
+msgid "Small Thumbnails"
+msgstr "ËõÂÔͼ"
+
+#: src/pan-view.c:2409
+#, fuzzy
+msgid "Normal Thumbnails"
+msgstr "ËõÂÔͼ"
+
+#: src/pan-view.c:2410
+#, fuzzy
+msgid "Large Thumbnails"
+msgstr "Çå³ýËõÂÔͼ"
+
+#: src/pan-view.c:2411 src/pan-view.c:2863
+msgid "1:10 (10%)"
+msgstr ""
+
+#: src/pan-view.c:2412 src/pan-view.c:2859
+msgid "1:4 (25%)"
+msgstr ""
+
+#: src/pan-view.c:2413 src/pan-view.c:2855
+msgid "1:3 (33%)"
+msgstr ""
+
+#: src/pan-view.c:2414 src/pan-view.c:2851
+msgid "1:2 (50%)"
+msgstr ""
+
+#: src/pan-view.c:2415
+msgid "1:1 (100%)"
+msgstr ""
+
+#: src/pan-view.c:2463
+#, fuzzy
+msgid "Find:"
+msgstr "¹ýÂËÆ÷£º"
+
+#: src/pan-view.c:2506
+#, fuzzy
+msgid "Use Exif date"
+msgstr "/²é¿´/¸üÐÂÁбí(_R)"
+
+#: src/pan-view.c:2519
+msgid "Find"
+msgstr ""
+
+#: src/pan-view.c:2586
+msgid "Pan View Performance"
+msgstr ""
+
+#: src/pan-view.c:2593
+msgid "Pan view performance may be poor."
+msgstr ""
+
+#: src/pan-view.c:2594
+msgid ""
+"To improve performance of thumbnails in the pan view the following options "
+"can be enabled. Note that both options must be enabled to notice a change in "
+"performance."
+msgstr ""
+
+#: src/pan-view.c:2602 src/preferences.c:890
+msgid "Cache thumbnails"
+msgstr "»º´æËõÂÔͼ"
+
+#: src/pan-view.c:2604 src/preferences.c:896
+msgid "Use shared thumbnail cache"
+msgstr ""
+
+#: src/pan-view.c:2610
+msgid "Do not show this dialog again"
+msgstr ""
+
+#: src/pan-view.c:2831
+#, fuzzy
+msgid "Sort by E_xif date"
+msgstr "°´ÈÕÆÚÅÅÐò"
+
+#: src/pan-view.c:2837
+msgid "_Show Exif information"
+msgstr ""
+
+#: src/pan-view.c:2839
+#, fuzzy
+msgid "Show im_age"
+msgstr "ÏÔʾÒþ²ØÎļþ"
+
+#: src/pan-view.c:2843
+#, fuzzy
+msgid "_None"
+msgstr "ÎÞ"
+
+#: src/pan-view.c:2847
+#, fuzzy
+msgid "_Full size"
+msgstr "ƽÆÌ"
+
+#. note: the order is important, it must match the values of
+#. * EXIF_UI_OFF, _IFSET, _ON
+#: src/preferences.c:402
+msgid "Never"
+msgstr ""
+
+#: src/preferences.c:403
+msgid "If set"
+msgstr ""
+
+#: src/preferences.c:404
+msgid "Always"
+msgstr ""
+
+#: src/preferences.c:451
+msgid "Nearest (worst, but fastest)"
+msgstr "×î½ü (×îÔ㣬µ«×î¿ì)"
+
+#: src/preferences.c:453
+msgid "Tiles"
+msgstr "ƽÆÌ"
+
+#: src/preferences.c:455
+msgid "Bilinear"
+msgstr "Ë«ÏßÐÔ"
+
+#: src/preferences.c:457
+msgid "Hyper (best, but slowest)"
+msgstr "³¬¼¶ (×îºÃ£¬µ«×îÂý)"
+
+#: src/preferences.c:485
+msgid "None"
+msgstr "ÎÞ"
+
+#: src/preferences.c:486
+msgid "Normal"
+msgstr "ÆÕͨ"
+
+#: src/preferences.c:487
+msgid "Best"
+msgstr "×î¼Ñ"
+
+#: src/preferences.c:548 src/print.c:372
+msgid "Custom"
+msgstr ""
+
+#: src/preferences.c:712 src/preferences.c:715
+#, fuzzy
+msgid "Reset filters"
+msgstr "ɾ³ýÎļþ"
+
+#: src/preferences.c:716
+msgid ""
+"This will reset the file filters to the defaults.\n"
+"Continue?"
+msgstr ""
+
+#: src/preferences.c:750 src/preferences.c:753
+#, fuzzy
+msgid "Reset editors"
+msgstr "ɾ³ýÎļþ"
+
+#: src/preferences.c:754
+msgid ""
+"This will reset the edit commands to the defaults.\n"
+"Continue?"
+msgstr ""
+
+#: src/preferences.c:778 src/preferences.c:781
+#, fuzzy
+msgid "Clear trash"
+msgstr "Çå³ý»º³åÇø"
+
+#: src/preferences.c:782
+msgid "This will remove the trash contents."
+msgstr ""
+
+#: src/preferences.c:826 src/preferences.c:829
+msgid "Reset image overlay template string"
+msgstr ""
+
+#: src/preferences.c:830
+msgid ""
+"This will reset the image overlay template string to the default.\n"
+"Continue?"
+msgstr ""
+
+#: src/preferences.c:861
+msgid "Startup"
+msgstr ""
+
+#: src/preferences.c:863
+msgid "Restore folder on startup"
+msgstr ""
+
+#: src/preferences.c:876
+msgid "Use current"
+msgstr "ʹÓõ±Ç°Ä¿Â¼"
+
+#: src/preferences.c:879
+#, fuzzy
+msgid "Use last path"
+msgstr "È«Ñ¡"
+
+#: src/preferences.c:888 src/preferences.c:950
+msgid "Quality:"
+msgstr "Æ·ÖÊ£º"
+
+#: src/preferences.c:902
+msgid "Cache thumbnails into .thumbnails"
+msgstr "½«ËõÂÔͼ»º´æµ½ .thumbnails ÖÐ"
+
+#: src/preferences.c:906
+msgid "Use xvpics thumbnails when found (read only)"
+msgstr "Èç¹ûÕÒµ½xvpicsËõÂÔͼ¼´Ê¹ÓÃ(Ö»¶Á)"
+
+#: src/preferences.c:910
+msgid "Faster jpeg thumbnailing (may reduce quality)"
+msgstr ""
+
+#: src/preferences.c:913
+msgid "Slide show"
+msgstr "չʾ»ÃµÆƬ"
+
+#: src/preferences.c:916
+#, fuzzy
+msgid "Delay between image change:"
+msgstr "ͼÏñ¸Ä±äʱ¼ä¼ä¸ô(Ãë)£º"
+
+#: src/preferences.c:916
+msgid "seconds"
+msgstr ""
+
+#: src/preferences.c:922
+msgid "Random"
+msgstr "Ëæ»ú"
+
+#: src/preferences.c:923
+msgid "Repeat"
+msgstr "Öظ´"
+
+#: src/preferences.c:944
+#, fuzzy
+msgid "Zoom"
+msgstr "·Å´ó"
+
+#: src/preferences.c:947
+msgid "Dithering method:"
+msgstr "¶¶¶¯·½·¨£º"
+
+#: src/preferences.c:952
+msgid "Two pass zooming"
+msgstr ""
+
+#: src/preferences.c:955
+#, fuzzy
+msgid "Allow enlargement of image for zoom to fit"
+msgstr "ΪËõ·ÅÀ©Õ¹Í¼ÏñÒÔ±ãÆ¥Åä¡£"
+
+#: src/preferences.c:959
+#, fuzzy
+msgid "Limit image size when autofitting (%):"
+msgstr "×Ô¶¯¸Ä±ä´°¿Ú´óСʱÏÞÖƳߴç (%)£º"
+
+#: src/preferences.c:967
+msgid "Zoom increment:"
+msgstr "Ëõ·ÅÔöÁ¿£º"
+
+#: src/preferences.c:972
+msgid "When new image is selected:"
+msgstr "µ±Ñ¡ÔñÐÂͼÏñʱ£º"
+
+#: src/preferences.c:975
+msgid "Zoom to original size"
+msgstr "Ëõ·Åµ½Ô­³ß´ç"
+
+#: src/preferences.c:981
+msgid "Leave Zoom at previous setting"
+msgstr "±£ÁôÉÏÒ»´ÎµÄËõ·ÅÉèÖÃ"
+
+#: src/preferences.c:985
+#, fuzzy
+msgid "Appearance"
+msgstr "×·¼Ó"
+
+#: src/preferences.c:987
+#, fuzzy
+msgid "Custom border color"
+msgstr "¶¨ÖÆÎļþÀàÐÍ£º"
+
+#: src/preferences.c:990
+msgid "Border color"
+msgstr ""
+
+#: src/preferences.c:993
+#, fuzzy
+msgid "Convenience"
+msgstr "¼ÌÐø"
+
+#: src/preferences.c:995
+#, fuzzy
+msgid "Refresh on file change"
+msgstr "Ë¢ÐÂÎļþÁбí"
+
+#: src/preferences.c:997
+msgid "Preload next image"
+msgstr "Ô¤ÏÈ×°ÈëÏÂÒ»ÕÅͼ"
+
+#: src/preferences.c:999
+msgid "Auto rotate image using Exif information"
+msgstr ""
+
+#: src/preferences.c:1016
+msgid "Windows"
+msgstr "´°¿Ú"
+
+#: src/preferences.c:1019
+#, fuzzy
+msgid "State"
+msgstr "ÈÕÆÚ"
+
+#: src/preferences.c:1021
+msgid "Remember window positions"
+msgstr "¼Çס´°¿ÚλÖÃ"
+
+#: src/preferences.c:1023
+msgid "Remember tool state (float/hidden)"
+msgstr "¼Çס¹¤¾ßÀ¸×´Ì¬(¸¡¶¯/Òþ²Ø)"
+
+#: src/preferences.c:1028
+msgid "Fit window to image when tools are hidden/floating"
+msgstr "µ±¹¤¾ßµµÒþ²Ø/¸¡¶¯Ê±,ʹ´°¿ÚÊÊӦͼÏñ"
+
+#: src/preferences.c:1032
+msgid "Limit size when auto-sizing window (%):"
+msgstr "×Ô¶¯¸Ä±ä´°¿Ú´óСʱÏÞÖƳߴç (%)£º"
+
+#: src/preferences.c:1039 src/print.c:3404 src/print.c:3411
+msgid "Layout"
+msgstr ""
+
+#: src/preferences.c:1066
+msgid "Filtering"
+msgstr "¹ýÂË"
+
+#: src/preferences.c:1071
+msgid "Show hidden files or folders"
+msgstr ""
+
+#: src/preferences.c:1073
+#, fuzzy
+msgid "Show dot directory"
+msgstr "н¨Ä¿Â¼"
+
+#: src/preferences.c:1075
+msgid "Case sensitive sort"
+msgstr ""
+
+#: src/preferences.c:1078
+msgid "Disable File Filtering"
+msgstr "½ûÖ¹Îļþ¹ýÂË"
+
+#: src/preferences.c:1082
+msgid "Grouping sidecar extensions"
+msgstr ""
+
+#: src/preferences.c:1089
+#, fuzzy
+msgid "File types"
+msgstr "¹ýÂËÆ÷£º"
+
+#: src/preferences.c:1111
+#, fuzzy
+msgid "Filter"
+msgstr "¹ýÂËÆ÷£º"
+
+#: src/preferences.c:1148 src/preferences.c:1234 src/preferences.c:1378
+msgid "Defaults"
+msgstr ""
+
+#: src/preferences.c:1177
+msgid "Editors"
+msgstr "±à¼­Æ÷"
+
+#: src/preferences.c:1183
+msgid "#"
+msgstr "#"
+
+#: src/preferences.c:1186 src/preferences.c:1497
+msgid "Menu name"
+msgstr "²Ëµ¥Ãû"
+
+#: src/preferences.c:1189
+msgid "Command Line"
+msgstr "ÃüÁîÐÐ"
+
+#: src/preferences.c:1261
+#, fuzzy
+msgid "Properties"
+msgstr "/±à¼­/Ñ¡Ïî(_O)..."
+
+#: src/preferences.c:1279
+msgid "What to show in properties dialog:"
+msgstr ""
+
+#: src/preferences.c:1316
+msgid "Advanced"
+msgstr ""
+
+#: src/preferences.c:1337
+#, fuzzy
+msgid "Smooth image flip"
+msgstr "ͼÏñ"
+
+#: src/preferences.c:1339
+msgid "Disable screen saver"
+msgstr ""
+
+#: src/preferences.c:1343
+msgid "Overlay Screen Display"
+msgstr ""
+
+#: src/preferences.c:1345
+msgid "Always show image overlay at startup"
+msgstr ""
+
+#: src/preferences.c:1347
+msgid "Image overlay template"
+msgstr ""
+
+#: src/preferences.c:1361
+msgid ""
+"<i>%name%</i> results in the filename of the picture.\n"
+"Also available: <i>%collection%</i>, <i>%number%</i>, <i>%total%</i>, <i>%"
+"date%</i>,\n"
+"<i>%size%</i> (filesize), <i>%width%</i>, <i>%height%</i>, <i>%res%</i> "
+"(resolution)\n"
+"To access exif data use the exif name, e. g. <i>%formatted.Camera%</i> is "
+"the formatted camera name,\n"
+"<i>%Exif.Photo.DateTimeOriginal%</i> the date of the original shot.\n"
+"<i>%formatted.Camera:20</i> notation will truncate the displayed data to 20 "
+"characters and will add 3 dots at the end to denote the truncation.\n"
+"If two or more variables are connected with the |-sign, it prints available "
+"variables with a separator.\n"
+"<i>%formatted.ShutterSpeed%</i>|<i>%formatted.ISOSpeedRating%</i>|<i>%"
+"formatted.FocalLength%</i> could show \"1/20s - 400 - 80 mm\" or \"1/200 - "
+"80 mm\",\n"
+"if there's no ISO information in the Exif data.\n"
+"If a line is empty, it is removed. This allows to add lines that totally "
+"disappear when no data is available.\n"
+msgstr ""
+
+#: src/preferences.c:1393
+msgid "Delete"
+msgstr "ɾ³ý"
+
+#: src/preferences.c:1395
+msgid "Confirm file delete"
+msgstr "È·ÈÏɾ³ýÎļþ"
+
+#: src/preferences.c:1397
+msgid "Enable Delete key"
+msgstr "ÆôÓÃɾ³ý¼ü"
+
+#: src/preferences.c:1400
+#, fuzzy
+msgid "Safe delete"
+msgstr "È·ÈÏɾ³ýÎļþ"
+
+#: src/preferences.c:1418
+#, fuzzy
+msgid "Maximum size:"
+msgstr "ƽÆÌ"
+
+#: src/preferences.c:1418
+msgid "MB"
+msgstr ""
+
+#: src/preferences.c:1421
+msgid "Set to 0 for unlimited size"
+msgstr ""
+
+#: src/preferences.c:1423
+msgid "View"
+msgstr "²é¿´"
+
+#: src/preferences.c:1434
+msgid "Behavior"
+msgstr ""
+
+#: src/preferences.c:1436
+#, fuzzy
+msgid "Rectangular selection in icon view"
+msgstr "Õý·½ÐÎÑ¡Ôñ"
+
+#: src/preferences.c:1439
+msgid "Descend folders in tree view"
+msgstr ""
+
+#: src/preferences.c:1442
+msgid "In place renaming"
+msgstr "¼´Ê±ÖØÃüÃû"
+
+#: src/preferences.c:1445
+msgid ""
+"Show \"Copy path\" menu item which write the path of selected files to "
+"clipboard"
+msgstr ""
+
+#: src/preferences.c:1448
+msgid "Open recent list maximum size"
+msgstr ""
+
+#: src/preferences.c:1451
+msgid "Drag'n drop icon size"
+msgstr ""
+
+#: src/preferences.c:1454
+msgid "Navigation"
+msgstr ""
+
+#: src/preferences.c:1456
+msgid "Progressive keyboard scrolling"
+msgstr "ÀÛ½ø¼üÅ̹ö¶¯"
+
+#: src/preferences.c:1458
+msgid "Mouse wheel scrolls image"
+msgstr "ÓÃÊó±êÂÖ¹ö¶¯Í¼Ïñ"
+
+#: src/preferences.c:1461
+msgid "Miscellaneous"
+msgstr ""
+
+#: src/preferences.c:1463
+msgid "Store metadata and cache files in source image's directory"
+msgstr ""
+
+#: src/preferences.c:1466
+msgid "Store keywords and comments as XMP tags in image files"
+msgstr ""
+
+#: src/preferences.c:1469
+#, fuzzy
+msgid "Custom similarity threshold:"
+msgstr "¶¨ÖÆÎļþÀàÐÍ£º"
+
+#: src/preferences.c:1472
+msgid "Image loading and caching"
+msgstr ""
+
+#: src/preferences.c:1474
+msgid "Offscreen cache size (Mb per image):"
+msgstr "·ÇÆÁÄ»»º³åÇø´óС (ÿ¸öͼÏñµÄ Mb Êý)£º"
+
+#: src/preferences.c:1477
+msgid "Image read buffer size (bytes):"
+msgstr ""
+
+#: src/preferences.c:1481
+msgid "Image idle loop read count:"
+msgstr ""
+
+#: src/preferences.c:1486
+#, fuzzy
+msgid "Color profiles"
+msgstr "ËùÓÐÎļþ"
+
+#: src/preferences.c:1494
+msgid "Type"
+msgstr ""
+
+#: src/preferences.c:1500
+#, fuzzy
+msgid "File"
+msgstr "¹ýÂËÆ÷£º"
+
+#: src/preferences.c:1525 src/preferences.c:1536
+#, fuzzy
+msgid "Select color profile"
+msgstr "Çå³ýËùÓÐÑ¡Ôñ"
+
+#: src/preferences.c:1533
+msgid "Screen:"
+msgstr ""
+
+#: src/preferences.c:1544
+msgid "Debugging"
+msgstr ""
+
+#: src/preferences.c:1546
+msgid "Debug level:"
+msgstr ""
+
+#: src/preferences.c:1562
+#, fuzzy
+msgid "Preferences"
+msgstr "/±à¼­/Ñ¡Ïî(_O)..."
+
+#: src/preferences.c:1685
+#, fuzzy
+msgid "About"
+msgstr "¹ØÓÚ"
+
+#: src/preferences.c:1702
+#, fuzzy, c-format
+msgid ""
+"%s %s\n"
+"\n"
+"Copyright (c) 2006 John Ellis\n"
+"Copyright (c) %s The Geeqie Team\n"
+"website: %s\n"
+"email: %s\n"
+"\n"
+"Released under the GNU General Public License"
+msgstr ""
+"Geeqie %s\n"
+"\n"
+"°æȨËùÓÐ (c) 2003 John Ellis\n"
+"http://gqview.sourceforge.net\n"
+"gqview@users.sourceforge.net\n"
+"\n"
+"°´Í¨Óù«¹²Ðí¿ÉÖ¤·¢ÐÐ"
+
+#: src/preferences.c:1721
+#, fuzzy
+msgid "Credits..."
+msgstr "/±à¼­/Ñ¡Ïî(_O)..."
+
+#: src/print.c:117
+#, fuzzy
+msgid "Selection"
+msgstr "Çå³ýËùÓÐÑ¡Ôñ"
+
+#: src/print.c:118
+msgid "All"
+msgstr ""
+
+#: src/print.c:129
+msgid "One image per page"
+msgstr ""
+
+#: src/print.c:130
+msgid "Proof sheet"
+msgstr ""
+
+#: src/print.c:143
+msgid "Default printer"
+msgstr ""
+
+#: src/print.c:144
+#, fuzzy
+msgid "Custom printer"
+msgstr "¶¨ÖÆÎļþÀàÐÍ£º"
+
+#: src/print.c:145
+msgid "PostScript file"
+msgstr ""
+
+#: src/print.c:146
+#, fuzzy
+msgid "Image file"
+msgstr "ͼÏñ"
+
+#: src/print.c:160
+msgid "jpeg, low quality"
+msgstr ""
+
+#: src/print.c:161
+msgid "jpeg, normal quality"
+msgstr ""
+
+#: src/print.c:162
+msgid "jpeg, high quality"
+msgstr ""
+
+#: src/print.c:357 src/print.c:3245
+#, fuzzy
+msgid "points"
+msgstr "Xpaint"
+
+#: src/print.c:358
+msgid "millimeters"
+msgstr ""
+
+#: src/print.c:359
+msgid "centimeters"
+msgstr ""
+
+#: src/print.c:360
+msgid "inches"
+msgstr ""
+
+#: src/print.c:361
+msgid "picas"
+msgstr ""
+
+#: src/print.c:366
+msgid "Portrait"
+msgstr ""
+
+#: src/print.c:367
+msgid "Landscape"
+msgstr ""
+
+#: src/print.c:373
+msgid "Letter"
+msgstr ""
+
+#. in 8.5 x 11
+#: src/print.c:374
+msgid "Legal"
+msgstr ""
+
+#. in 8.5 x 14
+#: src/print.c:375
+msgid "Executive"
+msgstr ""
+
+#. in 7.25x 10.5
+#. mm 841 x 1189
+#. mm 594 x 841
+#. mm 420 x 594
+#. mm 297 x 420
+#. mm 210 x 297
+#. mm 148 x 210
+#. mm 105 x 148
+#. mm 353 x 500
+#. mm 250 x 353
+#. mm 176 x 250
+#. mm 125 x 176
+#: src/print.c:387
+msgid "Envelope #10"
+msgstr ""
+
+#. in 4.125 x 9.5
+#: src/print.c:388
+msgid "Envelope #9"
+msgstr ""
+
+#. in 3.875 x 8.875
+#: src/print.c:389
+msgid "Envelope C4"
+msgstr ""
+
+#. mm 229 x 324
+#: src/print.c:390
+msgid "Envelope C5"
+msgstr ""
+
+#. mm 162 x 229
+#: src/print.c:391
+msgid "Envelope C6"
+msgstr ""
+
+#. mm 114 x 162
+#: src/print.c:392
+msgid "Photo 6x4"
+msgstr ""
+
+#. in 6   x 4
+#: src/print.c:393
+msgid "Photo 8x10"
+msgstr ""
+
+#. in 8   x 10
+#: src/print.c:394
+msgid "Postcard"
+msgstr ""
+
+#. mm 100 x 148
+#: src/print.c:395
+msgid "Tabloid"
+msgstr ""
+
+#: src/print.c:551
+#, c-format
+msgid "page %d of %d"
+msgstr ""
+
+#: src/print.c:743 src/utilops.c:2462
+msgid "Preview"
+msgstr ""
+
+#: src/print.c:1051
+#, c-format
+msgid ""
+"Unable to open pipe for writing.\n"
+"\"%s\""
+msgstr ""
+
+#: src/print.c:1066 src/print.c:1506 src/ui_pathsel.c:432
+#: src/view_file_list.c:396
+#, fuzzy, c-format
+msgid "A file with name %s already exists."
+msgstr "ÎļþÃû %s ÒÑ´æÔÚ¡£"
+
+#: src/print.c:1081 src/print.c:1561
+#, c-format
+msgid "Failure writing to file %s"
+msgstr ""
+
+#: src/print.c:1135 src/print.c:1172 src/print.c:1208 src/print.c:1325
+#: src/print.c:1416 src/print.c:1447
+msgid "SIGPIPE error writing to printer."
+msgstr ""
+
+#: src/print.c:1982
+#, c-format
+msgid "Page %d"
+msgstr ""
+
+#: src/print.c:2004 src/print.c:2009
+#, fuzzy
+msgid "Printing error"
+msgstr "¹ýÂËÆ÷£º"
+
+#: src/print.c:2008
+#, c-format
+msgid "An error occured printing to %s."
+msgstr ""
+
+#: src/print.c:2012
+#, fuzzy
+msgid "Details"
+msgstr "ɾ³ýÎļþ"
+
+#: src/print.c:2617 src/print.c:3377
+#, fuzzy
+msgid "Print"
+msgstr "¹ýÂËÆ÷£º"
+
+#: src/print.c:2624
+#, c-format
+msgid "Printing %d pages to %s."
+msgstr ""
+
+#: src/print.c:2724
+#, fuzzy
+msgid "Format:"
+msgstr "ÆÕͨ"
+
+#: src/print.c:2799
+msgid "Units:"
+msgstr ""
+
+#: src/print.c:2843
+#, fuzzy
+msgid "Orientation:"
+msgstr "³ß´ç"
+
+#: src/print.c:2975
+#, fuzzy
+msgid "Destination:"
+msgstr "ÎÞЧµÄÄ¿±ê"
+
+#: src/print.c:3023
+#, fuzzy
+msgid "<printer name>"
+msgstr "ÖØÃüÃû£º"
+
+#: src/print.c:3112
+#, fuzzy
+msgid "Unlimited"
+msgstr "ÎÞ±êÌâ"
+
+#: src/print.c:3230
+msgid "Show"
+msgstr ""
+
+#: src/print.c:3243
+#, fuzzy
+msgid "Font"
+msgstr "ÎÞ"
+
+#: src/print.c:3407
+#, fuzzy
+msgid "Source"
+msgstr "ÅÅÐò"
+
+#: src/print.c:3423
+#, fuzzy
+msgid "Proof size:"
+msgstr "ͼÏñ"
+
+#: src/print.c:3449
+#, fuzzy
+msgid "Paper"
+msgstr "¹ýÂËÆ÷£º"
+
+#: src/print.c:3472
+msgid "Margins"
+msgstr ""
+
+#: src/print.c:3474
+msgid "Left:"
+msgstr ""
+
+#: src/print.c:3477
+msgid "Right:"
+msgstr ""
+
+#: src/print.c:3480
+msgid "Top:"
+msgstr ""
+
+#: src/print.c:3483
+#, fuzzy
+msgid "Bottom:"
+msgstr "µ½£º"
+
+#: src/print.c:3492
+#, fuzzy
+msgid "Printer"
+msgstr "¹ýÂËÆ÷£º"
+
+#: src/print.c:3498
+#, fuzzy
+msgid "Custom printer:"
+msgstr "¶¨ÖÆÎļþÀàÐÍ£º"
+
+#: src/print.c:3507
+#, fuzzy
+msgid "File:"
+msgstr "¹ýÂËÆ÷£º"
+
+#: src/print.c:3516
+#, fuzzy
+msgid "File format:"
+msgstr "¹ýÂËÆ÷£º"
+
+#: src/print.c:3521
+msgid "DPI:"
+msgstr ""
+
+#: src/print.c:3529
+#, fuzzy
+msgid "Remember print settings"
+msgstr "¼Çס´°¿ÚλÖÃ"
+
+#: src/rcfile.c:309
+#, c-format
+msgid "error saving config file: %s\n"
+msgstr "±£´æÅäÖÃÎļþ³ö´í£º%s\n"
+
+#: src/rcfile.c:583
+#, fuzzy, c-format
+msgid ""
+"error saving config file: %s\n"
+"error: %s\n"
+msgstr "±£´æÅäÖÃÎļþ³ö´í£º%s\n"
+
+#. short, long                  callback,               extra, prefer,description
+#: src/remote.c:574
+#, fuzzy
+msgid "next image"
+msgstr "Ô¤ÏÈ×°ÈëÏÂÒ»ÕÅͼ"
+
+#: src/remote.c:575
+msgid "previous image"
+msgstr ""
+
+#: src/remote.c:576
+#, fuzzy
+msgid "first image"
+msgstr "%d ͼÏñ"
+
+#: src/remote.c:577
+#, fuzzy
+msgid "last image"
+msgstr "Ô¤ÏÈ×°ÈëÏÂÒ»ÕÅͼ"
+
+#: src/remote.c:578
+#, fuzzy
+msgid "toggle full screen"
+msgstr "Í˳öÈ«ÆÁ"
+
+#: src/remote.c:579
+#, fuzzy
+msgid "start full screen"
+msgstr "Í˳öÈ«ÆÁ"
+
+#: src/remote.c:580
+#, fuzzy
+msgid "stop full screen"
+msgstr "Í˳öÈ«ÆÁ"
+
+#: src/remote.c:581
+#, fuzzy
+msgid "toggle slide show"
+msgstr "Í£Ö¹²¥·Å»ÃµÆƬ"
+
+#: src/remote.c:582
+#, fuzzy
+msgid "start slide show"
+msgstr "¿ªÊ¼²¥·Å»ÃµÆƬ"
+
+#: src/remote.c:583
+#, fuzzy
+msgid "stop slide show"
+msgstr "Í£Ö¹²¥·Å»ÃµÆƬ"
+
+#: src/remote.c:584
+#, fuzzy
+msgid "start recursive slide show"
+msgstr "¿ªÊ¼²¥·Å»ÃµÆƬ"
+
+#: src/remote.c:585
+msgid "set slide show delay in seconds"
+msgstr ""
+
+#: src/remote.c:586
+msgid "show tools"
+msgstr ""
+
+#: src/remote.c:587
+#, fuzzy
+msgid "hide tools"
+msgstr "Geeqie ¹¤¾ßÀ¸"
+
+#: src/remote.c:588
+msgid "quit"
+msgstr ""
+
+#: src/remote.c:589
+#, fuzzy
+msgid "open file"
+msgstr ""
+"½«Îļþ£º\n"
+"%s\n"
+"ÖØÃüÃûΪ£º"
+
+#: src/remote.c:590
+#, fuzzy
+msgid "open file in new window"
+msgstr "ÔÚд°¿ÚÖв鿴"
+
+#: src/remote.c:656
+msgid "Remote command list:\n"
+msgstr ""
+
+#: src/remote.c:713
+#, c-format
+msgid "Remote %s not running, starting..."
+msgstr ""
+
+#: src/remote.c:849
+msgid "Remote not available\n"
+msgstr ""
+
+#: src/search.c:202
+#, fuzzy
+msgid "folder"
+msgstr "ƽÆÌ"
+
+#: src/search.c:203
+#, fuzzy
+msgid "comments"
+msgstr "Ìí¼ÓÄÚÈÝ"
+
+#: src/search.c:204
+msgid "results"
+msgstr ""
+
+#: src/search.c:208
+#, fuzzy
+msgid "contains"
+msgstr "¼ÌÐø"
+
+#: src/search.c:209
+msgid "is"
+msgstr ""
+
+#: src/search.c:213 src/search.c:220
+msgid "equal to"
+msgstr ""
+
+#: src/search.c:214
+msgid "less than"
+msgstr ""
+
+#: src/search.c:215
+#, fuzzy
+msgid "greater than"
+msgstr "´´½¨ËõÂÔͼ"
+
+#: src/search.c:216 src/search.c:223
+msgid "between"
+msgstr ""
+
+#: src/search.c:221
+msgid "before"
+msgstr ""
+
+#: src/search.c:222
+#, fuzzy
+msgid "after"
+msgstr "¹ýÂËÆ÷£º"
+
+#: src/search.c:227
+msgid "match all"
+msgstr ""
+
+#: src/search.c:228
+msgid "match any"
+msgstr ""
+
+#: src/search.c:229
+msgid "exclude"
+msgstr ""
+
+#: src/search.c:279
+#, fuzzy, c-format
+msgid "%s, %d files (%s, %d)"
+msgstr "%d Îļþ (%d)%s"
+
+#: src/search.c:284
+#, fuzzy, c-format
+msgid "%s, %d files"
+msgstr "%d Îļþ%s"
+
+#: src/search.c:302
+#, fuzzy
+msgid "Searching..."
+msgstr "ÕýÔڱȽÏ..."
+
+#: src/search.c:2100
+msgid "File not found"
+msgstr ""
+
+#: src/search.c:2101
+#, fuzzy
+msgid "Please enter an existing file for image content."
+msgstr "ÇëÑ¡ÔñÒ»¸öÒÑ´æÔÚµÄĿ¼"
+
+#: src/search.c:2151
+#, fuzzy
+msgid "Please enter an existing folder to search."
+msgstr "ÇëÑ¡ÔñÒ»¸öÒÑ´æÔÚµÄĿ¼"
+
+#: src/search.c:2576
+#, fuzzy
+msgid "Image search"
+msgstr "ͼÏñ"
+
+#: src/search.c:2606
+#, fuzzy
+msgid "Search:"
+msgstr "ÕýÔڱȽÏ..."
+
+#: src/search.c:2620
+msgid "Recurse"
+msgstr ""
+
+#: src/search.c:2624
+#, fuzzy
+msgid "File name"
+msgstr "ÖØÃüÃû£º"
+
+#: src/search.c:2630
+msgid "Match case"
+msgstr ""
+
+#: src/search.c:2634
+#, fuzzy
+msgid "File size is"
+msgstr "ƽÆÌ"
+
+#: src/search.c:2641 src/search.c:2656 src/search.c:2674
+#, fuzzy
+msgid "and"
+msgstr "Ëæ»ú"
+
+#: src/search.c:2646
+#, fuzzy
+msgid "File date is"
+msgstr "¹ýÂËÆ÷£º"
+
+#: src/search.c:2663
+#, fuzzy
+msgid "Image dimensions are"
+msgstr "ÎÞЧµÄÄ¿±ê"
+
+#: src/search.c:2683
+#, fuzzy
+msgid "Image content is"
+msgstr "Ìí¼ÓÄÚÈÝ"
+
+#: src/search.c:2689
+#, fuzzy, no-c-format
+msgid "% similar to"
+msgstr "ÏàËÆÐÔ"
+
+#: src/search.c:2758
+#, fuzzy
+msgid "Rank"
+msgstr "Ëæ»ú"
+
+#: src/secure_save.c:398
+#, fuzzy
+msgid "Cannot read the file"
+msgstr "ÎÞ·¨´´½¨Ä¿Â¼"
+
+#: src/secure_save.c:400
+#, fuzzy
+msgid "Cannot get file status"
+msgstr "±È½ÏÁ½¸öÎļþ¼¯"
+
+#: src/secure_save.c:402
+msgid "Cannot access the file"
+msgstr ""
+
+#: src/secure_save.c:404
+#, fuzzy
+msgid "Cannot create temp file"
+msgstr "ÎÞ·¨´´½¨Ä¿Â¼"
+
+#: src/secure_save.c:406
+#, fuzzy
+msgid "Cannot rename the file"
+msgstr "ÎÞ·¨´´½¨Ä¿Â¼"
+
+#: src/secure_save.c:408
+msgid "File saving disabled by option"
+msgstr ""
+
+#: src/secure_save.c:410
+msgid "Out of memory"
+msgstr ""
+
+#: src/secure_save.c:412
+msgid "Cannot write the file"
+msgstr ""
+
+#: src/secure_save.c:416
+msgid "Secure file saving error"
+msgstr ""
+
+#: src/thumb.c:382
+msgid "Thumbnail image in cache failed to load, trying to recreate.\n"
+msgstr "×°È뻺³åµÄËõÂÔͼʧ°Ü£¬ÕýÊÔͼÖؽ¨¡£\n"
+
+#: src/trash.c:74 src/utilops.c:1402 src/utilops.c:1415 src/utilops.c:1494
+#: src/utilops.c:1511 src/utilops.c:3095 src/utilops.c:3146 src/utilops.c:3232
+#: src/utilops.c:3243
+msgid "Delete failed"
+msgstr "ɾ³ýʧ°Ü"
+
+#: src/trash.c:75
+#, fuzzy
+msgid "Unable to remove old file from trash folder"
+msgstr ""
+"ÎÞ·¨½«Îļþ£º\n"
+"%s\n"
+"Òƶ¯µ½×ÔÉí¡£"
+
+#: src/trash.c:126 src/utilops.c:2755
+#, fuzzy
+msgid "Could not create folder"
+msgstr "ÎÞ·¨´´½¨Ä¿Â¼"
+
+#: src/trash.c:148
+msgid "Permission denied"
+msgstr ""
+
+#: src/trash.c:158
+#, fuzzy, c-format
+msgid ""
+"Unable to access or create the trash folder.\n"
+"\"%s\""
+msgstr ""
+"ÎÞ·¨´´½¨Ä¿Â¼£º\n"
+"%s"
+
+#: src/trash.c:162
+#, fuzzy
+msgid "Turn off safe delete"
+msgstr "È·ÈÏɾ³ýÎļþ"
+
+#: src/trash.c:181
+msgid "Deletion by external command"
+msgstr ""
+
+#: src/trash.c:189
+#, c-format
+msgid " (max. %d MB)"
+msgstr ""
+
+#: src/trash.c:193
+#, fuzzy, c-format
+msgid ""
+"Safe delete: %s%s\n"
+"Trash: %s"
+msgstr "È·ÈÏɾ³ýÎļþ"
+
+#: src/trash.c:198
+#, fuzzy, c-format
+msgid "Safe delete: %s"
+msgstr "È·ÈÏɾ³ýÎļþ"
+
+#: src/ui_bookmark.c:151
+#, c-format
+msgid "Unable to write history lists to: %s\n"
+msgstr "ÎÞ·¨½«ÀúÊ·ÁбíдÈ룺%s\n"
+
+#: src/ui_bookmark.c:443 src/ui_bookmark.c:506
+msgid "New Bookmark"
+msgstr ""
+
+#: src/ui_bookmark.c:589 src/ui_bookmark.c:595
+#, fuzzy
+msgid "Edit Bookmark"
+msgstr "±à¼­Æ÷"
+
+#: src/ui_bookmark.c:610
+#, fuzzy
+msgid "Path:"
+msgstr "·¾¶"
+
+#: src/ui_bookmark.c:619
+msgid "Icon:"
+msgstr ""
+
+#: src/ui_bookmark.c:625
+#, fuzzy
+msgid "Select icon"
+msgstr "Çå³ýËùÓÐÑ¡Ôñ"
+
+#: src/ui_bookmark.c:716
+#, fuzzy
+msgid "_Properties..."
+msgstr "/±à¼­/Ñ¡Ïî(_O)..."
+
+#: src/ui_bookmark.c:718
+#, fuzzy
+msgid "Move _up"
+msgstr "Òƶ¯"
+
+#: src/ui_bookmark.c:720
+#, fuzzy
+msgid "Move _down"
+msgstr "Òƶ¯"
+
+#: src/ui_bookmark.c:722
+#, fuzzy
+msgid "_Remove"
+msgstr "ɾ³ý"
+
+#: src/ui_help.c:114
+#, c-format
+msgid ""
+"Unable to load:\n"
+"%s"
+msgstr ""
+"ÎÞ·¨×°È룺\n"
+"%s"
+
+#: src/ui_pathsel.c:438 src/utilops.c:2859
+#, c-format
+msgid "Failed to rename %s to %s."
+msgstr "½« %s ÖØÃüÃûΪ %s ʧ°Ü¡£"
+
+#: src/ui_pathsel.c:494 src/utilops.c:1510 src/utilops.c:1703
+#, c-format
+msgid ""
+"Unable to delete file:\n"
+"%s"
+msgstr ""
+"ÎÞ·¨É¾³ýÎļþ£º\n"
+"%s"
+
+#: src/ui_pathsel.c:495 src/utilops.c:1452 src/utilops.c:1472
+#: src/utilops.c:1684 src/utilops.c:1696 src/utilops.c:1704
+msgid "File deletion failed"
+msgstr "Îļþɾ³ýʧ°Ü"
+
+#: src/ui_pathsel.c:537 src/ui_pathsel.c:545 src/utilops.c:1734
+msgid "Delete file"
+msgstr "ɾ³ýÎļþ"
+
+#: src/ui_pathsel.c:543
+#, c-format
+msgid ""
+"About to delete the file:\n"
+" %s"
+msgstr ""
+"½«ÒªÉ¾³ýÎļþ£º\n"
+" %s"
+
+#: src/ui_pathsel.c:634 src/ui_pathsel.c:642 src/utilops.c:2428
+#: src/utilops.c:2690
+#, fuzzy
+msgid "_Rename"
+msgstr "ÖØÃüÃû"
+
+#: src/ui_pathsel.c:636 src/ui_pathsel.c:646
+#, fuzzy
+msgid "Add _Bookmark"
+msgstr "±à¼­Æ÷"
+
+#: src/ui_pathsel.c:644
+#, fuzzy
+msgid "_Delete"
+msgstr "ɾ³ý"
+
+#: src/ui_pathsel.c:748 src/ui_pathsel.c:1053 src/utilops.c:2807
+#, fuzzy
+msgid "New folder"
+msgstr "ÇóÖú - Geeqie"
+
+#: src/ui_pathsel.c:758 src/utilops.c:2762 src/view_dir.c:511
+#, fuzzy, c-format
+msgid ""
+"Unable to create folder:\n"
+"%s"
+msgstr ""
+"ÎÞ·¨´´½¨Ä¿Â¼£º\n"
+"%s"
+
+#: src/ui_pathsel.c:759 src/utilops.c:2763 src/view_dir.c:512
+#, fuzzy
+msgid "Error creating folder"
+msgstr "´´½¨Ä¿Â¼´íÎó"
+
+#: src/ui_pathsel.c:980
+msgid "All Files"
+msgstr "ËùÓÐÎļþ"
+
+#: src/ui_pathsel.c:1056
+msgid "Show hidden"
+msgstr "ÏÔʾÒþ²ØÎļþ"
+
+#: src/ui_pathsel.c:1140
+msgid "Filter:"
+msgstr "¹ýÂËÆ÷£º"
+
+#: src/ui_tabcomp.c:858
+#, fuzzy
+msgid "Select path"
+msgstr "È«Ñ¡"
+
+#: src/ui_tabcomp.c:874
+#, fuzzy
+msgid "All files"
+msgstr "ËùÓÐÎļþ"
+
+#: src/utilops.c:346 src/utilops.c:811 src/utilops.c:1048
+msgid "Error copying file"
+msgstr "¸´ÖÆÎļþ´íÎó"
+
+#: src/utilops.c:347
+#, fuzzy, c-format
+msgid ""
+"%s\n"
+"Unable to copy file:\n"
+"%s\n"
+"to:\n"
+"%s"
+msgstr ""
+"ÎÞ·¨½«Îļþ£º\n"
+"%s\n"
+"¸´ÖƵ½£º\n"
+"%s"
+
+#: src/utilops.c:390 src/utilops.c:816 src/utilops.c:1053
+msgid "Error moving file"
+msgstr "Òƶ¯Îļþ´íÎó"
+
+#: src/utilops.c:391
+#, fuzzy, c-format
+msgid ""
+"%s\n"
+"Unable to move file:\n"
+"%s\n"
+"to:\n"
+"%s"
+msgstr ""
+"ÎÞ·¨½«Îļþ£º\n"
+"%s\n"
+"Òƶ¯µ½£º\n"
+"%s"
+
+#: src/utilops.c:439 src/utilops.c:1920 src/utilops.c:2642
+#: src/view_file_list.c:391 src/view_file_list.c:397 src/view_file_list.c:411
+msgid "Error renaming file"
+msgstr "ÖØÃüÃûÎļþ´íÎó"
+
+#: src/utilops.c:440
+#, fuzzy, c-format
+msgid ""
+"%s\n"
+"Unable to rename file:\n"
+"%s\n"
+"to:\n"
+"%s"
+msgstr ""
+"ÎÞ·¨½«Îļþ£º\n"
+"%s\n"
+"ÖØÃüÃûΪ£º\n"
+"%s"
+
+#: src/utilops.c:651 src/utilops.c:981 src/utilops.c:1893 src/utilops.c:2613
+msgid "Overwrite file"
+msgstr "¸²¸ÇÎļþ"
+
+#: src/utilops.c:656 src/utilops.c:986 src/utilops.c:1898 src/utilops.c:2618
+#, fuzzy
+msgid "Overwrite file?"
+msgstr "¸²¸ÇÎļþ"
+
+#: src/utilops.c:657 src/utilops.c:987
+msgid "Replace existing file with new file."
+msgstr ""
+
+#: src/utilops.c:661
+#, fuzzy
+msgid "Overwrite _all"
+msgstr "¸²¸ÇÎļþ"
+
+#: src/utilops.c:663
+#, fuzzy
+msgid "S_kip all"
+msgstr "Ìø¹ý"
+
+#: src/utilops.c:664
+#, fuzzy
+msgid "_Skip"
+msgstr "Ìø¹ý"
+
+#: src/utilops.c:665 src/utilops.c:991 src/utilops.c:1904 src/utilops.c:2624
+#, fuzzy
+msgid "Existing file"
+msgstr "Òƶ¯Îļþ´íÎó"
+
+#: src/utilops.c:665 src/utilops.c:991 src/utilops.c:1905 src/utilops.c:2625
+#, fuzzy
+msgid "New file"
+msgstr "ÇóÖú - Geeqie"
+
+#: src/utilops.c:675 src/utilops.c:1000 src/utilops.c:2038 src/utilops.c:2094
+#: src/utilops.c:2167 src/utilops.c:2501
+#, fuzzy
+msgid "Auto rename"
+msgstr "²Ëµ¥Ãû"
+
+#: src/utilops.c:683 src/utilops.c:1008 src/utilops.c:2423 src/utilops.c:2682
+msgid "Rename"
+msgstr "ÖØÃüÃû"
+
+#: src/utilops.c:724
+msgid "Source to copy matches destination"
+msgstr "¸´ÖƵÄÔ´ÓëÄ¿±êÏàͬ"
+
+#: src/utilops.c:725
+#, c-format
+msgid ""
+"Unable to copy file:\n"
+"%s\n"
+"to itself."
+msgstr ""
+"ÎÞ·¨½«Îļþ£º\n"
+"%s\n"
+"¸´ÖƵ½×ÔÉí¡£"
+
+#: src/utilops.c:729
+msgid "Source to move matches destination"
+msgstr "Òƶ¯µÄÔ´ÓëÄ¿±êÏàͬ"
+
+#: src/utilops.c:730
+#, c-format
+msgid ""
+"Unable to move file:\n"
+"%s\n"
+"to itself."
+msgstr ""
+"ÎÞ·¨½«Îļþ£º\n"
+"%s\n"
+"Òƶ¯µ½×ÔÉí¡£"
+
+#: src/utilops.c:738 src/utilops.c:825 src/utilops.c:1408 src/utilops.c:1502
+#, fuzzy
+msgid "Co_ntinue"
+msgstr "¼ÌÐø"
+
+#: src/utilops.c:812
+#, fuzzy, c-format
+msgid ""
+"Unable to copy file:\n"
+"%s\n"
+"to:\n"
+"%s\n"
+"during multiple file copy."
+msgstr ""
+"ÔÚ¶àÎļþ¸´ÖÆʱ£¬ÎÞ·¨½«£º\n"
+"%s ¸´ÖƵ½£º\n"
+"%s\n"
+"¡£"
+
+#: src/utilops.c:817
+#, fuzzy, c-format
+msgid ""
+"Unable to move file:\n"
+"%s\n"
+"to:\n"
+"%s\n"
+"during multiple file move."
+msgstr ""
+"ÔÚ¶àÎļþÒƶ¯Ê±£¬ÎÞ·¨½«\n"
+"%s Òƶ¯µ½£º\n"
+"%s\n"
+"¡£"
+
+#: src/utilops.c:972
+msgid "Source matches destination"
+msgstr "Ô´ÓëÄ¿±êÏàͬ"
+
+#: src/utilops.c:973
+msgid "Source and destination are the same, operation cancelled."
+msgstr "Ô´ºÍÄ¿±êÏàͬ£¬²Ù×÷·ÅÆú¡£"
+
+#: src/utilops.c:1049
+#, c-format
+msgid ""
+"Unable to copy file:\n"
+"%s\n"
+"to:\n"
+"%s"
+msgstr ""
+"ÎÞ·¨½«Îļþ£º\n"
+"%s\n"
+"¸´ÖƵ½£º\n"
+"%s"
+
+#: src/utilops.c:1054
+#, c-format
+msgid ""
+"Unable to move file:\n"
+"%s\n"
+"to:\n"
+"%s"
+msgstr ""
+"ÎÞ·¨½«Îļþ£º\n"
+"%s\n"
+"Òƶ¯µ½£º\n"
+"%s"
+
+#: src/utilops.c:1102
+msgid "Invalid destination"
+msgstr "ÎÞЧµÄÄ¿±ê"
+
+#: src/utilops.c:1103
+#, fuzzy
+msgid ""
+"When operating with multiple files, please select\n"
+"a folder, not a file."
+msgstr ""
+"¶ÔÓÚ¶àÎļþ²Ù×÷£¬ÇëÑ¡ÔñĿ¼£¬\n"
+"¶ø²»ÊÇÎļþ¡£"
+
+#: src/utilops.c:1108
+#, fuzzy
+msgid "Please select an existing folder."
+msgstr "ÇëÑ¡ÔñÒ»¸öÒÑ´æÔÚµÄĿ¼"
+
+#: src/utilops.c:1178 src/view_dir.c:338
+#, fuzzy
+msgid "_Copy"
+msgstr "¸´ÖÆ"
+
+#: src/utilops.c:1181
+#, fuzzy
+msgid "Copy file"
+msgstr ""
+"½«Îļþ£º\n"
+"%s\n"
+"ÖØÃüÃûΪ£º"
+
+#: src/utilops.c:1185
+#, fuzzy
+msgid "Copy multiple files"
+msgstr "½«¶à¸öÎļþ¸´ÖƵ½£º"
+
+#: src/utilops.c:1192 src/view_dir.c:340
+#, fuzzy
+msgid "_Move"
+msgstr "Òƶ¯"
+
+#: src/utilops.c:1195
+#, fuzzy
+msgid "Move file"
+msgstr ""
+"½«Îļþ£º\n"
+"%s\n"
+"ÖØÃüÃûΪ£º"
+
+#: src/utilops.c:1199
+#, fuzzy
+msgid "Move multiple files"
+msgstr "½«¶à¸öÎļþÒƶ¯µ½£º"
+
+#: src/utilops.c:1214 src/utilops.c:1744
+#, fuzzy
+msgid "File name:"
+msgstr "ÖØÃüÃû£º"
+
+#: src/utilops.c:1218
+#, fuzzy
+msgid "Choose the destination folder."
+msgstr "Ô´ÓëÄ¿±êÏàͬ"
+
+#: src/utilops.c:1389
+#, fuzzy
+msgid ""
+"\n"
+"Unable to delete file by external command:\n"
+msgstr ""
+"ÎÞ·¨É¾³ýÎļþ£º\n"
+"%s"
+
+#: src/utilops.c:1401
+#, fuzzy
+msgid ""
+"\n"
+" Continue multiple delete operation?"
+msgstr ""
+"ÎÞ·¨É¾³ýÎļþ£º\n"
+" %s\n"
+" ¼ÌÐø½øÐжàÎļþɾ³ý²Ù×÷£¿"
+
+#: src/utilops.c:1452 src/utilops.c:1684
+msgid "Another operation in progress.\n"
+msgstr ""
+
+#: src/utilops.c:1471
+#, fuzzy, c-format
+msgid ""
+"%s\n"
+"Unable to delete files by external command.\n"
+msgstr ""
+"ÎÞ·¨É¾³ýÎļþ£º\n"
+"%s"
+
+#: src/utilops.c:1498
+#, c-format
+msgid ""
+"Unable to delete file:\n"
+" %s\n"
+" Continue multiple delete operation?"
+msgstr ""
+"ÎÞ·¨É¾³ýÎļþ£º\n"
+" %s\n"
+" ¼ÌÐø½øÐжàÎļþɾ³ý²Ù×÷£¿"
+
+#: src/utilops.c:1569
+#, c-format
+msgid "File %d of %d"
+msgstr ""
+
+#: src/utilops.c:1637
+#, fuzzy
+msgid "Delete files"
+msgstr "ɾ³ýÎļþ"
+
+#: src/utilops.c:1643
+#, fuzzy
+msgid "Delete multiple files"
+msgstr "ÖØÃüÃû¶à¸öÎļþ£º"
+
+#: src/utilops.c:1661
+#, fuzzy, c-format
+msgid "Review %d files"
+msgstr "%d Îļþ"
+
+#: src/utilops.c:1695
+#, fuzzy, c-format
+msgid ""
+"%s\n"
+"Unable to delete file by external command:\n"
+"%s"
+msgstr ""
+"ÎÞ·¨É¾³ýÎļþ£º\n"
+"%s"
+
+#: src/utilops.c:1740
+#, fuzzy
+msgid "Delete file?"
+msgstr "ɾ³ýÎļþ"
+
+#: src/utilops.c:1899 src/utilops.c:2619
+msgid "Replace existing file by renaming new file."
+msgstr ""
+
+#: src/utilops.c:1917
+#, c-format
+msgid ""
+"Unable to rename file:\n"
+"%s\n"
+" to:\n"
+"%s"
+msgstr ""
+"ÎÞ·¨½«Îļþ£º\n"
+"%s\n"
+" ÖØÃüÃûΪ£º\n"
+"%s"
+
+#: src/utilops.c:2039
+msgid "Format must include at least one of the symbol characters '*' or '#'.\n"
+msgstr ""
+
+#: src/utilops.c:2095
+msgid ""
+"Can not auto rename with the selected\n"
+"number set, one or more files exist that\n"
+"match the resulting name list.\n"
+msgstr ""
+
+#: src/utilops.c:2166
+#, fuzzy, c-format
+msgid ""
+"Failed to rename\n"
+"%s\n"
+"The number was %d."
+msgstr "½« %s ÖØÃüÃûΪ %s ʧ°Ü¡£"
+
+#: src/utilops.c:2427
+#, fuzzy
+msgid "Rename multiple files"
+msgstr "ÖØÃüÃû¶à¸öÎļþ£º"
+
+#: src/utilops.c:2461
+msgid "Original Name"
+msgstr ""
+
+#: src/utilops.c:2499
+#, fuzzy
+msgid "Manual rename"
+msgstr "²Ëµ¥Ãû"
+
+#: src/utilops.c:2500
+msgid "Formatted rename"
+msgstr ""
+
+#: src/utilops.c:2513 src/utilops.c:2697
+#, fuzzy
+msgid "Original name:"
+msgstr "ÖØÃüÃû£º"
+
+#: src/utilops.c:2516 src/utilops.c:2700
+#, fuzzy
+msgid "New name:"
+msgstr "ÖØÃüÃû£º"
+
+#: src/utilops.c:2534
+msgid "Begin text"
+msgstr ""
+
+#: src/utilops.c:2542 src/utilops.c:2574
+msgid "Start #"
+msgstr ""
+
+#: src/utilops.c:2548
+msgid "End text"
+msgstr ""
+
+#: src/utilops.c:2556
+msgid "Padding:"
+msgstr ""
+
+#: src/utilops.c:2566
+msgid "Format (* = original name, ## = numbers)"
+msgstr ""
+
+#: src/utilops.c:2641 src/view_file_list.c:410
+#, c-format
+msgid ""
+"Unable to rename file:\n"
+"%s\n"
+"to:\n"
+"%s"
+msgstr ""
+"ÎÞ·¨½«Îļþ£º\n"
+"%s\n"
+"ÖØÃüÃûΪ£º\n"
+"%s"
+
+#: src/utilops.c:2687
+#, fuzzy
+msgid "Rename file"
+msgstr ""
+"½«Îļþ£º\n"
+"%s\n"
+"ÖØÃüÃûΪ£º"
+
+#: src/utilops.c:2748 src/utilops.c:2841
+#, fuzzy, c-format
+msgid ""
+"The folder:\n"
+"%s\n"
+"already exists."
+msgstr ""
+"Ŀ¼£º\n"
+"%s\n"
+"ÒÑ´æÔÚ¡£"
+
+#: src/utilops.c:2749 src/utilops.c:2842
+#, fuzzy
+msgid "Folder exists"
+msgstr "ƽÆÌ"
+
+#: src/utilops.c:2754 src/utilops.c:2850
+#, c-format
+msgid ""
+"The path:\n"
+"%s\n"
+"already exists as a file."
+msgstr ""
+"·¾¶£º\n"
+"%s\n"
+"ÊÇÒ»¸öÒÑ´æÔÚµÄÎļþ¡£"
+
+#: src/utilops.c:2812
+#, fuzzy, c-format
+msgid ""
+"Create folder in:\n"
+"%s\n"
+"named:"
+msgstr ""
+"ÔÚ\n"
+"%s\n"
+"´´½¨Ä¿Â¼£¬²¢ÃüÃûΪ£º"
+
+#: src/utilops.c:2851 src/utilops.c:2860
+#, fuzzy
+msgid "Rename failed"
+msgstr ""
+"½«Îļþ£º\n"
+"%s\n"
+"ÖØÃüÃûΪ£º"
+
+#: src/utilops.c:2967
+#, fuzzy
+msgid "Location"
+msgstr "ͼÏñ¼¯"
+
+#: src/utilops.c:3145
+#, fuzzy, c-format
+msgid ""
+"Unable to delete folder:\n"
+"\n"
+"%s"
+msgstr ""
+"ÎÞ·¨É¾³ýÎļþ£º\n"
+"%s"
+
+#: src/utilops.c:3152
+#, c-format
+msgid ""
+"Removal of folder contents failed at this file:\n"
+"\n"
+"%s"
+msgstr ""
+
+#: src/utilops.c:3207 src/utilops.c:3291
+#, fuzzy
+msgid "Delete folder"
+msgstr "Çå³ýËùÓÐÑ¡Ôñ"
+
+#: src/utilops.c:3211
+#, c-format
+msgid ""
+"This will delete the symbolic link:\n"
+"\n"
+"%s\n"
+"\n"
+"The folder this link points to will not be deleted."
+msgstr ""
+
+#: src/utilops.c:3215
+msgid "Delete symbolic link to folder?"
+msgstr ""
+
+#: src/utilops.c:3230
+#, fuzzy, c-format
+msgid ""
+"Unable to remove folder %s\n"
+"Permissions do not allow writing to the folder."
+msgstr ""
+"ÎÞ·¨½«Îļþ£º\n"
+"%s\n"
+"Òƶ¯µ½×ÔÉí¡£"
+
+#: src/utilops.c:3242
+#, fuzzy, c-format
+msgid "Unable to list contents of folder %s"
+msgstr ""
+"ÎÞ·¨´´½¨Ä¿Â¼£º\n"
+"%s"
+
+#: src/utilops.c:3256 src/utilops.c:3264
+#, fuzzy
+msgid "Folder contains subfolders"
+msgstr "·Ç·¨ÎļþÃû"
+
+#: src/utilops.c:3260
+#, c-format
+msgid ""
+"Unable to delete the folder:\n"
+"\n"
+"%s\n"
+"\n"
+"This folder contains subfolders which must be moved before it can be deleted."
+msgstr ""
+
+#: src/utilops.c:3268
+#, fuzzy
+msgid "Subfolders:"
+msgstr "ƽÆÌ"
+
+#: src/utilops.c:3295
+#, c-format
+msgid ""
+"This will delete the folder:\n"
+"\n"
+"%s\n"
+"\n"
+"The contents of this folder will also be deleted."
+msgstr ""
+
+#: src/utilops.c:3299
+#, fuzzy
+msgid "Delete folder?"
+msgstr "ɾ³ýÎļþ"
+
+#: src/utilops.c:3303
+#, fuzzy
+msgid "Contents:"
+msgstr "/ÇóÖú/¹ØÓÚ(_A)"
+
+#: src/view_dir.c:30
+#, fuzzy
+msgid "_Tree"
+msgstr "/²é¿´/µÚÈý¶Î"
+
+#: src/view_dir.c:502
+msgid "new_folder"
+msgstr ""
+
+#: src/view_dir.c:587
+msgid "_Up to parent"
+msgstr ""
+
+#: src/view_dir.c:592
+#, fuzzy
+msgid "_Slideshow"
+msgstr "»ÃµÆƬ"
+
+#: src/view_dir.c:594
+msgid "Slideshow recursive"
+msgstr "µÝ¹é»ÃµÆƬ"
+
+#: src/view_dir.c:598
+#, fuzzy
+msgid "Find _duplicates..."
+msgstr "Ñ°ÕÒ¸±±¾..."
+
+#: src/view_dir.c:600
+msgid "Find duplicates recursive..."
+msgstr "µÝ¹éÑ°ÕÒ¸±±¾..."
+
+#: src/view_dir.c:605
+msgid "_New folder..."
+msgstr ""
+
+#: src/view_dir.c:619
+#, fuzzy
+msgid "_View as"
+msgstr "/²é¿´(_V)"
+
+#: src/view_dir.c:631
+#, fuzzy
+msgid "Show _hidden files"
+msgstr "ÏÔʾÒþ²ØÎļþ"
+
+#: src/view_dir.c:634 src/view_file.c:606
+#, fuzzy
+msgid "Re_fresh"
+msgstr "Ë¢ÐÂ"
+
+#: src/view_file.c:588
+#, fuzzy
+msgid "_Sort"
+msgstr "ÅÅÐò"
+
+#: src/view_file.c:591
+#, fuzzy
+msgid "View as _icons"
+msgstr "³ß´ç"
+
+#: src/view_file.c:597
+#, fuzzy
+msgid "Show _thumbnails"
+msgstr "»º´æËõÂÔͼ"
+
+#: src/view_file_list.c:390
+#, c-format
+msgid ""
+"Invalid file name:\n"
+"%s"
+msgstr ""
+"·Ç·¨ÎļþÃû£º\n"
+"%s"
+
+#: src/view_file_list.c:1821
+msgid "SC"
+msgstr ""
+
+#: src/window.c:226
+#, fuzzy
+msgid "Help"
+msgstr "/ÇóÖú(_H)"
+
+#, fuzzy
+#~ msgid "Change to folder:"
+#~ msgstr "»Øµ½¼ÒĿ¼"
+
+#, fuzzy
+#~ msgid "Reset fullscreen info string"
+#~ msgstr "È«ÆÁ"
+
+#, fuzzy
+#~ msgid "Always show fullscreen info"
+#~ msgstr "Í˳öÈ«ÆÁ"
+
+#, fuzzy
+#~ msgid "Fullscreen info string"
+#~ msgstr "È«ÆÁ"
+
+#, fuzzy
+#~ msgid "List"
+#~ msgstr "/²é¿´/¸üÐÂÁбí(_R)"
+
+#, fuzzy
+#~ msgid "View as _tree"
+#~ msgstr "/²é¿´/È«ÆÁ(_U)"
+
+#~ msgid "Show entries that begin with a dot"
+#~ msgstr "ÏÔʾÒþ²ØÎļþ"
+
+#~ msgid "Find duplicates - Geeqie"
+#~ msgstr "Îļþ¸´ÖÆ - Geeqie"
+
+#~ msgid "Geeqie full screen"
+#~ msgstr "Geeqie È«ÆÁ"
+
+#~ msgid "Geeqie Tools"
+#~ msgstr "Geeqie ¹¤¾ßÀ¸"
+
+#~ msgid "Help - Geeqie"
+#~ msgstr "ÇóÖú - Geeqie"
+
+#~ msgid "Geeqie - exit"
+#~ msgstr "Geeqie - Í˳ö"
+
+#, fuzzy
+#~ msgid "Quit Geeqie"
+#~ msgstr "ÇóÖú - Geeqie"
+
+#, fuzzy
+#~ msgid "Pan View - Geeqie"
+#~ msgstr "ÇóÖú - Geeqie"
+
+#, fuzzy
+#~ msgid "About - Geeqie"
+#~ msgstr "ÇóÖú - Geeqie"
+
+#, fuzzy
+#~ msgid "Print - Geeqie"
+#~ msgstr "ÇóÖú - Geeqie"
+
+#, fuzzy
+#~ msgid "Copy - Geeqie"
+#~ msgstr "ÇóÖú - Geeqie"
+
+#, fuzzy
+#~ msgid "Move - Geeqie"
+#~ msgstr "ÇóÖú - Geeqie"
+
+#, fuzzy
+#~ msgid "Delete files - Geeqie"
+#~ msgstr "ɾ³ýÎļþ"
+
+#, fuzzy
+#~ msgid "Delete file - Geeqie"
+#~ msgstr "ɾ³ýÎļþ"
+
+#, fuzzy
+#~ msgid "Rename - Geeqie"
+#~ msgstr "ÇóÖú - Geeqie"
+
+#, fuzzy
+#~ msgid "New folder - Geeqie"
+#~ msgstr "ÇóÖú - Geeqie"
+
+#~ msgid "/File/tear1"
+#~ msgstr "/Îļþ/Ƭ¶Î1"
+
+#~ msgid "/File/_New collection"
+#~ msgstr "/Îļþ/ÐÂͼÏñ¼¯"
+
+#~ msgid "/File/_Open collection..."
+#~ msgstr "/Îļþ/´ò¿ªÍ¼Ïñ¼¯(_O)..."
+
+#~ msgid "/File/sep1"
+#~ msgstr "/Îļþ/µÚÒ»¶Î"
+
+#, fuzzy
+#~ msgid "/File/_Search..."
+#~ msgstr "/Îļþ/ÖØÃüÃû(_R)..."
+
+#~ msgid "/File/_Find duplicates..."
+#~ msgstr "/Îļþ/Ñ°ÕÒ¸±±¾(_F)..."
+
+#~ msgid "/File/sep2"
+#~ msgstr "/Îļþ/µÚ¶þ¶Î"
+
+#, fuzzy
+#~ msgid "/File/_Print..."
+#~ msgstr "/Îļþ/ÖØÃüÃû(_R)..."
+
+#, fuzzy
+#~ msgid "/File/N_ew folder..."
+#~ msgstr "/Îļþ/ɾ³ý(_D)..."
+
+#~ msgid "/File/sep3"
+#~ msgstr "/Îļþ/µÚÈý¶Î"
+
+#~ msgid "/File/_Copy..."
+#~ msgstr "/Îļþ/¸´ÖÆ(_C)..."
+
+#~ msgid "/File/_Move..."
+#~ msgstr "/Îļþ/Òƶ¯(_M)..."
+
+#~ msgid "/File/_Rename..."
+#~ msgstr "/Îļþ/ÖØÃüÃû(_R)..."
+
+#~ msgid "/File/_Delete..."
+#~ msgstr "/Îļþ/ɾ³ý(_D)..."
+
+#~ msgid "/File/sep4"
+#~ msgstr "/Îļþ/µÚËĶÎ"
+
+#, fuzzy
+#~ msgid "/File/C_lose window"
+#~ msgstr "¹Ø±Õ´°¿Ú"
+
+#, fuzzy
+#~ msgid "/File/_Quit"
+#~ msgstr "/Îļþ/Í˳ö(_X)"
+
+#~ msgid "/_Edit"
+#~ msgstr "/±à¼­(_E)"
+
+#~ msgid "/Edit/tear1"
+#~ msgstr "/±à¼­/Ƭ¶Î1"
+
+#~ msgid "/Edit/editor1"
+#~ msgstr "/±à¼­/±à¼­Æ÷1"
+
+#~ msgid "/Edit/editor2"
+#~ msgstr "/±à¼­/±à¼­Æ÷2"
+
+#~ msgid "/Edit/editor3"
+#~ msgstr "/±à¼­/±à¼­Æ÷3"
+
+#~ msgid "/Edit/editor4"
+#~ msgstr "/±à¼­/±à¼­Æ÷4"
+
+#~ msgid "/Edit/editor5"
+#~ msgstr "/±à¼­/±à¼­Æ÷5"
+
+#~ msgid "/Edit/editor6"
+#~ msgstr "/±à¼­/±à¼­Æ÷6"
+
+#~ msgid "/Edit/editor7"
+#~ msgstr "/±à¼­/±à¼­Æ÷7"
+
+#~ msgid "/Edit/editor8"
+#~ msgstr "/±à¼­/±à¼­Æ÷8"
+
+#, fuzzy
+#~ msgid "/Edit/editor9"
+#~ msgstr "/±à¼­/±à¼­Æ÷1"
+
+#, fuzzy
+#~ msgid "/Edit/editor0"
+#~ msgstr "/±à¼­/±à¼­Æ÷1"
+
+#~ msgid "/Edit/sep1"
+#~ msgstr "/±à¼­/µÚÒ»¶Î"
+
+#~ msgid "/Edit/_Adjust"
+#~ msgstr "/±à¼­/µ÷Õû(_A)"
+
+#, fuzzy
+#~ msgid "/Edit/_Properties"
+#~ msgstr "/±à¼­/Ñ¡Ïî(_O)..."
+
+#~ msgid "/Edit/Adjust/tear1"
+#~ msgstr "/±à¼­/µ÷Õû/Ƭ¶Î1"
+
+#~ msgid "/Edit/Adjust/_Rotate clockwise"
+#~ msgstr "/±à¼­/µ÷Õû/˳ʱÕëÐýת(_R)"
+
+#~ msgid "/Edit/Adjust/Rotate _counterclockwise"
+#~ msgstr "/±à¼­/µ÷Õû/ÄæʱÕëÐýת(_C)"
+
+#~ msgid "/Edit/Adjust/Rotate 1_80"
+#~ msgstr "/±à¼­/µ÷Õû/Ðýת 180 ¶È"
+
+#~ msgid "/Edit/Adjust/_Mirror"
+#~ msgstr "/±à¼­/µ÷Õû/¾µÏñ(_M)"
+
+#~ msgid "/Edit/Adjust/_Flip"
+#~ msgstr "/±à¼­/µ÷Õû/·­×ª(_F)"
+
+#~ msgid "/Edit/sep2"
+#~ msgstr "/±à¼­/µÚ¶þ¶Î"
+
+#~ msgid "/Edit/Select _all"
+#~ msgstr "/±à¼­/È«Ñ¡(_A)"
+
+#~ msgid "/Edit/Select _none"
+#~ msgstr "/±à¼­/Çå³ýËùÓÐÑ¡Ôñ(_N)"
+
+#~ msgid "/Edit/sep3"
+#~ msgstr "/±à¼­/µÚÈý¶Î"
+
+#~ msgid "/Edit/_Options..."
+#~ msgstr "/±à¼­/Ñ¡Ïî(_O)..."
+
+#~ msgid "/Edit/sep4"
+#~ msgstr "/±à¼­/µÚËĶÎ"
+
+#~ msgid "/Edit/Set as _wallpaper"
+#~ msgstr "/±à¼­/ÉèÖÃΪǽֽ(_W)"
+
+#~ msgid "/_View"
+#~ msgstr "/²é¿´(_V)"
+
+#~ msgid "/View/tear1"
+#~ msgstr "/²é¿´/Ƭ¶Î1"
+
+#~ msgid "/View/Zoom _in"
+#~ msgstr "/²é¿´/·Å´ó(_I)"
+
+#~ msgid "/View/Zoom _out"
+#~ msgstr "/²é¿´/ËõС(_O)"
+
+#~ msgid "/View/Zoom _1:1"
+#~ msgstr "/²é¿´/Ëõ·Åµ½ 1:1(_1)"
+
+#~ msgid "/View/sep1"
+#~ msgstr "/²é¿´/µÚÒ»¶Î"
+
+#~ msgid "/View/_Thumbnails"
+#~ msgstr "/²é¿´/ËõÂÔͼ(_T)"
+
+#~ msgid "/View/sep2"
+#~ msgstr "/²é¿´/µÚ¶þ¶Î"
+
+#~ msgid "/View/F_ull screen"
+#~ msgstr "/²é¿´/È«ÆÁ(_U)"
+
+#~ msgid "/View/sep3"
+#~ msgstr "/²é¿´/µÚÈý¶Î"
+
+#, fuzzy
+#~ msgid "/View/_Hide file list"
+#~ msgstr "/²é¿´/(²»)Òþ²ØÎļþÁбí(_H)"
+
+#, fuzzy
+#~ msgid "/View/sep4"
+#~ msgstr "/²é¿´/µÚÒ»¶Î"
+
+#, fuzzy
+#~ msgid "/View/Sort _manager"
+#~ msgstr "/²é¿´/·Å´ó(_I)"
+
+#, fuzzy
+#~ msgid "/View/sep5"
+#~ msgstr "/²é¿´/µÚÒ»¶Î"
+
+#~ msgid "/View/Toggle _slideshow"
+#~ msgstr "/²é¿´/Çл»»ÃµÆÏÔʾ(_S)"
+
+#~ msgid "/View/_Refresh Lists"
+#~ msgstr "/²é¿´/¸üÐÂÁбí(_R)"
+
+#~ msgid "/Help/tear1"
+#~ msgstr "/ÇóÖú/Ƭ¶Î1"
+
+#~ msgid "/Help/sep1"
+#~ msgstr "/ÇóÖú/µÚÒ»¶Î"
+
+#~ msgid "/Help/_About"
+#~ msgstr "/ÇóÖú/¹ØÓÚ(_A)"
+
+#~ msgid "Geeqie configuration"
+#~ msgstr "Geeqie ÅäÖÃ"
+
+#~ msgid "/Edit/_Remove old thumbnails"
+#~ msgstr "/±à¼­/ɾ³ýÔ­À´µÄËõÂÔͼ(_R)"
+
+#, fuzzy
+#~ msgid "path"
+#~ msgstr "·¾¶"
+
+#~ msgid "Save"
+#~ msgstr "±£´æ"
+
+#~ msgid ""
+#~ "Overwrite collection file:\n"
+#~ "%s"
+#~ msgstr ""
+#~ "¸²¸ÇͼÏñ¼¯Îļþ£º\n"
+#~ "%s"
+
+#~ msgid "Save collection as:"
+#~ msgstr "½«Í¼Ïñ¼¯Áí´æΪ£º"
+
+#~ msgid "Open collection from:"
+#~ msgstr "´Ó´Ë´¦´ò¿ªÍ¼Ïñ¼¯£º"
+
+#~ msgid "Open"
+#~ msgstr "´ò¿ª"
+
+#~ msgid "Append collection from:"
+#~ msgstr "´Ó´Ë´¦×·¼ÓͼÏñ¼¯£º"
+
+#~ msgid "Exit"
+#~ msgstr "Í˳ö"
+
+#~ msgid "Ok"
+#~ msgstr "È·¶¨"
+
+#, fuzzy
+#~ msgid "Initial folder"
+#~ msgstr "·Ç·¨ÎļþÃû"
+
+#, fuzzy
+#~ msgid "On startup, change to this folder:"
+#~ msgstr "µ±Æô¶¯Ê±¸Ä±äµ½´ËĿ¼£º"
+
+#~ msgid "Zoom (scaling):"
+#~ msgstr "Ëõ·Å£º"
+
+#~ msgid "Place dialogs under mouse"
+#~ msgstr "½«¶Ô»°¿òÖÃÓÚÊó±êλÖÃ"
+
+#~ msgid "Include files of type:"
+#~ msgstr "°üº¬ÎļþÀàÐÍ£º"
+
+#~ msgid "Remove"
+#~ msgstr "ɾ³ý"
+
+#, fuzzy
+#~ msgid "Point size:"
+#~ msgstr "ƽÆÌ"
+
+#~ msgid ""
+#~ "Overwrite file:\n"
+#~ " %s\n"
+#~ " with:\n"
+#~ " %s"
+#~ msgstr ""
+#~ "¸²¸ÇÎļþ£º\n"
+#~ " %s\n"
+#~ " ÒÔ£º\n"
+#~ " %s"
+
+#~ msgid "Yes"
+#~ msgstr "ÊÇ"
+
+#~ msgid "Yes to all"
+#~ msgstr "È«¶¼ÊÇ"
+
+#~ msgid ""
+#~ "Overwrite file:\n"
+#~ "%s\n"
+#~ " with:\n"
+#~ "%s"
+#~ msgstr ""
+#~ "¸²¸ÇÎļþ£º\n"
+#~ " %s\n"
+#~ " ÒÔ£º\n"
+#~ " %s"
+
+#~ msgid ""
+#~ "Copy file:\n"
+#~ "%s\n"
+#~ "to:"
+#~ msgstr ""
+#~ "½«Îļþ£º\n"
+#~ "%s\n"
+#~ "µ½£º"
+
+#~ msgid ""
+#~ "Move file:\n"
+#~ "%s\n"
+#~ "to:"
+#~ msgstr ""
+#~ "½«Îļþ£º\n"
+#~ "%s\n"
+#~ "Òƶ¯µ½£º"
+
+#~ msgid "About to delete multiple files..."
+#~ msgstr "½«ÒªÉ¾³ý¶à¸öÎļþ..."
+
+#~ msgid ""
+#~ "Overwrite file:\n"
+#~ "%s\n"
+#~ "by renaming:\n"
+#~ "%s"
+#~ msgstr ""
+#~ "¸²¸ÇÎļþ£º\n"
+#~ "%s\n"
+#~ "¸üÃûΪ£º\n"
+#~ "%s"
+
+#~ msgid "to:"
+#~ msgstr "µ½£º"
+
+#~ msgid "Create"
+#~ msgstr "´´½¨"
+
+#~ msgid "Initial directory"
+#~ msgstr "³õʼĿ¼"
+
+#~ msgid ""
+#~ "Unable to create directory:\n"
+#~ "%s"
+#~ msgstr ""
+#~ "ÎÞ·¨´´½¨Ä¿Â¼£º\n"
+#~ "%s"
+
+#~ msgid "Error creating directory"
+#~ msgstr "´´½¨Ä¿Â¼´íÎó"
+
+#, fuzzy
+#~ msgid "/View/Image _details"
+#~ msgstr "/²é¿´/Çл»»ÃµÆÏÔʾ(_S)"
+
+#~ msgid "Add contents"
+#~ msgstr "Ìí¼ÓÄÚÈÝ"
+
+#~ msgid "Add contents recursive"
+#~ msgstr "µÝ¹éÌí¼ÓÄÚÈÝ"
+
+#~ msgid "Skip directories"
+#~ msgstr "ºöÂÔĿ¼"
+
+#~ msgid "Invalid directory"
+#~ msgstr "ÎÞЧµÄĿ¼"
+
+#~ msgid "Geeqie - copy"
+#~ msgstr "Geeqie - ¸´ÖÆ"
+
+#~ msgid "Geeqie - move"
+#~ msgstr "Geeqie - Òƶ¯"
+
+#~ msgid "Directory exists"
+#~ msgstr "Ŀ¼ÒÑ´æÔÚ"
+
+#~ msgid "Geeqie - new directory"
+#~ msgstr "Geeqie - н¨Ä¿Â¼"
+
+#~ msgid "/File/Create _Dir..."
+#~ msgstr "/Îļþ/´´½¨Ä¿Â¼(_D)..."
+
+#~ msgid "Edit"
+#~ msgstr "±à¼­"
+
+#~ msgid "Insert file drops at pointer location"
+#~ msgstr "ÔÚÊó±ê¹â±êλÖòåÈëÍÏ·ÅÎļþ"
+
+#~ msgid "File named %s already exists."
+#~ msgstr "ÃûΪ %s µÄÎļþÒÑ´æÔÚ¡£"
+
+#, fuzzy
+#~ msgid "top"
+#~ msgstr "µ½£º"
+
+#~ msgid "Geeqie running: %s\n"
+#~ msgstr "Geeqie ÔËÐУº%s\n"
+
+#~ msgid "Electric Eyes"
+#~ msgstr "µçÑÛ"
+
+#~ msgid "Apply"
+#~ msgstr "Ó¦ÓÃ"
+
+#~ msgid "format: [.foo;.bar]"
+#~ msgstr "¸ñʽ£º[.foo;.bar]"
+
+#~ msgid "Unable to delete dir: %s\n"
+#~ msgstr "ÎÞ·¨É¾³ýĿ¼: %s\n"
+
+#~ msgid "create dir failed: %s\n"
+#~ msgstr "´´½¨Ä¿Â¼Ê§°Ü: %s\n"
+
+#~ msgid "     Ok     "
+#~ msgstr "    È·¶¨    "
+
+#~ msgid "External Editors"
+#~ msgstr "ÄÚ²¿±à¼­Æ÷"
--- a/src/.cvsignore	Sun May 27 18:41:56 2012 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,4 +0,0 @@
-.deps
-Makefile.in
-Makefile
-gqview
--- a/src/Makefile.am	Sun May 27 18:41:56 2012 +0100
+++ b/src/Makefile.am	Tue Oct 02 22:19:13 2012 +0100
@@ -8,6 +8,8 @@
 	$(LIBCHAMPLAIN_CFLAGS)		\
 	$(LIBCHAMPLAIN_GTK_CFLAGS)	\
 	$(LUA_CFLAGS)			\
+	$(CLUTTER_CFLAGS)		\
+	$(CLUTTER_GTK_CFLAGS)	\
 	-I$(top_srcdir)			\
 	-I$(top_builddir)
 
@@ -19,6 +21,8 @@
 	$(LIBCHAMPLAIN_CFLAGS)		\
 	$(LIBCHAMPLAIN_GTK_CFLAGS)	\
 	$(LUA_CFLAGS)			\
+	$(CLUTTER_CFLAGS)		\
+	$(CLUTTER_GTK_CFLAGS)	\
 	-I$(top_srcdir)			\
 	-I$(top_builddir)
 
@@ -211,6 +215,8 @@
 	pixbuf-renderer.h	\
 	renderer-tiles.c	\
 	renderer-tiles.h	\
+	renderer-clutter.c	\
+	renderer-clutter.h	\
 	pixbuf_util.c	\
 	pixbuf_util.h	\
 	preferences.c	\
@@ -256,7 +262,7 @@
 	window.h	\
 	lua.c
 
-geeqie_LDADD = $(GTK_LIBS) $(GLIB_LIBS) $(INTLLIBS) $(JPEG_LIBS) $(TIFF_LIBS) $(LCMS_LIBS) $(EXIV2_LIBS) $(LIBCHAMPLAIN_LIBS) $(LIBCHAMPLAIN_GTK_LIBS) $(LUA_LIBS)
+geeqie_LDADD = $(GTK_LIBS) $(GLIB_LIBS) $(INTLLIBS) $(JPEG_LIBS) $(TIFF_LIBS) $(LCMS_LIBS) $(EXIV2_LIBS) $(LIBCHAMPLAIN_LIBS) $(LIBCHAMPLAIN_GTK_LIBS) $(LUA_LIBS) $(CLUTTER_LIBS) $(CLUTTER_GTK_LIBS)
 
 EXTRA_DIST = \
 	$(extra_SLIK)
--- a/src/advanced_exif.c	Sun May 27 18:41:56 2012 +0100
+++ b/src/advanced_exif.c	Tue Oct 02 22:19:13 2012 +0100
@@ -1,7 +1,7 @@
 /*
  * Geeqie
  * (C) 2004 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * Author: John Ellis
  *
@@ -85,11 +85,11 @@
 	ExifItem *item;
 
 	exif = exif_read_fd(ew->fd);
-	
+
 	gtk_widget_set_sensitive(ew->scrolled, !!exif);
 
 	if (!exif) return;
-	
+
 	exif_original = exif_get_original(exif);
 
 	store = GTK_LIST_STORE(gtk_tree_view_get_model(GTK_TREE_VIEW(ew->listview)));
@@ -114,7 +114,7 @@
 		g_free(text);
 		elements = g_strdup_printf("%d", exif_item_get_elements(item));
 		description = exif_item_get_description(item);
-		if (!description || *description == '\0') 
+		if (!description || *description == '\0')
 			{
 			g_free(description);
 			description = g_strdup(tag_name);
@@ -176,10 +176,10 @@
 				  guint time, gpointer data)
 {
 	//ExifWin *ew = data;
-	GtkTreeSelection *sel = gtk_tree_view_get_selection(GTK_TREE_VIEW(listview)); 
+	GtkTreeSelection *sel = gtk_tree_view_get_selection(GTK_TREE_VIEW(listview));
 	GtkTreeIter iter;
 
-	if (gtk_tree_selection_get_selected(sel, NULL, &iter)) 
+	if (gtk_tree_selection_get_selected(sel, NULL, &iter))
 		{
 		GtkTreeModel *store = gtk_tree_view_get_model(GTK_TREE_VIEW(listview));
 		gchar *key;
@@ -196,10 +196,10 @@
 static void advanced_exif_dnd_begin(GtkWidget *listview, GdkDragContext *context, gpointer data)
 {
 	//ExifWin *ew = data;
-	GtkTreeSelection *sel = gtk_tree_view_get_selection(GTK_TREE_VIEW(listview)); 
+	GtkTreeSelection *sel = gtk_tree_view_get_selection(GTK_TREE_VIEW(listview));
 	GtkTreeIter iter;
 
-	if (gtk_tree_selection_get_selected(sel, NULL, &iter)) 
+	if (gtk_tree_selection_get_selected(sel, NULL, &iter))
 		{
 		GtkTreeModel *store = gtk_tree_view_get_model(GTK_TREE_VIEW(listview));
 		gchar *key;
@@ -230,7 +230,7 @@
 		{
 		gtk_tree_view_column_set_sizing(column, GTK_TREE_VIEW_COLUMN_AUTOSIZE);
 		}
-	
+
 	gtk_tree_view_column_set_resizable(column, TRUE);
 	gtk_tree_view_column_set_sort_column_id(column, n);
 
@@ -379,7 +379,7 @@
 	advanced_exif_add_column(ew->listview, _("Tag"), EXIF_ADVCOL_TAG, FALSE);
 	advanced_exif_add_column(ew->listview, _("Format"), EXIF_ADVCOL_FORMAT, FALSE);
 	advanced_exif_add_column(ew->listview, _("Elements"), EXIF_ADVCOL_ELEMENTS, FALSE);
-	
+
 
 	gtk_drag_source_set(ew->listview,
 			   GDK_BUTTON1_MASK | GDK_BUTTON2_MASK,
--- a/src/advanced_exif.h	Sun May 27 18:41:56 2012 +0100
+++ b/src/advanced_exif.h	Tue Oct 02 22:19:13 2012 +0100
@@ -1,7 +1,7 @@
 /*
  * Geeqie
  * (C) 2004 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * Author: John Ellis
  *
--- a/src/bar.c	Sun May 27 18:41:56 2012 +0100
+++ b/src/bar.c	Tue Oct 02 22:19:13 2012 +0100
@@ -1,7 +1,7 @@
 /*
  * Geeqie
  * (C) 2004 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * Author: Vladimir Nadvornik
  *
@@ -40,7 +40,7 @@
 	const gchar *config;
 };
 
-static const gchar default_config_histogram[] = 
+static const gchar default_config_histogram[] =
 "<gq>"
 "    <layout id = '_current_'>"
 "        <bar>"
@@ -49,7 +49,7 @@
 "    </layout>"
 "</gq>";
 
-static const gchar default_config_title[] = 
+static const gchar default_config_title[] =
 "<gq>"
 "    <layout id = '_current_'>"
 "        <bar>"
@@ -58,7 +58,7 @@
 "    </layout>"
 "</gq>";
 
-static const gchar default_config_keywords[] = 
+static const gchar default_config_keywords[] =
 "<gq>"
 "    <layout id = '_current_'>"
 "        <bar>"
@@ -67,7 +67,7 @@
 "    </layout>"
 "</gq>";
 
-static const gchar default_config_comment[] = 
+static const gchar default_config_comment[] =
 "<gq>"
 "    <layout id = '_current_'>"
 "        <bar>"
@@ -76,7 +76,7 @@
 "    </layout>"
 "</gq>";
 
-static const gchar default_config_exif[] = 
+static const gchar default_config_exif[] =
 "<gq>"
 "    <layout id = '_current_'>"
 "        <bar>"
@@ -102,7 +102,7 @@
 "    </layout>"
 "</gq>";
 
-static const gchar default_config_file_info[] = 
+static const gchar default_config_file_info[] =
 "<gq>"
 "    <layout id = '_current_'>"
 "        <bar>"
@@ -115,7 +115,7 @@
 "    </layout>"
 "</gq>";
 
-static const gchar default_config_location[] = 
+static const gchar default_config_location[] =
 "<gq>"
 "    <layout id = '_current_'>"
 "        <bar>"
@@ -132,7 +132,7 @@
 "    </layout>"
 "</gq>";
 
-static const gchar default_config_copyright[] = 
+static const gchar default_config_copyright[] =
 "<gq>"
 "    <layout id = '_current_'>"
 "        <bar>"
@@ -147,7 +147,7 @@
 
 #ifdef HAVE_LIBCHAMPLAIN
 #ifdef HAVE_LIBCHAMPLAIN_GTK
-static const gchar default_config_gps[] = 
+static const gchar default_config_gps[] =
 "<gq>"
 "    <layout id = '_current_'>"
 "        <bar>"
@@ -202,9 +202,9 @@
 	if (!expander) return;
 	box = gtk_widget_get_ancestor(expander, GTK_TYPE_BOX);
 	if (!box) return;
-	
+
 	gtk_container_child_get(GTK_CONTAINER(box), expander, "position", &pos, NULL);
-	
+
 	if (single_step)
 		{
 		pos = up ? (pos - 1) : (pos + 1);
@@ -214,7 +214,7 @@
 		{
 		pos = up ? 0 : -1;
 		}
-	
+
 	gtk_box_reorder_child(GTK_BOX(box), expander, pos);
 }
 
@@ -253,14 +253,14 @@
 	const gchar *config;
 
 	if (!id) return;
-	
+
 	while (pane->id)
 		{
 		if (strcmp(pane->id, id) == 0) break;
 		pane++;
 		}
 	if (!pane->id) return;
-	
+
 	config = bar_pane_get_default_config(id);
 	if (config) load_config_from_buf(config, strlen(config), FALSE);
 
@@ -276,20 +276,20 @@
 	BarData *bd;
 
 	bd = g_object_get_data(G_OBJECT(widget), "bar_data");
-	if (bd) 
+	if (bd)
 		{
 		expander = NULL;
-		bar = widget; 
+		bar = widget;
 		}
 	else
 		{
 		expander = widget;
-		bar = widget->parent;
+		bar = gtk_widget_get_parent(widget);
 		while (bar && !g_object_get_data(G_OBJECT(bar), "bar_data"))
-			bar = bar->parent;
+			bar = gtk_widget_get_parent(bar);
 		if (!bar) return;
 		}
- 
+
 	menu = popup_menu_short_lived();
 
 	if (expander)
@@ -310,20 +310,20 @@
 		g_object_set_data(G_OBJECT(item), "pane_add_id", pane->id);
 		pane++;
 		}
-	
+
 	gtk_menu_popup(GTK_MENU(menu), NULL, NULL, NULL, bar, 0, GDK_CURRENT_TIME);
 }
 
 
-static gboolean bar_menu_cb(GtkWidget *widget, GdkEventButton *bevent, gpointer data) 
-{ 
+static gboolean bar_menu_cb(GtkWidget *widget, GdkEventButton *bevent, gpointer data)
+{
 	if (bevent->button == MOUSE_BUTTON_RIGHT)
 		{
 		bar_menu_popup(widget);
 		return TRUE;
 		}
 	return FALSE;
-} 
+}
 
 
 static void bar_pane_set_fd_cb(GtkWidget *expander, gpointer data)
@@ -344,7 +344,7 @@
 	bd->fd = file_data_ref(fd);
 
 	gtk_container_foreach(GTK_CONTAINER(bd->vbox), bar_pane_set_fd_cb, fd);
-	
+
 	gtk_label_set_text(GTK_LABEL(bd->label_file_name), (bd->fd) ? bd->fd->name : "");
 
 }
@@ -371,19 +371,19 @@
 	BarData *bd;
 	GList *list, *work;
 	gboolean ret = FALSE;
-	
+
 	bd = g_object_get_data(G_OBJECT(bar), "bar_data");
 	if (!bd) return FALSE;
 
 	list = gtk_container_get_children(GTK_CONTAINER(bd->vbox));
-	
+
 	work = list;
 	while (work)
 		{
 		GtkWidget *widget = gtk_bin_get_child(GTK_BIN(work->data));
 		PaneData *pd = g_object_get_data(G_OBJECT(widget), "pane_data");
 		if (!pd) continue;
-	
+
 		if (pd->pane_event && pd->pane_event(widget, event))
 			{
 			ret = TRUE;
@@ -400,21 +400,21 @@
 	BarData *bd;
 	GList *list, *work;
 	GtkWidget *ret = NULL;
-	
+
 	if (!id || !id[0]) return NULL;
-	
+
 	bd = g_object_get_data(G_OBJECT(bar), "bar_data");
 	if (!bd) return NULL;
 
 	list = gtk_container_get_children(GTK_CONTAINER(bd->vbox));
-	
+
 	work = list;
 	while (work)
 		{
 		GtkWidget *widget = gtk_bin_get_child(GTK_BIN(work->data));
 		PaneData *pd = g_object_get_data(G_OBJECT(widget), "pane_data");
 		if (!pd) continue;
-	
+
 		if (type == pd->type && strcmp(id, pd->id) == 0)
 			{
 			ret = widget;
@@ -430,12 +430,12 @@
 {
 	BarData *bd;
 	GList *list, *work;
-	
+
 	bd = g_object_get_data(G_OBJECT(bar), "bar_data");
 	if (!bd) return;
 
 	list = gtk_container_get_children(GTK_CONTAINER(bd->vbox));
-	
+
 	work = list;
 	while (work)
 		{
@@ -452,23 +452,19 @@
 	GList *list, *work;
 
 	if (!bar) return;
-	
+
 	bd = g_object_get_data(G_OBJECT(bar), "bar_data");
 	if (!bd) return;
 
 	WRITE_NL(); WRITE_STRING("<bar ");
-#if GTK_CHECK_VERSION(2,20,0)
 	write_bool_option(outstr, indent, "enabled", gtk_widget_get_visible(bar));
-#else
-	write_bool_option(outstr, indent, "enabled", GTK_WIDGET_VISIBLE(bar));
-#endif
 	write_uint_option(outstr, indent, "width", bd->width);
 	WRITE_STRING(">");
-	
+
 	indent++;
 	WRITE_NL(); WRITE_STRING("<clear/>");
 
-	list = gtk_container_get_children(GTK_CONTAINER(bd->vbox));	
+	list = gtk_container_get_children(GTK_CONTAINER(bd->vbox));
 	work = list;
 	while (work)
 		{
@@ -493,11 +489,11 @@
 {
 	PaneData *pd = g_object_get_data(G_OBJECT(pane), "pane_data");
 	GtkWidget *expander;
-	
+
 	if (!pd) return;
 
-	expander = pane->parent;
-	
+	expander = gtk_widget_get_parent(pane);
+
 	gtk_expander_set_expanded(GTK_EXPANDER(expander), pd->expanded);
 }
 
@@ -506,25 +502,25 @@
 	GtkWidget *expander;
 	BarData *bd = g_object_get_data(G_OBJECT(bar), "bar_data");
 	PaneData *pd = g_object_get_data(G_OBJECT(pane), "pane_data");
-	
+
 	if (!bd) return;
 
 	pd->lw = bd->lw;
 	pd->bar = bar;
-	
+
 	expander = gtk_expander_new(NULL);
 	if (pd && pd->title)
 		{
 		gtk_expander_set_label_widget(GTK_EXPANDER(expander), pd->title);
 		gtk_widget_show(pd->title);
 		}
-		
+
 	gtk_box_pack_start(GTK_BOX(bd->vbox), expander, FALSE, TRUE, 0);
-	
-	g_signal_connect(expander, "button_release_event", G_CALLBACK(bar_menu_cb), bd); 
-	
+
+	g_signal_connect(expander, "button_release_event", G_CALLBACK(bar_menu_cb), bd);
+
 	gtk_container_add(GTK_CONTAINER(expander), pane);
-	
+
 	gtk_expander_set_expanded(GTK_EXPANDER(expander), pd->expanded);
 
 	gtk_widget_show(expander);
@@ -537,7 +533,7 @@
 {
 	const gchar *populate_id[] = {"histogram", "title", "keywords", "comment", "exif", NULL};
 	const gchar **id = populate_id;
-	
+
 	while (*id)
 		{
 		const gchar *config = bar_pane_get_default_config(*id);
@@ -549,14 +545,14 @@
 static void bar_size_allocate(GtkWidget *widget, GtkAllocation *allocation, gpointer data)
 {
 	BarData *bd = data;
-	
+
 	bd->width = allocation->width;
 }
 
 gint bar_get_width(GtkWidget *bar)
 {
 	BarData *bd;
-	
+
 	bd = g_object_get_data(G_OBJECT(bar), "bar_data");
 	if (!bd) return 0;
 
@@ -582,7 +578,7 @@
 }
 
 #ifdef HAVE_LIBCHAMPLAIN_GTK
-/* 
+/*
    FIXME: this is an ugly hack that works around this bug:
    https://bugzilla.gnome.org/show_bug.cgi?id=590692
    http://bugzilla.openedhand.com/show_bug.cgi?id=1751
@@ -605,7 +601,7 @@
 	bd = g_new0(BarData, 1);
 
 	bd->lw = lw;
-	
+
 	bd->widget = gtk_vbox_new(FALSE, PREF_PAD_GAP);
 	g_object_set_data(G_OBJECT(bd->widget), "bar_data", bd);
 	g_signal_connect(G_OBJECT(bd->widget), "destroy",
@@ -614,7 +610,7 @@
 	g_signal_connect(G_OBJECT(bd->widget), "size-allocate",
 			 G_CALLBACK(bar_size_allocate), bd);
 
-	g_signal_connect(G_OBJECT(bd->widget), "button_release_event", G_CALLBACK(bar_menu_cb), bd); 
+	g_signal_connect(G_OBJECT(bd->widget), "button_release_event", G_CALLBACK(bar_menu_cb), bd);
 
 	bd->width = SIDEBAR_DEFAULT_WIDTH;
 	gtk_widget_set_size_request(bd->widget, bd->width, -1);
@@ -643,7 +639,7 @@
 	gtk_viewport_set_shadow_type(GTK_VIEWPORT(gtk_bin_get_child(GTK_BIN(scrolled))), GTK_SHADOW_NONE);
 
 #ifdef HAVE_LIBCHAMPLAIN_GTK
-	g_signal_connect(G_OBJECT(gtk_bin_get_child(GTK_BIN(scrolled))), "unrealize", G_CALLBACK(bar_unrealize_clutter_fix_cb), NULL); 
+	g_signal_connect(G_OBJECT(gtk_bin_get_child(GTK_BIN(scrolled))), "unrealize", G_CALLBACK(bar_unrealize_clutter_fix_cb), NULL);
 #endif
 
 	gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(scrolled), GTK_SHADOW_NONE);
@@ -664,13 +660,13 @@
 
 		if (READ_BOOL_FULL("enabled", enabled)) continue;
 		if (READ_INT_FULL("width", width)) continue;
-		
+
 
 		log_printf("unknown attribute %s = %s\n", option, value);
 		}
-	
+
 	gtk_widget_set_size_request(bar, width, -1);
-	if (enabled) 
+	if (enabled)
 		{
 		gtk_widget_show(bar);
 		}
@@ -700,7 +696,7 @@
 gboolean bar_pane_translate_title(PaneType type, const gchar *id, gchar **title)
 {
 	const KnownPanes *pane = known_panes;
-	
+
 	if (!title) return FALSE;
 	while (pane->id)
 		{
@@ -708,9 +704,9 @@
 		pane++;
 		}
 	if (!pane->id) return FALSE;
-	
+
 	if (*title && **title && strcmp(pane->title, *title) != 0) return FALSE;
-	
+
 	g_free(*title);
 	*title = g_strdup(_(pane->title));
 	return TRUE;
@@ -719,7 +715,7 @@
 const gchar *bar_pane_get_default_config(const gchar *id)
 {
 	const KnownPanes *pane = known_panes;
-	
+
 	while (pane->id)
 		{
 		if (strcmp(pane->id, id) == 0) break;
@@ -728,5 +724,5 @@
 	if (!pane->id) return NULL;
 	return pane->config;
 }
-	
+
 /* vim: set shiftwidth=8 softtabstop=0 cindent cinoptions={1s: */
--- a/src/bar.h	Sun May 27 18:41:56 2012 +0100
+++ b/src/bar.h	Tue Oct 02 22:19:13 2012 +0100
@@ -1,7 +1,7 @@
 /*
  * Geeqie
  * (C) 2004 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * Author: Vladimir Nadvornik
  *
@@ -35,7 +35,7 @@
 	gboolean expanded;
 	gchar *id;
 	PaneType type;
-	
+
 	/* filled in by bar */
 	GtkWidget *bar;
 	LayoutWindow *lw;
--- a/src/bar_comment.c	Sun May 27 18:41:56 2012 +0100
+++ b/src/bar_comment.c	Tue Oct 02 22:19:13 2012 +0100
@@ -1,7 +1,7 @@
 /*
  * Geeqie
  * (C) 2004 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * Author: John Ellis
  *
@@ -60,16 +60,22 @@
 static void bar_pane_comment_update(PaneCommentData *pcd)
 {
 	gchar *comment = NULL;
+	gchar *orig_comment = NULL;
+	gchar *comment_not_null;
 	GtkTextBuffer *comment_buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(pcd->comment_view));
 
-	g_signal_handlers_block_by_func(comment_buffer, bar_pane_comment_changed, pcd);
-
+	orig_comment = text_widget_text_pull(pcd->comment_view);
 	comment = metadata_read_string(pcd->fd, pcd->key, METADATA_PLAIN);
-	gtk_text_buffer_set_text(comment_buffer,
-				 (comment) ? comment : "", -1);
+	comment_not_null = (comment) ? comment : "";
+
+	if (strcmp(orig_comment, comment_not_null) != 0)
+		{
+		g_signal_handlers_block_by_func(comment_buffer, bar_pane_comment_changed, pcd);
+		gtk_text_buffer_set_text(comment_buffer, comment_not_null, -1);
+		g_signal_handlers_unblock_by_func(comment_buffer, bar_pane_comment_changed, pcd);
+		}
 	g_free(comment);
-	
-	g_signal_handlers_unblock_by_func(comment_buffer, bar_pane_comment_changed, pcd);
+	g_free(orig_comment);
 
 	gtk_widget_set_sensitive(pcd->comment_view, (pcd->fd != NULL));
 }
@@ -84,7 +90,7 @@
 
 	list = layout_selection_list(pcd->pane.lw);
 	list = file_data_process_groups_in_selection(list, FALSE, NULL);
-	
+
 	work = list;
 	while (work)
 		{
@@ -141,11 +147,7 @@
 	pcd = g_object_get_data(G_OBJECT(bar), "pane_data");
 	if (!pcd) return FALSE;
 
-#if GTK_CHECK_VERSION(2,20,0)
 	if (gtk_widget_has_focus(pcd->comment_view)) return gtk_widget_event(pcd->comment_view, event);
-#else
-	if (GTK_WIDGET_HAS_FOCUS(pcd->comment_view)) return gtk_widget_event(pcd->comment_view, event);
-#endif
 
 	return FALSE;
 }
@@ -162,14 +164,14 @@
 	write_char_option(outstr, indent, "title", gtk_label_get_text(GTK_LABEL(pcd->pane.title)));
 	WRITE_BOOL(pcd->pane, expanded);
 	WRITE_CHAR(*pcd, key);
-	WRITE_INT(*pcd, height); 
+	WRITE_INT(*pcd, height);
 	WRITE_STRING("/>");
 }
 
 static void bar_pane_comment_notify_cb(FileData *fd, NotifyType type, gpointer data)
 {
 	PaneCommentData *pcd = data;
-	if ((type & (NOTIFY_REREAD | NOTIFY_CHANGE | NOTIFY_METADATA)) && fd == pcd->fd) 
+	if ((type & (NOTIFY_REREAD | NOTIFY_CHANGE | NOTIFY_METADATA)) && fd == pcd->fd)
 		{
 		DEBUG_1("Notify pane_comment: %s %04x", fd->path, type);
 
@@ -181,9 +183,7 @@
 {
 	PaneCommentData *pcd = data;
 
-	file_data_unregister_notify_func(bar_pane_comment_notify_cb, pcd);
 	bar_pane_comment_write(pcd);
-	file_data_register_notify_func(bar_pane_comment_notify_cb, pcd, NOTIFY_PRIORITY_LOW);
 }
 
 
@@ -196,18 +196,6 @@
 	menu_item_add_stock(GTK_WIDGET(menu), _("Replace existing text in selected files"), GTK_STOCK_CONVERT, G_CALLBACK(bar_pane_comment_sel_replace_cb), data);
 }
 
-#if 0
-static void bar_pane_comment_close(GtkWidget *bar)
-{
-	PaneCommentData *pcd;
-
-	pcd = g_object_get_data(G_OBJECT(bar), "pane_data");
-	if (!pcd) return;
-
-	gtk_widget_destroy(pcd->comment_view);
-}
-#endif
-
 static void bar_pane_comment_destroy(GtkWidget *widget, gpointer data)
 {
 	PaneCommentData *pcd = data;
@@ -230,7 +218,7 @@
 	GtkTextBuffer *buffer;
 
 	pcd = g_new0(PaneCommentData, 1);
-	
+
 	pcd->pane.pane_set_fd = bar_pane_comment_set_fd;
 	pcd->pane.pane_event = bar_pane_comment_event;
 	pcd->pane.pane_write_config = bar_pane_comment_write_config;
@@ -239,17 +227,17 @@
 	pcd->pane.type = PANE_COMMENT;
 
 	pcd->pane.expanded = expanded;
-	
+
 	pcd->key = g_strdup(key);
 	pcd->height = height;
 
 	scrolled = gtk_scrolled_window_new(NULL, NULL);
-	
+
 	pcd->widget = scrolled;
 	g_object_set_data(G_OBJECT(pcd->widget), "pane_data", pcd);
 	g_signal_connect(G_OBJECT(pcd->widget), "destroy",
 			 G_CALLBACK(bar_pane_comment_destroy), pcd);
-	
+
 	gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(scrolled), GTK_SHADOW_IN);
 	gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scrolled),
 				       GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
@@ -293,11 +281,11 @@
 		if (READ_BOOL_FULL("expanded", expanded)) continue;
 		if (READ_INT_FULL("height", height)) continue;
 		if (READ_CHAR_FULL("id", id)) continue;
-		
+
 
 		log_printf("unknown attribute %s = %s\n", option, value);
 		}
-	
+
 	bar_pane_translate_title(PANE_COMMENT, id, &title);
 	ret = bar_pane_comment_new(id, title, key, expanded, height);
 	g_free(title);
@@ -325,7 +313,7 @@
 		if (READ_BOOL_FULL("expanded", pcd->pane.expanded)) continue;
 		if (READ_INT_FULL("height", pcd->height)) continue;
 		if (READ_CHAR_FULL("id", pcd->pane.id)) continue;
-		
+
 
 		log_printf("unknown attribute %s = %s\n", option, value);
 		}
--- a/src/bar_comment.h	Sun May 27 18:41:56 2012 +0100
+++ b/src/bar_comment.h	Tue Oct 02 22:19:13 2012 +0100
@@ -1,7 +1,7 @@
 /*
  * Geeqie
  * (C) 2004 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * Author: Vladimir Nadvornik
  *
--- a/src/bar_exif.c	Sun May 27 18:41:56 2012 +0100
+++ b/src/bar_exif.c	Tue Oct 02 22:19:13 2012 +0100
@@ -1,7 +1,7 @@
 /*
  * Geeqie
  * (C) 2004 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * Author: Vladimir Nadvornik
  *
@@ -54,8 +54,8 @@
 
 	PaneExifData *ped;
 };
-	
-	
+
+
 struct _PaneExifData
 {
 	PaneData pane;
@@ -64,10 +64,10 @@
 	GtkSizeGroup *size_group;
 
 	gint min_height;
-	
+
 	gboolean all_hidden;
 	gboolean show_all;
-	
+
 	FileData *fd;
 };
 
@@ -143,7 +143,7 @@
 //		gtk_widget_set_size_request(ee->value_widget, 100, -1);
 		gtk_misc_set_alignment(GTK_MISC(ee->value_widget), 0.0, 0.5);
 		}
-		
+
 	gtk_box_pack_start(GTK_BOX(ee->box), ee->value_widget, TRUE, TRUE, 1);
 	gtk_widget_show(ee->value_widget);
 }
@@ -151,7 +151,7 @@
 static GtkWidget *bar_pane_exif_add_entry(PaneExifData *ped, const gchar *key, const gchar *title, gboolean if_set, gboolean editable)
 {
 	ExifEntry *ee = g_new0(ExifEntry, 1);
-	
+
 	ee->key = g_strdup(key);
 	if (title && title[0])
 		{
@@ -162,27 +162,27 @@
 		ee->title = exif_get_description_by_key(key);
 		ee->auto_title = TRUE;
 		}
-		
+
 	ee->if_set = if_set;
 	ee->editable = editable;
-	
+
 	ee->ped = ped;
-	
+
 	ee->ebox = gtk_event_box_new();
 	g_object_set_data(G_OBJECT(ee->ebox), "entry_data", ee);
 	g_signal_connect_after(G_OBJECT(ee->ebox), "destroy",
 			       G_CALLBACK(bar_pane_exif_entry_destroy), ee);
-	
+
 	gtk_box_pack_start(GTK_BOX(ped->vbox), ee->ebox, FALSE, FALSE, 0);
 
 	bar_pane_exif_entry_dnd_init(ee->ebox);
 	g_signal_connect(ee->ebox, "button_release_event", G_CALLBACK(bar_pane_exif_menu_cb), ped);
-	
+
 	bar_pane_exif_setup_entry_box(ped, ee);
-	 
+
 	bar_pane_exif_entry_update_title(ee);
 	bar_pane_exif_update(ped);
-	
+
 	return ee->ebox;
 }
 
@@ -191,16 +191,16 @@
 	PaneExifData *ped = g_object_get_data(G_OBJECT(pane), "pane_data");
 	PaneExifData *old_ped;
 	ExifEntry *ee = g_object_get_data(G_OBJECT(entry), "entry_data");
-	
+
 	if (!ped || !ee) return;
-	
+
 	old_ped = ee->ped;
-	
+
 	g_object_ref(entry);
-	
+
 	gtk_size_group_remove_widget(old_ped->size_group, ee->title_label);
 	gtk_container_remove(GTK_CONTAINER(old_ped->vbox), entry);
-	
+
 	ee->ped = ped;
 	gtk_size_group_add_widget(ped->size_group, ee->title_label);
 	gtk_box_pack_start(GTK_BOX(ped->vbox), entry, FALSE, FALSE, 0);
@@ -219,7 +219,7 @@
 {
 	gchar *text;
 	ExifEntry *ee = g_object_get_data(G_OBJECT(entry), "entry_data");
-	
+
 	if (!ee) return;
 	text = metadata_read_string(ped->fd, ee->key, ee->editable ? METADATA_PLAIN : METADATA_FORMATTED);
 
@@ -245,9 +245,9 @@
 		gtk_widget_show(entry);
 		ped->all_hidden = FALSE;
 		}
-		
+
 	g_free(text);
-	
+
 	if (update_title) bar_pane_exif_entry_update_title(ee);
 }
 
@@ -257,13 +257,13 @@
 
 	ped->all_hidden = TRUE;
 
-	list = gtk_container_get_children(GTK_CONTAINER(ped->vbox));	
+	list = gtk_container_get_children(GTK_CONTAINER(ped->vbox));
 	work = list;
 	while (work)
 		{
 		GtkWidget *entry = work->data;
 		work = work->next;
-		
+
 		bar_pane_exif_update_entry(ped, entry, FALSE);
 		}
 	g_list_free(list);
@@ -293,7 +293,7 @@
 	ped = g_object_get_data(G_OBJECT(bar), "pane_data");
 	if (!ped) return FALSE;
 
-	list = gtk_container_get_children(GTK_CONTAINER(ped->vbox));	
+	list = gtk_container_get_children(GTK_CONTAINER(ped->vbox));
 	work = list;
 	while (!ret && work)
 		{
@@ -301,11 +301,7 @@
 		ExifEntry *ee = g_object_get_data(G_OBJECT(entry), "entry_data");
 		work = work->next;
 
-#if GTK_CHECK_VERSION(2,20,0)
 		if (ee->editable && gtk_widget_has_focus(ee->value_widget)) ret = gtk_widget_event(ee->value_widget, event);
-#else
-		if (ee->editable && GTK_WIDGET_HAS_FOCUS(ee->value_widget)) ret = gtk_widget_event(ee->value_widget, event);
-#endif
 		}
 	g_list_free(list);
 	return ret;
@@ -314,7 +310,7 @@
 static void bar_pane_exif_notify_cb(FileData *fd, NotifyType type, gpointer data)
 {
 	PaneExifData *ped = data;
-	if ((type & (NOTIFY_REREAD | NOTIFY_CHANGE | NOTIFY_METADATA)) && fd == ped->fd) 
+	if ((type & (NOTIFY_REREAD | NOTIFY_CHANGE | NOTIFY_METADATA)) && fd == ped->fd)
 		{
 		DEBUG_1("Notify pane_exif: %s %04x", fd->path, type);
 		bar_pane_exif_update(ped);
@@ -350,7 +346,7 @@
 	switch (info)
 		{
 		case TARGET_APP_EXIF_ENTRY:
-			gtk_selection_data_set(selection_data, selection_data->target,
+			gtk_selection_data_set(selection_data, gtk_selection_data_get_target(selection_data),
 					       8, (gpointer) &entry, sizeof(entry));
 			break;
 
@@ -359,7 +355,7 @@
 			gtk_selection_data_set_text(selection_data, ee->key, -1);
 			break;
 		}
-	
+
 }
 
 static void bar_pane_exif_dnd_receive(GtkWidget *pane, GdkDragContext *context,
@@ -371,42 +367,41 @@
 	GList *work, *list;
 	gint pos;
 	GtkWidget *new_entry = NULL;
-	
+
 	ped = g_object_get_data(G_OBJECT(pane), "pane_data");
 	if (!ped) return;
 
 	switch (info)
 		{
 		case TARGET_APP_EXIF_ENTRY:
-			new_entry = *(gpointer *)selection_data->data;
-			
-			if (new_entry->parent && new_entry->parent != ped->vbox) bar_pane_exif_reparent_entry(new_entry, pane);
-			
+			new_entry = *(gpointer *)gtk_selection_data_get_data(selection_data);
+
+			if (gtk_widget_get_parent(new_entry) && gtk_widget_get_parent(new_entry) != ped->vbox) bar_pane_exif_reparent_entry(new_entry, pane);
+
 			break;
 		default:
 			/* FIXME: this needs a check for valid exif keys */
-			new_entry = bar_pane_exif_add_entry(ped, (gchar *)selection_data->data, NULL, TRUE, FALSE);
+			new_entry = bar_pane_exif_add_entry(ped, (gchar *)gtk_selection_data_get_data(selection_data), NULL, TRUE, FALSE);
 			break;
 		}
 
-	list = gtk_container_get_children(GTK_CONTAINER(ped->vbox));	
+	list = gtk_container_get_children(GTK_CONTAINER(ped->vbox));
 	work = list;
 	pos = 0;
 	while (work)
 		{
 		gint nx, ny;
 		GtkWidget *entry = work->data;
+		GtkAllocation allocation;
 		work = work->next;
-		
+
 		if (entry == new_entry) continue;
-		
-#if GTK_CHECK_VERSION(2,20,0)
+
+		gtk_widget_get_allocation(entry, &allocation);
+
 		if (gtk_widget_is_drawable(entry) &&
-#else
-		if (GTK_WIDGET_DRAWABLE(entry) && 
-#endif
 		    gtk_widget_translate_coordinates(pane, entry, x, y, &nx, &ny) &&
-		    ny < entry->allocation.height / 2) break;
+		    ny < allocation.height / 2) break;
 		pos++;
 		}
 	g_list_free(list);
@@ -417,7 +412,7 @@
 static void bar_pane_exif_entry_dnd_begin(GtkWidget *entry, GdkDragContext *context, gpointer data)
 {
 	ExifEntry *ee = g_object_get_data(G_OBJECT(entry), "entry_data");
-	
+
 	if (!ee) return;
 	dnd_set_drag_label(entry, context, ee->key);
 }
@@ -472,14 +467,14 @@
 static void bar_pane_exif_edit_ok_cb(GenericDialog *gd, gpointer data)
 {
 	ConfDialogData *cdd = data;
-	
+
 	/* either one or the other */
 	PaneExifData *ped = g_object_get_data(G_OBJECT(cdd->widget), "pane_data");
 	ExifEntry *ee = g_object_get_data(G_OBJECT(cdd->widget), "entry_data");
 
 	if (ped)
 		{
-		bar_pane_exif_add_entry(ped, 
+		bar_pane_exif_add_entry(ped,
 					gtk_entry_get_text(GTK_ENTRY(cdd->key_entry)),
 					gtk_entry_get_text(GTK_ENTRY(cdd->title_entry)),
 					cdd->if_set, cdd->editable);
@@ -488,17 +483,17 @@
 	if (ee)
 		{
 		const gchar *title;
-		GtkWidget *pane = cdd->widget->parent;
-		
+		GtkWidget *pane = gtk_widget_get_parent(cdd->widget);
+
 		while (pane)
 			{
 			ped = g_object_get_data(G_OBJECT(pane), "pane_data");
 			if (ped) break;
-			pane = pane->parent;
+			pane = gtk_widget_get_parent(pane);
 			}
-		
+
 		if (!pane) return;
-		
+
 		g_free(ee->key);
 		ee->key = g_strdup(gtk_entry_get_text(GTK_ENTRY(cdd->key_entry)));
 		title = gtk_entry_get_text(GTK_ENTRY(cdd->title_entry));
@@ -514,10 +509,10 @@
 			ee->title = g_strdup(title);
 			ee->auto_title = FALSE;
 			}
-		
+
 		ee->if_set = cdd->if_set;
 		ee->editable = cdd->editable;
-		
+
 		bar_pane_exif_setup_entry_box(ped, ee);
 
 		bar_pane_exif_entry_update_title(ee);
@@ -536,13 +531,13 @@
 	ExifEntry *ee = g_object_get_data(G_OBJECT(widget), "entry_data");
 
 	cdd = g_new0(ConfDialogData, 1);
-	
+
 	cdd->widget = widget;
 
 
 	cdd->if_set = ee ? ee->if_set : TRUE;
 	cdd->editable = ee ? ee->editable : FALSE;
-	
+
 	cdd->gd = gd = generic_dialog_new(ee ? _("Configure entry") : _("Add entry"), "exif_entry_edit",
 				widget, TRUE,
 				bar_pane_exif_edit_cancel_cb, cdd);
@@ -616,11 +611,11 @@
 		/* for the entry */
 		gchar *conf = g_strdup_printf(_("Configure \"%s\""), ee->title);
 		gchar *del = g_strdup_printf(_("Remove \"%s\""), ee->title);
-		
+
 		menu_item_add_stock(menu, conf, GTK_STOCK_EDIT, G_CALLBACK(bar_pane_exif_conf_dialog_cb), widget);
 		menu_item_add_stock(menu, del, GTK_STOCK_DELETE, G_CALLBACK(bar_pane_exif_delete_entry_cb), widget);
 		menu_item_add_divider(menu);
-		
+
 		g_free(conf);
 		g_free(del);
 		}
@@ -628,12 +623,12 @@
 	/* for the pane */
 	menu_item_add_stock(menu, _("Add entry"), GTK_STOCK_ADD, G_CALLBACK(bar_pane_exif_conf_dialog_cb), ped->widget);
 	menu_item_add_check(menu, _("Show hidden entries"), ped->show_all, G_CALLBACK(bar_pane_exif_toggle_show_all_cb), ped);
-	
+
 	gtk_menu_popup(GTK_MENU(menu), NULL, NULL, NULL, NULL, 0, GDK_CURRENT_TIME);
 }
 
-static gboolean bar_pane_exif_menu_cb(GtkWidget *widget, GdkEventButton *bevent, gpointer data) 
-{ 
+static gboolean bar_pane_exif_menu_cb(GtkWidget *widget, GdkEventButton *bevent, gpointer data)
+{
 	PaneExifData *ped = data;
 	if (bevent->button == MOUSE_BUTTON_RIGHT)
 		{
@@ -641,7 +636,7 @@
 		return TRUE;
 		}
 	return FALSE;
-} 
+}
 
 
 
@@ -662,7 +657,7 @@
 {
 	PaneExifData *ped;
 	GList *work, *list;
-	
+
 	ped = g_object_get_data(G_OBJECT(pane), "pane_data");
 	if (!ped) return;
 
@@ -672,14 +667,14 @@
 	WRITE_BOOL(ped->pane, expanded);
 	WRITE_STRING(">");
 	indent++;
-	
-	list = gtk_container_get_children(GTK_CONTAINER(ped->vbox));	
+
+	list = gtk_container_get_children(GTK_CONTAINER(ped->vbox));
 	work = list;
 	while (work)
 		{
 		GtkWidget *entry = work->data;
 		work = work->next;
-		
+
 		bar_pane_exif_entry_write_config(entry, outstr, indent);
 		}
 	g_list_free(list);
@@ -709,6 +704,7 @@
 	g_free(ped);
 }
 
+#if !GTK_CHECK_VERSION(3,0,0)
 static void bar_pane_exif_size_request(GtkWidget *pane, GtkRequisition *requisition, gpointer data)
 {
 	PaneExifData *ped = data;
@@ -717,11 +713,15 @@
 		requisition->height = ped->min_height;
 		}
 }
+#endif
 
 static void bar_pane_exif_size_allocate(GtkWidget *pane, GtkAllocation *alloc, gpointer data)
 {
 	PaneExifData *ped = data;
 	ped->min_height = alloc->height;
+#if GTK_CHECK_VERSION(3,0,0)
+	gtk_widget_set_size_request(ped->widget, -1, ped->min_height);
+#endif
 }
 
 static GtkWidget *bar_pane_exif_new(const gchar *id, const gchar *title, gboolean expanded)
@@ -748,11 +748,15 @@
 	g_object_set_data(G_OBJECT(ped->widget), "pane_data", ped);
 	g_signal_connect_after(G_OBJECT(ped->widget), "destroy",
 			       G_CALLBACK(bar_pane_exif_destroy), ped);
+#if GTK_CHECK_VERSION(3,0,0)
+	gtk_widget_set_size_request(ped->widget, -1, ped->min_height);
+#else
 	g_signal_connect(G_OBJECT(ped->widget), "size-request",
 			 G_CALLBACK(bar_pane_exif_size_request), ped);
+#endif
 	g_signal_connect(G_OBJECT(ped->widget), "size-allocate",
 			 G_CALLBACK(bar_pane_exif_size_allocate), ped);
-	
+
 	bar_pane_exif_dnd_init(ped->widget);
 	g_signal_connect(ped->widget, "button_release_event", G_CALLBACK(bar_pane_exif_menu_cb), ped);
 
@@ -781,7 +785,7 @@
 
 		log_printf("unknown attribute %s = %s\n", option, value);
 		}
-	
+
 	bar_pane_translate_title(PANE_EXIF, id, &title);
 	ret = bar_pane_exif_new(id, title, expanded);
 	g_free(title);
@@ -805,7 +809,7 @@
 		if (READ_CHAR_FULL("title", title)) continue;
 		if (READ_BOOL_FULL("expanded", ped->pane.expanded)) continue;
 		if (READ_CHAR_FULL("id", ped->pane.id)) continue;
-		
+
 
 		log_printf("unknown attribute %s = %s\n", option, value);
 		}
@@ -842,10 +846,10 @@
 		if (READ_CHAR_FULL("title", title)) continue;
 		if (READ_BOOL_FULL("if_set", if_set)) continue;
 		if (READ_BOOL_FULL("editable", editable)) continue;
-		
+
 		log_printf("unknown attribute %s = %s\n", option, value);
 		}
-	
+
 	if (key && key[0]) bar_pane_exif_add_entry(ped, key, title, if_set, editable);
 }
 
--- a/src/bar_exif.h	Sun May 27 18:41:56 2012 +0100
+++ b/src/bar_exif.h	Tue Oct 02 22:19:13 2012 +0100
@@ -1,7 +1,7 @@
 /*
  * Geeqie
  * (C) 2004 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * Author: John Ellis
  *
--- a/src/bar_gps.c	Sun May 27 18:41:56 2012 +0100
+++ b/src/bar_gps.c	Tue Oct 02 22:19:13 2012 +0100
@@ -1,7 +1,7 @@
 /*
  * Geeqie
  * (C) 2004 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * Author: Colin Clark
  *
@@ -45,13 +45,15 @@
 {
 	PaneData pane;
 	GtkWidget *widget;
-	FileData *fd;
 	gchar *map_source;
 	gint height;
+	FileData *fd;
 	ClutterActor *gps_view;
-	ChamplainLayer *icon_layer;
+	ChamplainMarkerLayer *icon_layer;
 	GList *selection_list;
-	GPtrArray *marker_list;
+	GList *not_added;
+	ChamplainBoundingBox *bbox;
+	guint num_added;
 	guint create_markers_id;
 	GtkWidget *progress;
 	GtkWidget *slider;
@@ -71,9 +73,9 @@
 	fd = g_object_get_data(G_OBJECT(marker), "file_fd");
 	if (fd->thumb_pixbuf != NULL)
 		{
-		actor = clutter_texture_new();
-		gtk_clutter_texture_set_from_pixbuf(CLUTTER_TEXTURE(actor), fd->thumb_pixbuf, NULL);
-		champlain_marker_set_image(CHAMPLAIN_MARKER(marker), actor);
+		actor = gtk_clutter_texture_new();
+		gtk_clutter_texture_set_from_pixbuf(GTK_CLUTTER_TEXTURE(actor), fd->thumb_pixbuf, NULL);
+		champlain_label_set_image(CHAMPLAIN_LABEL(marker), actor);
 		}
 	thumb_loader_free(tl);
 }
@@ -106,14 +108,14 @@
 
 		/* If the marker is showing a thumbnail, delete it
 		 */
-		current_image = champlain_marker_get_image(CHAMPLAIN_MARKER(marker));
+		current_image = champlain_label_get_image(CHAMPLAIN_LABEL(marker));
 		if (current_image != NULL)
 			{
 			clutter_actor_destroy(CLUTTER_ACTOR(current_image));
-		 	champlain_marker_set_image(CHAMPLAIN_MARKER(marker), NULL);
+		 	champlain_label_set_image(CHAMPLAIN_LABEL(marker), NULL);
 			}
-			
-		current_text = g_strdup(champlain_marker_get_text(CHAMPLAIN_MARKER(marker)));
+
+		current_text = g_strdup(champlain_label_get_text(CHAMPLAIN_LABEL(marker)));
 
 		/* If the marker is showing only the text character, replace it with a
 		 * thumbnail and date and altitude
@@ -126,13 +128,13 @@
 			 */
 			 if (fd->thumb_pixbuf != NULL)
 				{
-				actor = clutter_texture_new();
-				gtk_clutter_texture_set_from_pixbuf(CLUTTER_TEXTURE(actor), fd->thumb_pixbuf, NULL);
-				champlain_marker_set_image(CHAMPLAIN_MARKER(marker), actor);
+				actor = gtk_clutter_texture_new();
+				gtk_clutter_texture_set_from_pixbuf(GTK_CLUTTER_TEXTURE(actor), fd->thumb_pixbuf, NULL);
+				champlain_label_set_image(CHAMPLAIN_LABEL(marker), actor);
 				}
 			else if (fd->pixbuf != NULL)
 				{
-				actor = clutter_texture_new();
+				actor = gtk_clutter_texture_new();
 				width = gdk_pixbuf_get_width (fd->pixbuf);
 				height = gdk_pixbuf_get_height (fd->pixbuf);
 				switch (fd->exif_orientation)
@@ -149,11 +151,11 @@
 					default:
 						rotate = GDK_PIXBUF_ROTATE_NONE;
 					}
-										
-					gtk_clutter_texture_set_from_pixbuf(CLUTTER_TEXTURE(actor),
+
+					gtk_clutter_texture_set_from_pixbuf(GTK_CLUTTER_TEXTURE(actor),
 										gdk_pixbuf_rotate_simple(gdk_pixbuf_scale_simple(fd->pixbuf, THUMB_SIZE, height * THUMB_SIZE / width,
 										GDK_INTERP_NEAREST), rotate), NULL);
-					champlain_marker_set_image(CHAMPLAIN_MARKER(marker), actor);
+					champlain_label_set_image(CHAMPLAIN_LABEL(marker), actor);
 				}
 			else
 				{
@@ -165,7 +167,7 @@
 											marker);
 				thumb_loader_start(tl, fd);
 				}
-				
+
 			text = g_string_new(fd->name);
 			g_string_append(text, "\n");
 			g_string_append(text, text_from_time(fd->date));
@@ -176,10 +178,10 @@
 				g_string_append(text, altitude);
 				}
 
-			champlain_marker_set_text(CHAMPLAIN_MARKER(marker), text->str);
-			champlain_marker_set_color(CHAMPLAIN_MARKER(marker), &thumb_colour);
-			champlain_marker_set_text_color(CHAMPLAIN_MARKER(marker), &text_colour);
-			champlain_marker_set_font_name(CHAMPLAIN_MARKER(marker), "sans 8");
+			champlain_label_set_text(CHAMPLAIN_LABEL(marker), text->str);
+			champlain_label_set_color(CHAMPLAIN_LABEL(marker), &thumb_colour);
+			champlain_label_set_text_color(CHAMPLAIN_LABEL(marker), &text_colour);
+			champlain_label_set_font_name(CHAMPLAIN_LABEL(marker), "sans 8");
 
 			g_free(altitude);
 			g_string_free(text, TRUE);
@@ -188,14 +190,14 @@
 		 */
 		else
 			{
-			champlain_marker_set_text(CHAMPLAIN_MARKER(marker), "i");
-			champlain_marker_set_color(CHAMPLAIN_MARKER(marker), &marker_colour);
-			champlain_marker_set_text_color(CHAMPLAIN_MARKER(marker), &marker_colour);
-			champlain_marker_set_font_name(CHAMPLAIN_MARKER(marker), "courier 5");
+			champlain_label_set_text(CHAMPLAIN_LABEL(marker), "i");
+			champlain_label_set_color(CHAMPLAIN_LABEL(marker), &marker_colour);
+			champlain_label_set_text_color(CHAMPLAIN_LABEL(marker), &marker_colour);
+			champlain_label_set_font_name(CHAMPLAIN_LABEL(marker), "courier 5");
 			}
 
 		g_free(current_text);
-		
+
 		return TRUE;
 		}
 	return TRUE;
@@ -213,67 +215,57 @@
 	GString *message;
 
 	gtk_progress_bar_set_fraction(GTK_PROGRESS_BAR(pgd->progress),
-							(gdouble)(pgd->selection_count - g_list_length(pgd->selection_list)) /
+							(gdouble)(pgd->selection_count - g_list_length(pgd->not_added)) /
 							(gdouble)pgd->selection_count);
-							
+
 	message = g_string_new("");
-	g_string_printf(message, "%i/%i", (pgd->selection_count - g_list_length(pgd->selection_list)),
+	g_string_printf(message, "%i/%i", (pgd->selection_count - g_list_length(pgd->not_added)),
 																			pgd->selection_count);
 	gtk_progress_bar_set_text(GTK_PROGRESS_BAR(pgd->progress), message->str);
 	g_string_free(message, TRUE);
-	
-	work = pgd->selection_list;
-	while (work)
+
+	if(pgd->not_added)
 		{
-		fd = work->data;
-		pgd->selection_list = g_list_remove(pgd->selection_list, work->data);
-		/* If the file has a parent, it must be a sidecar file. Do not process sidecar files
-		*/
-		if (fd != NULL && fd->parent == NULL)
+		fd = pgd->not_added->data;
+		pgd->not_added = pgd->not_added->next;
+
+		latitude = metadata_read_GPS_coord(fd, "Xmp.exif.GPSLatitude", 1000);
+		longitude = metadata_read_GPS_coord(fd, "Xmp.exif.GPSLongitude", 1000);
+
+		if ((latitude != 1000) && (longitude != 1000))
 			{
-			latitude = metadata_read_GPS_coord(fd, "Xmp.exif.GPSLatitude", 1000);
-			longitude = metadata_read_GPS_coord(fd, "Xmp.exif.GPSLongitude", 1000);
-
-			if ((latitude != 1000) && (longitude != 1000))
-				{
-				marker = champlain_marker_new_with_text("i","courier 5", &marker_colour, &marker_colour);
+			pgd->num_added++;
 
-				champlain_base_marker_set_position(CHAMPLAIN_BASE_MARKER(marker), latitude, longitude);
-				clutter_container_add(CLUTTER_CONTAINER(pgd->icon_layer), marker, NULL);
-				clutter_actor_set_reactive(marker, TRUE);
+			marker = champlain_label_new_with_text("i","courier 5", &marker_colour, &marker_colour);
 
-				g_signal_connect(G_OBJECT(marker), "button_release_event",
-						 				G_CALLBACK(bar_pane_gps_marker_keypress_cb), pgd);
-
-				g_object_set_data(G_OBJECT(marker), "file_fd", fd);
+			champlain_location_set_location(CHAMPLAIN_LOCATION(marker), latitude, longitude);
+			champlain_marker_layer_add_marker(pgd->icon_layer, CHAMPLAIN_MARKER(marker));
+			clutter_actor_set_reactive(marker, TRUE);
 
-				g_ptr_array_add(pgd->marker_list, marker);
-				if (pgd->centre_map_checked)
-					{
-					g_ptr_array_add(pgd->marker_list, NULL);
-					champlain_view_ensure_markers_visible(CHAMPLAIN_VIEW(pgd->gps_view),
-													(void *)pgd->marker_list->pdata, FALSE);
-					g_ptr_array_remove(pgd->marker_list, NULL);
-					}
-				}
+			g_signal_connect(G_OBJECT(marker), "button_release_event",
+	 				G_CALLBACK(bar_pane_gps_marker_keypress_cb), pgd);
+
+			g_object_set_data(G_OBJECT(marker), "file_fd", fd);
+
+			champlain_bounding_box_extend(pgd->bbox, latitude, longitude);
 			}
 		return TRUE;
 		}
-		
-	if (pgd->marker_list->len >= 1)
+
+	if (pgd->centre_map_checked)
 		{
-		g_ptr_array_add(pgd->marker_list, NULL);
-
-		if (pgd->centre_map_checked)
+		if (pgd->num_added == 1)
 			{
-			champlain_view_ensure_markers_visible(CHAMPLAIN_VIEW(pgd->gps_view), (void *)pgd->marker_list->pdata, FALSE);
+		 	champlain_bounding_box_get_center(pgd->bbox, &latitude, &longitude);
+		 	champlain_view_go_to(CHAMPLAIN_VIEW(pgd->gps_view), latitude, longitude);
+		 	}
+		 else if (pgd->num_added > 1)
+		 	{
+			champlain_view_ensure_visible(CHAMPLAIN_VIEW(pgd->gps_view), pgd->bbox, TRUE);
 			}
 		}
-
 	gtk_progress_bar_set_fraction(GTK_PROGRESS_BAR(pgd->progress), 0);
 	gtk_progress_bar_set_text(GTK_PROGRESS_BAR(pgd->progress), NULL);
-	g_list_free(pgd->selection_list);
-	g_ptr_array_free(pgd->marker_list, TRUE);
 	pgd->create_markers_id = 0;
 
 	return FALSE;
@@ -282,7 +274,6 @@
 static void bar_pane_gps_update(PaneGPSData *pgd)
 {
 	GList *list;
-	GList *work;
 
 	/* The widget does not have a parent during bar_pane_gps_new, so calling gtk_widget_show_all there gives a
 	 * "Gtk-CRITICAL **: gtk_widget_realize: assertion `GTK_WIDGET_ANCHORED (widget) || GTK_IS_INVISIBLE (widget)' failed"
@@ -303,18 +294,13 @@
 		else
 			{
 			return;
-			}		
+			}
 		}
 
 	/* Delete any markers currently displayed
 	 */
-	work = clutter_container_get_children(CLUTTER_CONTAINER(pgd->icon_layer));
-	while (work)
-		{
-		clutter_container_remove(CLUTTER_CONTAINER(pgd->icon_layer), work->data, NULL);
-		work = work->next;
-		}
-	g_list_free(work);
+
+	champlain_marker_layer_remove_all(pgd->icon_layer);
 
 	if (!pgd->enable_markers_checked)
 		{
@@ -325,19 +311,19 @@
 	 * a single, small text character the same colour as the marker background.
 	 * Use a background process in case the user selects a large number of files.
 	 */
+	filelist_free(pgd->selection_list);
+	if (pgd->bbox) champlain_bounding_box_free(pgd->bbox);
+
 	list = layout_selection_list(pgd->pane.lw);
 	list = file_data_process_groups_in_selection(list, FALSE, NULL);
 
-	if (list != NULL)
-		{
-		pgd->selection_list = g_list_copy(list);
-		pgd->marker_list = g_ptr_array_new();
-		pgd->selection_count = g_list_length(pgd->selection_list);
-		pgd->create_markers_id = g_idle_add(bar_pane_gps_create_markers_cb, pgd);
-		}
+	pgd->selection_list = list;
+	pgd->not_added = list;
 
-	g_list_free(list);
-	g_list_free(work);
+	pgd->bbox = champlain_bounding_box_new();
+	pgd->selection_count = g_list_length(pgd->selection_list);
+	pgd->create_markers_id = g_idle_add(bar_pane_gps_create_markers_cb, pgd);
+	pgd->num_added = 0;
 }
 
 void bar_pane_gps_set_map_source(PaneGPSData *pgd, const gchar *map_id)
@@ -351,10 +337,10 @@
 	if (map_source != NULL)
 		{
 		g_object_set(G_OBJECT(pgd->gps_view), "map-source", map_source, NULL);
-		g_object_unref(map_factory);
+		//g_object_unref(map_source);
 		}
 
-	g_object_unref(map_source);
+	g_object_unref(map_factory);
 }
 
 void bar_pane_gps_enable_markers_checked_toggle_cb(GtkWidget *menu_widget, gpointer data)
@@ -431,7 +417,7 @@
 	pgd = g_object_get_data(G_OBJECT(bar), "pane_data");
 	if (!pgd) return FALSE;
 
-	if (GTK_WIDGET_HAS_FOCUS(pgd->widget)) return gtk_widget_event(GTK_WIDGET(pgd->widget), event);
+	if (gtk_widget_has_focus(pgd->widget)) return gtk_widget_event(GTK_WIDGET(pgd->widget), event);
 
 	return FALSE;
 }
@@ -525,7 +511,7 @@
 		{
 		gtk_label_set_text(GTK_LABEL(pgd->state), message->str);
 		}
-		
+
 	gtk_widget_set_tooltip_text(GTK_WIDGET(pgd->slider), message->str);
 	gtk_scale_button_set_value(GTK_SCALE_BUTTON(pgd->slider), (gdouble)zoom);
 
@@ -535,8 +521,9 @@
 static void bar_pane_gps_notify_cb(FileData *fd, NotifyType type, gpointer data)
 {
 	PaneGPSData *pgd = data;
-	
-	if ((type & (NOTIFY_REREAD | NOTIFY_CHANGE | NOTIFY_METADATA)) && fd == pgd->fd) 
+
+	if ((type & (NOTIFY_REREAD | NOTIFY_CHANGE | NOTIFY_METADATA)) &&
+	    g_list_find(pgd->selection_list, fd))
 		{
 		bar_pane_gps_update(pgd);
 		}
@@ -568,23 +555,27 @@
 	menu = popup_menu_short_lived();
 
 	map_factory = champlain_map_source_factory_dup_default();
-	map_list = champlain_map_source_factory_dup_list(map_factory);
+	map_list = champlain_map_source_factory_get_registered(map_factory);
 	current = bar_pane_gps_get_map_id(pgd);
 
 	while (map_list)
 		{
 		map_desc = (ChamplainMapSourceDesc *)(map_list->data);
-		
-		menu_item_add_radio(menu, map_desc->name, map_desc->id, strcmp(map_desc->id, current) == 0, G_CALLBACK(bar_pane_gps_change_map_cb), pgd); 
-		
+
+		menu_item_add_radio(menu,
+		                    champlain_map_source_desc_get_name(map_desc),
+		                    (gpointer)champlain_map_source_desc_get_id(map_desc),
+		                    strcmp(champlain_map_source_desc_get_id(map_desc), current) == 0,
+		                    G_CALLBACK(bar_pane_gps_change_map_cb), pgd);
+
 		map_list = g_slist_next(map_list);
 		}
-		
+
 	menu_item_add_divider(menu);
 	menu_item_add_check(menu, _("Enable markers"), pgd->enable_markers_checked,
-											G_CALLBACK(bar_pane_gps_enable_markers_checked_toggle_cb), pgd);
+	                    G_CALLBACK(bar_pane_gps_enable_markers_checked_toggle_cb), pgd);
 	map_centre = menu_item_add_check(menu, _("Centre map on marker"), pgd->centre_map_checked,
-											G_CALLBACK(bar_pane_gps_centre_map_checked_toggle_cb), pgd);
+	                                 G_CALLBACK(bar_pane_gps_centre_map_checked_toggle_cb), pgd);
 	if (!pgd->enable_markers_checked)
 		{
 		gtk_widget_set_sensitive(map_centre, FALSE);
@@ -614,7 +605,7 @@
 		message = g_string_append(message, _("Move map centre to marker\n is enabled"));
 		pgd->centre_map_checked = TRUE;
 		}
-		
+
 	dialog = gtk_message_dialog_new(NULL,
 							  GTK_DIALOG_DESTROY_WITH_PARENT,
 							  GTK_MESSAGE_INFO,
@@ -623,7 +614,7 @@
 	gtk_window_set_title(GTK_WINDOW(dialog), _("Map Centreing"));
 	gtk_window_set_position(GTK_WINDOW(dialog), GTK_WIN_POS_MOUSE);
 	gtk_dialog_run(GTK_DIALOG(dialog));
-	
+
 	gtk_widget_destroy(dialog);
 	g_string_free(message, TRUE);
 }
@@ -660,6 +651,11 @@
 
 	file_data_unregister_notify_func(bar_pane_gps_notify_cb, pgd);
 
+	g_idle_remove_by_data(pgd);
+
+	filelist_free(pgd->selection_list);
+	if (pgd->bbox) champlain_bounding_box_free(pgd->bbox);
+
 	file_data_unref(pgd->fd);
 	g_free(pgd->map_source);
 	g_free(pgd->pane.id);
@@ -676,7 +672,7 @@
 	GtkWidget *vbox, *frame;
 	GtkWidget *gpswidget, *viewport;
 	GtkWidget *status, *state, *progress, *slider;
-	ChamplainLayer *layer;
+	ChamplainMarkerLayer *layer;
 	ChamplainView *view;
 	const gchar *slider_list[] = {GTK_STOCK_ZOOM_IN, GTK_STOCK_ZOOM_OUT, NULL};
 	const gchar **slider_icons = slider_list;
@@ -710,14 +706,14 @@
 	progress = gtk_progress_bar_new();
 	state = gtk_label_new("");
 	gtk_label_set_justify(GTK_LABEL(state), GTK_JUSTIFY_CENTER);
-	
+
 	gtk_box_pack_start(GTK_BOX(status), GTK_WIDGET(slider), FALSE, FALSE, 0);
 	gtk_box_pack_start(GTK_BOX(status), GTK_WIDGET(state), FALSE, FALSE, 5);
 	gtk_box_pack_end(GTK_BOX(status), GTK_WIDGET(progress), FALSE, FALSE, 0);
 	gtk_box_pack_end(GTK_BOX(vbox),GTK_WIDGET(status), FALSE, FALSE, 0);
-	
-	layer = champlain_layer_new();
-	champlain_view_add_layer(view, layer);
+
+	layer = champlain_marker_layer_new();
+	champlain_view_add_layer(view, CHAMPLAIN_LAYER(layer));
 
 	pgd->icon_layer = layer;
 	pgd->gps_view = CLUTTER_ACTOR(view);
@@ -727,14 +723,13 @@
 	pgd->state = state;
 
 	bar_pane_gps_set_map_source(pgd, map_id);
-	
-	g_object_set(G_OBJECT(view), "scroll-mode", CHAMPLAIN_SCROLL_MODE_KINETIC,
+
+	g_object_set(G_OBJECT(view), "kinetic-mode", TRUE,
 				     "zoom-level", zoom,
 				     "keep-center-on-resize", TRUE,
 /* This seems to be broken, https://bugzilla.gnome.org/show_bug.cgi?id=596419
 				     "decel-rate", 1.0,
 */
-				     "show-license", TRUE,
 				     "zoom-on-double-click", FALSE,
 				     "max-zoom-level", 17,
 				     "min-zoom-level", 1,
@@ -759,7 +754,7 @@
 	pgd->create_markers_id = 0;
 	pgd->enable_markers_checked = TRUE;
 	pgd->centre_map_checked = TRUE;
-	
+
 	return pgd->widget;
 }
 
--- a/src/bar_gps.h	Sun May 27 18:41:56 2012 +0100
+++ b/src/bar_gps.h	Tue Oct 02 22:19:13 2012 +0100
@@ -1,7 +1,7 @@
 /*
  * Geeqie
  * (C) 2004 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * Author: Vladimir Nadvornik
  *
--- a/src/bar_histogram.c	Sun May 27 18:41:56 2012 +0100
+++ b/src/bar_histogram.c	Tue Oct 02 22:19:13 2012 +0100
@@ -1,7 +1,7 @@
 /*
  * Geeqie
  * (C) 2004 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * Author: Vladimir Nadvornik
  *
@@ -59,13 +59,9 @@
 	if (!phd->histogram_width || !phd->histogram_height || !phd->fd) return;
 
 	/* histmap_get is relatively expensive, run it only when we really need it
-	   and with lower priority than pixbuf_renderer 
+	   and with lower priority than pixbuf_renderer
 	   FIXME: this does not work for fullscreen*/
-#if GTK_CHECK_VERSION(2,20,0)
 	if (gtk_widget_is_drawable(phd->drawing_area))
-#else
-	if (GTK_WIDGET_DRAWABLE(phd->drawing_area))
-#endif
 		{
 		if (!phd->idle_id)
 			{
@@ -85,18 +81,18 @@
 
 	phd->idle_id = 0;
 	phd->need_update = FALSE;
-	
+
 	gtk_widget_queue_draw_area(GTK_WIDGET(phd->drawing_area), 0, 0, phd->histogram_width, phd->histogram_height);
-	
+
 	if (phd->fd == NULL) return FALSE;
 	histmap = histmap_get(phd->fd);
-	
-	if (!histmap) 
+
+	if (!histmap)
 		{
 		histmap_start_idle(phd->fd);
 		return FALSE;
 		}
-	
+
 	phd->pixbuf = gdk_pixbuf_new(GDK_COLORSPACE_RGB, FALSE, 8, phd->histogram_width, phd->histogram_height);
 	gdk_pixbuf_fill(phd->pixbuf, 0xffffffff);
 	histogram_draw(phd->histogram, histmap, phd->pixbuf, 0, 0, phd->histogram_width, phd->histogram_height);
@@ -137,39 +133,54 @@
 static void bar_pane_histogram_notify_cb(FileData *fd, NotifyType type, gpointer data)
 {
 	PaneHistogramData *phd = data;
-	if ((type & (NOTIFY_REREAD | NOTIFY_CHANGE | NOTIFY_HISTMAP | NOTIFY_PIXBUF)) && fd == phd->fd) 
+	if ((type & (NOTIFY_REREAD | NOTIFY_CHANGE | NOTIFY_HISTMAP | NOTIFY_PIXBUF)) && fd == phd->fd)
 		{
 		DEBUG_1("Notify pane_histogram: %s %04x", fd->path, type);
 		bar_pane_histogram_update(phd);
 		}
 }
 
-static gboolean bar_pane_histogram_expose_event_cb(GtkWidget *widget, GdkEventExpose *event, gpointer data)
+#if GTK_CHECK_VERSION(3,0,0)
+static gboolean bar_pane_histogram_draw_cb(GtkWidget *widget, cairo_t *cr, gpointer data)
 {
 	PaneHistogramData *phd = data;
 	if (!phd) return TRUE;
-	
+
 	if (phd->need_update)
 		{
 		bar_pane_histogram_update(phd);
 		}
-	
+
 	if (!phd->pixbuf) return TRUE;
-	
-	gdk_draw_pixbuf(widget->window,
-#if GTK_CHECK_VERSION(2,20,0)
-			widget->style->fg_gc[gtk_widget_get_state(widget)],
-#else
-			widget->style->fg_gc[GTK_WIDGET_STATE (widget)],
-#endif
-			phd->pixbuf,
-			0, 0,
-			0, 0,
-			-1, -1,
-			GDK_RGB_DITHER_NORMAL, 0, 0);
+
+	gdk_cairo_set_source_pixbuf(cr, phd->pixbuf, 0, 0);
+	cairo_paint (cr);
+
 	return TRUE;
 }
 
+#else
+static gboolean bar_pane_histogram_expose_event_cb(GtkWidget *widget, GdkEventExpose *event, gpointer data)
+{
+	PaneHistogramData *phd = data;
+	if (!phd) return TRUE;
+
+	if (phd->need_update)
+		{
+		bar_pane_histogram_update(phd);
+		}
+
+	if (!phd->pixbuf) return TRUE;
+
+	cairo_t *cr = gdk_cairo_create(gtk_widget_get_window(widget));
+	gdk_cairo_set_source_pixbuf (cr, phd->pixbuf, 0, 0);
+	cairo_paint (cr);
+	cairo_destroy (cr);
+
+	return TRUE;
+}
+#endif
+
 static void bar_pane_histogram_size_cb(GtkWidget *widget, GtkAllocation *allocation, gpointer data)
 {
 	PaneHistogramData *phd = data;
@@ -179,22 +190,10 @@
 	bar_pane_histogram_update(phd);
 }
 
-#if 0
-static void bar_pane_histogram_close(GtkWidget *pane)
-{
-	PaneHistogramData *phd;
-
-	phd = g_object_get_data(G_OBJECT(pane), "pane_data");
-	if (!phd) return;
-
-	gtk_widget_destroy(phd->widget);
-}
-#endif
-
 static void bar_pane_histogram_destroy(GtkWidget *widget, gpointer data)
 {
 	PaneHistogramData *phd = data;
-	
+
 	if (phd->idle_id) g_source_remove(phd->idle_id);
 	file_data_unregister_notify_func(bar_pane_histogram_notify_cb, phd);
 
@@ -226,7 +225,7 @@
 {
 	PaneHistogramData *phd = data;
 	gint logmode;
-	
+
 	if (!gtk_check_menu_item_get_active(GTK_CHECK_MENU_ITEM(widget))) return;
 
 	if (!phd) return;
@@ -252,9 +251,9 @@
 	menu_item_add_radio(menu, _("Histogram on _Blue"),  GINT_TO_POINTER(HCHAN_B), (channel == HCHAN_B), G_CALLBACK(bar_pane_histogram_popup_channels_cb), phd);
 	menu_item_add_radio(menu, _("_Histogram on RGB"),   GINT_TO_POINTER(HCHAN_RGB), (channel == HCHAN_RGB), G_CALLBACK(bar_pane_histogram_popup_channels_cb), phd);
 	menu_item_add_radio(menu, _("Histogram on _Value"), GINT_TO_POINTER(HCHAN_MAX), (channel == HCHAN_MAX), G_CALLBACK(bar_pane_histogram_popup_channels_cb), phd);
-	
+
 	menu_item_add_divider(menu);
-	
+
 	menu_item_add_radio(menu, _("Li_near Histogram"), GINT_TO_POINTER(0), (mode == 0), G_CALLBACK(bar_pane_histogram_popup_mode_cb), phd);
 	menu_item_add_radio(menu, _("L_og Histogram"),    GINT_TO_POINTER(1), (mode == 1), G_CALLBACK(bar_pane_histogram_popup_mode_cb), phd);
 
@@ -283,7 +282,7 @@
 	PaneHistogramData *phd;
 
 	phd = g_new0(PaneHistogramData, 1);
-	
+
 	phd->pane.pane_set_fd = bar_pane_histogram_set_fd;
 	phd->pane.pane_write_config = bar_pane_histogram_write_config;
 	phd->pane.title = bar_pane_expander_title(title);
@@ -291,7 +290,7 @@
 	phd->pane.type = PANE_HISTOGRAM;
 
 	phd->pane.expanded = expanded;
-	
+
 	phd->histogram = histogram_new();
 
 	histogram_set_channel(phd->histogram, histogram_channel);
@@ -302,7 +301,7 @@
 	g_object_set_data(G_OBJECT(phd->widget), "pane_data", phd);
 	g_signal_connect(G_OBJECT(phd->widget), "destroy",
 			 G_CALLBACK(bar_pane_histogram_destroy), phd);
-	
+
 
 	gtk_widget_set_size_request(GTK_WIDGET(phd->widget), -1, height);
 
@@ -310,9 +309,14 @@
 	g_signal_connect_after(G_OBJECT(phd->drawing_area), "size_allocate",
                                G_CALLBACK(bar_pane_histogram_size_cb), phd);
 
-	g_signal_connect(G_OBJECT(phd->drawing_area), "expose_event",  
+#if GTK_CHECK_VERSION(3,0,0)
+	g_signal_connect(G_OBJECT(phd->drawing_area), "draw",
+			 G_CALLBACK(bar_pane_histogram_draw_cb), phd);
+#else
+	g_signal_connect(G_OBJECT(phd->drawing_area), "expose_event",
 			 G_CALLBACK(bar_pane_histogram_expose_event_cb), phd);
-			 
+#endif
+
 	gtk_box_pack_start(GTK_BOX(phd->widget), phd->drawing_area, TRUE, TRUE, 0);
 	gtk_widget_show(phd->drawing_area);
 	gtk_widget_add_events(phd->drawing_area, GDK_BUTTON_PRESS_MASK);
@@ -349,7 +353,7 @@
 
 		log_printf("unknown attribute %s = %s\n", option, value);
 		}
-	
+
 	bar_pane_translate_title(PANE_HISTOGRAM, id, &title);
 	ret = bar_pane_histogram_new(id, title, height, expanded, histogram_channel, histogram_mode);
 	g_free(title);
@@ -377,11 +381,11 @@
 		if (READ_BOOL_FULL("expanded", phd->pane.expanded)) continue;
 		if (READ_INT_FULL("histogram_channel", histogram_channel)) continue;
 		if (READ_INT_FULL("histogram_mode", histogram_mode)) continue;
-		
+
 
 		log_printf("unknown attribute %s = %s\n", option, value);
 		}
-	
+
 	histogram_set_channel(phd->histogram, histogram_channel);
 	histogram_set_mode(phd->histogram, histogram_mode);
 
--- a/src/bar_histogram.h	Sun May 27 18:41:56 2012 +0100
+++ b/src/bar_histogram.h	Tue Oct 02 22:19:13 2012 +0100
@@ -1,7 +1,7 @@
 /*
  * Geeqie
  * (C) 2004 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * Author: Vladimir Nadvornik
  *
--- a/src/bar_keywords.c	Sun May 27 18:41:56 2012 +0100
+++ b/src/bar_keywords.c	Tue Oct 02 22:19:13 2012 +0100
@@ -1,7 +1,7 @@
 /*
  * Geeqie
  * (C) 2004 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * Author: John Ellis
  *
@@ -110,7 +110,7 @@
 	gboolean collapse_unchecked;
 	gboolean hide_unchecked;
 
-	guint idle_id; /* event source id */	
+	guint idle_id; /* event source id */
 	FileData *fd;
 	gchar *key;
 };
@@ -120,17 +120,15 @@
 {
 	PaneKeywordsData *pkd;
 	GtkTreePath *click_tpath;
-	
+
 	/* dialog parts */
 	GenericDialog *gd;
 	GtkWidget *edit_widget;
 	gboolean is_keyword;
-	
+
 	gboolean edit_existing;
 };
 
-//static GList *bar_list = NULL;
-
 
 static void bar_pane_keywords_write(PaneKeywordsData *pkd)
 {
@@ -151,7 +149,7 @@
 	gboolean set;
 
 	gtk_tree_model_get(model, iter, FILTER_KEYWORD_COLUMN_TOGGLE, &set, -1);
-	
+
 	if (set && !gtk_tree_view_row_expanded(GTK_TREE_VIEW(pkd->keyword_treeview), path))
 		{
 		gtk_tree_view_expand_to_path(GTK_TREE_VIEW(pkd->keyword_treeview), path);
@@ -165,7 +163,7 @@
 	gboolean set;
 
 	gtk_tree_model_get(model, iter, FILTER_KEYWORD_COLUMN_TOGGLE, &set, -1);
-	
+
 	if (!set && gtk_tree_view_row_expanded(GTK_TREE_VIEW(pkd->keyword_treeview), path))
 		{
 		gtk_tree_view_collapse_row(GTK_TREE_VIEW(pkd->keyword_treeview), path);
@@ -194,39 +192,36 @@
 	if (pkd->collapse_unchecked) gtk_tree_model_foreach(model, bar_keyword_tree_collapse_if_unset_cb, pkd);
 }
 
-#if 0
-static void bar_pane_keywords_keyword_update_all(void)
-{
-	GList *work;
-
-	work = bar_list;
-	while (work)
-		{
-		PaneKeywordsData *pkd;
-//		GList *keywords;
-
-		pkd = work->data;
-		work = work->next;
-
-		bar_keyword_tree_sync(pkd);
-		}
-}
-#endif
-
 static void bar_pane_keywords_update(PaneKeywordsData *pkd)
 {
 	GList *keywords = NULL;
+	GList *orig_keywords = NULL;
+	GList *work1, *work2;
 	GtkTextBuffer *keyword_buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(pkd->keyword_view));
 
-	g_signal_handlers_block_by_func(keyword_buffer, bar_pane_keywords_changed, pkd);
-
 	keywords = metadata_read_list(pkd->fd, KEYWORD_KEY, METADATA_PLAIN);
-	keyword_list_push(pkd->keyword_view, keywords);
-	bar_keyword_tree_sync(pkd);
+	orig_keywords = keyword_list_pull(pkd->keyword_view);
+
+	/* compare the lists */
+	work1 = keywords;
+	work2 = orig_keywords;
+
+	while (work1 && work2)
+		{
+		if (strcmp(work1->data, work2->data) != 0) break;
+		work1 = work1->next;
+		work2 = work2->next;
+		}
+
+	if (work1 || work2) /* lists differs */
+		{
+		g_signal_handlers_block_by_func(keyword_buffer, bar_pane_keywords_changed, pkd);
+		keyword_list_push(pkd->keyword_view, keywords);
+		bar_keyword_tree_sync(pkd);
+		g_signal_handlers_unblock_by_func(keyword_buffer, bar_pane_keywords_changed, pkd);
+		}
 	string_list_free(keywords);
-	
-	g_signal_handlers_unblock_by_func(keyword_buffer, bar_pane_keywords_changed, pkd);
-
+	string_list_free(orig_keywords);
 }
 
 void bar_pane_keywords_set_fd(GtkWidget *pane, FileData *fd)
@@ -264,11 +259,7 @@
 	pkd = g_object_get_data(G_OBJECT(bar), "pane_data");
 	if (!pkd) return FALSE;
 
-#if GTK_CHECK_VERSION(2,20,0)
 	if (gtk_widget_has_focus(pkd->keyword_view)) return gtk_widget_event(pkd->keyword_view, event);
-#else
-	if (GTK_WIDGET_HAS_FOCUS(pkd->keyword_view)) return gtk_widget_event(pkd->keyword_view, event);
-#endif
 
 	return FALSE;
 }
@@ -283,7 +274,7 @@
 	GList *list;
 	GtkTreeIter child_iter;
 	GtkTreeModel *keyword_tree;
-	
+
 	GtkTextBuffer *keyword_buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(pkd->keyword_view));
 
 	model = gtk_tree_view_get_model(GTK_TREE_VIEW(pkd->keyword_treeview));
@@ -300,11 +291,11 @@
 	gtk_tree_model_filter_convert_iter_to_child_iter(GTK_TREE_MODEL_FILTER(model), &child_iter, &iter);
 
 	list = keyword_list_pull(pkd->keyword_view);
-	if (active) 
+	if (active)
 		keyword_tree_set(keyword_tree, &child_iter, &list);
 	else
 		keyword_tree_reset(keyword_tree, &child_iter, &list);
-	
+
 	g_signal_handlers_block_by_func(keyword_buffer, bar_pane_keywords_changed, pkd);
 	keyword_list_push(pkd->keyword_view, list);
 	string_list_free(list);
@@ -312,10 +303,6 @@
 
 	/* call this just once in the end */
 	bar_pane_keywords_changed(keyword_buffer, pkd);
-	/*
-	  bar_pane_keywords_change calls bar_keyword_tree_sync, no need to do it again
-	bar_keyword_tree_sync(pkd);
-	*/
 }
 
 void bar_pane_keywords_filter_modify(GtkTreeModel *model, GtkTreeIter *iter, GValue *value, gint column, gpointer data)
@@ -325,7 +312,7 @@
 	GtkTreeIter child_iter;
 
 	gtk_tree_model_filter_convert_iter_to_child_iter(GTK_TREE_MODEL_FILTER(model), &child_iter, iter);
-	
+
 	memset(value, 0, sizeof (GValue));
 
 	switch (column)
@@ -335,7 +322,7 @@
 			GList *keywords = keyword_list_pull(pkd->keyword_view);
 			gboolean set = keyword_tree_is_set(keyword_tree, &child_iter, keywords);
 			string_list_free(keywords);
-			
+
 			g_value_init(value, G_TYPE_BOOLEAN);
 			g_value_set_boolean(value, set);
 			break;
@@ -357,7 +344,7 @@
 gboolean bar_pane_keywords_filter_visible(GtkTreeModel *keyword_tree, GtkTreeIter *iter, gpointer data)
 {
 	GtkTreeModel *filter = data;
-	
+
 	return !keyword_is_hidden_in(keyword_tree, iter, filter);
 }
 
@@ -371,7 +358,7 @@
 
 	list = layout_selection_list(pkd->pane.lw);
 	list = file_data_process_groups_in_selection(list, FALSE, NULL);
-	
+
 	work = list;
 	while (work)
 		{
@@ -419,7 +406,7 @@
 static void bar_pane_keywords_notify_cb(FileData *fd, NotifyType type, gpointer data)
 {
 	PaneKeywordsData *pkd = data;
-	if ((type & (NOTIFY_REREAD | NOTIFY_CHANGE | NOTIFY_METADATA)) && fd == pkd->fd) 
+	if ((type & (NOTIFY_REREAD | NOTIFY_CHANGE | NOTIFY_METADATA)) && fd == pkd->fd)
 		{
 		DEBUG_1("Notify pane_keywords: %s %04x", fd->path, type);
 		bar_pane_keywords_update(pkd);
@@ -430,10 +417,8 @@
 {
 	PaneKeywordsData *pkd = data;
 
-	file_data_unregister_notify_func(bar_pane_keywords_notify_cb, pkd);
 	bar_pane_keywords_write(pkd);
 	bar_keyword_tree_sync(pkd);
-	file_data_register_notify_func(bar_pane_keywords_notify_cb, pkd, NOTIFY_PRIORITY_LOW);
 	pkd->idle_id = 0;
 	return FALSE;
 }
@@ -478,7 +463,7 @@
 	GtkTreeIter child_iter;
 	GtkTreeModel *keyword_tree;
 
-	GtkTreeSelection *sel = gtk_tree_view_get_selection(GTK_TREE_VIEW(tree_view)); 
+	GtkTreeSelection *sel = gtk_tree_view_get_selection(GTK_TREE_VIEW(tree_view));
 
         if (!gtk_tree_selection_get_selected(sel, &model, &iter)) return;
 
@@ -490,7 +475,7 @@
 		case TARGET_APP_KEYWORD_PATH:
 			{
 			GList *path = keyword_tree_get_path(keyword_tree, &child_iter);
-			gtk_selection_data_set(selection_data, selection_data->target,
+			gtk_selection_data_set(selection_data, gtk_selection_data_get_target(selection_data),
 					       8, (gpointer) &path, sizeof(path));
 			break;
 			}
@@ -514,7 +499,7 @@
 	GtkTreeModel *keyword_tree;
 	gchar *name;
 
-	GtkTreeSelection *sel = gtk_tree_view_get_selection(GTK_TREE_VIEW(tree_view)); 
+	GtkTreeSelection *sel = gtk_tree_view_get_selection(GTK_TREE_VIEW(tree_view));
 
         if (!gtk_tree_selection_get_selected(sel, &model, &iter)) return;
 
@@ -537,8 +522,8 @@
 {
 	gchar *src_name;
 	GtkTreeIter parent;
-	
-	if (dest_kw_iter && keyword_same_parent(keyword_tree, src_kw_iter, dest_kw_iter)) 
+
+	if (dest_kw_iter && keyword_same_parent(keyword_tree, src_kw_iter, dest_kw_iter))
 		{
 		return TRUE; /* reordering of siblings is ok */
 		}
@@ -611,13 +596,13 @@
 		{
 		case TARGET_APP_KEYWORD_PATH:
 			{
-			GList *path = *(gpointer *)selection_data->data;
+			GList *path = *(gpointer *)gtk_selection_data_get_data(selection_data);
 			src_valid = keyword_tree_get_iter(keyword_tree, &src_kw_iter, path);
 			string_list_free(path);
 			break;
 			}
 		default:
-			new_keywords = string_to_keywords_list((gchar *)selection_data->data);
+			new_keywords = string_to_keywords_list((gchar *)gtk_selection_data_get_data(selection_data));
 			break;
 		}
 
@@ -658,7 +643,7 @@
 				/* the keywords can't be added if the same name already exist */
 				return;
 				}
-				
+
 			switch (pos)
 				{
 				case GTK_TREE_VIEW_DROP_INTO_OR_BEFORE:
@@ -671,7 +656,7 @@
 					break;
 				}
 			}
-			
+
 		}
 	else
 		{
@@ -687,13 +672,13 @@
 			}
 		gtk_tree_store_append(GTK_TREE_STORE(keyword_tree), &new_kw_iter, NULL);
 		}
-		
-		
+
+
 	if (src_valid)
 		{
 		keyword_move_recursive(GTK_TREE_STORE(keyword_tree), &new_kw_iter, &src_kw_iter);
 		}
-	
+
 	work = new_keywords;
 	while (work)
 		{
@@ -726,19 +711,19 @@
                 gtk_tree_model_get_iter(model, &dest_iter, tpath);
 		if (pos == GTK_TREE_VIEW_DROP_INTO_OR_BEFORE && gtk_tree_model_iter_has_child(model, &dest_iter))
 			pos = GTK_TREE_VIEW_DROP_BEFORE;
-		
+
 		if (pos == GTK_TREE_VIEW_DROP_INTO_OR_AFTER && gtk_tree_model_iter_has_child(model, &dest_iter))
 			pos = GTK_TREE_VIEW_DROP_AFTER;
 		}
 
 	gtk_tree_view_set_drag_dest_row(GTK_TREE_VIEW(tree_view), tpath, pos);
 	gtk_tree_path_free(tpath);
-	
+
 	if (tree_view == gtk_drag_get_source_widget(context))
 		gdk_drag_status(context, GDK_ACTION_MOVE, time);
 	else
 		gdk_drag_status(context, GDK_ACTION_COPY, time);
-	
+
 	return TRUE;
 }
 
@@ -769,14 +754,14 @@
 
 	GtkTreeModel *keyword_tree;
 	GtkTreeIter kw_iter;
-	
+
 	gboolean have_dest = FALSE;
-	
+
 	GList *keywords;
 
 	model = gtk_tree_view_get_model(GTK_TREE_VIEW(pkd->keyword_treeview));
 	keyword_tree = gtk_tree_model_filter_get_model(GTK_TREE_MODEL_FILTER(model));
-	
+
         if (cdd->click_tpath)
 		{
 		GtkTreeIter iter;
@@ -786,11 +771,11 @@
 			have_dest = TRUE;
 			}
 		}
-	
+
 	if (cdd->edit_existing && !have_dest) return;
-	
+
 	keywords = keyword_list_pull(cdd->edit_widget);
-	
+
 	if (cdd->edit_existing)
 		{
 		if (keywords && keywords->data && /* there should be one keyword */
@@ -854,10 +839,10 @@
 	GtkWidget *table;
 	GtkWidget *group;
 	GtkWidget *button;
-	
+
 	gchar *name = NULL;
 	gboolean is_keyword = TRUE;
-	
+
 
         if (edit_existing && pkd->click_tpath)
 		{
@@ -875,9 +860,9 @@
 			return;
 			}
 		}
-		
+
 	if (edit_existing && !name) return;
-	
+
 
 	cdd = g_new0(ConfDialogData, 1);
 	cdd->pkd =pkd;
@@ -960,18 +945,13 @@
 
 	model = gtk_tree_view_get_model(GTK_TREE_VIEW(pkd->keyword_treeview));
 	keyword_tree = gtk_tree_model_filter_get_model(GTK_TREE_MODEL_FILTER(model));
-	
+
         if (!pkd->click_tpath) return;
         if (!gtk_tree_model_get_iter(model, &iter, pkd->click_tpath)) return;
 
 	gtk_tree_model_filter_convert_iter_to_child_iter(GTK_TREE_MODEL_FILTER(model), &kw_iter, &iter);
 
-	file_data_unregister_notify_func(bar_pane_keywords_notify_cb, pkd);
-
 	meta_data_connect_mark_with_keyword(keyword_tree, &kw_iter, mark);
-
-	file_data_register_notify_func(bar_pane_keywords_notify_cb, pkd, NOTIFY_PRIORITY_LOW);
-//	bar_pane_keywords_update(pkd);
 }
 
 
@@ -991,7 +971,7 @@
 
         if (!gtk_tree_model_get_iter(model, &iter, pkd->click_tpath)) return;
 	gtk_tree_model_filter_convert_iter_to_child_iter(GTK_TREE_MODEL_FILTER(model), &kw_iter, &iter);
-	
+
 	keyword_delete(GTK_TREE_STORE(keyword_tree), &kw_iter);
 }
 
@@ -1011,7 +991,7 @@
 
         if (!gtk_tree_model_get_iter(model, &iter, pkd->click_tpath)) return;
 	gtk_tree_model_filter_convert_iter_to_child_iter(GTK_TREE_MODEL_FILTER(model), &kw_iter, &iter);
-	
+
 	keyword_hide_in(GTK_TREE_STORE(keyword_tree), &kw_iter, model);
 }
 
@@ -1028,7 +1008,7 @@
 	keyword_tree = gtk_tree_model_filter_get_model(GTK_TREE_MODEL_FILTER(model));
 
 	keyword_show_all_in(GTK_TREE_STORE(keyword_tree), model);
-	
+
 	if (!pkd->collapse_unchecked) gtk_tree_view_expand_all(GTK_TREE_VIEW(pkd->keyword_treeview));
 	bar_keyword_tree_sync(pkd);
 }
@@ -1058,7 +1038,7 @@
 
 	GtkTreeModel *keyword_tree;
 	GList *keywords;
-	
+
 	model = gtk_tree_view_get_model(GTK_TREE_VIEW(pkd->keyword_treeview));
 	keyword_tree = gtk_tree_model_filter_get_model(GTK_TREE_MODEL_FILTER(model));
 
@@ -1151,7 +1131,7 @@
 	GtkWidget *item;
 	GtkWidget *submenu;
         GtkTreeViewDropPosition pos;
-        
+
         if (pkd->click_tpath) gtk_tree_path_free(pkd->click_tpath);
         pkd->click_tpath = NULL;
 	gtk_tree_view_get_dest_row_at_pos(GTK_TREE_VIEW(pkd->keyword_treeview), x, y, &pkd->click_tpath, &pos);
@@ -1159,7 +1139,7 @@
 	menu = popup_menu_short_lived();
 
 	menu_item_add_stock(menu, _("Add keyword"), GTK_STOCK_EDIT, G_CALLBACK(bar_pane_keywords_add_dialog_cb), pkd);
-	
+
 	menu_item_add_divider(menu);
 
 	menu_item_add(menu, _("Add keyword to all selected images"), G_CALLBACK(bar_pane_keywords_add_to_selected_cb), pkd);
@@ -1172,20 +1152,20 @@
 		gchar *text;
 		gchar *mark;
 		gint i;
-		
+
 		GtkTreeModel *model = gtk_tree_view_get_model(GTK_TREE_VIEW(pkd->keyword_treeview));
-		
+
 		GtkTreeIter iter;
                 gtk_tree_model_get_iter(model, &iter, pkd->click_tpath);
 		gchar *name;
-		
+
 		gtk_tree_model_get(model, &iter, FILTER_KEYWORD_COLUMN_NAME, &name,
 						 FILTER_KEYWORD_COLUMN_MARK, &mark, -1);
-		
+
 		text = g_strdup_printf(_("Hide \"%s\""), name);
 		menu_item_add_stock(menu, text, GTK_STOCK_EDIT, G_CALLBACK(bar_pane_keywords_hide_cb), pkd);
 		g_free(text);
-		
+
 		submenu = gtk_menu_new();
 		for (i = 0; i < FILEDATA_MARKS_SIZE; i++)
 			{
@@ -1208,7 +1188,7 @@
 		menu_item_add_stock(menu, text, GTK_STOCK_DELETE, G_CALLBACK(bar_pane_keywords_delete_cb), pkd);
 		g_free(text);
 
-		
+
 		if (mark && mark[0])
 			{
 			text = g_strdup_printf(_("Disconnect \"%s\" from mark %s"), name, mark);
@@ -1240,8 +1220,8 @@
 }
 
 
-static gboolean bar_pane_keywords_menu_cb(GtkWidget *widget, GdkEventButton *bevent, gpointer data) 
-{ 
+static gboolean bar_pane_keywords_menu_cb(GtkWidget *widget, GdkEventButton *bevent, gpointer data)
+{
 	PaneKeywordsData *pkd = data;
 	if (bevent->button == MOUSE_BUTTON_RIGHT)
 		{
@@ -1249,7 +1229,7 @@
 		return TRUE;
 		}
 	return FALSE;
-} 
+}
 
 /*
  *-------------------------------------------------------------------
@@ -1263,7 +1243,7 @@
 
 	pkd = g_object_get_data(G_OBJECT(bar), "pane_data");
 	if (!pkd) return;
-	
+
 	g_free(pkd->pane.id);
 	gtk_widget_destroy(pkd->widget);
 }
@@ -1306,9 +1286,9 @@
 	pkd->pane.expanded = expanded;
 
 	pkd->key = g_strdup(key);
-	
+
 	pkd->expand_checked = TRUE;
-	
+
 	hbox = gtk_hbox_new(FALSE, PREF_PAD_GAP);
 
 	pkd->widget = hbox;
@@ -1363,7 +1343,7 @@
 
 	pkd->keyword_treeview = gtk_tree_view_new_with_model(store);
 	g_object_unref(store);
-	
+
 	gtk_widget_set_size_request(pkd->keyword_treeview, -1, 400);
 
 	gtk_tree_view_set_headers_visible(GTK_TREE_VIEW(pkd->keyword_treeview), FALSE);
@@ -1413,16 +1393,16 @@
 			  GTK_DEST_DEFAULT_MOTION | GTK_DEST_DEFAULT_HIGHLIGHT | GTK_DEST_DEFAULT_DROP,
 			  bar_pane_keywords_drop_types, n_keywords_drop_types,
 			  GDK_ACTION_COPY | GDK_ACTION_MOVE);
-			  
+
 	g_signal_connect(G_OBJECT(pkd->keyword_treeview), "drag_data_received",
 			 G_CALLBACK(bar_pane_keywords_dnd_receive), pkd);
 
 	g_signal_connect(G_OBJECT(pkd->keyword_treeview), "drag_motion",
 			 G_CALLBACK(bar_pane_keywords_dnd_motion), pkd);
 
-	g_signal_connect(G_OBJECT(pkd->keyword_treeview), "button_release_event", 
+	g_signal_connect(G_OBJECT(pkd->keyword_treeview), "button_release_event",
 			 G_CALLBACK(bar_pane_keywords_menu_cb), pkd);
-	
+
 	gtk_container_add(GTK_CONTAINER(scrolled), pkd->keyword_treeview);
 	gtk_widget_show(pkd->keyword_treeview);
 
@@ -1448,11 +1428,11 @@
 		if (READ_CHAR_FULL("title", title)) continue;
 		if (READ_CHAR_FULL("key", key)) continue;
 		if (READ_BOOL_FULL("expanded", expanded)) continue;
-		
+
 
 		log_printf("unknown attribute %s = %s\n", option, value);
 		}
-	
+
 	bar_pane_translate_title(PANE_KEYWORDS, id, &title);
 	ret = bar_pane_keywords_new(id, title, key, expanded);
 	g_free(id);
@@ -1479,7 +1459,7 @@
 		if (READ_CHAR_FULL("key", pkd->key)) continue;
 		if (READ_BOOL_FULL("expanded", pkd->pane.expanded)) continue;
 		if (READ_CHAR_FULL("id", pkd->pane.id)) continue;
-		
+
 
 		log_printf("unknown attribute %s = %s\n", option, value);
 		}
--- a/src/bar_keywords.h	Sun May 27 18:41:56 2012 +0100
+++ b/src/bar_keywords.h	Tue Oct 02 22:19:13 2012 +0100
@@ -1,7 +1,7 @@
 /*
  * Geeqie
  * (C) 2004 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * Author: Vladimir Nadvornik
  *
--- a/src/bar_sort.c	Sun May 27 18:41:56 2012 +0100
+++ b/src/bar_sort.c	Tue Oct 02 22:19:13 2012 +0100
@@ -1,7 +1,7 @@
 /*
  * Geeqie
  * (C) 2006 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * Author: John Ellis
  *
@@ -67,7 +67,7 @@
 	SortModeType mode;
 	SortActionType action;
 	gchar *filter_key;
-	
+
 	SortSelectionType selection;
 
 	GtkWidget *folder_group;
@@ -579,12 +579,12 @@
 	sd->lw = lw;
 
 	sd->action = action;
-	
+
 	if (sd->action == BAR_SORT_FILTER && (!filter_key || !filter_key[0]))
 		{
 		sd->action = BAR_SORT_COPY;
 		}
-	
+
 	sd->selection = selection;
 	sd->undo_src = NULL;
 	sd->undo_dest = NULL;
@@ -599,12 +599,12 @@
 	gtk_box_pack_start(GTK_BOX(sd->vbox), label, FALSE, FALSE, 0);
 	gtk_widget_show(label);
 
-	combo = gtk_combo_box_new_text();
+	combo = gtk_combo_box_text_new();
 	gtk_box_pack_start(GTK_BOX(sd->vbox), combo, FALSE, FALSE, 0);
 	gtk_widget_show(combo);
 
-	gtk_combo_box_append_text(GTK_COMBO_BOX(combo), _("Folders"));
-	gtk_combo_box_append_text(GTK_COMBO_BOX(combo), _("Collections"));
+	gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(combo), _("Folders"));
+	gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(combo), _("Collections"));
 
 	g_signal_connect(G_OBJECT(combo), "changed",
 			 G_CALLBACK(bar_sort_mode_cb), sd);
@@ -630,9 +630,9 @@
 		gboolean select = FALSE;
 
 		work = work->next;
-			
+
 		if (!editor_is_filter(editor->key)) continue;
-		
+
 		key = g_strdup(editor->key);
 		if (sd->action == BAR_SORT_FILTER && strcmp(key, filter_key) == 0)
 			{
@@ -640,7 +640,7 @@
 			select = TRUE;
 			have_filter = TRUE;
 			}
-		
+
 		button = pref_radiobutton_new(sd->folder_group, buttongrp,
 					      editor->name, select,
 					      G_CALLBACK(bar_sort_set_filter_cb), sd);
@@ -648,7 +648,7 @@
 		g_object_set_data_full(G_OBJECT(button), "filter_key", key, bar_sort_edit_button_free);
 		}
 	g_list_free(editors_list);
-	
+
 	if (sd->action == BAR_SORT_FILTER && !have_filter) sd->action = BAR_SORT_COPY;
 
 	sd->collection_group = pref_box_new(sd->vbox, FALSE, GTK_ORIENTATION_VERTICAL, 0);
@@ -683,7 +683,7 @@
 GtkWidget *bar_sort_new_from_config(LayoutWindow *lw, const gchar **attribute_names, const gchar **attribute_values)
 {
 	GtkWidget *bar;
-	
+
 	gboolean enabled = TRUE;
 	gint action = 0;
 	gint mode = 0;
@@ -724,11 +724,7 @@
 	if (!sd) return;
 
 	WRITE_NL(); WRITE_STRING("<bar_sort ");
-#if GTK_CHECK_VERSION(2,20,0)
 	write_bool_option(outstr, indent, "enabled", gtk_widget_get_visible(bar));
-#else
-	write_bool_option(outstr, indent, "enabled", GTK_WIDGET_VISIBLE(bar));
-#endif
 	WRITE_INT(*sd, mode);
 	WRITE_INT(*sd, action);
 	WRITE_INT(*sd, selection);
--- a/src/bar_sort.h	Sun May 27 18:41:56 2012 +0100
+++ b/src/bar_sort.h	Tue Oct 02 22:19:13 2012 +0100
@@ -1,7 +1,7 @@
 /*
  * Geeqie
  * (C) 2004 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * Author: John Ellis
  *
--- a/src/cache-loader.c	Sun May 27 18:41:56 2012 +0100
+++ b/src/cache-loader.c	Tue Oct 02 22:19:13 2012 +0100
@@ -1,7 +1,7 @@
 /*
  * Geeqie
  * (C) 2005 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * Author: John Ellis
  *
--- a/src/cache-loader.h	Sun May 27 18:41:56 2012 +0100
+++ b/src/cache-loader.h	Tue Oct 02 22:19:13 2012 +0100
@@ -1,7 +1,7 @@
 /*
  * Geeqie
  * (C) 2005 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * Author: John Ellis
  *
--- a/src/cache.c	Sun May 27 18:41:56 2012 +0100
+++ b/src/cache.c	Tue Oct 02 22:19:13 2012 +0100
@@ -1,7 +1,7 @@
 /*
  * Geeqie
  * (C) 2004 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * Author: John Ellis
  *
@@ -129,7 +129,7 @@
 		guint8 *avg_g = &cd->sim->avg_g[s];
 		guint8 *avg_b = &cd->sim->avg_b[s];
 		guint n = 0;
-			
+
 		for (x = 0; x < 32; x++)
 			{
 			buf[n++] = avg_r[x];
@@ -658,7 +658,7 @@
 	path = g_build_filename(base, cache_local, name, NULL);
 	g_free(name);
 	g_free(base);
-	
+
 	return path;
 }
 
--- a/src/cache.h	Sun May 27 18:41:56 2012 +0100
+++ b/src/cache.h	Tue Oct 02 22:19:13 2012 +0100
@@ -1,7 +1,7 @@
 /*
  * Geeqie
  * (C) 2004 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * Author: John Ellis
  *
--- a/src/cache_maint.c	Sun May 27 18:41:56 2012 +0100
+++ b/src/cache_maint.c	Tue Oct 02 22:19:13 2012 +0100
@@ -1,7 +1,7 @@
 /*
  * Geeqie
  * (C) 2006 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * Author: John Ellis
  *
@@ -49,25 +49,6 @@
  *-------------------------------------------------------------------
  */
 
-#if 0
-static gint extension_truncate(gchar *path, const gchar *ext)
-{
-	gint l;
-	gint el;
-
-	if (!path || !ext) return FALSE;
-
-	l = strlen(path);
-	el = strlen(ext);
-
-	if (l < el || strcmp(path + (l - el), ext) != 0) return FALSE;
-
-	path[l - el] = '\0';
-
-	return TRUE;
-}
-#endif
-
 static gchar *extension_find_dot(gchar *path)
 {
 	gchar *dot = NULL;
@@ -256,11 +237,7 @@
 {
 	CMData *cm = data;
 
-#if GTK_CHECK_VERSION(2,20,0)
 	if (!gtk_widget_get_sensitive(cm->button_close)) return;
-#else
-	if (!GTK_WIDGET_SENSITIVE(cm->button_close)) return;
-#endif
 
 	cache_maintain_home_close(cm);
 }
@@ -338,7 +315,7 @@
 	gtk_widget_show(hbox);
 
 	cm->entry = gtk_entry_new();
-	GTK_WIDGET_UNSET_FLAGS(cm->entry, GTK_CAN_FOCUS);
+	gtk_widget_set_can_focus(cm->entry, FALSE);
 	gtk_editable_set_editable(GTK_EDITABLE(cm->entry), FALSE);
 	gtk_box_pack_start(GTK_BOX(hbox), cm->entry, TRUE, TRUE, 0);
 	gtk_widget_show(cm->entry);
@@ -352,160 +329,6 @@
 	cm->idle_id = g_idle_add(cache_maintain_home_cb, cm);
 }
 
-#if 0
-/* This checks all files in ~/GQ_RC_DIR/thumbnails and
- * removes them if thay have no source counterpart.
- * (this assumes all cache files have an extension of 4 chars including '.')
- */
-gint cache_maintain_home_dir(const gchar *dir, gint recursive, gint clear)
-{
-	gchar *base;
-	gint base_length;
-	GList *dlist = NULL;
-	FileData *dir_fd;
-	GList *flist = NULL;
-	gboolean still_have_a_file = FALSE;
-
-	DEBUG_1("maintainance check: %s", dir);
-
-	base_length = strlen(homedir()) + strlen("/") + strlen(GQ_CACHE_RC_THUMB);
-	base = g_strconcat(homedir(), "/", GQ_CACHE_RC_THUMB, dir, NULL);
-	dir_fd = file_data_new_dir(base);
-	g_free(base);
-
-	if (filelist_read(dir_fd, &flist, &dlist))
-		{
-		GList *work;
-
-		work = dlist;
-		while (work)
-			{
-			FileData *fd = work->data;
-			if (recursive && strlen(fd->path) > base_length &&
-			    !cache_maintain_home_dir(fd->path + base_length, recursive, clear))
-				{
-				DEBUG_1("Deleting thumb dir: %s", fd->path);
-				if (!rmdir_utf8(fd->path))
-					{
-					log_printf("Unable to delete dir: %s\n", fd->path);
-					}
-				}
-			else
-				{
-				still_have_a_file = TRUE;
-				}
-			work = work->next;
-			}
-
-		work = flist;
-		while (work)
-			{
-			FileData *fd = work->data;
-			gchar *path = g_strdup(fd->path);
-			gchar *dot;
-
-			dot = extension_find_dot(path);
-
-			if (dot) *dot = '\0';
-			if (clear ||
-			    (strlen(path) > base_length && !isfile(path + base_length)) )
-				{
-				if (dot) *dot = '.';
-				if (!unlink_file(path)) log_printf("failed to delete:%s\n", path);
-				}
-			else
-				{
-				still_have_a_file = TRUE;
-				}
-			g_free(path);
-
-			work = work->next;
-			}
-		}
-
-	filelist_free(dlist);
-	filelist_free(flist);
-	file_data_unref(dir_fd);
-
-	return still_have_a_file;
-}
-
-/* This checks relative caches in dir/.thumbnails and
- * removes them if they have no source counterpart.
- */
-gint cache_maintain_dir(FileData *dir_fd, gint recursive, gint clear)
-{
-	GList *list = NULL;
-	gchar *cachedir;
-	FileData *cachedir_fd;
-	gboolean still_have_a_file = FALSE;
-	GList *work;
-
-	cachedir = g_build_filename(dir, GQ_CACHE_LOCAL_THUMB, NULL);
-	cachedir_fd = file_data_new_dir(cachedir);
-	g_free(cachedir);
-
-	filelist_read(cachedir_fd, &list, NULL);
-	work = list;
-
-	while (work)
-		{
-		FileData *fd;
-		gchar *source;
-
-		fd = work->data;
-		work = work->next;
-
-		source = g_build_filename(dir->path, fd->name, NULL);
-
-		if (clear ||
-		    extension_truncate(source, GQ_CACHE_EXT_THUMB) ||
-		    extension_truncate(source, GQ_CACHE_EXT_SIM))
-			{
-			if (!clear && isfile(source))
-				{
-				still_have_a_file = TRUE;
-				}
-			else
-				{
-				if (!unlink_file(fd->path))
-					{
-					DEBUG_1("Failed to remove cache file %s", fd->path);
-					still_have_a_file = TRUE;
-					}
-				}
-			}
-		else
-			{
-			still_have_a_file = TRUE;
-			}
-		g_free(source);
-		}
-
-	filelist_free(list);
-	file_data_unref(cachedir_fd);
-
-	if (recursive)
-		{
-		list = NULL;
-
-		filelist_read(dir_fd, NULL, &list);
-		work = list;
-		while (work)
-			{
-			FileData *fd = work->data;
-			work = work->next;
-
-			still_have_a_file |= cache_maintain_dir(fd->path, recursive, clear);
-			}
-
-		filelist_free(list);
-		}
-
-	return still_have_a_file;
-}
-#endif
-
 static void cache_file_move(const gchar *src, const gchar *dest)
 {
 	if (!dest || !src || !isfile(src)) return;
@@ -626,7 +449,7 @@
 void cache_notify_cb(FileData *fd, NotifyType type, gpointer data)
 {
 	if (!(type & NOTIFY_CHANGE) || !fd->change) return;
-	
+
 	DEBUG_1("Notify cache_maint: %s %04x", fd->path, type);
 	switch (fd->change->type)
 		{
@@ -712,11 +535,7 @@
 {
 	CleanData *cd = data;
 
-#if GTK_CHECK_VERSION(2,20,0)
 	if (!gtk_widget_get_sensitive(cd->button_close)) return;
-#else
-	if (!GTK_WIDGET_SENSITIVE(cd->button_close)) return;
-#endif
 
 	cache_manager_render_reset(cd);
 	generic_dialog_close(cd->gd);
@@ -831,11 +650,7 @@
 	CleanData *cd = data;
 	gchar *path;
 
-#if GTK_CHECK_VERSION(2,20,0)
 	if (cd->list || !gtk_widget_get_sensitive(cd->button_start)) return;
-#else
-	if (cd->list || !GTK_WIDGET_SENSITIVE(cd->button_start)) return;
-#endif
 
 	path = remove_trailing_slash((gtk_entry_get_text(GTK_ENTRY(cd->entry))));
 	parse_out_relatives(path);
@@ -910,7 +725,7 @@
 	hbox = pref_box_new(cd->gd->vbox, FALSE, GTK_ORIENTATION_HORIZONTAL, PREF_PAD_SPACE);
 
 	cd->progress = gtk_entry_new();
-	GTK_WIDGET_UNSET_FLAGS(cd->progress, GTK_CAN_FOCUS);
+	gtk_widget_set_can_focus(cd->progress, FALSE);
 	gtk_editable_set_editable(GTK_EDITABLE(cd->progress), FALSE);
 	gtk_entry_set_text(GTK_ENTRY(cd->progress), _("click start to begin"));
 	gtk_box_pack_start(GTK_BOX(hbox), cd->progress, TRUE, TRUE, 0);
@@ -932,11 +747,7 @@
 {
 	CleanData *cd = data;
 
-#if GTK_CHECK_VERSION(2,20,0)
 	if (!gtk_widget_get_sensitive(cd->button_close)) return;
-#else
-	if (!GTK_WIDGET_SENSITIVE(cd->button_close)) return;
-#endif
 
 	generic_dialog_close(cd->gd);
 
@@ -1049,11 +860,7 @@
 	gchar *path;
 	FileData *dir_fd;
 
-#if GTK_CHECK_VERSION(2,20,0)
 	if (cd->list || !gtk_widget_get_sensitive(cd->button_start)) return;
-#else
-	if (cd->list || !GTK_WIDGET_SENSITIVE(cd->button_start)) return;
-#endif
 
 	gtk_widget_set_sensitive(cd->button_start, FALSE);
 	gtk_widget_set_sensitive(cd->button_stop, TRUE);
@@ -1225,7 +1032,7 @@
 	label = pref_label_new(group, buf);
 	g_free(buf);
 	gtk_misc_set_alignment(GTK_MISC(label), 0.0, 0.5);
-	
+
 	return label;
 }
 
--- a/src/cache_maint.h	Sun May 27 18:41:56 2012 +0100
+++ b/src/cache_maint.h	Tue Oct 02 22:19:13 2012 +0100
@@ -1,7 +1,7 @@
 /*
  * Geeqie
  * (C) 2004 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * Author: John Ellis
  *
@@ -16,15 +16,7 @@
 
 
 void cache_maintain_home(gboolean metadata, gboolean clear, GtkWidget *parent);
-
-#if 0
-gint cache_maintain_home_dir(const gchar *dir, gint recursive, gint clear);
-gint cache_maintain_dir(const gchar *dir, gint recursive, gint clear);
-#endif
-
 void cache_notify_cb(FileData *fd, NotifyType type, gpointer data);
-
-
 void cache_manager_show(void);
 
 
--- a/src/cellrenderericon.c	Sun May 27 18:41:56 2012 +0100
+++ b/src/cellrenderericon.c	Tue Oct 02 22:19:13 2012 +0100
@@ -44,11 +44,19 @@
 static void gqv_cell_renderer_icon_finalize(GObject *object);
 static void gqv_cell_renderer_icon_get_size(GtkCellRenderer	*cell,
 					    GtkWidget		*widget,
-					    GdkRectangle	*rectangle,
+					    const GdkRectangle	*rectangle,
 					    gint		*x_offset,
 					    gint		*y_offset,
 					    gint		*width,
 					    gint		*height);
+#if GTK_CHECK_VERSION(3,0,0)
+static void gqv_cell_renderer_icon_render(GtkCellRenderer *cell,
+					   cairo_t *cr,
+					   GtkWidget *widget,
+					   const GdkRectangle *background_area,
+					   const GdkRectangle *cell_area,
+					   GtkCellRendererState flags);
+#else
 static void gqv_cell_renderer_icon_render(GtkCellRenderer	*cell,
 					   GdkWindow		*window,
 					   GtkWidget		*widget,
@@ -56,13 +64,15 @@
 					   GdkRectangle		*cell_area,
 					   GdkRectangle		*expose_area,
 					   GtkCellRendererState	flags);
+#endif
 
-static gint gqv_cell_renderer_icon_activate(GtkCellRenderer      *cell,
+
+static gboolean gqv_cell_renderer_icon_activate(GtkCellRenderer      *cell,
 					    GdkEvent             *event,
 					    GtkWidget            *widget,
 					    const gchar          *path,
-					    GdkRectangle         *background_area,
-					    GdkRectangle         *cell_area,
+					    const GdkRectangle   *background_area,
+					    const GdkRectangle   *cell_area,
 					    GtkCellRendererState  flags);
 
 enum {
@@ -125,9 +135,8 @@
 static void
 gqv_cell_renderer_icon_init(GQvCellRendererIcon *cellicon)
 {
-	GTK_CELL_RENDERER(cellicon)->mode = GTK_CELL_RENDERER_MODE_ACTIVATABLE;
-	GTK_CELL_RENDERER(cellicon)->xpad = 2;
-	GTK_CELL_RENDERER(cellicon)->ypad = 2;
+	g_object_set(G_OBJECT(cellicon), "mode", GTK_CELL_RENDERER_MODE_ACTIVATABLE, NULL);
+	gtk_cell_renderer_set_padding(GTK_CELL_RENDERER(cellicon), 2, 2);
 }
 
 static void
@@ -544,7 +553,7 @@
 static void
 gqv_cell_renderer_icon_get_size(GtkCellRenderer *cell,
 				GtkWidget	*widget,
-				GdkRectangle	*cell_area,
+				const GdkRectangle	*cell_area,
 				gint		*x_offset,
 				gint		*y_offset,
 				gint		*width,
@@ -553,6 +562,11 @@
 	GQvCellRendererIcon *cellicon = (GQvCellRendererIcon *) cell;
 	gint calc_width;
 	gint calc_height;
+	gint xpad, ypad;
+	gfloat xalign, yalign;
+
+	gtk_cell_renderer_get_padding(cell, &xpad, &ypad);
+	gtk_cell_renderer_get_alignment(cell, &xalign, &yalign);
 
 	if (cellicon->fixed_width > 0)
 		{
@@ -591,8 +605,8 @@
 		calc_width = MAX(calc_width, TOGGLE_SPACING * cellicon->num_marks);
 		}
 
-	calc_width += (gint)cell->xpad * 2;
-	calc_height += (gint)cell->ypad * 2;
+	calc_width += xpad * 2;
+	calc_height += ypad * 2;
 
 	if (x_offset) *x_offset = 0;
 	if (y_offset) *y_offset = 0;
@@ -601,13 +615,13 @@
 		{
 		if (x_offset)
 			{
-			*x_offset = (cell->xalign * (cell_area->width - calc_width - 2 * cell->xpad));
-			*x_offset = MAX(*x_offset, 0) + cell->xpad;
+			*x_offset = (xalign * (cell_area->width - calc_width - 2 * xpad));
+			*x_offset = MAX(*x_offset, 0) + xpad;
 			}
 		if (y_offset)
 			{
-			*y_offset = (cell->yalign * (cell_area->height - calc_height - 2 * cell->ypad));
-			*y_offset = MAX(*y_offset, 0) + cell->ypad;
+			*y_offset = (yalign * (cell_area->height - calc_height - 2 * ypad));
+			*y_offset = MAX(*y_offset, 0) + ypad;
 			}
 		}
 
@@ -615,6 +629,17 @@
 	if (height) *height = calc_height;
 }
 
+#if GTK_CHECK_VERSION(3,0,0)
+static void gqv_cell_renderer_icon_render(GtkCellRenderer *cell,
+					   cairo_t *cr,
+					   GtkWidget *widget,
+					   const GdkRectangle *background_area,
+					   const GdkRectangle *cell_area,
+					   GtkCellRendererState flags)
+
+{
+	GtkStyleContext *context = gtk_widget_get_style_context(widget);
+#else
 static void
 gqv_cell_renderer_icon_render(GtkCellRenderer		*cell,
 			      GdkWindow			*window,
@@ -625,49 +650,51 @@
 			      GtkCellRendererState	flags)
 
 {
+	cairo_t *cr = gdk_cairo_create(window);
+#endif
 	GQvCellRendererIcon *cellicon = (GQvCellRendererIcon *) cell;
 	GdkPixbuf *pixbuf;
 	const gchar *text;
 	GdkRectangle cell_rect;
 	GtkStateType state;
+	gint xpad, ypad;
+
 
 	pixbuf = cellicon->pixbuf;
 	text = cellicon->text;
 
 	if (!pixbuf && !text) return;
 
+	gtk_cell_renderer_get_padding(cell, &xpad, &ypad);
+
 	gqv_cell_renderer_icon_get_size(cell, widget, cell_area,
 					&cell_rect.x, &cell_rect.y,
 					&cell_rect.width, &cell_rect.height);
 
-	cell_rect.x += cell->xpad;
-	cell_rect.y += cell->ypad;
-	cell_rect.width -= cell->xpad * 2;
-	cell_rect.height -= cell->ypad * 2;
+	cell_rect.x += xpad;
+	cell_rect.y += ypad;
+	cell_rect.width -= xpad * 2;
+	cell_rect.height -= ypad * 2;
 
 	if ((flags & GTK_CELL_RENDERER_SELECTED) == GTK_CELL_RENDERER_SELECTED)
 		{
-#if GTK_CHECK_VERSION(2,20,0)
 		if (gtk_widget_has_focus(widget))
-#else
-		if (GTK_WIDGET_HAS_FOCUS(widget))
-#endif
 			state = GTK_STATE_SELECTED;
 		else
 			state = GTK_STATE_ACTIVE;
 		}
 	else
 		{
-#if GTK_CHECK_VERSION(2,20,0)
 		if (gtk_widget_get_state(widget) == GTK_STATE_INSENSITIVE)
-#else
-		if (GTK_WIDGET_STATE(widget) == GTK_STATE_INSENSITIVE)
-#endif
 			state = GTK_STATE_INSENSITIVE;
 		else
 			state = GTK_STATE_NORMAL;
 		}
 
+#if GTK_CHECK_VERSION(3,0,0)
+	gtk_style_context_set_state(context, state);
+#endif
+
 	if (pixbuf)
 		{
 		GdkRectangle pix_rect;
@@ -680,28 +707,27 @@
 
 		if (cellicon->fixed_height > 0)
 			{
-			pix_rect.y = cell_area->y + cell->ypad + (cellicon->fixed_height - pix_rect.height) / 2;
+			pix_rect.y = cell_area->y + ypad + (cellicon->fixed_height - pix_rect.height) / 2;
 			}
 		else
 			{
 			pix_rect.y = cell_area->y + cell_rect.y;
 			}
 
-		if (gdk_rectangle_intersect(cell_area, &pix_rect, &draw_rect) &&
-		    gdk_rectangle_intersect(expose_area, &draw_rect, &draw_rect))
+		if (gdk_rectangle_intersect(cell_area, &pix_rect, &draw_rect)
+#if !GTK_CHECK_VERSION(3,0,0)
+		    && gdk_rectangle_intersect(expose_area, &draw_rect, &draw_rect)
+#endif
+		   )
 			{
-			gdk_draw_pixbuf(window,
-					widget->style->black_gc,
-					pixbuf,
-					/* pixbuf 0, 0 is at pix_rect.x, pix_rect.y */
-					draw_rect.x - pix_rect.x,
-					draw_rect.y - pix_rect.y,
+			gdk_cairo_set_source_pixbuf(cr, pixbuf, pix_rect.x, pix_rect.y);
+			cairo_rectangle (cr,
 					draw_rect.x,
 					draw_rect.y,
 					draw_rect.width,
-					draw_rect.height,
-					GDK_RGB_DITHER_NORMAL,
-					0, 0);
+					draw_rect.height);
+
+			cairo_fill (cr);
 			}
 		}
 
@@ -711,31 +737,37 @@
 		PangoRectangle text_rect;
 		GdkRectangle pix_rect;
 		GdkRectangle draw_rect;
-
 		layout = gqv_cell_renderer_icon_get_layout(cellicon, widget, TRUE);
 		pango_layout_get_pixel_extents(layout, NULL, &text_rect);
 
 		pix_rect.width = text_rect.width;
 		pix_rect.height = text_rect.height;
-		pix_rect.x = cell_area->x + cell->xpad + (cell_rect.width - text_rect.width + 1) / 2;
-		pix_rect.y = cell_area->y + cell->ypad + (cell_rect.height - text_rect.height);
-		
+		pix_rect.x = cell_area->x + xpad + (cell_rect.width - text_rect.width + 1) / 2;
+		pix_rect.y = cell_area->y + ypad + (cell_rect.height - text_rect.height);
+
 		if (cellicon->show_marks)
 			{
 			pix_rect.y -= TOGGLE_SPACING;
 			}
 
-		if (gdk_rectangle_intersect(cell_area, &pix_rect, &draw_rect) &&
-		    gdk_rectangle_intersect(expose_area, &draw_rect, &draw_rect))
+		if (gdk_rectangle_intersect(cell_area, &pix_rect, &draw_rect)
+#if !GTK_CHECK_VERSION(3,0,0)
+		    && gdk_rectangle_intersect(expose_area, &draw_rect, &draw_rect)
+#endif
+		    )
 			{
-			gtk_paint_layout(widget->style, window,
+#if GTK_CHECK_VERSION(3,0,0)
+			gtk_render_layout(context, cr, pix_rect.x - text_rect.x, pix_rect.y, layout);
+#else
+
+			gtk_paint_layout(gtk_widget_get_style(widget), window,
 					 state, TRUE,
 					 cell_area, widget,
 					 "cellrenderertext",
 					 pix_rect.x - text_rect.x, pix_rect.y,
 					 layout);
+#endif
 			}
-
 		g_object_unref(layout);
 		}
 
@@ -747,46 +779,79 @@
 
 		pix_rect.width = TOGGLE_SPACING * cellicon->num_marks;
 		pix_rect.height = TOGGLE_SPACING;
-		pix_rect.x = cell_area->x + cell->xpad + (cell_rect.width - pix_rect.width + 1) / 2 + (TOGGLE_SPACING - TOGGLE_WIDTH) / 2;
-		pix_rect.y = cell_area->y + cell->ypad + (cell_rect.height - pix_rect.height) + (TOGGLE_SPACING - TOGGLE_WIDTH) / 2;
-		
-		if (gdk_rectangle_intersect(cell_area, &pix_rect, &draw_rect) &&
-		    gdk_rectangle_intersect(expose_area, &draw_rect, &draw_rect))
+		pix_rect.x = cell_area->x + xpad + (cell_rect.width - pix_rect.width + 1) / 2 + (TOGGLE_SPACING - TOGGLE_WIDTH) / 2;
+		pix_rect.y = cell_area->y + ypad + (cell_rect.height - pix_rect.height) + (TOGGLE_SPACING - TOGGLE_WIDTH) / 2;
+
+		if (gdk_rectangle_intersect(cell_area, &pix_rect, &draw_rect)
+#if !GTK_CHECK_VERSION(3,0,0)
+		    && gdk_rectangle_intersect(expose_area, &draw_rect, &draw_rect)
+#endif
+		    )
 			{
 			for (i = 0; i < cellicon->num_marks; i++)
 				{
-				gtk_paint_check(widget->style, window,
+#if GTK_CHECK_VERSION(3,0,0)
+  				state &= ~(GTK_STATE_FLAG_ACTIVE);
+
+				if ((cellicon->marks & (1 << i)))
+					state |= GTK_STATE_FLAG_ACTIVE;
+
+				cairo_save (cr);
+
+				cairo_rectangle(cr,
+						pix_rect.x + i * TOGGLE_SPACING + (TOGGLE_WIDTH - TOGGLE_SPACING) / 2,
+						pix_rect.y,
+						TOGGLE_WIDTH, TOGGLE_WIDTH);
+				cairo_clip (cr);
+
+				gtk_style_context_save(context);
+				gtk_style_context_set_state(context, state);
+
+				gtk_style_context_add_class(context, GTK_STYLE_CLASS_CHECK);
+
+				gtk_render_check(context, cr,
+					 pix_rect.x + i * TOGGLE_SPACING + (TOGGLE_WIDTH - TOGGLE_SPACING) / 2,
+					 pix_rect.y,
+					 TOGGLE_WIDTH, TOGGLE_WIDTH);
+				gtk_style_context_restore(context);
+				cairo_restore(cr);
+
+#else
+				gtk_paint_check(gtk_widget_get_style(widget), window,
 					 state, (cellicon->marks & (1 << i)) ? GTK_SHADOW_IN : GTK_SHADOW_OUT,
 					 cell_area, widget, "cellcheck",
 					 pix_rect.x + i * TOGGLE_SPACING + (TOGGLE_WIDTH - TOGGLE_SPACING) / 2,
 					 pix_rect.y,
 					 TOGGLE_WIDTH, TOGGLE_WIDTH);
+#endif
 				}
 			}
                 }
 
-#if GTK_CHECK_VERSION(2,20,0)
 	if (cellicon->focused && gtk_widget_has_focus(widget))
+		{
+#if GTK_CHECK_VERSION(3,0,0)
 #else
-	if (cellicon->focused && GTK_WIDGET_HAS_FOCUS(widget))
-#endif
-		{
-		gtk_paint_focus(widget->style, window,
+		gtk_paint_focus(gtk_widget_get_style(widget), window,
 				state,
 				cell_area, widget,
 				"cellrendererfocus",
 				cell_area->x, cell_area->y,
 				cell_area->width, cell_area->height);
+#endif
 		}
+#if !GTK_CHECK_VERSION(3,0,0)
+	cairo_destroy(cr);
+#endif
 }
 
-static gint
+static gboolean
 gqv_cell_renderer_icon_activate(GtkCellRenderer      *cell,
 			 	GdkEvent             *event,
 				GtkWidget            *widget,
 				const gchar          *path,
-				GdkRectangle         *background_area,
-				GdkRectangle         *cell_area,
+				const GdkRectangle   *background_area,
+				const GdkRectangle   *cell_area,
 				GtkCellRendererState  flags)
 {
 	GQvCellRendererIcon *cellicon = (GQvCellRendererIcon *) cell;
@@ -800,23 +865,26 @@
 		GdkRectangle rect;
 		GdkRectangle cell_rect;
 		gint i;
-		
+		gint xpad, ypad;
+
+		gtk_cell_renderer_get_padding(cell, &xpad, &ypad);
+
 		gqv_cell_renderer_icon_get_size(cell, widget, cell_area,
 						&cell_rect.x, &cell_rect.y,
 						&cell_rect.width, &cell_rect.height);
 
-		cell_rect.x += cell->xpad;
-		cell_rect.y += cell->ypad;
-		cell_rect.width -= cell->xpad * 2;
-		cell_rect.height -= cell->ypad * 2;
+		cell_rect.x += xpad;
+		cell_rect.y += ypad;
+		cell_rect.width -= xpad * 2;
+		cell_rect.height -= ypad * 2;
 
 		rect.width = TOGGLE_WIDTH;
 		rect.height = TOGGLE_WIDTH;
-		rect.y = cell_area->y + cell->ypad + (cell_rect.height - TOGGLE_SPACING) + (TOGGLE_SPACING - TOGGLE_WIDTH) / 2;
+		rect.y = cell_area->y + ypad + (cell_rect.height - TOGGLE_SPACING) + (TOGGLE_SPACING - TOGGLE_WIDTH) / 2;
 		for (i = 0; i < cellicon->num_marks; i++)
 			{
-			rect.x = cell_area->x + cell->xpad + (cell_rect.width - TOGGLE_SPACING * cellicon->num_marks + 1) / 2 + i * TOGGLE_SPACING;
-			
+			rect.x = cell_area->x + xpad + (cell_rect.width - TOGGLE_SPACING * cellicon->num_marks + 1) / 2 + i * TOGGLE_SPACING;
+
 			if (bevent->x >= rect.x && bevent->x < rect.x + rect.width &&
 			    bevent->y >= rect.y && bevent->y < rect.y + rect.height)
 				{
--- a/src/cellrenderericon.h	Sun May 27 18:41:56 2012 +0100
+++ b/src/cellrenderericon.h	Tue Oct 02 22:19:13 2012 +0100
@@ -22,8 +22,6 @@
 #ifndef __GQV_CELL_RENDERER_ICON_H__
 #define __GQV_CELL_RENDERER_ICON_H__
 
-#include <gtk/gtkcellrenderer.h>
-
 #ifdef __cplusplus
 extern "C" {
 #endif /* __cplusplus */
@@ -57,13 +55,13 @@
 	gboolean background_set;
 
 	gint num_marks;
-	
+
 	gboolean show_text;
 	gboolean show_marks;
-	
+
 	guint marks;
 	guint toggled_mark;
-	
+
 };
 
 struct _GQvCellRendererIconClass
--- a/src/collect-dlg.c	Sun May 27 18:41:56 2012 +0100
+++ b/src/collect-dlg.c	Tue Oct 02 22:19:13 2012 +0100
@@ -1,7 +1,7 @@
 /*
  * Geeqie
  * (C) 2004 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * Author: John Ellis
  *
@@ -234,21 +234,6 @@
 
 void collection_dialog_save_as(gchar *path, CollectionData *cd)
 {
-#if 0
-	if (!cd->list)
-		{
-		GtkWidget *parent = NULL;
-		CollectWindow *cw;
-
-		cw = collection_window_find(cd);
-		if (cw) parent = cw->window;
-		file_util_warning_dialog(_("Collection empty"),
-					 _("The current collection is empty, save aborted."),
-					 GTK_STOCK_DIALOG_INFO, parent);
-		return;
-		}
-#endif
-
 	if (!path) path = cd->path;
 	if (!path) path = cd->name;
 
--- a/src/collect-dlg.h	Sun May 27 18:41:56 2012 +0100
+++ b/src/collect-dlg.h	Tue Oct 02 22:19:13 2012 +0100
@@ -1,7 +1,7 @@
 /*
  * Geeqie
  * (C) 2004 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * Author: John Ellis
  *
--- a/src/collect-io.c	Sun May 27 18:41:56 2012 +0100
+++ b/src/collect-io.c	Tue Oct 02 22:19:13 2012 +0100
@@ -1,7 +1,7 @@
 /*
  * Geeqie
  * (C) 2004 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * Author: John Ellis
  *
@@ -725,7 +725,7 @@
 static void collect_manager_process_actions(gint max)
 {
 	if (collection_manager_action_list) DEBUG_1("collection manager processing actions");
-	
+
 	while (collection_manager_action_list != NULL && max > 0)
 		{
 		CollectManagerAction *action;
@@ -784,12 +784,11 @@
 static gboolean collect_manager_process_entry(CollectManagerEntry *entry)
 {
 	CollectionData *cd;
-	gboolean success;
 
 	if (entry->empty) return FALSE;
 
 	cd = collection_new(entry->path);
-	success = collection_load_private(cd, entry->path, COLLECTION_LOAD_NONE);
+	(void) collection_load_private(cd, entry->path, COLLECTION_LOAD_NONE);
 
 	collection_unref(cd);
 
@@ -935,7 +934,7 @@
 void collect_manager_notify_cb(FileData *fd, NotifyType type, gpointer data)
 {
 	if (!(type & NOTIFY_CHANGE) || !fd->change) return;
-	
+
 	DEBUG_1("Notify collect_manager: %s %04x", fd->path, type);
 	switch (fd->change->type)
 		{
--- a/src/collect-io.h	Sun May 27 18:41:56 2012 +0100
+++ b/src/collect-io.h	Tue Oct 02 22:19:13 2012 +0100
@@ -1,7 +1,7 @@
 /*
  * Geeqie
  * (C) 2004 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * Author: John Ellis
  *
--- a/src/collect-table.c	Sun May 27 18:41:56 2012 +0100
+++ b/src/collect-table.c	Tue Oct 02 22:19:13 2012 +0100
@@ -1,7 +1,7 @@
 /*
  * Geeqie
  * (C) 2004 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * Author: John Ellis
  *
@@ -244,10 +244,12 @@
 
 static void collection_table_toggle_filenames(CollectTable *ct)
 {
+	GtkAllocation allocation;
 	ct->show_text = !ct->show_text;
 	options->show_icon_names = ct->show_text;
 
-	collection_table_populate_at_new_size(ct, ct->listview->allocation.width, ct->listview->allocation.height, TRUE);
+	gtk_widget_get_allocation(ct->listview, &allocation);
+	collection_table_populate_at_new_size(ct, allocation.width, allocation.height, TRUE);
 }
 
 static gint collection_table_get_icon_width(CollectTable *ct)
@@ -520,7 +522,7 @@
 
 	if (ct->tip_window) return;
 
-	gdk_window_get_pointer(ct->listview->window, &x, &y, NULL);
+	gdk_window_get_pointer(gtk_widget_get_window(ct->listview), &x, &y, NULL);
 
 	ct->tip_info = collection_table_find_data_by_coord(ct, x, y, NULL);
 	if (!ct->tip_info) return;
@@ -537,11 +539,7 @@
 
 	gdk_window_get_pointer(NULL, &x, &y, NULL);
 
-#if GTK_CHECK_VERSION(2,20,0)
 	if (!gtk_widget_get_realized(ct->tip_window)) gtk_widget_realize(ct->tip_window);
-#else
-	if (!GTK_WIDGET_REALIZED(ct->tip_window)) gtk_widget_realize(ct->tip_window);
-#endif
 	gtk_window_move(GTK_WINDOW(ct->tip_window), x + 16, y + 16);
 	gtk_widget_show(ct->tip_window);
 }
@@ -892,7 +890,7 @@
 	gtk_menu_item_set_submenu(GTK_MENU_ITEM(item), submenu);
 	menu_item_add_divider(menu);
 
-	
+
 	ct->editmenu_fd_list = collection_table_selection_get_list(ct);
 	submenu_add_edit(menu, &item,
 			G_CALLBACK(collection_table_popup_edit_cb), ct, ct->editmenu_fd_list);
@@ -1103,7 +1101,7 @@
 	gint ret;
 
 	adj = gtk_tree_view_get_vadjustment(GTK_TREE_VIEW(ct->listview));
-	page_size = (gint)adj->page_increment;
+	page_size = (gint)gtk_adjustment_get_page_increment(adj);
 
 	row_height = options->thumbnails.max_height + THUMB_BORDER_PADDING * 2;
 	if (ct->show_text) row_height += options->thumbnails.max_height / 3;
@@ -1142,33 +1140,33 @@
 
 	switch (event->keyval)
 		{
-		case GDK_Left: case GDK_KP_Left:
+		case GDK_KEY_Left: case GDK_KEY_KP_Left:
 			focus_col = -1;
 			break;
-		case GDK_Right: case GDK_KP_Right:
+		case GDK_KEY_Right: case GDK_KEY_KP_Right:
 			focus_col = 1;
 			break;
-		case GDK_Up: case GDK_KP_Up:
+		case GDK_KEY_Up: case GDK_KEY_KP_Up:
 			focus_row = -1;
 			break;
-		case GDK_Down: case GDK_KP_Down:
+		case GDK_KEY_Down: case GDK_KEY_KP_Down:
 			focus_row = 1;
 			break;
-		case GDK_Page_Up: case GDK_KP_Page_Up:
+		case GDK_KEY_Page_Up: case GDK_KEY_KP_Page_Up:
 			focus_row = -page_height(ct);
 			break;
-		case GDK_Page_Down: case GDK_KP_Page_Down:
+		case GDK_KEY_Page_Down: case GDK_KEY_KP_Page_Down:
 			focus_row = page_height(ct);
 			break;
-		case GDK_Home: case GDK_KP_Home:
+		case GDK_KEY_Home: case GDK_KEY_KP_Home:
 			focus_row = -ct->focus_row;
 			focus_col = -ct->focus_column;
 			break;
-		case GDK_End: case GDK_KP_End:
+		case GDK_KEY_End: case GDK_KEY_KP_End:
 			focus_row = ct->rows - 1 - ct->focus_row;
 			focus_col = ct->columns - 1 - ct->focus_column;
 			break;
-		case GDK_space:
+		case GDK_KEY_space:
 			info = collection_table_find_data(ct, ct->focus_row, ct->focus_column, NULL);
 			if (info)
 				{
@@ -1187,8 +1185,8 @@
 		case 'T': case 't':
 			if (event->state & GDK_CONTROL_MASK) collection_table_toggle_filenames(ct);
 			break;
-		case GDK_Menu:
-		case GDK_F10:
+		case GDK_KEY_Menu:
+		case GDK_KEY_F10:
 			info = collection_table_find_data(ct, ct->focus_row, ct->focus_column, NULL);
 			ct->click_info = info;
 
@@ -1241,9 +1239,6 @@
 
 	if (stop_signal)
 		{
-#if 0
-		g_signal_stop_emission_by_name(GTK_OBJECT(widget), "key_press_event");
-#endif
 		tip_unschedule(ct);
 		}
 
@@ -1267,7 +1262,7 @@
 
 	store = gtk_tree_view_get_model(GTK_TREE_VIEW(ct->listview));
 
-	if (!use_coord) gdk_window_get_pointer(ct->listview->window, &x, &y, NULL);
+	if (!use_coord) gdk_window_get_pointer(gtk_widget_get_window(ct->listview), &x, &y, NULL);
 
 	if (source)
 		{
@@ -1359,7 +1354,6 @@
 
 static void collection_table_insert_marker(CollectTable *ct, CollectInfo *info, gboolean enable)
 {
-	gint row, col;
 	gboolean after = FALSE;
 	GdkRectangle cell;
 
@@ -1376,26 +1370,14 @@
 	/* this setting does not take into account (after), but since it is not really used... */
 	ct->marker_info = info;
 
-	row = -1;
-	col = -1;
-
 	if (!ct->marker_window)
 		{
-		GdkWindow *parent;
+		GdkWindow *parent = gtk_tree_view_get_bin_window(GTK_TREE_VIEW(ct->listview));
 		GdkWindowAttr attributes;
 		gint attributes_mask;
-		GdkPixmap *pixmap;
-		GdkBitmap *mask;
-		GdkPixbuf *pb;
-		gint w, h;
-
-		parent = gtk_tree_view_get_bin_window(GTK_TREE_VIEW(ct->listview));
-
-		pb = gdk_pixbuf_new_from_xpm_data((const gchar **)marker_xpm);
-		gdk_pixbuf_render_pixmap_and_mask(pb, &pixmap, &mask, 128);
-		g_object_unref(pb);
-
-		gdk_drawable_get_size(pixmap, &w, &h);
+		GdkPixbuf *pb = gdk_pixbuf_new_from_xpm_data((const gchar **)marker_xpm);
+		gint w = gdk_pixbuf_get_width(pb);
+		gint h = gdk_pixbuf_get_height(pb);
 
 		attributes.window_type = GDK_WINDOW_CHILD;
 		attributes.wclass = GDK_INPUT_OUTPUT;
@@ -1405,11 +1387,34 @@
 		attributes_mask = 0;
 
 		ct->marker_window = gdk_window_new(parent, &attributes, attributes_mask);
+
+#if GTK_CHECK_VERSION(3,0,0)
+		cairo_region_t *mask;
+		cairo_pattern_t *pattern;
+		cairo_surface_t *img = cairo_image_surface_create(CAIRO_FORMAT_ARGB32, w, h);
+		cairo_t *cr = cairo_create(img);
+		gdk_cairo_set_source_pixbuf(cr, pb, 0, 0);
+		cairo_paint(cr);
+		pattern = cairo_pattern_create_for_surface(img);
+		mask = gdk_cairo_region_create_from_surface(img);
+		gdk_window_shape_combine_region(ct->marker_window, mask, 0, 0);
+		gdk_window_set_background_pattern(ct->marker_window, pattern);
+		cairo_region_destroy(mask);
+		cairo_pattern_destroy(pattern);
+		cairo_destroy(cr);
+		cairo_surface_destroy(img);
+#else
+		GdkPixmap *pixmap;
+		GdkBitmap *mask;
+		gdk_pixbuf_render_pixmap_and_mask(pb, &pixmap, &mask, 128);
+
 		gdk_window_set_back_pixmap(ct->marker_window, pixmap, FALSE);
 		gdk_window_shape_combine_mask(ct->marker_window, mask, 0, 0);
 
 		g_object_unref(pixmap);
 		if (mask) g_object_unref(mask);
+#endif
+		g_object_unref(pb);
 		}
 
 	if (info)
@@ -1417,7 +1422,8 @@
 		gint x, y;
 		gint w, h;
 
-		gdk_drawable_get_size(ct->marker_window, &w, &h);
+		w = gdk_window_get_width(ct->marker_window);
+		h = gdk_window_get_height(ct->marker_window);
 
 		if (!after)
 			{
@@ -1431,7 +1437,9 @@
 		y = cell.y + (cell.height / 2) - (h / 2);
 
 		gdk_window_move(ct->marker_window, x, y);
+#if !GTK_CHECK_VERSION(3,0,0)
 		gdk_window_clear(ct->marker_window);
+#endif
 		if (!gdk_window_is_visible(ct->marker_window)) gdk_window_show(ct->marker_window);
 		}
 	else
@@ -1472,9 +1480,10 @@
 
 	if (!ct->drop_idle_id) return FALSE;
 
-	window = ct->listview->window;
+	window = gtk_widget_get_window(ct->listview);
 	gdk_window_get_pointer(window, &x, &y, NULL);
-	gdk_drawable_get_size(window, &w, &h);
+	w = gdk_window_get_width(window);
+	h = gdk_window_get_height(window);
 	if (x >= 0 && x < w && y >= 0 && y < h)
 		{
 		collection_table_motion_update(ct, x, y, TRUE);
@@ -1554,11 +1563,7 @@
 					layout_image_set_collection(NULL, ct->cd, info);
 					}
 				}
-#if GTK_CHECK_VERSION(2,20,0)
 			else if (!gtk_widget_has_focus(ct->listview))
-#else
-			else if (!GTK_WIDGET_HAS_FOCUS(ct->listview))
-#endif
 				{
 				gtk_widget_grab_focus(ct->listview);
 				}
@@ -1709,11 +1714,7 @@
 			gtk_tree_view_column_set_visible(column, (i < ct->columns));
 			gtk_tree_view_column_set_fixed_width(column, thumb_width + (THUMB_BORDER_PADDING * 6));
 
-#if GTK_CHECK_VERSION(2,18,0)
 			list = gtk_cell_layout_get_cells(GTK_CELL_LAYOUT(column));
-#else
-			list = gtk_tree_view_column_get_cell_renderers(column);
-#endif
 			cell = (list) ? list->data : NULL;
 			g_list_free(list);
 
@@ -1724,11 +1725,7 @@
 							     "show_text", ct->show_text, NULL);
 				}
 			}
-#if GTK_CHECK_VERSION(2,20,0)
 		if (gtk_widget_get_realized(ct->listview)) gtk_tree_view_columns_autosize(GTK_TREE_VIEW(ct->listview));
-#else
-		if (GTK_WIDGET_REALIZED(ct->listview)) gtk_tree_view_columns_autosize(GTK_TREE_VIEW(ct->listview));
-#endif
 		}
 
 	row = -1;
@@ -2155,6 +2152,9 @@
 				uri_text = collection_info_list_to_dnd_data(ct->cd, list, &total);
 				g_list_free(list);
 				}
+			gtk_selection_data_set(selection_data, gtk_selection_data_get_target(selection_data),
+						8, (guchar *)uri_text, total);
+			g_free(uri_text);
 			break;
 		case TARGET_URI_LIST:
 		case TARGET_TEXT_PLAIN:
@@ -2169,14 +2169,10 @@
 				}
 			if (!list) return;
 
-			uri_text = uri_text_from_filelist(list, &total, (info == TARGET_TEXT_PLAIN));
+			uri_selection_data_set_uris_from_filelist(selection_data, list);
 			filelist_free(list);
 			break;
 		}
-
-	gtk_selection_data_set(selection_data, selection_data->target,
-			       8, (guchar *)uri_text, total);
-	g_free(uri_text);
 }
 
 
@@ -2192,7 +2188,7 @@
 	CollectInfo *drop_info;
 	GList *work;
 
-	DEBUG_1("%s", selection_data->data);
+	DEBUG_1("%s", gtk_selection_data_get_data(selection_data));
 
 	collection_table_scroll(ct, FALSE);
 	collection_table_insert_marker(ct, NULL, FALSE);
@@ -2202,7 +2198,7 @@
 	switch (info)
 		{
 		case TARGET_APP_COLLECTION_MEMBER:
-			source = collection_from_dnd_data((gchar *)selection_data->data, &list, &info_list);
+			source = collection_from_dnd_data((gchar *)gtk_selection_data_get_data(selection_data), &list, &info_list);
 			if (source)
 				{
 				if (source == ct->cd)
@@ -2226,7 +2222,7 @@
 				else
 					{
 					/* it is a move/copy across collections */
-					if (context->action == GDK_ACTION_MOVE)
+					if (gdk_drag_context_get_selected_action(context) == GDK_ACTION_MOVE)
 						{
 						collection_remove_by_info_list(source, info_list);
 						}
@@ -2235,7 +2231,7 @@
 				}
 			break;
 		case TARGET_URI_LIST:
-			list = uri_filelist_from_text((gchar *)selection_data->data, TRUE);
+			list = uri_filelist_from_gtk_selection_data(selection_data);
 			work = list;
 			while (work)
 				{
@@ -2376,9 +2372,6 @@
 
 	if (info && (info->flag_mask & SELECTION_PRELIGHT))
 		{
-#if 0
-		shift_color(&color_fg, -1, 0);
-#endif
 		shift_color(&color_bg, -1, 0);
 		}
 
@@ -2445,7 +2438,7 @@
 
 	if (ct->popup)
 		{
-		g_signal_handlers_disconnect_matched(GTK_OBJECT(ct->popup), G_SIGNAL_MATCH_DATA,
+		g_signal_handlers_disconnect_matched(G_OBJECT(ct->popup), G_SIGNAL_MATCH_DATA,
 						     0, 0, 0, NULL, ct);
 		gtk_widget_destroy(ct->popup);
 		}
@@ -2473,7 +2466,7 @@
 	gint i;
 
 	ct = g_new0(CollectTable, 1);
-	
+
 	ct->cd = cd;
 	ct->show_text = options->show_icon_names;
 
--- a/src/collect-table.h	Sun May 27 18:41:56 2012 +0100
+++ b/src/collect-table.h	Tue Oct 02 22:19:13 2012 +0100
@@ -1,7 +1,7 @@
 /*
  * Geeqie
  * (C) 2004 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * Author: John Ellis
  *
--- a/src/collect.c	Sun May 27 18:41:56 2012 +0100
+++ b/src/collect.c	Tue Oct 02 22:19:13 2012 +0100
@@ -1,7 +1,7 @@
 /*
  * Geeqie
  * (C) 2006 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * Author: John Ellis
  *
@@ -102,14 +102,6 @@
 
 	log_printf("collection_info_load_thumb not implemented!\n(because an instant thumb loader not implemented)");
 	return FALSE;
-#if 0
-	if (create_thumbnail(ci->fd->path, &ci->pixmap, &ci->mask) < 0) return FALSE;
-
-	if (ci->pixmap) gdk_pixmap_ref(ci->pixmap);
-	if (ci->mask) gdk_bitmap_ref(ci->mask);
-
-	return TRUE;
-#endif
 }
 
 void collection_list_free(GList *list)
@@ -254,38 +246,6 @@
 	return NULL;
 }
 
-#if 0
-static GList *collection_list_find_link(GList *list, gchar *path)
-{
-	GList *work = list;
-
-	while (work)
-		{
-		CollectInfo *ci = work->data;
-		if (strcmp(ci->fd->path, path) == 0) return work;
-		work = work->next;
-		}
-
-	return NULL;
-}
-
-static gint collection_list_find_index(GList *list, gchar *path)
-{
-	gint c = 0;
-	GList *work = list;
-
-	while (work)
-		{
-		CollectInfo *ci = work->data;
-		if (strcmp(ci->fd->path, path) == 0) return c;
-		work = work->next;
-		c++;
-		}
-
-	return -1;
-}
-#endif
-
 GList *collection_list_to_filelist(GList *list)
 {
 	GList *filelist = NULL;
@@ -377,7 +337,7 @@
 
 
 	collection_list = g_list_append(collection_list, cd);
-	
+
 	return cd;
 }
 
@@ -389,7 +349,7 @@
 
 	collection_load_stop(cd);
 	collection_list_free(cd->list);
-	
+
 	file_data_unregister_notify_func(collection_notify_cb, cd);
 
 	collection_list = g_list_remove(collection_list, cd);
@@ -446,15 +406,15 @@
 	if (info_list) *info_list = NULL;
 
 	if (strncmp(data, "COLLECTION:", 11) != 0) return NULL;
-	
+
 	ptr = data + 11;
-		
+
 	collection_number = atoi(ptr);
 	cd = collection_from_number(collection_number);
 	if (!cd) return NULL;
 
 	if (!list && !info_list) return cd;
-	
+
 	while (*ptr != '\0' && *ptr != '\n' ) ptr++;
 	if (*ptr == '\0') return cd;
 	ptr++;
@@ -463,7 +423,7 @@
 		{
 		guint item_number;
 		CollectInfo *info;
-		
+
 		item_number = (guint) atoi(ptr);
 		while (*ptr != '\n' && *ptr != '\0') ptr++;
 		if (*ptr == '\0')
@@ -477,7 +437,7 @@
 		if (list) *list = g_list_append(*list, file_data_ref(info->fd));
 		if (info_list) *info_list = g_list_append(*info_list, info);
 		}
-	
+
 	return cd;
 }
 
@@ -508,7 +468,7 @@
 		work = work->next;
 
 		if (item_number < 0) continue;
-		
+
 		text = g_strdup_printf("%d\n", item_number);
 		temp = g_list_prepend(temp, text);
 		*length += strlen(text);
@@ -787,7 +747,7 @@
 	if (!(type & NOTIFY_CHANGE) || !fd->change) return;
 
 	DEBUG_1("Notify collection: %s %04x", fd->path, type);
-	
+
 	switch (fd->change->type)
 		{
 		case FILEDATA_CHANGE_MOVE:
@@ -817,7 +777,6 @@
 {
 	CollectWindow *cw = data;
 	gboolean stop_signal = FALSE;
-	gint edit_val = -1;
 	GList *list;
 
 	if (event->state & GDK_CONTROL_MASK)
@@ -826,34 +785,15 @@
 		switch (event->keyval)
 			{
 			case '1':
-				edit_val = 0;
-				break;
 			case '2':
-				edit_val = 1;
-				break;
 			case '3':
-				edit_val = 2;
-				break;
 			case '4':
-				edit_val = 3;
-				break;
 			case '5':
-				edit_val = 4;
-				break;
 			case '6':
-				edit_val = 5;
-				break;
 			case '7':
-				edit_val = 6;
-				break;
 			case '8':
-				edit_val = 7;
-				break;
 			case '9':
-				edit_val = 8;
-				break;
 			case '0':
-				edit_val = 9;
 				break;
 			case 'A': case 'a':
 				if (event->state & GDK_SHIFT_MASK)
@@ -901,7 +841,7 @@
 		stop_signal = TRUE;
 		switch (event->keyval)
 			{
-			case GDK_Return: case GDK_KP_Enter:
+			case GDK_KEY_Return: case GDK_KEY_KP_Enter:
 				layout_image_set_collection(NULL, cw->cd,
 					collection_table_get_focus_info(cw->table));
 				break;
@@ -951,7 +891,7 @@
 					collection_set_sort_method(cw->cd, SORT_PATH);
 					}
 				break;
-			case GDK_Delete: case GDK_KP_Delete:
+			case GDK_KEY_Delete: case GDK_KEY_KP_Delete:
 				list = g_list_copy(cw->table->selection);
 				if (list)
 					{
@@ -979,12 +919,15 @@
 static void collection_window_get_geometry(CollectWindow *cw)
 {
 	CollectionData *cd;
+	GdkWindow *window;
 
 	if (!cw) return;
 
 	cd = cw->cd;
-	gdk_window_get_position(cw->window->window, &cd->window_x, &cd->window_y);
-	gdk_drawable_get_size(cw->window->window, &cd->window_w, &cd->window_h);
+	window = gtk_widget_get_window(cw->window);
+	gdk_window_get_position(window, &cd->window_x, &cd->window_y);
+	cd->window_w = gdk_window_get_width(window);
+	cd->window_h = gdk_window_get_height(window);
 	cd->window_read = TRUE;
 }
 
@@ -1043,13 +986,6 @@
 	if (!cw) return;
 }
 
-#if 0
-static void collection_window_move(CollectWindow *cw, CollectInfo *ci)
-{
-	if (!cw) return;
-}
-#endif
-
 static void collection_window_remove(CollectWindow *cw, CollectInfo *ci)
 {
 	if (!cw) return;
--- a/src/collect.h	Sun May 27 18:41:56 2012 +0100
+++ b/src/collect.h	Tue Oct 02 22:19:13 2012 +0100
@@ -1,7 +1,7 @@
 /*
  * Geeqie
  * (C) 2004 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * Author: John Ellis
  *
--- a/src/color-man.c	Sun May 27 18:41:56 2012 +0100
+++ b/src/color-man.c	Tue Oct 02 22:19:13 2012 +0100
@@ -1,7 +1,7 @@
 /*
  * Geeqie
  * (C) 2006 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * Author: John Ellis
  *
@@ -21,7 +21,11 @@
 #ifdef HAVE_LCMS
 /*** color support enabled ***/
 
+#ifdef HAVE_LCMS2
+#include <lcms2.h>
+#else
 #include <lcms.h>
+#endif
 
 
 typedef struct _ColorManCache ColorManCache;
@@ -52,7 +56,9 @@
 	if (init_done) return;
 	init_done = TRUE;
 
+#ifndef HAVE_LCMS2
 	cmsErrorAction(LCMS_ERROR_IGNORE);
+#endif
 }
 
 static cmsHPROFILE color_man_create_adobe_comp(void)
@@ -425,7 +431,14 @@
 		case COLOR_PROFILE_FILE:
 			if (profile)
 				{
+#ifdef HAVE_LCMS2
+				cmsUInt8Number profileID[17];
+				profileID[16] = '\0';
+				cmsGetHeaderProfileID(profile, profileID);
+				return g_strdup((gchar *) profileID);
+#else
 				return g_strdup(cmsTakeProductName(profile));
+#endif
 				}
 			return g_strdup(_("Custom profile"));
 			break;
@@ -441,7 +454,7 @@
 	if (!cm) return FALSE;
 
 	cc = cm->profile;
-	
+
 	if (image_profile) *image_profile = color_man_get_profile_name(cc->profile_in_type, cc->profile_in);
 	if (screen_profile) *screen_profile = color_man_get_profile_name(cc->profile_out_type, cc->profile_out);
 	return TRUE;
--- a/src/color-man.h	Sun May 27 18:41:56 2012 +0100
+++ b/src/color-man.h	Tue Oct 02 22:19:13 2012 +0100
@@ -1,7 +1,7 @@
 /*
  * Geeqie
  * (C) 2006 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * Author: John Ellis
  *
--- a/src/compat.c	Sun May 27 18:41:56 2012 +0100
+++ b/src/compat.c	Tue Oct 02 22:19:13 2012 +0100
@@ -1,6 +1,6 @@
 /*
  * Geeqie
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * Authors: Vladimir Nadvornik / Laurent Monin
  *
@@ -12,47 +12,30 @@
 #include "main.h"
 #include "compat.h"
 
-/* gtk_radio_action_set_current_value() replacement for GTK+ < 2.10 */
-void radio_action_set_current_value(GtkRadioAction *action, gint current_value)
+#if !GTK_CHECK_VERSION(2,24,0)
+gint compat_gdk_window_get_width(GdkWindow *window)
 {
-#if GTK_CHECK_VERSION(2, 10, 0)
-	gtk_radio_action_set_current_value(action, current_value);
-#else
-	GSList *group;
-	gint value;
-
-	group = gtk_radio_action_get_group(action);
-	while (group)
-		{
-		action = GTK_RADIO_ACTION(group->data);
-		g_object_get(G_OBJECT(action), "value", &value, NULL);
-		if (value == current_value)
-			{
-			gtk_toggle_action_set_active(GTK_TOGGLE_ACTION(action), TRUE);
-			return;
-			}
-		group = g_slist_next(group);
-		}
-#endif
+	gint w, h;
+	gdk_drawable_get_size(window, &w, &h);
+	return w;
 }
 
-#if !GLIB_CHECK_VERSION(2, 14, 0)
-static void hash_table_add(gpointer key, gpointer value, gpointer user_data)
+gint compat_gdk_window_get_height(GdkWindow *window)
 {
-	GList **list = user_data;
-	*list = g_list_prepend(*list, key);
+	gint w, h;
+	gdk_drawable_get_size(window, &w, &h);
+	return h;
 }
 #endif
 
-GList* hash_table_get_keys(GHashTable *hash_table)
+#if !GTK_CHECK_VERSION(2,22,0)
+cairo_surface_t *compat_gdk_window_create_similar_surface (GdkWindow *window, cairo_content_t content, gint width, gint height)
 {
-#if GLIB_CHECK_VERSION(2, 14, 0)
-	return g_hash_table_get_keys(hash_table);
-#else
-	GList *list = NULL;
-	g_hash_table_foreach(hash_table, hash_table_add, &list);
-	return list;
+	cairo_t *cr = gdk_cairo_create(window);
+	cairo_surface_t *ws = cairo_get_target(cr);
+	cairo_surface_t *ret = cairo_surface_create_similar(ws, content, width, height);
+	cairo_destroy(cr);
+	return ret;
+}
 #endif
-}
-
 /* vim: set shiftwidth=8 softtabstop=0 cindent cinoptions={1s: */
--- a/src/compat.h	Sun May 27 18:41:56 2012 +0100
+++ b/src/compat.h	Tue Oct 02 22:19:13 2012 +0100
@@ -1,6 +1,6 @@
 /*
  * Geeqie
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * Authors: Vladimir Nadvornik / Laurent Monin
  *
@@ -13,13 +13,6 @@
 #ifndef COMPAT_H
 #define COMPAT_H
 
-void radio_action_set_current_value(GtkRadioAction *action, gint current_value);
-GList* hash_table_get_keys(GHashTable *hash_table);
-
-#if !GTK_CHECK_VERSION(2,12,0)
-#define gtk_widget_set_tooltip_text(widget, text) /* ignored */
-#endif
-
 
 /* Some systems (BSD,MacOsX,HP-UX,...) define MAP_ANON and not MAP_ANONYMOUS */
 #if defined(MAP_ANON) && !defined(MAP_ANONYMOUS)
@@ -28,6 +21,64 @@
 #define	MAP_ANON	MAP_ANONYMOUS
 #endif
 
+#if !GTK_CHECK_VERSION(2,22,0)
+#define GDK_KEY_BackSpace	GDK_BackSpace
+#define GDK_KEY_Delete		GDK_Delete
+#define GDK_KEY_Down		GDK_Down
+#define GDK_KEY_End		GDK_End
+#define GDK_KEY_Escape		GDK_Escape
+#define GDK_KEY_F10		GDK_F10
+#define GDK_KEY_F11		GDK_F11
+#define GDK_KEY_Home		GDK_Home
+#define GDK_KEY_ISO_Left_Tab	GDK_ISO_Left_Tab
+#define GDK_KEY_KP_Add		GDK_KP_Add
+#define GDK_KEY_KP_Delete	GDK_KP_Delete
+#define GDK_KEY_KP_Divide	GDK_KP_Divide
+#define GDK_KEY_KP_Down		GDK_KP_Down
+#define GDK_KEY_KP_End		GDK_KP_End
+#define GDK_KEY_KP_Enter	GDK_KP_Enter
+#define GDK_KEY_KP_Home		GDK_KP_Home
+#define GDK_KEY_KP_Left		GDK_KP_Left
+#define GDK_KEY_KP_Multiply	GDK_KP_Multiply
+#define GDK_KEY_KP_Page_Down	GDK_KP_Page_Down
+#define GDK_KEY_KP_Page_Up	GDK_KP_Page_Up
+#define GDK_KEY_KP_Right	GDK_KP_Right
+#define GDK_KEY_KP_Subtract	GDK_KP_Subtract
+#define GDK_KEY_KP_Up		GDK_KP_Up
+#define GDK_KEY_Left		GDK_Left
+#define GDK_KEY_Menu		GDK_Menu
+#define GDK_KEY_Page_Down	GDK_Page_Down
+#define GDK_KEY_Page_Up		GDK_Page_Up
+#define GDK_KEY_plus		GDK_plus
+#define GDK_KEY_Return		GDK_Return
+#define GDK_KEY_Right		GDK_Right
+#define GDK_KEY_space		GDK_space
+#define GDK_KEY_Tab		GDK_Tab
+#define GDK_KEY_Up		GDK_Up
+#endif
+
+#if !GTK_CHECK_VERSION(2,24,0)
+#define gtk_combo_box_text_new gtk_combo_box_new_text
+#define gtk_combo_box_text_append_text gtk_combo_box_append_text
+#define gtk_combo_box_text_new_with_entry gtk_combo_box_entry_new_text
+#define gtk_combo_box_new_with_model_and_entry(model) gtk_combo_box_entry_new_with_model(model, FILTER_COLUMN_FILTER)
+#define GTK_COMBO_BOX_TEXT(combo) GTK_COMBO_BOX(combo)
+#define gdk_window_get_width(window) compat_gdk_window_get_width(window)
+#define gdk_window_get_height(window) compat_gdk_window_get_height(window)
+
+gint compat_gdk_window_get_width(GdkWindow *window);
+gint compat_gdk_window_get_height(GdkWindow *window);
+
+#endif
+
+#if !GTK_CHECK_VERSION(2,22,0)
+#define gdk_window_create_similar_surface(window, content, width, height) compat_gdk_window_create_similar_surface(window, content, width, height)
+cairo_surface_t *compat_gdk_window_create_similar_surface (GdkWindow *window, cairo_content_t content, gint width, gint height);
+
+#define gdk_drag_context_get_selected_action(context) ((context)->action)
+#define gdk_drag_context_get_suggested_action(context) ((context)->suggested_action)
+#define gdk_drag_context_get_actions(context) ((context)->actions)
+#endif
 
 #endif /* COMPAT_H */
 /* vim: set shiftwidth=8 softtabstop=0 cindent cinoptions={1s: */
--- a/src/debug.c	Sun May 27 18:41:56 2012 +0100
+++ b/src/debug.c	Tue Oct 02 22:19:13 2012 +0100
@@ -1,6 +1,6 @@
 /*
  * Geeqie
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * Authors: Vladimir Nadvornik, Laurent Monin
  *
--- a/src/debug.h	Sun May 27 18:41:56 2012 +0100
+++ b/src/debug.h	Tue Oct 02 22:19:13 2012 +0100
@@ -1,6 +1,6 @@
 /*
  * Geeqie
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * Authors: Vladimir Nadvornik, Laurent Monin
  *
--- a/src/desktop_file.c	Sun May 27 18:41:56 2012 +0100
+++ b/src/desktop_file.c	Tue Oct 02 22:19:13 2012 +0100
@@ -1,7 +1,7 @@
 /*
  * Geeqie
  * (C) 2004 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * Author: Vladimir Nadvornik
  *
@@ -68,13 +68,13 @@
 	GError *error = NULL;
 	gboolean ret = TRUE;
 	const gchar *name = gtk_entry_get_text(GTK_ENTRY(ew->entry));
-	
-	if (!name || !name[0]) 
+
+	if (!name || !name[0])
 		{
 		file_util_warning_dialog(_("Can't save"), _("Please specify file name."), GTK_STOCK_DIALOG_ERROR, NULL);
 		return FALSE;
 		}
-	
+
 	gtk_text_buffer_get_bounds(ew->buffer, &start, &end);
 	text = gtk_text_buffer_get_text(ew->buffer, &start, &end, FALSE);
 
@@ -87,19 +87,19 @@
 		ret = FALSE;
 		}
 
-	if (ret && !g_file_set_contents(path, text, -1, &error)) 
+	if (ret && !g_file_set_contents(path, text, -1, &error))
 		{
 		file_util_warning_dialog(_("Can't save"), error->message, GTK_STOCK_DIALOG_ERROR, NULL);
 		g_error_free(error);
 		ret = FALSE;
 		}
-	
+
 	g_free(path);
 	g_free(dir);
 	g_free(text);
 	layout_editors_reload_start();
 	/* idle function is not needed, everything should be cached */
-	layout_editors_reload_finish(); 
+	layout_editors_reload_finish();
 	return ret;
 }
 
@@ -135,7 +135,7 @@
 static void editor_window_text_modified_cb(GtkWidget *widget, gpointer data)
 {
 	EditorWindow *ew = data;
-	
+
 	if (gtk_text_buffer_get_modified(ew->buffer))
 		{
 		gtk_widget_set_sensitive(ew->save_button, TRUE);
@@ -158,7 +158,7 @@
 		{
 		modified = strcmp(ew->desktop_name, content);
 		}
-	
+
 	gtk_widget_set_sensitive(ew->save_button, modified);
 	ew->modified = modified;
 }
@@ -217,7 +217,7 @@
 	ew->save_button = pref_button_new(NULL, GTK_STOCK_SAVE, NULL, FALSE,
 				 G_CALLBACK(editor_window_save_cb), ew);
 	gtk_container_add(GTK_CONTAINER(button_hbox), ew->save_button);
-	GTK_WIDGET_SET_FLAGS(ew->save_button, GTK_CAN_DEFAULT);
+	gtk_widget_set_can_default(ew->save_button, TRUE);
 	gtk_widget_set_sensitive(ew->save_button, FALSE);
 	gtk_widget_show(ew->save_button);
 	ct_button = ew->save_button;
@@ -225,7 +225,7 @@
 	button = pref_button_new(NULL, GTK_STOCK_CLOSE, NULL, FALSE,
 				 G_CALLBACK(editor_window_close_cb), ew);
 	gtk_container_add(GTK_CONTAINER(button_hbox), button);
-	GTK_WIDGET_SET_FLAGS(button, GTK_CAN_DEFAULT);
+	gtk_widget_set_can_default(button, TRUE);
 	gtk_widget_show(button);
 
 	if (!generic_dialog_get_alternative_button_order(ew->window))
@@ -297,7 +297,7 @@
 		/* refresh list */
 		layout_editors_reload_start();
 		/* idle function is not needed, everything should be cached */
-		layout_editors_reload_finish(); 
+		layout_editors_reload_finish();
 		}
 
 	editor_list_window_delete_dlg_cancel(gd, data);
@@ -306,10 +306,10 @@
 static void editor_list_window_delete_cb(GtkWidget *widget, gpointer data)
 {
 	EditorListWindow *ewl = data;
-	GtkTreeSelection *sel = gtk_tree_view_get_selection(GTK_TREE_VIEW(ewl->view)); 
+	GtkTreeSelection *sel = gtk_tree_view_get_selection(GTK_TREE_VIEW(ewl->view));
 	GtkTreeIter iter;
 
-	if (gtk_tree_selection_get_selected(sel, NULL, &iter)) 
+	if (gtk_tree_selection_get_selected(sel, NULL, &iter))
 		{
 		GtkTreeModel *store = gtk_tree_view_get_model(GTK_TREE_VIEW(ewl->view));
 		gchar *path;
@@ -325,7 +325,7 @@
 		ewdl = g_new(EditorWindowDel_Data, 1);
 		ewdl->ewl = ewl;
 		ewdl->path = path;
-	
+
 		if (ewl->gd)
 			{
 			GenericDialog *gd = ewl->gd;
@@ -351,10 +351,10 @@
 static void editor_list_window_edit_cb(GtkWidget *widget, gpointer data)
 {
 	EditorListWindow *ewl = data;
-	GtkTreeSelection *sel = gtk_tree_view_get_selection(GTK_TREE_VIEW(ewl->view)); 
+	GtkTreeSelection *sel = gtk_tree_view_get_selection(GTK_TREE_VIEW(ewl->view));
 	GtkTreeIter iter;
 
-	if (gtk_tree_selection_get_selected(sel, NULL, &iter)) 
+	if (gtk_tree_selection_get_selected(sel, NULL, &iter))
 		{
 		GtkTreeModel *store = gtk_tree_view_get_model(GTK_TREE_VIEW(ewl->view));
 		gchar *path;
@@ -363,7 +363,7 @@
 		gtk_tree_model_get(store, &iter,
 				   DESKTOP_FILE_COLUMN_PATH, &path,
 				   DESKTOP_FILE_COLUMN_KEY, &key, -1);
-		editor_window_new(path, key);	
+		editor_window_new(path, key);
 		g_free(key);
 		g_free(path);
 		}
@@ -377,10 +377,10 @@
 static void editor_list_window_selection_changed_cb(GtkWidget *widget, gpointer data)
 {
 	EditorListWindow *ewl = data;
-	GtkTreeSelection *sel = gtk_tree_view_get_selection(GTK_TREE_VIEW(ewl->view)); 
+	GtkTreeSelection *sel = gtk_tree_view_get_selection(GTK_TREE_VIEW(ewl->view));
 	GtkTreeIter iter;
 
-	if (gtk_tree_selection_get_selected(sel, NULL, &iter)) 
+	if (gtk_tree_selection_get_selected(sel, NULL, &iter))
 		{
 		GtkTreeModel *store = gtk_tree_view_get_model(GTK_TREE_VIEW(ewl->view));
 		gchar *path;
@@ -388,12 +388,12 @@
 		gtk_tree_model_get(store, &iter,
 						   DESKTOP_FILE_COLUMN_PATH, &path,
 						   -1);
-		
+
 		gtk_widget_set_sensitive(ewl->delete_button, access_file(path, W_OK));
 		gtk_widget_set_sensitive(ewl->edit_button, TRUE);
 		g_free(path);
 		}
-	
+
 }
 
 static gint editor_list_window_sort_cb(GtkTreeModel *model, GtkTreeIter *a, GtkTreeIter *b, gpointer data)
@@ -427,7 +427,7 @@
 			g_free(s2);
 			}
 			break;
-	
+
     		default:
        			g_return_val_if_reached(0);
 		}
@@ -449,7 +449,7 @@
 	EditorListWindow *ewl;
 
 	editor_list_window = ewl = g_new0(EditorListWindow, 1);
-	
+
 	ewl->window = window_new(GTK_WINDOW_TOPLEVEL, "editors", PIXBUF_INLINE_ICON_CONFIG, NULL, _("Editors"));
 	gtk_window_set_type_hint(GTK_WINDOW(ewl->window), GDK_WINDOW_TYPE_HINT_DIALOG);
 	g_signal_connect(G_OBJECT(ewl->window), "delete_event",
@@ -472,13 +472,13 @@
 	button = pref_button_new(NULL, GTK_STOCK_NEW, NULL, FALSE,
 				 G_CALLBACK(editor_list_window_new_cb), ewl);
 	gtk_container_add(GTK_CONTAINER(hbox), button);
-	GTK_WIDGET_SET_FLAGS(button, GTK_CAN_DEFAULT);
+	gtk_widget_set_can_default(button, TRUE);
 	gtk_widget_show(button);
 
 	button = pref_button_new(NULL, GTK_STOCK_EDIT, NULL, FALSE,
 				 G_CALLBACK(editor_list_window_edit_cb), ewl);
 	gtk_container_add(GTK_CONTAINER(hbox), button);
-	GTK_WIDGET_SET_FLAGS(button, GTK_CAN_DEFAULT);
+	gtk_widget_set_can_default(button, TRUE);
 	gtk_widget_set_sensitive(button, FALSE);
 	gtk_widget_show(button);
 	ewl->edit_button = button;
@@ -486,7 +486,7 @@
 	button = pref_button_new(NULL, GTK_STOCK_DELETE, NULL, FALSE,
 				 G_CALLBACK(editor_list_window_delete_cb), ewl);
 	gtk_container_add(GTK_CONTAINER(hbox), button);
-	GTK_WIDGET_SET_FLAGS(button, GTK_CAN_DEFAULT);
+	gtk_widget_set_can_default(button, TRUE);
 	gtk_widget_set_sensitive(button, FALSE);
 	gtk_widget_show(button);
 	ewl->delete_button = button;
@@ -494,7 +494,7 @@
 	button = pref_button_new(NULL, GTK_STOCK_CLOSE, NULL, FALSE,
 				 G_CALLBACK(editor_list_window_close_cb), ewl);
 	gtk_container_add(GTK_CONTAINER(hbox), button);
-	GTK_WIDGET_SET_FLAGS(button, GTK_CAN_DEFAULT);
+	gtk_widget_set_can_default(button, TRUE);
 	gtk_widget_show(button);
 
 	scrolled = gtk_scrolled_window_new(NULL, NULL);
@@ -528,7 +528,7 @@
 	gtk_tree_view_column_add_attribute(column, renderer, "text", DESKTOP_FILE_COLUMN_HIDDEN);
 	gtk_tree_view_append_column(GTK_TREE_VIEW(ewl->view), column);
 	gtk_tree_view_column_set_sort_column_id(column, DESKTOP_FILE_COLUMN_HIDDEN);
-	gtk_tree_view_column_set_alignment(column, 0.5); 
+	gtk_tree_view_column_set_alignment(column, 0.5);
 
 	column = gtk_tree_view_column_new();
 	gtk_tree_view_column_set_title(column, _("Desktop file"));
--- a/src/desktop_file.h	Sun May 27 18:41:56 2012 +0100
+++ b/src/desktop_file.h	Tue Oct 02 22:19:13 2012 +0100
@@ -1,7 +1,7 @@
 /*
  * Geeqie
  * (C) 2004 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * Author: Vladimir Nadvornik
  *
--- a/src/dnd.c	Sun May 27 18:41:56 2012 +0100
+++ b/src/dnd.c	Tue Oct 02 22:19:13 2012 +0100
@@ -1,7 +1,7 @@
 /*
  * Geeqie
  * (C) 2004 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * Author: John Ellis
  *
@@ -17,6 +17,7 @@
 #include "collect.h"
 #include "image.h"
 #include "ui_fileops.h"
+#include "pixbuf_util.h"
 
 
 GtkTargetEntry dnd_file_drag_types[] = {
@@ -72,6 +73,7 @@
 		}
 }
 
+/*
 static void pixbuf_draw_rect(GdkPixbuf *pixbuf, gint x, gint y, gint w, gint h, guint8 val)
 {
 	gboolean alpha;
@@ -96,11 +98,9 @@
 			}
 		}
 }
-
+*/
 void dnd_set_drag_icon(GtkWidget *widget, GdkDragContext *context, GdkPixbuf *pixbuf, gint items)
 {
-	GdkPixmap *pixmap;
-	GdkBitmap *mask;
 	GdkPixbuf *dest;
 	gint w, h;
 	gint sw, sh;
@@ -148,24 +148,20 @@
 		lw = CLAMP(lw, 0, w - x - 1);
 		lh = CLAMP(lh, 0, h - y - 1);
 
-		pixbuf_draw_rect(dest, x, y, lw, lh, 128);
+		pixbuf_draw_rect_fill(dest, x, y, lw, lh, 128, 128, 128, 255);
 		}
 
-	gdk_pixbuf_render_pixmap_and_mask(dest, &pixmap, &mask, 128);
-	g_object_unref(dest);
-
 	if (layout)
 		{
-		gdk_draw_layout(pixmap, widget->style->black_gc, x+1, y+1, layout);
-		gdk_draw_layout(pixmap, widget->style->white_gc, x, y, layout);
+		pixbuf_draw_layout(dest, layout, NULL, x+1, y+1, 0, 0, 0, 255);
+		pixbuf_draw_layout(dest, layout, NULL, x, y, 255, 255, 255, 255);
 
 		g_object_unref(G_OBJECT(layout));
 		}
 
-	gtk_drag_set_icon_pixmap(context, gtk_widget_get_colormap(widget), pixmap, mask, -8, -6);
+	gtk_drag_set_icon_pixbuf(context, dest, -8, -6);
 
-	g_object_unref(pixmap);
-	if (mask) g_object_unref(mask);
+	g_object_unref(dest);
 }
 
 static void dnd_set_drag_label_end_cb(GtkWidget *widget, GdkDragContext *context, gpointer data)
--- a/src/dnd.h	Sun May 27 18:41:56 2012 +0100
+++ b/src/dnd.h	Tue Oct 02 22:19:13 2012 +0100
@@ -1,7 +1,7 @@
 /*
  * Geeqie
  * (C) 2004 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * Author: John Ellis
  *
--- a/src/dupe.c	Sun May 27 18:41:56 2012 +0100
+++ b/src/dupe.c	Tue Oct 02 22:19:13 2012 +0100
@@ -1,7 +1,7 @@
 /*
  * Geeqie
  * (C) 2005 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * Author: John Ellis
  *
@@ -217,7 +217,7 @@
 {
 	GdkCursor *cursor;
 
-	if (!widget->window) return;
+	if (!gtk_widget_get_window(widget)) return;
 
 	if (icon == -1)
 		{
@@ -228,7 +228,7 @@
 		cursor = gdk_cursor_new(icon);
 		}
 
-	gdk_window_set_cursor(widget->window, cursor);
+	gdk_window_set_cursor(gtk_widget_get_window(widget), cursor);
 
 	if (cursor) gdk_cursor_unref(cursor);
 }
@@ -1116,7 +1116,7 @@
 {
 	*rank = 0.0;
 
-	if (a == b) return FALSE;
+	if (a->fd->path == b->fd->path) return FALSE;
 
 	if (mask & DUPE_MATCH_PATH)
 		{
@@ -2210,17 +2210,13 @@
 	GList *editmenu_fd_list = data;
 
 	filelist_free(editmenu_fd_list);
-}	
+}
 
 static GList *dupe_window_get_fd_list(DupeWindow *dw)
 {
 	GList *list;
 
-#if GTK_CHECK_VERSION(2,20,0)
 	if (gtk_widget_has_focus(dw->second_listview))
-#else
-	if (GTK_WIDGET_HAS_FOCUS(dw->second_listview))
-#endif
 		{
 		list = dupe_listview_get_selection(dw, dw->second_listview);
 		}
@@ -2257,7 +2253,7 @@
 	menu_item_add_sensitive(menu, _("Select group _2 duplicates"), (dw->dupes != NULL),
 				G_CALLBACK(dupe_menu_select_dupes_set2_cb), dw);
 	menu_item_add_divider(menu);
-	
+
 	editmenu_fd_list = dupe_window_get_fd_list(dw);
 	g_signal_connect(G_OBJECT(menu), "destroy",
 			 G_CALLBACK(dupe_menu_popup_destroy_cb), editmenu_fd_list);
@@ -2581,7 +2577,7 @@
 {
 	DupeWindow *dw = data;
 
-	dw->second_set = GTK_TOGGLE_BUTTON(widget)->active;
+	dw->second_set = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget));
 
 	if (dw->second_set)
 		{
@@ -2773,11 +2769,7 @@
 
 	gtk_tree_view_column_set_fixed_width(column, (thumb) ? options->thumbnails.max_width : 4);
 
-#if GTK_CHECK_VERSION(2,18,0)
 	list = gtk_cell_layout_get_cells(GTK_CELL_LAYOUT(column));
-#else
-	list = gtk_tree_view_column_get_cell_renderers(column);
-#endif
 	if (!list) return;
 	cell = list->data;
 	g_list_free(list);
@@ -2797,7 +2789,7 @@
 {
 	DupeWindow *dw = data;
 
-	dw->show_thumbs = GTK_TOGGLE_BUTTON(widget)->active;
+	dw->show_thumbs = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget));
 
 	if (dw->show_thumbs)
 		{
@@ -2864,11 +2856,7 @@
 	GList *slist;
 	DupeItem *di = NULL;
 
-#if GTK_CHECK_VERSION(2,20,0)
 	on_second = gtk_widget_has_focus(dw->second_listview);
-#else
-	on_second = GTK_WIDGET_HAS_FOCUS(dw->second_listview);
-#endif
 
 	if (on_second)
 		{
@@ -2899,42 +2887,21 @@
 
 	if (event->state & GDK_CONTROL_MASK)
 		{
-		gint edit_val = -1;
-
 		if (!on_second)
 			{
 			stop_signal = TRUE;
 			switch (event->keyval)
 				{
 				case '1':
-					edit_val = 0;
-					break;
 				case '2':
-					edit_val = 1;
-					break;
 				case '3':
-					edit_val = 2;
-					break;
 				case '4':
-					edit_val = 3;
-					break;
 				case '5':
-					edit_val = 4;
-					break;
 				case '6':
-					edit_val = 5;
-					break;
 				case '7':
-					edit_val = 6;
-					break;
 				case '8':
-					edit_val = 7;
-					break;
 				case '9':
-					edit_val = 8;
-					break;
 				case '0':
-					edit_val = 9;
 					break;
 				case 'C': case 'c':
 					file_util_copy(NULL, dupe_listview_get_selection(dw, listview),
@@ -2971,7 +2938,7 @@
 						gtk_tree_selection_select_all(selection);
 						}
 					break;
-				case GDK_Delete: case GDK_KP_Delete:
+				case GDK_KEY_Delete: case GDK_KEY_KP_Delete:
 					if (on_second)
 						{
 						dupe_second_clear(dw);
@@ -2997,25 +2964,19 @@
 					break;
 				}
 			}
-#if 0
-		if (edit_val >= 0)
-			{
-			dupe_window_edit_selected(dw, edit_val);
-			}
-#endif
 		}
 	else
 		{
 		stop_signal = TRUE;
 		switch (event->keyval)
 			{
-			case GDK_Return: case GDK_KP_Enter:
+			case GDK_KEY_Return: case GDK_KEY_KP_Enter:
 				dupe_menu_view(dw, di, listview, FALSE);
 				break;
 			case 'V': case 'v':
 				dupe_menu_view(dw, di, listview, TRUE);
 				break;
-			case GDK_Delete: case GDK_KP_Delete:
+			case GDK_KEY_Delete: case GDK_KEY_KP_Delete:
 				dupe_window_remove_selection(dw, listview);
 				break;
 			case 'C': case 'c':
@@ -3030,8 +2991,8 @@
 			case '2':
 				dupe_listview_select_dupes(dw, FALSE);
 				break;
-			case GDK_Menu:
-			case GDK_F10:
+			case GDK_KEY_Menu:
+			case GDK_KEY_F10:
 				if (!on_second)
 					{
 					GtkWidget *menu;
@@ -3394,8 +3355,6 @@
 			      guint time, gpointer data)
 {
 	DupeWindow *dw = data;
-	gchar *uri_text;
-	gint length;
 	GList *list;
 
 	switch (info)
@@ -3404,17 +3363,12 @@
 		case TARGET_TEXT_PLAIN:
 			list = dupe_listview_get_selection(dw, widget);
 			if (!list) return;
-			uri_text = uri_text_from_filelist(list, &length, (info == TARGET_TEXT_PLAIN));
+			uri_selection_data_set_uris_from_filelist(selection_data, list);
 			filelist_free(list);
 			break;
 		default:
-			uri_text = NULL;
 			break;
 		}
-
-	if (uri_text) gtk_selection_data_set(selection_data, selection_data->target,
-					     8, (guchar *)uri_text, length);
-	g_free(uri_text);
 }
 
 static void dupe_dnd_data_get(GtkWidget *widget, GdkDragContext *context,
@@ -3435,10 +3389,10 @@
 	switch (info)
 		{
 		case TARGET_APP_COLLECTION_MEMBER:
-			collection_from_dnd_data((gchar *)selection_data->data, &list, NULL);
+			collection_from_dnd_data((gchar *)gtk_selection_data_get_data(selection_data), &list, NULL);
 			break;
 		case TARGET_URI_LIST:
-			list = uri_filelist_from_text((gchar *)selection_data->data, TRUE);
+			list = uri_filelist_from_gtk_selection_data(selection_data);
 			work = list;
 			while (work)
 				{
@@ -3572,7 +3526,7 @@
 	if (!(type & NOTIFY_CHANGE) || !fd->change) return;
 
 	DEBUG_1("Notify dupe: %s %04x", fd->path, type);
-	
+
 	switch (fd->change->type)
 		{
 		case FILEDATA_CHANGE_MOVE:
--- a/src/dupe.h	Sun May 27 18:41:56 2012 +0100
+++ b/src/dupe.h	Tue Oct 02 22:19:13 2012 +0100
@@ -1,7 +1,7 @@
 /*
  * Geeqie
  * (C) 2004 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * Author: John Ellis
  *
--- a/src/editors.c	Sun May 27 18:41:56 2012 +0100
+++ b/src/editors.c	Tue Oct 02 22:19:13 2012 +0100
@@ -1,7 +1,7 @@
 /*
  * Geeqie
  * (C) 2006 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * Author: John Ellis
  *
@@ -81,7 +81,7 @@
 void editor_description_free(EditorDescription *editor)
 {
 	if (!editor) return;
-	
+
 	g_free(editor->key);
 	g_free(editor->name);
 	g_free(editor->icon);
@@ -97,7 +97,7 @@
 static GList *editor_mime_types_to_extensions(gchar **mime_types)
 {
 	/* FIXME: this should be rewritten to use the shared mime database, as soon as we switch to gio */
-	
+
 	static const gchar *conv_table[][2] = {
 		{"application/x-ufraw",	".ufraw"},
 		{"image/*",		"*"},
@@ -109,7 +109,7 @@
 		{"image/png",		".png"},
 		{"image/svg",		".svg"},
 		{"image/svg+xml",	".svg"},
-		{"image/svg+xml-compressed", 	".svg"},	
+		{"image/svg+xml-compressed", 	".svg"},
 		{"image/tiff",		".tiff;.tif"},
 		{"image/x-bmp",		".bmp"},
 		{"image/x-canon-crw",	".crw"},
@@ -123,7 +123,7 @@
 		{"image/x-pcx",		".pcx"},
 		{"image/xpm",		".xpm"},
 		{"image/x-png",		".png"},
-		{"image/x-portable-anymap",	".pam"},	
+		{"image/x-portable-anymap",	".pam"},
 		{"image/x-portable-bitmap",	".pbm"},
 		{"image/x-portable-graymap",	".pgm"},
 		{"image/x-portable-pixmap",	".ppm"},
@@ -137,15 +137,15 @@
 		{"image/x-x3f",		".x3f"},
 		{"application/x-ptoptimizer-script",	".pto"},
 		{NULL, NULL}};
-	
+
 	gint i, j;
 	GList *list = NULL;
-	
-	for (i = 0; mime_types[i]; i++) 
+
+	for (i = 0; mime_types[i]; i++)
 		for (j = 0; conv_table[j][0]; j++)
 			if (strcmp(mime_types[i], conv_table[j][0]) == 0)
 				list = g_list_concat(list, filter_to_list(conv_table[j][1]));
-	
+
 	return list;
 }
 
@@ -162,7 +162,7 @@
 	gboolean category_geeqie = FALSE;
 
 	if (g_hash_table_lookup(editors, key)) return FALSE; /* the file found earlier wins */
-	
+
 	key_file = g_key_file_new();
 	if (!g_key_file_load_from_file(key_file, path, 0, NULL))
 		{
@@ -179,9 +179,9 @@
 		return FALSE;
 		}
 	g_free(type);
-	
+
 	editor = g_new0(EditorDescription, 1);
-	
+
 	editor->key = g_strdup(key);
 	editor->file = g_strdup(path);
 
@@ -198,14 +198,14 @@
 		{
 		gboolean found = FALSE;
 		gint i;
-		for (i = 0; categories[i]; i++) 
+		for (i = 0; categories[i]; i++)
 			{
 			/* IMHO "Graphics" is exactly the category that we are interested in, so this does not have to be configurable */
 			if (strcmp(categories[i], "Graphics") == 0)
 				{
 				found = TRUE;
 				}
-			if (strcmp(categories[i], "X-Geeqie") == 0) 
+			if (strcmp(categories[i], "X-Geeqie") == 0)
 				{
 				found = TRUE;
 				category_geeqie = TRUE;
@@ -225,7 +225,7 @@
 		{
 		gboolean found = FALSE;
 		gint i;
-		for (i = 0; only_show_in[i]; i++) 
+		for (i = 0; only_show_in[i]; i++)
 			if (strcmp(only_show_in[i], "X-Geeqie") == 0)
 				{
 				found = TRUE;
@@ -240,7 +240,7 @@
 		{
 		gboolean found = FALSE;
 		gint i;
-		for (i = 0; not_show_in[i]; i++) 
+		for (i = 0; not_show_in[i]; i++)
 			if (strcmp(not_show_in[i], "X-Geeqie") == 0)
 				{
 				found = TRUE;
@@ -249,8 +249,8 @@
 		if (found) editor->ignored = TRUE;
 		g_strfreev(not_show_in);
 		}
-		
-		
+
+
 	try_exec = g_key_file_get_string(key_file, DESKTOP_GROUP, "TryExec", NULL);
 	if (try_exec && !editor->hidden && !editor->ignored)
 		{
@@ -260,27 +260,27 @@
 		g_free(try_exec);
 		}
 
-	if (editor->ignored) 
+	if (editor->ignored)
 		{
 		/* ignored editors will be deleted, no need to parse the rest */
 		g_key_file_free(key_file);
 		return TRUE;
 		}
-	
+
 	editor->name = g_key_file_get_locale_string(key_file, DESKTOP_GROUP, "Name", NULL, NULL);
 	editor->icon = g_key_file_get_string(key_file, DESKTOP_GROUP, "Icon", NULL);
-	
+
 	/* Icon key can be either a full path (absolute with file name extension) or an icon name (without extension) */
 	if (editor->icon && !g_path_is_absolute(editor->icon))
 		{
 		gchar *ext = strrchr(editor->icon, '.');
-		
-		if (ext && strlen(ext) == 4 && 
+
+		if (ext && strlen(ext) == 4 &&
 		    (!strcmp(ext, ".png") || !strcmp(ext, ".xpm") || !strcmp(ext, ".svg")))
 			{
 			log_printf(_("Desktop file '%s' should not include extension in Icon key: '%s'\n"),
 				   editor->file, editor->icon);
-	  		
+
 			// drop extension
 			*ext = '\0';
 			}
@@ -292,10 +292,10 @@
 		}
 
 	editor->exec = g_key_file_get_string(key_file, DESKTOP_GROUP, "Exec", NULL);
-	
+
 	editor->menu_path = g_key_file_get_string(key_file, DESKTOP_GROUP, "X-Geeqie-Menu-Path", NULL);
 	if (!editor->menu_path) editor->menu_path = g_strdup("EditMenu/ExternalMenu");
-	
+
 	editor->hotkey = g_key_file_get_string(key_file, DESKTOP_GROUP, "X-Geeqie-Hotkey", NULL);
 
 	editor->comment = g_key_file_get_string(key_file, DESKTOP_GROUP, "Comment", NULL);
@@ -310,16 +310,16 @@
 			{
 			editor->ext_list = editor_mime_types_to_extensions(mime_types);
 			g_strfreev(mime_types);
-			if (!editor->ext_list) editor->hidden = TRUE; 
+			if (!editor->ext_list) editor->hidden = TRUE;
 			}
 		}
-		
+
 	if (g_key_file_get_boolean(key_file, DESKTOP_GROUP, "X-Geeqie-Keep-Fullscreen", NULL)) editor->flags |= EDITOR_KEEP_FS;
 	if (g_key_file_get_boolean(key_file, DESKTOP_GROUP, "X-Geeqie-Verbose", NULL)) editor->flags |= EDITOR_VERBOSE;
 	if (g_key_file_get_boolean(key_file, DESKTOP_GROUP, "X-Geeqie-Verbose-Multi", NULL)) editor->flags |= EDITOR_VERBOSE_MULTI;
 	if (g_key_file_get_boolean(key_file, DESKTOP_GROUP, "X-Geeqie-Filter", NULL)) editor->flags |= EDITOR_DEST;
 	if (g_key_file_get_boolean(key_file, DESKTOP_GROUP, "Terminal", NULL)) editor->flags |= EDITOR_TERMINAL;
-	
+
 	editor->flags |= editor_command_parse(editor, NULL, FALSE, NULL);
 
 	if ((editor->flags & EDITOR_NO_PARAM) && !category_geeqie) editor->hidden = TRUE;
@@ -327,16 +327,16 @@
 	g_key_file_free(key_file);
 
 	if (editor->ignored) return TRUE;
-	
+
 	gtk_list_store_append(desktop_file_list, &iter);
-	gtk_list_store_set(desktop_file_list, &iter, 
+	gtk_list_store_set(desktop_file_list, &iter,
 			   DESKTOP_FILE_COLUMN_KEY, key,
 			   DESKTOP_FILE_COLUMN_NAME, editor->name,
 			   DESKTOP_FILE_COLUMN_HIDDEN, editor->hidden ? _("yes") : _("no"),
 			   DESKTOP_FILE_COLUMN_WRITABLE, access_file(path, W_OK),
 			   DESKTOP_FILE_COLUMN_PATH, path, -1);
-	
-	return TRUE;	
+
+	return TRUE;
 }
 
 static gboolean editor_remove_desktop_file_cb(gpointer key, gpointer value, gpointer user_data)
@@ -357,7 +357,7 @@
 		{
 		gtk_list_store_clear(desktop_file_list);
 		}
-	else 
+	else
 		{
 		desktop_file_list = gtk_list_store_new(DESKTOP_FILE_COLUMN_COUNT, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_BOOLEAN, G_TYPE_STRING);
 		}
@@ -386,14 +386,14 @@
 	while ((dir = readdir(dp)) != NULL)
 		{
 		gchar *namel = dir->d_name;
-		
+
 		if (g_str_has_suffix(namel, ".desktop"))
 			{
 			gchar *name = path_to_utf8(namel);
 			gchar *dpath = g_build_filename(path, name, NULL);
 			list = g_list_prepend(list, dpath);
 			g_free(name);
-			}	
+			}
 		}
 	closedir(dp);
 	return list;
@@ -407,19 +407,19 @@
 	gchar **split_dirs;
 	gint i;
 	GList *list = NULL;
-	
+
 	xdg_data_dirs = getenv("XDG_DATA_DIRS");
 	if (xdg_data_dirs && xdg_data_dirs[0])
 		xdg_data_dirs = path_to_utf8(xdg_data_dirs);
 	else
 		xdg_data_dirs = g_strdup("/usr/share");
-	
+
 	all_dirs = g_strconcat(get_rc_dir(), ":", GQ_APP_DIR, ":", xdg_data_home_get(), ":", xdg_data_dirs, NULL);
-	
+
 	g_free(xdg_data_dirs);
 
 	split_dirs = g_strsplit(all_dirs, ":", 0);
-	
+
 	g_free(all_dirs);
 
 	for (i = 0; split_dirs[i]; i++);
@@ -429,7 +429,7 @@
 		list = editor_add_desktop_dir(list, path);
 		g_free(path);
 		}
-		
+
 	g_strfreev(split_dirs);
 	return list;
 }
@@ -438,10 +438,10 @@
 {
 	GList **listp = data;
 	EditorDescription *editor = value;
-	
-	/* do not show the special commands in any list, they are called explicitly */ 
+
+	/* do not show the special commands in any list, they are called explicitly */
 	if (strcmp(editor->key, CMD_COPY) == 0 ||
-	    strcmp(editor->key, CMD_MOVE) == 0 ||  
+	    strcmp(editor->key, CMD_MOVE) == 0 ||
 	    strcmp(editor->key, CMD_RENAME) == 0 ||
 	    strcmp(editor->key, CMD_DELETE) == 0 ||
 	    strcmp(editor->key, CMD_FOLDER) == 0) return;
@@ -454,19 +454,19 @@
 	const EditorDescription *ea = a;
 	const EditorDescription *eb = b;
 	gint ret;
-	
+
 	ret = strcmp(ea->menu_path, eb->menu_path);
 	if (ret != 0) return ret;
-	
+
 	return g_utf8_collate(ea->name, eb->name);
 }
 
 GList *editor_list_get(void)
 {
 	GList *editors_list = NULL;
-	
+
 	if (!editors_finished) return NULL;
-	
+
 	g_hash_table_foreach(editors, editor_list_add_cb, &editors_list);
 	editors_list = g_list_sort(editors_list, editor_sort);
 
@@ -708,7 +708,7 @@
 		g_free(pathl);
 		pathl = NULL;
 		}
-	
+
 	DEBUG_2("editor_command_path_parse: return %s", pathl);
 	return pathl;
 }
@@ -716,7 +716,7 @@
 static GString *append_quoted(GString *str, const char *s, gboolean single_quotes, gboolean double_quotes)
 {
 	const char *p;
-	
+
 	if (!single_quotes)
 		{
 		if (!double_quotes)
@@ -732,7 +732,7 @@
 		else
 			g_string_append_c(str, *p);
 		}
-	
+
 	if (!single_quotes)
 		{
 		if (!double_quotes)
@@ -764,7 +764,7 @@
 		flags |= EDITOR_ERROR_EMPTY;
 		goto err;
 		}
-	
+
 	p = editor->exec;
 	/* skip leading whitespaces if any */
 	while (g_ascii_isspace(*p)) p++;
@@ -832,7 +832,7 @@
 							/* just testing, check also the rest of the list (like with F and U)
 							   any matching file is OK */
 							GList *work = list->next;
-							
+
 							while (!pathl && work)
 								{
 								FileData *fd = work->data;
@@ -843,7 +843,7 @@
 								work = work->next;
 								}
 							}
-							
+
 						if (!pathl)
 							{
 							flags |= EDITOR_ERROR_NO_FILE;
@@ -993,7 +993,7 @@
 		{
 		ok = (options->shell.path && *options->shell.path);
 		if (!ok) log_printf("ERROR: empty shell command\n");
-			
+
 		if (ok)
 			{
 			ok = (access(options->shell.path, X_OK) == 0);
@@ -1033,7 +1033,7 @@
 				      ed->vd ? &standard_output : NULL,
 				      ed->vd ? &standard_error : NULL,
 				      NULL);
-		
+
 		g_free(working_directory);
 
 		if (!ok) ed->flags |= EDITOR_ERROR_CANT_EXEC;
@@ -1117,7 +1117,7 @@
 
 		if (!error)
 			return 0;
-		
+
 		/* command was not started, call the finish immediately */
 		return editor_command_next_finish(ed, 0);
 		}
@@ -1162,7 +1162,7 @@
 		case EDITOR_CB_SKIP:
 			return editor_command_done(ed);
 		}
-	
+
 	return editor_command_next_start(ed);
 }
 
@@ -1249,7 +1249,7 @@
 	EditorFlags error;
 	EditorDescription *editor;
 	if (!key) return EDITOR_ERROR_EMPTY;
-	
+
 	editor = g_hash_table_lookup(editors, key);
 
 	if (!editor) return EDITOR_ERROR_EMPTY;
@@ -1264,7 +1264,7 @@
 	if (EDITOR_ERRORS(error))
 		{
 		gchar *text = g_strdup_printf(_("%s\n\"%s\""), editor_get_error_str(error), editor->file);
-		
+
 		file_util_warning_dialog(_("Invalid editor command"), text, GTK_STOCK_DIALOG_ERROR, NULL);
 		g_free(text);
 		}
@@ -1304,7 +1304,7 @@
 {
 	EditorDescription *editor;
 	if (!key) return TRUE;
-	
+
 	editor = g_hash_table_lookup(editors, key);
 	if (!editor) return TRUE;
 
@@ -1315,7 +1315,7 @@
 {
 	EditorDescription *editor;
 	if (!key) return TRUE;
-	
+
 	editor = g_hash_table_lookup(editors, key);
 	if (!editor) return TRUE;
 
@@ -1326,7 +1326,7 @@
 {
 	EditorDescription *editor;
 	if (!key) return FALSE;
-	
+
 	editor = g_hash_table_lookup(editors, key);
 	if (!editor) return FALSE;
 
@@ -1337,7 +1337,7 @@
 {
 	EditorDescription *editor;
 	if (!key) return FALSE;
-	
+
 	editor = g_hash_table_lookup(editors, key);
 	if (!editor) return FALSE;
 
@@ -1346,7 +1346,7 @@
 	   saved, for editing unrelated files.
 	   %f vs. %F seems to be a good heuristic to detect this kind of editors.
 	*/
-	   
+
 	return !(editor->flags & EDITOR_SINGLE_COMMAND);
 }
 
--- a/src/editors.h	Sun May 27 18:41:56 2012 +0100
+++ b/src/editors.h	Tue Oct 02 22:19:13 2012 +0100
@@ -1,7 +1,7 @@
 /*
  * Geeqie
  * (C) 2004 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * Author: John Ellis
  *
@@ -42,7 +42,7 @@
 	gchar *name; 		/* Name, localized name presented to user */
 	gchar *icon;		/* Icon */
 	gchar *exec;		/* Exec */
-	gchar *menu_path;	
+	gchar *menu_path;
 	gchar *hotkey;
 	GList *ext_list;
 	gchar *file;
--- a/src/exif-common.c	Sun May 27 18:41:56 2012 +0100
+++ b/src/exif-common.c	Tue Oct 02 22:19:13 2012 +0100
@@ -1,7 +1,7 @@
 /*
  * Geeqie
  * (C) 2006 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
 */
 
@@ -23,10 +23,10 @@
 #ifdef HAVE_LCMS
 /*** color support enabled ***/
 
-#ifdef HAVE_LCMS_LCMS_H
-  #include <lcms/lcms.h>
+#ifdef HAVE_LCMS2
+#include <lcms2.h>
 #else
-  #include <lcms.h>
+#include <lcms.h>
 #endif
 #endif
 
@@ -125,13 +125,13 @@
 static gboolean remove_suffix(gchar *str, const gchar *suffix, gint suffix_len)
 {
 	gint str_len = strlen(str);
-	
+
 	if (suffix_len < 0) suffix_len = strlen(suffix);
 	if (str_len < suffix_len) return FALSE;
-	
+
 	if (strcmp(str + str_len - suffix_len, suffix) != 0) return FALSE;
 	str[str_len - suffix_len] = '\0';
-	
+
 	return TRUE;
 }
 
@@ -161,7 +161,7 @@
 		gint i, j;
 
 		g_strstrip(software);
-		
+
 		/* remove superfluous spaces (pentax K100D) */
 		for (i = 0, j = 0; software[i]; i++, j++)
 			{
@@ -413,6 +413,9 @@
 
 static gchar *exif_build_formatted_ColorProfile(ExifData *exif)
 {
+#ifdef HAVE_LCMS2
+	cmsUInt8Number profileID[17];
+#endif
 	const gchar *name = "";
 	const gchar *source = "";
 	guchar *profile_data;
@@ -452,7 +455,13 @@
 			profile = cmsOpenProfileFromMem(profile_data, profile_len);
 			if (profile)
 				{
-				name = cmsTakeProductName(profile);
+#ifdef HAVE_LCMS2
+				profileID[16] = '\0';
+				cmsGetHeaderProfileID(profile, profileID);
+				name = (gchar *) profileID;
+#else
+				name = (gchar *) cmsTakeProductName(profile);
+#endif
 				cmsCloseProfile(profile);
 				}
 			g_free(profile_data);
@@ -639,20 +648,21 @@
 
 void exif_init_cache(void)
 {
-	assert(!exif_cache);
+	g_assert(!exif_cache);
 	exif_cache = file_cache_new(exif_release_cb, 4);
 }
 
 ExifData *exif_read_fd(FileData *fd)
 {
 	gchar *sidecar_path;
-	
+
 	if (!exif_cache) exif_init_cache();
 
-	if (!fd || !is_readable_file(fd->path)) return NULL;
-	
+	if (!fd) return NULL;
+
 	if (file_cache_get(exif_cache, fd)) return fd->exif;
-	
+	g_assert(fd->exif == NULL);
+
 	/* CACHE_TYPE_XMP_METADATA file should exist only if the metadata are
 	 * not writable directly, thus it should contain the most up-to-date version */
 	sidecar_path = NULL;
@@ -667,6 +677,7 @@
 	fd->exif = exif_read(fd->path, sidecar_path, fd->modified_xmp);
 
 	g_free(sidecar_path);
+	file_cache_put(exif_cache, fd, 1);
 	return fd->exif;
 }
 
@@ -675,8 +686,6 @@
 {
 	if (!fd) return;
 	g_assert(fd->exif == exif);
-	
-	file_cache_put(exif_cache, fd, 1);
 }
 
 /* embedded icc in jpeg */
--- a/src/exif-int.h	Sun May 27 18:41:56 2012 +0100
+++ b/src/exif-int.h	Tue Oct 02 22:19:13 2012 +0100
@@ -1,7 +1,7 @@
 /*
  * Geeqie
  * (C) 2006 John Ellis
- *  Copyright (C) 2008 - 2010 The Geeqie Team
+ *  Copyright (C) 2008 - 2012 The Geeqie Team
  *
  *  Authors:
  *    Support for Exif file format, originally written by Eric Swalens.
--- a/src/exif.c	Sun May 27 18:41:56 2012 +0100
+++ b/src/exif.c	Tue Oct 02 22:19:13 2012 +0100
@@ -1,7 +1,7 @@
 /*
  * Geeqie
  * (C) 2006 John Ellis
- *  Copyright (C) 2008 - 2010 The Geeqie Team
+ *  Copyright (C) 2008 - 2012 The Geeqie Team
  *
  *  Authors:
  *    Support for Exif file format, originally written by Eric Swalens.
@@ -1281,11 +1281,6 @@
 
 	if (exif) exif->items = g_list_reverse(exif->items);
 
-#if 0
-	exif_write_data_list(exif, stdout, TRUE);
-	exif_write_data_list(exif, stdout, FALSE);
-#endif
-
 	return exif;
 }
 
@@ -1604,12 +1599,12 @@
 {
 	gchar *str;
 	ExifItem *item;
-	
+
 	if (!key) return NULL;
-	
+
 	/* convert xmp key to exif key */
 	if (strcmp(key, "Xmp.tiff.Orientation") == 0) key = "Exif.Image.Orientation";
-	
+
 	if (format == METADATA_FORMATTED)
 		{
 		gchar *text;
@@ -1620,11 +1615,11 @@
 
 	item = exif_get_item(exif, key);
 	if (!item) return NULL;
-	
+
 	str = exif_item_get_data_as_text_full(item, format);
-	
+
 	if (!str) return NULL;
-	
+
 	return g_list_append(NULL, str);
 }
 
@@ -1646,13 +1641,13 @@
 	guchar *map_data;
 	size_t map_len;
 	int fd;
-	
+
 	if (!exif) return NULL;
 	path = exif->path;
 
 	fd = open(path, O_RDONLY);
-		
-		
+
+
 	if (fd == -1)
 		{
 		return 0;
@@ -1683,7 +1678,7 @@
 		ud->ptr = map_data + offset;
 		ud->map_data = map_data;
 		ud->map_len = map_len;
-		
+
 		exif_unmap_list = g_list_prepend(exif_unmap_list, ud);
 		return ud->ptr;
 		}
@@ -1696,7 +1691,7 @@
 void exif_free_preview(guchar *buf)
 {
 	GList *work = exif_unmap_list;
-	
+
 	while (work)
 		{
 		UnmapData *ud = (UnmapData *)work->data;
--- a/src/exif.h	Sun May 27 18:41:56 2012 +0100
+++ b/src/exif.h	Tue Oct 02 22:19:13 2012 +0100
@@ -1,7 +1,7 @@
 /*
  * Geeqie
  * (C) 2006 John Ellis
- *  Copyright (C) 2008 - 2010 The Geeqie Team
+ *  Copyright (C) 2008 - 2012 The Geeqie Team
  *
  *  Authors:
  *    Support for Exif file format, originally written by Eric Swalens.
--- a/src/exiv2.cc	Sun May 27 18:41:56 2012 +0100
+++ b/src/exiv2.cc	Tue Oct 02 22:19:13 2012 +0100
@@ -1,6 +1,6 @@
 /*
  * Geeqie
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * Author: Vladimir Nadvornik
  *
--- a/src/filecache.c	Sun May 27 18:41:56 2012 +0100
+++ b/src/filecache.c	Tue Oct 02 22:19:13 2012 +0100
@@ -1,6 +1,6 @@
 /*
  * Geeqie
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * Author: Vladimir Nadvornik
  *
@@ -32,6 +32,7 @@
 };
 
 static void file_cache_notify_cb(FileData *fd, NotifyType type, gpointer data);
+static void file_cache_remove_fd(FileCacheData *fc, FileData *fd);
 
 FileCacheData *file_cache_new(FileCacheReleaseFunc release, gulong max_size)
 {
@@ -50,7 +51,7 @@
 gboolean file_cache_get(FileCacheData *fc, FileData *fd)
 {
 	GList *work;
-	
+
 	g_assert(fc && fd);
 
 	work = fc->list;
@@ -66,10 +67,12 @@
 			DEBUG_2("cache move to front: fc=%p %s", fc, fd->path);
 			fc->list = g_list_remove_link(fc->list, work);
 			fc->list = g_list_concat(work, fc->list);
-			
-			if (file_data_check_changed_files(fd)) /* this will eventually remove changed files from cache via file_cache_notify_cb */
+
+			if (file_data_check_changed_files(fd)) {
+				/* file has been changed, cance entry is no longer valid */
+				file_cache_remove_fd(fc, fd);
 				return FALSE;
-				
+			}
 			if (debug_file_cache) file_cache_dump(fc);
 			return TRUE;
 			}
@@ -94,7 +97,7 @@
 		prev = work->prev;
 		fc->list = g_list_delete_link(fc->list, work);
 		work = prev;
-		
+
 		DEBUG_2("file changed - cache remove: fc=%p %s", fc, last_fe->fd->path);
 		fc->size -= last_fe->size;
 		fc->release(last_fe->fd);
@@ -108,14 +111,14 @@
 	FileCacheEntry *fe;
 
 	if (file_cache_get(fc, fd)) return;
-	
+
 	DEBUG_2("cache add: fc=%p %s", fc, fd->path);
 	fe = g_new(FileCacheEntry, 1);
 	fe->fd = file_data_ref(fd);
 	fe->size = size;
 	fc->list = g_list_prepend(fc->list, fe);
 	fc->size += size;
-	
+
 	file_cache_set_size(fc, fc->max_size);
 }
 
@@ -152,7 +155,7 @@
 		if (fe->fd == fd)
 			{
 			fc->list = g_list_delete_link(fc->list, current);
-		
+
 			DEBUG_1("cache remove: fc=%p %s", fc, fe->fd->path);
 			fc->size -= fe->size;
 			fc->release(fe->fd);
@@ -168,7 +171,7 @@
 	gulong n = 0;
 
 	DEBUG_1("cache dump: fc=%p max size:%ld size:%ld", fc, fc->max_size, fc->size);
-		
+
 	while (work)
 		{
 		FileCacheEntry *fe = work->data;
--- a/src/filecache.h	Sun May 27 18:41:56 2012 +0100
+++ b/src/filecache.h	Tue Oct 02 22:19:13 2012 +0100
@@ -1,6 +1,6 @@
 /*
  * Geeqie
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * Author: Vladimir Nadvornik
  *
--- a/src/filedata.c	Sun May 27 18:41:56 2012 +0100
+++ b/src/filedata.c	Tue Oct 02 22:19:13 2012 +0100
@@ -1,7 +1,7 @@
 /*
  * Geeqie
  * (C) 2006 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * Author: John Ellis
  *
@@ -22,6 +22,8 @@
 #include "trash.h"
 #include "histogram.h"
 
+#include "exif.h"
+
 #include <errno.h>
 
 static GHashTable *file_data_pool = NULL;
@@ -29,9 +31,11 @@
 
 static gint sidecar_file_priority(const gchar *extension);
 static void file_data_check_sidecars(const GList *basename_list);
-static FileData *file_data_disconnect_sidecar_file(FileData *target, FileData *sfd);
-
-
+static void file_data_disconnect_sidecar_file(FileData *target, FileData *sfd);
+
+
+static SortType filelist_sort_method = SORT_NONE;
+static gboolean filelist_sort_ascend = TRUE;
 
 /*
  *-----------------------------------------------------------------------------
@@ -135,7 +139,7 @@
 
 /*
  *-----------------------------------------------------------------------------
- * changed files detection and notification 
+ * changed files detection and notification
  *-----------------------------------------------------------------------------
  */
 
@@ -143,7 +147,7 @@
 {
 	fd->version++;
 	fd->valid_marks = 0;
-	if (fd->parent) 
+	if (fd->parent)
 		{
 		fd->parent->version++;
 		fd->parent->valid_marks = 0;
@@ -171,7 +175,7 @@
 {
 	gboolean ret = FALSE;
 	GList *work;
-	
+
 	ret = file_data_check_changed_single_file(fd, st);
 
 	work = fd->sidecar_files;
@@ -185,8 +189,12 @@
 			{
 			fd->size = 0;
 			fd->date = 0;
+			file_data_ref(sfd);
 			file_data_disconnect_sidecar_file(fd, sfd);
 			ret = TRUE;
+			file_data_increment_version(sfd);
+			file_data_send_notification(sfd, NOTIFY_REREAD);
+			file_data_unref(sfd);
 			continue;
 			}
 
@@ -200,7 +208,7 @@
 {
 	gboolean ret = FALSE;
 	struct stat st;
-	
+
 	if (fd->parent) fd = fd->parent;
 
 	if (!stat_utf8(fd->path, &st))
@@ -213,22 +221,25 @@
 		ret = TRUE;
 		fd->size = 0;
 		fd->date = 0;
-		
+
 		/* file_data_disconnect_sidecar_file might delete the file,
 		   we have to keep the reference to prevent this */
 		sidecars = filelist_copy(fd->sidecar_files);
+		file_data_ref(fd);
 		work = sidecars;
 		while (work)
 			{
 			sfd = work->data;
 			work = work->next;
-		
+
 			file_data_disconnect_sidecar_file(fd, sfd);
 			}
 		file_data_check_sidecars(sidecars); /* this will group the sidecars back together */
 		/* now we can release the sidecars */
 		filelist_free(sidecars);
+		file_data_increment_version(fd);
 		file_data_send_notification(fd, NOTIFY_REREAD);
+		file_data_unref(fd);
 		}
 	else
 		{
@@ -240,26 +251,25 @@
 
 /*
  *-----------------------------------------------------------------------------
- * file name, extension, sorting, ... 
+ * file name, extension, sorting, ...
  *-----------------------------------------------------------------------------
  */
 
 static void file_data_set_collate_keys(FileData *fd)
 {
 	gchar *caseless_name;
-
-	caseless_name = g_utf8_casefold(fd->name, -1);
+	gchar *valid_name;
+
+	valid_name = g_filename_display_name(fd->name);
+	caseless_name = g_utf8_casefold(valid_name, -1);
 
 	g_free(fd->collate_key_name);
 	g_free(fd->collate_key_name_nocase);
 
-#if 0 && GLIB_CHECK_VERSION(2, 8, 0)
-	fd->collate_key_name = g_utf8_collate_key_for_filename(fd->name, -1);
-	fd->collate_key_name_nocase = g_utf8_collate_key_for_filename(caseless_name, -1);
-#else
-	fd->collate_key_name = g_utf8_collate_key(fd->name, -1);
+	fd->collate_key_name = g_utf8_collate_key(valid_name, -1);
 	fd->collate_key_name_nocase = g_utf8_collate_key(caseless_name, -1);
-#endif
+
+	g_free(valid_name);
 	g_free(caseless_name);
 }
 
@@ -319,7 +329,7 @@
 		{
 		fd->extension = fd->name + strlen(fd->name);
 		}
-		
+
 	fd->sidecar_priority = sidecar_file_priority(fd->extension);
 	file_data_set_collate_keys(fd);
 }
@@ -336,7 +346,7 @@
 
 	DEBUG_2("file_data_new: '%s' %d", path_utf8, disable_sidecars);
 
-	if (S_ISDIR(st->st_mode)) disable_sidecars = TRUE; 
+	if (S_ISDIR(st->st_mode)) disable_sidecars = TRUE;
 
 	if (!file_data_pool)
 		file_data_pool = g_hash_table_new(g_str_hash, g_str_equal);
@@ -346,7 +356,7 @@
 		{
 		file_data_ref(fd);
 		}
-		
+
 	if (!fd && file_data_planned_change_hash)
 		{
 		fd = g_hash_table_lookup(file_data_planned_change_hash, path_utf8);
@@ -357,29 +367,29 @@
 			file_data_apply_ci(fd);
 			}
 		}
-		
+
 	if (fd)
 		{
 		gboolean changed;
-		
+
 		if (disable_sidecars) file_data_disable_grouping(fd, TRUE);
-		
-		
+
+
 		changed = file_data_check_changed_single_file(fd, st);
 
 		DEBUG_2("file_data_pool hit: '%s' %s", fd->path, changed ? "(changed)" : "");
-		
+
 		return fd;
 		}
 
 	fd = g_new0(FileData, 1);
-	
+
 	fd->size = st->st_size;
 	fd->date = st->st_mtime;
 	fd->mode = st->st_mode;
 	fd->ref = 1;
-	fd->magick = 0x12345678;
-	
+	fd->magick = FD_MAGICK;
+
 	if (disable_sidecars) fd->disable_grouping = TRUE;
 
 	file_data_set_path(fd, path_utf8); /* set path, name, collate_key_*, original_path */
@@ -396,6 +406,69 @@
 	return ret;
 }
 
+void init_exif_time_data(GList *files)
+{
+	FileData *file;
+	DEBUG_1("%s init_exif_time_data: ...", get_exec_time());
+	while (files)
+		{
+		file = files->data;
+
+		if (file)
+			file->exifdate = 0;
+
+		files = files->next;
+		}
+}
+
+void read_exif_time_data(FileData *file)
+{
+	if (file->exifdate > 0)
+		{
+		DEBUG_1("%s set_exif_time_data: Already exists for %s", get_exec_time(), file->path);
+		return;
+		}
+
+	file->exif = exif_read_fd(file);
+
+	if (file->exif)
+		{
+		gchar *tmp = exif_get_data_as_text(file->exif, "Exif.Photo.DateTimeOriginal");
+		DEBUG_2("%s set_exif_time_data: reading %p %s", get_exec_time(), file, file->path);
+
+		if (tmp)
+			{
+			struct tm time_str;
+			uint year, month, day, hour, min, sec;
+
+			sscanf(tmp, "%4d:%2d:%2d %2d:%2d:%2d", &year, &month, &day, &hour, &min, &sec);
+			time_str.tm_year  = year - 1900;
+			time_str.tm_mon   = month - 1;
+			time_str.tm_mday  = day;
+			time_str.tm_hour  = hour;
+			time_str.tm_min   = min;
+			time_str.tm_sec   = sec;
+			time_str.tm_isdst = 0;
+
+			file->exifdate = mktime(&time_str);
+			g_free(tmp);
+			}
+		}
+}
+
+void set_exif_time_data(GList *files)
+{
+	DEBUG_1("%s set_exif_time_data: ...", get_exec_time());
+
+	while (files)
+		{
+		FileData *file = files->data;
+
+		read_exif_time_data(file);
+		files = files->next;
+		}
+}
+
 FileData *file_data_new_no_grouping(const gchar *path_utf8)
 {
 	struct stat st;
@@ -421,7 +494,7 @@
 	else
 		/* dir or non-existing yet */
 		g_assert(S_ISDIR(st.st_mode));
-		
+
 	return file_data_new(path_utf8, &st, TRUE);
 }
 
@@ -438,24 +511,26 @@
 #endif
 {
 	if (fd == NULL) return NULL;
+	if (fd->magick != FD_MAGICK)
 #ifdef DEBUG_FILEDATA
-	if (fd->magick != 0x12345678)
-		DEBUG_0("fd magick mismatch at %s:%d", file, line);
+		DEBUG_0("fd magick mismatch @ %s:%d  fd=%p", file, line, fd);
+#else
+		DEBUG_0("fd magick mismatch fd=%p", fd);
 #endif
-	g_assert(fd->magick == 0x12345678);
+	g_assert(fd->magick == FD_MAGICK);
 	fd->ref++;
 
 #ifdef DEBUG_FILEDATA
-	DEBUG_2("file_data_ref (%d): '%s' @ %s:%d", fd->ref, fd->path, file, line);
+	DEBUG_2("file_data_ref fd=%p (%d): '%s' @ %s:%d", fd, fd->ref, fd->path, file, line);
 #else
-	DEBUG_2("file_data_ref (%d): '%s'", fd->ref, fd->path);
+	DEBUG_2("file_data_ref fd=%p (%d): '%s'", fd, fd->ref, fd->path);
 #endif
 	return fd;
 }
 
 static void file_data_free(FileData *fd)
 {
-	g_assert(fd->magick == 0x12345678);
+	g_assert(fd->magick == FD_MAGICK);
 	g_assert(fd->ref == 0);
 
 	metadata_cache_free(fd);
@@ -467,7 +542,7 @@
 	g_free(fd->collate_key_name_nocase);
 	if (fd->thumb_pixbuf) g_object_unref(fd->thumb_pixbuf);
 	histmap_free(fd->histmap);
-	
+
 	g_assert(fd->sidecar_files == NULL); /* sidecar files must be freed before calling this */
 
 	file_data_change_info_free(NULL, fd);
@@ -481,23 +556,25 @@
 #endif
 {
 	if (fd == NULL) return;
+	if (fd->magick != FD_MAGICK)
 #ifdef DEBUG_FILEDATA
-	if (fd->magick != 0x12345678)
-		DEBUG_0("fd magick mismatch @ %s:%d", file, line);
+		DEBUG_0("fd magick mismatch @ %s:%d  fd=%p", file, line, fd);
+#else
+		DEBUG_0("fd magick mismatch fd=%p", fd);
 #endif
-	g_assert(fd->magick == 0x12345678);
-	
+	g_assert(fd->magick == FD_MAGICK);
+
 	fd->ref--;
 #ifdef DEBUG_FILEDATA
-	DEBUG_2("file_data_unref (%d): '%s' @ %s:%d", fd->ref, fd->path, file, line);
+	DEBUG_2("file_data_unref fd=%p (%d): '%s' @ %s:%d", fd, fd->ref, fd->path, file, line);
 #else
-	DEBUG_2("file_data_unref (%d): '%s'", fd->ref, fd->path);
+	DEBUG_2("file_data_unref fd=%p (%d): '%s'", fd, fd->ref, fd->path);
 #endif
 	if (fd->ref == 0)
 		{
 		GList *work;
 		FileData *parent = fd->parent ? fd->parent : fd;
-		
+
 		if (parent->ref > 0) return;
 
 		work = parent->sidecar_files;
@@ -539,10 +616,10 @@
 {
 	const FileData *fda = a;
 	const FileData *fdb = b;
-	
+
 	if (fda->sidecar_priority < fdb->sidecar_priority) return -1;
 	if (fda->sidecar_priority > fdb->sidecar_priority) return 1;
-	
+
 	return strcmp(fdb->extension, fda->extension);
 }
 
@@ -559,7 +636,7 @@
 
 	while (work) {
 		gchar *ext = work->data;
-		
+
 		work = work->next;
 		if (g_ascii_strcasecmp(extension, ext) == 0) return i;
 		i++;
@@ -567,95 +644,143 @@
 	return 0;
 }
 
-static FileData *file_data_add_sidecar_file(FileData *target, FileData *sfd)
+static void file_data_check_sidecars(const GList *basename_list)
 {
-	sfd->parent = target;
-	if (!g_list_find(target->sidecar_files, sfd))
-		target->sidecar_files = g_list_insert_sorted(target->sidecar_files, sfd, file_data_sort_by_ext);
-	file_data_increment_version(sfd); /* increments both sfd and target */
-	return target;
-}
-
-
-static FileData *file_data_merge_sidecar_files(FileData *target, FileData *source)
-{
-	GList *work;
-	
-	file_data_add_sidecar_file(target, source);
-
-	work = source->sidecar_files;
+	/* basename_list contains the new group - first is the parent, then sorted sidecars */
+	/* all files in the list have ref count > 0 */
+
+	const GList *work;
+	GList *s_work, *new_sidecars;
+	FileData *parent_fd;
+
+	if (!basename_list) return;
+
+
+	DEBUG_2("basename start");
+	work = basename_list;
+	while (work)
+		{
+		FileData *fd = work->data;
+		work = work->next;
+		g_assert(fd->magick == FD_MAGICK);
+		DEBUG_2("basename: %p %s", fd, fd->name);
+		if (fd->parent)
+			{
+			g_assert(fd->parent->magick == FD_MAGICK);
+			DEBUG_2("                  parent: %p", fd->parent);
+			}
+		s_work = fd->sidecar_files;
+		while (s_work)
+			{
+			FileData *sfd = s_work->data;
+			s_work = s_work->next;
+			g_assert(sfd->magick == FD_MAGICK);
+			DEBUG_2("                  sidecar: %p %s", sfd, sfd->name);
+			}
+
+		g_assert(fd->parent == NULL || fd->sidecar_files == NULL);
+		}
+
+	parent_fd = basename_list->data;
+
+	/* check if the second and next entries of basename_list are already connected
+	   as sidecars of the first entry (parent_fd) */
+	work = basename_list->next;
+	s_work = parent_fd->sidecar_files;
+
+	while (work && s_work)
+		{
+		if (work->data != s_work->data) break;
+		work = work->next;
+		s_work = s_work->next;
+		}
+
+	if (!work && !s_work)
+		{
+		DEBUG_2("basename no change");
+		return; /* no change in grouping */
+		}
+
+	/* we have to regroup it */
+
+	/* first, disconnect everything and send notification*/
+
+	work = basename_list;
+	while (work)
+		{
+		FileData *fd = work->data;
+		work = work->next;
+		g_assert(fd->parent == NULL || fd->sidecar_files == NULL);
+
+		if (fd->parent)
+			{
+			FileData *old_parent = fd->parent;
+			g_assert(old_parent->parent == NULL || old_parent->sidecar_files == NULL);
+			file_data_ref(old_parent);
+			file_data_disconnect_sidecar_file(old_parent, fd);
+			file_data_send_notification(old_parent, NOTIFY_REREAD);
+			file_data_unref(old_parent);
+			}
+
+		while (fd->sidecar_files)
+			{
+			FileData *sfd = fd->sidecar_files->data;
+			g_assert(sfd->parent == NULL || sfd->sidecar_files == NULL);
+			file_data_ref(sfd);
+			file_data_disconnect_sidecar_file(fd, sfd);
+			file_data_send_notification(sfd, NOTIFY_REREAD);
+			file_data_unref(sfd);
+			}
+		file_data_send_notification(fd, NOTIFY_GROUPING);
+
+		g_assert(fd->parent == NULL && fd->sidecar_files == NULL);
+		}
+
+	/* now we can form the new group */
+	work = basename_list->next;
+	new_sidecars = NULL;
 	while (work)
 		{
 		FileData *sfd = work->data;
-		file_data_add_sidecar_file(target, sfd);
+		g_assert(sfd->magick == FD_MAGICK);
+		g_assert(sfd->parent == NULL && sfd->sidecar_files == NULL);
+		sfd->parent = parent_fd;
+		new_sidecars = g_list_prepend(new_sidecars, sfd);
 		work = work->next;
 		}
-
-	g_list_free(source->sidecar_files);
-	source->sidecar_files = NULL;
-
-	return target;
+	g_assert(parent_fd->sidecar_files == NULL);
+	parent_fd->sidecar_files = g_list_reverse(new_sidecars);
+	DEBUG_1("basename group changed for %s", parent_fd->path);
 }
 
-static void file_data_check_sidecars(const GList *basename_list)
+
+static void file_data_disconnect_sidecar_file(FileData *target, FileData *sfd)
 {
-	GList *work;
-	FileData *parent_fd;
-	if (!basename_list) return;
-	/* process the group list - the first one is the parent file, others are sidecars */
-	parent_fd = basename_list->data;
-	work = basename_list->next;
-	while (work)
-		{
-		FileData *sfd = work->data;
-		work = work->next;
-
-		file_data_merge_sidecar_files(parent_fd, sfd);
-		}
-		
-	/* there may be some sidecars that are already deleted - disconnect them */
-	work = parent_fd->sidecar_files;
-	while (work)
-		{
-		FileData *sfd = work->data;
-		work = work->next;
-		
-		if (!g_list_find((GList *)basename_list, sfd)) 
-			{
-			printf("removing unknown %s: %s \n", parent_fd->path, sfd->path);
-			file_data_disconnect_sidecar_file(parent_fd, sfd);
-			file_data_send_notification(sfd, NOTIFY_REREAD);
-			file_data_send_notification(parent_fd, NOTIFY_REREAD);
-			}
-		}
-}
-
-static FileData *file_data_disconnect_sidecar_file(FileData *target, FileData *sfd)
-{
-	sfd->parent = target;
+	g_assert(target->magick == FD_MAGICK);
+	g_assert(sfd->magick == FD_MAGICK);
 	g_assert(g_list_find(target->sidecar_files, sfd));
-	
+
+	file_data_ref(target);
+	file_data_ref(sfd);
+
+	g_assert(sfd->parent == target);
+
 	file_data_increment_version(sfd); /* increments both sfd and target */
 
 	target->sidecar_files = g_list_remove(target->sidecar_files, sfd);
 	sfd->parent = NULL;
 
-	if (sfd->ref == 0)
-		{
-		file_data_free(sfd);
-		return NULL;
-		}
-
-	return sfd;
+	file_data_unref(target);
+	file_data_unref(sfd);
 }
 
 /* disables / enables grouping for particular file, sends UPDATE notification */
 void file_data_disable_grouping(FileData *fd, gboolean disable)
 {
 	if (!fd->disable_grouping == !disable) return;
-	
+
 	fd->disable_grouping = !!disable;
-	
+
 	if (disable)
 		{
 		if (fd->parent)
@@ -695,12 +820,12 @@
 void file_data_disable_grouping_list(GList *fd_list, gboolean disable)
 {
 	GList *work;
-	
+
 	work = fd_list;
 	while (work)
 		{
 		FileData *fd = work->data;
-		
+
 		file_data_disable_grouping(fd, disable);
 		work = work->next;
 		}
@@ -714,9 +839,6 @@
  *-----------------------------------------------------------------------------
  */
 
-static SortType filelist_sort_method = SORT_NONE;
-static gboolean filelist_sort_ascend = TRUE;
-
 
 gint filelist_sort_compare_filedata(FileData *fa, FileData *fb)
 {
@@ -742,6 +864,11 @@
 			if (fa->date > fb->date) return 1;
 			/* fall back to name */
 			break;
+		case SORT_EXIFTIME:
+			if (fa->exifdate < fb->exifdate) return -1;
+			if (fa->exifdate > fb->exifdate) return 1;
+			/* fall back to name */
+			break;
 #ifdef HAVE_STRVERSCMP
 		case SORT_NUMBER:
 			ret = strverscmp(fa->name, fb->name);
@@ -758,9 +885,9 @@
 		ret = strcmp(fa->collate_key_name_nocase, fb->collate_key_name_nocase);
 
 	if (ret != 0) return ret;
-	
-	/* do not return 0 unless the files are really the same 
-	   file_data_pool ensures that original_path is unique 
+
+	/* do not return 0 unless the files are really the same
+	   file_data_pool ensures that original_path is unique
 	*/
 	return strcmp(fa->original_path, fb->original_path);
 }
@@ -793,6 +920,10 @@
 
 GList *filelist_sort(GList *list, SortType method, gboolean ascend)
 {
+	if (method == SORT_EXIFTIME)
+		{
+		set_exif_time_data(list);
+		}
 	return filelist_sort_full(list, method, ascend, (GCompareFunc) filelist_sort_file_cb);
 }
 
@@ -819,44 +950,19 @@
 	gchar *basename = g_strndup(fd->path, fd->extension - fd->path);
 
 	list = g_hash_table_lookup(basename_hash, basename);
-	
+
 	if (!g_list_find(list, fd))
 		{
 		list = g_list_insert_sorted(list, file_data_ref(fd), file_data_sort_by_ext);
 		g_hash_table_insert(basename_hash, basename, list);
 		}
-	else 
+	else
 		{
 		g_free(basename);
 		}
 	return list;
 }
 
-#if 0
-static void file_data_basename_hash_remove(GHashTable *basename_hash, FileData *fd)
-{
-	GList *list;
-	gchar *basename = g_strndup(fd->path, fd->extension - fd->path);
-	
-	list = g_hash_table_lookup(basename_hash, basename);
-	
-	if (!g_list_find(list, fd)) return;
-	
-	list = g_list_remove(list, fd);
-	file_data_unref(fd);
-	
-	if (list)
-		{
-		g_hash_table_insert(basename_hash, basename, list);
-		}
-	else 
-		{
-		g_hash_table_remove(basename_hash, basename);
-		g_free(basename);
-		}
-}
-#endif
-
 static void file_data_basename_hash_remove_list(gpointer key, gpointer value, gpointer data)
 {
 	filelist_free((GList *)value);
@@ -864,7 +970,7 @@
 
 static void file_data_basename_hash_free(GHashTable *basename_hash)
 {
-	g_hash_table_foreach(basename_hash, file_data_basename_hash_remove_list, NULL); 
+	g_hash_table_foreach(basename_hash, file_data_basename_hash_remove_list, NULL);
 	g_hash_table_destroy(basename_hash);
 }
 
@@ -882,7 +988,7 @@
 	while (work)
 		{
 		FileData *fd = work->data;
-	
+
 		work = work->next;
 		if (fd->parent) /* remove fd's that are children */
 			file_data_unref(fd);
@@ -976,7 +1082,7 @@
 					{
 					FileData *fd = file_data_new_local(filepath, &ent_sbuf, FALSE);
 					flist = g_list_prepend(flist, fd);
-					if (fd->sidecar_priority && !fd->disable_grouping) 
+					if (fd->sidecar_priority && !fd->disable_grouping)
 						{
 						file_data_basename_hash_insert(basename_hash, fd);
 						}
@@ -994,18 +1100,22 @@
 		}
 
 	closedir(dp);
-	
+
 	g_free(pathl);
 
 	if (dirs) *dirs = dlist;
-	if (files) 
+
+	if (files)
 		{
-		g_hash_table_foreach(basename_hash, file_data_basename_hash_to_sidecars, NULL); 
+		g_hash_table_foreach(basename_hash, file_data_basename_hash_to_sidecars, NULL);
 
 		*files = filelist_filter_out_sidecars(flist);
 		}
 	if (basename_hash) file_data_basename_hash_free(basename_hash);
 
+	// Call a separate function to initialize the exif datestamps for the found files..
+	if (files) init_exif_time_data(*files);
+
 	return TRUE;
 }
 
@@ -1034,15 +1144,15 @@
 
 	if (S_ISDIR(st.st_mode))
 		return file_data_new(path_utf8, &st, TRUE);
-	
+
 	dir = remove_level_from_path(path_utf8);
-	
+
 	filelist_read_real(dir, &files, NULL, TRUE);
-	
+
 	fd = g_hash_table_lookup(file_data_pool, path_utf8);
 	g_assert(fd);
 	file_data_ref(fd);
-	
+
 	filelist_free(files);
 	g_free(dir);
 	return fd;
@@ -1139,12 +1249,12 @@
 						       strcmp(name, GQ_CACHE_LOCAL_METADATA) == 0)) )
 			{
 			GList *link = work;
-			
+
 			list = g_list_remove_link(list, link);
 			file_data_unref(fd);
 			g_list_free(link);
 			}
-	
+
 		work = work->next;
 		}
 
@@ -1246,9 +1356,9 @@
 {
 	gchar *sidecar_path = NULL;
 	GList *work;
-	
+
 	if (!file_data_can_write_sidecar(fd)) return NULL;
-	
+
 	work = fd->parent ? fd->parent->sidecar_files : fd->sidecar_files;
 	while (work)
 		{
@@ -1260,7 +1370,7 @@
 			break;
 			}
 		}
-	
+
 	if (!existing_only && !sidecar_path)
 		{
 		gchar *base = g_strndup(fd->path, fd->extension - fd->path);
@@ -1283,17 +1393,17 @@
 gboolean file_data_get_mark(FileData *fd, gint n)
 {
 	gboolean valid = (fd->valid_marks & (1 << n));
-	
-	if (file_data_get_mark_func[n] && !valid) 
+
+	if (file_data_get_mark_func[n] && !valid)
 		{
 		guint old = fd->marks;
 		gboolean value = (file_data_get_mark_func[n])(fd, n, file_data_mark_func_data[n]);
-		
-		if (!value != !(fd->marks & (1 << n))) 
+
+		if (!value != !(fd->marks & (1 << n)))
 			{
 			fd->marks = fd->marks ^ (1 << n);
 			}
-		
+
 		fd->valid_marks |= (1 << n);
 		if (old && !fd->marks) /* keep files with non-zero marks in memory */
 			{
@@ -1319,16 +1429,16 @@
 {
 	guint old;
 	if (!value == !file_data_get_mark(fd, n)) return;
-	
-	if (file_data_set_mark_func[n]) 
+
+	if (file_data_set_mark_func[n])
 		{
 		(file_data_set_mark_func[n])(fd, n, value, file_data_mark_func_data[n]);
 		}
-	
+
 	old = fd->marks;
 
 	fd->marks = fd->marks ^ (1 << n);
-	
+
 	if (old && !fd->marks) /* keep files with non-zero marks in memory */
 		{
 		file_data_unref(fd);
@@ -1337,7 +1447,7 @@
 		{
 		file_data_ref(fd);
 		}
-	
+
 	file_data_increment_version(fd);
 	file_data_send_notification(fd, NOTIFY_MARKS);
 }
@@ -1381,9 +1491,9 @@
 gboolean file_data_register_mark_func(gint n, FileDataGetMarkFunc get_mark_func, FileDataSetMarkFunc set_mark_func, gpointer data, GDestroyNotify notify)
 {
 	if (n < 0 || n >= FILEDATA_MARKS_SIZE) return FALSE;
-	
+
 	if (file_data_destroy_mark_func[n]) (file_data_destroy_mark_func[n])(file_data_mark_func_data[n]);
-		
+
 	file_data_get_mark_func[n] = get_mark_func;
         file_data_set_mark_func[n] = set_mark_func;
         file_data_mark_func_data[n] = data;
@@ -1489,7 +1599,7 @@
 		fdci->dest = g_strdup(dest);
 
 	fd->change = fdci;
-	
+
 	return TRUE;
 }
 
@@ -1521,7 +1631,7 @@
 	if (!fdci) return;
 
 	file_data_planned_change_remove(fd);
-	
+
 	if (fdci->regroup_when_finished) file_data_disable_grouping(fd, FALSE);
 
 	g_free(fdci->source);
@@ -1544,40 +1654,40 @@
 	GList *work;
 
 	if (fd->parent) fd = fd->parent;
-	
+
 	if (fd->change) return FALSE;
-	
+
 	work = fd->sidecar_files;
 	while (work)
 		{
 		FileData *sfd = work->data;
-		
+
 		if (sfd->change) return FALSE;
 		work = work->next;
 		}
 
 	file_data_add_ci(fd, type, NULL, NULL);
-	
+
 	work = fd->sidecar_files;
 	while (work)
 		{
 		FileData *sfd = work->data;
-		
+
 		file_data_add_ci(sfd, type, NULL, NULL);
 		work = work->next;
 		}
-		
+
 	return TRUE;
 }
 
 static gboolean file_data_sc_check_ci(FileData *fd, FileDataChangeType type)
 {
 	GList *work;
-	
+
 	if (fd->parent) fd = fd->parent;
-	
+
 	if (!fd->change || fd->change->type != type) return FALSE;
-	
+
 	work = fd->sidecar_files;
 	while (work)
 		{
@@ -1634,14 +1744,14 @@
 	GList *work;
 
 	if (fd->parent) fd = fd->parent;
-	
+
 	file_data_free_ci(fd);
-	
+
 	work = fd->sidecar_files;
 	while (work)
 		{
 		FileData *sfd = work->data;
-	
+
 		file_data_free_ci(sfd);
 		work = work->next;
 		}
@@ -1656,7 +1766,7 @@
 	while (work)
 		{
 		FileData *fd = work->data;
-	
+
 		if (!file_data_sc_add_ci_delete(fd)) ret = FALSE;
 		work = work->next;
 		}
@@ -1667,12 +1777,12 @@
 static void file_data_sc_revert_ci_list(GList *fd_list)
 {
 	GList *work;
-	
+
 	work = fd_list;
 	while (work)
 		{
 		FileData *fd = work->data;
-		
+
 		file_data_sc_free_ci(fd);
 		work = work->prev;
 		}
@@ -1681,12 +1791,12 @@
 static gboolean file_data_sc_add_ci_list_call_func(GList *fd_list, const gchar *dest, gboolean (*func)(FileData *, const gchar *))
 {
 	GList *work;
-	
+
 	work = fd_list;
 	while (work)
 		{
 		FileData *fd = work->data;
-		
+
 		if (!func(fd, dest))
 			{
 			file_data_sc_revert_ci_list(work->prev);
@@ -1694,7 +1804,7 @@
 			}
 		work = work->next;
 		}
-	
+
 	return TRUE;
 }
 
@@ -1727,7 +1837,7 @@
 	while (work)
 		{
 		FileData *fd = work->data;
-	
+
 		if (!file_data_add_ci_write_metadata(fd)) ret = FALSE;
 		work = work->next;
 		}
@@ -1738,12 +1848,12 @@
 void file_data_free_ci_list(GList *fd_list)
 {
 	GList *work;
-	
+
 	work = fd_list;
 	while (work)
 		{
 		FileData *fd = work->data;
-		
+
 		file_data_free_ci(fd);
 		work = work->next;
 		}
@@ -1752,12 +1862,12 @@
 void file_data_sc_free_ci_list(GList *fd_list)
 {
 	GList *work;
-	
+
 	work = fd_list;
 	while (work)
 		{
 		FileData *fd = work->data;
-		
+
 		file_data_sc_free_ci(fd);
 		work = work->next;
 		}
@@ -1771,14 +1881,14 @@
 static void file_data_update_planned_change_hash(FileData *fd, const gchar *old_path, gchar *new_path)
 {
 	FileDataChangeType type = fd->change->type;
-	
+
 	if (type == FILEDATA_CHANGE_MOVE || type == FILEDATA_CHANGE_RENAME)
 		{
 		FileData *ofd;
-		
+
 		if (!file_data_planned_change_hash)
 			file_data_planned_change_hash = g_hash_table_new(g_str_hash, g_str_equal);
-		
+
 		if (old_path && g_hash_table_lookup(file_data_planned_change_hash, old_path) == fd)
 			{
 			DEBUG_1("planned change: removing %s -> %s", old_path, fd->path);
@@ -1795,7 +1905,7 @@
 				g_hash_table_remove(file_data_planned_change_hash, new_path);
 				file_data_unref(ofd);
 				}
-			
+
 			DEBUG_1("planned change: inserting %s -> %s", new_path, fd->path);
 			file_data_ref(fd);
 			g_hash_table_insert(file_data_planned_change_hash, new_path, fd);
@@ -1817,10 +1927,10 @@
 	const gchar *extension = extension_from_path(fd->change->source);
 	gchar *base = remove_extension_from_path(dest_path);
 	gchar *old_path = fd->change->dest;
-	
+
 	fd->change->dest = g_strconcat(base, extension, NULL);
 	file_data_update_planned_change_hash(fd, old_path, fd->change->dest);
-	
+
 	g_free(old_path);
 	g_free(base);
 }
@@ -1829,9 +1939,9 @@
 {
 	GList *work;
 	gchar *dest_path_full = NULL;
-	
+
 	if (fd->parent) fd = fd->parent;
-	
+
 	if (!dest_path)
 		{
 		dest_path = fd->path;
@@ -1839,7 +1949,7 @@
 	else if (!strchr(dest_path, G_DIR_SEPARATOR)) /* we got only filename, not a full path */
 		{
 		gchar *dir = remove_level_from_path(fd->path);
-		
+
 		dest_path_full = g_build_filename(dir, dest_path, NULL);
 		g_free(dir);
 		dest_path = dest_path_full;
@@ -1849,18 +1959,18 @@
 		dest_path_full = g_build_filename(dest_path, fd->name, NULL);
 		dest_path = dest_path_full;
 		}
-		
+
 	file_data_update_ci_dest(fd, dest_path);
-	
+
 	work = fd->sidecar_files;
 	while (work)
 		{
 		FileData *sfd = work->data;
-		
+
 		file_data_update_ci_dest_preserve_ext(sfd, dest_path);
 		work = work->next;
 		}
-	
+
 	g_free(dest_path_full);
 }
 
@@ -1875,7 +1985,7 @@
 {
 	return file_data_sc_check_update_ci(fd, dest_path, FILEDATA_CHANGE_COPY);
 }
-	
+
 gboolean file_data_sc_update_ci_move(FileData *fd, const gchar *dest_path)
 {
 	return file_data_sc_check_update_ci(fd, dest_path, FILEDATA_CHANGE_MOVE);
@@ -1897,16 +2007,16 @@
 {
 	GList *work;
 	gboolean ret = TRUE;
-	
+
 	work = fd_list;
 	while (work)
 		{
 		FileData *fd = work->data;
-		
+
 		if (!func(fd, dest)) ret = FALSE;
 		work = work->next;
 		}
-	
+
 	return ret;
 }
 
@@ -1935,7 +2045,7 @@
 {
 	gint ret = CHANGE_OK;
 	gchar *dir;
-	
+
 	if (!fd->change)
 		{
 		DEBUG_1("Change checked: no change info: %s", fd->path);
@@ -1949,9 +2059,9 @@
 		DEBUG_1("Change checked: file does not exist: %s", fd->path);
 		return ret;
 		}
-		
+
 	dir = remove_level_from_path(fd->path);
-	
+
 	if (fd->change->type != FILEDATA_CHANGE_DELETE &&
 	    fd->change->type != FILEDATA_CHANGE_MOVE && /* the unsaved metadata should survive move and rename operations */
 	    fd->change->type != FILEDATA_CHANGE_RENAME &&
@@ -1961,7 +2071,7 @@
 		ret |= CHANGE_WARN_UNSAVED_META;
 		DEBUG_1("Change checked: unsaved metadata: %s", fd->path);
 		}
-	
+
 	if (fd->change->type != FILEDATA_CHANGE_DELETE &&
 	    fd->change->type != FILEDATA_CHANGE_WRITE_METADATA &&
 	    !access_file(fd->path, R_OK))
@@ -1992,10 +2102,10 @@
 		/* determine destination file */
 		gboolean have_dest = FALSE;
 		gchar *dest_dir = NULL;
-		
+
 		if (options->metadata.save_in_image_file)
 			{
-			if (file_data_can_write_directly(fd)) 
+			if (file_data_can_write_directly(fd))
 				{
 				/* we can write the file directly */
 				if (access_file(fd->path, W_OK))
@@ -2011,7 +2121,7 @@
 						}
 					}
 				}
-			else if (file_data_can_write_sidecar(fd)) 
+			else if (file_data_can_write_sidecar(fd))
 				{
 				/* we can write sidecar */
 				gchar *sidecar = file_data_get_sidecar_path(fd, FALSE);
@@ -2031,7 +2141,7 @@
 				g_free(sidecar);
 				}
 			}
-		
+
 		if (!have_dest)
 			{
 			/* write private metadata file under ~/.geeqie */
@@ -2045,7 +2155,7 @@
 			metadata_path = cache_find_location(CACHE_TYPE_XMP_METADATA, fd->path);
 #endif
 			if (!metadata_path) metadata_path = cache_find_location(CACHE_TYPE_METADATA, fd->path);
-			
+
 			if (metadata_path && !access_file(metadata_path, W_OK))
 				{
 				g_free(metadata_path);
@@ -2060,7 +2170,7 @@
 				if (recursive_mkdir_if_not_exists(dest_dir, mode))
 					{
 					gchar *filename = g_strconcat(fd->name, options->metadata.save_legacy_format ? GQ_CACHE_EXT_METADATA : GQ_CACHE_EXT_XMP_METADATA, NULL);
-			
+
 					metadata_path = g_build_filename(dest_dir, filename, NULL);
 					g_free(filename);
 					}
@@ -2079,12 +2189,12 @@
 			}
 		g_free(dest_dir);
 		}
-		
+
 	if (fd->change->dest && fd->change->type != FILEDATA_CHANGE_WRITE_METADATA)
 		{
 		gboolean same;
 		gchar *dest_dir;
-			
+
 		same = (strcmp(fd->path, fd->change->dest) == 0);
 
 		if (!same)
@@ -2116,7 +2226,7 @@
 			}
 		else if (!access_file(dest_dir, W_OK))
 			{
-			ret |= CHANGE_NO_WRITE_PERM_DEST_DIR;
+			ret |= CHANGE_WARN_NO_WRITE_PERM_DEST_DIR;
 			DEBUG_1("Change checked: destination dir is readonly: %s -> %s", fd->path, fd->change->dest);
 			}
 		else if (!same)
@@ -2143,7 +2253,7 @@
 
 		g_free(dest_dir);
 		}
-		
+
 	fd->change->error = ret;
 	if (ret == 0) DEBUG_1("Change checked: OK: %s", fd->path);
 
@@ -2193,7 +2303,7 @@
 		g_string_append(result, _("destination can't be overwritten"));
 		}
 
-	if (error & CHANGE_NO_WRITE_PERM_DEST_DIR)
+	if (error & CHANGE_WARN_NO_WRITE_PERM_DEST_DIR)
 		{
 		if (result->len > 0) g_string_append(result, ", ");
 		g_string_append(result, _("destination directory is not writable"));
@@ -2228,7 +2338,7 @@
 		if (result->len > 0) g_string_append(result, ", ");
 		g_string_append(result, _("destination already exists and will be overwritten"));
 		}
-		
+
 	if (error & CHANGE_WARN_SAME)
 		{
 		if (result->len > 0) g_string_append(result, ", ");
@@ -2258,9 +2368,9 @@
 	gint num;
 	gint *errors;
 	gint i;
-	
+
 	if (!list) return 0;
-	
+
 	num = g_list_length(list);
 	errors = g_new(int, num);
 	work = list;
@@ -2272,21 +2382,21 @@
 
 		fd = work->data;
 		work = work->next;
-			
+
 		error = with_sidecars ? file_data_sc_verify_ci(fd) : file_data_verify_ci(fd);
 		all_errors |= error;
 		common_errors &= error;
-		
+
 		errors[i] = error;
-		
+
 		i++;
 		}
-	
+
 	if (desc && all_errors)
 		{
 		GList *work;
 		GString *result = g_string_new("");
-		
+
 		if (common_errors)
 			{
 			gchar *str = file_data_get_error_string(common_errors);
@@ -2294,7 +2404,7 @@
 			g_string_append(result, "\n");
 			g_free(str);
 			}
-		
+
 		work = list;
 		i = 0;
 		while (work)
@@ -2304,9 +2414,9 @@
 
 			fd = work->data;
 			work = work->next;
-			
+
 			error = errors[i] & ~common_errors;
-			
+
 			if (error)
 				{
 				gchar *str = file_data_get_error_string(error);
@@ -2383,20 +2493,20 @@
 	GList *work;
 	gboolean ret = TRUE;
 	FileDataChangeType type = fd->change->type;
-	
+
 	if (!file_data_sc_check_ci(fd, type)) return FALSE;
 
 	work = fd->sidecar_files;
 	while (work)
 		{
 		FileData *sfd = work->data;
-		
+
 		if (!file_data_perform_ci(sfd)) ret = FALSE;
 		work = work->next;
 		}
-	
+
 	if (!file_data_perform_ci(fd)) ret = FALSE;
-	
+
 	return ret;
 }
 
@@ -2413,7 +2523,7 @@
 		{
 		DEBUG_1("planned change: applying %s -> %s", fd->change->dest, fd->path);
 		file_data_planned_change_remove(fd);
-		
+
 		if (g_hash_table_lookup(file_data_pool, fd->change->dest))
 			{
 			/* this change overwrites another file which is already known to other modules
@@ -2430,7 +2540,7 @@
 		}
 	file_data_increment_version(fd);
 	file_data_send_notification(fd, NOTIFY_CHANGE);
-	
+
 	return TRUE;
 }
 
@@ -2438,20 +2548,20 @@
 {
 	GList *work;
 	FileDataChangeType type = fd->change->type;
-	
+
 	if (!file_data_sc_check_ci(fd, type)) return FALSE;
 
 	work = fd->sidecar_files;
 	while (work)
 		{
 		FileData *sfd = work->data;
-		
+
 		file_data_apply_ci(sfd);
 		work = work->next;
 		}
-	
+
 	file_data_apply_ci(fd);
-	
+
 	return TRUE;
 }
 
@@ -2460,7 +2570,7 @@
 	GList *work;
 	if (fd->parent) fd = fd->parent;
 	if (!g_list_find(list, fd)) return FALSE;
-	
+
 	work = fd->sidecar_files;
 	while (work)
 		{
@@ -2470,29 +2580,6 @@
 	return TRUE;
 }
 
-#if 0
-static gboolean file_data_list_dump(GList *list)
-{
-	GList *work, *work2;
-
-	work = list;
-	while (work)
-		{
-		FileData *fd = work->data;
-		printf("%s\n", fd->name);
-		work2 = fd->sidecar_files;
-		while (work2)
-			{
-			FileData *fd = work2->data;
-			printf("       %s\n", fd->name);
-			work2 = work2->next;
-			}
-		work = work->next;
-		}
-	return TRUE;
-}
-#endif
-
 GList *file_data_process_groups_in_selection(GList *list, gboolean ungroup, GList **ungrouped_list)
 {
 	GList *out = NULL;
@@ -2505,33 +2592,33 @@
 			{
 			FileData *fd = work->data;
 			work = work->next;
-		
-			if (!file_data_list_contains_whole_group(list, fd)) 
+
+			if (!file_data_list_contains_whole_group(list, fd))
 				{
 				file_data_disable_grouping(fd, TRUE);
-				if (ungrouped_list) 
+				if (ungrouped_list)
 					{
 					*ungrouped_list = g_list_prepend(*ungrouped_list, file_data_ref(fd));
 					}
 				}
 			}
 		}
-	
-	/* remove sidecars from the list, 
+
+	/* remove sidecars from the list,
 	   they can be still acessed via main_fd->sidecar_files */
 	work = list;
 	while (work)
 		{
 		FileData *fd = work->data;
 		work = work->next;
-		
+
 		if (!fd->parent ||
 		    (!ungroup && !file_data_list_contains_whole_group(list, fd)))
 			{
 			out = g_list_prepend(out, file_data_ref(fd));
 			}
 		}
-		
+
 	filelist_free(list);
 	out = g_list_reverse(out);
 
@@ -2577,11 +2664,11 @@
 {
 	NotifyData *nd;
 	GList *work = notify_func_list;
-	
+
 	while (work)
 		{
 		NotifyData *nd = (NotifyData *)work->data;
-	
+
 		if (nd->func == func && nd->data == data)
 			{
 			g_warning("Notify func already registered");
@@ -2589,7 +2676,7 @@
 			}
 		work = work->next;
 		}
-	
+
 	nd = g_new(NotifyData, 1);
 	nd->func = func;
 	nd->data = data;
@@ -2597,18 +2684,18 @@
 
 	notify_func_list = g_list_insert_sorted(notify_func_list, nd, file_data_notify_sort);
 	DEBUG_2("Notify func registered: %p", nd);
-	
+
 	return TRUE;
 }
 
 gboolean file_data_unregister_notify_func(FileDataNotifyFunc func, gpointer data)
 {
 	GList *work = notify_func_list;
-	
+
 	while (work)
 		{
 		NotifyData *nd = (NotifyData *)work->data;
-	
+
 		if (nd->func == func && nd->data == data)
 			{
 			notify_func_list = g_list_delete_link(notify_func_list, work);
@@ -2631,7 +2718,7 @@
 	while (work)
 		{
 		NotifyData *nd = (NotifyData *)work->data;
-		
+
 		nd->func(fd, type, nd->data);
 		work = work->next;
 		}
@@ -2645,7 +2732,7 @@
 	FileData *fd = key;
 
 	file_data_check_changed_files(fd);
-	
+
 	DEBUG_1("monitor %s", fd->path);
 }
 
@@ -2659,24 +2746,24 @@
 gboolean file_data_register_real_time_monitor(FileData *fd)
 {
 	gint count;
-	
+
 	file_data_ref(fd);
-	
+
 	if (!file_data_monitor_pool)
 		file_data_monitor_pool = g_hash_table_new(g_direct_hash, g_direct_equal);
-	
+
 	count = GPOINTER_TO_INT(g_hash_table_lookup(file_data_monitor_pool, fd));
 
 	DEBUG_1("Register realtime %d %s", count, fd->path);
-	
+
 	count++;
 	g_hash_table_insert(file_data_monitor_pool, fd, GINT_TO_POINTER(count));
-	
+
 	if (!realtime_monitor_id)
 		{
 		realtime_monitor_id = g_timeout_add(5000, realtime_monitor_cb, NULL);
 		}
-	
+
 	return TRUE;
 }
 
@@ -2685,29 +2772,29 @@
 	gint count;
 
 	g_assert(file_data_monitor_pool);
-	
+
 	count = GPOINTER_TO_INT(g_hash_table_lookup(file_data_monitor_pool, fd));
-	
+
 	DEBUG_1("Unregister realtime %d %s", count, fd->path);
-	
+
 	g_assert(count > 0);
-	
+
 	count--;
-	
+
 	if (count == 0)
 		g_hash_table_remove(file_data_monitor_pool, fd);
 	else
 		g_hash_table_insert(file_data_monitor_pool, fd, GINT_TO_POINTER(count));
 
 	file_data_unref(fd);
-	
+
 	if (g_hash_table_size(file_data_monitor_pool) == 0)
 		{
 		g_source_remove(realtime_monitor_id);
 		realtime_monitor_id = 0;
 		return FALSE;
 		}
-	
+
 	return TRUE;
 }
 /* vim: set shiftwidth=8 softtabstop=0 cindent cinoptions={1s: */
--- a/src/filedata.h	Sun May 27 18:41:56 2012 +0100
+++ b/src/filedata.h	Tue Oct 02 22:19:13 2012 +0100
@@ -1,7 +1,7 @@
 /*
  * Geeqie
  * (C) 2004 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * Author: John Ellis
  *
@@ -18,6 +18,8 @@
 #define DEBUG_FILEDATA
 #endif
 
+#define FD_MAGICK 0x12345678u
+
 gchar *text_from_size(gint64 size);
 gchar *text_from_size_abrev(gint64 size);
 const gchar *text_from_time(time_t t);
--- a/src/filefilter.c	Sun May 27 18:41:56 2012 +0100
+++ b/src/filefilter.c	Tue Oct 02 22:19:13 2012 +0100
@@ -1,7 +1,7 @@
 /*
  * Geeqie
  * (C) 2006 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * Author: John Ellis
  *
@@ -38,7 +38,7 @@
 
 
 static FilterEntry *filter_entry_new(const gchar *key, const gchar *description,
-				     const gchar *extensions, FileFormatClass file_class, 
+				     const gchar *extensions, FileFormatClass file_class,
 				     gboolean writable, gboolean allow_sidecar, gboolean enabled)
 {
 	FilterEntry *fe;
@@ -140,7 +140,7 @@
 			{
 			if (fe->file_class == FORMAT_CLASS_UNKNOWN)
 				fe->file_class = file_class;	/* for compatibility */
-				
+
 			if (fe->writable && fe->allow_sidecar)
 				{
 				fe->writable = writable;
@@ -188,14 +188,14 @@
 		work = work->next;
 
 		name = gdk_pixbuf_format_get_name(format);
-		
-		if (strcmp(name, "Digital camera RAW") == 0) 
+
+		if (strcmp(name, "Digital camera RAW") == 0)
 			{
 			DEBUG_1("Skipped '%s' from loader", name);
 			g_free(name);
 			continue;
 			}
-		
+
 		desc = gdk_pixbuf_format_get_description(format);
 		extensions = gdk_pixbuf_format_get_extensions(format);
 
@@ -238,11 +238,11 @@
 	filter_add_if_missing("ico", "Icon file", ".ico;.cur", FORMAT_CLASS_IMAGE, TRUE, FALSE, FALSE);
 	filter_add_if_missing("ras", "Raster", ".ras", FORMAT_CLASS_IMAGE, TRUE, FALSE, FALSE);
 	filter_add_if_missing("svg", "Scalable Vector Graphics", ".svg", FORMAT_CLASS_IMAGE, TRUE, FALSE, FALSE);
-	
+
 	/* special formats for stereo */
 	filter_add_if_missing("jps", "Stereo side-by-side jpeg", ".jps", FORMAT_CLASS_IMAGE, TRUE, FALSE, TRUE);
 	filter_add_if_missing("mpo", "Stereo multi-image jpeg", ".mpo", FORMAT_CLASS_IMAGE, FALSE, TRUE, TRUE);
-	
+
 	/* non-image files that might be desirable to show */
 	filter_add_if_missing("xmp", "XMP sidecar", ".xmp", FORMAT_CLASS_META, TRUE, FALSE, TRUE);
 	filter_add_if_missing("gqv", GQ_APPNAME " image collection", GQ_COLLECTION_EXT, FORMAT_CLASS_META, FALSE, FALSE, TRUE);
@@ -267,6 +267,8 @@
 	filter_add_if_missing("r3d", "Red raw format", ".r3d", FORMAT_CLASS_RAWIMAGE, FALSE, TRUE, TRUE);
 	filter_add_if_missing("3fr", "Hasselblad raw format", ".3fr", FORMAT_CLASS_RAWIMAGE, FALSE, TRUE, TRUE);
 	filter_add_if_missing("erf", "Epson raw format", ".erf", FORMAT_CLASS_RAWIMAGE, FALSE, TRUE, TRUE);
+	filter_add_if_missing("srw", "Samsung raw format", ".srw", FORMAT_CLASS_RAWIMAGE, FALSE, TRUE, TRUE);
+	filter_add_if_missing("rw2", "Panasonic raw format", ".rw2", FORMAT_CLASS_RAWIMAGE, FALSE, TRUE, TRUE);
 }
 
 GList *filter_to_list(const gchar *extensions)
@@ -290,15 +292,15 @@
 			p++;
 			l++;
 			}
-		
+
 		ext = g_strndup(b, l);
-		
+
 		if (g_ascii_strcasecmp(ext, "%image") == 0) file_class = FORMAT_CLASS_IMAGE;
 		else if (g_ascii_strcasecmp(ext, "%raw") == 0) file_class = FORMAT_CLASS_RAWIMAGE;
 		else if (g_ascii_strcasecmp(ext, "%meta") == 0) file_class = FORMAT_CLASS_META;
 		else if (g_ascii_strcasecmp(ext, "%unknown") == 0) file_class = FORMAT_CLASS_UNKNOWN;
-		
-		if (file_class == -1) 
+
+		if (file_class == -1)
 			{
 			list = g_list_append(list, ext);
 			}
@@ -307,7 +309,7 @@
 			list = g_list_concat(list, string_list_copy(file_class_extension_list[file_class]));
 			g_free(ext);
 			}
-			
+
 		if (*p == ';') p++;
 		}
 
@@ -318,15 +320,15 @@
 {
 	gchar *sa = (gchar *)a;
 	gchar *sb = (gchar *)b;
-	
+
 	gint len_a = strlen(sa);
 	gint len_b = strlen(sb);
-	
+
 	if (len_a > len_b) return -1;
 	if (len_a < len_b) return 1;
 	return 0;
 }
- 
+
 
 void filter_rebuild(void)
 {
@@ -372,7 +374,7 @@
 				{
 				log_printf("WARNING: invalid file class %d\n", fe->file_class);
 				}
-				
+
 			if (fe->writable)
 				{
 				ext = filter_to_list(fe->extensions);
@@ -384,7 +386,7 @@
 				ext = filter_to_list(fe->extensions);
 				if (ext) file_sidecar_list = g_list_concat(file_sidecar_list, ext);
 				}
-			
+
 			}
 		}
 
@@ -497,7 +499,7 @@
 		log_printf("unknown attribute %s = %s\n", option, value);
 		}
 	if (fe.file_class >= FILE_FORMAT_CLASSES) fe.file_class = FORMAT_CLASS_UNKNOWN;
-	
+
 	if (fe.key && fe.key[0] != 0)
 		{
 		old_fe = filter_get_by_key(fe.key);
--- a/src/filefilter.h	Sun May 27 18:41:56 2012 +0100
+++ b/src/filefilter.h	Tue Oct 02 22:19:13 2012 +0100
@@ -1,7 +1,7 @@
 /*
  * Geeqie
  * (C) 2004 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * Author: John Ellis
  *
--- a/src/format_canon.c	Sun May 27 18:41:56 2012 +0100
+++ b/src/format_canon.c	Tue Oct 02 22:19:13 2012 +0100
@@ -1,7 +1,7 @@
 /*
  * Geeqie
  * (C) 2005 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * This software is released under the GNU General Public License (GNU GPL).
  * Please read the included file COPYING for more information.
@@ -466,62 +466,6 @@
 EXIF_MARKER_LIST_END
 };
 
-#if 0
-
-static ExifTextList CanonCustomEnable[] = {
-	{ 0,	"off" },
-	{ 1,	"on" },
-	EXIF_TEXT_LIST_END
-};
-
-static ExifTextList CanonCustomEnableInvert[] = {
-	{ 0,	"on" },
-	{ 1,	"off" },
-	EXIF_TEXT_LIST_END
-};
-
-static ExifTextList CanonCustomExposureLevel[] = {
-	{ 0,	"1/2 stop" },
-	{ 1,	"1/3 stop" },
-	EXIF_TEXT_LIST_END
-};
-
-static ExifTextList CanonCustomAVShutterSpeed[] = {
-	{ 0,	"auto" },
-	{ 1,	"1/200 (fixed)" },
-	EXIF_TEXT_LIST_END
-};
-
-static ExifTextList CanonCustomShutterCurtainSync[] = {
-	{ 0,	"1st" },
-	{ 1,	"2nd" },
-	EXIF_TEXT_LIST_END
-};
-
-static ExifMarker CanonCustom[] = {
-{ 1,	EXIF_FORMAT_SHORT_UNSIGNED, 1,	"MkN.Canon.NoiseReduction", "Noise reduction",	CanonCustomEnable },
-/*{ 2,	EXIF_FORMAT_SHORT_UNSIGNED, 1,  "MkN.Canon.BtnFuncShutter",
-						"Shutter/Auto exposure button function",CanonCustomBTNShutter }, */
-{ 3,	EXIF_FORMAT_SHORT_UNSIGNED, 1,  "MkN.Canon.MirrorLockup", "Mirror lockup",	CanonCustomEnable },
-{ 4,	EXIF_FORMAT_SHORT_UNSIGNED, 1,  "MkN.Canon.TvAvExposureLevel",
-							"Tv/Av and exposure level",	CanonCustomExposureLevel },
-{ 5,	EXIF_FORMAT_SHORT_UNSIGNED, 1,  "MkN.Canon.AFAssistLight", "AF assist light",	CanonCustomEnableInvert },
-{ 6,	EXIF_FORMAT_SHORT_UNSIGNED, 1,  "MkN.Canon.AvShutterSpeed",
-							"Shutter speed in Av mode",	CanonCustomAVShutterSpeed },
-/*{ 7,	EXIF_FORMAT_SHORT_UNSIGNED, 1,  "MkN.Canon.AutoBracket",
-				"Auto-Exposure bracketting sequence/auto cancellation",	CanonCustom }, */
-{ 8,	EXIF_FORMAT_SHORT_UNSIGNED, 1,  "MkN.Canon.ShutterSync", "Shutter sync",	CanonCustomShutterCurtainSync },
-/* { 9,	EXIF_FORMAT_SHORT_UNSIGNED, 1,  "MkN.Canon.BtnFuncAF",	"AF button function",	CanonCustom }, */
-{ 10,	EXIF_FORMAT_SHORT_UNSIGNED, 1,  "MkN.Canon.FillFlashReduction",
-							"Fill flash auto reduction",	CanonCustomEnableInvert },
-/*{ 11,	EXIF_FORMAT_SHORT_UNSIGNED, 1,  "MkN.Canon.BtnFuncMenu",
-							"Menu button function",		CanonCustom }, */
-/*{ 12,	EXIF_FORMAT_SHORT_UNSIGNED, 1,  "MkN.Canon.BtnFuncSet", "Set button function",	CanonCustom }, */
-{ 13,	EXIF_FORMAT_SHORT_UNSIGNED, 1,  "MkN.Canon.SensorCleaning", "Sensor cleaning",	CanonCustomEnable },
-EXIF_MARKER_LIST_END
-};
-
-#endif
 
 static ExifMarker CanonExifMarkersList[] = {
 	{ 1,	EXIF_FORMAT_SHORT_UNSIGNED, -1, "MkN.Canon.Settings1",		NULL, NULL },
@@ -557,49 +501,6 @@
 		}
 }
 
-#if 0
-static void canon_mknote_parse_convert(ExifData *exif)
-{
-	gint value;
-	ExifItem *result;
-
-	/* seems we need more than only this value for distance */
-	if (exif_get_integer(exif, "MkN.Canon.SubjectDistance", &value))
-		{
-		static ExifMarker marker= { 0x9206, EXIF_FORMAT_RATIONAL_UNSIGNED, 1,
-					    "SubjectDistance", "Subject distance", NULL };
-		ExifItem *item;
-		ExifRational *rational;
-
-		item = exif_item_new(marker.format, marker.tag, 1, &marker);
-		rational = item->data;
-		rational->num = value;
-		rational->den = 100;
-
-		exif->items = g_list_prepend(exif->items, item);
-		}
-
-	result = exif_get_item(exif, "MkN.Canon.SerialNumber");
-	if (result && result->format == EXIF_FORMAT_LONG_UNSIGNED && result->data_len == 4)
-		{
-		static ExifMarker marker= { 12, EXIF_FORMAT_STRING, -1,
-					    "SerialNumber", "Camera serial number", NULL };
-		ExifItem *item;
-		gchar *text;
-		gint l;
-		guint32 n;
-
-		n = (guint32)((guint32 *)(result->data))[0];
-		text = g_strdup_printf("%04X%05d", n & 0xffff0000 >> 8, n & 0x0000ffff);
-		l = strlen(text) + 1;
-		item = exif_item_new(marker.format, marker.tag, l, &marker);
-		memcpy(item->data, text, l);
-		g_free(text);
-
-		exif->items = g_list_prepend(exif->items, item);
-		}
-}
-#endif
 
 gboolean format_canon_makernote(ExifData *exif, guchar *tiff, guint offset,
 			        guint size, ExifByteOrder bo)
@@ -623,10 +524,6 @@
 		canon_mknote_parse_settings(exif, item->data, item->data_len, bo, CanonSet2);
 		}
 
-#if 0
-	canon_mknote_parse_convert(exif);
-#endif
-
 	return TRUE;
 }
 
--- a/src/format_canon.h	Sun May 27 18:41:56 2012 +0100
+++ b/src/format_canon.h	Tue Oct 02 22:19:13 2012 +0100
@@ -1,7 +1,7 @@
 /*
  * Geeqie
  * (C) 2005 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * This software is released under the GNU General Public License (GNU GPL).
  * Please read the included file COPYING for more information.
--- a/src/format_fuji.c	Sun May 27 18:41:56 2012 +0100
+++ b/src/format_fuji.c	Tue Oct 02 22:19:13 2012 +0100
@@ -1,7 +1,7 @@
 /*
  * Geeqie
  * (C) 2005 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  *  Authors:
  *    Original version 2005 Lars Ellenberg, base on dcraw by David coffin.
@@ -144,14 +144,6 @@
 	EXIF_TEXT_LIST_END
 };
 
-#if 0
-static ExifTextList FujiTag[]= {
-	{ ,	"" },
-	{ ,	"" },
-	EXIF_TEXT_LIST_END
-};
-#endif
-
 
 static ExifMarker FujiExifMarkersList[] = {
 { 0x1000,	EXIF_FORMAT_STRING, 8,		"Fuji.Quality",		"Quality",	NULL },
--- a/src/format_fuji.h	Sun May 27 18:41:56 2012 +0100
+++ b/src/format_fuji.h	Tue Oct 02 22:19:13 2012 +0100
@@ -1,7 +1,7 @@
 /*
  * Geeqie
  * (C) 2005 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  *  Authors:
  *    Original version 2005 Lars Ellenberg, base on dcraw by David coffin.
--- a/src/format_nikon.c	Sun May 27 18:41:56 2012 +0100
+++ b/src/format_nikon.c	Tue Oct 02 22:19:13 2012 +0100
@@ -1,7 +1,7 @@
 /*
  * Geeqie
  * (C) 2005 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  *  Authors:
  *    Raw NEF jpeg extraction based on nefextract.c by Joseph Heled,
@@ -221,14 +221,6 @@
 	EXIF_TEXT_LIST_END
 };
 
-#if 0
-static ExifTextList NikonTag[]= {
-	{ ,	"" },
-	{ ,	"" },
-	EXIF_TEXT_LIST_END
-};
-#endif
-
 static ExifMarker NikonExifMarkersList1[] = {
 { 0x0002, EXIF_FORMAT_STRING, 6,		"Nikon.unknown",	NULL,		NULL },
 { 0x0003, EXIF_FORMAT_SHORT_UNSIGNED, 1,	"Nikon.Quality",	"Quality",	NikonTagQuality },
@@ -282,17 +274,6 @@
 	EXIF_TEXT_LIST_END
 };
 
-#if 0
-static ExifTextList NikonTagi2Saturation[]= {
-	{ -3,	"black and white" },
-	{ -2,	"-2" },
-	{ -1,	"-1" },
-	{ 0,	"normal" },
-	{ 1,	"+1" },
-	{ 2,	"+2" },
-	EXIF_TEXT_LIST_END
-};
-#endif
 
 static ExifMarker NikonExifMarkersList2[] = {
 { 0x0002, EXIF_FORMAT_SHORT_UNSIGNED, 2,	"Nikon.ISOSpeed",	"ISO speed",	NULL },
--- a/src/format_nikon.h	Sun May 27 18:41:56 2012 +0100
+++ b/src/format_nikon.h	Tue Oct 02 22:19:13 2012 +0100
@@ -1,7 +1,7 @@
 /*
  * Geeqie
  * (C) 2005 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * This software is released under the GNU General Public License (GNU GPL).
  * Please read the included file COPYING for more information.
--- a/src/format_olympus.c	Sun May 27 18:41:56 2012 +0100
+++ b/src/format_olympus.c	Tue Oct 02 22:19:13 2012 +0100
@@ -1,7 +1,7 @@
 /*
  * Geeqie
  * (C) 2005 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * This software is released under the GNU General Public License (GNU GPL).
  * Please read the included file COPYING for more information.
@@ -205,14 +205,6 @@
 	EXIF_TEXT_LIST_END
 };
 
-#if 0
-static ExifTextList OlympusTag[]= {
-	{ ,	"" },
-	{ ,	"" },
-	EXIF_TEXT_LIST_END
-};
-#endif
-
 
 static ExifMarker OlympusExifMarkersList[] = {
 { 0x0001, EXIF_FORMAT_LONG_UNSIGNED, -1, "Konica/MinoltaSettings", "Konica / Minolta settings", NULL },
--- a/src/format_olympus.h	Sun May 27 18:41:56 2012 +0100
+++ b/src/format_olympus.h	Tue Oct 02 22:19:13 2012 +0100
@@ -1,7 +1,7 @@
 /*
  * Geeqie
  * (C) 2005 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * This software is released under the GNU General Public License (GNU GPL).
  * Please read the included file COPYING for more information.
--- a/src/format_raw.c	Sun May 27 18:41:56 2012 +0100
+++ b/src/format_raw.c	Tue Oct 02 22:19:13 2012 +0100
@@ -1,7 +1,7 @@
 /*
  * Geeqie
  * (C) 2006 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  *  Authors:
  *    Original version 2005 Lars Ellenberg, base on dcraw by David coffin.
--- a/src/format_raw.h	Sun May 27 18:41:56 2012 +0100
+++ b/src/format_raw.h	Tue Oct 02 22:19:13 2012 +0100
@@ -1,7 +1,7 @@
 /*
  * Geeqie
  * (C) 2005 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  *  Authors:
  *    Original version 2005 Lars Ellenberg, base on dcraw by David coffin.
--- a/src/fullscreen.c	Sun May 27 18:41:56 2012 +0100
+++ b/src/fullscreen.c	Tue Oct 02 22:19:13 2012 +0100
@@ -1,7 +1,7 @@
 /*
  * Geeqie
  * (C) 2004 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * Author: John Ellis
  *
@@ -37,36 +37,28 @@
 
 static void clear_mouse_cursor(GtkWidget *widget, gint state)
 {
-	if (!widget->window) return;
+	GdkWindow *window = gtk_widget_get_window(widget);
+	if (!window) return;
 
 	if (state & FULLSCREEN_CURSOR_BUSY)
 		{
 		GdkCursor *cursor;
 
 		cursor = gdk_cursor_new(GDK_WATCH);
-		gdk_window_set_cursor(widget->window, cursor);
+		gdk_window_set_cursor(window, cursor);
 		gdk_cursor_unref(cursor);
 		}
 	else if (state & FULLSCREEN_CURSOR_NORMAL)
 		{
-		gdk_window_set_cursor(widget->window, NULL);
+		gdk_window_set_cursor(window, NULL);
 		}
 	else
 		{
 		GdkCursor *cursor;
-		GdkPixmap *p;
 
-		p = gdk_bitmap_create_from_data(widget->window, "\0\0\0", 1, 1);
-
-		cursor = gdk_cursor_new_from_pixmap(p, p,
-						    &widget->style->fg[GTK_STATE_ACTIVE],
-						    &widget->style->bg[GTK_STATE_ACTIVE],
-						    0, 0);
-
-		gdk_window_set_cursor(widget->window, cursor);
-
+		cursor = gdk_cursor_new(GDK_BLANK_CURSOR);
+		gdk_window_set_cursor(window, cursor);
 		gdk_cursor_unref(cursor);
-		g_object_unref(p);
 		}
 }
 
@@ -219,10 +211,10 @@
 {
 	FullScreenData *fs;
 	GdkScreen *screen;
-	gboolean same;
 	gint x, y;
 	gint w, h;
 	GdkGeometry geometry;
+	GdkWindow *gdkwin;
 
 	if (!window || !imd) return NULL;
 
@@ -238,7 +230,7 @@
 
 	DEBUG_1("full screen requests screen %d", options->fullscreen.screen);
 	fullscreen_prefs_get_geometry(options->fullscreen.screen, window, &x, &y, &w, &h,
-				      &screen, &same);
+				      &screen, &fs->same_region);
 
 	fs->window = window_new(GTK_WINDOW_TOPLEVEL, "fullscreen", NULL, NULL, _("Full screen"));
 
@@ -252,15 +244,14 @@
 		 */
 		gtk_window_fullscreen(GTK_WINDOW(fs->window));
 		}
-	else if (options->fullscreen.above)
+	else
 		{
-		/* request to be above other windows */
-		gtk_window_set_keep_above(GTK_WINDOW(fs->window), TRUE);
+		gtk_window_set_screen(GTK_WINDOW(fs->window), screen);
+		if (options->fullscreen.above)
+			gtk_window_set_keep_above(GTK_WINDOW(fs->window), TRUE);
 		}
 
 	gtk_window_set_resizable(GTK_WINDOW(fs->window), FALSE);
-
-	gtk_window_set_screen(GTK_WINDOW(fs->window), screen);
 	gtk_container_set_border_width(GTK_CONTAINER(fs->window), 0);
 	g_signal_connect(G_OBJECT(fs->window), "delete_event",
 			 G_CALLBACK(fullscreen_delete_cb), fs);
@@ -287,6 +278,11 @@
 	gtk_window_set_default_size(GTK_WINDOW(fs->window), w, h);
 	gtk_window_move(GTK_WINDOW(fs->window), x, y);
 
+	gtk_widget_realize(fs->window);
+	gdkwin = gtk_widget_get_window(fs->window);
+	if (gdkwin != NULL)
+		gdk_window_set_override_redirect(gdkwin, TRUE);
+
 	fs->imd = image_new(FALSE);
 
 	gtk_container_add(GTK_CONTAINER(fs->window), fs->imd->widget);
@@ -294,7 +290,7 @@
 	image_background_set_color_from_options(fs->imd, TRUE);
 	image_set_delay_flip(fs->imd, options->fullscreen.clean_flip);
 	image_auto_refresh_enable(fs->imd, fs->normal_imd->auto_refresh);
-	
+
 	if (options->fullscreen.clean_flip)
 		{
 		image_set_update_func(fs->imd, fullscreen_image_update_cb, fs);
@@ -303,7 +299,16 @@
 
 	gtk_widget_show(fs->imd->widget);
 
-	image_change_from_image(fs->imd, fs->normal_imd);
+	if (fs->same_region)
+		{
+		DEBUG_0("Original vindow is not visible, enabling std. fullscreen mode");
+		image_move_from_image(fs->imd, fs->normal_imd);
+		}
+	else
+		{
+		DEBUG_0("Original vindow is still visible, enabling presentation fullscreen mode");
+		image_copy_from_image(fs->imd, fs->normal_imd);
+		}
 
 	if (options->stereo.enable_fsmode) {
 		image_stereo_set(fs->imd, options->stereo.fsmode);
@@ -322,10 +327,13 @@
 	/* hide normal window
 	 * FIXME: properly restore this window on show
 	 */
+	if (fs->same_region)
+		{
 #ifdef HIDE_WINDOW_IN_FULLSCREEN
-	gtk_widget_hide(fs->normal_window);
+		gtk_widget_hide(fs->normal_window);
 #endif
-	image_change_fd(fs->normal_imd, NULL, image_zoom_get(fs->normal_imd));
+		image_change_fd(fs->normal_imd, NULL, image_zoom_get(fs->normal_imd));
+		}
 
 	return fs;
 }
@@ -340,15 +348,19 @@
 	fullscreen_busy_mouse_disable(fs);
 	gdk_keyboard_ungrab(GDK_CURRENT_TIME);
 
-	image_change_from_image(fs->normal_imd, fs->imd);
+	if (fs->same_region)
+		{
+		image_move_from_image(fs->normal_imd, fs->imd);
+#ifdef HIDE_WINDOW_IN_FULLSCREEN
+		gtk_widget_show(fs->normal_window);
+#endif
+		if (options->stereo.enable_fsmode)
+			{
+			image_stereo_set(fs->normal_imd, options->stereo.mode);
+			}
+		}
 
-	if (options->stereo.enable_fsmode) {
-		image_stereo_set(fs->normal_imd, options->stereo.mode);
-	}
 
-#ifdef HIDE_WINDOW_IN_FULLSCREEN
-	gtk_widget_show(fs->normal_window);
-#endif
 	if (fs->stop_func) fs->stop_func(fs, fs->stop_data);
 
 	gtk_widget_destroy(fs->window);
@@ -402,7 +414,11 @@
 			else
 				{
 				gdk_screen_get_monitor_geometry(screen, j, &rect);
-				subname = g_strdup_printf("%s %d", _("Monitor"), j + 1);
+				subname = gdk_screen_get_monitor_plug_name(screen, j);
+				if (subname == NULL)
+					{
+					subname = g_strdup_printf("%s %d", _("Monitor"), j + 1);
+					}
 				}
 
 			sd = g_new0(ScreenData, 1);
@@ -510,13 +526,13 @@
 		if (height) *height = sd->height;
 
 		if (dest_screen) *dest_screen = screen;
-		if (same_region) *same_region = (!widget || !widget->window ||
+		if (same_region) *same_region = (!widget || !gtk_widget_get_window(widget) ||
 					(screen == gtk_widget_get_screen(widget) &&
 					(sd->number%100 == 0 ||
-					 sd->number%100 == gdk_screen_get_monitor_at_window(screen, widget->window)+1)));
+					 sd->number%100 == gdk_screen_get_monitor_at_window(screen, gtk_widget_get_window(widget))+1)));
 
 		}
-	else if (screen != 1 || !widget || !widget->window)
+	else if (screen != 1 || !widget || !gtk_widget_get_window(widget))
 		{
 		GdkScreen *screen;
 
@@ -544,7 +560,7 @@
 		GdkRectangle rect;
 
 		screen = gtk_widget_get_screen(widget);
-		monitor = gdk_screen_get_monitor_at_window(screen, widget->window);
+		monitor = gdk_screen_get_monitor_at_window(screen, gtk_widget_get_window(widget));
 
 		gdk_screen_get_monitor_geometry(screen, monitor, &rect);
 
@@ -566,10 +582,10 @@
 	gint monitor;
 	gint n;
 
-	if (!widget || !widget->window) return 0;
+	if (!widget || !gtk_widget_get_window(widget)) return 0;
 
 	screen = gtk_widget_get_screen(widget);
-	monitor = gdk_screen_get_monitor_at_window(screen, widget->window);
+	monitor = gdk_screen_get_monitor_at_window(screen, gtk_widget_get_window(widget));
 
 	n = (gdk_screen_get_number(screen)+1) * 100 + monitor + 1;
 
--- a/src/fullscreen.h	Sun May 27 18:41:56 2012 +0100
+++ b/src/fullscreen.h	Tue Oct 02 22:19:13 2012 +0100
@@ -1,7 +1,7 @@
 /*
  * Geeqie
  * (C) 2004 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * Author: John Ellis
  *
--- a/src/histogram.c	Sun May 27 18:41:56 2012 +0100
+++ b/src/histogram.c	Tue Oct 02 22:19:13 2012 +0100
@@ -1,6 +1,6 @@
 /*
  * Geeqie
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * Author: Vladimir Nadvornik
  * based on a patch by Uwe Ohse
@@ -31,7 +31,7 @@
 	gulong g[HISTMAP_SIZE];
 	gulong b[HISTMAP_SIZE];
 	gulong max[HISTMAP_SIZE];
-	
+
 	guint idle_id; /* event source id */
 	GdkPixbuf *pixbuf;
 	gint y;
@@ -104,7 +104,7 @@
 const gchar *histogram_label(Histogram *histogram)
 {
 	const gchar *t1 = "";
-	
+
 	if (!histogram) return NULL;
 
 	if (histogram->histogram_mode)
@@ -147,13 +147,13 @@
 	gint w, h, i, j, srs, has_alpha, step, end_line;
 	guchar *s_pix;
 	GdkPixbuf *imgpixbuf = histmap->pixbuf;
-	
+
 	w = gdk_pixbuf_get_width(imgpixbuf);
 	h = gdk_pixbuf_get_height(imgpixbuf);
 	srs = gdk_pixbuf_get_rowstride(imgpixbuf);
 	s_pix = gdk_pixbuf_get_pixels(imgpixbuf);
 	has_alpha = gdk_pixbuf_get_has_alpha(imgpixbuf);
-	
+
 	if (whole)
 		{
 		end_line = h;
@@ -174,7 +174,7 @@
 			guint max = sp[0];
 			if (sp[1] > max) max = sp[1];
 			if (sp[2] > max) max = sp[2];
-		
+
 			histmap->r[sp[0]]++;
 			histmap->g[sp[1]]++;
 			histmap->b[sp[2]]++;
@@ -184,13 +184,13 @@
 			}
 		}
 	histmap->y = end_line;
-	return end_line >= h;	
+	return end_line >= h;
 }
 
 const HistMap *histmap_get(FileData *fd)
 {
 	if (fd->histmap && !fd->histmap->idle_id) return fd->histmap; /* histmap exists and is finished */
-	
+
 	return NULL;
 }
 
@@ -226,7 +226,7 @@
 {
 	guint i;
 	float add;
-	
+
 	if (histogram->vgrid == 0) return;
 
 	add = width / (float)histogram->vgrid;
@@ -247,7 +247,7 @@
 {
 	guint i;
 	float add;
-	
+
 	if (histogram->hgrid == 0) return;
 
 	add = height / (float)histogram->hgrid;
@@ -255,7 +255,7 @@
 	for (i = 1; i < histogram->hgrid; i++)
 		{
 		gint ypos = y + (int)(i * add + 0.5);
-	
+
 		pixbuf_draw_line(pixbuf, x, y, width, height, x, ypos, x + width, ypos,
 				 histogram->grid_color.R,
 				 histogram->grid_color.G,
@@ -272,9 +272,9 @@
 	gdouble logmax;
 	gint combine = (HISTMAP_SIZE - 1) / width + 1;
 	gint ypos = y + height;
-	
+
 	if (!histogram || !histmap) return FALSE;
-	
+
 	/* Draw the grid */
 	histogram_vgrid(histogram, pixbuf, x, y, width, height);
 	histogram_hgrid(histogram, pixbuf, x, y, width, height);
@@ -312,15 +312,15 @@
 			v[2] += histmap->b[p];
 			v[3] += histmap->max[p];
 			}
-	
+
 		for (j = 0; combine > 1 && j < 4; j++)
 			v[j] /= combine;
-		
+
 		num_chan = (histogram->histogram_channel == HCHAN_RGB) ? 3 : 1;
 		for (j = 0; j < num_chan; j++)
 			{
 			gint chanmax;
-			if (histogram->histogram_channel == HCHAN_RGB) 
+			if (histogram->histogram_channel == HCHAN_RGB)
 				{
 				chanmax = HCHAN_R;
 				if (v[HCHAN_G] > v[HCHAN_R]) chanmax = HCHAN_G;
@@ -330,7 +330,7 @@
 				{
 				chanmax = histogram->histogram_channel;
 				}
-			
+
 			    	{
 				gulong pt;
 				gint r = rplus;
@@ -357,7 +357,7 @@
 					case HCHAN_B:   r = 0;		g = 0; 	break;
 					case HCHAN_MAX: r = 0; 	b = 0; 	g = 0; 	break;
 					}
-				
+
 				if (v[chanmax] == 0)
 					pt = 0;
 				else if (histogram->histogram_mode)
--- a/src/histogram.h	Sun May 27 18:41:56 2012 +0100
+++ b/src/histogram.h	Tue Oct 02 22:19:13 2012 +0100
@@ -1,6 +1,6 @@
 /*
  * Geeqie
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * Author: Vladimir Nadvornik
  * based on a patch by Uwe Ohse
--- a/src/history_list.c	Sun May 27 18:41:56 2012 +0100
+++ b/src/history_list.c	Tue Oct 02 22:19:13 2012 +0100
@@ -1,6 +1,6 @@
 /*
  * Geeqie
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * Authors: John Ellis, Vladimir Nadvornik, Laurent Monin
  *
--- a/src/history_list.h	Sun May 27 18:41:56 2012 +0100
+++ b/src/history_list.h	Tue Oct 02 22:19:13 2012 +0100
@@ -1,6 +1,6 @@
 /*
  * Geeqie
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * Author: John Ellis, Vladimir Nadvornik, Laurent Monin
  *
--- a/src/icons/.cvsignore	Sun May 27 18:41:56 2012 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,2 +0,0 @@
-Makefile.in
-Makefile
--- a/src/icons/svg/.cvsignore	Sun May 27 18:41:56 2012 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,2 +0,0 @@
-Makefile.in
-Makefile
--- a/src/image-load.c	Sun May 27 18:41:56 2012 +0100
+++ b/src/image-load.c	Tue Oct 02 22:19:13 2012 +0100
@@ -1,7 +1,7 @@
 /*
  * Geeqie
  * (C) 2004 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * Author: John Ellis
  *
@@ -52,7 +52,7 @@
 GType image_loader_get_type(void)
 {
 	static GType type = 0;
-	if (type == 0) 
+	if (type == 0)
 		{
 		static const GTypeInfo info = {
 			sizeof(ImageLoaderClass),
@@ -185,12 +185,12 @@
 		il->idle_done_id = 0;
 		}
 
-	while (g_source_remove_by_user_data(il)) 
+	while (g_source_remove_by_user_data(il))
 		{
 		DEBUG_2("pending signals detected");
 		}
-	
-	while (il->area_param_list) 
+
+	while (il->area_param_list)
 		{
 		DEBUG_1("pending area_ready signals detected");
 		while (g_source_remove_by_user_data(il->area_param_list->data)) {}
@@ -198,14 +198,14 @@
 		il->area_param_list = g_list_delete_link(il->area_param_list, il->area_param_list);
 		}
 
-	while (il->area_param_delayed_list) 
+	while (il->area_param_delayed_list)
 		{
 		g_free(il->area_param_delayed_list->data);
 		il->area_param_delayed_list = g_list_delete_link(il->area_param_delayed_list, il->area_param_delayed_list);
 		}
 
 	if (il->pixbuf) g_object_unref(il->pixbuf);
-	
+
 	if (il->error) g_error_free(il->error);
 
 	file_data_unref(il->fd);
@@ -229,9 +229,9 @@
 	if (!fd) return NULL;
 
 	il = (ImageLoader *) g_object_new(TYPE_IMAGE_LOADER, NULL);
-	
+
 	il->fd = file_data_ref(fd);
-	
+
 	return il;
 }
 
@@ -252,12 +252,18 @@
 {
 	ImageLoaderAreaParam *par = data;
 	ImageLoader *il = par->il;
-	g_signal_emit(il, signals[SIGNAL_AREA_READY], 0, par->x, par->y, par->w, par->h);
+	guint x, y, w, h;
 	g_mutex_lock(il->data_mutex);
 	il->area_param_list = g_list_remove(il->area_param_list, par);
+	x = par->x;
+	y = par->y;
+	w = par->w;
+	h = par->h;
 	g_free(par);
 	g_mutex_unlock(il->data_mutex);
-	
+
+	g_signal_emit(il, signals[SIGNAL_AREA_READY], 0, x, y, w, h);
+
 	return FALSE;
 }
 
@@ -319,19 +325,63 @@
 	g_idle_add_full(G_PRIORITY_HIGH, image_loader_emit_size_cb, il, NULL);
 }
 
-/* this function expects that il->data_mutex is locked by caller */
-static void image_loader_emit_area_ready(ImageLoader *il, guint x, guint y, guint w, guint h)
+static ImageLoaderAreaParam *image_loader_queue_area_ready(ImageLoader *il, GList **list, guint x, guint y, guint w, guint h)
 {
+	if (*list)
+		{
+		ImageLoaderAreaParam *prev_par = (*list)->data;
+		if (prev_par->x == x && prev_par->w == w &&
+		    prev_par->y + prev_par->h == y)
+			{
+			/* we can merge the notifications */
+			prev_par->h += h;
+			return NULL;
+			}
+		if (prev_par->x == x && prev_par->w == w &&
+		    y + h == prev_par->y)
+			{
+			/* we can merge the notifications */
+			prev_par->h += h;
+			prev_par->y = y;
+			return NULL;
+			}
+		if (prev_par->y == y && prev_par->h == h &&
+		    prev_par->x + prev_par->w == x)
+			{
+			/* we can merge the notifications */
+			prev_par->w += w;
+			return NULL;
+			}
+		if (prev_par->y == y && prev_par->h == h &&
+		    x + w == prev_par->x)
+			{
+			/* we can merge the notifications */
+			prev_par->w += w;
+			prev_par->x = x;
+			return NULL;
+			}
+		}
+
 	ImageLoaderAreaParam *par = g_new0(ImageLoaderAreaParam, 1);
 	par->il = il;
 	par->x = x;
 	par->y = y;
 	par->w = w;
 	par->h = h;
-	
-	il->area_param_list = g_list_prepend(il->area_param_list, par);
-	
-	g_idle_add_full(G_PRIORITY_HIGH, image_loader_emit_area_ready_cb, par, NULL);
+
+	*list = g_list_prepend(*list, par);
+	return par;
+}
+
+/* this function expects that il->data_mutex is locked by caller */
+static void image_loader_emit_area_ready(ImageLoader *il, guint x, guint y, guint w, guint h)
+{
+	ImageLoaderAreaParam *par = image_loader_queue_area_ready(il, &il->area_param_list, x, y, w, h);
+
+	if (par)
+		{
+		g_idle_add_full(G_PRIORITY_HIGH, image_loader_emit_area_ready_cb, par, NULL);
+		}
 }
 
 /**************************************************************************************/
@@ -340,14 +390,7 @@
 /* this function expects that il->data_mutex is locked by caller */
 static void image_loader_queue_delayed_area_ready(ImageLoader *il, guint x, guint y, guint w, guint h)
 {
-	ImageLoaderAreaParam *par = g_new0(ImageLoaderAreaParam, 1);
-	par->il = il;
-	par->x = x;
-	par->y = y;
-	par->w = w;
-	par->h = h;
-	
-	il->area_param_delayed_list = g_list_prepend(il->area_param_delayed_list, par);
+	image_loader_queue_area_ready(il, &il->area_param_delayed_list, x, y, w, h);
 }
 
 
@@ -368,10 +411,10 @@
 static void image_loader_sync_pixbuf(ImageLoader *il)
 {
 	GdkPixbuf *pb;
-	
+
 	g_mutex_lock(il->data_mutex);
-	
-	if (!il->loader) 
+
+	if (!il->loader)
 		{
 		g_mutex_unlock(il->data_mutex);
 		return;
@@ -418,7 +461,7 @@
 		image_loader_queue_delayed_area_ready(il, x, y, w, h);
 	else
 		image_loader_emit_area_ready(il, x, y, w, h);
-	
+
 	if (il->stopping) il->backend.abort(il->loader);
 
 	g_mutex_unlock(il->data_mutex);
@@ -430,9 +473,9 @@
 	GdkPixbuf *pb;
 	guchar *pix;
 	size_t h, rs;
-	
-	/* a workaround for 
-	   http://bugzilla.gnome.org/show_bug.cgi?id=547669 
+
+	/* a workaround for
+	   http://bugzilla.gnome.org/show_bug.cgi?id=547669
 	   http://bugzilla.gnome.org/show_bug.cgi?id=589334
 	*/
 	gchar *format = il->backend.get_format_name(loader);
@@ -442,15 +485,15 @@
 		g_free(format);
 		return;
 		}
-	
+
 	g_free(format);
 
 	pb = il->backend.get_pixbuf(loader);
-	
+
 	h = gdk_pixbuf_get_height(pb);
 	rs = gdk_pixbuf_get_rowstride(pb);
 	pix = gdk_pixbuf_get_pixels(pb);
-	
+
 	memset(pix, 0, rs * h); /*this should be faster than pixbuf_fill */
 
 }
@@ -466,7 +509,7 @@
 	g_mutex_lock(il->data_mutex);
 	il->actual_width = width;
 	il->actual_height = height;
-	if (il->requested_width < 1 || il->requested_height < 1) 
+	if (il->requested_width < 1 || il->requested_height < 1)
 		{
 		g_mutex_unlock(il->data_mutex);
 		image_loader_emit_size(il);
@@ -619,14 +662,14 @@
 static gboolean image_loader_begin(ImageLoader *il)
 {
 	gssize b;
-	
+
 	if (il->pixbuf) return FALSE;
 
 	b = MIN(il->read_buffer_size, il->bytes_total - il->bytes_read);
 	if (b < 1) return FALSE;
 
 	image_loader_setup_loader(il);
-	
+
 	g_assert(il->bytes_read == 0);
 	if (il->backend.load) {
 		b = il->bytes_total;
@@ -707,12 +750,12 @@
 		exif_free_fd(il->fd, exif);
 		}
 
-	
+
 	if (!il->mapped_file)
 		{
 		/* normal file */
 		gint load_fd;
-	
+
 		pathl = path_from_utf8(il->fd->path);
 		load_fd = open(pathl, O_RDONLY | O_NONBLOCK);
 		g_free(pathl);
@@ -727,7 +770,7 @@
 			close(load_fd);
 			return FALSE;
 			}
-		
+
 		il->mapped_file = mmap(0, il->bytes_total, PROT_READ|PROT_WRITE, MAP_PRIVATE, load_fd, 0);
 		close(load_fd);
 		if (il->mapped_file == MAP_FAILED)
@@ -737,14 +780,14 @@
 			}
 		il->preview = FALSE;
 		}
-		
+
 	return TRUE;
 }
 
 static void image_loader_stop_source(ImageLoader *il)
 {
 	if (!il) return;
-	
+
 	if (il->mapped_file)
 		{
 		if (il->preview)
@@ -768,7 +811,7 @@
 		g_source_remove(il->idle_id);
 		il->idle_id = 0;
 		}
-		
+
 	if (il->thread)
 		{
 		/* stop loader in the other thread */
@@ -780,7 +823,7 @@
 
 	image_loader_stop_loader(il);
 	image_loader_stop_source(il);
-	
+
 }
 
 void image_loader_delay_area_ready(ImageLoader *il, gboolean enable)
@@ -801,7 +844,7 @@
 			{
 			ImageLoaderAreaParam *par = work->data;
 			work = work->next;
-			
+
 			g_signal_emit(il, signals[SIGNAL_AREA_READY], 0, par->x, par->y, par->w, par->h);
 			g_free(par);
 			}
@@ -827,12 +870,12 @@
 		{
 		ret = image_loader_continue(il);
 		}
-	
+
 	if (!ret)
 		{
 		image_loader_stop_source(il);
 		}
-	
+
 	return ret;
 }
 
@@ -840,13 +883,13 @@
 static gboolean image_loader_start_idle(ImageLoader *il)
 {
 	gboolean ret;
-	
+
 	if (!il) return FALSE;
 
 	if (!il->fd) return FALSE;
 
 	if (!image_loader_setup_source(il)) return FALSE;
-	
+
 	ret = image_loader_begin(il);
 
 	if (ret && !il->done) il->idle_id = g_idle_add_full(il->idle_priority, image_loader_idle_cb, il, NULL);
@@ -882,7 +925,7 @@
 static void image_loader_thread_wait_high(void)
 {
 	g_mutex_lock(image_loader_prio_mutex);
-	while (image_loader_prio_num) 
+	while (image_loader_prio_num)
 		{
 		g_cond_wait(image_loader_prio_cond, image_loader_prio_mutex);
 		}
@@ -896,8 +939,8 @@
 	ImageLoader *il = data;
 	gboolean cont;
 	gboolean err;
-	
-	if (il->idle_priority > G_PRIORITY_DEFAULT_IDLE) 
+
+	if (il->idle_priority > G_PRIORITY_DEFAULT_IDLE)
 		{
 		/* low prio, wait untill high prio tasks finishes */
 		image_loader_thread_wait_high();
@@ -907,24 +950,24 @@
 		/* high prio */
 		image_loader_thread_enter_high();
 		}
-	
+
 	err = !image_loader_begin(il);
-	
+
 	if (err)
 		{
-		/* 
-		loader failed, we have to send signal 
+		/*
+		loader failed, we have to send signal
 		(idle mode returns the image_loader_begin return value directly)
 		(success is always reported indirectly from image_loader_begin)
 		*/
 		image_loader_emit_error(il);
 		}
-	
+
 	cont = !err;
-	
+
 	while (cont && !image_loader_get_is_done(il) && !image_loader_get_stopping(il))
 		{
-		if (il->idle_priority > G_PRIORITY_DEFAULT_IDLE) 
+		if (il->idle_priority > G_PRIORITY_DEFAULT_IDLE)
 			{
 			/* low prio, wait untill high prio tasks finishes */
 			image_loader_thread_wait_high();
@@ -933,7 +976,7 @@
 		}
 	image_loader_stop_loader(il);
 
-	if (il->idle_priority <= G_PRIORITY_DEFAULT_IDLE) 
+	if (il->idle_priority <= G_PRIORITY_DEFAULT_IDLE)
 		{
 		/* high prio */
 		image_loader_thread_leave_high();
@@ -954,10 +997,10 @@
 	if (!il->fd) return FALSE;
 
 	il->thread = TRUE;
-	
+
 	if (!image_loader_setup_source(il)) return FALSE;
 
-        if (!image_loader_thread_pool) 
+        if (!image_loader_thread_pool)
 		{
 		image_loader_thread_pool = g_thread_pool_new(image_loader_thread_run, NULL, -1, FALSE, NULL);
 		image_loader_prio_cond = g_cond_new();
@@ -968,7 +1011,7 @@
 
 	g_thread_pool_push(image_loader_thread_pool, il, NULL);
 	DEBUG_1("Thread pool num threads: %d", g_thread_pool_get_num_threads(image_loader_thread_pool));
-		
+
 	return TRUE;
 }
 #endif /* HAVE_GTHREAD */
@@ -997,7 +1040,7 @@
 {
 	GdkPixbuf *ret;
 	if (!il) return NULL;
-	
+
 	g_mutex_lock(il->data_mutex);
 	ret = il->pixbuf;
 	g_mutex_unlock(il->data_mutex);
@@ -1053,9 +1096,9 @@
 {
 	gdouble ret;
 	if (!il) return 0.0;
-	
+
 	g_mutex_lock(il->data_mutex);
-	if (il->bytes_total == 0) 
+	if (il->bytes_total == 0)
 		{
 		ret = 0.0;
 		}
--- a/src/image-load.h	Sun May 27 18:41:56 2012 +0100
+++ b/src/image-load.h	Tue Oct 02 22:19:13 2012 +0100
@@ -1,7 +1,7 @@
 /*
  * Geeqie
  * (C) 2004 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * Author: John Ellis
  *
@@ -53,7 +53,7 @@
 struct _ImageLoader
 {
 	GObject parent;
-	
+
 	/*< private >*/
 	GdkPixbuf *pixbuf;
 	FileData *fd;
@@ -83,9 +83,9 @@
 	guint idle_done_id; /* event source id */
 	GList *area_param_list;
 	GList *area_param_delayed_list;
-	
+
 	gboolean delay_area_ready;
-	
+
 	GMutex *data_mutex;
 	gboolean stopping;
 	gboolean can_destroy;
@@ -99,7 +99,7 @@
 
 struct _ImageLoaderClass {
 	GObjectClass parent;
-	
+
 	/* class members */
 	void (*area_ready)(ImageLoader *, guint x, guint y, guint w, guint h, gpointer);
 	void (*error)(ImageLoader *, gpointer);
--- a/src/image-overlay.c	Sun May 27 18:41:56 2012 +0100
+++ b/src/image-overlay.c	Tue Oct 02 22:19:13 2012 +0100
@@ -1,7 +1,7 @@
 /*
  * Geeqie
  * (C) 2006 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * Author: John Ellis
  *
@@ -45,7 +45,7 @@
 	OsdShowFlags show;
 
 	gint ovl_info;
-	
+
 	gint x;
 	gint y;
 
@@ -227,13 +227,13 @@
 			{
 			gchar *kw = work->data;
 			work = work->next;
-			
+
 			if (!kw) continue;
 			if (!kwstr)
 				kwstr = g_string_new("");
 			else
 				g_string_append(kwstr, ", ");
-			
+
 			g_string_append(kwstr, kw);
 			}
 		string_list_free(keywords);
@@ -306,7 +306,7 @@
 
 		if (extrapos)
 			extra = g_strndup(extrapos, end - extrapos);
-					
+
 		name = g_strndup(start+1, (trunc ? trunc : end)-start-1);
 		pos = start - new->str;
 		data = NULL;
@@ -336,14 +336,14 @@
 			if (!data)
 				data = metadata_read_string(imd->image_fd, name, METADATA_FORMATTED);
 			}
-	
+
 		if (data && *data && limit > 0 && strlen(data) > limit + 3)
 			{
 			gchar *new_data = g_strdup_printf("%-*.*s...", limit, limit, data);
 			g_free(data);
 			data = new_data;
 			}
-	
+
 		if (data)
 			{
 			/* Since we use pango markup to display, we need to escape here */
@@ -378,7 +378,7 @@
 				gchar *right = extra;
 				gchar *p;
 				guint len = strlen(extra);
-				
+
 				/* Search for left and right parts and unescape characters */
 				for (p = extra; *p; p++, len--)
 					if (p[0] == '\\')
@@ -489,9 +489,8 @@
 	PangoLayout *layout;
 	const gchar *name;
 	gchar *text;
-	GdkPixbuf *imgpixbuf = NULL;
 	gboolean with_hist;
-	const HistMap *histmap;
+	const HistMap *histmap = NULL;
 	ImageWindow *imd = osd->imd;
 	FileData *fd = image_get_fd(imd);
 
@@ -550,20 +549,20 @@
 				t = 1;
 				n = 1;
 				}
-	
+
 			if (n < 1) n = 1;
 			if (t < 1) t = 1;
-	
+
 			osd_template_insert(vars, "collection", NULL, OSDT_NONE);
 			}
-		
+
 		osd_template_insert(vars, "number", g_strdup_printf("%d", n), OSDT_NO_DUP);
 		osd_template_insert(vars, "total", g_strdup_printf("%d", t), OSDT_NO_DUP);
 		osd_template_insert(vars, "name", (gchar *) name, OSDT_NONE);
 		osd_template_insert(vars, "date", imd->image_fd ? ((gchar *) text_from_time(imd->image_fd->date)) : "", OSDT_NONE);
 		osd_template_insert(vars, "size", imd->image_fd ? (text_from_size_abrev(imd->image_fd->size)) : g_strdup(""), OSDT_FREE);
 		osd_template_insert(vars, "zoom", image_zoom_get_as_text(imd), OSDT_FREE);
-	
+
 		if (!imd->unknown)
 			{
 			gint w, h;
@@ -575,15 +574,13 @@
 				{
 				w = gdk_pixbuf_get_width(load_pixbuf);
 				h = gdk_pixbuf_get_height(load_pixbuf);
-				imgpixbuf = load_pixbuf;
 				}
 			else
 				{
 				image_get_image_size(imd, &w, &h);
-				imgpixbuf = (PIXBUF_RENDERER(imd->pr))->pixbuf;
 				}
-		
-			
+
+
 			osd_template_insert(vars, "width", g_strdup_printf("%d", w), OSDT_NO_DUP);
 	 		osd_template_insert(vars, "height", g_strdup_printf("%d", h), OSDT_NO_DUP);
 	 		osd_template_insert(vars, "res", g_strdup_printf("%d × %d", w, h), OSDT_FREE);
@@ -607,14 +604,14 @@
 	if (with_hist)
 		{
 		histmap = histmap_get(imd->image_fd);
-		if (!histmap) 
+		if (!histmap)
 			{
 			histmap_start_idle(imd->image_fd);
 			with_hist = FALSE;
 			}
 		}
-	
-	
+
+
 	{
 		gint active_marks = 0;
 		gint mark;
@@ -777,13 +774,6 @@
 	pixbuf_renderer_overlay_set((PixbufRenderer *)imd->pr, id, pixbuf, x, y);
 }
 
-#if 0 /* unused for now */
-static gint image_overlay_get(ImageWindow *imd, gint id, GdkPixbuf **pixbuf, gint *x, gint *y)
-{
-	return pixbuf_renderer_overlay_get((PixbufRenderer *)imd->pr, id, pixbuf, x, y);
-}
-#endif
-
 static void image_overlay_remove(ImageWindow *imd, gint id)
 {
 	pixbuf_renderer_overlay_remove((PixbufRenderer *)imd->pr, id);
@@ -878,7 +868,7 @@
 
 	if (osd->show & OSD_SHOW_INFO)
 		{
-		/* redraw when the image was changed, 
+		/* redraw when the image was changed,
 		   with histogram we have to redraw also when loading is finished */
 		if (osd->changed_states & IMAGE_STATE_IMAGE ||
 		    (osd->changed_states & IMAGE_STATE_LOADING && osd->show & OSD_SHOW_HISTOGRAM) ||
@@ -907,7 +897,7 @@
 		{
 		if (osd->changed_states & IMAGE_STATE_IMAGE)
 			image_osd_icons_reset_time(osd);
-	
+
 		if (osd->changed_states & IMAGE_STATE_COLOR_ADJ)
 			{
 			osd->icon_time[IMAGE_OSD_COLOR] = IMAGE_OSD_DEFAULT_DURATION + 1;
@@ -1049,15 +1039,6 @@
 	g_free(osd);
 }
 
-#if 0
-static void image_osd_remove(ImageWindow *imd)
-{
-	OverlayStateData *osd = image_get_osd_data(imd);
-
-	if (osd) image_osd_free(osd);
-}
-#endif
-
 static void image_osd_destroy_cb(GtkWidget *widget, gpointer data)
 {
 	OverlayStateData *osd = data;
@@ -1077,7 +1058,7 @@
 		osd->show = OSD_SHOW_NOTHING;
 		osd->x = options->image_overlay.x;
 		osd->y = options->image_overlay.y;
-		
+
 		osd->histogram = histogram_new();
 
 		osd->destroy_id = g_signal_connect(G_OBJECT(imd->pr), "destroy",
@@ -1122,13 +1103,13 @@
 {
 	Histogram *h_src, *h_dest;
 	image_osd_set(dest, image_osd_get(src));
-	
+
 	h_src = image_osd_get_histogram(src);
 	h_dest = image_osd_get_histogram(dest);
-	
+
 	h_dest->histogram_mode = h_src->histogram_mode;
 	h_dest->histogram_channel = h_src->histogram_channel;
-	
+
 }
 
 /* duration:
--- a/src/image-overlay.h	Sun May 27 18:41:56 2012 +0100
+++ b/src/image-overlay.h	Tue Oct 02 22:19:13 2012 +0100
@@ -1,7 +1,7 @@
 /*
  * Geeqie
  * (C) 2006 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * Author: John Ellis
  *
--- a/src/image.c	Sun May 27 18:41:56 2012 +0100
+++ b/src/image.c	Tue Oct 02 22:19:13 2012 +0100
@@ -1,7 +1,7 @@
 /*
  * Geeqie
  * (C) 2006 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * Author: John Ellis
  *
@@ -220,7 +220,7 @@
 	    imd->color_profile_input <  COLOR_PROFILE_FILE + COLOR_PROFILE_INPUTS)
 		{
 		const gchar *file = options->color_profile.input_file[imd->color_profile_input - COLOR_PROFILE_FILE];
-	
+
 		if (!is_readable_file(file)) return FALSE;
 
 		input_type = COLOR_PROFILE_FILE;
@@ -259,7 +259,7 @@
 	imd->color_profile_from_image = COLOR_PROFILE_NONE;
 
 	exif = exif_read_fd(imd->image_fd);
-		
+
 	if (exif)
 		{
 		profile = exif_get_color_profile(exif, &profile_len);
@@ -320,7 +320,7 @@
 
 		exif_free_fd(imd->image_fd, exif);
 		}
-	
+
 
 	if (profile)
 		{
@@ -345,19 +345,16 @@
 			}
 
 		imd->cm = (gpointer)cm;
-#if 0
-		if (run_in_bg) color_man_start_bg(imd->cm, image_post_process_color_cb, imd);
-#endif
 		}
 
 	image_update_util(imd);
-	
+
 	if (screen_profile)
 		{
 		g_free(screen_profile);
 		screen_profile = NULL;
 		}
-	
+
 	return !!cm;
 }
 
@@ -512,7 +509,7 @@
 	DEBUG_1("%s read ahead started for :%s", get_exec_time(), imd->read_ahead_fd->path);
 
 	imd->read_ahead_il = image_loader_new(imd->read_ahead_fd);
-	
+
 	image_loader_delay_area_ready(imd->read_ahead_il, TRUE); /* we will need the area_ready signals later */
 
 	g_signal_connect(G_OBJECT(imd->read_ahead_il), "error", (GCallback)image_read_ahead_error_cb, imd);
@@ -576,7 +573,7 @@
 		g_assert(imd->image_fd->pixbuf);
 		image_change_pixbuf(imd, imd->image_fd->pixbuf, image_zoom_get(imd), FALSE);
 		}
-	
+
 //	file_cache_dump(image_get_cache());
 	return success;
 }
@@ -791,7 +788,7 @@
 		{
 		image_change_pixbuf(imd, image_loader_get_pixbuf(imd->il), image_zoom_get(imd), TRUE);
 		}
-*/	
+*/
 	return TRUE;
 }
 
@@ -835,7 +832,7 @@
 		if (is_readable_file(imd->image_fd->path))
 			{
 			PixbufRenderer *pr;
-	
+
 			pr = PIXBUF_RENDERER(imd->pr);
 			pr->zoom = zoom;	/* store the zoom, needed by the loader */
 
@@ -848,7 +845,7 @@
 		if (imd->unknown == TRUE)
 			{
 			GdkPixbuf *pixbuf;
-	
+
 			pixbuf = pixbuf_inline(PIXBUF_INLINE_BROKEN);
 			image_change_pixbuf(imd, pixbuf, zoom, FALSE);
 			g_object_unref(pixbuf);
@@ -887,48 +884,10 @@
  *-------------------------------------------------------------------
  */
 
-static void image_focus_paint(ImageWindow *imd, gboolean has_focus, GdkRectangle *area)
-{
-	GtkWidget *widget;
-
-	widget = imd->widget;
-	if (!widget->window) return;
-
-	if (has_focus)
-		{
-		gtk_paint_focus(widget->style, widget->window, GTK_STATE_ACTIVE,
-				area, widget, "image_window",
-				widget->allocation.x, widget->allocation.y,
-				widget->allocation.width - 1, widget->allocation.height - 1);
-		}
-	else
-		{
-		gtk_paint_shadow(widget->style, widget->window, GTK_STATE_NORMAL, GTK_SHADOW_IN,
-				 area, widget, "image_window",
-				 widget->allocation.x, widget->allocation.y,
-				 widget->allocation.width - 1, widget->allocation.height - 1);
-		}
-}
-
-static gboolean image_focus_expose(GtkWidget *widget, GdkEventExpose *event, gpointer data)
-{
-	ImageWindow *imd = data;
-
-#if GTK_CHECK_VERSION(2,20,0)
-	image_focus_paint(imd, gtk_widget_has_focus(widget), &event->area);
-#else
-	image_focus_paint(imd, GTK_WIDGET_HAS_FOCUS(widget), &event->area);
-#endif
-	return TRUE;
-}
-
 static gboolean image_focus_in_cb(GtkWidget *widget, GdkEventFocus *event, gpointer data)
 {
 	ImageWindow *imd = data;
 
-	GTK_WIDGET_SET_FLAGS(imd->widget, GTK_HAS_FOCUS);
-	image_focus_paint(imd, TRUE, NULL);
-
 	if (imd->func_focus_in)
 		{
 		imd->func_focus_in(imd, imd->data_focus_in);
@@ -937,16 +896,6 @@
 	return TRUE;
 }
 
-static gboolean image_focus_out_cb(GtkWidget *widget, GdkEventFocus *event, gpointer data)
-{
-	ImageWindow *imd = data;
-
-	GTK_WIDGET_UNSET_FLAGS(imd->widget, GTK_HAS_FOCUS);
-	image_focus_paint(imd, FALSE, NULL);
-
-	return TRUE;
-}
-
 static gboolean image_scroll_cb(GtkWidget *widget, GdkEventScroll *event, gpointer data)
 {
 	ImageWindow *imd = data;
@@ -1109,8 +1058,8 @@
 	/* read_exif and similar functions can actually notice that the file has changed and trigger
 	   a notification that removes the pixbuf from cache and unrefs it. Therefore we must ref it
 	   here before it is taken over by the renderer. */
-	if (pixbuf) g_object_ref(pixbuf); 
-	
+	if (pixbuf) g_object_ref(pixbuf);
+
 	if (imd->image_fd)
 		{
 		if (imd->image_fd->user_orientation)
@@ -1200,7 +1149,7 @@
 }
 
 static void image_loader_sync_data(ImageLoader *il, gpointer old_data, gpointer data)
-{		
+{
 	if (g_signal_handlers_disconnect_by_func(G_OBJECT(il), (GCallback)image_load_area_cb, old_data))
 		g_signal_connect(G_OBJECT(il), "area_ready", (GCallback)image_load_area_cb, data);
 
@@ -1214,7 +1163,7 @@
 /* this is more like a move function
  * it moves most data from source to imd
  */
-void image_change_from_image(ImageWindow *imd, ImageWindow *source)
+void image_move_from_image(ImageWindow *imd, ImageWindow *source)
 {
 	if (imd == source) return;
 
@@ -1245,6 +1194,47 @@
 	imd->color_profile_use_image = source->color_profile_use_image;
 	color_man_free((ColorMan *)imd->cm);
 	imd->cm = NULL;
+
+	file_data_unref(imd->read_ahead_fd);
+	source->read_ahead_fd = NULL;
+
+	imd->orientation = source->orientation;
+	imd->desaturate = source->desaturate;
+
+	imd->user_stereo = source->user_stereo;
+
+	pixbuf_renderer_move(PIXBUF_RENDERER(imd->pr), PIXBUF_RENDERER(source->pr));
+
+	if (imd->cm || imd->desaturate)
+		pixbuf_renderer_set_post_process_func((PixbufRenderer *)imd->pr, image_post_process_tile_color_cb, (gpointer) imd, (imd->cm != NULL) );
+	else
+		pixbuf_renderer_set_post_process_func((PixbufRenderer *)imd->pr, NULL, NULL, TRUE);
+
+}
+
+/* this is  a copy function
+ * source stays unchanged
+ */
+void image_copy_from_image(ImageWindow *imd, ImageWindow *source)
+{
+	if (imd == source) return;
+
+	imd->unknown = source->unknown;
+
+	imd->collection = source->collection;
+	imd->collection_info = source->collection_info;
+
+	image_loader_free(imd->il);
+	imd->il = NULL;
+
+	image_set_fd(imd, image_get_fd(source));
+
+
+	imd->color_profile_enable = source->color_profile_enable;
+	imd->color_profile_input = source->color_profile_input;
+	imd->color_profile_use_image = source->color_profile_use_image;
+	color_man_free((ColorMan *)imd->cm);
+	imd->cm = NULL;
 	if (source->cm)
 		{
 		ColorMan *cm;
@@ -1275,7 +1265,7 @@
 
 	imd->user_stereo = source->user_stereo;
 
-	pixbuf_renderer_move(PIXBUF_RENDERER(imd->pr), PIXBUF_RENDERER(source->pr));
+	pixbuf_renderer_copy(PIXBUF_RENDERER(imd->pr), PIXBUF_RENDERER(source->pr));
 
 	if (imd->cm || imd->desaturate)
 		pixbuf_renderer_set_post_process_func((PixbufRenderer *)imd->pr, image_post_process_tile_color_cb, (gpointer) imd, (imd->cm != NULL) );
@@ -1284,6 +1274,7 @@
 
 }
 
+
 /* manipulation */
 
 void image_area_changed(ImageWindow *imd, gint x, gint y, gint width, gint height)
@@ -1444,7 +1435,7 @@
 
 void image_stereo_set(ImageWindow *imd, gint stereo_mode)
 {
-	DEBUG_1("Setting stereo mode %04x for imd %p", stereo_mode, imd);  
+	DEBUG_1("Setting stereo mode %04x for imd %p", stereo_mode, imd);
 	pixbuf_renderer_stereo_set((PixbufRenderer *)imd->pr, stereo_mode);
 }
 
@@ -1497,8 +1488,8 @@
 
 	if ((type & NOTIFY_REREAD) && fd == imd->image_fd)
 		{
-		/* there is no need to reload on NOTIFY_CHANGE, 
-		   modified files should be detacted anyway and NOTIFY_REREAD should be recieved 
+		/* there is no need to reload on NOTIFY_CHANGE,
+		   modified files should be detacted anyway and NOTIFY_REREAD should be recieved
 		   or they are removed from the filelist completely on "move" and "delete"
 		*/
 		DEBUG_1("Notify image: %s %04x", fd->path, type);
@@ -1589,7 +1580,7 @@
 {
 	ColorMan *cm;
 	if (!imd) return FALSE;
-	
+
 	cm = imd->cm;
 	if (!cm) return FALSE;
 	return color_man_get_status(cm, image_profile, screen_profile);
@@ -1619,6 +1610,7 @@
 
 void image_to_root_window(ImageWindow *imd, gboolean scaled)
 {
+#if !GTK_CHECK_VERSION(3,0,0)
 	GdkScreen *screen;
 	GdkWindow *rootwindow;
 	GdkPixmap *pixmap;
@@ -1633,7 +1625,7 @@
 
 	screen = gtk_widget_get_screen(imd->widget);
 	rootwindow = gdk_screen_get_root_window(screen);
-	if (gdk_drawable_get_visual(rootwindow) != gdk_visual_get_system()) return;
+	if (gdk_window_get_visual(rootwindow) != gdk_visual_get_system()) return;
 
 	if (scaled)
 		{
@@ -1654,12 +1646,13 @@
 	g_object_unref(pixmap);
 
 	gdk_flush();
+#endif
 }
 
 void image_select(ImageWindow *imd, gboolean select)
 {
 	if (!imd->has_frame) return;
-	
+
 	if (select)
 		{
 		gtk_widget_set_state(imd->widget, GTK_STATE_SELECTED);
@@ -1672,7 +1665,7 @@
 void image_set_selectable(ImageWindow *imd, gboolean selectable)
 {
 	if (!imd->has_frame) return;
-	
+
 	gtk_frame_set_shadow_type(GTK_FRAME(imd->frame), GTK_SHADOW_NONE);
 	gtk_container_set_border_width(GTK_CONTAINER(imd->frame), selectable ? 4 : 0);
 }
@@ -1701,7 +1694,6 @@
 	g_object_set(G_OBJECT(imd->pr), "zoom_quality", options->image.zoom_quality,
 					"zoom_2pass", options->image.zoom_2pass,
 					"zoom_expand", options->image.zoom_to_fit_allow_expand,
-					"dither_quality", options->image.dither_quality,
 					"scroll_reset", options->image.scroll_reset_method,
 					"cache_display", options->image.tile_cache_max,
 					"window_fit", (imd->top_window_sync && options->image.fit_window_to_image),
@@ -1713,10 +1705,10 @@
 					NULL);
 
 	pixbuf_renderer_set_parent((PixbufRenderer *)imd->pr, (GtkWindow *)imd->top_window);
-	
+
 	image_stereo_set(imd, options->stereo.mode);
-	pixbuf_renderer_stereo_fixed_set((PixbufRenderer *)imd->pr, 
-					options->stereo.fixed_w, options->stereo.fixed_h, 
+	pixbuf_renderer_stereo_fixed_set((PixbufRenderer *)imd->pr,
+					options->stereo.fixed_w, options->stereo.fixed_h,
 					options->stereo.fixed_x1, options->stereo.fixed_y1,
 					options->stereo.fixed_x2, options->stereo.fixed_y2);
 }
@@ -1762,27 +1754,74 @@
 	g_free(imd);
 }
 
-static void image_destroy_cb(GtkObject *widget, gpointer data)
+static void image_destroy_cb(GtkWidget *widget, gpointer data)
 {
 	ImageWindow *imd = data;
 	image_free(imd);
 }
+#if GTK_CHECK_VERSION(3,0,0)
+gboolean selectable_frame_draw_cb(GtkWidget *widget, cairo_t *cr, gpointer data)
+{
+	GtkAllocation allocation;
+	gtk_widget_get_allocation(widget, &allocation);
+	gtk_paint_flat_box(gtk_widget_get_style(widget),
+			   cr,
+			   gtk_widget_get_state(widget),
+			   gtk_frame_get_shadow_type(GTK_FRAME(widget)),
+			   widget,
+			   NULL,
+			   allocation.x + 3, allocation.y + 3,
+			   allocation.width - 6, allocation.height - 6);
 
+	if (gtk_widget_has_focus(widget))
+		{
+		gtk_paint_focus(gtk_widget_get_style(widget), cr, GTK_STATE_ACTIVE,
+				widget, "image_window",
+				allocation.x, allocation.y,
+				allocation.width - 1, allocation.height - 1);
+		}
+	else
+		{
+		gtk_paint_shadow(gtk_widget_get_style(widget), cr, GTK_STATE_NORMAL, GTK_SHADOW_IN,
+				 widget, "image_window",
+				 allocation.x, allocation.y,
+				 allocation.width - 1, allocation.height - 1);
+		}
+	return FALSE;
+}
+
+#else
 gboolean selectable_frame_expose_cb(GtkWidget *widget, GdkEventExpose *event, gpointer data)
 {
-	gtk_paint_flat_box(widget->style,
-			   widget->window,
-			   widget->state,
-			   (GTK_FRAME(widget))->shadow_type,
+	GtkAllocation allocation;
+	gtk_widget_get_allocation(widget, &allocation);
+	gtk_paint_flat_box(gtk_widget_get_style(widget),
+			   gtk_widget_get_window(widget),
+			   gtk_widget_get_state(widget),
+			   gtk_frame_get_shadow_type(GTK_FRAME(widget)),
 			   NULL,
 			   widget,
 			   NULL,
-			   widget->allocation.x + 3, widget->allocation.y + 3,
-			   widget->allocation.width - 6, widget->allocation.height - 6);
+			   allocation.x + 3, allocation.y + 3,
+			   allocation.width - 6, allocation.height - 6);
 
-
+	if (gtk_widget_has_focus(widget))
+		{
+		gtk_paint_focus(gtk_widget_get_style(widget), gtk_widget_get_window(widget), GTK_STATE_ACTIVE,
+				&event->area, widget, "image_window",
+				allocation.x, allocation.y,
+				allocation.width - 1, allocation.height - 1);
+		}
+	else
+		{
+		gtk_paint_shadow(gtk_widget_get_style(widget), gtk_widget_get_window(widget), GTK_STATE_NORMAL, GTK_SHADOW_IN,
+				 &event->area, widget, "image_window",
+				 allocation.x, allocation.y,
+				 allocation.width - 1, allocation.height - 1);
+		}
 	return FALSE;
 }
+#endif
 
 
 void image_set_frame(ImageWindow *imd, gboolean frame)
@@ -1796,62 +1835,39 @@
 	if (frame)
 		{
 		imd->frame = gtk_frame_new(NULL);
-#if GTK_CHECK_VERSION(2,12,0)
         	g_object_ref(imd->pr);
-#else
-        	gtk_widget_ref(imd->pr);
-#endif
 		if (imd->has_frame != -1) gtk_container_remove(GTK_CONTAINER(imd->widget), imd->pr);
 		gtk_container_add(GTK_CONTAINER(imd->frame), imd->pr);
 
-#if GTK_CHECK_VERSION(2,12,0)
         	g_object_unref(imd->pr);
+		gtk_widget_set_can_focus(imd->frame, TRUE);
+		gtk_widget_set_app_paintable(imd->frame, TRUE);
+
+#if GTK_CHECK_VERSION(3,0,0)
+		g_signal_connect(G_OBJECT(imd->frame), "draw",
+				 G_CALLBACK(selectable_frame_draw_cb), NULL);
 #else
-        	gtk_widget_unref(imd->pr);
+		g_signal_connect(G_OBJECT(imd->frame), "expose_event",
+				 G_CALLBACK(selectable_frame_expose_cb), NULL);
 #endif
-		g_signal_connect(G_OBJECT(imd->frame), "expose_event",
-		    		 G_CALLBACK(selectable_frame_expose_cb), NULL);
-
-		GTK_WIDGET_SET_FLAGS(imd->frame, GTK_CAN_FOCUS);
 		g_signal_connect(G_OBJECT(imd->frame), "focus_in_event",
 				 G_CALLBACK(image_focus_in_cb), imd);
-		g_signal_connect(G_OBJECT(imd->frame), "focus_out_event",
-				 G_CALLBACK(image_focus_out_cb), imd);
 
-		g_signal_connect_after(G_OBJECT(imd->frame), "expose_event",
-				       G_CALLBACK(image_focus_expose), imd);
-
-#if GTK_CHECK_VERSION(2,14,0)
         	gtk_box_pack_start(GTK_BOX(imd->widget), imd->frame, TRUE, TRUE, 0);
-#else
-        	gtk_box_pack_start_defaults(GTK_BOX(imd->widget), imd->frame);
-#endif
         	gtk_widget_show(imd->frame);
 		}
 	else
 		{
-#if GTK_CHECK_VERSION(2,12,0)
 		g_object_ref(imd->pr);
-#else
-		gtk_widget_ref(imd->pr);
-#endif
 		if (imd->frame)
 			{
 			gtk_container_remove(GTK_CONTAINER(imd->frame), imd->pr);
 			gtk_widget_destroy(imd->frame);
 			imd->frame = NULL;
 			}
-#if GTK_CHECK_VERSION(2,14,0)
         	gtk_box_pack_start(GTK_BOX(imd->widget), imd->pr, TRUE, TRUE, 0);
-#else
-		gtk_box_pack_start_defaults(GTK_BOX(imd->widget), imd->pr);
-#endif
 
-#if GTK_CHECK_VERSION(2,12,0)
 		g_object_unref(imd->pr);
-#else
-		gtk_widget_unref(imd->pr);
-#endif
 		}
 
 	gtk_widget_show(imd->pr);
--- a/src/image.h	Sun May 27 18:41:56 2012 +0100
+++ b/src/image.h	Tue Oct 02 22:19:13 2012 +0100
@@ -1,7 +1,7 @@
 /*
  * Geeqie
  * (C) 2004 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * Author: John Ellis
  *
@@ -63,7 +63,8 @@
 void image_change_pixbuf(ImageWindow *imd, GdkPixbuf *pixbuf, gdouble zoom, gboolean lazy);
 void image_change_from_collection(ImageWindow *imd, CollectionData *cd, CollectInfo *info, gdouble zoom);
 CollectionData *image_get_collection(ImageWindow *imd, CollectInfo **info);
-void image_change_from_image(ImageWindow *imd, ImageWindow *source);
+void image_copy_from_image(ImageWindow *imd, ImageWindow *source);
+void image_move_from_image(ImageWindow *imd, ImageWindow *source);
 
 gboolean image_get_image_size(ImageWindow *imd, gint *width, gint *height);
 GdkPixbuf *image_get_pixbuf(ImageWindow *imd);
--- a/src/image_load_gdk.c	Sun May 27 18:41:56 2012 +0100
+++ b/src/image_load_gdk.c	Tue Oct 02 22:19:13 2012 +0100
@@ -27,7 +27,7 @@
 static gpointer image_loader_gdk_new(ImageLoaderBackendCbAreaUpdated area_updated_cb, ImageLoaderBackendCbSize size_cb, ImageLoaderBackendCbAreaPrepared area_prepared_cb, gpointer data)
 {
         GdkPixbufLoader *loader = gdk_pixbuf_loader_new();
-        
+
 	g_signal_connect(G_OBJECT(loader), "area_updated", G_CALLBACK(area_updated_cb), data);
 	g_signal_connect(G_OBJECT(loader), "size_prepared", G_CALLBACK(size_cb), data);
 	g_signal_connect(G_OBJECT(loader), "area_prepared", G_CALLBACK(area_prepared_cb), data);
@@ -53,10 +53,10 @@
 	funcs->close = (ImageLoaderBackendFuncClose) gdk_pixbuf_loader_close;
 	funcs->abort = image_loader_gdk_abort;
 	funcs->free = image_loader_gdk_free;
-	
+
 	funcs->get_format_name = image_loader_gdk_get_format_name;
 	funcs->get_format_mime_types = image_loader_gdk_get_format_mime_types;
 }
 
 
-
+/* vim: set shiftwidth=8 softtabstop=0 cindent cinoptions={1s: */
--- a/src/image_load_gdk.h	Sun May 27 18:41:56 2012 +0100
+++ b/src/image_load_gdk.h	Tue Oct 02 22:19:13 2012 +0100
@@ -17,3 +17,4 @@
 
 #endif
 
+/* vim: set shiftwidth=8 softtabstop=0 cindent cinoptions={1s: */
--- a/src/image_load_jpeg.c	Sun May 27 18:41:56 2012 +0100
+++ b/src/image_load_jpeg.c	Tue Oct 02 22:19:13 2012 +0100
@@ -14,7 +14,7 @@
  *
  * Copyright (C) 1999 Michael Zucchi
  * Copyright (C) 1999 The Free Software Foundation
- * 
+ *
  * Progressive loading code Copyright (C) 1999 Red Hat, Inc.
  *
  * Authors: Michael Zucchi <zucchi@zedzone.mmc.com.au>
@@ -55,16 +55,16 @@
 	ImageLoaderBackendCbAreaUpdated area_updated_cb;
 	ImageLoaderBackendCbSize size_cb;
 	ImageLoaderBackendCbAreaPrepared area_prepared_cb;
-	
+
 	gpointer data;
-	
+
 	GdkPixbuf *pixbuf;
 	guint requested_width;
 	guint requested_height;
-	
+
 	gboolean abort;
 	gboolean stereo;
-	
+
 };
 
 /* error handler data */
@@ -77,7 +77,7 @@
 /* explode gray image data from jpeg library into rgb components in pixbuf */
 static void
 explode_gray_into_buf (struct jpeg_decompress_struct *cinfo,
-		       guchar **lines) 
+		       guchar **lines)
 {
 	gint i, j;
 	guint w;
@@ -92,7 +92,7 @@
 	w = cinfo->output_width;
 	for (i = cinfo->rec_outbuf_height - 1; i >= 0; i--) {
 		guchar *from, *to;
-		
+
 		from = lines[i] + w - 1;
 		to = lines[i] + (w - 1) * 3;
 		for (j = w - 1; j >= 0; j--) {
@@ -108,7 +108,7 @@
 
 static void
 convert_cmyk_to_rgb (struct jpeg_decompress_struct *cinfo,
-		     guchar **lines) 
+		     guchar **lines)
 {
 	gint i, j;
 
@@ -118,7 +118,7 @@
 
 	for (i = cinfo->rec_outbuf_height - 1; i >= 0; i--) {
 		guchar *p;
-		
+
 		p = lines[i];
 		for (j = 0; j < cinfo->output_width; j++) {
 			int c, m, y, k;
@@ -146,7 +146,7 @@
 static gpointer image_loader_jpeg_new(ImageLoaderBackendCbAreaUpdated area_updated_cb, ImageLoaderBackendCbSize size_cb, ImageLoaderBackendCbAreaPrepared area_prepared_cb, gpointer data)
 {
         ImageLoaderJpeg *loader = g_new0(ImageLoaderJpeg, 1);
-        
+
 	loader->area_updated_cb = area_updated_cb;
 	loader->size_cb = size_cb;
 	loader->area_prepared_cb = area_prepared_cb;
@@ -159,9 +159,9 @@
 {
 	struct error_handler_data *errmgr;
         char buffer[JMSG_LENGTH_MAX];
-        
+
 	errmgr = (struct error_handler_data *) cinfo->err;
-        
+
         /* Create the message */
         (* cinfo->err->format_message) (cinfo, buffer);
 
@@ -171,13 +171,13 @@
         if (errmgr->error && *errmgr->error == NULL) {
                 g_set_error (errmgr->error,
                              GDK_PIXBUF_ERROR,
-                             cinfo->err->msg_code == JERR_OUT_OF_MEMORY 
-			     ? GDK_PIXBUF_ERROR_INSUFFICIENT_MEMORY 
+                             cinfo->err->msg_code == JERR_OUT_OF_MEMORY
+			     ? GDK_PIXBUF_ERROR_INSUFFICIENT_MEMORY
 			     : GDK_PIXBUF_ERROR_CORRUPT_IMAGE,
                              _("Error interpreting JPEG image file (%s)"),
                              buffer);
         }
-        
+
 	siglongjmp (errmgr->setjmp_buffer, 1);
 
         g_assert_not_reached ();
@@ -199,7 +199,7 @@
 	gint i;
 
 	lptr = lines;
-	for (i = 0; i < cinfo->rec_outbuf_height; i++) 
+	for (i = 0; i < cinfo->rec_outbuf_height; i++)
 		{
 		*lptr++ = *dptr;
 		*dptr += rowstride;
@@ -207,7 +207,7 @@
 
 	jpeg_read_scanlines (cinfo, lines, cinfo->rec_outbuf_height);
 
-	switch (cinfo->out_color_space) 
+	switch (cinfo->out_color_space)
 		{
 		    case JCS_GRAYSCALE:
 		      explode_gray_into_buf (cinfo, lines);
@@ -238,7 +238,7 @@
 		{
 		ERREXIT(cinfo, JERR_INPUT_EOF);
 		}
-	else if (num_bytes > 0) 
+	else if (num_bytes > 0)
 		{
 		src->next_input_byte += (size_t) num_bytes;
 		src->bytes_in_buffer -= (size_t) num_bytes;
@@ -249,7 +249,7 @@
 {
 	struct jpeg_source_mgr* src;
 
-	if (cinfo->src == NULL) 
+	if (cinfo->src == NULL)
 		{   /* first time for this JPEG object? */
 		cinfo->src = (struct jpeg_source_mgr *) (*cinfo->mem->alloc_small) (
 					(j_common_ptr) cinfo, JPOOL_PERMANENT,
@@ -278,7 +278,7 @@
 	guint stereo_length = 0;
 
 	struct error_handler_data jerr;
-	
+
 	lj->stereo = FALSE;
 
 	MPOData *mpo = jpeg_get_mpo_data(buf, count);
@@ -287,7 +287,7 @@
 		guint i;
 		gint idx1 = -1, idx2 = -1;
 		guint num2 = 1;
-		
+
 		for (i = 0; i < mpo->num_images; i++)
 			{
 			if (mpo->images[i].type_code == 0x20002)
@@ -303,7 +303,7 @@
 					}
 				}
 			}
-			
+
 		if (idx1 >= 0 && idx2 >= 0)
 			{
 			lj->stereo = TRUE;
@@ -324,7 +324,7 @@
         jerr.error = error;
 
 
-	if (setjmp(jerr.setjmp_buffer)) 
+	if (setjmp(jerr.setjmp_buffer))
 		{
 		/* If we get here, the JPEG code has signaled an error.
 		 * We need to clean up the JPEG object, close the input file, and return.
@@ -333,22 +333,22 @@
 		if (lj->stereo) jpeg_destroy_decompress(&cinfo2);
 		return FALSE;
 		}
-	
+
 	jpeg_create_decompress(&cinfo);
 
 	set_mem_src(&cinfo, (unsigned char *)buf, count);
 
 
 	jpeg_read_header(&cinfo, TRUE);
-	
+
 	if (lj->stereo)
 		{
 		jpeg_create_decompress(&cinfo2);
 		set_mem_src(&cinfo2, stereo_buf2, stereo_length);
 		jpeg_read_header(&cinfo2, TRUE);
-		
+
 		if (cinfo.image_width != cinfo2.image_width ||
-		    cinfo.image_height != cinfo2.image_height) 
+		    cinfo.image_height != cinfo2.image_height)
 			{
 			DEBUG_1("stereo data with different size");
 			jpeg_destroy_decompress(&cinfo2);
@@ -356,12 +356,12 @@
 			}
 		}
 
-		    
+
 
 	lj->requested_width = lj->stereo ? cinfo.image_width * 2: cinfo.image_width;
 	lj->requested_height = cinfo.image_height;
 	lj->size_cb(loader, lj->requested_width, lj->requested_height, lj->data);
-			
+
 	cinfo.scale_num = 1;
 	for (cinfo.scale_denom = 2; cinfo.scale_denom <= 8; cinfo.scale_denom *= 2) {
 		jpeg_calc_output_dimensions(&cinfo);
@@ -378,29 +378,29 @@
 		jpeg_calc_output_dimensions(&cinfo2);
 		jpeg_start_decompress(&cinfo2);
 		}
-		
+
 
 	jpeg_start_decompress(&cinfo);
-	
+
 
 	if (lj->stereo)
 		{
 		if (cinfo.output_width != cinfo2.output_width ||
 		    cinfo.output_height != cinfo2.output_height ||
-		    cinfo.out_color_components != cinfo2.out_color_components) 
+		    cinfo.out_color_components != cinfo2.out_color_components)
 			{
 			DEBUG_1("stereo data with different output size");
 			jpeg_destroy_decompress(&cinfo2);
 			lj->stereo = FALSE;
 			}
 		}
-	
-	
-	lj->pixbuf = gdk_pixbuf_new (GDK_COLORSPACE_RGB, 
-				     cinfo.out_color_components == 4 ? TRUE : FALSE, 
+
+
+	lj->pixbuf = gdk_pixbuf_new (GDK_COLORSPACE_RGB,
+				     cinfo.out_color_components == 4 ? TRUE : FALSE,
 				     8, lj->stereo ? cinfo.output_width * 2: cinfo.output_width, cinfo.output_height);
 
-	if (!lj->pixbuf) 
+	if (!lj->pixbuf)
 		{
 		jpeg_destroy_decompress (&cinfo);
 		if (lj->stereo) jpeg_destroy_decompress (&cinfo2);
@@ -412,9 +412,9 @@
 	rowstride = gdk_pixbuf_get_rowstride(lj->pixbuf);
 	dptr = gdk_pixbuf_get_pixels(lj->pixbuf);
 	dptr2 = gdk_pixbuf_get_pixels(lj->pixbuf) + ((cinfo.out_color_components == 4) ? 4 * cinfo.output_width : 3 * cinfo.output_width);
-	
+
 
-	while (cinfo.output_scanline < cinfo.output_height && !lj->abort) 
+	while (cinfo.output_scanline < cinfo.output_height && !lj->abort)
 		{
 		guint scanline = cinfo.output_scanline;
 		image_loader_jpeg_read_scanline(&cinfo, &dptr, rowstride);
@@ -490,11 +490,14 @@
 	funcs->close = image_loader_jpeg_close;
 	funcs->abort = image_loader_jpeg_abort;
 	funcs->free = image_loader_jpeg_free;
-	
+
 	funcs->get_format_name = image_loader_jpeg_get_format_name;
 	funcs->get_format_mime_types = image_loader_jpeg_get_format_mime_types;
 }
 
 
 
-#endif
\ No newline at end of file
+#endif
+
+
+/* vim: set shiftwidth=8 softtabstop=0 cindent cinoptions={1s: */
--- a/src/image_load_jpeg.h	Sun May 27 18:41:56 2012 +0100
+++ b/src/image_load_jpeg.h	Tue Oct 02 22:19:13 2012 +0100
@@ -19,3 +19,4 @@
 
 #endif
 
+/* vim: set shiftwidth=8 softtabstop=0 cindent cinoptions={1s: */
--- a/src/image_load_tiff.c	Sun May 27 18:41:56 2012 +0100
+++ b/src/image_load_tiff.c	Tue Oct 02 22:19:13 2012 +0100
@@ -50,13 +50,13 @@
 	ImageLoaderBackendCbAreaUpdated area_updated_cb;
 	ImageLoaderBackendCbSize size_cb;
 	ImageLoaderBackendCbAreaPrepared area_prepared_cb;
-	
+
 	gpointer data;
 
 	GdkPixbuf *pixbuf;
 	guint requested_width;
 	guint requested_height;
-	
+
 	gboolean abort;
 
 	const guchar *buffer;
@@ -72,72 +72,73 @@
 static tsize_t
 tiff_load_read (thandle_t handle, tdata_t buf, tsize_t size)
 {
-        ImageLoaderTiff *context = (ImageLoaderTiff *)handle;
-        
-        if (context->pos + size > context->used)
-                return 0;
-        
-        memcpy (buf, context->buffer + context->pos, size);
-        context->pos += size;
-        return size;
+	ImageLoaderTiff *context = (ImageLoaderTiff *)handle;
+
+	if (context->pos + size > context->used)
+		return 0;
+
+	memcpy (buf, context->buffer + context->pos, size);
+	context->pos += size;
+	return size;
 }
 
 static tsize_t
 tiff_load_write (thandle_t handle, tdata_t buf, tsize_t size)
 {
-        return -1;
+	return -1;
 }
 
 static toff_t
 tiff_load_seek (thandle_t handle, toff_t offset, int whence)
 {
-        ImageLoaderTiff *context = (ImageLoaderTiff *)handle;
-        
-        switch (whence) {
-        case SEEK_SET:
-                if (offset > context->used)
-                        return -1;
-                context->pos = offset;
-                break;
-        case SEEK_CUR:
-                if (offset + context->pos >= context->used)
-                        return -1;
-                context->pos += offset;
-                break;
-        case SEEK_END:
-                if (offset + context->used > context->used)
-                        return -1;
-                context->pos = context->used + offset;
-                break;
-        default:
-                return -1;
-        }
-        return context->pos;
+	ImageLoaderTiff *context = (ImageLoaderTiff *)handle;
+
+	switch (whence)
+		{
+		case SEEK_SET:
+			if (offset > context->used)
+				return -1;
+			context->pos = offset;
+			break;
+		case SEEK_CUR:
+			if (offset + context->pos >= context->used)
+				return -1;
+			context->pos += offset;
+			break;
+		case SEEK_END:
+			if (offset + context->used > context->used)
+				return -1;
+			context->pos = context->used + offset;
+			break;
+		default:
+			return -1;
+		}
+
+	return context->pos;
 }
 
 static int
 tiff_load_close (thandle_t context)
 {
-        return 0;
+	return 0;
 }
 
 static toff_t
 tiff_load_size (thandle_t handle)
 {
-        ImageLoaderTiff *context = (ImageLoaderTiff *)handle;
-        
-        return context->used;
+	ImageLoaderTiff *context = (ImageLoaderTiff *)handle;
+	return context->used;
 }
 
 static int
 tiff_load_map_file (thandle_t handle, tdata_t *buf, toff_t *size)
 {
-        ImageLoaderTiff *context = (ImageLoaderTiff *)handle;
-        
-        *buf = (tdata_t *) context->buffer;
-        *size = context->used;
-        
-        return 0;
+	ImageLoaderTiff *context = (ImageLoaderTiff *)handle;
+
+	*buf = (tdata_t *) context->buffer;
+	*size = context->used;
+
+	return 0;
 }
 
 static void
@@ -149,11 +150,9 @@
 {
 	ImageLoaderTiff *lt = (ImageLoaderTiff *) loader;
 
-        TIFF *tiff;
+	TIFF *tiff;
 	guchar *pixels = NULL;
 	gint width, height, rowstride, bytes;
-	uint16 orientation = 0;
-	uint16 transform = 0;
 	uint32 rowsperstrip;
 
 	lt->buffer = buf;
@@ -162,119 +161,91 @@
 
 	TIFFSetWarningHandler(NULL);
 
-        tiff = TIFFClientOpen ("libtiff-geeqie", "r", lt, 
-                               tiff_load_read, tiff_load_write, 
-                               tiff_load_seek, tiff_load_close, 
-                               tiff_load_size, 
-                               tiff_load_map_file, tiff_load_unmap_file);
-        if (!tiff) 
-        	{
-        	DEBUG_1("Failed to open TIFF image");
-        	return FALSE;
-        	}
+	tiff = TIFFClientOpen (	"libtiff-geeqie", "r", lt,
+							tiff_load_read, tiff_load_write,
+							tiff_load_seek, tiff_load_close,
+							tiff_load_size,
+							tiff_load_map_file, tiff_load_unmap_file);
+	if (!tiff)
+		{
+		DEBUG_1("Failed to open TIFF image");
+		return FALSE;
+		}
 
 
-
-	if (!TIFFGetField (tiff, TIFFTAG_IMAGEWIDTH, &width)) {
+	if (!TIFFGetField (tiff, TIFFTAG_IMAGEWIDTH, &width))
+		{
 		DEBUG_1("Could not get image width (bad TIFF file)");
 		TIFFClose(tiff);
-                return FALSE;
-        }
-        
-        if (!TIFFGetField (tiff, TIFFTAG_IMAGELENGTH, &height)) {
-        	DEBUG_1("Could not get image height (bad TIFF file)");
+		return FALSE;
+		}
+
+	if (!TIFFGetField (tiff, TIFFTAG_IMAGELENGTH, &height))
+		{
+		DEBUG_1("Could not get image height (bad TIFF file)");
 		TIFFClose(tiff);
-                return FALSE;
-        }
+		return FALSE;
+		}
 
-        if (width <= 0 || height <= 0) {
-        	DEBUG_1("Width or height of TIFF image is zero");
+	if (width <= 0 || height <= 0)
+		{
+		DEBUG_1("Width or height of TIFF image is zero");
 		TIFFClose(tiff);
-                return FALSE;                
-        }
-        
-        rowstride = width * 4;
-        if (rowstride / 4 != width) { /* overflow */
-        	DEBUG_1("Dimensions of TIFF image too large");
+		return FALSE;
+		}
+
+	rowstride = width * 4;
+	if (rowstride / 4 != width)
+		{ /* overflow */
+		DEBUG_1("Dimensions of TIFF image too large");
 		TIFFClose(tiff);
-                return FALSE;                
-        }
-        
-        bytes = height * rowstride;
-        if (bytes / rowstride != height) { /* overflow */
-        	DEBUG_1("Dimensions of TIFF image too large");
+		return FALSE;
+		}
+
+	bytes = height * rowstride;
+	if (bytes / rowstride != height)
+		{ /* overflow */
+		DEBUG_1("Dimensions of TIFF image too large");
 		TIFFClose(tiff);
-                return FALSE;                
-        }
+		return FALSE;
+		}
 
 	lt->requested_width = width;
 	lt->requested_height = height;
 	lt->size_cb(loader, lt->requested_width, lt->requested_height, lt->data);
 
-        pixels = g_try_malloc (bytes);
-
-        if (!pixels) {
-        	DEBUG_1("Insufficient memory to open TIFF file");
-		TIFFClose(tiff);
-                return FALSE;
-        }
+	pixels = g_try_malloc (bytes);
 
-	lt->pixbuf = gdk_pixbuf_new_from_data (pixels, GDK_COLORSPACE_RGB, TRUE, 8, 
-                                           width, height, rowstride,
-                                           free_buffer, NULL);
-        if (!lt->pixbuf) {
-                g_free (pixels);
-                DEBUG_1("Insufficient memory to open TIFF file");
+	if (!pixels)
+		{
+		DEBUG_1("Insufficient memory to open TIFF file");
 		TIFFClose(tiff);
-                return FALSE;
-        }
+		return FALSE;
+		}
 
-	/* Set the "orientation" key associated with this image. libtiff 
-	   orientation handling is odd, so further processing is required
-	   by higher-level functions based on this tag. If the embedded
-	   orientation tag is 1-4, libtiff flips/mirrors the image as
-	   required, and no client processing is required - so we report 
-	   no orientation. Orientations 5-8 require rotations which would 
-	   swap the width and height of the image. libtiff does not do this. 
-	   Instead it interprets orientations 5-8 the same as 1-4. 
-	   See http://bugzilla.remotesensing.org/show_bug.cgi?id=1548.
-	   To correct for this, the client must apply the transform normally
-	   used for orientation 5 to both orientations 5 and 7, and apply
-	   the transform normally used for orientation 7 for both
-	   orientations 6 and 8. Then everythings works out OK! */
-	
-	TIFFGetField (tiff, TIFFTAG_ORIENTATION, &orientation);
-
-	switch (orientation) {
-		case 5:
-		case 7:
-			transform = 5;
-			break;
-		case 6:
-		case 8:
-			transform = 7;
-			break;
-		default:
-			transform = 0;
-			break;
-	}
-
+	lt->pixbuf = gdk_pixbuf_new_from_data (pixels, GDK_COLORSPACE_RGB, TRUE, 8,
+										   width, height, rowstride,
+										   free_buffer, NULL);
+	if (!lt->pixbuf)
+		{
+		g_free (pixels);
+		DEBUG_1("Insufficient memory to open TIFF file");
+		TIFFClose(tiff);
+		return FALSE;
+		}
 
 	lt->area_prepared_cb(loader, lt->data);
 
-
-
-	if( TIFFGetField(tiff, TIFFTAG_ROWSPERSTRIP, &rowsperstrip) ) 
+	if (TIFFGetField(tiff, TIFFTAG_ROWSPERSTRIP, &rowsperstrip))
 		{
 		/* read by strip */
 		int row;
 		guchar *wrk_line = (guchar *)g_malloc(width * sizeof (uint32));
 
-
-		for( row = 0; row < height; row += rowsperstrip )
+		for (row = 0; row < height; row += rowsperstrip)
 			{
 			int rows_to_write, i_row;
-			
+
 			if (lt->abort) {
 				break;
 			}
@@ -287,28 +258,26 @@
 			/*
 			 * Figure out the number of scanlines actually in this strip.
 			*/
-			if( row + (int)rowsperstrip > height )
+			if (row + (int)rowsperstrip > height)
 				rows_to_write = height - row;
 			else
 				rows_to_write = rowsperstrip;
 
-
-
 			/*
 			 * For some reason the TIFFReadRGBAStrip() function chooses the
 			 * lower left corner as the origin.  Vertically mirror scanlines.
 			 */
-			for( i_row = 0; i_row < rows_to_write / 2; i_row++ )
+			for (i_row = 0; i_row < rows_to_write / 2; i_row++)
 				{
 				guchar *top_line, *bottom_line;
 
 				top_line = pixels + (row + i_row) * rowstride;
-				bottom_line = pixels + (row + rows_to_write - i_row - 1) * rowstride; 
+				bottom_line = pixels + (row + rows_to_write - i_row - 1) * rowstride;
 
 				memcpy(wrk_line, top_line, 4*width);
 				memcpy(top_line, bottom_line, 4*width);
 				memcpy(bottom_line, wrk_line, 4*width);
-        		}
+				}
 			lt->area_updated_cb(loader, 0, row, width, rows_to_write, lt->data);
 			}
 		g_free(wrk_line);
@@ -316,28 +285,31 @@
 	else
 		{
 		/* fallback, tiled tiff */
-		if (!TIFFReadRGBAImageOriented (tiff, width, height, (uint32 *)pixels, ORIENTATION_TOPLEFT, 1)) 
+		if (!TIFFReadRGBAImageOriented (tiff, width, height, (uint32 *)pixels, ORIENTATION_TOPLEFT, 1))
 			{
 			TIFFClose(tiff);
 			return FALSE;
 			}
 
 #if G_BYTE_ORDER == G_BIG_ENDIAN
-		/* Turns out that the packing used by TIFFRGBAImage depends on 
-        	 * the host byte order... 
-	         */ 
-		while (pixels < pixbuf->pixels + bytes) 
+		/* Turns out that the packing used by TIFFRGBAImage depends on
+		 * the host byte order...
+		 */
+		{
+		guchar *ptr = pixels;
+		while (ptr < pixels + bytes)
 			{
-			uint32 pixel = *(uint32 *)pixels;
+			uint32 pixel = *(uint32 *)ptr;
 			int r = TIFFGetR(pixel);
 			int g = TIFFGetG(pixel);
 			int b = TIFFGetB(pixel);
 			int a = TIFFGetA(pixel);
-			*pixels++ = r;
-			*pixels++ = g;
-			*pixels++ = b;
-			*pixels++ = a;
+			*ptr++ = r;
+			*ptr++ = g;
+			*ptr++ = b;
+			*ptr++ = a;
 			}
+		}
 #endif
 
 		lt->area_updated_cb(loader, 0, 0, width, height, lt->data);
@@ -350,8 +322,8 @@
 
 static gpointer image_loader_tiff_new(ImageLoaderBackendCbAreaUpdated area_updated_cb, ImageLoaderBackendCbSize size_cb, ImageLoaderBackendCbAreaPrepared area_prepared_cb, gpointer data)
 {
-        ImageLoaderTiff *loader = g_new0(ImageLoaderTiff, 1);
-        
+	ImageLoaderTiff *loader = g_new0(ImageLoaderTiff, 1);
+
 	loader->area_updated_cb = area_updated_cb;
 	loader->size_cb = size_cb;
 	loader->area_prepared_cb = area_prepared_cb;
@@ -412,11 +384,12 @@
 	funcs->close = image_loader_tiff_close;
 	funcs->abort = image_loader_tiff_abort;
 	funcs->free = image_loader_tiff_free;
-	
+
 	funcs->get_format_name = image_loader_tiff_get_format_name;
 	funcs->get_format_mime_types = image_loader_tiff_get_format_mime_types;
 }
 
 
 
-#endif
\ No newline at end of file
+#endif
+/* vim: set shiftwidth=8 softtabstop=0 cindent cinoptions={1s: */
--- a/src/image_load_tiff.h	Sun May 27 18:41:56 2012 +0100
+++ b/src/image_load_tiff.h	Tue Oct 02 22:19:13 2012 +0100
@@ -19,3 +19,4 @@
 
 #endif
 
+/* vim: set shiftwidth=8 softtabstop=0 cindent cinoptions={1s: */
--- a/src/img-view.c	Sun May 27 18:41:56 2012 +0100
+++ b/src/img-view.c	Tue Oct 02 22:19:13 2012 +0100
@@ -1,7 +1,7 @@
 /*
  * Geeqie
  * (C) 2006 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * Author: John Ellis
  *
@@ -322,7 +322,7 @@
 	ImageWindow *imd;
 
 	imd = view_window_active_image(vw);
-	gdk_window_get_origin(imd->pr->window, x, y);
+	gdk_window_get_origin(gtk_widget_get_window(imd->pr), x, y);
 	popup_menu_position_clamp(menu, x, y, 0);
 }
 
@@ -340,16 +340,16 @@
 	stop_signal = TRUE;
 	switch (event->keyval)
 		{
-		case GDK_Left: case GDK_KP_Left:
+		case GDK_KEY_Left: case GDK_KEY_KP_Left:
 			x -= 1;
 			break;
-		case GDK_Right: case GDK_KP_Right:
+		case GDK_KEY_Right: case GDK_KEY_KP_Right:
 			x += 1;
 			break;
-		case GDK_Up: case GDK_KP_Up:
+		case GDK_KEY_Up: case GDK_KEY_KP_Up:
 			y -= 1;
 			break;
-		case GDK_Down: case GDK_KP_Down:
+		case GDK_KEY_Down: case GDK_KEY_KP_Down:
 			y += 1;
 			break;
 		default:
@@ -373,40 +373,19 @@
 
 	if (event->state & GDK_CONTROL_MASK)
 		{
-		gint n = -1;
-
 		stop_signal = TRUE;
 		switch (event->keyval)
 			{
 			case '1':
-				n = 0;
-				break;
 			case '2':
-				n = 1;
-				break;
 			case '3':
-				n = 2;
-				break;
 			case '4':
-				n = 3;
-				break;
 			case '5':
-				n = 4;
-				break;
 			case '6':
-				n = 5;
-				break;
 			case '7':
-				n = 6;
-				break;
 			case '8':
-				n = 7;
-				break;
 			case '9':
-				n = 8;
-				break;
 			case '0':
-				n = 9;
 				break;
 			case 'C': case 'c':
 				file_util_copy(image_get_fd(imd), NULL, NULL, imd->widget);
@@ -467,32 +446,32 @@
 		stop_signal = TRUE;
 		switch (event->keyval)
 			{
-			case GDK_Page_Up: case GDK_KP_Page_Up:
-			case GDK_BackSpace:
+			case GDK_KEY_Page_Up: case GDK_KEY_KP_Page_Up:
+			case GDK_KEY_BackSpace:
 			case 'B': case 'b':
 				view_step_prev(vw);
 				break;
-			case GDK_Page_Down: case GDK_KP_Page_Down:
-			case GDK_space:
+			case GDK_KEY_Page_Down: case GDK_KEY_KP_Page_Down:
+			case GDK_KEY_space:
 			case 'N': case 'n':
 				view_step_next(vw);
 				break;
-			case GDK_Home: case GDK_KP_Home:
+			case GDK_KEY_Home: case GDK_KEY_KP_Home:
 				view_step_to_end(vw, FALSE);
 				break;
-			case GDK_End: case GDK_KP_End:
+			case GDK_KEY_End: case GDK_KEY_KP_End:
 				view_step_to_end(vw, TRUE);
 				break;
-			case '+': case '=': case GDK_KP_Add:
+			case '+': case '=': case GDK_KEY_KP_Add:
 				image_zoom_adjust(imd, get_zoom_increment());
 				break;
-			case '-': case GDK_KP_Subtract:
+			case '-': case GDK_KEY_KP_Subtract:
 				image_zoom_adjust(imd, -get_zoom_increment());
 				break;
-			case 'X': case 'x': case GDK_KP_Multiply:
+			case 'X': case 'x': case GDK_KEY_KP_Multiply:
 				image_zoom_set(imd, 0.0);
 				break;
-			case 'Z': case 'z': case GDK_KP_Divide: case '1':
+			case 'Z': case 'z': case GDK_KEY_KP_Divide: case '1':
 				image_zoom_set(imd, 1.0);
 				break;
 			case '2':
@@ -537,7 +516,7 @@
 				break;
 			case 'F': case 'f':
 			case 'V': case 'v':
-			case GDK_F11:
+			case GDK_KEY_F11:
 				view_fullscreen_toggle(vw, FALSE);
 				break;
 			case 'I': case 'i':
@@ -549,13 +528,13 @@
 			case '[':
 				image_alter_orientation(imd, ALTER_ROTATE_90_CC);
 				break;
-			case GDK_Delete: case GDK_KP_Delete:
+			case GDK_KEY_Delete: case GDK_KEY_KP_Delete:
 				if (options->file_ops.enable_delete_key)
 					{
 					file_util_delete(image_get_fd(imd), NULL, imd->widget);
 					}
 				break;
-			case GDK_Escape:
+			case GDK_KEY_Escape:
 				if (vw->fs)
 					{
 					view_fullscreen_toggle(vw, TRUE);
@@ -565,8 +544,8 @@
 					view_window_close(vw);
 					}
 				break;
-			case GDK_Menu:
-			case GDK_F10:
+			case GDK_KEY_Menu:
+			case GDK_KEY_F10:
 				menu = view_popup_menu(vw);
 				gtk_menu_popup(GTK_MENU(menu), NULL, NULL,
 					       view_window_menu_pos_cb, vw, 0, GDK_CURRENT_TIME);
@@ -684,7 +663,7 @@
 		{
 		if (image_osd_get(vw->imd) & OSD_SHOW_INFO)
 			image_osd_set(vw->imd, image_osd_get(vw->fs->imd));
-		
+
 		fullscreen_stop(vw->fs);
 		}
 	else
@@ -710,7 +689,7 @@
 	ImageWindow *imd;
 
 	imd = view_window_active_image(vw);
-	
+
 	image_osd_toggle(imd);
 }
 
@@ -1000,7 +979,7 @@
 		{
 		ViewWindow *vw = work->data;
 		work = work->next;
-		
+
 		image_background_set_color_from_options(vw->imd, !!vw->fs);
 		}
 }
@@ -1246,7 +1225,7 @@
 	GList *editmenu_fd_list = data;
 
 	filelist_free(editmenu_fd_list);
-}		
+}
 
 static GList *view_window_get_fd_list(ViewWindow *vw)
 {
@@ -1258,7 +1237,7 @@
 		FileData *fd = image_get_fd(imd);
 		if (fd) list = g_list_append(NULL, file_data_ref(fd));
 		}
-	
+
 	return list;
 }
 
@@ -1487,7 +1466,7 @@
 			{
 			GList *work;
 
-			list = uri_filelist_from_text((gchar *)selection_data->data, TRUE);
+			list = uri_filelist_from_gtk_selection_data(selection_data);
 
 			work = list;
 			while (work)
@@ -1510,7 +1489,7 @@
 			}
 		else
 			{
-			source = collection_from_dnd_data((gchar *)selection_data->data, &list, &info_list);
+			source = collection_from_dnd_data((gchar *)gtk_selection_data_get_data(selection_data), &list, &info_list);
 			}
 
 		if (list)
@@ -1556,34 +1535,15 @@
 
 	if (fd)
 		{
-		gchar *text = NULL;
-		gint len;
-		gboolean plain_text;
 		GList *list;
 
-		switch (info)
-			{
-			case TARGET_URI_LIST:
-				plain_text = FALSE;
-				break;
-			case TARGET_TEXT_PLAIN:
-			default:
-				plain_text = TRUE;
-				break;
-			}
 		list = g_list_append(NULL, fd);
-		text = uri_text_from_filelist(list, &len, plain_text);
+		uri_selection_data_set_uris_from_filelist(selection_data, list);
 		g_list_free(list);
-		if (text)
-			{
-			gtk_selection_data_set(selection_data, selection_data->target,
-					       8, (guchar *)text, len);
-			g_free(text);
-			}
 		}
 	else
 		{
-		gtk_selection_data_set(selection_data, selection_data->target,
+		gtk_selection_data_set(selection_data, gtk_selection_data_get_target(selection_data),
 				       8, NULL, 0);
 		}
 }
@@ -1700,7 +1660,7 @@
 	ViewWindow *vw = data;
 
 	if (!(type & NOTIFY_CHANGE) || !fd->change) return;
-	
+
 	DEBUG_1("Notify view_window: %s %04x", fd->path, type);
 
 	switch (fd->change->type)
--- a/src/img-view.h	Sun May 27 18:41:56 2012 +0100
+++ b/src/img-view.h	Tue Oct 02 22:19:13 2012 +0100
@@ -1,7 +1,7 @@
 /*
  * Geeqie
  * (C) 2004 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * Author: John Ellis
  *
--- a/src/jpeg_parser.c	Sun May 27 18:41:56 2012 +0100
+++ b/src/jpeg_parser.c	Tue Oct 02 22:19:13 2012 +0100
@@ -10,10 +10,10 @@
  * This software comes with no warranty of any kind, use at your own risk!
  */
 
-#include "main.h" 
+#include "main.h"
 #include "jpeg_parser.h"
 
-gboolean jpeg_segment_find(guchar *data, guint size,
+gboolean jpeg_segment_find(const guchar *data, guint size,
 			    guchar app_marker, const gchar *magic, guint magic_len,
 			    guint *seg_offset, guint *seg_length)
 {
@@ -64,7 +64,7 @@
 
 
 
-guint16 tiff_byte_get_int16(guchar *f, TiffByteOrder bo)
+guint16 tiff_byte_get_int16(const guchar *f, TiffByteOrder bo)
 {
 	guint16 align_buf;
 
@@ -76,7 +76,7 @@
 		return GUINT16_FROM_BE(align_buf);
 }
 
-guint32 tiff_byte_get_int32(guchar *f, TiffByteOrder bo)
+guint32 tiff_byte_get_int32(const guchar *f, TiffByteOrder bo)
 {
 	guint32 align_buf;
 
@@ -120,7 +120,7 @@
 	memcpy(f, &align_buf, sizeof(guint32));
 }
 
-gint tiff_directory_offset(guchar *data, const guint len,
+gint tiff_directory_offset(const guchar *data, const guint len,
 				guint *offset, TiffByteOrder *bo)
 {
 	if (len < 8) return FALSE;
@@ -148,12 +148,12 @@
 	return (*offset < len);
 }
 
-typedef gint (* FuncParseIFDEntry)(guchar *tiff, guint offset,
+typedef gint (* FuncParseIFDEntry)(const guchar *tiff, guint offset,
 				 guint size, TiffByteOrder bo,
 				 gpointer data);
 
 
-gint tiff_parse_IFD_table(guchar *tiff, guint offset,
+gint tiff_parse_IFD_table(const guchar *tiff, guint offset,
 			  guint size, TiffByteOrder bo,
 			  guint *next_offset,
 			  FuncParseIFDEntry parse_entry, gpointer data)
@@ -175,14 +175,14 @@
 		{
 		parse_entry(tiff, offset + i * TIFF_TIFD_SIZE, size, bo, data);
 		}
-	
+
 	next = tiff_byte_get_int32(tiff + offset + count * TIFF_TIFD_SIZE, bo);
 	if (next_offset) *next_offset = next;
-	
+
 	return 0;
 }
 
-static gint mpo_parse_Index_IFD_entry(guchar *tiff, guint offset,
+static gint mpo_parse_Index_IFD_entry(const guchar *tiff, guint offset,
 				 guint size, TiffByteOrder bo,
 				 gpointer data)
 {
@@ -201,16 +201,16 @@
 	data_val = tiff_byte_get_int32(tiff + offset + TIFF_TIFD_OFFSET_DATA, bo);
 	DEBUG_1("   tag %x format %x count %x data_val %x", tag, format, count, data_val);
 
-        if (tag == 0xb000)
-        	{
-        	mpo->version = data_val;
+	if (tag == 0xb000)
+		{
+		mpo->version = data_val;
 		DEBUG_1("    mpo version %x", mpo->version);
-        	}
-        else if (tag == 0xb001)
-        	{
-        	mpo->num_images = data_val;
+		}
+	else if (tag == 0xb001)
+		{
+		mpo->num_images = data_val;
 		DEBUG_1("    num images %x", mpo->num_images);
-        	}
+		}
 	else if (tag == 0xb002)
 		{
 		guint i;
@@ -224,9 +224,9 @@
 			{
 			return -1;
 			}
-		
+
 		mpo->images = g_new0(MPOEntry, mpo->num_images);
-			
+
 		for (i = 0; i < mpo->num_images; i++) {
 			guint image_attr = tiff_byte_get_int32(tiff + data_offset + i * 16, bo);
 			mpo->images[i].type_code = image_attr & 0xffffff;
@@ -237,16 +237,16 @@
 			mpo->images[i].offset = tiff_byte_get_int32(tiff + data_offset + i * 16 + 8, bo);
 			mpo->images[i].dep1 = tiff_byte_get_int16(tiff + data_offset + i * 16 + 12, bo);
 			mpo->images[i].dep2 = tiff_byte_get_int16(tiff + data_offset + i * 16 + 14, bo);
-			
-			if (i == 0) 
+
+			if (i == 0)
 				{
 				mpo->images[i].offset = 0;
 				}
 			else
 				{
-			 	mpo->images[i].offset += mpo->mpo_offset;
-			 	}
-			 	
+				mpo->images[i].offset += mpo->mpo_offset;
+				}
+
 			DEBUG_1("   image %x %x %x", image_attr, mpo->images[i].length, mpo->images[i].offset);
 			}
 		}
@@ -254,7 +254,7 @@
 	return 0;
 }
 
-static gint mpo_parse_Attributes_IFD_entry(guchar *tiff, guint offset,
+static gint mpo_parse_Attributes_IFD_entry(const guchar *tiff, guint offset,
 				 guint size, TiffByteOrder bo,
 				 gpointer data)
 {
@@ -262,8 +262,6 @@
 	guint format;
 	guint count;
 	guint data_val;
-	guint data_offset;
-	guint data_length;
 
 	MPOEntry *mpe = data;
 
@@ -273,19 +271,19 @@
 	data_val = tiff_byte_get_int32(tiff + offset + TIFF_TIFD_OFFSET_DATA, bo);
 	DEBUG_1("   tag %x format %x count %x data_val %x", tag, format, count, data_val);
 
-        switch (tag) 
-        	{
-        	case 0xb000: 
-        		mpe->MPFVersion = data_val;
+	switch (tag)
+		{
+		case 0xb000:
+			mpe->MPFVersion = data_val;
 			DEBUG_1("    mpo version %x", data_val);
-        		break;
-        	case 0xb101: 
-        		mpe->MPIndividualNum = data_val;
+			break;
+		case 0xb101:
+			mpe->MPIndividualNum = data_val;
 			DEBUG_1("    Individual Image Number %x", mpe->MPIndividualNum);
-        		break;
-        	case 0xb201: 
-        		mpe->PanOrientation = data_val;
-        		break;
+			break;
+		case 0xb201:
+			mpe->PanOrientation = data_val;
+			break;
 /*
 
 FIXME:
@@ -301,16 +299,16 @@
 Collimation Axis Distance AxisDistance_Z 45578 B20A SRATIONAL 1
 Yaw Angle YawAngle 45579 B20B SRATIONAL 1
 Pitch Angle PitchAngle 45580 B20C SRATIONAL 1
-Roll Angle RollAngle 45581 B20D 
-  */      	
-		default: 
+Roll Angle RollAngle 45581 B20D
+  */
+		default:
 			break;
 		}
 
 	return 0;
 }
 
-MPOData *jpeg_get_mpo_data(guchar *data, guint size)
+MPOData *jpeg_get_mpo_data(const guchar *data, guint size)
 {
 	guint seg_offset;
 	guint seg_size;
@@ -322,19 +320,19 @@
 		MPOData *mpo;
 		guint i;
 
-		DEBUG_1("mpo signature found at %x", seg_offset); 
+		DEBUG_1("mpo signature found at %x", seg_offset);
 		seg_offset += 4;
 		seg_size -= 4;
-		
+
 		if (!tiff_directory_offset(data + seg_offset, seg_size, &offset, &bo)) return NULL;
 
 		mpo = g_new0(MPOData, 1);
 		mpo->mpo_offset = seg_offset;
-		
+
 		tiff_parse_IFD_table(data + seg_offset,  offset , seg_size, bo, &next_offset, mpo_parse_Index_IFD_entry, (gpointer)mpo);
 		if (!mpo->images) mpo->num_images = 0;
-		
-	
+
+
 		for (i = 0; i < mpo->num_images; i++)
 			{
 			if (mpo->images[i].offset + mpo->images[i].length > size)
@@ -344,10 +342,10 @@
 				break;
 				}
 			}
-		
+
 		for (i = 0; i < mpo->num_images; i++)
 			{
-			if (i == 0) 
+			if (i == 0)
 				{
 				offset = next_offset;
 				}
@@ -358,10 +356,10 @@
 					DEBUG_1("MPO image %d: MPO signature not found", i);
 					continue;
 					}
-				
+
 				seg_offset += 4;
 				seg_size -= 4;
-				if (!tiff_directory_offset(data + mpo->images[i].offset + seg_offset, seg_size, &offset, &bo)) 
+				if (!tiff_directory_offset(data + mpo->images[i].offset + seg_offset, seg_size, &offset, &bo))
 					{
 					DEBUG_1("MPO image %d: invalid directory offset", i);
 					continue;
@@ -370,7 +368,7 @@
 				}
 			tiff_parse_IFD_table(data + mpo->images[i].offset + seg_offset,  offset , seg_size, bo, NULL, mpo_parse_Attributes_IFD_entry, (gpointer)&mpo->images[i]);
 			}
-		
+
 		return mpo;
 		}
 	return NULL;
@@ -383,4 +381,7 @@
 		if (mpo->images) g_free(mpo->images);
 		g_free(mpo);
 		}
-}
\ No newline at end of file
+}
+
+
+/* vim: set shiftwidth=8 softtabstop=0 cindent cinoptions={1s: */
--- a/src/jpeg_parser.h	Sun May 27 18:41:56 2012 +0100
+++ b/src/jpeg_parser.h	Tue Oct 02 22:19:13 2012 +0100
@@ -1,7 +1,7 @@
 /*
  * Geeqie
  * (C) 2004 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * Author: Vladimir Nadvornik
  *
@@ -31,7 +31,7 @@
        NNN.: the data in this segment
  */
 
-gboolean jpeg_segment_find(guchar *data, guint size,
+gboolean jpeg_segment_find(const guchar *data, guint size,
 			    guchar app_marker, const gchar *magic, guint magic_len,
 			    guint *seg_offset, guint *seg_length);
 
@@ -50,11 +50,11 @@
 	guint dep2;
 
 	guint MPFVersion;
-	guint MPIndividualNum;  
-	guint PanOrientation;   
-	double PanOverlap_H;    
-	double PanOverlap_V;    
-	guint BaseViewpointNum; 
+	guint MPIndividualNum;
+	guint PanOrientation;
+	double PanOverlap_H;
+	double PanOverlap_V;
+	guint BaseViewpointNum;
 	double ConvergenceAngle;
 	double BaselineLength;
 	double VerticalDivergence;
@@ -76,7 +76,9 @@
 	MPOEntry *images;
 };
 
-MPOData* jpeg_get_mpo_data(guchar *data, guint size);
+MPOData* jpeg_get_mpo_data(const guchar *data, guint size);
 void jpeg_mpo_data_free(MPOData *mpo);
 
-#endif
\ No newline at end of file
+#endif
+
+/* vim: set shiftwidth=8 softtabstop=0 cindent cinoptions={1s: */
--- a/src/layout.c	Sun May 27 18:41:56 2012 +0100
+++ b/src/layout.c	Tue Oct 02 22:19:13 2012 +0100
@@ -1,7 +1,7 @@
 /*
  * Geeqie
  * (C) 2006 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * Author: John Ellis
  *
@@ -118,7 +118,7 @@
 	GList *work;
 
 	if (!id || !id[0]) return NULL;
-	
+
 	if (strcmp(id, LAYOUT_ID_CURRENT) == 0)
 		{
 		if (current_lw) return current_lw;
@@ -144,16 +144,16 @@
 	char id[10];
 	gint i;
 	if (lw->options.id && lw->options.id[0]) return; /* id is already set */
-	
+
 	g_free(lw->options.id);
 	lw->options.id = NULL;
-	
+
 	if (!layout_find_by_layout_id("main"))
 		{
 		lw->options.id = g_strdup("main");
 		return;
 		}
-	
+
 	i = 1;
 	while (TRUE)
 		{
@@ -203,7 +203,7 @@
 
 	buf = g_strdup(path);
 	parse_out_relatives(buf);
-	
+
 	if (isdir(buf))
 		{
 		if ((!lw->dir_fd || strcmp(lw->dir_fd->path, buf) != 0) && layout_set_path(lw, buf))
@@ -225,7 +225,7 @@
 			}
 		g_free(base);
 		}
-		
+
 	g_free(buf);
 }
 
@@ -284,7 +284,7 @@
 	gtk_box_pack_start(GTK_BOX(box), tabcomp, FALSE, FALSE, 0);
 	gtk_widget_show(tabcomp);
 
-	g_signal_connect(G_OBJECT(lw->path_entry->parent), "changed",
+	g_signal_connect(G_OBJECT(gtk_widget_get_parent(lw->path_entry)), "changed",
 			 G_CALLBACK(layout_path_entry_changed_cb), lw);
 
 	lw->vd = vd_new(lw->options.dir_view_type, lw->dir_fd);
@@ -332,11 +332,7 @@
 static void layout_sort_menu_hide_cb(GtkWidget *widget, gpointer data)
 {
 	/* destroy the menu */
-#if GTK_CHECK_VERSION(2,12,0)
 	g_object_unref(widget);
-#else
-	gtk_widget_unref(GTK_WIDGET(widget));
-#endif
 }
 
 static void layout_sort_button_press_cb(GtkWidget *widget, gpointer data)
@@ -417,9 +413,9 @@
 		{
 		guint n;
 		gint64 n_bytes = 0;
-	
+
 		n = layout_list_count(lw, &n_bytes);
-		
+
 		if (n)
 			{
 			guint s;
@@ -441,11 +437,11 @@
 				{
 				ss = "";
 				}
-	
+
 			s = layout_selection_count(lw, &s_bytes);
-	
+
 			layout_bars_new_selection(lw, s);
-	
+
 			if (s > 0)
 				{
 				gchar *b = text_from_size_abrev(n_bytes);
@@ -464,9 +460,9 @@
 				{
 				buf = g_strdup_printf(_("%d files%s"), n, ss);
 				}
-	
+
 			text = buf;
-	
+
 			image_osd_update(lw->image);
 			}
 		else
@@ -474,7 +470,7 @@
 			text = "";
 			}
 	}
-	
+
 	if (lw->info_status) gtk_label_set_text(GTK_LABEL(lw->info_status), text);
 	g_free(buf);
 }
@@ -482,11 +478,12 @@
 void layout_status_update_image(LayoutWindow *lw)
 {
 	guint64 n;
-	
+
 	if (!layout_valid(&lw) || !lw->image) return;
+	if (!lw->info_zoom || !lw->info_details) return; /*called from layout_style_set */
 
 	n = layout_list_count(lw, NULL);
-	
+
 	if (!n)
 		{
 		gtk_label_set_text(GTK_LABEL(lw->info_zoom), "");
@@ -517,16 +514,16 @@
 		else
 			{
 			gint width, height;
-	
+
 			image_get_image_size(lw->image, &width, &height);
 			text = g_strdup_printf(_("( %d x %d ) %s bytes"),
 					       width, height, b);
 			}
 
 		g_signal_emit_by_name (lw->image->pr, "update-pixel");
-		
+
 		g_free(b);
-		
+
 		gtk_label_set_text(GTK_LABEL(lw->info_details), text);
 		g_free(text);
 		}
@@ -614,7 +611,7 @@
 		}
 	lw->info_details = layout_status_label(NULL, hbox, TRUE, 0, TRUE);
 	toolbar = layout_actions_toolbar(lw, TOOLBAR_STATUS);
-	
+
 	toolbar_frame = gtk_frame_new(NULL);
 	gtk_frame_set_shadow_type(GTK_FRAME(toolbar_frame), GTK_SHADOW_IN);
 	gtk_container_add(GTK_CONTAINER(toolbar_frame), toolbar);
@@ -672,7 +669,7 @@
 	vf_set_thumb_status_func(lw->vf, layout_list_thumb_cb, lw);
 
 	vf_marks_set(lw->vf, lw->options.show_marks);
-	
+
 	layout_list_sync_thumb(lw);
 
 	return lw->vf->widget;
@@ -686,9 +683,6 @@
 static void layout_list_scroll_to_subpart(LayoutWindow *lw, const gchar *needle)
 {
 	if (!lw) return;
-#if 0
-	if (lw->vf) vf_scroll_to_subpart(lw->vf, needle);
-#endif
 }
 
 GList *layout_list(LayoutWindow *lw)
@@ -850,7 +844,7 @@
 	gboolean ret;
 
 	if (!path) return FALSE;
-	
+
 	fd = file_data_new_group(path);
 	ret = layout_set_fd(lw, fd);
 	file_data_unref(fd);
@@ -913,7 +907,7 @@
 	if (lw->path_entry) tab_completion_append_to_history(lw->path_entry, lw->dir_fd->path);
 	layout_sync_path(lw);
 	layout_list_sync_sort(lw);
-	
+
 	if (have_file)
 		{
 		gint row;
@@ -1007,7 +1001,7 @@
 	lw->sort_method = type;
 	lw->sort_ascend = ascend;
 
-	if (lw->info_sort) gtk_label_set_text(GTK_LABEL(GTK_BIN(lw->info_sort)->child),
+	if (lw->info_sort) gtk_label_set_text(GTK_LABEL(gtk_bin_get_child(GTK_BIN(lw->info_sort))),
 					      sort_type_get_text(type));
 	layout_list_sync_sort(lw);
 }
@@ -1024,30 +1018,48 @@
 
 gboolean layout_geometry_get(LayoutWindow *lw, gint *x, gint *y, gint *w, gint *h)
 {
+	GdkWindow *window;
 	if (!layout_valid(&lw)) return FALSE;
 
-	gdk_window_get_root_origin(lw->window->window, x, y);
-	gdk_drawable_get_size(lw->window->window, w, h);
+	window = gtk_widget_get_window(lw->window);
+	gdk_window_get_root_origin(window, x, y);
+	*w = gdk_window_get_width(window);
+	*h = gdk_window_get_height(window);
 
 	return TRUE;
 }
 
 gboolean layout_geometry_get_dividers(LayoutWindow *lw, gint *h, gint *v)
 {
+	GtkAllocation h_allocation;
+	GtkAllocation v_allocation;
+
 	if (!layout_valid(&lw)) return FALSE;
 
-	if (lw->h_pane && GTK_PANED(lw->h_pane)->child1->allocation.x >= 0)
+	if (lw->h_pane)
+		{
+		GtkWidget *child = gtk_paned_get_child1(GTK_PANED(lw->h_pane));
+		gtk_widget_get_allocation(child, &h_allocation);
+		}
+
+	if (lw->v_pane)
 		{
-		*h = GTK_PANED(lw->h_pane)->child1->allocation.width;
+		GtkWidget *child = gtk_paned_get_child1(GTK_PANED(lw->v_pane));
+		gtk_widget_get_allocation(child, &v_allocation);
+		}
+
+	if (lw->h_pane && h_allocation.x >= 0)
+		{
+		*h = h_allocation.width;
 		}
 	else if (h != &lw->options.main_window.hdivider_pos)
 		{
 		*h = lw->options.main_window.hdivider_pos;
 		}
 
-	if (lw->v_pane && GTK_PANED(lw->v_pane)->child1->allocation.x >= 0)
+	if (lw->v_pane && v_allocation.x >= 0)
 		{
-		*v = GTK_PANED(lw->v_pane)->child1->allocation.height;
+		*v = v_allocation.height;
 		}
 	else if (v != &lw->options.main_window.vdivider_pos)
 		{
@@ -1141,13 +1153,11 @@
 
 gboolean layout_geometry_get_tools(LayoutWindow *lw, gint *x, gint *y, gint *w, gint *h, gint *divider_pos)
 {
+	GdkWindow *window;
+	GtkAllocation allocation;
 	if (!layout_valid(&lw)) return FALSE;
 
-#if GTK_CHECK_VERSION(2,20,0)
 	if (!lw->tools || !gtk_widget_get_visible(lw->tools))
-#else
-	if (!lw->tools || !GTK_WIDGET_VISIBLE(lw->tools))
-#endif
 		{
 		/* use the stored values (sort of breaks success return value) */
 
@@ -1156,16 +1166,19 @@
 		return FALSE;
 		}
 
-	gdk_window_get_root_origin(lw->tools->window, x, y);
-	gdk_drawable_get_size(lw->tools->window, w, h);
+	window = gtk_widget_get_window(lw->window);
+	gdk_window_get_root_origin(window, x, y);
+	*w = gdk_window_get_width(window);
+	*h = gdk_window_get_height(window);
+	gtk_widget_get_allocation(gtk_paned_get_child1(GTK_PANED(lw->tools_pane)), &allocation);
 
 	if (GTK_IS_VPANED(lw->tools_pane))
 		{
-		*divider_pos = GTK_PANED(lw->tools_pane)->child1->allocation.height;
+		*divider_pos = allocation.height;
 		}
 	else
 		{
-		*divider_pos = GTK_PANED(lw->tools_pane)->child1->allocation.width;
+		*divider_pos = allocation.width;
 		}
 
 	return TRUE;
@@ -1183,11 +1196,7 @@
 
 	if (hide)
 		{
-#if GTK_CHECK_VERSION(2,20,0)
 		if (gtk_widget_get_visible(lw->tools))
-#else
-		if (GTK_WIDGET_VISIBLE(lw->tools))
-#endif
 			{
 			layout_tools_geometry_sync(lw);
 			gtk_widget_hide(lw->tools);
@@ -1195,11 +1204,7 @@
 		}
 	else
 		{
-#if GTK_CHECK_VERSION(2,20,0)
 		if (!gtk_widget_get_visible(lw->tools))
-#else
-		if (!GTK_WIDGET_VISIBLE(lw->tools))
-#endif
 			{
 			gtk_widget_show(lw->tools);
 			if (lw->vf) vf_refresh(lw->vf);
@@ -1227,10 +1232,6 @@
 
 	vertical = (layout_location_single(lw->image_location) && !layout_location_vertical(lw->image_location)) ||
 		   (!layout_location_single(lw->image_location) && layout_location_vertical(layout_grid_compass(lw)));
-#if 0
-	layout_location_compute(lw->dir_location, lw->file_location,
-				tools, files, &w1, &w2);
-#endif
 	/* for now, tools/dir are always first in order */
 	w1 = tools;
 	w2 = files;
@@ -1271,7 +1272,7 @@
 		{
 		layout_tools_geometry_sync(lw);
 		/* dump the contents */
-		gtk_widget_destroy(GTK_BIN(lw->tools)->child);
+		gtk_widget_destroy(gtk_bin_get_child(GTK_BIN(lw->tools)));
 		}
 
 	layout_actions_add_window(lw, lw->tools);
@@ -1400,8 +1401,8 @@
 		if (lw->split_images[i])
 			{
 			gtk_widget_hide(lw->split_images[i]->widget);
-			if (lw->split_images[i]->widget->parent != lw->utility_paned)
-				gtk_container_remove(GTK_CONTAINER(lw->split_images[i]->widget->parent), lw->split_images[i]->widget);
+			if (gtk_widget_get_parent(lw->split_images[i]->widget) != lw->utility_paned)
+				gtk_container_remove(GTK_CONTAINER(gtk_widget_get_parent(lw->split_images[i]->widget)), lw->split_images[i]->widget);
 			}
 		}
 	gtk_container_remove(GTK_CONTAINER(lw->utility_paned), lw->split_image_widget);
@@ -1443,7 +1444,7 @@
 		image = layout_image_setup_split(lw, lw->split_mode);
 		image_sb = layout_bars_prepare(lw, image);
 		}
-	
+
 	tools = layout_tools_new(lw);
 	files = layout_list_new(lw);
 
@@ -1549,7 +1550,7 @@
 
 	/* remember state */
 
-	/* layout_image_slideshow_stop(lw); slideshow should survive */ 
+	/* layout_image_slideshow_stop(lw); slideshow should survive */
 	layout_image_full_screen_stop(lw);
 
 	dir_fd = lw->dir_fd;
@@ -1560,10 +1561,10 @@
 
 	/* preserve utility_box (image + sidebars), menu_bar and toolbars to be reused later in layout_grid_setup */
 	/* lw->image is preserved together with lw->utility_box */
-	if (lw->utility_box) gtk_container_remove(GTK_CONTAINER(lw->utility_box->parent), lw->utility_box);
-	if (lw->menu_bar) gtk_container_remove(GTK_CONTAINER(lw->menu_bar->parent), lw->menu_bar);
+	if (lw->utility_box) gtk_container_remove(GTK_CONTAINER(gtk_widget_get_parent(lw->utility_box)), lw->utility_box);
+	if (lw->menu_bar) gtk_container_remove(GTK_CONTAINER(gtk_widget_get_parent(lw->menu_bar)), lw->menu_bar);
 	for (i = 0; i < TOOLBAR_COUNT; i++)
-		if (lw->toolbar[i]) gtk_container_remove(GTK_CONTAINER(lw->toolbar[i]->parent), lw->toolbar[i]);
+		if (lw->toolbar[i]) gtk_container_remove(GTK_CONTAINER(gtk_widget_get_parent(lw->toolbar[i])), lw->toolbar[i]);
 
 	/* clear it all */
 
@@ -1633,7 +1634,7 @@
 		gint i;
 		LayoutWindow *lw = work->data;
 		work = work->next;
-		
+
 		if (!lw->image) continue;
 
 		for (i = 0; i < MAX_SPLIT_IMAGES; i++)
@@ -1641,7 +1642,7 @@
 			if (!lw->split_images[i]) continue;
 			image_background_set_color_from_options(lw->split_images[i], !!lw->full_screen);
 			}
-		
+
 		image_background_set_color_from_options(lw->image, !!lw->full_screen);
 		}
 }
@@ -1725,26 +1726,18 @@
 
 	if (lw->options.toolbar_hidden)
 		{
-#if GTK_CHECK_VERSION(2,20,0)
 		if (gtk_widget_get_visible(lw->toolbar[TOOLBAR_MAIN])) gtk_widget_hide(lw->toolbar[TOOLBAR_MAIN]);
-#else
-		if (GTK_WIDGET_VISIBLE(lw->toolbar[TOOLBAR_MAIN])) gtk_widget_hide(lw->toolbar[TOOLBAR_MAIN]);
-#endif
 		}
 	else
 		{
-#if GTK_CHECK_VERSION(2,20,0)
 		if (!gtk_widget_get_visible(lw->toolbar[TOOLBAR_MAIN])) gtk_widget_show(lw->toolbar[TOOLBAR_MAIN]);
-#else
-		if (!GTK_WIDGET_VISIBLE(lw->toolbar[TOOLBAR_MAIN])) gtk_widget_show(lw->toolbar[TOOLBAR_MAIN]);
-#endif
 		}
 }
 
 void layout_info_pixel_set(LayoutWindow *lw, gboolean show)
 {
 	GtkWidget *frame;
-	
+
 	if (!layout_valid(&lw)) return;
 	if (!lw->info_pixel) return;
 
@@ -1759,7 +1752,7 @@
 		{
 		gtk_widget_show(frame);
 		}
-	
+
 	g_signal_emit_by_name (lw->image->pr, "update-pixel");
 }
 
@@ -1780,7 +1773,7 @@
 	GtkWidget *configwindow;
 	GtkWidget *home_path_entry;
 	GtkWidget *layout_widget;
-	
+
 	LayoutOptions options;
 };
 
@@ -1789,7 +1782,7 @@
 static void layout_config_close_cb(GtkWidget *widget, gpointer data)
 {
 	LayoutConfig *lc = data;
-	
+
 	gtk_widget_destroy(lc->configwindow);
 	free_layout_options_content(&lc->options);
 	g_free(lc);
@@ -1804,7 +1797,7 @@
 static void layout_config_apply_cb(GtkWidget *widget, gpointer data)
 {
 	LayoutConfig *lc = data;
-	
+
 	g_free(lc->options.order);
 	lc->options.order = layout_config_get(lc->layout_widget, &lc->options.style);
 
@@ -1893,7 +1886,7 @@
 	button = pref_button_new(NULL, GTK_STOCK_OK, NULL, FALSE,
 				 G_CALLBACK(layout_config_ok_cb), lc);
 	gtk_container_add(GTK_CONTAINER(hbox), button);
-	GTK_WIDGET_SET_FLAGS(button, GTK_CAN_DEFAULT);
+	gtk_widget_set_can_default(button, TRUE);
 	gtk_widget_grab_default(button);
 	gtk_widget_show(button);
 
@@ -1904,17 +1897,17 @@
 	gtk_container_add(GTK_CONTAINER(hbox), button);
 	GTK_WIDGET_SET_FLAGS(button, GTK_CAN_DEFAULT);
 	gtk_widget_show(button);
-*/	
+*/
 	button = pref_button_new(NULL, GTK_STOCK_APPLY, NULL, FALSE,
 				 G_CALLBACK(layout_config_apply_cb), lc);
 	gtk_container_add(GTK_CONTAINER(hbox), button);
-	GTK_WIDGET_SET_FLAGS(button, GTK_CAN_DEFAULT);
+	gtk_widget_set_can_default(button, TRUE);
 	gtk_widget_show(button);
 
 	button = pref_button_new(NULL, GTK_STOCK_CANCEL, NULL, FALSE,
 				 G_CALLBACK(layout_config_close_cb), lc);
 	gtk_container_add(GTK_CONTAINER(hbox), button);
-	GTK_WIDGET_SET_FLAGS(button, GTK_CAN_DEFAULT);
+	gtk_widget_set_can_default(button, TRUE);
 	gtk_widget_show(button);
 
 	if (!generic_dialog_get_alternative_button_order(lc->configwindow))
@@ -1923,7 +1916,7 @@
 		}
 
 	frame = pref_frame_new(win_vbox, TRUE, NULL, GTK_ORIENTATION_VERTICAL, PREF_PAD_GAP);
-	
+
 	vbox = gtk_vbox_new(FALSE, PREF_PAD_SPACE);
 	gtk_container_add(GTK_CONTAINER(frame), vbox);
 	gtk_widget_show(vbox);
@@ -1997,7 +1990,7 @@
 
 	lw->options.image_overlay.state = image_osd_get(lw->image);
 	histogram = image_osd_get_histogram(lw->image);
-	
+
 	lw->options.image_overlay.histogram_channel = histogram->histogram_channel;
 	lw->options.image_overlay.histogram_mode = histogram->histogram_mode;
 
@@ -2044,7 +2037,7 @@
 	if (current_lw == lw) current_lw = NULL;
 
 	if (lw->exif_window) g_signal_handlers_disconnect_matched(G_OBJECT(lw->exif_window), G_SIGNAL_MATCH_DATA, 0, 0, NULL, NULL, lw);
-		
+
 	layout_bars_close(lw);
 
 	g_object_unref(lw->menu_bar);
@@ -2055,9 +2048,9 @@
 		if (lw->toolbar[i]) g_object_unref(lw->toolbar[i]);
 		string_list_free(lw->toolbar_actions[i]);
 		}
-	
+
 	gtk_widget_destroy(lw->window);
-	
+
 	if (lw->split_image_sizegroup) g_object_unref(lw->split_image_sizegroup);
 
 	file_data_unregister_notify_func(layout_image_notify_cb, lw);
@@ -2193,7 +2186,7 @@
 		GdkPixbuf *pixbuf;
 
 		pixbuf = pixbuf_inline(PIXBUF_INLINE_LOGO);
-		
+
 		/* FIXME: the zoom value set here is the value, which is then copied again and again
 		   in "Leave Zoom at previous setting" mode. This is not ideal.  */
 		image_change_pixbuf(lw->image, pixbuf, 0.0, FALSE);
@@ -2213,7 +2206,7 @@
 
 	image_osd_set(lw->image, lw->options.image_overlay.state);
 	histogram = image_osd_get_histogram(lw->image);
-	
+
 	histogram->histogram_channel = lw->options.image_overlay.histogram_channel;
 	histogram->histogram_mode = lw->options.image_overlay.histogram_mode;
 
@@ -2285,7 +2278,7 @@
 
 	bar_sort_write_config(lw->bar_sort, outstr, indent + 1);
 	bar_write_config(lw->bar, outstr, indent + 1);
-	
+
 	layout_toolbar_write_config(lw, TOOLBAR_MAIN, outstr, indent + 1);
 	layout_toolbar_write_config(lw, TOOLBAR_STATUS, outstr, indent + 1);
 
@@ -2295,7 +2288,7 @@
 void layout_load_attributes(LayoutOptions *layout, const gchar **attribute_names, const gchar **attribute_values)
 {
 	gchar *id = NULL;
-	
+
 	while (*attribute_names)
 		{
 		const gchar *option = *attribute_names++;
@@ -2306,7 +2299,7 @@
 
 		if (READ_INT(*layout, style)) continue;
 		if (READ_CHAR(*layout, order)) continue;
-		
+
 		if (READ_UINT(*layout, dir_view_type)) continue;
 		if (READ_UINT(*layout, file_view_type)) continue;
 		if (READ_BOOL(*layout, show_marks)) continue;
@@ -2332,7 +2325,7 @@
 		if (READ_INT(*layout, float_window.w)) continue;
 		if (READ_INT(*layout, float_window.h)) continue;
 		if (READ_INT(*layout, float_window.vdivider_pos)) continue;
-	
+
 		if (READ_INT(*layout, properties_window.w)) continue;
 		if (READ_INT(*layout, properties_window.h)) continue;
 
@@ -2372,7 +2365,7 @@
 			*path = get_current_dir();
 			break;
 		}
-}	
+}
 
 
 static void layout_config_commandline(LayoutOptions *lop, gchar **path)
@@ -2390,7 +2383,7 @@
 		*path = g_strdup(command_line->path);
 		}
 	else layout_config_startup_path(lop, path);
-	
+
 	if (command_line->tools_show)
 		{
 		lop->tools_float = FALSE;
@@ -2407,16 +2400,16 @@
 	LayoutOptions lop;
 	LayoutWindow *lw;
 	gchar *path = NULL;
-	
+
 	init_layout_options(&lop);
 
 	if (attribute_names) layout_load_attributes(&lop, attribute_names, attribute_values);
-	
+
 	if (use_commandline)
 		{
 		layout_config_commandline(&lop, &path);
 		}
-	else 
+	else
 		{
 		layout_config_startup_path(&lop, &path);
 		}
@@ -2437,13 +2430,13 @@
 void layout_update_from_config(LayoutWindow *lw, const gchar **attribute_names, const gchar **attribute_values)
 {
 	LayoutOptions lop;
-	
+
 	init_layout_options(&lop);
 
 	if (attribute_names) layout_load_attributes(&lop, attribute_names, attribute_values);
 
 	layout_apply_options(lw, &lop);
-		
+
 	free_layout_options_content(&lop);
 }
 
--- a/src/layout.h	Sun May 27 18:41:56 2012 +0100
+++ b/src/layout.h	Tue Oct 02 22:19:13 2012 +0100
@@ -1,7 +1,7 @@
 /*
  * Geeqie
  * (C) 2004 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * Author: John Ellis
  *
--- a/src/layout_config.c	Sun May 27 18:41:56 2012 +0100
+++ b/src/layout_config.c	Tue Oct 02 22:19:13 2012 +0100
@@ -1,7 +1,7 @@
 /*
  * Geeqie
  * (C) 2004 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * Author: John Ellis
  *
@@ -222,7 +222,7 @@
 
 	button = gtk_button_new_with_label(text);
 	gtk_widget_set_sensitive(button, FALSE);
-	GTK_WIDGET_UNSET_FLAGS(button, GTK_CAN_FOCUS);
+	gtk_widget_set_can_focus(button, FALSE);
 	gtk_table_attach_defaults(GTK_TABLE(table), button, x1, x2, y1, y2);
 	gtk_widget_show(button);
 }
@@ -264,21 +264,6 @@
 	return group;
 }
 
-#if 0
-static void layout_config_row_move(GtkWidget *clist, gint source_row, gint dest_row, gpointer data)
-{
-	gchar *text;
-	gint i;
-
-	for (i = 0; i < 3; i++)
-		{
-		text = g_strdup_printf("%d", i + 1);
-		gtk_clist_set_text(GTK_CLIST(clist), i, 0, text);
-		g_free(text);
-		}
-}
-#endif
-
 static void layout_config_number_cb(GtkTreeViewColumn *tree_column, GtkCellRenderer *cell,
 				    GtkTreeModel *store, GtkTreeIter *iter, gpointer data)
 {
--- a/src/layout_config.h	Sun May 27 18:41:56 2012 +0100
+++ b/src/layout_config.h	Tue Oct 02 22:19:13 2012 +0100
@@ -1,7 +1,7 @@
 /*
  * Geeqie
  * (C) 2004 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * Author: John Ellis
  *
--- a/src/layout_image.c	Sun May 27 18:41:56 2012 +0100
+++ b/src/layout_image.c	Tue Oct 02 22:19:13 2012 +0100
@@ -1,7 +1,7 @@
 /*
  * Geeqie
  * (C) 2006 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * Author: John Ellis
  *
@@ -64,7 +64,8 @@
 	LayoutWindow *lw = data;
 
 	/* restore image window */
-	lw->image = fs->normal_imd;
+	if (lw->image == fs->imd)
+		lw->image = fs->normal_imd;
 
 	lw->full_screen = NULL;
 }
@@ -79,7 +80,8 @@
 					   layout_image_full_screen_stop_func, lw);
 
 	/* set to new image window */
-	lw->image = lw->full_screen->imd;
+	if (lw->full_screen->same_region)
+		lw->image = lw->full_screen->imd;
 
 	layout_image_set_buttons(lw);
 
@@ -87,10 +89,6 @@
 			 G_CALLBACK(layout_key_press_cb), lw);
 
 	layout_actions_add_window(lw, lw->full_screen->window);
-#if 0
-	gtk_widget_set_sensitive(lw->window, FALSE);
-	if (lw->tools) gtk_widget_set_sensitive(lw->tools, FALSE);
-#endif
 
 	image_osd_copy_status(lw->full_screen->normal_imd, lw->image);
 }
@@ -100,14 +98,10 @@
 	if (!layout_valid(&lw)) return;
 	if (!lw->full_screen) return;
 
-	image_osd_copy_status(lw->image, lw->full_screen->normal_imd);
+	if (lw->image == lw->full_screen->imd)
+		image_osd_copy_status(lw->image, lw->full_screen->normal_imd);
 
 	fullscreen_stop(lw->full_screen);
-
-#if 0
-	gtk_widget_set_sensitive(lw->window, TRUE);
-	if (lw->tools) gtk_widget_set_sensitive(lw->tools, TRUE);
-#endif
 }
 
 void layout_image_full_screen_toggle(LayoutWindow *lw)
@@ -468,7 +462,7 @@
 		else
 			list = g_list_append(NULL, file_data_ref(fd));
 		}
-	
+
 	return list;
 }
 
@@ -518,7 +512,7 @@
 	if (!path) gtk_widget_set_sensitive(item, FALSE);
 	item = menu_item_add_stock(menu, _("_Delete..."), GTK_STOCK_DELETE, G_CALLBACK(li_pop_menu_delete_cb), lw);
 	if (!path) gtk_widget_set_sensitive(item, FALSE);
-	
+
 	item = menu_item_add(menu, _("_Copy path"), G_CALLBACK(li_pop_menu_copy_path_cb), lw);
 	if (!path) gtk_widget_set_sensitive(item, FALSE);
 
@@ -567,7 +561,7 @@
 {
 	LayoutWindow *lw = data;
 
-	gdk_window_get_origin(lw->image->pr->window, x, y);
+	gdk_window_get_origin(gtk_widget_get_window(lw->image->pr), x, y);
 	popup_menu_position_clamp(menu, x, y, 0);
 }
 
@@ -614,13 +608,13 @@
 
 		if (info == TARGET_URI_LIST)
 			{
-			list = uri_filelist_from_text((gchar *)selection_data->data, TRUE);
+			list = uri_filelist_from_gtk_selection_data(selection_data);
 			source = NULL;
 			info_list = NULL;
 			}
 		else
 			{
-			source = collection_from_dnd_data((gchar *)selection_data->data, &list, &info_list);
+			source = collection_from_dnd_data((gchar *)gtk_selection_data_get_data(selection_data), &list, &info_list);
 			}
 
 		if (list)
@@ -692,34 +686,15 @@
 
 	if (fd)
 		{
-		gchar *text = NULL;
-		gint len;
-		gboolean plain_text;
 		GList *list;
 
-		switch (info)
-			{
-			case TARGET_URI_LIST:
-				plain_text = FALSE;
-				break;
-			case TARGET_TEXT_PLAIN:
-			default:
-				plain_text = TRUE;
-				break;
-			}
 		list = g_list_append(NULL, fd);
-		text = uri_text_from_filelist(list, &len, plain_text);
+		uri_selection_data_set_uris_from_filelist(selection_data, list);
 		g_list_free(list);
-		if (text)
-			{
-			gtk_selection_data_set(selection_data, selection_data->target,
-					       8, (guchar *)text, len);
-			g_free(text);
-			}
 		}
 	else
 		{
-		gtk_selection_data_set(selection_data, selection_data->target,
+		gtk_selection_data_set(selection_data, gtk_selection_data_get_target(selection_data),
 				       8, NULL, 0);
 		}
 }
@@ -727,7 +702,7 @@
 static void layout_image_dnd_end(GtkWidget *widget, GdkDragContext *context, gpointer data)
 {
 	LayoutWindow *lw = data;
-	if (context->action == GDK_ACTION_MOVE)
+	if (gdk_drag_context_get_selected_action(context) == GDK_ACTION_MOVE)
 		{
 		FileData *fd;
 		gint row;
@@ -797,12 +772,17 @@
 
 	image_scroll(lw->image, x, y);
 
+	if (lw->full_screen && lw->image != lw->full_screen->imd)
+		{
+		image_scroll(lw->full_screen->imd, x, y);
+		}
+
 	if (!connect_scroll) return;
 
 	image_get_image_size(lw->image, &width, &height);
 	dx = (gdouble) x / width;
 	dy = (gdouble) y / height;
-	
+
 	for (i = 0; i < MAX_SPLIT_IMAGES; i++)
 		{
 		if (lw->split_images[i] && lw->split_images[i] != lw->image)
@@ -824,6 +804,11 @@
 
 	image_zoom_adjust(lw->image, increment);
 
+	if (lw->full_screen && lw->image != lw->full_screen->imd)
+		{
+		image_zoom_adjust(lw->full_screen->imd, increment);
+		}
+
 	if (!connect_zoom) return;
 
 	for (i = 0; i < MAX_SPLIT_IMAGES; i++)
@@ -840,6 +825,11 @@
 
 	image_zoom_adjust_at_point(lw->image, increment, x, y);
 
+	if (lw->full_screen && lw->image != lw->full_screen->imd)
+		{
+		image_zoom_adjust_at_point(lw->full_screen->imd, increment, x, y);
+		}
+
 	if (!connect_zoom) return;
 
 	for (i = 0; i < MAX_SPLIT_IMAGES; i++)
@@ -856,6 +846,11 @@
 
 	image_zoom_set(lw->image, zoom);
 
+	if (lw->full_screen && lw->image != lw->full_screen->imd)
+		{
+		image_zoom_set(lw->full_screen->imd, zoom);
+		}
+
 	if (!connect_zoom) return;
 
 	for (i = 0; i < MAX_SPLIT_IMAGES; i++)
@@ -872,6 +867,11 @@
 
 	image_zoom_set_fill_geometry(lw->image, vertical);
 
+	if (lw->full_screen && lw->image != lw->full_screen->imd)
+		{
+		image_zoom_set_fill_geometry(lw->full_screen->imd, vertical);
+		}
+
 	if (!connect_zoom) return;
 
 	for (i = 0; i < MAX_SPLIT_IMAGES; i++)
@@ -984,6 +984,12 @@
 
 	image_change_fd(lw->image, fd, image_zoom_get_default(lw->image));
 
+	if (lw->full_screen && lw->image != lw->full_screen->imd)
+		{
+		image_change_fd(lw->full_screen->imd, fd, image_zoom_get_default(lw->full_screen->imd));
+		}
+
+
 	layout_list_sync_fd(lw, fd);
 	layout_image_slideshow_continue_check(lw);
 	layout_bars_new_image(lw);
@@ -1477,6 +1483,23 @@
 {
 	gint i;
 	LayoutWindow *lw = data;
+	gdouble sx, sy;
+
+	if (lw->full_screen && lw->image != lw->full_screen->imd &&
+	    imd != lw->full_screen->imd)
+		{
+		if (event->state & GDK_CONTROL_MASK)
+			{
+			image_get_scroll_center(imd, &sx, &sy);
+			}
+		else
+			{
+			image_get_scroll_center(lw->full_screen->imd, &sx, &sy);
+			sx += dx;
+			sy += dy;
+			}
+		image_set_scroll_center(lw->full_screen->imd, sx, sy);
+		}
 
 	if (!(event->state & GDK_SHIFT_MASK)) return;
 
@@ -1484,7 +1507,6 @@
 		{
 		if (lw->split_images[i] && lw->split_images[i] != imd)
 			{
-			gdouble sx, sy;
 
 			if (event->state & GDK_CONTROL_MASK)
 				{
@@ -1583,19 +1605,19 @@
 	if (width < 1 || height < 1) return;
 
 	pixbuf_renderer_get_mouse_position(pr, &x_pixel, &y_pixel);
-	
+
 	if(x_pixel >= 0 && y_pixel >= 0)
 		{
 		gint r_mouse, g_mouse, b_mouse;
-			
+
 		pixbuf_renderer_get_pixel_colors(pr, x_pixel, y_pixel,
-						 &r_mouse, &g_mouse, &b_mouse);			
-		
+						 &r_mouse, &g_mouse, &b_mouse);
+
 		text = g_strdup_printf(_("[%*d,%*d]: RGB(%3d,%3d,%3d)"),
 					 num_length(width - 1), x_pixel,
 					 num_length(height - 1), y_pixel,
 					 r_mouse, g_mouse, b_mouse);
-		
+
 		}
 	else
 		{
@@ -1633,11 +1655,7 @@
 		{
 		lw->split_images[i] = image_new(TRUE);
 
-#if GTK_CHECK_VERSION(2,12,0)
 		g_object_ref(lw->split_images[i]->widget);
-#else
-		gtk_widget_ref(lw->split_images[i]->widget);
-#endif
 
 		g_signal_connect(G_OBJECT(lw->split_images[i]->pr), "update-pixel",
 				 G_CALLBACK(layout_status_update_pixel_cb), lw);
@@ -1709,6 +1727,7 @@
 //		layout_list_sync_path(lw, path);
 		layout_set_fd(lw, fd);
 		}
+	layout_status_update_image(lw);
 }
 
 
@@ -1726,7 +1745,7 @@
 			layout_image_new(lw, i);
 			image_set_frame(lw->split_images[i], frame);
 			image_set_selectable(lw->split_images[i], (n > 1));
-			
+
 			if (lw->image)
 				{
 				image_osd_copy_status(lw->image, lw->split_images[i]);
@@ -1736,14 +1755,14 @@
 				{
 				GList *work = g_list_last(layout_selection_list(lw));
 				gint j = 0;
-				
+
 				if (work) work = work->prev;
 
 				while (work && j < i)
 					{
 					FileData *fd = work->data;
 					work = work->prev;
-					
+
 					j++;
 					if (!fd || !*fd->path) continue;
 					img_fd = fd;
@@ -1775,15 +1794,11 @@
 		{
 		if (lw->split_images[i])
 			{
-#if GTK_CHECK_VERSION(2,12,0)
 			g_object_unref(lw->split_images[i]->widget);
-#else
-			gtk_widget_unref(lw->split_images[i]->widget);
-#endif
 			lw->split_images[i] = NULL;
 			}
 		}
-	
+
 	if (!lw->image || lw->active_split_image < 0 || lw->active_split_image >= n)
 		{
 		layout_image_activate(lw, 0, TRUE);
@@ -1799,7 +1814,7 @@
 GtkWidget *layout_image_setup_split_none(LayoutWindow *lw)
 {
 	lw->split_mode = SPLIT_NONE;
-	
+
 	layout_image_setup_split_common(lw, 1);
 
 	lw->split_image_widget = lw->split_images[0]->widget;
@@ -1811,7 +1826,7 @@
 GtkWidget *layout_image_setup_split_hv(LayoutWindow *lw, gboolean horizontal)
 {
 	GtkWidget *paned;
-	
+
 	lw->split_mode = horizontal ? SPLIT_HOR : SPLIT_VERT;
 
 	layout_image_setup_split_common(lw, 2);
@@ -1923,8 +1938,8 @@
 				}
 			layout_image_set_fd(lw, NULL);
 			}
-			
-		/* the image will be set to the next image from the list soon,  
+
+		/* the image will be set to the next image from the list soon,
 		   setting it to NULL here is not necessary*/
 		}
 }
@@ -1937,7 +1952,7 @@
 	if (!(type & NOTIFY_CHANGE) || !fd->change) return;
 
 	DEBUG_1("Notify layout_image: %s %04x", fd->path, type);
-	
+
 	switch (fd->change->type)
 		{
 		case FILEDATA_CHANGE_MOVE:
--- a/src/layout_image.h	Sun May 27 18:41:56 2012 +0100
+++ b/src/layout_image.h	Tue Oct 02 22:19:13 2012 +0100
@@ -1,7 +1,7 @@
 /*
  * Geeqie
  * (C) 2006 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * Author: John Ellis
  *
--- a/src/layout_util.c	Sun May 27 18:41:56 2012 +0100
+++ b/src/layout_util.c	Tue Oct 02 22:19:13 2012 +0100
@@ -1,7 +1,7 @@
 /*
  * Geeqie
  * (C) 2004 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * Author: John Ellis
  *
@@ -64,10 +64,10 @@
  */
 
 static guint tree_key_overrides[] = {
-	GDK_Page_Up,	GDK_KP_Page_Up,
-	GDK_Page_Down,	GDK_KP_Page_Down,
-	GDK_Home,	GDK_KP_Home,
-	GDK_End,	GDK_KP_End
+	GDK_KEY_Page_Up,	GDK_KEY_KP_Page_Up,
+	GDK_KEY_Page_Down,	GDK_KEY_KP_Page_Down,
+	GDK_KEY_Home,	GDK_KEY_KP_Home,
+	GDK_KEY_End,	GDK_KEY_KP_End
 };
 
 static gboolean layout_key_match(guint keyval)
@@ -85,17 +85,14 @@
 gboolean layout_key_press_cb(GtkWidget *widget, GdkEventKey *event, gpointer data)
 {
 	LayoutWindow *lw = data;
+	GtkWidget *focused;
 	gboolean stop_signal = FALSE;
 	gint x = 0;
 	gint y = 0;
 
-#if GTK_CHECK_VERSION(2,20,0)
 	if (lw->path_entry && gtk_widget_has_focus(lw->path_entry))
-#else
-	if (lw->path_entry && GTK_WIDGET_HAS_FOCUS(lw->path_entry))
-#endif
 		{
-		if (event->keyval == GDK_Escape && lw->dir_fd)
+		if (event->keyval == GDK_KEY_Escape && lw->dir_fd)
 			{
 			gtk_entry_set_text(GTK_ENTRY(lw->path_entry), lw->dir_fd->path);
 			}
@@ -108,11 +105,7 @@
 			return TRUE;
 			}
 		}
-#if GTK_CHECK_VERSION(2,20,0)
 	if (lw->vd && lw->options.dir_view_type == DIRVIEW_TREE && gtk_widget_has_focus(lw->vd->view) &&
-#else
-	if (lw->vd && lw->options.dir_view_type == DIRVIEW_TREE && GTK_WIDGET_HAS_FOCUS(lw->vd->view) &&
-#endif
 	    !layout_key_match(event->keyval) &&
 	    gtk_widget_event(lw->vd->view, (GdkEvent *)event))
 		{
@@ -124,32 +117,23 @@
 		return TRUE;
 		}
 
-/*
-	if (event->type == GDK_KEY_PRESS && lw->full_screen &&
-	    gtk_accel_groups_activate(G_OBJECT(lw->window), event->keyval, event->state))
-		return TRUE;
-*/
-
+	focused = gtk_container_get_focus_child(GTK_CONTAINER(lw->image->widget));
 	if (lw->image &&
-#if GTK_CHECK_VERSION(2,20,0)
-	    (gtk_widget_has_focus(lw->image->widget) || (lw->tools && widget == lw->window) || lw->full_screen) )
-#else
-	    (GTK_WIDGET_HAS_FOCUS(lw->image->widget) || (lw->tools && widget == lw->window) || lw->full_screen) )
-#endif
+	    ((focused && gtk_widget_has_focus(focused)) || (lw->tools && widget == lw->window) || lw->full_screen) )
 		{
 		stop_signal = TRUE;
 		switch (event->keyval)
 			{
-			case GDK_Left: case GDK_KP_Left:
+			case GDK_KEY_Left: case GDK_KEY_KP_Left:
 				x -= 1;
 				break;
-			case GDK_Right: case GDK_KP_Right:
+			case GDK_KEY_Right: case GDK_KEY_KP_Right:
 				x += 1;
 				break;
-			case GDK_Up: case GDK_KP_Up:
+			case GDK_KEY_Up: case GDK_KEY_KP_Up:
 				y -= 1;
 				break;
-			case GDK_Down: case GDK_KP_Down:
+			case GDK_KEY_Down: case GDK_KEY_KP_Down:
 				y += 1;
 				break;
 			default:
@@ -163,7 +147,7 @@
 			stop_signal = TRUE;
 			switch (event->keyval)
 				{
-				case GDK_Menu:
+				case GDK_KEY_Menu:
 					layout_image_menu_popup(lw);
 					break;
 				default:
@@ -621,7 +605,7 @@
 static void layout_menu_list_cb(GtkRadioAction *action, GtkRadioAction *current, gpointer data)
 {
 	LayoutWindow *lw = data;
-	
+
 	layout_exit_fullscreen(lw);
 	layout_views_set(lw, lw->options.dir_view_type, (FileViewType) gtk_radio_action_get_current_value(action));
 }
@@ -654,11 +638,6 @@
 	LayoutWindow *lw = data;
 
 	layout_exit_fullscreen(lw);
-
-	/* FIXME:interrupting thumbs no longer allowed */
-#if 0
-	interrupt_thumbs();
-#endif
 }
 
 static void layout_menu_overlay_toggle_cb(GtkAction *action, gpointer data)
@@ -673,18 +652,18 @@
 static void layout_menu_overlay_cb(GtkToggleAction *action, gpointer data)
 {
 	LayoutWindow *lw = data;
-	
+
 	if (gtk_toggle_action_get_active(action))
 		{
 		OsdShowFlags flags = image_osd_get(lw->image);
-		
+
 		if ((flags | OSD_SHOW_INFO | OSD_SHOW_STATUS) != flags)
 			image_osd_set(lw->image, flags | OSD_SHOW_INFO | OSD_SHOW_STATUS);
 		}
 	else
 		{
 		GtkToggleAction *histogram_action = GTK_TOGGLE_ACTION(gtk_action_group_get_action(lw->action_group, "ImageHistogram"));
-		
+
 		image_osd_set(lw->image, OSD_SHOW_NOTHING);
 		gtk_toggle_action_set_active(histogram_action, FALSE); /* this calls layout_menu_histogram_cb */
 		}
@@ -730,7 +709,7 @@
 	GtkToggleAction *histogram_action = GTK_TOGGLE_ACTION(gtk_action_group_get_action(lw->action_group, "ImageHistogram"));
 
 	if (channel < 0 || channel >= HCHAN_COUNT) return;
-	
+
 	gtk_toggle_action_set_active(histogram_action, TRUE); /* this calls layout_menu_histogram_cb */
 	image_osd_histogram_set_channel(lw->image, channel);
 }
@@ -742,7 +721,7 @@
 	GtkToggleAction *histogram_action = GTK_TOGGLE_ACTION(gtk_action_group_get_action(lw->action_group, "ImageHistogram"));
 
 	if (mode < 0 || mode > 1) return;
-	
+
 	gtk_toggle_action_set_active(histogram_action, TRUE); /* this calls layout_menu_histogram_cb */
 	image_osd_histogram_set_mode(lw->image, mode);
 }
@@ -757,7 +736,7 @@
 static void layout_menu_bar_exif_cb(GtkAction *action, gpointer data)
 {
 	LayoutWindow *lw = data;
-	
+
 	layout_exit_fullscreen(lw);
 	layout_exif_window_new(lw);
 }
@@ -841,13 +820,13 @@
 {
 	LayoutWindow *lw = data;
 	gint mode = layout_image_stereo_pixbuf_get(lw);
-	
+
 	/* 0->1, 1->2, 2->3, 3->1 - disable auto, then cycle */
 	mode = mode % 3 + 1;
-	
+
 	GtkAction *radio = gtk_action_group_get_action(lw->action_group, "StereoAuto");
-	radio_action_set_current_value(GTK_RADIO_ACTION(radio), mode);
-	
+	gtk_radio_action_set_current_value(GTK_RADIO_ACTION(radio), mode);
+
 	/*
 	this is called via fallback in layout_menu_stereo_mode_cb
 	layout_image_stereo_pixbuf_set(lw, mode);
@@ -881,7 +860,7 @@
 static void layout_menu_notes_cb(GtkAction *action, gpointer data)
 {
 	LayoutWindow *lw = data;
-	
+
 	layout_exit_fullscreen(lw);
 	help_window_show("release_notes");
 }
@@ -1062,7 +1041,7 @@
 		}
 
 	if (!path) return;
-	
+
 	/* Open previous path */
 	dir_fd = file_data_new_dir(path);
 	layout_set_fd(lw, dir_fd);
@@ -1073,7 +1052,7 @@
 {
 	LayoutWindow *lw = data;
 	const gchar *path;
-	
+
 	if (lw->options.home_path && *lw->options.home_path)
 		path = lw->options.home_path;
 	else
@@ -1098,7 +1077,7 @@
 {
 	LayoutWindow *lw = data;
 	const gchar *key = gtk_action_get_name(action);
-	
+
 	if (!editor_window_flag_set(key))
 		layout_exit_fullscreen(lw);
 
@@ -1692,7 +1671,7 @@
 
 	g_snprintf(name, sizeof(name), name_tmpl, mark);
 	g_snprintf(label, sizeof(label), label_tmpl, mark);
-		
+
 	if (accel_tmpl)
 		g_snprintf(accel, sizeof(accel), accel_tmpl, mark % 10);
 	else
@@ -1702,7 +1681,7 @@
 		g_snprintf(tooltip, sizeof(tooltip), tooltip_tmpl, mark);
 	else
 		entry.tooltip = NULL;
-		
+
 	gtk_action_group_add_actions(lw->action_group, &entry, 1, lw);
 	action = gtk_action_group_get_action(lw->action_group, name);
 	g_object_set_data(G_OBJECT(action), "mark_num", GINT_TO_POINTER(mark));
@@ -1774,23 +1753,23 @@
 	gchar **split = g_strsplit(editor->menu_path, "/", 0);
 	gint i = 0;
 	GList *ret = NULL;
-	
-	if (split[0] == NULL) 
+
+	if (split[0] == NULL)
 		{
 		g_strfreev(split);
 		return NULL;
 		}
-	
+
 	while (split[i])
 		{
 		ret = g_list_prepend(ret, g_strdup(split[i]));
 		i++;
 		}
-	
+
 	g_strfreev(split);
-	
+
 	ret = g_list_prepend(ret, g_strdup(editor->key));
-	
+
 	return g_list_reverse(ret);
 }
 
@@ -1804,13 +1783,13 @@
 		}
 	to_open = g_list_length(path) - 1;
 	to_close = g_list_length(old_path) - 1;
-	
+
 	if (to_close > 0)
 		{
 		old_path = g_list_last(old_path);
 		old_path = old_path->prev;
 		}
-	
+
 	for (i =  0; i < to_close; i++)
 		{
 		gchar *name = old_path->data;
@@ -1846,7 +1825,7 @@
 			}
 		path = path->next;
 		}
-	
+
 	if (path)
 		g_string_append_printf(desc, "      <menuitem action='%s'/>", (gchar *)path->data);
 }
@@ -1858,7 +1837,7 @@
 	GList *work;
 	GList *old_path;
 	GString *desc;
-	
+
 	if (lw->ui_editors_id)
 		{
 		gtk_ui_manager_remove_ui(lw->ui_manager, lw->ui_editors_id);
@@ -1878,29 +1857,29 @@
 				"  <menubar name='MainMenu'>");
 
 	editors_list = editor_list_get();
-	
+
 	old_path = NULL;
 	work = editors_list;
 	while (work)
 		{
 		GList *path;
 		EditorDescription *editor = work->data;
-		GtkActionEntry entry = { editor->key, 
+		GtkActionEntry entry = { editor->key,
 		                         NULL,
 		                         editor->name,
-		                         editor->hotkey, 
+		                         editor->hotkey,
 		                         editor->comment ? editor->comment : editor->name,
 		                         G_CALLBACK(layout_menu_edit_cb) };
-		
+
 		if (editor->icon)
 			{
 			entry.stock_id = editor->key;
 			}
 		gtk_action_group_add_actions(lw->action_group_editors, &entry, 1, lw);
-		
+
 		path = layout_actions_editor_menu_path(editor);
 		layout_actions_editor_add(desc, path, old_path);
-		
+
 		string_list_free(old_path);
 		old_path = path;
 		work = work->next;
@@ -1913,7 +1892,7 @@
 				"</ui>" );
 
 	error = NULL;
-	
+
 	lw->ui_editors_id = gtk_ui_manager_add_ui_from_string(lw->ui_manager, desc->str, -1, &error);
 	if (!lw->ui_editors_id)
 		{
@@ -1975,14 +1954,14 @@
 		g_error_free(error);
 		exit(EXIT_FAILURE);
 		}
-	
+
 	DEBUG_1("%s layout_actions_setup: add toolbar", get_exec_time());
 	for (i = 0; i < TOOLBAR_COUNT; i++)
 		{
 		layout_toolbar_clear(lw, i);
 		layout_toolbar_add_default(lw, i);
 		}
-	
+
 
 	DEBUG_1("%s layout_actions_setup: marks", get_exec_time());
 	layout_actions_setup_marks(lw);
@@ -1992,7 +1971,7 @@
 
 	DEBUG_1("%s layout_actions_setup: status_update_write", get_exec_time());
 	layout_util_status_update_write(lw);
-	
+
 	DEBUG_1("%s layout_actions_setup: actions_add_window", get_exec_time());
 	layout_actions_add_window(lw, lw->window);
 	DEBUG_1("%s layout_actions_setup: end", get_exec_time());
@@ -2009,12 +1988,12 @@
 		layout_editors_desktop_files = editor_get_desktop_files();
 		return TRUE;
 		}
-	
+
 	editor_read_desktop_file(layout_editors_desktop_files->data);
 	g_free(layout_editors_desktop_files->data);
 	layout_editors_desktop_files = g_list_delete_link(layout_editors_desktop_files, layout_editors_desktop_files);
-	
-	
+
+
 	if (!layout_editors_desktop_files)
 		{
 		GList *work;
@@ -2030,7 +2009,7 @@
 			}
 
 		DEBUG_1("%s layout_editors_reload_idle_cb: setup_editors done", get_exec_time());
-		
+
 		layout_editors_reload_idle_id = -1;
 		return FALSE;
 		}
@@ -2039,8 +2018,6 @@
 
 void layout_editors_reload_start(void)
 {
-	GList *work;
-
 	DEBUG_1("%s layout_editors_reload_start", get_exec_time());
 
 	if (layout_editors_reload_idle_id != -1)
@@ -2049,12 +2026,10 @@
 		string_list_free(layout_editors_desktop_files);
 		}
 
-	work = layout_window_list;
-
 	editor_table_clear();
 	layout_editors_reload_idle_id = g_idle_add(layout_editors_reload_idle_cb, NULL);
 }
-	
+
 void layout_editors_reload_finish(void)
 {
 	if (layout_editors_reload_idle_id != -1)
@@ -2111,23 +2086,23 @@
 
 void layout_toolbar_clear(LayoutWindow *lw, ToolbarType type)
 {
-	if (lw->toolbar_merge_id[type]) 
+	if (lw->toolbar_merge_id[type])
 		{
 		gtk_ui_manager_remove_ui(lw->ui_manager, lw->toolbar_merge_id[type]);
 		gtk_ui_manager_ensure_update(lw->ui_manager);
 		}
 	string_list_free(lw->toolbar_actions[type]);
 	lw->toolbar_actions[type] = NULL;
-	
+
 	lw->toolbar_merge_id[type] = gtk_ui_manager_new_merge_id(lw->ui_manager);
 }
-	
+
 
 void layout_toolbar_add(LayoutWindow *lw, ToolbarType type, const gchar *action)
 {
 	const gchar *path = NULL;
 	if (!action || !lw->ui_manager) return;
-	
+
 	if (g_list_find_custom(lw->toolbar_actions[type], action, (GCompareFunc)strcmp)) return;
 
 	switch (type)
@@ -2141,13 +2116,13 @@
 		default:
 			break;
 		}
-	
-	
+
+
 	if (g_str_has_suffix(action, ".desktop"))
 		{
 		/* this may be called before the external editors are read
 		   create a dummy action for now */
-		  
+
 		if (!lw->action_group_editors)
 			{
 			lw->action_group_editors = gtk_action_group_new("MenuActionsExternal");
@@ -2155,17 +2130,17 @@
 			}
 		if (!gtk_action_group_get_action(lw->action_group_editors, action))
 			{
-			GtkActionEntry entry = { action, 
+			GtkActionEntry entry = { action,
 			                         GTK_STOCK_MISSING_IMAGE,
 			                         action,
-			                         NULL, 
+			                         NULL,
 			                         NULL,
 			                         NULL };
 			DEBUG_1("Creating temporary action %s", action);
 			gtk_action_group_add_actions(lw->action_group_editors, &entry, 1, lw);
 			}
 		}
-	gtk_ui_manager_add_ui(lw->ui_manager, lw->toolbar_merge_id[type], path, action, action, GTK_UI_MANAGER_TOOLITEM, FALSE); 
+	gtk_ui_manager_add_ui(lw->ui_manager, lw->toolbar_merge_id[type], path, action, action, GTK_UI_MANAGER_TOOLITEM, FALSE);
 	lw->toolbar_actions[type] = g_list_append(lw->toolbar_actions[type], g_strdup(action));
 }
 
@@ -2231,7 +2206,7 @@
 void layout_toolbar_add_from_config(LayoutWindow *lw, ToolbarType type, const gchar **attribute_names, const gchar **attribute_values)
 {
 	gchar *action = NULL;
-	
+
 	while (*attribute_names)
 		{
 		const gchar *option = *attribute_names++;
@@ -2243,7 +2218,7 @@
 		}
 
 	layout_toolbar_add(lw, type, action);
-	g_free(action);	
+	g_free(action);
 }
 
 /*
@@ -2304,7 +2279,7 @@
 
 	if (!lw->action_group) return;
 	if (!layout_image_color_profile_get(lw, &input, &use_image)) return;
-	
+
 	use_color = layout_image_color_profile_get_use(lw);
 
 	action = gtk_action_group_get_action(lw->action_group, "UseColorProfiles");
@@ -2337,7 +2312,7 @@
 		{
 		sprintf(action_name, "ColorProfile%d", i);
 		action = gtk_action_group_get_action(lw->action_group, action_name);
-		
+
 		if (i >= COLOR_PROFILE_FILE)
 			{
 			const gchar *name = options->color_profile.input_name[i - COLOR_PROFILE_FILE];
@@ -2373,13 +2348,13 @@
 	if (!lw->action_group) return;
 
 	action = gtk_action_group_get_action(lw->action_group, "FolderTree");
-	radio_action_set_current_value(GTK_RADIO_ACTION(action), lw->options.dir_view_type);
+	gtk_radio_action_set_current_value(GTK_RADIO_ACTION(action), lw->options.dir_view_type);
 
 	action = gtk_action_group_get_action(lw->action_group, "SplitSingle");
-	radio_action_set_current_value(GTK_RADIO_ACTION(action), lw->split_mode);
+	gtk_radio_action_set_current_value(GTK_RADIO_ACTION(action), lw->split_mode);
 
 	action = gtk_action_group_get_action(lw->action_group, "ViewIcons");
-	radio_action_set_current_value(GTK_RADIO_ACTION(action), lw->options.file_view_type);
+	gtk_radio_action_set_current_value(GTK_RADIO_ACTION(action), lw->options.file_view_type);
 
 	action = gtk_action_group_get_action(lw->action_group, "FloatTools");
 	gtk_toggle_action_set_active(GTK_TOGGLE_ACTION(action), lw->options.tools_float);
@@ -2392,7 +2367,7 @@
 
 	action = gtk_action_group_get_action(lw->action_group, "HideToolbar");
 	gtk_toggle_action_set_active(GTK_TOGGLE_ACTION(action), lw->options.toolbar_hidden);
-	
+
 	action = gtk_action_group_get_action(lw->action_group, "ShowInfoPixel");
 	gtk_toggle_action_set_active(GTK_TOGGLE_ACTION(action), lw->options.show_info_pixel);
 
@@ -2411,17 +2386,17 @@
 	if (osd_flags & OSD_SHOW_HISTOGRAM)
 		{
 		action = gtk_action_group_get_action(lw->action_group, "HistogramChanR");
-		radio_action_set_current_value(GTK_RADIO_ACTION(action), image_osd_histogram_get_channel(lw->image));
+		gtk_radio_action_set_current_value(GTK_RADIO_ACTION(action), image_osd_histogram_get_channel(lw->image));
 
 		action = gtk_action_group_get_action(lw->action_group, "HistogramModeLin");
-		radio_action_set_current_value(GTK_RADIO_ACTION(action), image_osd_histogram_get_mode(lw->image));
+		gtk_radio_action_set_current_value(GTK_RADIO_ACTION(action), image_osd_histogram_get_mode(lw->image));
 		}
 
 	action = gtk_action_group_get_action(lw->action_group, "ConnectZoomMenu");
 	gtk_action_set_sensitive(action, lw->split_mode != SPLIT_NONE);
 
 	action = gtk_action_group_get_action(lw->action_group, "StereoAuto");
-	radio_action_set_current_value(GTK_RADIO_ACTION(action), layout_image_stereo_pixbuf_get(lw));
+	gtk_radio_action_set_current_value(GTK_RADIO_ACTION(action), layout_image_stereo_pixbuf_get(lw));
 
 	layout_util_sync_color(lw);
 }
@@ -2454,11 +2429,7 @@
 
 static gboolean layout_bar_enabled(LayoutWindow *lw)
 {
-#if GTK_CHECK_VERSION(2,20,0)
 	return lw->bar && gtk_widget_get_visible(lw->bar);
-#else
-	return lw->bar && GTK_WIDGET_VISIBLE(lw->bar);
-#endif
 }
 
 static void layout_bar_destroyed(GtkWidget *widget, gpointer data)
@@ -2466,7 +2437,7 @@
 	LayoutWindow *lw = data;
 
 	lw->bar = NULL;
-/* 
+/*
     do not call layout_util_sync_views(lw) here
     this is called either when whole layout is destroyed - no need for update
     or when the bar is replaced - sync is called by upper function at the end of whole operation
@@ -2477,13 +2448,13 @@
 static void layout_bar_set_default(LayoutWindow *lw)
 {
 	GtkWidget *bar;
-	
+
 	if (!lw->utility_box) return;
 
 	bar = bar_new(lw);
-	
+
 	layout_bar_set(lw, bar);
-	
+
 	bar_populate_default(bar);
 }
 
@@ -2511,7 +2482,7 @@
 
 
 //	gtk_box_pack_start(GTK_BOX(lw->utility_box), lw->bar, FALSE, FALSE, 0);
-	gtk_paned_pack2(GTK_PANED(lw->utility_paned), lw->bar, FALSE, TRUE); 
+	gtk_paned_pack2(GTK_PANED(lw->utility_paned), lw->bar, FALSE, TRUE);
 
 	bar_set_fd(lw->bar, layout_image_get_fd(lw));
 }
@@ -2551,11 +2522,7 @@
 
 static gboolean layout_bar_sort_enabled(LayoutWindow *lw)
 {
-#if GTK_CHECK_VERSION(2,20,0)
 	return lw->bar_sort && gtk_widget_get_visible(lw->bar_sort);
-#else
-	return lw->bar_sort && GTK_WIDGET_VISIBLE(lw->bar_sort);
-#endif
 }
 
 
@@ -2565,7 +2532,7 @@
 
 	lw->bar_sort = NULL;
 
-/* 
+/*
     do not call layout_util_sync_views(lw) here
     this is called either when whole layout is destroyed - no need for update
     or when the bar is replaced - sync is called by upper function at the end of whole operation
@@ -2576,11 +2543,11 @@
 static void layout_bar_sort_set_default(LayoutWindow *lw)
 {
 	GtkWidget *bar;
-	
+
 	if (!lw->utility_box) return;
 
 	bar = bar_sort_new_default(lw);
-	
+
 	layout_bar_sort_set(lw, bar);
 }
 
@@ -2648,9 +2615,9 @@
 	lw->utility_paned = gtk_hpaned_new();
 	gtk_box_pack_start(GTK_BOX(lw->utility_box), lw->utility_paned, TRUE, TRUE, 0);
 
-	gtk_paned_pack1(GTK_PANED(lw->utility_paned), image, TRUE, FALSE); 
+	gtk_paned_pack1(GTK_PANED(lw->utility_paned), image, TRUE, FALSE);
 	gtk_widget_show(lw->utility_paned);
-	
+
 	gtk_widget_show(image);
 
 	g_object_ref(lw->utility_box);
@@ -2671,8 +2638,8 @@
 
 void layout_exif_window_new(LayoutWindow *lw)
 {
-	if (lw->exif_window) return; 
-	
+	if (lw->exif_window) return;
+
 	lw->exif_window = advanced_exif_new();
 	if (!lw->exif_window) return;
 	g_signal_connect(G_OBJECT(lw->exif_window), "destroy",
--- a/src/layout_util.h	Sun May 27 18:41:56 2012 +0100
+++ b/src/layout_util.h	Tue Oct 02 22:19:13 2012 +0100
@@ -1,7 +1,7 @@
 /*
  * Geeqie
  * (C) 2004 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * Author: John Ellis
  *
--- a/src/lirc.c	Sun May 27 18:41:56 2012 +0100
+++ b/src/lirc.c	Tue Oct 02 22:19:13 2012 +0100
@@ -1,6 +1,6 @@
 /*
  * Geeqie
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  */
 
@@ -53,7 +53,7 @@
 	gint ret;
 	gint x = 0;
 	gint y = 0;
-	
+
 	/* LIRC code and corresponding geeqie command (and parameters)*/
 	gchar *code;
 	gchar *cmd;
@@ -71,7 +71,7 @@
 				ptr = cmd + 4;
 				while (g_ascii_isspace(*ptr)) ptr++;
 				i_parm = atoi(ptr);
-				
+
 				if (i_parm <= 0) i_parm = 1;
 				x -= i_parm;
 				}
@@ -80,7 +80,7 @@
 				ptr = cmd + 5;
 				while (g_ascii_isspace(*ptr)) ptr++;
 				i_parm = atoi(ptr);
-				
+
 				if (i_parm <= 0) i_parm = 1;
 				x += i_parm;
 				}
@@ -89,7 +89,7 @@
 				ptr = cmd + 2;
 				while (g_ascii_isspace(*ptr)) ptr++;
 				i_parm = atoi(ptr);
-				
+
 				if (i_parm <= 0) i_parm = 1;
 				y -= i_parm;
 				}
@@ -98,7 +98,7 @@
 				ptr = cmd + 4;
 				while (g_ascii_isspace(*ptr)) ptr++;
 				i_parm = atoi(ptr);
-				
+
 				if (i_parm <= 0) i_parm = 1;
 				y += i_parm;
 				}
@@ -115,7 +115,7 @@
 				ptr = cmd + 7;
 				while (g_ascii_isspace(*ptr)) ptr++;
 				fl_parm = atoi(ptr) / 10.0;
-				
+
 				if (fl_parm <= 0.01) fl_parm = get_zoom_increment();
 				layout_image_zoom_adjust(lw, fl_parm, FALSE);
 				}
@@ -124,7 +124,7 @@
 				ptr = cmd + 8;
 				while (g_ascii_isspace(*ptr)) ptr++;
 				fl_parm = atoi(ptr) / 10.0;
-				
+
 				if (fl_parm <= 0.01) fl_parm = get_zoom_increment();
 				layout_image_zoom_adjust(lw, -fl_parm, FALSE);
 				}
@@ -141,7 +141,7 @@
 				ptr = cmd + 8;
 				while (g_ascii_isspace(*ptr)) ptr++;
 				i_parm = atoi(ptr);
-				
+
 				if (i_parm <= 0) i_parm = 1;
 				layout_image_zoom_set(lw, 1.0, FALSE);
 				}
@@ -150,7 +150,7 @@
 				ptr = cmd + 12;
 				while (g_ascii_isspace(*ptr)) ptr++;
 				i_parm = atoi(ptr);
-				
+
 				if (i_parm <= 0) i_parm = 1;
 				layout_image_zoom_set(lw, -i_parm, FALSE);
 				}
@@ -204,7 +204,7 @@
 void layout_image_lirc_init(LayoutWindow *lw)
 {
 	gint flags;
-	
+
 	DEBUG_1("Initializing LIRC...");
 	lirc_fd = lirc_init(GQ_APPNAME_LC, get_debug_level() > 0);
 	if (lirc_fd == -1)
--- a/src/logwindow.c	Sun May 27 18:41:56 2012 +0100
+++ b/src/logwindow.c	Tue Oct 02 22:19:13 2012 +0100
@@ -1,6 +1,6 @@
 /*
  * Geeqie
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * Author: Vladimir Nadvornik, Laurent Monin
  * based on logwindow.[ch] from Sylpheed 2.4.7 (C) Hiroyuki Yamamoto
@@ -26,7 +26,7 @@
 	GtkWidget *window;
 	GtkWidget *scrolledwin;
 	GtkWidget *text;
-	
+
 	GdkColor colors[LOG_COUNT];
 
 	guint lines;
@@ -57,7 +57,7 @@
 static gboolean key_pressed(GtkWidget *widget, GdkEventKey *event,
 			    LogWindow *logwin)
 {
-	if (event && event->keyval == GDK_Escape)
+	if (event && event->keyval == GDK_KEY_Escape)
 		gtk_widget_hide(logwin->window);
 	return FALSE;
 }
@@ -111,13 +111,15 @@
 static void log_window_init(LogWindow *logwin)
 {
 	GtkTextBuffer *buffer;
+#if !GTK_CHECK_VERSION(3,0,0)
 	GdkColormap *colormap;
 	gboolean success[LOG_COUNT];
+#endif
 	gint i;
 
 	g_assert(logwin != NULL);
 	g_assert(logwin->colors != NULL);
-
+#if !GTK_CHECK_VERSION(3,0,0)
 	for (i = LOG_NORMAL; i < LOG_COUNT; i++)
 		{
 		gboolean ok = gdk_color_parse(logdefs[i].color, &logwin->colors[i]);
@@ -127,7 +129,7 @@
 		memcpy(&logwin->colors[i], &logwin->colors[LOG_NORMAL], sizeof(GdkColor));
 		}
 
-	colormap = gdk_drawable_get_colormap(logwin->window->window);
+	colormap = gdk_drawable_get_colormap(gtk_widget_get_window(logwin->window));
 	gdk_colormap_alloc_colors(colormap, logwin->colors, LOG_COUNT, FALSE, TRUE, success);
 
 	for (i = LOG_NORMAL; i < LOG_COUNT; i++)
@@ -144,7 +146,7 @@
 			break;
 			}
 		}
-
+#endif
 	buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(logwin->text));
 	for (i = LOG_NORMAL; i < LOG_COUNT; i++)
 		gtk_text_buffer_create_tag(buffer, logdefs[i].tag,
@@ -158,7 +160,7 @@
 	GtkTextView *text = GTK_TEXT_VIEW(logwin->text);
 	GtkTextBuffer *buffer;
 	GtkTextMark *mark;
-	
+
 	g_assert(logwin != NULL);
 
 	buffer = gtk_text_view_get_buffer(text);
@@ -227,7 +229,7 @@
 				{
 				GList *work = g_list_last(memory);
 				LogMsg *oldest_msg = work->data;
-			
+
 				g_free(oldest_msg->text);
 				memory = g_list_delete_link(memory, work);
 				}
@@ -257,9 +259,9 @@
 		{
 		GList *prev;
 		LogMsg *oldest_msg = work->data;
-		
+
 		log_window_insert_text(buffer, &iter, oldest_msg->text, logdefs[oldest_msg->type].tag);
-		
+
 		prev = work->prev;
 		memory = g_list_delete_link(memory, work);
 		work = prev;
@@ -268,14 +270,10 @@
 
 	log_window_insert_text(buffer, &iter, str, logdefs[type].tag);
 
-#if GTK_CHECK_VERSION(2,20,0)
-	if (gtk_widget_get_visible(text))
-#else
-	if (GTK_WIDGET_VISIBLE(text))
-#endif
+	if (gtk_widget_get_visible(GTK_WIDGET(text)))
 		{
 		GtkTextMark *mark;
-		
+
 		mark = gtk_text_buffer_get_mark(buffer, "end");
 		gtk_text_view_scroll_mark_onscreen(text, mark);
 		}
--- a/src/logwindow.h	Sun May 27 18:41:56 2012 +0100
+++ b/src/logwindow.h	Tue Oct 02 22:19:13 2012 +0100
@@ -1,6 +1,6 @@
 /*
  * Geeqie
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * Author: Vladimir Nadvornik, Laurent Monin
  * based on logwindow.[ch] from Sylpheed 2.4.7 (C) Hiroyuki Yamamoto
--- a/src/main.c	Sun May 27 18:41:56 2012 +0100
+++ b/src/main.c	Tue Oct 02 22:19:13 2012 +0100
@@ -1,7 +1,7 @@
 /*
  * Geeqie
  * (C) 2006 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * Author: John Ellis
  *
@@ -19,6 +19,7 @@
 #ifdef G_OS_UNIX
 #include <pwd.h>
 #endif
+#include <locale.h>
 
 #include "main.h"
 
@@ -47,11 +48,9 @@
 #include "pixbuf_util.h"
 #include "glua.h"
 
-#ifdef HAVE_LIBCHAMPLAIN
-#ifdef HAVE_LIBCHAMPLAIN_GTK
+#ifdef HAVE_CLUTTER
 #include <clutter-gtk/clutter-gtk.h>
 #endif
-#endif
 
 
 gboolean thumb_format_changed = FALSE;
@@ -143,7 +142,7 @@
 	path_parsed = g_strdup(dir);
 	parse_out_relatives(path_parsed);
 	dir_fd = file_data_new_dir(path_parsed);
-	
+
 
 	if (filelist_read(dir_fd, &files, NULL))
 		{
@@ -213,9 +212,9 @@
 	GList *remote_errors = NULL;
 	gboolean remote_do = FALSE;
 	gchar *first_dir = NULL;
-	
+
 	command_line = g_new0(CommandLine, 1);
-	
+
 	command_line->argc = argc;
 	command_line->argv = argv;
 
@@ -373,12 +372,12 @@
 		if (remote_errors)
 			{
 			GList *work = remote_errors;
-			
+
 			printf_term(_("Invalid or ignored remote options: "));
 			while (work)
 				{
 				gchar *opt = work->data;
-						
+
 				printf_term("%s%s", (work == remote_errors) ? "" : ", ", opt);
 				work = work->next;
 				}
@@ -544,7 +543,7 @@
 		log_printf(_("error saving file: %s\n"), path);
 		return FALSE;
 		}
-	
+
 	gstring = g_string_new("; ");
 	if (g_get_prgname())
 		g_string_append(gstring, g_get_prgname());
@@ -700,7 +699,7 @@
 	exit_program_final();
 }
 
-/* This code is supposed to handle situation when a file mmaped by image_loader 
+/* This code is supposed to handle situation when a file mmaped by image_loader
  * or by exif loader is truncated by some other process.
  * This is probably not completely correct according to posix, because
  * mmap is not in the list of calls that can be used safely in signal handler,
@@ -743,12 +742,12 @@
 	gdk_threads_enter();
 
 #endif
-	
+
 	/* init execution time counter (debug only) */
 	init_exec_time();
 
 	/* setup locale, i18n */
-	gtk_set_locale();
+	setlocale(LC_ALL, "");
 
 #ifdef ENABLE_NLS
 	bindtextdomain(PACKAGE, GQ_LOCALEDIR);
@@ -773,14 +772,13 @@
 	file_data_register_notify_func(histogram_notify_cb, NULL, NOTIFY_PRIORITY_HIGH);
 	file_data_register_notify_func(collect_manager_notify_cb, NULL, NOTIFY_PRIORITY_LOW);
 	file_data_register_notify_func(metadata_notify_cb, NULL, NOTIFY_PRIORITY_LOW);
-	
+
 
 	gtkrc_load();
 
 	parse_command_line_for_debug_option(argc, argv);
-	DEBUG_1("%s main: gtk_init", get_exec_time());	 
-#ifdef HAVE_LIBCHAMPLAIN
-#ifdef HAVE_LIBCHAMPLAIN_GTK
+	DEBUG_1("%s main: gtk_init", get_exec_time());
+#ifdef HAVE_CLUTTER
 	if (gtk_clutter_init(&argc, &argv) != CLUTTER_INIT_SUCCESS)
 		{
 		log_printf("Can't initialize clutter-gtk.\n");
@@ -789,9 +787,6 @@
 #else
 	gtk_init(&argc, &argv);
 #endif
-#else
-	gtk_init(&argc, &argv);
-#endif
 
 	if (gtk_major_version < GTK_MAJOR_VERSION ||
 	    (gtk_major_version == GTK_MAJOR_VERSION && gtk_minor_version < GTK_MINOR_VERSION) )
@@ -803,13 +798,17 @@
 		log_printf("!!! %s may quit unexpectedly with a relocation error.\n", GQ_APPNAME);
 		}
 
-	DEBUG_1("%s main: pixbuf_inline_register_stock_icons", get_exec_time());	 
+	DEBUG_1("%s main: pixbuf_inline_register_stock_icons", get_exec_time());
 	pixbuf_inline_register_stock_icons();
 
-	DEBUG_1("%s main: parse_command_line", get_exec_time());	 
+	DEBUG_1("%s main: setting default options before commandline handling", get_exec_time());
+	options = init_options(NULL);
+	setup_default_options(options);
+
+	DEBUG_1("%s main: parse_command_line", get_exec_time());
 	parse_command_line(argc, argv);
 
-	DEBUG_1("%s main: mkdir_if_not_exists", get_exec_time());	 
+	DEBUG_1("%s main: mkdir_if_not_exists", get_exec_time());
 	/* these functions don't depend on config file */
 	mkdir_if_not_exists(get_rc_dir());
 	mkdir_if_not_exists(get_collections_dir());
@@ -823,19 +822,17 @@
 
 	/* restore session from the config file */
 
-	options = init_options(NULL);
-	setup_default_options(options);
 
-	DEBUG_1("%s main: load_options", get_exec_time());	 
+	DEBUG_1("%s main: load_options", get_exec_time());
 	if (!load_options(options))
 		{
 		/* load_options calls these functions after it parses global options, we have to call it here if it fails */
 		filter_add_defaults();
-		filter_rebuild(); 
+		filter_rebuild();
 		}
 
 	/* handle missing config file and commandline additions*/
-	if (!layout_window_list) 
+	if (!layout_window_list)
 		{
 		/* broken or no config file */
 		layout_new_from_config(NULL, NULL, TRUE);
@@ -919,8 +916,8 @@
 	buf = g_build_filename(get_rc_dir(), ".command", NULL);
 	remote_connection = remote_server_init(buf, cd);
 	g_free(buf);
-	
-	DEBUG_1("%s main: gtk_main", get_exec_time());	 
+
+	DEBUG_1("%s main: gtk_main", get_exec_time());
 	gtk_main();
 #ifdef HAVE_GTHREAD
 	gdk_threads_leave();
--- a/src/main.h	Sun May 27 18:41:56 2012 +0100
+++ b/src/main.h	Tue Oct 02 22:19:13 2012 +0100
@@ -1,7 +1,7 @@
 /*
  * Geeqie
  * (C) 2006 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * Author: John Ellis
  *
--- a/src/menu.c	Sun May 27 18:41:56 2012 +0100
+++ b/src/menu.c	Tue Oct 02 22:19:13 2012 +0100
@@ -1,7 +1,7 @@
 /*
  * Geeqie
  * (C) 2004 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * Author: John Ellis
  *
@@ -54,9 +54,9 @@
 
 gpointer submenu_item_get_data(GtkWidget *menu)
 {
-	if (!menu->parent || !GTK_IS_MENU(menu->parent)) return NULL;
+	if (!gtk_widget_get_parent(menu) || !GTK_IS_MENU(gtk_widget_get_parent(menu))) return NULL;
 
-	return g_object_get_data(G_OBJECT(menu->parent), "submenu_data");
+	return g_object_get_data(G_OBJECT(gtk_widget_get_parent(menu)), "submenu_data");
 }
 
 /*
@@ -96,7 +96,7 @@
 			g_signal_connect(G_OBJECT(item), "destroy", G_CALLBACK(edit_item_destroy_cb), key);
 			}
 		}
-	
+
 	g_list_free(editors_list);
 }
 
@@ -135,6 +135,9 @@
 		case SORT_TIME:
 			return _("Sort by date");
 			break;
+		case SORT_EXIFTIME:
+			return _("Sort by Exif-date");
+			break;
 		case SORT_NONE:
 			return _("Unsorted");
 			break;
@@ -188,6 +191,7 @@
 	submenu_add_sort_item(submenu, func, SORT_NUMBER, show_current, type);
 #endif
 	submenu_add_sort_item(submenu, func, SORT_TIME, show_current, type);
+	submenu_add_sort_item(submenu, func, SORT_EXIFTIME, show_current, type);
 	submenu_add_sort_item(submenu, func, SORT_SIZE, show_current, type);
 	if (include_path) submenu_add_sort_item(submenu, func, SORT_PATH, show_current, type);
 	if (include_none) submenu_add_sort_item(submenu, func, SORT_NONE, show_current, type);
--- a/src/menu.h	Sun May 27 18:41:56 2012 +0100
+++ b/src/menu.h	Tue Oct 02 22:19:13 2012 +0100
@@ -1,7 +1,7 @@
 /*
  * Geeqie
  * (C) 2004 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * Author: John Ellis
  *
--- a/src/metadata.c	Sun May 27 18:41:56 2012 +0100
+++ b/src/metadata.c	Tue Oct 02 22:19:13 2012 +0100
@@ -1,7 +1,7 @@
 /*
  * Geeqie
  * (C) 2004 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * Author: John Ellis, Laurent Monin
  *
@@ -75,14 +75,14 @@
 static void metadata_cache_update(FileData *fd, const gchar *key, const GList *values)
 {
 	GList *work;
-	
+
 	work = fd->cached_metadata;
 	while (work)
 		{
 		GList *entry = work->data;
 		gchar *entry_key = entry->data;
-		
-		if (strcmp(entry_key, key) == 0) 
+
+		if (strcmp(entry_key, key) == 0)
 			{
 			/* key found - just replace values */
 			GList *old_values = entry->next;
@@ -95,9 +95,9 @@
 			}
 		work = work->next;
 		}
-	
+
 	/* key not found - prepend new entry */
-	fd->cached_metadata = g_list_prepend(fd->cached_metadata, 
+	fd->cached_metadata = g_list_prepend(fd->cached_metadata,
 				g_list_prepend(string_list_copy(values), g_strdup(key)));
 	DEBUG_1("added %s %s\n", key, fd->path);
 
@@ -106,14 +106,14 @@
 static const GList *metadata_cache_get(FileData *fd, const gchar *key)
 {
 	GList *work;
-	
+
 	work = fd->cached_metadata;
 	while (work)
 		{
 		GList *entry = work->data;
 		gchar *entry_key = entry->data;
-		
-		if (strcmp(entry_key, key) == 0) 
+
+		if (strcmp(entry_key, key) == 0)
 			{
 			/* key found */
 			DEBUG_1("found %s %s\n", key, fd->path);
@@ -128,14 +128,14 @@
 static void metadata_cache_remove(FileData *fd, const gchar *key)
 {
 	GList *work;
-	
+
 	work = fd->cached_metadata;
 	while (work)
 		{
 		GList *entry = work->data;
 		gchar *entry_key = entry->data;
-		
-		if (strcmp(entry_key, key) == 0) 
+
+		if (strcmp(entry_key, key) == 0)
 			{
 			/* key found */
 			string_list_free(entry);
@@ -152,13 +152,13 @@
 {
 	GList *work;
 	if (fd->cached_metadata) DEBUG_1("freed %s\n", fd->path);
-	
+
 	work = fd->cached_metadata;
 	while (work)
 		{
 		GList *entry = work->data;
 		string_list_free(entry);
-		
+
 		work = work->next;
 		}
 	g_list_free(fd->cached_metadata);
@@ -185,16 +185,16 @@
 		{
 		metadata_write_queue = g_list_prepend(metadata_write_queue, fd);
 		file_data_ref(fd);
-		
+
 		layout_util_status_update_write_all();
 		}
 
-	if (metadata_write_idle_id) 
+	if (metadata_write_idle_id)
 		{
 		g_source_remove(metadata_write_idle_id);
 		metadata_write_idle_id = 0;
 		}
-	
+
 	if (options->metadata.confirm_after_timeout)
 		{
 		metadata_write_idle_id = g_timeout_add(options->metadata.confirm_timeout * 1000, metadata_write_queue_idle_cb, NULL);
@@ -208,7 +208,7 @@
 	fd->modified_xmp = NULL;
 
 	metadata_write_queue = g_list_remove(metadata_write_queue, fd);
-	
+
 	file_data_increment_version(fd);
 	file_data_send_notification(fd, NOTIFY_REREAD);
 
@@ -222,7 +222,7 @@
 {
 	GList *work;
 	gboolean ret = TRUE;
-	
+
 	work = list;
 	while (work)
 		{
@@ -238,8 +238,8 @@
 	if (type & (NOTIFY_REREAD | NOTIFY_CHANGE))
 		{
 		metadata_cache_free(fd);
-		
-		if (g_list_find(metadata_write_queue, fd)) 
+
+		if (g_list_find(metadata_write_queue, fd))
 			{
 			DEBUG_1("Notify metadata: %s %04x", fd->path, type);
 			if (!isname(fd->path))
@@ -255,27 +255,27 @@
 {
 	GList *work;
 	GList *to_approve = NULL;
-	
+
 	work = metadata_write_queue;
 	while (work)
 		{
 		FileData *fd = work->data;
 		work = work->next;
-		
+
 		if (!isname(fd->path))
 			{
 			/* ignore deleted files */
 			metadata_write_queue_remove(fd);
 			continue;
 			}
-		
+
 		if (fd->change) continue; /* another operation in progress, skip this file for now */
-		
+
 		to_approve = g_list_prepend(to_approve, file_data_ref(fd));
 		}
 
 	file_util_write_metadata(NULL, to_approve, NULL, force_dialog, done_func, done_data);
-	
+
 	return (metadata_write_queue != NULL);
 }
 
@@ -290,10 +290,10 @@
 {
 	gboolean success;
 	ExifData *exif;
-	
+
 	g_assert(fd->change);
-	
-	if (fd->change->dest && 
+
+	if (fd->change->dest &&
 	    strcmp(extension_from_path(fd->change->dest), GQ_CACHE_EXT_METADATA) == 0)
 		{
 		success = metadata_legacy_write(fd);
@@ -302,24 +302,24 @@
 		}
 
 	/* write via exiv2 */
-	/*  we can either use cached metadata which have fd->modified_xmp already applied 
+	/*  we can either use cached metadata which have fd->modified_xmp already applied
 	                             or read metadata from file and apply fd->modified_xmp
 	    metadata are read also if the file was modified meanwhile */
-	exif = exif_read_fd(fd); 
+	exif = exif_read_fd(fd);
 	if (!exif) return FALSE;
 
 	success = (fd->change->dest) ? exif_write_sidecar(exif, fd->change->dest) : exif_write(exif); /* write modified metadata */
 	exif_free_fd(fd, exif);
 
 	if (fd->change->dest)
-		/* this will create a FileData for the sidecar and link it to the main file 
+		/* this will create a FileData for the sidecar and link it to the main file
 		   (we can't wait until the sidecar is discovered by directory scanning because
-		    exif_read_fd is called before that and it would read the main file only and 
+		    exif_read_fd is called before that and it would read the main file only and
 		    store the metadata in the cache)
 		    FIXME: this does not catch new sidecars created by independent external programs
 		*/
-		file_data_unref(file_data_new_group(fd->change->dest)); 
-		
+		file_data_unref(file_data_new_group(fd->change->dest));
+
 	if (success) metadata_legacy_delete(fd, fd->change->dest);
 	return success;
 }
@@ -332,7 +332,7 @@
 static gboolean metadata_check_key(const gchar *keys[], const gchar *key)
 {
 	const gchar **k = keys;
-	
+
 	while (*k)
 		{
 		if (strcmp(key, *k) == 0) return TRUE;
@@ -344,9 +344,9 @@
 gboolean metadata_write_revert(FileData *fd, const gchar *key)
 {
 	if (!fd->modified_xmp) return FALSE;
-	
+
 	g_hash_table_remove(fd->modified_xmp, key);
-	
+
 	if (g_hash_table_size(fd->modified_xmp) == 0)
 		{
 		metadata_write_queue_remove(fd);
@@ -367,9 +367,9 @@
 		fd->modified_xmp = g_hash_table_new_full(g_str_hash, g_str_equal, g_free, (GDestroyNotify)string_list_free);
 		}
 	g_hash_table_insert(fd->modified_xmp, g_strdup(key), string_list_copy((GList *)values));
-	
+
 	metadata_cache_remove(fd, key);
-	
+
 	if (fd->exif)
 		{
 		exif_update_metadata(fd->exif, key, values);
@@ -381,13 +381,13 @@
 	if (options->metadata.sync_grouped_files && metadata_check_key(group_keys, key))
 		{
 		GList *work = fd->sidecar_files;
-		
+
 		while (work)
 			{
 			FileData *sfd = work->data;
 			work = work->next;
-			
-			if (filter_file_class(sfd->extension, FORMAT_CLASS_META)) continue; 
+
+			if (filter_file_class(sfd->extension, FORMAT_CLASS_META)) continue;
 
 			metadata_write_list(sfd, key, values);
 			}
@@ -396,7 +396,7 @@
 
 	return TRUE;
 }
-	
+
 gboolean metadata_write_string(FileData *fd, const gchar *key, const char *value)
 {
 	GList *list = g_list_append(NULL, g_strdup(value));
@@ -408,8 +408,8 @@
 gboolean metadata_write_int(FileData *fd, const gchar *key, guint64 value)
 {
 	gchar string[50];
-	
-	g_snprintf(string, sizeof(string), "%ld", value);
+
+	g_snprintf(string, sizeof(string), "%llu", (unsigned long long) value);
 	return metadata_write_string(fd, key, string);
 }
 
@@ -469,17 +469,17 @@
 	have_keywords = g_hash_table_lookup_extended(fd->modified_xmp, KEYWORD_KEY, NULL, &keywords);
 	have_comment = g_hash_table_lookup_extended(fd->modified_xmp, COMMENT_KEY, NULL, &comment_l);
 	comment = (have_comment && comment_l) ? ((GList *)comment_l)->data : NULL;
-	
+
 	if (!have_keywords || !have_comment) metadata_file_read(metadata_pathl, &orig_keywords, &orig_comment);
-	
-	success = metadata_file_write(metadata_pathl, 
+
+	success = metadata_file_write(metadata_pathl,
 				      have_keywords ? (GList *)keywords : orig_keywords,
 				      have_comment ? comment : orig_comment);
 
 	g_free(metadata_pathl);
 	g_free(orig_comment);
 	string_list_free(orig_keywords);
-	
+
 	return success;
 }
 
@@ -502,10 +502,10 @@
 		if (*ptr == '[' && key != MK_COMMENT)
 			{
 			gchar *keystr = ++ptr;
-			
+
 			key = MK_NONE;
 			while (*ptr != ']' && *ptr != '\n' && *ptr != '\0') ptr++;
-			
+
 			if (*ptr == ']')
 				{
 				*ptr = '\0';
@@ -516,7 +516,7 @@
 				}
 			continue;
 			}
-		
+
 		switch (key)
 			{
 			case MK_NONE:
@@ -539,10 +539,10 @@
 				break;
 			}
 		}
-	
+
 	fclose(f);
 
-	if (keywords) 
+	if (keywords)
 		{
 		*keywords = g_list_reverse(list);
 		}
@@ -550,7 +550,7 @@
 		{
 		string_list_free(list);
 		}
-		
+
 	if (comment_build)
 		{
 		if (comment)
@@ -584,7 +584,7 @@
 	if (!fd) return;
 
 	metadata_path = cache_find_location(CACHE_TYPE_METADATA, fd->path);
-	if (metadata_path && (!except || strcmp(metadata_path, except) != 0)) 
+	if (metadata_path && (!except || strcmp(metadata_path, except) != 0))
 		{
 		metadata_pathl = path_from_utf8(metadata_path);
 		unlink(metadata_pathl);
@@ -593,10 +593,10 @@
 		}
 
 #ifdef HAVE_EXIV2
-	/* without exiv2: do not delete xmp metadata because we are not able to convert it, 
+	/* without exiv2: do not delete xmp metadata because we are not able to convert it,
 	   just ignore it */
 	metadata_path = cache_find_location(CACHE_TYPE_XMP_METADATA, fd->path);
-	if (metadata_path && (!except || strcmp(metadata_path, except) != 0)) 
+	if (metadata_path && (!except || strcmp(metadata_path, except) != 0))
 		{
 		metadata_pathl = path_from_utf8(metadata_path);
 		unlink(metadata_pathl);
@@ -611,7 +611,7 @@
 	gchar *metadata_path;
 	gchar *metadata_pathl;
 	gboolean success = FALSE;
-	
+
 	if (!fd) return FALSE;
 
 	metadata_path = cache_find_location(CACHE_TYPE_METADATA, fd->path);
@@ -666,13 +666,13 @@
 		}
 
 
-	if (format == METADATA_PLAIN && strcmp(key, KEYWORD_KEY) == 0 
+	if (format == METADATA_PLAIN && strcmp(key, KEYWORD_KEY) == 0
 	    && (cache_entry = metadata_cache_get(fd, key)))
 		{
 		return string_list_copy(cache_entry->next);
 		}
 
-	/* 
+	/*
 	    Legacy metadata file is the primary source if it exists.
 	    Merging the lists does not make much sense, because the existence of
 	    legacy metadata file indicates that the other metadata sources are not
@@ -681,9 +681,9 @@
 	*/
 	if (strcmp(key, KEYWORD_KEY) == 0)
 		{
-		if (metadata_legacy_read(fd, &list, NULL)) 
+		if (metadata_legacy_read(fd, &list, NULL))
 			{
-			if (format == METADATA_PLAIN) 
+			if (format == METADATA_PLAIN)
 				{
 				metadata_cache_update(fd, key, list);
 				}
@@ -699,17 +699,17 @@
 		{
 	        return g_list_append(NULL, metadata_file_info(fd, key, format));
 		}
-	
+
 	exif = exif_read_fd(fd); /* this is cached, thus inexpensive */
 	if (!exif) return NULL;
 	list = exif_get_metadata(exif, key, format);
 	exif_free_fd(fd, exif);
-	
+
 	if (format == METADATA_PLAIN && strcmp(key, KEYWORD_KEY) == 0)
 		{
 		metadata_cache_update(fd, key, list);
 		}
-		
+
 	return list;
 }
 
@@ -732,7 +732,7 @@
 	gchar *endptr;
 	gchar *string = metadata_read_string(fd, key, METADATA_PLAIN);
 	if (!string) return fallback;
-	
+
 	ret = g_ascii_strtoull(string, &endptr, 10);
 	if (string == endptr) ret = fallback;
 	g_free(string);
@@ -747,40 +747,40 @@
 	gboolean ok = FALSE;
 	gchar *string = metadata_read_string(fd, key, METADATA_PLAIN);
 	if (!string) return fallback;
-	
+
 	deg = g_ascii_strtod(string, &endptr);
 	if (*endptr == ',')
 		{
 		min = g_ascii_strtod(endptr + 1, &endptr);
 		if (*endptr == ',')
 			sec = g_ascii_strtod(endptr + 1, &endptr);
-		else 
+		else
 			sec = 0.0;
-		
-		
-		if (*endptr == 'S' || *endptr == 'W' || *endptr == 'N' || *endptr == 'E') 
+
+
+		if (*endptr == 'S' || *endptr == 'W' || *endptr == 'N' || *endptr == 'E')
 			{
 			coord = deg + min /60.0 + sec / 3600.0;
 			ok = TRUE;
 			if (*endptr == 'S' || *endptr == 'W') coord = -coord;
 			}
 		}
-	
+
 	if (!ok)
 		{
 		coord = fallback;
 		log_printf("unable to parse GPS coordinate '%s'\n", string);
 		}
-	
+
 	g_free(string);
 	return coord;
 }
-	
+
 gboolean metadata_append_string(FileData *fd, const gchar *key, const char *value)
 {
 	gchar *str = metadata_read_string(fd, key, METADATA_PLAIN);
-	
-	if (!str) 
+
+	if (!str)
 		{
 		return metadata_write_string(fd, key, value);
 		}
@@ -797,8 +797,8 @@
 gboolean metadata_append_list(FileData *fd, const gchar *key, const GList *values)
 {
 	GList *list = metadata_read_list(fd, key, METADATA_PLAIN);
-	
-	if (!list) 
+
+	if (!list)
 		{
 		return metadata_write_list(fd, key, values);
 		}
@@ -807,7 +807,7 @@
 		gboolean ret;
 		list = g_list_concat(list, string_list_copy(values));
 		list = remove_duplicate_strings_from_list(list);
-		
+
 		ret = metadata_write_list(fd, key, list);
 		string_list_free(list);
 		return ret;
@@ -929,7 +929,7 @@
 /*
  * keywords to marks
  */
- 
+
 
 gboolean meta_data_get_keyword_mark(FileData *fd, gint n, gpointer data)
 {
@@ -954,14 +954,14 @@
 	GList *path = data;
 	GList *keywords = NULL;
 	GtkTreeIter iter;
-	
+
 	if (!keyword_tree_get_iter(GTK_TREE_MODEL(keyword_tree), &iter, path)) return FALSE;
 
 	keywords = metadata_read_list(fd, KEYWORD_KEY, METADATA_PLAIN);
 
 	if (!!keyword_tree_is_set(GTK_TREE_MODEL(keyword_tree), &iter, keywords) != !!value)
 		{
-		if (value) 
+		if (value)
 			{
 			keyword_tree_set(GTK_TREE_MODEL(keyword_tree), &iter, &keywords);
 			}
@@ -990,12 +990,12 @@
 	for (i = 0; i < FILEDATA_MARKS_SIZE; i++)
 		{
 		file_data_get_registered_mark_func(i, &get_mark_func, &set_mark_func, &mark_func_data);
-		if (get_mark_func == meta_data_get_keyword_mark) 
+		if (get_mark_func == meta_data_get_keyword_mark)
 			{
 			GtkTreeIter old_kw_iter;
 			GList *old_path = mark_func_data;
-			
-			if (keyword_tree_get_iter(keyword_tree, &old_kw_iter, old_path) && 
+
+			if (keyword_tree_get_iter(keyword_tree, &old_kw_iter, old_path) &&
 			    (i == mark || /* release any previous connection of given mark */
 			     keyword_compare(keyword_tree, &old_kw_iter, kw_iter) == 0)) /* or given keyword */
 				{
@@ -1012,7 +1012,7 @@
 		gchar *mark_str;
 		path = keyword_tree_get_path(keyword_tree, kw_iter);
 		file_data_register_mark_func(mark, meta_data_get_keyword_mark, meta_data_set_keyword_mark, path, (GDestroyNotify)string_list_free);
-		
+
 		mark_str = g_strdup_printf("%d", mark + 1);
 		gtk_tree_store_set(GTK_TREE_STORE(keyword_tree), kw_iter, KEYWORD_COLUMN_MARK, mark_str, -1);
 		g_free(mark_str);
@@ -1075,7 +1075,7 @@
 {
 	GtkTreeIter parent_a;
 	GtkTreeIter parent_b;
-	
+
 	gboolean valid_pa = gtk_tree_model_iter_parent(keyword_tree, &parent_a, a);
 	gboolean valid_pb = gtk_tree_model_iter_parent(keyword_tree, &parent_b, b);
 
@@ -1096,7 +1096,7 @@
 	gboolean toplevel = FALSE;
 	gboolean ret;
 	gchar *casefold;
-	
+
 	if (parent_ptr)
 		{
 		parent = *parent_ptr;
@@ -1109,12 +1109,12 @@
 		{
 		toplevel = TRUE;
 		}
-	
+
 	if (!gtk_tree_model_iter_children(GTK_TREE_MODEL(keyword_tree), &iter, toplevel ? NULL : &parent)) return FALSE;
-	
+
 	casefold = g_utf8_casefold(name, -1);
 	ret = FALSE;
-	
+
 	while (TRUE)
 		{
 		if (!(exclude_sibling && sibling && keyword_compare(keyword_tree, &iter, sibling) == 0))
@@ -1132,7 +1132,7 @@
 				g_free(iter_casefold);
 				} // if (options->metadata.tags_cas...
 			}
-		if (ret) 
+		if (ret)
 			{
 			if (result) *result = iter;
 			break;
@@ -1168,11 +1168,11 @@
 void keyword_copy_recursive(GtkTreeStore *keyword_tree, GtkTreeIter *to, GtkTreeIter *from)
 {
 	GtkTreeIter from_child;
-	
+
 	keyword_copy(keyword_tree, to, from);
-	
+
 	if (!gtk_tree_model_iter_children(GTK_TREE_MODEL(keyword_tree), &from_child, from)) return;
-	
+
 	while (TRUE)
 		{
 		GtkTreeIter to_child;
@@ -1192,7 +1192,7 @@
 {
 	GList *path = NULL;
 	GtkTreeIter iter = *iter_ptr;
-	
+
 	while (TRUE)
 		{
 		GtkTreeIter parent;
@@ -1208,7 +1208,7 @@
 	GtkTreeIter iter;
 
 	if (!gtk_tree_model_get_iter_first(keyword_tree, &iter)) return FALSE;
-	
+
 	while (TRUE)
 		{
 		GtkTreeIter children;
@@ -1220,12 +1220,12 @@
 			if (!gtk_tree_model_iter_next(keyword_tree, &iter)) return FALSE;
 			}
 		path = path->next;
-		if (!path) 
+		if (!path)
 			{
 			*iter_ptr = iter;
 			return TRUE;
 			}
-			
+
 	    	if (!gtk_tree_model_iter_children(keyword_tree, &children, &iter)) return FALSE;
 	    	iter = children;
 		}
@@ -1240,7 +1240,7 @@
 		{
 		/* for the purpose of expanding and hiding, a helper is set if it has any children set */
 		GtkTreeIter child;
-		if (!gtk_tree_model_iter_children(keyword_tree, &child, &iter)) 
+		if (!gtk_tree_model_iter_children(keyword_tree, &child, &iter))
 			return FALSE; /* this should happen only on empty helpers */
 
 		while (TRUE)
@@ -1249,7 +1249,7 @@
 			if (!gtk_tree_model_iter_next(keyword_tree, &child)) return FALSE;
 			}
 		}
-	
+
 	while (TRUE)
 		{
 		GtkTreeIter parent;
@@ -1273,7 +1273,7 @@
 			g_free(iter_casefold);
 			if (!found) return FALSE;
 			}
-		
+
 		if (!gtk_tree_model_iter_parent(keyword_tree, &parent, &iter)) return TRUE;
 		iter = parent;
 		}
@@ -1421,7 +1421,7 @@
 {
 	GtkTreeIter child;
 	keyword_tree_reset1(keyword_tree, iter, kw_list);
-	
+
 	if (!gtk_tree_model_iter_children(keyword_tree, &child, iter)) return;
 
 	while (TRUE)
@@ -1434,8 +1434,8 @@
 static gboolean keyword_tree_check_empty_children(GtkTreeModel *keyword_tree, GtkTreeIter *parent, GList *kw_list)
 {
 	GtkTreeIter iter;
-	
-	if (!gtk_tree_model_iter_children(keyword_tree, &iter, parent)) 
+
+	if (!gtk_tree_model_iter_children(keyword_tree, &iter, parent))
 		return TRUE; /* this should happen only on empty helpers */
 
 	while (TRUE)
@@ -1453,7 +1453,7 @@
 
 	if (!gtk_tree_model_iter_parent(keyword_tree, &parent, &iter)) return;
 	iter = parent;
-	
+
 	while (keyword_tree_check_empty_children(keyword_tree, &iter, *kw_list))
 		{
 		GtkTreeIter parent;
@@ -1471,12 +1471,12 @@
 		{
 		keyword_delete(keyword_tree, &child);
 		}
-	
+
 	meta_data_connect_mark_with_keyword(GTK_TREE_MODEL(keyword_tree), iter_ptr, -1);
 
 	gtk_tree_model_get(GTK_TREE_MODEL(keyword_tree), iter_ptr, KEYWORD_COLUMN_HIDE_IN, &list, -1);
 	g_list_free(list);
-	
+
 	gtk_tree_store_remove(keyword_tree, iter_ptr);
 }
 
@@ -1531,7 +1531,7 @@
 		else
 			{
 			GtkTreeIter child;
-			if (gtk_tree_model_iter_children(GTK_TREE_MODEL(keyword_tree), &child, &iter)) 
+			if (gtk_tree_model_iter_children(GTK_TREE_MODEL(keyword_tree), &child, &iter))
 				{
 				keyword_hide_unset_in_recursive(keyword_tree, &child, id, keywords);
 				}
@@ -1578,7 +1578,7 @@
 void keyword_tree_new(void)
 {
 	if (keyword_tree) return;
-	
+
 	keyword_tree = gtk_tree_store_new(KEYWORD_COLUMN_COUNT, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_BOOLEAN, G_TYPE_POINTER);
 }
 
@@ -1592,70 +1592,70 @@
 
 void keyword_tree_new_default(void)
 {
-	GtkTreeIter i1, i2, i3;
+	GtkTreeIter i1, i2;
 
 	if (!keyword_tree) keyword_tree_new();
 
-	i1 = keyword_tree_default_append(keyword_tree, NULL, _("People"), TRUE); 
-		i2 = keyword_tree_default_append(keyword_tree, &i1, _("Family"), TRUE); 
-		i2 = keyword_tree_default_append(keyword_tree, &i1, _("Free time"), TRUE); 
-		i2 = keyword_tree_default_append(keyword_tree, &i1, _("Children"), TRUE); 
-		i2 = keyword_tree_default_append(keyword_tree, &i1, _("Sport"), TRUE); 
-		i2 = keyword_tree_default_append(keyword_tree, &i1, _("Culture"), TRUE); 
-			i3 = keyword_tree_default_append(keyword_tree, &i2, _("Festival"), TRUE); 
-	i1 = keyword_tree_default_append(keyword_tree, NULL, _("Nature"), TRUE); 
-		i2 = keyword_tree_default_append(keyword_tree, &i1, _("Animal"), TRUE); 
-			i3 = keyword_tree_default_append(keyword_tree, &i2, _("Bird"), TRUE); 
- 			i3 = keyword_tree_default_append(keyword_tree, &i2, _("Insect"), TRUE); 
- 			i3 = keyword_tree_default_append(keyword_tree, &i2, _("Pets"), TRUE); 
-			i3 = keyword_tree_default_append(keyword_tree, &i2, _("Wildlife"), TRUE); 
-			i3 = keyword_tree_default_append(keyword_tree, &i2, _("Zoo"), TRUE); 
-		i2 = keyword_tree_default_append(keyword_tree, &i1, _("Plant"), TRUE); 
-			i3 = keyword_tree_default_append(keyword_tree, &i2, _("Tree"), TRUE); 
-			i3 = keyword_tree_default_append(keyword_tree, &i2, _("Flower"), TRUE); 
-		i2 = keyword_tree_default_append(keyword_tree, &i1, _("Water"), TRUE); 
-			i3 = keyword_tree_default_append(keyword_tree, &i2, _("River"), TRUE); 
-			i3 = keyword_tree_default_append(keyword_tree, &i2, _("Lake"), TRUE); 
-			i3 = keyword_tree_default_append(keyword_tree, &i2, _("Sea"), TRUE); 
-		i2 = keyword_tree_default_append(keyword_tree, &i1, _("Landscape"), TRUE); 
-	i1 = keyword_tree_default_append(keyword_tree, NULL, _("Art"), TRUE); 
-		i2 = keyword_tree_default_append(keyword_tree, &i1, _("Statue"), TRUE); 
-		i2 = keyword_tree_default_append(keyword_tree, &i1, _("Painting"), TRUE); 
-		i2 = keyword_tree_default_append(keyword_tree, &i1, _("Historic"), TRUE); 
-		i2 = keyword_tree_default_append(keyword_tree, &i1, _("Modern"), TRUE); 
-	i1 = keyword_tree_default_append(keyword_tree, NULL, _("City"), TRUE); 
-		i2 = keyword_tree_default_append(keyword_tree, &i1, _("Park"), TRUE); 
-		i2 = keyword_tree_default_append(keyword_tree, &i1, _("Street"), TRUE); 
-		i2 = keyword_tree_default_append(keyword_tree, &i1, _("Square"), TRUE); 
-	i1 = keyword_tree_default_append(keyword_tree, NULL, _("Architecture"), TRUE); 
-		i2 = keyword_tree_default_append(keyword_tree, &i1, _("Buildings"), FALSE); 
-			i3 = keyword_tree_default_append(keyword_tree, &i2, _("House"), TRUE); 
-			i3 = keyword_tree_default_append(keyword_tree, &i2, _("Cathedral"), TRUE); 
-			i3 = keyword_tree_default_append(keyword_tree, &i2, _("Palace"), TRUE); 
-			i3 = keyword_tree_default_append(keyword_tree, &i2, _("Castle"), TRUE); 
-			i3 = keyword_tree_default_append(keyword_tree, &i2, _("Bridge"), TRUE); 
-		i2 = keyword_tree_default_append(keyword_tree, &i1, _("Interior"), TRUE); 
-		i2 = keyword_tree_default_append(keyword_tree, &i1, _("Historic"), TRUE); 
-		i2 = keyword_tree_default_append(keyword_tree, &i1, _("Modern"), TRUE); 
-	i1 = keyword_tree_default_append(keyword_tree, NULL, _("Places"), FALSE); 
-	i1 = keyword_tree_default_append(keyword_tree, NULL, _("Conditions"), FALSE); 
-		i2 = keyword_tree_default_append(keyword_tree, &i1, _("Night"), TRUE); 
-			i3 = keyword_tree_default_append(keyword_tree, &i2, _("Lights"), TRUE); 
-		i2 = keyword_tree_default_append(keyword_tree, &i1, _("Reflections"), TRUE); 
-		i2 = keyword_tree_default_append(keyword_tree, &i1, _("Sun"), TRUE); 
-		i2 = keyword_tree_default_append(keyword_tree, &i1, _("Weather"), FALSE); 
-			i3 = keyword_tree_default_append(keyword_tree, &i2, _("Fog"), TRUE); 
-			i3 = keyword_tree_default_append(keyword_tree, &i2, _("Rain"), TRUE); 
-			i3 = keyword_tree_default_append(keyword_tree, &i2, _("Clouds"), TRUE); 
-			i3 = keyword_tree_default_append(keyword_tree, &i2, _("Snow"), TRUE); 
-			i3 = keyword_tree_default_append(keyword_tree, &i2, _("Sunny weather"), TRUE); 
-	i1 = keyword_tree_default_append(keyword_tree, NULL, _("Photo"), FALSE); 
-		i2 = keyword_tree_default_append(keyword_tree, &i1, _("Edited"), TRUE); 
-		i2 = keyword_tree_default_append(keyword_tree, &i1, _("Detail"), TRUE); 
-		i2 = keyword_tree_default_append(keyword_tree, &i1, _("Macro"), TRUE); 
-		i2 = keyword_tree_default_append(keyword_tree, &i1, _("Portrait"), TRUE); 
-		i2 = keyword_tree_default_append(keyword_tree, &i1, _("Black and White"), TRUE); 
-		i2 = keyword_tree_default_append(keyword_tree, &i1, _("Perspective"), TRUE); 
+	i1 = keyword_tree_default_append(keyword_tree, NULL, _("People"), TRUE);
+		i2 = keyword_tree_default_append(keyword_tree, &i1, _("Family"), TRUE);
+		i2 = keyword_tree_default_append(keyword_tree, &i1, _("Free time"), TRUE);
+		i2 = keyword_tree_default_append(keyword_tree, &i1, _("Children"), TRUE);
+		i2 = keyword_tree_default_append(keyword_tree, &i1, _("Sport"), TRUE);
+		i2 = keyword_tree_default_append(keyword_tree, &i1, _("Culture"), TRUE);
+			keyword_tree_default_append(keyword_tree, &i2, _("Festival"), TRUE);
+	i1 = keyword_tree_default_append(keyword_tree, NULL, _("Nature"), TRUE);
+		i2 = keyword_tree_default_append(keyword_tree, &i1, _("Animal"), TRUE);
+			keyword_tree_default_append(keyword_tree, &i2, _("Bird"), TRUE);
+			keyword_tree_default_append(keyword_tree, &i2, _("Insect"), TRUE);
+			keyword_tree_default_append(keyword_tree, &i2, _("Pets"), TRUE);
+			keyword_tree_default_append(keyword_tree, &i2, _("Wildlife"), TRUE);
+			keyword_tree_default_append(keyword_tree, &i2, _("Zoo"), TRUE);
+		i2 = keyword_tree_default_append(keyword_tree, &i1, _("Plant"), TRUE);
+			keyword_tree_default_append(keyword_tree, &i2, _("Tree"), TRUE);
+			keyword_tree_default_append(keyword_tree, &i2, _("Flower"), TRUE);
+		i2 = keyword_tree_default_append(keyword_tree, &i1, _("Water"), TRUE);
+			keyword_tree_default_append(keyword_tree, &i2, _("River"), TRUE);
+			keyword_tree_default_append(keyword_tree, &i2, _("Lake"), TRUE);
+			keyword_tree_default_append(keyword_tree, &i2, _("Sea"), TRUE);
+		i2 = keyword_tree_default_append(keyword_tree, &i1, _("Landscape"), TRUE);
+	i1 = keyword_tree_default_append(keyword_tree, NULL, _("Art"), TRUE);
+		i2 = keyword_tree_default_append(keyword_tree, &i1, _("Statue"), TRUE);
+		i2 = keyword_tree_default_append(keyword_tree, &i1, _("Painting"), TRUE);
+		i2 = keyword_tree_default_append(keyword_tree, &i1, _("Historic"), TRUE);
+		i2 = keyword_tree_default_append(keyword_tree, &i1, _("Modern"), TRUE);
+	i1 = keyword_tree_default_append(keyword_tree, NULL, _("City"), TRUE);
+		i2 = keyword_tree_default_append(keyword_tree, &i1, _("Park"), TRUE);
+		i2 = keyword_tree_default_append(keyword_tree, &i1, _("Street"), TRUE);
+		i2 = keyword_tree_default_append(keyword_tree, &i1, _("Square"), TRUE);
+	i1 = keyword_tree_default_append(keyword_tree, NULL, _("Architecture"), TRUE);
+		i2 = keyword_tree_default_append(keyword_tree, &i1, _("Buildings"), FALSE);
+			keyword_tree_default_append(keyword_tree, &i2, _("House"), TRUE);
+			keyword_tree_default_append(keyword_tree, &i2, _("Cathedral"), TRUE);
+			keyword_tree_default_append(keyword_tree, &i2, _("Palace"), TRUE);
+			keyword_tree_default_append(keyword_tree, &i2, _("Castle"), TRUE);
+			keyword_tree_default_append(keyword_tree, &i2, _("Bridge"), TRUE);
+		i2 = keyword_tree_default_append(keyword_tree, &i1, _("Interior"), TRUE);
+		i2 = keyword_tree_default_append(keyword_tree, &i1, _("Historic"), TRUE);
+		i2 = keyword_tree_default_append(keyword_tree, &i1, _("Modern"), TRUE);
+	i1 = keyword_tree_default_append(keyword_tree, NULL, _("Places"), FALSE);
+	i1 = keyword_tree_default_append(keyword_tree, NULL, _("Conditions"), FALSE);
+		i2 = keyword_tree_default_append(keyword_tree, &i1, _("Night"), TRUE);
+			keyword_tree_default_append(keyword_tree, &i2, _("Lights"), TRUE);
+		i2 = keyword_tree_default_append(keyword_tree, &i1, _("Reflections"), TRUE);
+		i2 = keyword_tree_default_append(keyword_tree, &i1, _("Sun"), TRUE);
+		i2 = keyword_tree_default_append(keyword_tree, &i1, _("Weather"), FALSE);
+			keyword_tree_default_append(keyword_tree, &i2, _("Fog"), TRUE);
+			keyword_tree_default_append(keyword_tree, &i2, _("Rain"), TRUE);
+			keyword_tree_default_append(keyword_tree, &i2, _("Clouds"), TRUE);
+			keyword_tree_default_append(keyword_tree, &i2, _("Snow"), TRUE);
+			keyword_tree_default_append(keyword_tree, &i2, _("Sunny weather"), TRUE);
+	i1 = keyword_tree_default_append(keyword_tree, NULL, _("Photo"), FALSE);
+		i2 = keyword_tree_default_append(keyword_tree, &i1, _("Edited"), TRUE);
+		i2 = keyword_tree_default_append(keyword_tree, &i1, _("Detail"), TRUE);
+		i2 = keyword_tree_default_append(keyword_tree, &i1, _("Macro"), TRUE);
+		i2 = keyword_tree_default_append(keyword_tree, &i1, _("Portrait"), TRUE);
+		i2 = keyword_tree_default_append(keyword_tree, &i1, _("Black and White"), TRUE);
+		i2 = keyword_tree_default_append(keyword_tree, &i1, _("Perspective"), TRUE);
 }
 
 
@@ -1672,7 +1672,7 @@
 		write_char_option(outstr, indent, "name", name);
 		g_free(name);
 		write_bool_option(outstr, indent, "kw", keyword_get_is_keyword(keyword_tree, &iter));
-		if (gtk_tree_model_iter_children(keyword_tree, &children, &iter)) 
+		if (gtk_tree_model_iter_children(keyword_tree, &children, &iter))
 			{
 			WRITE_STRING(">");
 			indent++;
@@ -1680,7 +1680,7 @@
 			indent--;
 			WRITE_NL(); WRITE_STRING("</keyword>");
 			}
-		else 
+		else
 			{
 			WRITE_STRING("/>");
 			}
@@ -1693,7 +1693,7 @@
 	GtkTreeIter iter;
 	WRITE_NL(); WRITE_STRING("<keyword_tree>");
 	indent++;
-	
+
 	if (keyword_tree && gtk_tree_model_get_iter_first(GTK_TREE_MODEL(keyword_tree), &iter))
 		{
 		keyword_tree_node_write_config(GTK_TREE_MODEL(keyword_tree), &iter, outstr, indent);
@@ -1717,7 +1717,7 @@
 
 		log_printf("unknown attribute %s = %s\n", option, value);
 		}
-	if (name && name[0]) 
+	if (name && name[0])
 		{
 		GtkTreeIter iter;
 		/* re-use existing keyword if any */
--- a/src/metadata.h	Sun May 27 18:41:56 2012 +0100
+++ b/src/metadata.h	Tue Oct 02 22:19:13 2012 +0100
@@ -1,7 +1,7 @@
 /*
  * Geeqie
  * (C) 2004 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * Author: John Ellis, Laurent Monin
  *
--- a/src/misc.c	Sun May 27 18:41:56 2012 +0100
+++ b/src/misc.c	Tue Oct 02 22:19:13 2012 +0100
@@ -1,6 +1,6 @@
 /*
  * Geeqie
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * Authors: Vladimir Nadvornik / Laurent Monin
  *
@@ -22,7 +22,7 @@
 	gint len;
 
 	if (!text) return NULL;
-	
+
 	len = strlen(text);
 	if (!g_utf8_validate(text, len, NULL))
 		return g_convert(text, len, "UTF-8", "ISO-8859-1", NULL, NULL, NULL);
@@ -160,7 +160,7 @@
 
 		DEBUG_1("%s : %d\n", msg, retval);
 	}
-	
+
 	return retval;
 #endif
 }
--- a/src/misc.h	Sun May 27 18:41:56 2012 +0100
+++ b/src/misc.h	Tue Oct 02 22:19:13 2012 +0100
@@ -1,6 +1,6 @@
 /*
  * Geeqie
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * Authors: Vladimir Nadvornik / Laurent Monin
  *
--- a/src/options.c	Sun May 27 18:41:56 2012 +0100
+++ b/src/options.c	Tue Oct 02 22:19:13 2012 +0100
@@ -1,6 +1,6 @@
 /*
  * Geeqie
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * Authors: Vladimir Nadvornik, Laurent Monin
  *
@@ -38,7 +38,7 @@
 
 	options->dnd_icon_size = 48;
 	options->duplicates_similarity_threshold = 99;
-	
+
 	options->file_filter.disable = FALSE;
 	options->file_filter.show_dot_directory = FALSE;
 	options->file_filter.show_hidden_files = FALSE;
@@ -63,7 +63,6 @@
 	options->fullscreen.screen = -1;
 
 	memset(&options->image.border_color, 0, sizeof(options->image.border_color));
-	options->image.dither_quality = GDK_RGB_DITHER_NORMAL;
 	options->image.enable_read_ahead = TRUE;
 	options->image.exif_rotate_enable = TRUE;
 	options->image.exif_proof_rotate_enable = TRUE;
@@ -93,7 +92,7 @@
 	options->place_dialogs_under_mouse = FALSE;
 
 	options->progressive_key_scrolling = TRUE;
-	
+
 	options->metadata.enable_metadata_dirs = FALSE;
 	options->metadata.save_in_image_file = FALSE;
 	options->metadata.save_legacy_IPTC = FALSE;
@@ -107,7 +106,7 @@
 	options->metadata.confirm_on_dir_change = TRUE;
 	options->metadata.keywords_case_sensitive = FALSE;
 	options->metadata.write_orientation = TRUE;
-	
+
 	options->show_icon_names = TRUE;
 
 	options->slideshow.delay = 50;
@@ -125,7 +124,7 @@
 
 	options->tree_descend_subdirs = FALSE;
 	options->update_on_time_change = TRUE;
-	
+
 	options->stereo.fixed_w = 1920;
 	options->stereo.fixed_h = 1080;
 	options->stereo.fixed_x1 = 0;
@@ -161,17 +160,12 @@
 
 	options->shell.path = g_strdup(GQ_DEFAULT_SHELL_PATH);
 	options->shell.options = g_strdup(GQ_DEFAULT_SHELL_OPTIONS);
-
-#if 0	
-	for (i = 0; ExifUIList[i].key; i++)
-		ExifUIList[i].current = ExifUIList[i].default_value;
-#endif
 }
 
 void copy_layout_options(LayoutOptions *dest, const LayoutOptions *src)
 {
 	free_layout_options_content(dest);
-	
+
 	*dest = *src;
 	dest->id = g_strdup(src->id);
 	dest->order = g_strdup(src->order);
@@ -261,7 +255,7 @@
 		DEBUG_1("Loading options from %s ... %s", rc_path, success ? "done" : "failed");
 		g_free(rc_path);
 		}
-	
+
 	rc_path = g_build_filename(get_rc_dir(), RC_FILE_NAME, NULL);
 	success = load_config_from_file(rc_path, TRUE);
 	DEBUG_1("Loading options from %s ... %s", rc_path, success ? "done" : "failed");
--- a/src/options.h	Sun May 27 18:41:56 2012 +0100
+++ b/src/options.h	Tue Oct 02 22:19:13 2012 +0100
@@ -1,6 +1,6 @@
 /*
  * Geeqie
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * Authors: Vladimir Nadvornik, Laurent Monin
  *
@@ -60,7 +60,6 @@
 
 		gint tile_cache_max;	/* in megabytes */
 		gint image_cache_max;   /* in megabytes */
-		guint dither_quality;
 		gboolean enable_read_ahead;
 
 		ZoomMode zoom_mode;
@@ -68,6 +67,7 @@
 		gboolean zoom_to_fit_allow_expand;
 		guint zoom_quality;
 		gint zoom_increment;	/* 10 is 1.0, 5 is 0.05, 20 is 2.0, etc. */
+		gboolean use_clutter_renderer;
 
 		gboolean use_custom_border_color_in_fullscreen;
 		gboolean use_custom_border_color;
@@ -96,7 +96,7 @@
 	struct {
 		gchar *ext;
 	} sidecar;
-	
+
 	/* collections */
 	struct {
 		gboolean rectangular_selection;
@@ -107,7 +107,7 @@
 		gchar *path;
 		gchar *options;
 	} shell;
-	
+
 	/* file sorting */
 	struct {
 		SortType method;
@@ -171,9 +171,9 @@
 		gboolean warn_on_write_problems;
 
 		gboolean save_legacy_format;
-		
+
 		gboolean sync_grouped_files;
-		
+
 		gboolean confirm_write;
 		gint confirm_timeout;
 		gboolean confirm_after_timeout;
@@ -182,7 +182,7 @@
 		gboolean keywords_case_sensitive;
 		gboolean write_orientation;
 	} metadata;
-	
+
 	/* Stereo */
 	struct {
 		gint mode;;
@@ -204,7 +204,7 @@
 			gboolean fs_flip_left;
 			gboolean fs_swap;
 			gboolean fs_temp_disable;
-		} tmp; 
+		} tmp;
 	} stereo;
 };
 
--- a/src/pan-calendar.c	Sun May 27 18:41:56 2012 +0100
+++ b/src/pan-calendar.c	Tue Oct 02 22:19:13 2012 +0100
@@ -1,7 +1,7 @@
 /*
  * Geeqie
  * (C) 2006 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * Author: John Ellis
  *
@@ -86,22 +86,11 @@
 			}
 		}
 
-#if 0
-	if (!list) return;
-#endif
-
 	grid = (gint)(sqrt(g_list_length(list)) + 0.5);
 
 	x = pi_day->x + pi_day->width + 4;
 	y = pi_day->y;
 
-#if 0
-	if (y + grid * (PAN_THUMB_SIZE + PAN_THUMB_GAP) + PAN_BOX_BORDER * 4 > pw->pr->image_height)
-		{
-		y = pw->pr->image_height - (grid * (PAN_THUMB_SIZE + PAN_THUMB_GAP) + PAN_BOX_BORDER * 4);
-		}
-#endif
-
 	pbox = pan_item_box_new(pw, NULL, x, y, PAN_BOX_BORDER, PAN_BOX_BORDER,
 				PAN_CAL_POPUP_BORDER,
 				PAN_CAL_POPUP_COLOR, PAN_CAL_POPUP_ALPHA,
@@ -194,8 +183,6 @@
 	time_t tc;
 	gint count;
 	gint day_max;
-	gint day_width;
-	gint day_height;
 	gint grid;
 	gint year = 0;
 	gint month = 0;
@@ -240,8 +227,6 @@
 	DEBUG_1("biggest day contains %d images", day_max);
 
 	grid = (gint)(sqrt((gdouble)day_max) + 0.5) * (PAN_THUMB_SIZE + PAN_SHADOW_OFFSET * 2 + PAN_THUMB_GAP);
-	day_width = MAX(PAN_CAL_DAY_WIDTH, grid);
-	day_height = MAX(PAN_CAL_DAY_HEIGHT, grid);
 
 	if (list)
 		{
--- a/src/pan-folder.c	Sun May 27 18:41:56 2012 +0100
+++ b/src/pan-folder.c	Tue Oct 02 22:19:13 2012 +0100
@@ -1,7 +1,7 @@
 /*
  * Geeqie
  * (C) 2006 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * Author: John Ellis
  *
--- a/src/pan-grid.c	Sun May 27 18:41:56 2012 +0100
+++ b/src/pan-grid.c	Tue Oct 02 22:19:13 2012 +0100
@@ -1,7 +1,7 @@
 /*
  * Geeqie
  * (C) 2006 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * Author: John Ellis
  *
--- a/src/pan-item.c	Sun May 27 18:41:56 2012 +0100
+++ b/src/pan-item.c	Tue Oct 02 22:19:13 2012 +0100
@@ -1,7 +1,7 @@
 /*
  * Geeqie
  * (C) 2006 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * Author: John Ellis
  *
@@ -450,7 +450,7 @@
 	PanItem *pi;
 
 	pi = g_new0(PanItem, 1);
-	
+
 	pi->type = PAN_ITEM_THUMB;
 	pi->fd = fd;
 	pi->x = x;
--- a/src/pan-timeline.c	Sun May 27 18:41:56 2012 +0100
+++ b/src/pan-timeline.c	Tue Oct 02 22:19:13 2012 +0100
@@ -1,7 +1,7 @@
 /*
  * Geeqie
  * (C) 2006 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * Author: John Ellis
  *
--- a/src/pan-types.h	Sun May 27 18:41:56 2012 +0100
+++ b/src/pan-types.h	Tue Oct 02 22:19:13 2012 +0100
@@ -1,7 +1,7 @@
 /*
  * Geeqie
  * (C) 2006 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * Author: John Ellis
  *
--- a/src/pan-util.c	Sun May 27 18:41:56 2012 +0100
+++ b/src/pan-util.c	Tue Oct 02 22:19:13 2012 +0100
@@ -1,7 +1,7 @@
 /*
  * Geeqie
  * (C) 2006 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * Author: John Ellis
  *
--- a/src/pan-view.c	Sun May 27 18:41:56 2012 +0100
+++ b/src/pan-view.c	Tue Oct 02 22:19:13 2012 +0100
@@ -1,7 +1,7 @@
 /*
  * Geeqie
  * (C) 2006 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * Author: John Ellis
  *
@@ -150,32 +150,6 @@
 	while (pan_queue_step(pw));
 }
 
-#if 0
-static void pan_queue_image_area_cb(ImageLoader *il, guint x, guint y,
-				    guint width, guint height, gpointer data)
-{
-	PanWindow *pw = data;
-
-	if (pw->queue_pi)
-		{
-		PanItem *pi;
-		gint rc;
-
-		pi = pw->queue_pi;
-
-		if (!pi->pixbuf)
-			{
-			pi->pixbuf = image_loader_get_pixbuf(pw->il);
-			if (pi->pixbuf) g_object_ref(pi->pixbuf);
-			}
-
-		rc = pi->refcount;
-		image_area_changed(pw->imd, pi->x + x, pi->y + y, width, height);
-		pi->refcount = rc;
-		}
-}
-#endif
-
 static gboolean pan_queue_step(PanWindow *pw)
 {
 	PanItem *pi;
@@ -207,9 +181,6 @@
 			image_loader_set_requested_size(pw->il, pi->width, pi->height);
 			}
 
-#if 0
-		image_loader_set_area_ready_func(pw->il, pan_queue_image_area_cb, pw);
-#endif
 		g_signal_connect(G_OBJECT(pw->il), "error", (GCallback)pan_queue_image_done_cb, pw);
 		g_signal_connect(G_OBJECT(pw->il), "done", (GCallback)pan_queue_image_done_cb, pw);
 
@@ -347,26 +318,6 @@
 
 	g_list_free(list);
 
-#if 0
-	if (x%512 == 0 && y%512 == 0)
-		{
-		PangoLayout *layout;
-		gchar *buf;
-
-		layout = gtk_widget_create_pango_layout((GtkWidget *)pr, NULL);
-
-		buf = g_strdup_printf("%d,%d\n(#%d)", x, y,
-				      (x / pr->source_tile_width) +
-				      (y / pr->source_tile_height * (pr->image_width/pr->source_tile_width + 1)));
-		pango_layout_set_text(layout, buf, -1);
-		g_free(buf);
-
-		pixbuf_draw_layout(pixbuf, layout, (GtkWidget *)pr, 0, 0, 0, 0, 0, 255);
-
-		g_object_unref(G_OBJECT(layout));
-		}
-#endif
-
 	return TRUE;
 }
 
@@ -613,46 +564,6 @@
 	fd = pw->cache_todo->data;
 	pw->cache_todo = g_list_remove(pw->cache_todo, fd);
 
-#if 0
-	if (enable_thumb_caching)
-		{
-		gchar *found;
-
-		found = cache_find_location(CACHE_TYPE_SIM, fd->path);
-		if (found && filetime(found) == fd->date)
-			{
-			cd = cache_sim_data_load(found);
-			}
-		g_free(found);
-		}
-
-	if (!cd) cd = cache_sim_data_new();
-
-	if (!cd->dimensions)
-		{
-		cd->dimensions = image_load_dimensions(fd, &cd->width, &cd->height);
-		if (enable_thumb_caching &&
-		    cd->dimensions)
-			{
-			gchar *base;
-			mode_t mode = 0755;
-
-			base = cache_get_location(CACHE_TYPE_SIM, fd->path, FALSE, &mode);
-			if (recursive_mkdir_if_not_exists(base, mode))
-				{
-				g_free(cd->path);
-				cd->path = cache_get_location(CACHE_TYPE_SIM, fd->path, TRUE, NULL);
-				if (cache_sim_data_save(cd))
-					{
-					filetime_set(cd->path, filetime(fd->path));
-					}
-				}
-			g_free(base);
-			}
-
-		pw->cache_tick = 9;
-		}
-#endif
 	pc = g_new0(PanCacheData, 1);
 	pc->fd = file_data_ref(fd);
 
@@ -748,9 +659,6 @@
 	gint col, row;
 	gint cw, ch;
 	gint l;
-	gdouble total;
-	gdouble s;
-	gdouble aw, ah;
 	gint i, j;
 
 	pan_grid_clear(pw);
@@ -759,12 +667,6 @@
 
 	if (l < 1) return;
 
-	total = (gdouble)width * (gdouble)height / (gdouble)l;
-	s = sqrt(total);
-
-	aw = (gdouble)width / s;
-	ah = (gdouble)height / s;
-
 	col = (gint)(sqrt((gdouble)l / grid_size) * width / height + 0.999);
 	col = CLAMP(col, 1, l / grid_size + 1);
 	row = (gint)((gdouble)l / grid_size / col);
@@ -1193,7 +1095,7 @@
 {
 	PanWindow *pw = data;
 
-	gdk_window_get_origin(pw->imd->pr->window, x, y);
+	gdk_window_get_origin(gtk_widget_get_window(pw->imd->pr), x, y);
 	popup_menu_position_clamp(menu, x, y, 0);
 }
 
@@ -1204,6 +1106,7 @@
 	FileData *fd;
 	gboolean stop_signal = FALSE;
 	GtkWidget *menu;
+	GtkWidget *imd_widget;
 	gint x = 0;
 	gint y = 0;
 	gint focused;
@@ -1212,43 +1115,38 @@
 	pr = PIXBUF_RENDERER(pw->imd->pr);
 	fd = pan_menu_click_fd(pw);
 
-#if GTK_CHECK_VERSION(2,20,0)
-	focused = (pw->fs || gtk_widget_has_focus(GTK_WIDGET(pw->imd->widget)));
+	imd_widget = gtk_container_get_focus_child(GTK_CONTAINER(pw->imd->widget));
+	focused = (pw->fs || (imd_widget && gtk_widget_has_focus(imd_widget)));
 	on_entry = (gtk_widget_has_focus(pw->path_entry) ||
 		    gtk_widget_has_focus(pw->search_entry));
-#else
-	focused = (pw->fs || GTK_WIDGET_HAS_FOCUS(GTK_WIDGET(pw->imd->widget)));
-	on_entry = (GTK_WIDGET_HAS_FOCUS(pw->path_entry) ||
-		    GTK_WIDGET_HAS_FOCUS(pw->search_entry));
-#endif
 
 	if (focused)
 		{
 		stop_signal = TRUE;
 		switch (event->keyval)
 			{
-			case GDK_Left: case GDK_KP_Left:
+			case GDK_KEY_Left: case GDK_KEY_KP_Left:
 				x -= 1;
 				break;
-			case GDK_Right: case GDK_KP_Right:
+			case GDK_KEY_Right: case GDK_KEY_KP_Right:
 				x += 1;
 				break;
-			case GDK_Up: case GDK_KP_Up:
+			case GDK_KEY_Up: case GDK_KEY_KP_Up:
 				y -= 1;
 				break;
-			case GDK_Down: case GDK_KP_Down:
+			case GDK_KEY_Down: case GDK_KEY_KP_Down:
 				y += 1;
 				break;
-			case GDK_Page_Up: case GDK_KP_Page_Up:
+			case GDK_KEY_Page_Up: case GDK_KEY_KP_Page_Up:
 				pixbuf_renderer_scroll(pr, 0, 0 - pr->vis_height / 2);
 				break;
-			case GDK_Page_Down: case GDK_KP_Page_Down:
+			case GDK_KEY_Page_Down: case GDK_KEY_KP_Page_Down:
 				pixbuf_renderer_scroll(pr, 0, pr->vis_height / 2);
 				break;
-			case GDK_Home: case GDK_KP_Home:
+			case GDK_KEY_Home: case GDK_KEY_KP_Home:
 				pixbuf_renderer_scroll(pr, 0 - pr->vis_width / 2, 0);
 				break;
-			case GDK_End: case GDK_KP_End:
+			case GDK_KEY_End: case GDK_KEY_KP_End:
 				pixbuf_renderer_scroll(pr, pr->vis_width / 2, 0);
 				break;
 			default:
@@ -1272,40 +1170,19 @@
 
 	if (event->state & GDK_CONTROL_MASK)
 		{
-		gint n = -1;
-
 		stop_signal = TRUE;
 		switch (event->keyval)
 			{
 			case '1':
-				n = 0;
-				break;
 			case '2':
-				n = 1;
-				break;
 			case '3':
-				n = 2;
-				break;
 			case '4':
-				n = 3;
-				break;
 			case '5':
-				n = 4;
-				break;
 			case '6':
-				n = 5;
-				break;
 			case '7':
-				n = 6;
-				break;
 			case '8':
-				n = 7;
-				break;
 			case '9':
-				n = 8;
-				break;
 			case '0':
-				n = 9;
 				break;
 			case 'C': case 'c':
 				if (fd) file_util_copy(fd, NULL, NULL, GTK_WIDGET(pr));
@@ -1332,23 +1209,13 @@
 				stop_signal = FALSE;
 				break;
 			}
-#if 0
-		if (n != -1 && fd)
-			{
-			if (!editor_window_flag_set(n))
-				{
-				pan_fullscreen_toggle(pw, TRUE);
-				}
-			file_util_start_editor_from_file(n, fd, GTK_WIDGET(pr));
-			}
-#endif
 		}
 	else
 		{
 		stop_signal = TRUE;
 		switch (event->keyval)
 			{
-			case GDK_Escape:
+			case GDK_KEY_Escape:
 				if (pw->fs)
 					{
 					pan_fullscreen_toggle(pw, TRUE);
@@ -1370,13 +1237,13 @@
 			stop_signal = TRUE;
 			switch (event->keyval)
 				{
-				case '+': case '=': case GDK_KP_Add:
+				case '+': case '=': case GDK_KEY_KP_Add:
 					pixbuf_renderer_zoom_adjust(pr, ZOOM_INCREMENT);
 					break;
-				case '-': case GDK_KP_Subtract:
+				case '-': case GDK_KEY_KP_Subtract:
 					pixbuf_renderer_zoom_adjust(pr, -ZOOM_INCREMENT);
 					break;
-				case 'Z': case 'z': case GDK_KP_Divide: case '1':
+				case 'Z': case 'z': case GDK_KEY_KP_Divide: case '1':
 					pixbuf_renderer_zoom_set(pr, 1.0);
 					break;
 				case '2':
@@ -1399,18 +1266,15 @@
 					break;
 				case 'F': case 'f':
 				case 'V': case 'v':
-				case GDK_F11:
+				case GDK_KEY_F11:
 					pan_fullscreen_toggle(pw, FALSE);
 					break;
 				case 'I': case 'i':
-#if 0
-					pan_overlay_toggle(pw);
-#endif
+					break;
+				case GDK_KEY_Delete: case GDK_KEY_KP_Delete:
 					break;
-				case GDK_Delete: case GDK_KP_Delete:
-					break;
-				case GDK_Menu:
-				case GDK_F10:
+				case GDK_KEY_Menu:
+				case GDK_KEY_F10:
 					menu = pan_popup_menu(pw);
 					gtk_menu_popup(GTK_MENU(menu), NULL, NULL,
 						       pan_window_menu_pos_cb, pw, 0, GDK_CURRENT_TIME);
@@ -1440,57 +1304,6 @@
 	if (!fd) return;
 
 	pan_text_alignment_add(ta, NULL, NULL);
-#if 0
-	{
-	GList *work;
-	gint i;
-
-
-	for (i = 0; ExifUIList[i].key; i++)
-		{
-		gchar *label;
-		gchar *desc;
-		gchar *text;
-
-		if (ExifUIList[i].current == EXIF_UI_OFF) continue;
-
-		text = metadata_read_string(fd, ExifUIList[i].key, METADATA_FORMATTED);
-		
-		if (ExifUIList[i].current == EXIF_UI_IFSET && (!text || !*text))
-			{
-			g_free(text);
-			continue;
-			}
-		
-		desc = exif_get_description_by_key(ExifUIList[i].key);
-		label = g_strdup_printf("%s:", desc);
-		g_free(desc);
-		pan_text_alignment_add(ta, label, text);
-		g_free(label);
-		g_free(text);
-		}
-
-	work = g_list_last(history_list_get_by_key("exif_extras"));
-	if (work) pan_text_alignment_add(ta, "---", NULL);
-	while (work)
-		{
-		const gchar *name;
-		gchar *text;
-
-		name = work->data;
-		work = work->prev;
-
-		text =  metadata_read_string(fd, name, METADATA_FORMATTED);
-		if (text)
-			{
-			gchar *label = g_strdup_printf("%s:", name);
-			pan_text_alignment_add(ta, label, text);
-			g_free(label);
-			g_free(text);
-			}
-		}
-	}
-#endif
 }
 
 
@@ -1956,13 +1769,6 @@
 {
 	gchar *text;
 
-#if 0
-	if (!GTK_WIDGET_VISIBLE(pw->search_box))
-		{
-		gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(pw->search_button), TRUE);
-		}
-#endif
-
 	text = g_strdup(gtk_entry_get_text(GTK_ENTRY(pw->search_entry)));
 	pan_search_activate_cb(text, pw);
 	g_free(text);
@@ -1973,11 +1779,7 @@
 	PanWindow *pw = data;
 	gboolean visible;
 
-#if GTK_CHECK_VERSION(2,20,0)
 	visible = gtk_widget_get_visible(pw->search_box);
-#else
-	visible = GTK_WIDGET_VISIBLE(pw->search_box);
-#endif
 	if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(button)) == visible) return;
 
 	if (visible)
@@ -1999,11 +1801,7 @@
 
 	if (enable)
 		{
-#if GTK_CHECK_VERSION(2,20,0)
 		if (gtk_widget_get_visible(pw->search_box))
-#else
-		if (GTK_WIDGET_VISIBLE(pw->search_box))
-#endif
 			{
 			gtk_widget_grab_focus(pw->search_entry);
 			}
@@ -2014,17 +1812,9 @@
 		}
 	else
 		{
-#if GTK_CHECK_VERSION(2,20,0)
 		if (gtk_widget_get_visible(pw->search_entry))
-#else
-		if (GTK_WIDGET_VISIBLE(pw->search_entry))
-#endif
 			{
-#if GTK_CHECK_VERSION(2,20,0)
 			if (gtk_widget_has_focus(pw->search_entry))
-#else
-			if (GTK_WIDGET_HAS_FOCUS(pw->search_entry))
-#endif
 				{
 				gtk_widget_grab_focus(GTK_WIDGET(pw->imd->widget));
 				}
@@ -2089,9 +1879,6 @@
 
 static void scroll_cb(PixbufRenderer *pr, GdkEventScroll *event, gpointer data)
 {
-#if 0
-	PanWindow *pw = data;
-#endif
 	gint w, h;
 
 	w = pr->vis_width;
@@ -2199,12 +1986,12 @@
 	pixbuf_renderer_get_image_size(pr, &width, &height);
 
 	adj = gtk_range_get_adjustment(GTK_RANGE(pw->scrollbar_h));
-	adj->page_size = (gdouble)rect.width;
-	adj->page_increment = adj->page_size / 2.0;
-	adj->step_increment = 48.0 / pr->scale;
-	adj->lower = 0.0;
-	adj->upper = MAX((gdouble)width, 1.0);
-	adj->value = (gdouble)rect.x;
+	gtk_adjustment_set_page_size(adj, rect.width);
+	gtk_adjustment_set_page_increment(adj, gtk_adjustment_get_page_size(adj) / 2.0);
+	gtk_adjustment_set_step_increment(adj, 48.0 / pr->scale);
+	gtk_adjustment_set_lower(adj, 0.0);
+	gtk_adjustment_set_upper(adj, MAX((gdouble)width, 1.0));
+	gtk_adjustment_set_value(adj, (gdouble)rect.x);
 
 	pref_signal_block_data(pw->scrollbar_h, pw);
 	gtk_adjustment_changed(adj);
@@ -2212,12 +1999,12 @@
 	pref_signal_unblock_data(pw->scrollbar_h, pw);
 
 	adj = gtk_range_get_adjustment(GTK_RANGE(pw->scrollbar_v));
-	adj->page_size = (gdouble)rect.height;
-	adj->page_increment = adj->page_size / 2.0;
-	adj->step_increment = 48.0 / pr->scale;
-	adj->lower = 0.0;
-	adj->upper = MAX((gdouble)height, 1.0);
-	adj->value = (gdouble)rect.y;
+	gtk_adjustment_set_page_size(adj, rect.height);
+	gtk_adjustment_set_page_increment(adj, gtk_adjustment_get_page_size(adj) / 2.0);
+	gtk_adjustment_set_step_increment(adj, 48.0 / pr->scale);
+	gtk_adjustment_set_lower(adj, 0.0);
+	gtk_adjustment_set_upper(adj, MAX((gdouble)height, 1.0));
+	gtk_adjustment_set_value(adj, (gdouble)rect.y);
 
 	pref_signal_block_data(pw->scrollbar_v, pw);
 	gtk_adjustment_changed(adj);
@@ -2271,16 +2058,6 @@
 	pan_layout_update(pw);
 }
 
-#if 0
-static void pan_window_date_toggle_cb(GtkWidget *button, gpointer data)
-{
-	PanWindow *pw = data;
-
-	pw->exif_date_enable = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(button));
-	pan_layout_update(pw);
-}
-#endif
-
 static void pan_window_entry_activate_cb(const gchar *new_text, gpointer data)
 {
 	PanWindow *pw = data;
@@ -2406,17 +2183,17 @@
 	pref_label_new(box, _("Location:"));
 	combo = tab_completion_new_with_history(&pw->path_entry, dir_fd->path, "pan_view_path", -1,
 						pan_window_entry_activate_cb, pw);
-	g_signal_connect(G_OBJECT(pw->path_entry->parent), "changed",
+	g_signal_connect(G_OBJECT(gtk_widget_get_parent(pw->path_entry)), "changed",
 			 G_CALLBACK(pan_window_entry_change_cb), pw);
 	gtk_box_pack_start(GTK_BOX(box), combo, TRUE, TRUE, 0);
 	gtk_widget_show(combo);
 
-	combo = gtk_combo_box_new_text();
-	gtk_combo_box_append_text(GTK_COMBO_BOX(combo), _("Timeline"));
-	gtk_combo_box_append_text(GTK_COMBO_BOX(combo), _("Calendar"));
-	gtk_combo_box_append_text(GTK_COMBO_BOX(combo), _("Folders"));
-	gtk_combo_box_append_text(GTK_COMBO_BOX(combo), _("Folders (flower)"));
-	gtk_combo_box_append_text(GTK_COMBO_BOX(combo), _("Grid"));
+	combo = gtk_combo_box_text_new();
+	gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(combo), _("Timeline"));
+	gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(combo), _("Calendar"));
+	gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(combo), _("Folders"));
+	gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(combo), _("Folders (flower)"));
+	gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(combo), _("Grid"));
 
 	gtk_combo_box_set_active(GTK_COMBO_BOX(combo), pw->layout);
 	g_signal_connect(G_OBJECT(combo), "changed",
@@ -2424,17 +2201,17 @@
 	gtk_box_pack_start(GTK_BOX(box), combo, FALSE, FALSE, 0);
 	gtk_widget_show(combo);
 
-	combo = gtk_combo_box_new_text();
-	gtk_combo_box_append_text(GTK_COMBO_BOX(combo), _("Dots"));
-	gtk_combo_box_append_text(GTK_COMBO_BOX(combo), _("No Images"));
-	gtk_combo_box_append_text(GTK_COMBO_BOX(combo), _("Small Thumbnails"));
-	gtk_combo_box_append_text(GTK_COMBO_BOX(combo), _("Normal Thumbnails"));
-	gtk_combo_box_append_text(GTK_COMBO_BOX(combo), _("Large Thumbnails"));
-	gtk_combo_box_append_text(GTK_COMBO_BOX(combo), _("1:10 (10%)"));
-	gtk_combo_box_append_text(GTK_COMBO_BOX(combo), _("1:4 (25%)"));
-	gtk_combo_box_append_text(GTK_COMBO_BOX(combo), _("1:3 (33%)"));
-	gtk_combo_box_append_text(GTK_COMBO_BOX(combo), _("1:2 (50%)"));
-	gtk_combo_box_append_text(GTK_COMBO_BOX(combo), _("1:1 (100%)"));
+	combo = gtk_combo_box_text_new();
+	gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(combo), _("Dots"));
+	gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(combo), _("No Images"));
+	gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(combo), _("Small Thumbnails"));
+	gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(combo), _("Normal Thumbnails"));
+	gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(combo), _("Large Thumbnails"));
+	gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(combo), _("1:10 (10%)"));
+	gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(combo), _("1:4 (25%)"));
+	gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(combo), _("1:3 (33%)"));
+	gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(combo), _("1:2 (50%)"));
+	gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(combo), _("1:1 (100%)"));
 
 	gtk_combo_box_set_active(GTK_COMBO_BOX(combo), pw->size);
 	g_signal_connect(G_OBJECT(combo), "changed",
@@ -2524,11 +2301,6 @@
 	gtk_container_add(GTK_CONTAINER(frame), pw->label_zoom);
 	gtk_widget_show(pw->label_zoom);
 
-#if 0
-	pw->date_button = pref_checkbox_new(box, _("Use Exif date"), pw->exif_date_enable,
-					    G_CALLBACK(pan_window_date_toggle_cb), pw);
-#endif
-
 	pw->search_button = gtk_toggle_button_new();
 	gtk_button_set_relief(GTK_BUTTON(pw->search_button), GTK_RELIEF_NONE);
 	gtk_button_set_focus_on_click(GTK_BUTTON(pw->search_button), FALSE);
@@ -2809,9 +2581,9 @@
 {
 	GList *list = NULL;
 	FileData *fd = pan_menu_click_fd(pw);
-	
+
 	if (fd) list = g_list_prepend(filelist_copy(fd->sidecar_files), file_data_ref(fd));
-	
+
 	return list;
 }
 
@@ -2841,7 +2613,7 @@
 
 	submenu_add_edit(menu, &item, G_CALLBACK(pan_edit_cb), pw, editmenu_fd_list);
 	gtk_widget_set_sensitive(item, active);
-	
+
 	menu_item_add_stock_sensitive(menu, _("View in _new window"), GTK_STOCK_NEW, active,
 				      G_CALLBACK(pan_new_window_cb), pw);
 
@@ -2933,7 +2705,7 @@
 		{
 		GList *list;
 
-		list = uri_filelist_from_text((gchar *)selection_data->data, TRUE);
+		list = uri_filelist_from_gtk_selection_data(selection_data);
 		if (list && isdir(((FileData *)list->data)->path))
 			{
 			FileData *fd = list->data;
@@ -2955,34 +2727,15 @@
 	fd = pan_menu_click_fd(pw);
 	if (fd)
 		{
-		gchar *text = NULL;
-		gint len;
-		gboolean plain_text;
 		GList *list;
 
-		switch (info)
-			{
-			case TARGET_URI_LIST:
-				plain_text = FALSE;
-				break;
-			case TARGET_TEXT_PLAIN:
-			default:
-				plain_text = TRUE;
-				break;
-			}
 		list = g_list_append(NULL, fd);
-		text = uri_text_from_filelist(list, &len, plain_text);
+		uri_selection_data_set_uris_from_filelist(selection_data, list);
 		g_list_free(list);
-		if (text)
-			{
-			gtk_selection_data_set(selection_data, selection_data->target,
-					       8, (guchar *)text, len);
-			g_free(text);
-			}
 		}
 	else
 		{
-		gtk_selection_data_set(selection_data, selection_data->target,
+		gtk_selection_data_set(selection_data, gtk_selection_data_get_target(selection_data),
 				       8, NULL, 0);
 		}
 }
--- a/src/pan-view.h	Sun May 27 18:41:56 2012 +0100
+++ b/src/pan-view.h	Tue Oct 02 22:19:13 2012 +0100
@@ -1,7 +1,7 @@
 /*
  * Geeqie
  * (C) 2006 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * Author: John Ellis
  *
--- a/src/pixbuf-renderer.c	Sun May 27 18:41:56 2012 +0100
+++ b/src/pixbuf-renderer.c	Tue Oct 02 22:19:13 2012 +0100
@@ -1,7 +1,7 @@
 /*
  * Geeqie
  * (C) 2006 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * Author: John Ellis
  *
@@ -18,13 +18,13 @@
 #include "main.h"
 #include "pixbuf-renderer.h"
 #include "renderer-tiles.h"
+#include "renderer-clutter.h"
 
 #include "intl.h"
 #include "layout.h"
 
 #include <gtk/gtk.h>
 
-
 /* comment this out if not using this from within Geeqie
  * defining GQ_BUILD does these things:
  *   - Sets the shift-click scroller pixbuf to a nice icon instead of a black box
@@ -86,7 +86,6 @@
 	PROP_ZOOM_QUALITY,
 	PROP_ZOOM_2PASS,
 	PROP_ZOOM_EXPAND,
-	PROP_DITHER_QUALITY,
 	PROP_SCROLL_RESET,
 	PROP_DELAY_FLIP,
 	PROP_LOADING,
@@ -121,8 +120,6 @@
 					 const GValue *value, GParamSpec *pspec);
 static void pixbuf_renderer_get_property(GObject *object, guint prop_id,
 					 GValue *value, GParamSpec *pspec);
-static gboolean pixbuf_renderer_expose(GtkWidget *widget, GdkEventExpose *event);
-
 static void pr_scroller_timer_set(PixbufRenderer *pr, gboolean start);
 
 
@@ -133,7 +130,6 @@
 
 static void pr_signals_connect(PixbufRenderer *pr);
 static void pr_size_cb(GtkWidget *widget, GtkAllocation *allocation, gpointer data);
-static void pixbuf_renderer_paint(PixbufRenderer *pr, GdkRectangle *area);
 static void pr_stereo_temp_disable(PixbufRenderer *pr, gboolean disable);
 
 
@@ -173,7 +169,6 @@
 static void pixbuf_renderer_class_init(PixbufRendererClass *class)
 {
 	GObjectClass *gobject_class = G_OBJECT_CLASS(class);
-	GtkWidgetClass *widget_class = GTK_WIDGET_CLASS(class);
 
 	parent_class = g_type_class_peek_parent(class);
 
@@ -182,8 +177,6 @@
 
 	gobject_class->finalize = pixbuf_renderer_finalize;
 
-	widget_class->expose_event = pixbuf_renderer_expose;
-
 	g_object_class_install_property(gobject_class,
 					PROP_ZOOM_MIN,
 					g_param_spec_double("zoom_min",
@@ -229,17 +222,6 @@
 							     NULL,
 							     FALSE,
 							     G_PARAM_READABLE | G_PARAM_WRITABLE));
-
-	g_object_class_install_property(gobject_class,
-					PROP_DITHER_QUALITY,
-					g_param_spec_uint("dither_quality",
-							  "Dither quality",
-							  NULL,
-							  GDK_RGB_DITHER_NONE,
-							  GDK_RGB_DITHER_MAX,
-							  GDK_RGB_DITHER_NORMAL,
-							  G_PARAM_READABLE | G_PARAM_WRITABLE));
-
 	g_object_class_install_property(gobject_class,
 					PROP_SCROLL_RESET,
 					g_param_spec_uint("scroll_reset",
@@ -386,7 +368,7 @@
 			     g_cclosure_marshal_VOID__BOXED,
 			     G_TYPE_NONE, 1,
 			     GDK_TYPE_EVENT);
-			     
+
 	signals[SIGNAL_UPDATE_PIXEL] =
 		g_signal_new("update-pixel",
 			     G_OBJECT_CLASS_TYPE(gobject_class),
@@ -397,6 +379,20 @@
 			     G_TYPE_NONE, 0);
 }
 
+static RendererFuncs *pr_backend_renderer_new(PixbufRenderer *pr)
+{
+	if (options->image.use_clutter_renderer)
+		{
+#ifdef HAVE_CLUTTER
+		return renderer_clutter_new(pr);
+#else
+		DEBUG_0("Geeqie is built without clutter renderer support");
+#endif
+		}
+	return renderer_tiles_new(pr);
+}
+
+
 static void pixbuf_renderer_init(PixbufRenderer *pr)
 {
 	GtkWidget *box;
@@ -412,13 +408,11 @@
 	pr->scale = 1.0;
 	pr->aspect_ratio = 1.0;
 
-	pr->dither_quality = GDK_RGB_DITHER_NORMAL;
-
 	pr->scroll_reset = PR_SCROLL_RESET_TOPLEFT;
 
 	pr->scroller_id = 0;
 	pr->scroller_overlay = -1;
-	
+
 	pr->x_mouse = -1;
 	pr->y_mouse = -1;
 
@@ -429,14 +423,15 @@
 
 	pr->norm_center_x = 0.5;
 	pr->norm_center_y = 0.5;
-	
+
 	pr->stereo_mode = PR_STEREO_NONE;
-	
-	pr->renderer = (void *)renderer_tiles_new(pr);
-	
+
+	pr->renderer = pr_backend_renderer_new(pr);
+
 	pr->renderer2 = NULL;
 
 	gtk_widget_set_double_buffered(box, FALSE);
+	gtk_widget_set_app_paintable(box, TRUE);
 	g_signal_connect_after(G_OBJECT(box), "size_allocate",
 			       G_CALLBACK(pr_size_cb), pr);
 
@@ -489,9 +484,6 @@
 		case PROP_ZOOM_EXPAND:
 			pr->zoom_expand = g_value_get_boolean(value);
 			break;
-		case PROP_DITHER_QUALITY:
-			pr->dither_quality = g_value_get_uint(value);
-			break;
 		case PROP_SCROLL_RESET:
 			pr->scroll_reset = g_value_get_uint(value);
 			break;
@@ -555,9 +547,6 @@
 		case PROP_ZOOM_EXPAND:
 			g_value_set_boolean(value, pr->zoom_expand);
 			break;
-		case PROP_DITHER_QUALITY:
-			g_value_set_uint(value, pr->dither_quality);
-			break;
 		case PROP_SCROLL_RESET:
 			g_value_set_uint(value, pr->scroll_reset);
 			break;
@@ -597,41 +586,6 @@
 		}
 }
 
-static gboolean pixbuf_renderer_expose(GtkWidget *widget, GdkEventExpose *event)
-{
-#if GTK_CHECK_VERSION(2,20,0)
-	if (gtk_widget_is_drawable(widget))
-#else
-	if (GTK_WIDGET_DRAWABLE(widget))
-#endif
-		{
-#if GTK_CHECK_VERSION(2,20,0)
-		if (gtk_widget_get_has_window(widget))
-#else
-		if (!GTK_WIDGET_NO_WINDOW(widget))
-#endif
-			{
-			if (event->window != widget->window)
-				{
-				GdkRectangle area;
-
-				gdk_window_get_position(event->window, &area.x, &area.y);
-
-				area.x += event->area.x;
-				area.y += event->area.y;
-				area.width = event->area.width;
-				area.height = event->area.height;
-				pixbuf_renderer_paint(PIXBUF_RENDERER(widget), &area);
-				}
-			else
-				{
-				pixbuf_renderer_paint(PIXBUF_RENDERER(widget), &event->area);
-				}
-			}
-		}
-
-	return FALSE;
-}
 
 /*
  *-------------------------------------------------------------------
@@ -643,7 +597,7 @@
 {
 	GdkCursor *cursor;
 
-	if (!widget->window) return;
+	if (!gtk_widget_get_window(widget)) return;
 
 	if (icon == -1)
 		{
@@ -654,7 +608,7 @@
 		cursor = gdk_cursor_new(icon);
 		}
 
-	gdk_window_set_cursor(widget->window, cursor);
+	gdk_window_set_cursor(gtk_widget_get_window(widget), cursor);
 
 	if (cursor) gdk_cursor_unref(cursor);
 }
@@ -686,10 +640,10 @@
 
 	if (!pr->parent_window) return FALSE;
 	if (!pr->window_fit) return FALSE;
-	if (!GTK_WIDGET(pr)->window) return FALSE;
-
-	if (!pr->parent_window->window) return FALSE;
-	state = gdk_window_get_state(pr->parent_window->window);
+	if (!gtk_widget_get_window(GTK_WIDGET(pr))) return FALSE;
+
+	if (!gtk_widget_get_window(pr->parent_window)) return FALSE;
+	state = gdk_window_get_state(gtk_widget_get_window(pr->parent_window));
 	if (state & GDK_WINDOW_STATE_MAXIMIZED) return FALSE;
 
 	return TRUE;
@@ -700,6 +654,8 @@
 	GtkWidget *widget;
 	GtkWidget *parent;
 	gint ww, wh;
+	GtkAllocation widget_allocation;
+	GtkAllocation parent_allocation;
 
 	if (!pr_parent_window_sizable(pr)) return FALSE;
 
@@ -715,13 +671,17 @@
 	widget = GTK_WIDGET(pr);
 	parent = GTK_WIDGET(pr->parent_window);
 
-	w += (parent->allocation.width - widget->allocation.width);
-	h += (parent->allocation.height - widget->allocation.height);
-
-	gdk_drawable_get_size(parent->window, &ww, &wh);
+	gtk_widget_get_allocation(widget, &widget_allocation);
+	gtk_widget_get_allocation(parent, &parent_allocation);
+
+	w += (parent_allocation.width - widget_allocation.width);
+	h += (parent_allocation.height - widget_allocation.height);
+
+	ww = gdk_window_get_width(gtk_widget_get_window(parent));
+	wh = gdk_window_get_height(gtk_widget_get_window(parent));
 	if (w == ww && h == wh) return FALSE;
 
-	gdk_window_resize(parent->window, w, h);
+	gdk_window_resize(gtk_widget_get_window(parent), w, h);
 
 	return TRUE;
 }
@@ -928,12 +888,6 @@
  *-------------------------------------------------------------------
  */
 
-static void pr_border_clear(PixbufRenderer *pr)
-{
-	pr->renderer->border_clear(pr->renderer);
-	if (pr->renderer2) pr->renderer2->border_clear(pr->renderer2);
-}
-
 void pixbuf_renderer_set_color(PixbufRenderer *pr, GdkColor *color)
 {
 	GtkStyle *style;
@@ -959,21 +913,8 @@
 
 	gtk_widget_set_style(widget, style);
 
-#if GTK_CHECK_VERSION(2,20,0)
-	if (gtk_widget_get_visible(widget)) pr_border_clear(pr);
-#else
-	if (GTK_WIDGET_VISIBLE(widget)) pr_border_clear(pr);
-#endif
-}
-
-static void pr_redraw(PixbufRenderer *pr, gboolean new_data)
-{
-	pr->renderer->queue_clear(pr->renderer);
-	pr->renderer->redraw(pr->renderer, 0, 0, pr->width, pr->height, TRUE, TILE_RENDER_ALL, new_data, FALSE);
-	if (pr->renderer2) {
-		pr->renderer2->queue_clear(pr->renderer2);
-		pr->renderer2->redraw(pr->renderer2, 0, 0, pr->width, pr->height, TRUE, TILE_RENDER_ALL, new_data, FALSE);
-	}
+	pr->renderer->update_viewport(pr->renderer);
+	if (pr->renderer2) pr->renderer2->update_viewport(pr->renderer2);
 }
 
 /*
@@ -1242,8 +1183,8 @@
 	pr->func_tile_dispose = func_dispose;
 	pr->func_tile_data = user_data;
 
+	pr_stereo_temp_disable(pr, TRUE);
 	pr_zoom_sync(pr, zoom, PR_ZOOM_FORCE | PR_ZOOM_NEW, 0, 0);
-	pr_redraw(pr, TRUE);
 }
 
 void pixbuf_renderer_set_tiles_size(PixbufRenderer *pr, gint width, gint height)
@@ -1321,9 +1262,6 @@
 
 static void pr_update_signal(PixbufRenderer *pr)
 {
-#if 0
-	log_printf("FIXME: send updated signal\n");
-#endif
 	DEBUG_1("%s pixbuf renderer updated - started drawing %p, img: %dx%d", get_exec_time(), pr, pr->image_width, pr->image_height);
 	pr->debug_updated = TRUE;
 }
@@ -1557,7 +1495,7 @@
 	gint src_x, src_y;
 	if (!pr->width || !pr->height) return;
 
-	/* 
+	/*
 	 * Update norm_center only if the image is bigger than the window.
 	 * With this condition the stored center survives also a temporary display
 	 * of the "broken image" icon.
@@ -1568,7 +1506,7 @@
 		src_x = pr->x_scroll + pr->vis_width / 2;
 		pr->norm_center_x = (gdouble)src_x / pr->width;
 		}
-	
+
 	if (pr->height > pr->viewport_height)
 		{
 		src_y = pr->y_scroll + pr->vis_height / 2;
@@ -1651,15 +1589,12 @@
 }
 
 static gboolean pr_zoom_clamp(PixbufRenderer *pr, gdouble zoom,
-			      PrZoomFlags flags, gboolean *redrawn)
+			      PrZoomFlags flags)
 {
 	gint w, h;
 	gdouble scale;
-	gboolean invalid;
 	gboolean force = !!(flags & PR_ZOOM_FORCE);
 	gboolean new = !!(flags & PR_ZOOM_NEW);
-	gboolean invalidate = !!(flags & PR_ZOOM_INVALIDATE);
-	gboolean lazy = !!(flags & PR_ZOOM_LAZY);
 
 	zoom = CLAMP(zoom, pr->zoom_min, pr->zoom_max);
 
@@ -1743,23 +1678,11 @@
 		h = h * scale * pr->aspect_ratio;
 		}
 
-	invalid = (pr->width != w || pr->height != h);
-
 	pr->zoom = zoom;
 	pr->width = w;
 	pr->height = h;
 	pr->scale = scale;
 
-	if (invalidate || invalid)
-		{
-		pr->renderer->invalidate_all(pr->renderer);
-		if (pr->renderer2) pr->renderer2->invalidate_all(pr->renderer2);
-		if (!lazy) pr_redraw(pr, TRUE);
-		}
-	if (redrawn) *redrawn = (invalidate || invalid);
-
-	pixbuf_renderer_sync_scroll_center(pr);
-
 	return TRUE;
 }
 
@@ -1768,9 +1691,6 @@
 {
 	gdouble old_scale;
 	gint old_cx, old_cy;
-	gboolean clamped;
-	gboolean sized;
-	gboolean redrawn = FALSE;
 	gboolean center_point = !!(flags & PR_ZOOM_CENTER);
 	gboolean force = !!(flags & PR_ZOOM_FORCE);
 	gboolean new = !!(flags & PR_ZOOM_NEW);
@@ -1778,7 +1698,7 @@
 	PrZoomFlags clamp_flags = flags;
 	gdouble old_center_x = pr->norm_center_x;
 	gdouble old_center_y = pr->norm_center_y;
-	
+
 	old_scale = pr->scale;
 	if (center_point)
 		{
@@ -1795,11 +1715,10 @@
 		}
 
 	if (force) clamp_flags |= PR_ZOOM_INVALIDATE;
-	if (lazy) clamp_flags |= PR_ZOOM_LAZY;
-	if (!pr_zoom_clamp(pr, zoom, clamp_flags, &redrawn)) return;
-
-	clamped = pr_size_clamp(pr);
-	sized = pr_parent_window_resize(pr, pr->width, pr->height);
+	if (!pr_zoom_clamp(pr, zoom, clamp_flags)) return;
+
+	(void) pr_size_clamp(pr);
+	(void) pr_parent_window_resize(pr, pr->width, pr->height);
 
 	if (force && new)
 		{
@@ -1840,21 +1759,8 @@
 
 	pr_scroll_clamp(pr);
 
-	/* If the window was not sized, redraw the image - we know there will be no size/expose signal.
-	 * But even if a size is claimed, there is no guarantee that the window manager will allow it,
-	 * so redraw the window anyway :/
-	 */
-	if (sized || clamped) pr_border_clear(pr);
-	
-	if (lazy)
-		{
-		pr->renderer->queue_clear(pr->renderer);
-		if (pr->renderer2) pr->renderer2->queue_clear(pr->renderer2);
-		}
-	else
-		{
-		pr_redraw(pr, redrawn);
-		}
+	pr->renderer->update_zoom(pr->renderer, lazy);
+	if (pr->renderer2) pr->renderer2->update_zoom(pr->renderer2, lazy);
 
 	pr_scroll_notify_signal(pr);
 	pr_zoom_signal(pr);
@@ -1884,7 +1790,7 @@
 			new_viewport_height = pr->stereo_fixed_height;
 			}
 		}
-		
+
 	if (pr->window_width == new_width && pr->window_height == new_height &&
 	    pr->viewport_width == new_viewport_width && pr->viewport_height == new_viewport_height) return;
 
@@ -1896,15 +1802,22 @@
 	if (pr->zoom == 0.0)
 		{
 		gdouble old_scale = pr->scale;
-		pr_zoom_clamp(pr, 0.0, PR_ZOOM_FORCE, NULL);
+		pr_zoom_clamp(pr, 0.0, PR_ZOOM_FORCE);
 		zoom_changed = (old_scale != pr->scale);
 		}
 
 	pr_size_clamp(pr);
 	pr_scroll_clamp(pr);
 
-	pr->renderer->update_sizes(pr->renderer);
-	if (pr->renderer2) pr->renderer2->update_sizes(pr->renderer2);
+	if (zoom_changed)
+		{
+		pr->renderer->update_zoom(pr->renderer, FALSE);
+		if (pr->renderer2) pr->renderer2->update_zoom(pr->renderer2, FALSE);
+		}
+
+	pr->renderer->update_viewport(pr->renderer);
+	if (pr->renderer2) pr->renderer2->update_viewport(pr->renderer2);
+
 
 	/* ensure scroller remains visible */
 	if (pr->scroller_overlay != -1)
@@ -1940,8 +1853,6 @@
 			}
 		}
 
-	pr_border_clear(pr);
-
 	pr_scroll_notify_signal(pr);
 	if (zoom_changed) pr_zoom_signal(pr);
 	pr_update_signal(pr);
@@ -1954,19 +1865,6 @@
 	pr_size_sync(pr, allocation->width, allocation->height);
 }
 
-static void pixbuf_renderer_paint(PixbufRenderer *pr, GdkRectangle *area)
-{
-	gint x, y;
-
-	pr->renderer->redraw(pr->renderer, area->x, area->y, area->width, area->height,
-			      FALSE, TILE_RENDER_ALL, FALSE, FALSE);
-	if (pr->renderer2) 
-		{
-		pr->renderer2->redraw(pr->renderer2, area->x, area->y, area->width, area->height,
-			      FALSE, TILE_RENDER_ALL, FALSE, FALSE);
-		}
-}
-
 /*
  *-------------------------------------------------------------------
  * scrolling
@@ -1989,16 +1887,16 @@
 	pr->y_scroll += y;
 
 	pr_scroll_clamp(pr);
-	
+
 	pixbuf_renderer_sync_scroll_center(pr);
-	
+
 	if (pr->x_scroll == old_x && pr->y_scroll == old_y) return;
 
 	pr_scroll_notify_signal(pr);
 
 	x_off = pr->x_scroll - old_x;
 	y_off = pr->y_scroll - old_y;
-	
+
 	pr->renderer->scroll(pr->renderer, x_off, y_off);
 	if (pr->renderer2) pr->renderer2->scroll(pr->renderer2, x_off, y_off);
 }
@@ -2067,11 +1965,11 @@
 		pr->scroller_xpos = bevent->x;
 		pr->scroller_ypos = bevent->y;
 		}
-	
+
 	pr->x_mouse = bevent->x;
 	pr->y_mouse = bevent->y;
 	pr_update_pixel_signal(pr);
-	
+
 	if (!pr->in_drag || !gdk_pointer_is_grabbed()) return FALSE;
 
 	if (pr->drag_moved < PR_DRAG_SCROLL_THRESHHOLD)
@@ -2137,7 +2035,7 @@
 			pr->drag_last_x = bevent->x;
 			pr->drag_last_y = bevent->y;
 			pr->drag_moved = 0;
-			gdk_pointer_grab(widget->window, FALSE,
+			gdk_pointer_grab(gtk_widget_get_window(widget), FALSE,
 					 GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_RELEASE_MASK,
 					 NULL, NULL, bevent->time);
 			gtk_grab_add(widget);
@@ -2153,11 +2051,7 @@
 		}
 
 	parent = gtk_widget_get_parent(widget);
-#if GTK_CHECK_VERSION(2,20,0)
 	if (widget && gtk_widget_get_can_focus(parent))
-#else
-	if (widget && GTK_WIDGET_CAN_FOCUS(parent))
-#endif
 		{
 		gtk_widget_grab_focus(parent);
 		}
@@ -2177,11 +2071,7 @@
 		return TRUE;
 		}
 
-#if GTK_CHECK_VERSION(2,20,0)
 	if (gdk_pointer_is_grabbed() && gtk_widget_has_grab(GTK_WIDGET(pr)))
-#else
-	if (gdk_pointer_is_grabbed() && GTK_WIDGET_HAS_GRAB(pr))
-#endif
 		{
 		gtk_grab_remove(widget);
 		gdk_pointer_ungrab(bevent->time);
@@ -2245,7 +2135,7 @@
 			 G_CALLBACK(pr_leave_notify_cb), pr);
 
 	gtk_widget_set_events(GTK_WIDGET(pr), GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK |
-					      GDK_BUTTON_RELEASE_MASK | GDK_BUTTON_PRESS_MASK |
+					      GDK_BUTTON_RELEASE_MASK | GDK_BUTTON_PRESS_MASK | GDK_SCROLL_MASK |
 					      GDK_LEAVE_NOTIFY_MASK);
 
 	g_signal_connect(G_OBJECT(pr), "drag_begin",
@@ -2327,7 +2217,7 @@
 	{ 0.456,  0.500,  0.176, -0.043, -0.088, -0.002},
 	{-0.040, -0.038, -0.016,  0.378,  0.734, -0.018},
 	{-0.015, -0.021, -0.005, -0.072, -0.113,  1.226}
-	}; 
+	};
 
 static void pr_create_anaglyph_dubois(GdkPixbuf *pixbuf, GdkPixbuf *right, gint x, gint y, gint w, gint h)
 {
@@ -2352,9 +2242,9 @@
 		for (j = 0; j < w; j++)
 			{
 			double res[3];
-			for (k = 0; k < 3; k++) 
+			for (k = 0; k < 3; k++)
 				{
-				double *m = pr_dubois_matrix[k];
+				const double *m = pr_dubois_matrix[k];
 				res[k] = sp[0] * m[0] + sp[1] * m[1] + sp[2] * m[2] + dp[0] * m[3] + dp[1] * m[4] + dp[2] * m[5];
 				if (res[k] < 0.0) res[k] = 0;
 				if (res[k] > 255.0) res[k] = 255.0;
@@ -2367,7 +2257,7 @@
 			}
 		}
 }
- 
+
 void pr_create_anaglyph(guint mode, GdkPixbuf *pixbuf, GdkPixbuf *right, gint x, gint y, gint w, gint h)
 {
 	if (mode & PR_STEREO_ANAGLYPH_RC)
@@ -2396,27 +2286,27 @@
 		case EXIF_ORIENTATION_LEFT_BOTTOM:
 			pr->image_width = gdk_pixbuf_get_height(pr->pixbuf);
 			pr->image_height = gdk_pixbuf_get_width(pr->pixbuf);
-			if (pr->stereo_data == STEREO_PIXBUF_SBS) 
+			if (pr->stereo_data == STEREO_PIXBUF_SBS)
 				{
 				pr->image_height /= 2;
 				pr->stereo_pixbuf_offset_right = pr->image_height;
 				}
-			else if (pr->stereo_data == STEREO_PIXBUF_CROSS) 
+			else if (pr->stereo_data == STEREO_PIXBUF_CROSS)
 				{
 				pr->image_height /= 2;
 				pr->stereo_pixbuf_offset_left = pr->image_height;
 				}
-			
+
 			break;
 		default:
 			pr->image_width = gdk_pixbuf_get_width(pr->pixbuf);
 			pr->image_height = gdk_pixbuf_get_height(pr->pixbuf);
-			if (pr->stereo_data == STEREO_PIXBUF_SBS) 
+			if (pr->stereo_data == STEREO_PIXBUF_SBS)
 				{
 				pr->image_width /= 2;
 				pr->stereo_pixbuf_offset_right = pr->image_width;
 				}
-			else if (pr->stereo_data == STEREO_PIXBUF_CROSS) 
+			else if (pr->stereo_data == STEREO_PIXBUF_CROSS)
 				{
 				pr->image_width /= 2;
 				pr->stereo_pixbuf_offset_left = pr->image_width;
@@ -2432,8 +2322,6 @@
 
 	if (!pr->pixbuf)
 		{
-		GtkWidget *box;
-
 		/* no pixbuf so just clear the window */
 		pr->image_width = 0;
 		pr->image_height = 0;
@@ -2441,31 +2329,23 @@
 		pr->zoom = zoom; /* don't throw away the zoom value, it is set by pixbuf_renderer_move, among others,
 				    and used for pixbuf_renderer_zoom_get */
 
-		box = GTK_WIDGET(pr);
-
-#if GTK_CHECK_VERSION(2,20,0)
-		if (gtk_widget_get_realized(box))
-#else
-		if (GTK_WIDGET_REALIZED(box))
-#endif
-			{
-			gdk_window_clear(box->window);
-			pr->renderer->overlay_draw(pr->renderer, 0, 0, pr->viewport_width, pr->viewport_height);
-			if (pr->renderer2) pr->renderer2->overlay_draw(pr->renderer2, 0, 0, pr->viewport_width, pr->viewport_height);
-			}
+		pr->renderer->update_pixbuf(pr->renderer, flags & PR_ZOOM_LAZY);
+		if (pr->renderer2) pr->renderer2->update_pixbuf(pr->renderer2, flags & PR_ZOOM_LAZY);
 
 		pr_update_signal(pr);
 
 		return;
 		}
 
-	if (pr->stereo_mode & PR_STEREO_TEMP_DISABLE) 
+	if (pr->stereo_mode & PR_STEREO_TEMP_DISABLE)
 		{
 		gint disable = !pr->pixbuf || ! pr->stereo_data;
 		pr_stereo_temp_disable(pr, disable);
 		}
 
 	pr_pixbuf_size_sync(pr);
+	pr->renderer->update_pixbuf(pr->renderer, flags & PR_ZOOM_LAZY);
+	if (pr->renderer2) pr->renderer2->update_pixbuf(pr->renderer2, flags & PR_ZOOM_LAZY);
 	pr_zoom_sync(pr, zoom, flags | PR_ZOOM_FORCE | PR_ZOOM_NEW, 0, 0);
 }
 
@@ -2519,15 +2399,19 @@
 void pixbuf_renderer_set_stereo_data(PixbufRenderer *pr, StereoPixbufData stereo_data)
 {
 	g_return_if_fail(IS_PIXBUF_RENDERER(pr));
+	if (pr->stereo_data == stereo_data) return;
+
 
 	pr->stereo_data = stereo_data;
 
-	if (pr->stereo_mode & PR_STEREO_TEMP_DISABLE) 
+	if (pr->stereo_mode & PR_STEREO_TEMP_DISABLE)
 		{
 		gint disable = !pr->pixbuf || ! pr->stereo_data;
 		pr_stereo_temp_disable(pr, disable);
 		}
 	pr_pixbuf_size_sync(pr);
+	pr->renderer->update_pixbuf(pr->renderer, FALSE);
+	if (pr->renderer2) pr->renderer2->update_pixbuf(pr->renderer2, FALSE);
 	pr_zoom_sync(pr, pr->zoom, PR_ZOOM_FORCE, 0, 0);
 }
 
@@ -2593,7 +2477,6 @@
 		source->source_tiles = NULL;
 
 		pr_zoom_sync(pr, source->zoom, PR_ZOOM_FORCE | PR_ZOOM_NEW, 0, 0);
-		pr_redraw(pr, TRUE);
 		}
 	else
 		{
@@ -2603,8 +2486,61 @@
 	pr->scroll_reset = scroll_reset;
 
 	pixbuf_renderer_set_pixbuf(source, NULL, source->zoom);
-//	pr_queue_clear(source);
-//	pr_tile_free_all(source);
+}
+
+void pixbuf_renderer_copy(PixbufRenderer *pr, PixbufRenderer *source)
+{
+	GObject *object;
+	PixbufRendererScrollResetType scroll_reset;
+
+	g_return_if_fail(IS_PIXBUF_RENDERER(pr));
+	g_return_if_fail(IS_PIXBUF_RENDERER(source));
+
+	if (pr == source) return;
+
+	object = G_OBJECT(pr);
+
+	g_object_set(object, "zoom_min", source->zoom_min, NULL);
+	g_object_set(object, "zoom_max", source->zoom_max, NULL);
+	g_object_set(object, "loading", source->loading, NULL);
+
+	pr->complete = source->complete;
+
+	pr->x_scroll = source->x_scroll;
+	pr->y_scroll = source->y_scroll;
+	pr->x_mouse  = source->x_mouse;
+	pr->y_mouse  = source->y_mouse;
+
+	scroll_reset = pr->scroll_reset;
+	pr->scroll_reset = PR_SCROLL_RESET_NOCHANGE;
+
+	pr->orientation = source->orientation;
+	pr->stereo_data = source->stereo_data;
+
+	if (source->source_tiles_enabled)
+		{
+		pr->source_tiles_enabled = source->source_tiles_enabled;
+		pr->source_tiles_cache_size = source->source_tiles_cache_size;
+		pr->source_tile_width = source->source_tile_width;
+		pr->source_tile_height = source->source_tile_height;
+		pr->image_width = source->image_width;
+		pr->image_height = source->image_height;
+
+		pr->func_tile_request = source->func_tile_request;
+		pr->func_tile_dispose = source->func_tile_dispose;
+		pr->func_tile_data = source->func_tile_data;
+
+		pr->source_tiles = source->source_tiles;
+		source->source_tiles = NULL;
+
+		pr_zoom_sync(pr, source->zoom, PR_ZOOM_FORCE | PR_ZOOM_NEW, 0, 0);
+		}
+	else
+		{
+		pixbuf_renderer_set_pixbuf(pr, source->pixbuf, source->zoom);
+		}
+
+	pr->scroll_reset = scroll_reset;
 }
 
 void pixbuf_renderer_area_changed(PixbufRenderer *pr, gint x, gint y, gint w, gint h)
@@ -2677,13 +2613,13 @@
 
 static void pr_stereo_set(PixbufRenderer *pr)
 {
-	if (!pr->renderer) pr->renderer = (void *)renderer_tiles_new(pr);
-	
+	if (!pr->renderer) pr->renderer = pr_backend_renderer_new(pr);
+
 	pr->renderer->stereo_set(pr->renderer, pr->stereo_mode & ~PR_STEREO_MIRROR_RIGHT & ~PR_STEREO_FLIP_RIGHT);
-	
+
 	if (pr->stereo_mode & (PR_STEREO_HORIZ | PR_STEREO_VERT | PR_STEREO_FIXED))
 		{
-		if (!pr->renderer2) pr->renderer2 = (void *)renderer_tiles_new(pr);
+		if (!pr->renderer2) pr->renderer2 = pr_backend_renderer_new(pr);
 		pr->renderer2->stereo_set(pr->renderer2, (pr->stereo_mode & ~PR_STEREO_MIRROR_LEFT & ~PR_STEREO_FLIP_LEFT) | PR_STEREO_RIGHT);
 		}
 	else
@@ -2708,12 +2644,12 @@
 	gboolean redraw = !(pr->stereo_mode == stereo_mode) || pr->stereo_temp_disable;
 	pr->stereo_mode = stereo_mode;
 	if ((stereo_mode & PR_STEREO_TEMP_DISABLE) && pr->stereo_temp_disable) return;
-	
+
 	pr->stereo_temp_disable = FALSE;
-	
+
 	pr_stereo_set(pr);
-	
-	if (redraw) 
+
+	if (redraw)
 		{
 		pr_size_sync(pr, pr->window_width, pr->window_height); /* recalculate new viewport */
 		pr_zoom_sync(pr, pr->zoom, PR_ZOOM_FORCE | PR_ZOOM_NEW, 0, 0);
@@ -2741,7 +2677,7 @@
 	pr->stereo_temp_disable = disable;
 	if (disable)
 		{
-		if (!pr->renderer) pr->renderer = (void *)renderer_tiles_new(pr);
+		if (!pr->renderer) pr->renderer = pr_backend_renderer_new(pr);
 		pr->renderer->stereo_set(pr->renderer, PR_STEREO_NONE);
 		if (pr->renderer2) pr->renderer2->free(pr->renderer2);
 		pr->renderer2 = NULL;
@@ -2754,14 +2690,14 @@
 	pr_size_sync(pr, pr->window_width, pr->window_height); /* recalculate new viewport */
 }
 
-gboolean pixbuf_renderer_get_pixel_colors(PixbufRenderer *pr, gint x_pixel, gint y_pixel, 
+gboolean pixbuf_renderer_get_pixel_colors(PixbufRenderer *pr, gint x_pixel, gint y_pixel,
                                           gint *r_mouse, gint *g_mouse, gint *b_mouse)
 {
 	GdkPixbuf *pb = pr->pixbuf;
 	gint p_alpha, prs;
 	guchar *p_pix, *pp;
 	gint map_x, map_y, map_w, map_h;
-	
+
 	g_return_val_if_fail(IS_PIXBUF_RENDERER(pr), FALSE);
 	g_return_val_if_fail(r_mouse != NULL && g_mouse != NULL && b_mouse != NULL, FALSE);
 
@@ -2772,7 +2708,7 @@
 		*b_mouse = -1;
 		return FALSE;
 		}
-	
+
 	if (!pb) return FALSE;
 
 	pr_tile_region_map_orientation(pr->orientation,
@@ -2784,7 +2720,7 @@
 
 	if (map_x < 0 || map_x > gdk_pixbuf_get_width(pr->pixbuf) - 1) return  FALSE;
 	if (map_y < 0 || map_y > gdk_pixbuf_get_height(pr->pixbuf) - 1) return  FALSE;
-	
+
 	p_alpha = gdk_pixbuf_get_has_alpha(pb);
 	prs = gdk_pixbuf_get_rowstride(pb);
 	p_pix = gdk_pixbuf_get_pixels(pb);
@@ -2795,14 +2731,14 @@
 	*g_mouse = *pp;
 	pp++;
 	*b_mouse = *pp;
-	
+
 	return TRUE;
 }
 
 gboolean pixbuf_renderer_get_mouse_position(PixbufRenderer *pr, gint *x_pixel_return, gint *y_pixel_return)
 {
 	gint x_pixel, y_pixel, x_pixel_clamped, y_pixel_clamped;
-	     
+
 	g_return_val_if_fail(IS_PIXBUF_RENDERER(pr), FALSE);
 	g_return_val_if_fail(x_pixel_return != NULL && y_pixel_return != NULL, FALSE);
 
@@ -2812,12 +2748,12 @@
 		*y_pixel_return = -1;
 		return FALSE;
 		}
-	
+
 	x_pixel = floor((gdouble)(pr->x_mouse - pr->x_offset + pr->x_scroll) / pr->scale);
 	y_pixel = floor((gdouble)(pr->y_mouse - pr->y_offset + pr->y_scroll) / pr->scale / pr->aspect_ratio);
 	x_pixel_clamped = CLAMP(x_pixel, 0, pr->image_width - 1);
 	y_pixel_clamped = CLAMP(y_pixel, 0, pr->image_height - 1);
-	
+
 	if(x_pixel != x_pixel_clamped || y_pixel != y_pixel_clamped)
 		{
 		/* mouse is not on pr */
@@ -2826,7 +2762,7 @@
 
 	*x_pixel_return = x_pixel;
 	*y_pixel_return = y_pixel;
-	
+
 	return TRUE;
 }
 
@@ -2909,6 +2845,9 @@
 
 void pixbuf_renderer_set_size_early(PixbufRenderer *pr, guint width, guint height)
 {
+#if 0
+	/* FIXME: this function does not consider the image orientation,
+	so it probably only breaks something */
 	gdouble zoom;
 	gint w, h;
 
@@ -2923,6 +2862,7 @@
 
 	//pr->width = width;
 	//pr->height = height;
+#endif
 }
 
 /* vim: set shiftwidth=8 softtabstop=0 cindent cinoptions={1s: */
--- a/src/pixbuf-renderer.h	Sun May 27 18:41:56 2012 +0100
+++ b/src/pixbuf-renderer.h	Tue Oct 02 22:19:13 2012 +0100
@@ -1,7 +1,7 @@
 /*
  * Geeqie
  * (C) 2006 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * Author: John Ellis
  *
@@ -13,10 +13,6 @@
 #ifndef PIXBUF_RENDERER_H
 #define PIXBUF_RENDERER_H
 
-#include <gtk/gtkeventbox.h>
-#include <gtk/gtkwindow.h>
-
-
 #define TYPE_PIXBUF_RENDERER		(pixbuf_renderer_get_type())
 #define PIXBUF_RENDERER(obj)		(G_TYPE_CHECK_INSTANCE_CAST((obj), TYPE_PIXBUF_RENDERER, PixbufRenderer))
 #define PIXBUF_RENDERER_CLASS(klass)	(G_TYPE_CHECK_CLASS_CAST((klass), TYPE_PIXBUF_RENDERER, PixbufRendererClass))
@@ -76,22 +72,20 @@
 
 struct _RendererFuncs
 {
-	void (*redraw)(void *renderer, gint x, gint y, gint w, gint h,
-                     gint clamp, ImageRenderType render, gboolean new_data, gboolean only_existing);
-        void (*area_changed)(void *renderer, gint src_x, gint src_y, gint src_w, gint src_h);
-	void (*queue_clear)(void *renderer);
-	void (*border_clear)(void *renderer);
-	void (*invalidate_all)(void *renderer);
+//	void (*redraw)(void *renderer, gint x, gint y, gint w, gint h,
+  //                   gint clamp, ImageRenderType render, gboolean new_data, gboolean only_existing);
+        void (*area_changed)(void *renderer, gint src_x, gint src_y, gint src_w, gint src_h); /* pixbuf area changed */
 	void (*invalidate_region)(void *renderer, gint x, gint y, gint w, gint h);
-	void (*scroll)(void *renderer, gint x_off, gint y_off);
-	void (*update_sizes)(void *renderer);
+	void (*scroll)(void *renderer, gint x_off, gint y_off); /* scroll */
+	void (*update_viewport)(void *renderer); /* window / wiewport / border color has changed */
+	void (*update_pixbuf)(void *renderer, gboolean lazy); /* pixbuf has changed */
+	void (*update_zoom)(void *renderer, gboolean lazy); /* zoom has changed */
 
 	gint (*overlay_add)(void *renderer, GdkPixbuf *pixbuf, gint x, gint y, OverlayRendererFlags flags);
 	void (*overlay_set)(void *renderer, gint id, GdkPixbuf *pixbuf, gint x, gint y);
 	gboolean (*overlay_get)(void *renderer, gint id, GdkPixbuf **pixbuf, gint *x, gint *y);
-	void (*overlay_draw)(void *renderer, gint x, gint y, gint w, gint h);
 
-	void (*stereo_set)(void *renderer, gint stereo_mode);
+	void (*stereo_set)(void *renderer, gint stereo_mode); /* set stereo mode */
 
 	void (*free)(void *renderer);
 };
@@ -115,7 +109,7 @@
 
 	gint x_offset;		/* offset of image start (non-zero when viewport < window) */
 	gint y_offset;
-	
+
 	gint x_mouse; /* coordinates of the mouse taken from GtkEvent */
 	gint y_mouse;
 
@@ -130,7 +124,7 @@
 
 	gdouble norm_center_x;	/* coordinates of viewport center in the image, in range 0.0 - 1.0 */
 	gdouble norm_center_y;  /* these coordinates are used for PR_SCROLL_RESET_NOCHANGE and should be preserved over periods with NULL pixbuf */
-	
+
 	gdouble subpixel_x_scroll; /* subpixel scroll alignment, used to prevent acumulation of rounding errors */
 	gdouble subpixel_y_scroll;
 
@@ -145,8 +139,6 @@
 	gboolean zoom_2pass;
 	gboolean zoom_expand;
 
-	GdkRgbDither dither_quality;
-
 	PixbufRendererScrollResetType scroll_reset;
 
 	gboolean has_frame;
@@ -201,7 +193,7 @@
 	gint orientation;
 
 	gint stereo_mode;
-	
+
 	StereoPixbufData stereo_data;
 	gboolean stereo_temp_disable;
 	gint stereo_fixed_width;
@@ -210,7 +202,7 @@
 	gint stereo_fixed_y_left;
 	gint stereo_fixed_x_right;
 	gint stereo_fixed_y_right;
-	
+
 	RendererFuncs *renderer;
 	RendererFuncs *renderer2;
 };
@@ -270,6 +262,7 @@
 /* move image data from source to pr, source is then set to NULL image */
 
 void pixbuf_renderer_move(PixbufRenderer *pr, PixbufRenderer *source);
+void pixbuf_renderer_copy(PixbufRenderer *pr, PixbufRenderer *source);
 
 /* update region of existing image */
 
--- a/src/pixbuf_util.c	Sun May 27 18:41:56 2012 +0100
+++ b/src/pixbuf_util.c	Tue Oct 02 22:19:13 2012 +0100
@@ -1,7 +1,7 @@
 /*
  * Geeqie
  * (C) 2004 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * Author: John Ellis
  *
@@ -136,13 +136,13 @@
 {
 	static GtkIconFactory *icon_factory = NULL;
 	GtkIconSet *icon_set;
-	
+
 	if (!icon_factory)
 		{
 		icon_factory = gtk_icon_factory_new();
 		gtk_icon_factory_add_default(icon_factory);
 		}
-	
+
 	icon_set = gtk_icon_set_new_from_pixbuf(pixbuf);
 	gtk_icon_factory_add(icon_factory, key, icon_set);
 }
@@ -167,7 +167,7 @@
 	GError *error = NULL;
 
 	icon_theme = gtk_icon_theme_get_default();
-	
+
 	if (gtk_icon_theme_has_icon(icon_theme, key)) return FALSE;
 
 	pixbuf = gtk_icon_theme_load_icon(icon_theme,
@@ -175,7 +175,7 @@
                            64, /* size */
                            0,  /* flags */
                            &error);
-	if (!pixbuf) 
+	if (!pixbuf)
 		{
 		if (error)
 			{
@@ -183,7 +183,7 @@
 			g_error_free(error);
 			error = NULL;
 			}
-			
+
 		if (strchr(icon, '.'))
 			{
 			/* try again without extension */
@@ -203,7 +203,7 @@
 		}
 
 	if (!pixbuf) return FALSE;
-	
+
 	register_stock_icon(key, pixbuf);
 	return TRUE;
 }
@@ -231,7 +231,7 @@
 GdkPixbuf *pixbuf_fallback(FileData *fd, gint requested_width, gint requested_height)
 {
 	GdkPixbuf *pixbuf = pixbuf_inline(PIXBUF_INLINE_BROKEN); /* FIXME use different images according to FORMAT_CLASS */
-	
+
 	if (requested_width && requested_height)
 		{
 		gint w = gdk_pixbuf_get_width(pixbuf);
@@ -349,10 +349,6 @@
 	gint dw, dh, drs;
 	guchar *s_pix;
 	guchar *d_pix;
-#if 0
-	guchar *sp;
-	guchar *dp;
-#endif
 	gint i, j;
 	gint a;
 	GdkPixbuf *buffer;
@@ -512,7 +508,7 @@
 {
 	GdkPixbuf *dest;
 	GdkPixbuf *tmp = NULL;
-	
+
 	switch (orientation)
 		{
 		case EXIF_ORIENTATION_TOP_LEFT:
@@ -780,32 +776,35 @@
 			gint x, gint y,
 			guint8 r, guint8 g, guint8 b, guint8 a)
 {
-	GdkPixmap *pixmap;
 	GdkPixbuf *buffer;
 	gint w, h;
-	GdkGC *gc;
 	gint sx, sy;
 	gint dw, dh;
-
-	if (!widget || !widget->window) return;
+	cairo_surface_t *source;
+	cairo_t *cr;
 
 	pango_layout_get_pixel_size(layout, &w, &h);
 	if (w < 1 || h < 1) return;
 
-	pixmap = gdk_pixmap_new(widget->window, w, h, -1);
+	source = cairo_image_surface_create(CAIRO_FORMAT_ARGB32, w, h);
+
+	cr = cairo_create (source);
+	cairo_set_source_rgb(cr, 0, 0, 0);
+	cairo_rectangle (cr, 0, 0, w, h);
+	cairo_fill (cr);
+	cairo_set_source_rgb(cr, 1, 1, 1);
+	pango_cairo_show_layout (cr, layout);
+	cairo_destroy (cr);
 
-	gc = gdk_gc_new(widget->window);
-	gdk_gc_copy(gc, widget->style->black_gc);
-	gdk_draw_rectangle(pixmap, gc, TRUE, 0, 0, w, h);
-	gdk_gc_copy(gc, widget->style->white_gc);
-	gdk_draw_layout(pixmap, gc, 0, 0, layout);
-	g_object_unref(gc);
-
-	buffer = gdk_pixbuf_new(GDK_COLORSPACE_RGB, FALSE, 8, w, h);
-	gdk_pixbuf_get_from_drawable(buffer, pixmap,
-				     gdk_drawable_get_colormap(widget->window),
-				     0, 0, 0, 0, w, h);
-	g_object_unref(pixmap);
+	buffer = gdk_pixbuf_new_from_data (cairo_image_surface_get_data (source),
+	                                   GDK_COLORSPACE_RGB,
+	                                   cairo_image_surface_get_format (source) == CAIRO_FORMAT_ARGB32,
+	                                   8,
+	                                   cairo_image_surface_get_width (source),
+	                                   cairo_image_surface_get_height (source),
+	                                   cairo_image_surface_get_stride (source),
+	                                   NULL,
+	                                   NULL);
 
 	sx = 0;
 	sy = 0;
@@ -834,6 +833,7 @@
 			 r, g, b, a);
 
 	g_object_unref(buffer);
+	cairo_surface_destroy(source);
 }
 
 /*
@@ -1005,20 +1005,6 @@
 		if (y1 < clip_y || y2 > clip_y + clip_h) return FALSE;
 		}
 
-#if 0
-	if (x1 >= clip_x && x2 <= clip_x + clip_w)
-		{
-		if (y1 < y2)
-			{
-			if (y1 >= clip_y && y2 <= clip_y + clip_h) return TRUE;
-			}
-		else
-			{
-			if (y2 >= clip_y && y1 <= clip_y + clip_h) return TRUE;
-			}
-		}
-#endif
-
 	d = x2 - x1;
 	if (d > 0.0)
 		{
--- a/src/pixbuf_util.h	Sun May 27 18:41:56 2012 +0100
+++ b/src/pixbuf_util.h	Tue Oct 02 22:19:13 2012 +0100
@@ -1,7 +1,7 @@
 /*
  * Geeqie
  * (C) 2004 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * Author: John Ellis
  *
--- a/src/preferences.c	Sun May 27 18:41:56 2012 +0100
+++ b/src/preferences.c	Tue Oct 02 22:19:13 2012 +0100
@@ -1,7 +1,7 @@
 /*
  * Geeqie
  * (C) 2006 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * Author: John Ellis
  *
@@ -125,13 +125,13 @@
 
 static void zoom_mode_cb(GtkWidget *widget, gpointer data)
 {
-	if (GTK_TOGGLE_BUTTON (widget)->active)
+	if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget)))
 		c_options->image.zoom_mode = GPOINTER_TO_INT(data);
 }
 
 static void scroll_reset_cb(GtkWidget *widget, gpointer data)
 {
-	if (GTK_TOGGLE_BUTTON (widget)->active)
+	if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget)))
 		c_options->image.scroll_reset_method = GPOINTER_TO_INT(data);
 }
 
@@ -174,14 +174,14 @@
 	gchar *accel_path, *accel;
 
 	gtk_tree_model_get(model, iter, AE_ACCEL, &accel_path, AE_KEY, &accel, -1);
-	
+
 	if (accel_path && accel_path[0])
 		{
 		GtkAccelKey key;
 		gtk_accelerator_parse(accel, &key.accel_key, &key.accel_mods);
 		gtk_accel_map_change_entry(accel_path, key.accel_key, key.accel_mods, TRUE);
 		}
-		
+
 	g_free(accel_path);
 	g_free(accel);
 
@@ -195,7 +195,7 @@
 	gboolean refresh = FALSE;
 
 	config_entry_to_option(safe_delete_path_entry, &options->file_ops.safe_delete_path, remove_trailing_slash);
-	
+
 	if (options->file_filter.show_hidden_files != c_options->file_filter.show_hidden_files) refresh = TRUE;
 	if (options->file_filter.show_dot_directory != c_options->file_filter.show_dot_directory) refresh = TRUE;
 	if (options->file_sort.case_sensitive != c_options->file_sort.case_sensitive) refresh = TRUE;
@@ -216,6 +216,7 @@
 	options->image.max_window_size = c_options->image.max_window_size;
 	options->image.limit_autofit_size = c_options->image.limit_autofit_size;
 	options->image.max_autofit_size = c_options->image.max_autofit_size;
+	options->image.use_clutter_renderer = c_options->image.use_clutter_renderer;
 	options->progressive_key_scrolling = c_options->progressive_key_scrolling;
 	if (options->thumbnails.max_width != c_options->thumbnails.max_width
 	    || options->thumbnails.max_height != c_options->thumbnails.max_height
@@ -230,9 +231,6 @@
 	options->thumbnails.enable_caching = c_options->thumbnails.enable_caching;
 	options->thumbnails.cache_into_dirs = c_options->thumbnails.cache_into_dirs;
 	options->thumbnails.use_exif = c_options->thumbnails.use_exif;
-#if 0
-	options->thumbnails.use_xvpics = c_options->thumbnails.use_xvpics;
-#endif
 	options->thumbnails.spec_standard = c_options->thumbnails.spec_standard;
 	options->metadata.enable_metadata_dirs = c_options->metadata.enable_metadata_dirs;
 	options->file_filter.show_hidden_files = c_options->file_filter.show_hidden_files;
@@ -263,7 +261,7 @@
 
 	options->image.enable_read_ahead = c_options->image.enable_read_ahead;
 
-	
+
 	if (options->image.use_custom_border_color != c_options->image.use_custom_border_color
 	    || options->image.use_custom_border_color_in_fullscreen != c_options->image.use_custom_border_color_in_fullscreen
 	    || !gdk_color_equal(&options->image.border_color, &c_options->image.border_color))
@@ -282,7 +280,7 @@
 	if (c_options->image_overlay.template_string)
 		set_image_overlay_template_string(&options->image_overlay.template_string,
 						  c_options->image_overlay.template_string);
-		
+
 	options->update_on_time_change = c_options->update_on_time_change;
 	options->image.exif_rotate_enable = c_options->image.exif_rotate_enable;
 	options->image.exif_proof_rotate_enable = c_options->image.exif_proof_rotate_enable;
@@ -293,7 +291,7 @@
 
 	options->open_recent_list_maxsize = c_options->open_recent_list_maxsize;
 	options->dnd_icon_size = c_options->dnd_icon_size;
-	
+
 	options->metadata.save_in_image_file = c_options->metadata.save_in_image_file;
 	options->metadata.save_legacy_IPTC = c_options->metadata.save_legacy_IPTC;
 	options->metadata.warn_on_write_problems = c_options->metadata.warn_on_write_problems;
@@ -342,13 +340,6 @@
 	options->color_profile.use_x11_screen_profile = c_options->color_profile.use_x11_screen_profile;
 #endif
 
-#if 0
-	for (i = 0; ExifUIList[i].key; i++)
-		{
-		ExifUIList[i].current = ExifUIList[i].temp;
-		}
-
-#endif
 	image_options_sync();
 
 	if (refresh)
@@ -356,7 +347,7 @@
 		filter_rebuild();
 		layout_refresh(NULL);
 		}
-	
+
 	if (accel_store) gtk_tree_model_foreach(GTK_TREE_MODEL(accel_store), accel_apply_cb, NULL);
 }
 
@@ -434,15 +425,15 @@
 
 	pref_table_label(table, column, row, text, 0.0);
 
-	combo = gtk_combo_box_new_text();
-
-	gtk_combo_box_append_text(GTK_COMBO_BOX(combo), _("Nearest (worst, but fastest)"));
+	combo = gtk_combo_box_text_new();
+
+	gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(combo), _("Nearest (worst, but fastest)"));
 	if (option == GDK_INTERP_NEAREST) current = 0;
-	gtk_combo_box_append_text(GTK_COMBO_BOX(combo), _("Tiles"));
+	gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(combo), _("Tiles"));
 	if (option == GDK_INTERP_TILES) current = 1;
-	gtk_combo_box_append_text(GTK_COMBO_BOX(combo), _("Bilinear"));
+	gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(combo), _("Bilinear"));
 	if (option == GDK_INTERP_BILINEAR) current = 2;
-	gtk_combo_box_append_text(GTK_COMBO_BOX(combo), _("Hyper (best, but slowest)"));
+	gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(combo), _("Hyper (best, but slowest)"));
 	if (option == GDK_INTERP_HYPER) current = 3;
 
 	gtk_combo_box_set_active(GTK_COMBO_BOX(combo), current);
@@ -455,33 +446,6 @@
 	gtk_widget_show(combo);
 }
 
-#if 0
-static void add_dither_menu(gint option, gint *option_c, gchar *text, GtkWidget *box)
-{
-	GtkWidget *hbox;
-	GtkWidget *omenu;
-	GtkWidget *menu;
-
-	*option_c = option;
-
-	hbox = pref_box_new(box, FALSE, GTK_ORIENTATION_HORIZONTAL, PREF_PAD_SPACE);
-	pref_label_new(hbox, text);
-
-	omenu = gtk_option_menu_new();
-	menu = gtk_menu_new();
-
-	add_menu_item(menu, _("None"), option_c, (gint)GDK_RGB_DITHER_NONE);
-	add_menu_item(menu, _("Normal"), option_c, (gint)GDK_RGB_DITHER_NORMAL);
-	add_menu_item(menu, _("Best"), option_c, (gint)GDK_RGB_DITHER_MAX);
-
-	gtk_option_menu_set_menu(GTK_OPTION_MENU(omenu), menu);
-	gtk_option_menu_set_history(GTK_OPTION_MENU(omenu), *option_c);
-
-	gtk_box_pack_start(GTK_BOX(hbox), omenu, FALSE, FALSE, 0);
-	gtk_widget_show(omenu);
-}
-#endif
-
 static void thumb_size_menu_cb(GtkWidget *combo, gpointer data)
 {
 	gint n;
@@ -512,7 +476,7 @@
 
 	pref_table_label(table, column, row, text, 0.0);
 
-	combo = gtk_combo_box_new_text();
+	combo = gtk_combo_box_text_new();
 
 	current = -1;
 	for (i = 0; (guint) i < sizeof(thumb_size_list) / sizeof(ThumbSize); i++)
@@ -524,7 +488,7 @@
 		h = thumb_size_list[i].h;
 
 		buf = g_strdup_printf("%d x %d", w, h);
-		gtk_combo_box_append_text(GTK_COMBO_BOX(combo), buf);
+		gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(combo), buf);
 		g_free(buf);
 
 		if (w == options->thumbnails.max_width && h == options->thumbnails.max_height) current = i;
@@ -535,7 +499,7 @@
 		gchar *buf;
 
 		buf = g_strdup_printf("%s %d x %d", _("Custom"), options->thumbnails.max_width, options->thumbnails.max_height);
-		gtk_combo_box_append_text(GTK_COMBO_BOX(combo), buf);
+		gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(combo), buf);
 		g_free(buf);
 
 		current = i;
@@ -588,7 +552,7 @@
 }
 
 static void add_stereo_mode_menu(GtkWidget *table, gint column, gint row, const gchar *text,
-			     guint option, guint *option_c, gboolean add_fixed)
+			     gint option, gint *option_c, gboolean add_fixed)
 {
 	GtkWidget *combo;
 	gint current = 0;
@@ -597,36 +561,36 @@
 
 	pref_table_label(table, column, row, text, 0.0);
 
-	combo = gtk_combo_box_new_text();
-
-	gtk_combo_box_append_text(GTK_COMBO_BOX(combo), _("Single image"));
-
-	gtk_combo_box_append_text(GTK_COMBO_BOX(combo), _("Anaglyph Red-Cyan"));
+	combo = gtk_combo_box_text_new();
+
+	gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(combo), _("Single image"));
+
+	gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(combo), _("Anaglyph Red-Cyan"));
 	if (option & PR_STEREO_ANAGLYPH_RC) current = 1;
-	gtk_combo_box_append_text(GTK_COMBO_BOX(combo), _("Anaglyph Gray Red-Cyan"));
+	gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(combo), _("Anaglyph Gray Red-Cyan"));
 	if (option & PR_STEREO_ANAGLYPH_GRAY) current = 2;
-	gtk_combo_box_append_text(GTK_COMBO_BOX(combo), _("Anaglyph Dubois"));
+	gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(combo), _("Anaglyph Dubois"));
 	if (option & PR_STEREO_ANAGLYPH_DB) current = 3;
 
-	gtk_combo_box_append_text(GTK_COMBO_BOX(combo), _("Side by Side"));
-	gtk_combo_box_append_text(GTK_COMBO_BOX(combo), _("Side by Side Half size"));
-	if (option & PR_STEREO_HORIZ) 
+	gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(combo), _("Side by Side"));
+	gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(combo), _("Side by Side Half size"));
+	if (option & PR_STEREO_HORIZ)
 		{
 		current = 4;
 		if (option & PR_STEREO_HALF) current = 5;
 		}
 
-	gtk_combo_box_append_text(GTK_COMBO_BOX(combo), _("Top - Bottom"));
-	gtk_combo_box_append_text(GTK_COMBO_BOX(combo), _("Top - Bottom Half size"));
-	if (option & PR_STEREO_VERT) 
+	gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(combo), _("Top - Bottom"));
+	gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(combo), _("Top - Bottom Half size"));
+	if (option & PR_STEREO_VERT)
 		{
 		current = 6;
 		if (option & PR_STEREO_HALF) current = 7;
 		}
-		
+
 	if (add_fixed)
 		{
-		gtk_combo_box_append_text(GTK_COMBO_BOX(combo), _("Fixed position"));
+		gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(combo), _("Fixed position"));
 		if (option & PR_STEREO_FIXED) current = 8;
 		}
 
@@ -823,12 +787,48 @@
 		}
 }
 
+static gboolean filter_add_scroll(gpointer data)
+{
+	GtkTreePath *path;
+	GList *list_cells;
+	GtkCellRenderer *cell;
+	GtkTreeViewColumn *column;
+	GList *list_columns;
+	const gchar *title;
+	guint i = 0;
+	gint rows;
+
+	rows = gtk_tree_model_iter_n_children(GTK_TREE_MODEL(filter_store), NULL);
+	path = gtk_tree_path_new_from_indices(rows-1, -1);
+
+	list_columns = gtk_tree_view_get_columns(GTK_TREE_VIEW(data));
+	do {
+		column = g_list_nth(list_columns,i)->data;
+		title = gtk_tree_view_column_get_title(GTK_TREE_VIEW_COLUMN(column));
+		i++;
+		} while (strcmp(title, "Filter") !=0 );
+
+	list_cells = gtk_cell_layout_get_cells(GTK_CELL_LAYOUT(column));
+	cell = g_list_last(list_cells)->data;
+
+	gtk_tree_view_scroll_to_cell(GTK_TREE_VIEW(data),
+								path, column, FALSE, 0.0, 0.0 );
+	gtk_tree_view_set_cursor_on_cell(GTK_TREE_VIEW(data),
+								path, column, cell, TRUE);
+
+	gtk_tree_path_free(path);
+	g_list_free(list_cells);
+	g_list_free(list_columns);
+
+	return(FALSE);
+}
+
 static void filter_add_cb(GtkWidget *widget, gpointer data)
 {
 	filter_add_unique("description", ".new", FORMAT_CLASS_IMAGE, TRUE, FALSE, TRUE);
 	filter_store_populate();
 
-	/* FIXME: implement the scroll to/select row stuff for tree view */
+	g_idle_add((GSourceFunc)filter_add_scroll, data);
 }
 
 static void filter_remove_cb(GtkWidget *widget, gpointer data)
@@ -849,12 +849,33 @@
 	filter_store_populate();
 }
 
+static gboolean filter_default_ok_scroll(GtkTreeView *data)
+{
+	GtkTreeIter iter;
+	GtkTreePath *path;
+	GtkTreeViewColumn *column;
+
+	gtk_tree_model_get_iter_first(GTK_TREE_MODEL(filter_store), &iter);
+	path = gtk_tree_model_get_path(GTK_TREE_MODEL(filter_store), &iter);
+	column = gtk_tree_view_get_column(GTK_TREE_VIEW(data),0);
+
+	gtk_tree_view_scroll_to_cell(GTK_TREE_VIEW(data),
+				     path, column,
+				     FALSE, 0.0, 0.0);
+
+	gtk_tree_path_free(path);
+
+	return(FALSE);
+}
+
 static void filter_default_ok_cb(GenericDialog *gd, gpointer data)
 {
 	filter_reset();
 	filter_add_defaults();
 	filter_rebuild();
 	filter_store_populate();
+
+	g_idle_add((GSourceFunc)filter_default_ok_scroll, gd->data);
 }
 
 static void dummy_cancel_cb(GenericDialog *gd, gpointer data)
@@ -868,7 +889,7 @@
 
 	gd = generic_dialog_new(_("Reset filters"),
 				"reset_filter", widget, TRUE,
-				dummy_cancel_cb, NULL);
+				dummy_cancel_cb, data);
 	generic_dialog_add_message(gd, GTK_STOCK_DIALOG_QUESTION, _("Reset filters"),
 				   _("This will reset the file filters to the defaults.\nContinue?"));
 	generic_dialog_add_button(gd, GTK_STOCK_OK, NULL, filter_default_ok_cb, TRUE);
@@ -904,7 +925,7 @@
 				    _("This will remove the trash contents."));
 	generic_dialog_add_button(gd, GTK_STOCK_OK, NULL, safe_delete_clear_ok_cb, TRUE);
 	entry = gtk_entry_new();
-	GTK_WIDGET_UNSET_FLAGS(entry, GTK_CAN_FOCUS);
+	gtk_widget_set_can_focus(entry, FALSE);
 	gtk_editable_set_editable(GTK_EDITABLE(entry), FALSE);
 	if (options->file_ops.safe_delete_path) gtk_entry_set_text(GTK_ENTRY(entry), options->file_ops.safe_delete_path);
 	gtk_box_pack_start(GTK_BOX(gd->vbox), entry, FALSE, FALSE, 0);
@@ -959,7 +980,6 @@
 	help_window_show("overlay");
 }
 
-#if GTK_CHECK_VERSION(2, 10, 0)
 static void accel_store_populate(void)
 {
 	LayoutWindow *lw;
@@ -991,15 +1011,15 @@
 					     "label", &label,
 					     NULL);
 
-				if (pango_parse_markup(label, -1, '_', NULL, &label2, NULL, NULL) && label2) 
+				if (pango_parse_markup(label, -1, '_', NULL, &label2, NULL, NULL) && label2)
 					{
 					g_free(label);
 					label = label2;
 					}
 
 				accel = gtk_accelerator_name(key.accel_key, key.accel_mods);
-				
-				if (tooltip) 
+
+				if (tooltip)
 					{
 					gtk_tree_store_append(accel_store, &iter, NULL);
 					gtk_tree_store_set(accel_store, &iter,
@@ -1023,7 +1043,7 @@
 
 static void accel_store_cleared_cb(GtkCellRendererAccel *accel, gchar *path_string, gpointer user_data)
 {
-    
+
 }
 
 static gboolean accel_remove_key_cb(GtkTreeModel *model, GtkTreePath *path, GtkTreeIter *iter, gpointer data)
@@ -1034,16 +1054,16 @@
 	GtkAccelKey key2;
 
 	gtk_tree_model_get(model, iter, AE_KEY, &accel2, -1);
-	
+
 	gtk_accelerator_parse(accel1, &key1.accel_key, &key1.accel_mods);
 	gtk_accelerator_parse(accel2, &key2.accel_key, &key2.accel_mods);
-	
+
 	if (key1.accel_key == key2.accel_key && key1.accel_mods == key2.accel_mods)
 		{
 		gtk_tree_store_set(accel_store, iter, AE_KEY, "",  -1);
 		DEBUG_1("accelerator key '%s' is already used, removing.", accel1);
 		}
-	
+
 	g_free(accel2);
 
 	return FALSE;
@@ -1066,11 +1086,11 @@
 	gtk_accel_map_lookup_entry(accel_path, &old_key);
 
 	/* change the key and read it back (change may fail on keys hardcoded in gtk)*/
-	gtk_accel_map_change_entry(accel_path, accel_key, accel_mods, TRUE); 
+	gtk_accel_map_change_entry(accel_path, accel_key, accel_mods, TRUE);
 	gtk_accel_map_lookup_entry(accel_path, &key);
 
 	/* restore the original for now, the key will be really changed when the changes are confirmed */
-	gtk_accel_map_change_entry(accel_path, old_key.accel_key, old_key.accel_mods, TRUE); 
+	gtk_accel_map_change_entry(accel_path, old_key.accel_key, old_key.accel_mods, TRUE);
 
 	acc = gtk_accelerator_name(key.accel_key, key.accel_mods);
 	gtk_tree_model_foreach(GTK_TREE_MODEL(accel_store), accel_remove_key_cb, acc);
@@ -1080,30 +1100,37 @@
 	g_free(acc);
 }
 
+static gboolean accel_default_scroll(GtkTreeView *data)
+{
+	GtkTreeIter iter;
+	GtkTreePath *path;
+	GtkTreeViewColumn *column;
+
+	gtk_tree_model_get_iter_first(GTK_TREE_MODEL(accel_store), &iter);
+	path = gtk_tree_model_get_path(GTK_TREE_MODEL(accel_store), &iter);
+	column = gtk_tree_view_get_column(GTK_TREE_VIEW(data),0);
+
+	gtk_tree_view_scroll_to_cell(GTK_TREE_VIEW(data),
+				     path, column,
+				     FALSE, 0.0, 0.0);
+
+	gtk_tree_path_free(path);
+
+	return(FALSE);
+}
+
 static void accel_default_cb(GtkWidget *widget, gpointer data)
 {
 	accel_store_populate();
 
-	/* FIXME: implement the scroll to/select row stuff for tree view */
+	g_idle_add((GSourceFunc)accel_default_scroll, data);
 }
 
 void accel_remove_selection(GtkTreeModel *model, GtkTreePath *path, GtkTreeIter *iter, gpointer data)
 {
-	gtk_tree_store_set(accel_store, iter, AE_KEY, "", -1);    
+	gtk_tree_store_set(accel_store, iter, AE_KEY, "", -1);
 }
 
-#if 0    
-static void accel_remove_cb(GtkWidget *widget, gpointer data)
-{
-	GtkTreeSelection *selection;
-
-	if (!accel_store) return;
-
-	selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(data));
-	gtk_tree_selection_selected_foreach(selection, &accel_remove_selection, NULL);
-}
-#endif
-
 void accel_reset_selection(GtkTreeModel *model, GtkTreePath *path, GtkTreeIter *iter, gpointer data)
 {
 	GtkAccelKey key;
@@ -1130,115 +1157,6 @@
 }
 
 
-#if 0
-static void accel_alternate_activate_cb(GtkWidget *widget, gpointer data)
-{
-	gtk_action_activate((GtkAction*)data);
-}
-
-#define DUPL "-alt-"
-
-void accel_add_alt_selection(GtkTreeModel *model, GtkTreePath *path, GtkTreeIter *iter, gpointer data)
-{
-	LayoutWindow *lw;
-	GList *groups, *actions;
-	GtkAction *action;
-	GtkAccelKey key, *key2;
-	GtkAccelMap *map;
-	gchar *accel_path2, *accel;
-	const gchar *accel_path;
-	gint freeduplnum = 1;    
-	gint len;
-	GClosure* closure;
-	GtkAccelGroup *group;
-	GtkAction *action_new, *action_new2;
-	gchar *name, *accel_path_new, *accel_path_new2;
-
- 	if (!accel_store || !layout_window_list || !layout_window_list->data) return;
-
-	gtk_tree_model_get(model, iter, AE_ACCEL, &accel_path2, -1);
-	len = strlen(accel_path2);
- 
-	gtk_tree_store_clear(accel_store);
-	lw = layout_window_list->data;
-    
-	g_assert(lw && lw->ui_manager);
-	groups = gtk_ui_manager_get_action_groups(lw->ui_manager);
-	group = gtk_ui_manager_get_accel_group(lw->ui_manager);
-
-	while (groups)
-		{
-		actions = gtk_action_group_list_actions(GTK_ACTION_GROUP(groups->data));
-		while (actions)
-			{
-			gchar *dupl;
-			guint64 num;
-
-			action = GTK_ACTION(actions->data);
-			actions = actions->next;
-
-			accel_path = gtk_action_get_accel_path(action);
-			if (!accel_path) continue;
-
-			dupl = g_strrstr(accel_path, DUPL);
-
-			printf("D: %s %s %s\n", accel_path, accel_path2, dupl);
-
-			if ((dupl && (len != (dupl - accel_path)) ) ||
-			    g_ascii_strncasecmp(accel_path, accel_path2, len) != 0)
-				continue;
-
-			if (dupl && (num = g_ascii_strtoull(dupl + strlen(DUPL), NULL, 10)) > 0 &&
-			    num > freeduplnum)
-				{
-				freeduplnum = num + 1;
-				}
-			else
-				{
-				closure = gtk_action_get_accel_closure(action);
-				name = gtk_action_get_name(action);
-				accel_path_new = g_strdup(accel_path);
-				action_new2 = action;
-				}
-			}
-		groups = groups->next;
-		}
-
-	action_new = gtk_action_new(name, NULL, NULL, NULL);
-	gtk_action_set_accel_group(action_new, group);
-
-	g_signal_connect(G_OBJECT(action_new), "activate",
-			 G_CALLBACK(accel_alternate_activate_cb), action_new2);
-
-//	accel_path_new2 = g_strdup_printf("%s%s%d", accel_path_new, dupl, freeduplnum);
-	g_free(accel_path_new);
-
-	gtk_action_set_accel_path(action_new, accel_path_new);
-
-//	gtk_tree_store_set(accel_store, iter, AE_KEY, "", -1);
-	printf("D: %s\n", accel_path_new2);
-
-	g_free(accel_path_new2);
-	gtk_action_connect_accelerator(action_new);
-}
-    
-static void accel_add_alt_cb(GtkWidget *widget, gpointer data)
-{
-	GtkWidget *accel_view = data;
-	GtkTreeSelection *selection;
-
-	if (!accel_store) return;
-	selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(data));
-	gtk_tree_selection_selected_foreach(selection, &accel_add_alt_selection, NULL);
-}
-
-static void accel_default_ok_cb(GenericDialog *gd, gpointer data)
-{
-	accel_store_populate();
-}
-
-#endif
-#endif
 
 static GtkWidget *scrolled_notebook_page(GtkWidget *notebook, const gchar *title)
 {
@@ -1301,11 +1219,6 @@
 	pref_checkbox_new_int(subgroup, _("Store thumbnails in '.thumbnails' folder, local to image folder (non-standard)"),
 			      options->thumbnails.cache_into_dirs, &c_options->thumbnails.cache_into_dirs);
 
-#if 0
-	pref_checkbox_new_int(subgroup, _("Use xvpics thumbnails when found (read only)"),
-			      options->thumbnails.use_xvpics, &c_options->thumbnails.use_xvpics);
-#endif
-
 	pref_checkbox_new_int(group, _("Use EXIF thumbnails when available (EXIF thumbnails may be outdated)"),
 			      options->thumbnails.use_exif, &c_options->thumbnails.use_exif);
 
@@ -1323,11 +1236,6 @@
 
 	group = pref_group_new(vbox, FALSE, _("Image loading and caching"), GTK_ORIENTATION_VERTICAL);
 
-#if 0
-	pref_spin_new_int(group, _("Offscreen cache size (Mb per image):"), NULL,
-			  0, 128, 1, options->image.tile_cache_max, &c_options->image.tile_cache_max);
-#endif
-
 	pref_spin_new_int(group, _("Decoded image cache size (Mb):"), NULL,
 			  0, 1024, 1, options->image.image_cache_max, &c_options->image.image_cache_max);
 	pref_checkbox_new_int(group, _("Preload next image"),
@@ -1353,12 +1261,14 @@
 
 	group = pref_group_new(vbox, FALSE, _("Zoom"), GTK_ORIENTATION_VERTICAL);
 
-#if 0
-	add_dither_menu(dither_quality, &c_options->image.dither_quality, _("Dithering method:"), group);
-#endif
 	table = pref_table_new(group, 2, 1, FALSE, FALSE);
 	add_quality_menu(table, 0, 0, _("Quality:"), options->image.zoom_quality, &c_options->image.zoom_quality);
 
+#ifdef HAVE_CLUTTER
+	pref_checkbox_new_int(group, _("Use GPU acceleration via Clutter library"),
+			      options->image.use_clutter_renderer, &c_options->image.use_clutter_renderer);
+#endif
+
 	pref_checkbox_new_int(group, _("Two pass rendering (apply HQ zoom and color correction in second pass)"),
 			      options->image.zoom_2pass, &c_options->image.zoom_2pass);
 
@@ -1410,7 +1320,7 @@
 
 	pref_checkbox_new_int(group, _("Use custom border color in window mode"),
 			      options->image.use_custom_border_color, &c_options->image.use_custom_border_color);
-	
+
 	pref_checkbox_new_int(group, _("Use custom border color in fullscreen mode"),
 			      options->image.use_custom_border_color_in_fullscreen, &c_options->image.use_custom_border_color_in_fullscreen);
 
@@ -1489,7 +1399,6 @@
 
 	image_overlay_template_view = gtk_text_view_new();
 
-#if GTK_CHECK_VERSION(2,12,0)
 	gtk_widget_set_tooltip_markup(image_overlay_template_view,
 	_("<i>%name%</i> results in the filename of the picture.\n"
 	  "Also available: <i>%collection%</i>, <i>%number%</i>, <i>%total%</i>, <i>%date%</i>,\n"
@@ -1500,9 +1409,8 @@
 	  "If two or more variables are connected with the |-sign, it prints available variables with a separator.\n"
 	  "<i>%formatted.ShutterSpeed%</i>|<i>%formatted.ISOSpeedRating%</i>|<i>%formatted.FocalLength%</i> could show \"1/20s - 400 - 80 mm\" or \"1/200 - 80 mm\",\n"
 	  "if there's no ISO information in the Exif data.\n"
-	  "If a line is empty, it is removed. This allows to add lines that totally disappear when no data is available.\n"
-));
-#endif
+	  "If a line is empty, it is removed. This allows one to add lines that totally disappear when no data is available.\n"
+	));
 	gtk_container_add(GTK_CONTAINER(scrolled), image_overlay_template_view);
 	gtk_widget_show(image_overlay_template_view);
 
@@ -1564,10 +1472,6 @@
 
 	pref_checkbox_new_int(group, _("Show hidden files or folders"),
 			      options->file_filter.show_hidden_files, &c_options->file_filter.show_hidden_files);
-#if 0
-	pref_checkbox_new_int(group, _("Show dot directory"),
-			      options->file_filter.show_dot_directory, &c_options->file_filter.show_dot_directory);
-#endif
 	pref_checkbox_new_int(group, _("Case sensitive sort"),
 			      options->file_sort.case_sensitive, &c_options->file_sort.case_sensitive);
 
@@ -1626,6 +1530,9 @@
 	column = gtk_tree_view_column_new();
 	gtk_tree_view_column_set_title(column, _("Description"));
 	gtk_tree_view_column_set_resizable(column, TRUE);
+	gtk_tree_view_column_set_fixed_width(column, 200);
+	gtk_tree_view_column_set_sizing(column, GTK_TREE_VIEW_COLUMN_FIXED);
+
 	renderer = gtk_cell_renderer_text_new();
 	g_signal_connect(G_OBJECT(renderer), "edited",
 			 G_CALLBACK(filter_store_desc_edit_cb), filter_store);
@@ -1682,7 +1589,7 @@
 	hbox = pref_box_new(group, FALSE, GTK_ORIENTATION_HORIZONTAL, PREF_PAD_BUTTON_GAP);
 
 	button = pref_button_new(NULL, NULL, _("Defaults"), FALSE,
-				 G_CALLBACK(filter_default_cb), NULL);
+				 G_CALLBACK(filter_default_cb), filter_view);
 	gtk_box_pack_end(GTK_BOX(hbox), button, FALSE, FALSE, 0);
 	gtk_widget_show(button);
 
@@ -1692,7 +1599,7 @@
 	gtk_widget_show(button);
 
 	button = pref_button_new(NULL, GTK_STOCK_ADD, NULL, FALSE,
-				 G_CALLBACK(filter_add_cb), NULL);
+				 G_CALLBACK(filter_add_cb), filter_view);
 	gtk_box_pack_end(GTK_BOX(hbox), button, FALSE, FALSE, 0);
 	gtk_widget_show(button);
 }
@@ -1729,6 +1636,7 @@
 	text = g_strdup_printf(_("3) Save metadata in Geeqie private directory '%s'"), get_metadata_cache_dir());
 	label = pref_label_new(group, text);
 	gtk_misc_set_alignment(GTK_MISC(label), 0.0, 0.5);
+	gtk_misc_set_padding(GTK_MISC(label), 22, 0);
 	g_free(text);
 
 	group = pref_group_new(vbox, FALSE, _("Step 1: Write to image files"), GTK_ORIENTATION_VERTICAL);
@@ -1780,7 +1688,7 @@
 
 	pref_spin_new_int(hbox, _("Timeout (seconds):"), NULL, 0, 900, 1,
 			      options->metadata.confirm_timeout, &c_options->metadata.confirm_timeout);
-			      
+
 	pref_checkbox_new_int(group, _("Write metadata on image change"),
 			      options->metadata.confirm_on_image_change, &c_options->metadata.confirm_on_image_change);
 
@@ -1828,7 +1736,6 @@
 
 		entry = gtk_entry_new();
 		gtk_entry_set_max_length(GTK_ENTRY(entry), EDITOR_NAME_MAX_LENGTH);
-//		gtk_widget_set_size_request(editor_name_entry[i], 30, -1);
 		if (options->color_profile.input_name[i])
 			{
 			gtk_entry_set_text(GTK_ENTRY(entry), options->color_profile.input_name[i]);
@@ -1907,9 +1814,7 @@
 	pref_spacer(hbox, PREF_PAD_INDENT - PREF_PAD_GAP);
 	spin = pref_spin_new_int(hbox, _("Maximum size:"), _("MB"),
 				 0, 2048, 1, options->file_ops.safe_delete_folder_maxsize, &c_options->file_ops.safe_delete_folder_maxsize);
-#if GTK_CHECK_VERSION(2,12,0)
 	gtk_widget_set_tooltip_markup(spin, _("Set to 0 for unlimited size"));
-#endif
 	button = pref_button_new(NULL, NULL, _("View"), FALSE,
 				 G_CALLBACK(safe_delete_view_cb), NULL);
 	gtk_box_pack_end(GTK_BOX(hbox), button, FALSE, FALSE, 0);
@@ -1934,7 +1839,7 @@
 
 	pref_spin_new_int(group, _("Open recent list maximum size"), NULL,
 			  1, 50, 1, options->open_recent_list_maxsize, &c_options->open_recent_list_maxsize);
-	
+
 	pref_spin_new_int(group, _("Drag'n drop icon size"), NULL,
 			  16, 256, 16, options->dnd_icon_size, &c_options->dnd_icon_size);
 
@@ -1962,7 +1867,6 @@
 /* accelerators tab */
 static void config_tab_accelerators(GtkWidget *notebook)
 {
-#if GTK_CHECK_VERSION(2, 10, 0)
 	GtkWidget *hbox;
 	GtkWidget *vbox;
 	GtkWidget *group;
@@ -1995,9 +1899,9 @@
 	renderer = gtk_cell_renderer_text_new();
 
 	column = gtk_tree_view_column_new_with_attributes(_("Action"),
-        	                                      renderer,
-                                                      "text", AE_ACTION,
-                                                      NULL);
+							  renderer,
+							  "text", AE_ACTION,
+							  NULL);
 
 	gtk_tree_view_column_set_sort_column_id(column, AE_ACTION);
 	gtk_tree_view_column_set_resizable(column, TRUE);
@@ -2012,14 +1916,14 @@
 
 
 	g_object_set (renderer,
-                  "editable", TRUE,
-                  "accel-mode", GTK_CELL_RENDERER_ACCEL_MODE_OTHER,
-                  NULL);
-    
+		      "editable", TRUE,
+		      "accel-mode", GTK_CELL_RENDERER_ACCEL_MODE_OTHER,
+		      NULL);
+
 	column = gtk_tree_view_column_new_with_attributes(_("KEY"),
-                                                      renderer,
-                                                      "text", AE_KEY,
-                                                      NULL);
+							  renderer,
+							  "text", AE_KEY,
+							  NULL);
 
 	gtk_tree_view_column_set_sort_column_id(column, AE_KEY);
 	gtk_tree_view_column_set_resizable(column, TRUE);
@@ -2028,9 +1932,9 @@
 	renderer = gtk_cell_renderer_text_new();
 
 	column = gtk_tree_view_column_new_with_attributes(_("Tooltip"),
-                                                      renderer,
-                                                      "text", AE_TOOLTIP,
-                                                      NULL);
+							  renderer,
+							  "text", AE_TOOLTIP,
+							  NULL);
 
 	gtk_tree_view_column_set_sort_column_id(column, AE_TOOLTIP);
 	gtk_tree_view_column_set_resizable(column, TRUE);
@@ -2039,14 +1943,14 @@
 	renderer = gtk_cell_renderer_text_new();
 
 	column = gtk_tree_view_column_new_with_attributes("Accel",
-                                                      renderer,
-                                                      "text", AE_ACCEL,
-                                                      NULL);
- 
+							  renderer,
+							  "text", AE_ACCEL,
+							  NULL);
+
 	gtk_tree_view_column_set_sort_column_id(column, AE_ACCEL);
 	gtk_tree_view_column_set_resizable(column, TRUE);
 	gtk_tree_view_append_column(GTK_TREE_VIEW(accel_view), column);
-    
+
 	accel_store_populate();
 	gtk_container_add(GTK_CONTAINER(scrolled), accel_view);
 	gtk_widget_show(accel_view);
@@ -2054,29 +1958,14 @@
 	hbox = pref_box_new(group, FALSE, GTK_ORIENTATION_HORIZONTAL, PREF_PAD_BUTTON_GAP);
 
 	button = pref_button_new(NULL, NULL, _("Defaults"), FALSE,
-				 G_CALLBACK(accel_default_cb), NULL);
+				 G_CALLBACK(accel_default_cb), accel_view);
 	gtk_box_pack_end(GTK_BOX(hbox), button, FALSE, FALSE, 0);
 	gtk_widget_show(button);
 
-#if 0
-	button = pref_button_new(NULL, GTK_STOCK_REMOVE, NULL, FALSE,
-				 G_CALLBACK(accel_remove_cb), accel_view);
-	gtk_box_pack_end(GTK_BOX(hbox), button, FALSE, FALSE, 0);
-	gtk_widget_show(button);
-#endif
-
 	button = pref_button_new(NULL, NULL, _("Reset selected"), FALSE,
 				 G_CALLBACK(accel_reset_cb), accel_view);
 	gtk_box_pack_end(GTK_BOX(hbox), button, FALSE, FALSE, 0);
 	gtk_widget_show(button);
-
-#if 0
-	button = pref_button_new(NULL, _("Add Alt"), NULL, FALSE,
-                 G_CALLBACK(accel_add_alt_cb), accel_view);
-	gtk_box_pack_end(GTK_BOX(hbox), button, FALSE, FALSE, 0);
-	gtk_widget_show(button);
-#endif
-#endif
 }
 
 /* stereo tab */
@@ -2188,7 +2077,7 @@
 	button = pref_button_new(NULL, GTK_STOCK_OK, NULL, FALSE,
 				 G_CALLBACK(config_window_ok_cb), NULL);
 	gtk_container_add(GTK_CONTAINER(hbox), button);
-	GTK_WIDGET_SET_FLAGS(button, GTK_CAN_DEFAULT);
+	gtk_widget_set_can_default(button, TRUE);
 	gtk_widget_grab_default(button);
 	gtk_widget_show(button);
 
@@ -2197,19 +2086,19 @@
 	button = pref_button_new(NULL, GTK_STOCK_SAVE, NULL, FALSE,
 				 G_CALLBACK(config_window_save_cb), NULL);
 	gtk_container_add(GTK_CONTAINER(hbox), button);
-	GTK_WIDGET_SET_FLAGS(button, GTK_CAN_DEFAULT);
+	gtk_widget_set_can_default(button, TRUE);
 	gtk_widget_show(button);
-	
+
 	button = pref_button_new(NULL, GTK_STOCK_APPLY, NULL, FALSE,
 				 G_CALLBACK(config_window_apply_cb), NULL);
 	gtk_container_add(GTK_CONTAINER(hbox), button);
-	GTK_WIDGET_SET_FLAGS(button, GTK_CAN_DEFAULT);
+	gtk_widget_set_can_default(button, TRUE);
 	gtk_widget_show(button);
 
 	button = pref_button_new(NULL, GTK_STOCK_CANCEL, NULL, FALSE,
 				 G_CALLBACK(config_window_close_cb), NULL);
 	gtk_container_add(GTK_CONTAINER(hbox), button);
-	GTK_WIDGET_SET_FLAGS(button, GTK_CAN_DEFAULT);
+	gtk_widget_set_can_default(button, TRUE);
 	gtk_widget_show(button);
 
 	if (!generic_dialog_get_alternative_button_order(configwindow))
@@ -2318,7 +2207,7 @@
 	buf = g_strdup_printf(_("%s %s\n\nCopyright (c) 2006 John Ellis\nCopyright (c) %s The Geeqie Team\nwebsite: %s\nemail: %s\n\nReleased under the GNU General Public License"),
 			      GQ_APPNAME,
 			      VERSION,
-			      "2008 - 2010",
+			      "2008 - 2012",
 			      GQ_WEBSITE,
 			      GQ_EMAIL_ADDRESS);
 	label = gtk_label_new(buf);
@@ -2337,13 +2226,13 @@
 	button = pref_button_new(NULL, NULL, _("Credits..."), FALSE,
 				 G_CALLBACK(about_credits_cb), NULL);
 	gtk_container_add(GTK_CONTAINER(hbox), button);
-	GTK_WIDGET_SET_FLAGS(button, GTK_CAN_DEFAULT);
+	gtk_widget_set_can_default(button, TRUE);
 	gtk_widget_show(button);
 
 	button = pref_button_new(NULL, GTK_STOCK_CLOSE, NULL, FALSE,
 				 G_CALLBACK(about_window_close), NULL);
 	gtk_container_add(GTK_CONTAINER(hbox), button);
-	GTK_WIDGET_SET_FLAGS(button, GTK_CAN_DEFAULT);
+	gtk_widget_set_can_default(button, TRUE);
 	gtk_widget_grab_default(button);
 	gtk_widget_show(button);
 
--- a/src/preferences.h	Sun May 27 18:41:56 2012 +0100
+++ b/src/preferences.h	Tue Oct 02 22:19:13 2012 +0100
@@ -1,7 +1,7 @@
 /*
  * Geeqie
  * (C) 2004 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * Author: John Ellis
  *
--- a/src/print.c	Sun May 27 18:41:56 2012 +0100
+++ b/src/print.c	Tue Oct 02 22:19:13 2012 +0100
@@ -1,7 +1,7 @@
 /*
  * Geeqie
  * (C) 2004 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * Author: John Ellis
  *
@@ -1367,10 +1367,10 @@
 	pixbuf_draw_layout(pixbuf, layout, pw->dialog->dialog, 0, 0, r, g, b, 255);
 	g_object_unref(G_OBJECT(layout));
 
-	ret = print_job_ps_page_image(pw, pixbuf, x, y, 
+	ret = print_job_ps_page_image(pw, pixbuf, x, y,
 				       /* do not allow rescaling of the pixbuf due to rounding errors */
 	                              ((gdouble)lw + 0.01) / scale_to_max_dpi,
-	                              ((gdouble)lh + 0.01) / scale_to_max_dpi, 
+	                              ((gdouble)lh + 0.01) / scale_to_max_dpi,
 	                              0, 0);
 
 	g_object_unref(G_OBJECT(pixbuf));
@@ -1959,11 +1959,7 @@
 	GtkWidget *label;
 	gchar *buf;
 
-#if GTK_CHECK_VERSION(2,20,0)
 	if (gtk_widget_get_visible(pw->dialog->dialog)) parent = pw->dialog->dialog;
-#else
-	if (GTK_WIDGET_VISIBLE(pw->dialog->dialog)) parent = pw->dialog->dialog;
-#endif
 
 	gd = generic_dialog_new(_("Printing error"), "print_warning",
 				parent, TRUE, NULL, NULL);
@@ -2061,7 +2057,6 @@
 		gdouble sw, sh;
 		gdouble dw, dh;
 		gdouble x, y, w, h;
-		gdouble scale;
 		gdouble offx, offy;
 
 		sw = (gdouble)gdk_pixbuf_get_width(pixbuf);
@@ -2074,13 +2069,11 @@
 			{
 			w = dw;
 			h = dw / sw * sh;
-			scale = w / sw;
 			}
 		else
 			{
 			h = dh;
 			w = dh / sh *sw;
-			scale = h / sh;
 			}
 
 		if (pw->image_scale >= 5.0)
@@ -2191,7 +2184,6 @@
 	gdouble w, h;
 	gdouble proof_w, proof_h;
 	gdouble icon_w, icon_h;
-	gdouble scale;
 	gboolean success = TRUE;
 
 	if (pw->proof_columns < 1 || pw->proof_rows < 1)
@@ -2217,13 +2209,11 @@
 		{
 		icon_w = pw->proof_width;
 		icon_h = pw->proof_width / w * h;
-		scale = icon_w / w;
 		}
 	else
 		{
 		icon_h = pw->proof_height;
 		icon_w = pw->proof_height / h * w;
-		scale = icon_h / h;
 		}
 
 	y = pw->proof_position / pw->proof_columns;
@@ -2489,11 +2479,7 @@
 		pw->job_pixbuf = NULL;
 		}
 
-#if GTK_CHECK_VERSION(2,20,0)
 	if (pw->dialog && !gtk_widget_get_visible(pw->dialog->dialog))
-#else
-	if (pw->dialog && !GTK_WIDGET_VISIBLE(pw->dialog->dialog))
-#endif
 		{
 		g_idle_add_full(G_PRIORITY_HIGH_IDLE, print_job_close_finish_cb, pw, NULL);
 		}
@@ -2672,11 +2658,11 @@
 	GtkWidget *combo;
 	gint i;
 
-	combo = gtk_combo_box_new_text();
+	combo = gtk_combo_box_text_new();
 
 	for (i = 0 ; i < count; i++)
 		{
-		gtk_combo_box_append_text(GTK_COMBO_BOX(combo), _(text[i]));
+		gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(combo), _(text[i]));
 		}
 
 	if (preferred >= 0 && preferred < count)
@@ -2704,12 +2690,12 @@
 
 	pref_table_label(table, column, row, (_("Format:")), 1.0);
 
-	combo = gtk_combo_box_new_text();
+	combo = gtk_combo_box_text_new();
 
 	i = 0;
 	while (print_paper_sizes[i].description)
 		{
-		gtk_combo_box_append_text(GTK_COMBO_BOX(combo), _(print_paper_sizes[i].description));
+		gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(combo), _(print_paper_sizes[i].description));
 		i++;
 		}
 
@@ -2985,7 +2971,7 @@
 		work = work->next;
 
 		buf = g_strdup_printf(PRINT_LPR_CUSTOM, name);
-		gtk_combo_box_append_text(GTK_COMBO_BOX(combo), buf);
+		gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(combo), buf);
 		g_free(buf);
 		}
 	string_list_free(list);
@@ -3226,12 +3212,6 @@
 	pref_spin_new(group, _("Size:"), _("points"),
 		      8.0, 100.0, 1.0, 0, pw->text_points,
 		      G_CALLBACK(print_text_cb_points), pw);
-
-#if 0
-	button = color_selection_new();
-	gtk_box_pack_start(GTK_BOX(group), button, FALSE, FALSE, 0);
-	gtk_widget_show(button);
-#endif
 }
 
 /*
@@ -3324,9 +3304,9 @@
 
 	pw->source = print_pref_int(PRINT_PREF_SOURCE, PRINT_SOURCE_SELECTION);
 	pw->layout = print_pref_int(PRINT_PREF_LAYOUT, PRINT_LAYOUT_IMAGE);
-	
+
 	pw->image_scale = print_pref_double(PRINT_PREF_IMAGE_SCALE, 100.0);
-	
+
 	pw->output = print_pref_int(PRINT_PREF_OUTPUT, PRINT_OUTPUT_PS_LPR);
 	pw->output_format = print_pref_int(PRINT_PREF_FORMAT, PRINT_FILE_JPG_NORMAL);
 
--- a/src/print.h	Sun May 27 18:41:56 2012 +0100
+++ b/src/print.h	Tue Oct 02 22:19:13 2012 +0100
@@ -1,7 +1,7 @@
 /*
  * Geeqie
  * (C) 2004 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * Author: John Ellis
  *
--- a/src/rcfile.c	Sun May 27 18:41:56 2012 +0100
+++ b/src/rcfile.c	Tue Oct 02 22:19:13 2012 +0100
@@ -1,7 +1,7 @@
 /*
  * Geeqie
  * (C) 2006 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * Author: John Ellis
  *
@@ -49,7 +49,7 @@
 
 void write_char_option(GString *str, gint indent, const gchar *label, const gchar *text)
 {
-	/* this is needed for overlay string, because g_markup_escape_text does not handle \n and such, 
+	/* this is needed for overlay string, because g_markup_escape_text does not handle \n and such,
 	   ideas for improvement are welcome
 	*/
 	static const unsigned char no_quote_utf[] = {
@@ -67,13 +67,22 @@
 		'"',  0 /* '"' is handled in g_markup_escape_text */
 	};
 
-	gchar *escval1 = g_strescape(text ? text : "", (gchar *) no_quote_utf); 
+	gchar *escval1 = g_strescape(text ? text : "", (gchar *) no_quote_utf);
 	gchar *escval2 = g_markup_escape_text(escval1, -1);
 	g_string_append_printf(str, "%s = \"%s\" ", label, escval2);
 	g_free(escval2);
 	g_free(escval1);
 }
 
+/* dummy read for old/obsolete/futur/deprecated/unused options */
+gboolean read_dummy_option(const gchar *option, const gchar *label, const gchar *message)
+{
+	if (g_ascii_strcasecmp(option, label) != 0) return FALSE;
+	log_printf(_("Option %s ignored: %s\n"), option, message);
+	return TRUE;
+}
+
+
 gboolean read_char_option(const gchar *option, const gchar *label, const gchar *value, gchar **text)
 {
 	if (g_ascii_strcasecmp(option, label) != 0) return FALSE;
@@ -160,7 +169,7 @@
 		else
 			*n = 0;
 		}
-	
+
 	return TRUE;
 }
 
@@ -230,7 +239,7 @@
 
 	*n = l * subunits + r;
 	g_free(buf);
-	
+
 	return TRUE;
 }
 
@@ -260,8 +269,7 @@
 
 static void write_global_attributes(GString *outstr, gint indent)
 {
-//	WRITE_SUBTITLE("General Options");
-
+	/* General Options */
 	WRITE_NL(); WRITE_BOOL(*options, show_icon_names);
 	WRITE_SEPARATOR();
 
@@ -283,8 +291,7 @@
 	WRITE_NL(); WRITE_BOOL(*options, save_window_positions);
 	WRITE_NL(); WRITE_BOOL(*options, tools_restore_state);
 
-//	WRITE_SUBTITLE("File operations Options");
-
+	/* File operations Options */
 	WRITE_NL(); WRITE_BOOL(*options, file_ops.enable_in_place_rename);
 	WRITE_NL(); WRITE_BOOL(*options, file_ops.confirm_delete);
 	WRITE_NL(); WRITE_BOOL(*options, file_ops.enable_delete_key);
@@ -292,27 +299,12 @@
 	WRITE_NL(); WRITE_CHAR(*options, file_ops.safe_delete_path);
 	WRITE_NL(); WRITE_INT(*options, file_ops.safe_delete_folder_maxsize);
 
-
-
-
-//	WRITE_SUBTITLE("Properties dialog Options");
+	/* Properties dialog Options */
 	WRITE_NL(); WRITE_CHAR(*options, properties.tabs_order);
 
-//	WRITE_SUBTITLE("Image Options");
-
+	/* Image Options */
 	WRITE_NL(); WRITE_UINT(*options, image.zoom_mode);
 
-//	g_string_append_printf(outstr, "# image.zoom_mode possible values are:\n"
-//			    "#   original\n"
-//			    "#   fit\n"
-//			    "#   dont_change\n");
-//	g_string_append_printf(outstr, "image.zoom_mode: ");
-//	switch (options->image.zoom_mode)
-//	{
-//	case ZOOM_RESET_ORIGINAL: g_string_append_printf(outstr, "original\n"); break;
-//	case ZOOM_RESET_FIT_WINDOW: g_string_append_printf(outstr, "fit\n"); break;
-//	case ZOOM_RESET_NONE: g_string_append_printf(outstr, "dont_change\n"); break;
-//	}
 	WRITE_SEPARATOR();
 	WRITE_NL(); WRITE_BOOL(*options, image.zoom_2pass);
 	WRITE_NL(); WRITE_BOOL(*options, image.zoom_to_fit_allow_expand);
@@ -326,15 +318,14 @@
 	WRITE_NL(); WRITE_UINT(*options, image.scroll_reset_method);
 	WRITE_NL(); WRITE_INT(*options, image.tile_cache_max);
 	WRITE_NL(); WRITE_INT(*options, image.image_cache_max);
-	WRITE_NL(); WRITE_UINT(*options, image.dither_quality);
 	WRITE_NL(); WRITE_BOOL(*options, image.enable_read_ahead);
 	WRITE_NL(); WRITE_BOOL(*options, image.exif_rotate_enable);
 	WRITE_NL(); WRITE_BOOL(*options, image.use_custom_border_color);
 	WRITE_NL(); WRITE_BOOL(*options, image.use_custom_border_color_in_fullscreen);
 	WRITE_NL(); WRITE_COLOR(*options, image.border_color);
+	WRITE_NL(); WRITE_BOOL(*options, image.use_clutter_renderer);
 
-//	WRITE_SUBTITLE("Thumbnails Options");
-
+	/* Thumbnails Options */
 	WRITE_NL(); WRITE_INT(*options, thumbnails.max_width);
 	WRITE_NL(); WRITE_INT(*options, thumbnails.max_height);
 	WRITE_NL(); WRITE_BOOL(*options, thumbnails.enable_caching);
@@ -344,16 +335,12 @@
 	WRITE_NL(); WRITE_UINT(*options, thumbnails.quality);
 	WRITE_NL(); WRITE_BOOL(*options, thumbnails.use_exif);
 
-
-//	WRITE_SUBTITLE("File sorting Options");
-
+	/* File sorting Options */
 	WRITE_NL(); WRITE_INT(*options, file_sort.method);
 	WRITE_NL(); WRITE_BOOL(*options, file_sort.ascending);
 	WRITE_NL(); WRITE_BOOL(*options, file_sort.case_sensitive);
 
-
-//	WRITE_SUBTITLE("Fullscreen Options");
-
+	/* Fullscreen Options */
 	WRITE_NL(); WRITE_INT(*options, fullscreen.screen);
 	WRITE_NL(); WRITE_BOOL(*options, fullscreen.clean_flip);
 	WRITE_NL(); WRITE_BOOL(*options, fullscreen.disable_saver);
@@ -361,75 +348,40 @@
 
 	WRITE_SEPARATOR();
 
-//	WRITE_SUBTITLE("Image Overlay Options");
+	/* Image Overlay Options */
 	WRITE_NL(); WRITE_CHAR(*options, image_overlay.template_string);
 
-//	g_string_append_printf(outstr, "# these are relative positions:\n");
-//	g_string_append_printf(outstr, "# x >= 0: |x| pixels from left border\n");
-//	g_string_append_printf(outstr, "# x < 0 : |x| pixels from right border\n");
-//	g_string_append_printf(outstr, "# y >= 0: |y| pixels from top border\n");
-//	g_string_append_printf(outstr, "# y < 0 : |y| pixels from bottom border\n");
 	WRITE_NL(); WRITE_INT(*options, image_overlay.x);
 	WRITE_NL(); WRITE_INT(*options, image_overlay.y);
 
-
-//	WRITE_SUBTITLE("Slideshow Options");
-
+	/* Slideshow Options */
 	WRITE_NL(); WRITE_INT_UNIT(*options, slideshow.delay, SLIDESHOW_SUBSECOND_PRECISION);
 	WRITE_NL(); WRITE_BOOL(*options, slideshow.random);
 	WRITE_NL(); WRITE_BOOL(*options, slideshow.repeat);
 
-
-//	WRITE_SUBTITLE("Collection Options");
-
+	/* Collection Options */
 	WRITE_NL(); WRITE_BOOL(*options, collections.rectangular_selection);
 
-
-//	WRITE_SUBTITLE("Filtering Options");
-
+	/* Filtering Options */
 	WRITE_NL(); WRITE_BOOL(*options, file_filter.show_hidden_files);
 	WRITE_NL(); WRITE_BOOL(*options, file_filter.show_dot_directory);
 	WRITE_NL(); WRITE_BOOL(*options, file_filter.disable);
 	WRITE_SEPARATOR();
 
-
-//	WRITE_SUBTITLE("Sidecars Options");
-
+	/* Sidecars Options */
 	WRITE_NL(); WRITE_CHAR(*options, sidecar.ext);
 
-
-
-//	WRITE_SUBTITLE("Shell command");
+	/* Shell command */
 	WRITE_NL(); WRITE_CHAR(*options, shell.path);
 	WRITE_NL(); WRITE_CHAR(*options, shell.options);
 
-
-//	WRITE_SUBTITLE("Helpers");
-//	g_string_append_printf(outstr, "# Html browser\n");
-//	g_string_append_printf(outstr, "# command_name is: the binary's name to look for in the path\n");
-//	g_string_append_printf(outstr, "# If command_name is empty, the program will try various common html browsers\n");
-//	g_string_append_printf(outstr, "# command_line is:\n");
-//	g_string_append_printf(outstr, "# \"\" (empty string)  = execute binary with html file path as command line\n");
-//	g_string_append_printf(outstr, "# \"string\"           = execute string and use results for command line\n");
-//	g_string_append_printf(outstr, "# \"!string\"          = use text following ! as command line, replacing optional %%s with html file path\n");
+	/* Helpers */
 	WRITE_NL(); WRITE_CHAR(*options, helpers.html_browser.command_name);
 	WRITE_NL(); WRITE_CHAR(*options, helpers.html_browser.command_line);
 
-/* FIXME:
-	WRITE_SUBTITLE("Exif Options");
-	g_string_append_printf(outstr, "# Display: 0: never\n"
-			    "#          1: if set\n"
-			    "#          2: always\n\n");
-	for (i = 0; ExifUIList[i].key; i++)
-		{
-		g_string_append_printf(outstr, "exif.display.");
-		write_int_option(outstr, 2, (gchar *)ExifUIList[i].key, ExifUIList[i].current);
-		}
-*/
-
-//	WRITE_SUBTITLE("Metadata Options");
+	/* Metadata Options */
 	WRITE_NL(); WRITE_BOOL(*options, metadata.enable_metadata_dirs);
-	WRITE_NL(); WRITE_BOOL(*options, metadata.save_in_image_file); 
+	WRITE_NL(); WRITE_BOOL(*options, metadata.save_in_image_file);
 	WRITE_NL(); WRITE_BOOL(*options, metadata.save_legacy_IPTC);
 	WRITE_NL(); WRITE_BOOL(*options, metadata.warn_on_write_problems);
 	WRITE_NL(); WRITE_BOOL(*options, metadata.save_legacy_format);
@@ -442,15 +394,15 @@
 	WRITE_NL(); WRITE_BOOL(*options, metadata.keywords_case_sensitive);
 	WRITE_NL(); WRITE_BOOL(*options, metadata.write_orientation);
 
-	WRITE_NL(); WRITE_UINT(*options, stereo.mode);
-	WRITE_NL(); WRITE_UINT(*options, stereo.fsmode);
+	WRITE_NL(); WRITE_INT(*options, stereo.mode);
+	WRITE_NL(); WRITE_INT(*options, stereo.fsmode);
 	WRITE_NL(); WRITE_BOOL(*options, stereo.enable_fsmode);
-	WRITE_NL(); WRITE_UINT(*options, stereo.fixed_w);
-	WRITE_NL(); WRITE_UINT(*options, stereo.fixed_h);
-	WRITE_NL(); WRITE_UINT(*options, stereo.fixed_x1);
-	WRITE_NL(); WRITE_UINT(*options, stereo.fixed_y1);
-	WRITE_NL(); WRITE_UINT(*options, stereo.fixed_x2);
-	WRITE_NL(); WRITE_UINT(*options, stereo.fixed_y2);
+	WRITE_NL(); WRITE_INT(*options, stereo.fixed_w);
+	WRITE_NL(); WRITE_INT(*options, stereo.fixed_h);
+	WRITE_NL(); WRITE_INT(*options, stereo.fixed_x1);
+	WRITE_NL(); WRITE_INT(*options, stereo.fixed_y1);
+	WRITE_NL(); WRITE_INT(*options, stereo.fixed_x2);
+	WRITE_NL(); WRITE_INT(*options, stereo.fixed_y2);
 }
 
 static void write_color_profile(GString *outstr, gint indent)
@@ -495,7 +447,7 @@
 	GString *outstr;
 	gint indent = 0;
 	GList *work;
-	
+
 	rc_pathl = path_from_utf8(utf8_path);
 	ssi = secure_open(rc_pathl);
 	g_free(rc_pathl);
@@ -520,7 +472,7 @@
 
 	WRITE_STRING("<gq>\n");
 	indent++;
-	
+
 	WRITE_NL(); WRITE_STRING("<global\n");
 	indent++;
 	write_global_attributes(outstr, indent + 1);
@@ -540,8 +492,8 @@
 	WRITE_NL(); WRITE_STRING("</global>\n");
 
 	WRITE_SEPARATOR();
-	WRITE_SUBTITLE("Layout Options");
 
+	/* Layout Options */
 	work = layout_window_list;
 	while (work)
 		{
@@ -581,8 +533,7 @@
 		const gchar *option = *attribute_names++;
 		const gchar *value = *attribute_values++;
 
-
-		/* general options */
+		/* General options */
 		if (READ_BOOL(*options, show_icon_names)) continue;
 
 		if (READ_BOOL(*options, tree_descend_subdirs)) continue;
@@ -602,10 +553,10 @@
 		if (READ_BOOL(*options, save_window_positions)) continue;
 		if (READ_BOOL(*options, tools_restore_state)) continue;
 
-		/* properties dialog options */
+		/* Properties dialog options */
 		if (READ_CHAR(*options, properties.tabs_order)) continue;
 
-		/* image options */
+		/* Image options */
 		if (READ_UINT_CLAMP(*options, image.zoom_mode, 0, ZOOM_RESET_NONE)) continue;
 		if (READ_BOOL(*options, image.zoom_2pass)) continue;
 		if (READ_BOOL(*options, image.zoom_to_fit_allow_expand)) continue;
@@ -618,15 +569,15 @@
 		if (READ_INT(*options, image.tile_cache_max)) continue;
 		if (READ_INT(*options, image.image_cache_max)) continue;
 		if (READ_UINT_CLAMP(*options, image.zoom_quality, GDK_INTERP_NEAREST, GDK_INTERP_HYPER)) continue;
-		if (READ_UINT_CLAMP(*options, image.dither_quality, GDK_RGB_DITHER_NONE, GDK_RGB_DITHER_MAX)) continue;
 		if (READ_INT(*options, image.zoom_increment)) continue;
 		if (READ_BOOL(*options, image.enable_read_ahead)) continue;
 		if (READ_BOOL(*options, image.exif_rotate_enable)) continue;
 		if (READ_BOOL(*options, image.use_custom_border_color)) continue;
 		if (READ_BOOL(*options, image.use_custom_border_color_in_fullscreen)) continue;
 		if (READ_COLOR(*options, image.border_color)) continue;
+		if (READ_BOOL(*options, image.use_clutter_renderer)) continue;
 
-		/* thumbnails options */
+		/* Thumbnails options */
 		if (READ_INT_CLAMP(*options, thumbnails.max_width, 16, 512)) continue;
 		if (READ_INT_CLAMP(*options, thumbnails.max_height, 16, 512)) continue;
 
@@ -637,12 +588,12 @@
 		if (READ_UINT_CLAMP(*options, thumbnails.quality, GDK_INTERP_NEAREST, GDK_INTERP_HYPER)) continue;
 		if (READ_BOOL(*options, thumbnails.use_exif)) continue;
 
-		/* file sorting options */
+		/* File sorting options */
 		if (READ_UINT(*options, file_sort.method)) continue;
 		if (READ_BOOL(*options, file_sort.ascending)) continue;
 		if (READ_BOOL(*options, file_sort.case_sensitive)) continue;
 
-		/* file operations *options */
+		/* File operations *options */
 		if (READ_BOOL(*options, file_ops.enable_in_place_rename)) continue;
 		if (READ_BOOL(*options, file_ops.confirm_delete)) continue;
 		if (READ_BOOL(*options, file_ops.enable_delete_key)) continue;
@@ -650,29 +601,26 @@
 		if (READ_CHAR(*options, file_ops.safe_delete_path)) continue;
 		if (READ_INT(*options, file_ops.safe_delete_folder_maxsize)) continue;
 
-		/* fullscreen options */
+		/* Fullscreen options */
 		if (READ_INT(*options, fullscreen.screen)) continue;
 		if (READ_BOOL(*options, fullscreen.clean_flip)) continue;
 		if (READ_BOOL(*options, fullscreen.disable_saver)) continue;
 		if (READ_BOOL(*options, fullscreen.above)) continue;
 
-		/* image overlay */
+		/* Image overlay */
 		if (READ_CHAR(*options, image_overlay.template_string)) continue;
 		if (READ_INT(*options, image_overlay.x)) continue;
 		if (READ_INT(*options, image_overlay.y)) continue;
 
-
-		/* slideshow options */
+		/* Slideshow options */
 		if (READ_INT_UNIT(*options, slideshow.delay, SLIDESHOW_SUBSECOND_PRECISION)) continue;
 		if (READ_BOOL(*options, slideshow.random)) continue;
 		if (READ_BOOL(*options, slideshow.repeat)) continue;
 
-		/* collection options */
-
+		/* Collection options */
 		if (READ_BOOL(*options, collections.rectangular_selection)) continue;
 
-		/* filtering options */
-
+		/* Filtering options */
 		if (READ_BOOL(*options, file_filter.show_hidden_files)) continue;
 		if (READ_BOOL(*options, file_filter.show_dot_directory)) continue;
 		if (READ_BOOL(*options, file_filter.disable)) continue;
@@ -687,17 +635,8 @@
 		/* Helpers */
 		if (READ_CHAR(*options, helpers.html_browser.command_name)) continue;
 		if (READ_CHAR(*options, helpers.html_browser.command_line)) continue;
-		/* Exif */
-/*
-		if (0 == g_ascii_strncasecmp(option, "exif.display.", 13))
-			{
-			for (i = 0; ExifUIList[i].key; i++)
-				if (0 == g_ascii_strcasecmp(option + 13, ExifUIList[i].key))
-					ExifUIList[i].current = strtol(value, NULL, 10);
-			continue;
-			}
-*/
-		/* metadata */		
+
+		/* Metadata */
 		if (READ_BOOL(*options, metadata.enable_metadata_dirs)) continue;
 		if (READ_BOOL(*options, metadata.save_in_image_file)) continue;
 		if (READ_BOOL(*options, metadata.save_legacy_IPTC)) continue;
@@ -712,16 +651,20 @@
 		if (READ_BOOL(*options, metadata.keywords_case_sensitive)) continue;
 		if (READ_BOOL(*options, metadata.write_orientation)) continue;
 
-		if (READ_UINT(*options, stereo.mode)) continue;
-		if (READ_UINT(*options, stereo.fsmode)) continue;
+		if (READ_INT(*options, stereo.mode)) continue;
+		if (READ_INT(*options, stereo.fsmode)) continue;
 		if (READ_BOOL(*options, stereo.enable_fsmode)) continue;
-		if (READ_UINT(*options, stereo.fixed_w)) continue;
-		if (READ_UINT(*options, stereo.fixed_h)) continue;
-		if (READ_UINT(*options, stereo.fixed_x1)) continue;
-		if (READ_UINT(*options, stereo.fixed_y1)) continue;
-		if (READ_UINT(*options, stereo.fixed_x2)) continue;
-		if (READ_UINT(*options, stereo.fixed_y2)) continue;
+		if (READ_INT(*options, stereo.fixed_w)) continue;
+		if (READ_INT(*options, stereo.fixed_h)) continue;
+		if (READ_INT(*options, stereo.fixed_x1)) continue;
+		if (READ_INT(*options, stereo.fixed_y1)) continue;
+		if (READ_INT(*options, stereo.fixed_x2)) continue;
+		if (READ_INT(*options, stereo.fixed_y2)) continue;
 
+		/* Dummy options */
+		if (READ_DUMMY(*options, image.dither_quality, "deprecated since 2012-08-13")) continue;
+
+		/* Unknown options */
 		log_printf("unknown attribute %s = %s\n", option, value);
 		}
 
@@ -784,7 +727,7 @@
 		{
 		const gchar *option = *attribute_names++;
 		const gchar *value = *attribute_values++;
-		
+
 		if (strcmp(option, "id") == 0) return value;
 
 		}
@@ -829,7 +772,7 @@
 static void options_parse_filter_end(GQParserData *parser_data, GMarkupParseContext *context, const gchar *element_name, gpointer data, GError **error)
 {
 	if (parser_data->startup) filter_add_defaults();
-	filter_rebuild(); 
+	filter_rebuild();
 }
 
 static void options_parse_keyword_end(GQParserData *parser_data, GMarkupParseContext *context, const gchar *element_name, gpointer data, GError **error)
@@ -1063,7 +1006,7 @@
 			{
 			bar_update_from_config(lw->bar, attribute_names, attribute_values);
 			}
-			
+
 		options_parse_func_push(parser_data, options_parse_bar, NULL, lw->bar);
 		}
 	else if (g_ascii_strcasecmp(element_name, "bar_sort") == 0)
@@ -1107,12 +1050,12 @@
 		options_parse_func_push(parser_data, options_parse_global, options_parse_global_end, NULL);
 		return;
 		}
-	
+
 	if (g_ascii_strcasecmp(element_name, "layout") == 0)
 		{
 		LayoutWindow *lw;
 		lw = layout_find_by_layout_id(options_get_id(attribute_names, attribute_values));
-		if (lw) 
+		if (lw)
 			{
 			layout_update_from_config(lw, attribute_names, attribute_values);
 			}
@@ -1144,7 +1087,6 @@
 {
 	GQParserStartFunc start_func;
 	GQParserEndFunc end_func;
-//	GQParserTextFunc text_func;
 	gpointer data;
 };
 
@@ -1154,7 +1096,7 @@
 	func_data->start_func = start_func;
 	func_data->end_func = end_func;
 	func_data->data = data;
-	
+
 	parser_data->parse_func_stack = g_list_prepend(parser_data->parse_func_stack, func_data);
 }
 
@@ -1176,12 +1118,12 @@
 			  const gchar **attribute_names,
 			  const gchar **attribute_values,
 			  gpointer user_data,
-			  GError **error) 
+			  GError **error)
 {
 	GQParserData *parser_data = user_data;
-	GQParserFuncData *func = parser_data->parse_func_stack->data; 
+	GQParserFuncData *func = parser_data->parse_func_stack->data;
 	DEBUG_2("start %s", element_name);
-	
+
 	if (func->start_func)
 		func->start_func(parser_data, context, element_name, attribute_names, attribute_values, func->data, error);
 }
@@ -1189,10 +1131,10 @@
 static void end_element(GMarkupParseContext *context,
 			  const gchar *element_name,
 			  gpointer user_data,
-			  GError **error) 
+			  GError **error)
 {
 	GQParserData *parser_data = user_data;
-	GQParserFuncData *func = parser_data->parse_func_stack->data; 
+	GQParserFuncData *func = parser_data->parse_func_stack->data;
 	DEBUG_2("end %s", element_name);
 
 	if (func->end_func)
@@ -1222,10 +1164,10 @@
 	GQParserData *parser_data;
 
 	parser_data = g_new0(GQParserData, 1);
-	
+
 	parser_data->startup = startup;
 	options_parse_func_push(parser_data, options_parse_toplevel, NULL, NULL);
-	
+
 	context = g_markup_parse_context_new(&parser, 0, parser_data, NULL);
 
 	if (g_markup_parse_context_parse(context, buf, size, NULL) == FALSE)
@@ -1233,7 +1175,7 @@
 		ret = FALSE;
 		DEBUG_1("Parse failed");
 		}
-		
+
 	g_free(parser_data);
 
 	g_markup_parse_context_free(context);
@@ -1246,7 +1188,7 @@
 	gchar *buf;
 	gboolean ret = TRUE;
 
-	if (g_file_get_contents(utf8_path, &buf, &size, NULL) == FALSE) 
+	if (g_file_get_contents(utf8_path, &buf, &size, NULL) == FALSE)
 		{
 		return FALSE;
 		}
@@ -1254,7 +1196,7 @@
 	g_free(buf);
 	return ret;
 }
-	
+
 
 
 /* vim: set shiftwidth=8 softtabstop=0 cindent cinoptions={1s: */
--- a/src/rcfile.h	Sun May 27 18:41:56 2012 +0100
+++ b/src/rcfile.h	Tue Oct 02 22:19:13 2012 +0100
@@ -1,7 +1,7 @@
 /*
  * Geeqie
  * (C) 2004 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * Author: John Ellis
  *
@@ -17,6 +17,7 @@
 
 void write_indent(GString *str, gint indent);
 void write_char_option(GString *str, gint indent, const gchar *label, const gchar *text);
+gboolean read_dummy_option(const gchar *option, const gchar *label, const gchar *message);
 gboolean read_char_option(const gchar *option, const gchar *label, const gchar *value, gchar **text);
 void write_color_option(GString *str, gint indent, gchar *label, GdkColor *color);
 gboolean read_color_option(const gchar *option, const gchar *label, const gchar *value, GdkColor *color);
@@ -40,7 +41,6 @@
 
 #define WRITE_NL() write_indent(outstr, indent)
 #define WRITE_SEPARATOR() g_string_append(outstr, "\n")
-#define WRITE_SUBTITLE(_title_) g_string_append_printf(outstr, "\n\n<!-- "_title_" -->\n\n")
 #define WRITE_STRING(...) g_string_append_printf(outstr, __VA_ARGS__)
 
 #define READ_BOOL(_target_, _name_) read_bool_option(option, #_name_, value, &(_target_)._name_)
@@ -60,8 +60,7 @@
 #define READ_CHAR_FULL(_name_, _target_) read_char_option(option, _name_, value, &(_target_))
 #define READ_COLOR_FULL(_name_, _target_) read_color_option(option, _name_, value, &(_target_))
 
-
-
+#define READ_DUMMY(_target_, _name_, _msg_) read_dummy_option(option, #_name_, _msg_)
 
 typedef struct _GQParserFuncData GQParserFuncData;
 typedef struct _GQParserData GQParserData;
--- a/src/remote.c	Sun May 27 18:41:56 2012 +0100
+++ b/src/remote.c	Tue Oct 02 22:19:13 2012 +0100
@@ -1,7 +1,7 @@
 /*
  * Geeqie
  * (C) 2004 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * Author: John Ellis
  *
@@ -102,7 +102,7 @@
 
 		DEBUG_1("HUP detected, closing client.");
 		DEBUG_1("client count %d", g_list_length(rc->clients));
-		
+
 		g_source_remove(client->channel_id);
 		close(client->fd);
 		g_free(client);
@@ -212,14 +212,14 @@
 		}
 
 	rc = g_new0(RemoteConnection, 1);
-	
+
 	rc->server = TRUE;
 	rc->fd = fd;
 	rc->path = g_strdup(path);
 
 	channel = g_io_channel_unix_new(rc->fd);
-	g_io_channel_set_flags(channel, G_IO_FLAG_NONBLOCK, NULL); 
-	
+	g_io_channel_set_flags(channel, G_IO_FLAG_NONBLOCK, NULL);
+
 	rc->channel_id = g_io_add_watch_full(channel, G_PRIORITY_DEFAULT, G_IO_IN,
 					     remote_server_read_cb, rc, NULL);
 	g_io_channel_unref(channel);
@@ -338,7 +338,7 @@
 			ret = FALSE;
 			}
 		}
-		
+
 
 	/* restore the original signal handler */
 	sigaction(SIGPIPE, &old_action, NULL);
@@ -533,7 +533,7 @@
 {
 	gchar *filename = expand_tilde(text);
 	FileData *fd = file_data_new_group(filename);
-	
+
 	GList *work;
 	if (fd->parent) fd = fd->parent;
 
@@ -556,7 +556,7 @@
 {
 	gchar *filename = expand_tilde(text);
 	FileData *fd = file_data_new_group(filename);
-	
+
 	if (fd->change && fd->change->dest)
 		{
 		g_io_channel_write_chars(channel, fd->change->dest, -1, NULL, NULL);
@@ -932,7 +932,7 @@
 {
 	RemoteConnection *remote_connection = remote_server_open(path);
 	RemoteData *remote_data = g_new(RemoteData, 1);
-	
+
 	remote_data->command_collection = command_collection;
 
 	remote_server_subscribe(remote_connection, remote_cb, remote_data);
--- a/src/remote.h	Sun May 27 18:41:56 2012 +0100
+++ b/src/remote.h	Tue Oct 02 22:19:13 2012 +0100
@@ -1,7 +1,7 @@
 /*
  * Geeqie
  * (C) 2004 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * Author: John Ellis
  *
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/renderer-clutter.c	Tue Oct 02 22:19:13 2012 +0100
@@ -0,0 +1,894 @@
+/*
+ * Geeqie
+ * (C) 2006 John Ellis
+ * Copyright (C) 2008 - 2012 The Geeqie Team
+ *
+ * Author: John Ellis
+ * Author: Vladimir Nadvornik
+ *
+ * This software is released under the GNU General Public License (GNU GPL).
+ * Please read the included file COPYING for more information.
+ * This software comes with no warranty of any kind, use at your own risk!
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <math.h>
+
+#include "main.h"
+#include "pixbuf-renderer.h"
+#include "renderer-clutter.h"
+
+#include "intl.h"
+#include "layout.h"
+
+#include <gtk/gtk.h>
+
+#ifdef HAVE_CLUTTER
+
+/* for 3d texture */
+#define COGL_ENABLE_EXPERIMENTAL_API
+#define CLUTTER_ENABLE_EXPERIMENTAL_API
+
+#include <clutter/clutter.h>
+
+#include <clutter-gtk/clutter-gtk.h>
+
+
+
+#define GQ_BUILD 1
+
+#ifdef GQ_BUILD
+#include "main.h"
+#include "pixbuf_util.h"
+#include "exif.h"
+#else
+typedef enum {
+	EXIF_ORIENTATION_UNKNOWN	= 0,
+	EXIF_ORIENTATION_TOP_LEFT	= 1,
+	EXIF_ORIENTATION_TOP_RIGHT	= 2,
+	EXIF_ORIENTATION_BOTTOM_RIGHT	= 3,
+	EXIF_ORIENTATION_BOTTOM_LEFT	= 4,
+	EXIF_ORIENTATION_LEFT_TOP	= 5,
+	EXIF_ORIENTATION_RIGHT_TOP	= 6,
+	EXIF_ORIENTATION_RIGHT_BOTTOM	= 7,
+	EXIF_ORIENTATION_LEFT_BOTTOM	= 8
+} ExifOrientationType;
+#endif
+
+#define GET_RIGHT_PIXBUF_OFFSET(rc) \
+        (( (rc->stereo_mode & PR_STEREO_RIGHT) && !(rc->stereo_mode & PR_STEREO_SWAP)) || \
+         (!(rc->stereo_mode & PR_STEREO_RIGHT) &&  (rc->stereo_mode & PR_STEREO_SWAP)) ?  \
+          rc->pr->stereo_pixbuf_offset_right : rc->pr->stereo_pixbuf_offset_left )
+
+#define GET_LEFT_PIXBUF_OFFSET(rc) \
+        ((!(rc->stereo_mode & PR_STEREO_RIGHT) && !(rc->stereo_mode & PR_STEREO_SWAP)) || \
+         ( (rc->stereo_mode & PR_STEREO_RIGHT) &&  (rc->stereo_mode & PR_STEREO_SWAP)) ?  \
+          rc->pr->stereo_pixbuf_offset_right : rc->pr->stereo_pixbuf_offset_left )
+
+
+typedef struct _OverlayData OverlayData;
+struct _OverlayData
+{
+	gint id;
+
+	GdkPixbuf *pixbuf;
+	ClutterActor *actor;
+
+	gint x;
+	gint y;
+
+	OverlayRendererFlags flags;
+};
+
+typedef struct _RendererClutter RendererClutter;
+
+struct _RendererClutter
+{
+	RendererFuncs f;
+	PixbufRenderer *pr;
+
+
+	gint stereo_mode;
+	gint stereo_off_x;
+	gint stereo_off_y;
+
+
+	GList *pending_updates;
+	gint idle_update;
+
+	GList *overlay_list;
+
+	GtkWidget *widget; /* widget and stage may be shared with other renderers */
+	ClutterActor *stage;
+	ClutterActor *texture;
+	ClutterActor *group;
+
+	gboolean clut_updated;
+	gint64 last_pixbuf_change;
+};
+
+typedef struct _RendererClutterAreaParam RendererClutterAreaParam;
+struct _RendererClutterAreaParam {
+	RendererClutter *rc;
+	gint x;
+	gint y;
+	gint w;
+	gint h;
+};
+
+typedef struct _RendererClutterShaderInfo RendererClutterShaderInfo;
+struct _RendererClutterShaderInfo {
+	float checkersize;
+	float checkercolor0[3];
+	float checkercolor1[3];
+};
+
+#define CLUT_SIZE	32
+
+static void rc_set_shader(CoglHandle material, const RendererClutterShaderInfo *shaderInfo)
+{
+	CoglHandle shader;
+	CoglHandle program;
+	gint uniform_no;
+
+	shader = cogl_create_shader (COGL_SHADER_TYPE_FRAGMENT);
+	cogl_shader_source (shader,
+	"vec3 checker(vec2 texc, vec3 color0, vec3 color1)						\n"
+	"{																		\n"
+	"  if (mod(floor(texc.x) + floor(texc.y), 2.0) == 0.0)					\n"
+	"    return color0;														\n"
+	"  else																	\n"
+	"    return color1;														\n"
+	"}																		\n"
+	"																		\n"
+	"uniform sampler2D tex;													\n"
+	"uniform sampler3D clut;												\n"
+	"uniform float scale;													\n"
+	"uniform float offset;													\n"
+	"uniform float checkersize;												\n"
+	"uniform vec3 color0;													\n"
+	"uniform vec3 color1;													\n"
+	"																		\n"
+	"void main(void)														\n"
+	"{																		\n"
+	"    vec3 bg = checker(gl_FragCoord.xy / checkersize, color0, color1);	\n"
+	"    vec4 img4 = texture2D(tex, gl_TexCoord[0].xy);						\n"
+	"    vec3 img3 = img4.bgr;												\n"
+	"    img3 = img3 * scale + offset;										\n"
+	"    img3 = texture3D(clut, img3).rgb;									\n"
+	"																		\n"
+	"    gl_FragColor = vec4(img3 * img4.a + bg * (1.0 - img4.a), 1.0);		\n"
+	"}																		\n"
+	);
+	cogl_shader_compile(shader);
+	gchar *err = cogl_shader_get_info_log(shader);
+	DEBUG_0("%s\n",err);
+	g_free(err);
+
+	program = cogl_create_program ();
+	cogl_program_attach_shader (program, shader);
+	cogl_handle_unref (shader);
+	cogl_program_link (program);
+
+	uniform_no = cogl_program_get_uniform_location (program, "tex");
+	cogl_program_set_uniform_1i (program, uniform_no, 0);
+
+	uniform_no = cogl_program_get_uniform_location (program, "clut");
+	cogl_program_set_uniform_1i (program, uniform_no, 1);
+
+	uniform_no = cogl_program_get_uniform_location (program, "scale");
+	cogl_program_set_uniform_1f (program, uniform_no, (double) (CLUT_SIZE - 1) / CLUT_SIZE);
+
+	uniform_no = cogl_program_get_uniform_location (program, "offset");
+	cogl_program_set_uniform_1f (program, uniform_no, 1.0 / (2 * CLUT_SIZE));
+
+	uniform_no = cogl_program_get_uniform_location (program, "checkersize");
+	cogl_program_set_uniform_1f (program, uniform_no, shaderInfo->checkersize);
+
+	uniform_no = cogl_program_get_uniform_location (program, "color0");
+	cogl_program_set_uniform_float (program, uniform_no, 3, 1, shaderInfo->checkercolor0);
+
+	uniform_no = cogl_program_get_uniform_location (program, "color1");
+	cogl_program_set_uniform_float (program, uniform_no, 3, 1, shaderInfo->checkercolor1);
+
+	cogl_material_set_user_program (material, program);
+	cogl_handle_unref (program);
+}
+
+
+static void rc_prepare_post_process_lut(RendererClutter *rc)
+{
+	PixbufRenderer *pr = rc->pr;
+	static guchar clut[CLUT_SIZE * CLUT_SIZE * CLUT_SIZE * 3];
+	guint r, g, b;
+	GdkPixbuf *tmp_pixbuf;
+	CoglHandle material;
+	CoglHandle tex3d;
+
+	DEBUG_0("%s clut start", get_exec_time());
+
+	for (r = 0; r < CLUT_SIZE; r++)
+		{
+		for (g = 0; g < CLUT_SIZE; g++)
+			{
+			for (b = 0; b < CLUT_SIZE; b++)
+				{
+				guchar *ptr = clut + ((b * CLUT_SIZE + g) * CLUT_SIZE + r) * 3;
+				ptr[0] = floor ((double) r / (CLUT_SIZE - 1) * 255.0 + 0.5);
+				ptr[1] = floor ((double) g / (CLUT_SIZE - 1) * 255.0 + 0.5);
+				ptr[2] = floor ((double) b / (CLUT_SIZE - 1) * 255.0 + 0.5);
+				}
+			}
+		}
+	tmp_pixbuf = gdk_pixbuf_new_from_data(clut, GDK_COLORSPACE_RGB, FALSE, 8,
+					      CLUT_SIZE * CLUT_SIZE,
+					      CLUT_SIZE,
+					      CLUT_SIZE * CLUT_SIZE * 3,
+					      NULL, NULL);
+	if (pr->func_post_process)
+		{
+		pr->func_post_process(pr, &tmp_pixbuf, 0, 0, CLUT_SIZE * CLUT_SIZE, CLUT_SIZE, pr->post_process_user_data);
+		}
+	g_object_unref(tmp_pixbuf);
+
+	DEBUG_0("%s clut upload start", get_exec_time());
+#if CLUTTER_CHECK_VERSION(1,10,0)
+	{
+	CoglContext *ctx = clutter_backend_get_cogl_context(clutter_get_default_backend ());
+
+	tex3d = cogl_texture_3d_new_from_data(ctx,
+					      CLUT_SIZE, CLUT_SIZE, CLUT_SIZE,
+					      COGL_PIXEL_FORMAT_RGB_888,
+					      COGL_PIXEL_FORMAT_RGB_888,
+					      CLUT_SIZE * 3,
+					      CLUT_SIZE * CLUT_SIZE * 3,
+					      clut,
+					      NULL);
+	}
+#else
+	tex3d = cogl_texture_3d_new_from_data(CLUT_SIZE, CLUT_SIZE, CLUT_SIZE,
+					      COGL_TEXTURE_NONE,
+					      COGL_PIXEL_FORMAT_RGB_888,
+					      COGL_PIXEL_FORMAT_RGB_888,
+					      CLUT_SIZE * 3,
+					      CLUT_SIZE * CLUT_SIZE * 3,
+					      clut,
+					      NULL);
+#endif
+	material = clutter_texture_get_cogl_material(CLUTTER_TEXTURE(rc->texture));
+	cogl_material_set_layer(material, 1, tex3d);
+	cogl_handle_unref(tex3d);
+	DEBUG_0("%s clut end", get_exec_time());
+	rc->clut_updated = TRUE;
+}
+
+
+
+static void rc_sync_actor(RendererClutter *rc)
+{
+	PixbufRenderer *pr = rc->pr;
+	gint anchor_x = 0;
+	gint anchor_y = 0;
+	gint rot_z = 0;
+	gint rot_y = 0;
+
+	clutter_actor_set_anchor_point(CLUTTER_ACTOR(rc->texture), 0, 0);
+
+	DEBUG_0("scale %d %d", rc->pr->width, rc->pr->height);
+	DEBUG_0("pos   %d %d", rc->pr->x_offset, rc->pr->y_offset);
+
+	clutter_actor_set_scale(CLUTTER_ACTOR(rc->texture),
+			        (gfloat)pr->width / pr->image_width,
+			        (gfloat)pr->height / pr->image_height);
+
+	switch (pr->orientation)
+		{
+		case EXIF_ORIENTATION_TOP_LEFT:
+			/* 1 - Horizontal (normal)  */
+			break;
+		case EXIF_ORIENTATION_TOP_RIGHT:
+			/* 2 - Mirror horizontal */
+			rot_y = 180;
+			anchor_x = pr->width;
+			break;
+		case EXIF_ORIENTATION_BOTTOM_RIGHT:
+			/* 3 - Rotate 180 */
+			rot_z = 180;
+			anchor_x = pr->width;
+			anchor_y = pr->height;
+			break;
+		case EXIF_ORIENTATION_BOTTOM_LEFT:
+			/* 4 - Mirror vertical */
+			rot_z = 180;
+			rot_y = 180;
+			anchor_y = pr->height;
+			break;
+		case EXIF_ORIENTATION_LEFT_TOP:
+			/* 5 - Mirror horizontal and rotate 270 CW */
+			rot_z = 270;
+			rot_y = 180;
+			break;
+		case EXIF_ORIENTATION_RIGHT_TOP:
+			/* 6 - Rotate 90 CW */
+			rot_z = 90;
+			anchor_x = pr->width;
+			break;
+		case EXIF_ORIENTATION_RIGHT_BOTTOM:
+			/* 7 - Mirror horizontal and rotate 90 CW */
+			rot_z = 90;
+			rot_y = 180;
+			anchor_x = pr->width;
+			anchor_y = pr->height;
+			break;
+		case EXIF_ORIENTATION_LEFT_BOTTOM:
+			/* 8 - Rotate 270 CW */
+			rot_z = 270;
+			anchor_y = pr->height;
+			break;
+		default:
+			/* The other values are out of range */
+			break;
+		}
+
+	clutter_actor_set_rotation(	CLUTTER_ACTOR(rc->texture),
+								CLUTTER_Z_AXIS,
+								rot_z, 0, 0, 0);
+	clutter_actor_set_rotation(	CLUTTER_ACTOR(rc->texture),
+								CLUTTER_Y_AXIS,
+								rot_y, 0, 0, 0);
+
+	clutter_actor_set_position(CLUTTER_ACTOR(rc->texture),
+				pr->x_offset - pr->x_scroll + anchor_x,
+				pr->y_offset - pr->y_scroll + anchor_y);
+
+}
+
+
+static void rc_area_clip_add(RendererClutter *rc, gfloat x, gfloat y, gfloat w, gfloat h)
+{
+	gfloat x2, y2;
+	gfloat clip_x, clip_y, clip_w, clip_h, clip_x2, clip_y2;
+
+	x2 = x + w;
+	y2 = y + h;
+
+	clutter_actor_get_clip(rc->texture, &clip_x, &clip_y, &clip_w, &clip_h);
+
+	clip_x2 = clip_x + clip_w;
+	clip_y2 = clip_y + clip_h;
+
+	if (clip_x > x) clip_x = x;
+	if (clip_x2 < x2) clip_x2 = x2;
+	if (clip_y > y) clip_y = y;
+	if (clip_y2 < y2) clip_y2 = y2;
+
+	clip_w = clip_x2 - clip_x;
+	clip_h = clip_y2 - clip_y;
+
+	clutter_actor_set_clip(rc->texture, clip_x, clip_y, clip_w, clip_h);
+}
+
+#define MAX_REGION_AREA (32768 * 1024)
+
+static gboolean rc_area_changed_cb(gpointer data);
+
+static void rc_schedule_texture_upload(RendererClutter *rc)
+{
+	if (g_get_monotonic_time() - rc->last_pixbuf_change < 50000)
+		{
+		/* delay clutter redraw until the texture has some data
+		   set priority between gtk redraw and clutter redraw */
+		DEBUG_0("%s tex upload high prio", get_exec_time());
+		rc->idle_update = g_idle_add_full(CLUTTER_PRIORITY_REDRAW - 10, rc_area_changed_cb, rc, NULL);
+		}
+	else
+		{
+		/* higher prio than histogram */
+		DEBUG_0("%s tex upload low prio", get_exec_time());
+
+		rc->idle_update = g_idle_add_full(G_PRIORITY_DEFAULT_IDLE - 5, rc_area_changed_cb, rc, NULL);
+		}
+}
+
+static gboolean rc_area_changed_cb(gpointer data)
+{
+	RendererClutter *rc = (RendererClutter *)data;
+	PixbufRenderer *pr = rc->pr;
+
+	RendererClutterAreaParam *par = rc->pending_updates->data;
+
+	gint h = MAX_REGION_AREA / par->w;
+	if (h == 0) h = 1;
+	if (h > par->h) h = par->h;
+
+
+	DEBUG_0("%s upload start", get_exec_time());
+	if (pr->pixbuf)
+		{
+		CoglHandle texture = clutter_texture_get_cogl_texture(CLUTTER_TEXTURE(rc->texture));
+
+		cogl_texture_set_region(texture,
+					par->x + GET_RIGHT_PIXBUF_OFFSET(rc),
+					par->y,
+					par->x,
+					par->y,
+					par->w,
+					h,
+					par->w,
+					h,
+					gdk_pixbuf_get_has_alpha(pr->pixbuf) ? COGL_PIXEL_FORMAT_BGRA_8888 : COGL_PIXEL_FORMAT_BGR_888,
+					gdk_pixbuf_get_rowstride(pr->pixbuf),
+					gdk_pixbuf_get_pixels(pr->pixbuf));
+		}
+	DEBUG_0("%s upload end", get_exec_time());
+	rc_area_clip_add(rc, par->x, par->y, par->w, h);
+
+
+	par->y += h;
+	par->h -= h;
+
+	if (par->h == 0)
+		{
+		rc->pending_updates = g_list_remove(rc->pending_updates, par);
+		g_free(par);
+		}
+	if (!rc->pending_updates)
+		{
+		clutter_actor_queue_redraw(CLUTTER_ACTOR(rc->texture));
+		rc->idle_update = 0;
+
+		/* FIXME: find a better place for this */
+		if (!rc->clut_updated) rc_prepare_post_process_lut(rc);
+
+		return FALSE;
+		}
+
+	rc_schedule_texture_upload(rc);
+
+	return FALSE; /* it was rescheduled, possibly with different prio */
+}
+
+
+static void rc_area_changed(void *renderer, gint src_x, gint src_y, gint src_w, gint src_h)
+{
+	RendererClutter *rc = (RendererClutter *)renderer;
+	PixbufRenderer *pr = rc->pr;
+	RendererClutterAreaParam *par;
+
+	gint width = gdk_pixbuf_get_width(pr->pixbuf);
+	gint height = gdk_pixbuf_get_height(pr->pixbuf);
+
+	if (pr->stereo_data == STEREO_PIXBUF_SBS || pr->stereo_data == STEREO_PIXBUF_CROSS)
+			{
+			width /= 2;
+			}
+
+	if (!pr_clip_region(src_x, src_y, src_w, src_h,
+						GET_RIGHT_PIXBUF_OFFSET(rc), 0, width, height,
+						&src_x, &src_y, &src_w, &src_h)) return;
+
+	par = g_new0(RendererClutterAreaParam, 1);
+	par->rc = rc;
+	par->x = src_x - GET_RIGHT_PIXBUF_OFFSET(rc);
+	par->y = src_y;
+	par->w = src_w;
+	par->h = src_h;
+	rc->pending_updates = g_list_append(rc->pending_updates, par);
+	if (!rc->idle_update)
+		{
+		rc_schedule_texture_upload(rc);
+		}
+}
+
+static void rc_remove_pending_updates(RendererClutter *rc)
+{
+	if (rc->idle_update) g_idle_remove_by_data(rc);
+	rc->idle_update = 0;
+	while (rc->pending_updates)
+		{
+		RendererClutterAreaParam *par = rc->pending_updates->data;
+		rc->pending_updates = g_list_remove(rc->pending_updates, par);
+		g_free(par);
+		}
+}
+
+static void rc_update_pixbuf(void *renderer, gboolean lazy)
+{
+	RendererClutter *rc = (RendererClutter *)renderer;
+	PixbufRenderer *pr = rc->pr;
+
+	DEBUG_0("rc_update_pixbuf");
+
+	rc_remove_pending_updates(rc);
+
+	rc->last_pixbuf_change = g_get_monotonic_time();
+	DEBUG_0("%s change time reset", get_exec_time());
+
+	if (pr->pixbuf)
+		{
+		gint width = gdk_pixbuf_get_width(pr->pixbuf);
+		gint height = gdk_pixbuf_get_height(pr->pixbuf);
+
+		DEBUG_0("pixbuf size %d x %d (%d)", width, height, gdk_pixbuf_get_has_alpha(pr->pixbuf) ? 32 : 24);
+
+		gint prev_width, prev_height;
+
+		if (pr->stereo_data == STEREO_PIXBUF_SBS || pr->stereo_data == STEREO_PIXBUF_CROSS)
+			{
+			width /= 2;
+			}
+
+
+		clutter_texture_get_base_size(CLUTTER_TEXTURE(rc->texture), &prev_width, &prev_height);
+
+		if (width != prev_width || height != prev_height)
+			{
+			/* FIXME use CoglMaterial with multiple textures for background, color management, anaglyph, ... */
+			CoglHandle texture = cogl_texture_new_with_size(width,
+									height,
+									COGL_TEXTURE_NO_AUTO_MIPMAP | COGL_TEXTURE_NO_SLICING,
+									gdk_pixbuf_get_has_alpha(pr->pixbuf) ? COGL_PIXEL_FORMAT_BGRA_8888 : COGL_PIXEL_FORMAT_BGR_888);
+
+			if (texture != COGL_INVALID_HANDLE)
+				{
+				clutter_texture_set_cogl_texture(CLUTTER_TEXTURE(rc->texture), texture);
+				cogl_handle_unref(texture);
+				}
+			}
+		clutter_actor_set_clip(rc->texture, 0, 0, 0, 0); /* visible area is extended as area_changed events arrive */
+		if (!lazy)
+			{
+			rc_area_changed(renderer, GET_RIGHT_PIXBUF_OFFSET(rc), 0, width, height);
+			}
+		}
+
+	rc->clut_updated = FALSE;
+}
+
+
+
+static void rc_update_zoom(void *renderer, gboolean lazy)
+{
+	RendererClutter *rc = (RendererClutter *)renderer;
+
+	DEBUG_0("rc_update_zoom");
+	rc_sync_actor(rc);
+}
+
+static void rc_invalidate_region(void *renderer, gint x, gint y, gint w, gint h)
+{
+}
+
+static OverlayData *rc_overlay_find(RendererClutter *rc, gint id)
+{
+	GList *work;
+
+	work = rc->overlay_list;
+	while (work)
+		{
+		OverlayData *od = work->data;
+		work = work->next;
+
+		if (od->id == id) return od;
+		}
+
+	return NULL;
+}
+
+static void rc_overlay_actor_destroy_cb(ClutterActor *actor, gpointer user_data)
+{
+	OverlayData *od = user_data;
+	od->actor = NULL;
+}
+
+static void rc_overlay_free(RendererClutter *rc, OverlayData *od)
+{
+	rc->overlay_list = g_list_remove(rc->overlay_list, od);
+
+	if (od->pixbuf) g_object_unref(G_OBJECT(od->pixbuf));
+	if (od->actor) clutter_actor_destroy(od->actor);
+	g_free(od);
+}
+
+static void rc_overlay_update_position(RendererClutter *rc, OverlayData *od)
+{
+	gint px, py, pw, ph;
+
+	pw = gdk_pixbuf_get_width(od->pixbuf);
+	ph = gdk_pixbuf_get_height(od->pixbuf);
+	px = od->x;
+	py = od->y;
+
+	if (od->flags & OVL_RELATIVE)
+		{
+		if (px < 0) px = rc->pr->viewport_width - pw + px;
+		if (py < 0) py = rc->pr->viewport_height - ph + py;
+		}
+	if (od->actor) clutter_actor_set_position(od->actor, px, py);
+}
+
+static void rc_overlay_update_positions(RendererClutter *rc)
+{
+	GList *work;
+
+	work = rc->overlay_list;
+	while (work)
+		{
+		OverlayData *od = work->data;
+		work = work->next;
+
+		rc_overlay_update_position(rc, od);
+		}
+}
+
+static void rc_overlay_free_all(RendererClutter *rc)
+{
+	GList *work;
+
+	work = rc->overlay_list;
+	while (work)
+		{
+		OverlayData *od = work->data;
+		work = work->next;
+
+		rc_overlay_free(rc, od);
+		}
+}
+
+static gint rc_overlay_add(void *renderer, GdkPixbuf *pixbuf, gint x, gint y, OverlayRendererFlags flags)
+{
+	RendererClutter *rc = (RendererClutter *)renderer;
+	PixbufRenderer *pr = rc->pr;
+	OverlayData *od;
+	gint id;
+
+	g_return_val_if_fail(IS_PIXBUF_RENDERER(pr), -1);
+	g_return_val_if_fail(pixbuf != NULL, -1);
+
+	id = 1;
+	while (rc_overlay_find(rc, id)) id++;
+
+	od = g_new0(OverlayData, 1);
+	od->id = id;
+	od->pixbuf = pixbuf;
+	g_object_ref(G_OBJECT(od->pixbuf));
+	od->x = x;
+	od->y = y;
+	od->flags = flags;
+
+	od->actor = gtk_clutter_texture_new();
+	g_signal_connect (od->actor, "destroy", G_CALLBACK(rc_overlay_actor_destroy_cb), od);
+
+	gtk_clutter_texture_set_from_pixbuf(GTK_CLUTTER_TEXTURE (od->actor), pixbuf, NULL);
+	clutter_container_add_actor(CLUTTER_CONTAINER(rc->group), od->actor);
+
+	rc->overlay_list = g_list_append(rc->overlay_list, od);
+	rc_overlay_update_position(rc, od);
+
+	return od->id;
+}
+
+static void rc_overlay_set(void *renderer, gint id, GdkPixbuf *pixbuf, gint x, gint y)
+{
+	RendererClutter *rc = (RendererClutter *)renderer;
+	PixbufRenderer *pr = rc->pr;
+	OverlayData *od;
+
+	g_return_if_fail(IS_PIXBUF_RENDERER(pr));
+
+	od = rc_overlay_find(rc, id);
+	if (!od) return;
+
+	if (pixbuf)
+		{
+		g_object_ref(G_OBJECT(pixbuf));
+		g_object_unref(G_OBJECT(od->pixbuf));
+		od->pixbuf = pixbuf;
+
+		od->x = x;
+		od->y = y;
+
+		if (od->actor) gtk_clutter_texture_set_from_pixbuf(GTK_CLUTTER_TEXTURE(od->actor), pixbuf, NULL);
+		rc_overlay_update_position(rc, od);
+		}
+	else
+		{
+		rc_overlay_free(rc, od);
+		}
+}
+
+static gboolean rc_overlay_get(void *renderer, gint id, GdkPixbuf **pixbuf, gint *x, gint *y)
+{
+	RendererClutter *rc = (RendererClutter *)renderer;
+
+	PixbufRenderer *pr = rc->pr;
+	OverlayData *od;
+
+	g_return_val_if_fail(IS_PIXBUF_RENDERER(pr), FALSE);
+
+	od = rc_overlay_find(rc, id);
+	if (!od) return FALSE;
+
+	if (pixbuf) *pixbuf = od->pixbuf;
+	if (x) *x = od->x;
+	if (y) *y = od->y;
+
+	return TRUE;
+}
+
+
+static void rc_update_viewport(void *renderer)
+{
+	RendererClutter *rc = (RendererClutter *)renderer;
+	ClutterColor stage_color = { 0x00, 0x00, 0x00, 0xff };
+
+	rc->stereo_off_x = 0;
+	rc->stereo_off_y = 0;
+
+	if (rc->stereo_mode & PR_STEREO_RIGHT)
+		{
+		if (rc->stereo_mode & PR_STEREO_HORIZ)
+			{
+			rc->stereo_off_x = rc->pr->viewport_width;
+			}
+		else if (rc->stereo_mode & PR_STEREO_VERT)
+			{
+			rc->stereo_off_y = rc->pr->viewport_height;
+			}
+		else if (rc->stereo_mode & PR_STEREO_FIXED)
+			{
+			rc->stereo_off_x = rc->pr->stereo_fixed_x_right;
+			rc->stereo_off_y = rc->pr->stereo_fixed_y_right;
+			}
+		}
+	else
+		{
+		if (rc->stereo_mode & PR_STEREO_FIXED)
+			{
+			rc->stereo_off_x = rc->pr->stereo_fixed_x_left;
+			rc->stereo_off_y = rc->pr->stereo_fixed_y_left;
+			}
+		}
+	DEBUG_0("rc_update_viewport  scale %d %d", rc->pr->width, rc->pr->height);
+
+	clutter_stage_set_color(CLUTTER_STAGE(rc->stage), &stage_color);
+
+
+	clutter_actor_set_size(rc->group, rc->pr->viewport_width, rc->pr->viewport_height);
+	clutter_actor_set_position(rc->group, rc->stereo_off_x, rc->stereo_off_y);
+
+	clutter_actor_set_rotation(CLUTTER_ACTOR(rc->group),
+						CLUTTER_Y_AXIS,
+						(rc->stereo_mode & PR_STEREO_MIRROR) ? 180 : 0,
+						rc->pr->viewport_width / 2.0, 0, 0);
+
+	clutter_actor_set_rotation(CLUTTER_ACTOR(rc->group),
+						CLUTTER_X_AXIS,
+						(rc->stereo_mode & PR_STEREO_FLIP) ? 180 : 0,
+						0, rc->pr->viewport_height / 2.0, 0);
+
+	rc_sync_actor(rc);
+	rc_overlay_update_positions(rc);
+}
+
+static void rc_scroll(void *renderer, gint x_off, gint y_off)
+{
+	DEBUG_0("rc_scroll");
+	RendererClutter *rc = (RendererClutter *)renderer;
+
+	rc_sync_actor(rc);
+}
+
+static void rc_stereo_set(void *renderer, gint stereo_mode)
+{
+	RendererClutter *rc = (RendererClutter *)renderer;
+
+	rc->stereo_mode = stereo_mode;
+}
+
+static void rc_free(void *renderer)
+{
+	RendererClutter *rc = (RendererClutter *)renderer;
+	GtkWidget *widget = gtk_bin_get_child(GTK_BIN(rc->pr));
+
+	rc_remove_pending_updates(rc);
+
+	rc_overlay_free_all(rc);
+
+	if (widget)
+		{
+		/* widget still exists */
+		clutter_actor_destroy(rc->group);
+		if (clutter_group_get_n_children(CLUTTER_GROUP(rc->stage)) == 0)
+			{
+			DEBUG_1("destroy %p", rc->widget);
+			/* this was the last user */
+			gtk_widget_destroy(rc->widget);
+			}
+		else
+			{
+			DEBUG_1("keep %p", rc->widget);
+			g_object_unref(G_OBJECT(rc->widget));
+			}
+		}
+	g_free(rc);
+}
+
+/* initialize shader for transparency background checker */
+static void renderer_clutter_init_checker_shader(RendererClutter *rc)
+{
+	const RendererClutterShaderInfo info = {
+		16.0,				/* checker size */
+		{0.6, 0.6, 0.6}, 	/* color 0 */
+		{0.4, 0.4, 0.4}  	/* color 1 */
+	};
+	rc_set_shader(clutter_texture_get_cogl_material(CLUTTER_TEXTURE(rc->texture)), &info);
+}
+
+RendererFuncs *renderer_clutter_new(PixbufRenderer *pr)
+{
+	RendererClutter *rc = g_new0(RendererClutter, 1);
+
+	rc->pr = pr;
+
+	rc->f.area_changed = rc_area_changed;
+	rc->f.update_pixbuf = rc_update_pixbuf;
+	rc->f.free = rc_free;
+	rc->f.update_zoom = rc_update_zoom;
+	rc->f.invalidate_region = rc_invalidate_region;
+	rc->f.scroll = rc_scroll;
+	rc->f.update_viewport = rc_update_viewport;
+
+
+	rc->f.overlay_add = rc_overlay_add;
+	rc->f.overlay_set = rc_overlay_set;
+	rc->f.overlay_get = rc_overlay_get;
+
+	rc->f.stereo_set = rc_stereo_set;
+
+
+	rc->stereo_mode = 0;
+	rc->stereo_off_x = 0;
+	rc->stereo_off_y = 0;
+
+	rc->idle_update = 0;
+	rc->pending_updates = NULL;
+
+	rc->widget = gtk_bin_get_child(GTK_BIN(rc->pr));
+
+	if (rc->widget)
+		{
+		if (!GTK_CLUTTER_IS_EMBED(rc->widget))
+			{
+			g_free(rc);
+			DEBUG_0("pixbuf renderer has a child of other type than gtk_clutter_embed");
+			return NULL;
+			}
+		}
+	else
+		{
+		rc->widget = gtk_clutter_embed_new();
+		gtk_container_add(GTK_CONTAINER(rc->pr), rc->widget);
+		}
+
+	gtk_event_box_set_above_child (GTK_EVENT_BOX(rc->pr), TRUE);
+	rc->stage = gtk_clutter_embed_get_stage (GTK_CLUTTER_EMBED (rc->widget));
+
+	rc->group = clutter_group_new();
+	clutter_container_add_actor(CLUTTER_CONTAINER(rc->stage), rc->group);
+	clutter_actor_set_clip_to_allocation(CLUTTER_ACTOR(rc->group), TRUE);
+
+	rc->texture = clutter_texture_new ();
+	clutter_container_add_actor(CLUTTER_CONTAINER(rc->group), rc->texture);
+
+	renderer_clutter_init_checker_shader(rc);
+	g_object_ref(G_OBJECT(rc->widget));
+
+	gtk_widget_show(rc->widget);
+	return (RendererFuncs *) rc;
+}
+
+#endif
+/* vim: set shiftwidth=8 softtabstop=0 cindent cinoptions={1s: */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/renderer-clutter.h	Tue Oct 02 22:19:13 2012 +0100
@@ -0,0 +1,24 @@
+/*
+ * Geeqie
+ * (C) 2006 John Ellis
+ * Copyright (C) 2008 - 2012 The Geeqie Team
+ *
+ * Author: John Ellis
+ *
+ * This software is released under the GNU General Public License (GNU GPL).
+ * Please read the included file COPYING for more information.
+ * This software comes with no warranty of any kind, use at your own risk!
+ */
+
+#ifndef RENDERER_CLUTTER_H
+#define RENDERER_CLUTTER_H
+
+#ifdef HAVE_CLUTTER
+#include <pixbuf-renderer.h>
+
+
+RendererFuncs *renderer_clutter_new(PixbufRenderer *pr);
+
+#endif
+#endif
+/* vim: set shiftwidth=8 softtabstop=0 cindent cinoptions={1s: */
--- a/src/renderer-tiles.c	Sun May 27 18:41:56 2012 +0100
+++ b/src/renderer-tiles.c	Tue Oct 02 22:19:13 2012 +0100
@@ -1,7 +1,7 @@
 /*
  * Geeqie
  * (C) 2006 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * Author: John Ellis
  * Author: Vladimir Nadvornik
@@ -59,7 +59,7 @@
 
 struct _ImageTile
 {
-	GdkPixmap *pixmap;	/* off screen buffer */
+	cairo_surface_t *surface;	/* off screen buffer */
 	GdkPixbuf *pixbuf;	/* pixbuf area for zooming */
 	gint x;			/* x offset into image */
 	gint y;			/* y offset into image */
@@ -126,19 +126,19 @@
 	GList *draw_queue_2pass;/* list when 2 pass is enabled */
 
 	GList *overlay_list;
-	GdkPixmap *overlay_buffer;
-	
+	cairo_surface_t *overlay_buffer;
+
 	guint draw_idle_id; /* event source id */
 
 	GdkPixbuf *spare_tile;
-	
+
 	gint stereo_mode;
 	gint stereo_off_x;
 	gint stereo_off_y;
-	
+
 	gint x_scroll;  /* allow local adjustment and mirroring */
 	gint y_scroll;
-	
+
 };
 
 
@@ -157,8 +157,6 @@
 
 static void rt_hierarchy_changed_cb(GtkWidget *widget, GtkWidget *previous_toplevel, gpointer data);
 static gint rt_queue_draw_idle_cb(gpointer data);
-static void renderer_redraw(void *renderer, gint x, gint y, gint w, gint h,
-                     gint clamp, ImageRenderType render, gboolean new_data, gboolean only_existing);
 
 #define GET_RIGHT_PIXBUF_OFFSET(rt) \
         (( (rt->stereo_mode & PR_STEREO_RIGHT) && !(rt->stereo_mode & PR_STEREO_SWAP)) || \
@@ -174,13 +172,13 @@
 static void rt_sync_scroll(RendererTiles *rt)
 {
 	PixbufRenderer *pr = rt->pr;
-	
-	rt->x_scroll = (rt->stereo_mode & PR_STEREO_MIRROR) ? 
-	               pr->width - pr->vis_width - pr->x_scroll 
+
+	rt->x_scroll = (rt->stereo_mode & PR_STEREO_MIRROR) ?
+	               pr->width - pr->vis_width - pr->x_scroll
 	               : pr->x_scroll;
-	
-	rt->y_scroll = (rt->stereo_mode & PR_STEREO_FLIP) ? 
-	               pr->height - pr->vis_height - pr->y_scroll 
+
+	rt->y_scroll = (rt->stereo_mode & PR_STEREO_FLIP) ?
+	               pr->height - pr->vis_height - pr->y_scroll
 	               : pr->y_scroll;
 }
 
@@ -194,11 +192,17 @@
 {
 	PixbufRenderer *pr = rt->pr;
 	GtkWidget *box;
+	GdkWindow *window;
 	gint rx, ry, rw, rh;
+	cairo_t *cr;
 
 	box = GTK_WIDGET(pr);
+	window = gtk_widget_get_window(box);
 
-	if (!box->window) return;
+	if (!window) return;
+
+	cr = gdk_cairo_create(window);
+
 
 	if (!pr->pixbuf && !pr->source_tiles_enabled)
 		{
@@ -207,7 +211,10 @@
 				   pr->viewport_width, pr->viewport_height,
 				   &rx, &ry, &rw, &rh))
 			{
-			gdk_window_clear_area(box->window, rx + rt->stereo_off_x, ry + rt->stereo_off_y, rw, rh);
+			cairo_set_source_rgb(cr, 0, 0, 0);
+			cairo_rectangle(cr, rx + rt->stereo_off_x, ry + rt->stereo_off_y, rw, rh);
+			cairo_fill(cr);
+			cairo_destroy(cr);
 			rt_overlay_draw(rt, rx, ry, rw, rh, NULL);
 			}
 		return;
@@ -221,7 +228,9 @@
 				   pr->x_offset, pr->viewport_height,
 				   &rx, &ry, &rw, &rh))
 			{
-			gdk_window_clear_area(box->window, rx + rt->stereo_off_x, ry + rt->stereo_off_y, rw, rh);
+			cairo_set_source_rgb(cr, 0, 0, 0);
+			cairo_rectangle(cr, rx + rt->stereo_off_x, ry + rt->stereo_off_y, rw, rh);
+			cairo_fill(cr);
 			rt_overlay_draw(rt, rx, ry, rw, rh, NULL);
 			}
 		if (pr->viewport_width - pr->vis_width - pr->x_offset > 0 &&
@@ -230,7 +239,9 @@
 				   pr->viewport_width - pr->vis_width - pr->x_offset, pr->viewport_height,
 				   &rx, &ry, &rw, &rh))
 			{
-			gdk_window_clear_area(box->window, rx + rt->stereo_off_x, ry + rt->stereo_off_y, rw, rh);
+			cairo_set_source_rgb(cr, 0, 0, 0);
+			cairo_rectangle(cr, rx + rt->stereo_off_x, ry + rt->stereo_off_y, rw, rh);
+			cairo_fill(cr);
 			rt_overlay_draw(rt, rx, ry, rw, rh, NULL);
 			}
 		}
@@ -242,7 +253,9 @@
 				   pr->vis_width, pr->y_offset,
 				   &rx, &ry, &rw, &rh))
 			{
-			gdk_window_clear_area(box->window, rx + rt->stereo_off_x, ry + rt->stereo_off_y, rw, rh);
+			cairo_set_source_rgb(cr, 0, 0, 0);
+			cairo_rectangle(cr, rx + rt->stereo_off_x, ry + rt->stereo_off_y, rw, rh);
+			cairo_fill(cr);
 			rt_overlay_draw(rt, rx, ry, rw, rh, NULL);
 			}
 		if (pr->viewport_height - pr->vis_height - pr->y_offset > 0 &&
@@ -251,10 +264,13 @@
 				   pr->vis_width, pr->viewport_height - pr->vis_height - pr->y_offset,
 				   &rx, &ry, &rw, &rh))
 			{
-			gdk_window_clear_area(box->window, rx + rt->stereo_off_x, ry + rt->stereo_off_y, rw, rh);
+			cairo_set_source_rgb(cr, 0, 0, 0);
+			cairo_rectangle(cr, rx + rt->stereo_off_x, ry + rt->stereo_off_y, rw, rh);
+			cairo_fill(cr);
 			rt_overlay_draw(rt, rx, ry, rw, rh, NULL);
 			}
 		}
+	cairo_destroy(cr);
 }
 
 static void rt_border_clear(RendererTiles *rt)
@@ -291,7 +307,7 @@
 	if (!it) return;
 
 	if (it->pixbuf) g_object_unref(it->pixbuf);
-	if (it->pixmap) g_object_unref(it->pixmap);
+	if (it->surface) cairo_surface_destroy(it->surface);
 
 	g_free(it);
 }
@@ -466,29 +482,31 @@
 	return rt_tile_add(rt, x, y);
 }
 
-static gint pixmap_calc_size(GdkPixmap *pixmap)
+static gint pixmap_calc_size(cairo_surface_t *surface)
 {
-	gint w, h, d;
+//	gint w, h, d;
 
-	d = gdk_drawable_get_depth(pixmap);
-	gdk_drawable_get_size(pixmap, &w, &h);
-	return w * h * (d / 8);
+//	d = gdk_drawable_get_depth(pixmap);
+//	gdk_drawable_get_size(pixmap, &w, &h);
+	return PR_TILE_SIZE * PR_TILE_SIZE * 4 / 8;
 }
 
 static void rt_tile_prepare(RendererTiles *rt, ImageTile *it)
 {
 	PixbufRenderer *pr = rt->pr;
-	if (!it->pixmap)
+	if (!it->surface)
 		{
-		GdkPixmap *pixmap;
+		cairo_surface_t *surface;
 		guint size;
 
-		pixmap = gdk_pixmap_new(((GtkWidget *)pr)->window, rt->tile_width, rt->tile_height, -1);
+		surface = gdk_window_create_similar_surface(gtk_widget_get_window((GtkWidget *)pr),
+		                                            CAIRO_CONTENT_COLOR,
+		                                            rt->tile_width, rt->tile_height);
 
-		size = pixmap_calc_size(pixmap);
+		size = pixmap_calc_size(surface);
 		rt_tile_free_space(rt, size, it);
 
-		it->pixmap = pixmap;
+		it->surface = surface;
 		it->size += size;
 		rt->tile_cache_size += size;
 		}
@@ -553,7 +571,7 @@
 	attributes.event_mask = GDK_EXPOSURE_MASK;
 	attributes_mask = 0;
 
-	od->window = gdk_window_new(GTK_WIDGET(pr)->window, &attributes, attributes_mask);
+	od->window = gdk_window_new(gtk_widget_get_window(GTK_WIDGET(pr)), &attributes, attributes_mask);
 	gdk_window_set_user_data(od->window, pr);
 	gdk_window_move(od->window, px + rt->stereo_off_x, py + rt->stereo_off_y);
 	gdk_window_show(od->window);
@@ -563,11 +581,8 @@
 			    ImageTile *it)
 {
 	PixbufRenderer *pr = rt->pr;
-	GtkWidget *box;
 	GList *work;
 
-	box = GTK_WIDGET(pr);
-
 	work = rt->overlay_list;
 	while (work)
 		{
@@ -579,44 +594,35 @@
 		work = work->next;
 
 		if (!od->window) rt_overlay_init_window(rt, od);
-		
+
 		rt_overlay_get_position(rt, od, &px, &py, &pw, &ph);
 		if (pr_clip_region(x, y, w, h, px, py, pw, ph, &rx, &ry, &rw, &rh))
 			{
 			if (!rt->overlay_buffer)
 				{
-				rt->overlay_buffer = gdk_pixmap_new(((GtkWidget *)pr)->window, rt->tile_width, rt->tile_height, -1);
+				rt->overlay_buffer = gdk_window_create_similar_surface(gtk_widget_get_window((GtkWidget *)pr),
+		                                            CAIRO_CONTENT_COLOR,
+		                                            rt->tile_width, rt->tile_height);
 				}
 
 			if (it)
 				{
-#if GTK_CHECK_VERSION(2,20,0)
-				gdk_draw_drawable(rt->overlay_buffer, box->style->fg_gc[gtk_widget_get_state(box)],
-#else
-				gdk_draw_drawable(rt->overlay_buffer, box->style->fg_gc[GTK_WIDGET_STATE(box)],
-#endif
-						  it->pixmap,
-						  rx - (pr->x_offset + (it->x - rt->x_scroll)),
-						  ry - (pr->y_offset + (it->y - rt->y_scroll)),
-						  0, 0, rw, rh);
-				gdk_draw_pixbuf(rt->overlay_buffer,
-#if GTK_CHECK_VERSION(2,20,0)
-						box->style->fg_gc[gtk_widget_get_state(box)],
-#else
-						box->style->fg_gc[GTK_WIDGET_STATE(box)],
-#endif
-						od->pixbuf,
-						rx - px, ry - py,
-						0, 0, rw, rh,
-						pr->dither_quality, rx, ry);
-#if GTK_CHECK_VERSION(2,20,0)
-				gdk_draw_drawable(od->window, box->style->fg_gc[gtk_widget_get_state(box)],
-#else
-				gdk_draw_drawable(od->window, box->style->fg_gc[GTK_WIDGET_STATE(box)],
-#endif
-						  rt->overlay_buffer,
-						  0, 0,
-						  rx - px, ry - py, rw, rh);
+				cairo_t *cr;
+
+				cr = cairo_create(rt->overlay_buffer);
+				cairo_set_source_surface(cr, it->surface, (pr->x_offset + (it->x - rt->x_scroll)) - rx, (pr->y_offset + (it->y - rt->y_scroll)) - ry);
+				cairo_rectangle(cr, 0, 0, rw, rh);
+				cairo_fill_preserve(cr);
+
+				gdk_cairo_set_source_pixbuf(cr, od->pixbuf, px - rx, py - ry);
+				cairo_fill (cr);
+				cairo_destroy (cr);
+
+				cr = gdk_cairo_create(od->window);
+				cairo_set_source_surface(cr, rt->overlay_buffer, rx - px, ry - py);
+				cairo_rectangle (cr, rx - px, ry - py, rw, rh);
+				cairo_fill (cr);
+				cairo_destroy (cr);
 				}
 			else
 				{
@@ -627,35 +633,25 @@
 				    for (sy = ry; sy < ry + rh; sy += rt->tile_height)
 					{
 					gint sw, sh;
+					cairo_t *cr;
 
 					sw = MIN(rx + rw - sx, rt->tile_width);
 					sh = MIN(ry + rh - sy, rt->tile_height);
 
-					gdk_draw_rectangle(rt->overlay_buffer,
-#if GTK_CHECK_VERSION(2,20,0)
-							   box->style->bg_gc[gtk_widget_get_state(box)], TRUE,
-#else
-							   box->style->bg_gc[GTK_WIDGET_STATE(box)], TRUE,
-#endif
-							   0, 0, sw, sh);
-					gdk_draw_pixbuf(rt->overlay_buffer,
-#if GTK_CHECK_VERSION(2,20,0)
-							box->style->fg_gc[gtk_widget_get_state(box)],
-#else
-							box->style->fg_gc[GTK_WIDGET_STATE(box)],
-#endif
-							od->pixbuf,
-							sx - px, sy - py,
-							0, 0, sw, sh,
-							pr->dither_quality, sx, sy);
-#if GTK_CHECK_VERSION(2,20,0)
-					gdk_draw_drawable(od->window, box->style->fg_gc[gtk_widget_get_state(box)],
-#else
-					gdk_draw_drawable(od->window, box->style->fg_gc[GTK_WIDGET_STATE(box)],
-#endif
-							  rt->overlay_buffer,
-							  0, 0,
-							  sx - px, sy - py, sw, sh);
+					cr = cairo_create(rt->overlay_buffer);
+					cairo_set_source_rgb(cr, 0, 0, 0);
+					cairo_rectangle(cr, 0, 0, sw, sh);
+					cairo_fill_preserve(cr);
+
+					gdk_cairo_set_source_pixbuf(cr, od->pixbuf, px - sx, py - sy);
+					cairo_fill (cr);
+					cairo_destroy (cr);
+
+					cr = gdk_cairo_create(od->window);
+					cairo_set_source_surface(cr, rt->overlay_buffer, sx - px, sy - py);
+					cairo_rectangle (cr, sx - px, sy - py, sw, sh);
+					cairo_fill(cr);
+					cairo_destroy(cr);
 					}
 				}
 			}
@@ -668,13 +664,13 @@
 	gint x, y, w, h;
 
 	rt_overlay_get_position(rt, od, &x, &y, &w, &h);
-	
+
 	/* add borders */
 	x -= x1;
 	y -= y1;
 	w += x1 + x2;
 	h += y1 + y2;
-	
+
 	rt_queue(rt, rt->x_scroll - pr->x_offset + x,
 		 rt->y_scroll - pr->y_offset + y,
 		 w, h,
@@ -706,9 +702,9 @@
 		{
 		OverlayData *od = work->data;
 		work = work->next;
-		
+
 		if (!od->window) rt_overlay_init_window(rt, od);
-		
+
 		if (od->flags & OVL_RELATIVE)
 			{
 			gint x, y, w, h;
@@ -736,9 +732,10 @@
 }
 
 
-gint renderer_tiles_overlay_add(RendererTiles *rt, GdkPixbuf *pixbuf, gint x, gint y,
+gint renderer_tiles_overlay_add(void *renderer, GdkPixbuf *pixbuf, gint x, gint y,
 				 OverlayRendererFlags flags)
 {
+	RendererTiles *rt = (RendererTiles *) renderer;
 	PixbufRenderer *pr = rt->pr;
 	OverlayData *od;
 	gint id;
@@ -758,7 +755,7 @@
 	od->flags = flags;
 
 	rt_overlay_init_window(rt, od);
-	
+
 	rt->overlay_list = g_list_append(rt->overlay_list, od);
 
 	rt_overlay_queue_draw(rt, od, 0, 0, 0, 0);
@@ -776,7 +773,7 @@
 
 	if (!rt->overlay_list && rt->overlay_buffer)
 		{
-		g_object_unref(rt->overlay_buffer);
+		cairo_surface_destroy(rt->overlay_buffer);
 		rt->overlay_buffer = NULL;
 		}
 }
@@ -796,7 +793,7 @@
 {
 	GList *work;
 
-	if (rt->overlay_buffer) g_object_unref(rt->overlay_buffer);
+	if (rt->overlay_buffer) cairo_surface_destroy(rt->overlay_buffer);
 	rt->overlay_buffer = NULL;
 
 	work = rt->overlay_list;
@@ -809,8 +806,9 @@
 		}
 }
 
-void renderer_tiles_overlay_set(RendererTiles *rt, gint id, GdkPixbuf *pixbuf, gint x, gint y)
+void renderer_tiles_overlay_set(void *renderer, gint id, GdkPixbuf *pixbuf, gint x, gint y)
 {
+	RendererTiles *rt = (RendererTiles *) renderer;
 	PixbufRenderer *pr = rt->pr;
 	OverlayData *od;
 
@@ -843,8 +841,9 @@
 		}
 }
 
-gboolean renderer_tiles_overlay_get(RendererTiles *rt, gint id, GdkPixbuf **pixbuf, gint *x, gint *y)
+gboolean renderer_tiles_overlay_get(void *renderer, gint id, GdkPixbuf **pixbuf, gint *x, gint *y)
 {
+	RendererTiles *rt = (RendererTiles *) renderer;
 	PixbufRenderer *pr = rt->pr;
 	OverlayData *od;
 
@@ -996,14 +995,13 @@
 	gint srs, drs;
 	guchar *s_pix, *d_pix;
 	guchar *sp, *dp;
-	guchar *spi, *dpi;
+	guchar *dpi;
 	gint i, j;
 	gint tw = rt->tile_width;
 	gint th = rt->tile_height;
 
 	srs = gdk_pixbuf_get_rowstride(src);
 	s_pix = gdk_pixbuf_get_pixels(src);
-	spi = s_pix + (x * COLOR_BYTES);
 
 	dest = rt_get_spare_tile(rt);
 	drs = gdk_pixbuf_get_rowstride(dest);
@@ -1117,13 +1115,10 @@
 				      gboolean new_data, gboolean fast)
 {
 	PixbufRenderer *pr = rt->pr;
-	GtkWidget *box;
 	GList *list;
 	GList *work;
 	gboolean draw = FALSE;
 
-	box = GTK_WIDGET(pr);
-
 	if (pr->zoom == 1.0 || pr->scale == 1.0)
 		{
 		list = pr_source_tile_compute_region(pr, it->x + x, it->y + y, w, h, TRUE);
@@ -1140,25 +1135,20 @@
 					   it->x + x, it->y + y, w, h,
 					   &rx, &ry, &rw, &rh))
 				{
+				cairo_t *cr;
+				cr = cairo_create(it->surface);
+				cairo_rectangle (cr, rx - it->x, ry - it->y, rw, rh);
+
 				if (st->blank)
 					{
-					gdk_draw_rectangle(it->pixmap, box->style->black_gc, TRUE,
-							   rx - st->x, ry - st->y, rw, rh);
+					cairo_set_source_rgb(cr, 0, 0, 0);
 					}
 				else /* (pr->zoom == 1.0 || pr->scale == 1.0) */
 					{
-					gdk_draw_pixbuf(it->pixmap,
-#if GTK_CHECK_VERSION(2,20,0)
-							box->style->fg_gc[gtk_widget_get_state(box)],
-#else
-							box->style->fg_gc[GTK_WIDGET_STATE(box)],
-#endif
-							st->pixbuf,
-							rx - st->x, ry - st->y,
-							rx - it->x, ry - it->y,
-							rw, rh,
-							pr->dither_quality, rx, ry);
+					gdk_cairo_set_source_pixbuf(cr, st->pixbuf, -it->x + st->x, -it->y + st->y);
 					}
+				cairo_fill (cr);
+				cairo_destroy (cr);
 				}
 			}
 		}
@@ -1203,10 +1193,15 @@
 					   it->x + x, it->y + y, w, h,
 					   &rx, &ry, &rw, &rh))
 				{
+
 				if (st->blank)
 					{
-					gdk_draw_rectangle(it->pixmap, box->style->black_gc, TRUE,
-							   rx - st->x, ry - st->y, rw, rh);
+					cairo_t *cr;
+					cr = cairo_create(it->surface);
+					cairo_rectangle (cr, rx - st->x, ry - st->y, rw, rh);
+					cairo_set_source_rgb(cr, 0, 0, 0);
+					cairo_fill (cr);
+					cairo_destroy (cr);
 					}
 				else
 					{
@@ -1233,7 +1228,7 @@
 	return draw;
 }
 
-static void rt_tile_get_region(gboolean has_alpha, 
+static void rt_tile_get_region(gboolean has_alpha,
                                const GdkPixbuf *src, GdkPixbuf *dest,
                                int pb_x, int pb_y, int pb_w, int pb_h,
                                double offset_x, double offset_y, double scale_x, double scale_y,
@@ -1249,10 +1244,10 @@
 					     pb_w, pb_h,
 					     dest,
 					     pb_x, pb_y);
-			} 
+			}
 		else
 			{
-			gdk_pixbuf_scale(src, dest, 
+			gdk_pixbuf_scale(src, dest,
 					 pb_x, pb_y, pb_w, pb_h,
 					 offset_x,
 					 offset_y,
@@ -1262,7 +1257,7 @@
 		}
 	else
 		{
-		gdk_pixbuf_composite_color(src, dest, 
+		gdk_pixbuf_composite_color(src, dest,
 					 pb_x, pb_y, pb_w, pb_h,
 					 offset_x,
 					 offset_y,
@@ -1293,12 +1288,11 @@
 			   gboolean new_data, gboolean fast)
 {
 	PixbufRenderer *pr = rt->pr;
-	GtkWidget *box;
 	gboolean has_alpha;
 	gboolean draw = FALSE;
 	gint orientation = rt_get_orientation(rt);
 
-	if (it->render_todo == TILE_RENDER_NONE && it->pixmap && !new_data) return;
+	if (it->render_todo == TILE_RENDER_NONE && it->surface && !new_data) return;
 
 	if (it->render_done != TILE_RENDER_ALL)
 		{
@@ -1321,8 +1315,6 @@
 	rt_tile_prepare(rt, it);
 	has_alpha = (pr->pixbuf && gdk_pixbuf_get_has_alpha(pr->pixbuf));
 
-	box = GTK_WIDGET(pr);
-
 	/* FIXME checker colors for alpha should be configurable,
 	 * also should be drawn for blank = TRUE
 	 */
@@ -1330,8 +1322,12 @@
 	if (it->blank)
 		{
 		/* no data, do fast rect fill */
-		gdk_draw_rectangle(it->pixmap, box->style->black_gc, TRUE,
-				   0, 0, it->w, it->h);
+		cairo_t *cr;
+		cr = cairo_create(it->surface);
+		cairo_rectangle (cr, 0, 0, it->w, it->h);
+		cairo_set_source_rgb(cr, 0, 0, 0);
+		cairo_fill (cr);
+		cairo_destroy (cr);
 		}
 	else if (pr->source_tiles_enabled)
 		{
@@ -1340,22 +1336,17 @@
 	else if ((pr->zoom == 1.0 || pr->scale == 1.0) &&
 		 pr->aspect_ratio == 1.0 &&
 		 !has_alpha &&
-		 orientation == EXIF_ORIENTATION_TOP_LEFT && 
+		 orientation == EXIF_ORIENTATION_TOP_LEFT &&
 		 !(pr->func_post_process && !(pr->post_process_slow && fast)) &&
 		 !(rt->stereo_mode & PR_STEREO_ANAGLYPH))
 		{
 		/* special case: faster, simple, scale 1.0, base orientation, no postprocessing */
-		gdk_draw_pixbuf(it->pixmap, 
-#if GTK_CHECK_VERSION(2,20,0)
-				box->style->fg_gc[gtk_widget_get_state(box)],
-#else
-				box->style->fg_gc[GTK_WIDGET_STATE(box)],
-#endif
-				pr->pixbuf,
-				it->x + x + GET_RIGHT_PIXBUF_OFFSET(rt), it->y + y,
-				x, y,
-				w, h,
-				pr->dither_quality, it->x + x, it->y + y);
+		cairo_t *cr;
+		cr = cairo_create(it->surface);
+		cairo_rectangle (cr, x, y, w, h);
+		gdk_cairo_set_source_pixbuf(cr, pr->pixbuf, -it->x - GET_RIGHT_PIXBUF_OFFSET(rt), -it->y);
+		cairo_fill (cr);
+		cairo_destroy (cr);
 		}
 	else
 		{
@@ -1394,7 +1385,7 @@
 				/* nothing to do */
 				break;
 			}
-		
+
 		/* HACK: The pixbuf scalers get kinda buggy(crash) with extremely
 		 * small sizes for anything but GDK_INTERP_NEAREST
 		 */
@@ -1407,7 +1398,7 @@
 				   scale_x, scale_y,
 				   (fast) ? GDK_INTERP_NEAREST : pr->zoom_quality,
 				   it->x + pb_x, it->y + pb_y);
-		if (rt->stereo_mode & PR_STEREO_ANAGLYPH && 
+		if (rt->stereo_mode & PR_STEREO_ANAGLYPH &&
 		    (pr->stereo_pixbuf_offset_right > 0 || pr->stereo_pixbuf_offset_left > 0))
 			{
 			GdkPixbuf *right_pb = rt_get_spare_tile(rt);
@@ -1427,30 +1418,17 @@
 
 	if (draw && it->pixbuf && !it->blank)
 		{
+		cairo_t *cr;
 
 		if (pr->func_post_process && !(pr->post_process_slow && fast))
 			pr->func_post_process(pr, &it->pixbuf, x, y, w, h, pr->post_process_user_data);
 
-		gdk_draw_pixbuf(it->pixmap,
-#if GTK_CHECK_VERSION(2,20,0)
-				box->style->fg_gc[gtk_widget_get_state(box)],
-#else
-				box->style->fg_gc[GTK_WIDGET_STATE(box)],
-#endif
-				it->pixbuf,
-				x, y,
-				x, y,
-				w, h,
-				pr->dither_quality, it->x + x, it->y + y);
+		cr = cairo_create(it->surface);
+		cairo_rectangle (cr, x, y, w, h);
+		gdk_cairo_set_source_pixbuf(cr, it->pixbuf, 0, 0);
+		cairo_fill (cr);
+		cairo_destroy (cr);
 		}
-
-#if 0
-	/* enable this line for debugging the edges of tiles */
-	gdk_draw_rectangle(it->pixmap, box->style->white_gc,
-			   FALSE, 0, 0, it->w, it->h);
-	gdk_draw_rectangle(it->pixmap, box->style->white_gc,
-			   FALSE, x, y, w, h);
-#endif
 }
 
 
@@ -1460,6 +1438,8 @@
 {
 	PixbufRenderer *pr = rt->pr;
 	GtkWidget *box;
+	GdkWindow *window;
+	cairo_t *cr;
 
 	/* clamp to visible */
 	if (it->x + x < rt->x_scroll)
@@ -1469,7 +1449,7 @@
 		}
 	if (it->x + x + w > rt->x_scroll + pr->vis_width)
 		{
-		w = rt->x_scroll + pr->vis_width - it->x - x; 
+		w = rt->x_scroll + pr->vis_width - it->x - x;
 		}
 	if (w < 1) return;
 	if (it->y + y < rt->y_scroll)
@@ -1479,21 +1459,20 @@
 		}
 	if (it->y + y + h > rt->y_scroll + pr->vis_height)
 		{
-		h = rt->y_scroll + pr->vis_height - it->y - y; 
+		h = rt->y_scroll + pr->vis_height - it->y - y;
 		}
 	if (h < 1) return;
 
 	rt_tile_render(rt, it, x, y, w, h, new_data, fast);
 
 	box = GTK_WIDGET(pr);
+	window = gtk_widget_get_window(box);
 
-#if GTK_CHECK_VERSION(2,20,0)
-	gdk_draw_drawable(box->window, box->style->fg_gc[gtk_widget_get_state(box)],
-#else
-	gdk_draw_drawable(box->window, box->style->fg_gc[GTK_WIDGET_STATE(box)],
-#endif
-			  it->pixmap, x, y,
-			  pr->x_offset + (it->x - rt->x_scroll) + x + rt->stereo_off_x, pr->y_offset + (it->y - rt->y_scroll) + y + rt->stereo_off_y, w, h);
+	cr = gdk_cairo_create(window);
+	cairo_set_source_surface(cr, it->surface, pr->x_offset + (it->x - rt->x_scroll) + rt->stereo_off_x, pr->y_offset + (it->y - rt->y_scroll) + rt->stereo_off_y);
+	cairo_rectangle (cr, pr->x_offset + (it->x - rt->x_scroll) + x + rt->stereo_off_x, pr->y_offset + (it->y - rt->y_scroll) + y + rt->stereo_off_y, w, h);
+	cairo_fill (cr);
+	cairo_destroy (cr);
 
 	if (rt->overlay_list)
 		{
@@ -1521,8 +1500,8 @@
 static gint rt_get_queued_area(GList *work)
 {
 	gint area = 0;
-	
-	while (work) 
+
+	while (work)
 		{
 		QueueData *qd = work->data;
 		area += qd->w * qd->h;
@@ -1537,15 +1516,15 @@
 	PixbufRenderer *pr = rt->pr;
 	gfloat percent;
 	gint visible_area = pr->vis_width * pr->vis_height;
-	
+
 	if (!pr->loading)
 		{
-		/* 2pass prio */ 
+		/* 2pass prio */
 		DEBUG_2("redraw priority: 2pass");
 		rt->draw_idle_id = g_idle_add_full(G_PRIORITY_DEFAULT_IDLE, rt_queue_draw_idle_cb, rt, NULL);
 		return FALSE;
 		}
-	
+
 	if (visible_area == 0)
 		{
 		/* not known yet */
@@ -1555,7 +1534,7 @@
 		{
 		percent = 100.0 * rt_get_queued_area(rt->draw_queue) / visible_area;
 		}
-	
+
 	if (percent > 10.0)
 		{
 		/* we have enough data for starting intensive redrawing */
@@ -1563,7 +1542,7 @@
 		rt->draw_idle_id = g_idle_add_full(GDK_PRIORITY_REDRAW, rt_queue_draw_idle_cb, rt, NULL);
 		return FALSE;
 		}
-	
+
 	if (percent < 1.0 || force_set)
 		{
 		/* queue is (almost) empty, wait  50 ms*/
@@ -1571,12 +1550,12 @@
 		rt->draw_idle_id = g_timeout_add_full(G_PRIORITY_DEFAULT_IDLE, 50, rt_queue_draw_idle_cb, rt, NULL);
 		return FALSE;
 		}
-	
+
 	/* keep the same priority as before */
 	DEBUG_2("redraw priority: no change %.2f %%", percent);
 	return TRUE;
 }
-		
+
 
 static gboolean rt_queue_draw_idle_cb(gpointer data)
 {
@@ -1614,11 +1593,7 @@
 		fast = FALSE;
 		}
 
-#if GTK_CHECK_VERSION(2,20,0)
-	if (gtk_widget_get_realized(pr))
-#else
-	if (GTK_WIDGET_REALIZED(pr))
-#endif
+	if (gtk_widget_get_realized(GTK_WIDGET(pr)))
 		{
 		if (rt_tile_is_visible(rt, qd->it))
 			{
@@ -1628,7 +1603,7 @@
 			{
 			/* if new pixel data, and we already have a pixmap, update the tile */
 			qd->it->blank = FALSE;
-			if (qd->it->pixmap && qd->it->render_done == TILE_RENDER_ALL)
+			if (qd->it->surface && qd->it->render_done == TILE_RENDER_ALL)
 				{
 				rt_tile_render(rt, qd->it, qd->x, qd->y, qd->w, qd->h, qd->new_data, fast);
 				}
@@ -1882,13 +1857,14 @@
 		}
 }
 
-static void rt_scroll(RendererTiles *rt, gint x_off, gint y_off)
+static void rt_scroll(void *renderer, gint x_off, gint y_off)
 {
+	RendererTiles *rt = (RendererTiles *) renderer;
 	PixbufRenderer *pr = rt->pr;
 
 	rt_sync_scroll(rt);
 	if (rt->stereo_mode & PR_STEREO_MIRROR) x_off = -x_off;
-	if (rt->stereo_mode & PR_STEREO_FLIP) y_off = -y_off; 
+	if (rt->stereo_mode & PR_STEREO_FLIP) y_off = -y_off;
 
 	gint w = pr->vis_width - abs(x_off);
 	gint h = pr->vis_height - abs(y_off);
@@ -1904,8 +1880,9 @@
 		gint x1, y1;
 		gint x2, y2;
 		GtkWidget *box;
-		GdkGC *gc;
-		GdkEvent *event;
+		GdkWindow *window;
+		cairo_t *cr;
+		cairo_surface_t *surface;
 
 		if (x_off < 0)
 			{
@@ -1930,14 +1907,22 @@
 			}
 
 		box = GTK_WIDGET(pr);
+		window = gtk_widget_get_window(box);
 
-		gc = gdk_gc_new(box->window);
-		gdk_gc_set_exposures(gc, TRUE);
-		gdk_draw_drawable(box->window, gc,
-				  box->window,
-				  x2 + pr->x_offset + rt->stereo_off_x, y2 + pr->y_offset + rt->stereo_off_y,
-				  x1 + pr->x_offset + rt->stereo_off_x, y1 + pr->y_offset + rt->stereo_off_y, w, h);
-		g_object_unref(gc);
+		cr = gdk_cairo_create(window);
+		surface = cairo_get_target(cr);
+		/* clipping restricts the intermediate surface's size, so it's a good idea
+		 * to use it. */
+		cairo_rectangle(cr, x1 + pr->x_offset + rt->stereo_off_x, y1 + pr->y_offset + rt->stereo_off_y, w, h);
+		cairo_clip (cr);
+		/* Now push a group to change the target */
+		cairo_push_group (cr);
+		cairo_set_source_surface(cr, surface, x1 - x2, y1 - y2);
+		cairo_paint(cr);
+		/* Now copy the intermediate target back */
+		cairo_pop_group_to_source(cr);
+		cairo_paint(cr);
+		cairo_destroy(cr);
 
 		rt_overlay_queue_all(rt, x2, y2, x1, y1);
 
@@ -1957,22 +1942,6 @@
 				    rt->x_scroll, y_off > 0 ? rt->y_scroll + (pr->vis_height - h) : rt->y_scroll,
 				    pr->vis_width, h, TRUE, TILE_RENDER_ALL, FALSE, FALSE);
 			}
-
-		/* process exposures here, "expose_event" seems to miss a few with obstructed windows */
-#if ! GTK_CHECK_VERSION(2,18,0)
-		while ((event = gdk_event_get_graphics_expose(box->window)) != NULL)
-			{
-        		renderer_redraw((void *) rt, event->expose.area.x, event->expose.area.y, event->expose.area.width, event->expose.area.height,
-                              FALSE, TILE_RENDER_ALL, FALSE, FALSE);
- 
-			if (event->expose.count == 0)
-				{
-				gdk_event_free(event);
-				break;
-				}
-			gdk_event_free(event);
-			}
-#endif
 		}
 }
 
@@ -2005,15 +1974,14 @@
 	rt_queue(rt, x1, y1, x2 - x1, y2 - y1, FALSE, TILE_RENDER_AREA, TRUE, TRUE);
 }
 
-static void renderer_redraw(void *renderer, gint x, gint y, gint w, gint h,
+static void renderer_redraw(RendererTiles *rt, gint x, gint y, gint w, gint h,
                      gint clamp, ImageRenderType render, gboolean new_data, gboolean only_existing)
 {
-	RendererTiles *rt = (RendererTiles *)renderer;
 	PixbufRenderer *pr = rt->pr;
 
 	x -= rt->stereo_off_x;
 	y -= rt->stereo_off_y;
-	
+
 	rt_border_draw(rt, x, y, w, h);
 
 	x = MAX(0, x - pr->x_offset + pr->x_scroll);
@@ -2026,20 +1994,22 @@
 		 clamp, render, new_data, only_existing);
 }
 
-static void renderer_queue_clear(void *renderer)
+static void renderer_update_pixbuf(void *renderer, gboolean lazy)
 {
 	rt_queue_clear((RendererTiles *)renderer);
 }
 
-static void renderer_border_clear(void *renderer)
+static void renderer_update_zoom(void *renderer, gboolean lazy)
 {
-	rt_border_clear((RendererTiles *)renderer);
-}
+	RendererTiles *rt = (RendererTiles *)renderer;
+	PixbufRenderer *pr = rt->pr;
 
-
-static void renderer_invalidate_all(void *renderer)
-{
 	rt_tile_invalidate_all((RendererTiles *)renderer);
+	if (!lazy)
+		{
+		renderer_redraw(renderer, 0, 0, pr->width, pr->height, TRUE, TILE_RENDER_ALL, TRUE, FALSE);
+		}
+	rt_border_clear(rt);
 }
 
 static void renderer_invalidate_region(void *renderer, gint x, gint y, gint w, gint h)
@@ -2047,29 +2017,24 @@
 	rt_tile_invalidate_region((RendererTiles *)renderer, x, y, w, h);
 }
 
-static void renderer_overlay_draw(void *renderer, gint x, gint y, gint w, gint h)
-{
-	rt_overlay_draw((RendererTiles *)renderer, x, y, w, h, NULL);
-}
-
-static void renderer_update_sizes(void *renderer)
+static void renderer_update_viewport(void *renderer)
 {
 	RendererTiles *rt = (RendererTiles *)renderer;
 
 	rt->stereo_off_x = 0;
 	rt->stereo_off_y = 0;
-	
-	if (rt->stereo_mode & PR_STEREO_RIGHT) 
+
+	if (rt->stereo_mode & PR_STEREO_RIGHT)
 		{
-		if (rt->stereo_mode & PR_STEREO_HORIZ) 
+		if (rt->stereo_mode & PR_STEREO_HORIZ)
 			{
 			rt->stereo_off_x = rt->pr->viewport_width;
 			}
-		else if (rt->stereo_mode & PR_STEREO_VERT) 
+		else if (rt->stereo_mode & PR_STEREO_VERT)
 			{
 			rt->stereo_off_y = rt->pr->viewport_height;
 			}
-		else if (rt->stereo_mode & PR_STEREO_FIXED) 
+		else if (rt->stereo_mode & PR_STEREO_FIXED)
 			{
 			rt->stereo_off_x = rt->pr->stereo_fixed_x_right;
 			rt->stereo_off_y = rt->pr->stereo_fixed_y_right;
@@ -2077,7 +2042,7 @@
 		}
 	else
 		{
-		if (rt->stereo_mode & PR_STEREO_FIXED) 
+		if (rt->stereo_mode & PR_STEREO_FIXED)
 			{
 			rt->stereo_off_x = rt->pr->stereo_fixed_x_left;
 			rt->stereo_off_y = rt->pr->stereo_fixed_y_left;
@@ -2086,6 +2051,7 @@
         DEBUG_1("update size: %p  %d %d   %d %d", rt, rt->stereo_off_x, rt->stereo_off_y, rt->pr->viewport_width, rt->pr->viewport_height);
 	rt_sync_scroll(rt);
 	rt_overlay_update_sizes(rt);
+	rt_border_clear(rt);
 }
 
 static void renderer_stereo_set(void *renderer, gint stereo_mode)
@@ -2109,30 +2075,82 @@
         g_free(rt);
 }
 
+#if GTK_CHECK_VERSION(3,0,0)
+
+static gboolean rt_draw_cb(GtkWidget *widget, cairo_t *cr, gpointer data)
+{
+	RendererTiles *rt = (RendererTiles *)data;
+	if (gtk_widget_is_drawable(widget))
+		{
+		if (gtk_widget_get_has_window(widget))
+			{
+			GdkRectangle area;
+			if (gdk_cairo_get_clip_rectangle(cr, &area))
+				{
+				renderer_redraw(rt, area.x, area.y, area.width, area.height,
+						FALSE, TILE_RENDER_ALL, FALSE, FALSE);
+				}
+			}
+		}
+
+	return FALSE;
+}
+
+#else
+static gboolean rt_expose_cb(GtkWidget *widget, GdkEventExpose *event, gpointer data)
+{
+	RendererTiles *rt = (RendererTiles *)data;
+	if (gtk_widget_is_drawable(widget))
+		{
+		if (gtk_widget_get_has_window(widget))
+			{
+			if (event->window != gtk_widget_get_window(widget))
+				{
+				GdkRectangle area;
+
+				gdk_window_get_position(event->window, &area.x, &area.y);
+				area.x += event->area.x;
+				area.y += event->area.y;
+				area.width = event->area.width;
+				area.height = event->area.height;
+				renderer_redraw(rt, area.x, area.y, area.width, area.height,
+						FALSE, TILE_RENDER_ALL, FALSE, FALSE);
+
+				}
+			else
+				{
+				renderer_redraw(rt, event->area.x, event->area.y, event->area.width, event->area.height,
+						FALSE, TILE_RENDER_ALL, FALSE, FALSE);
+				}
+			}
+		}
+
+	return FALSE;
+}
+#endif
+
+
 RendererFuncs *renderer_tiles_new(PixbufRenderer *pr)
 {
 	RendererTiles *rt = g_new0(RendererTiles, 1);
-	
+
 	rt->pr = pr;
-	
-	rt->f.redraw = renderer_redraw;
+
 	rt->f.area_changed = renderer_area_changed;
-	rt->f.queue_clear = renderer_queue_clear;
-	rt->f.border_clear = renderer_border_clear;
+	rt->f.update_pixbuf = renderer_update_pixbuf;
 	rt->f.free = renderer_free;
-	rt->f.invalidate_all = renderer_invalidate_all;
+	rt->f.update_zoom = renderer_update_zoom;
 	rt->f.invalidate_region = renderer_invalidate_region;
 	rt->f.scroll = rt_scroll;
-	rt->f.update_sizes = renderer_update_sizes;
+	rt->f.update_viewport = renderer_update_viewport;
 
 
 	rt->f.overlay_add = renderer_tiles_overlay_add;
 	rt->f.overlay_set = renderer_tiles_overlay_set;
 	rt->f.overlay_get = renderer_tiles_overlay_get;
-	rt->f.overlay_draw = renderer_overlay_draw;
 
 	rt->f.stereo_set = renderer_stereo_set;
-	
+
 	rt->tile_width = PR_TILE_SIZE;
 	rt->tile_height = PR_TILE_SIZE;
 
@@ -2142,7 +2160,7 @@
 	rt->tile_cache_max = PR_CACHE_SIZE_DEFAULT;
 
 	rt->draw_idle_id = 0;
-	
+
 	rt->stereo_mode = 0;
 	rt->stereo_off_x = 0;
 	rt->stereo_off_y = 0;
@@ -2150,6 +2168,13 @@
 	g_signal_connect(G_OBJECT(pr), "hierarchy-changed",
 			 G_CALLBACK(rt_hierarchy_changed_cb), rt);
 
+#if GTK_CHECK_VERSION(3,0,0)
+	g_signal_connect(G_OBJECT(pr), "draw",
+	                 G_CALLBACK(rt_draw_cb), rt);
+#else
+	g_signal_connect(G_OBJECT(pr), "expose_event",
+	                 G_CALLBACK(rt_expose_cb), rt);
+#endif
 	return (RendererFuncs *) rt;
 }
 
--- a/src/renderer-tiles.h	Sun May 27 18:41:56 2012 +0100
+++ b/src/renderer-tiles.h	Tue Oct 02 22:19:13 2012 +0100
@@ -1,7 +1,7 @@
 /*
  * Geeqie
  * (C) 2006 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * Author: John Ellis
  *
@@ -13,9 +13,6 @@
 #ifndef RENDERER_TILES_H
 #define RENDERER_TILES_H
 
-#include <gtk/gtkeventbox.h>
-#include <gtk/gtkwindow.h>
-
 #include <pixbuf-renderer.h>
 
 
--- a/src/search.c	Sun May 27 18:41:56 2012 +0100
+++ b/src/search.c	Tue Oct 02 22:19:13 2012 +0100
@@ -1,7 +1,7 @@
 /*
  * Geeqie
  * (C) 2005 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * Author: John Ellis
  *
@@ -286,7 +286,7 @@
 
 	t = search_result_count(sd, &t_bytes);
 	s = search_result_selection_count(sd, &s_bytes);
-	
+
 	tt = text_from_size_abrev(t_bytes);
 
 	if (s > 0)
@@ -824,11 +824,7 @@
 
 	gtk_tree_view_column_set_fixed_width(column, (sd->thumb_enable) ? options->thumbnails.max_width : 4);
 
-#if GTK_CHECK_VERSION(2,18,0)
 	list = gtk_cell_layout_get_cells(GTK_CELL_LAYOUT(column));
-#else
-	list = gtk_tree_view_column_get_cell_renderers(column);
-#endif
 	if (!list) return;
 	cell = list->data;
 	g_list_free(list);
@@ -1219,40 +1215,19 @@
 
 	if (event->state & GDK_CONTROL_MASK)
 		{
-		gint edit_val = -1;
-
 		stop_signal = TRUE;
 		switch (event->keyval)
 			{
 			case '1':
-				edit_val = 0;
-				break;
 			case '2':
-				edit_val = 1;
-				break;
 			case '3':
-				edit_val = 2;
-				break;
 			case '4':
-				edit_val = 3;
-				break;
 			case '5':
-				edit_val = 4;
-				break;
 			case '6':
-				edit_val = 5;
-				break;
 			case '7':
-				edit_val = 6;
-				break;
 			case '8':
-				edit_val = 7;
-				break;
 			case '9':
-				edit_val = 8;
-				break;
 			case '0':
-				edit_val = 9;
 				break;
 			case 'C': case 'c':
 				file_util_copy(NULL, search_result_selection_list(sd), NULL, widget);
@@ -1276,26 +1251,20 @@
 					gtk_tree_selection_select_all(selection);
 					}
 				break;
-			case GDK_Delete: case GDK_KP_Delete:
+			case GDK_KEY_Delete: case GDK_KEY_KP_Delete:
 				search_result_clear(sd);
 				break;
 			default:
 				stop_signal = FALSE;
 				break;
 			}
-#if 0
-		if (edit_val >= 0)
-			{
-			search_result_edit_selected(sd, edit_val);
-			}
-#endif
 		}
 	else
 		{
 		stop_signal = TRUE;
 		switch (event->keyval)
 			{
-			case GDK_Return: case GDK_KP_Enter:
+			case GDK_KEY_Return: case GDK_KEY_KP_Enter:
 				if (mfd) layout_set_fd(NULL, mfd->fd);
 				break;
 			case 'V': case 'v':
@@ -1307,14 +1276,14 @@
 				filelist_free(list);
 				}
 				break;
-			case GDK_Delete: case GDK_KP_Delete:
+			case GDK_KEY_Delete: case GDK_KEY_KP_Delete:
 				search_result_remove_selection(sd);
 				break;
 			case 'C': case 'c':
 				search_result_collection_from_selection(sd);
 				break;
-			case GDK_Menu:
-			case GDK_F10:
+			case GDK_KEY_Menu:
+			case GDK_KEY_F10:
 				{
 				GtkWidget *menu;
 
@@ -1376,27 +1345,13 @@
 				guint time, gpointer data)
 {
 	SearchData *sd = data;
-	gchar *uri_text;
-	gint length;
 	GList *list;
 
-	switch (info)
-		{
-		case TARGET_URI_LIST:
-		case TARGET_TEXT_PLAIN:
-			list = search_result_selection_list(sd);
-			if (!list) return;
-			uri_text = uri_text_from_filelist(list, &length, (info == TARGET_TEXT_PLAIN));
-			filelist_free(list);
-			break;
-		default:
-			uri_text = NULL;
-			break;
-		}
-
-	if (uri_text) gtk_selection_data_set(selection_data, selection_data->target,
-					     8, (guchar *)uri_text, length);
-	g_free(uri_text);
+	list = search_result_selection_list(sd);
+	if (!list) return;
+
+	uri_selection_data_set_uris_from_filelist(selection_data, list);
+	filelist_free(list);
 }
 
 static void search_dnd_begin(GtkWidget *widget, GdkDragContext *context, gpointer data)
@@ -1440,11 +1395,6 @@
 			 G_CALLBACK(search_dnd_data_set), sd);
 	g_signal_connect(G_OBJECT(sd->result_view), "drag_begin",
 			 G_CALLBACK(search_dnd_begin), sd);
-#if 0
-	g_signal_connect(G_OBJECT(sd->result_view), "drag_end",
-			 G_CALLBACK(search_dnd_end), sd);
-#endif
-
 }
 
 /*
@@ -2361,19 +2311,11 @@
 {
 	if (visible)
 		{
-#if GTK_CHECK_VERSION(2,20,0)
 		if (!gtk_widget_get_visible(widget)) gtk_widget_show(widget);
-#else
-		if (!GTK_WIDGET_VISIBLE(widget)) gtk_widget_show(widget);
-#endif
 		}
 	else
 		{
-#if GTK_CHECK_VERSION(2,20,0)
 		if (gtk_widget_get_visible(widget)) gtk_widget_hide(widget);
-#else
-		if (GTK_WIDGET_VISIBLE(widget)) gtk_widget_hide(widget);
-#endif
 		}
 }
 
@@ -2637,7 +2579,7 @@
 	sd->match_name_enable = TRUE;
 
 	sd->search_similarity = 95;
-	
+
 	if (example_file)
 		{
 		sd->search_similarity_path = g_strdup(example_file->path);
@@ -2843,10 +2785,6 @@
 	gtk_tree_view_set_headers_visible(GTK_TREE_VIEW(sd->result_view), TRUE);
 	gtk_tree_view_set_enable_search(GTK_TREE_VIEW(sd->result_view), FALSE);
 
-#if 0
-	gtk_tree_view_set_search_column(GTK_TREE_VIEW(sd->result_view), SEARCH_COLUMN_NAME);
-#endif
-
 	search_result_add_column(sd, SEARCH_COLUMN_RANK, _("Rank"), FALSE, FALSE);
 	search_result_add_column(sd, SEARCH_COLUMN_THUMB, "", TRUE, FALSE);
 	search_result_add_column(sd, SEARCH_COLUMN_NAME, _("Name"), FALSE, FALSE);
@@ -2951,7 +2889,7 @@
 	if (!(type & NOTIFY_CHANGE) || !fd->change) return;
 
 	DEBUG_1("Notify search: %s %04x", fd->path, type);
-	
+
 	switch (fd->change->type)
 		{
 		case FILEDATA_CHANGE_MOVE:
--- a/src/search.h	Sun May 27 18:41:56 2012 +0100
+++ b/src/search.h	Tue Oct 02 22:19:13 2012 +0100
@@ -1,7 +1,7 @@
 /*
  * Geeqie
  * (C) 2005 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * Author: John Ellis
  *
--- a/src/secure_save.c	Sun May 27 18:41:56 2012 +0100
+++ b/src/secure_save.c	Tue Oct 02 22:19:13 2012 +0100
@@ -1,6 +1,6 @@
 /*
  * Geeqie
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * based on the code developped for ELinks by Laurent Monin
  *
--- a/src/secure_save.h	Sun May 27 18:41:56 2012 +0100
+++ b/src/secure_save.h	Tue Oct 02 22:19:13 2012 +0100
@@ -1,6 +1,6 @@
 /*
  * Geeqie
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * based on the code developped for ELinks by Laurent Monin
  *
--- a/src/similar.c	Sun May 27 18:41:56 2012 +0100
+++ b/src/similar.c	Tue Oct 02 22:19:13 2012 +0100
@@ -1,7 +1,7 @@
 /*
  * Geeqie
  * (C) 2004 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * Author: John Ellis
  *
--- a/src/similar.h	Sun May 27 18:41:56 2012 +0100
+++ b/src/similar.h	Tue Oct 02 22:19:13 2012 +0100
@@ -1,7 +1,7 @@
 /*
  * Geeqie
  * (C) 2004 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * Author: John Ellis
  *
--- a/src/slideshow.c	Sun May 27 18:41:56 2012 +0100
+++ b/src/slideshow.c	Tue Oct 02 22:19:13 2012 +0100
@@ -1,7 +1,7 @@
 /*
  * Geeqie
  * (C) 2004 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * Author: John Ellis
  *
@@ -88,7 +88,7 @@
 static void swap(GPtrArray *array, guint index1, guint index2)
 {
 	gpointer temp = g_ptr_array_index(array, index1);
-	
+
 	g_ptr_array_index(array, index1) = g_ptr_array_index(array, index2);
 	g_ptr_array_index(array, index2) = temp;
 }
@@ -116,7 +116,7 @@
 	ptr_array_random_shuffle(src_array);
 	g_ptr_array_foreach(src_array, (GFunc) list_prepend, &list);
 	g_ptr_array_free(src_array, TRUE);
-	
+
 	return list;
 }
 
@@ -403,7 +403,7 @@
 		}
 
 	slideshow_list_init(ss, start_index);
-	
+
 	if (ss->lw)
 		ss->slide_fd = file_data_ref(layout_image_get_fd(ss->lw));
 	else
--- a/src/slideshow.h	Sun May 27 18:41:56 2012 +0100
+++ b/src/slideshow.h	Tue Oct 02 22:19:13 2012 +0100
@@ -1,7 +1,7 @@
 /*
  * Geeqie
  * (C) 2004 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * Author: John Ellis
  *
--- a/src/thumb.c	Sun May 27 18:41:56 2012 +0100
+++ b/src/thumb.c	Tue Oct 02 22:19:13 2012 +0100
@@ -1,7 +1,7 @@
 /*
  * Geeqie
  * (C) 2004 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * Author: John Ellis
  *
@@ -144,7 +144,7 @@
 			{
 			tl->fd->exif_orientation = metadata_read_int(tl->fd, ORIENTATION_KEY, EXIF_ORIENTATION_TOP_LEFT);
 			}
-		
+
 		if (tl->fd->exif_orientation != EXIF_ORIENTATION_TOP_LEFT)
 			{
 			rotated = pixbuf_apply_orientation(pixbuf, tl->fd->exif_orientation);
@@ -162,7 +162,7 @@
 		tl->cache_hit = FALSE;
 
 		thumb_loader_setup(tl, tl->fd);
-	
+
 		g_signal_connect(G_OBJECT(tl->il), "done", (GCallback)thumb_loader_done_cb, tl);
 
 		if (!image_loader_start(tl->il))
@@ -194,7 +194,7 @@
 			w = (gdouble)h / ph * pw;
 			if (w < 1) w = 1;
 			}
-		
+
 		if (tl->fd)
 			{
 			if (tl->fd->thumb_pixbuf) g_object_unref(tl->fd->thumb_pixbuf);
@@ -215,7 +215,7 @@
 		}
 
 	if (rotated) g_object_unref(rotated);
-	
+
 	/* save it ? */
 	if (tl->cache_enable && save)
 		{
@@ -242,7 +242,7 @@
 	tl->il = NULL;
 
 	thumb_loader_set_fallback(tl);
-	
+
 	if (tl->func_error) tl->func_error(tl, tl->data);
 }
 
@@ -311,10 +311,6 @@
 		}
 
 	tl->cache_enable = enable_cache;
-#if 0
-	tl->cache_local = local;
-	tl->cache_retry = retry_failed;
-#endif
 }
 
 
@@ -414,17 +410,6 @@
 	return TRUE;
 }
 
-#if 0
-gint thumb_loader_to_pixmap(ThumbLoader *tl, GdkPixmap **pixmap, GdkBitmap **mask)
-{
-	if (!tl || !tl->pixbuf) return -1;
-
-	gdk_pixbuf_render_pixmap_and_mask(tl->pixbuf, pixmap, mask, 128);
-
-	return thumb_loader_get_space(tl);
-}
-#endif
-
 GdkPixbuf *thumb_loader_get_pixbuf(ThumbLoader *tl)
 {
 	GdkPixbuf *pixbuf;
@@ -447,17 +432,6 @@
 	return pixbuf;
 }
 
-#if 0
-gint thumb_loader_get_space(ThumbLoader *tl)
-{
-	if (!tl) return 0;
-
-	if (tl->pixbuf) return (tl->max_w - gdk_pixbuf_get_width(tl->pixbuf));
-
-	return tl->max_w;
-}
-#endif
-
 ThumbLoader *thumb_loader_new(gint width, gint height)
 {
 	ThumbLoader *tl;
@@ -472,7 +446,7 @@
 		}
 
 	tl = g_new0(ThumbLoader, 1);
-	
+
 	tl->cache_enable = options->thumbnails.enable_caching;
 	tl->percent_done = 0.0;
 	tl->max_w = width;
@@ -499,34 +473,6 @@
 	g_free(tl);
 }
 
-#if 0
-gint thumb_from_xpm_d(const gchar **data, gint max_w, gint max_h, GdkPixmap **pixmap, GdkBitmap **mask)
-{
-	GdkPixbuf *pixbuf;
-	gint w, h;
-
-	pixbuf = gdk_pixbuf_new_from_xpm_data(data);
-	w = gdk_pixbuf_get_width(pixbuf);
-	h = gdk_pixbuf_get_height(pixbuf);
-
-	if (pixbuf_scale_aspect(w, h, max_w, max_h, &w, &h))
-		{
-		/* scale */
-		GdkPixbuf *tmp;
-
-		tmp = pixbuf;
-		pixbuf = gdk_pixbuf_scale_simple(tmp, w, h, GDK_INTERP_NEAREST);
-		gdk_pixbuf_unref(tmp);
-		}
-
-	gdk_pixbuf_render_pixmap_and_mask(pixbuf, pixmap, mask, 128);
-	gdk_pixbuf_unref(pixbuf);
-
-	return w;
-}
-#endif
-
-
 /* release thumb_pixbuf on file change - this forces reload. */
 void thumb_notify_cb(FileData *fd, NotifyType type, gpointer data)
 {
@@ -574,7 +520,7 @@
 		if (sscanf(buffer, "%d %d %d", &width, &height, &depth) == 3)
 			{
 			gsize size = width * height;
-			
+
 			data = g_new(guchar, size);
 			if (data && fread(data, 1, size, file) == size)
 				{
@@ -606,9 +552,9 @@
 	path = path_from_utf8(thumb_filename);
 	directory = g_path_get_dirname(path);
 	name = g_path_get_basename(path);
-	
+
 	thumb_name = g_build_filename(directory, ".xvpics", name, NULL);
-	
+
 	g_free(name);
 	g_free(directory);
 	g_free(path);
--- a/src/thumb.h	Sun May 27 18:41:56 2012 +0100
+++ b/src/thumb.h	Tue Oct 02 22:19:13 2012 +0100
@@ -1,7 +1,7 @@
 /*
  * Geeqie
  * (C) 2004 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * Author: John Ellis
  *
--- a/src/thumb_standard.c	Sun May 27 18:41:56 2012 +0100
+++ b/src/thumb_standard.c	Tue Oct 02 22:19:13 2012 +0100
@@ -1,7 +1,7 @@
 /*
  * Geeqie
  * (C) 2006 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * Author: John Ellis
  *
@@ -389,7 +389,7 @@
 			{
 			tl->fd->exif_orientation = metadata_read_int(tl->fd, ORIENTATION_KEY, EXIF_ORIENTATION_TOP_LEFT);
 			}
-		
+
 		if (tl->fd->exif_orientation != EXIF_ORIENTATION_TOP_LEFT)
 			{
 			rotated = pixbuf_apply_orientation(pixbuf, tl->fd->exif_orientation);
@@ -434,7 +434,7 @@
 
 				/* do not save the thumbnail if the source file has changed meanwhile -
 				   the thumbnail is most probably broken */
-				if (stat_utf8(tl->fd->path, &st) && 
+				if (stat_utf8(tl->fd->path, &st) &&
 				    tl->source_mtime == st.st_mtime &&
 				    tl->source_size == st.st_size)
 					{
@@ -581,14 +581,14 @@
 		thumb_loader_std_done_cb(il, data);
 		return;
 		}
-	
+
 	DEBUG_1("thumb image error: %s", tl->fd->path);
 	DEBUG_1("             from: %s", image_loader_get_fd(tl->il)->path);
 
 	if (thumb_loader_std_next_source(tl, TRUE)) return;
 
 	thumb_loader_std_set_fallback(tl);
-	
+
 	if (tl->func_error) tl->func_error(tl, tl->data);
 }
 
@@ -792,9 +792,9 @@
 	GdkPixbuf *pixbuf;
 	gboolean valid = FALSE;
 
-	/* get the original thumbnail pixbuf (unrotated, with original options) 
+	/* get the original thumbnail pixbuf (unrotated, with original options)
 	   this is called from image_loader done callback, so tv->tl->il must exist*/
-	pixbuf = image_loader_get_pixbuf(tv->tl->il); 
+	pixbuf = image_loader_get_pixbuf(tv->tl->il);
 	if (pixbuf)
 		{
 		const gchar *uri;
@@ -959,9 +959,9 @@
 	TMaintMove *tm = data;
 	GdkPixbuf *pixbuf;
 
-	/* get the original thumbnail pixbuf (unrotated, with original options) 
+	/* get the original thumbnail pixbuf (unrotated, with original options)
 	   this is called from image_loader done callback, so tm->tl->il must exist*/
-	pixbuf = image_loader_get_pixbuf(tm->tl->il); 
+	pixbuf = image_loader_get_pixbuf(tm->tl->il);
 	if (pixbuf)
 		{
 		const gchar *uri;
--- a/src/thumb_standard.h	Sun May 27 18:41:56 2012 +0100
+++ b/src/thumb_standard.h	Tue Oct 02 22:19:13 2012 +0100
@@ -1,7 +1,7 @@
 /*
  * Geeqie
  * (C) 2006 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * Author: John Ellis
  *
--- a/src/trash.c	Sun May 27 18:41:56 2012 +0100
+++ b/src/trash.c	Tue Oct 02 22:19:13 2012 +0100
@@ -1,7 +1,7 @@
 /*
  * Geeqie
  * (C) 2006 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * Author: John Ellis
  *
@@ -210,7 +210,7 @@
 			buf = g_strdup_printf(_("Safe delete: %s"), _("off"));
 			}
 		}
-		
+
 	return buf;
 }
 /* vim: set shiftwidth=8 softtabstop=0 cindent cinoptions={1s: */
--- a/src/trash.h	Sun May 27 18:41:56 2012 +0100
+++ b/src/trash.h	Tue Oct 02 22:19:13 2012 +0100
@@ -1,6 +1,6 @@
 /*
  * Geeqie
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * This software is released under the GNU General Public License (GNU GPL).
  * Please read the included file COPYING for more information.
--- a/src/typedefs.h	Sun May 27 18:41:56 2012 +0100
+++ b/src/typedefs.h	Tue Oct 02 22:19:13 2012 +0100
@@ -1,7 +1,7 @@
 /*
  * Geeqie
  * (C) 2006 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * Author: John Ellis
  *
@@ -50,7 +50,8 @@
 	SORT_SIZE,
 	SORT_TIME,
 	SORT_PATH,
-	SORT_NUMBER
+	SORT_NUMBER,
+	SORT_EXIFTIME
 } SortType;
 
 typedef enum {
@@ -139,7 +140,7 @@
 	NOTIFY_PRIORITY_MEDIUM,
 	NOTIFY_PRIORITY_LOW
 } NotifyPriority;
-	
+
 typedef enum {
 	NOTIFY_MARKS		= 1 << 1, /* changed marks */
 	NOTIFY_PIXBUF		= 1 << 2, /* image was read into fd->pixbuf */
@@ -158,11 +159,11 @@
 	CHANGE_WARN_SAME               = 1 << 2,
 	CHANGE_WARN_CHANGED_EXT        = 1 << 3,
 	CHANGE_WARN_UNSAVED_META       = 1 << 4,
+	CHANGE_WARN_NO_WRITE_PERM_DEST_DIR  = 1 << 5,
 	CHANGE_ERROR_MASK              = (~0) << 8, /* the values below are fatal errors */
 	CHANGE_NO_READ_PERM            = 1 << 8,
 	CHANGE_NO_WRITE_PERM_DIR       = 1 << 9,
 	CHANGE_NO_DEST_DIR             = 1 << 10,
-	CHANGE_NO_WRITE_PERM_DEST_DIR  = 1 << 11,
 	CHANGE_NO_WRITE_PERM_DEST      = 1 << 12,
 	CHANGE_DEST_EXISTS             = 1 << 13,
 	CHANGE_NO_SRC                  = 1 << 14,
@@ -486,7 +487,7 @@
 };
 
 struct _FileData {
-	gint magick;
+	guint magick;
 	gint type;
 	gchar *original_path; /* key to file_data_pool hash table */
 	gchar *path;
@@ -498,7 +499,7 @@
 	time_t date;
 	mode_t mode; /* this is needed at least for notification in view_dir because it is preserved after the file/directory is deleted */
 	gint sidecar_priority;
-	
+
 	guint marks; /* each bit represents one mark */
 	guint valid_marks; /* zero bit means that the corresponding mark needs to be reread */
 
@@ -510,7 +511,7 @@
 
 	GdkPixbuf *pixbuf; /* full-size image, only complete images, NULL during loading
 			      all FileData with non-NULL pixbuf are referenced by image_cache */
-			      
+
 	HistMap *histmap;
 
 	gint ref;
@@ -519,8 +520,9 @@
 
 	gint user_orientation;
 	gint exif_orientation;
-	
+
 	ExifData *exif;
+	time_t exifdate;
 	GHashTable *modified_xmp; // hash table which contains unwritten xmp metadata in format: key->list of string values
 	GList *cached_metadata;
 };
@@ -671,7 +673,7 @@
 	GtkWidget *info_details;
 	GtkWidget *info_zoom;
 	GtkWidget *info_pixel;
-	
+
 	/* slide show */
 
 	SlideShowData *slideshow;
@@ -780,7 +782,7 @@
 	gboolean marks_enabled;
 	gint active_mark;
 	gint clicked_mark;
-	
+
 	/* refresh */
 	guint refresh_idle_id; /* event source id */
 	time_t time_refresh_set; /* time when refresh_idle_id was set */
@@ -866,6 +868,8 @@
 
 	void (*stop_func)(FullScreenData *, gpointer);
 	gpointer stop_data;
+
+	gboolean same_region; /* the returned region will overlap the current location of widget. */
 };
 
 struct _PixmapFolders
--- a/src/ui_bookmark.c	Sun May 27 18:41:56 2012 +0100
+++ b/src/ui_bookmark.c	Tue Oct 02 22:19:13 2012 +0100
@@ -1,7 +1,7 @@
 /*
  * (SLIK) SimpLIstic sKin functions
  * (C) 2004 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * Author: John Ellis
  *
@@ -383,9 +383,11 @@
 static void bookmark_menu_position_cb(GtkMenu *menu, gint *x, gint *y, gint *pushed_in, gpointer data)
 {
 	GtkWidget *button = data;
+	GtkAllocation allocation;
 
-	gdk_window_get_origin(button->window, x, y);
-	*y += button->allocation.y + button->allocation.height;
+	gtk_widget_set_allocation(button, &allocation);
+	gdk_window_get_origin(gtk_widget_get_window(button), x, y);
+	*y += allocation.y + allocation.height;
 }
 
 static void bookmark_menu_popup(BookMarkData *bm, GtkWidget *button,
@@ -437,20 +439,20 @@
 
 	switch (event->keyval)
 		{
-		case GDK_F10:
+		case GDK_KEY_F10:
 			if (!(event->state & GDK_CONTROL_MASK)) return FALSE;
-		case GDK_Menu:
+		case GDK_KEY_Menu:
 			bookmark_menu_popup(bm, button, 0, event->time, TRUE);
 			return TRUE;
 			break;
-		case GDK_Up:
+		case GDK_KEY_Up:
 			if (event->state & GDK_SHIFT_MASK)
 				{
 				bookmark_move(bm, button, -1);
 				return TRUE;
 				}
 			break;
-		case GDK_Down:
+		case GDK_KEY_Down:
 			if (event->state & GDK_SHIFT_MASK)
 				{
 				bookmark_move(bm, button, 1);
@@ -468,34 +470,30 @@
 {
 	BookMarkData *bm = data;
 	BookButtonData *b;
-	gchar *uri_text = NULL;
-	gint length = 0;
 	GList *list = NULL;
 
+#if GTK_CHECK_VERSION(3,0,0)
+	if (gdk_drag_context_get_dest_window(context) == gtk_widget_get_window(bm->widget)) return;
+#else
 	if (context->dest_window == bm->widget->window) return;
+#endif
 
 	b = g_object_get_data(G_OBJECT(button), "bookbuttondata");
 	if (!b) return;
 
 	list = g_list_append(list, b->path);
 
-	switch (info)
+	gchar **uris = uris_from_filelist(list);
+	gboolean ret = gtk_selection_data_set_uris(selection_data, uris);
+	if (!ret)
 		{
-		case TARGET_URI_LIST:
-			uri_text = uri_text_from_list(list, &length, FALSE);
-			break;
-		case TARGET_TEXT_PLAIN:
-			uri_text = uri_text_from_list(list, &length, TRUE);
-			break;
+		char *str = g_strjoinv("\r\n", uris);
+		ret = gtk_selection_data_set_text(selection_data, str, -1);
+		g_free(str);
 		}
 
+	g_strfreev(uris);
 	g_list_free(list);
-
-	if (!uri_text) return;
-
-	gtk_selection_data_set(selection_data, selection_data->target,
-			       8, (guchar *)uri_text, length);
-	g_free(uri_text);
 }
 
 static void bookmark_drag_begin(GtkWidget *button, GdkDragContext *context, gpointer data)
@@ -503,17 +501,25 @@
 	GdkPixbuf *pixbuf;
 	GdkModifierType mask;
 	gint x, y;
+	GtkAllocation allocation;
 
+	gtk_widget_get_allocation(button, &allocation);
+
+#if GTK_CHECK_VERSION(3,0,0)
+	pixbuf = gdk_pixbuf_get_from_window(gtk_widget_get_window(button),
+					    allocation.x, allocation.y,
+					    allocation.width, allocation.height);
+#else
 	pixbuf = gdk_pixbuf_new(GDK_COLORSPACE_RGB, FALSE, 8,
-				button->allocation.width, button->allocation.height);
-	gdk_pixbuf_get_from_drawable(pixbuf, button->window, NULL,
-				     button->allocation.x, button->allocation.y,
-				     0, 0, button->allocation.width, button->allocation.height);
-
-	gdk_window_get_pointer(button->window, &x, &y, &mask);
+				allocation.width, allocation.height);
+	gdk_pixbuf_get_from_drawable(pixbuf, gtk_widget_get_window(button), NULL,
+				     allocation.x, allocation.y,
+				     0, 0, allocation.width, allocation.height);
+#endif
+	gdk_window_get_pointer(gtk_widget_get_window(button), &x, &y, &mask);
 
 	gtk_drag_set_icon_pixbuf(context, pixbuf,
-				 x - button->allocation.x, y - button->allocation.y);
+				 x - allocation.x, y - allocation.y);
 	g_object_unref(pixbuf);
 }
 
@@ -681,16 +687,13 @@
 	BookMarkData *bm = data;
 	GList *list = NULL;
 	GList *work;
+	gchar **uris;
 
 	if (!bm->editable) return;
 
-	switch (info)
-		{
-		case TARGET_URI_LIST:
-		case TARGET_X_URL:
-			list = uri_list_from_text((gchar *)selection_data->data, FALSE);
-			break;
-		}
+	uris = gtk_selection_data_get_uris(selection_data);
+	list = uri_filelist_from_uris(uris);
+	g_strfreev(uris);
 
 	work = list;
 	while (work)
@@ -871,13 +874,9 @@
 	hc->history_key = g_strdup(history_key);
 	hc->history_levels = max_levels;
 
-	hc->combo = gtk_combo_box_entry_new_text();
-#if 0
-	gtk_combo_set_case_sensitive(GTK_COMBO(hc->combo), TRUE);
-	gtk_combo_set_use_arrows(GTK_COMBO(hc->combo), FALSE);
-#endif
+	hc->combo = gtk_combo_box_text_new_with_entry();
 
-	hc->entry = GTK_BIN(hc->combo)->child;
+	hc->entry = gtk_bin_get_child(GTK_BIN(hc->combo));
 
 	g_object_set_data(G_OBJECT(hc->combo), "history_combo_data", hc);
 	g_object_set_data(G_OBJECT(hc->entry), "history_combo_data", hc);
@@ -887,7 +886,7 @@
 	work = history_list_get_by_key(hc->history_key);
 	while (work)
 		{
-		gtk_combo_box_append_text(GTK_COMBO_BOX(hc->combo), (gchar *)work->data);
+		gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(hc->combo), (gchar *)work->data);
 		work = work->next;
 		n++;
 		}
@@ -944,7 +943,7 @@
 		work = history_list_get_by_key(hc->history_key);
 		while (work)
 			{
-			gtk_combo_box_append_text(GTK_COMBO_BOX(hc->combo), (gchar *)work->data);
+			gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(hc->combo), (gchar *)work->data);
 			work = work->next;
 			}
 		}
--- a/src/ui_bookmark.h	Sun May 27 18:41:56 2012 +0100
+++ b/src/ui_bookmark.h	Tue Oct 02 22:19:13 2012 +0100
@@ -1,7 +1,7 @@
 /*
  * (SLIK) SimpLIstic sKin functions
  * (C) 2004 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * Author: John Ellis
  *
--- a/src/ui_fileops.c	Sun May 27 18:41:56 2012 +0100
+++ b/src/ui_fileops.c	Tue Oct 02 22:19:13 2012 +0100
@@ -1,7 +1,7 @@
 /*
  * (SLIK) SimpLIstic sKin functions
  * (C) 2006 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * Author: John Ellis
  *
@@ -49,25 +49,6 @@
 	g_free(text_l);
 }
 
-static void encoding_dialog(const gchar *path);
-
-static gboolean encoding_dialog_idle(gpointer data)
-{
-	gchar *path = data;
-
-	encoding_dialog(path);
-	g_free(path);
-
-	return FALSE;
-}
-
-static gint encoding_dialog_delay(gpointer data)
-{
-	g_idle_add(encoding_dialog_idle, data);
-
-	return 0;
-}
-
 static void encoding_dialog(const gchar *path)
 {
 	static gboolean warned_user = FALSE;
@@ -76,14 +57,6 @@
 	const gchar *lc;
 	const gchar *bf;
 
-	/* check that gtk is initialized (loop is level > 0) */
-	if (gtk_main_level() == 0)
-		{
-		/* gtk not initialized */
-		gtk_init_add(encoding_dialog_delay, g_strdup(path));
-		return;
-		}
-
 	if (warned_user) return;
 	warned_user = TRUE;
 
@@ -107,7 +80,7 @@
 		name = g_convert(path, -1, "UTF-8", "ISO-8859-1", NULL, NULL, NULL);
 		string = g_string_append(string, _("\nPreferred encoding appears to be UTF-8, however the file:\n"));
 		g_string_append_printf(string, "\"%s\"\n", (name) ? name : _("[name not displayable]"));
-		
+
 		if (g_utf8_validate(path, -1, NULL))
 			g_string_append_printf(string, _("\"%s\" is encoded in valid UTF-8."), (name) ? name : _("[name not displayable]"));
 		else
@@ -196,7 +169,7 @@
 
 	if (!home)
 		home = path_to_utf8(getenv("HOME"));
-	
+
 	if (!home)
 		home = path_to_utf8(g_get_home_dir());
 
@@ -211,7 +184,7 @@
 		{
     		return g_build_filename(homedir(), fallback, NULL);
     		}
-	
+
 	return path_to_utf8(dir);
 }
 
@@ -220,7 +193,7 @@
 	static const gchar *xdg_data_home = NULL;
 
 	if (xdg_data_home) return xdg_data_home;
-    	
+
 	xdg_data_home = xdg_dir_get("XDG_DATA_HOME", ".local/share");
 
 	return xdg_data_home;
@@ -231,7 +204,7 @@
 	static const gchar *xdg_config_home = NULL;
 
 	if (xdg_config_home) return xdg_config_home;
-    	
+
 	xdg_config_home = xdg_dir_get("XDG_CONFIG_HOME", ".config");
 
 	return xdg_config_home;
@@ -242,7 +215,7 @@
 	static const gchar *xdg_cache_home = NULL;
 
 	if (xdg_cache_home) return xdg_cache_home;
-    	
+
 	xdg_cache_home = xdg_dir_get("XDG_CACHE_HOME", ".cache");
 
 	return xdg_cache_home;
@@ -251,7 +224,7 @@
 const gchar *get_rc_dir(void)
 {
 	static gchar *rc_dir = NULL;
-	
+
 	if (rc_dir) return rc_dir;
 
 	if (USE_XDG)
@@ -289,7 +262,7 @@
 	static gchar *trash_dir = NULL;
 
 	if (trash_dir) return trash_dir;
-	
+
 	if (USE_XDG)
 		{
 		trash_dir = g_build_filename(xdg_data_home_get(), GQ_APPNAME_LC, GQ_TRASH_DIR, NULL);
@@ -545,15 +518,15 @@
 
 	fi = fopen(sl, "rb");
 	if (!fi) goto end;
-	
+
 	/* First we write to a temporary file, then we rename it on success,
 	   and attributes from original file are copied */
 	randname = g_strconcat(tl, ".tmp_XXXXXX", NULL);
 	if (!randname) goto end;
-	
+
 	fd = g_mkstemp(randname);
 	if (fd == -1) goto end;
-	
+
 	fo = fdopen(fd, "wb");
 	if (!fo) {
 		close(fd);
@@ -574,7 +547,7 @@
 
 	if (rename(randname, tl) < 0) {
 		unlink(randname);
-		goto end; 	
+		goto end;
 	}
 
 	ret = copy_file_attributes(s, t, TRUE, TRUE);
@@ -828,7 +801,7 @@
 				continue;
 				}
 			}
-	
+
 		if (s != t) path[t] = path[s];
 		t++;
 		s++;
@@ -892,7 +865,7 @@
 					p[0] = '\0';
 					end = FALSE;
 					}
-				
+
 				if (!isdir(npath))
 					{
 					DEBUG_1("creating sub dir:%s", npath);
@@ -903,7 +876,7 @@
 						return FALSE;
 						}
 					}
-				
+
 				if (!end) p[0] = G_DIR_SEPARATOR;
 				}
 			}
--- a/src/ui_fileops.h	Sun May 27 18:41:56 2012 +0100
+++ b/src/ui_fileops.h	Tue Oct 02 22:19:13 2012 +0100
@@ -1,7 +1,7 @@
 /*
  * (SLIK) SimpLIstic sKin functions
  * (C) 2004 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * Author: John Ellis
  *
--- a/src/ui_help.c	Sun May 27 18:41:56 2012 +0100
+++ b/src/ui_help.c	Tue Oct 02 22:19:13 2012 +0100
@@ -1,7 +1,7 @@
 /*
  * (SLIK) SimpLIstic sKin functions
  * (C) 2004 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * Author: John Ellis
  *
@@ -65,10 +65,6 @@
 		gtk_text_buffer_get_iter_at_line_offset(buffer, &iter, line, 0);
 		gtk_text_buffer_place_cursor(buffer, &iter);
 
-#if 0
-		gtk_text_view_scroll_to_iter(GTK_TEXT_VIEW(text), &iter, 0.0, TRUE, 0, 0);
-#endif
-
 		/* apparently only scroll_to_mark works when the textview is not visible yet */
 
 		/* if mark exists, move it instead of creating one for every scroll */
@@ -167,7 +163,7 @@
 	text = g_object_get_data(G_OBJECT(window), "text_widget");
 	if (!text) return;
 
-	gdk_window_raise(window->window);
+	gdk_window_raise(gtk_widget_get_window(window));
 
 	if (key) help_window_scroll(text, key);
 }
@@ -181,7 +177,7 @@
 	text = g_object_get_data(G_OBJECT(window), "text_widget");
 	if (!text) return;
 
-	gdk_window_raise(window->window);
+	gdk_window_raise(gtk_widget_get_window(window));
 
 	help_window_load_text(text, path);
 	help_window_scroll(text, key);
@@ -203,9 +199,6 @@
 
 	window = window_new(GTK_WINDOW_TOPLEVEL, subclass, NULL, NULL, title);
 	gtk_window_set_resizable(GTK_WINDOW(window), TRUE);
-#if 0
-	gtk_container_set_border_width(GTK_CONTAINER(window), PREF_PAD_BORDER);
-#endif
 	gtk_window_set_default_size(GTK_WINDOW(window), HELP_WINDOW_WIDTH, HELP_WINDOW_HEIGHT);
 
 	g_signal_connect(G_OBJECT(window), "delete_event",
@@ -249,7 +242,7 @@
 	g_signal_connect(G_OBJECT(button), "clicked",
 			 G_CALLBACK(help_window_close), window);
 	gtk_container_add(GTK_CONTAINER(hbox), button);
-	GTK_WIDGET_SET_FLAGS(button, GTK_CAN_DEFAULT);
+	gtk_widget_set_can_default(button, TRUE);
 	gtk_widget_grab_default(button);
 	gtk_widget_show(button);
 
--- a/src/ui_help.h	Sun May 27 18:41:56 2012 +0100
+++ b/src/ui_help.h	Tue Oct 02 22:19:13 2012 +0100
@@ -1,7 +1,7 @@
 /*
  * (SLIK) SimpLIstic sKin functions
  * (C) 2004 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * Author: John Ellis
  *
--- a/src/ui_menu.c	Sun May 27 18:41:56 2012 +0100
+++ b/src/ui_menu.c	Tue Oct 02 22:19:13 2012 +0100
@@ -1,7 +1,7 @@
 /*
  * (SLIK) SimpLIstic sKin functions
  * (C) 2004 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * Author: John Ellis
  *
@@ -162,9 +162,11 @@
 	gboolean adjusted = FALSE;
 	gint w, h;
 	gint xw, xh;
+	GtkRequisition requisition;
 
-	w = GTK_WIDGET(menu)->requisition.width;
-	h = GTK_WIDGET(menu)->requisition.height;
+	gtk_widget_get_requisition(GTK_WIDGET(menu), &requisition);
+	w = requisition.width;
+	h = requisition.height;
 	xw = gdk_screen_width();
 	xh = gdk_screen_height();
 
--- a/src/ui_menu.h	Sun May 27 18:41:56 2012 +0100
+++ b/src/ui_menu.h	Tue Oct 02 22:19:13 2012 +0100
@@ -1,7 +1,7 @@
 /*
  * (SLIK) SimpLIstic sKin functions
  * (C) 2004 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * Author: John Ellis
  *
--- a/src/ui_misc.c	Sun May 27 18:41:56 2012 +0100
+++ b/src/ui_misc.c	Tue Oct 02 22:19:13 2012 +0100
@@ -1,7 +1,7 @@
 /*
  * (SLIK) SimpLIstic sKin functions
  * (C) 2004 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * Author: John Ellis
  *
@@ -65,9 +65,14 @@
 	vbox = gtk_vbox_new(FALSE, PREF_PAD_GAP);
 
 	/* add additional spacing if necessary */
-	if (GTK_IS_VBOX(parent_box) && GTK_BOX(parent_box)->children != NULL)
+	if (GTK_IS_VBOX(parent_box))
 		{
-		pref_spacer(vbox, PREF_PAD_GROUP - PREF_PAD_GAP);
+		GList *list = gtk_container_get_children(GTK_CONTAINER(parent_box));
+		if (list)
+			{
+			pref_spacer(vbox, PREF_PAD_GROUP - PREF_PAD_GAP);
+			}
+		g_list_free(list);
 		}
 
 	gtk_box_pack_start(GTK_BOX(parent_box), vbox, fill, fill, 0);
@@ -538,24 +543,11 @@
 			     G_CALLBACK(pref_spin_int_cb), value_var);
 }
 
-#if 0
-void pref_spin_set_blocking(GtkWidget *spin, gdouble value, gpointer block_data)
-{
-	g_signal_handlers_block_matched(G_OBJECT(spin), G_SIGNAL_MATCH_DATA, 0, 0, NULL, NULL, block_data);
-	gtk_spin_button_set_value(GTK_SPIN_BUTTON(spin), value);
-	g_signal_handlers_unblock_matched(G_OBJECT(spin), G_SIGNAL_MATCH_DATA, 0, 0, NULL, NULL, block_data);
-}
-#endif
-
 static void pref_link_sensitivity_cb(GtkWidget *watch, GtkStateType prev_state, gpointer data)
 {
 	GtkWidget *widget = data;
 
-#if GTK_CHECK_VERSION(2,20,0)
 	gtk_widget_set_sensitive(widget, gtk_widget_is_sensitive(watch));
-#else
-	gtk_widget_set_sensitive(widget, GTK_WIDGET_IS_SENSITIVE(watch));
-#endif
 }
 
 void pref_link_sensitivity(GtkWidget *widget, GtkWidget *watch)
@@ -657,25 +649,6 @@
 	return button;
 }
 
-#if 0
-static GtkWidget *pref_table_checkbox(GtkWidget *table, gint column, gint row,
-				      const gchar *text, gint active,
-				      GCallback func, gpointer data)
-{
-	GtkWidget *button;
-
-	button = gtk_check_button_new_with_label(text);
-	gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(button), active);
-	if (func) g_signal_connect(G_OBJECT(button), "clicked", func, data);
-
-	gtk_table_attach(GTK_TABLE(table), button, column, column + 1, row, row + 1,
-			 GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0);
-	gtk_widget_show(button);
-
-	return button;
-}
-#endif
-
 GtkWidget *pref_table_spin(GtkWidget *table, gint column, gint row,
 			   const gchar *text, const gchar *suffix,
 			   gdouble min, gdouble max, gdouble step, gint digits,
@@ -736,24 +709,10 @@
 }
 
 
-#if ! GTK_CHECK_VERSION(2,12,0)
-
-static void pref_toolbar_destroy_cb(GtkWidget *widget, gpointer data)
-{
-	GtkTooltips *tips = data;
-
-	g_object_unref(G_OBJECT(tips));
-}
-
-#endif
-
 GtkWidget *pref_toolbar_new(GtkWidget *parent_box, GtkToolbarStyle style)
 {
 	GtkWidget *tbar;
-#if ! GTK_CHECK_VERSION(2,12,0)
-	GtkTooltips *tips;
-#endif
-	
+
 	tbar = gtk_toolbar_new();
 	gtk_toolbar_set_style(GTK_TOOLBAR(tbar), style);
 
@@ -762,27 +721,6 @@
 		gtk_box_pack_start(GTK_BOX(parent_box), tbar, FALSE, FALSE, 0);
 		gtk_widget_show(tbar);
 		}
-
-#if ! GTK_CHECK_VERSION(2,12,0)
-	tips = gtk_tooltips_new();
-
-	/* take ownership of tooltips */
-#  ifdef GTK_OBJECT_FLOATING
-	/* GTK+ < 2.10 */
-	g_object_ref(G_OBJECT(tips));
-	gtk_object_sink(GTK_OBJECT(tips));
-#  else
-	/* GTK+ >= 2.10 */
-	g_object_ref_sink(G_OBJECT(tips));
-#  endif
-
-	g_object_set_data(G_OBJECT(tbar), "tooltips", tips);
-	g_signal_connect(G_OBJECT(tbar), "destroy",
-			 G_CALLBACK(pref_toolbar_destroy_cb), tips);
-
-	gtk_tooltips_enable(tips);
-#endif
-
 	return tbar;
 }
 
@@ -825,18 +763,8 @@
 
 	if (description)
 		{
-
-#if GTK_CHECK_VERSION(2,12,0)
-
 		gtk_widget_set_tooltip_text(item, description);
-			
-#else
-		GtkTooltips *tips;
-
-		tips = g_object_get_data(G_OBJECT(toolbar), "tooltips");
-		gtk_tool_item_set_tooltip(GTK_TOOL_ITEM(item), tips, description, NULL);
-#endif
-	}
+		}
 
 	return item;
 }
@@ -894,11 +822,7 @@
 {
 	if (!ds->window) return;
 
-#if GTK_CHECK_VERSION(2,20,0)
 	if (gtk_widget_has_grab(ds->window))
-#else
-	if (GTK_WIDGET_HAS_GRAB(ds->window))
-#endif
 		{
 		gtk_grab_remove(ds->window);
 		gdk_keyboard_ungrab(GDK_CURRENT_TIME);
@@ -928,12 +852,15 @@
 	gint x, y;
 	gint w, h;
 	gint xr, yr;
+	GdkWindow *window;
 
 	xr = (gint)event->x_root;
 	yr = (gint)event->y_root;
 
-	gdk_window_get_origin(ds->window->window, &x, &y);
-	gdk_drawable_get_size(ds->window->window, &w, &h);
+	window = gtk_widget_get_window(ds->window);
+	gdk_window_get_origin(window, &x, &y);
+	w = gdk_window_get_width(window);
+	h = gdk_window_get_height(window);
 
 	if (xr < x || yr < y || xr > x + w || yr > y + h)
 		{
@@ -959,14 +886,14 @@
 
 	switch (event->keyval)
 		{
-		case GDK_Return:
-		case GDK_KP_Enter:
-		case GDK_Tab:
-		case GDK_ISO_Left_Tab:
+		case GDK_KEY_Return:
+		case GDK_KEY_KP_Enter:
+		case GDK_KEY_Tab:
+		case GDK_KEY_ISO_Left_Tab:
 			date_selection_popup_sync(ds);
 			date_selection_popup_hide(ds);
 			break;
-		case GDK_Escape:
+		case GDK_KEY_Escape:
 			date_selection_popup_hide(ds);
 			break;
 		default:
@@ -995,6 +922,8 @@
 	gint x, y;
 	gint wx, wy;
 	gint day, month, year;
+	GtkAllocation button_allocation;
+	GtkAllocation window_allocation;
 
 	if (ds->window) return;
 
@@ -1020,14 +949,17 @@
 
 	gtk_widget_realize(ds->window);
 
-	gdk_window_get_origin(ds->button->window, &wx, &wy);
+	gdk_window_get_origin(gtk_widget_get_window(ds->button), &wx, &wy);
+
+	gtk_widget_get_allocation(ds->button, &button_allocation);
+	gtk_widget_get_allocation(ds->window, &window_allocation);
 
-	x = wx + ds->button->allocation.x + ds->button->allocation.width - ds->window->allocation.width;
-	y = wy + ds->button->allocation.y + ds->button->allocation.height;
+	x = wx + button_allocation.x + button_allocation.width - window_allocation.width;
+	y = wy + button_allocation.y + button_allocation.height;
 
-	if (y + ds->window->allocation.height > gdk_screen_height())
+	if (y + window_allocation.height > gdk_screen_height())
 		{
-		y = wy + ds->button->allocation.y - ds->window->allocation.height;
+		y = wy + button_allocation.y - window_allocation.height;
 		}
 	if (x < 0) x = 0;
 	if (y < 0) y = 0;
@@ -1036,10 +968,10 @@
 	gtk_widget_show(ds->window);
 
 	gtk_widget_grab_focus(ds->calendar);
-	gdk_pointer_grab(ds->window->window, TRUE,
+	gdk_pointer_grab(gtk_widget_get_window(ds->window), TRUE,
 			 GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK | GDK_BUTTON_MOTION_MASK,
 			 NULL, NULL, GDK_CURRENT_TIME);
-	gdk_keyboard_grab(ds->window->window, TRUE, GDK_CURRENT_TIME);
+	gdk_keyboard_grab(gtk_widget_get_window(ds->window), TRUE, GDK_CURRENT_TIME);
 	gtk_grab_add(ds->window);
 
 	gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(ds->button), TRUE);
@@ -1058,15 +990,19 @@
 static void button_size_allocate_cb(GtkWidget *button, GtkAllocation *allocation, gpointer data)
 {
 	GtkWidget *spin = data;
+	GtkRequisition spin_requisition;
+	gtk_widget_get_requisition(spin, &spin_requisition);
 
-	if (allocation->height > spin->requisition.height)
+	if (allocation->height > spin_requisition.height)
 		{
 		GtkAllocation button_allocation;
+		GtkAllocation spin_allocation;
 
-		button_allocation = button->allocation;
-		button_allocation.height = spin->requisition.height;
-		button_allocation.y = spin->allocation.y +
-			(spin->allocation.height - spin->requisition.height) / 2;
+		gtk_widget_get_allocation(button, &button_allocation);
+		gtk_widget_get_allocation(spin, &spin_allocation);
+		button_allocation.height = spin_requisition.height;
+		button_allocation.y = spin_allocation.y +
+			(spin_allocation.height - spin_requisition.height) / 2;
 		gtk_widget_size_allocate(button, &button_allocation);
 		}
 }
@@ -1232,6 +1168,7 @@
 	SizerData *sd = data;
 	gint x, y;
 	gint w, h;
+	GtkAllocation parent_allocation;
 
 	if (!sd->in_drag) return FALSE;
 
@@ -1264,20 +1201,27 @@
 
 	if (sd->bounding_widget)
 		{
-		w = CLAMP(w, sd->sizer->allocation.width, sd->bounding_widget->allocation.width);
-		h = CLAMP(h, sd->sizer->allocation.height, sd->bounding_widget->allocation.height);
+		GtkAllocation sizer_allocation;
+		GtkAllocation bounding_allocation;
+		gtk_widget_get_allocation(sd->sizer, &sizer_allocation);
+		gtk_widget_get_allocation(sd->bounding_widget, &bounding_allocation);
+		w = CLAMP(w, sizer_allocation.width, bounding_allocation.width);
+		h = CLAMP(h, sizer_allocation.height, bounding_allocation.height);
 		}
 	else
 		{
-		if (w < sd->sizer->allocation.width) w = sd->sizer->allocation.width;
-		if (h < sd->sizer->allocation.height) h = sd->sizer->allocation.height;
+		GtkAllocation sizer_allocation;
+		gtk_widget_get_allocation(sd->sizer, &sizer_allocation);
+		if (w < sizer_allocation.width) w = sizer_allocation.width;
+		if (h < sizer_allocation.height) h = sizer_allocation.height;
 		}
 
 	if (sd->hsize_max >= 0) w = MIN(w, sd->hsize_max);
 	if (sd->vsize_max >= 0) h = MIN(h, sd->vsize_max);
 
-	if (w == sd->parent->allocation.width) w = -1;
-	if (h == sd->parent->allocation.height) h = -1;
+	gtk_widget_get_allocation(sd->parent, &parent_allocation);
+	if (w == parent_allocation.width) w = -1;
+	if (h == parent_allocation.height) h = -1;
 
 	if (w > 0 || h > 0) gtk_widget_set_size_request(sd->parent, w, h);
 
@@ -1287,6 +1231,7 @@
 static gboolean sizer_press_cb(GtkWidget *widget, GdkEventButton *bevent, gpointer data)
 {
 	SizerData *sd = data;
+	GtkAllocation parent_allocation;
 
 	if (bevent->button != MOUSE_BUTTON_LEFT) return FALSE;
 
@@ -1294,10 +1239,11 @@
 	sd->press_x = bevent->x_root;
 	sd->press_y = bevent->y_root;
 
-	sd->press_width = sd->parent->allocation.width;
-	sd->press_height = sd->parent->allocation.height;
+	gtk_widget_get_allocation(sd->parent, &parent_allocation);
+	sd->press_width = parent_allocation.width;
+	sd->press_height = parent_allocation.height;
 
-	gdk_pointer_grab(sd->sizer->window, FALSE,
+	gdk_pointer_grab(gtk_widget_get_window(sd->sizer), FALSE,
 			 GDK_POINTER_MOTION_MASK | GDK_BUTTON_RELEASE_MASK,
 			 NULL, NULL, bevent->time);
 	gtk_grab_add(sd->sizer);
@@ -1311,11 +1257,7 @@
 
 	if (bevent->button != MOUSE_BUTTON_LEFT) return FALSE;
 
-#if GTK_CHECK_VERSION(2,20,0)
 	if (gdk_pointer_is_grabbed() && gtk_widget_has_grab(sd->sizer))
-#else
-	if (gdk_pointer_is_grabbed() && GTK_WIDGET_HAS_GRAB(sd->sizer))
-#endif
 		{
 		gtk_grab_remove(sd->sizer);
 		gdk_pointer_ungrab(bevent->time);
@@ -1328,9 +1270,12 @@
 
 static void sizer_set_prelight(SizerData *sd, gboolean prelit)
 {
+	GtkAllocation sizer_allocation;
+	gtk_widget_get_allocation(sd->sizer, &sizer_allocation);
+
 	sd->handle_prelit = prelit;
 	gtk_widget_queue_draw_area(sd->sizer, 0, 0,
-				   sd->sizer->allocation.width, sd->sizer->allocation.height);
+				   sizer_allocation.width, sizer_allocation.height);
 }
 
 static gboolean sizer_enter_cb(GtkWidget *widget, GdkEventCrossing *event, gpointer data)
@@ -1351,12 +1296,24 @@
 
 static gboolean sizer_expose_cb(GtkWidget *widget, GdkEventExpose *event, gpointer data)
 {
+#if GTK_CHECK_VERSION(3,0,0)
+	GtkAllocation allocation;
+
+	gtk_widget_get_allocation(widget, &allocation);
+
+	cairo_t *cr = gdk_cairo_create(gtk_widget_get_window(widget));
+
+	gtk_render_handle (gtk_widget_get_style_context (widget),
+	                   cr, allocation.x, allocation.y, allocation.width, allocation.height);
+	cairo_destroy(cr);
+#else
 	SizerData *sd = data;
 	GdkRectangle clip;
 	GtkOrientation orientation;
 	GtkStateType state;
+	GtkAllocation allocation;
 
-	gdk_region_get_clipbox(event->region, &clip);
+	gtk_widget_get_allocation(widget, &allocation);
 
 	if (sd->position & SIZER_POS_LEFT || sd->position & SIZER_POS_RIGHT)
 		{
@@ -1373,14 +1330,17 @@
 		}
 	else
 		{
-		state = widget->state;
+		state = gtk_widget_get_state(widget);
 		}
 
-	gtk_paint_handle(widget->style, widget->window, state,
+	gdk_region_get_clipbox(event->region, &clip);
+
+	gtk_paint_handle(gtk_widget_get_style(widget), gtk_widget_get_window(widget), state,
 			 GTK_SHADOW_NONE, &clip, widget, "paned",
 			 0, 0,
-			 widget->allocation.width, widget->allocation.height,
+			 allocation.width, allocation.height,
 			 orientation);
+#endif
 
 	return TRUE;
 }
@@ -1400,11 +1360,11 @@
 		n = (n != 0) ? GDK_FLEUR : GDK_SB_H_DOUBLE_ARROW;
 		}
 
-	if (n != 0 && widget->window)
+	if (n != 0 && gtk_widget_get_window(widget))
 		{
 		GdkCursor *cursor;
 		cursor = gdk_cursor_new(n);
-		gdk_window_set_cursor(widget->window, cursor);
+		gdk_window_set_cursor(gtk_widget_get_window(widget), cursor);
 		gdk_cursor_unref(cursor);
 		}
 }
--- a/src/ui_misc.h	Sun May 27 18:41:56 2012 +0100
+++ b/src/ui_misc.h	Tue Oct 02 22:19:13 2012 +0100
@@ -1,7 +1,7 @@
 /*
  * (SLIK) SimpLIstic sKin functions
  * (C) 2004 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * Author: John Ellis
  *
--- a/src/ui_pathsel.c	Sun May 27 18:41:56 2012 +0100
+++ b/src/ui_pathsel.c	Tue Oct 02 22:19:13 2012 +0100
@@ -1,7 +1,7 @@
 /*
  * (SLIK) SimpLIstic sKin functions
  * (C) 2006 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * Author: John Ellis
  *
@@ -291,7 +291,7 @@
 		new_directory = g_path_get_dirname(full_path);
 	else
 		new_directory = g_strdup(full_path);
-	
+
 	gtk_entry_set_text(GTK_ENTRY(dd->entry), full_path);
 
 	dest_populate(dd, new_directory);
@@ -331,9 +331,7 @@
 			      guint info, guint time, gpointer data)
 {
 	gchar *path = NULL;
-	gchar *uri_text = NULL;
 	GList *list = NULL;
-	gint length = 0;
 	GtkTreeModel *model;
 	GtkTreeSelection *selection;
 	GtkTreeIter iter;
@@ -346,23 +344,16 @@
 
 	list = g_list_append(list, path);
 
-	switch (info)
+	gchar **uris = uris_from_filelist(list);
+	gboolean ret = gtk_selection_data_set_uris(selection_data, uris);
+	if (!ret)
 		{
-		case TARGET_URI_LIST:
-			uri_text = uri_text_from_list(list, &length, FALSE);
-			break;
-		case TARGET_TEXT_PLAIN:
-			uri_text = uri_text_from_list(list, &length, TRUE);
-			break;
+		char *str = g_strjoinv("\r\n", uris);
+		ret = gtk_selection_data_set_text(selection_data, str, -1);
+		g_free(str);
 		}
 
 	string_list_free(list);
-
-	if (!uri_text) return;
-
-	gtk_selection_data_set(selection_data, selection_data->target,
-			       8, (guchar *)uri_text, length);
-	g_free(uri_text);
 }
 
 static void dest_dnd_init(Dest_Data *dd)
@@ -696,9 +687,9 @@
 
 	switch (event->keyval)
 		{
-		case GDK_F10:
+		case GDK_KEY_F10:
 			if (!(event->state & GDK_CONTROL_MASK)) return FALSE;
-		case GDK_Menu:
+		case GDK_KEY_Menu:
 			dest_view_store_selection(dd, GTK_TREE_VIEW(view));
 			dest_popup_menu(dd, GTK_TREE_VIEW(view), 0, event->time, TRUE);
 			return TRUE;
@@ -711,7 +702,7 @@
 				return TRUE;
 				}
 			break;
-		case GDK_Delete:
+		case GDK_KEY_Delete:
 			dest_view_store_selection(dd, GTK_TREE_VIEW(view));
 			dest_view_delete(dd, GTK_TREE_VIEW(view));
 			return TRUE;
@@ -905,7 +896,7 @@
 
 	if (!dd->filter_list || !dd->filter_combo) return;
 
-	entry = GTK_BIN(dd->filter_combo)->child;
+	entry = gtk_bin_get_child(GTK_BIN(dd->filter_combo));
 	old_text = g_strdup(gtk_entry_get_text(GTK_ENTRY(entry)));
 
 	store = GTK_LIST_STORE(gtk_combo_box_get_model(GTK_COMBO_BOX(dd->filter_combo)));
@@ -972,7 +963,7 @@
 		}
 	dd->filter_text_list = uig_list_insert_link(dd->filter_text_list, g_list_last(dd->filter_text_list), buf);
 
-	if (set) gtk_entry_set_text(GTK_ENTRY(GTK_BIN(dd->filter_combo)->child), filter);
+	if (set) gtk_entry_set_text(GTK_ENTRY(gtk_bin_get_child(GTK_BIN(dd->filter_combo))), filter);
 	dest_filter_list_sync(dd);
 }
 
@@ -994,7 +985,7 @@
 	const gchar *buf;
 	gchar *path;
 
-	entry = GTK_BIN(dd->filter_combo)->child;
+	entry = gtk_bin_get_child(GTK_BIN(dd->filter_combo));
 	buf = gtk_entry_get_text(GTK_ENTRY(entry));
 
 	g_free(dd->filter);
@@ -1144,17 +1135,13 @@
 
 		store = gtk_list_store_new(2, G_TYPE_STRING, G_TYPE_STRING);
 
-		dd->filter_combo = gtk_combo_box_entry_new_with_model(GTK_TREE_MODEL(store),
-								      FILTER_COLUMN_FILTER);
+		dd->filter_combo = gtk_combo_box_new_with_model_and_entry(GTK_TREE_MODEL(store));
 		g_object_unref(store);
 		gtk_cell_layout_clear(GTK_CELL_LAYOUT(dd->filter_combo));
 		renderer = gtk_cell_renderer_text_new();
 		gtk_cell_layout_pack_start(GTK_CELL_LAYOUT(dd->filter_combo), renderer, TRUE);
 		gtk_cell_layout_set_attributes(GTK_CELL_LAYOUT(dd->filter_combo), renderer,
 					       "text", FILTER_COLUMN_NAME, NULL);
-#if 0
-		gtk_combo_set_case_sensitive(GTK_COMBO(dd->filter_combo), TRUE);
-#endif
 		gtk_box_pack_start(GTK_BOX(hbox2), dd->filter_combo, TRUE, TRUE, 0);
 		gtk_widget_show(dd->filter_combo);
 
@@ -1208,7 +1195,7 @@
 		dest_filter_clear(dd);
 		dest_filter_add(dd, filter, filter_desc, TRUE);
 
-		dd->filter = g_strdup(gtk_entry_get_text(GTK_ENTRY(GTK_BIN(dd->filter_combo)->child)));
+		dd->filter = g_strdup(gtk_entry_get_text(GTK_ENTRY(gtk_bin_get_child(GTK_BIN(dd->filter_combo)))));
 		}
 
 	if (path && path[0] == G_DIR_SEPARATOR && isdir(path))
@@ -1235,7 +1222,7 @@
 
 	if (dd->filter_combo)
 		{
-		g_signal_connect(G_OBJECT(GTK_BIN(dd->filter_combo)->child), "changed",
+		g_signal_connect(G_OBJECT(gtk_bin_get_child(GTK_BIN(dd->filter_combo))), "changed",
 				 G_CALLBACK(dest_filter_changed_cb), dd);
 		}
 	g_signal_connect(G_OBJECT(dd->entry), "changed",
--- a/src/ui_pathsel.h	Sun May 27 18:41:56 2012 +0100
+++ b/src/ui_pathsel.h	Tue Oct 02 22:19:13 2012 +0100
@@ -1,7 +1,7 @@
 /*
  * (SLIK) SimpLIstic sKin functions
  * (C) 2004 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * Author: John Ellis
  *
--- a/src/ui_spinner.c	Sun May 27 18:41:56 2012 +0100
+++ b/src/ui_spinner.c	Tue Oct 02 22:19:13 2012 +0100
@@ -1,7 +1,7 @@
 /*
  * (SLIK) SimpLIstic sKin functions
  * (C) 2004 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * Author: John Ellis
  *
--- a/src/ui_spinner.h	Sun May 27 18:41:56 2012 +0100
+++ b/src/ui_spinner.h	Tue Oct 02 22:19:13 2012 +0100
@@ -1,7 +1,7 @@
 /*
  * (SLIK) SimpLIstic sKin functions
  * (C) 2004 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * Author: John Ellis
  *
--- a/src/ui_tabcomp.c	Sun May 27 18:41:56 2012 +0100
+++ b/src/ui_tabcomp.c	Tue Oct 02 22:19:13 2012 +0100
@@ -1,7 +1,7 @@
 /*
  * (SLIK) SimpLIstic sKin functions
  * (C) 2006 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * Author: John Ellis
  *
@@ -68,7 +68,7 @@
 	gpointer enter_data;
 	gpointer tab_data;
 	gpointer tab_append_data;
-	
+
 	GtkWidget *combo;
 	gboolean has_history;
 	gchar *history_key;
@@ -206,11 +206,7 @@
 	TabCompData *td = data;
 	GtkWidget *child;
 
-#if GTK_CHECK_VERSION(2,20,0)
 	if (!gtk_widget_get_visible(widget)) return;
-#else
-	if (!GTK_WIDGET_VISIBLE(widget)) return;
-#endif
 
 	child = gtk_bin_get_child(GTK_BIN(widget));
 	if (GTK_IS_LABEL(child)) {
@@ -218,7 +214,7 @@
 		const gchar *entry_text = gtk_entry_get_text(GTK_ENTRY(td->entry));
 		const gchar *prefix = filename_from_path(entry_text);
 		guint prefix_len = strlen(prefix);
-		
+
 		if (strlen(text) < prefix_len || strncmp(text, prefix, prefix_len))
 			{
 			/* Hide menu items not matching */
@@ -236,8 +232,8 @@
 {
 	TabCompData *td = data;
 
-	if (event->keyval == GDK_Tab ||
-	    event->keyval == GDK_BackSpace ||
+	if (event->keyval == GDK_KEY_Tab ||
+	    event->keyval == GDK_KEY_BackSpace ||
 	    (event->keyval >= 0x20 && event->keyval <= 0xFF) )
 		{
 		if (event->keyval >= 0x20 && event->keyval <= 0xFF)
@@ -249,22 +245,18 @@
 			buf[1] = '\0';
 			gtk_editable_insert_text(GTK_EDITABLE(td->entry), buf, 1, &p);
 			gtk_editable_set_position(GTK_EDITABLE(td->entry), -1);
-		
+
 			/* Reduce the number of entries in the menu */
 			td->choices = 0;
 			gtk_container_foreach(GTK_CONTAINER(widget), tab_completion_iter_menu_items, (gpointer) td);
 			if (td->choices > 1) return TRUE; /* multiple choices */
 			if (td->choices > 0) tab_completion_do(td); /* one choice */
 			}
-		
+
 		/* close the menu */
 		gtk_menu_popdown(GTK_MENU(widget));
 		/* doing this does not emit the "selection done" signal, unref it ourselves */
-#if GTK_CHECK_VERSION(2,12,0)
 		g_object_unref(widget);
-#else
-		gtk_widget_unref(widget);
-#endif
 		return TRUE;
 		}
 
@@ -300,11 +292,13 @@
 	GdkScreen *screen;
 	gint monitor_num;
 	GdkRectangle monitor;
+	GtkRequisition requisition;
+	GtkAllocation allocation;
 
-	gdk_window_get_origin(td->entry->window, x, y);
+	gdk_window_get_origin(gtk_widget_get_window(GTK_WIDGET(td->entry)), x, y);
 
 	screen = gtk_widget_get_screen(GTK_WIDGET(menu));
-	monitor_num = gdk_screen_get_monitor_at_window(screen, td->entry->window);
+	monitor_num = gdk_screen_get_monitor_at_window(screen, gtk_widget_get_window(GTK_WIDGET(td->entry)));
 	gdk_screen_get_monitor_geometry(screen, monitor_num, &monitor);
 
 	gtk_widget_size_request(GTK_WIDGET(menu), &req);
@@ -317,7 +311,10 @@
 
 	*x += strong_pos.x / PANGO_SCALE + xoffset;
 
-	height = MIN(td->entry->requisition.height, td->entry->allocation.height);
+	gtk_widget_get_requisition(td->entry, &requisition);
+	gtk_widget_get_allocation(td->entry, &allocation);
+
+	height = MIN(requisition.height, allocation.height);
 
 	if (req.height > monitor.y + monitor.height - *y - height &&
 	    *y - monitor.y >  monitor.y + monitor.height - *y)
@@ -504,7 +501,7 @@
 	ptr = (gchar *)filename_from_path(entry_dir);
 	if (ptr > entry_dir) ptr--;
 	ptr[0] = '\0';
-	
+
 	if (strlen(entry_dir) == 0)
 		{
 		g_free(entry_dir);
@@ -610,7 +607,7 @@
 
 	switch (event->keyval)
 		{
-		case GDK_Tab:
+		case GDK_KEY_Tab:
 			if (!(event->state & GDK_CONTROL_MASK))
 				{
 				if (tab_completion_do(td))
@@ -620,7 +617,7 @@
 				stop_signal = TRUE;
 				}
 			break;
-		case GDK_Return: case GDK_KP_Enter:
+		case GDK_KEY_Return: case GDK_KEY_KP_Enter:
 			if (td->fd_button &&
 			    (event->state & GDK_CONTROL_MASK))
 				{
@@ -650,11 +647,7 @@
 
 	if (!td) return;
 
-#if GTK_CHECK_VERSION(2,20,0)
 	if (!gtk_widget_has_focus(entry))
-#else
-	if (!GTK_WIDGET_HAS_FOCUS(entry))
-#endif
 		{
 		gtk_widget_grab_focus(entry);
 		}
@@ -668,15 +661,17 @@
 static void tab_completion_button_size_allocate(GtkWidget *button, GtkAllocation *allocation, gpointer data)
 {
 	GtkWidget *parent = data;
+	GtkAllocation parent_allocation;
+	gtk_widget_get_allocation(parent, &parent_allocation);
 
-	if (allocation->height > parent->allocation.height)
+	if (allocation->height > parent_allocation.height)
 		{
 		GtkAllocation button_allocation;
 
-		button_allocation = button->allocation;
-		button_allocation.height = parent->allocation.height;
-		button_allocation.y = parent->allocation.y +
-			(parent->allocation.height - parent->allocation.height) / 2;
+		gtk_widget_get_allocation(button, &button_allocation);
+		button_allocation.height = parent_allocation.height;
+		button_allocation.y = parent_allocation.y +
+			(parent_allocation.height - parent_allocation.height) / 2;
 		gtk_widget_size_allocate(button, &button_allocation);
 		}
 }
@@ -688,7 +683,7 @@
 	GdkPixbuf *pixbuf;
 
 	button = gtk_button_new();
-	GTK_WIDGET_UNSET_FLAGS(button, GTK_CAN_FOCUS);
+	gtk_widget_set_can_focus(button, FALSE);
 	g_signal_connect(G_OBJECT(button), "size_allocate",
 			 G_CALLBACK(tab_completion_button_size_allocate), parent);
 	g_signal_connect(G_OBJECT(button), "clicked",
@@ -724,15 +719,11 @@
 
 	box = gtk_hbox_new(FALSE, 0);
 
-	combo = gtk_combo_box_entry_new_text();
+	combo = gtk_combo_box_text_new_with_entry();
 	gtk_box_pack_start(GTK_BOX(box), combo, TRUE, TRUE, 0);
 	gtk_widget_show(combo);
 
-	combo_entry = GTK_BIN(combo)->child;
-#if 0
-	gtk_combo_set_case_sensitive(GTK_COMBO(combo), TRUE);
-	gtk_combo_set_use_arrows(GTK_COMBO(combo), FALSE);
-#endif
+	combo_entry = gtk_bin_get_child(GTK_BIN(combo));
 
 	button = tab_completion_create_complete_button(combo_entry, combo);
 	gtk_box_pack_start(GTK_BOX(box), button, FALSE, FALSE, 0);
@@ -753,7 +744,7 @@
 	work = history_list_get_by_key(history_key);
 	while (work)
 		{
-		gtk_combo_box_append_text(GTK_COMBO_BOX(combo), (gchar *)work->data);
+		gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(combo), (gchar *)work->data);
 		work = work->next;
 		n++;
 		}
@@ -810,7 +801,7 @@
 	work = history_list_get_by_key(td->history_key);
 	while (work)
 		{
-		gtk_combo_box_append_text(GTK_COMBO_BOX(td->combo), (gchar *)work->data);
+		gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(td->combo), (gchar *)work->data);
 		work = work->next;
 		n++;
 		}
--- a/src/ui_tabcomp.h	Sun May 27 18:41:56 2012 +0100
+++ b/src/ui_tabcomp.h	Tue Oct 02 22:19:13 2012 +0100
@@ -1,7 +1,7 @@
 /*
  * (SLIK) SimpLIstic sKin functions
  * (C) 2004 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * Author: John Ellis
  *
--- a/src/ui_tree_edit.c	Sun May 27 18:41:56 2012 +0100
+++ b/src/ui_tree_edit.c	Tue Oct 02 22:19:13 2012 +0100
@@ -1,7 +1,7 @@
 /*
  * (SLIK) SimpLIstic sKin functions
  * (C) 2004 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * Author: John Ellis
  *
@@ -22,6 +22,8 @@
 #include <gtk/gtk.h>
 #include <gdk/gdkkeysyms.h>
 
+#include "compat.h"
+
 #include "ui_tree_edit.h"
 
 /*
@@ -74,6 +76,7 @@
 static gboolean tree_edit_click_cb(GtkWidget *widget, GdkEventButton *event, gpointer data)
 {
 	TreeEditData *ted = data;
+	GdkWindow *window = gtk_widget_get_window(ted->window);
 
 	gint x, y;
 	gint w, h;
@@ -83,8 +86,9 @@
 	xr = (gint)event->x_root;
 	yr = (gint)event->y_root;
 
-	gdk_window_get_origin(ted->window->window, &x, &y);
-	gdk_drawable_get_size(ted->window->window, &w, &h);
+	gdk_window_get_origin(window, &x, &y);
+	w = gdk_window_get_width(window);
+	h = gdk_window_get_height(window);
 
 	if (xr < x || yr < y || xr > x + w || yr > y + h)
 		{
@@ -102,21 +106,21 @@
 
 	switch (event->keyval)
 		{
-		case GDK_Return:
-		case GDK_KP_Enter:
-		case GDK_Tab: 		/* ok, we are going to intercept the focus change
+		case GDK_KEY_Return:
+		case GDK_KEY_KP_Enter:
+		case GDK_KEY_Tab: 		/* ok, we are going to intercept the focus change
 					   from keyboard and act like return was hit */
-		case GDK_ISO_Left_Tab:
-		case GDK_Up:
-		case GDK_Down:
-		case GDK_KP_Up:
-		case GDK_KP_Down:
-		case GDK_KP_Left:
-		case GDK_KP_Right:
+		case GDK_KEY_ISO_Left_Tab:
+		case GDK_KEY_Up:
+		case GDK_KEY_Down:
+		case GDK_KEY_KP_Up:
+		case GDK_KEY_KP_Down:
+		case GDK_KEY_KP_Left:
+		case GDK_KEY_KP_Right:
 			tree_edit_do(ted);
 			tree_edit_close(ted);
 			break;
-		case GDK_Escape:
+		case GDK_KEY_Escape:
 			tree_edit_close(ted);
 			break;
 		default:
@@ -164,12 +168,12 @@
 	/* explicitely set the focus flag for the entry, for some reason on popup windows this
 	 * is not set, and causes no edit cursor to appear ( popups not allowed focus? )
 	 */
-	GTK_WIDGET_SET_FLAGS(ted->entry, GTK_HAS_FOCUS);
+	gtk_widget_grab_focus(ted->entry);
 	gtk_grab_add(ted->window);
-	gdk_pointer_grab(ted->window->window, TRUE,
+	gdk_pointer_grab(gtk_widget_get_window(ted->window), TRUE,
 			 GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK | GDK_BUTTON_MOTION_MASK,
 			 NULL, NULL, GDK_CURRENT_TIME);
-	gdk_keyboard_grab(ted->window->window, TRUE, GDK_CURRENT_TIME);
+	gdk_keyboard_grab(gtk_widget_get_window(ted->window), TRUE, GDK_CURRENT_TIME);
 
 	return FALSE;
 }
@@ -184,20 +188,12 @@
 	GList *work;
 
 	if (!edit_func) return FALSE;
-#if GTK_CHECK_VERSION(2,20,0)
-	if (!gtk_widget_get_visible(tree)) return FALSE;
-#else
-	if (!GTK_WIDGET_VISIBLE(tree)) return FALSE;
-#endif
+	if (!gtk_widget_get_visible(GTK_WIDGET(tree))) return FALSE;
 
 	tcolumn = gtk_tree_view_get_column(tree, column);
 	if (!tcolumn) return FALSE;
 
-#if GTK_CHECK_VERSION(2,18,0)
 	list = gtk_cell_layout_get_cells(GTK_CELL_LAYOUT(tcolumn));
-#else
-	list = gtk_tree_view_column_get_cell_renderers(tcolumn);
-#endif
 	work = list;
 	while (work && !cell)
 		{
@@ -273,16 +269,18 @@
 	 * use x_offset instead for X scroll (sigh)
 	 */
 	gtk_tree_view_get_cell_area(widget, tpath, tv_column, &rect);
-#if GTK_CHECK_VERSION(2,12,0)
 	gtk_tree_view_convert_tree_to_widget_coords(widget, 0, 0, &x_offset, &y_offset);
-#else
-	gtk_tree_view_tree_to_widget_coords(widget, 0, 0, &x_offset, &y_offset);
-#endif
-	gdk_window_get_origin(GTK_WIDGET(widget)->window, &x_origin, &y_origin);
+	gdk_window_get_origin(gtk_widget_get_window(GTK_WIDGET(widget)), &x_origin, &y_origin);
 
 	if (gtk_tree_view_get_headers_visible(widget))
 		{
-		header_size = tv_column->button->allocation.height;
+		GtkAllocation allocation;
+#if GTK_CHECK_VERSION(3,0,0)
+		gtk_widget_get_allocation(gtk_tree_view_column_get_button(tv_column), &allocation);
+#else
+		gtk_widget_get_allocation(tv_column->button, &allocation);
+#endif
+		header_size = allocation.height;
 		}
 	else
 		{
@@ -297,11 +295,7 @@
 		gint cell_x;
 		gint cell_width;
 
-#if GTK_CHECK_VERSION(2,18,0)
 		renderers = gtk_cell_layout_get_cells(GTK_CELL_LAYOUT(tv_column));
-#else
-		renderers = gtk_tree_view_column_get_cell_renderers(tv_column);
-#endif
 		work = renderers;
 		while (work && !cell)
 			{
@@ -337,9 +331,12 @@
 	gint wx, wy, ww, wh;
 	GdkWindow *window;
 
-	window = GTK_WIDGET(widget)->window;
+	window = gtk_widget_get_window(GTK_WIDGET(widget));
 	gdk_window_get_origin(window, &wx, &wy);
-	gdk_drawable_get_size(window, &ww, &wh);
+
+	ww = gdk_window_get_width(window);
+	wh = gdk_window_get_height(window);
+
 	if (!tree_view_get_cell_origin(widget, tpath, column, text_cell_only, x,  y, width, height))
 		{
 		*x = wx;
@@ -355,7 +352,6 @@
 	*height = MIN(*height, wy + wh - (*y));
 }
 
-#if GTK_CHECK_VERSION(2,8,0)
 /* an implementation that uses gtk_tree_view_get_visible_range */
 gint tree_view_row_get_visibility(GtkTreeView *widget, GtkTreeIter *iter, gboolean fully_visible)
 {
@@ -397,47 +393,6 @@
 	return ret;
 }
 
-#else 
-/* an implementation that uses gtk_tree_view_get_visible_rect, it seems to be more error prone than the variant above */
-
-gint tree_view_row_get_visibility(GtkTreeView *widget, GtkTreeIter *iter, gboolean fully_visible)
-{
-	GtkTreeModel *store;
-	GtkTreePath *tpath;
-	gint cx, cy;
-
-	GdkRectangle vrect;
-	GdkRectangle crect;
-
-	if (!GTK_WIDGET_REALIZED(GTK_WIDGET(widget))) return -1; /* we will most probably scroll down, needed for tree_view_row_make_visible */
-
-	store = gtk_tree_view_get_model(widget);
-	tpath = gtk_tree_model_get_path(store, iter);
-
-	gtk_tree_view_get_visible_rect(widget, &vrect);
-	gtk_tree_view_get_cell_area(widget, tpath, NULL, &crect);
-	gtk_tree_path_free(tpath);
-
-
-#if GTK_CHECK_VERSION(2,12,0)
-	gtk_tree_view_convert_widget_to_tree_coords(widget, crect.x, crect.y, &cx, &cy);
-#else
-	gtk_tree_view_widget_to_tree_coords(widget, crect.x, crect.y, &cx, &cy);
-#endif
-
-	if (fully_visible)
-		{
-		if (cy < vrect.y) return -1;
-		if (cy + crect.height > vrect.y + vrect.height) return 1;
-		return 0;
-		}
-
-	if (cy + crect.height < vrect.y) return -1;
-	if (cy > vrect.y + vrect.height) return 1;
-	return 0;
-}
-#endif
-
 gint tree_view_row_make_visible(GtkTreeView *widget, GtkTreeIter *iter, gboolean center)
 {
 	GtkTreePath *tpath;
@@ -617,9 +572,10 @@
 		sd->max_step = MIN(sd->region_size, sd->max_step + 2);
 		}
 
-	window = sd->widget->window;
+	window = gtk_widget_get_window(sd->widget);
 	gdk_window_get_pointer(window, &x, &y, NULL);
-	gdk_drawable_get_size(window, &w, &h);
+	w = gdk_window_get_width(window);
+	h = gdk_window_get_height(window);
 
 	if (x < 0 || x >= w || y < 0 || y >= h)
 		{
@@ -649,7 +605,7 @@
 		{
 		amt = CLAMP(amt, 0 - sd->max_step, sd->max_step);
 
-		if (sd->adj->value != CLAMP(sd->adj->value + amt, sd->adj->lower, sd->adj->upper - sd->adj->page_size))
+		if (gtk_adjustment_get_value(sd->adj) != CLAMP(gtk_adjustment_get_value(sd->adj) + amt, gtk_adjustment_get_lower(sd->adj), gtk_adjustment_get_upper(sd->adj) - gtk_adjustment_get_page_size(sd->adj)))
 			{
 			/* only notify when scrolling is needed */
 			if (sd->notify_func && !sd->notify_func(sd->widget, x, y, sd->notify_data))
@@ -660,7 +616,7 @@
 				}
 
 			gtk_adjustment_set_value(sd->adj,
-				CLAMP(sd->adj->value + amt, sd->adj->lower, sd->adj->upper - sd->adj->page_size));
+				CLAMP(gtk_adjustment_get_value(sd->adj) + amt, gtk_adjustment_get_lower(sd->adj), gtk_adjustment_get_upper(sd->adj) - gtk_adjustment_get_page_size(sd->adj)));
 			}
 		}
 
--- a/src/ui_tree_edit.h	Sun May 27 18:41:56 2012 +0100
+++ b/src/ui_tree_edit.h	Tue Oct 02 22:19:13 2012 +0100
@@ -1,7 +1,7 @@
 /*
  * (SLIK) SimpLIstic sKin functions
  * (C) 2004 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * Author: John Ellis
  *
--- a/src/ui_utildlg.c	Sun May 27 18:41:56 2012 +0100
+++ b/src/ui_utildlg.c	Tue Oct 02 22:19:13 2012 +0100
@@ -1,7 +1,7 @@
 /*
  * (SLIK) SimpLIstic sKin functions
  * (C) 2004 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * Author: John Ellis
  *
@@ -62,11 +62,7 @@
 {
 	GenericDialog *gd = data;
 
-#if GTK_CHECK_VERSION(2,20,0)
-	if (event->keyval == GDK_Return && gtk_widget_has_focus(widget)
-#else
-	if (event->keyval == GDK_Return && GTK_WIDGET_HAS_FOCUS(widget)
-#endif
+	if (event->keyval == GDK_KEY_Return && gtk_widget_has_focus(widget)
 	    && gd->default_cb)
 		{
 		gboolean auto_close;
@@ -91,7 +87,7 @@
 {
 	GenericDialog *gd = data;
 
-	if (event->keyval == GDK_Escape)
+	if (event->keyval == GDK_KEY_Escape)
 		{
 		if (gd->cancel_cb) gd->cancel_cb(gd, gd->data);
 		if (gd->auto_close) generic_dialog_click_cb(widget, data);
@@ -150,7 +146,7 @@
 	button = pref_button_new(NULL, stock_id, text, FALSE,
 				 G_CALLBACK(generic_dialog_click_cb), gd);
 
-	GTK_WIDGET_SET_FLAGS(button, GTK_CAN_DEFAULT);
+	gtk_widget_set_can_default(button, TRUE);
 	g_object_set_data(G_OBJECT(button), "dialog_function", func_cb);
 
 	gtk_container_add(GTK_CONTAINER(gd->hbox), button);
@@ -238,11 +234,7 @@
 			GtkWidget *top;
 
 			top = gtk_widget_get_toplevel(parent);
-#if GTK_CHECK_VERSION(2,20,0)
 			if (GTK_IS_WINDOW(top) && gtk_widget_is_toplevel(top)) window = GTK_WINDOW(top);
-#else
-			if (GTK_IS_WINDOW(top) && GTK_WIDGET_TOPLEVEL(top)) window = GTK_WINDOW(top);
-#endif
 			}
 
 		if (window) gtk_window_set_transient_for(GTK_WINDOW(gd->dialog), window);
--- a/src/ui_utildlg.h	Sun May 27 18:41:56 2012 +0100
+++ b/src/ui_utildlg.h	Tue Oct 02 22:19:13 2012 +0100
@@ -1,7 +1,7 @@
 /*
  * (SLIK) SimpLIstic sKin functions
  * (C) 2004 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * Author: John Ellis
  *
--- a/src/uri_utils.c	Sun May 27 18:41:56 2012 +0100
+++ b/src/uri_utils.c	Tue Oct 02 22:19:13 2012 +0100
@@ -1,6 +1,6 @@
 /*
  * Geeqie
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * Authors: John Ellis, Vladimir Nadvornik, Laurent Monin
  *
@@ -16,256 +16,87 @@
 #include "filedata.h"
 #include "ui_fileops.h"
 
-/*
- *-----------------------------------------------------------------------------
- * drag and drop uri utils
- *-----------------------------------------------------------------------------
- */
+gchar **uris_from_pathlist(GList *list)
+{
+	GList *work;
+	guint i = 0;
+	guint num = g_list_length(list);
+	gchar **uris = g_new0(gchar *, num + 1);
 
-/* the following characters are allowed to be unencoded for pathnames:
- *     $ & + , / : = @
- */
-static gint escape_char_list[] = {
-	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,	/*   0 */
-	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,	/*  10 */
-	1, 1, 1, 1, 1, 1, 1, 1, 1, 1,	/*  20 */
-/*	     spc !  "  #  $  %  &  '	       */
-	1, 1, 0, 0, 1, 1, 0, 1, 0, 0,	/*  30 */
-/*	(  )  *  +  ,  -  .  /  0  1	       */
-	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,	/*  40 */
-/*	2  3  4  5  6  7  8  9  :  ;	       */
-	0, 0, 0, 0, 0, 0, 0, 0, 0, 1,	/*  50 */
-/*	<  =  >  ?  @  A  B  C  D  E	       */
-	1, 0, 1, 1, 0, 0, 0, 0, 0, 0,	/*  60 */
-	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,	/*  70 */
-	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,	/*  80 */
-/*	Z  [  \  ]  ^  _  `  a  b  c	       */
-	0, 1, 1, 1, 1, 0, 1, 0, 0, 0,	/*  90 */
-	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,	/* 100 */
-	0, 0, 0, 0, 0, 0, 0, 0, 0, 0,	/* 110 */
-/*	x  y  z  {  |  }  ~ del      	       */
-	0, 0, 0, 1, 1, 1, 0, 0		/* 120, 127 is end */
-};
+	work = list;
+	while (work)
+		{
+		const gchar *path = work->data;
+		gchar *local_path = path_from_utf8(path);
+		uris[i] = g_filename_to_uri(local_path, NULL, NULL);
+		g_free(local_path);
 
-static gchar *hex_char = "0123456789ABCDEF";
+		i++;
+		work = work->next;
+		}
 
-static gboolean escape_test(guchar c)
-{
-	if (c < 32 || c > 127) return TRUE;
-	return (escape_char_list[c] != 0);
+	uris[i] = NULL;
+	return uris;
 }
 
-static const gchar *escape_code(guchar c)
-{
-	static gchar text[4];
-
-	text[0] = '%';
-	text[1] = hex_char[c>>4];
-	text[2] = hex_char[c%16];
-	text[3] = '\0';
-
-	return text;
-}
-
-gchar *uri_text_escape(const gchar *text)
+gchar **uris_from_filelist(GList *list)
 {
-	GString *string;
-	gchar *result;
-	const gchar *p;
-
-	if (!text) return NULL;
-
-	string = g_string_new("");
-
-	p = text;
-	while (*p != '\0')
-		{
-		if (escape_test(*p))
-			{
-			g_string_append(string, escape_code(*p));
-			}
-		else
-			{
-			g_string_append_c(string, *p);
-			}
-		p++;
-		}
-
-	result = string->str;
-	g_string_free(string, FALSE);
-
-	/* dropped filenames are expected to be utf-8 compatible */
-	if (!g_utf8_validate(result, -1, NULL))
-		{
-		gchar *tmp;
-
-		tmp = g_locale_to_utf8(result, -1, NULL, NULL, NULL);
-		if (tmp)
-			{
-			g_free(result);
-			result = tmp;
-			}
-		}
-
-	return result;
+	GList *path_list = filelist_to_path_list(list);
+	gchar **ret = uris_from_pathlist(path_list);
+	string_list_free(path_list);
+	return ret;
 }
 
-/* this operates on the passed string, decoding escaped characters */
-void uri_text_decode(gchar *text)
+gboolean uri_selection_data_set_uris_from_filelist(GtkSelectionData *selection_data, GList *list)
 {
-	if (strchr(text, '%'))
+	gchar **uris = uris_from_filelist(list);
+	gboolean ret = gtk_selection_data_set_uris(selection_data, uris);
+	if (!ret)
 		{
-		gchar *w;
-		gchar *r;
-
-		w = r = text;
-
-		while (*r != '\0')
-			{
-			if (*r == '%' && *(r + 1) != '\0' && *(r + 2) != '\0')
-				{
-				gchar t[3];
-				gint n;
+		char *str = g_strjoinv("\r\n", uris);
+		ret = gtk_selection_data_set_text(selection_data, str, -1);
+		g_free(str);
+		}
 
-				r++;
-				t[0] = *r;
-				r++;
-				t[1] = *r;
-				t[2] = '\0';
-				n = (gint)strtol(t, NULL, 16);
-				if (n > 0 && n < 256)
-					{
-					*w = (gchar)n;
-					}
-				else
-					{
-					/* invalid number, rewind and ignore this escape */
-					r -= 2;
-					*w = *r;
-					}
-				}
-			else if (w != r)
-				{
-				*w = *r;
-				}
-			r++;
-			w++;
-			}
-		if (*w != '\0') *w = '\0';
-		}
+	g_strfreev(uris);
+	return ret;
 }
 
-static void uri_list_parse_encoded_chars(GList *list)
-{
-	GList *work = list;
-
-	while (work)
-		{
-		gchar *text = work->data;
-
-		uri_text_decode(text);
-
-		work = work->next;
-		}
-}
-
-GList *uri_list_from_text(gchar *data, gboolean files_only)
+GList *uri_pathlist_from_uris(gchar **uris)
 {
 	GList *list = NULL;
-	gint b, e;
+	guint i = 0;
 
-	b = e = 0;
-
-	while (data[b] != '\0')
+	while (uris[i])
 		{
-		while (data[e] != '\r' && data[e] != '\n' && data[e] != '\0') e++;
-		if (strncmp(data + b, "file:", 5) == 0)
-			{
-			gchar *path;
-			b += 5;
-			while (data[b] == '/' && data[b+1] == '/') b++;
-			path = g_strndup(data + b, e - b);
-			list = g_list_append(list, path_to_utf8(path));
-			g_free(path);
-			}
-		else if (!files_only && strncmp(data + b, "http:", 5) == 0)
-			{
-			list = g_list_append(list, g_strndup(data + b, e - b));
-			}
-		else if (!files_only && strncmp(data + b, "ftp:", 3) == 0)
-			{
-			list = g_list_append(list, g_strndup(data + b, e - b));
-			}
-		while (data[e] == '\r' || data[e] == '\n') e++;
-		b = e;
+		gchar *local_path = g_filename_from_uri(uris[i], NULL, NULL);
+		gchar *path = path_to_utf8(local_path);
+		g_free(local_path);
+		list = g_list_prepend(list, path);
+		i++;
 		}
 
-	uri_list_parse_encoded_chars(list);
-
-	return list;
+	return g_list_reverse(list);
 }
 
-GList *uri_filelist_from_text(gchar *data, gboolean files_only)
+
+
+GList *uri_filelist_from_uris(gchar **uris)
 {
-	GList *path_list = uri_list_from_text(data, files_only);
+	GList *path_list = uri_pathlist_from_uris(uris);
 	GList *filelist = filelist_from_path_list(path_list);
 	string_list_free(path_list);
 	return filelist;
 }
 
-gchar *uri_text_from_list(GList *list, gint *len, gboolean plain_text)
+GList *uri_filelist_from_gtk_selection_data(GtkSelectionData *selection_data)
 {
-	gchar *uri_text = NULL;
-	GString *string;
-	GList *work;
-
-	if (!list)
-		{
-		if (len) *len = 0;
-		return NULL;
-		}
-
-	string = g_string_new("");
-
-	work = list;
-	while (work)
-		{
-		const gchar *name8;	/* dnd filenames are in utf-8 */
-
-		name8 = work->data;
-
-		if (!plain_text)
-			{
-			gchar *escaped;
-
-			escaped = uri_text_escape(name8);
-			g_string_append(string, "file:");
-			g_string_append(string, escaped);
-			g_free(escaped);
-
-			g_string_append(string, "\r\n");
-			}
-		else
-			{
-			g_string_append(string, name8);
-			if (work->next) g_string_append(string, "\n");
-			}
-
-		work = work->next;
-		}
-
-	uri_text = string->str;
-	if (len) *len = string->len;
-	g_string_free(string, FALSE);
-
-	return uri_text;
+	gchar **uris = gtk_selection_data_get_uris(selection_data);
+	GList *ret = uri_filelist_from_uris(uris);
+	g_strfreev(uris);
+	return ret;
 }
 
-gchar *uri_text_from_filelist(GList *list, gint *len, gboolean plain_text)
-{
-	GList *path_list = filelist_to_path_list(list);
-	gchar *ret = uri_text_from_list(path_list, len, plain_text);
-	string_list_free(path_list);
-	return ret;
-}
+
+
 /* vim: set shiftwidth=8 softtabstop=0 cindent cinoptions={1s: */
--- a/src/uri_utils.h	Sun May 27 18:41:56 2012 +0100
+++ b/src/uri_utils.h	Tue Oct 02 22:19:13 2012 +0100
@@ -1,6 +1,6 @@
 /*
  * Geeqie
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * Author: John Ellis, Vladimir Nadvornik, Laurent Monin
  *
@@ -12,15 +12,12 @@
 #ifndef URI_UTILS_H
 #define URI_UTILS_H
 
-/* dnd data parsers (uris) */
-
-gchar *uri_text_escape(const gchar *text);
-void uri_text_decode(gchar *text);
-
-GList *uri_list_from_text(gchar *data, gboolean files_only);
-GList *uri_filelist_from_text(gchar *data, gboolean files_only);
-gchar *uri_text_from_list(GList *list, gint *len, gboolean plain_text);
-gchar *uri_text_from_filelist(GList *list, gint *len, gboolean plain_text);
+GList *uri_filelist_from_uris(gchar **uris);
+gchar **uris_from_pathlist(GList *list);
+gchar **uris_from_filelist(GList *list);
+GList *uri_pathlist_from_uris(gchar **uris);
+gboolean uri_selection_data_set_uris_from_filelist(GtkSelectionData *selection_data, GList *list);
+GList *uri_filelist_from_gtk_selection_data(GtkSelectionData *selection_data);
 
 #endif /* URI_UTILS_H */
 /* vim: set shiftwidth=8 softtabstop=0 cindent cinoptions={1s: */
--- a/src/utilops.c	Sun May 27 18:41:56 2012 +0100
+++ b/src/utilops.c	Tue Oct 02 22:19:13 2012 +0100
@@ -1,7 +1,7 @@
 /*
  * Geeqie
  * (C) 2006 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * Author: John Ellis
  *
@@ -278,22 +278,22 @@
 struct _UtilityData {
 	UtilityType type;
 	UtilityPhase phase;
-	
+
 	FileData *dir_fd;
 	GList *content_list;
 	GList *flist;
-	
+
 	FileData *sel_fd;
 
 	GtkWidget *parent;
 	GenericDialog *gd;
 	FileDialog *fdlg;
-	
+
 	guint update_idle_id; /* event source id */
 	guint perform_idle_id; /* event source id */
 
 	gboolean with_sidecars; /* operate on grouped or single files; TRUE = use file_data_sc_, FALSE = use file_data_ functions */
-	
+
 	/* alternative dialog parts */
 	GtkWidget *notebook;
 
@@ -316,10 +316,10 @@
 
 	/* data for the operation itself, internal or external */
 	gboolean external; /* TRUE for external command, FALSE for internal */
-	
+
 	gchar *external_command;
 	gpointer resume_data;
-	
+
 	FileUtilDoneFunc done_func;
 	void (*details_func)(UtilityData *ud, FileData *fd);
 	gboolean (*finalize_func)(FileData *fd);
@@ -363,10 +363,10 @@
 	UtilityData *ud;
 
 	ud = g_new0(UtilityData, 1);
-	
+
 	ud->type = type;
 	ud->phase = UTILITY_PHASE_START;
-	
+
 	return ud;
 }
 
@@ -382,7 +382,7 @@
 	filelist_free(ud->flist);
 
 	if (ud->gd) generic_dialog_close(ud->gd);
-	
+
 	g_free(ud->dest_path);
 	g_free(ud->external_command);
 
@@ -471,7 +471,7 @@
 		FileData *fd = list->data;
 		GtkTreeIter iter;
 		gchar *sidecars;
-		
+
 		sidecars = with_sidecars ? file_data_sc_list_to_string(fd) : NULL;
 		GdkPixbuf *icon = file_util_get_error_icon(fd, view);
 		gtk_list_store_append(store, &iter);
@@ -526,7 +526,7 @@
 	gint ret = EDITOR_CB_CONTINUE;
 
 	ud->resume_data = resume_data;
-	
+
 	if (EDITOR_ERRORS_BUT_SKIPPED(flags))
 		{
 		GString *msg = g_string_new(editor_get_error_str(flags));
@@ -571,32 +571,32 @@
 
 		if (!EDITOR_ERRORS(flags)) /* files were successfully deleted, call the maint functions */
 			{
-			if (ud->with_sidecars) 
+			if (ud->with_sidecars)
 				file_data_sc_apply_ci(fd);
 			else
 				file_data_apply_ci(fd);
 			}
-		
+
 		ud->flist = g_list_remove(ud->flist, fd);
-		
+
 		if (ud->finalize_func)
 			{
 			ud->finalize_func(fd);
 			}
 
-		if (ud->with_sidecars) 
+		if (ud->with_sidecars)
 			file_data_sc_free_ci(fd);
 		else
 			file_data_free_ci(fd);
 		file_data_unref(fd);
 		}
-		
+
 	if (!resume_data) /* end of the list */
 		{
 		ud->phase = UTILITY_PHASE_DONE;
 		file_util_dialog_run(ud);
 		}
-	
+
 	return ret;
 }
 
@@ -611,44 +611,44 @@
 {
 	UtilityData *ud = data;
 
-	if (!ud->perform_idle_id) 
+	if (!ud->perform_idle_id)
 		{
 		/* this function was called directly
 		   just setup idle callback and wait until we are called again
 		*/
-		
+
 		/* this is removed when ud is destroyed */
 		ud->perform_idle_id = g_idle_add(file_util_perform_ci_internal, ud);
 		return TRUE;
 		}
 
 	g_assert(ud->flist);
-	
+
 	if (ud->flist)
 		{
 		gint ret;
-		
+
 		/* take a single entry each time, this allows better control over the operation */
 		GList *single_entry = g_list_append(NULL, ud->flist->data);
 		gboolean last = !ud->flist->next;
 		EditorFlags status = EDITOR_ERROR_STATUS;
-	
-		if (ud->with_sidecars ? file_data_sc_perform_ci(single_entry->data) 
+
+		if (ud->with_sidecars ? file_data_sc_perform_ci(single_entry->data)
 		                      : file_data_perform_ci(single_entry->data))
 			status = 0; /* OK */
-		
+
 		ret = file_util_perform_ci_cb(GINT_TO_POINTER(!last), status, single_entry, ud);
 		g_list_free(single_entry);
-		
+
 		if (ret == EDITOR_CB_SUSPEND || last) return FALSE;
-		
+
 		if (ret == EDITOR_CB_SKIP)
 			{
 			file_util_perform_ci_cb(NULL, EDITOR_ERROR_SKIPPED, ud->flist, ud);
 			return FALSE;
 			}
 		}
-	
+
 	return TRUE;
 }
 
@@ -686,7 +686,7 @@
 
 				fd = work->data;
 				work = work->next;
-				
+
 				if (!fail)
 					{
 					if ((internal && file_data_sc_perform_ci(fd)) ||
@@ -715,7 +715,7 @@
 					fail = file_data_ref(ud->dir_fd);
 					}
 				}
-			
+
 			if (fail)
 				{
 				gchar *text;
@@ -753,7 +753,7 @@
 				{
 				fail = file_data_ref(ud->dir_fd);
 				}
-			
+
 
 			work = ud->content_list;
 			while (work)
@@ -762,21 +762,20 @@
 
 				fd = work->data;
 				work = work->next;
-				
+
 				if (!fail)
 					{
 					file_data_sc_apply_ci(fd);
 					}
 				file_data_sc_free_ci(fd);
 				}
-			
+
 			if (fail)
 				{
 				gchar *text;
-				GenericDialog *gd;
 
 				text = g_strdup_printf("%s:\n\n%s", ud->messages.fail, ud->dir_fd->path);
-				gd = file_util_warning_dialog(ud->messages.fail, text, GTK_STOCK_DIALOG_ERROR, NULL);
+				(void) file_util_warning_dialog(ud->messages.fail, text, GTK_STOCK_DIALOG_ERROR, NULL);
 				g_free(text);
 
 				file_data_unref(fail);
@@ -793,13 +792,12 @@
 			else
 				{
 				gchar *text;
-				GenericDialog *gd;
 
 				text = g_strdup_printf("%s:\n\n%s", ud->messages.fail, ud->dir_fd->path);
-				gd = file_util_warning_dialog(ud->messages.fail, text, GTK_STOCK_DIALOG_ERROR, NULL);
+				(void) file_util_warning_dialog(ud->messages.fail, text, GTK_STOCK_DIALOG_ERROR, NULL);
 				g_free(text);
 				}
-			
+
 			break;
 			}
 		default:
@@ -849,9 +847,9 @@
 	if (is_valid_editor_command(ud->external_command))
 		{
 		EditorFlags flags;
-		
+
 		ud->external = TRUE;
-		
+
 		if (ud->dir_fd)
 			{
 			flags = start_editor_from_file_full(ud->external_command, ud->dir_fd, file_util_perform_ci_dir_cb, ud);
@@ -899,7 +897,7 @@
 	static GdkPixbuf *pb_error;
 	static GdkPixbuf *pb_apply;
 	gint error;
-	
+
 	if (!pb_warning)
 		{
 		pb_warning = gtk_widget_render_icon(widget, GTK_STOCK_DIALOG_WARNING, GTK_ICON_SIZE_MENU, NULL);
@@ -914,9 +912,9 @@
 		{
 		pb_apply = gtk_widget_render_icon(widget, GTK_STOCK_APPLY, GTK_ICON_SIZE_MENU, NULL);
 		}
-	
+
 	error = file_data_sc_verify_ci(fd);
-	
+
 	if (!error) return pb_apply;
 
 	if (error & CHANGE_ERROR_MASK)
@@ -947,7 +945,7 @@
 {
 	gint error = CHANGE_OK;
 	gchar *desc = NULL;
-	
+
 	if (ud->type != UTILITY_TYPE_CREATE_FOLDER &&
 	    ud->type != UTILITY_TYPE_RENAME_FOLDER)
 		{
@@ -1012,11 +1010,11 @@
 static void file_util_cancel_cb(GenericDialog *gd, gpointer data)
 {
 	UtilityData *ud = data;
-	
+
 	generic_dialog_close(gd);
 
 	ud->gd = NULL;
-	
+
 	ud->phase = UTILITY_PHASE_CANCEL;
 	file_util_dialog_run(ud);
 }
@@ -1024,11 +1022,11 @@
 static void file_util_discard_cb(GenericDialog *gd, gpointer data)
 {
 	UtilityData *ud = data;
-	
+
 	generic_dialog_close(gd);
 
 	ud->gd = NULL;
-	
+
 	ud->phase = UTILITY_PHASE_DISCARD;
 	file_util_dialog_run(ud);
 }
@@ -1036,9 +1034,9 @@
 static void file_util_ok_cb(GenericDialog *gd, gpointer data)
 {
 	UtilityData *ud = data;
-	
+
 	generic_dialog_close(gd);
-	
+
 	ud->gd = NULL;
 
 	file_util_dialog_run(ud);
@@ -1047,11 +1045,11 @@
 static void file_util_fdlg_cancel_cb(FileDialog *fdlg, gpointer data)
 {
 	UtilityData *ud = data;
-	
+
 	file_dialog_close(fdlg);
 
 	ud->fdlg = NULL;
-	
+
 	ud->phase = UTILITY_PHASE_CANCEL;
 	file_util_dialog_run(ud);
 }
@@ -1060,7 +1058,7 @@
 {
 	g_free(ud->dest_path);
 	ud->dest_path = g_strdup(gtk_entry_get_text(GTK_ENTRY(ud->fdlg->entry)));
-	
+
 	switch (ud->type)
 		{
 		case UTILITY_TYPE_COPY:
@@ -1089,11 +1087,11 @@
 static void file_util_fdlg_ok_cb(FileDialog *fdlg, gpointer data)
 {
 	UtilityData *ud = data;
-	
+
 	file_util_dest_folder_update_path(ud);
 	if (isdir(ud->dest_path)) file_dialog_sync_history(fdlg, TRUE);
 	file_dialog_close(fdlg);
-	
+
 	ud->fdlg = NULL;
 
 	file_util_dialog_run(ud);
@@ -1189,7 +1187,7 @@
 			{
 			FileData *fd;
 			const gchar *dest = gtk_entry_get_text(GTK_ENTRY(ud->rename_entry));
-			
+
 			gtk_tree_model_get(store, &iter, UTILITY_COLUMN_FD, &fd, -1);
 			g_assert(ud->with_sidecars); /* sidecars must be renamed too, it would break the pairing otherwise */
 			file_data_sc_update_ci_rename(fd, dest);
@@ -1297,9 +1295,9 @@
 
 	gtk_tree_model_get(store, &iter, UTILITY_COLUMN_FD, &fd, -1);
 	generic_dialog_image_set(ud->gd, fd);
-	
+
 	ud->sel_fd = fd;
-	
+
 	if (ud->type == UTILITY_TYPE_RENAME)
 		{
 		const gchar *name = filename_from_path(fd->change->dest);
@@ -1374,13 +1372,13 @@
 		{
 		dir_msg = g_strdup("");
 		}
-		
+
 	box = generic_dialog_add_message(ud->gd, GTK_STOCK_DIALOG_QUESTION,
 					 ud->messages.question,
 					 dir_msg);
 
 	g_free(dir_msg);
-	
+
 	box = pref_group_new(box, TRUE, ud->messages.desc_flist, GTK_ORIENTATION_HORIZONTAL);
 
 	ud->listview = file_util_dialog_add_list(box, ud->flist, FALSE, ud->with_sidecars);
@@ -1421,9 +1419,9 @@
 
 	fdlg = file_util_file_dlg(ud->messages.title, "dlg_dest_folder", ud->parent,
 				  file_util_fdlg_cancel_cb, ud);
-	
+
 	ud->fdlg = fdlg;
-	
+
 	generic_dialog_add_message(GENERIC_DIALOG(fdlg), NULL, ud->messages.question, NULL);
 
 	label = pref_label_new(GENERIC_DIALOG(fdlg)->vbox, _("Choose the destination folder."));
@@ -1495,7 +1493,7 @@
 //	gtk_tree_view_column_set_visible(column, FALSE);
 
 	gtk_tree_view_set_reorderable(GTK_TREE_VIEW(ud->listview), TRUE);
-	
+
 	store = gtk_tree_view_get_model(GTK_TREE_VIEW(ud->listview));
 	g_signal_connect(G_OBJECT(store), "row_changed",
 			 G_CALLBACK(file_util_rename_preview_order_cb), ud);
@@ -1508,15 +1506,15 @@
 
 
 	ud->notebook = gtk_notebook_new();
-	
+
 	gtk_box_pack_start(GTK_BOX(ud->gd->vbox), ud->notebook, FALSE, FALSE, 0);
 	gtk_widget_show(ud->notebook);
-	
+
 
 	page = gtk_vbox_new(FALSE, PREF_PAD_GAP);
 	gtk_notebook_append_page(GTK_NOTEBOOK(ud->notebook), page, gtk_label_new(_("Manual rename")));
 	gtk_widget_show(page);
-	
+
 	table = pref_table_new(page, 2, 2, FALSE, FALSE);
 
 	pref_table_label(table, 0, 0, _("Original name:"), 1.0);
@@ -1595,11 +1593,11 @@
 static void file_util_finalize_all(UtilityData *ud)
 {
 	GList *work = ud->flist;
-	
+
 	if (ud->phase == UTILITY_PHASE_CANCEL) return;
 	if (ud->phase == UTILITY_PHASE_DONE && !ud->finalize_func) return;
 	if (ud->phase == UTILITY_PHASE_DISCARD && !ud->discard_func) return;
-	
+
 	while (work)
 		{
 		FileData *fd = work->data;
@@ -1638,7 +1636,7 @@
 		file_data_sc_free_ci(fd);
 	else
 		file_data_free_ci(fd);
-	
+
 	file_data_unref(fd);
 	return TRUE;
 }
@@ -1677,7 +1675,7 @@
 		case UTILITY_PHASE_ENTERING:
 			file_util_check_ci(ud);
 			break;
-		
+
 			ud->phase = UTILITY_PHASE_CHECKED;
 		case UTILITY_PHASE_CHECKED:
 			file_util_perform_ci(ud);
@@ -1687,19 +1685,19 @@
 		case UTILITY_PHASE_DISCARD:
 
 			file_util_finalize_all(ud);
-			
+
 			/* both DISCARD and DONE finishes the operation for good */
 			if (ud->done_func)
 				ud->done_func((ud->phase != UTILITY_PHASE_CANCEL), ud->dest_path, ud->done_data);
-				
+
 			if (ud->with_sidecars)
 				file_data_sc_free_ci_list(ud->flist);
 			else
 				file_data_free_ci_list(ud->flist);
-			
+
 			/* directory content is always handled including sidecars */
 			file_data_sc_free_ci_list(ud->content_list);
-			
+
 			if (ud->dir_fd) file_data_free_ci(ud->dir_fd);
 			file_util_data_free(ud);
 			break;
@@ -1736,14 +1734,14 @@
 {
 	UtilityData *ud = data;
 	FileData *fd = g_object_get_data(G_OBJECT(gd->dialog), "file_data");
-	
+
 	if (!fd) return;
 	file_util_exclude_fd(ud, fd);
-	
+
 	if (discard && ud->discard_func) ud->discard_func(fd);
-	
+
 	/* all files were excluded, this has the same effect as pressing the cancel button in the confirmation dialog*/
-	if (!ud->flist) 
+	if (!ud->flist)
 		{
 		/* both dialogs will be closed anyway, the signals would cause duplicate calls */
 		g_signal_handlers_disconnect_by_func(ud->gd->dialog, G_CALLBACK(file_util_details_dialog_close_cb), gd->dialog);
@@ -1768,12 +1766,12 @@
 	GString *message = g_string_new("");
 	gint error;
 	g_string_append_printf(message, _("File: '%s'\n"), fd->path);
-	
+
 	if (ud->with_sidecars && fd->sidecar_files)
 		{
 		GList *work = fd->sidecar_files;
 		g_string_append(message, _("with sidecar files:\n"));
-		
+
 		while (work)
 			{
 			FileData *sfd = work->data;
@@ -1781,9 +1779,9 @@
 			g_string_append_printf(message, _(" '%s'\n"), sfd->path);
 			}
 		}
-	
+
 	g_string_append(message, _("\nStatus: "));
-	
+
 	error = ud->with_sidecars ? file_data_sc_verify_ci(fd) : file_data_verify_ci(fd);
 
 	if (error)
@@ -1807,7 +1805,7 @@
 	GtkWidget *box;
 	gchar *message;
 	const gchar *stock_id;
-	
+
 	gd = file_util_gen_dlg(_("File details"), "details", ud->gd->dialog, TRUE, NULL, ud);
 	generic_dialog_add_button(gd, GTK_STOCK_CLOSE, NULL, file_util_details_dialog_ok_cb, TRUE);
 	generic_dialog_add_button(gd, GTK_STOCK_REMOVE, _("Exclude file"), file_util_details_dialog_exclude_cb, FALSE);
@@ -1829,7 +1827,7 @@
 	generic_dialog_add_image(gd, box, fd, NULL, NULL, NULL, FALSE);
 
 	gtk_widget_show(gd->dialog);
-	
+
 	g_free(message);
 }
 
@@ -1846,15 +1844,15 @@
 	gchar *message2;
 	gint i;
 	const gchar *stock_id;
-	
+
 	if (fd && fd->modified_xmp)
 		{
-		keys = hash_table_get_keys(fd->modified_xmp);
+		keys = g_hash_table_get_keys(fd->modified_xmp);
 		}
-	
+
 	g_assert(keys);
-	
-	
+
+
 	gd = file_util_gen_dlg(_("Overview of changed metadata"), "details", ud->gd->dialog, TRUE, NULL, ud);
 	generic_dialog_add_button(gd, GTK_STOCK_CLOSE, NULL, file_util_details_dialog_ok_cb, TRUE);
 	generic_dialog_add_button(gd, GTK_STOCK_REMOVE, _("Exclude file"), file_util_details_dialog_exclude_cb, FALSE);
@@ -1896,8 +1894,8 @@
 		gchar *title_f = g_strdup_printf("%s:", title);
 		gchar *value = metadata_read_string(fd, key, METADATA_FORMATTED);
 		work = work->next;
-		
-		
+
+
 		label = gtk_label_new(title_f);
 		gtk_misc_set_alignment(GTK_MISC(label), 1.0, 0.0);
 		pref_label_bold(label, TRUE, FALSE);
@@ -1908,7 +1906,7 @@
 		gtk_widget_show(label);
 
 		label = gtk_label_new(value);
-		
+
 		gtk_misc_set_alignment(GTK_MISC(label), 0.0, 0.0);
 		gtk_label_set_line_wrap(GTK_LABEL(label), TRUE);
 		gtk_table_attach(GTK_TABLE(table), label,
@@ -1927,7 +1925,7 @@
 
 	gtk_widget_set_size_request(gd->dialog, DIALOG_WIDTH, -1);
 	gtk_widget_show(gd->dialog);
-	
+
 	g_list_free(keys);
 	g_free(message1);
 	g_free(message2);
@@ -1949,14 +1947,14 @@
 {
 	UtilityData *ud;
 	GList *ungrouped = NULL;
-	
+
 	if (source_fd)
 		flist = g_list_append(flist, file_data_ref(source_fd));
 
 	if (!flist) return;
-	
+
 	flist = file_data_process_groups_in_selection(flist, TRUE, &ungrouped);
-	
+
 	if (!file_data_sc_add_ci_delete_list(flist))
 		{
 		file_util_warn_op_in_progress(_("File deletion failed"));
@@ -1965,21 +1963,21 @@
 		filelist_free(ungrouped);
 		return;
 		}
-	
+
 	file_util_mark_ungrouped_files(ungrouped);
 	filelist_free(ungrouped);
 
 	ud = file_util_data_new(UTILITY_TYPE_DELETE);
-	
+
 	ud->phase = phase;
-	
+
 	ud->with_sidecars = TRUE;
 
 	ud->dir_fd = NULL;
 	ud->flist = flist;
 	ud->content_list = NULL;
 	ud->parent = parent;
-	
+
 	ud->details_func = file_util_details_dialog;
 
 	ud->messages.title = _("Delete");
@@ -1995,12 +1993,12 @@
 static void file_util_write_metadata_full(FileData *source_fd, GList *flist, GtkWidget *parent, UtilityPhase phase, FileUtilDoneFunc done_func, gpointer done_data)
 {
 	UtilityData *ud;
-	
+
 	if (source_fd)
 		flist = g_list_append(flist, file_data_ref(source_fd));
 
 	if (!flist) return;
-	
+
 	if (!file_data_add_ci_write_metadata_list(flist))
 		{
 		file_util_warn_op_in_progress(_("Can't write metadata"));
@@ -2009,7 +2007,7 @@
 		}
 
 	ud = file_util_data_new(UTILITY_TYPE_WRITE_METADATA);
-	
+
 	ud->phase = phase;
 
 	ud->with_sidecars = FALSE; /* operate on individual files, not groups */
@@ -2018,19 +2016,19 @@
 	ud->flist = flist;
 	ud->content_list = NULL;
 	ud->parent = parent;
-	
+
 	ud->done_func = done_func;
 	ud->done_data = done_data;
-	
+
 	ud->details_func = file_util_write_metadata_details_dialog;
 	ud->finalize_func = metadata_write_queue_remove;
 	ud->discard_func = metadata_write_queue_remove;
-	
+
 	ud->messages.title = _("Write metadata");
 	ud->messages.question = _("Write metadata?");
 	ud->messages.desc_flist = _("This will write the changed metadata into the following files");
 	ud->messages.desc_source_fd = "";
-	ud->messages.fail = _("Metadata writting failed");
+	ud->messages.fail = _("Metadata writing failed");
 
 	file_util_dialog_run(ud);
 }
@@ -2039,7 +2037,7 @@
 {
 	UtilityData *ud;
 	GList *ungrouped = NULL;
-	
+
 	if (source_fd)
 		flist = g_list_append(flist, file_data_ref(source_fd));
 
@@ -2055,7 +2053,7 @@
 		filelist_free(ungrouped);
 		return;
 		}
-	
+
 	file_util_mark_ungrouped_files(ungrouped);
 	filelist_free(ungrouped);
 
@@ -2071,7 +2069,7 @@
 	ud->parent = parent;
 
 	if (dest_path) ud->dest_path = g_strdup(dest_path);
-	
+
 	ud->messages.title = _("Move");
 	ud->messages.question = _("Move files?");
 	ud->messages.desc_flist = _("This will move the following files");
@@ -2085,7 +2083,7 @@
 {
 	UtilityData *ud;
 	GList *ungrouped = NULL;
-	
+
 	if (source_fd)
 		flist = g_list_append(flist, file_data_ref(source_fd));
 
@@ -2120,7 +2118,7 @@
 	ud->parent = parent;
 
 	if (dest_path) ud->dest_path = g_strdup(dest_path);
-	
+
 	ud->messages.title = _("Copy");
 	ud->messages.question = _("Copy files?");
 	ud->messages.desc_flist = _("This will copy the following files");
@@ -2134,7 +2132,7 @@
 {
 	UtilityData *ud;
 	GList *ungrouped = NULL;
-	
+
 	if (source_fd)
 		flist = g_list_append(flist, file_data_ref(source_fd));
 
@@ -2166,7 +2164,7 @@
 	ud->parent = parent;
 
 	ud->details_func = file_util_details_dialog;
-	
+
 	ud->messages.title = _("Rename");
 	ud->messages.question = _("Rename files?");
 	ud->messages.desc_flist = _("This will rename the following files");
@@ -2180,7 +2178,7 @@
 {
 	UtilityData *ud;
 	GList *ungrouped = NULL;
-	
+
 	if (editor_no_param(key))
 		{
 		gchar *file_directory = NULL;
@@ -2194,15 +2192,15 @@
 				file_directory = remove_level_from_path(((FileData *)flist->data)->path);
 			working_directory = file_directory;
 			}
-		
+
 		/* just start the editor, don't care about files */
 		start_editor(key, working_directory);
 		g_free(file_directory);
 		filelist_free(flist);
 		return;
 		}
-	
-	
+
+
 	if (source_fd)
 		{
 		/* flist is most probably NULL
@@ -2213,7 +2211,7 @@
 		}
 
 	if (!flist) return;
-	
+
 	if (file_util_write_metadata_first(UTILITY_TYPE_FILTER, phase, flist, dest_path, key, parent))
 		return;
 
@@ -2235,15 +2233,15 @@
 		ud = file_util_data_new(UTILITY_TYPE_FILTER);
 	else
 		ud = file_util_data_new(UTILITY_TYPE_EDITOR);
-		
-		
+
+
 	/* ask for destination if we don't have it */
 	if (ud->type == UTILITY_TYPE_FILTER && dest_path == NULL) phase = UTILITY_PHASE_START;
-	
+
 	ud->phase = phase;
 
 	ud->with_sidecars = TRUE;
-	
+
 	ud->external_command = g_strdup(key);
 
 	ud->dir_fd = NULL;
@@ -2254,7 +2252,7 @@
 	ud->details_func = file_util_details_dialog;
 
 	if (dest_path) ud->dest_path = g_strdup(dest_path);
-	
+
 	ud->messages.title = _("Editor");
 	ud->messages.question = _("Run editor?");
 	ud->messages.desc_flist = _("This will copy the following files");
@@ -2292,7 +2290,7 @@
 	GList *dlist;
 	GList *flist;
 	GList *work;
-	
+
 	gboolean ok = TRUE;
 
 	DEBUG_1("deltree into: %s", fd->path);
@@ -2390,7 +2388,7 @@
 		{
 		ok = file_data_sc_add_ci_delete(ud->dir_fd);
 		}
-	
+
 	if (!ok)
 		{
 		work = ud->content_list;
@@ -2403,7 +2401,7 @@
 			file_data_sc_free_ci(fd);
 			}
 		}
-	
+
 	return ok;
 }
 
@@ -2427,7 +2425,7 @@
 		ud->flist = NULL;
 
 		ud->parent = parent;
-	
+
 		ud->messages.title = _("Delete folder");
 		ud->messages.question = _("Delete symbolic link?");
 		ud->messages.desc_flist = "";
@@ -2500,14 +2498,14 @@
 		ud->flist = flist = filelist_sort_path(flist);
 
 		ud->parent = parent;
-	
+
 		ud->messages.title = _("Delete folder");
 		ud->messages.question = _("Delete folder?");
 		ud->messages.desc_flist = _("The folder contains these files:");
 		ud->messages.desc_source_fd = _("This will delete the folder.\n"
 						"The contents of this folder will also be deleted.");
 		ud->messages.fail = _("File deletion failed");
-		
+
 		if (!file_util_delete_dir_prepare(ud, flist, dlist))
 			{
 			gchar *text;
@@ -2536,7 +2534,7 @@
 	GList *dlist;
 	GList *flist;
 	GList *work;
-	
+
 	gboolean ok = TRUE;
 
 	if (!filelist_read_lstat(fd, &flist, &dlist))
@@ -2569,11 +2567,11 @@
 	gboolean ok;
 	GList *work;
 	gint orig_len = strlen(ud->dir_fd->path);
-	
+
 	ok = file_util_rename_dir_scan(ud, ud->dir_fd);
-	
+
 	work = ud->content_list;
-	
+
 	while (ok && work)
 		{
 		gchar *np;
@@ -2581,22 +2579,22 @@
 
 		fd = work->data;
 		work = work->next;
-		
+
 		g_assert(strncmp(fd->path, ud->dir_fd->path, orig_len) == 0);
-		
+
 		np = g_strconcat(new_path, fd->path + orig_len, NULL);
-		
+
 		ok = file_data_sc_add_ci_rename(fd, np);
-		
+
 		DEBUG_1("Dir rename: %s -> %s", fd->path, np);
 		g_free(np);
 		}
-	
+
 	if (ok)
 		{
 		ok = file_data_sc_add_ci_rename(ud->dir_fd, new_path);
 		}
-	
+
 	if (!ok)
 		{
 		work = ud->content_list;
@@ -2612,7 +2610,7 @@
 
 	return ok;
 }
-	
+
 
 static void file_util_rename_dir_full(FileData *fd, const gchar *new_path, GtkWidget *parent, UtilityPhase phase, FileUtilDoneFunc done_func, gpointer done_data)
 {
@@ -2621,7 +2619,7 @@
 	ud = file_util_data_new(UTILITY_TYPE_RENAME_FOLDER);
 
 	ud->phase = phase;
-	ud->with_sidecars = TRUE; /* does not matter, the directory should not have sidecars 
+	ud->with_sidecars = TRUE; /* does not matter, the directory should not have sidecars
 	                            and the content must be handled including sidecars */
 
 	ud->dir_fd = file_data_ref(fd);
@@ -2632,7 +2630,7 @@
 	ud->done_func = done_func;
 	ud->done_data = done_data;
 	ud->dest_path = g_strdup(new_path);
-	
+
 	ud->messages.title = _("Rename");
 	ud->messages.question = _("Rename folder?");
 	ud->messages.desc_flist = _("The folder contains the following files");
@@ -2653,7 +2651,7 @@
 
 static void file_util_create_dir_full(FileData *fd, const gchar *dest_path, GtkWidget *parent, UtilityPhase phase, FileUtilDoneFunc done_func, gpointer done_data)
 {
-	UtilityData *ud; 
+	UtilityData *ud;
 
 	ud = file_util_data_new(UTILITY_TYPE_CREATE_FOLDER);
 
@@ -2675,12 +2673,12 @@
 		ud->dest_path = unique_filename(buf, NULL, " ", FALSE);
 		g_free(buf);
 		}
-	
+
 	ud->dir_fd = file_data_new_dir(ud->dest_path);
 
 	ud->done_func = done_func;
 	ud->done_data = done_data;
-	
+
 	ud->messages.title = _("Create Folder");
 	ud->messages.question = _("Create folder?");
 	ud->messages.desc_flist = "";
@@ -2694,7 +2692,7 @@
 static gboolean file_util_write_metadata_first_after_done(gpointer data)
 {
 	UtilityDelayData *dd = data;
-	
+
 	/* start the delayed operation with original arguments */
 	switch (dd->type)
 		{
@@ -2723,7 +2721,7 @@
 		dd->idle_id = g_idle_add(file_util_write_metadata_first_after_done, dd);
 		return;
 		}
-	
+
 	/* the operation was cancelled */
 	filelist_free(dd->flist);
 	g_free(dd->dest_path);
@@ -2735,40 +2733,40 @@
 {
 	GList *unsaved = NULL;
 	UtilityDelayData *dd;
-	
+
 	GList *work;
-	
+
 	work = flist;
 	while (work)
 		{
 		FileData *fd = work->data;
 		work = work->next;
-		
-		if (fd->change) 
+
+		if (fd->change)
 			{
 			filelist_free(unsaved);
 			return FALSE; /* another op. in progress, let the caller handle it */
 			}
-		
+
 		if (fd->modified_xmp) /* has unsaved metadata */
 			{
 			unsaved = g_list_prepend(unsaved, file_data_ref(fd));
 			}
 		}
-	
+
 	if (!unsaved) return FALSE;
-	
+
 	/* save arguments of the original operation */
-	
+
 	dd = g_new0(UtilityDelayData, 1);
-	
+
 	dd->type = type;
 	dd->phase = phase;
 	dd->flist = flist;
 	dd->dest_path = g_strdup(dest_path);
 	dd->editor_key = g_strdup(editor_key);
 	dd->parent = parent;
-	
+
 	file_util_write_metadata(NULL, unsaved, parent, FALSE, file_util_write_metadata_first_done, dd);
 	return TRUE;
 }
@@ -2784,7 +2782,7 @@
 
 void file_util_write_metadata(FileData *source_fd, GList *source_list, GtkWidget *parent, gboolean force_dialog, FileUtilDoneFunc done_func, gpointer done_data)
 {
-	file_util_write_metadata_full(source_fd, source_list, parent, 
+	file_util_write_metadata_full(source_fd, source_list, parent,
 	                              ((options->metadata.save_in_image_file && options->metadata.confirm_write) || force_dialog) ? UTILITY_PHASE_START : UTILITY_PHASE_ENTERING,
 	                              done_func, done_data);
 }
@@ -2876,7 +2874,7 @@
 	GString *new;
 
 	clipboard = gtk_clipboard_get(GDK_SELECTION_PRIMARY);
-	
+
 	new = g_string_new("");
 	work = list;
 	while (work) {
@@ -2884,11 +2882,11 @@
 		work = work->next;
 
 		if (!fd || !*fd->path) continue;
-	
+
 		g_string_append(new, g_shell_quote(fd->path));
 		if (work) g_string_append_c(new, ' ');
 		}
-	
+
 	gtk_clipboard_set_text(clipboard, new->str, new->len);
 	g_string_free(new, TRUE);
 	filelist_free(list);
--- a/src/utilops.h	Sun May 27 18:41:56 2012 +0100
+++ b/src/utilops.h	Tue Oct 02 22:19:13 2012 +0100
@@ -1,7 +1,7 @@
 /*
  * Geeqie
  * (C) 2006 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * Author: John Ellis
  *
--- a/src/view_dir.c	Sun May 27 18:41:56 2012 +0100
+++ b/src/view_dir.c	Tue Oct 02 22:19:13 2012 +0100
@@ -1,6 +1,6 @@
 /*
  * Geeqie
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * Author: Laurent Monin
  *
@@ -31,7 +31,7 @@
 static PixmapFolders *folder_icons_new(GtkWidget *widget)
 {
 	PixmapFolders *pf = g_new0(PixmapFolders, 1);
-	
+
 #if 1
 	GtkIconSize size = GTK_ICON_SIZE_MENU;
 
@@ -268,7 +268,7 @@
 	g_free(base);
 
 	file_util_rename_dir(fd, new_path, vd->view, vd_rename_finished_cb, vd);
-	
+
 	g_free(new_path);
 
 	return FALSE;
@@ -366,9 +366,9 @@
 	const gchar *path;
 	GList *list;
 	const gchar *key;
-	
+
 	if (!vd->drop_fd) return;
-	
+
 	key = g_object_get_data(G_OBJECT(widget), "filter_key");
 
 	path = vd->drop_fd->path;
@@ -404,13 +404,13 @@
 		const EditorDescription *editor = work->data;
 		gchar *key;
 		work = work->next;
-		
+
 		if (!editor_is_filter(editor->key)) continue;
 		key = g_strdup(editor->key);
 		item = menu_item_add_sensitive(menu, editor->name, active, G_CALLBACK(vd_drop_menu_filter_cb), vd);
 		g_object_set_data_full(G_OBJECT(item), "filter_key", key, vd_drop_menu_edit_item_free);
 		}
-	
+
 	g_list_free(editors_list);
 
 	menu_item_add_divider(menu);
@@ -604,7 +604,6 @@
 GtkWidget *vd_pop_menu(ViewDir *vd, FileData *fd)
 {
 	GtkWidget *menu;
-	GtkWidget *item;
 	gboolean active;
 	gboolean rename_delete_active = FALSE;
 	gboolean new_folder_active = FALSE;
@@ -674,11 +673,11 @@
 	menu_item_add_divider(menu);
 
 
-	item = menu_item_add_radio(menu, _("View as _List"), GINT_TO_POINTER(DIRVIEW_LIST), vd->type == DIRVIEW_LIST,
-                                           G_CALLBACK(vd_pop_submenu_dir_view_as_cb), vd);
+	menu_item_add_radio(menu, _("View as _List"), GINT_TO_POINTER(DIRVIEW_LIST), vd->type == DIRVIEW_LIST,
+                        G_CALLBACK(vd_pop_submenu_dir_view_as_cb), vd);
 
-	item = menu_item_add_radio(menu, _("View as _Tree"), GINT_TO_POINTER(DIRVIEW_TREE), vd->type == DIRVIEW_TREE,
-                                           G_CALLBACK(vd_pop_submenu_dir_view_as_cb), vd);
+	menu_item_add_radio(menu, _("View as _Tree"), GINT_TO_POINTER(DIRVIEW_TREE), vd->type == DIRVIEW_TREE,
+                        G_CALLBACK(vd_pop_submenu_dir_view_as_cb), vd);
 
 	menu_item_add_divider(menu);
 
@@ -728,8 +727,6 @@
 {
 	ViewDir *vd = data;
 	GList *list;
-	gchar *uritext = NULL;
-	gint length = 0;
 
 	if (!vd->click_fd) return;
 
@@ -738,16 +735,10 @@
 		case TARGET_URI_LIST:
 		case TARGET_TEXT_PLAIN:
 			list = g_list_prepend(NULL, vd->click_fd);
-			uritext = uri_text_from_filelist(list, &length, (info == TARGET_TEXT_PLAIN));
+			uri_selection_data_set_uris_from_filelist(selection_data, list);
 			g_list_free(list);
 			break;
 		}
-	if (uritext)
-		{
-		gtk_selection_data_set(selection_data, selection_data->target,
-				       8, (guchar *)uritext, length);
-		g_free(uritext);
-		}
 }
 
 static void vd_dnd_begin(GtkWidget *widget, GdkDragContext *context, gpointer data)
@@ -764,7 +755,7 @@
 
 	vd_color_set(vd, vd->click_fd, FALSE);
 
-	if (vd->type == DIRVIEW_LIST && context->action == GDK_ACTION_MOVE)
+	if (vd->type == DIRVIEW_LIST && gdk_drag_context_get_selected_action(context) == GDK_ACTION_MOVE)
 		{
 		vd_refresh(vd);
 		}
@@ -797,7 +788,7 @@
 		gint active;
 		gboolean done = FALSE;
 
-		list = uri_filelist_from_text((gchar *)selection_data->data, TRUE);
+		list = uri_filelist_from_gtk_selection_data(selection_data);
 		if (!list) return;
 
 		active = access_file(fd->path, W_OK | X_OK);
@@ -806,13 +797,13 @@
 
 		if (active)
 			{
-			if (context->actions == GDK_ACTION_COPY)
+			if (gdk_drag_context_get_actions(context) == GDK_ACTION_COPY)
 				{
 				file_util_copy_simple(list, fd->path, vd->widget);
 				done = TRUE;
 				list = NULL;
 				}
-			else if (context->actions == GDK_ACTION_MOVE)
+			else if (gdk_drag_context_get_actions(context) == GDK_ACTION_MOVE)
 				{
 				file_util_move_simple(list, fd->path, vd->widget);
 				done = TRUE;
@@ -872,9 +863,10 @@
 		gint x, y;
 		gint w, h;
 
-		window = vd->view->window;
+		window = gtk_widget_get_window(vd->view);
 		gdk_window_get_pointer(window, &x, &y, NULL);
-		gdk_drawable_get_size(window, &w, &h);
+		w = gdk_window_get_width(window);
+		h = gdk_window_get_height(window);
 		if (x >= 0 && x < w && y >= 0 && y < h)
 			{
 			vd_dnd_drop_update(vd, x, y);
@@ -911,7 +903,7 @@
 		}
 	else
 		{
-		gdk_drag_status(context, context->suggested_action, time);
+		gdk_drag_status(context, gdk_drag_context_get_suggested_action(context), time);
 		}
 
 	vd_dnd_drop_update(vd, x, y);
@@ -1110,7 +1102,7 @@
 				g_free(source_base);
 				}
 			}
-		
+
 		if (refresh) vd_refresh(vd);
 		}
 
--- a/src/view_dir.h	Sun May 27 18:41:56 2012 +0100
+++ b/src/view_dir.h	Tue Oct 02 22:19:13 2012 +0100
@@ -1,6 +1,6 @@
 /*
  * Geeqie
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * Author: Laurent Monin
  *
--- a/src/view_dir_list.c	Sun May 27 18:41:56 2012 +0100
+++ b/src/view_dir_list.c	Tue Oct 02 22:19:13 2012 +0100
@@ -1,7 +1,7 @@
 /*
  * Geeqie
  * (C) 2004 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * Author: John Ellis
  *
@@ -96,11 +96,7 @@
 {
 	GtkTreeIter iter;
 
-#if GTK_CHECK_VERSION(2,20,0)
 	if (gtk_widget_get_realized(vd->view) && vd_find_row(vd, fd, &iter))
-#else
-	if (GTK_WIDGET_REALIZED(vd->view) && vd_find_row(vd, fd, &iter))
-#endif
 		{
 		GtkTreeModel *store;
 		GtkTreePath *tpath;
@@ -111,11 +107,7 @@
 		gtk_tree_view_set_cursor(GTK_TREE_VIEW(vd->view), tpath, NULL, FALSE);
 		gtk_tree_path_free(tpath);
 
-#if GTK_CHECK_VERSION(2,20,0)
 		if (!gtk_widget_has_focus(vd->view)) gtk_widget_grab_focus(vd->view);
-#else
-		if (!GTK_WIDGET_HAS_FOCUS(vd->view)) gtk_widget_grab_focus(vd->view);
-#endif
 		}
 }
 
@@ -184,7 +176,7 @@
 		GdkPixbuf *pixbuf;
 		const gchar *date = "";
 		gboolean done = FALSE;
-		
+
 		fd = work->data;
 
 		if (access_file(fd->path, R_OK | X_OK) && fd->name)
@@ -229,7 +221,7 @@
 
 					if (match == 0) g_warning("multiple fd for the same path");
 					}
-					
+
 				}
 			else
 				{
@@ -285,7 +277,7 @@
 
 		valid = gtk_list_store_remove(store, &iter);
 		}
-		
+
 
 	vd->click_fd = NULL;
 	vd->drop_fd = NULL;
@@ -339,11 +331,7 @@
 		return ret;
 		}
 
-#if GTK_CHECK_VERSION(2,20,0)
 	if (gtk_widget_get_realized(vd->view))
-#else
-	if (GTK_WIDGET_REALIZED(vd->view))
-#endif
 		{
 		gtk_tree_view_scroll_to_point(GTK_TREE_VIEW(vd->view), 0, 0);
 		}
@@ -361,7 +349,7 @@
 	ViewDir *vd = data;
 	GtkTreePath *tpath;
 
-	if (event->keyval != GDK_Menu) return FALSE;
+	if (event->keyval != GDK_KEY_Menu) return FALSE;
 
 	gtk_tree_view_get_cursor(GTK_TREE_VIEW(vd->view), &tpath, NULL);
 	if (tpath)
--- a/src/view_dir_list.h	Sun May 27 18:41:56 2012 +0100
+++ b/src/view_dir_list.h	Tue Oct 02 22:19:13 2012 +0100
@@ -1,7 +1,7 @@
 /*
  * Geeqie
  * (C) 2004 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * Author: John Ellis
  *
--- a/src/view_dir_tree.c	Sun May 27 18:41:56 2012 +0100
+++ b/src/view_dir_tree.c	Tue Oct 02 22:19:13 2012 +0100
@@ -1,7 +1,7 @@
 /*
  * Geeqie
  * (C) 2006 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * Author: John Ellis
  *
@@ -53,10 +53,10 @@
 {
 	GdkCursor *cursor = NULL;
 
-	if (!widget || !widget->window) return;
+	if (!widget || !gtk_widget_get_window(widget)) return;
 
 	if (cursor_type > -1) cursor = gdk_cursor_new(cursor_type);
-	gdk_window_set_cursor(widget->window, cursor);
+	gdk_window_set_cursor(gtk_widget_get_window(widget), cursor);
 	if (cursor) gdk_cursor_unref(cursor);
 	gdk_flush();
 }
@@ -307,27 +307,6 @@
 	return list;
 }
 
-/*
- *----------------------------------------------------------------------------
- * misc
- *----------------------------------------------------------------------------
- */
-
-#if 0
-static void vdtree_row_deleted_cb(GtkTreeModel *tree_model, GtkTreePath *tpath, gpointer data)
-{
-	GtkTreeIter iter;
-	NodeData *nd;
-
-	gtk_tree_model_get_iter(tree_model, &iter, tpath);
-	gtk_tree_model_get(tree_model, &iter, DIR_COLUMN_POINTER, &nd, -1);
-
-	if (!nd) return;
-
-	file_data_unref(nd->fd);
-	g_free(nd);
-}
-#endif
 
 /*
  *----------------------------------------------------------------------------
@@ -475,6 +454,7 @@
 			DEBUG_1("Too frequent update of %s", nd->fd->path);
 			return TRUE;
 			}
+		file_data_check_changed_files(nd->fd); /* make sure we have recent info */
 		if (nd->fd->version == nd->version) return TRUE;
 		}
 
@@ -714,12 +694,12 @@
 
 		gtk_tree_view_get_cursor(GTK_TREE_VIEW(vd->view), &old_tpath, NULL);
 		tpath = gtk_tree_model_get_path(store, &iter);
-		
+
 		if (!old_tpath || gtk_tree_path_compare(tpath, old_tpath) != 0)
 			{
 			/* setting the cursor scrolls the view; do not do that unless it is necessary */
 			gtk_tree_view_set_cursor(GTK_TREE_VIEW(vd->view), tpath, NULL, FALSE);
-			
+
 			/* gtk_tree_view_set_cursor scrolls the window itself, but it sometimes
 			   does not work (switch from dir_list to dir_tree) */
 			tree_view_row_make_visible(GTK_TREE_VIEW(vd->view), &iter, TRUE);
@@ -731,13 +711,6 @@
 	return TRUE;
 }
 
-#if 0
-const gchar *vdtree_get_path(ViewDir *vd)
-{
-	return vd->path;
-}
-#endif
-
 void vdtree_refresh(ViewDir *vd)
 {
 	vdtree_populate_path(vd, vd->dir_fd, FALSE, TRUE);
@@ -779,7 +752,7 @@
 
 	switch (event->keyval)
 		{
-		case GDK_Menu:
+		case GDK_KEY_Menu:
 			vd->click_fd = fd;
 			vd_color_set(vd, vd->click_fd, TRUE);
 
@@ -788,9 +761,9 @@
 
 			return TRUE;
 			break;
-		case GDK_plus:
-		case GDK_Right:
-		case GDK_KP_Add:
+		case GDK_KEY_plus:
+		case GDK_KEY_Right:
+		case GDK_KEY_KP_Add:
 			if (fd)
 				{
 				vdtree_populate_path_by_iter(vd, &iter, FALSE, vd->dir_fd);
--- a/src/view_dir_tree.h	Sun May 27 18:41:56 2012 +0100
+++ b/src/view_dir_tree.h	Tue Oct 02 22:19:13 2012 +0100
@@ -1,7 +1,7 @@
 /*
  * Geeqie
  * (C) 2004 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * Author: John Ellis
  *
--- a/src/view_file.c	Sun May 27 18:41:56 2012 +0100
+++ b/src/view_file.c	Tue Oct 02 22:19:13 2012 +0100
@@ -1,6 +1,6 @@
 /*
  * Geeqie
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * Author: Laurent Monin
  *
@@ -633,7 +633,7 @@
 				    G_CALLBACK(vficon_pop_menu_show_names_cb), vf);
 		break;
 	}
-	
+
 	menu_item_add_stock(menu, _("Re_fresh"), GTK_STOCK_REFRESH, G_CALLBACK(vf_pop_menu_refresh_cb), vf);
 
 	return menu;
@@ -661,7 +661,7 @@
 	case FILEVIEW_LIST: ret = vflist_set_fd(vf, dir_fd); break;
 	case FILEVIEW_ICON: ret = vficon_set_fd(vf, dir_fd); break;
 	}
-	
+
 	return ret;
 }
 
@@ -698,9 +698,9 @@
 {
 	GtkWidget *frame = gtk_frame_new(NULL);
 	GtkWidget *hbox = gtk_hbox_new(FALSE, 0);
-	
+
 	gint i;
-	
+
 	for (i = 0; i < FILEDATA_MARKS_SIZE ; i++)
 		{
 		GtkWidget *check = gtk_check_button_new();
@@ -728,7 +728,7 @@
 	ViewFile *vf;
 
 	vf = g_new0(ViewFile, 1);
-	
+
 	vf->type = type;
 	vf->sort_method = SORT_NAME;
 	vf->sort_ascend = TRUE;
@@ -737,14 +737,14 @@
 	gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(vf->scrolled), GTK_SHADOW_IN);
 	gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(vf->scrolled),
 				       GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
-	
+
 	vf->filter = vf_marks_filter_init(vf);
 
 	vf->widget = gtk_vbox_new(FALSE, 0);
 	gtk_box_pack_start(GTK_BOX(vf->widget), vf->filter, FALSE, FALSE, 0);
 	gtk_box_pack_start(GTK_BOX(vf->widget), vf->scrolled, TRUE, TRUE, 0);
 	gtk_widget_show(vf->scrolled);
-	
+
 	g_signal_connect(G_OBJECT(vf->widget), "destroy",
 			 G_CALLBACK(vf_destroy_cb), vf);
 
@@ -799,19 +799,19 @@
 {
 	gint count = 0;
 	gint done = 0;
-	
+
 	switch (vf->type)
 	{
 	case FILEVIEW_LIST: vflist_thumb_progress_count(vf->list, &count, &done); break;
 	case FILEVIEW_ICON: vficon_thumb_progress_count(vf->list, &count, &done); break;
 	}
-	
+
 	DEBUG_1("thumb progress: %d of %d", done, count);
 	return (gdouble)done / count;
 }
 
 static void vf_set_thumb_fd(ViewFile *vf, FileData *fd)
-{	
+{
 	switch (vf->type)
 	{
 	case FILEVIEW_LIST: vflist_set_thumb_fd(vf, fd); break;
@@ -878,11 +878,7 @@
 {
 	FileData *fd = NULL;
 
-#if GTK_CHECK_VERSION(2,20,0)
 	if (!gtk_widget_get_realized(vf->listview))
-#else
-	if (!GTK_WIDGET_REALIZED(vf->listview))
-#endif
 		{
 		vf_thumb_status(vf, 0.0, NULL);
 		return FALSE;
@@ -936,7 +932,7 @@
 void vf_thumb_update(ViewFile *vf)
 {
 	vf_thumb_stop(vf);
-	
+
 	if (vf->type == FILEVIEW_LIST && !VFLIST(vf)->thumbs_enabled) return;
 
 	vf_thumb_status(vf, 0.0, _("Loading thumbs..."));
@@ -976,7 +972,7 @@
 	guint ret = 0;
 	gint i;
 	if (!vf->marks_enabled) return 0;
-	
+
 	for (i = 0; i < FILEDATA_MARKS_SIZE ; i++)
 		{
 		if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(vf->filter_check[i])))
@@ -1045,7 +1041,7 @@
 	/* FIXME: NOTIFY_METADATA should be checked by the keyword-to-mark functions and converted to NOTIFY_MARKS only if there was a change */
 
 	if (!(type & interested) || vf->refresh_idle_id || !vf->dir_fd) return;
-	
+
 	refresh = (fd == vf->dir_fd);
 
 	if (!refresh)
@@ -1071,7 +1067,7 @@
 			g_free(source_base);
 			}
 		}
-	
+
 	if (refresh)
 		{
 		DEBUG_1("Notify vf: %s %04x", fd->path, type);
--- a/src/view_file.h	Sun May 27 18:41:56 2012 +0100
+++ b/src/view_file.h	Tue Oct 02 22:19:13 2012 +0100
@@ -1,6 +1,6 @@
 /*
  * Geeqie
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * Author: Laurent Monin
  *
--- a/src/view_file_icon.c	Sun May 27 18:41:56 2012 +0100
+++ b/src/view_file_icon.c	Tue Oct 02 22:19:13 2012 +0100
@@ -1,7 +1,7 @@
 /*
  * Geeqie
  * (C) 2006 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * Author: John Ellis
  *
@@ -83,38 +83,6 @@
 	return id;
 }
 
-#if 0
-/* not used */
-static gint iconlist_read(FileData *dir_fd, GList **list)
-{
-	GList *temp;
-	GList *work;
-
-	if (!filelist_read(dir_fd, &temp, NULL)) return FALSE;
-
-	work = temp;
-	while (work)
-		{
-		FileData *fd;
-		IconData *id;
-
-		fd = work->data;
-		g_assert(fd->magick == 0x12345678);
-		id = g_new0(IconData, 1);
-
-		id->selected = SELECTION_NONE;
-		id->fd = fd;
-
-		work->data = id;
-		work = work->next;
-		}
-
-	*list = temp;
-
-	return TRUE;
-}
-#endif
-
 static void iconlist_free(GList *list)
 {
 	GList *work = list;
@@ -267,10 +235,12 @@
 
 static void vficon_toggle_filenames(ViewFile *vf)
 {
+	GtkAllocation allocation;
 	VFICON(vf)->show_text = !VFICON(vf)->show_text;
 	options->show_icon_names = VFICON(vf)->show_text;
 
-	vficon_populate_at_new_size(vf, vf->listview->allocation.width, vf->listview->allocation.height, TRUE);
+	gtk_widget_get_allocation(vf->listview, &allocation);
+	vficon_populate_at_new_size(vf, allocation.width, allocation.height, TRUE);
 }
 
 static gint vficon_get_icon_width(ViewFile *vf)
@@ -431,11 +401,7 @@
 
 	gdk_window_get_pointer(NULL, &x, &y, NULL);
 
-#if GTK_CHECK_VERSION(2,20,0)
 	if (!gtk_widget_get_realized(VFICON(vf)->tip_window)) gtk_widget_realize(VFICON(vf)->tip_window);
-#else
-	if (!GTK_WIDGET_REALIZED(VFICON(vf)->tip_window)) gtk_widget_realize(VFICON(vf)->tip_window);
-#endif
 	gtk_window_move(GTK_WINDOW(VFICON(vf)->tip_window), x + 16, y + 16);
 	gtk_widget_show(VFICON(vf)->tip_window);
 }
@@ -455,12 +421,8 @@
 
 	window = gtk_widget_get_toplevel(vf->listview);
 
-#if GTK_CHECK_VERSION(2,20,0)
 	if (gtk_widget_get_sensitive(window) &&
-#else
-	if (GTK_WIDGET_SENSITIVE(window) &&
-#endif
-	    GTK_WINDOW(window)->has_focus)
+	    gtk_window_has_toplevel_focus(GTK_WINDOW(window)))
 		{
 		tip_show(vf);
 		}
@@ -540,8 +502,6 @@
 {
 	ViewFile *vf = data;
 	GList *list = NULL;
-	gchar *uri_text = NULL;
-	gint total;
 
 	if (!VFICON(vf)->click_id) return;
 
@@ -555,14 +515,8 @@
 		}
 
 	if (!list) return;
-	uri_text = uri_text_from_filelist(list, &total, (info == TARGET_TEXT_PLAIN));
+	uri_selection_data_set_uris_from_filelist(selection_data, list);
 	filelist_free(list);
-
-	DEBUG_1("%s", uri_text);
-
-	gtk_selection_data_set(selection_data, selection_data->target,
-			       8, (guchar *)uri_text, total);
-	g_free(uri_text);
 }
 
 static void vficon_drag_data_received(GtkWidget *entry_widget, GdkDragContext *context,
@@ -577,18 +531,12 @@
 		if (id && id->fd) {
 			/* Add keywords to file */
 			FileData *fd = id->fd;
-			gchar *str = g_strndup((gchar *)selection->data, selection->length);
+			gchar *str = (gchar *) gtk_selection_data_get_text(selection);
 			GList *kw_list = string_to_keywords_list(str);
-			
+
 			metadata_append_list(fd, KEYWORD_KEY, kw_list);
 			string_list_free(kw_list);
 			g_free(str);
-/*
-file notification should handle this automatically			
-			if (vf->layout && vf->layout->bar_info) {
-				bar_set_fd(vf->layout->bar_info, id->fd);
-			}
-*/
 		}
 	}
 }
@@ -618,7 +566,7 @@
 
 	vficon_selection_remove(vf, VFICON(vf)->click_id, SELECTION_PRELIGHT, NULL);
 
-	if (context->action == GDK_ACTION_MOVE)
+	if (gdk_drag_context_get_selected_action(context) == GDK_ACTION_MOVE)
 		{
 		vf_refresh(vf);
 		}
@@ -696,7 +644,9 @@
 
 void vficon_marks_set(ViewFile *vf, gint enable)
 {
-	vficon_populate_at_new_size(vf, vf->listview->allocation.width, vf->listview->allocation.height, TRUE);
+	GtkAllocation allocation;
+	gtk_widget_get_allocation(vf->listview, &allocation);
+	vficon_populate_at_new_size(vf, allocation.width, allocation.height, TRUE);
 }
 
 /*
@@ -733,7 +683,7 @@
 		{
 		IconData *id = work->data;
 		work = work->next;
-		
+
 		VFICON(vf)->selection = g_list_append(VFICON(vf)->selection, id);
 		vficon_selection_add(vf, id, SELECTION_SELECTED, NULL);
 		}
@@ -905,7 +855,7 @@
 			{
 			IconData *id = work->data;
 			FileData *fd = id->fd;
-			g_assert(fd->magick == 0x12345678);
+			g_assert(fd->magick == FD_MAGICK);
 			b += fd->size;
 
 			work = work->next;
@@ -927,10 +877,10 @@
 		{
 		IconData *id = work->data;
 		FileData *fd = id->fd;
-		g_assert(fd->magick == 0x12345678);
+		g_assert(fd->magick == FD_MAGICK);
 
 		list = g_list_prepend(list, file_data_ref(fd));
-		
+
 		work2 = fd->sidecar_files;
 		while (work2)
 			{
@@ -1005,7 +955,7 @@
 		FileData *fd = id->fd;
 		gboolean mark_val, selected;
 
-		g_assert(fd->magick == 0x12345678);
+		g_assert(fd->magick == FD_MAGICK);
 
 		mark_val = file_data_get_mark(fd, n);
 		selected = (id->selected & SELECTION_SELECTED);
@@ -1060,24 +1010,24 @@
 {
 	GList *work;
 	IconData *id = NULL;
-	
+
 	if (sel_fd->parent) sel_fd = sel_fd->parent;
 	work = vf->list;
-	
+
 	while (work)
 		{
 		gint match;
 		FileData *fd;
-		
+
 		id = work->data;
 		fd = id->fd;
 		work = work->next;
 
 		match = filelist_sort_compare_filedata_full(fd, sel_fd, vf->sort_method, vf->sort_ascend);
-		
+
 		if (match >= 0) break;
 		}
-	
+
 	if (id)
 		{
 		vficon_select(vf, id);
@@ -1221,27 +1171,6 @@
 		}
 }
 
-#if 0
-static void vficon_update_focus(ViewFile *vf)
-{
-	gint new_row = 0;
-	gint new_col = 0;
-
-	if (VFICON(vf)->focus_id && vficon_find_position(vf, VFICON(vf)->focus_id, &new_row, &new_col))
-		{
-		/* first find the old focus, if it exists and is valid */
-		}
-	else
-		{
-		/* (try to) stay where we were */
-		new_row = VFICON(vf)->focus_row;
-		new_col = VFICON(vf)->focus_column;
-		}
-
-	vficon_move_focus(vf, new_row, new_col, FALSE);
-}
-#endif
-
 /* used to figure the page up/down distances */
 static gint page_height(ViewFile *vf)
 {
@@ -1251,7 +1180,7 @@
 	gint ret;
 
 	adj = gtk_tree_view_get_vadjustment(GTK_TREE_VIEW(vf->listview));
-	page_size = (gint)adj->page_increment;
+	page_size = (gint)gtk_adjustment_get_page_increment(adj);
 
 	row_height = options->thumbnails.max_height + THUMB_BORDER_PADDING * 2;
 	if (VFICON(vf)->show_text) row_height += options->thumbnails.max_height / 3;
@@ -1297,33 +1226,33 @@
 	stop_signal = TRUE;
 	switch (event->keyval)
 		{
-		case GDK_Left: case GDK_KP_Left:
+		case GDK_KEY_Left: case GDK_KEY_KP_Left:
 			focus_col = -1;
 			break;
-		case GDK_Right: case GDK_KP_Right:
+		case GDK_KEY_Right: case GDK_KEY_KP_Right:
 			focus_col = 1;
 			break;
-		case GDK_Up: case GDK_KP_Up:
+		case GDK_KEY_Up: case GDK_KEY_KP_Up:
 			focus_row = -1;
 			break;
-		case GDK_Down: case GDK_KP_Down:
+		case GDK_KEY_Down: case GDK_KEY_KP_Down:
 			focus_row = 1;
 			break;
-		case GDK_Page_Up: case GDK_KP_Page_Up:
+		case GDK_KEY_Page_Up: case GDK_KEY_KP_Page_Up:
 			focus_row = -page_height(vf);
 			break;
-		case GDK_Page_Down: case GDK_KP_Page_Down:
+		case GDK_KEY_Page_Down: case GDK_KEY_KP_Page_Down:
 			focus_row = page_height(vf);
 			break;
-		case GDK_Home: case GDK_KP_Home:
+		case GDK_KEY_Home: case GDK_KEY_KP_Home:
 			focus_row = -VFICON(vf)->focus_row;
 			focus_col = -VFICON(vf)->focus_column;
 			break;
-		case GDK_End: case GDK_KP_End:
+		case GDK_KEY_End: case GDK_KEY_KP_End:
 			focus_row = VFICON(vf)->rows - 1 - VFICON(vf)->focus_row;
 			focus_col = VFICON(vf)->columns - 1 - VFICON(vf)->focus_column;
 			break;
-		case GDK_space:
+		case GDK_KEY_space:
 			id = vficon_find_data(vf, VFICON(vf)->focus_row, VFICON(vf)->focus_column, NULL);
 			if (id)
 				{
@@ -1351,7 +1280,7 @@
 					}
 				}
 			break;
-		case GDK_Menu:
+		case GDK_KEY_Menu:
 			id = vficon_find_data(vf, VFICON(vf)->focus_row, VFICON(vf)->focus_column, NULL);
 			VFICON(vf)->click_id = id;
 
@@ -1406,9 +1335,6 @@
 
 	if (stop_signal)
 		{
-#if 0
-		g_signal_stop_emission_by_name(GTK_OBJECT(widget), "key_press_event");
-#endif
 		tip_unschedule(vf);
 		}
 
@@ -1448,22 +1374,17 @@
 	switch (bevent->button)
 		{
 		case MOUSE_BUTTON_LEFT:
-#if GTK_CHECK_VERSION(2,20,0)
 			if (!gtk_widget_has_focus(vf->listview))
-#else
-			if (!GTK_WIDGET_HAS_FOCUS(vf->listview))
-#endif
 				{
 				gtk_widget_grab_focus(vf->listview);
 				}
-#if 1
+
 			if (bevent->type == GDK_2BUTTON_PRESS &&
 			    vf->layout)
 				{
 				vficon_selection_remove(vf, VFICON(vf)->click_id, SELECTION_PRELIGHT, &iter);
 				layout_image_full_screen_start(vf->layout);
 				}
-#endif
 			break;
 		case MOUSE_BUTTON_RIGHT:
 			vf->popup = vf_pop_menu(vf);
@@ -1571,6 +1492,10 @@
 	GList *list;
 
 	gtk_tree_model_get(store, iter, FILE_COLUMN_POINTER, &list, -1);
+
+	/* it seems that gtk_list_store_clear may call some callbacks
+	   that use the column. Set the pointer to NULL to be safe. */
+	gtk_list_store_set(GTK_LIST_STORE(store), iter, FILE_COLUMN_POINTER, NULL, -1);
 	g_list_free(list);
 
 	return FALSE;
@@ -1615,11 +1540,7 @@
 
 	store = gtk_tree_view_get_model(GTK_TREE_VIEW(vf->listview));
 
-#if GTK_CHECK_VERSION(2,20,0)
 	if (keep_position && gtk_widget_get_realized(vf->listview) &&
-#else
-	if (keep_position && GTK_WIDGET_REALIZED(vf->listview) &&
-#endif
 	    gtk_tree_view_get_path_at_pos(GTK_TREE_VIEW(vf->listview), 0, 0, &tpath, NULL, NULL, NULL))
 		{
 		GtkTreeIter iter;
@@ -1637,7 +1558,7 @@
 		{
 		gint i;
 		gint thumb_width;
-		
+
 		vficon_clear_store(vf);
 
 		thumb_width = vficon_get_icon_width(vf);
@@ -1652,11 +1573,7 @@
 			gtk_tree_view_column_set_visible(column, (i < VFICON(vf)->columns));
 			gtk_tree_view_column_set_fixed_width(column, thumb_width + (THUMB_BORDER_PADDING * 6));
 
-#if GTK_CHECK_VERSION(2,18,0)
 			list = gtk_cell_layout_get_cells(GTK_CELL_LAYOUT(column));
-#else
-			list = gtk_tree_view_column_get_cell_renderers(column);
-#endif
 			cell = (list) ? list->data : NULL;
 			g_list_free(list);
 
@@ -1670,11 +1587,7 @@
 							     NULL);
 				}
 			}
-#if GTK_CHECK_VERSION(2,20,0)
 		if (gtk_widget_get_realized(vf->listview)) gtk_tree_view_columns_autosize(GTK_TREE_VIEW(vf->listview));
-#else
-		if (GTK_WIDGET_REALIZED(vf->listview)) gtk_tree_view_columns_autosize(GTK_TREE_VIEW(vf->listview));
-#endif
 		}
 
 	r = -1;
@@ -1772,20 +1685,6 @@
 	DEBUG_1("col tab pop cols=%d rows=%d", VFICON(vf)->columns, VFICON(vf)->rows);
 }
 
-
-#if 0
-static void vficon_sync_idle(ViewFile *vf)
-{
-	if (VFICON(vf)->sync_idle_id == -1)
-		{
-		/* high priority, the view needs to be resynced before a redraw
-		 * may contain invalid pointers at this time
-		 */
-		VFICON(vf)->sync_idle_id = g_idle_add_full(G_PRIORITY_HIGH, vficon_sync_idle_cb, vf, NULL);
-		}
-}
-#endif
-
 static void vficon_sized_cb(GtkWidget *widget, GtkAllocation *allocation, gpointer data)
 {
 	ViewFile *vf = data;
@@ -2041,7 +1940,7 @@
 		file_data_ref(first_selected);
 		g_list_free(VFICON(vf)->selection);
 		VFICON(vf)->selection = NULL;
-		
+
 
 		}
 
@@ -2054,26 +1953,26 @@
 		FileData *fd = NULL;
 		FileData *new_fd = NULL;
 		gint match;
-		
+
 		if (work && work_fd)
 			{
 			id = work->data;
 			fd = id->fd;
-			
+
 			new_fd = work_fd->data;
-			
+
 			if (fd == new_fd)
 				{
 				/* not changed, go to next */
 				work = work->next;
 				work_fd = work_fd->next;
-				if (id->selected & SELECTION_SELECTED) 
+				if (id->selected & SELECTION_SELECTED)
 					{
 					VFICON(vf)->selection = g_list_prepend(VFICON(vf)->selection, id);
 					}
 				continue;
 				}
-			
+
 			match = filelist_sort_compare_filedata_full(fd, new_fd, vf->sort_method, vf->sort_ascend);
 			if (match == 0) g_warning("multiple fd for the same path");
 			}
@@ -2088,7 +1987,7 @@
 			new_fd = work_fd->data;
 			match = 1;
 			}
-		
+
 		if (match < 0)
 			{
 			/* file no longer exists, delete from vf->list */
@@ -2111,7 +2010,7 @@
 				vf->list = g_list_insert_before(vf->list, work, id);
 			else
 				new_iconlist = g_list_prepend(new_iconlist, id); /* it is faster to append all new entries together later */
-				
+
 			work_fd = work_fd->next;
 			}
 
@@ -2121,7 +2020,7 @@
 		{
 		vf->list = g_list_concat(vf->list, g_list_reverse(new_iconlist));
 		}
-	
+
 	VFICON(vf)->selection = g_list_reverse(VFICON(vf)->selection);
 
 	filelist_free(new_filelist);
@@ -2134,7 +2033,7 @@
 		vficon_select_closest(vf, first_selected);
 		}
 	file_data_unref(first_selected);
-	
+
 	/* attempt to keep focus on same icon when refreshing */
 	if (focus_id && g_list_find(vf->list, focus_id))
 		{
@@ -2175,7 +2074,7 @@
 	gtk_tree_model_get(tree_model, iter, FILE_COLUMN_POINTER, &list, -1);
 
 	id = g_list_nth_data(list, cd->number);
-	
+
 	if (id)
 		{
 		GdkColor color_fg;
@@ -2185,7 +2084,7 @@
 		gchar *link;
 		GtkStateType state = GTK_STATE_NORMAL;
 
-		g_assert(id->fd->magick == 0x12345678);
+		g_assert(id->fd->magick == FD_MAGICK);
 
 		link = islink(id->fd->path) ? GQ_LINK_STR : "";
 		if (id->fd->sidecar_files)
@@ -2199,13 +2098,13 @@
 			gchar *disabled_grouping = id->fd->disable_grouping ? _(" [NO GROUPING]") : "";
 			name_sidecars = g_strdup_printf("%s%s%s", link, id->fd->name, disabled_grouping);
 			}
-		
+
 		style = gtk_widget_get_style(vf->listview);
 		if (id->selected & SELECTION_SELECTED)
 			{
 			state = GTK_STATE_SELECTED;
 			}
-		
+
 		memcpy(&color_fg, &style->text[state], sizeof(color_fg));
 		memcpy(&color_bg, &style->base[state], sizeof(color_bg));
 
@@ -2213,7 +2112,7 @@
 			{
 			shift_color(&color_bg, -1, 0);
 			}
-		
+
 		g_object_set(cell,	"pixbuf", id->fd->thumb_pixbuf,
 					"text", name_sidecars,
 					"marks", file_data_get_marks(id->fd),
@@ -2263,7 +2162,7 @@
 	gtk_tree_view_column_set_cell_data_func(column, renderer, vficon_cell_data_cb, cd, g_free);
 
 	gtk_tree_view_append_column(GTK_TREE_VIEW(vf->listview), column);
-	
+
 	g_signal_connect(G_OBJECT(renderer), "toggled", G_CALLBACK(vficon_mark_toggled_cb), vf);
 }
 
@@ -2303,7 +2202,7 @@
 	ViewFile *vf = data;
 
 	vf_refresh_idle_cancel(vf);
-	
+
 	file_data_unregister_notify_func(vf_notify_cb, vf);
 
 	tip_unschedule(vf);
--- a/src/view_file_icon.h	Sun May 27 18:41:56 2012 +0100
+++ b/src/view_file_icon.h	Tue Oct 02 22:19:13 2012 +0100
@@ -1,7 +1,7 @@
 /*
  * Geeqie
  * (C) 2004 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * Author: John Ellis
  *
--- a/src/view_file_list.c	Sun May 27 18:41:56 2012 +0100
+++ b/src/view_file_list.c	Tue Oct 02 22:19:13 2012 +0100
@@ -1,7 +1,7 @@
 /*
  * Geeqie
  * (C) 2004 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * Author: John Ellis
  *
@@ -136,55 +136,14 @@
 	return NULL;
 }
 
-#if 0
-static gint vflist_find_sidecar_list_idx(GList *work, FileData *fd)
-{
-	gint i = 0;
-	while (work)
-		{
-		FileData *fd_p = work->data;
-		if (fd == fd_p) return i;
-
-		i++;
-
-		GList *work2 = fd_p->sidecar_files;
-		while (work2)
-			{
-			fd_p = work2->data;
-			if (fd == fd_p) return i;
-
-			i++;
-			work2 = work2->next;
-			}
-		work = work->next;
-		}
-	return -1;
-}
-
-static gint vflist_sidecar_list_count(GList *work)
-{
-	gint i = 0;
-	while (work)
-		{
-		FileData *fd = work->data;
-		i++;
-
-		GList *work2 = fd->sidecar_files;
-		while (work2)
-			{
-			i++;
-			work2 = work2->next;
-			}
-		work = work->next;
-		}
-	return i;
-}
-#endif
-
 static gboolean vflist_store_clear_cb(GtkTreeModel *model, GtkTreePath *path, GtkTreeIter *iter, gpointer data)
 {
 	FileData *fd;
 	gtk_tree_model_get(model, iter, FILE_COLUMN_POINTER, &fd, -1);
+
+	/* it seems that gtk_tree_store_clear may call some callbacks
+	   that use the column. Set the pointer to NULL to be safe. */
+	gtk_tree_store_set(GTK_TREE_STORE(model), iter, FILE_COLUMN_POINTER, NULL, -1);
 	file_data_unref(fd);
 	return FALSE;
 }
@@ -219,27 +178,6 @@
 	gtk_tree_path_free(tpath);
 }
 
-#if 0
-static gint vflist_column_idx(ViewFile *vf, gint store_idx)
-{
-	GList *columns, *work;
-	gint i = 0;
-
-	columns = gtk_tree_view_get_columns(GTK_TREE_VIEW(vf->listview));
-	work = columns;
-	while (work)
-		{
-		GtkTreeViewColumn *column = work->data;
-		if (store_idx == GPOINTER_TO_INT(g_object_get_data(G_OBJECT(column), "column_store_idx")))
-			break;
-		work = work->next;
-		i++;
-		}
-
-	g_list_free(columns);
-	return i;
-}
-#endif
 
 /*
  *-----------------------------------------------------------------------------
@@ -253,8 +191,6 @@
 {
 	ViewFile *vf = data;
 	GList *list = NULL;
-	gchar *uri_text = NULL;
-	gint total;
 
 	if (!VFLIST(vf)->click_fd) return;
 
@@ -268,15 +204,8 @@
 		}
 
 	if (!list) return;
-
-	uri_text = uri_text_from_filelist(list, &total, (info == TARGET_TEXT_PLAIN));
+	uri_selection_data_set_uris_from_filelist(selection_data, list);
 	filelist_free(list);
-
-	DEBUG_1("%s", uri_text);
-
-	gtk_selection_data_set(selection_data, selection_data->target,
-			       8, (guchar *)uri_text, total);
-	g_free(uri_text);
 }
 
 static void vflist_dnd_begin(GtkWidget *widget, GdkDragContext *context, gpointer data)
@@ -305,7 +234,7 @@
 
 	vflist_color_set(vf, VFLIST(vf)->click_fd, FALSE);
 
-	if (context->action == GDK_ACTION_MOVE)
+	if (gdk_drag_context_get_selected_action(context) == GDK_ACTION_MOVE)
 		{
 		vf_refresh(vf);
 		}
@@ -322,18 +251,12 @@
 
 		if (fd) {
 			/* Add keywords to file */
-			gchar *str = g_strndup((gchar *)selection->data, selection->length);
+			gchar *str = (gchar *) gtk_selection_data_get_text(selection);
 			GList *kw_list = string_to_keywords_list(str);
-			
+
 			metadata_append_list(fd, KEYWORD_KEY, kw_list);
 			string_list_free(kw_list);
 			g_free(str);
-/*
-file notification should handle this automatically
-			if (vf->layout && vf->layout->bar_info) {
-				bar_set_fd(vf->layout->bar_info, fd);
-			}
-*/
 		}
 	}
 }
@@ -372,7 +295,7 @@
 		/* check if the row is expanded */
 		GtkTreeModel *store;
 		GtkTreeIter iter;
-		
+
 		store = gtk_tree_view_get_model(GTK_TREE_VIEW(vf->listview));
 		if (vflist_find_row(vf, fd, &iter) >= 0)
 			{
@@ -521,7 +444,7 @@
 		file_data_unref(fd);
 		g_free(old_path);
 		}
-	
+
 	g_free(new_path);
 
 	return FALSE;
@@ -549,7 +472,7 @@
 	ViewFile *vf = data;
 	GtkTreePath *tpath;
 
-	if (event->keyval != GDK_Menu) return FALSE;
+	if (event->keyval != GDK_KEY_Menu) return FALSE;
 
 	gtk_tree_view_get_cursor(GTK_TREE_VIEW(vf->listview), &tpath, NULL);
 	if (tpath)
@@ -580,7 +503,7 @@
 	GtkTreeIter iter;
 	FileData *fd = NULL;
 	GtkTreeViewColumn *column;
-	
+
 	vf->clicked_mark = 0;
 
 	if (gtk_tree_view_get_path_at_pos(GTK_TREE_VIEW(widget), bevent->x, bevent->y,
@@ -600,9 +523,6 @@
 
 		gtk_tree_model_get_iter(store, &iter, tpath);
 		gtk_tree_model_get(store, &iter, FILE_COLUMN_POINTER, &fd, -1);
-#if 0
-		gtk_tree_view_set_cursor(GTK_TREE_VIEW(widget), tpath, NULL, FALSE);
-#endif
 		gtk_tree_path_free(tpath);
 		}
 
@@ -646,12 +566,10 @@
 		return (gtk_tree_selection_count_selected_rows(selection) > 1);
 		}
 
-#if 1
 	if (bevent->button == MOUSE_BUTTON_LEFT && bevent->type == GDK_2BUTTON_PRESS)
 		{
 		if (vf->layout) layout_image_full_screen_start(vf->layout);
 		}
-#endif
 
 	return FALSE;
 }
@@ -715,7 +633,6 @@
 		gtk_tree_selection_unselect_all(selection);
 		gtk_tree_selection_select_iter(selection, &iter);
 		vflist_move_cursor(vf, &iter);
-//		return TRUE;// FIXME - expand
 		}
 
 	return FALSE;
@@ -825,13 +742,6 @@
  *-----------------------------------------------------------------------------
  */
 
-/*
-static gboolean vflist_dummy_select_cb(GtkTreeSelection *selection, GtkTreeModel *store, GtkTreePath *tpath,
-					gboolean path_currently_selected, gpointer data)
-{
-	return TRUE;
-}
-*/
 
 static gchar* vflist_get_formatted(ViewFile *vf, const gchar *name, const gchar *sidecars, const gchar *size, const gchar *time, gboolean expanded)
  {
@@ -888,7 +798,7 @@
 	const gchar *disabled_grouping;
 	gchar *formatted;
 	gboolean expanded = FALSE;
-	
+
 	if (fd->sidecar_files) /* expanded has no effect on files without sidecars */
 		{
 		gtk_tree_model_get(GTK_TREE_MODEL(store), iter, FILE_COLUMN_EXPANDED, &expanded, -1);
@@ -899,9 +809,9 @@
 	disabled_grouping = fd->disable_grouping ? _(" [NO GROUPING]") : "";
 	name = g_strdup_printf("%s%s%s", link, fd->name, disabled_grouping);
 	size = text_from_size(fd->size);
-	
+
 	formatted = vflist_get_formatted(vf, name, sidecars, size, time, expanded);
-	
+
 	gtk_tree_store_set(store, iter, FILE_COLUMN_POINTER, fd,
 					FILE_COLUMN_VERSION, fd->version,
 					FILE_COLUMN_THUMB, fd->thumb_pixbuf,
@@ -980,7 +890,7 @@
 
 					if (match == 0) g_warning("multiple fd for the same path");
 					}
-					
+
 				}
 			else
 				{
@@ -1008,7 +918,7 @@
 
 				vflist_setup_iter(vf, store, &new, file_data_ref(fd));
 				vflist_setup_iter_recursive(vf, store, &new, fd->sidecar_files, selected, force);
-				
+
 				if (g_list_find(selected, fd))
 					{
 					/* renamed files - the same fd appears at different position - select it again*/
@@ -1049,14 +959,14 @@
 
 		valid = gtk_tree_store_remove(store, &iter);
 		}
-		
+
 	/* move the prepended entries to the correct position */
 	if (num_prepended)
 		{
 		gint i;
 		gint num_total = num_prepended + num_ordered;
 		gint *new_order = g_malloc(num_total * sizeof(gint));
-		
+
 		for (i = 0; i < num_total; i++)
 			{
 			if (i < num_ordered)
@@ -1131,7 +1041,7 @@
 		work = work->next;
 
 		if (fd->thumb_pixbuf) (*done)++;
-		
+
 		if (fd->sidecar_files)
 			{
 			vflist_thumb_progress_count(fd->sidecar_files, count, done);
@@ -1163,7 +1073,7 @@
 		GtkTreeModel *store;
 		GtkTreeIter iter;
 		gboolean valid = TRUE;
-	
+
 		store = gtk_tree_view_get_model(GTK_TREE_VIEW(vf->listview));
 		gtk_tree_model_get_iter(store, &iter, tpath);
 		gtk_tree_path_free(tpath);
@@ -1245,19 +1155,19 @@
 		{
 		FileData *list_fd = work->data;
 		if (list_fd == fd) return p;
-		
+
 		work2 = list_fd->sidecar_files;
 		while (work2)
 			{
 			/* FIXME: return the same index also for sidecars
-			   it is sufficient for next/prev navigation but it should be rewritten 
+			   it is sufficient for next/prev navigation but it should be rewritten
 			   without using indexes at all
 			*/
 			FileData *sidecar_fd = work2->data;
 			if (sidecar_fd == fd) return p;
 			work2 = work2->next;
 			}
-		
+
 		work = work->next;
 		p++;
 		}
@@ -1405,7 +1315,7 @@
 		gtk_tree_model_get(store, &iter, FILE_COLUMN_POINTER, &fd, -1);
 
 		list = g_list_prepend(list, file_data_ref(fd));
-		
+
 		if (!fd->parent && !gtk_tree_view_row_expanded(GTK_TREE_VIEW(vf->listview), tpath))
 			{
 			/* unexpanded - add whole group */
@@ -1497,13 +1407,13 @@
 	while (TRUE)
 		{
 		GtkTreeIter next = *iter;
-		
+
 		if (gtk_tree_model_iter_next(store, &next))
 			*iter = next;
 		else
 			break;
 		}
-	
+
 	return TRUE;
 }
 
@@ -1529,7 +1439,7 @@
 			gtk_tree_selection_unselect_iter(selection, &iter);
 		else
 			gtk_tree_selection_select_iter(selection, &iter);
-				
+
 		valid = tree_model_iter_prev(store, &iter);
 		}
 }
@@ -1564,10 +1474,10 @@
 {
 	GList *work;
 	FileData *fd = NULL;
-	
+
 	if (sel_fd->parent) sel_fd = sel_fd->parent;
 	work = vf->list;
-	
+
 	while (work)
 		{
 		gint match;
@@ -1575,7 +1485,7 @@
 		work = work->next;
 
 		match = filelist_sort_compare_filedata_full(fd, sel_fd, vf->sort_method, vf->sort_ascend);
-		
+
 		if (match >= 0) break;
 		}
 
@@ -1662,7 +1572,7 @@
 			case STM_MODE_TOGGLE: file_data_set_mark(fd, n, !file_data_get_mark(fd, n));
 				break;
 			}
-		
+
 		if (!file_data_filter_marks(fd, vf_marks_get_filter(vf))) /* file no longer matches the filter -> remove it */
 			{
 			vf_refresh_idle(vf);
@@ -1675,7 +1585,7 @@
 			vflist_setup_iter_recursive(vf, GTK_TREE_STORE(store), &iter, fd->sidecar_files, NULL, FALSE);
 			}
 
-		
+
 		file_data_register_notify_func(vf_notify_cb, vf, NOTIFY_PRIORITY_MEDIUM);
 
 		work = work->next;
@@ -1701,11 +1611,7 @@
 
 	gtk_tree_view_column_set_fixed_width(column, options->thumbnails.max_width + 4);
 
-#if GTK_CHECK_VERSION(2,18,0)
 	list = gtk_cell_layout_get_cells(GTK_CELL_LAYOUT(column));
-#else
-	list = gtk_tree_view_column_get_cell_renderers(column);
-#endif
 	if (!list) return;
 	cell = list->data;
 	g_list_free(list);
@@ -1751,7 +1657,7 @@
 	vflist_listview_set_columns(vf->listview, VFLIST(vf)->thumbs_enabled, vflist_is_multiline(vf));
 
 	selected = vflist_selection_get_list(vf);
-	
+
 	vflist_setup_iter_recursive(vf, store, NULL, vf->list, selected, force);
 
 	if (selected && vflist_selection_count(vf, NULL) == 0)
@@ -1761,7 +1667,7 @@
 		}
 
 	filelist_free(selected);
-	
+
 	vf_send_update(vf);
 	vf_thumb_update(vf);
 }
@@ -1905,7 +1811,7 @@
 
 	gtk_tree_model_get(GTK_TREE_MODEL(store), &iter, FILE_COLUMN_POINTER, &fd, col_idx, &marked, -1);
 	marked = !marked;
-	
+
 	/* the change has a very limited range and the standard notification would trigger
 	   complete re-read of the directory - try to do only minimal update instead */
 	file_data_unregister_notify_func(vf_notify_cb, vf);
@@ -1930,10 +1836,6 @@
 {
 	GtkTreeViewColumn *column;
 	GtkCellRenderer *renderer;
-	GtkTreeStore *store;
-	gint index;
-
-	store = GTK_TREE_STORE(gtk_tree_view_get_model(GTK_TREE_VIEW(vf->listview)));
 
 	renderer = gtk_cell_renderer_toggle_new();
 	column = gtk_tree_view_column_new_with_attributes(title, renderer, "active", n, NULL);
@@ -1942,7 +1844,7 @@
 	g_object_set_data(G_OBJECT(column), "column_store_idx", GUINT_TO_POINTER(n));
 	g_object_set_data(G_OBJECT(renderer), "column_store_idx", GUINT_TO_POINTER(n));
 
-	index = gtk_tree_view_append_column(GTK_TREE_VIEW(vf->listview), column);
+	gtk_tree_view_append_column(GTK_TREE_VIEW(vf->listview), column);
 	gtk_tree_view_column_set_fixed_width(column, 22);
 	gtk_tree_view_column_set_visible(column, vf->marks_enabled);
 
@@ -1998,7 +1900,7 @@
 	gint column;
 
 	vf->info = g_new0(ViewFileInfoList, 1);
-	
+
 	flist_types[FILE_COLUMN_POINTER] = G_TYPE_POINTER;
 	flist_types[FILE_COLUMN_VERSION] = G_TYPE_INT;
 	flist_types[FILE_COLUMN_THUMB] = GDK_TYPE_PIXBUF;
@@ -2042,7 +1944,7 @@
 	vflist_listview_add_column(vf, FILE_COLUMN_THUMB, "", TRUE, FALSE, FALSE);
 	g_assert(column == FILE_VIEW_COLUMN_THUMB);
 	column++;
-	
+
 	vflist_listview_add_column(vf, FILE_COLUMN_FORMATTED, _("Name"), FALSE, FALSE, TRUE);
 	g_assert(column == FILE_VIEW_COLUMN_FORMATTED);
 	column++;
@@ -2064,12 +1966,12 @@
 	if (VFLIST(vf)->thumbs_enabled == enable) return;
 
 	VFLIST(vf)->thumbs_enabled = enable;
-	
+
 	/* vflist_populate_view is better than vf_refresh:
 	   - no need to re-read the directory
 	   - force update because the formatted string has changed
 	*/
-	if (vf->layout) 
+	if (vf->layout)
 		{
 		vflist_populate_view(vf, TRUE);
 		gtk_tree_view_columns_autosize(GTK_TREE_VIEW(vf->listview));
@@ -2094,7 +1996,6 @@
 		}
 
 	g_list_free(columns);
-	//vf_refresh(vf);
 }
 
 /* vim: set shiftwidth=8 softtabstop=0 cindent cinoptions={1s: */
--- a/src/view_file_list.h	Sun May 27 18:41:56 2012 +0100
+++ b/src/view_file_list.h	Tue Oct 02 22:19:13 2012 +0100
@@ -1,7 +1,7 @@
 /*
  * Geeqie
  * (C) 2004 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * Author: John Ellis
  *
--- a/src/window.c	Sun May 27 18:41:56 2012 +0100
+++ b/src/window.c	Tue Oct 02 22:19:13 2012 +0100
@@ -1,6 +1,6 @@
 /*
  * Geeqie
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * Authors: Vladimir Nadvornik / Laurent Monin
  *
@@ -69,9 +69,9 @@
 {
 	GdkWindowState state;
 
-	if (!window || !window->window) return FALSE;
+	if (!window || !gtk_widget_get_window(window)) return FALSE;
 
-	state = gdk_window_get_state(window->window);
+	state = gdk_window_get_state(gtk_widget_get_window(window));
 	return !!(state & GDK_WINDOW_STATE_MAXIMIZED);
 }
 
@@ -187,7 +187,7 @@
 	gchar *result = NULL;
 	gint i;
 
-	i = 0;	
+	i = 0;
 	while (!result)
 		{
 		if ((name && *name) || (cmd && *cmd)) {
@@ -197,7 +197,7 @@
 			if (result)
 				{
 				int ret = help_browser_command(result, path);
-				
+
 				if (ret == 0) break;
 				g_free(result);
 				result = NULL;
--- a/src/window.h	Sun May 27 18:41:56 2012 +0100
+++ b/src/window.h	Tue Oct 02 22:19:13 2012 +0100
@@ -1,6 +1,6 @@
 /*
  * Geeqie
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * Authors: Vladimir Nadvornik / Laurent Monin
  *