+++ /dev/null
-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
*.bak
Makefile
Makefile.in
+*~
+*.rej
+*.orig
# /
/aclocal.m4
/*
* 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
- 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
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
The precise terms and conditions for copying, distribution and
modification follow.
-\f
- 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
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.)
-\f
+
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
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.
-\f
+
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
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
-\f
+
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
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
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.
- END OF TERMS AND CONDITIONS
-\f
- 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
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.
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.
-------------------------------------------------------------------------
-r1907 | nadvornik | 2010-02-16 22:18:03 +0100 (Tue, 16 Feb 2010) | 2 lines
+commit 529b1126534cc664e8f88f028fa56190cc8debf3
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sun Aug 12 22:06:03 2012 +0200
-added 2010 to copyright text
+ updated NEWS file
-------------------------------------------------------------------------
-r1906 | nadvornik | 2010-02-16 22:10:12 +0100 (Tue, 16 Feb 2010) | 2 lines
+commit 9d940b7df273544d99d87699986c2eca9e9c4bfd
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Fri Aug 10 21:20:07 2012 +0200
-updated version string
+ 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
-------------------------------------------------------------------------
-r1905 | zas_ | 2010-02-16 21:07:05 +0100 (Tue, 16 Feb 2010) | 1 line
+commit ebc790ba2080dc8abd9cc880ead7a0acc120dd64
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Thu Aug 9 17:32:36 2012 +0200
-Restore translators list, removed by revision 1899.
-------------------------------------------------------------------------
-r1904 | zas_ | 2010-02-16 20:55:35 +0100 (Tue, 16 Feb 2010) | 1 line
+ fixed file_data_check_sidecars
+
+ use more clear algorithm:
+ if the group has changed
+ disconnect everything
+ create new group
-Update russian translation. Thanks to Denis Silakov.
-------------------------------------------------------------------------
-r1903 | nadvornik | 2010-02-14 23:00:23 +0100 (Sun, 14 Feb 2010) | 4 lines
+commit fa99aa221843e0e371edf910a8a39c91451691fb
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Thu Aug 9 17:30:12 2012 +0200
-fixed segfault in exif parser
+ fixed exif_read_fd
+
+ - add fd to cache immediately
+ - do not check file presence, the result could be inconsistent with the cache
-http://sourceforge.net/tracker/index.php?func=detail&aid=2950617&group_id=222125&atid=1054682
+commit 5ab7044678cf35dff14c06d9031a2791fd563fec
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Tue Aug 7 10:21:29 2012 +0200
-------------------------------------------------------------------------
-r1902 | nadvornik | 2010-02-14 22:35:11 +0100 (Sun, 14 Feb 2010) | 6 lines
+ replaced assert with g_assert
-fixed reference count
+commit 5fd7dc2e202ea131aa0d9d399a17066c3be56393
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sun Aug 5 20:46:05 2012 +0200
-there was a bug in reference count on writting unsaved metadata
-before starting an external editor
+ updated README file
+commit 672c7918e805f090e7848a9ce62cae61f29652fe
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sun Aug 5 20:40:07 2012 +0200
-------------------------------------------------------------------------
-r1901 | nadvornik | 2010-02-07 14:16:35 +0100 (Sun, 07 Feb 2010) | 2 lines
+ fixed gen_changelog for git
-test gnome-doc-tool in configure
+commit 7b53b482ac007e2d2a8bbd27f7c2bee0ed10103c
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Tue Jul 31 19:10:15 2012 +0200
-------------------------------------------------------------------------
-r1900 | nadvornik | 2010-02-07 13:44:55 +0100 (Sun, 07 Feb 2010) | 2 lines
+ spec file cleanup
-dropped obsolete sections, gqview changelog moved to wiki
+commit 7f398f978cfbbea7b72d714a0e8b595c6f2e833a
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Tue Jul 31 19:09:43 2012 +0200
-------------------------------------------------------------------------
-r1899 | zas_ | 2010-02-02 21:21:11 +0100 (Tue, 02 Feb 2010) | 9 lines
+ use GPLv2 copy with new FSF address
-Brazilian Portuguese translation was updated.
+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
-Thanks to Sergio Cipolla.
+commit b286338544a2c60acb1332f3cb90f6b355af00fb
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Tue Jul 31 17:41:47 2012 +0200
-References:
-http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=567824
+ 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
-------------------------------------------------------------------------
-r1898 | nadvornik | 2010-01-27 23:27:10 +0100 (Wed, 27 Jan 2010) | 2 lines
+commit 27cdadd96d24077e3bca57ae4f4d2aa97e413612
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sun Jul 29 19:07:39 2012 +0200
-czech translation fixes
+ update file data structure
+
+ update file data structure in view_dir_tree when a new directory
+ is created
-------------------------------------------------------------------------
-r1897 | zas_ | 2010-01-27 20:58:11 +0100 (Wed, 27 Jan 2010) | 1 line
+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
-Update catalan translation, by angel mompo.
-------------------------------------------------------------------------
-r1896 | zas_ | 2010-01-17 14:34:48 +0100 (Sun, 17 Jan 2010) | 1 line
+commit cce7db24ab6fc622b0b87cbc31d9cd3cf2abb5b1
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sun Jul 29 15:02:56 2012 +0200
-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 statusbar after changing active image
+
+ https://sourceforge.net/tracker/?func=detail&aid=3531954&group_id=222125&atid=1054680
-Update dutch translation. Work in progress.
+commit f4245483e556c3a31ce53f39c4cfa78c805f85ca
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Fri Jul 27 16:28:48 2012 +0200
-Patch by Marcel Pol.
+ changed "readonly destination directory" to a warning
+commit 3e0e566eca5097f546eb5989196722ac6c1f732c
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Fri Jul 27 15:03:58 2012 +0200
-------------------------------------------------------------------------
-r1894 | mow | 2010-01-11 15:10:49 +0100 (Mon, 11 Jan 2010) | 1 line
+ 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
-Wops, typo...
-------------------------------------------------------------------------
-r1893 | zas_ | 2010-01-10 15:23:29 +0100 (Sun, 10 Jan 2010) | 10 lines
+commit d17c428da1a3a25b1a24f50470f14e98e8cbd226
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Thu Jul 26 16:02:52 2012 +0200
-copy_file(): remove incomplete file on error (bug 2890715)
+ initialize default options before commandline parsing
+
+ this fixes a crash on images specified on commandline
-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 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.
-------------------------------------------------------------------------
-r1892 | zas_ | 2010-01-09 12:44:27 +0100 (Sat, 09 Jan 2010) | 1 line
+commit 5ef30846a7bc94585771a6d08284b771320b33d4
+Author: Klaus Ethgen <Klaus@Ethgen.de>
+Date: Fri Jan 6 02:23:57 2012 +0100
-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
+ Fix directory walking bug
+
+ There was a annoying bug when walking up more than one directory level.
-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
+commit 6f701885de29cc7ce188fdd3be50cdab253d5f98
+Author: cybjit <cybjit@gmail.com>
+Date: Mon Apr 25 12:53:35 2011 +0200
-Add Serbian translation.
+ Ignore duplicates with same path
-Note there are two *.po files, one for Cyrilic and one for Latin
-letters.
+commit ce2d11c4d9df655a4fff053373b724d985a25db0
+Author: Vincent Blut <vincent.debian@free.fr>
+Date: Sat Dec 3 15:46:20 2011 +0100
-Thanks to Milos Popovic.
+ 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
-------------------------------------------------------------------------
-r1889 | zas_ | 2010-01-05 23:26:03 +0100 (Tue, 05 Jan 2010) | 1 line
+ 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
-Update README about translations.
-------------------------------------------------------------------------
-r1888 | zas_ | 2010-01-05 18:49:50 +0100 (Tue, 05 Jan 2010) | 13 lines
+commit 4cbe6b68b12b1102fcdc2dcec99e6b03c74291a1
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sat Nov 12 11:34:55 2011 +0100
-Allow to switch to fullscreen mode using LIRC.
+ call log window functions indirectly via idle callbacks
-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.
+commit 04bb6f2326f58139c22d3bb8de7e639c8efb40ba
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Tue Oct 4 22:09:55 2011 +0200
-Patch by Bernard Massot.
+ 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
-------------------------------------------------------------------------
-r1887 | zas_ | 2010-01-02 13:38:55 +0100 (Sat, 02 Jan 2010) | 1 line
+ recognize all registered extensions, even if they contain dots
-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
+commit 52d7c7d5a99e904839c0497f32ca6d2586b9a14f
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sun Oct 2 11:16:03 2011 +0200
-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).
+ sidecar_file_priority function is already called with extension as an argument
-Thanks to Michael pointing this out.
+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
-------------------------------------------------------------------------
-r1880 | zas_ | 2009-12-19 13:49:19 +0100 (Sat, 19 Dec 2009) | 1 line
+ move the grouping code from file_data_new to filelist_read
-Store sort parameters in appropriate variables.
-------------------------------------------------------------------------
-r1879 | zas_ | 2009-12-10 18:48:43 +0100 (Thu, 10 Dec 2009) | 4 lines
+commit aff67e653215952b4766cf33bfdfa24cd93949b3
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sat Oct 1 20:58:34 2011 +0200
-Move "Add Keyword" menu item at top of Keywords bar contextual menu.
+ separate function fortesting changed files without sidecars
-Suggested by Lars T?\195?\164uber.
+commit 21a8bc375e28b4950bac3a1a3e1aef1f734d9c63
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sat Oct 1 17:11:10 2011 +0200
-------------------------------------------------------------------------
-r1878 | zas_ | 2009-12-10 18:44:31 +0100 (Thu, 10 Dec 2009) | 7 lines
+ consistent use of fd->extension
-Fix contextual menus in lateral bars.
+commit e6308d6f082ede8e9d6e57b14806356c8923c65d
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sat Oct 1 16:31:58 2011 +0200
-Use button_release_event instead of button_press_event,
-this makes contextual menus persistent until an option
-is selected or the menu is closed.
+ simplified grouping of sidecars
+commit 18d80ca385e38b3bf9bc4ef36264bb4d430aa1f6
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Fri Sep 30 23:57:31 2011 +0200
-------------------------------------------------------------------------
-r1877 | zas_ | 2009-12-04 22:01:11 +0100 (Fri, 04 Dec 2009) | 1 line
+ fixed filelist_sort_compare_filedata to not return 0 no different files
-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
+commit efc8096527d6f743d17c44b9982616a169973f39
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Fri Sep 30 23:02:26 2011 +0200
-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
+ always check for sidecars by readdir
-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
+commit 7bb3871e21c03b7103792524458eddf0616880db
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Fri Sep 30 10:54:32 2011 +0200
-build documentation with gnome-doc-tool in makefile
+ do not use FileData entries with empty path
-------------------------------------------------------------------------
-r1873 | nadvornik | 2009-11-22 10:12:22 +0100 (Sun, 22 Nov 2009) | 2 lines
+commit 559683ddda8610a986ea1355dc191e8e20f77a23
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Thu Sep 29 17:17:20 2011 +0200
-scripts for converting wiki documentation to docbook
+ updated copyright notice
-------------------------------------------------------------------------
-r1872 | nadvornik | 2009-11-21 21:08:51 +0100 (Sat, 21 Nov 2009) | 5 lines
+commit 4f028fb255a5edaeb2aec25d2e87ef4b8a2aa44d
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Thu Sep 29 17:14:36 2011 +0200
-check gtk_clutter_init return value
+ added custom tiff loader
-https://sourceforge.net/tracker/index.php?func=detail&aid=2899866&group_id=222125&atid=1054680
+commit 25d02a83df709d2852f4cb90867aa261b80280ca
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Thu Sep 29 12:36:08 2011 +0200
+ added long-term cache for keywords
-------------------------------------------------------------------------
-r1871 | nadvornik | 2009-11-18 13:34:30 +0100 (Wed, 18 Nov 2009) | 2 lines
+commit bdea8db7b066162269cc1d9d09d745983e5fadb0
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Tue Sep 27 22:06:09 2011 +0200
-changed https to http in wiki links
+ set stereo.fixed default values to hdmi stereo standard
-------------------------------------------------------------------------
-r1870 | zas_ | 2009-11-13 19:37:31 +0100 (Fri, 13 Nov 2009) | 1 line
+commit 216a72fa46b4f35d8b4f36dfb7b7a227300faa4c
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Tue Sep 27 22:03:47 2011 +0200
-Spanish translation was updated. Thanks to Redy Rodriguez.
-------------------------------------------------------------------------
-r1869 | zas_ | 2009-11-07 22:31:23 +0100 (Sat, 07 Nov 2009) | 1 line
+ fixed stereo.fixed preferences
-Updated spanish translation. Thanks to Redy Rodriguez.
-------------------------------------------------------------------------
-r1868 | mow | 2009-10-13 23:49:42 +0200 (Tue, 13 Oct 2009) | 1 line
+commit 1c4103ded9b34d240b76779d5ea8a5c16bbf1924
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Tue Sep 27 21:12:02 2011 +0200
-German translation update
-------------------------------------------------------------------------
-r1867 | mow | 2009-10-13 23:49:21 +0200 (Tue, 13 Oct 2009) | 8 lines
+ fixed stereo_temp_disable functionality
-Add compatibility for GTK 2.18
+commit f5470bbc26b15ce585c8f1cedfad3adfa611ef85
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Tue Sep 27 10:29:36 2011 +0200
-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 panorama .pto file to the list of known files
-added a workaround for https://bugzilla.gnome.org/show_bug.cgi?id=590692
+commit 0736b5d6b3b31bb24531284b44b90b7b225d9e7c
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Fri Jul 29 15:27:09 2011 +0200
-------------------------------------------------------------------------
-r1865 | nadvornik | 2009-10-10 12:15:23 +0200 (Sat, 10 Oct 2009) | 4 lines
+ fixed crash on incomplete jpeg file
-use text renderer for editor->hidden
+commit 10f4b603e6b8ad553a7b9c9afb4aa92e43dccae6
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sat May 14 22:16:49 2011 +0200
-The toggle was too confusing because it was not dirrectly editable.
+ added Cycle through stereo modes menu entry
-------------------------------------------------------------------------
-r1864 | nadvornik | 2009-10-01 20:40:34 +0200 (Thu, 01 Oct 2009) | 7 lines
+commit e9780e09d7e57bd5f5c3594bdd773bb2541ec232
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sat May 14 21:53:45 2011 +0200
-ignored multiple directories specified on commandline
+ do not mix autodetected and user-defined stereo mode
-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 c447b43b8f8291da9d941718afaa0b2c9d950efc
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sun Apr 10 21:11:50 2011 +0200
-------------------------------------------------------------------------
-r1863 | nadvornik | 2009-10-01 19:37:51 +0200 (Thu, 01 Oct 2009) | 2 lines
+ more compilation fixes
-fixed tree_store reordering
+commit 7a8a4c7e4448572ba18d4ded8cf7e86dbd5bf8e7
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sun Apr 10 20:30:17 2011 +0200
-------------------------------------------------------------------------
-r1862 | nadvornik | 2009-09-28 14:04:35 +0200 (Mon, 28 Sep 2009) | 2 lines
+ compilation fixes
-do not cache incomplete thumbnails
+commit 0ec34da9df56efdd6963a0f3569fe24299a8ba0d
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sat Apr 9 19:27:43 2011 +0200
-------------------------------------------------------------------------
-r1861 | nadvornik | 2009-09-28 11:57:06 +0200 (Mon, 28 Sep 2009) | 2 lines
+ fixed libjpeg in autoconf
-consider sidecars in layout_image popup menu
+commit 18f8e33ac8681cd297a980a936bd2ce2467614da
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sat Apr 9 16:07:31 2011 +0200
-------------------------------------------------------------------------
-r1860 | nadvornik | 2009-09-26 13:37:09 +0200 (Sat, 26 Sep 2009) | 6 lines
+ improved mpo parser, consider individual image type code
-bar_gps cleanup
+commit e5235578ba189827610cec22c9ca8bc17c433113
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Fri Apr 8 21:16:41 2011 +0200
-- removed the scrollbar
-- do not set decel-rate,
- https://bugzilla.gnome.org/show_bug.cgi?id=596419
+ fixed to compile with other libjpeg versions
-------------------------------------------------------------------------
-r1859 | nadvornik | 2009-09-26 10:47:28 +0200 (Sat, 26 Sep 2009) | 8 lines
+commit dd008ca74ba4a924b202021a7d0dbd11cf0dc542
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sun Mar 27 19:22:29 2011 +0200
-print text using pango renderer
+ allocate tile pixbuf allways
-- the text is sent to postscript as a bitmap
-- this fixes printing of non-ascii characters
+commit 43b479c1042930d616cb4c8fb9e80ee5fd0900ec
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sun Mar 27 18:20:19 2011 +0200
-http://sourceforge.net/tracker/index.php?func=detail&aid=2836135&group_id=222125&atid=1054680
+ updated copyright notices
+commit a7efe96305e0e1847c2e20b119c86cac03fd9e56
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sun Mar 27 18:14:17 2011 +0200
-------------------------------------------------------------------------
-r1858 | nadvornik | 2009-09-25 22:39:15 +0200 (Fri, 25 Sep 2009) | 8 lines
+ free mpo data
-require libchamplain 0.4
+commit 85dbc07da126d6229f37821e5dd49c3b8546e80e
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sun Mar 27 13:53:23 2011 +0200
-- check for libchamplain 0.4
-- dropped libchamplain 0.3.x support
+ fixed jpeg_segment_find to support more app2 segments with different signatures
-http://sourceforge.net/tracker/index.php?func=detail&aid=2861847&group_id=222125&atid=1054680
+commit c2378af08d9bb0b9ee1f958c9a4b50bc65abbed8
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sun Mar 27 12:52:09 2011 +0200
+ store stereo flag in loader data
-------------------------------------------------------------------------
-r1857 | nadvornik | 2009-09-24 23:52:44 +0200 (Thu, 24 Sep 2009) | 2 lines
+commit 2f3197170c42959552141b2600c9d828542792a8
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sun Mar 27 12:02:30 2011 +0200
-fixed and simplified sidecar grouping code
+ fixed freed data access
-------------------------------------------------------------------------
-r1856 | nadvornik | 2009-09-24 20:02:29 +0200 (Thu, 24 Sep 2009) | 2 lines
+commit 091dae0b7d6e602da76f624ddac3e335e262e1fa
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sun Mar 27 11:58:29 2011 +0200
-fixed emitting of error signal from image loader
+ load mpo files as SBS
-------------------------------------------------------------------------
-r1855 | nadvornik | 2009-09-21 20:48:32 +0200 (Mon, 21 Sep 2009) | 5 lines
+commit c546114c635f93ff254b4d479a1b6370377d054b
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sun Mar 27 10:57:08 2011 +0200
-fixed pan-view popup menu
+ added mpo parser
-- removed wrong callback
-- consider sidecar files in the editor popup
+commit 3b1800b11fd5f98ce268b358f17585d43641c3ea
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sat Mar 26 22:13:39 2011 +0100
-------------------------------------------------------------------------
-r1854 | nadvornik | 2009-09-14 23:25:10 +0200 (Mon, 14 Sep 2009) | 2 lines
+ split jpeg parser functions to separate file
-fixed selection handling in sidebar
+commit ec75c814d6f79ec16426ee40aacbf7d0aded8e41
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sat Mar 26 22:03:30 2011 +0100
-------------------------------------------------------------------------
-r1853 | nadvornik | 2009-09-13 23:08:40 +0200 (Sun, 13 Sep 2009) | 5 lines
+ added custom jpeg loader
-fixed editor list in popup menu
+commit b5b810393f0fae5071a0263db376dadaf595d4c5
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sat Mar 26 17:57:25 2011 +0100
-- show an editor if any of selected files matches
-- added debug messages
+ infrastructure for image loader backend
-------------------------------------------------------------------------
-r1852 | nadvornik | 2009-09-13 23:03:17 +0200 (Sun, 13 Sep 2009) | 2 lines
+commit 09037ad50bd7a839794df37034bcd3dd378cab13
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Fri Mar 25 23:25:15 2011 +0100
-fixed incorrect translation
+ renderer interface cleanup
-------------------------------------------------------------------------
-r1851 | nadvornik | 2009-09-13 22:00:08 +0200 (Sun, 13 Sep 2009) | 2 lines
+commit c9965882aeed23e72cf019f6d3859a69d1d4aebd
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Fri Mar 25 23:14:01 2011 +0100
-fixed filelist refresh
+ fixed redrawing on expose event
-------------------------------------------------------------------------
-r1850 | nadvornik | 2009-09-13 14:33:11 +0200 (Sun, 13 Sep 2009) | 2 lines
+commit a5a53debed949e9511e6e6fcd454aa324334a8cf
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Fri Mar 25 22:09:59 2011 +0100
-preserve histmap on NOTIFY_CHANGE
+ fixed area_changed handling
-------------------------------------------------------------------------
-r1849 | nadvornik | 2009-09-13 11:55:21 +0200 (Sun, 13 Sep 2009) | 2 lines
+commit 8a3733bbabbca537e1f741984fa8b5e94cca08c6
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sun Mar 20 19:16:07 2011 +0100
-added possibility to use geeqie-rotate as a standalone script
+ added more anaglyph modes
-------------------------------------------------------------------------
-r1848 | nadvornik | 2009-09-12 18:37:05 +0200 (Sat, 12 Sep 2009) | 2 lines
+commit 19f041e7e105a568a57b22cc36e30590ccc75de7
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sun Mar 20 12:49:00 2011 +0100
-strip the "lang=" prefix from exiv2 in all metadata formats
+ added half-size (3dtv) stereo mode
-------------------------------------------------------------------------
-r1847 | nadvornik | 2009-09-12 18:03:09 +0200 (Sat, 12 Sep 2009) | 2 lines
+commit 797e4dbd59e944c3d3b78d25b44dfe7ae8bb287e
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sun Mar 20 11:31:08 2011 +0100
-simplified template
+ fixed sbs mode
-------------------------------------------------------------------------
-r1846 | nadvornik | 2009-09-12 17:51:37 +0200 (Sat, 12 Sep 2009) | 5 lines
+commit e82e902ed059b5ed4e12a1c48e816cdf3c514940
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sun Mar 20 11:11:08 2011 +0100
-editor fixes
+ save and load stereo options
-- fixed editor loading order
-- fixed EditorWindow->modified flag handling
+commit f2ee23371ea8a95eb54cd39bf191e658f99cae7e
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sun Mar 20 10:52:41 2011 +0100
-------------------------------------------------------------------------
-r1845 | nadvornik | 2009-09-12 17:31:24 +0200 (Sat, 12 Sep 2009) | 2 lines
+ improved preferences dialog
-fixed reloading of editors
+commit bd4b6cfb641e52f646931b69ddccbcacb0f85a5f
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sun Mar 20 10:15:07 2011 +0100
-------------------------------------------------------------------------
-r1844 | nadvornik | 2009-09-09 20:16:09 +0200 (Wed, 09 Sep 2009) | 2 lines
+ added fixed stereo mode
-advertisment added
+commit 826ea8c822093a131c5c44c9c02252aff5d60d2e
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sun Mar 20 00:23:54 2011 +0100
-------------------------------------------------------------------------
-r1843 | nadvornik | 2009-09-07 22:44:29 +0200 (Mon, 07 Sep 2009) | 5 lines
+ removed 'swap' entry from menu
-start_editor_from_filelist_full fixes
+commit 28fd30edc8bf0a4d0a62c2732d37f512affaf87b
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sun Mar 20 00:18:13 2011 +0100
-fixed return value from start_editor_from_filelist_full()
-call editor_command_parse to detect possible problems early enough
+ temporarily disable stereo mode, added more stereo prefs
-------------------------------------------------------------------------
-r1842 | nadvornik | 2009-09-07 22:04:22 +0200 (Mon, 07 Sep 2009) | 2 lines
+commit 623bc05945e68c9242a69290de12501435a1bc18
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sat Mar 19 21:42:13 2011 +0100
-fixed list of possible editors in popup menu
+ type of source stereo image made adjustable from menu
-------------------------------------------------------------------------
-r1841 | nadvornik | 2009-09-07 21:48:05 +0200 (Mon, 07 Sep 2009) | 5 lines
+commit bab7032f6f11847e68ce1ac42d68a18d50aed220
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sat Mar 19 19:53:30 2011 +0100
-fixes sidecar file grouping
+ stereo mode preferences
-files with a number in extension were listed twice, it
-caused problems later
+commit f5f37819bf9ede89c68114b079feb24d19e49343
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sat Feb 5 22:22:12 2011 +0100
-------------------------------------------------------------------------
-r1840 | zas_ | 2009-09-07 10:24:09 +0200 (Mon, 07 Sep 2009) | 1 line
+ change stereo mode from menu
-Comment out unused functions, silenting related compilation warnings.
-------------------------------------------------------------------------
-r1839 | zas_ | 2009-09-07 10:18:18 +0200 (Mon, 07 Sep 2009) | 1 line
+commit 68dc88956d7b42a3ced0e0256d075307e866494f
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sat Feb 5 18:20:16 2011 +0100
-Remove an unused variable and minor code cleanup.
-------------------------------------------------------------------------
-r1838 | nadvornik | 2009-09-06 16:29:19 +0200 (Sun, 06 Sep 2009) | 2 lines
+ swap stereo images
-improved editor loading
+commit 8ea74ae53b6c32d3d5492340fe16fdeeedd12f26
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Fri Feb 4 23:49:13 2011 +0100
-------------------------------------------------------------------------
-r1837 | nadvornik | 2009-09-06 16:21:19 +0200 (Sun, 06 Sep 2009) | 2 lines
+ added mirrored stereo mode
-fixed unnecessary image reloads in color menu
+commit 086196582749a9f9fd254399665c56a892348ce3
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sat Jan 29 17:43:05 2011 +0100
-------------------------------------------------------------------------
-r1836 | nadvornik | 2009-09-06 16:01:03 +0200 (Sun, 06 Sep 2009) | 9 lines
+ fixed overlay position - part2
-load desktop files in idle time
+commit a081296160a39396e395eab36c091cddfb9f216e
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sat Jan 29 17:35:29 2011 +0100
-- 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
+ fixed overlay position
-https://sourceforge.net/tracker/index.php?func=detail&aid=2852522&group_id=222125&atid=1054680
+commit cb324a14505d277f8c2def3512e71f64d151531b
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sat Jan 29 17:15:39 2011 +0100
+ do not draw tiles outside the viewport
-------------------------------------------------------------------------
-r1835 | nadvornik | 2009-09-06 11:08:37 +0200 (Sun, 06 Sep 2009) | 2 lines
+commit 589a4cb49ae1b9c0a8618ca3918a579ef9e517ae
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sat Jan 29 14:49:38 2011 +0100
-added messages for debugging startup time
+ display pixel aspect ratio support
-------------------------------------------------------------------------
-r1834 | zas_ | 2009-09-05 15:48:21 +0200 (Sat, 05 Sep 2009) | 1 line
+commit 0a5ec68af089d4b79c3816d3e7df0434ea0ad5e8
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Fri Jan 28 14:34:57 2011 +0100
-Update svn ignore lists.
-------------------------------------------------------------------------
-r1833 | zas_ | 2009-09-04 17:53:04 +0200 (Fri, 04 Sep 2009) | 5 lines
+ anaglyph support
-Fix up compilation issues related to libchamplain.
+commit fa7103087ac4eaf5d2ddd560fa472d4c4d8a1fa2
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Fri Jan 28 13:13:27 2011 +0100
-See http://sourceforge.net/tracker/index.php?func=detail&aid=2848469&group_id=222125&atid=1054680
+ rt_tile_render cleanup part 3
+commit 3dd0e08368b389250b15790036be7f00075a1d74
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Fri Jan 28 13:05:14 2011 +0100
-------------------------------------------------------------------------
-r1832 | nadvornik | 2009-09-03 22:00:40 +0200 (Thu, 03 Sep 2009) | 2 lines
+ rt_tile_render cleanup part 2
-fixed in-place rename
+commit 808d8558b3d5e2ec8791ca3ea2a0ba14e5e18823
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Fri Jan 28 12:44:32 2011 +0100
-------------------------------------------------------------------------
-r1831 | nadvornik | 2009-09-03 21:18:20 +0200 (Thu, 03 Sep 2009) | 5 lines
+ rt_tile_render cleanup part 1
-do not reload image on copy, move, rename and external editor
+commit 6b9ed5a71fc7230c795e4edd541fb79a5d022220
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Fri Jan 28 11:05:07 2011 +0100
-changed files should be detected anyway
-http://sourceforge.net/tracker/index.php?func=detail&aid=2848373&group_id=222125&atid=1054680
+ first stereo support
-------------------------------------------------------------------------
-r1830 | nadvornik | 2009-08-29 01:09:05 +0200 (Sat, 29 Aug 2009) | 2 lines
+commit 63fdb63ce1470f08c4be2d7a2ff02582c331560e
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Thu Jan 27 13:40:05 2011 +0100
-fixed vd_notify_cb leak
+ separated tile renderer
-------------------------------------------------------------------------
-r1829 | nadvornik | 2009-08-28 23:01:29 +0200 (Fri, 28 Aug 2009) | 2 lines
+commit a8c5cb269996f35d4877e31514956c198c3bd2e5
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Mon Sep 26 15:02:05 2011 +0200
-improved printing of selection
+ ignore raw image support reported by the pixbuf loader
-------------------------------------------------------------------------
-r1828 | nadvornik | 2009-08-28 22:18:46 +0200 (Fri, 28 Aug 2009) | 2 lines
+commit d2c78b7a8dadc45b958e1b74242d64766e9f6e9f
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sat Apr 9 16:38:46 2011 +0200
-improved the sidecar grouping algorithm
+ fixed using DEBUG_N from multiple threads
-------------------------------------------------------------------------
-r1827 | nadvornik | 2009-08-27 22:23:28 +0200 (Thu, 27 Aug 2009) | 4 lines
+commit 8a55b69211b5866025f66c514f34ad697d3d1909
+Author: Laurent Monin <geeqie@norz.org>
+Date: Thu Dec 16 22:26:36 2010 +0100
-fixed toggle_slideshow function
+ 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.
-https://sourceforge.net/tracker/index.php?func=detail&aid=2844302&group_id=222125&atid=1054680
+commit 138e31f328408ac88f1162999c8fcb24298ab37a
+Author: Vladislav Naumov <vnaum@vnaum.com>
+Date: Thu Dec 16 21:55:03 2010 +0100
-------------------------------------------------------------------------
-r1826 | nadvornik | 2009-08-26 21:19:06 +0200 (Wed, 26 Aug 2009) | 2 lines
+ 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)
-updated version message
+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
-------------------------------------------------------------------------
-r1825 | nadvornik | 2009-08-26 21:16:02 +0200 (Wed, 26 Aug 2009) | 2 lines
+commit 7a426d74379c2728ffe2bd0b5a33fd9bb473d7fb
+Author: Klaus Ethgen <Klaus@Ethgen.de>
+Date: Sun Feb 28 22:55:37 2010 +0000
-save one unnecessary call to stat_utf8
+ Add unknown file class to grouping
-------------------------------------------------------------------------
-r1824 | nadvornik | 2009-08-26 00:21:46 +0200 (Wed, 26 Aug 2009) | 4 lines
+commit b71f37b8dbfd89c79a407698293cc3de44b4f645
+Author: Klaus Ethgen <Klaus@Ethgen.de>
+Date: Sun Feb 28 15:17:12 2010 +0000
-use name as a tooltip of external editor if comment is missing
+ Fix a small issue with strptime
+
+ strptime do not initialize all fields. So the undefined fields could end
+ in crash later on.
-the hotkey dialog ignores entries with empty tooltip
+commit fc390bb82685262d7fc073f0571e39c2fcc1c8c3
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sat Feb 27 23:31:07 2010 +0000
-------------------------------------------------------------------------
-r1823 | nadvornik | 2009-08-25 23:30:50 +0200 (Tue, 25 Aug 2009) | 7 lines
+ Allow scrollview to grow when generic dialog is resized (ie. Metadata write ? dialog). Do not force scrollbar if not needed.
-write metadata before another opeation
+commit 34c581a990f3b8f76084e0379282cb6bf8eb9606
+Author: Klaus Ethgen <Klaus@Ethgen.de>
+Date: Sat Feb 27 20:35:26 2010 +0000
-- this is implemented for copy and external editor
-- the unsaved metadata should survive operations like move or rename
-- saving metadata before delete is pointless
+ 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
-------------------------------------------------------------------------
-r1822 | nadvornik | 2009-08-23 16:10:56 +0200 (Sun, 23 Aug 2009) | 4 lines
+ Little macro correction
-workaround for xpm loader
+commit de8ed72a941ef92c51ceca084b66dc7828cb90ab
+Author: Klaus Ethgen <Klaus@Ethgen.de>
+Date: Sat Feb 27 20:34:54 2010 +0000
-https://sourceforge.net/tracker/?func=detail&aid=2824016&group_id=222125&atid=1054680
+ Unifying the datetime output
+
+ The output of %date% and %formatted.DateTime% should be equivalent.
-------------------------------------------------------------------------
-r1821 | nadvornik | 2009-08-23 15:37:15 +0200 (Sun, 23 Aug 2009) | 4 lines
+commit 7cabd51896c7a9411de0336ade042f4e726fe3e1
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Wed Feb 17 21:05:10 2010 +0000
-fixed moving and maintenance of std. thumbnails
+ updated ChangeLog file
-https://sourceforge.net/tracker/?func=detail&aid=2836224&group_id=222125&atid=1054680
+commit c704896fdb0d0d5b5e2d2205c9d57a4382d343d7
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Tue Feb 16 21:18:03 2010 +0000
-------------------------------------------------------------------------
-r1820 | nadvornik | 2009-08-22 23:58:49 +0200 (Sat, 22 Aug 2009) | 2 lines
+ added 2010 to copyright text
-remove deleted files from metadata queue
+commit 7bea2e9641e42a79bf6bc89a7b9d86d68e671b87
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Tue Feb 16 21:10:12 2010 +0000
-------------------------------------------------------------------------
-r1819 | nadvornik | 2009-08-22 22:20:19 +0200 (Sat, 22 Aug 2009) | 6 lines
+ updated version string
-fixed sidecar grouping
+commit 43c48179f5b7249ea13b918d0e6cdb156ce3011f
+Author: Laurent Monin <geeqie@norz.org>
+Date: Tue Feb 16 20:07:05 2010 +0000
-this fixes grouping of files which differs only
-in upper/lowercase extension. The old code stopped scanning
-when the first file was found.
+ Restore translators list, removed by revision 1899.
-------------------------------------------------------------------------
-r1818 | nadvornik | 2009-08-18 22:19:23 +0200 (Tue, 18 Aug 2009) | 2 lines
+commit 113b2377405d3652e66bb547bdf58f981ef6f606
+Author: Laurent Monin <geeqie@norz.org>
+Date: Tue Feb 16 19:55:35 2010 +0000
-fixed possible crash in exif_item_get_integer
+ Update russian translation. Thanks to Denis Silakov.
-------------------------------------------------------------------------
-r1817 | nadvornik | 2009-08-03 22:47:14 +0200 (Mon, 03 Aug 2009) | 2 lines
+commit 4261dfa3f5aaf091e97daeb0f99dd020672fe37b
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sun Feb 14 22:00:23 2010 +0000
-updated links
+ fixed segfault in exif parser
+
+ http://sourceforge.net/tracker/index.php?func=detail&aid=2950617&group_id=222125&atid=1054682
-------------------------------------------------------------------------
-r1816 | mow | 2009-08-03 14:34:57 +0200 (Mon, 03 Aug 2009) | 1 line
+commit b6a2a9d69377da28b4dacdc3630e68e5cb7869ef
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sun Feb 14 21:35:11 2010 +0000
-Fixing libexiv2 bug
-------------------------------------------------------------------------
-r1815 | mow | 2009-08-02 00:37:57 +0200 (Sun, 02 Aug 2009) | 3 lines
+ fixed reference count
+
+ there was a bug in reference count on writting unsaved metadata
+ before starting an external editor
-Fix a small problem with casefull keywords
+commit aa1e53ca14dcd9a75a717792be8a4d5fc735a5eb
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sun Feb 7 13:16:35 2010 +0000
-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
+ test gnome-doc-tool in configure
-This function is never used anymore: file_maint_removed
-------------------------------------------------------------------------
-r1813 | nadvornik | 2009-07-31 22:46:55 +0200 (Fri, 31 Jul 2009) | 2 lines
+commit 78b77ae3833bfa191aa94531e5b5ba0765b0cc6e
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sun Feb 7 12:44:55 2010 +0000
-updated project status
+ dropped obsolete sections, gqview changelog moved to wiki
-------------------------------------------------------------------------
-r1812 | nadvornik | 2009-07-31 22:31:56 +0200 (Fri, 31 Jul 2009) | 4 lines
+commit f977ad15657970ebb4621ba46e005cefc0b218ae
+Author: Laurent Monin <geeqie@norz.org>
+Date: Tue Feb 2 20:21:11 2010 +0000
-added project web page under version control
+ 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
-------------------------------------------------------------------------
-r1811 | zas_ | 2009-07-30 19:59:20 +0200 (Thu, 30 Jul 2009) | 1 line
+commit b015822f5751b6ad105ad607d196320574d30806
+Author: Laurent Monin <geeqie@norz.org>
+Date: Wed Jan 27 19:58:11 2010 +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.
-------------------------------------------------------------------------
-r1810 | nadvornik | 2009-07-29 23:03:38 +0200 (Wed, 29 Jul 2009) | 2 lines
+ Update catalan translation, by angel mompo.
-updated czech translation
+commit 6088a5dd735b2bea2b1a8b4606b3c32e89b86999
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sun Jan 17 13:34:48 2010 +0000
-------------------------------------------------------------------------
-r1809 | nadvornik | 2009-07-29 00:27:24 +0200 (Wed, 29 Jul 2009) | 4 lines
+ Fix osd zoom level refreshing (it was broken since some times).
-improved scroll on slower machines
+commit 615b0fbae5303c71ce20356036d89d8d5a23261e
+Author: Laurent Monin <geeqie@norz.org>
+Date: Wed Jan 13 19:49:39 2010 +0000
-patch by Stanislav Brabec
+ Update dutch translation. Work in progress.
+
+ Patch by Marcel Pol.
-------------------------------------------------------------------------
-r1808 | nadvornik | 2009-07-29 00:14:26 +0200 (Wed, 29 Jul 2009) | 4 lines
+commit 141a854c9b4b80132cb0be2cfd45122e41157531
+Author: Klaus Ethgen <Klaus@Ethgen.de>
+Date: Mon Jan 11 14:10:49 2010 +0000
-do not process sidecar files in bar_gps
+ Wops, typo...
-patch by Colin Clark
+commit 36ee9c9dcd360e1d6847f4fd9b899c70875cc23f
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sun Jan 10 14:23:29 2010 +0000
-------------------------------------------------------------------------
-r1807 | nadvornik | 2009-07-29 00:03:54 +0200 (Wed, 29 Jul 2009) | 2 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.
-run the scripts with /bin/sh
+commit 8ce20c203c0b7e91eed065d5163bd2ad8e183eb3
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sat Jan 9 11:44:27 2010 +0000
-------------------------------------------------------------------------
-r1806 | zas_ | 2009-07-25 10:23:23 +0200 (Sat, 25 Jul 2009) | 1 line
+ Workaround intltoolize 0.40.6 bug related to LINGUAS, see bug 2817602.
-French translation was updated.
-------------------------------------------------------------------------
-r1805 | zas_ | 2009-07-25 10:13:13 +0200 (Sat, 25 Jul 2009) | 1 line
+commit 5a1662366440a908c9af77b57ccd00472ea0d3cc
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sat Jan 9 10:37:48 2010 +0000
-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
+ Log a message when EOVERFLOW error is set by stat() when building files lists. See bug 2876142.
-Romanian translation was completed. Thanks to Sabin Iacob.
-------------------------------------------------------------------------
-r1803 | nadvornik | 2009-07-24 16:07:54 +0200 (Fri, 24 Jul 2009) | 2 lines
+commit a1c2ef4506fae105f7ca76463fe21c84bd283cb3
+Author: Laurent Monin <geeqie@norz.org>
+Date: Tue Jan 5 22:28:11 2010 +0000
-update column sizes after toggling thumbnails
+ Add Serbian translation.
+
+ Note there are two *.po files, one for Cyrilic and one for Latin
+ letters.
+
+ Thanks to Milos Popovic.
-------------------------------------------------------------------------
-r1802 | nadvornik | 2009-07-24 15:32:37 +0200 (Fri, 24 Jul 2009) | 2 lines
+commit 59801852932ec6a13f43b1e3f4beb42631906070
+Author: Laurent Monin <geeqie@norz.org>
+Date: Tue Jan 5 22:26:03 2010 +0000
-fixed switching of multiline texts
+ Update README about translations.
-------------------------------------------------------------------------
-r1801 | nadvornik | 2009-07-24 14:56:54 +0200 (Fri, 24 Jul 2009) | 5 lines
+commit f9feac4ff37cc70a0b601c1e839f4e37ff2b5072
+Author: Laurent Monin <geeqie@norz.org>
+Date: Tue Jan 5 17:49:50 2010 +0000
-do not try to reload deleted image
+ 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.
-deleted image is replaced by the next one from the list, keep
-the old image displayed until the new one is set
+commit f1c7e5da546938446317b7af5ca2c06996bed93a
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sat Jan 2 12:38:55 2010 +0000
-------------------------------------------------------------------------
-r1800 | nadvornik | 2009-07-24 14:45:42 +0200 (Fri, 24 Jul 2009) | 6 lines
+ Get rid of Geeqie version and beta release message. It clutters command line usage, and is not that useful. Suggested by Michal Čihař.
-call gtk_tree_view_columns_autosize only when reall needed
+commit bd34c324c92456f5182579d6922d7aba664f93c3
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sat Dec 19 12:53:20 2009 +0000
-gtk_tree_view_columns_autosize is rather expensive, call it only
-afrer directory change or after user-requested refresh
+ 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
-------------------------------------------------------------------------
-r1799 | nadvornik | 2009-07-24 14:21:23 +0200 (Fri, 24 Jul 2009) | 5 lines
+ Store sort parameters in appropriate variables.
-do not use cell_data_func
+commit 7ec5e57c11590f5d44bb96865e279de8d03c49cf
+Author: Laurent Monin <geeqie@norz.org>
+Date: Thu Dec 10 17:48:43 2009 +0000
-cell_data_func is too slow, store formatted string in the tree_store
-instead
+ Move "Add Keyword" menu item at top of Keywords bar contextual menu.
+
+ Suggested by Lars Täuber.
-------------------------------------------------------------------------
-r1798 | nadvornik | 2009-07-21 16:17:01 +0200 (Tue, 21 Jul 2009) | 10 lines
+commit e6fe9db8a728c2188e7276f3cea001981120ed80
+Author: Laurent Monin <geeqie@norz.org>
+Date: Thu Dec 10 17:44:31 2009 +0000
-fixed destroying of menu data
+ 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.
-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 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).
-------------------------------------------------------------------------
-r1797 | mow | 2009-07-18 10:16:54 +0200 (Sat, 18 Jul 2009) | 4 lines
+commit 4bbf6df484aa38c0919ef1c12f25a61e7cb2857b
+Author: Laurent Monin <geeqie@norz.org>
+Date: Fri Dec 4 20:40:02 2009 +0000
-Fix a overrun
+ Editors: disable Delete button if a .desktop file is not writeable and disable Edit button when no entry is selected.
-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
+commit 4ba3a4841437e510a1c2904ac2991debb2d1071a
+Author: Laurent Monin <geeqie@norz.org>
+Date: Fri Dec 4 19:45:09 2009 +0000
-updated ChangeLog file
+ Add Opera to the list of browsers. Patch by Christian Heckendorf (feature request ID: 2908469).
-------------------------------------------------------------------------
-r1794 | nadvornik | 2009-07-02 19:31:38 +0200 (Thu, 02 Jul 2009) | 2 lines
+commit 1f4fdf05a9d2f0ec98fc4a9c17172138e60a9e1f
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Fri Nov 27 23:27:35 2009 +0000
-updated ca.po - submitted by Mecatxis
+ build documentation with gnome-doc-tool in makefile
-------------------------------------------------------------------------
-r1793 | nadvornik | 2009-07-01 22:55:37 +0200 (Wed, 01 Jul 2009) | 2 lines
+commit 3f39e625a89f647d3963770bfc1222ef3f2b8a98
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sun Nov 22 09:12:22 2009 +0000
-make sure that automake and config.h uses the same installation paths
+ scripts for converting wiki documentation to docbook
-------------------------------------------------------------------------
-r1792 | nadvornik | 2009-07-01 21:38:17 +0200 (Wed, 01 Jul 2009) | 2 lines
+commit 14fdb79a58c05b2110ccd7a7abc2e31099b74562
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sat Nov 21 20:08:51 2009 +0000
-updated version string
+ check gtk_clutter_init return value
+
+ https://sourceforge.net/tracker/index.php?func=detail&aid=2899866&group_id=222125&atid=1054680
-------------------------------------------------------------------------
-r1791 | nadvornik | 2009-07-01 21:33:09 +0200 (Wed, 01 Jul 2009) | 2 lines
+commit 64efa05fe3501bbcdd866156a9c62954d198514a
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Wed Nov 18 12:34:30 2009 +0000
-fixed mnemonic conflicts
+ changed https to http in wiki links
-------------------------------------------------------------------------
-r1790 | nadvornik | 2009-07-01 20:59:39 +0200 (Wed, 01 Jul 2009) | 2 lines
+commit fb7ec61825c021bfbc7431ce7dcbbafc97a8d9c1
+Author: Laurent Monin <geeqie@norz.org>
+Date: Fri Nov 13 18:37:31 2009 +0000
-removed msgctxt keyword, older gettext fails on it
+ Spanish translation was updated. Thanks to Redy Rodriguez.
-------------------------------------------------------------------------
-r1789 | nadvornik | 2009-07-01 20:32:32 +0200 (Wed, 01 Jul 2009) | 2 lines
+commit 40c05f384b37a3fc91262b033a0603ce376f8ccc
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sat Nov 7 21:31:23 2009 +0000
-removed gettext.h reference
+ Updated spanish translation. Thanks to Redy Rodriguez.
-------------------------------------------------------------------------
-r1788 | nadvornik | 2009-07-01 09:04:42 +0200 (Wed, 01 Jul 2009) | 2 lines
+commit ec5cfc05e59af8975556ffbc6262252e91172441
+Author: Klaus Ethgen <Klaus@Ethgen.de>
+Date: Tue Oct 13 21:49:42 2009 +0000
-updated spec file
+ German translation update
-------------------------------------------------------------------------
-r1787 | zas_ | 2009-07-01 01:40:37 +0200 (Wed, 01 Jul 2009) | 1 line
+commit 3bd2b7d601d9444418799003a5ae472ac7738d15
+Author: Klaus Ethgen <Klaus@Ethgen.de>
+Date: Tue Oct 13 21:49:21 2009 +0000
-French translation was updated.
-------------------------------------------------------------------------
-r1786 | nadvornik | 2009-06-30 22:15:33 +0200 (Tue, 30 Jun 2009) | 2 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
-fixed an use of uninitialized value
+commit 84b602a4d3d1156d36c42db6bbd5d811cbe2f255
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sat Oct 10 15:01:41 2009 +0000
-------------------------------------------------------------------------
-r1785 | nadvornik | 2009-06-30 22:12:28 +0200 (Tue, 30 Jun 2009) | 5 lines
+ added a workaround for https://bugzilla.gnome.org/show_bug.cgi?id=590692
-fixes for a built without Exiv2
+commit 9d0d6ce6929d7fae161552c1d91ee9ff412b3b2f
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sat Oct 10 10:15:23 2009 +0000
-don't try to access XMP metadata if not compiled with Exiv2
-some metadata options are valid without Exiv2, do not disable them
+ use text renderer for editor->hidden
+
+ The toggle was too confusing because it was not dirrectly editable.
-------------------------------------------------------------------------
-r1784 | mow | 2009-06-30 21:53:55 +0200 (Tue, 30 Jun 2009) | 5 lines
+commit a41042b3eed47f80f91448ca4836d09976a238fb
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Thu Oct 1 18:40:34 2009 +0000
-Revert "Add pgettext for some ambiguous strings"
+ 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.
-Now there should be all ambiguous strings gone. This reverts commit 1628
+commit 95d62825b5e935186a76211f63bea02b4af88d5a
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Thu Oct 1 17:37:51 2009 +0000
-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
+ fixed tree_store reordering
-add desktop.in files to the tarball
+commit 34f3b8a3ff32d1d2c4c77f57dd99344a7443257f
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Mon Sep 28 12:04:35 2009 +0000
-------------------------------------------------------------------------
-r1782 | nadvornik | 2009-06-29 21:48:14 +0200 (Mon, 29 Jun 2009) | 2 lines
+ do not cache incomplete thumbnails
-fixed writting to gqview legacy format
+commit 63420660a443d3a98d556ef90da3d079d058c4cb
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Mon Sep 28 09:57:06 2009 +0000
-------------------------------------------------------------------------
-r1781 | zas_ | 2009-06-29 18:32:43 +0200 (Mon, 29 Jun 2009) | 1 line
+ consider sidecars in layout_image popup menu
-French translation was updated.
-------------------------------------------------------------------------
-r1780 | zas_ | 2009-06-29 18:02:28 +0200 (Mon, 29 Jun 2009) | 1 line
+commit 64cf6613bcea8ae9c8f412255d2132eead0d76e8
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sat Sep 26 11:37:09 2009 +0000
-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
+ bar_gps cleanup
+
+ - removed the scrollbar
+ - do not set decel-rate,
+ https://bugzilla.gnome.org/show_bug.cgi?id=596419
-added geeqie-import-geeqie.desktop.in
+commit 643ae01b588ec9645731f147d82102244ac7dc74
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sat Sep 26 08:47:28 2009 +0000
-------------------------------------------------------------------------
-r1778 | nadvornik | 2009-06-28 13:55:54 +0200 (Sun, 28 Jun 2009) | 2 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
-libchamplain compatibility fix
+commit 8b6b4b9f42ac74470709bd413f0b5ce5b4190a90
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Fri Sep 25 20:39:15 2009 +0000
-------------------------------------------------------------------------
-r1777 | nadvornik | 2009-06-28 11:25:47 +0200 (Sun, 28 Jun 2009) | 2 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
-cleanup: remove some disabled code
+commit b52b036e97cb06283bc2280c432404cba631cbc2
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Thu Sep 24 21:52:44 2009 +0000
-------------------------------------------------------------------------
-r1776 | nadvornik | 2009-06-28 11:08:25 +0200 (Sun, 28 Jun 2009) | 2 lines
+ fixed and simplified sidecar grouping code
-warn if another operation is performed on a file with unsaved metadata
+commit 98cfb648cc4b0173b3e324af8d4c81fa14623124
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Thu Sep 24 18:02:29 2009 +0000
-------------------------------------------------------------------------
-r1775 | nadvornik | 2009-06-28 10:49:28 +0200 (Sun, 28 Jun 2009) | 2 lines
+ fixed emitting of error signal from image loader
-sync histogram state after enabling it from the menu
+commit f1c57f3c48c0347586e17fdce74e798ab95756ba
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Mon Sep 21 18:48:32 2009 +0000
-------------------------------------------------------------------------
-r1774 | nadvornik | 2009-06-28 10:32:27 +0200 (Sun, 28 Jun 2009) | 2 lines
+ fixed pan-view popup menu
+
+ - removed wrong callback
+ - consider sidecar files in the editor popup
-added script for importing GQView and Geeqie-alpha metadata
+commit 068a46d7a986f799ada8cc2cc80864c87b4d0741
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Mon Sep 14 21:25:10 2009 +0000
-------------------------------------------------------------------------
-r1773 | nadvornik | 2009-06-28 01:12:52 +0200 (Sun, 28 Jun 2009) | 2 lines
+ fixed selection handling in sidebar
-put preferences to separate submenu
+commit a65c901d3b70d7b3c2ed08ed89ffc90fac4bccc4
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sun Sep 13 21:08:40 2009 +0000
-------------------------------------------------------------------------
-r1772 | mow | 2009-06-28 00:58:20 +0200 (Sun, 28 Jun 2009) | 1 line
+ fixed editor list in popup menu
+
+ - show an editor if any of selected files matches
+ - added debug messages
-German translation update
-------------------------------------------------------------------------
-r1771 | mow | 2009-06-28 00:57:56 +0200 (Sun, 28 Jun 2009) | 8 lines
+commit 1ab4168f7370de7b3370b1b91cb8a052327055b1
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sun Sep 13 21:03:17 2009 +0000
-Complete commit @1747 (intltool usage)
+ fixed incorrect translation
-With using intltool the localisation will fail cause of missing
-desktop.in file. Also the old desktop files are obsoleted by this
-commit.
+commit 3a4c59562600d7a6b390c702b72c921ade71e3db
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sun Sep 13 20:00:08 2009 +0000
-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
+ fixed filelist refresh
-Fix AM_CFLAGS and AM_CXXFLAGS from @1701
+commit 0d3397b546403b2beb64608ab306f1d8ec323b2b
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sun Sep 13 12:33:11 2009 +0000
-The commit 1701 did insert wrong lines for AM_CFLAGS and AM_CXXFLAGS to
-src/Makefile.am.
+ preserve histmap on NOTIFY_CHANGE
-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
+commit d88c0197db63c4282f6986112521d45f87c753a6
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sun Sep 13 09:55:21 2009 +0000
-added command for editing ufraw id file, changed menu location
+ added possibility to use geeqie-rotate as a standalone script
-------------------------------------------------------------------------
-r1768 | nadvornik | 2009-06-27 23:12:07 +0200 (Sat, 27 Jun 2009) | 2 lines
+commit 9f27ef873ac95d800100b3a8702bcbe614a6e49b
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sat Sep 12 16:37:05 2009 +0000
-reordered View menu
+ strip the "lang=" prefix from exiv2 in all metadata formats
-------------------------------------------------------------------------
-r1767 | nadvornik | 2009-06-27 22:47:17 +0200 (Sat, 27 Jun 2009) | 2 lines
+commit 5773c73278ff455e6b1c96f115509cf24fe89108
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sat Sep 12 16:03:09 2009 +0000
-use radio buttons for file and dir mode in popup menu
+ simplified template
-------------------------------------------------------------------------
-r1766 | nadvornik | 2009-06-27 22:12:56 +0200 (Sat, 27 Jun 2009) | 2 lines
+commit fcf4c3852f5993e7cbb0e5f19ae46919c22a4ffd
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sat Sep 12 15:51:37 2009 +0000
-simplified menu_item_add_radio usage
+ editor fixes
+
+ - fixed editor loading order
+ - fixed EditorWindow->modified flag handling
-------------------------------------------------------------------------
-r1765 | nadvornik | 2009-06-27 19:54:31 +0200 (Sat, 27 Jun 2009) | 2 lines
+commit 50f55547a981a56f3baa1cd33bc2f3c4139bd695
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sat Sep 12 15:31:24 2009 +0000
-created Files and Folders submenu
+ fixed reloading of editors
-------------------------------------------------------------------------
-r1764 | nadvornik | 2009-06-27 17:47:50 +0200 (Sat, 27 Jun 2009) | 6 lines
+commit fbcd54e1b46fb22ca36e031e863af7b5f28b5d3b
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Wed Sep 9 18:16:09 2009 +0000
-improved overlay menu
+ advertisment added
-- indicate overlay and histogram state in toggle and radio entries in
- the menu
-- all entries have visible effect in all modes
+commit 04d9cb61c50924e4a8a7431e2da696b55693d241
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Mon Sep 7 20:44:29 2009 +0000
-------------------------------------------------------------------------
-r1763 | nadvornik | 2009-06-24 22:31:30 +0200 (Wed, 24 Jun 2009) | 9 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
-test if an accelerator can be stored
+commit 89d76d7da4f277010901baaf80c239c057d7da70
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Mon Sep 7 20:04:22 2009 +0000
-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.
+ fixed list of possible editors in popup menu
-https://sourceforge.net/tracker/?func=detail&aid=2805139&group_id=222125&atid=1054680
+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
-------------------------------------------------------------------------
-r1762 | nadvornik | 2009-06-23 21:20:48 +0200 (Tue, 23 Jun 2009) | 2 lines
+commit b319e56a6f2a4018c385fe0b8eb085724dd33da5
+Author: Laurent Monin <geeqie@norz.org>
+Date: Mon Sep 7 08:24:09 2009 +0000
-improved description string
+ Comment out unused functions, silenting related compilation warnings.
-------------------------------------------------------------------------
-r1761 | mow | 2009-06-22 00:52:45 +0200 (Mon, 22 Jun 2009) | 1 line
+commit 6178ce7ae0e76e7e4d348681969e6dd31235c8ad
+Author: Laurent Monin <geeqie@norz.org>
+Date: Mon Sep 7 08:18:18 2009 +0000
-Localizing one string
-------------------------------------------------------------------------
-r1760 | mow | 2009-06-22 00:52:08 +0200 (Mon, 22 Jun 2009) | 11 lines
+ Remove an unused variable and minor code cleanup.
-Fix two memory failures
+commit 9cfd6cc0d65835a221e710c14941591543597145
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sun Sep 6 14:29:19 2009 +0000
-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.
+ improved editor loading
- The fix add the small functionality to set the field to default when
- it is set empty.
+commit 687a891871bd2c41ecb7f955b80910c941427353
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sun Sep 6 14:21:19 2009 +0000
-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
+ fixed unnecessary image reloads in color menu
-improved file list update priority
+commit e0fd3c772a12fdb3c6155b90b587c6dbaa418a82
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sun Sep 6 14:01:03 2009 +0000
-- update list with lower priority than the priority of file operations
-- make sure that it is updated at least once per 2 seconds
+ 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
-------------------------------------------------------------------------
-r1758 | nadvornik | 2009-06-21 15:28:02 +0200 (Sun, 21 Jun 2009) | 2 lines
+commit 397dd167416368a4d102b051352add5ed2982414
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sun Sep 6 09:08:37 2009 +0000
-fixed jumping of filelist on focus_in event
+ added messages for debugging startup time
-------------------------------------------------------------------------
-r1757 | nadvornik | 2009-06-21 14:39:58 +0200 (Sun, 21 Jun 2009) | 2 lines
+commit a9030eea34458fb630d338c042311e3904110eef
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sat Sep 5 13:48:21 2009 +0000
-fixed updating of marks in sidecars
+ Update svn ignore lists.
-------------------------------------------------------------------------
-r1756 | nadvornik | 2009-06-21 01:15:11 +0200 (Sun, 21 Jun 2009) | 6 lines
+commit dcadde2b6220414d6fc833c97a31b33fa0995d87
+Author: Laurent Monin <geeqie@norz.org>
+Date: Fri Sep 4 15:53:04 2009 +0000
-various geeqie-ufraw improvements
+ Fix up compilation issues related to libchamplain.
+
+ See http://sourceforge.net/tracker/index.php?func=detail&aid=2848469&group_id=222125&atid=1054680
-- handle xmp sidecars
-- commandline options, help
+commit 049463614a739625303f0edb6a8cf1ee90219833
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Thu Sep 3 20:00:40 2009 +0000
+ fixed in-place rename
-------------------------------------------------------------------------
-r1755 | nadvornik | 2009-06-20 20:42:23 +0200 (Sat, 20 Jun 2009) | 6 lines
+commit 6f6186dad0150ef4f37eca53c0cf22cbfd0cd7a0
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Thu Sep 3 19:18:20 2009 +0000
-fixed leak in file_util_* functions
+ 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
-- file_util_* are changed to take over the filelist and free it when
- done
-- make sure that these functions are called correctly
+commit 2b239ea29ca6de434c05482d27abf55df26d35f0
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Fri Aug 28 23:09:05 2009 +0000
-------------------------------------------------------------------------
-r1754 | nadvornik | 2009-06-20 18:46:32 +0200 (Sat, 20 Jun 2009) | 5 lines
+ fixed vd_notify_cb leak
-improved list view
+commit 1dc77a83b26aed8ff77e59837bf03e77789cb6b7
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Fri Aug 28 21:01:29 2009 +0000
-- do the string formatting in the cell_data callback
-- show the sidecar list only in collapsed entries
+ improved printing of selection
-------------------------------------------------------------------------
-r1753 | nadvornik | 2009-06-20 10:51:07 +0200 (Sat, 20 Jun 2009) | 2 lines
+commit fbfb356c4e58eaf760c363caa8cbb3e6a45bd8ed
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Fri Aug 28 20:18:46 2009 +0000
-always check for deleted sidecar files
+ improved the sidecar grouping algorithm
-------------------------------------------------------------------------
-r1752 | nadvornik | 2009-06-20 00:37:30 +0200 (Sat, 20 Jun 2009) | 2 lines
+commit 7cc27f48539b28a84af54e72c687276b729465bb
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Thu Aug 27 20:23:28 2009 +0000
-fixed regexp usage
+ fixed toggle_slideshow function
+
+ https://sourceforge.net/tracker/index.php?func=detail&aid=2844302&group_id=222125&atid=1054680
-------------------------------------------------------------------------
-r1751 | nadvornik | 2009-06-20 00:34:52 +0200 (Sat, 20 Jun 2009) | 2 lines
+commit ca1e575f63e3e5f39dafdb4c512f8e7672237ee0
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Wed Aug 26 19:19:06 2009 +0000
-run external commands from current directory even with no files
+ updated version message
-------------------------------------------------------------------------
-r1750 | nadvornik | 2009-06-18 22:46:33 +0200 (Thu, 18 Jun 2009) | 8 lines
+commit ccc188ca0606d79f1fe7e84e96a995acd96aca42
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Wed Aug 26 19:16:02 2009 +0000
-ufraw-batch script
+ save one unnecessary call to stat_utf8
-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 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
-------------------------------------------------------------------------
-r1749 | nadvornik | 2009-06-17 20:41:10 +0200 (Wed, 17 Jun 2009) | 2 lines
+commit da53e4e5a7a067aea6961ea89a35098a68562196
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Tue Aug 25 21:30:50 2009 +0000
-made file_util_start_editor_from_file consider also sidecars
+ 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
-------------------------------------------------------------------------
-r1748 | nadvornik | 2009-06-17 20:19:11 +0200 (Wed, 17 Jun 2009) | 7 lines
+commit 22679396edba29418ca66fb4a1e9238386ae13d5
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sun Aug 23 14:10:56 2009 +0000
-fixed problems with floor/ceil
+ workaround for xpm loader
+
+ https://sourceforge.net/tracker/?func=detail&aid=2824016&group_id=222125&atid=1054680
-- introduce macros ROUND_DOWN, ROUND_UP
-- fixed incorrect usage of floor/ceil functions on int arguments
+commit 399428f6412a8c2866ec65738ca12bccd374fe73
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sun Aug 23 13:37:15 2009 +0000
-patch by Yuriy Kaminskiy
+ fixed moving and maintenance of std. thumbnails
+
+ https://sourceforge.net/tracker/?func=detail&aid=2836224&group_id=222125&atid=1054680
-------------------------------------------------------------------------
-r1747 | nadvornik | 2009-06-15 22:50:35 +0200 (Mon, 15 Jun 2009) | 6 lines
+commit e284087c3e3d8714587fecdbb81d6328d3376b19
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sat Aug 22 21:58:49 2009 +0000
-use intltool for desktop file translation
+ remove deleted files from metadata queue
-- desktop files are translated via .po files together with other strings
-- make update-po is replaced with intltool-update [lang]
+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.
-------------------------------------------------------------------------
-r1746 | nadvornik | 2009-06-15 21:13:45 +0200 (Mon, 15 Jun 2009) | 5 lines
+commit 4fd2d2e9ae0d08ec04f1b893c08a315be6837abc
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Tue Aug 18 20:19:23 2009 +0000
-improved rotation script
+ fixed possible crash in exif_item_get_integer
-- applies the orientation from metadata
-- uses exiftran for jpeg an ImageMagick for other files
+commit c1371f79e488f152db06c61f821469fe59331ade
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Mon Aug 3 20:47:14 2009 +0000
-------------------------------------------------------------------------
-r1745 | zas_ | 2009-06-14 10:49:39 +0200 (Sun, 14 Jun 2009) | 1 line
+ updated links
-French translation was updated.
-------------------------------------------------------------------------
-r1744 | mow | 2009-06-14 00:19:57 +0200 (Sun, 14 Jun 2009) | 8 lines
+commit 6873f89855794d502a5098369ba8b79fa4794392
+Author: Klaus Ethgen <Klaus@Ethgen.de>
+Date: Mon Aug 3 12:34:57 2009 +0000
-Update documentation
+ Fixing libexiv2 bug
-Now it holds a more verbose doxygen description as discussed in mailing
-list.
+commit 95f139cb78e9e71ee9c8978fe70885537d265092
+Author: Klaus Ethgen <Klaus@Ethgen.de>
+Date: Sat Aug 1 22:37:57 2009 +0000
-- Doxygen style description
-- Small visibility changes
-- Commit message change
-------------------------------------------------------------------------
-r1743 | nadvornik | 2009-06-13 21:26:32 +0200 (Sat, 13 Jun 2009) | 2 lines
+ Fix a small problem with casefull keywords
+
+ In @1636 I miss one check for keyword case. Now it should be all fixed.
-the options for custom border color were made independent
+commit 993581fa3b5a4f2dfe93e6b3ceb03b7219b73f41
+Author: Klaus Ethgen <Klaus@Ethgen.de>
+Date: Sat Aug 1 22:37:37 2009 +0000
-------------------------------------------------------------------------
-r1742 | zas_ | 2009-06-11 20:18:07 +0200 (Thu, 11 Jun 2009) | 1 line
+ This function is never used anymore: file_maint_removed
-French translation was updated.
-------------------------------------------------------------------------
-r1741 | zas_ | 2009-06-11 19:34:37 +0200 (Thu, 11 Jun 2009) | 1 line
+commit 3ba97f11d9ed1b31f4983b6f2b85a1661fd21172
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Fri Jul 31 20:46:55 2009 +0000
-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
+ updated project status
-make sure that a directory exists on saving desktop files
+commit c57a5a23b7b648f93a7ab9e78d32ea240909a8ef
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Fri Jul 31 20:31:56 2009 +0000
-------------------------------------------------------------------------
-r1739 | nadvornik | 2009-06-10 22:26:47 +0200 (Wed, 10 Jun 2009) | 9 lines
+ added project web page under version control
-do not install helper scripts into /usr/bin
+commit 3591c21101f1f1f82eba676b7708f61badc13e0c
+Author: Laurent Monin <geeqie@norz.org>
+Date: Thu Jul 30 17:59:20 2009 +0000
-- 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
+ 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.
-fixes
-https://sourceforge.net/tracker/?func=detail&aid=2801121&group_id=222125&atid=1054680
+commit 50d58991a04ea08b245ad359ed7cd399f5e48d2e
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Wed Jul 29 21:03:38 2009 +0000
-------------------------------------------------------------------------
-r1738 | nadvornik | 2009-06-09 21:12:37 +0200 (Tue, 09 Jun 2009) | 4 lines
+ updated czech translation
-enabled color management in img-view
+commit e01d567728c83465fd4bd657233f07b6a1d47403
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Tue Jul 28 22:27:24 2009 +0000
-patch by Omari Stephens
+ improved scroll on slower machines
+
+ patch by Stanislav Brabec
-------------------------------------------------------------------------
-r1737 | nadvornik | 2009-06-09 21:08:52 +0200 (Tue, 09 Jun 2009) | 4 lines
+commit 41599122ba313c5806555c6f1e241ed09ff37177
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Tue Jul 28 22:14:26 2009 +0000
-fixed leak in image_post_process_color
+ do not process sidecar files in bar_gps
+
+ patch by Colin Clark
-patch by Omari Stephens
+commit 5d66be285cb060db3db2202a7ee3b79cacfd9769
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Tue Jul 28 22:03:54 2009 +0000
-------------------------------------------------------------------------
-r1736 | nadvornik | 2009-06-08 21:05:49 +0200 (Mon, 08 Jun 2009) | 4 lines
+ run the scripts with /bin/sh
-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 9ac5bc9898dd722a4b1bbc175ac2d777ec3d53e3
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sat Jul 25 08:23:23 2009 +0000
-------------------------------------------------------------------------
-r1735 | nadvornik | 2009-06-07 12:11:05 +0200 (Sun, 07 Jun 2009) | 4 lines
+ French translation was updated.
-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 6c06cb33020b4045625a56baae23b1fef36c8618
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sat Jul 25 08:13:13 2009 +0000
-------------------------------------------------------------------------
-r1734 | nadvornik | 2009-06-07 00:51:55 +0200 (Sun, 07 Jun 2009) | 2 lines
+ Remove some bashisms from configure.in. Patch by Greg Troxel.
-added mark filter to menu - now it is possible to assign hotkeys
+commit 5495e01cd0d7eec14da56600599aaa7c5876299b
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sat Jul 25 08:00:07 2009 +0000
-------------------------------------------------------------------------
-r1733 | nadvornik | 2009-06-06 21:39:46 +0200 (Sat, 06 Jun 2009) | 3 lines
+ Romanian translation was completed. Thanks to Sabin Iacob.
-preserve zoom value on fullscreen startup
+commit 206a227078812c68c76b4a233cd877639a8b49bf
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Fri Jul 24 14:07:54 2009 +0000
+ update column sizes after toggling thumbnails
-------------------------------------------------------------------------
-r1732 | nadvornik | 2009-06-06 19:28:16 +0200 (Sat, 06 Jun 2009) | 4 lines
+commit 3374e3d5b309aa51edbaf5b4a9a7beeb084452f9
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Fri Jul 24 13:32:37 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
+ fixed switching of multiline texts
-------------------------------------------------------------------------
-r1731 | zas_ | 2009-06-06 19:02:21 +0200 (Sat, 06 Jun 2009) | 1 line
+commit 2d113f07405e4579f942e247297cc0ff66227935
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Fri Jul 24 12:56:54 2009 +0000
-French translation was updated.
-------------------------------------------------------------------------
-r1730 | nadvornik | 2009-06-06 18:14:07 +0200 (Sat, 06 Jun 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
-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 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
-------------------------------------------------------------------------
-r1729 | nadvornik | 2009-06-06 17:33:56 +0200 (Sat, 06 Jun 2009) | 3 lines
+commit 66643fc83bc4568484894ae282c1cc1b1f83d31f
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Fri Jul 24 12:21:23 2009 +0000
-do not call signal handler from vdtree_row_expanded
-it fixes tree view for user-entered hidden directories
+ do not use cell_data_func
+
+ cell_data_func is too slow, store formatted string in the tree_store
+ instead
-------------------------------------------------------------------------
-r1728 | nadvornik | 2009-06-06 13:15:09 +0200 (Sat, 06 Jun 2009) | 2 lines
+commit 8494a934706a0fa7c16e83df36d2d4fec7a61184
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Tue Jul 21 14:17:01 2009 +0000
-reduced jumping of directory tree when user clicks on folders
+ 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.
-------------------------------------------------------------------------
-r1727 | nadvornik | 2009-06-05 23:52:37 +0200 (Fri, 05 Jun 2009) | 2 lines
+commit 7c7eb0a20e26e0b16c90ec2882559344ac537c1d
+Author: Klaus Ethgen <Klaus@Ethgen.de>
+Date: Sat Jul 18 08:16:54 2009 +0000
-simplified the code around vd_select_row
+ Fix a overrun
+
+ data_offset + data_length could be bigger than guint which makes the
+ calculation overflow to a value smaller then size.
-------------------------------------------------------------------------
-r1726 | nadvornik | 2009-06-04 23:07:03 +0200 (Thu, 04 Jun 2009) | 7 lines
+commit 6e739c902d1e5cfec08c44348536b5d0c2d23199
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Thu Jul 2 17:37:05 2009 +0000
-use layout_set_fd() for changing images from a slideshow
-- this updates folder and icon in recursive slideshow mode
+ updated ChangeLog file
-preserve slideshow on layout change - fixes
- https://sourceforge.net/tracker/?func=detail&aid=1998513&group_id=222125&atid=1054680
+commit 08f70c1da91476bc46ab020ba54f929ca991af5c
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Thu Jul 2 17:31:38 2009 +0000
+ updated ca.po - submitted by Mecatxis
-------------------------------------------------------------------------
-r1725 | zas_ | 2009-06-04 21:51:20 +0200 (Thu, 04 Jun 2009) | 1 line
+commit ecfe3d0ad28feebc56f32610d9707309243a051c
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Wed Jul 1 20:55:37 2009 +0000
-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
+ make sure that automake and config.h uses the same installation paths
-Ongoing translation
+commit 2e37aa4a9f0235e9ffe2a2daf09d85caa54c303a
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Wed Jul 1 19:38:17 2009 +0000
-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
+ updated version string
-Change the order of columns for editors dialogue
-------------------------------------------------------------------------
-r1722 | nadvornik | 2009-06-03 22:05:19 +0200 (Wed, 03 Jun 2009) | 2 lines
+commit b514d250a6bf056da22f144876fb3a367c35e943
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Wed Jul 1 19:33:09 2009 +0000
-regroup sidecar files when an operation on partial group is finished
+ fixed mnemonic conflicts
-------------------------------------------------------------------------
-r1721 | nadvornik | 2009-06-03 00:33:53 +0200 (Wed, 03 Jun 2009) | 11 lines
+commit 9c0ca8a14835d15472fc1453bc62cd7403cb9a7a
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Wed Jul 1 18:59:39 2009 +0000
-changed selection behavior as requested at
-http://sourceforge.net/tracker/?func=detail&aid=2789933&group_id=222125&atid=1054680
+ removed msgctxt keyword, older gettext fails on it
-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
+commit a781a6fa2d8dfd1a452ffd0242eb6e420ec4ee80
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Wed Jul 1 18:32:32 2009 +0000
-file operations splits partially selected groups - selected files have
-disabled grouping
+ removed gettext.h reference
+commit 0ec10ddfd8183dfcef9e9651d86ee1dd6fab82e9
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Wed Jul 1 07:04:42 2009 +0000
-------------------------------------------------------------------------
-r1720 | zas_ | 2009-06-01 18:37:30 +0200 (Mon, 01 Jun 2009) | 1 line
+ updated spec file
-Minor code cleanup and redundancy reduction.
-------------------------------------------------------------------------
-r1719 | nadvornik | 2009-05-31 16:32:39 +0200 (Sun, 31 May 2009) | 2 lines
+commit 21797ad0d7c06e997ca15031f3634f7992acaef2
+Author: Laurent Monin <geeqie@norz.org>
+Date: Tue Jun 30 23:40:37 2009 +0000
-fixed incorrect type conversion
+ French translation was updated.
-------------------------------------------------------------------------
-r1718 | nadvornik | 2009-05-31 15:32:09 +0200 (Sun, 31 May 2009) | 3 lines
+commit 0bf27305767735ad7b0ebbd8f18ab4d0b24a5614
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Tue Jun 30 20:15:33 2009 +0000
-do not display menus ("FileMenu" etc.) in accelerator configuration
-improved tooltip texts
+ fixed an use of uninitialized value
-------------------------------------------------------------------------
-r1717 | nadvornik | 2009-05-31 13:08:00 +0200 (Sun, 31 May 2009) | 2 lines
+commit b5b0a8583f3e0201b0257e21546e1620d71e73e0
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Tue Jun 30 20:12:28 2009 +0000
-do not block the files sent to external editors like gimp
+ 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
-------------------------------------------------------------------------
-r1716 | nadvornik | 2009-05-30 22:18:22 +0200 (Sat, 30 May 2009) | 5 lines
+commit f70e420d4bffd932e7cf9d70debb74df1e96011e
+Author: Klaus Ethgen <Klaus@Ethgen.de>
+Date: Tue Jun 30 19:53:55 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
+ 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
-------------------------------------------------------------------------
-r1714 | zas_ | 2009-05-26 21:41:22 +0200 (Tue, 26 May 2009) | 1 line
+ add desktop.in files to the tarball
-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
+commit 84d6dfa42fdb4560cc895f8346256b80cbc2deeb
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Mon Jun 29 19:48:14 2009 +0000
-added doxygen.conf
-https://sourceforge.net/tracker/?func=detail&aid=2795068&group_id=222125&atid=1054680
+ fixed writting to gqview legacy format
+commit b1e7867f8a5174e1b9650a4f9703efc3b94d20b9
+Author: Laurent Monin <geeqie@norz.org>
+Date: Mon Jun 29 16:32:43 2009 +0000
-------------------------------------------------------------------------
-r1712 | nadvornik | 2009-05-23 23:07:21 +0200 (Sat, 23 May 2009) | 3 lines
+ French translation was updated.
-enabled PageSize code
-https://bugzilla.redhat.com/show_bug.cgi?id=222639
+commit c278582ae1a6dfa2c1b12ce3af4554b28db37d27
+Author: Laurent Monin <geeqie@norz.org>
+Date: Mon Jun 29 16:02:28 2009 +0000
-------------------------------------------------------------------------
-r1711 | zas_ | 2009-05-21 11:54:20 +0200 (Thu, 21 May 2009) | 1 line
+ Fix POTFILES.in and update regen_potfiles.sh to add .desktop.in files.
-Add missing vim modeline.
-------------------------------------------------------------------------
-r1710 | zas_ | 2009-05-21 11:20:48 +0200 (Thu, 21 May 2009) | 1 line
+commit f8f76cde319631e0147a286966ca7af0b13f747c
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sun Jun 28 13:41:51 2009 +0000
-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
+ added geeqie-import-geeqie.desktop.in
-Fix up too short array, reported by Michael Schwendt.
-------------------------------------------------------------------------
-r1708 | zas_ | 2009-05-16 10:48:21 +0200 (Sat, 16 May 2009) | 11 lines
+commit 8bb48410fde2352746c65072c38331ec17faa329
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sun Jun 28 11:55:54 2009 +0000
-Fix geeqie.desktop to match spec. Patch by Michael Schwendt.
+ libchamplain compatibility fix
+commit cf4208a56c616bb3dcaae93de5274dfc219a0313
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sun Jun 28 09:25:47 2009 +0000
-$ desktop-file-validate geeqie.desktop
-geeqie.desktop: warning: value "Application;Graphics;Viewer;" for key
-"Categories" in group "Desktop Entry" contains a deprecated value
-"Application"
+ cleanup: remove some disabled code
-http://standards.freedesktop.org/menu-spec/menu-spec-1.0.html
+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
-------------------------------------------------------------------------
-r1707 | zas_ | 2009-05-14 22:45:34 +0200 (Thu, 14 May 2009) | 1 line
+commit dadc45eb233a88708878440db9dc0746206f6246
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sun Jun 28 08:49:28 2009 +0000
-Fix up unused variables warnings.
-------------------------------------------------------------------------
-r1706 | zas_ | 2009-05-14 22:32:14 +0200 (Thu, 14 May 2009) | 1 line
+ sync histogram state after enabling it from the menu
-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
+commit a61e74ef49b2910e1c2b52699455707a110344ba
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sun Jun 28 08:32:27 2009 +0000
-added some notes to README file
+ added script for importing GQView and Geeqie-alpha metadata
-------------------------------------------------------------------------
-r1703 | nadvornik | 2009-05-12 22:38:26 +0200 (Tue, 12 May 2009) | 2 lines
+commit db44d472fbb0f81ba00ac282b9e4fa04fd37d64e
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sat Jun 27 23:12:52 2009 +0000
-fixed compilation with older gtk
+ put preferences to separate submenu
-------------------------------------------------------------------------
-r1702 | nadvornik | 2009-05-12 22:17:03 +0200 (Tue, 12 May 2009) | 2 lines
+commit d960407def39b244453756528e281209f1c47135
+Author: Klaus Ethgen <Klaus@Ethgen.de>
+Date: Sat Jun 27 22:58:20 2009 +0000
-updated TODO list
+ German translation update
-------------------------------------------------------------------------
-r1701 | nadvornik | 2009-05-12 20:25:18 +0200 (Tue, 12 May 2009) | 2 lines
+commit 6595653e7fdcd3f9126e2382e61309a6fddceec7
+Author: Klaus Ethgen <Klaus@Ethgen.de>
+Date: Sat Jun 27 22:57:56 2009 +0000
-added GPS map support - patch by Colin Clark
+ 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.
-------------------------------------------------------------------------
-r1700 | zas_ | 2009-05-12 08:54:05 +0200 (Tue, 12 May 2009) | 1 line
+commit 3000474f9d40efec1c4167fe3c87dce3e2814d18
+Author: Klaus Ethgen <Klaus@Ethgen.de>
+Date: Sat Jun 27 22:56:50 2009 +0000
-French translation was updated.
-------------------------------------------------------------------------
-r1699 | zas_ | 2009-05-12 08:42:20 +0200 (Tue, 12 May 2009) | 1 line
+ 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.
-Fix up tooltip text: Color _Management -> Color Management.
-------------------------------------------------------------------------
-r1698 | nadvornik | 2009-05-11 22:50:13 +0200 (Mon, 11 May 2009) | 5 lines
+commit 1282982b76068795acda07efe761286c1d850927
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sat Jun 27 22:40:25 2009 +0000
-added keyboard configuration dialog
-mostly written by Petr Ostadal
-alternate keys are not yet fully configurable - the corresponding code
-is commented out
+ added command for editing ufraw id file, changed menu location
-------------------------------------------------------------------------
-r1697 | zas_ | 2009-05-11 12:10:13 +0200 (Mon, 11 May 2009) | 1 line
+commit 5865742b0f0e0d9e89c6f8cfc8789e37ab3cfc09
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sat Jun 27 21:12:07 2009 +0000
-French translation was updated.
-------------------------------------------------------------------------
-r1696 | zas_ | 2009-05-11 11:55:39 +0200 (Mon, 11 May 2009) | 1 line
+ reordered View menu
-Include missing header file.
-------------------------------------------------------------------------
-r1695 | nadvornik | 2009-05-09 21:45:24 +0200 (Sat, 09 May 2009) | 2 lines
+commit 2c3454d78f2e002ad86059746d6dbc15070110d0
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sat Jun 27 20:47:17 2009 +0000
-expose the file grouping flag to the user
+ use radio buttons for file and dir mode in popup menu
-------------------------------------------------------------------------
-r1694 | nadvornik | 2009-05-09 21:25:51 +0200 (Sat, 09 May 2009) | 2 lines
+commit 9ef0898770dc7fb0e286c777a1ece3896f22a1ca
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sat Jun 27 20:12:56 2009 +0000
-extended the list of grouped metadata tags
+ simplified menu_item_add_radio usage
-------------------------------------------------------------------------
-r1693 | nadvornik | 2009-05-09 19:02:35 +0200 (Sat, 09 May 2009) | 2 lines
+commit f9509525508c1f38a99edf06d5203f2cb063b81a
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sat Jun 27 17:54:31 2009 +0000
-added some structure to the metadata preferences dialog
+ created Files and Folders submenu
-------------------------------------------------------------------------
-r1692 | nadvornik | 2009-05-08 20:29:09 +0200 (Fri, 08 May 2009) | 2 lines
+commit 8948dca3981a8f5484d8cc658dd5253cf9bc9f85
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sat Jun 27 15:47:50 2009 +0000
-better tooltip for disabled lcms
+ improved overlay menu
+
+ - indicate overlay and histogram state in toggle and radio entries in
+ the menu
+ - all entries have visible effect in all modes
-------------------------------------------------------------------------
-r1691 | nadvornik | 2009-05-07 22:24:35 +0200 (Thu, 07 May 2009) | 2 lines
+commit a374a03dd9be5d447a8a0f0d45b4a2b7a6725cb1
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Wed Jun 24 20:31:30 2009 +0000
-limit metadata details dialog size
+ 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
-------------------------------------------------------------------------
-r1690 | nadvornik | 2009-05-07 21:52:38 +0200 (Thu, 07 May 2009) | 2 lines
+commit 7bbcd188f372a89bc2ff72d80ed8a20fec5b95ca
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Tue Jun 23 19:20:48 2009 +0000
-fixed keyword tree initialization
+ improved description string
-------------------------------------------------------------------------
-r1689 | nadvornik | 2009-05-07 21:38:07 +0200 (Thu, 07 May 2009) | 2 lines
+commit 5a18119c672fff2fb43b3789ffedb8932c960e37
+Author: Klaus Ethgen <Klaus@Ethgen.de>
+Date: Sun Jun 21 22:52:45 2009 +0000
-updated version string to beta1
+ Localizing one string
-------------------------------------------------------------------------
-r1688 | nadvornik | 2009-05-07 21:34:33 +0200 (Thu, 07 May 2009) | 2 lines
+commit d820c538051df54a6316047a3da7ce77414fa980
+Author: Klaus Ethgen <Klaus@Ethgen.de>
+Date: Sun Jun 21 22:52:08 2009 +0000
-enabled XDG directory layout
+ 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
-------------------------------------------------------------------------
-r1687 | nadvornik | 2009-05-07 21:30:15 +0200 (Thu, 07 May 2009) | 2 lines
+ fixed updating of marks in sidecars
-use "keywords" instead of "tags" in option name, it is more consistent
+commit 8c5f76523ca80ce6b73e625ad8304af1e2acb88e
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sat Jun 20 23:15:11 2009 +0000
-------------------------------------------------------------------------
-r1686 | zas_ | 2009-05-03 19:54:37 +0200 (Sun, 03 May 2009) | 1 line
+ 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
-French translation was updated.
-------------------------------------------------------------------------
-r1685 | nadvornik | 2009-05-03 00:34:46 +0200 (Sun, 03 May 2009) | 2 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]
-added stock icons for slideshow
+commit f63a2dd3fa1b61bec9a04c877f3ca9953b467133
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Mon Jun 15 19:13:45 2009 +0000
-------------------------------------------------------------------------
-r1684 | nadvornik | 2009-05-03 00:19:42 +0200 (Sun, 03 May 2009) | 2 lines
+ improved rotation script
+
+ - applies the orientation from metadata
+ - uses exiftran for jpeg an ImageMagick for other files
-updated czech translation
+commit 2900ceba02cd5b6c5d7c1d818dacecc9a65720d4
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sun Jun 14 08:49:39 2009 +0000
-------------------------------------------------------------------------
-r1683 | nadvornik | 2009-05-02 13:14:24 +0200 (Sat, 02 May 2009) | 2 lines
+ French translation was updated.
-force the metadata dialog if it was triggered by the menu or the button
+commit 1401afe8606b92cfa9f3b52989448e86833ed248
+Author: Klaus Ethgen <Klaus@Ethgen.de>
+Date: Sat Jun 13 22:19:57 2009 +0000
-------------------------------------------------------------------------
-r1682 | nadvornik | 2009-05-02 12:59:36 +0200 (Sat, 02 May 2009) | 2 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
-action table clean up
+commit 369eab0297a8ba20f117db5c4c751907e22479ed
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sat Jun 13 19:26:32 2009 +0000
-------------------------------------------------------------------------
-r1681 | nadvornik | 2009-05-02 11:15:56 +0200 (Sat, 02 May 2009) | 3 lines
+ the options for custom border color were made independent
-improved pixel info, changed the menu entry from "Hide" to "Show",
-added it on default status bar
+commit 1283b61934436f9ba1563633c0892ba8245b16aa
+Author: Laurent Monin <geeqie@norz.org>
+Date: Thu Jun 11 18:18:07 2009 +0000
-------------------------------------------------------------------------
-r1680 | nadvornik | 2009-05-02 01:40:01 +0200 (Sat, 02 May 2009) | 3 lines
+ French translation was updated.
-"<control>S" seems to be hardcoded hotkey for GTK_STOCK_SAVE
-use <shift>S for sort manager
+commit 420f3600446e33397c93fe631e2fffb5b8a6f43d
+Author: Laurent Monin <geeqie@norz.org>
+Date: Thu Jun 11 17:34:37 2009 +0000
-------------------------------------------------------------------------
-r1679 | nadvornik | 2009-05-02 01:15:51 +0200 (Sat, 02 May 2009) | 3 lines
+ Fix up compilation using make -jN: sometimes it fails due to order of headers inclusion.
-- handle color profile and write metadata buttons on statusbar by ui_manager
-- statusbar buttons made configurable
+commit f5dbedfb0a27731a28584e4734b7fd548222140e
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Wed Jun 10 20:45:24 2009 +0000
-------------------------------------------------------------------------
-r1678 | nadvornik | 2009-05-01 11:49:27 +0200 (Fri, 01 May 2009) | 3 lines
+ make sure that a directory exists on saving desktop files
-allow external editors without parameters, as long as they are in
-category 'X-Geeqie'
+commit 545a2c2ca86722831c57ff5f5d8b1c641e6d6988
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Wed Jun 10 20:26:47 2009 +0000
-------------------------------------------------------------------------
-r1677 | nadvornik | 2009-04-29 22:28:54 +0200 (Wed, 29 Apr 2009) | 2 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
-updated czech translation, not yet complete
+commit c266b1d322f46134d567ce59168746575944e3d1
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Tue Jun 9 19:12:37 2009 +0000
-------------------------------------------------------------------------
-r1676 | zas_ | 2009-04-28 23:40:00 +0200 (Tue, 28 Apr 2009) | 1 line
+ enabled color management in img-view
+
+ patch by Omari Stephens
-French translation was updated.
-------------------------------------------------------------------------
-r1675 | zas_ | 2009-04-28 23:38:20 +0200 (Tue, 28 Apr 2009) | 1 line
+commit 0dbb46cefd841e6fff6ea1bd002829db6f519bdf
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Tue Jun 9 19:08:52 2009 +0000
-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
+ fixed leak in image_post_process_color
+
+ patch by Omari Stephens
-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
+commit 3c31271012cd131271872a32dc5214a81010d665
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Mon Jun 8 19:05:49 2009 +0000
-do not translate internal strings
+ 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
-------------------------------------------------------------------------
-r1672 | nadvornik | 2009-04-28 08:55:56 +0200 (Tue, 28 Apr 2009) | 2 lines
+commit 0128d5e7deb6ec5772daeb22edcb5c5efc918996
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sun Jun 7 10:11:05 2009 +0000
-added new files
+ 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
-------------------------------------------------------------------------
-r1671 | nadvornik | 2009-04-28 08:54:59 +0200 (Tue, 28 Apr 2009) | 2 lines
+commit 831963138ddff7c9d9d29e39ecf677535e679ec3
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sat Jun 6 22:51:55 2009 +0000
-compilation fixes for older glib and gtk
+ added mark filter to menu - now it is possible to assign hotkeys
-------------------------------------------------------------------------
-r1670 | zas_ | 2009-04-28 01:07:59 +0200 (Tue, 28 Apr 2009) | 1 line
+commit da1d8ad7407bec7c000684ad9466c45a03243467
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sat Jun 6 19:39:46 2009 +0000
-French translation was updated: fix few main menu mnenonics.
-------------------------------------------------------------------------
-r1669 | nadvornik | 2009-04-27 23:39:56 +0200 (Mon, 27 Apr 2009) | 2 lines
+ preserve zoom value on fullscreen startup
-compilation fixes
+commit 0b06a8bd76d495c199fabad762571a4f9df9a175
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sat Jun 6 17:28:16 2009 +0000
-------------------------------------------------------------------------
-r1668 | nadvornik | 2009-04-27 22:19:21 +0200 (Mon, 27 Apr 2009) | 2 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
-"make dist" fixes
+commit 538eafee798a9adc76f91daa7b0b7ee31405e89f
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sat Jun 6 17:02:21 2009 +0000
-------------------------------------------------------------------------
-r1667 | zas_ | 2009-04-26 16:08:44 +0200 (Sun, 26 Apr 2009) | 1 line
+ French translation was updated.
-French translation was updated.
-------------------------------------------------------------------------
-r1666 | nadvornik | 2009-04-26 13:38:28 +0200 (Sun, 26 Apr 2009) | 2 lines
+commit 0b3615164ce594afae630a1e652099d14308c356
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sat Jun 6 16:14:07 2009 +0000
-small fixes
+ 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
-------------------------------------------------------------------------
-r1665 | nadvornik | 2009-04-26 11:25:52 +0200 (Sun, 26 Apr 2009) | 2 lines
+commit 2ca07031f3571cee3851b885ac9eb466d0485648
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sat Jun 6 15:33:56 2009 +0000
-fixed return from metadata_write_revert
+ do not call signal handler from vdtree_row_expanded
+ it fixes tree view for user-entered hidden directories
-------------------------------------------------------------------------
-r1664 | nadvornik | 2009-04-26 11:01:35 +0200 (Sun, 26 Apr 2009) | 2 lines
+commit 1bd43a679034412c6ee7f82676c027f7db73a602
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sat Jun 6 11:15:09 2009 +0000
-added an option to write image orientation to the metadata
+ reduced jumping of directory tree when user clicks on folders
-------------------------------------------------------------------------
-r1663 | nadvornik | 2009-04-26 00:08:09 +0200 (Sun, 26 Apr 2009) | 3 lines
+commit 2aa7548fca3a27dfb8b891d36507adc918e258ad
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Fri Jun 5 21:52:37 2009 +0000
-separated Orientation and Grayscale functions
-moved Grayscale to Color management menu
+ simplified the code around vd_select_row
-------------------------------------------------------------------------
-r1662 | nadvornik | 2009-04-25 22:55:11 +0200 (Sat, 25 Apr 2009) | 2 lines
+commit e88a00bed30f1083f221a96876a0ddd84f44623f
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Thu Jun 4 21:07:03 2009 +0000
-added more info to the details dialog
+ 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
-------------------------------------------------------------------------
-r1661 | nadvornik | 2009-04-25 01:26:49 +0200 (Sat, 25 Apr 2009) | 2 lines
+commit f333692b5cb1214bfc7b5e890894c7cb8a7c49a0
+Author: Laurent Monin <geeqie@norz.org>
+Date: Thu Jun 4 19:51:20 2009 +0000
-added details dialog for other operations too
+ Add an option to Image preferences to restrict custom border to fullscreen mode only. Bug 2798062.
-------------------------------------------------------------------------
-r1660 | nadvornik | 2009-04-25 00:51:00 +0200 (Sat, 25 Apr 2009) | 2 lines
+commit 4751713609feee94ac540b8d57ebbdf65b9bb55d
+Author: Klaus Ethgen <Klaus@Ethgen.de>
+Date: Thu Jun 4 16:07:41 2009 +0000
-added possibility to exclude individual files
+ Ongoing translation
+
+ Now the most is translated to German language. Just the photographic
+ notions are missing.
-------------------------------------------------------------------------
-r1659 | nadvornik | 2009-04-23 23:15:14 +0200 (Thu, 23 Apr 2009) | 2 lines
+commit 8e6775025b5874e2bb686854009a4fb07dd74909
+Author: Klaus Ethgen <Klaus@Ethgen.de>
+Date: Thu Jun 4 16:07:16 2009 +0000
-fixed writting metadata behavior at exit
+ Change the order of columns for editors dialogue
-------------------------------------------------------------------------
-r1658 | nadvornik | 2009-04-23 23:12:19 +0200 (Thu, 23 Apr 2009) | 2 lines
+commit 21b5ebf3430ded75165d2b4caf8baef41dce6bae
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Wed Jun 3 20:05:19 2009 +0000
-added an image to the file details dialog
+ regroup sidecar files when an operation on partial group is finished
-------------------------------------------------------------------------
-r1657 | nadvornik | 2009-04-23 22:48:03 +0200 (Thu, 23 Apr 2009) | 2 lines
+commit 347fc7ce81fd08f1a8977f67cff7ae18e9d175c6
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Tue Jun 2 22:33:53 2009 +0000
-differentiate between "Cancel" and "Discard changes"
+ 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
-------------------------------------------------------------------------
-r1656 | zas_ | 2009-04-21 23:47:11 +0200 (Tue, 21 Apr 2009) | 1 line
+commit 5a743f0af211c998eb7c38a6f5736fff5ca22899
+Author: Laurent Monin <geeqie@norz.org>
+Date: Mon Jun 1 16:37:30 2009 +0000
-Fix up few warnings (especially on 64bits platforms).
-------------------------------------------------------------------------
-r1655 | nadvornik | 2009-04-21 23:16:32 +0200 (Tue, 21 Apr 2009) | 2 lines
+ Minor code cleanup and redundancy reduction.
-fixed metadata.confirm_on_dir_change
+commit ce00bafc5df7e6b25402cd9017618b9e57f0b9f0
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sun May 31 14:32:39 2009 +0000
-------------------------------------------------------------------------
-r1654 | nadvornik | 2009-04-21 23:07:28 +0200 (Tue, 21 Apr 2009) | 2 lines
+ fixed incorrect type conversion
-added possibility to show modifiied metadata before write
+commit 7c03436375c2931a9ebe20706648ea9f40195265
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sun May 31 13:32:09 2009 +0000
-------------------------------------------------------------------------
-r1653 | nadvornik | 2009-04-20 23:34:16 +0200 (Mon, 20 Apr 2009) | 8 lines
+ do not display menus ("FileMenu" etc.) in accelerator configuration
+ improved tooltip texts
-added remote interface for exporting additional info (sidecars,
-destination) to external commands
+commit 7166e8e6822956cfc657744e4257af67f6152542
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sun May 31 11:08:00 2009 +0000
-see the symlink command for an example
+ do not block the files sent to external editors like gimp
-http://sourceforge.net/tracker/?func=detail&aid=2488845&group_id=222125&atid=1054680
+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
-------------------------------------------------------------------------
-r1652 | nadvornik | 2009-04-20 23:07:52 +0200 (Mon, 20 Apr 2009) | 2 lines
+commit 894ebcaf7da4ea3b72486192c43c15922a3bb68b
+Author: Laurent Monin <geeqie@norz.org>
+Date: Tue May 26 19:41:22 2009 +0000
-write info and debugging messages to stderr
+ Add .desktop files to restore lossless jpeg rotation via editors.
-------------------------------------------------------------------------
-r1651 | nadvornik | 2009-04-20 21:44:50 +0200 (Mon, 20 Apr 2009) | 2 lines
+commit 257284ed5d98e13733f90bff28124cdc75c85238
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sat May 23 21:23:06 2009 +0000
-improved remote protocol to allow bidirectional communication
+ added doxygen.conf
+ https://sourceforge.net/tracker/?func=detail&aid=2795068&group_id=222125&atid=1054680
-------------------------------------------------------------------------
-r1650 | nadvornik | 2009-04-17 22:26:22 +0200 (Fri, 17 Apr 2009) | 2 lines
+commit 701705f5255fb572f11beb9cb167a4b1729b61fc
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sat May 23 21:07:21 2009 +0000
-fixed tests for vd_find_row return value
+ enabled PageSize code
+ https://bugzilla.redhat.com/show_bug.cgi?id=222639
-------------------------------------------------------------------------
-r1649 | mow | 2009-04-14 23:51:29 +0200 (Tue, 14 Apr 2009) | 3 lines
+commit 94698117d7c312c420ae83d26bb80fd973a16b90
+Author: Laurent Monin <geeqie@norz.org>
+Date: Thu May 21 09:54:20 2009 +0000
-German translation updated
+ Add missing vim modeline.
-With some help from de.alt.rec.digitalfotografie.
-------------------------------------------------------------------------
-r1648 | zas_ | 2009-04-14 22:54:50 +0200 (Tue, 14 Apr 2009) | 1 line
+commit 8b292110747064f281bd8ebb58be68f35ba5ea62
+Author: Laurent Monin <geeqie@norz.org>
+Date: Thu May 21 09:20:48 2009 +0000
-French translation was updated.
-------------------------------------------------------------------------
-r1647 | nadvornik | 2009-04-14 00:40:47 +0200 (Tue, 14 Apr 2009) | 2 lines
+ Attempt to use stock gtk icons for directory list and tree views.
-color profile fixes
+commit 2a1d12620e62c03dc69d958dd861e8506146b03c
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sat May 16 11:31:48 2009 +0000
-------------------------------------------------------------------------
-r1646 | nadvornik | 2009-04-13 16:39:50 +0200 (Mon, 13 Apr 2009) | 2 lines
+ Fix up too short array, reported by Michael Schwendt.
-show color management status on statusbar
+commit db09073d27d708eec901db85729b7c96d513cae8
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sat May 16 08:48:21 2009 +0000
-------------------------------------------------------------------------
-r1645 | nadvornik | 2009-04-13 12:55:49 +0200 (Mon, 13 Apr 2009) | 3 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
-support X11 screen profile
-http://freedesktop.org/wiki/ICC_Profiles_in_X_Specification_0.3
+commit 939990870184f816d033427411963290f6ade227
+Author: Laurent Monin <geeqie@norz.org>
+Date: Thu May 14 20:45:34 2009 +0000
-------------------------------------------------------------------------
-r1644 | nadvornik | 2009-04-13 10:09:56 +0200 (Mon, 13 Apr 2009) | 2 lines
+ Fix up unused variables warnings.
-moved color profiles from statusbar to View menu
+commit 93e62dee098e12678bee8560811f2676d66a169c
+Author: Laurent Monin <geeqie@norz.org>
+Date: Thu May 14 20:32:14 2009 +0000
-------------------------------------------------------------------------
-r1643 | mow | 2009-04-12 19:58:55 +0200 (Sun, 12 Apr 2009) | 1 line
+ Merge common thumb code from view_file_list and view_file_icon to view_file.
-German translation updated
-------------------------------------------------------------------------
-r1642 | zas_ | 2009-04-12 17:06:43 +0200 (Sun, 12 Apr 2009) | 1 line
+commit 63ea2c8531d9336883dfeacf232c15e71fe93d90
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Tue May 12 20:54:58 2009 +0000
-French translation was updated.
-------------------------------------------------------------------------
-r1641 | mow | 2009-04-12 13:02:03 +0200 (Sun, 12 Apr 2009) | 3 lines
+ added some notes to README file
-Update POTFILES.in
+commit e0541d552647c5878d8ce21e111563837e0c9d9b
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Tue May 12 20:38:26 2009 +0000
-metadata.c was not in the POTFILES.in.
-------------------------------------------------------------------------
-r1640 | nadvornik | 2009-04-12 10:36:53 +0200 (Sun, 12 Apr 2009) | 2 lines
+ fixed compilation with older gtk
-fixed ambiguous strings
+commit ff49d58f802d8a012bc0ffb56826047f40e97be6
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Tue May 12 20:17:03 2009 +0000
-------------------------------------------------------------------------
-r1639 | nadvornik | 2009-04-11 23:28:46 +0200 (Sat, 11 Apr 2009) | 2 lines
+ updated TODO list
-improved default keyword tree
+commit 19db93d6eb70f5163b098be3390476c19f10b54e
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Tue May 12 18:25:18 2009 +0000
-------------------------------------------------------------------------
-r1638 | mow | 2009-04-11 22:46:37 +0200 (Sat, 11 Apr 2009) | 4 lines
+ added GPS map support - patch by Colin Clark
-Fix that the output of msgfmt could be singular
+commit f0115682dc9aa6726bb6f582af15eae5b62bb0c1
+Author: Laurent Monin <geeqie@norz.org>
+Date: Tue May 12 06:54:05 2009 +0000
-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
+ French translation was updated.
-Allow to configure case handling of keywords
+commit d9ddcf2b5bfe86a11a674269b2b0ba3d1e41a694
+Author: Laurent Monin <geeqie@norz.org>
+Date: Tue May 12 06:42:20 2009 +0000
-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
+ Fix up tooltip text: Color _Management -> Color Management.
-fixed updating of filelist marks
+commit b8f9d00fd3a2a654b5b7121a520da9ed1e6c6a96
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Mon May 11 20:50:13 2009 +0000
-------------------------------------------------------------------------
-r1634 | mow | 2009-04-11 20:34:12 +0200 (Sat, 11 Apr 2009) | 9 lines
+ added keyboard configuration dialog
+ mostly written by Petr Ostadal
+ alternate keys are not yet fully configurable - the corresponding code
+ is commented out
-Adding debian packaging informations
+commit 59e6c19758556f5b4bfaccfdce0ec356289c0b66
+Author: Laurent Monin <geeqie@norz.org>
+Date: Mon May 11 10:10:13 2009 +0000
-Adding debian control directory to create a geeqie debian package.
+ French translation was updated.
-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
+commit b8baff4dae2056c190eb6274bf48764521192aa0
+Author: Laurent Monin <geeqie@norz.org>
+Date: Mon May 11 09:55:39 2009 +0000
-Implementing CTRL-W to close advanced exif window
+ Include missing header file.
-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
+commit 8ae8938d7f55e6b8b1db3a5d699366cc2068baab
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sat May 9 19:45:24 2009 +0000
-Just update the internal sort method
+ expose the file grouping flag to the user
-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
+commit 70138111fc44652288eb415f4c3587b0a69a661b
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sat May 9 19:25:51 2009 +0000
-Implement random sort method for collections
+ extended the list of grouped metadata tags
-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
+commit 5a13c696e65d72adc9b75d8955903a857ee845a1
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sat May 9 17:02:35 2009 +0000
-Fix the broken statistic generation
+ added some structure to the metadata preferences dialog
-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.
+commit 6736cd683214e6d52b2784866f710f8a4a1adc48
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Fri May 8 18:29:09 2009 +0000
-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
+ better tooltip for disabled lcms
-German translation updated
+commit 38d38b50801979777ad5eca4bf18ac5769cab5ba
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Thu May 7 20:24:35 2009 +0000
-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
+ limit metadata details dialog size
-Add pgettext for some ambiguous strings
+commit ecf3f93d54ef1c36365811d00e1a810a1656a189
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Thu May 7 19:52:38 2009 +0000
-There are some strings which are ambiguous to translate. There is the
-pgettext function to solf that problem.
+ fixed keyword tree initialization
-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
+commit dee4299ea23692b3aefb7f29b12918fa05aed927
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Thu May 7 19:38:07 2009 +0000
-Minor french translations fixes.
-------------------------------------------------------------------------
-r1626 | zas_ | 2009-04-09 22:07:16 +0200 (Thu, 09 Apr 2009) | 1 line
+ updated version string to beta1
-Fix histogram labels in french.
-------------------------------------------------------------------------
-r1625 | zas_ | 2009-04-09 21:58:03 +0200 (Thu, 09 Apr 2009) | 1 line
+commit 0dfdc453bc25ed4a2e1fde1ccf2ddf5f73e5604e
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Thu May 7 19:34:33 2009 +0000
-French translation was updated.
-------------------------------------------------------------------------
-r1624 | nadvornik | 2009-04-08 21:32:30 +0200 (Wed, 08 Apr 2009) | 4 lines
+ enabled XDG directory layout
-improved Exiv2 error reporting:
-- use correct charset
-- respect --debug
+commit 34a545b2adf71400fa340ad002f6b893d5e8dda3
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Thu May 7 19:30:15 2009 +0000
-------------------------------------------------------------------------
-r1623 | mow | 2009-04-07 01:59:54 +0200 (Tue, 07 Apr 2009) | 4 lines
+ use "keywords" instead of "tags" in option name, it is more consistent
-Nest new keywords inside existing
+commit fb440ecd8db37f9b877bfb702b97e91422cd334f
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sun May 3 17:54:37 2009 +0000
-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
+ French translation was updated.
-Fix the is_keyword bug
+commit bcc9ac0c44afd4282d63ea05e889ec19cf1cf458
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sat May 2 22:34:46 2009 +0000
-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
+ added stock icons for slideshow
-Set the focus for new keyword dialog
-------------------------------------------------------------------------
-r1620 | zas_ | 2009-04-07 00:18:13 +0200 (Tue, 07 Apr 2009) | 1 line
+commit b9dbcccc72df0cf7e537ae9acc776c582d44a24b
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sat May 2 22:19:42 2009 +0000
-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
+ updated czech translation
-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 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
-------------------------------------------------------------------------
-r1618 | nadvornik | 2009-04-06 23:52:49 +0200 (Mon, 06 Apr 2009) | 2 lines
+ action table clean up
-re-ordered some options, improved descriptions
+commit bf8cb167b7ccb92cc324ade7ae0af00cca98f2e2
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sat May 2 09:15:56 2009 +0000
-------------------------------------------------------------------------
-r1617 | nadvornik | 2009-04-06 22:38:54 +0200 (Mon, 06 Apr 2009) | 2 lines
+ improved pixel info, changed the menu entry from "Hide" to "Show",
+ added it on default status bar
-unconditionally enable fast jpeg thumbnailing
+commit 022c685ad3ea779b5d173483deb75f19434ccac2
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Fri May 1 23:40:01 2009 +0000
-------------------------------------------------------------------------
-r1616 | nadvornik | 2009-04-06 21:53:59 +0200 (Mon, 06 Apr 2009) | 2 lines
+ "<control>S" seems to be hardcoded hotkey for GTK_STOCK_SAVE
+ use <shift>S for sort manager
-added pane_notify_selection to pane API
+commit c95bd69965832c1cc0b82683888759057cc37b85
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Fri May 1 23:15:51 2009 +0000
-------------------------------------------------------------------------
-r1615 | zas_ | 2009-04-06 21:13:35 +0200 (Mon, 06 Apr 2009) | 1 line
+ - handle color profile and write metadata buttons on statusbar by ui_manager
+ - statusbar buttons made configurable
-Remove unused field in IconData.
-------------------------------------------------------------------------
-r1614 | nadvornik | 2009-04-06 21:09:55 +0200 (Mon, 06 Apr 2009) | 2 lines
+commit b4760e25a6f8e62c950bc9e32f5f4af7c17cdda0
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Fri May 1 09:49:27 2009 +0000
-optimized sidecar file check
+ allow external editors without parameters, as long as they are in
+ category 'X-Geeqie'
-------------------------------------------------------------------------
-r1613 | nadvornik | 2009-04-05 11:46:49 +0200 (Sun, 05 Apr 2009) | 2 lines
+commit b2025397567ecf8ba11b9372e2161ffd78e33d94
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Wed Apr 29 20:28:54 2009 +0000
-fixed bug in overlay drawing
+ updated czech translation, not yet complete
-------------------------------------------------------------------------
-r1612 | nadvornik | 2009-04-05 11:25:48 +0200 (Sun, 05 Apr 2009) | 2 lines
+commit 6739de52b94a36b0a4fd316444cb00ad06571181
+Author: Laurent Monin <geeqie@norz.org>
+Date: Tue Apr 28 21:40:00 2009 +0000
-improved Scroll reset method in preferences dialog
+ French translation was updated.
-------------------------------------------------------------------------
-r1611 | nadvornik | 2009-04-05 01:12:19 +0200 (Sun, 05 Apr 2009) | 3 lines
+commit baa6516063591b9c127a76be15b6d53851cd6c43
+Author: Laurent Monin <geeqie@norz.org>
+Date: Tue Apr 28 21:38:20 2009 +0000
-disabled 2-pass rendering also affect color correction
-https://sourceforge.net/tracker/?func=detail&aid=2689249&group_id=222125&atid=1054683
+ Update POTFILES.in: cellrenderericon.c removed, color-man.c added.
-------------------------------------------------------------------------
-r1610 | nadvornik | 2009-04-05 00:29:25 +0200 (Sun, 05 Apr 2009) | 2 lines
+commit 563caeb60cdd5d6c438a22b1a3571f1e044d06b8
+Author: Laurent Monin <geeqie@norz.org>
+Date: Tue Apr 28 21:37:27 2009 +0000
-added option that simplifies saving of multi-window configurations
+ 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.
-------------------------------------------------------------------------
-r1609 | nadvornik | 2009-04-05 00:09:50 +0200 (Sun, 05 Apr 2009) | 2 lines
+commit 90c899b61dfae05e879b336adf05b189f90f8cb4
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Tue Apr 28 20:09:41 2009 +0000
-dropped show_copy_path option
+ do not translate internal strings
-------------------------------------------------------------------------
-r1608 | nadvornik | 2009-04-04 23:53:12 +0200 (Sat, 04 Apr 2009) | 2 lines
+commit cdf39c97d14024d0b0f2922e8d9ac5468d6de829
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Tue Apr 28 06:55:56 2009 +0000
-dropped read_buffer options - they don't have any significant effect
+ added new files
-------------------------------------------------------------------------
-r1607 | nadvornik | 2009-04-04 23:14:34 +0200 (Sat, 04 Apr 2009) | 2 lines
+commit 05a40a1d54061fb85a3f8b55d6eee745edc0ba9e
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Tue Apr 28 06:54:59 2009 +0000
-startup path options simplified and moved to layout options
+ compilation fixes for older glib and gtk
-------------------------------------------------------------------------
-r1606 | nadvornik | 2009-04-04 22:20:17 +0200 (Sat, 04 Apr 2009) | 4 lines
+commit a39d10df5963b157a0010f5e0bf6d1a589a2367d
+Author: Laurent Monin <geeqie@norz.org>
+Date: Mon Apr 27 23:07:59 2009 +0000
-moved options from Advanced tab to other tabs
-TODO: add Advanced section on each tab
+ 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
-------------------------------------------------------------------------
-r1605 | nadvornik | 2009-04-04 21:10:49 +0200 (Sat, 04 Apr 2009) | 2 lines
+ compilation fixes
-added metadata_read_GPS_coord
+commit 3e0cad19e6dfe8df7783655fa39e30a2d46b5095
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Mon Apr 27 20:19:21 2009 +0000
-------------------------------------------------------------------------
-r1604 | nadvornik | 2009-04-04 18:42:54 +0200 (Sat, 04 Apr 2009) | 3 lines
+ "make dist" fixes
-set current fd when the bar is shown again
-https://sourceforge.net/tracker/?func=detail&atid=1054680&aid=2729157&group_id=222125
+commit 2dfdfc1d4999579bde942798ac654840c1c05d0d
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sun Apr 26 14:08:44 2009 +0000
-------------------------------------------------------------------------
-r1603 | nadvornik | 2009-04-03 21:35:34 +0200 (Fri, 03 Apr 2009) | 2 lines
+ French translation was updated.
-convert commandline to utf8
+commit 81620ce969208f28075c74e05bee39161c567f5c
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sun Apr 26 11:38:28 2009 +0000
-------------------------------------------------------------------------
-r1602 | zas_ | 2009-04-03 01:11:07 +0200 (Fri, 03 Apr 2009) | 1 line
+ small fixes
-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
+commit 61f861ddcb3092f4a243a0220bfd2322ad5dc196
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sun Apr 26 09:25:52 2009 +0000
-Use full path in genmarshal.
-This allows out of source builds with fakeroot.
-Patch by Lukas Jirkovsky.
+ fixed return from metadata_write_revert
+commit 86da9a1f10413fa132785cdf4d210c0caed1d8d0
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sun Apr 26 09:01:35 2009 +0000
-------------------------------------------------------------------------
-r1600 | zas_ | 2009-04-01 00:23:33 +0200 (Wed, 01 Apr 2009) | 1 line
+ added an option to write image orientation to the metadata
-Cleanup.
-------------------------------------------------------------------------
-r1599 | nadvornik | 2009-03-31 23:33:54 +0200 (Tue, 31 Mar 2009) | 6 lines
+commit f62a4ec8486bc8489420e73e3981ccde92395342
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sat Apr 25 22:08:09 2009 +0000
-improved next/prev operation on sidecar files
+ separated Orientation and Grayscale functions
+ moved Grayscale to Color management menu
-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 a0f54dffd9713fc6ae22a46467371500623ad197
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sat Apr 25 20:55:11 2009 +0000
+ added more info to the details dialog
-------------------------------------------------------------------------
-r1598 | zas_ | 2009-03-31 22:57:31 +0200 (Tue, 31 Mar 2009) | 1 line
+commit 81e98ec340104f7f64eb907a60ccecd02319fe7a
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Fri Apr 24 23:26:49 2009 +0000
-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
+ added details dialog for other operations too
-fixed vdlist_find_row return value
+commit 6ac87bdbb778288847a0aa31fd288a95abdf01d0
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Fri Apr 24 22:51:00 2009 +0000
-------------------------------------------------------------------------
-r1596 | nadvornik | 2009-03-31 22:35:04 +0200 (Tue, 31 Mar 2009) | 2 lines
+ added possibility to exclude individual files
-use a better signal
+commit 6d5b363690423b2dffaf34296d520d11fe7c348a
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Thu Apr 23 21:15:14 2009 +0000
-------------------------------------------------------------------------
-r1595 | zas_ | 2009-03-31 22:22:47 +0200 (Tue, 31 Mar 2009) | 1 line
+ fixed writting metadata behavior at exit
-Make desktop window list checkboxes centered and not activatable.
-------------------------------------------------------------------------
-r1594 | nadvornik | 2009-03-31 22:05:16 +0200 (Tue, 31 Mar 2009) | 2 lines
+commit 92d41d67e666813d5c5534214555b6f840924f6b
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Thu Apr 23 21:12:19 2009 +0000
-improved debug messages
+ added an image to the file details dialog
-------------------------------------------------------------------------
-r1593 | nadvornik | 2009-03-31 21:34:39 +0200 (Tue, 31 Mar 2009) | 4 lines
+commit b6e52aecca0dfc39c4e27fdd9aa15f9677fb4f19
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Thu Apr 23 20:48:03 2009 +0000
-report pixbuf loader errors
-https://sourceforge.net/tracker/?func=detail&aid=2720577&group_id=222125&atid=1054680
+ differentiate between "Cancel" and "Discard changes"
+commit 7ff04bed4bde4c74de4ed48a28f0538e8ed4955d
+Author: Laurent Monin <geeqie@norz.org>
+Date: Tue Apr 21 21:47:11 2009 +0000
-------------------------------------------------------------------------
-r1592 | zas_ | 2009-03-31 20:45:33 +0200 (Tue, 31 Mar 2009) | 1 line
+ Fix up few warnings (especially on 64bits platforms).
-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
+commit a58c2dc7c6be53eb1b58d3eae0198ee102d593ac
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Tue Apr 21 21:16:32 2009 +0000
-Update POTFILES.in and french translation.
-------------------------------------------------------------------------
-r1590 | zas_ | 2009-03-30 22:01:27 +0200 (Mon, 30 Mar 2009) | 1 line
+ fixed metadata.confirm_on_dir_change
-French translation was updated.
-------------------------------------------------------------------------
-r1589 | zas_ | 2009-03-30 21:57:44 +0200 (Mon, 30 Mar 2009) | 1 line
+commit ba226375e73ade36cdad0d3acc95a96ebec3ef42
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Tue Apr 21 21:07:28 2009 +0000
-Update Changelog file.
-------------------------------------------------------------------------
-r1588 | zas_ | 2009-03-30 21:01:09 +0200 (Mon, 30 Mar 2009) | 7 lines
+ added possibility to show modifiied metadata before write
-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
+commit 97517b5bdf8f3a555a086b15ded0748aa700979c
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Mon Apr 20 21:34:16 2009 +0000
-Patch by Ruben Stein.
+ 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
-------------------------------------------------------------------------
-r1587 | zas_ | 2009-03-30 19:52:14 +0200 (Mon, 30 Mar 2009) | 1 line
+ write info and debugging messages to stderr
-Fix up previous patch.
-------------------------------------------------------------------------
-r1586 | zas_ | 2009-03-30 19:05:31 +0200 (Mon, 30 Mar 2009) | 1 line
+commit 4d953e1706d4c1eadf93172438635b4dfa3e9c5f
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Mon Apr 20 19:44:50 2009 +0000
-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 remote protocol to allow bidirectional communication
-improved bar_pane_comment_notify_cb
+commit 119665d75960040f13b9a40ecdf0515e4405b49e
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Fri Apr 17 20:26:22 2009 +0000
-------------------------------------------------------------------------
-r1584 | nadvornik | 2009-03-29 21:57:19 +0200 (Sun, 29 Mar 2009) | 2 lines
+ fixed tests for vd_find_row return value
-fixed a typo
+commit fe28f85563b7bff64ccad3a7280aadaeb4aff8c0
+Author: Klaus Ethgen <Klaus@Ethgen.de>
+Date: Tue Apr 14 21:51:29 2009 +0000
-------------------------------------------------------------------------
-r1583 | nadvornik | 2009-03-29 21:40:16 +0200 (Sun, 29 Mar 2009) | 2 lines
+ German translation updated
+
+ With some help from de.alt.rec.digitalfotografie.
-fixed possible crash
+commit 2517907d2cb2e80808e33e63b0dd1895b8d53fa5
+Author: Laurent Monin <geeqie@norz.org>
+Date: Tue Apr 14 20:54:50 2009 +0000
-------------------------------------------------------------------------
-r1582 | nadvornik | 2009-03-29 18:39:42 +0200 (Sun, 29 Mar 2009) | 2 lines
+ French translation was updated.
-added UfRaw ID files to known filetypes
+commit 3ad776526060f2004ff824ac4a7e88c3df6c43eb
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Mon Apr 13 22:40:47 2009 +0000
-------------------------------------------------------------------------
-r1581 | nadvornik | 2009-03-29 16:26:44 +0200 (Sun, 29 Mar 2009) | 2 lines
+ color profile fixes
-pane interface cleanup
+commit 75909b6dbed56995f8d6abc9f917ac13de1c576c
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Mon Apr 13 14:39:50 2009 +0000
-------------------------------------------------------------------------
-r1580 | nadvornik | 2009-03-29 16:20:44 +0200 (Sun, 29 Mar 2009) | 2 lines
+ show color management status on statusbar
-improved sidebar configuration
+commit a512de6dffd96f4a2273aaa088d339e20fc865c1
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Mon Apr 13 10:55:49 2009 +0000
-------------------------------------------------------------------------
-r1579 | nadvornik | 2009-03-29 12:36:13 +0200 (Sun, 29 Mar 2009) | 2 lines
+ support X11 screen profile
+ http://freedesktop.org/wiki/ICC_Profiles_in_X_Specification_0.3
-re-added possibility to display basic file info (size, mode, date)
+commit 6fa6bdcca280c06ce42c9061caa76890e4cca19e
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Mon Apr 13 08:09:56 2009 +0000
-------------------------------------------------------------------------
-r1578 | nadvornik | 2009-03-28 16:51:21 +0100 (Sat, 28 Mar 2009) | 3 lines
+ moved color profiles from statusbar to View menu
-fixed keyboard focus on start-up
-https://sourceforge.net/tracker/?func=detail&aid=2707025&group_id=222125&atid=1054680
+commit 9d1fd8df2610693a3c68e31faaf42ce419f09c5e
+Author: Klaus Ethgen <Klaus@Ethgen.de>
+Date: Sun Apr 12 17:58:55 2009 +0000
-------------------------------------------------------------------------
-r1577 | nadvornik | 2009-03-28 16:31:04 +0100 (Sat, 28 Mar 2009) | 2 lines
+ German translation updated
-active image follows keyboard focus
+commit 6b5add467cb7bd1f7752dc4c8a25cd6e1535f76d
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sun Apr 12 15:06:43 2009 +0000
-------------------------------------------------------------------------
-r1576 | nadvornik | 2009-03-28 16:09:09 +0100 (Sat, 28 Mar 2009) | 2 lines
+ French translation was updated.
-split-mode cleanup and improvements
+commit 9907bdcd3b84735d887aec962bf3ab8c8afb6213
+Author: Klaus Ethgen <Klaus@Ethgen.de>
+Date: Sun Apr 12 11:02:03 2009 +0000
-------------------------------------------------------------------------
-r1575 | nadvornik | 2009-03-27 09:05:14 +0100 (Fri, 27 Mar 2009) | 2 lines
+ Update POTFILES.in
+
+ metadata.c was not in the POTFILES.in.
-added simple desktop file editor
+commit 6fc844092598a09b07c51f3ca9434d84dc1f7723
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sun Apr 12 08:36:53 2009 +0000
-------------------------------------------------------------------------
-r1574 | zas_ | 2009-03-26 22:49:20 +0100 (Thu, 26 Mar 2009) | 7 lines
+ fixed ambiguous strings
-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 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
-------------------------------------------------------------------------
-r1573 | nadvornik | 2009-03-26 08:56:01 +0100 (Thu, 26 Mar 2009) | 2 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.
-fixed histogram drawing
+commit 1a73f69002e383830604ccc14c925f2967ede8df
+Author: Klaus Ethgen <Klaus@Ethgen.de>
+Date: Sat Apr 11 19:51:03 2009 +0000
-------------------------------------------------------------------------
-r1572 | zas_ | 2009-03-23 19:49:23 +0100 (Mon, 23 Mar 2009) | 1 line
+ Allow to configure case handling of keywords
+
+ Sometimes I use just different case for keywords. This should be
+ chooseable.
-French translation was updated.
-------------------------------------------------------------------------
-r1571 | nadvornik | 2009-03-22 00:16:38 +0100 (Sun, 22 Mar 2009) | 2 lines
+commit 66ad4aee7a6471f5a7f336fce6937182dc83c538
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sat Apr 11 19:35:03 2009 +0000
-more consistent remote options naming
+ fixed updating of filelist marks
-------------------------------------------------------------------------
-r1570 | nadvornik | 2009-03-21 21:19:11 +0100 (Sat, 21 Mar 2009) | 3 lines
+commit cceb6eee1213706de3b08a08b6410c433b5f64fb
+Author: Klaus Ethgen <Klaus@Ethgen.de>
+Date: Sat Apr 11 18:34:12 2009 +0000
-fixed segfault in histogram
-http://sourceforge.net/tracker/index.php?func=detail&aid=2690498&group_id=222125&atid=1054680
+ 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.
-------------------------------------------------------------------------
-r1569 | nadvornik | 2009-03-21 20:51:07 +0100 (Sat, 21 Mar 2009) | 2 lines
+commit e91e0ff929d92d40c2dc25d4850729214ccee9cd
+Author: Klaus Ethgen <Klaus@Ethgen.de>
+Date: Sat Apr 11 16:34:25 2009 +0000
-layout id "_current_" matches the currently active layout window
+ 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.
-------------------------------------------------------------------------
-r1568 | nadvornik | 2009-03-21 19:22:04 +0100 (Sat, 21 Mar 2009) | 2 lines
+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
-do not copy existing layout id to new window
+ Fix histogram labels in french.
+
+commit e6fbbd4293cbfa1b4e6ecfd1f0a3c5cfebc20364
+Author: Laurent Monin <geeqie@norz.org>
+Date: Thu Apr 9 19:58:03 2009 +0000
-------------------------------------------------------------------------
-r1567 | nadvornik | 2009-03-21 18:47:50 +0100 (Sat, 21 Mar 2009) | 2 lines
+ French translation was updated.
-update translated pane titles
+commit 672e4f69f438098a1552531fd6882e404e3e606f
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Wed Apr 8 19:32:30 2009 +0000
-------------------------------------------------------------------------
-r1566 | nadvornik | 2009-03-20 23:48:01 +0100 (Fri, 20 Mar 2009) | 2 lines
+ improved Exiv2 error reporting:
+ - use correct charset
+ - respect --debug
-do not re-create ui_manager at layout change
+commit fc1b420298aad46578404e56b0396182c1f4c393
+Author: Klaus Ethgen <Klaus@Ethgen.de>
+Date: Mon Apr 6 23:59:54 2009 +0000
-------------------------------------------------------------------------
-r1565 | nadvornik | 2009-03-20 22:28:31 +0100 (Fri, 20 Mar 2009) | 2 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.
-added a possibility to update existing bars from config
+commit 81bcaeeeed18b732259e69d645da59cf953e484c
+Author: Klaus Ethgen <Klaus@Ethgen.de>
+Date: Mon Apr 6 23:59:38 2009 +0000
-------------------------------------------------------------------------
-r1564 | nadvornik | 2009-03-20 18:02:00 +0100 (Fri, 20 Mar 2009) | 3 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.
-added tooltips to external editors on toolbar
-- patch by Colin Clark
+commit 80f4d7efaec01b04310602fc82d571d178f797cd
+Author: Klaus Ethgen <Klaus@Ethgen.de>
+Date: Mon Apr 6 23:39:27 2009 +0000
-------------------------------------------------------------------------
-r1563 | nadvornik | 2009-03-20 17:28:43 +0100 (Fri, 20 Mar 2009) | 2 lines
+ Set the focus for new keyword dialog
-added "load config" command to remote control
+commit 6224bad98e1263b2ff9d2f431efcd601f74121a3
+Author: Laurent Monin <geeqie@norz.org>
+Date: Mon Apr 6 22:18:13 2009 +0000
-------------------------------------------------------------------------
-r1562 | nadvornik | 2009-03-20 15:36:59 +0100 (Fri, 20 Mar 2009) | 2 lines
+ Disable unused functions when compiled without threads support, prevents few warnings.
-added possibility to update existing layout window from config
+commit 14946850539ebb7317fb81add299cb19bacd085a
+Author: Laurent Monin <geeqie@norz.org>
+Date: Mon Apr 6 22:13:54 2009 +0000
-------------------------------------------------------------------------
-r1561 | nadvornik | 2009-03-20 12:52:29 +0100 (Fri, 20 Mar 2009) | 2 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).
-do not add duplicate keywords from config file
+commit bc94042180f920c3bf111578a565a450c177f613
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Mon Apr 6 21:52:49 2009 +0000
-------------------------------------------------------------------------
-r1560 | nadvornik | 2009-03-20 11:12:29 +0100 (Fri, 20 Mar 2009) | 2 lines
+ re-ordered some options, improved descriptions
-be more verbose on parse errors
+commit 9e28ad2ad370fa1f0baad1d82adaada56f21ec4d
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Mon Apr 6 20:38:54 2009 +0000
-------------------------------------------------------------------------
-r1559 | nadvornik | 2009-03-20 10:46:35 +0100 (Fri, 20 Mar 2009) | 3 lines
+ unconditionally enable fast jpeg thumbnailing
-added function to reload external editors at any time
-eliminated init_after_global_options()
+commit 61856b1efe4b60ad03ffeaee4766e7c011fd12ce
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Mon Apr 6 19:53:59 2009 +0000
-------------------------------------------------------------------------
-r1558 | nadvornik | 2009-03-19 23:58:28 +0100 (Thu, 19 Mar 2009) | 2 lines
+ added pane_notify_selection to pane API
-initialization clean-up
+commit 3b39f3a69f6c153b8501f2b887fc0b0fa46e6298
+Author: Laurent Monin <geeqie@norz.org>
+Date: Mon Apr 6 19:13:35 2009 +0000
-------------------------------------------------------------------------
-r1557 | nadvornik | 2009-03-19 23:12:14 +0100 (Thu, 19 Mar 2009) | 2 lines
+ Remove unused field in IconData.
-improved config file formatting
+commit d7f366685b907de7dd3fa4c264104bd4979beb2c
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Mon Apr 6 19:09:55 2009 +0000
-------------------------------------------------------------------------
-r1556 | nadvornik | 2009-03-18 00:03:07 +0100 (Wed, 18 Mar 2009) | 2 lines
+ optimized sidecar file check
-added more IPTC tags
+commit c1209c2edb4c045e50e2a0ce3d8826deabc17ef0
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sun Apr 5 09:46:49 2009 +0000
-------------------------------------------------------------------------
-r1555 | nadvornik | 2009-03-17 23:41:09 +0100 (Tue, 17 Mar 2009) | 2 lines
+ fixed bug in overlay drawing
-implemented editing support in exif pane
+commit 51a9455bd33f439da36889109602a6a2b081b18d
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sun Apr 5 09:25:48 2009 +0000
-------------------------------------------------------------------------
-r1554 | nadvornik | 2009-03-17 20:52:56 +0100 (Tue, 17 Mar 2009) | 2 lines
+ improved Scroll reset method in preferences dialog
-fixed loading of desktop file icons, gtk seems to expect an icon name without extension
+commit 7ba4f8b997ed526c7bae4f6a076a27f53cc8324a
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sat Apr 4 23:12:19 2009 +0000
-------------------------------------------------------------------------
-r1553 | nadvornik | 2009-03-17 20:09:34 +0100 (Tue, 17 Mar 2009) | 2 lines
+ disabled 2-pass rendering also affect color correction
+ https://sourceforge.net/tracker/?func=detail&aid=2689249&group_id=222125&atid=1054683
-simplified code
+commit 71cf89dfdd1e65f09f810d3f21ff887249e7bc8f
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sat Apr 4 22:29:25 2009 +0000
-------------------------------------------------------------------------
-r1552 | nadvornik | 2009-03-17 19:58:15 +0100 (Tue, 17 Mar 2009) | 2 lines
+ added option that simplifies saving of multi-window configurations
-improved expanding and hiding of helper keywords
+commit 282436623f1d51df1cd6acd812d79467dccbd3af
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sat Apr 4 22:09:50 2009 +0000
-------------------------------------------------------------------------
-r1551 | nadvornik | 2009-03-17 19:30:53 +0100 (Tue, 17 Mar 2009) | 2 lines
+ dropped show_copy_path option
-fixed keyword tree redrawing
+commit 33d633ef9aa9b25e585da6f0ff0a486aed4ee2a3
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sat Apr 4 21:53:12 2009 +0000
-------------------------------------------------------------------------
-r1550 | zas_ | 2009-03-17 01:05:13 +0100 (Tue, 17 Mar 2009) | 1 line
+ dropped read_buffer options - they don't have any significant effect
-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
+commit 5a3320536bd7974f2a29a3fcc8690ffb277fbd1e
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sat Apr 4 21:14:34 2009 +0000
-gint -> gboolean where applicable. The end (ouf!).
-------------------------------------------------------------------------
-r1548 | zas_ | 2009-03-16 20:11:39 +0100 (Mon, 16 Mar 2009) | 1 line
+ startup path options simplified and moved to layout options
-gint -> gboolean where applicable.
-------------------------------------------------------------------------
-r1547 | zas_ | 2009-03-16 19:19:11 +0100 (Mon, 16 Mar 2009) | 1 line
+commit c4b18aa94892e17fe1d1922ebc9fdf298aeab082
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sat Apr 4 20:20:17 2009 +0000
-gint -> gboolean where applicable.
-------------------------------------------------------------------------
-r1546 | nadvornik | 2009-03-16 00:22:17 +0100 (Mon, 16 Mar 2009) | 2 lines
+ moved options from Advanced tab to other tabs
+ TODO: add Advanced section on each tab
-improved pane_keywords notification
+commit c66eafd0dfccc52bbeccef99066654aa061971a9
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sat Apr 4 19:10:49 2009 +0000
-------------------------------------------------------------------------
-r1545 | nadvornik | 2009-03-15 23:46:25 +0100 (Sun, 15 Mar 2009) | 4 lines
+ added metadata_read_GPS_coord
-call the notify function just once when the keywords are pushed to the
-textarea
+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
-------------------------------------------------------------------------
-r1544 | zas_ | 2009-03-15 21:16:20 +0100 (Sun, 15 Mar 2009) | 1 line
+commit fc76e6d11d10c311f3aa5b2cf81edef98e53ee86
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Fri Apr 3 19:35:34 2009 +0000
-gint -> gboolean.
-------------------------------------------------------------------------
-r1543 | nadvornik | 2009-03-15 19:41:25 +0100 (Sun, 15 Mar 2009) | 3 lines
+ convert commandline to utf8
-fixed segfault in osd called from img-view
-http://sourceforge.net/tracker/index.php?func=detail&aid=2684068&group_id=222125&atid=1054680
+commit 5f808326c11b02c6b427614e3c2eaee3c0275cf7
+Author: Laurent Monin <geeqie@norz.org>
+Date: Thu Apr 2 23:11:07 2009 +0000
-------------------------------------------------------------------------
-r1542 | zas_ | 2009-03-15 19:06:41 +0100 (Sun, 15 Mar 2009) | 1 line
+ Force thumbnails refreshing when thumbnails dimensions are modified through Preferences.
-gint -> gboolean.
-------------------------------------------------------------------------
-r1541 | nadvornik | 2009-03-15 18:40:04 +0100 (Sun, 15 Mar 2009) | 2 lines
+commit 8d622ad68bbee6f4671dec964fedde21e1095d7f
+Author: Laurent Monin <geeqie@norz.org>
+Date: Thu Apr 2 16:10:12 2009 +0000
-fixed viewing image from dupe and search windows
+ Use full path in genmarshal.
+ This allows out of source builds with fakeroot.
+ Patch by Lukas Jirkovsky.
-------------------------------------------------------------------------
-r1540 | zas_ | 2009-03-15 16:01:07 +0100 (Sun, 15 Mar 2009) | 1 line
+commit f1b49514000a0db194e68800348c5033e1bb30b7
+Author: Laurent Monin <geeqie@norz.org>
+Date: Tue Mar 31 22:23:33 2009 +0000
-gint -> gboolean.
-------------------------------------------------------------------------
-r1539 | zas_ | 2009-03-15 14:33:56 +0100 (Sun, 15 Mar 2009) | 1 line
+ Cleanup.
-gint -> gboolean.
-------------------------------------------------------------------------
-r1538 | nadvornik | 2009-03-15 13:41:39 +0100 (Sun, 15 Mar 2009) | 2 lines
+commit dc03f50c8796196722ddc1f794280887d489e5fa
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Tue Mar 31 21:33:54 2009 +0000
-fixed XMP and IPTC entry names in exif pane
+ 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.
-------------------------------------------------------------------------
-r1537 | nadvornik | 2009-03-15 13:20:14 +0100 (Sun, 15 Mar 2009) | 2 lines
+commit 91a89497f621323b40f3cd5f35bb1e3ab3c8a232
+Author: Laurent Monin <geeqie@norz.org>
+Date: Tue Mar 31 20:57:31 2009 +0000
-added notification to the exif pane
+ Add and install a template to be used as new editor. Need more work.
-------------------------------------------------------------------------
-r1536 | nadvornik | 2009-03-15 12:58:46 +0100 (Sun, 15 Mar 2009) | 2 lines
+commit 23e172eca263571aeddf10792887edf91dcfee7d
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Tue Mar 31 20:53:37 2009 +0000
-fixed a bug in osd updating, it seems that the osd icons work again
+ fixed vdlist_find_row return value
-------------------------------------------------------------------------
-r1535 | nadvornik | 2009-03-15 12:34:09 +0100 (Sun, 15 Mar 2009) | 2 lines
+commit 0ba13b956a7ffdcba1646f1a57ca88b743c2c9b2
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Tue Mar 31 20:35:04 2009 +0000
-compute histogram in idle time
+ use a better signal
-------------------------------------------------------------------------
-r1534 | nadvornik | 2009-03-15 10:06:13 +0100 (Sun, 15 Mar 2009) | 2 lines
+commit e2c72d45a22214bd7c079ffe9f59d6047daf69a9
+Author: Laurent Monin <geeqie@norz.org>
+Date: Tue Mar 31 20:22:47 2009 +0000
-fixed possible deadlock with multiple thumb loaders in parallel
+ Make desktop window list checkboxes centered and not activatable.
-------------------------------------------------------------------------
-r1533 | zas_ | 2009-03-15 08:07:52 +0100 (Sun, 15 Mar 2009) | 1 line
+commit f1ff99e0a8a6d4b0c132d6ea9a71455ad444b8ce
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Tue Mar 31 20:05:16 2009 +0000
-gint -> gboolean.
-------------------------------------------------------------------------
-r1532 | nadvornik | 2009-03-15 00:26:42 +0100 (Sun, 15 Mar 2009) | 3 lines
+ improved debug messages
-completely separated global and layout window options
-layout window configuration is available under separate menu entry
+commit 193a5482a0e2dc7af1c012a2c6bfdfe0c204bd5f
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Tue Mar 31 19:34:39 2009 +0000
-------------------------------------------------------------------------
-r1531 | zas_ | 2009-03-14 22:12:55 +0100 (Sat, 14 Mar 2009) | 1 line
+ report pixbuf loader errors
+ https://sourceforge.net/tracker/?func=detail&aid=2720577&group_id=222125&atid=1054680
-gint -> gboolean.
-------------------------------------------------------------------------
-r1530 | zas_ | 2009-03-14 21:07:23 +0100 (Sat, 14 Mar 2009) | 1 line
+commit c20d6b497d25d8bf6ce4883e3f51d957b9cb8aae
+Author: Laurent Monin <geeqie@norz.org>
+Date: Tue Mar 31 18:45:33 2009 +0000
-More gboolean.
-------------------------------------------------------------------------
-r1529 | zas_ | 2009-03-14 20:25:21 +0100 (Sat, 14 Mar 2009) | 1 line
+ Allow to delete an editor's desktop file from editors list window.
-Use gboolean where applicable, minor cleanup and indentations fixes.
-------------------------------------------------------------------------
-r1528 | nadvornik | 2009-03-14 18:21:35 +0100 (Sat, 14 Mar 2009) | 2 lines
+commit 852216c650a242a29ec7e1c2d75e0f8cb8dc2bc6
+Author: Laurent Monin <geeqie@norz.org>
+Date: Mon Mar 30 20:42:06 2009 +0000
-improved notification system
+ Update POTFILES.in and french translation.
-------------------------------------------------------------------------
-r1527 | zas_ | 2009-03-14 12:26:43 +0100 (Sat, 14 Mar 2009) | 1 line
+commit 3f65637f72150ab18b68aad9c069f1dd8310da3d
+Author: Laurent Monin <geeqie@norz.org>
+Date: Mon Mar 30 20:01:27 2009 +0000
-More gboolean and tidy up.
-------------------------------------------------------------------------
-r1526 | nadvornik | 2009-03-14 11:34:42 +0100 (Sat, 14 Mar 2009) | 2 lines
+ French translation was updated.
-cleanup, small fixes
+commit 5294d9ad16564425b40a77c671f106c1fbbe8d09
+Author: Laurent Monin <geeqie@norz.org>
+Date: Mon Mar 30 19:57:44 2009 +0000
-------------------------------------------------------------------------
-r1525 | nadvornik | 2009-03-14 00:19:58 +0100 (Sat, 14 Mar 2009) | 2 lines
+ Update Changelog file.
-do not allow to add keywords with the same name as siblings
+commit be6f51861124a8e5f4c10fcc4fdd9df1cf0613ca
+Author: Laurent Monin <geeqie@norz.org>
+Date: Mon Mar 30 19:01:09 2009 +0000
-------------------------------------------------------------------------
-r1524 | nadvornik | 2009-03-13 17:45:21 +0100 (Fri, 13 Mar 2009) | 2 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.
-added keyword tree filtering
+commit 9ec7080489b3089207f5146f8d4a9f18b0275add
+Author: Laurent Monin <geeqie@norz.org>
+Date: Mon Mar 30 17:52:14 2009 +0000
-------------------------------------------------------------------------
-r1523 | nadvornik | 2009-03-13 13:06:01 +0100 (Fri, 13 Mar 2009) | 2 lines
+ Fix up previous patch.
-show file name in advanced_exif
+commit 054df7368da1e35ebf7a1ff5321203acd01acbb3
+Author: Laurent Monin <geeqie@norz.org>
+Date: Mon Mar 30 17:05:31 2009 +0000
-------------------------------------------------------------------------
-r1522 | nadvornik | 2009-03-13 11:36:32 +0100 (Fri, 13 Mar 2009) | 2 lines
+ Desktop files window: make columns sortable, replace Apply and OK buttons by one Save button which is made sensitive when needed.
-handle sidecar files for raw formats that are not known to exiv2
+commit 5ccbedf9691a490bb70a89139ab058d1f7f642e7
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sun Mar 29 20:06:21 2009 +0000
-------------------------------------------------------------------------
-r1521 | nadvornik | 2009-03-13 10:03:06 +0100 (Fri, 13 Mar 2009) | 2 lines
+ improved bar_pane_comment_notify_cb
-fixed keyword to mark connection
+commit 93fcf6a8503b7c431ab384dcc8b1a1da65060ff9
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sun Mar 29 19:57:19 2009 +0000
-------------------------------------------------------------------------
-r1520 | zas_ | 2009-03-12 23:44:21 +0100 (Thu, 12 Mar 2009) | 1 line
+ fixed a typo
-Use gboolean where applicable.
-------------------------------------------------------------------------
-r1519 | zas_ | 2009-03-12 23:39:06 +0100 (Thu, 12 Mar 2009) | 1 line
+commit 41513c5c7bafd1843d763f0cc05873d8e29d93cb
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sun Mar 29 19:40:16 2009 +0000
-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
+ fixed possible crash
-gint -> gboolean and tidy up.
-------------------------------------------------------------------------
-r1517 | nadvornik | 2009-03-12 22:27:13 +0100 (Thu, 12 Mar 2009) | 2 lines
+commit 0fe6e0a143b17894ea7ca13cc337e6bbccfbc640
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sun Mar 29 16:39:42 2009 +0000
-added a dialog for editing keyword tree
+ added UfRaw ID files to known filetypes
-------------------------------------------------------------------------
-r1516 | zas_ | 2009-03-12 22:06:37 +0100 (Thu, 12 Mar 2009) | 1 line
+commit ab645c958e18abe067b0af7dc62307f6f3b2a50b
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sun Mar 29 14:26:44 2009 +0000
-Use gboolean where applicable, for the sake of consistency.
-------------------------------------------------------------------------
-r1515 | zas_ | 2009-03-12 00:36:01 +0100 (Thu, 12 Mar 2009) | 1 line
+ pane interface cleanup
-Code cleanup.
-------------------------------------------------------------------------
-r1514 | zas_ | 2009-03-12 00:35:31 +0100 (Thu, 12 Mar 2009) | 1 line
+commit 0ceba72258134a7379e5d42ceda33967bad55b08
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sun Mar 29 14:20:44 2009 +0000
-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
+ improved sidebar configuration
-Tidy up.
-------------------------------------------------------------------------
-r1512 | zas_ | 2009-03-11 23:56:56 +0100 (Wed, 11 Mar 2009) | 1 line
+commit 7958ba1b7c05bb847a4c68f004314316d5936946
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sun Mar 29 10:36:13 2009 +0000
-Use gboolean pseudo type where applicable.
-------------------------------------------------------------------------
-r1511 | zas_ | 2009-03-11 23:28:37 +0100 (Wed, 11 Mar 2009) | 1 line
+ re-added possibility to display basic file info (size, mode, date)
-Remove useless functions.
-------------------------------------------------------------------------
-r1510 | nadvornik | 2009-03-11 22:54:54 +0100 (Wed, 11 Mar 2009) | 2 lines
+commit dd3442ea73ca4f99d1dff6ad59c6d48f3479db60
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sat Mar 28 15:51:21 2009 +0000
-added a popup menu in keyword tree
+ fixed keyboard focus on start-up
+ https://sourceforge.net/tracker/?func=detail&aid=2707025&group_id=222125&atid=1054680
-------------------------------------------------------------------------
-r1509 | zas_ | 2009-03-11 18:38:20 +0100 (Wed, 11 Mar 2009) | 1 line
+commit c717291bff504bb1e563e7b0b035906742c582ba
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sat Mar 28 15:31:04 2009 +0000
-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
+ active image follows keyboard focus
-fixed saving of file_view_type
+commit 78a1719a4343eef75f0c3d156827013d7b43aaa4
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sat Mar 28 15:09:09 2009 +0000
-------------------------------------------------------------------------
-r1507 | zas_ | 2009-03-10 18:58:30 +0100 (Tue, 10 Mar 2009) | 1 line
+ split-mode cleanup and improvements
-Remove now useless element.
-------------------------------------------------------------------------
-r1506 | zas_ | 2009-03-10 18:22:17 +0100 (Tue, 10 Mar 2009) | 1 line
+commit 4602b028bc005271b0a4e62dc039e665aecc9444
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Fri Mar 27 08:05:14 2009 +0000
-Remove the toggle on advanced exif window menu item.
-------------------------------------------------------------------------
-r1505 | zas_ | 2009-03-09 20:37:58 +0100 (Mon, 09 Mar 2009) | 1 line
+ added simple desktop file editor
-Add missing g_key_file_free() call.
-------------------------------------------------------------------------
-r1504 | zas_ | 2009-03-09 20:35:53 +0100 (Mon, 09 Mar 2009) | 1 line
+commit e68bdda5abf8afc998fb49d43868900f01ed559c
+Author: Laurent Monin <geeqie@norz.org>
+Date: Thu Mar 26 21:49:20 2009 +0000
-Fix editor_command_path_parse().
-------------------------------------------------------------------------
-r1503 | zas_ | 2009-03-09 20:34:26 +0100 (Mon, 09 Mar 2009) | 1 line
+ 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
-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
+commit f38f31b17fe21623f2d74d82613afea09b05892c
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Thu Mar 26 07:56:01 2009 +0000
-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
+ fixed histogram drawing
-Introduce EditorFlags type, cleanup.
-------------------------------------------------------------------------
-r1500 | nadvornik | 2009-03-09 00:09:27 +0100 (Mon, 09 Mar 2009) | 2 lines
+commit 507f2bf998627d8856a9ea1388ac04390a1a835e
+Author: Laurent Monin <geeqie@norz.org>
+Date: Mon Mar 23 18:49:23 2009 +0000
-save and restore the keyword tree
+ French translation was updated.
-------------------------------------------------------------------------
-r1499 | nadvornik | 2009-03-08 22:12:45 +0100 (Sun, 08 Mar 2009) | 2 lines
+commit abc71f71e6fb0fe732843d06a2100eec2aced123
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sat Mar 21 23:16:38 2009 +0000
-fixed crash with certain layout configurations
+ more consistent remote options naming
-------------------------------------------------------------------------
-r1498 | zas_ | 2009-03-08 21:49:48 +0100 (Sun, 08 Mar 2009) | 1 line
+commit c4330fbf13587f5b60c285016f666b95c9f25b98
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sat Mar 21 20:19:11 2009 +0000
-Cleanup and minor fixes.
-------------------------------------------------------------------------
-r1497 | zas_ | 2009-03-08 18:51:03 +0100 (Sun, 08 Mar 2009) | 1 line
+ fixed segfault in histogram
+ http://sourceforge.net/tracker/index.php?func=detail&aid=2690498&group_id=222125&atid=1054680
-Advanced exif window: make all columns sortable and resizable.
-------------------------------------------------------------------------
-r1496 | zas_ | 2009-03-08 16:30:15 +0100 (Sun, 08 Mar 2009) | 1 line
+commit 9266c3eaa397463d1345f472d69dc1d0894e123b
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sat Mar 21 19:51:07 2009 +0000
-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
+ layout id "_current_" matches the currently active layout window
-Fix up editor execution.
-------------------------------------------------------------------------
-r1494 | zas_ | 2009-03-08 15:27:19 +0100 (Sun, 08 Mar 2009) | 1 line
+commit aa2fd4c36b2b82e5c288dbc8d09478245f4ba929
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sat Mar 21 18:22:04 2009 +0000
-Display icons in edit contextual menu.
-------------------------------------------------------------------------
-r1493 | zas_ | 2009-03-08 14:23:25 +0100 (Sun, 08 Mar 2009) | 1 line
+ do not copy existing layout id to new window
-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
+commit 9b9f197ef970ef521bd9e780f85ea5c1c63a900e
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sat Mar 21 17:47:50 2009 +0000
-dnd fixes
+ update translated pane titles
-------------------------------------------------------------------------
-r1491 | nadvornik | 2009-03-08 12:32:12 +0100 (Sun, 08 Mar 2009) | 2 lines
+commit 4f46f6cca2dbc4423ee371e47877fd1bbf4a57a4
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Fri Mar 20 22:48:01 2009 +0000
-dnd fixes
+ do not re-create ui_manager at layout change
-------------------------------------------------------------------------
-r1490 | nadvornik | 2009-03-08 11:38:51 +0100 (Sun, 08 Mar 2009) | 2 lines
+commit 223d36e4c7eae2144f2eb20c6f0c77e27bbe743e
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Fri Mar 20 21:28:31 2009 +0000
-allow dropping of multiple keywords
+ added a possibility to update existing bars from config
-------------------------------------------------------------------------
-r1489 | nadvornik | 2009-03-08 11:25:24 +0100 (Sun, 08 Mar 2009) | 2 lines
+commit 61ff1c806812b340b30a891b933ed52c2c033207
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Fri Mar 20 17:02:00 2009 +0000
-show a label instead of the default drag icon
+ added tooltips to external editors on toolbar
+ - patch by Colin Clark
-------------------------------------------------------------------------
-r1488 | nadvornik | 2009-03-08 10:56:40 +0100 (Sun, 08 Mar 2009) | 3 lines
+commit da76910fc5992b93d09257b8386bbcd6b1a54a88
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Fri Mar 20 16:28:43 2009 +0000
-dnd in keywords tree
-improved dnd in advanced exif
+ added "load config" command to remote control
-------------------------------------------------------------------------
-r1487 | nadvornik | 2009-03-07 18:02:59 +0100 (Sat, 07 Mar 2009) | 5 lines
+commit e63d1ab169ffd77e2a0691eee92aee94484e8401
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Fri Mar 20 14:36:59 2009 +0000
-implemented keywords editor as described at
-http://geeqie.wiki.sourceforge.net/keywords
-keyword tree is hardcoded for now
-TODO: configuration
+ added possibility to update existing layout window from config
-------------------------------------------------------------------------
-r1486 | zas_ | 2009-03-07 11:32:04 +0100 (Sat, 07 Mar 2009) | 1 line
+commit f85c331b6bdca1a07e38a196e93562448b4c1048
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Fri Mar 20 11:52:29 2009 +0000
-French translation was updated.
-------------------------------------------------------------------------
-r1485 | zas_ | 2009-03-07 11:31:30 +0100 (Sat, 07 Mar 2009) | 1 line
+ do not add duplicate keywords from config file
-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
+commit edddb38414fcaf01150e7b3b1ee0175cf8f72ac2
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Fri Mar 20 10:12:29 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).
-------------------------------------------------------------------------
-r1483 | nadvornik | 2009-03-06 16:52:47 +0100 (Fri, 06 Mar 2009) | 2 lines
+ be more verbose on parse errors
-simplified bar interface
+commit db9583d155f876dcf8ecdba06de8c41bf6363955
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Fri Mar 20 09:46:35 2009 +0000
-------------------------------------------------------------------------
-r1482 | zas_ | 2009-03-06 16:04:35 +0100 (Fri, 06 Mar 2009) | 1 line
+ added function to reload external editors at any time
+ eliminated init_after_global_options()
-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
+commit a043fedcd1fa348548988b8c157f60a7b585539d
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Thu Mar 19 22:58:28 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()).
-------------------------------------------------------------------------
-r1480 | nadvornik | 2009-03-06 15:42:32 +0100 (Fri, 06 Mar 2009) | 2 lines
+ initialization clean-up
-enable wrap mode in comment pane
+commit 75ad70e81b5f541c6b57bf514a6363df919c102b
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Thu Mar 19 22:12:14 2009 +0000
-------------------------------------------------------------------------
-r1479 | nadvornik | 2009-03-06 15:24:11 +0100 (Fri, 06 Mar 2009) | 2 lines
+ improved config file formatting
-use standard GtkHPaned for sidebar width
+commit 5cd0768160f389b85802e2c44a568837b0f8e2b8
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Tue Mar 17 23:03:07 2009 +0000
-------------------------------------------------------------------------
-r1478 | zas_ | 2009-03-06 12:42:25 +0100 (Fri, 06 Mar 2009) | 1 line
+ added more IPTC tags
-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
+commit c4397842e058064be7c5e3f43a7f0334cc0ffb3d
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Tue Mar 17 22:41:09 2009 +0000
-do not crash if an exif entry is deleted during editing
+ implemented editing support in exif pane
-------------------------------------------------------------------------
-r1476 | nadvornik | 2009-03-06 00:02:15 +0100 (Fri, 06 Mar 2009) | 2 lines
+commit 4bb3d0e135ca5c31daea4beaebda72905dccf5a0
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Tue Mar 17 19:52:56 2009 +0000
-added popup menu to the exif pane
+ fixed loading of desktop file icons, gtk seems to expect an icon name without extension
-------------------------------------------------------------------------
-r1475 | nadvornik | 2009-03-04 23:44:35 +0100 (Wed, 04 Mar 2009) | 2 lines
+commit 8b21951c112cda8df9ab0d7e21ec024952fec965
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Tue Mar 17 19:09:34 2009 +0000
-indicate that the exif pane is empty
+ simplified code
-------------------------------------------------------------------------
-r1474 | nadvornik | 2009-03-04 23:34:11 +0100 (Wed, 04 Mar 2009) | 2 lines
+commit 914fa4e1207fe6f882dca6aa6da0c4306fb0ec63
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Tue Mar 17 18:58:15 2009 +0000
-prepared exif pane for popup menu
+ improved expanding and hiding of helper keywords
-------------------------------------------------------------------------
-r1473 | zas_ | 2009-03-04 22:33:19 +0100 (Wed, 04 Mar 2009) | 1 line
+commit 48a18d514775969bd21ce0bd154d454af5182ed8
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Tue Mar 17 18:30:53 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.
-------------------------------------------------------------------------
-r1472 | nadvornik | 2009-03-04 22:19:12 +0100 (Wed, 04 Mar 2009) | 2 lines
+ fixed keyword tree redrawing
-dnd from advanced exif window to exif pane
+commit a142c98b0d4a45084b3fbb698bae2f650846673c
+Author: Laurent Monin <geeqie@norz.org>
+Date: Tue Mar 17 00:05:13 2009 +0000
-------------------------------------------------------------------------
-r1471 | nadvornik | 2009-03-04 19:53:47 +0100 (Wed, 04 Mar 2009) | 2 lines
+ Preliminary support for doxygen: make doxygen-doc will create documentation from sources in doc/doxygen directory.
-Display pixel coordinates and rgb - patch by Ruben Stein
+commit 496826c114d4a8f9040bb1ef40e10f5782b3fe15
+Author: Laurent Monin <geeqie@norz.org>
+Date: Mon Mar 16 20:39:09 2009 +0000
-------------------------------------------------------------------------
-r1470 | nadvornik | 2009-03-04 00:17:07 +0100 (Wed, 04 Mar 2009) | 2 lines
+ gint -> gboolean where applicable. The end (ouf!).
-reorder exif pane entries with drag and drop
+commit 0b6b9778a54d91e2cfd39e9609ff9a784d2cbd7f
+Author: Laurent Monin <geeqie@norz.org>
+Date: Mon Mar 16 19:11:39 2009 +0000
-------------------------------------------------------------------------
-r1469 | nadvornik | 2009-03-02 23:48:04 +0100 (Mon, 02 Mar 2009) | 2 lines
+ gint -> gboolean where applicable.
-overlay now survives image split
+commit 4cd4d86404984c4696fc26e3968e5b17ff998d44
+Author: Laurent Monin <geeqie@norz.org>
+Date: Mon Mar 16 18:19:11 2009 +0000
-------------------------------------------------------------------------
-r1468 | zas_ | 2009-03-02 22:06:32 +0100 (Mon, 02 Mar 2009) | 1 line
+ gint -> gboolean where applicable.
-Random tidy up.
-------------------------------------------------------------------------
-r1467 | zas_ | 2009-03-02 22:05:57 +0100 (Mon, 02 Mar 2009) | 1 line
+commit 049a021e2221f7de3df81ce6c64b77c424ce0dac
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sun Mar 15 23:22:17 2009 +0000
-Fix memleak in previous patch.
-------------------------------------------------------------------------
-r1466 | zas_ | 2009-03-02 22:04:38 +0100 (Mon, 02 Mar 2009) | 1 line
+ improved pane_keywords notification
-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
+commit bdb1e4f3ca99abb0a9869a9bc872bc5b0b6f60b3
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sun Mar 15 22:46:25 2009 +0000
-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
+ call the notify function just once when the keywords are pushed to the
+ textarea
-Update POTFILES.in and french translation.
-------------------------------------------------------------------------
-r1463 | zas_ | 2009-03-02 00:14:19 +0100 (Mon, 02 Mar 2009) | 1 line
+commit 5c5e09cfb61bea28413a35b616540d4fea4710e9
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sun Mar 15 20:16:20 2009 +0000
-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
+ gint -> gboolean.
-make the exif pane grow-only - this reduces sidebar jumping
+commit 5f2862f720cdf6e5b001b0235f54dd3115378edc
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sun Mar 15 18:41:25 2009 +0000
-------------------------------------------------------------------------
-r1461 | zas_ | 2009-03-01 22:06:55 +0100 (Sun, 01 Mar 2009) | 1 line
+ fixed segfault in osd called from img-view
+ http://sourceforge.net/tracker/index.php?func=detail&aid=2684068&group_id=222125&atid=1054680
-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
+commit a83ce8127733fe662f70e27e4861923525924d2a
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sun Mar 15 18:06:41 2009 +0000
-Clarify colorspace determination (exif 2.2/2.21).
-------------------------------------------------------------------------
-r1459 | zas_ | 2009-03-01 18:58:19 +0100 (Sun, 01 Mar 2009) | 1 line
+ gint -> gboolean.
-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
+commit e297b62d130c7fd6a2d4f7d959b1d2c2a0ed0a29
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sun Mar 15 17:40:04 2009 +0000
-Improve file checks using is_readable_file().
-------------------------------------------------------------------------
-r1457 | zas_ | 2009-03-01 18:11:51 +0100 (Sun, 01 Mar 2009) | 1 line
+ fixed viewing image from dupe and search windows
-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
+commit e4ec9f2c3d3c8a79dd7741b2b7e7d4bd6825c758
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sun Mar 15 15:01:07 2009 +0000
-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
+ gint -> gboolean.
-image_select(), image_set_selectable(): tidy up.
-------------------------------------------------------------------------
-r1454 | zas_ | 2009-03-01 17:43:48 +0100 (Sun, 01 Mar 2009) | 1 line
+commit 54797050cd64429ea6a90ee4d8882b0542d634ae
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sun Mar 15 13:33:56 2009 +0000
-Indentation fixes.
-------------------------------------------------------------------------
-r1453 | zas_ | 2009-03-01 16:54:37 +0100 (Sun, 01 Mar 2009) | 1 line
+ gint -> gboolean.
-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
+commit 1e7fe2f0bce7e8b4959c6d0e82259617a5224e1c
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sun Mar 15 12:41:39 2009 +0000
-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
+ fixed XMP and IPTC entry names in exif pane
-Add an ellipse when the file name is truncated.
-------------------------------------------------------------------------
-r1450 | zas_ | 2009-03-01 16:15:37 +0100 (Sun, 01 Mar 2009) | 1 line
+commit 972f0c276d31a7510ce0a26e15b4925a6a0c1ab3
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sun Mar 15 12:20:14 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.
-------------------------------------------------------------------------
-r1449 | nadvornik | 2009-03-01 14:37:30 +0100 (Sun, 01 Mar 2009) | 2 lines
+ added notification to the exif pane
-dropped ExifUIList
+commit 7c3dc4dc86dff4853269bbe8341b71f1110d5709
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sun Mar 15 11:58:46 2009 +0000
-------------------------------------------------------------------------
-r1448 | nadvornik | 2009-03-01 12:59:32 +0100 (Sun, 01 Mar 2009) | 2 lines
+ fixed a bug in osd updating, it seems that the osd icons work again
-do not use separate list of entries, rely on vbox
+commit 04e5dfcf4a9d04ec83be00b15c53a35cdec49f79
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sun Mar 15 11:34:09 2009 +0000
-------------------------------------------------------------------------
-r1447 | nadvornik | 2009-03-01 01:10:00 +0100 (Sun, 01 Mar 2009) | 2 lines
+ compute histogram in idle time
-fixed possible crash
+commit c30d27838ff7606edcfcaae4e2d616370edacc67
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sun Mar 15 09:06:13 2009 +0000
-------------------------------------------------------------------------
-r1446 | nadvornik | 2009-03-01 00:59:02 +0100 (Sun, 01 Mar 2009) | 2 lines
+ fixed possible deadlock with multiple thumb loaders in parallel
-rewritten exif pane to support arbitrary number of entries
+commit 3dfd1c11d0f0b11e6627af9b687535dbaf32dee3
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sun Mar 15 07:07:52 2009 +0000
-------------------------------------------------------------------------
-r1445 | zas_ | 2009-02-28 21:57:26 +0100 (Sat, 28 Feb 2009) | 1 line
+ gint -> gboolean.
-max value -> value. Shorter.
-------------------------------------------------------------------------
-r1444 | zas_ | 2009-02-28 21:53:59 +0100 (Sat, 28 Feb 2009) | 1 line
+commit 2c38cf912ea9c74916ea950f62b1637d26f1a55b
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sat Mar 14 23:26:42 2009 +0000
-Add missing space between while and first parenthesis.
-------------------------------------------------------------------------
-r1443 | zas_ | 2009-02-28 21:52:51 +0100 (Sat, 28 Feb 2009) | 1 line
+ completely separated global and layout window options
+ layout window configuration is available under separate menu entry
-Add missing space between switch and first parenthesis.
-------------------------------------------------------------------------
-r1442 | zas_ | 2009-02-28 21:48:47 +0100 (Sat, 28 Feb 2009) | 1 line
+commit 869dd50b966b21850457b98a434dcb015158163e
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sat Mar 14 21:12:55 2009 +0000
-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
+ gint -> gboolean.
-Prevent Gtk assertion failures when no icon is set.
-------------------------------------------------------------------------
-r1440 | nadvornik | 2009-02-28 21:13:11 +0100 (Sat, 28 Feb 2009) | 3 lines
+commit 3707f26ed3f7eb60c321cdef21d58a9ae458c160
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sat Mar 14 20:07:23 2009 +0000
-show histogram label in the title
-adjusted label texts
+ More gboolean.
-------------------------------------------------------------------------
-r1439 | nadvornik | 2009-02-28 20:44:58 +0100 (Sat, 28 Feb 2009) | 2 lines
+commit ccbfd10e582b6099d035f09a0e0bd5bc146885cb
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sat Mar 14 19:25:21 2009 +0000
-give the panes more control over expander title
+ Use gboolean where applicable, minor cleanup and indentations fixes.
-------------------------------------------------------------------------
-r1438 | zas_ | 2009-02-28 20:41:23 +0100 (Sat, 28 Feb 2009) | 1 line
+commit 8e811724d0f95587be393cdb7a677a32ac704d34
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sat Mar 14 17:21:35 2009 +0000
-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
+ improved notification system
-load icons for external editors
+commit 2770d68d3c1a7e5f7550e4305e8b52aa11487759
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sat Mar 14 11:26:43 2009 +0000
-------------------------------------------------------------------------
-r1436 | zas_ | 2009-02-28 19:01:16 +0100 (Sat, 28 Feb 2009) | 1 line
+ More gboolean and tidy up.
-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
+commit 57236ac4620fce1a918d9c3269c51bcf468e5d22
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sat Mar 14 10:34:42 2009 +0000
-fixed bar_histogram headers
+ cleanup, small fixes
-------------------------------------------------------------------------
-r1434 | zas_ | 2009-02-28 18:12:00 +0100 (Sat, 28 Feb 2009) | 1 line
+commit 83a31276f24f79537f8e708cd2cb9b53af5a1470
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Fri Mar 13 23:19:58 2009 +0000
-Minor simplification and cleanup.
-------------------------------------------------------------------------
-r1433 | zas_ | 2009-02-28 17:59:20 +0100 (Sat, 28 Feb 2009) | 1 line
+ do not allow to add keywords with the same name as siblings
-image_change_complete(): reduce code redundancy and implify.
-------------------------------------------------------------------------
-r1432 | nadvornik | 2009-02-28 15:40:22 +0100 (Sat, 28 Feb 2009) | 3 lines
+commit c27864686704e76f90e3bdc3557537f5fb5086b4
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Fri Mar 13 16:45:21 2009 +0000
-fixed overlay configuration
-split overlay options between global and layout window
+ added keyword tree filtering
-------------------------------------------------------------------------
-r1431 | nadvornik | 2009-02-28 13:50:39 +0100 (Sat, 28 Feb 2009) | 2 lines
+commit dc9042b3bd903090011f945df79e1eeacd3f8e97
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Fri Mar 13 12:06:01 2009 +0000
-save and restore toolbar configuration
+ show file name in advanced_exif
-------------------------------------------------------------------------
-r1430 | nadvornik | 2009-02-28 10:59:27 +0100 (Sat, 28 Feb 2009) | 2 lines
+commit 3dcfa72047dc28f10b50187c651609ae96cd7065
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Fri Mar 13 10:36:32 2009 +0000
-create toolbar from ui_manager
+ handle sidecar files for raw formats that are not known to exiv2
-------------------------------------------------------------------------
-r1429 | zas_ | 2009-02-28 00:25:31 +0100 (Sat, 28 Feb 2009) | 1 line
+commit b987ed85c78996f56abc1f3025f36d3c4532d07c
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Fri Mar 13 09:03:06 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).
-------------------------------------------------------------------------
-r1428 | zas_ | 2009-02-27 23:28:17 +0100 (Fri, 27 Feb 2009) | 1 line
+ fixed keyword to mark connection
-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
+commit 26823554cdf789efc5c78d6d43a25678b24c76e9
+Author: Laurent Monin <geeqie@norz.org>
+Date: Thu Mar 12 22:44:21 2009 +0000
-compute histmap in idle callback and only if the histogram is expanded
+ Use gboolean where applicable.
-------------------------------------------------------------------------
-r1426 | zas_ | 2009-02-26 22:46:27 +0100 (Thu, 26 Feb 2009) | 1 line
+commit ce7252908d82484fbad1823b49a9c497ac86d278
+Author: Laurent Monin <geeqie@norz.org>
+Date: Thu Mar 12 22:39:06 2009 +0000
-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
+ Make ishidden() static to filedata.c and rename it is_hidden_file().
-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
+commit ea7b2e3825efdd3929b5dc5b057fa21b6d89ca3a
+Author: Laurent Monin <geeqie@norz.org>
+Date: Thu Mar 12 22:35:45 2009 +0000
-Add .bak and .mo extensions to svn:ignore.
-------------------------------------------------------------------------
-r1423 | nadvornik | 2009-02-26 09:04:52 +0100 (Thu, 26 Feb 2009) | 2 lines
+ gint -> gboolean and tidy up.
-quoted_value is no longer needed
+commit 12d44efdf007bf1bb292b450fd575cb007ace3b0
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Thu Mar 12 21:27:13 2009 +0000
-------------------------------------------------------------------------
-r1422 | zas_ | 2009-02-26 00:04:08 +0100 (Thu, 26 Feb 2009) | 1 line
+ added a dialog for editing keyword tree
-Silent a minor warning.
-------------------------------------------------------------------------
-r1421 | nadvornik | 2009-02-25 22:09:17 +0100 (Wed, 25 Feb 2009) | 2 lines
+commit 445675df9548d5b7b765a07c7bfe96faa3e4ab6a
+Author: Laurent Monin <geeqie@norz.org>
+Date: Thu Mar 12 21:06:37 2009 +0000
-correctly save and restore overlay string
+ Use gboolean where applicable, for the sake of consistency.
-------------------------------------------------------------------------
-r1420 | zas_ | 2009-02-25 21:54:38 +0100 (Wed, 25 Feb 2009) | 1 line
+commit 2814d20328df2cfb3efcd57bdbf6c8a468c94408
+Author: Laurent Monin <geeqie@norz.org>
+Date: Wed Mar 11 23:36:01 2009 +0000
-Save bar pane histogram state to rc file.
-------------------------------------------------------------------------
-r1419 | zas_ | 2009-02-25 21:42:35 +0100 (Wed, 25 Feb 2009) | 1 line
+ Code cleanup.
-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
+commit f719019c2a2838f979aaece5ed16e074c544310d
+Author: Laurent Monin <geeqie@norz.org>
+Date: Wed Mar 11 23:35:31 2009 +0000
-reuse original utility_box (image + sidebars) on layout change (switch
-from list to icon view etc.)
+ Fix bug when adding a new collection through sort manager. Tidy up.
-------------------------------------------------------------------------
-r1417 | nadvornik | 2009-02-25 19:21:20 +0100 (Wed, 25 Feb 2009) | 2 lines
+commit 3ad46d8aff0ddc2fb5489031121c4bc48b7756d3
+Author: Laurent Monin <geeqie@norz.org>
+Date: Wed Mar 11 23:04:30 2009 +0000
-fixed filter initialization
+ Tidy up.
-------------------------------------------------------------------------
-r1416 | nadvornik | 2009-02-24 23:21:28 +0100 (Tue, 24 Feb 2009) | 2 lines
+commit 0b00a6f6e8da83036bc84c8a47c863721f2a1c14
+Author: Laurent Monin <geeqie@norz.org>
+Date: Wed Mar 11 22:56:56 2009 +0000
-improved bar_sort configuration
+ Use gboolean pseudo type where applicable.
-------------------------------------------------------------------------
-r1415 | zas_ | 2009-02-24 22:08:16 +0100 (Tue, 24 Feb 2009) | 1 line
+commit 2f2e14119378d60c52c113078c35999f342b249e
+Author: Laurent Monin <geeqie@norz.org>
+Date: Wed Mar 11 22:28:37 2009 +0000
-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
+ Remove useless functions.
-fixed --fullscreen option together with enabled bar
+commit 53335b4551e6099ecb9a361d87b35487df57101e
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Wed Mar 11 21:54:54 2009 +0000
-------------------------------------------------------------------------
-r1413 | nadvornik | 2009-02-24 21:34:39 +0100 (Tue, 24 Feb 2009) | 2 lines
+ added a popup menu in keyword tree
-simplified and improved bar configuration
+commit 13b5d1f44e4c824a4a48b972e758f2fde80dbc43
+Author: Laurent Monin <geeqie@norz.org>
+Date: Wed Mar 11 17:38:20 2009 +0000
-------------------------------------------------------------------------
-r1412 | zas_ | 2009-02-24 19:00:45 +0100 (Tue, 24 Feb 2009) | 1 line
+ Use dynamic allocation for editor key passed to various callbacks.
-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
+commit 4ae54d3fe9578e43dace94f9fdc9fc4e757a74f9
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Tue Mar 10 22:52:12 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).
+ fixed saving of file_view_type
+commit 7feb265d9809eef4b3c225b6475b83228771d6ea
+Author: Laurent Monin <geeqie@norz.org>
+Date: Tue Mar 10 17:58:30 2009 +0000
-------------------------------------------------------------------------
-r1410 | nadvornik | 2009-02-23 23:13:09 +0100 (Mon, 23 Feb 2009) | 2 lines
+ Remove now useless element.
-simplified config writing
+commit 244bab9b7cc522210cdfbf1432c3a4b7c3ccce77
+Author: Laurent Monin <geeqie@norz.org>
+Date: Tue Mar 10 17:22:17 2009 +0000
-------------------------------------------------------------------------
-r1409 | nadvornik | 2009-02-23 22:21:15 +0100 (Mon, 23 Feb 2009) | 2 lines
+ Remove the toggle on advanced exif window menu item.
-enabled commandline again
+commit 0d08080fca58e3ef64ede91c605d46ccb8bb2689
+Author: Laurent Monin <geeqie@norz.org>
+Date: Mon Mar 9 19:37:58 2009 +0000
-------------------------------------------------------------------------
-r1408 | zas_ | 2009-02-23 18:20:40 +0100 (Mon, 23 Feb 2009) | 1 line
+ Add missing g_key_file_free() call.
-Introduce helpers histogram_toggle_channel() and histogram_toggle_mode().
-------------------------------------------------------------------------
-r1407 | zas_ | 2009-02-22 18:46:42 +0100 (Sun, 22 Feb 2009) | 1 line
+commit 704c8c788786d55da1a84676cdca7865e85b96da
+Author: Laurent Monin <geeqie@norz.org>
+Date: Mon Mar 9 19:35:53 2009 +0000
-Set svn:ignore on Makefile and Makefile.in.
-------------------------------------------------------------------------
-r1406 | zas_ | 2009-02-22 18:40:32 +0100 (Sun, 22 Feb 2009) | 1 line
+ Fix editor_command_path_parse().
-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
+commit 6829be525a541c8e5b3b9a3d130548434d006587
+Author: Laurent Monin <geeqie@norz.org>
+Date: Mon Mar 9 19:34:26 2009 +0000
-config file format changed to XML
-save and restore all layout windows
-save and restore sidebar configuration
+ Revert changeset 1502. It brokes the spec: hidden desktop files from user directory should hide files from system directory with the same name.
-------------------------------------------------------------------------
-r1404 | zas_ | 2009-02-22 14:29:49 +0100 (Sun, 22 Feb 2009) | 1 line
+commit 2c12c12f04540a4b3888fde88f88cc93e7adb011
+Author: Laurent Monin <geeqie@norz.org>
+Date: Mon Mar 9 12:44:06 2009 +0000
-Attempt to simplify and fix histrogram code.
-------------------------------------------------------------------------
-r1403 | zas_ | 2009-02-21 21:43:35 +0100 (Sat, 21 Feb 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().
-Glibification again.
-------------------------------------------------------------------------
-r1402 | zas_ | 2009-02-21 19:28:53 +0100 (Sat, 21 Feb 2009) | 1 line
+commit 67e00d0a920b6349e42f86742a18ca50fdc4880e
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sun Mar 8 23:12:49 2009 +0000
-French translation was updated.
-------------------------------------------------------------------------
-r1401 | zas_ | 2009-02-21 19:04:52 +0100 (Sat, 21 Feb 2009) | 1 line
+ Introduce EditorFlags type, cleanup.
-Glibification.
-------------------------------------------------------------------------
-r1400 | zas_ | 2009-02-21 11:53:18 +0100 (Sat, 21 Feb 2009) | 1 line
+commit 30fc45e64c3dea9841d40ba694d1d2b45d002cc6
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sun Mar 8 23:09:27 2009 +0000
-Move grid color setting to histogram_new().
-------------------------------------------------------------------------
-r1399 | zas_ | 2009-02-21 11:33:56 +0100 (Sat, 21 Feb 2009) | 1 line
+ save and restore the keyword tree
-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
+commit c00ba73c65a001d5fbf7d7d4c6279c97e6992983
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sun Mar 8 21:12:45 2009 +0000
-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
+ fixed crash with certain layout configurations
-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
+commit f7dbd69473c9bcdcb08c6b904b11d512e3a2929a
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sun Mar 8 20:49:48 2009 +0000
-fixed compiler warning
+ Cleanup and minor fixes.
-------------------------------------------------------------------------
-r1395 | nadvornik | 2009-02-16 22:01:27 +0100 (Mon, 16 Feb 2009) | 2 lines
+commit 66f5ea89ccea96c00f371f633fe02142cec8bd05
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sun Mar 8 17:51:03 2009 +0000
-hopefully fixed a freeze on solaris
+ Advanced exif window: make all columns sortable and resizable.
-------------------------------------------------------------------------
-r1394 | nadvornik | 2009-02-15 20:25:55 +0100 (Sun, 15 Feb 2009) | 2 lines
+commit 411a041e79c2cb24490d562fdcd05030cbcfff71
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sun Mar 8 15:30:15 2009 +0000
-added histogram pane
+ Add helper macros EDITOR_ERRORS() and EDITOR_ERRORS_BUT_SKIPPED() to clean up the code a bit. Minor tidy up.
-------------------------------------------------------------------------
-r1393 | nadvornik | 2009-02-15 18:27:48 +0100 (Sun, 15 Feb 2009) | 2 lines
+commit 91b011a25e87aebe4cdc92e2a75db82b872c8302
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sun Mar 8 15:02:18 2009 +0000
-fixed histogram drawing
+ Fix up editor execution.
-------------------------------------------------------------------------
-r1392 | zas_ | 2009-02-15 16:58:01 +0100 (Sun, 15 Feb 2009) | 1 line
+commit 3014c4ff1cd8fc5a6ce064e3bcc297417a08a37f
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sun Mar 8 14:27:19 2009 +0000
-Remove redundant line of code.
-------------------------------------------------------------------------
-r1391 | zas_ | 2009-02-15 16:56:48 +0100 (Sun, 15 Feb 2009) | 1 line
+ Display icons in edit contextual menu.
-Fix up few compilation warnings.
-------------------------------------------------------------------------
-r1390 | nadvornik | 2009-02-15 14:11:21 +0100 (Sun, 15 Feb 2009) | 3 lines
+commit 0205b0af299b580d25846b1fc9c17e7716939341
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sun Mar 8 13:23:25 2009 +0000
-histogram caching
-histogram interface prepared for histogram pane
+ In various Edit context menus, only display editors that match the file types in the selection.
-------------------------------------------------------------------------
-r1389 | nadvornik | 2009-02-15 10:36:53 +0100 (Sun, 15 Feb 2009) | 3 lines
+commit 06d738a8072a9eae0765859eecc19c1745cde25b
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sun Mar 8 12:42:23 2009 +0000
-separated "normal" and advanced exif, "Normal" exif is now in the
-generic bar, advanced exif is in separate window.
+ dnd fixes
-------------------------------------------------------------------------
-r1388 | nadvornik | 2009-02-14 21:26:30 +0100 (Sat, 14 Feb 2009) | 2 lines
+commit e9f2c348743955bcf92c0ef94331d545e7d6f7a1
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sun Mar 8 11:32:12 2009 +0000
-droped Preferences dialog, sidebar should replace it completely
+ dnd fixes
-------------------------------------------------------------------------
-r1387 | nadvornik | 2009-02-14 20:50:54 +0100 (Sat, 14 Feb 2009) | 4 lines
+commit e0a06986823081a727a4413b7e2ff562fd6618be
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sun Mar 8 10:38:51 2009 +0000
-replaced bar_info with an universal bar, restored the original
-functionality (more or less)
-bar configuration is not yet saved
+ allow dropping of multiple keywords
-------------------------------------------------------------------------
-r1386 | zas_ | 2009-02-09 10:02:04 +0100 (Mon, 09 Feb 2009) | 1 line
+commit 3dc57a6704aa6b4b5c94e597dc448ee141d14c15
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sun Mar 8 10:25:24 2009 +0000
-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
+ show a label instead of the default drag icon
-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 2874d15e958da779066951a0bde3bafe3f9654cb
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sun Mar 8 09:56:40 2009 +0000
-------------------------------------------------------------------------
-r1384 | nadvornik | 2009-02-07 20:01:21 +0100 (Sat, 07 Feb 2009) | 6 lines
+ dnd in keywords tree
+ improved dnd in advanced exif
-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 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
-------------------------------------------------------------------------
-r1383 | nadvornik | 2009-02-07 00:49:03 +0100 (Sat, 07 Feb 2009) | 2 lines
+commit 3d687308a8d41f5be0a667c4a470f6391c6e172b
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sat Mar 7 10:32:04 2009 +0000
-Start with "Fit to window" in "Leave Zoom at previous setting" mode
+ French translation was updated.
-------------------------------------------------------------------------
-r1382 | nadvornik | 2009-02-06 23:56:52 +0100 (Fri, 06 Feb 2009) | 4 lines
+commit fbe133245d32410b958b6fdffecfcd14e2ea2bca
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sat Mar 7 10:31:30 2009 +0000
-do not switch to the next image on mouse click in split mode
-it interferes with image switching too much
+ 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
-------------------------------------------------------------------------
-r1381 | nadvornik | 2009-02-06 23:41:47 +0100 (Fri, 06 Feb 2009) | 2 lines
+ 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).
-improved labels of some menu items
+commit 0006442fe24f14a1ce2492b73d22c92670bf0974
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Fri Mar 6 15:52:47 2009 +0000
-------------------------------------------------------------------------
-r1380 | zas_ | 2009-02-04 18:15:30 +0100 (Wed, 04 Feb 2009) | 1 line
+ simplified bar interface
-Add year 2009 to copyright info everywhere.
-------------------------------------------------------------------------
-r1379 | zas_ | 2009-02-04 17:50:24 +0100 (Wed, 04 Feb 2009) | 1 line
+commit 4da29794c4fe3233ac3ecff01019e86d779a8c2b
+Author: Laurent Monin <geeqie@norz.org>
+Date: Fri Mar 6 15:04:35 2009 +0000
-Fix up the copyright years info.
-------------------------------------------------------------------------
-r1378 | zas_ | 2009-02-04 17:49:11 +0100 (Wed, 04 Feb 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).
-Update README header.
-------------------------------------------------------------------------
-r1377 | zas_ | 2009-02-04 17:47:02 +0100 (Wed, 04 Feb 2009) | 1 line
+commit 7b8e46aa208816b61b4c1c852112aeebd3fe8f46
+Author: Laurent Monin <geeqie@norz.org>
+Date: Fri Mar 6 14:53:32 2009 +0000
-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
+ 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()).
-Do not show geeqie itself in editors menus.
-------------------------------------------------------------------------
-r1375 | nadvornik | 2009-02-03 19:04:10 +0100 (Tue, 03 Feb 2009) | 2 lines
+commit 25962e3530372946ba7c7a051b509ecf7056ac85
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Fri Mar 6 14:42:32 2009 +0000
-do not translate already translated texts from desktop files
+ enable wrap mode in comment pane
-------------------------------------------------------------------------
-r1374 | zas_ | 2009-02-03 14:52:20 +0100 (Tue, 03 Feb 2009) | 1 line
+commit 55a3179898b348b98a45a58d6f325dbb92026b09
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Fri Mar 6 14:24:11 2009 +0000
-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
+ use standard GtkHPaned for sidebar width
-Reorder fields a bit and make flags field unsigned.
-------------------------------------------------------------------------
-r1372 | zas_ | 2009-02-03 09:41:21 +0100 (Tue, 03 Feb 2009) | 1 line
+commit e8aff8701513b7dd33af46253f588ed93aa26159
+Author: Laurent Monin <geeqie@norz.org>
+Date: Fri Mar 6 11:42:25 2009 +0000
-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
+ Fix tab completion when entering "/et[TAB]" it was changed to "et", this is fixed.
-improved placing of external commands in menu
-small menu improvements
+commit 9169391b4c9254bad5d087ea70eac57e35dafe6e
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Thu Mar 5 23:32:56 2009 +0000
-------------------------------------------------------------------------
-r1370 | nadvornik | 2009-02-01 23:35:40 +0100 (Sun, 01 Feb 2009) | 3 lines
+ do not crash if an exif entry is deleted during editing
-test TryExec,
-xdg_data_home added to the list of directories
+commit cf3ee0a9299dd553165421086ed4b44fe2d27eb6
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Thu Mar 5 23:02:15 2009 +0000
-------------------------------------------------------------------------
-r1369 | nadvornik | 2009-02-01 19:27:42 +0100 (Sun, 01 Feb 2009) | 2 lines
+ added popup menu to the exif pane
-fixed switch from single to split image
+commit 8cb3c38b5b8f7f3a6e02ba780b2d248e16872c3d
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Wed Mar 4 22:44:35 2009 +0000
-------------------------------------------------------------------------
-r1368 | nadvornik | 2009-02-01 13:48:14 +0100 (Sun, 01 Feb 2009) | 2 lines
+ indicate that the exif pane is empty
-read external editors from .desktop files
+commit f4ef41357f991741b70538dd8156161f44e462bb
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Wed Mar 4 22:34:11 2009 +0000
-------------------------------------------------------------------------
-r1367 | zas_ | 2009-01-29 20:43:34 +0100 (Thu, 29 Jan 2009) | 1 line
+ prepared exif pane for popup menu
-Sort the list alphabetically and remove an empty line.
-------------------------------------------------------------------------
-r1366 | nadvornik | 2009-01-29 20:23:39 +0100 (Thu, 29 Jan 2009) | 4 lines
+commit 96f804c86a637788af6faea27f260cca6c596229
+Author: Laurent Monin <geeqie@norz.org>
+Date: Wed Mar 4 21:33:19 2009 +0000
-switched to po/LINGUAS, see http://live.gnome.org/GnomeGoals/PoLinguas
-(new glib-gettextize does not support the old method)
+ 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
-------------------------------------------------------------------------
-r1365 | zas_ | 2009-01-29 20:07:07 +0100 (Thu, 29 Jan 2009) | 1 line
+ dnd from advanced exif window to exif pane
-gint -> gboolean.
-------------------------------------------------------------------------
-r1364 | zas_ | 2009-01-29 20:00:24 +0100 (Thu, 29 Jan 2009) | 1 line
+commit ed17579e62a6cfe5a18915d3bfba80f8bc2ee564
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Wed Mar 4 18:53:47 2009 +0000
-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
+ Display pixel coordinates and rgb - patch by Ruben Stein
-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
+commit 82e0b2a4b6099bbe79ae2a0011fbbe4c528e428d
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Tue Mar 3 23:17:07 2009 +0000
-added SIGBUS handler
+ reorder exif pane entries with drag and drop
-------------------------------------------------------------------------
-r1361 | nadvornik | 2009-01-26 22:08:05 +0100 (Mon, 26 Jan 2009) | 2 lines
+commit a899ea58d94c14dc66d34a3567ebdcfa11a6a0f9
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Mon Mar 2 22:48:04 2009 +0000
-fixed compilation with lirc
+ overlay now survives image split
-------------------------------------------------------------------------
-r1360 | zas_ | 2009-01-26 15:59:49 +0100 (Mon, 26 Jan 2009) | 1 line
+commit a4ee370ccd362d7e0c69067dbdad9e0106a1cce4
+Author: Laurent Monin <geeqie@norz.org>
+Date: Mon Mar 2 21:06:32 2009 +0000
-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
+ Random tidy up.
-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
+commit da428c44fc7a1da6f146163cb8f484e0fc6676fb
+Author: Laurent Monin <geeqie@norz.org>
+Date: Mon Mar 2 21:05:57 2009 +0000
-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
+ Fix memleak in previous patch.
-Keep -O0 over -O2 as requested by Vladimir.
-------------------------------------------------------------------------
-r1356 | zas_ | 2009-01-26 09:36:23 +0100 (Mon, 26 Jan 2009) | 1 line
+commit 0668b940429414b217e330b5351bfca31dda1c4d
+Author: Laurent Monin <geeqie@norz.org>
+Date: Mon Mar 2 21:04:38 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).
-------------------------------------------------------------------------
-r1355 | zas_ | 2009-01-26 09:30:30 +0100 (Mon, 26 Jan 2009) | 1 line
+ Add a directory separator at the end of names in tab completion list to indicate directories.
-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
+commit 6a8d84391baf8e7bee1160abc4c57eca58987a73
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sun Mar 1 23:38:36 2009 +0000
-added the original COPYING file from GQview - we can't rely on autogen.sh
+ Align exif labels vertically (visually better since name is now smaller than value).
-------------------------------------------------------------------------
-r1352 | nadvornik | 2009-01-25 19:14:08 +0100 (Sun, 25 Jan 2009) | 2 lines
+commit 2a1b48f6079867a09a28067f17a8e7bb47cdbdfd
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sun Mar 1 23:28:53 2009 +0000
-updated ChangeLog from svn log
+ Update POTFILES.in and french translation.
-------------------------------------------------------------------------
-r1351 | nadvornik | 2009-01-25 17:58:19 +0100 (Sun, 25 Jan 2009) | 2 lines
+commit 7fbf2e53a3a5ad667bd585d763cf0bff567d672e
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sun Mar 1 23:14:19 2009 +0000
-fixed gthread detection
+ When g_new0() is used, drop redundant initializations to NULL, FALSE or 0, second pass.
-------------------------------------------------------------------------
-r1350 | nadvornik | 2009-01-25 10:27:27 +0100 (Sun, 25 Jan 2009) | 2 lines
+commit ac3c275ae53473b6be6f20c1b96a470e156a7fdc
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sun Mar 1 21:35:18 2009 +0000
-do not ignore newly created sidecars
+ make the exif pane grow-only - this reduces sidebar jumping
-------------------------------------------------------------------------
-r1349 | nadvornik | 2009-01-24 14:46:08 +0100 (Sat, 24 Jan 2009) | 2 lines
+commit 16754fd5f8f49e41f040ed43a28f4c53dfcde982
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sun Mar 1 21:06:55 2009 +0000
-adjusted marks spacing to align them with the marks filter
+ When g_new0() is used, drop redundant initializations to NULL, FALSE or 0.
-------------------------------------------------------------------------
-r1348 | zas_ | 2009-01-24 14:38:53 +0100 (Sat, 24 Jan 2009) | 1 line
+commit 276cb9bb7ccef6bca68564040a2f5908028ebdc1
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sun Mar 1 19:48:38 2009 +0000
-Fix incorrect translation.
-------------------------------------------------------------------------
-r1347 | nadvornik | 2009-01-24 14:05:06 +0100 (Sat, 24 Jan 2009) | 4 lines
+ Clarify colorspace determination (exif 2.2/2.21).
-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 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.
-------------------------------------------------------------------------
-r1346 | nadvornik | 2009-01-24 13:15:01 +0100 (Sat, 24 Jan 2009) | 2 lines
+commit 2f8d1927009893b4562aa1b95ec61b2f4b997d8d
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sun Mar 1 17:13:14 2009 +0000
-fixed glib warning
+ Improve file checks using is_readable_file().
-------------------------------------------------------------------------
-r1345 | nadvornik | 2009-01-24 11:09:29 +0100 (Sat, 24 Jan 2009) | 2 lines
+commit 44300b5fd5139f9c485d632207fb7f89cd3c481f
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sun Mar 1 17:11:51 2009 +0000
-updated version string
+ Only attempt to read exif if the file is readable.
-------------------------------------------------------------------------
-r1344 | zas_ | 2009-01-24 08:41:23 +0100 (Sat, 24 Jan 2009) | 1 line
+commit f66300e9b42664a35e88c2baefdff57b3a883759
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sun Mar 1 17:10:45 2009 +0000
-Silent two compilation warnings.
-------------------------------------------------------------------------
-r1343 | zas_ | 2009-01-24 08:36:21 +0100 (Sat, 24 Jan 2009) | 1 line
+ Introduce is_readable_file() which test if file exists, is regular and readable.
-French translation was updated.
-------------------------------------------------------------------------
-r1342 | nadvornik | 2009-01-23 23:53:02 +0100 (Fri, 23 Jan 2009) | 2 lines
+commit 2a5590abe04642bb6e1d7abb17a4f12ee9861cd8
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sun Mar 1 16:46:40 2009 +0000
-fixed possible crash
+ image_select(), image_set_selectable(): tidy up.
-------------------------------------------------------------------------
-r1341 | nadvornik | 2009-01-21 19:30:54 +0100 (Wed, 21 Jan 2009) | 2 lines
+commit d3aa41bc4406825b23336d561c60a81d6509f523
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sun Mar 1 16:43:48 2009 +0000
-enable threads by default
+ Indentation fixes.
-------------------------------------------------------------------------
-r1340 | nadvornik | 2009-01-21 19:16:26 +0100 (Wed, 21 Jan 2009) | 2 lines
+commit 671c4e59016ad4b13a791d6bf70a1011b9450b62
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sun Mar 1 15:54:37 2009 +0000
-compilation fixes for older exiv2
+ image_post_process_color(): remove exif parameter, just extract it when needed.
-------------------------------------------------------------------------
-r1339 | nadvornik | 2009-01-20 23:53:09 +0100 (Tue, 20 Jan 2009) | 2 lines
+commit bc32699c45cdf3698872449f5b9116a6dd0928a8
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sun Mar 1 15:41:51 2009 +0000
-improved metadata preferences
+ Slightly modify access_file() and use it to test profile files existence and read access.
-------------------------------------------------------------------------
-r1338 | nadvornik | 2009-01-20 23:29:31 +0100 (Tue, 20 Jan 2009) | 2 lines
+commit 2a3788f237b9a0e343501213036eb133545754b7
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sun Mar 1 15:28:06 2009 +0000
-fixed possible segfault
+ Add an ellipse when the file name is truncated.
-------------------------------------------------------------------------
-r1337 | nadvornik | 2009-01-11 22:28:03 +0100 (Sun, 11 Jan 2009) | 2 lines
+commit 138449b284641d79f8f35dbc47ecff5364f94117
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sun Mar 1 15:15:37 2009 +0000
-show symlinks in filelist
+ In the side bar, display the filename without the 'Filename:' prefix and makes it centered. Allow to select it for copy'n'paste.
-------------------------------------------------------------------------
-r1336 | nadvornik | 2009-01-11 22:24:58 +0100 (Sun, 11 Jan 2009) | 2 lines
+commit 86e5ecef8ba0effbc52208fcc9c2c788ede293ff
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sun Mar 1 13:37:30 2009 +0000
-fixed includes
+ dropped ExifUIList
-------------------------------------------------------------------------
-r1335 | nadvornik | 2009-01-11 19:58:05 +0100 (Sun, 11 Jan 2009) | 2 lines
+commit 851a261132a08fc1812a73b2c0481d0579a3da0a
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sun Mar 1 11:59:32 2009 +0000
-added a status bar button for writting metadata immediately
+ do not use separate list of entries, rely on vbox
-------------------------------------------------------------------------
-r1334 | nadvornik | 2009-01-11 13:13:30 +0100 (Sun, 11 Jan 2009) | 3 lines
+commit 411fa489a446dd00e60f1a77791ce26f9e43bb87
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sun Mar 1 00:10:00 2009 +0000
-metadata write mode (direct or sidecar) made configurable for each file
-format
+ fixed possible crash
-------------------------------------------------------------------------
-r1333 | nadvornik | 2009-01-10 21:40:37 +0100 (Sat, 10 Jan 2009) | 3 lines
+commit 353d6be218b845a9d974f32d8388867ce2588bbe
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sat Feb 28 23:59:02 2009 +0000
-simplified metadata interface, dropped metadata_read,
-fixes for older exiv2 versions
+ rewritten exif pane to support arbitrary number of entries
-------------------------------------------------------------------------
-r1332 | zas_ | 2009-01-04 18:14:34 +0100 (Sun, 04 Jan 2009) | 1 line
+commit 7cc909a78fa9f5f7c7fc40533978a29d3ad05767
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sat Feb 28 20:57:26 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.
-------------------------------------------------------------------------
-r1331 | zas_ | 2009-01-04 11:32:47 +0100 (Sun, 04 Jan 2009) | 1 line
+ max value -> value. Shorter.
-French translation was updated.
-------------------------------------------------------------------------
-r1330 | zas_ | 2009-01-03 18:13:20 +0100 (Sat, 03 Jan 2009) | 1 line
+commit bbfd2a7a816e372a04aea99139f835353e4047f8
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sat Feb 28 20:53:59 2009 +0000
-Silent warnings.
-------------------------------------------------------------------------
-r1329 | nadvornik | 2009-01-03 16:29:08 +0100 (Sat, 03 Jan 2009) | 2 lines
+ Add missing space between while and first parenthesis.
-write keywords and comments with separate functions
+commit 321ff5bb77411f729fdd38740a02f4de341f77e9
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sat Feb 28 20:52:51 2009 +0000
-------------------------------------------------------------------------
-r1328 | nadvornik | 2009-01-03 00:14:01 +0100 (Sat, 03 Jan 2009) | 2 lines
+ Add missing space between switch and first parenthesis.
-fixed updating of selection after deleting the last image from the list
+commit 96a26903f49ddab4a63213310c9da8d2c0457dc0
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sat Feb 28 20:48:47 2009 +0000
-------------------------------------------------------------------------
-r1327 | nadvornik | 2009-01-02 23:57:09 +0100 (Fri, 02 Jan 2009) | 5 lines
+ No space between function name and first parenthesis, it eases greping (see CODING).
-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 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.
-------------------------------------------------------------------------
-r1326 | nadvornik | 2009-01-02 15:58:21 +0100 (Fri, 02 Jan 2009) | 4 lines
+commit f3d61f44c1bfe05188eb68974737f66ce096656d
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sat Feb 28 20:13:11 2009 +0000
-added done callback to utilops
-used the callback for metadata writting at exit and for renaming new
-folder
+ show histogram label in the title
+ adjusted label texts
-------------------------------------------------------------------------
-r1325 | nadvornik | 2009-01-02 10:39:14 +0100 (Fri, 02 Jan 2009) | 2 lines
+commit f9936e38ffc7feb5ca5af211603c682cfb548fee
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sat Feb 28 19:44:58 2009 +0000
-fixed view_dir notification
+ give the panes more control over expander title
-------------------------------------------------------------------------
-r1324 | nadvornik | 2009-01-02 10:26:23 +0100 (Fri, 02 Jan 2009) | 4 lines
+commit 106016c61b873ccc55b515336f5217d7f9fd639e
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sat Feb 28 19:41:23 2009 +0000
-sidecar files grouping was made case-insensitive
-added possibility to use macros %raw, %image, %meta in extensions lists
+ 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
-------------------------------------------------------------------------
-r1323 | nadvornik | 2008-12-27 23:53:07 +0100 (Sat, 27 Dec 2008) | 2 lines
+ load icons for external editors
-fixed writting of legacy metadata
+commit 073a65377169492e9843ee4bdd3acf01f0cf6c78
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sat Feb 28 18:01:16 2009 +0000
-------------------------------------------------------------------------
-r1322 | nadvornik | 2008-12-26 20:04:36 +0100 (Fri, 26 Dec 2008) | 3 lines
+ Use g_utf8_casefold() to compare keywords, uppercased/lowercased keywords are now matched against predefined list.
-optimized get_mark_func
-fixed reference counting bug
+commit 42ea998781724458ce55582414b4d1656d244f10
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sat Feb 28 17:20:16 2009 +0000
-------------------------------------------------------------------------
-r1321 | nadvornik | 2008-12-26 19:54:07 +0100 (Fri, 26 Dec 2008) | 2 lines
+ fixed bar_histogram headers
-remove cached entries on all changes
+commit 0520eeff040165801722d408701eae8c94b2f955
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sat Feb 28 17:12:00 2009 +0000
-------------------------------------------------------------------------
-r1320 | nadvornik | 2008-12-26 18:38:52 +0100 (Fri, 26 Dec 2008) | 2 lines
+ Minor simplification and cleanup.
-fixed previous change
+commit df6b9c5b1e3077d19e5c59f2e72e8949da034a08
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sat Feb 28 16:59:20 2009 +0000
-------------------------------------------------------------------------
-r1319 | nadvornik | 2008-12-26 15:12:36 +0100 (Fri, 26 Dec 2008) | 3 lines
+ image_change_complete(): reduce code redundancy and implify.
-improved sidecar writting
-private metadata can be saved in xmp format
+commit fa373d7547d5c23f65088dff3df36d43b90b0139
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sat Feb 28 14:40:22 2009 +0000
-------------------------------------------------------------------------
-r1318 | nadvornik | 2008-12-25 13:39:34 +0100 (Thu, 25 Dec 2008) | 2 lines
+ fixed overlay configuration
+ split overlay options between global and layout window
-implemented a possibility to connect keywords with marks
+commit d5b911cd3eca6de811ef53f8cac6a3f84ced1062
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sat Feb 28 12:50:39 2009 +0000
-------------------------------------------------------------------------
-r1317 | nadvornik | 2008-12-25 13:28:04 +0100 (Thu, 25 Dec 2008) | 2 lines
+ save and restore toolbar configuration
-low-level keyword-to-mark functionality
+commit b4581c40f8cb47f32d1102589b005d5435e9e297
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sat Feb 28 09:59:27 2009 +0000
-------------------------------------------------------------------------
-r1316 | nadvornik | 2008-12-25 13:19:37 +0100 (Thu, 25 Dec 2008) | 2 lines
+ create toolbar from ui_manager
-perform internal commands in idle call
+commit b24487aa1f5704a788a8f77782edf40850878a63
+Author: Laurent Monin <geeqie@norz.org>
+Date: Fri Feb 27 23:25:31 2009 +0000
-------------------------------------------------------------------------
-r1315 | nadvornik | 2008-12-23 23:42:57 +0100 (Tue, 23 Dec 2008) | 2 lines
+ Really fix up color profiles options tests. Add an indicator of the embedded color profile when recognized (a * just after sRGB or AdobeRGB compatible).
-allow writing of empty keywords/comment
+commit bc2d1d0836169d7184c7010e9d01d16837cddbf5
+Author: Laurent Monin <geeqie@norz.org>
+Date: Fri Feb 27 22:28:17 2009 +0000
-------------------------------------------------------------------------
-r1314 | nadvornik | 2008-12-23 21:53:44 +0100 (Tue, 23 Dec 2008) | 2 lines
+ Fix up color profiles menu: mark empty entries (but not NULL) as inactive.
-added change notification to bar_info.c
+commit 9c93c4f8a9650ce80206755b524244c878e7b61b
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Fri Feb 27 21:30:28 2009 +0000
-------------------------------------------------------------------------
-r1313 | nadvornik | 2008-12-23 20:15:12 +0100 (Tue, 23 Dec 2008) | 2 lines
+ compute histmap in idle callback and only if the histogram is expanded
-improved buffering and notifications
+commit 526bf4edfddf1c63e583a2bf735a4614c55b314b
+Author: Laurent Monin <geeqie@norz.org>
+Date: Thu Feb 26 21:46:27 2009 +0000
-------------------------------------------------------------------------
-r1312 | nadvornik | 2008-12-23 20:13:48 +0100 (Tue, 23 Dec 2008) | 3 lines
+ Add a tooltip showing current histogram state on bar histogram.
-write changes immediately, the necessary buffering is done on lower
-level in metadata.c
+commit 66b325900212d630b208e1747280767783f01cb9
+Author: Laurent Monin <geeqie@norz.org>
+Date: Thu Feb 26 20:50:36 2009 +0000
-------------------------------------------------------------------------
-r1311 | nadvornik | 2008-12-23 00:25:15 +0100 (Tue, 23 Dec 2008) | 2 lines
+ Clean up histogram stuff: options saving/restoring, osd histogram separation, tidy up.
-file class made configurable in preferences
+commit 3b4446591720a17e3f0856fc290f85b84a303d12
+Author: Laurent Monin <geeqie@norz.org>
+Date: Thu Feb 26 17:34:14 2009 +0000
-------------------------------------------------------------------------
-r1310 | zas_ | 2008-12-22 20:43:46 +0100 (Mon, 22 Dec 2008) | 1 line
+ Add .bak and .mo extensions to svn:ignore.
-French translation was updated.
-------------------------------------------------------------------------
-r1309 | nadvornik | 2008-12-22 19:29:25 +0100 (Mon, 22 Dec 2008) | 2 lines
+commit 84a6a75d10d4aaa99aaa0b9c5e2ded8a2b26f4da
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Thu Feb 26 08:04:52 2009 +0000
-write metadata after timeout, image change or dir change
+ quoted_value is no longer needed
-------------------------------------------------------------------------
-r1308 | nadvornik | 2008-12-22 19:15:26 +0100 (Mon, 22 Dec 2008) | 2 lines
+commit cffe654128aa1230d98c36f6cc48524d87ab6b69
+Author: Laurent Monin <geeqie@norz.org>
+Date: Wed Feb 25 23:04:08 2009 +0000
-show metadata options in preferences dialog
+ Silent a minor warning.
-------------------------------------------------------------------------
-r1307 | nadvornik | 2008-12-21 22:36:58 +0100 (Sun, 21 Dec 2008) | 2 lines
+commit 5651cebff9468fa7cb1275476eea0ccd482cb8df
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Wed Feb 25 21:09:17 2009 +0000
-fixed safe delete
+ correctly save and restore overlay string
-------------------------------------------------------------------------
-r1306 | nadvornik | 2008-12-21 22:20:36 +0100 (Sun, 21 Dec 2008) | 2 lines
+commit d7b78d9173ebe6d4692dad061a4afe30325d3e23
+Author: Laurent Monin <geeqie@norz.org>
+Date: Wed Feb 25 20:54:38 2009 +0000
-most of the metadata options now works
+ Save bar pane histogram state to rc file.
-------------------------------------------------------------------------
-r1305 | nadvornik | 2008-12-21 17:26:03 +0100 (Sun, 21 Dec 2008) | 2 lines
+commit fddb6eb6775e4f70b70cb5373508b0bcb9ed5a04
+Author: Laurent Monin <geeqie@norz.org>
+Date: Wed Feb 25 20:42:35 2009 +0000
-fixed new options
+ Fix up bar pane histogram contextual menu: show current state for channel and log mode.
-------------------------------------------------------------------------
-r1304 | zas_ | 2008-12-21 10:28:16 +0100 (Sun, 21 Dec 2008) | 1 line
+commit 4d85c50b6c73874d441f834a9d52f8319082c3e8
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Wed Feb 25 19:46:03 2009 +0000
-French translation was updated.
-------------------------------------------------------------------------
-r1303 | nadvornik | 2008-12-21 00:18:20 +0100 (Sun, 21 Dec 2008) | 2 lines
+ reuse original utility_box (image + sidebars) on layout change (switch
+ from list to icon view etc.)
-added options for metadata - not yet used
+commit f9a9bffc314cd4b1cd5229896286666766f020ca
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Wed Feb 25 18:21:20 2009 +0000
-------------------------------------------------------------------------
-r1302 | zas_ | 2008-12-20 22:47:04 +0100 (Sat, 20 Dec 2008) | 1 line
+ fixed filter initialization
-Fix two minor compilation warnings.
-------------------------------------------------------------------------
-r1301 | zas_ | 2008-12-20 22:30:27 +0100 (Sat, 20 Dec 2008) | 1 line
+commit b3477302e22f00d62a4f7f9a7ce5a1f8d6a7a142
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Tue Feb 24 22:21:28 2009 +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.
-------------------------------------------------------------------------
-r1300 | nadvornik | 2008-12-20 21:43:56 +0100 (Sat, 20 Dec 2008) | 3 lines
+ improved bar_sort configuration
-use the workflow in utilops.c for metadata approving and writting
-TODO: configuration
+commit da109aa01657b27c22a18bc74bff56e4dae89298
+Author: Laurent Monin <geeqie@norz.org>
+Date: Tue Feb 24 21:08:16 2009 +0000
-------------------------------------------------------------------------
-r1299 | nadvornik | 2008-12-16 13:59:23 +0100 (Tue, 16 Dec 2008) | 2 lines
+ Add a contextual menu on bar pane histogram allowing to change channels and mode. More work needed.
-queue metadata and write them in an idle callback
+commit e84b67aadcdc1ea32b2c53e6b4a2d6a369f51951
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Tue Feb 24 20:47:38 2009 +0000
-------------------------------------------------------------------------
-r1298 | nadvornik | 2008-12-15 23:47:31 +0100 (Mon, 15 Dec 2008) | 5 lines
+ fixed --fullscreen option together with enabled bar
-prepared infrastructure for delayed metadata writting - refreshing
-metadata immediately before writting is now possible
+commit 5da3477f9b116d0482737510423e5de949f8a0d4
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Tue Feb 24 20:34:39 2009 +0000
-modified metadata are stored in fd->modified_xmp
+ simplified and improved bar configuration
-------------------------------------------------------------------------
-r1297 | zas_ | 2008-12-15 19:04:42 +0100 (Mon, 15 Dec 2008) | 1 line
+commit f215252861f96b1b924b93178a406e2ec7bb6ca2
+Author: Laurent Monin <geeqie@norz.org>
+Date: Tue Feb 24 18:00:45 2009 +0000
-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
+ Enclose macro parameters names with _ to differentiate them from variable names.
-French translation was updated.
-------------------------------------------------------------------------
-r1295 | zas_ | 2008-12-09 18:51:28 +0100 (Tue, 09 Dec 2008) | 1 line
+commit a8df53630e1632e65318a1b397ea1a275f4817e5
+Author: Laurent Monin <geeqie@norz.org>
+Date: Tue Feb 24 17:47:45 2009 +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.
-------------------------------------------------------------------------
-r1294 | zas_ | 2008-12-08 22:34:32 +0100 (Mon, 08 Dec 2008) | 1 line
+ 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).
-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
+commit 1bef8f7ea39aa7652ded34fd2baaa3bf6c28e69d
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Mon Feb 23 22:13:09 2009 +0000
-Cosmetic fix.
-------------------------------------------------------------------------
-r1292 | zas_ | 2008-12-07 16:51:50 +0100 (Sun, 07 Dec 2008) | 1 line
+ simplified config writing
-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
+commit c2b4bce2393c142785ac7cef5095a5c06348073b
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Mon Feb 23 21:21:15 2009 +0000
-handle the case when io.open() fails
+ enabled commandline again
-------------------------------------------------------------------------
-r1290 | nadvornik | 2008-12-06 22:24:38 +0100 (Sat, 06 Dec 2008) | 4 lines
+commit 778dcd703998a9d37ea6562228e971827a25044f
+Author: Laurent Monin <geeqie@norz.org>
+Date: Mon Feb 23 17:20:40 2009 +0000
-disabled the "unused parameter" warnings, they are harmless and nobody
-is going to fix it ;)
-(note: -W is equivalent to -Wextra)
+ Introduce helpers histogram_toggle_channel() and histogram_toggle_mode().
-------------------------------------------------------------------------
-r1289 | zas_ | 2008-12-02 20:34:53 +0100 (Tue, 02 Dec 2008) | 1 line
+commit 4b96dffd2f791d4f99a407da3a11cbeede9f5b2c
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sun Feb 22 17:46:42 2009 +0000
-Rename few variables to make the code more readable.
-------------------------------------------------------------------------
-r1288 | zas_ | 2008-11-30 22:59:28 +0100 (Sun, 30 Nov 2008) | 1 line
+ Set svn:ignore on Makefile and Makefile.in.
-keyword_list_find() -> find_string_in_list(), return gboolean.
-------------------------------------------------------------------------
-r1287 | zas_ | 2008-11-30 22:52:37 +0100 (Sun, 30 Nov 2008) | 1 line
+commit 6be7a5d9435cd61876ec2585d19e6fc4208eb66d
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sun Feb 22 17:40:32 2009 +0000
-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
+ Fix and simplify histogram code, drop histogram based on mean value.
-Rename most comment_*() functions to more appropriate metadata_*().
-------------------------------------------------------------------------
-r1285 | zas_ | 2008-11-30 12:46:34 +0100 (Sun, 30 Nov 2008) | 1 line
+commit 9e9712735fb1522f4f081a9e38c38c4d91a09c51
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sun Feb 22 15:35:37 2009 +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().
-------------------------------------------------------------------------
-r1284 | zas_ | 2008-11-27 20:10:59 +0100 (Thu, 27 Nov 2008) | 1 line
+ config file format changed to XML
+ save and restore all layout windows
+ save and restore sidebar configuration
-Do not hardcode exif formatted prefix.
-------------------------------------------------------------------------
-r1283 | zas_ | 2008-11-27 13:34:39 +0100 (Thu, 27 Nov 2008) | 1 line
+commit 179b485a4439fb2e102195fde5b2366a24c5a927
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sun Feb 22 13:29:49 2009 +0000
-Fix up sign-related warning.
-------------------------------------------------------------------------
-r1282 | zas_ | 2008-11-27 13:34:03 +0100 (Thu, 27 Nov 2008) | 1 line
+ Attempt to simplify and fix histrogram code.
-Fix up unsigned expression always true warning.
-------------------------------------------------------------------------
-r1281 | zas_ | 2008-11-27 13:33:07 +0100 (Thu, 27 Nov 2008) | 1 line
+commit c6d4606fb8929b3c6596292a9eae836167729bf8
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sat Feb 21 20:43:35 2009 +0000
-Resync .h with .c declarations.
-------------------------------------------------------------------------
-r1280 | zas_ | 2008-11-27 13:31:27 +0100 (Thu, 27 Nov 2008) | 1 line
+ Glibification again.
-Fix up pointer signedness warnings.
-------------------------------------------------------------------------
-r1279 | zas_ | 2008-11-27 13:30:49 +0100 (Thu, 27 Nov 2008) | 1 line
+commit 2c9c37c9649ad80e04e14230eebd6584e7de7e8d
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sat Feb 21 18:28:53 2009 +0000
-Fix up not a prototype warning.
-------------------------------------------------------------------------
-r1278 | zas_ | 2008-11-27 13:30:10 +0100 (Thu, 27 Nov 2008) | 1 line
+ French translation was updated.
-Remove unused variable.
-------------------------------------------------------------------------
-r1277 | zas_ | 2008-11-27 13:29:38 +0100 (Thu, 27 Nov 2008) | 1 line
+commit 4a596674619d5addc6a223fe2be2093c06622a2d
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sat Feb 21 18:04:52 2009 +0000
-Fix up deprecated function and not a prototype warnings.
-------------------------------------------------------------------------
-r1276 | zas_ | 2008-11-26 21:39:50 +0100 (Wed, 26 Nov 2008) | 1 line
+ Glibification.
-Handle return values better to silent some warnings.
-------------------------------------------------------------------------
-r1275 | zas_ | 2008-11-26 21:38:47 +0100 (Wed, 26 Nov 2008) | 1 line
+commit 144433d8a9eaa43184c844b76665c91fe21f1c07
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sat Feb 21 10:53:18 2009 +0000
-Print a message if chown() or chmod() fail.
-------------------------------------------------------------------------
-r1274 | zas_ | 2008-11-26 21:37:14 +0100 (Wed, 26 Nov 2008) | 1 line
+ Move grid color setting to histogram_new().
-Fix up format vs type warning.
-------------------------------------------------------------------------
-r1273 | zas_ | 2008-11-25 18:32:51 +0100 (Tue, 25 Nov 2008) | 1 line
+commit 80547e648cc21fefb1e91f869d90c2ea719a9f6d
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sat Feb 21 10:33:56 2009 +0000
-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
+ Remove histogram_ prefix from struct _Histogram fields names and rename them more properly.
-Fix up unsigned expression always true/false warnings.
-------------------------------------------------------------------------
-r1271 | zas_ | 2008-11-23 23:05:27 +0100 (Sun, 23 Nov 2008) | 1 line
+commit 0f103e1b6b6ab4017d7f677aaea9120dc015906b
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sat Feb 21 10:29:13 2009 +0000
-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
+ Add grid to bar histogram, simplify the code and draw horizontal lines too.
-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
+commit 6b0883bae0f9124a6dcc8fcdd87ab24643a85d2f
+Author: Laurent Monin <geeqie@norz.org>
+Date: Thu Feb 19 17:36:38 2009 +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.
-------------------------------------------------------------------------
-r1268 | zas_ | 2008-11-22 23:54:51 +0100 (Sat, 22 Nov 2008) | 1 line
+ Fix bug 2599857: file list sort order was wrong in many cases.
-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
+commit 263a050716f3c9fdfced1accb4016fcdd11ade19
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Mon Feb 16 22:48:30 2009 +0000
-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
+ fixed compiler warning
-Tidy up.
-------------------------------------------------------------------------
-r1265 | zas_ | 2008-11-22 23:04:21 +0100 (Sat, 22 Nov 2008) | 1 line
+commit 8422a0c8bd17c3ef09de058a7433e606124524b7
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Mon Feb 16 21:01:27 2009 +0000
-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
+ hopefully fixed a freeze on solaris
-layout_image_setup_split_*(): simplify code.
-------------------------------------------------------------------------
-r1263 | zas_ | 2008-11-22 22:11:09 +0100 (Sat, 22 Nov 2008) | 1 line
+commit 243a78132e93b3fa27efc6cc3ca46d58bad06b25
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sun Feb 15 19:25:55 2009 +0000
-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
+ added histogram pane
-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
+commit a1385820cdb789c96a38b709f7b981725f81bdd1
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sun Feb 15 17:27:48 2009 +0000
-Force font weight and style to normal for keys.
-------------------------------------------------------------------------
-r1260 | zas_ | 2008-11-20 18:23:46 +0100 (Thu, 20 Nov 2008) | 1 line
+ fixed histogram drawing
-Fix up yet unmarked keys.
-------------------------------------------------------------------------
-r1259 | zas_ | 2008-11-20 12:46:43 +0100 (Thu, 20 Nov 2008) | 1 line
+commit 63da7df8b6994ba78db433c8d13513967f54b324
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sun Feb 15 15:58:01 2009 +0000
-Fix compilation warnings.
-------------------------------------------------------------------------
-r1258 | zas_ | 2008-11-20 08:22:56 +0100 (Thu, 20 Nov 2008) | 1 line
+ Remove redundant line of code.
-Fix up some missing html code.
-------------------------------------------------------------------------
-r1257 | zas_ | 2008-11-19 23:57:40 +0100 (Wed, 19 Nov 2008) | 1 line
+commit a38c15108e52207831b08be4461b49f0d09926d3
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sun Feb 15 15:56:48 2009 +0000
-More keys.
-------------------------------------------------------------------------
-r1256 | zas_ | 2008-11-19 23:46:27 +0100 (Wed, 19 Nov 2008) | 1 line
+ Fix up few compilation warnings.
-Fix text wrongly marked as key.
-------------------------------------------------------------------------
-r1255 | zas_ | 2008-11-19 23:42:20 +0100 (Wed, 19 Nov 2008) | 1 line
+commit a660cd93f81e921141fc7ddb57188c6c23d211c9
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sun Feb 15 13:11:21 2009 +0000
-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
+ histogram caching
+ histogram interface prepared for histogram pane
-Replace [Control] by shorter and more common [Ctrl].
-------------------------------------------------------------------------
-r1253 | zas_ | 2008-11-19 22:16:27 +0100 (Wed, 19 Nov 2008) | 1 line
+commit c5ead176be15971b27d90d0656b8fc26fa9eca17
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sun Feb 15 09:36:53 2009 +0000
-Unify [Shift] and [Control] notation.
-------------------------------------------------------------------------
-r1252 | zas_ | 2008-11-19 21:53:53 +0100 (Wed, 19 Nov 2008) | 1 line
+ separated "normal" and advanced exif, "Normal" exif is now in the
+ generic bar, advanced exif is in separate window.
-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
+commit a6fb79a9aee3b16eadd450cfcd261f0d3fe9bd9d
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sat Feb 14 20:26:30 2009 +0000
-Update documentation.
-------------------------------------------------------------------------
-r1250 | zas_ | 2008-11-17 19:05:42 +0100 (Mon, 17 Nov 2008) | 1 line
+ droped Preferences dialog, sidebar should replace it completely
-Fix up links and various enhancements.
-------------------------------------------------------------------------
-r1249 | zas_ | 2008-11-17 18:17:47 +0100 (Mon, 17 Nov 2008) | 1 line
+commit ab0cc44129df43dc4bc0d0ec0e95e187a739f32c
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sat Feb 14 19:50:54 2009 +0000
-Remove colored background in headings for printable version.
-------------------------------------------------------------------------
-r1248 | zas_ | 2008-11-17 18:09:44 +0100 (Mon, 17 Nov 2008) | 1 line
+ replaced bar_info with an universal bar, restored the original
+ functionality (more or less)
+ bar configuration is not yet saved
-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
+commit 310a646e67ba0c32c2384f553eecf512e283684d
+Author: Laurent Monin <geeqie@norz.org>
+Date: Mon Feb 9 09:02:04 2009 +0000
-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
+ Update ChangeLog using C locale date format, add a script to ease future updates.
-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
+commit b4f63e5e882b065ea834bd1e99081306284480c2
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sat Feb 7 21:03:11 2009 +0000
-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
+ 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)
-Implement preliminary support for XDG Base Directory Specification.
-See http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html.
+commit 22f5a68f75212287ff3924432df1902bec16feba
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sat Feb 7 19:01:21 2009 +0000
-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.
+ 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
-geeqierc and other conf files are going to:
-$XDG_CONFIG_HOME/geeqie/ (default to $HOME/.config/geeqie/).
+commit 9c04cb142531b3c5b31be148a40405a1ea103a53
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Fri Feb 6 23:49:03 2009 +0000
-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/)
+ Start with "Fit to window" in "Leave Zoom at previous setting" mode
-collections are going to:
-$XDG_DATA_HOME/geeqie/collections/ (default to $HOME/.local/share/geeqie/collections/)
+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
-Please test and report any issue.
+commit 4e7f0d2a4ffcefeeacce220761a905cd105b75e2
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Fri Feb 6 22:41:47 2009 +0000
+ improved labels of some menu items
-------------------------------------------------------------------------
-r1243 | zas_ | 2008-11-15 21:01:25 +0100 (Sat, 15 Nov 2008) | 1 line
+commit 11a4cc2074aa9544a906434f40eda2b27d6ef5c1
+Author: Laurent Monin <geeqie@norz.org>
+Date: Wed Feb 4 17:15:30 2009 +0000
-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
+ Add year 2009 to copyright info everywhere.
-fixed usage of deprecated functions - patch by Omari Stephens
+commit db594bb6a56da7a25d58a3b2ec51f67bc4d0db49
+Author: Laurent Monin <geeqie@norz.org>
+Date: Wed Feb 4 16:50:24 2009 +0000
-------------------------------------------------------------------------
-r1241 | zas_ | 2008-11-15 18:48:31 +0100 (Sat, 15 Nov 2008) | 1 line
+ Fix up the copyright years info.
-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
+commit 16d8352b142b869d37d9d88f6f7b649ba9b6ba58
+Author: Laurent Monin <geeqie@norz.org>
+Date: Wed Feb 4 16:49:11 2009 +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()
+ Update README header.
-They return the full directory path.
+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.
-------------------------------------------------------------------------
-r1239 | zas_ | 2008-11-15 11:35:43 +0100 (Sat, 15 Nov 2008) | 1 line
+commit 474d7e891184d4e5a09486b6ccbd777617d416eb
+Author: Laurent Monin <geeqie@norz.org>
+Date: Wed Feb 4 14:51:23 2009 +0000
-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
+ Do not show geeqie itself in editors menus.
-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
+commit b93be6e123e894cf75fe9c5d89b1fe09ddacd639
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Tue Feb 3 18:04:10 2009 +0000
-Fix a cut'n'paste error.
-------------------------------------------------------------------------
-r1236 | zas_ | 2008-11-12 22:34:55 +0100 (Wed, 12 Nov 2008) | 1 line
+ do not translate already translated texts from desktop files
-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
+commit e03f199569195e75d937d21f9d982d0c7d5de119
+Author: Laurent Monin <geeqie@norz.org>
+Date: Tue Feb 3 13:52:20 2009 +0000
-Add some information about the pan view.
-------------------------------------------------------------------------
-r1234 | zas_ | 2008-11-12 18:59:14 +0100 (Wed, 12 Nov 2008) | 1 line
+ Add support for NoDisplay (entry is then hidden) and Type (only Application type is valid here) keys.
-Add a note about splitted view.
-------------------------------------------------------------------------
-r1233 | zas_ | 2008-11-12 18:48:16 +0100 (Wed, 12 Nov 2008) | 1 line
+commit 7da00ede6e5a0c460b7bba6f0ce3f2f8767b3a4a
+Author: Laurent Monin <geeqie@norz.org>
+Date: Tue Feb 3 13:50:10 2009 +0000
-Add Connected zoom and Split menu items.
-------------------------------------------------------------------------
-r1232 | zas_ | 2008-11-12 00:35:39 +0100 (Wed, 12 Nov 2008) | 1 line
+ Reorder fields a bit and make flags field unsigned.
-Add missing s...
-------------------------------------------------------------------------
-r1231 | zas_ | 2008-11-12 00:30:13 +0100 (Wed, 12 Nov 2008) | 1 line
+commit 27e3c8d9b272241d6e1e73c691df6ea2f61b4424
+Author: Laurent Monin <geeqie@norz.org>
+Date: Tue Feb 3 08:41:21 2009 +0000
-Minor fixes.
-------------------------------------------------------------------------
-r1230 | zas_ | 2008-11-11 22:50:42 +0100 (Tue, 11 Nov 2008) | 1 line
+ editor_list_get() now returns a sorted list, this way items appear in the same order in all menus.
-Give a new style to menus.
-------------------------------------------------------------------------
-r1229 | zas_ | 2008-11-11 22:49:33 +0100 (Tue, 11 Nov 2008) | 1 line
+commit 413722a5800f7f895e5068f0aec1441d13af5d4e
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Mon Feb 2 20:32:59 2009 +0000
-Fix missing parts.
-------------------------------------------------------------------------
-r1228 | zas_ | 2008-11-11 22:17:55 +0100 (Tue, 11 Nov 2008) | 1 line
+ improved placing of external commands in menu
+ small menu improvements
-Update main window menus description to match current Geeqie.
-------------------------------------------------------------------------
-r1227 | zas_ | 2008-11-11 22:17:03 +0100 (Tue, 11 Nov 2008) | 1 line
+commit ebfc5ad707b2a261dadc47508aed872d2e83460c
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sun Feb 1 22:35:40 2009 +0000
-Drop dots.
-------------------------------------------------------------------------
-r1226 | zas_ | 2008-11-11 11:32:03 +0100 (Tue, 11 Nov 2008) | 1 line
+ test TryExec,
+ xdg_data_home added to the list of directories
-Update exif pane documentation a bit.
-------------------------------------------------------------------------
-r1225 | zas_ | 2008-11-11 11:24:04 +0100 (Tue, 11 Nov 2008) | 1 line
+commit ace63c487142b18a548b95d76f8056de0bead19d
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sun Feb 1 18:27:42 2009 +0000
-Add Properties Options page.
-------------------------------------------------------------------------
-r1224 | zas_ | 2008-11-11 11:09:09 +0100 (Tue, 11 Nov 2008) | 1 line
+ fixed switch from single to split image
-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
+commit f94b569b1831c052099295c861f9d3f502072622
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sun Feb 1 12:48:14 2009 +0000
-More updates to advanced options documentation. Not yet finished.
-------------------------------------------------------------------------
-r1222 | zas_ | 2008-11-11 00:36:12 +0100 (Tue, 11 Nov 2008) | 1 line
+ read external editors from .desktop files
-Page cleanup and fixed. Remove obsolete note.
-------------------------------------------------------------------------
-r1221 | zas_ | 2008-11-11 00:15:42 +0100 (Tue, 11 Nov 2008) | 1 line
+commit ff084f550845b0467a6202d62a7447940a4ea667
+Author: Laurent Monin <geeqie@norz.org>
+Date: Thu Jan 29 19:43:34 2009 +0000
-Add missing link.
-------------------------------------------------------------------------
-r1220 | zas_ | 2008-11-11 00:05:50 +0100 (Tue, 11 Nov 2008) | 1 line
+ Sort the list alphabetically and remove an empty 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
+commit 7532aed8f8f0bc89f1c5a2c742bc9021e5f8bbfc
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Thu Jan 29 19:23:39 2009 +0000
-Let subsection menus match index style.
-------------------------------------------------------------------------
-r1218 | zas_ | 2008-11-10 22:14:34 +0100 (Mon, 10 Nov 2008) | 1 line
+ switched to po/LINGUAS, see http://live.gnome.org/GnomeGoals/PoLinguas
+ (new glib-gettextize does not support the old method)
-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
+commit 77a9142b41ec6a5d9cac6d35c2a0c9d41052e147
+Author: Laurent Monin <geeqie@norz.org>
+Date: Thu Jan 29 19:07:07 2009 +0000
-Tidy up.
-------------------------------------------------------------------------
-r1216 | zas_ | 2008-11-10 21:40:50 +0100 (Mon, 10 Nov 2008) | 1 line
+ gint -> gboolean.
-Move from xhtml transitional to xhtml strict.
-------------------------------------------------------------------------
-r1215 | zas_ | 2008-11-10 21:16:45 +0100 (Mon, 10 Nov 2008) | 1 line
+commit 2e3dc8c8f14d75abb400c32a4c619e79bb371d77
+Author: Laurent Monin <geeqie@norz.org>
+Date: Thu Jan 29 19:00:24 2009 +0000
-Minor cleanup.
-------------------------------------------------------------------------
-r1214 | zas_ | 2008-11-10 20:37:17 +0100 (Mon, 10 Nov 2008) | 1 line
+ Invert Horizontally vs vertically zoom fit, it was a TRUE/FALSE mismatch, reported by Christopher Beland.
-Tidy up and minor fixes.
-------------------------------------------------------------------------
-r1213 | zas_ | 2008-11-10 19:02:09 +0100 (Mon, 10 Nov 2008) | 1 line
+commit ab98857be805f6bd9891d57506038e651dc81dde
+Author: Laurent Monin <geeqie@norz.org>
+Date: Thu Jan 29 18:52:52 2009 +0000
-Notes cleanup and minor stylistic fixes.
-------------------------------------------------------------------------
-r1212 | zas_ | 2008-11-10 18:16:16 +0100 (Mon, 10 Nov 2008) | 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.
-Various fixes and cleanup.
-------------------------------------------------------------------------
-r1211 | zas_ | 2008-11-10 17:11:28 +0100 (Mon, 10 Nov 2008) | 1 line
+commit 96c8762cd141c1fca795e203a96307c80580d7f4
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Thu Jan 29 18:05:41 2009 +0000
-Fix up some errors.
-------------------------------------------------------------------------
-r1210 | zas_ | 2008-11-10 16:20:13 +0100 (Mon, 10 Nov 2008) | 1 line
+ added SIGBUS handler
-Fix up unvalid xhtml.
-------------------------------------------------------------------------
-r1209 | zas_ | 2008-11-10 15:56:11 +0100 (Mon, 10 Nov 2008) | 1 line
+commit 788b066dec51f6c89b63569de9f19fa8c781c3f4
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Mon Jan 26 21:08:05 2009 +0000
-Fix up a broken link.
-------------------------------------------------------------------------
-r1208 | zas_ | 2008-11-10 15:10:39 +0100 (Mon, 10 Nov 2008) | 1 line
+ fixed compilation with lirc
-Beautify the manual.
-------------------------------------------------------------------------
-r1207 | zas_ | 2008-11-10 14:00:29 +0100 (Mon, 10 Nov 2008) | 1 line
+commit c93ae602d0b44dc87e2ee104df5634c6eec44a92
+Author: Laurent Monin <geeqie@norz.org>
+Date: Mon Jan 26 14:59:49 2009 +0000
-Reformat more pages.
-------------------------------------------------------------------------
-r1206 | zas_ | 2008-11-10 13:06:05 +0100 (Mon, 10 Nov 2008) | 1 line
+ Silent two minor warnings: GtkSelectionData data field is guchar* while g_strndup() wants gchar * as first parameter.
-Reformat remaining options pages.
-------------------------------------------------------------------------
-r1205 | zas_ | 2008-11-10 11:26:51 +0100 (Mon, 10 Nov 2008) | 1 line
+commit 4b69e1199fe33fa8d904b21a2ba3cc85f7b59e81
+Author: Laurent Monin <geeqie@norz.org>
+Date: Mon Jan 26 14:50:56 2009 +0000
-Reformatting: notes, advanced options page and more.
-------------------------------------------------------------------------
-r1204 | zas_ | 2008-11-09 22:53:33 +0100 (Sun, 09 Nov 2008) | 1 line
+ Remove --enable-compile-warnings from autogen.sh, it was passed to configure which knows nothing about this option.
-Reformatting.
-------------------------------------------------------------------------
-r1203 | zas_ | 2008-11-09 18:17:19 +0100 (Sun, 09 Nov 2008) | 1 line
+commit b68add2c1c1fd4f1d389fe0490986ffffd34302c
+Author: Laurent Monin <geeqie@norz.org>
+Date: Mon Jan 26 14:49:09 2009 +0000
-Reformat and cleanup.
-------------------------------------------------------------------------
-r1202 | zas_ | 2008-11-09 14:37:39 +0100 (Sun, 09 Nov 2008) | 1 line
+ Move -Wall before -Wno-* options for them to have any effect.
-More cleanup of tables.
-------------------------------------------------------------------------
-r1201 | zas_ | 2008-11-09 14:06:16 +0100 (Sun, 09 Nov 2008) | 1 line
+commit 47ed193a2a19fa34afc8c473353c66b5ea194f8e
+Author: Laurent Monin <geeqie@norz.org>
+Date: Mon Jan 26 14:18:08 2009 +0000
-Cleanup some tables.
-------------------------------------------------------------------------
-r1200 | zas_ | 2008-11-09 13:48:00 +0100 (Sun, 09 Nov 2008) | 1 line
+ Keep -O0 over -O2 as requested by Vladimir.
-Drop most old css classes.
-------------------------------------------------------------------------
-r1199 | zas_ | 2008-11-09 10:39:14 +0100 (Sun, 09 Nov 2008) | 1 line
+commit 4fcae73e00ff93c457770fbd05555e8e84122d7a
+Author: Laurent Monin <geeqie@norz.org>
+Date: Mon Jan 26 08:36:23 2009 +0000
-Move dialog descriptions to definitions lists, first step.
-------------------------------------------------------------------------
-r1198 | zas_ | 2008-11-09 10:33:01 +0100 (Sun, 09 Nov 2008) | 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).
-Index cleanup.
-------------------------------------------------------------------------
-r1197 | zas_ | 2008-11-09 10:28:59 +0100 (Sun, 09 Nov 2008) | 1 line
+commit a24c1c60db9cca6a849920f8a7301530683d97ef
+Author: Laurent Monin <geeqie@norz.org>
+Date: Mon Jan 26 08:30:30 2009 +0000
-Move menu descriptions to definitions lists.
-------------------------------------------------------------------------
-r1196 | zas_ | 2008-11-08 23:11:51 +0100 (Sat, 08 Nov 2008) | 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.
-Re-introduce Geeqie User Manual footer.
-------------------------------------------------------------------------
-r1195 | zas_ | 2008-11-08 18:38:36 +0100 (Sat, 08 Nov 2008) | 1 line
+commit d80efe42eeb8d6af994245d0cf837d20eb852575
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sun Jan 25 19:38:31 2009 +0000
-Simplify bottom navigation table.
-------------------------------------------------------------------------
-r1194 | zas_ | 2008-11-08 18:24:02 +0100 (Sat, 08 Nov 2008) | 1 line
+ added the original COPYING file from GQview - we can't rely on autogen.sh
-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
+commit ebd61f57fe603dbedec50c2953e51c6522593cd6
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sun Jan 25 18:14:08 2009 +0000
-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
+ updated ChangeLog from svn log
-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
+commit 7debdfe9253260f5e855addd9daf389b59c20e1c
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sun Jan 25 16:58:19 2009 +0000
-Add style.css to list of files to install.
-------------------------------------------------------------------------
-r1190 | zas_ | 2008-11-08 11:47:31 +0100 (Sat, 08 Nov 2008) | 1 line
+ fixed gthread detection
-Move css styles to an external stylesheet.
-------------------------------------------------------------------------
-r1189 | zas_ | 2008-11-07 00:49:31 +0100 (Fri, 07 Nov 2008) | 1 line
+commit 66c057940975c76fcecaffab9e756b5f9306219d
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sun Jan 25 09:27:27 2009 +0000
-Remove reference to numbered section.
-------------------------------------------------------------------------
-r1188 | zas_ | 2008-11-07 00:43:46 +0100 (Fri, 07 Nov 2008) | 1 line
+ do not ignore newly created sidecars
-Remove references to numbered sections.
-------------------------------------------------------------------------
-r1187 | zas_ | 2008-11-07 00:39:22 +0100 (Fri, 07 Nov 2008) | 1 line
+commit ad9ac9d145e0e7df96118c66ee6dec927ebed702
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sat Jan 24 13:46:08 2009 +0000
-Simplify the table.
-------------------------------------------------------------------------
-r1186 | zas_ | 2008-11-06 21:01:32 +0100 (Thu, 06 Nov 2008) | 10 lines
+ adjusted marks spacing to align them with the marks filter
-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.
+commit 0074b6e5de0f19720985594a1a2b32114ec24204
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sat Jan 24 13:38:53 2009 +0000
-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.
+ Fix incorrect translation.
-Patch by Omari Stephens (aka xsdg).
+commit 5d7594d2acdccc19228350eddd1ab29aad990874
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sat Jan 24 13:05:06 2009 +0000
-------------------------------------------------------------------------
-r1185 | zas_ | 2008-11-04 18:26:46 +0100 (Tue, 04 Nov 2008) | 1 line
+ 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
-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
+commit fce85c3c86d56b122babaf26952cae937a3b61b9
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sat Jan 24 12:15:01 2009 +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.
-------------------------------------------------------------------------
-r1183 | zas_ | 2008-10-27 14:31:39 +0100 (Mon, 27 Oct 2008) | 1 line
+ fixed glib warning
-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
+commit 674b05efb895ed75533c07e74147082cf630e9cc
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sat Jan 24 10:09:29 2009 +0000
-Use h2/h3 tags where appropriate.
-------------------------------------------------------------------------
-r1181 | bruclik | 2008-10-26 14:43:10 +0100 (Sun, 26 Oct 2008) | 2 lines
+ updated version string
-Fixed doc/Makefile.am according to renamed doc files.
+commit f9d7107581b3391183465454de6557de0abf7c98
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sat Jan 24 07:41:23 2009 +0000
-------------------------------------------------------------------------
-r1180 | zas_ | 2008-10-25 16:42:52 +0200 (Sat, 25 Oct 2008) | 1 line
+ Silent two compilation warnings.
-Keyboard table cleanup attempt. Need more work.
-------------------------------------------------------------------------
-r1179 | zas_ | 2008-10-25 15:14:00 +0200 (Sat, 25 Oct 2008) | 1 line
+commit 0c44dc1f02b5515cffe2bcc20f54e2d57208a916
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sat Jan 24 07:36:21 2009 +0000
-Move menus to unordered lists - step 2.
-------------------------------------------------------------------------
-r1178 | zas_ | 2008-10-25 13:02:09 +0200 (Sat, 25 Oct 2008) | 1 line
+ French translation was updated.
-Move menus to unordered lists - step 1.
-------------------------------------------------------------------------
-r1177 | zas_ | 2008-10-25 10:49:07 +0200 (Sat, 25 Oct 2008) | 1 line
+commit 3928a6a6e59e900f2d1343ed3aef01b5c86ac337
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Fri Jan 23 22:53:02 2009 +0000
-Align Previous to the left, drop useless col tags.
-------------------------------------------------------------------------
-r1176 | zas_ | 2008-10-25 10:14:34 +0200 (Sat, 25 Oct 2008) | 1 line
+ fixed possible crash
-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
+commit aadb9ca7ccde3464cf0ae80a7985e25227279c70
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Wed Jan 21 18:30:54 2009 +0000
-Fix page titles.
-------------------------------------------------------------------------
-r1174 | zas_ | 2008-10-25 10:07:57 +0200 (Sat, 25 Oct 2008) | 1 line
+ enable threads by default
-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
+commit 0e1a79d60922a6aa11288531218a919774b29d5d
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Wed Jan 21 18:16:26 2009 +0000
-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
+ compilation fixes for older exiv2
-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
+commit e3086ee765ba371f1d6774d869d1ec7ba1f37590
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Tue Jan 20 22:53:09 2009 +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).
-------------------------------------------------------------------------
-r1170 | zas_ | 2008-10-23 20:06:28 +0200 (Thu, 23 Oct 2008) | 1 line
+ improved metadata preferences
-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
+commit 9d97c970f5f8dc30842c0672cb1ccf5ce8929681
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Tue Jan 20 22:29:31 2009 +0000
-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
+ fixed possible segfault
-Fix a cut and paste error when implementing the comment search (Klaus
-Ethgen)
+commit 6d9a3f1923d1b8741b5b306022722affee5b4873
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sun Jan 11 21:28:03 2009 +0000
-------------------------------------------------------------------------
-r1167 | nadvornik | 2008-10-20 19:13:32 +0200 (Mon, 20 Oct 2008) | 2 lines
+ show symlinks in filelist
-fixed failed assertion in exif_free
+commit 07f76a58add699461ed85263e2bf815f22725e2b
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sun Jan 11 21:24:58 2009 +0000
-------------------------------------------------------------------------
-r1166 | nadvornik | 2008-10-18 22:17:55 +0200 (Sat, 18 Oct 2008) | 2 lines
+ fixed includes
-create xmp sidecar when needed
+commit fa197cca9401a69b158ac956aa7aa333525c770c
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sun Jan 11 18:58:05 2009 +0000
-------------------------------------------------------------------------
-r1165 | nadvornik | 2008-10-18 21:20:27 +0200 (Sat, 18 Oct 2008) | 2 lines
+ added a status bar button for writting metadata immediately
-simple synchronization XMP <-> Exif, IPTC
+commit 9e2559ec2e298ade2632cfcb526a674d18ab3cdf
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sun Jan 11 12:13:30 2009 +0000
-------------------------------------------------------------------------
-r1164 | nadvornik | 2008-10-18 20:22:57 +0200 (Sat, 18 Oct 2008) | 2 lines
+ metadata write mode (direct or sidecar) made configurable for each file
+ format
-infrastructure for preprocessing of metadata
+commit 79003481053d92298710773530b0f1ae7dec54e0
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sat Jan 10 20:40:37 2009 +0000
-------------------------------------------------------------------------
-r1163 | nadvornik | 2008-10-18 11:07:52 +0200 (Sat, 18 Oct 2008) | 2 lines
+ simplified metadata interface, dropped metadata_read,
+ fixes for older exiv2 versions
-fixed bar_exif separator
+commit 36c2beabcd63fb1d96bf6e639d66de24aa2f40d5
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sun Jan 4 17:14:34 2009 +0000
-------------------------------------------------------------------------
-r1162 | nadvornik | 2008-10-18 10:40:32 +0200 (Sat, 18 Oct 2008) | 2 lines
+ 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.
-reordered advanced exif columns
+commit ae1ea297b901d211bf2d2a84e253aecd4712817c
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sun Jan 4 10:32:47 2009 +0000
-------------------------------------------------------------------------
-r1161 | nadvornik | 2008-10-18 10:31:25 +0200 (Sat, 18 Oct 2008) | 2 lines
+ French translation was updated.
-no need to validate description, it is in utf8
+commit 1196bc75946359bfa10099df15c23808baff9a1e
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sat Jan 3 17:13:20 2009 +0000
-------------------------------------------------------------------------
-r1160 | nadvornik | 2008-10-18 00:00:07 +0200 (Sat, 18 Oct 2008) | 4 lines
+ Silent warnings.
-improved custom exif look:
-- use toggle instead of remove button
-- display description instead of property key
+commit 911b41365c783519b075eda51fb6dcd345975d68
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sat Jan 3 15:29:08 2009 +0000
-------------------------------------------------------------------------
-r1159 | nadvornik | 2008-10-14 23:24:34 +0200 (Tue, 14 Oct 2008) | 2 lines
+ write keywords and comments with separate functions
-follow Exiv2 SVN changes
+commit d16e38189ea96d485daed8424a2d1b6a9bcd0f8b
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Fri Jan 2 23:14:01 2009 +0000
-------------------------------------------------------------------------
-r1158 | zas_ | 2008-10-12 10:49:45 +0200 (Sun, 12 Oct 2008) | 1 line
+ fixed updating of selection after deleting the last image from the list
-French translation was updated.
-------------------------------------------------------------------------
-r1157 | zas_ | 2008-10-12 10:43:14 +0200 (Sun, 12 Oct 2008) | 1 line
+commit dc4d041d5397e3a78c335babff70a409d04f3e54
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Fri Jan 2 22:57:09 2009 +0000
-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
+ 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
-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 067cf8e940216c935f818cc0f8f60113d54460c5
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Fri Jan 2 14:58:21 2009 +0000
-------------------------------------------------------------------------
-r1155 | nadvornik | 2008-10-11 22:19:48 +0200 (Sat, 11 Oct 2008) | 6 lines
+ added done callback to utilops
+ used the callback for metadata writting at exit and for renaming new
+ folder
-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 a63548cf3e28b4684281019f7e697df77cff1c3e
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Fri Jan 2 09:39:14 2009 +0000
+ fixed view_dir notification
-------------------------------------------------------------------------
-r1154 | zas_ | 2008-10-07 21:34:11 +0200 (Tue, 07 Oct 2008) | 1 line
+commit e040fa03e86b3dc95810f64b289682834d496010
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Fri Jan 2 09:26:23 2009 +0000
-French translation was updated.
-------------------------------------------------------------------------
-r1153 | zas_ | 2008-10-07 21:29:13 +0200 (Tue, 07 Oct 2008) | 1 line
+ sidecar files grouping was made case-insensitive
+ added possibility to use macros %raw, %image, %meta in extensions lists
-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
+commit 7f75485133bbb12e04fa8bc32936c6240e33f2ba
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sat Dec 27 22:53:07 2008 +0000
-Implement the search for image comment - patch by Klaus Ethgen
+ fixed writting of legacy metadata
-------------------------------------------------------------------------
-r1151 | nadvornik | 2008-10-07 20:22:58 +0200 (Tue, 07 Oct 2008) | 2 lines
+commit c6d5aeb7f792026da1a2fd400a55d57a1ebef8cf
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Fri Dec 26 19:04:36 2008 +0000
-Fixed degree symbol encoding
+ optimized get_mark_func
+ fixed reference counting bug
-------------------------------------------------------------------------
-r1150 | nadvornik | 2008-10-07 20:20:22 +0200 (Tue, 07 Oct 2008) | 2 lines
+commit 88e91c4e066266f68d13df4c4ad59ba279d1293c
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Fri Dec 26 18:54:07 2008 +0000
-Adding a vim modeline to all files - patch by Klaus Ethgen
+ remove cached entries on all changes
-------------------------------------------------------------------------
-r1149 | nadvornik | 2008-10-05 20:25:44 +0200 (Sun, 05 Oct 2008) | 2 lines
+commit 7eeeeb77a09e7f9c4682bb65599e0c56cd757eba
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Fri Dec 26 17:38:52 2008 +0000
-fixed confirm_delete option
+ fixed previous change
-------------------------------------------------------------------------
-r1148 | nadvornik | 2008-10-04 22:28:31 +0200 (Sat, 04 Oct 2008) | 2 lines
+commit ff8b93666eca33f39dea7659a1dbc3af641bef46
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Fri Dec 26 14:12:36 2008 +0000
-fixed charset of exiv2 strings in non-utf8 locales
+ improved sidecar writting
+ private metadata can be saved in xmp format
-------------------------------------------------------------------------
-r1147 | nadvornik | 2008-10-01 22:57:56 +0200 (Wed, 01 Oct 2008) | 2 lines
+commit 0c2e413a220f62599ae49b5cfae99a439345e398
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Thu Dec 25 12:39:34 2008 +0000
-Add support for GPSInfo - patch by Klaus Ethgen
+ implemented a possibility to connect keywords with marks
-------------------------------------------------------------------------
-r1146 | nadvornik | 2008-09-29 23:17:19 +0200 (Mon, 29 Sep 2008) | 4 lines
+commit 2dd4ade4180168ae6dc6d743e6e8d8fa5b5b8a0a
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Thu Dec 25 12:28:04 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
+ low-level keyword-to-mark functionality
-------------------------------------------------------------------------
-r1145 | nadvornik | 2008-09-29 23:09:48 +0200 (Mon, 29 Sep 2008) | 2 lines
+commit 4bf1446de98aefc0904a6b60ba13e30327299dd5
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Thu Dec 25 12:19:37 2008 +0000
-fixes executable right of images
+ perform internal commands in idle call
-------------------------------------------------------------------------
-r1144 | nadvornik | 2008-09-29 23:01:30 +0200 (Mon, 29 Sep 2008) | 2 lines
+commit 31114993628896d4b36c9d361675e0c13b9faaca
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Tue Dec 23 22:42:57 2008 +0000
-enlarge the dupe window - patch by Klaus Ethgen
+ allow writing of empty keywords/comment
-------------------------------------------------------------------------
-r1143 | nadvornik | 2008-09-27 20:48:32 +0200 (Sat, 27 Sep 2008) | 2 lines
+commit b077c46b67f7697f450d627f549e5e7d840adacc
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Tue Dec 23 20:53:44 2008 +0000
-updated preview loader to work with current svn version of libexiv2
+ added change notification to bar_info.c
-------------------------------------------------------------------------
-r1142 | nadvornik | 2008-09-10 22:37:30 +0200 (Wed, 10 Sep 2008) | 8 lines
+commit 6c231281ce339d9f5f91a0cbc77c2de1c3216804
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Tue Dec 23 19:15:12 2008 +0000
-use SHIFT for connected scroll and zoom
+ improved buffering and notifications
-SHIFT + keys or mouse: affects all split windows
-keys or mouse: affects only active window
+commit 85fce4079a1b0ead93353919690ba3bdc5cb12ef
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Tue Dec 23 19:13:48 2008 +0000
-CONTROL + mouse: moves fast (originally it was SHIFT + mouse)
+ 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
-------------------------------------------------------------------------
-r1141 | nadvornik | 2008-09-09 21:46:44 +0200 (Tue, 09 Sep 2008) | 3 lines
+ file class made configurable in preferences
-reverted buggy part of rev. 1138 - it made the filelist jump
-unexpectedly
+commit 7180d81daf5ebd192610b1517f26e44b58147fb8
+Author: Laurent Monin <geeqie@norz.org>
+Date: Mon Dec 22 19:43:46 2008 +0000
-------------------------------------------------------------------------
-r1140 | nadvornik | 2008-09-08 21:57:51 +0200 (Mon, 08 Sep 2008) | 3 lines
+ French translation was updated.
-added possibility to redraw only the parts of image that are already
-loaded
+commit cbbd4a8733202ca3e436365eee667d551ea9c24a
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Mon Dec 22 18:29:25 2008 +0000
-------------------------------------------------------------------------
-r1139 | zas_ | 2008-09-08 17:53:01 +0200 (Mon, 08 Sep 2008) | 1 line
+ write metadata after timeout, image change or dir change
-Fix a compiler warning regarding argument type.
-------------------------------------------------------------------------
-r1138 | bruclik | 2008-09-08 01:01:30 +0200 (Mon, 08 Sep 2008) | 2 lines
+commit c29865e349a4389ea74b2e067020eaaec19c91af
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Mon Dec 22 18:15:26 2008 +0000
-Replaced gtk depreceated code.
+ show metadata options in preferences dialog
-------------------------------------------------------------------------
-r1137 | zas_ | 2008-09-07 21:42:19 +0200 (Sun, 07 Sep 2008) | 1 line
+commit b3a6877012f4fbc9d6555f28a69067b0fd270ff6
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sun Dec 21 21:36:58 2008 +0000
-Shorten config_window_apply() a bit, reduce code redunancy.
-------------------------------------------------------------------------
-r1136 | zas_ | 2008-09-05 00:35:33 +0200 (Fri, 05 Sep 2008) | 1 line
+ fixed safe delete
-Update translations stats.
-------------------------------------------------------------------------
-r1135 | zas_ | 2008-09-05 00:29:32 +0200 (Fri, 05 Sep 2008) | 1 line
+commit b2478a365c4f5c96bab935dba551e76dad358412
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sun Dec 21 21:20:36 2008 +0000
-French translation was updated.
-------------------------------------------------------------------------
-r1134 | zas_ | 2008-09-05 00:04:32 +0200 (Fri, 05 Sep 2008) | 1 line
+ most of the metadata options now works
-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
+commit a9a31060a8b202604356236dbf751b621246e3e2
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sun Dec 21 16:26:03 2008 +0000
-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 new options
-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 da50487d38ea80d187a57adb99bafe64d256bfc5
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sun Dec 21 09:28:16 2008 +0000
-------------------------------------------------------------------------
-r1131 | nadvornik | 2008-09-03 23:54:49 +0200 (Wed, 03 Sep 2008) | 3 lines
+ French translation was updated.
-load thumbnails with lower priority
-TODO: maybe implement an exception for visible thumbnails
+commit e9460139c2941c4df0f1058ba6ca121121339d98
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sat Dec 20 23:18:20 2008 +0000
-------------------------------------------------------------------------
-r1130 | zas_ | 2008-09-03 23:13:02 +0200 (Wed, 03 Sep 2008) | 1 line
+ added options for metadata - not yet used
-Improve debug messages.
-------------------------------------------------------------------------
-r1129 | nadvornik | 2008-09-03 22:43:10 +0200 (Wed, 03 Sep 2008) | 2 lines
+commit 40a73b68024292f074a1dadfd6e8db3dad0dcd23
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sat Dec 20 21:47:04 2008 +0000
-adjusted default options
+ Fix two minor compilation warnings.
-------------------------------------------------------------------------
-r1128 | nadvornik | 2008-09-03 22:29:32 +0200 (Wed, 03 Sep 2008) | 2 lines
+commit f4733f77089a928d68a4cdfa7cee5fb8cf0b4b4d
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sat Dec 20 21:30:27 2008 +0000
-adjusted redraw priority relative to icon drawing
+ 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.
-------------------------------------------------------------------------
-r1127 | nadvornik | 2008-09-03 21:58:21 +0200 (Wed, 03 Sep 2008) | 2 lines
+commit 9643a2546bccb38da155cbfc4265e588b85a34b9
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sat Dec 20 20:43:56 2008 +0000
-dropped IMAGE_THROTTLE_LARGER_IMAGES code
+ use the workflow in utilops.c for metadata approving and writting
+ TODO: configuration
-------------------------------------------------------------------------
-r1126 | nadvornik | 2008-09-03 21:52:11 +0200 (Wed, 03 Sep 2008) | 2 lines
+commit af283c6af011fd76a43aeb4e4723f02e8d4ac645
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Tue Dec 16 12:59:23 2008 +0000
-fixed handling of broken images
+ queue metadata and write them in an idle callback
-------------------------------------------------------------------------
-r1125 | nadvornik | 2008-09-01 21:18:32 +0200 (Mon, 01 Sep 2008) | 2 lines
+commit b908ceb6bbb78a4edde47710e6291fa8eebb1717
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Mon Dec 15 22:47:31 2008 +0000
-improved pixbuf draw priority control
+ prepared infrastructure for delayed metadata writting - refreshing
+ metadata immediately before writting is now possible
+
+ modified metadata are stored in fd->modified_xmp
-------------------------------------------------------------------------
-r1124 | zas_ | 2008-09-01 19:29:07 +0200 (Mon, 01 Sep 2008) | 1 line
+commit b7fdc83d5f6e91fbf7d32377edd76c66ee23139c
+Author: Laurent Monin <geeqie@norz.org>
+Date: Mon Dec 15 18:04:42 2008 +0000
-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
+ Allow to drag keywords on files in list or icon view. Dragged text is appended to keywords list of the destination file.
-Remove redundant debug.h inclusion.
-------------------------------------------------------------------------
-r1122 | nadvornik | 2008-08-31 23:19:00 +0200 (Sun, 31 Aug 2008) | 2 lines
+commit d1b9489e72a06e38e580a370f5e8106386c71d73
+Author: Laurent Monin <geeqie@norz.org>
+Date: Tue Dec 9 19:12:38 2008 +0000
-fixed read ahead callback
+ French translation was updated.
-------------------------------------------------------------------------
-r1121 | nadvornik | 2008-08-31 23:02:09 +0200 (Sun, 31 Aug 2008) | 2 lines
+commit 0871c1893d2705e53fc3a1c08af69ad7b94ceba9
+Author: Laurent Monin <geeqie@norz.org>
+Date: Tue Dec 9 17:51:28 2008 +0000
-fixed error handling in image loader
+ 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.
-------------------------------------------------------------------------
-r1120 | nadvornik | 2008-08-31 20:53:11 +0200 (Sun, 31 Aug 2008) | 2 lines
+commit e5abe232dfcbab211d72c51b73de128a6d822af8
+Author: Laurent Monin <geeqie@norz.org>
+Date: Mon Dec 8 21:34:32 2008 +0000
-fixed possible endless loop
+ Display error dialog with appropriate message when user is trying to open an invalid collection file.
-------------------------------------------------------------------------
-r1119 | zas_ | 2008-08-31 14:29:49 +0200 (Sun, 31 Aug 2008) | 1 line
+commit 2d44c554b22f3305e1cbef26397ba96532e47cca
+Author: Laurent Monin <geeqie@norz.org>
+Date: Mon Dec 8 21:33:14 2008 +0000
-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
+ Cosmetic fix.
-Move quoted_value() and escquote_value() to misc.[ch].
-------------------------------------------------------------------------
-r1117 | zas_ | 2008-08-31 12:51:41 +0200 (Sun, 31 Aug 2008) | 1 line
+commit bb2f085701aa58240d46914e01f31bb918b130aa
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sun Dec 7 15:51:50 2008 +0000
-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
+ 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).
-use GThreadPool
+commit 85e6945309d39750d6543f86cddbfe8b0c166797
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sun Dec 7 13:28:04 2008 +0000
-------------------------------------------------------------------------
-r1115 | nadvornik | 2008-08-31 11:20:29 +0200 (Sun, 31 Aug 2008) | 2 lines
+ handle the case when io.open() fails
-improved thread support in image loader
+commit 68f82126997889074361955ca27534bb8fe0f446
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sat Dec 6 21:24:38 2008 +0000
-------------------------------------------------------------------------
-r1114 | zas_ | 2008-08-31 11:13:42 +0200 (Sun, 31 Aug 2008) | 1 line
+ disabled the "unused parameter" warnings, they are harmless and nobody
+ is going to fix it ;)
+ (note: -W is equivalent to -Wextra)
-Move save/load_options() to options.[ch].
-------------------------------------------------------------------------
-r1113 | zas_ | 2008-08-31 10:59:39 +0200 (Sun, 31 Aug 2008) | 1 line
+commit 0bd9d0fe13488d9e7d6578bca561aa94d398ba49
+Author: Laurent Monin <geeqie@norz.org>
+Date: Tue Dec 2 19:34:53 2008 +0000
-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
+ Rename few variables to make the code more readable.
-Move some code to new functions, to simplify main().
-------------------------------------------------------------------------
-r1111 | zas_ | 2008-08-31 10:13:36 +0200 (Sun, 31 Aug 2008) | 1 line
+commit 33e01e14e35e31e55b0946d7bcc644649483d76b
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sun Nov 30 21:59:28 2008 +0000
-Fix two minor compilation warnings.
-------------------------------------------------------------------------
-r1110 | nadvornik | 2008-08-30 22:15:47 +0200 (Sat, 30 Aug 2008) | 4 lines
+ keyword_list_find() -> find_string_in_list(), return gboolean.
-run image loader in separate thread
-this feature is disabled by default for now, it must be enabled by
-configure --enable-threads
+commit 81f6d0d4101e461d81b02e9261dcb3479aae3490
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sun Nov 30 21:52:37 2008 +0000
-------------------------------------------------------------------------
-r1109 | nadvornik | 2008-08-30 15:04:06 +0200 (Sat, 30 Aug 2008) | 2 lines
+ metadata_set_keywords() -> metadata_set(). Use gboolean type for boolean parameters.
-prepared image loader code for threads
+commit d931c87fc64a09eb9bdef1f6969977df4702adcf
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sun Nov 30 21:43:01 2008 +0000
-------------------------------------------------------------------------
-r1108 | zas_ | 2008-08-30 12:39:35 +0200 (Sat, 30 Aug 2008) | 5 lines
+ Rename most comment_*() functions to more appropriate metadata_*().
-Allow to override documentation paths through options:
-- documentation.helpdir
-- documentation.htmldir
-Default values are set at configure time.
+commit 73e8f782f130f8899520a53de7b4c9d5f3451fdf
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sun Nov 30 11:46:34 2008 +0000
-------------------------------------------------------------------------
-r1107 | nadvornik | 2008-08-29 22:53:53 +0200 (Fri, 29 Aug 2008) | 2 lines
+ 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().
-converted image loader to a GObject and use signals for notification
+commit 73a3570010efa60255d7e1c230e50fbe6634dd80
+Author: Laurent Monin <geeqie@norz.org>
+Date: Thu Nov 27 19:10:59 2008 +0000
-------------------------------------------------------------------------
-r1106 | nadvornik | 2008-08-29 14:35:13 +0200 (Fri, 29 Aug 2008) | 2 lines
+ Do not hardcode exif formatted prefix.
-do not access image_loader directly
+commit 40acac5694214bfcb9a6623a2cdd479a6a6991b4
+Author: Laurent Monin <geeqie@norz.org>
+Date: Thu Nov 27 12:34:39 2008 +0000
-------------------------------------------------------------------------
-r1105 | nadvornik | 2008-08-29 11:59:20 +0200 (Fri, 29 Aug 2008) | 2 lines
+ Fix up sign-related warning.
-added new raw preview interface for legacy exif
+commit fd5cd3190989657da2abf4fc66d9c4e47242f9cb
+Author: Laurent Monin <geeqie@norz.org>
+Date: Thu Nov 27 12:34:03 2008 +0000
-------------------------------------------------------------------------
-r1104 | nadvornik | 2008-08-29 11:38:10 +0200 (Fri, 29 Aug 2008) | 2 lines
+ Fix up unsigned expression always true warning.
-fixed thumbnail loader for the new raw preview interface
+commit 41ba7c59ae7008b423ba7a09de4cd781bd4a5b99
+Author: Laurent Monin <geeqie@norz.org>
+Date: Thu Nov 27 12:33:07 2008 +0000
-------------------------------------------------------------------------
-r1103 | nadvornik | 2008-08-29 00:26:09 +0200 (Fri, 29 Aug 2008) | 4 lines
+ Resync .h with .c declarations.
-use mmaped files image loader
-implemented new interface for extracting raw previews
-experiments with previews support in SVN version of Exiv2
+commit 26f6d635c22a18bfc42144b3e848ab2b15481105
+Author: Laurent Monin <geeqie@norz.org>
+Date: Thu Nov 27 12:31:27 2008 +0000
-------------------------------------------------------------------------
-r1102 | bruclik | 2008-08-28 14:51:02 +0200 (Thu, 28 Aug 2008) | 2 lines
+ Fix up pointer signedness warnings.
-Removed converting fd->name to utf8 from file_data_set_collate_keys(), because fd->name is utf8.
+commit bb28beac7482b10b36f0dac3efea45392c4942df
+Author: Laurent Monin <geeqie@norz.org>
+Date: Thu Nov 27 12:30:49 2008 +0000
-------------------------------------------------------------------------
-r1101 | zas_ | 2008-08-28 12:50:02 +0200 (Thu, 28 Aug 2008) | 1 line
+ Fix up not a prototype warning.
-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
+commit 402a7b74cb3f63247cb0451f7470e72aa42a53f2
+Author: Laurent Monin <geeqie@norz.org>
+Date: Thu Nov 27 12:30:10 2008 +0000
-Comment out unused functions.
-------------------------------------------------------------------------
-r1099 | zas_ | 2008-08-27 18:42:59 +0200 (Wed, 27 Aug 2008) | 1 line
+ Remove unused variable.
-Silent a compiler warning.
-------------------------------------------------------------------------
-r1098 | zas_ | 2008-08-27 18:40:21 +0200 (Wed, 27 Aug 2008) | 1 line
+commit fb0fc10f50e03ac9e154facbdccddbd6f380f60b
+Author: Laurent Monin <geeqie@norz.org>
+Date: Thu Nov 27 12:29:38 2008 +0000
-const gpointer -> gconstpointer.
-------------------------------------------------------------------------
-r1097 | zas_ | 2008-08-27 00:37:18 +0200 (Wed, 27 Aug 2008) | 1 line
+ Fix up deprecated function and not a prototype warnings.
-Use gpointer instead of void *.
-------------------------------------------------------------------------
-r1096 | zas_ | 2008-08-27 00:30:40 +0200 (Wed, 27 Aug 2008) | 1 line
+commit 673dab6bdc4741c7822c4fd1bf5370b7a6edec00
+Author: Laurent Monin <geeqie@norz.org>
+Date: Wed Nov 26 20:39:50 2008 +0000
-Consistency: type * instead of type*.
-------------------------------------------------------------------------
-r1095 | zas_ | 2008-08-27 00:22:51 +0200 (Wed, 27 Aug 2008) | 1 line
+ Handle return values better to silent some warnings.
-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
+commit 3f7d30d146ce9a3e06ea3df7909c8be3e741f138
+Author: Laurent Monin <geeqie@norz.org>
+Date: Wed Nov 26 20:38:47 2008 +0000
-Indentation fixes.
-------------------------------------------------------------------------
-r1093 | bruclik | 2008-08-26 22:21:30 +0200 (Tue, 26 Aug 2008) | 3 lines
+ Print a message if chown() or chmod() fail.
-Fixed segfault when is run inside directory with non valid uft-8 image
-filename.
+commit a3cd380dd4155404ae24df7260fa45da108483e4
+Author: Laurent Monin <geeqie@norz.org>
+Date: Wed Nov 26 20:37:14 2008 +0000
-------------------------------------------------------------------------
-r1092 | bruclik | 2008-08-26 15:56:56 +0200 (Tue, 26 Aug 2008) | 2 lines
+ Fix up format vs type warning.
-Fixed calling "Image search" function in a directory without image.
+commit 85b4c3d6b406043f2709f6f0f6ecea8a7418e9a2
+Author: Laurent Monin <geeqie@norz.org>
+Date: Tue Nov 25 17:32:51 2008 +0000
-------------------------------------------------------------------------
-r1091 | nadvornik | 2008-08-26 00:45:38 +0200 (Tue, 26 Aug 2008) | 2 lines
+ Move comments/keywords read and write stuff to new metadata.{c,h}.
-correctly maintain selection during iconlist refresh
+commit 499063665b9e138a110e2881a05dc364961b7aaf
+Author: Laurent Monin <geeqie@norz.org>
+Date: Tue Nov 25 17:01:03 2008 +0000
-------------------------------------------------------------------------
-r1090 | zas_ | 2008-08-26 00:20:45 +0200 (Tue, 26 Aug 2008) | 1 line
+ Fix up unsigned expression always true/false warnings.
-Whitespaces cleanup.
-------------------------------------------------------------------------
-r1089 | bruclik | 2008-08-25 20:13:33 +0200 (Mon, 25 Aug 2008) | 3 lines
+commit 50306a69abd7e07458b7355cef5883f500fd029d
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sun Nov 23 22:05:27 2008 +0000
-Fixed segfaulting when alter image in directory without images.
+ 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
-------------------------------------------------------------------------
-r1088 | nadvornik | 2008-08-25 18:58:27 +0200 (Mon, 25 Aug 2008) | 2 lines
+ 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().
-removed unused code
+commit 92a79f4e480d767c15510c2f69f2a548cf25e91e
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sun Nov 23 16:10:29 2008 +0000
-------------------------------------------------------------------------
-r1087 | zas_ | 2008-08-24 16:40:18 +0200 (Sun, 24 Aug 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.
-Typo fixes.
-------------------------------------------------------------------------
-r1086 | zas_ | 2008-08-24 16:33:03 +0200 (Sun, 24 Aug 2008) | 1 line
+commit 15aaf972f4a7a7490a1ebaef8900074a80124b2d
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sat Nov 22 22:54:51 2008 +0000
-Slight code redundancy reduction.
-------------------------------------------------------------------------
-r1085 | zas_ | 2008-08-24 16:14:37 +0200 (Sun, 24 Aug 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.
-Drop redundant variable affectation.
-------------------------------------------------------------------------
-r1084 | zas_ | 2008-08-24 15:22:08 +0200 (Sun, 24 Aug 2008) | 2 lines
+commit cce7425dc23b06d7267eb110ce0b8814e469285f
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sat Nov 22 22:43:18 2008 +0000
-Fix untranslated messages. French translation and POTFILES.in were updated.
+ When more than one image is selected, Split Horizontal, Vertical and Quad will use selected images when initialized.
-------------------------------------------------------------------------
-r1083 | zas_ | 2008-08-24 12:00:40 +0200 (Sun, 24 Aug 2008) | 1 line
+commit bebe10914b96c3a07f748984b3e6fba18cccfa94
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sat Nov 22 22:10:10 2008 +0000
-French translation was updated.
-------------------------------------------------------------------------
-r1082 | zas_ | 2008-08-24 12:00:02 +0200 (Sun, 24 Aug 2008) | 1 line
+ Tidy up.
-Mark forgotten string for translation.
-------------------------------------------------------------------------
-r1081 | zas_ | 2008-08-23 23:07:25 +0200 (Sat, 23 Aug 2008) | 1 line
+commit 15821ce9a76d8afe0614dc5ed494161c67f8ad70
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sat Nov 22 22:04:21 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.
-------------------------------------------------------------------------
-r1080 | zas_ | 2008-08-23 22:46:31 +0200 (Sat, 23 Aug 2008) | 1 line
+ Use common code for layout_image_setup_split_none() too.
-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
+commit 67f56552a7bf85f99f537d06885ebb71876a1c25
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sat Nov 22 21:58:07 2008 +0000
-Only display status if there is at least one file in the file list.
+ layout_image_setup_split_*(): simplify code.
-------------------------------------------------------------------------
-r1078 | zas_ | 2008-08-23 19:00:59 +0200 (Sat, 23 Aug 2008) | 1 line
+commit 25ac01ca80b9a13f843aad26643a21e2c991314e
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sat Nov 22 21:11:09 2008 +0000
-Remove unneeded type casting.
-------------------------------------------------------------------------
-r1077 | nadvornik | 2008-08-23 10:42:12 +0200 (Sat, 23 Aug 2008) | 2 lines
+ layout_image_setup_split_*(): move common code to a new function layout_image_setup_split_common().
-fixed vd_refresh
+commit 7f699d74c05ce9e81e83210a231e0ca86c7c004c
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sat Nov 22 16:24:23 2008 +0000
-------------------------------------------------------------------------
-r1076 | zas_ | 2008-08-23 00:09:54 +0200 (Sat, 23 Aug 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.
-French translation was updated.
-------------------------------------------------------------------------
-r1075 | zas_ | 2008-08-22 23:52:13 +0200 (Fri, 22 Aug 2008) | 7 lines
+commit f7327cbd9fa590af75336916692ae40832ab32e7
+Author: Laurent Monin <geeqie@norz.org>
+Date: Thu Nov 20 17:28:34 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.
+ Force font weight and style to normal for keys.
-------------------------------------------------------------------------
-r1074 | zas_ | 2008-08-22 00:49:30 +0200 (Fri, 22 Aug 2008) | 1 line
+commit 540d86584baf5d6070b04254129f25e28a359541
+Author: Laurent Monin <geeqie@norz.org>
+Date: Thu Nov 20 17:23:46 2008 +0000
-Typo fix: vf -> vd
-------------------------------------------------------------------------
-r1073 | zas_ | 2008-08-22 00:47:49 +0200 (Fri, 22 Aug 2008) | 1 line
+ Fix up yet unmarked keys.
-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
+commit ad4dacfae1907d2ba1e2e8889aac84d7d54121b1
+Author: Laurent Monin <geeqie@norz.org>
+Date: Thu Nov 20 11:46:43 2008 +0000
-Indentation fix.
-------------------------------------------------------------------------
-r1071 | zas_ | 2008-08-21 00:26:34 +0200 (Thu, 21 Aug 2008) | 1 line
+ Fix compilation warnings.
-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
+commit a7fe24499d26daa57bfe1492bcb79aa8ddf4a92f
+Author: Laurent Monin <geeqie@norz.org>
+Date: Thu Nov 20 07:22:56 2008 +0000
-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
+ Fix up some missing html code.
-update the FileData structure when a new folder is created
+commit 7d5e78bf230b7f02687139acadb0a29b2483b6af
+Author: Laurent Monin <geeqie@norz.org>
+Date: Wed Nov 19 22:57:40 2008 +0000
-------------------------------------------------------------------------
-r1068 | nadvornik | 2008-08-20 00:58:31 +0200 (Wed, 20 Aug 2008) | 2 lines
+ More keys.
-improved refresh in view_dir_list
+commit 85c37fcfec1a92989c5301fc8dc9f2e8d5de2e8e
+Author: Laurent Monin <geeqie@norz.org>
+Date: Wed Nov 19 22:46:27 2008 +0000
-------------------------------------------------------------------------
-r1067 | nadvornik | 2008-08-19 23:01:29 +0200 (Tue, 19 Aug 2008) | 2 lines
+ Fix text wrongly marked as key.
-set fallback pixbuf in case of missing file
+commit 7f8324bf49907dfbbb582e8b96b6a10cad070490
+Author: Laurent Monin <geeqie@norz.org>
+Date: Wed Nov 19 22:42:20 2008 +0000
-------------------------------------------------------------------------
-r1066 | nadvornik | 2008-08-19 22:58:23 +0200 (Tue, 19 Aug 2008) | 2 lines
+ Mark keyboard keys with a span and make them look like a key through css style.
-fixed possible segfault
+commit 5aba0342d8c4fef02b48d436d8bc65550f382a9b
+Author: Laurent Monin <geeqie@norz.org>
+Date: Wed Nov 19 21:36:02 2008 +0000
-------------------------------------------------------------------------
-r1065 | nadvornik | 2008-08-17 16:18:51 +0200 (Sun, 17 Aug 2008) | 3 lines
+ Replace [Control] by shorter and more common [Ctrl].
-removed code for maintaining filelist position, gtk_tree_view itself handles it
-better
+commit 67e91a0baa946ac71c5e34c227d2769a11fab8d0
+Author: Laurent Monin <geeqie@norz.org>
+Date: Wed Nov 19 21:16:27 2008 +0000
-------------------------------------------------------------------------
-r1064 | zas_ | 2008-08-17 11:36:02 +0200 (Sun, 17 Aug 2008) | 2 lines
+ Unify [Shift] and [Control] notation.
-French translation was updated.
+commit 68a305ccc3b4e14657c8f88a7258d0d6b41f8dd2
+Author: Laurent Monin <geeqie@norz.org>
+Date: Wed Nov 19 20:53:53 2008 +0000
-------------------------------------------------------------------------
-r1063 | zas_ | 2008-08-17 11:30:45 +0200 (Sun, 17 Aug 2008) | 11 lines
+ Move (and update) image pane shortcuts to a table. Simplify css styles for those tables.
-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.
+commit 7d76bf997f408ba74840477446b590492430ed7a
+Author: Laurent Monin <geeqie@norz.org>
+Date: Wed Nov 19 17:42:36 2008 +0000
-For example:
-VFICON_INFO(vf, columns) becomes VFICON(vf)->columns
-VFLIST_INFO(vf, click_fd) becomes VFLIST(vf)->click_fd
+ 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.
-------------------------------------------------------------------------
-r1062 | zas_ | 2008-08-17 11:00:33 +0200 (Sun, 17 Aug 2008) | 2 lines
+commit 84d0eeb779804970775a1a2b151094999df1f39c
+Author: Laurent Monin <geeqie@norz.org>
+Date: Mon Nov 17 17:17:47 2008 +0000
-Move variable declaration at start of block.
+ Remove colored background in headings for printable version.
-------------------------------------------------------------------------
-r1061 | nadvornik | 2008-08-17 01:37:26 +0200 (Sun, 17 Aug 2008) | 2 lines
+commit bb0dccd452eaaaad56dba8028f17789632e10ff8
+Author: Laurent Monin <geeqie@norz.org>
+Date: Mon Nov 17 17:09:44 2008 +0000
-marks in iconview made clickable
+ 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.
-------------------------------------------------------------------------
-r1060 | nadvornik | 2008-08-16 22:57:40 +0200 (Sat, 16 Aug 2008) | 2 lines
+commit b4ef8546331d9128999cc531faaa35556eb242d2
+Author: Laurent Monin <geeqie@norz.org>
+Date: Mon Nov 17 07:10:32 2008 +0000
-keep files with non-zero marks in memory
+ Comment out css code that slipped through by cut'n paste error. It may be useful at some time though.
-------------------------------------------------------------------------
-r1059 | nadvornik | 2008-08-16 22:34:14 +0200 (Sat, 16 Aug 2008) | 2 lines
+commit 4575fa4ac78579835bfd17a13ccdaf61989066a4
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sun Nov 16 19:58:43 2008 +0000
-implemented marks filter
+ Add specific css for print media(has to be improved).
-------------------------------------------------------------------------
-r1058 | zas_ | 2008-08-16 09:18:16 +0200 (Sat, 16 Aug 2008) | 3 lines
+commit 69f15e9da78b7404be497d657110cfad1a266722
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sun Nov 16 16:32:14 2008 +0000
-Fix double escaping of image overlay text.
-Bug 2051955, reported by Emmanuel Dupuis.
+ Update svn:ignore property: add some files and replace gqview by geeqie where applicable.
-------------------------------------------------------------------------
-r1057 | nadvornik | 2008-08-13 23:07:06 +0200 (Wed, 13 Aug 2008) | 2 lines
+commit 19e042015022768094ac5d2e90a32db866698467
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sat Nov 15 20:17:14 2008 +0000
-added keyboard map generator
+ 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.
-------------------------------------------------------------------------
-r1056 | nadvornik | 2008-08-13 22:46:06 +0200 (Wed, 13 Aug 2008) | 2 lines
+commit 6419843202ec66cdb0aa9e763a777a06f6617f19
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sat Nov 15 20:01:25 2008 +0000
-a workaround for http://bugzilla.gnome.org/show_bug.cgi?id=547669
+ Replace cache_ensure_dir_exists() by new recursive_mkdir_if_not_exists().
-------------------------------------------------------------------------
-r1055 | nadvornik | 2008-08-12 22:21:25 +0200 (Tue, 12 Aug 2008) | 2 lines
+commit 8b10477d6c451a8a952db33eea29a7d289261635
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sat Nov 15 19:13:43 2008 +0000
-fixed crash with float file list and geeqie --blank
+ fixed usage of deprecated functions - patch by Omari Stephens
-------------------------------------------------------------------------
-r1054 | nadvornik | 2008-08-11 20:53:19 +0200 (Mon, 11 Aug 2008) | 2 lines
+commit 27bcad2478c6a0e5ebda8849c9a6bf67d4dfa222
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sat Nov 15 17:48:31 2008 +0000
-fixed crash in geeqie --blank
+ Rename check_for_home_path() to mkdir_if_not_exists().
-------------------------------------------------------------------------
-r1053 | nadvornik | 2008-08-11 19:45:26 +0200 (Mon, 11 Aug 2008) | 2 lines
+commit 788a57656d4085ba2e526a29648ec1477bafa46f
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sat Nov 15 17:30:45 2008 +0000
-fixed setting visible entry in view_dir_tree
+ 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.
-------------------------------------------------------------------------
-r1051 | nadvornik | 2008-07-30 20:44:49 +0200 (Wed, 30 Jul 2008) | 2 lines
+commit e5dd414c28b825002568ea99797a4ad7e5bb64ad
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sat Nov 15 10:35:43 2008 +0000
-updated ChangeLog from svn log
+ Add a wrapper around system() call named runcmd() which allows easier debugging. Improve the code launching the help browser.
-------------------------------------------------------------------------
-r1050 | zas_ | 2008-07-28 20:35:19 +0200 (Mon, 28 Jul 2008) | 2 lines
+commit f56852b68c19db3f71dd69c44c8cc38ddbc644ae
+Author: Laurent Monin <geeqie@norz.org>
+Date: Fri Nov 14 01:10:18 2008 +0000
-Move declarations at the beginning of blocks.
+ Fix up Makefile.am: add missing files and do not install template.html.
-------------------------------------------------------------------------
-r1049 | zas_ | 2008-07-28 20:07:42 +0200 (Mon, 28 Jul 2008) | 2 lines
+commit 55bdd3344fd5f342d30362fe301808f826710112
+Author: Laurent Monin <geeqie@norz.org>
+Date: Wed Nov 12 21:38:00 2008 +0000
-Optimize tests even more using last changes.
+ Fix a cut'n'paste error.
-------------------------------------------------------------------------
-r1048 | nadvornik | 2008-07-28 20:02:10 +0200 (Mon, 28 Jul 2008) | 2 lines
+commit 609fc80ba907a18bd5b0998b155580654e8749db
+Author: Laurent Monin <geeqie@norz.org>
+Date: Wed Nov 12 21:34:55 2008 +0000
-do not free unallocated exif data
+ More precise description of the pan view find feature and a note about ressources eating was added.
-------------------------------------------------------------------------
-r1047 | zas_ | 2008-07-28 19:59:09 +0200 (Mon, 28 Jul 2008) | 2 lines
+commit 3005309e752b5f6d9378487b6856f18eb40b365f
+Author: Laurent Monin <geeqie@norz.org>
+Date: Wed Nov 12 21:15:12 2008 +0000
-Cache strcmp() result.
+ Add some information about the pan view.
-------------------------------------------------------------------------
-r1046 | zas_ | 2008-07-28 19:56:56 +0200 (Mon, 28 Jul 2008) | 2 lines
+commit 3effb3cd44a5b956cd0d7416eec0f2aaea94b774
+Author: Laurent Monin <geeqie@norz.org>
+Date: Wed Nov 12 17:59:14 2008 +0000
-Optimize redundant tests.
+ Add a note about splitted view.
-------------------------------------------------------------------------
-r1045 | zas_ | 2008-07-28 19:55:06 +0200 (Mon, 28 Jul 2008) | 2 lines
+commit ae7645d7323cc203e69f73e51976c8d8ea7f7017
+Author: Laurent Monin <geeqie@norz.org>
+Date: Wed Nov 12 17:48:16 2008 +0000
-Move dest_dir variable to inner block.
+ Add Connected zoom and Split menu items.
-------------------------------------------------------------------------
-r1044 | zas_ | 2008-07-28 11:44:50 +0200 (Mon, 28 Jul 2008) | 2 lines
+commit f055d32815e382a5cac2117e46ecad2b866e942b
+Author: Laurent Monin <geeqie@norz.org>
+Date: Tue Nov 11 23:35:39 2008 +0000
-Reduce code redundancy and minor typo fixes.
+ Add missing s...
-------------------------------------------------------------------------
-r1043 | zas_ | 2008-07-28 11:14:10 +0200 (Mon, 28 Jul 2008) | 2 lines
+commit 5078d7e58ebafa27aac3c50703e1c0fcb180d186
+Author: Laurent Monin <geeqie@norz.org>
+Date: Tue Nov 11 23:30:13 2008 +0000
-French translation was updated.
+ Minor fixes.
-------------------------------------------------------------------------
-r1042 | zas_ | 2008-07-28 11:12:33 +0200 (Mon, 28 Jul 2008) | 2 lines
+commit 0dabd8de27a7e8c7801dddc5d848246a001c97ac
+Author: Laurent Monin <geeqie@norz.org>
+Date: Tue Nov 11 21:50:42 2008 +0000
-Typo fix.
+ Give a new style to menus.
-------------------------------------------------------------------------
-r1041 | nadvornik | 2008-07-27 21:22:40 +0200 (Sun, 27 Jul 2008) | 2 lines
+commit ec48abb7939ef9919bbd905d147cfda9e884c457
+Author: Laurent Monin <geeqie@norz.org>
+Date: Tue Nov 11 21:49:33 2008 +0000
-abort file operations when the file list is empty
+ Fix missing parts.
-------------------------------------------------------------------------
-r1040 | nadvornik | 2008-07-27 20:20:59 +0200 (Sun, 27 Jul 2008) | 3 lines
+commit c1a85ebf0418f0b0b4fe9b175702ad86a5f5ed0b
+Author: Laurent Monin <geeqie@norz.org>
+Date: Tue Nov 11 21:17:55 2008 +0000
-remember path entered in file dialog
-http://sourceforge.net/tracker/index.php?func=detail&aid=2028977&group_id=222125&atid=1054680
+ Update main window menus description to match current Geeqie.
-------------------------------------------------------------------------
-r1039 | nadvornik | 2008-07-27 15:46:24 +0200 (Sun, 27 Jul 2008) | 2 lines
+commit d6bc7dc5e3b0a140523fcfc9eac0566b569e26eb
+Author: Laurent Monin <geeqie@norz.org>
+Date: Tue Nov 11 21:17:03 2008 +0000
-speed-up of directory notification on deleting large number of files
+ Drop dots.
-------------------------------------------------------------------------
-r1038 | nadvornik | 2008-07-27 11:51:28 +0200 (Sun, 27 Jul 2008) | 2 lines
+commit f9071c86d19c4fb8417c8838aa1b99176e65342c
+Author: Laurent Monin <geeqie@norz.org>
+Date: Tue Nov 11 10:32:03 2008 +0000
-added "Symlink" as an example of "filter" command
+ Update exif pane documentation a bit.
-------------------------------------------------------------------------
-r1037 | nadvornik | 2008-07-27 10:57:12 +0200 (Sun, 27 Jul 2008) | 2 lines
+commit aeca4f3163c33f41b5cc1d0f371fb43d4138ae73
+Author: Laurent Monin <geeqie@norz.org>
+Date: Tue Nov 11 10:24:04 2008 +0000
-improved updating of view_dir_tree
+ Add Properties Options page.
-------------------------------------------------------------------------
-r1036 | nadvornik | 2008-07-27 10:40:47 +0200 (Sun, 27 Jul 2008) | 2 lines
+commit 51a2344638f5f1c738f03d023f4f3139f23761d7
+Author: Laurent Monin <geeqie@norz.org>
+Date: Tue Nov 11 10:09:09 2008 +0000
-fixed deleting of non-empty folder
+ Advanced options documentation is now almost in sync with current geeqie.
-------------------------------------------------------------------------
-r1035 | nadvornik | 2008-07-27 00:36:58 +0200 (Sun, 27 Jul 2008) | 2 lines
+commit eeae9191dcb131a7fa9a85876b4314869bffe007
+Author: Laurent Monin <geeqie@norz.org>
+Date: Tue Nov 11 09:12:10 2008 +0000
-fixed spec file
+ More updates to advanced options documentation. Not yet finished.
-------------------------------------------------------------------------
-r1034 | nadvornik | 2008-07-27 00:26:08 +0200 (Sun, 27 Jul 2008) | 2 lines
+commit 9f3cc9ef382cae5ef8c0b6cc050844a796321a15
+Author: Laurent Monin <geeqie@norz.org>
+Date: Mon Nov 10 23:36:12 2008 +0000
-fixed invalid warning on running editors
+ Page cleanup and fixed. Remove obsolete note.
-------------------------------------------------------------------------
-r1033 | nadvornik | 2008-07-26 22:34:24 +0200 (Sat, 26 Jul 2008) | 2 lines
+commit f13928fef829928a7a807a11a5e4d9603592597c
+Author: Laurent Monin <geeqie@norz.org>
+Date: Mon Nov 10 23:15:42 2008 +0000
-updated version string
+ Add missing link.
-------------------------------------------------------------------------
-r1032 | nadvornik | 2008-07-26 22:15:00 +0200 (Sat, 26 Jul 2008) | 3 lines
+commit 757b8ebc5495d81fb1fb1b531e2f5e682a0ad9c9
+Author: Laurent Monin <geeqie@norz.org>
+Date: Mon Nov 10 23:05:50 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
+ Update documentation a bit: General, Image, Windows, Filtering, Editors and a part of Advanced (Image Overlay) options.
-------------------------------------------------------------------------
-r1031 | nadvornik | 2008-07-26 22:02:20 +0200 (Sat, 26 Jul 2008) | 2 lines
+commit b72d86d30095cef07dd61ab15b949c74ef7c0d1c
+Author: Laurent Monin <geeqie@norz.org>
+Date: Mon Nov 10 21:33:38 2008 +0000
-string cleanup
+ Let subsection menus match index style.
-------------------------------------------------------------------------
-r1030 | nadvornik | 2008-07-26 21:52:40 +0200 (Sat, 26 Jul 2008) | 2 lines
+commit 3c766c9124437106f8c84886680b53b1a17ff6c3
+Author: Laurent Monin <geeqie@norz.org>
+Date: Mon Nov 10 21:14:34 2008 +0000
-removed unused messages.desc_dlist
+ Cosmetic changes in image search and find duplicates shortcuts tables.
-------------------------------------------------------------------------
-r1029 | nadvornik | 2008-07-26 21:41:46 +0200 (Sat, 26 Jul 2008) | 2 lines
+commit c410dad0a2007582d3460f222d52f193e8718d12
+Author: Laurent Monin <geeqie@norz.org>
+Date: Mon Nov 10 20:42:44 2008 +0000
-fixed new folder command
+ Tidy up.
-------------------------------------------------------------------------
-r1028 | nadvornik | 2008-07-26 21:33:36 +0200 (Sat, 26 Jul 2008) | 2 lines
+commit 25735fd6a8ef1890f8b57d8ba9262f256c0243a7
+Author: Laurent Monin <geeqie@norz.org>
+Date: Mon Nov 10 20:40:50 2008 +0000
-fixed renaming of directories
+ Move from xhtml transitional to xhtml strict.
-------------------------------------------------------------------------
-r1027 | nadvornik | 2008-07-26 21:01:20 +0200 (Sat, 26 Jul 2008) | 2 lines
+commit 60ff2fb4b9a39322f5f685310e7f3a8aea316c76
+Author: Laurent Monin <geeqie@norz.org>
+Date: Mon Nov 10 20:16:45 2008 +0000
-warn about changed file extensions
+ Minor cleanup.
-------------------------------------------------------------------------
-r1026 | nadvornik | 2008-07-26 20:33:49 +0200 (Sat, 26 Jul 2008) | 2 lines
+commit 9b5b933912d1badd83d0e5691fc03f63be9673fc
+Author: Laurent Monin <geeqie@norz.org>
+Date: Mon Nov 10 19:37:17 2008 +0000
-added icon for changes without warnings
+ Tidy up and minor fixes.
-------------------------------------------------------------------------
-r1025 | nadvornik | 2008-07-26 20:17:56 +0200 (Sat, 26 Jul 2008) | 3 lines
+commit e07b06778a28e3911cd830a44bc27333d017bd15
+Author: Laurent Monin <geeqie@norz.org>
+Date: Mon Nov 10 18:02:09 2008 +0000
-allow only existing folders in destination dialog
-http://sourceforge.net/tracker/index.php?func=detail&aid=2011243&group_id=222125&atid=1054680
+ Notes cleanup and minor stylistic fixes.
-------------------------------------------------------------------------
-r1024 | nadvornik | 2008-07-26 12:27:41 +0200 (Sat, 26 Jul 2008) | 2 lines
+commit 82cd089fb37bda5fc685b5cd43486e8ff26d2679
+Author: Laurent Monin <geeqie@norz.org>
+Date: Mon Nov 10 17:16:16 2008 +0000
-clean up - checks are handled elsewhere
+ Various fixes and cleanup.
-------------------------------------------------------------------------
-r1023 | nadvornik | 2008-07-26 11:58:25 +0200 (Sat, 26 Jul 2008) | 2 lines
+commit 2ec1474ac5685ed1bf48a7dc35033b502dd81af1
+Author: Laurent Monin <geeqie@norz.org>
+Date: Mon Nov 10 16:11:28 2008 +0000
-more checks for file operations
+ Fix up some errors.
-------------------------------------------------------------------------
-r1022 | nadvornik | 2008-07-26 00:04:55 +0200 (Sat, 26 Jul 2008) | 2 lines
+commit 0a594f66306b196a0d9872de6fecc4b3cc9c3511
+Author: Laurent Monin <geeqie@norz.org>
+Date: Mon Nov 10 15:20:13 2008 +0000
-improved error reporting
+ Fix up unvalid xhtml.
-------------------------------------------------------------------------
-r1021 | zas_ | 2008-07-25 08:35:35 +0200 (Fri, 25 Jul 2008) | 2 lines
+commit 12fe48da5151ce1ef688f03ba44cde89c9eca910
+Author: Laurent Monin <geeqie@norz.org>
+Date: Mon Nov 10 14:56:11 2008 +0000
-Minor tidy up and optimization.
+ Fix up a broken link.
-------------------------------------------------------------------------
-r1020 | zas_ | 2008-07-24 22:24:04 +0200 (Thu, 24 Jul 2008) | 6 lines
+commit f7216dd164399e1d34e22e5210544e2db6a84746
+Author: Laurent Monin <geeqie@norz.org>
+Date: Mon Nov 10 14:10:39 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.
+ Beautify the manual.
-------------------------------------------------------------------------
-r1019 | nadvornik | 2008-07-24 22:03:57 +0200 (Thu, 24 Jul 2008) | 3 lines
+commit b8742eb7f9aaafdb91ede39c8e6ebdb86b4959c3
+Author: Laurent Monin <geeqie@norz.org>
+Date: Mon Nov 10 13:00:29 2008 +0000
-separated debugging log and debug CFLAGS
-enable debugging log support by default
+ Reformat more pages.
-------------------------------------------------------------------------
-r1018 | nadvornik | 2008-07-24 00:19:16 +0200 (Thu, 24 Jul 2008) | 2 lines
+commit 7c5c88540dd54a35510d1a92a2b1512efbcc6ac5
+Author: Laurent Monin <geeqie@norz.org>
+Date: Mon Nov 10 12:06:05 2008 +0000
-indicate check warnings and errors in delete and rename dialogs
+ Reformat remaining options pages.
-------------------------------------------------------------------------
-r1017 | nadvornik | 2008-07-23 22:53:05 +0200 (Wed, 23 Jul 2008) | 3 lines
+commit 2b02d7edc774a42f6b19cec9ba3da91416a73d65
+Author: Laurent Monin <geeqie@norz.org>
+Date: Mon Nov 10 10:26:51 2008 +0000
-removed file_data_add_change_info
-reduced code redundancy - patch by Laurent, slightly modified
+ Reformatting: notes, advanced options page and more.
-------------------------------------------------------------------------
-r1016 | zas_ | 2008-07-23 19:38:04 +0200 (Wed, 23 Jul 2008) | 2 lines
+commit 2f3f12a07cc0a9f8e7b6feb83824374df09711c0
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sun Nov 9 21:53:33 2008 +0000
-Minor tidy up.
+ Reformatting.
-------------------------------------------------------------------------
-r1015 | zas_ | 2008-07-23 14:46:35 +0200 (Wed, 23 Jul 2008) | 2 lines
+commit 49c72a6ce8b97276a8895d4598ca460738aef7cc
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sun Nov 9 17:17:19 2008 +0000
-Tidy up.
+ Reformat and cleanup.
-------------------------------------------------------------------------
-r1014 | zas_ | 2008-07-23 14:45:59 +0200 (Wed, 23 Jul 2008) | 2 lines
+commit 029e68efd2ef971a29888ed7e316b22d7e0637fd
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sun Nov 9 13:37:39 2008 +0000
-Use g_strconcat() instead of g_strdup_printf("%s%s", ...).
+ More cleanup of tables.
-------------------------------------------------------------------------
-r1013 | zas_ | 2008-07-23 12:21:37 +0200 (Wed, 23 Jul 2008) | 2 lines
+commit fcea33c191163edd21e0749e2ef9fae54d6aee95
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sun Nov 9 13:06:16 2008 +0000
-Simplify parse_out_relatives().
+ Cleanup some tables.
-------------------------------------------------------------------------
-r1012 | zas_ | 2008-07-23 11:10:41 +0200 (Wed, 23 Jul 2008) | 2 lines
+commit cd465d19d90ae48c5ba6353f9eacdd2c4232a7f5
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sun Nov 9 12:48:00 2008 +0000
-Tidy up.
+ Drop most old css classes.
-------------------------------------------------------------------------
-r1011 | zas_ | 2008-07-23 11:00:38 +0200 (Wed, 23 Jul 2008) | 2 lines
+commit eb65646611a5675182a3207280eb609cead4bded
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sun Nov 9 09:39:14 2008 +0000
-Fix missing newline at end of file.
+ Move dialog descriptions to definitions lists, first step.
-------------------------------------------------------------------------
-r1010 | zas_ | 2008-07-23 10:59:29 +0200 (Wed, 23 Jul 2008) | 2 lines
+commit d9afdf93b04b6031b118fbd5a8c128e53adc9534
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sun Nov 9 09:33:01 2008 +0000
-Fix warning: passing argument 1 of 'gtk_tree_store_set' from incompatible pointer type
+ Index cleanup.
-------------------------------------------------------------------------
-r1009 | nadvornik | 2008-07-23 00:05:20 +0200 (Wed, 23 Jul 2008) | 2 lines
+commit 4c65837d7b39fa0bc99179bcff5448f988750e99
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sun Nov 9 09:28:59 2008 +0000
-do not create duplicate FileData entries
+ Move menu descriptions to definitions lists.
-------------------------------------------------------------------------
-r1008 | nadvornik | 2008-07-22 23:46:08 +0200 (Tue, 22 Jul 2008) | 3 lines
+commit db25a0d2c859dbfa694dff305fd195de00f40f1a
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sat Nov 8 22:11:51 2008 +0000
-basic infrastructure for early error and dangerous operations checking
-it needs more work
+ Re-introduce Geeqie User Manual footer.
-------------------------------------------------------------------------
-r1007 | nadvornik | 2008-07-22 20:27:12 +0200 (Tue, 22 Jul 2008) | 2 lines
+commit 8d87ca532ad0db744b99bff3eb9322b889ca6cb1
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sat Nov 8 17:38:36 2008 +0000
-clean up fd->change on error
+ Simplify bottom navigation table.
-------------------------------------------------------------------------
-r1006 | nadvornik | 2008-07-22 20:13:41 +0200 (Tue, 22 Jul 2008) | 3 lines
+commit 8b3ed1c3eb50c9455f89dfedc33b62e96b6fdcdc
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sat Nov 8 17:24:02 2008 +0000
-remove items from file_data_planned_change_hash when the operation is
-canceled
+ Use col tags with id in top and bottom navigation tables.
-------------------------------------------------------------------------
-r1005 | nadvornik | 2008-07-22 19:57:22 +0200 (Tue, 22 Jul 2008) | 2 lines
+commit 0bfece3a257621edda3fefbb44ed64667bac828b
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sat Nov 8 11:37:17 2008 +0000
-fixed stop button in editor dialog
+ Add a generic spacer at the bottom of the page, remove now unused css classes.
-------------------------------------------------------------------------
-r1004 | nadvornik | 2008-07-22 19:40:24 +0200 (Tue, 22 Jul 2008) | 2 lines
+commit 357f067eddfbf2e74cf835d8952d43cc1f139ac7
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sat Nov 8 10:59:45 2008 +0000
-delete file_data_planned_change_hash when it is not used
+ Add two css classes navtop and navbottom and remove unused ones.
-------------------------------------------------------------------------
-r1003 | nadvornik | 2008-07-21 23:38:26 +0200 (Mon, 21 Jul 2008) | 3 lines
+commit 20f28b5685dd8cb5f6163e37786bf6806e46e02d
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sat Nov 8 10:49:18 2008 +0000
-fixed
-http://sourceforge.net/tracker/index.php?func=detail&aid=2019012&group_id=222125&atid=1054680
+ Add style.css to list of files to install.
-------------------------------------------------------------------------
-r1002 | nadvornik | 2008-07-21 22:50:24 +0200 (Mon, 21 Jul 2008) | 2 lines
+commit 2cff73427b00b0155b526b080dcd7ade516686cb
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sat Nov 8 10:47:31 2008 +0000
-file_util_rename_dir should not return anything
+ Move css styles to an external stylesheet.
-------------------------------------------------------------------------
-r1001 | nadvornik | 2008-07-21 22:40:29 +0200 (Mon, 21 Jul 2008) | 2 lines
+commit 450ff6891d977952fa624731f8da7b8d7994305f
+Author: Laurent Monin <geeqie@norz.org>
+Date: Thu Nov 6 23:49:31 2008 +0000
-added notification handler to view_dir
+ Remove reference to numbered section.
-------------------------------------------------------------------------
-r1000 | zas_ | 2008-07-21 10:31:43 +0200 (Mon, 21 Jul 2008) | 2 lines
+commit 5837dbaac197166d0cb046f3119767b44a9b9fa2
+Author: Laurent Monin <geeqie@norz.org>
+Date: Thu Nov 6 23:43:46 2008 +0000
-French translation was updated.
+ Remove references to numbered sections.
-------------------------------------------------------------------------
-r999 | zas_ | 2008-07-20 17:21:06 +0200 (Sun, 20 Jul 2008) | 2 lines
+commit d2b8b50ff787b13270e54bab25489d5cbb3ebacb
+Author: Laurent Monin <geeqie@norz.org>
+Date: Thu Nov 6 23:39:22 2008 +0000
-Update POTFILES.in.
+ Simplify the table.
-------------------------------------------------------------------------
-r998 | zas_ | 2008-07-20 17:16:05 +0200 (Sun, 20 Jul 2008) | 2 lines
+commit a5760993339ed221d1377724beb2485c28237945
+Author: Laurent Monin <geeqie@norz.org>
+Date: Thu Nov 6 20:01:32 2008 +0000
-Move uri_*() functions to separate files: uri_utils.[ch]
+ 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).
-------------------------------------------------------------------------
-r997 | nadvornik | 2008-07-20 17:04:40 +0200 (Sun, 20 Jul 2008) | 1 line
+commit ebf81820c51edd5ab948021d75e79f9d933937fe
+Author: Laurent Monin <geeqie@norz.org>
+Date: Tue Nov 4 17:26:46 2008 +0000
-periodic testing of changed files can be now disabled
-------------------------------------------------------------------------
-r996 | zas_ | 2008-07-20 16:56:32 +0200 (Sun, 20 Jul 2008) | 3 lines
+ 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.
-Move history_list_*() functions to separate files:
-history_list.c and history_list.h.
+commit 6a2475e57fdb9ee5e405acee23261b83f5c31230
+Author: Laurent Monin <geeqie@norz.org>
+Date: Tue Nov 4 17:11:53 2008 +0000
-------------------------------------------------------------------------
-r995 | nadvornik | 2008-07-20 16:52:00 +0200 (Sun, 20 Jul 2008) | 2 lines
+ 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.
-implemented "create directory" command
+commit 54ae8be35d9e69aa570cba8baf9f2e60ef018ba8
+Author: Laurent Monin <geeqie@norz.org>
+Date: Mon Oct 27 13:31:39 2008 +0000
-------------------------------------------------------------------------
-r994 | nadvornik | 2008-07-20 15:59:55 +0200 (Sun, 20 Jul 2008) | 2 lines
+ Do not install doc/Makefile*. Reported and fixed by Krzysztof Kotlenga.
-fixed file copy/move dialog
+commit 7771d3caa664a6563b229ee2b322e0d0fd4e4036
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sun Oct 26 19:27:20 2008 +0000
-------------------------------------------------------------------------
-r993 | nadvornik | 2008-07-20 15:19:22 +0200 (Sun, 20 Jul 2008) | 5 lines
+ Use h2/h3 tags where appropriate.
-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 15759e0f4884b7b9ec62c0d388707244c7ca0b58
+Author: Petr Ostadal <postadal@suse.cz>
+Date: Sun Oct 26 13:43:10 2008 +0000
-------------------------------------------------------------------------
-r992 | zas_ | 2008-07-20 14:20:12 +0200 (Sun, 20 Jul 2008) | 2 lines
+ Fixed doc/Makefile.am according to renamed doc files.
-Optimize history_list_add_to_key() a bit.
+commit eab8813037f2cedc25857bc889b55502b1666455
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sat Oct 25 14:42:52 2008 +0000
-------------------------------------------------------------------------
-r991 | nadvornik | 2008-07-20 13:29:12 +0200 (Sun, 20 Jul 2008) | 2 lines
+ Keyboard table cleanup attempt. Need more work.
-fixed previous checkin
+commit fcae84ab900d0203d2339e22888956a9c7565fe8
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sat Oct 25 13:14:00 2008 +0000
-------------------------------------------------------------------------
-r990 | nadvornik | 2008-07-20 13:22:19 +0200 (Sun, 20 Jul 2008) | 2 lines
+ Move menus to unordered lists - step 2.
-implemented directory rename and delete operations
+commit f5596799545b5e6c482ef267d892b674f544e7fc
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sat Oct 25 11:02:09 2008 +0000
-------------------------------------------------------------------------
-r989 | zas_ | 2008-07-20 09:52:16 +0200 (Sun, 20 Jul 2008) | 2 lines
+ Move menus to unordered lists - step 1.
-Move out test outside the loop.
+commit 1f80d96fb573f9597105e5bd3f8d4062d90632f7
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sat Oct 25 08:49:07 2008 +0000
-------------------------------------------------------------------------
-r988 | zas_ | 2008-07-19 15:57:03 +0200 (Sat, 19 Jul 2008) | 2 lines
+ Align Previous to the left, drop useless col tags.
-Tidy up.
+commit ad8d4b695280105b9d60e155bbebddc0437c22fe
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sat Oct 25 08:14:34 2008 +0000
-------------------------------------------------------------------------
-r987 | zas_ | 2008-07-19 14:36:46 +0200 (Sat, 19 Jul 2008) | 2 lines
+ Drop meta CREATED and CHANGED since they will never be updated and svn takes care of versions.
-Fix missing newline at end of file.
+commit fdde32bc5523fba5186ffa2e53fdf931df96aaeb
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sat Oct 25 08:10:11 2008 +0000
-------------------------------------------------------------------------
-r986 | nadvornik | 2008-07-19 11:06:24 +0200 (Sat, 19 Jul 2008) | 2 lines
+ Fix page titles.
-increase reference count before sending notification in file_data_new
+commit fef02967c23d615d5ce61eb4718cb7e5ac369b51
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sat Oct 25 08:07:57 2008 +0000
-------------------------------------------------------------------------
-r985 | nadvornik | 2008-07-18 23:20:49 +0200 (Fri, 18 Jul 2008) | 2 lines
+ Drop chapters numbers from h1 title, and reformat top title a bit.
-fixed test for changed files in cache
+commit 0e44cb8c2afa66bc481ce2aff26e00995e9a8626
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sat Oct 25 07:47:47 2008 +0000
-------------------------------------------------------------------------
-r984 | zas_ | 2008-07-18 11:55:15 +0200 (Fri, 18 Jul 2008) | 2 lines
+ Get rid off of chapters numbers in html documentation filenames. It will ease re-ordering.
-Introduce image_loader_set_done_func().
+commit 2ad4eda59805bb107467b55ebd9b4128c247324b
+Author: Laurent Monin <geeqie@norz.org>
+Date: Thu Oct 23 22:45:44 2008 +0000
-------------------------------------------------------------------------
-r983 | zas_ | 2008-07-18 00:36:58 +0200 (Fri, 18 Jul 2008) | 2 lines
+ Update legal notice and copyright to mention The Geeqie Team.
-Reduce code redundancy by moving common code to new menu_choice_get_match_type().
+commit 89ae704a2393f7a89d56b9fc9bd233004c046219
+Author: Laurent Monin <geeqie@norz.org>
+Date: Thu Oct 23 19:06:23 2008 +0000
-------------------------------------------------------------------------
-r982 | nadvornik | 2008-07-17 23:51:21 +0200 (Thu, 17 Jul 2008) | 2 lines
+ 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).
-reload changed images
+commit d92d4a31ba855a0a9e282ea398fab5667896d445
+Author: Laurent Monin <geeqie@norz.org>
+Date: Thu Oct 23 18:06:28 2008 +0000
-------------------------------------------------------------------------
-r981 | zas_ | 2008-07-15 17:37:14 +0200 (Tue, 15 Jul 2008) | 2 lines
+ Change occurences of GQview and gqview to Geeqie and geeqie. Rename gqview_faq.html to faq.html
-Move code from image_osd_update_cb() to separate functions.
+commit f21cc1844a4d3cc73a9852aee48f7087a35b773b
+Author: Laurent Monin <geeqie@norz.org>
+Date: Wed Oct 22 19:56:29 2008 +0000
-------------------------------------------------------------------------
-r980 | zas_ | 2008-07-15 16:32:00 +0200 (Tue, 15 Jul 2008) | 2 lines
+ Let Create thumbnails start in current directory (fallback to home directory if not available) as requested by Marcin Zajaczkowski (feature request 2166691).
-Tidy up and code redundancy reduction.
+commit e6eba8a87fe7c07c39dac82d07a298c65d31041a
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Mon Oct 20 21:00:18 2008 +0000
-------------------------------------------------------------------------
-r979 | zas_ | 2008-07-15 14:52:02 +0200 (Tue, 15 Jul 2008) | 4 lines
+ Fix a cut and paste error when implementing the comment search (Klaus
+ Ethgen)
-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 a06197472f69c64332a5e67e191e95654a8ed82d
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Mon Oct 20 17:13:32 2008 +0000
-------------------------------------------------------------------------
-r978 | zas_ | 2008-07-13 16:50:07 +0200 (Sun, 13 Jul 2008) | 9 lines
+ fixed failed assertion in exif_free
-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 652c3a9fcca7b81091ac80e539df441a4cf6df22
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sat Oct 18 20:17:55 2008 +0000
-------------------------------------------------------------------------
-r977 | zas_ | 2008-07-13 15:51:23 +0200 (Sun, 13 Jul 2008) | 2 lines
+ create xmp sidecar when needed
-Apply debian-specific patch to launch help browser (bug 2015099).
+commit fe16e7bfad961a8ebcc27b50a5dac4aef1b99396
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sat Oct 18 19:20:27 2008 +0000
-------------------------------------------------------------------------
-r976 | zas_ | 2008-07-13 14:36:18 +0200 (Sun, 13 Jul 2008) | 3 lines
+ simple synchronization XMP <-> Exif, IPTC
-Fix a segfault occuring when opening some collection files.
-Skip all lines not starting with a # when only geometry is required.
+commit 003a4a917981dcc3d7004fe9896518ee86016198
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sat Oct 18 18:22:57 2008 +0000
-------------------------------------------------------------------------
-r975 | zas_ | 2008-07-05 12:21:09 +0200 (Sat, 05 Jul 2008) | 2 lines
+ infrastructure for preprocessing of metadata
-Prevent segfault in certain conditions when displaying debug message.
+commit 40e5b63b8b32a28f4ab9877d48ae5fe5fddd0acf
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sat Oct 18 09:07:52 2008 +0000
-------------------------------------------------------------------------
-r974 | zas_ | 2008-07-05 00:49:04 +0200 (Sat, 05 Jul 2008) | 2 lines
+ fixed bar_exif separator
-French translation was updated.
+commit 666154c6c7576bff4647b0a9dfff08665026cb42
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sat Oct 18 08:40:32 2008 +0000
-------------------------------------------------------------------------
-r973 | zas_ | 2008-07-04 22:32:48 +0200 (Fri, 04 Jul 2008) | 3 lines
+ reordered advanced exif columns
-Optimize a bit when connected zoom and scrolling are unset,
-just move the test outside loops.
+commit 2741df92d520da9047e0ca966e2f6fd095cb75c3
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sat Oct 18 08:31:25 2008 +0000
-------------------------------------------------------------------------
-r972 | zas_ | 2008-07-04 19:21:07 +0200 (Fri, 04 Jul 2008) | 2 lines
+ no need to validate description, it is in utf8
-layout_color_button_press_cb(): tidy up, drop useless memory allocations, improve i18n.
+commit b8cfa7eea753ca24de28db8ee08c1a3c0fae32ad
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Fri Oct 17 22:00:07 2008 +0000
-------------------------------------------------------------------------
-r971 | nadvornik | 2008-07-03 22:16:15 +0200 (Thu, 03 Jul 2008) | 2 lines
+ improved custom exif look:
+ - use toggle instead of remove button
+ - display description instead of property key
-refresh thumbnails on file change
+commit 0109fd0fea063d111a314fee97da5fc3adf13cdc
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Tue Oct 14 21:24:34 2008 +0000
-------------------------------------------------------------------------
-r970 | nadvornik | 2008-07-03 21:38:19 +0200 (Thu, 03 Jul 2008) | 2 lines
+ follow Exiv2 SVN changes
-set fallback thumbnail pixbuf only if the loading really fails
+commit 100552d7587b35759b1492a3ba51df58565b96f5
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sun Oct 12 08:49:45 2008 +0000
-------------------------------------------------------------------------
-r969 | zas_ | 2008-07-03 20:16:39 +0200 (Thu, 03 Jul 2008) | 4 lines
+ French translation was updated.
-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 2ed614f0a404a3f6311976ea15eb7839baaf51f5
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sun Oct 12 08:43:14 2008 +0000
-------------------------------------------------------------------------
-r968 | zas_ | 2008-07-03 10:33:10 +0200 (Thu, 03 Jul 2008) | 4 lines
+ Add a button for each advanced entry in Properties Exif Panel that allow to remove it from display. It fixes bug 1962611.
-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 801d2c19571cfc858f1348a05d17f22fb39d1679
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sun Oct 12 08:36:53 2008 +0000
-------------------------------------------------------------------------
-r967 | zas_ | 2008-07-02 10:38:47 +0200 (Wed, 02 Jul 2008) | 5 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.
-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 d198cfafce20a7866d0a3dd80b1592ca59f5dcbc
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sat Oct 11 20:19:48 2008 +0000
-------------------------------------------------------------------------
-r966 | nadvornik | 2008-06-30 23:08:28 +0200 (Mon, 30 Jun 2008) | 2 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
-fixed division by zero in pixbuf_renderer_get_scroll_center
+commit dfb0fdc2f0b5cbc0207e360a3bcce9f6bd0b5c75
+Author: Laurent Monin <geeqie@norz.org>
+Date: Tue Oct 7 19:34:11 2008 +0000
-------------------------------------------------------------------------
-r965 | zas_ | 2008-06-29 17:51:54 +0200 (Sun, 29 Jun 2008) | 4 lines
+ French translation was updated.
-Merge thumb_loader_save_to_cache() and thumb_loader_mark_failure()
-into thumb_loader_save_thumbnail().
-Most of the code was redundant.
+commit bce60ede0854a7a65ad009bd51b16549ba58bc1e
+Author: Laurent Monin <geeqie@norz.org>
+Date: Tue Oct 7 19:29:13 2008 +0000
-------------------------------------------------------------------------
-r964 | zas_ | 2008-06-29 12:11:43 +0200 (Sun, 29 Jun 2008) | 3 lines
+ Fix up few signed vs unsigned warnings: exif_item_get_rational() last parameter is now of guint type.
-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 eee2c88df65f6cc0112be1098cdcf79f0560e947
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Tue Oct 7 18:37:32 2008 +0000
-------------------------------------------------------------------------
-r963 | zas_ | 2008-06-28 10:01:36 +0200 (Sat, 28 Jun 2008) | 2 lines
+ Implement the search for image comment - patch by Klaus Ethgen
-layout_image_drag_cb(): optimize when connected scrolling is unset.
+commit d8c1c93fea463eb0a309de7509676624774c0ad3
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Tue Oct 7 18:22:58 2008 +0000
-------------------------------------------------------------------------
-r962 | zas_ | 2008-06-28 09:43:37 +0200 (Sat, 28 Jun 2008) | 2 lines
+ Fixed degree symbol encoding
-Reduce number of parameters (mostly unused), just pass the event pointer.
+commit 0cd8f42464c6e1e152f1bb9e79b1144f4529b4d1
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Tue Oct 7 18:20:22 2008 +0000
-------------------------------------------------------------------------
-r961 | zas_ | 2008-06-28 02:44:31 +0200 (Sat, 28 Jun 2008) | 3 lines
+ Adding a vim modeline to all files - patch by Klaus Ethgen
-Fix warning:
-thumb.c:31: warning : 'normalize_thumb' declared 'static' but never defined
+commit be6e4ea715f504545a7d0edc5767b0b82f71477f
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sun Oct 5 18:25:44 2008 +0000
-------------------------------------------------------------------------
-r960 | zas_ | 2008-06-28 00:57:48 +0200 (Sat, 28 Jun 2008) | 3 lines
+ fixed confirm_delete option
-image_osd_mkinfo(): pipe replacement by " - " separator was fixed to work correctly with
-empty first element.
+commit 69282a3890ec9264e5471249ad51c8fdb0ed7418
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sat Oct 4 20:28:31 2008 +0000
-------------------------------------------------------------------------
-r959 | nadvornik | 2008-06-27 23:35:21 +0200 (Fri, 27 Jun 2008) | 3 lines
+ fixed charset of exiv2 strings in non-utf8 locales
-do not read keywords and comment between exif_read_fd and exif_free_fd
-calls (fd->exif does not have reference counting)
+commit 7c50f768d91be9ff48b5cb64de603df00393c52f
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Wed Oct 1 20:57:56 2008 +0000
-------------------------------------------------------------------------
-r958 | nadvornik | 2008-06-27 23:09:15 +0200 (Fri, 27 Jun 2008) | 3 lines
+ Add support for GPSInfo - patch by Klaus Ethgen
-added pixbuf_fallback function
-fixed thumb loader for non-image files
+commit 599380cc2099521bbf7c879666140943e1c684b6
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Mon Sep 29 21:17:19 2008 +0000
-------------------------------------------------------------------------
-r957 | nadvornik | 2008-06-27 20:43:05 +0200 (Fri, 27 Jun 2008) | 2 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
-fixed crash in entering fullscreen during loading
+commit 1d1f495c4b3881f540059444ff5aa20eb9bda175
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Mon Sep 29 21:09:48 2008 +0000
-------------------------------------------------------------------------
-r956 | zas_ | 2008-06-27 12:00:55 +0200 (Fri, 27 Jun 2008) | 2 lines
+ fixes executable right of images
-osd_template_insert(): optimize and simplify using flags.
+commit 9ab09626f588694ad7ada2e522b74e205fd96795
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Mon Sep 29 21:01:30 2008 +0000
-------------------------------------------------------------------------
-r955 | zas_ | 2008-06-27 10:05:51 +0200 (Fri, 27 Jun 2008) | 3 lines
+ enlarge the dupe window - patch by Klaus Ethgen
-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 cf8398c63f204d0dcf375577446c732c66122f6b
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sat Sep 27 18:48:32 2008 +0000
-------------------------------------------------------------------------
-r954 | zas_ | 2008-06-27 01:29:08 +0200 (Fri, 27 Jun 2008) | 2 lines
+ updated preview loader to work with current svn version of libexiv2
-image_osd_info_render(): code cleanup and simplification, drop some useless memory allocations.
+commit d4bc6c7e66a32bb0cc5a3e889ce8bef9b1374908
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Wed Sep 10 20:37:30 2008 +0000
-------------------------------------------------------------------------
-r953 | zas_ | 2008-06-26 17:59:20 +0200 (Thu, 26 Jun 2008) | 2 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)
-Use flags for pr_zoom_*() functions.
+commit f7a5afb6959672b77b973544b217867329a30c5f
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Tue Sep 9 19:46:44 2008 +0000
-------------------------------------------------------------------------
-r952 | zas_ | 2008-06-26 16:43:52 +0200 (Thu, 26 Jun 2008) | 2 lines
+ reverted buggy part of rev. 1138 - it made the filelist jump
+ unexpectedly
-Use stricter types for image options.
+commit a7c9810b152dd9bb01d18e7d048f405d8f11f0ac
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Mon Sep 8 19:57:51 2008 +0000
-------------------------------------------------------------------------
-r951 | zas_ | 2008-06-26 14:23:48 +0200 (Thu, 26 Jun 2008) | 2 lines
+ added possibility to redraw only the parts of image that are already
+ loaded
-Use flags instead of int parameters for pixbuf_renderer_overlay_add().
+commit 383624b87b5f9ea402e0fe4479b955f591025f73
+Author: Laurent Monin <geeqie@norz.org>
+Date: Mon Sep 8 15:53:01 2008 +0000
-------------------------------------------------------------------------
-r950 | zas_ | 2008-06-26 13:48:40 +0200 (Thu, 26 Jun 2008) | 3 lines
+ Fix a compiler warning regarding argument type.
-Only define ExifOrientationType if GQ_BUILD is not defined since
-it is already defined in exif.h.
+commit a53fb65f7e552f4a07760fd72dfd0a6caa5753ff
+Author: Petr Ostadal <postadal@suse.cz>
+Date: Sun Sep 7 23:01:30 2008 +0000
-------------------------------------------------------------------------
-r949 | zas_ | 2008-06-25 22:53:52 +0200 (Wed, 25 Jun 2008) | 2 lines
+ Replaced gtk depreceated code.
-Tidy up.
+commit a5aea8fd342ca8d4834464428cab25d373925409
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sun Sep 7 19:42:19 2008 +0000
-------------------------------------------------------------------------
-r948 | zas_ | 2008-06-25 22:22:02 +0200 (Wed, 25 Jun 2008) | 2 lines
+ Shorten config_window_apply() a bit, reduce code redunancy.
-French translation was updated.
+commit 587b4b8d1136e5f043da5566c996cd7a6e288387
+Author: Laurent Monin <geeqie@norz.org>
+Date: Thu Sep 4 22:35:33 2008 +0000
-------------------------------------------------------------------------
-r947 | nadvornik | 2008-06-22 22:07:32 +0200 (Sun, 22 Jun 2008) | 2 lines
+ Update translations stats.
-optimized marks drawing
+commit aff258e59eca1aa6a8bd8e5401fccbfceaf4954f
+Author: Laurent Monin <geeqie@norz.org>
+Date: Thu Sep 4 22:29:32 2008 +0000
-------------------------------------------------------------------------
-r946 | nadvornik | 2008-06-22 22:01:20 +0200 (Sun, 22 Jun 2008) | 2 lines
+ French translation was updated.
-show marks in iconview
+commit 9b64bd058039a1d7d926670d90bffadeb0db3bb4
+Author: Laurent Monin <geeqie@norz.org>
+Date: Thu Sep 4 22:04:32 2008 +0000
-------------------------------------------------------------------------
-r945 | nadvornik | 2008-06-22 12:01:26 +0200 (Sun, 22 Jun 2008) | 2 lines
+ Allow all Preferences pages to scroll vertically. Reduce code redundancy.
-show sidecars in icon view
+commit aa81bf7cdffe666d7e5b7098c564d50e46401312
+Author: Laurent Monin <geeqie@norz.org>
+Date: Thu Sep 4 21:38:28 2008 +0000
-------------------------------------------------------------------------
-r944 | nadvornik | 2008-06-22 11:40:57 +0200 (Sun, 22 Jun 2008) | 2 lines
+ Allow to change image.scroll_reset_method in Preferences > Image.
-fixed in-place renaming
+commit baedcd2f82ac6f4b819d9919e280a54c7edaa6b7
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Thu Sep 4 21:19:09 2008 +0000
-------------------------------------------------------------------------
-r943 | nadvornik | 2008-06-22 11:19:42 +0200 (Sun, 22 Jun 2008) | 2 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)
-added possibility to disable grouping of selected files
+commit 9050223df5347b7d2f1ed1d23669e05f19405f77
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Wed Sep 3 21:54:49 2008 +0000
-------------------------------------------------------------------------
-r942 | nadvornik | 2008-06-22 00:01:45 +0200 (Sun, 22 Jun 2008) | 2 lines
+ load thumbnails with lower priority
+ TODO: maybe implement an exception for visible thumbnails
-cache size made configurable
+commit e1a5a486095b6987c45f9612c97816a6b01f1de1
+Author: Laurent Monin <geeqie@norz.org>
+Date: Wed Sep 3 21:13:02 2008 +0000
-------------------------------------------------------------------------
-r941 | nadvornik | 2008-06-21 21:26:01 +0200 (Sat, 21 Jun 2008) | 2 lines
+ Improve debug messages.
-measure pixbuf cache size in bytes
+commit 6f89fefc8a298f05304f3f7cab37fc76df97c2b8
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Wed Sep 3 20:43:10 2008 +0000
-------------------------------------------------------------------------
-r940 | nadvornik | 2008-06-21 18:00:13 +0200 (Sat, 21 Jun 2008) | 2 lines
+ adjusted default options
-simple cache for loaded pixbufs
+commit c518bcef3c44e37ec7cdc935961607db5113f8b5
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Wed Sep 3 20:29:32 2008 +0000
-------------------------------------------------------------------------
-r939 | nadvornik | 2008-06-21 13:05:55 +0200 (Sat, 21 Jun 2008) | 2 lines
+ adjusted redraw priority relative to icon drawing
-renamed fd->pixbuf to fd->thumb_pixbuf
+commit 48519673cc4fea79e657453ed4785457a8e59ea2
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Wed Sep 3 19:58:21 2008 +0000
-------------------------------------------------------------------------
-r938 | nadvornik | 2008-06-19 00:26:52 +0200 (Thu, 19 Jun 2008) | 3 lines
+ dropped IMAGE_THROTTLE_LARGER_IMAGES code
-implemented generic FileData cache
-use it for caching decoded exif data
+commit 47a0c37d34499a1f71085093447789949350e063
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Wed Sep 3 19:52:11 2008 +0000
-------------------------------------------------------------------------
-r937 | nadvornik | 2008-06-17 22:25:05 +0200 (Tue, 17 Jun 2008) | 2 lines
+ fixed handling of broken images
-more robust thumbs progress bar
+commit 64aea117f708ea87c87ce2706d4c6b1bafa21541
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Mon Sep 1 19:18:32 2008 +0000
-------------------------------------------------------------------------
-r936 | nadvornik | 2008-06-17 21:56:21 +0200 (Tue, 17 Jun 2008) | 2 lines
+ improved pixbuf draw priority control
-do not allocate new buffer for thumbnails with correct orientation
+commit c6db02fc9beb44c3f4921cb362c397ff0a54ba26
+Author: Laurent Monin <geeqie@norz.org>
+Date: Mon Sep 1 17:29:07 2008 +0000
-------------------------------------------------------------------------
-r935 | nadvornik | 2008-06-16 21:07:02 +0200 (Mon, 16 Jun 2008) | 2 lines
+ Use a constant for minimal window size. Set it to 32 for all dialogs.
-fixed memory leak
+commit bf183b8e89e1244c13f8812bd51a134dd82e66d0
+Author: Laurent Monin <geeqie@norz.org>
+Date: Mon Sep 1 17:22:19 2008 +0000
-------------------------------------------------------------------------
-r934 | nadvornik | 2008-06-16 20:37:35 +0200 (Mon, 16 Jun 2008) | 2 lines
+ Remove redundant debug.h inclusion.
-another try to free layout at exit
+commit 14596dddc9e279d6444b473378668618b0200842
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sun Aug 31 21:19:00 2008 +0000
-------------------------------------------------------------------------
-r933 | nadvornik | 2008-06-15 23:52:15 +0200 (Sun, 15 Jun 2008) | 2 lines
+ fixed read ahead callback
-rotate thumbnails by exif
+commit 0aef642959d09a0a417e3a1bd9838290673da331
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sun Aug 31 21:02:09 2008 +0000
-------------------------------------------------------------------------
-r932 | nadvornik | 2008-06-15 22:09:15 +0200 (Sun, 15 Jun 2008) | 2 lines
+ fixed error handling in image loader
-use FileData in thumb_loader
+commit b10a2e1226a762c6f5e5a76255469c9a58312937
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sun Aug 31 18:53:11 2008 +0000
-------------------------------------------------------------------------
-r931 | nadvornik | 2008-06-14 23:49:48 +0200 (Sat, 14 Jun 2008) | 2 lines
+ fixed possible endless loop
-use GtkSizeGroup to control initial size of split images
+commit 131dc85e54bb154ece413c99e10d0bb07aced996
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sun Aug 31 12:29:49 2008 +0000
-------------------------------------------------------------------------
-r930 | nadvornik | 2008-06-14 20:41:30 +0200 (Sat, 14 Jun 2008) | 2 lines
+ Add a Save button to Preferences dialog, which allow to save options to file without quitting the application.
-preserve image center on refresh
+commit 7725546b83707d675c466dd1b9eb96380ad2f067
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sun Aug 31 11:27:24 2008 +0000
-------------------------------------------------------------------------
-r929 | nadvornik | 2008-06-14 20:33:40 +0200 (Sat, 14 Jun 2008) | 4 lines
+ Move quoted_value() and escquote_value() to misc.[ch].
-use multiline description in vflist with large thumbnails
-always display marks in the first column
-show expander in "name" column
+commit ea455387a49dc8457b2489fefdd8f7cd5a178e0b
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sun Aug 31 10:51:41 2008 +0000
-------------------------------------------------------------------------
-r928 | nadvornik | 2008-06-14 19:32:27 +0200 (Sat, 14 Jun 2008) | 2 lines
+ Move miscellaneous functions to their own files (new misc.[ch]).
-join name and sidecars to one string
+commit 2b9bf5f494fa20b8531a3bbbe6140c15985ec13a
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sun Aug 31 10:08:48 2008 +0000
-------------------------------------------------------------------------
-r927 | nadvornik | 2008-06-14 19:14:28 +0200 (Sat, 14 Jun 2008) | 2 lines
+ use GThreadPool
-optimized vflist_setup_iter_recursive
+commit 5cf88e588d2c061c470aa524d4a89561b5182c1b
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sun Aug 31 09:20:29 2008 +0000
-------------------------------------------------------------------------
-r926 | nadvornik | 2008-06-14 14:43:39 +0200 (Sat, 14 Jun 2008) | 2 lines
+ improved thread support in image loader
-iconlist_refresh optimization
+commit 9212340ececba2346d599fa8ffaa6f7ddafcc558
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sun Aug 31 09:13:42 2008 +0000
-------------------------------------------------------------------------
-r925 | nadvornik | 2008-06-14 14:30:44 +0200 (Sat, 14 Jun 2008) | 2 lines
+ Move save/load_options() to options.[ch].
-fixed iconview update after deletion of selected image
+commit 77bc802fa727e39b259cef5431bb897618f888d3
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sun Aug 31 08:59:39 2008 +0000
-------------------------------------------------------------------------
-r924 | zas_ | 2008-06-14 08:52:52 +0200 (Sat, 14 Jun 2008) | 2 lines
+ Move sync_options_with_current_state() call to save_options().
-Silent unused variable warning.
+commit 0db9254e25cad32d5e954f04696e6e5fe74554e3
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sun Aug 31 08:41:42 2008 +0000
-------------------------------------------------------------------------
-r923 | nadvornik | 2008-06-13 23:32:58 +0200 (Fri, 13 Jun 2008) | 2 lines
+ Move some code to new functions, to simplify main().
-optimized vflist_setup_iter
+commit f01ec2c48c555c486ad40ced8341c57dcc4d5e2d
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sun Aug 31 08:13:36 2008 +0000
-------------------------------------------------------------------------
-r922 | zas_ | 2008-06-13 15:33:11 +0200 (Fri, 13 Jun 2008) | 2 lines
+ Fix two minor compilation warnings.
-French translation was updated.
+commit a710f33e4b885e22e3744beb9af9b9285d73640c
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sat Aug 30 20:15:47 2008 +0000
-------------------------------------------------------------------------
-r921 | zas_ | 2008-06-13 14:27:41 +0200 (Fri, 13 Jun 2008) | 5 lines
+ run image loader in separate thread
+ this feature is disabled by default for now, it must be enabled by
+ configure --enable-threads
-Revert patches 759 and 760.
-759 patch broke adding selection of files through sort manager
-to an unopened collection.
+commit 6a73bcf507697b77cebc69761bb2db8801210641
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sat Aug 30 13:04:06 2008 +0000
+ prepared image loader code for threads
-------------------------------------------------------------------------
-r920 | zas_ | 2008-06-13 13:51:23 +0200 (Fri, 13 Jun 2008) | 2 lines
+commit 01bbfff007b6e540e22a1966971a9d00a41a66ad
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sat Aug 30 10:39:35 2008 +0000
-Display total size of files in collection window, for the list and for the selection.
+ Allow to override documentation paths through options:
+ - documentation.helpdir
+ - documentation.htmldir
+ Default values are set at configure time.
-------------------------------------------------------------------------
-r919 | zas_ | 2008-06-13 13:11:57 +0200 (Fri, 13 Jun 2008) | 4 lines
+commit ba17ee7539c814d49d3b57158fc91000a4fae2e1
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Fri Aug 29 20:53:53 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.
+ converted image loader to a GObject and use signals for notification
-------------------------------------------------------------------------
-r918 | zas_ | 2008-06-13 00:43:32 +0200 (Fri, 13 Jun 2008) | 7 lines
+commit 6f13139c2ac0a4e11e21e041ca4f5c4f1327dfac
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Fri Aug 29 12:35:13 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
+ do not access image_loader directly
+commit dc649dfbb31df6e75c7283405ba99084ea328206
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Fri Aug 29 09:59:20 2008 +0000
-------------------------------------------------------------------------
-r917 | zas_ | 2008-06-12 23:21:32 +0200 (Thu, 12 Jun 2008) | 2 lines
+ added new raw preview interface for legacy exif
-Add a comment about relative positions of image overlay in the rc file.
+commit 6654b671684992272856344aa34b59301c35e023
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Fri Aug 29 09:38:10 2008 +0000
-------------------------------------------------------------------------
-r916 | zas_ | 2008-06-12 22:33:51 +0200 (Thu, 12 Jun 2008) | 6 lines
+ fixed thumbnail loader for the new raw preview interface
-Allow to set image overlay info position through options:
-- image_overlay.common.x
-- image_overlay.common.y
+commit bea9cd293c96a86d196b6fa2af689e41fbfa65a2
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Thu Aug 28 22:26:09 2008 +0000
-For now, there are only editable through rc file.
+ use mmaped files image loader
+ implemented new interface for extracting raw previews
+ experiments with previews support in SVN version of Exiv2
-------------------------------------------------------------------------
-r915 | zas_ | 2008-06-12 22:17:22 +0200 (Thu, 12 Jun 2008) | 6 lines
+commit 7fa8df7737575cc63b627b4337131122faffe496
+Author: Petr Ostadal <postadal@suse.cz>
+Date: Thu Aug 28 12:51:02 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)
+ Removed converting fd->name to utf8 from file_data_set_collate_keys(), because fd->name is utf8.
-------------------------------------------------------------------------
-r914 | nadvornik | 2008-06-12 20:30:33 +0200 (Thu, 12 Jun 2008) | 2 lines
+commit 4908ddd714be7cab8e1cf290fec62d7288692856
+Author: Laurent Monin <geeqie@norz.org>
+Date: Thu Aug 28 10:50:02 2008 +0000
-reverted changes in layout_close made in rev. 890 and 901
+ Silent warnings about unused functions when lcms is not used.
-------------------------------------------------------------------------
-r913 | nadvornik | 2008-06-10 21:25:21 +0200 (Tue, 10 Jun 2008) | 2 lines
+commit 35776f2dee4439e5ece5ec4746acaffa36fee793
+Author: Laurent Monin <geeqie@norz.org>
+Date: Wed Aug 27 17:02:14 2008 +0000
-fixed vdtree_sort_cb
+ Comment out unused functions.
-------------------------------------------------------------------------
-r912 | nadvornik | 2008-06-10 20:39:19 +0200 (Tue, 10 Jun 2008) | 2 lines
+commit dd4ea407ecdeea13e0117b242aa4ceac71239b9d
+Author: Laurent Monin <geeqie@norz.org>
+Date: Wed Aug 27 16:42:59 2008 +0000
-fixed segfault in vd_rename_cb
+ Silent a compiler warning.
-------------------------------------------------------------------------
-r911 | nadvornik | 2008-06-10 20:19:17 +0200 (Tue, 10 Jun 2008) | 2 lines
+commit 109ecd8c2e8beda448113dcaf36527b889b5f8ab
+Author: Laurent Monin <geeqie@norz.org>
+Date: Wed Aug 27 16:40:21 2008 +0000
-dropped vficon_sync, use vficon_refresh everywhere
+ const gpointer -> gconstpointer.
-------------------------------------------------------------------------
-r910 | zas_ | 2008-06-10 13:55:18 +0200 (Tue, 10 Jun 2008) | 2 lines
+commit 3ec7e5728fa2a17086d3b3144b46318e7a1f761d
+Author: Laurent Monin <geeqie@norz.org>
+Date: Tue Aug 26 22:37:18 2008 +0000
-collection_from_dnd_data(): simplify and optimize.
+ Use gpointer instead of void *.
-------------------------------------------------------------------------
-r909 | zas_ | 2008-06-10 13:27:35 +0200 (Tue, 10 Jun 2008) | 2 lines
+commit cd85461e278e79a4894b5bc400273d3f6719416d
+Author: Laurent Monin <geeqie@norz.org>
+Date: Tue Aug 26 22:30:40 2008 +0000
-collection_info_list_to_dnd_data(): simplify and optimize.
+ Consistency: type * instead of type*.
-------------------------------------------------------------------------
-r908 | nadvornik | 2008-06-09 22:27:39 +0200 (Mon, 09 Jun 2008) | 2 lines
+commit c1006fb758679c5349ac658fe74562ebd88ddf8c
+Author: Laurent Monin <geeqie@norz.org>
+Date: Tue Aug 26 22:22:51 2008 +0000
-moved notification to view_file.c
+ For the sake of consistency, use glib basic types everywhere.
-------------------------------------------------------------------------
-r907 | nadvornik | 2008-06-09 21:43:56 +0200 (Mon, 09 Jun 2008) | 2 lines
+commit aea00af29f6f572581b8bcc6e856e17b4676d381
+Author: Laurent Monin <geeqie@norz.org>
+Date: Tue Aug 26 21:19:33 2008 +0000
-run idle function just once
+ Indentation fixes.
-------------------------------------------------------------------------
-r906 | nadvornik | 2008-06-09 21:41:37 +0200 (Mon, 09 Jun 2008) | 2 lines
+commit 4073149801dc3484ae0c231c56cb814a8a20024b
+Author: Petr Ostadal <postadal@suse.cz>
+Date: Tue Aug 26 20:21:30 2008 +0000
-use vficon_refresh for updating
+ Fixed segfault when is run inside directory with non valid uft-8 image
+ filename.
-------------------------------------------------------------------------
-r905 | nadvornik | 2008-06-09 21:00:47 +0200 (Mon, 09 Jun 2008) | 2 lines
+commit ead8d30aaa1f5e02f703d7ca97c6eaed6df61234
+Author: Petr Ostadal <postadal@suse.cz>
+Date: Tue Aug 26 13:56:56 2008 +0000
-handle deletion of selected files
+ Fixed calling "Image search" function in a directory without image.
-------------------------------------------------------------------------
-r904 | nadvornik | 2008-06-09 20:28:28 +0200 (Mon, 09 Jun 2008) | 2 lines
+commit aa4d496a3c5caddb81fb114bebcf583784098e4e
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Mon Aug 25 22:45:38 2008 +0000
-optimized vficon_refresh_real
+ correctly maintain selection during iconlist refresh
-------------------------------------------------------------------------
-r903 | zas_ | 2008-06-09 12:10:34 +0200 (Mon, 09 Jun 2008) | 2 lines
+commit f39b5907f8825173f29be37f76c94d2c8b547188
+Author: Laurent Monin <geeqie@norz.org>
+Date: Mon Aug 25 22:20:45 2008 +0000
-Minor fixes and add a note about variable declaration.
+ Whitespaces cleanup.
-------------------------------------------------------------------------
-r902 | zas_ | 2008-06-09 09:14:46 +0200 (Mon, 09 Jun 2008) | 2 lines
+commit d04050839306a01814536f12e5480288dab52e0e
+Author: Petr Ostadal <postadal@suse.cz>
+Date: Mon Aug 25 18:13:33 2008 +0000
-Use unsigned type for marks since it is used as a bitfield.
+ Fixed segfaulting when alter image in directory without images.
-------------------------------------------------------------------------
-r901 | nadvornik | 2008-06-09 09:06:53 +0200 (Mon, 09 Jun 2008) | 2 lines
+commit c85a911368d6535d8553e6c81654accfbc486ae6
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Mon Aug 25 16:58:27 2008 +0000
-fixed saving options on exit
+ removed unused code
-------------------------------------------------------------------------
-r900 | zas_ | 2008-06-09 01:42:51 +0200 (Mon, 09 Jun 2008) | 2 lines
+commit 6b22ce5fd0f6a5b14ae6b761f1982e545385ec22
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sun Aug 24 14:40:18 2008 +0000
-Tidy up: add/remove white lines, minor code changes.
+ Typo fixes.
-------------------------------------------------------------------------
-r899 | nadvornik | 2008-06-08 23:21:13 +0200 (Sun, 08 Jun 2008) | 2 lines
+commit f20dd48a59ee12d0f21a79f745d1a331f921cf17
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sun Aug 24 14:33:03 2008 +0000
-improved vficon_populate
+ Slight code redundancy reduction.
-------------------------------------------------------------------------
-r898 | nadvornik | 2008-06-08 22:24:46 +0200 (Sun, 08 Jun 2008) | 2 lines
+commit 1e7b2c34c6d1229c7d95319c909fb550e64e5acf
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sun Aug 24 14:14:37 2008 +0000
-vficon_sync speed-up
+ Drop redundant variable affectation.
-------------------------------------------------------------------------
-r897 | nadvornik | 2008-06-08 21:09:44 +0200 (Sun, 08 Jun 2008) | 2 lines
+commit 7d788c98fbd2c656f2b5354e95bc8c1d5fa1093b
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sun Aug 24 13:22:08 2008 +0000
-better check for notify type
+ Fix untranslated messages. French translation and POTFILES.in were updated.
-------------------------------------------------------------------------
-r896 | nadvornik | 2008-06-08 11:25:39 +0200 (Sun, 08 Jun 2008) | 2 lines
+commit 9a1cc0021d442af191023c485a2dbcc69c218be2
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sun Aug 24 10:00:40 2008 +0000
-fixed switching thumbnails in listview on and off - bug 1984825
+ French translation was updated.
-------------------------------------------------------------------------
-r895 | nadvornik | 2008-06-08 00:44:17 +0200 (Sun, 08 Jun 2008) | 2 lines
+commit eca846433372d875c2bbaaf5160a9142ef86c203
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sun Aug 24 10:00:02 2008 +0000
-various refresh and notification fixes
+ Mark forgotten string for translation.
-------------------------------------------------------------------------
-r894 | nadvornik | 2008-06-07 17:08:33 +0200 (Sat, 07 Jun 2008) | 2 lines
+commit 46691080d3ca954f0cf45bb2bfad5f11701230f5
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sat Aug 23 21:07:25 2008 +0000
-various notification improvements
+ Fix another missing separator bug in image overlay. This one was occuring with default string when no ISO data was available from exif.
-------------------------------------------------------------------------
-r893 | nadvornik | 2008-06-07 12:45:33 +0200 (Sat, 07 Jun 2008) | 2 lines
+commit acc2c3b1b830e67f94c5648acee3706d7637a2df
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sat Aug 23 20:46:31 2008 +0000
-use the new notification for collections
+ Minor optimization: no need to copy the whole remaining of the string, just copy next char.
-------------------------------------------------------------------------
-r892 | zas_ | 2008-06-07 12:18:30 +0200 (Sat, 07 Jun 2008) | 3 lines
+commit b5bc1451f70cb5e9b92bf65789206cfd9c478cad
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sat Aug 23 17:35:57 2008 +0000
-Display Lirc state in config log.
-Re-organize the config log a bit.
+ Only display status if there is at least one file in the file list.
-------------------------------------------------------------------------
-r891 | nadvornik | 2008-06-07 11:36:12 +0200 (Sat, 07 Jun 2008) | 2 lines
+commit 060c2f9cf332a93e40c273e580133be05a984bf9
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sat Aug 23 17:00:59 2008 +0000
-use new notification in img-view
+ Remove unneeded type casting.
-------------------------------------------------------------------------
-r890 | nadvornik | 2008-06-07 11:10:01 +0200 (Sat, 07 Jun 2008) | 2 lines
+commit 50483da19c8039bb06121572573d0880df979c2c
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sat Aug 23 08:42:12 2008 +0000
-use new notification in layout and layout_image
+ fixed vd_refresh
-------------------------------------------------------------------------
-r889 | nadvornik | 2008-06-07 10:13:22 +0200 (Sat, 07 Jun 2008) | 2 lines
+commit bec02e283784eac07cda9f03ba0b255946944702
+Author: Laurent Monin <geeqie@norz.org>
+Date: Fri Aug 22 22:09:54 2008 +0000
-used new notification in search.c
+ French translation was updated.
-------------------------------------------------------------------------
-r888 | nadvornik | 2008-06-07 09:45:08 +0200 (Sat, 07 Jun 2008) | 2 lines
+commit eb72228e196dd942f5ebf11d6ffdbdc298046d27
+Author: Laurent Monin <geeqie@norz.org>
+Date: Fri Aug 22 21:52:13 2008 +0000
-used new notification in dupe.c
+ 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.
-------------------------------------------------------------------------
-r887 | nadvornik | 2008-06-07 00:34:15 +0200 (Sat, 07 Jun 2008) | 2 lines
+commit d58451c5831ce52023c007574c0d118f27096d72
+Author: Laurent Monin <geeqie@norz.org>
+Date: Thu Aug 21 22:49:30 2008 +0000
-used new notification in cache_maint
+ Typo fix: vf -> vd
-------------------------------------------------------------------------
-r886 | nadvornik | 2008-06-07 00:11:03 +0200 (Sat, 07 Jun 2008) | 2 lines
+commit 83cfd4393002fb06fc0a1b480f1221319f192ce8
+Author: Laurent Monin <geeqie@norz.org>
+Date: Thu Aug 21 22:47:49 2008 +0000
-added NotifyType
+ Replace macros VDLIST_INFO() and VDTREE_INFO() by shorter VDLIST() and VDTREE(). VDLIST_INFO(vd, part) becomes VDLIST(vd)->part.
-------------------------------------------------------------------------
-r885 | nadvornik | 2008-06-06 23:50:09 +0200 (Fri, 06 Jun 2008) | 2 lines
+commit 43c576558ba327e4aa71b35471e0863d159c44d1
+Author: Laurent Monin <geeqie@norz.org>
+Date: Thu Aug 21 22:36:20 2008 +0000
-realtime file monitor
+ Indentation fix.
-------------------------------------------------------------------------
-r884 | nadvornik | 2008-06-06 22:59:03 +0200 (Fri, 06 Jun 2008) | 2 lines
+commit de499c4c05275f24081780bc77b06519d7d9d12e
+Author: Laurent Monin <geeqie@norz.org>
+Date: Wed Aug 20 22:26:34 2008 +0000
-zero-lenght path must be allowed for now
+ 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.
-------------------------------------------------------------------------
-r883 | zas_ | 2008-06-06 10:01:19 +0200 (Fri, 06 Jun 2008) | 2 lines
+commit 66bc3de86cf6c443c6e2399fb5df9d515898014d
+Author: Laurent Monin <geeqie@norz.org>
+Date: Wed Aug 20 22:19:35 2008 +0000
-French translation was updated.
+ Do not return values of void functions. Reported by Jeffery Small.
-------------------------------------------------------------------------
-r882 | zas_ | 2008-06-06 01:31:22 +0200 (Fri, 06 Jun 2008) | 2 lines
+commit da981595f5f724233a7b54661e25e424a9134474
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Wed Aug 20 20:36:36 2008 +0000
-Fix "No newline at end of file" warning.
+ update the FileData structure when a new folder is created
-------------------------------------------------------------------------
-r881 | nadvornik | 2008-06-05 20:43:44 +0200 (Thu, 05 Jun 2008) | 2 lines
+commit b65f4f5667141545c1c2bccdca0ce93e92b26abe
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Tue Aug 19 22:58:31 2008 +0000
-use new notification in vficon
+ improved refresh in view_dir_list
-------------------------------------------------------------------------
-r880 | zas_ | 2008-06-05 11:24:42 +0200 (Thu, 05 Jun 2008) | 3 lines
+commit e8b3ce85469bc2ff88cdbf5abc38b22fa6c5f7cf
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Tue Aug 19 21:01:29 2008 +0000
-Compare paths using utf8_collate_key() since paths are utf8-encoded.
-It fixes bug 1959854.
+ set fallback pixbuf in case of missing file
-------------------------------------------------------------------------
-r879 | zas_ | 2008-06-05 10:41:02 +0200 (Thu, 05 Jun 2008) | 6 lines
+commit fe2d42004e25e8a5303ab7155731f7188062d1ca
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Tue Aug 19 20:58:23 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.
+ fixed possible segfault
-Partially fix bug 1959854.
+commit e1a9ff9eaba12db2969dc68da34956d3c97f9098
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sun Aug 17 14:18:51 2008 +0000
-------------------------------------------------------------------------
-r878 | nadvornik | 2008-06-04 23:12:47 +0200 (Wed, 04 Jun 2008) | 2 lines
+ removed code for maintaining filelist position, gtk_tree_view itself handles it
+ better
-new notification system (used only in vflist for now)
+commit 951b62566ba5616b63efe574ee956ac2c4fc5a3d
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sun Aug 17 09:36:02 2008 +0000
-------------------------------------------------------------------------
-r877 | nadvornik | 2008-06-03 21:44:19 +0200 (Tue, 03 Jun 2008) | 2 lines
+ French translation was updated.
-replaced directory path with FileData* dir_fd
+commit 3e3a0a459781d1008725274bde950589465acf6d
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sun Aug 17 09:30:45 2008 +0000
-------------------------------------------------------------------------
-r876 | zas_ | 2008-06-03 17:54:05 +0200 (Tue, 03 Jun 2008) | 4 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
-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 728c032c4cf6b098b968851a75f6bbe5488040b3
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sun Aug 17 09:00:33 2008 +0000
-------------------------------------------------------------------------
-r875 | zas_ | 2008-06-03 15:54:22 +0200 (Tue, 03 Jun 2008) | 2 lines
+ Move variable declaration at start of block.
-Replace hardcoded collection filename extension by a macro (GQ_COLLECTION_EXT).
+commit cb3202692eb4bcd65f45699b44ded4ac64cc9ad0
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sat Aug 16 23:37:26 2008 +0000
-------------------------------------------------------------------------
-r874 | zas_ | 2008-06-03 13:24:16 +0200 (Tue, 03 Jun 2008) | 2 lines
+ marks in iconview made clickable
-Drop initialization to NULL since filelist_read() will take care of it.
+commit dbf66300f4c6978d22a0a618778be09ad2fd1ed1
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sat Aug 16 20:57:40 2008 +0000
-------------------------------------------------------------------------
-r873 | zas_ | 2008-06-03 11:41:00 +0200 (Tue, 03 Jun 2008) | 2 lines
+ keep files with non-zero marks in memory
-filelist_read_real(): optimize and clean up.
+commit df8df1eea01d8c71e3b719cfd2a00c920f0e15fb
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sat Aug 16 20:34:14 2008 +0000
-------------------------------------------------------------------------
-r872 | zas_ | 2008-06-03 11:03:33 +0200 (Tue, 03 Jun 2008) | 2 lines
+ implemented marks filter
-Reduce indentation level.
+commit f0606958123d00b30a9ed649813229d951012dc3
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sat Aug 16 07:18:16 2008 +0000
-------------------------------------------------------------------------
-r871 | zas_ | 2008-06-03 10:57:46 +0200 (Tue, 03 Jun 2008) | 2 lines
+ Fix double escaping of image overlay text.
+ Bug 2051955, reported by Emmanuel Dupuis.
-Reduce indentation level.
+commit 8fc4646c4c8a48c5793743b76233bc8c78c49093
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Wed Aug 13 21:07:06 2008 +0000
-------------------------------------------------------------------------
-r870 | zas_ | 2008-06-03 10:53:53 +0200 (Tue, 03 Jun 2008) | 2 lines
+ added keyboard map generator
-collection_table_find_data_by_coord(): tidy up.
+commit 178dee898565791d42e39aad71049b79eebb2758
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Wed Aug 13 20:46:06 2008 +0000
-------------------------------------------------------------------------
-r869 | zas_ | 2008-06-03 09:37:24 +0200 (Tue, 03 Jun 2008) | 3 lines
+ a workaround for http://bugzilla.gnome.org/show_bug.cgi?id=547669
-vflist_maint(): only allocate memory and compare strings if needed.
+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
-------------------------------------------------------------------------
-r868 | zas_ | 2008-06-03 09:32:13 +0200 (Tue, 03 Jun 2008) | 3 lines
+commit 5e7e6ce8ff5a7de451480e1c3892ac5ad3ba2b3f
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Mon Aug 11 18:53:19 2008 +0000
-layout_real_renamed(), layout_real_removed(), layout_real_moved():
-simplify code.
+ fixed crash in geeqie --blank
-------------------------------------------------------------------------
-r867 | nadvornik | 2008-05-31 21:46:26 +0200 (Sat, 31 May 2008) | 2 lines
+commit 2316a8ab4f877611dd31e4bfeff4ce048d279af6
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Mon Aug 11 17:45:26 2008 +0000
-do not change original FileData on copy
+ fixed setting visible entry in view_dir_tree
-------------------------------------------------------------------------
-r866 | nadvornik | 2008-05-31 21:44:41 +0200 (Sat, 31 May 2008) | 3 lines
+commit d3f019fc2e0bd00cc403b5860749c365964a8306
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Wed Jul 30 18:44:49 2008 +0000
-replaced vflist_maint functions by vflist_refresh - it allows to follow
-changes made by external editors more precisely
+ updated ChangeLog from svn log
-------------------------------------------------------------------------
-r865 | nadvornik | 2008-05-30 23:41:46 +0200 (Fri, 30 May 2008) | 2 lines
+commit 28642010130af8533f50a3c5fb88187a9f845803
+Author: Laurent Monin <geeqie@norz.org>
+Date: Mon Jul 28 18:35:19 2008 +0000
-vflist_populate_view: better handle selected files that are renamed or deleted
+ Move declarations at the beginning of blocks.
-------------------------------------------------------------------------
-r864 | nadvornik | 2008-05-30 22:13:16 +0200 (Fri, 30 May 2008) | 2 lines
+commit bb6bd4711d2a4884fdc19a7f8916170520efc924
+Author: Laurent Monin <geeqie@norz.org>
+Date: Mon Jul 28 18:07:42 2008 +0000
-fixed thumb index (thumbnails are shown again)
+ Optimize tests even more using last changes.
-------------------------------------------------------------------------
-r863 | nadvornik | 2008-05-30 21:53:52 +0200 (Fri, 30 May 2008) | 2 lines
+commit a4d5b30df4f5f2bff3d35237d31c6ab1701e1c52
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Mon Jul 28 18:02:10 2008 +0000
-simplified vflist_populate_view
+ do not free unallocated exif data
-------------------------------------------------------------------------
-r862 | zas_ | 2008-05-30 10:39:52 +0200 (Fri, 30 May 2008) | 4 lines
+commit 6eac9ecc53b989bf432e066aada6ecb1d81609ab
+Author: Laurent Monin <geeqie@norz.org>
+Date: Mon Jul 28 17:59:09 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.
+ Cache strcmp() result.
-------------------------------------------------------------------------
-r861 | zas_ | 2008-05-30 10:36:23 +0200 (Fri, 30 May 2008) | 2 lines
+commit 660c688332d92dcb8f4ad521d777c6f0cf1472f3
+Author: Laurent Monin <geeqie@norz.org>
+Date: Mon Jul 28 17:56:56 2008 +0000
-Make utf8_validate_or_convert() to always allocate a new string.
+ Optimize redundant tests.
-------------------------------------------------------------------------
-r860 | zas_ | 2008-05-30 09:20:25 +0200 (Fri, 30 May 2008) | 2 lines
+commit 299bab0e7d1fcdabd41279f7b8916396862c00d2
+Author: Laurent Monin <geeqie@norz.org>
+Date: Mon Jul 28 17:55:06 2008 +0000
-Check for existing editor command using is_valid_editor_command().
+ Move dest_dir variable to inner block.
-------------------------------------------------------------------------
-r859 | zas_ | 2008-05-29 09:58:34 +0200 (Thu, 29 May 2008) | 4 lines
+commit 9899b80f490d32f5e40e0f02236c8cdedddb0d88
+Author: Laurent Monin <geeqie@norz.org>
+Date: Mon Jul 28 09:44:50 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.
+ Reduce code redundancy and minor typo fixes.
-------------------------------------------------------------------------
-r858 | zas_ | 2008-05-29 09:52:05 +0200 (Thu, 29 May 2008) | 3 lines
+commit 760c313e51c7e9bff61fad1c9c5ea8c70a35fc88
+Author: Laurent Monin <geeqie@norz.org>
+Date: Mon Jul 28 09:14:10 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.
+ French translation was updated.
-------------------------------------------------------------------------
-r857 | nadvornik | 2008-05-29 00:12:10 +0200 (Thu, 29 May 2008) | 2 lines
+commit f4a4b21d34e24261b19d3adb920085856345f850
+Author: Laurent Monin <geeqie@norz.org>
+Date: Mon Jul 28 09:12:33 2008 +0000
-improved infrastructure for tracing changes, optimized vflist_populate_view
+ Typo fix.
-------------------------------------------------------------------------
-r856 | nadvornik | 2008-05-27 20:46:34 +0200 (Tue, 27 May 2008) | 2 lines
+commit 22f458af63bb1cc6490d1c47d8f8a76ac8161650
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sun Jul 27 19:22:40 2008 +0000
-measure time of filelist update
+ abort file operations when the file list is empty
-------------------------------------------------------------------------
-r855 | nadvornik | 2008-05-27 20:37:15 +0200 (Tue, 27 May 2008) | 2 lines
+commit 473d1760b5fe683a04b531e6d54de13cf093b12c
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sun Jul 27 18:20:59 2008 +0000
-another fix in notification
+ remember path entered in file dialog
+ http://sourceforge.net/tracker/index.php?func=detail&aid=2028977&group_id=222125&atid=1054680
-------------------------------------------------------------------------
-r854 | nadvornik | 2008-05-26 20:32:04 +0200 (Mon, 26 May 2008) | 2 lines
+commit 49ed0b4fb2dd49d2ec0485707c50dec61f242ef3
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sun Jul 27 13:46:24 2008 +0000
-Fix histogram grid - patch by Uwe Ohse
+ speed-up of directory notification on deleting large number of files
-------------------------------------------------------------------------
-r853 | nadvornik | 2008-05-26 20:22:08 +0200 (Mon, 26 May 2008) | 2 lines
+commit a4311dd534152241fca227385319ef249fc98ab7
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sun Jul 27 09:51:28 2008 +0000
-use fputs instead of printf - patch by Uwe Ohse
+ added "Symlink" as an example of "filter" command
-------------------------------------------------------------------------
-r852 | nadvornik | 2008-05-26 19:06:30 +0200 (Mon, 26 May 2008) | 2 lines
+commit b1d0747ca385ba0b6366b6ab1eb88858400c7ba7
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sun Jul 27 08:57:12 2008 +0000
-fixed bug in notification code
+ improved updating of view_dir_tree
-------------------------------------------------------------------------
-r851 | zas_ | 2008-05-25 22:17:07 +0200 (Sun, 25 May 2008) | 2 lines
+commit db21a0fc8760058841b38b2fc8bc4970099cd8f7
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sun Jul 27 08:40:47 2008 +0000
-Tidy up: indentation fixes, typo fixes, ...
+ fixed deleting of non-empty folder
-------------------------------------------------------------------------
-r850 | zas_ | 2008-05-25 21:54:00 +0200 (Sun, 25 May 2008) | 2 lines
+commit fadf71ace27daec42c57292eca569da9afddf890
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sat Jul 26 22:36:58 2008 +0000
-Typo fix.
+ fixed spec file
-------------------------------------------------------------------------
-r849 | zas_ | 2008-05-25 21:13:04 +0200 (Sun, 25 May 2008) | 2 lines
+commit 453565d11e275816de5e7eec28b3a558a34b77bb
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sat Jul 26 22:26:08 2008 +0000
-Typo fix.
+ fixed invalid warning on running editors
-------------------------------------------------------------------------
-r848 | zas_ | 2008-05-25 21:03:30 +0200 (Sun, 25 May 2008) | 2 lines
+commit 71e1b5a7dbf543c6f87751a387ede8e84d365d4b
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sat Jul 26 20:34:24 2008 +0000
-bar_sort_set_filter_cb(): filter_idx was set as uint so get it as uint.
+ updated version string
-------------------------------------------------------------------------
-r847 | nadvornik | 2008-05-25 00:44:18 +0200 (Sun, 25 May 2008) | 4 lines
+commit fdd9338faf0ee30d483b9d1c30885241c340449c
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sat Jul 26 20:15:00 2008 +0000
-rewritten utilops.h:
-- better integration of external commands
-- filter commands
+ dropped references to OpenOffice.org as suggested at
+ https://sourceforge.net/tracker/index.php?func=detail&aid=1972534&group_id=222125&atid=1054680
-------------------------------------------------------------------------
-r846 | zas_ | 2008-05-24 22:01:59 +0200 (Sat, 24 May 2008) | 6 lines
+commit da4c68a9e11dd9d457e6eca2c9b552cde5a9a660
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sat Jul 26 20:02:20 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.
+ string cleanup
-------------------------------------------------------------------------
-r845 | nadvornik | 2008-05-24 11:18:09 +0200 (Sat, 24 May 2008) | 2 lines
+commit 8e4dcbe60ca1974787466e0bb93d10d34ed80afb
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sat Jul 26 19:52:40 2008 +0000
-improved filedata interface
+ removed unused messages.desc_dlist
-------------------------------------------------------------------------
-r844 | zas_ | 2008-05-24 01:40:12 +0200 (Sat, 24 May 2008) | 3 lines
+commit b2334b66c903a66cdd5a1b984d6b4b40a885c02d
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sat Jul 26 19:41:46 2008 +0000
-Fix display of libpthread detection.
-Fix display of lirc support, do not test for headers if disabled.
+ fixed new folder command
-------------------------------------------------------------------------
-r843 | zas_ | 2008-05-24 01:18:40 +0200 (Sat, 24 May 2008) | 2 lines
+commit b90ac509d431b791b45d2e365e039aabcc497f22
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sat Jul 26 19:33:36 2008 +0000
-Silent few warnings that appeared when using --disable-exiv2 configure option.
+ fixed renaming of directories
-------------------------------------------------------------------------
-r842 | zas_ | 2008-05-24 00:57:51 +0200 (Sat, 24 May 2008) | 2 lines
+commit f7c504c8ada6dae3a66c55ee221d508d6ff5fe36
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sat Jul 26 19:01:20 2008 +0000
-French translation was updated.
+ warn about changed file extensions
-------------------------------------------------------------------------
-r841 | zas_ | 2008-05-24 00:55:23 +0200 (Sat, 24 May 2008) | 2 lines
+commit 4d670783f8436b85a3816245d9126f09f6f9a573
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sat Jul 26 18:33:49 2008 +0000
-Use the same label for toolbar buttons tooltip than in main menu.
+ added icon for changes without warnings
-------------------------------------------------------------------------
-r840 | zas_ | 2008-05-23 17:07:30 +0200 (Fri, 23 May 2008) | 6 lines
+commit 12bc9f40c65d59e9f3b547b6e3e8649a70809498
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sat Jul 26 18:17:56 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).
+ allow only existing folders in destination dialog
+ http://sourceforge.net/tracker/index.php?func=detail&aid=2011243&group_id=222125&atid=1054680
-------------------------------------------------------------------------
-r839 | zas_ | 2008-05-23 14:27:28 +0200 (Fri, 23 May 2008) | 2 lines
+commit 0ec960565c5febd5c59d49eb820c2a98043d4ece
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sat Jul 26 10:27:41 2008 +0000
-slideshow_next(), slideshow_prev(): move code to common slideshow_move(), reducing code redundancy.
+ clean up - checks are handled elsewhere
-------------------------------------------------------------------------
-r838 | zas_ | 2008-05-23 14:19:42 +0200 (Fri, 23 May 2008) | 2 lines
+commit dfab6c695e56757791d68763444c5ef65c338797
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sat Jul 26 09:58:25 2008 +0000
-Move code from slideshow_timer_reset() to new slideshow_timer_stop() and simplify calls.
+ more checks for file operations
-------------------------------------------------------------------------
-r837 | zas_ | 2008-05-23 02:20:56 +0200 (Fri, 23 May 2008) | 9 lines
+commit e3b713522adbaea2fc0f9be3c8e11ed7acc66239
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Fri Jul 25 22:04:55 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.
+ improved error reporting
-Please test heavily.
+commit 3d6b2cc44f9b7dd36102f3626c115027094a2591
+Author: Laurent Monin <geeqie@norz.org>
+Date: Fri Jul 25 06:35:35 2008 +0000
+ Minor tidy up and optimization.
-------------------------------------------------------------------------
-r836 | zas_ | 2008-05-23 01:22:12 +0200 (Fri, 23 May 2008) | 2 lines
+commit c658a3d30ac0f2b77788f08d30e5088b2e93845e
+Author: Laurent Monin <geeqie@norz.org>
+Date: Thu Jul 24 20:24:04 2008 +0000
-Pass ConfOptions * to save_options() and load_options().
+ 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.
-------------------------------------------------------------------------
-r835 | zas_ | 2008-05-23 01:17:26 +0200 (Fri, 23 May 2008) | 3 lines
+commit 227a6784ab87c0ba1ddde38334b1897813f0612d
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Thu Jul 24 20:03:57 2008 +0000
-Move code from save_options() to new save_options_to() which takes
-the destination path as parameter.
+ separated debugging log and debug CFLAGS
+ enable debugging log support by default
-------------------------------------------------------------------------
-r834 | zas_ | 2008-05-23 01:09:53 +0200 (Fri, 23 May 2008) | 4 lines
+commit bb9823e32e5f9993d1ed9384a6d295108fd6f5bd
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Wed Jul 23 22:19:16 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.
+ indicate check warnings and errors in delete and rename dialogs
-------------------------------------------------------------------------
-r833 | zas_ | 2008-05-23 00:49:07 +0200 (Fri, 23 May 2008) | 2 lines
+commit 1b80edd5e0264c412231b3c9457226830dc33955
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Wed Jul 23 20:53:05 2008 +0000
-Move code from exit_program_final() to new sync_options_with_current_state().
+ removed file_data_add_change_info
+ reduced code redundancy - patch by Laurent, slightly modified
-------------------------------------------------------------------------
-r832 | zas_ | 2008-05-23 00:43:07 +0200 (Fri, 23 May 2008) | 4 lines
+commit da4ec2a7e37133b2547bb17849c06ce99340c905
+Author: Laurent Monin <geeqie@norz.org>
+Date: Wed Jul 23 17:38:04 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().
+ Minor tidy up.
-------------------------------------------------------------------------
-r831 | zas_ | 2008-05-22 22:22:13 +0200 (Thu, 22 May 2008) | 10 lines
+commit bd26225bab7fddc99464ba9f7e0a394d15769496
+Author: Laurent Monin <geeqie@norz.org>
+Date: Wed Jul 23 12:46:35 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")
+ Tidy up.
-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 a01c5f4c0819876620c7cabbf7bf3d8ecfd605e3
+Author: Laurent Monin <geeqie@norz.org>
+Date: Wed Jul 23 12:45:59 2008 +0000
-------------------------------------------------------------------------
-r830 | zas_ | 2008-05-22 15:00:45 +0200 (Thu, 22 May 2008) | 3 lines
+ Use g_strconcat() instead of g_strdup_printf("%s%s", ...).
-Fix signed vs unsigned warnings.
-In most cases, gint was used instead of guint.
+commit b0a7f6e3aa5647d7736140b431bd0b3d83afec9c
+Author: Laurent Monin <geeqie@norz.org>
+Date: Wed Jul 23 10:21:37 2008 +0000
-------------------------------------------------------------------------
-r829 | zas_ | 2008-05-22 13:28:35 +0200 (Thu, 22 May 2008) | 2 lines
+ Simplify parse_out_relatives().
-Comment out unused static function extension_truncate().
+commit 9810215a7e23167a29088e86191ceee820e4f715
+Author: Laurent Monin <geeqie@norz.org>
+Date: Wed Jul 23 09:10:41 2008 +0000
-------------------------------------------------------------------------
-r828 | zas_ | 2008-05-22 13:27:43 +0200 (Thu, 22 May 2008) | 2 lines
+ Tidy up.
-Fix up some types, make some signed vs unsigned warnings quiet.
+commit f46043bfae09b7903aa412302d02756449ebc28b
+Author: Laurent Monin <geeqie@norz.org>
+Date: Wed Jul 23 09:00:38 2008 +0000
-------------------------------------------------------------------------
-r827 | zas_ | 2008-05-22 12:09:07 +0200 (Thu, 22 May 2008) | 3 lines
+ Fix missing newline at end of file.
-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 90970bd92397908270e53c9178c67a804863eee0
+Author: Laurent Monin <geeqie@norz.org>
+Date: Wed Jul 23 08:59:29 2008 +0000
-------------------------------------------------------------------------
-r826 | zas_ | 2008-05-22 11:22:29 +0200 (Thu, 22 May 2008) | 2 lines
+ Fix warning: passing argument 1 of 'gtk_tree_store_set' from incompatible pointer type
-French translation was updated.
+commit d576f7bbcabdba02d4e295f1e6140634500c3920
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Tue Jul 22 22:05:20 2008 +0000
-------------------------------------------------------------------------
-r825 | zas_ | 2008-05-22 11:12:36 +0200 (Thu, 22 May 2008) | 3 lines
+ do not create duplicate FileData entries
-Introduce an helper function that returns the name of an editor.
-It helps to reduce code redundancy.
+commit 96293a9f07bf5057924635d9a23e4058a2807bb1
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Tue Jul 22 21:46:08 2008 +0000
-------------------------------------------------------------------------
-r824 | zas_ | 2008-05-22 10:49:52 +0200 (Thu, 22 May 2008) | 2 lines
+ basic infrastructure for early error and dangerous operations checking
+ it needs more work
-Use a struct to handle editor's properties.
+commit 3a442a31ebc195299be3d7bc289754b09370a5b4
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Tue Jul 22 18:27:12 2008 +0000
-------------------------------------------------------------------------
-r823 | zas_ | 2008-05-21 21:37:18 +0200 (Wed, 21 May 2008) | 6 lines
+ clean up fd->change on error
-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 c8d7bc43bfb2e8355dc6871dd5df87f38a34bcfd
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Tue Jul 22 18:13:41 2008 +0000
-------------------------------------------------------------------------
-r822 | zas_ | 2008-05-21 13:46:19 +0200 (Wed, 21 May 2008) | 2 lines
+ remove items from file_data_planned_change_hash when the operation is
+ canceled
-Replace hardcoded "/" by G_DIR_SEPARATOR_S where applicable.
+commit 3a0d2bb75e53a03a19e88a979403acd9455ade1f
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Tue Jul 22 17:57:22 2008 +0000
-------------------------------------------------------------------------
-r821 | zas_ | 2008-05-21 13:45:29 +0200 (Wed, 21 May 2008) | 2 lines
+ fixed stop button in editor dialog
-Use g_build_filename().
+commit 9f2b4b649b703a20350e1962684fe4422d4d39a8
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Tue Jul 22 17:40:24 2008 +0000
-------------------------------------------------------------------------
-r820 | zas_ | 2008-05-21 13:07:23 +0200 (Wed, 21 May 2008) | 2 lines
+ delete file_data_planned_change_hash when it is not used
-Use G_DIR_SEPARATOR where applicable.
+commit ff4704f404d5097698f17139c07f37bd76da3124
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Mon Jul 21 21:38:26 2008 +0000
-------------------------------------------------------------------------
-r819 | zas_ | 2008-05-21 13:00:13 +0200 (Wed, 21 May 2008) | 2 lines
+ fixed
+ http://sourceforge.net/tracker/index.php?func=detail&aid=2019012&group_id=222125&atid=1054680
-Use G_DIR_SEPARATOR_S where applicable.
+commit 84e21974c1752c800a9be9332429747355340d94
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Mon Jul 21 20:50:24 2008 +0000
-------------------------------------------------------------------------
-r818 | zas_ | 2008-05-21 12:52:38 +0200 (Wed, 21 May 2008) | 2 lines
+ file_util_rename_dir should not return anything
-Use g_build_filename() and G_DIR_SEPARATOR_S.
+commit 89736895aec4a438f30211d49b23391c22282669
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Mon Jul 21 20:40:29 2008 +0000
-------------------------------------------------------------------------
-r817 | zas_ | 2008-05-21 12:46:33 +0200 (Wed, 21 May 2008) | 2 lines
+ added notification handler to view_dir
-Use g_build_filename() instead of g_strconcat().
+commit c8f289fb70c4d46a985c701f2b8f8f8874cf7e30
+Author: Laurent Monin <geeqie@norz.org>
+Date: Mon Jul 21 08:31:43 2008 +0000
-------------------------------------------------------------------------
-r816 | zas_ | 2008-05-21 12:11:56 +0200 (Wed, 21 May 2008) | 2 lines
+ French translation was updated.
-tab_completion_do(): use g_build_filename(), G_DIR_SEPARATOR, G_DIR_SEPARATOR_S.
+commit 46a1dea4cc0119a888dd652a13b0dd444ca71e32
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sun Jul 20 15:21:06 2008 +0000
-------------------------------------------------------------------------
-r815 | zas_ | 2008-05-21 11:58:29 +0200 (Wed, 21 May 2008) | 2 lines
+ Update POTFILES.in.
-tab_completion_popup_cb(): use g_build_filename() and simplify code.
+commit ddb8f1b1b4360a2a1fb5ac5902697a84c0339cec
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sun Jul 20 15:16:05 2008 +0000
-------------------------------------------------------------------------
-r814 | zas_ | 2008-05-21 11:50:32 +0200 (Wed, 21 May 2008) | 3 lines
+ Move uri_*() functions to separate files: uri_utils.[ch]
-Use expand_tilde() instead of simple concatenation, it allows correct expansion
-of ~user as well as ~dir.
+commit 101520eae1a9f6a1efd7e0a659fa7342ec94f2ac
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sun Jul 20 15:04:40 2008 +0000
-------------------------------------------------------------------------
-r813 | zas_ | 2008-05-21 11:30:53 +0200 (Wed, 21 May 2008) | 2 lines
+ periodic testing of changed files can be now disabled
-dest_change_dir(): rewrite to use g_build_filename(), g_path_get_dirname() and g_path_get_basename().
+commit b8ea5645e91e203e09389311c412a0873e0343fc
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sun Jul 20 14:56:32 2008 +0000
-------------------------------------------------------------------------
-r812 | zas_ | 2008-05-21 10:53:51 +0200 (Wed, 21 May 2008) | 2 lines
+ Move history_list_*() functions to separate files:
+ history_list.c and history_list.h.
-Fix a segfault occuring when logging an empty message and there is no log window.
+commit c4685e9702624774fb70b01eb130f26f74ccc267
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sun Jul 20 14:52:00 2008 +0000
-------------------------------------------------------------------------
-r811 | zas_ | 2008-05-21 02:42:14 +0200 (Wed, 21 May 2008) | 2 lines
+ implemented "create directory" command
-Use g_build_filename().
+commit ae2ab4e282fe7851e502acb9f699814d38204176
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sun Jul 20 13:59:55 2008 +0000
-------------------------------------------------------------------------
-r810 | zas_ | 2008-05-21 02:39:16 +0200 (Wed, 21 May 2008) | 2 lines
+ fixed file copy/move dialog
-thumb_std_cache_path(): use g_build_filename() and simplify.
+commit a3c139eafad2246f8bde6cef391def6ab4670127
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sun Jul 20 13:19:22 2008 +0000
-------------------------------------------------------------------------
-r809 | zas_ | 2008-05-21 02:32:57 +0200 (Wed, 21 May 2008) | 2 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.
-Use g_build_filename().
+commit 8e0c8b700fad60a5de29b60144140f805668fcd3
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sun Jul 20 12:20:12 2008 +0000
-------------------------------------------------------------------------
-r808 | zas_ | 2008-05-21 02:20:13 +0200 (Wed, 21 May 2008) | 2 lines
+ Optimize history_list_add_to_key() a bit.
-Use g_build_filename() where applicable.
+commit 303bc18d4a21e0097d6eb6a9e266127294a26ebe
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sun Jul 20 11:29:12 2008 +0000
-------------------------------------------------------------------------
-r807 | zas_ | 2008-05-21 02:15:41 +0200 (Wed, 21 May 2008) | 2 lines
+ fixed previous checkin
-Use g_build_filename() instead of g_strconcat().
+commit c6fd35649fa8e25e651dd202e03a211442d57f59
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sun Jul 20 11:22:19 2008 +0000
-------------------------------------------------------------------------
-r806 | zas_ | 2008-05-21 02:13:12 +0200 (Wed, 21 May 2008) | 2 lines
+ implemented directory rename and delete operations
-Use g_build_filename() and get rid of "root dir fix".
+commit 9684fd6b6fcab39a5aa29c33da2ab3f60137665e
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sun Jul 20 07:52:16 2008 +0000
-------------------------------------------------------------------------
-r805 | zas_ | 2008-05-21 02:12:19 +0200 (Wed, 21 May 2008) | 2 lines
+ Move out test outside the loop.
-Use g_build_filename().
+commit 120db8041b40ffc83cb90d0b82084862707ec190
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sat Jul 19 13:57:03 2008 +0000
-------------------------------------------------------------------------
-r804 | zas_ | 2008-05-21 02:01:03 +0200 (Wed, 21 May 2008) | 5 lines
+ Tidy up.
-Disable unused code:
-- cache_maintain_home_dir()
-- cache_maintain_dir()
+commit 2e9c246e6145e7fb7fac6990524b718bc6826396
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sat Jul 19 12:36:46 2008 +0000
+ Fix missing newline at end of file.
-------------------------------------------------------------------------
-r803 | zas_ | 2008-05-21 01:41:13 +0200 (Wed, 21 May 2008) | 2 lines
+commit 3054110d18c6717f764cab2baf31f929ebdcaa66
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sat Jul 19 09:06:24 2008 +0000
-Build path using g_build_filename() then calculate its length.
+ increase reference count before sending notification in file_data_new
-------------------------------------------------------------------------
-r802 | zas_ | 2008-05-21 01:11:47 +0200 (Wed, 21 May 2008) | 2 lines
+commit a7213169bf5d2afbc94ef083fcb1aae6711746ee
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Fri Jul 18 21:20:49 2008 +0000
-Use G_DIR_SEPARATOR_S instead of hardcoded "/".
+ fixed test for changed files in cache
-------------------------------------------------------------------------
-r801 | zas_ | 2008-05-21 01:07:09 +0200 (Wed, 21 May 2008) | 2 lines
+commit c4de295c0a3115d91e45602f4f9ed5a69d5d7e0e
+Author: Laurent Monin <geeqie@norz.org>
+Date: Fri Jul 18 09:55:15 2008 +0000
-Use g_build_filename() and move location label creation from cache_manager_show() to new cache_manager_location_label().
+ Introduce image_loader_set_done_func().
-------------------------------------------------------------------------
-r800 | zas_ | 2008-05-21 00:47:13 +0200 (Wed, 21 May 2008) | 2 lines
+commit e1ea2ccd4d041e0ef457d6b94e4325340ca8d874
+Author: Laurent Monin <geeqie@norz.org>
+Date: Thu Jul 17 22:36:58 2008 +0000
-cache_find_location(): use g_build_filename() and move redundant code to new functions.
+ Reduce code redundancy by moving common code to new menu_choice_get_match_type().
-------------------------------------------------------------------------
-r799 | zas_ | 2008-05-21 00:22:11 +0200 (Wed, 21 May 2008) | 2 lines
+commit 6da5f506c0c4f58e352af4886120efa9765431e9
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Thu Jul 17 21:51:21 2008 +0000
-Use g_build_filename().
+ reload changed images
-------------------------------------------------------------------------
-r798 | zas_ | 2008-05-21 00:13:48 +0200 (Wed, 21 May 2008) | 2 lines
+commit 01e819ff19279f8291ccbbac04f7cb843109c59d
+Author: Laurent Monin <geeqie@norz.org>
+Date: Tue Jul 15 15:37:14 2008 +0000
-Use size_t instead of gint, it silents a signed vs unsigned warning.
+ Move code from image_osd_update_cb() to separate functions.
-------------------------------------------------------------------------
-r797 | zas_ | 2008-05-21 00:11:59 +0200 (Wed, 21 May 2008) | 2 lines
+commit 56907bd2e2deb8a01b2b0ca2c005ff4df0b81ef9
+Author: Laurent Monin <geeqie@norz.org>
+Date: Tue Jul 15 14:32:00 2008 +0000
-Use g_build_filename() instead of g_strconcat().
+ Tidy up and code redundancy reduction.
-------------------------------------------------------------------------
-r796 | zas_ | 2008-05-21 00:09:04 +0200 (Wed, 21 May 2008) | 2 lines
+commit 46f96c81c85a3e03e6756c718e3758db8c520208
+Author: Laurent Monin <geeqie@norz.org>
+Date: Tue Jul 15 12:52:02 2008 +0000
-Drop concat_dir_and_file() and use g_build_filename() instead.
+ 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.
-------------------------------------------------------------------------
-r795 | zas_ | 2008-05-21 00:00:14 +0200 (Wed, 21 May 2008) | 2 lines
+commit e51449e7326f517be62d65c0263b8bbc2f8b85b6
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sun Jul 13 14:50:07 2008 +0000
-Use G_DIR_SEPARATOR instead of '/' where applicable.
+ 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.
-------------------------------------------------------------------------
-r794 | zas_ | 2008-05-20 23:51:25 +0200 (Tue, 20 May 2008) | 2 lines
+commit ccd82ce4a52dd8e7b60bf5a6dc56952255d1f6a1
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sun Jul 13 13:51:23 2008 +0000
-Use g_build_filename() to build paths.
+ Apply debian-specific patch to launch help browser (bug 2015099).
-------------------------------------------------------------------------
-r793 | zas_ | 2008-05-20 22:11:29 +0200 (Tue, 20 May 2008) | 3 lines
+commit e1dd1bb488601f3df4cd9b4b5d261c3f1d5a015a
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sun Jul 13 12:36:18 2008 +0000
-Do not use glib posix wrappers since they were introduced in 2.6
-and we want 2.4 compatibility.
+ Fix a segfault occuring when opening some collection files.
+ Skip all lines not starting with a # when only geometry is required.
-------------------------------------------------------------------------
-r792 | zas_ | 2008-05-20 22:06:11 +0200 (Tue, 20 May 2008) | 2 lines
+commit 19c2605cff0e070dc41424b913a624be8057a56a
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sat Jul 5 10:21:09 2008 +0000
-Use access() instead of g_access() which is only available in 2.8.
+ Prevent segfault in certain conditions when displaying debug message.
-------------------------------------------------------------------------
-r791 | zas_ | 2008-05-20 21:14:36 +0200 (Tue, 20 May 2008) | 3 lines
+commit 1823d233d1681647245a00996df74e08a67b0489
+Author: Laurent Monin <geeqie@norz.org>
+Date: Fri Jul 4 22:49:04 2008 +0000
-Use utf-8 charset instead of iso-8859-1.
-Minor cleanup.
+ French translation was updated.
-------------------------------------------------------------------------
-r790 | nadvornik | 2008-05-20 19:43:37 +0200 (Tue, 20 May 2008) | 2 lines
+commit 01e6b8f7eb33d65ea295731275a353e83721e40d
+Author: Laurent Monin <geeqie@norz.org>
+Date: Fri Jul 4 20:32:48 2008 +0000
-updated ru.po by Alexandre Prokoudine
+ Optimize a bit when connected zoom and scrolling are unset,
+ just move the test outside loops.
-------------------------------------------------------------------------
-r789 | zas_ | 2008-05-20 10:18:30 +0200 (Tue, 20 May 2008) | 2 lines
+commit 4dfe7f7b01cb84421d6af7040ffcf74aabad02e7
+Author: Laurent Monin <geeqie@norz.org>
+Date: Fri Jul 4 17:21:07 2008 +0000
-French translation was updated.
+ layout_color_button_press_cb(): tidy up, drop useless memory allocations, improve i18n.
-------------------------------------------------------------------------
-r788 | zas_ | 2008-05-20 10:14:35 +0200 (Tue, 20 May 2008) | 2 lines
+commit 4fa28d67f125e31256616b2102b7fdef52861584
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Thu Jul 3 20:16:15 2008 +0000
-Sort out log_printf() vs printf_term() mix up.
+ refresh thumbnails on file change
-------------------------------------------------------------------------
-r787 | zas_ | 2008-05-20 09:52:49 +0200 (Tue, 20 May 2008) | 3 lines
+commit 579c42a76147582e9c4ad2cb8b476e7033f434ac
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Thu Jul 3 19:38:19 2008 +0000
-Use print_term() instead of printf(), since it handles charset conversion
-from utf8 to locale if needed.
+ set fallback thumbnail pixbuf only if the loading really fails
-------------------------------------------------------------------------
-r786 | zas_ | 2008-05-19 13:09:23 +0200 (Mon, 19 May 2008) | 3 lines
+commit 1a227f62b8195434db73cd8b27f50bf5b39cee7e
+Author: Laurent Monin <geeqie@norz.org>
+Date: Thu Jul 3 18:16:39 2008 +0000
-Remove C-specific gcc options from CXXFLAGS.
-Add few more warnings.
+ Fix missing references for the current directory in pan folder stuff.
+ It was causing an fd magick assertion failure.
+ Bug reported by Omari Stephens.
-------------------------------------------------------------------------
-r785 | zas_ | 2008-05-19 11:27:30 +0200 (Mon, 19 May 2008) | 2 lines
+commit 83c79d4c81a9b2521d102bbe414abb81722e0dd9
+Author: Laurent Monin <geeqie@norz.org>
+Date: Thu Jul 3 08:33:10 2008 +0000
-Fix some incomplete initialization warnings.
+ 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.
-------------------------------------------------------------------------
-r784 | zas_ | 2008-05-19 10:46:37 +0200 (Mon, 19 May 2008) | 2 lines
+commit 86bea118fffeba039beb5838e0c401629d501faa
+Author: Laurent Monin <geeqie@norz.org>
+Date: Wed Jul 2 08:38:47 2008 +0000
-depreceated -> deprecated
+ 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.
-------------------------------------------------------------------------
-r783 | zas_ | 2008-05-19 10:43:11 +0200 (Mon, 19 May 2008) | 2 lines
+commit 5f4a945ac78df503f9765056e946c68905ed0a32
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Mon Jun 30 21:08:28 2008 +0000
-Typo fixes.
+ fixed division by zero in pixbuf_renderer_get_scroll_center
-------------------------------------------------------------------------
-r782 | zas_ | 2008-05-19 10:36:06 +0200 (Mon, 19 May 2008) | 2 lines
+commit e2bd6f78452c5fbe3850dfbc6b353edfd8b42f65
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sun Jun 29 15:51:54 2008 +0000
-Create auxdir if needed.
+ Merge thumb_loader_save_to_cache() and thumb_loader_mark_failure()
+ into thumb_loader_save_thumbnail().
+ Most of the code was redundant.
-------------------------------------------------------------------------
-r781 | zas_ | 2008-05-19 10:24:10 +0200 (Mon, 19 May 2008) | 2 lines
+commit 29242ec0f56bb937f754dd574979b380656e84e4
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sun Jun 29 10:11:43 2008 +0000
-Fix spurious end of line introduced in revision 780.
+ 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.
-------------------------------------------------------------------------
-r780 | bruclik | 2008-05-19 03:15:17 +0200 (Mon, 19 May 2008) | 10 lines
+commit f40224fd22d5387a0ad45859568d79d67060209f
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sat Jun 28 08:01:36 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').
+ 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
-------------------------------------------------------------------------
-r779 | bruclik | 2008-05-19 02:54:59 +0200 (Mon, 19 May 2008) | 3 lines
+ Reduce number of parameters (mostly unused), just pass the event pointer.
-Updated CODING (GPL header, macros, svn change-log, ...).
+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
-------------------------------------------------------------------------
-r778 | zas_ | 2008-05-18 23:14:01 +0200 (Sun, 18 May 2008) | 7 lines
+commit bfc848fe14ebb30a49356f1b2d96b6498e3d5667
+Author: Laurent Monin <geeqie@norz.org>
+Date: Fri Jun 27 22:57:48 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).
+ 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
-------------------------------------------------------------------------
-r777 | zas_ | 2008-05-18 14:56:18 +0200 (Sun, 18 May 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)
-Cleanup and code redundancy reduction.
+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
-------------------------------------------------------------------------
-r776 | zas_ | 2008-05-18 13:39:58 +0200 (Sun, 18 May 2008) | 4 lines
+commit 84accd5956890abf9612f9b7e0aa72d8e0ea7b8a
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Fri Jun 27 18:43:05 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.
+ fixed crash in entering fullscreen during loading
-------------------------------------------------------------------------
-r775 | zas_ | 2008-05-18 09:36:57 +0200 (Sun, 18 May 2008) | 2 lines
+commit 7d44fe8aa857d7a740a9b867301fa06f373ffcec
+Author: Laurent Monin <geeqie@norz.org>
+Date: Fri Jun 27 10:00:55 2008 +0000
-Do not create log window more than once.
+ osd_template_insert(): optimize and simplify using flags.
-------------------------------------------------------------------------
-r774 | zas_ | 2008-05-18 00:37:04 +0200 (Sun, 18 May 2008) | 2 lines
+commit 42fc5158d4408a77c51570d34b5f83d0add42340
+Author: Laurent Monin <geeqie@norz.org>
+Date: Fri Jun 27 08:05:51 2008 +0000
-Fix formatted.SubjectDistance appearing twice in exif bar configuration.
+ 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().
-------------------------------------------------------------------------
-r773 | zas_ | 2008-05-17 23:28:02 +0200 (Sat, 17 May 2008) | 2 lines
+commit ea7852bed519679c1a98f5b240e7065af7abef2e
+Author: Laurent Monin <geeqie@norz.org>
+Date: Thu Jun 26 23:29:08 2008 +0000
-Update POTFILES.in.
+ image_osd_info_render(): code cleanup and simplification, drop some useless memory allocations.
-------------------------------------------------------------------------
-r772 | zas_ | 2008-05-17 23:26:45 +0200 (Sat, 17 May 2008) | 1 line
+commit 98622a4338ee516d3e06da6153adb61e6cd68b09
+Author: Laurent Monin <geeqie@norz.org>
+Date: Thu Jun 26 15:59:20 2008 +0000
-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
+ Use flags for pr_zoom_*() functions.
-fixed exiv2 version test
+commit b26d38c1a3189bf6d4edfdcab5d8dfe9aab19a9f
+Author: Laurent Monin <geeqie@norz.org>
+Date: Thu Jun 26 14:43:52 2008 +0000
-------------------------------------------------------------------------
-r770 | nadvornik | 2008-05-16 22:09:32 +0200 (Fri, 16 May 2008) | 3 lines
+ Use stricter types for image options.
-get processed values from exiv2
-http://sourceforge.net/tracker/index.php?func=detail&aid=1962444&group_id=222125&atid=1054680
+commit cd68217e812b2419e92301d76902edd05c361aee
+Author: Laurent Monin <geeqie@norz.org>
+Date: Thu Jun 26 12:23:48 2008 +0000
-------------------------------------------------------------------------
-r769 | zas_ | 2008-05-16 16:59:45 +0200 (Fri, 16 May 2008) | 3 lines
+ Use flags instead of int parameters for pixbuf_renderer_overlay_add().
-Fix redundant application name in window titles.
-It simplifies code.
+commit a3ffd5d74d5baad16a8a35a02ab28267dd15efd2
+Author: Laurent Monin <geeqie@norz.org>
+Date: Thu Jun 26 11:48:40 2008 +0000
-------------------------------------------------------------------------
-r768 | zas_ | 2008-05-16 16:38:05 +0200 (Fri, 16 May 2008) | 2 lines
+ Only define ExifOrientationType if GQ_BUILD is not defined since
+ it is already defined in exif.h.
-French translation was updated.
+commit d29cd729b404fc3901d862214231ef514f855aa5
+Author: Laurent Monin <geeqie@norz.org>
+Date: Wed Jun 25 20:53:52 2008 +0000
-------------------------------------------------------------------------
-r767 | zas_ | 2008-05-16 14:16:49 +0200 (Fri, 16 May 2008) | 3 lines
+ Tidy up.
-Do not use printf() directly but use new wrapper function log_printf() instead.
+commit 0633bc36c636a0f2afa5bf3211639454870ac177
+Author: Laurent Monin <geeqie@norz.org>
+Date: Wed Jun 25 20:22:02 2008 +0000
+ French translation was updated.
-------------------------------------------------------------------------
-r766 | zas_ | 2008-05-16 14:08:51 +0200 (Fri, 16 May 2008) | 2 lines
+commit 7c4531fa7d4bdf83eb347a0e2e31e92070773930
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sun Jun 22 20:07:32 2008 +0000
-Drop include "debug.h".
+ optimized marks drawing
-------------------------------------------------------------------------
-r765 | zas_ | 2008-05-16 12:02:56 +0200 (Fri, 16 May 2008) | 3 lines
+commit 3d04c8792f8b45bc2a5ba7e69a269e0404cd40d0
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sun Jun 22 20:01:20 2008 +0000
-Include debug.h from main.h since debug macros may be used anywhere in the code.
+ show marks in iconview
+commit 975fc4e9e6d3601e83ecd38c159e841205b4bf59
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sun Jun 22 10:01:26 2008 +0000
-------------------------------------------------------------------------
-r764 | zas_ | 2008-05-16 11:10:56 +0200 (Fri, 16 May 2008) | 5 lines
+ show sidecars in icon view
-Improve editor commands error display:
-- display all errors (not only syntax errors)
-- display errors from Preferences (checks are made on Apply or OK)
+commit 5a236ea28726e79b2e00b6b054580b6a4d00f441
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sun Jun 22 09:40:57 2008 +0000
+ fixed in-place renaming
-------------------------------------------------------------------------
-r763 | zas_ | 2008-05-16 10:37:07 +0200 (Fri, 16 May 2008) | 7 lines
+commit 5b05e1156a0efc4e39afb58ae89a034d47b6aa81
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sun Jun 22 09:19:42 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
+ 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
-------------------------------------------------------------------------
-r762 | zas_ | 2008-05-14 20:12:11 +0200 (Wed, 14 May 2008) | 9 lines
+ cache size made configurable
-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.
+commit c74e05815240fc255b0267d9d9f5ae4a60d1ae68
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sat Jun 21 19:26:01 2008 +0000
-See http://standards.freedesktop.org/desktop-entry-spec/1.0/apc.html
+ measure pixbuf cache size in bytes
-Patch #1963689.
+commit 1986378ee25aef236908a6a1f67952406c9d51e7
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sat Jun 21 16:00:13 2008 +0000
-------------------------------------------------------------------------
-r761 | zas_ | 2008-05-14 20:09:05 +0200 (Wed, 14 May 2008) | 3 lines
+ simple cache for loaded pixbufs
-Patch #1963690 was applied.
-It fixes hyphens/minus confusion in the man page.
+commit 70fb724412e907f541d14eac8e1e67db474d1086
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sat Jun 21 11:05:55 2008 +0000
-------------------------------------------------------------------------
-r760 | zas_ | 2008-05-14 19:00:25 +0200 (Wed, 14 May 2008) | 4 lines
+ renamed fd->pixbuf to fd->thumb_pixbuf
-Simplify thumb_std_maint_moved(), since g_list_append knows
-how to append to a NULL list. Patch by Uwe Ohse.
+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
-------------------------------------------------------------------------
-r759 | zas_ | 2008-05-14 18:52:55 +0200 (Wed, 14 May 2008) | 4 lines
+commit 2ca1adb7912dfd23318e829d9f01c4e9a2f76284
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Tue Jun 17 20:25:05 2008 +0000
-Simplify collect_manager_add_action(), since g_list_append knows
-how to append to a NULL list. Patch by Uwe Ohse.
+ more robust thumbs progress bar
+commit 11224ad1e9f6e9517523beb1ffb62b973228ebc9
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Tue Jun 17 19:56:21 2008 +0000
-------------------------------------------------------------------------
-r758 | zas_ | 2008-05-14 14:59:00 +0200 (Wed, 14 May 2008) | 2 lines
+ do not allocate new buffer for thumbnails with correct orientation
-Merge vflist_row_by_path() into vflist_index_by_path().
+commit 304e05c4c8845e40cd58ec758d56c7174d202899
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Mon Jun 16 19:07:02 2008 +0000
-------------------------------------------------------------------------
-r757 | zas_ | 2008-05-14 12:40:43 +0200 (Wed, 14 May 2008) | 3 lines
+ fixed memory leak
-Fix some typos. Thanks to Michal \u010ciha\u0159 and James R. Van Zandt.
-Patch #1963691.
+commit 57a04dae8f42380d5df07158b1c80ba21f393c6c
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Mon Jun 16 18:37:35 2008 +0000
-------------------------------------------------------------------------
-r756 | zas_ | 2008-05-14 10:56:08 +0200 (Wed, 14 May 2008) | 2 lines
+ another try to free layout at exit
-Make vf_pop_menu_*_cb static.
+commit b4d3e9956e2ce9ed23dab2fcf08974ec679f5453
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sun Jun 15 21:52:15 2008 +0000
-------------------------------------------------------------------------
-r755 | zas_ | 2008-05-13 22:31:35 +0200 (Tue, 13 May 2008) | 2 lines
+ rotate thumbnails by exif
-French translation fixes.
+commit f59f132343a9b70c1fbb8abc755d514751e3e2d7
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sun Jun 15 20:09:15 2008 +0000
-------------------------------------------------------------------------
-r754 | zas_ | 2008-05-13 22:21:00 +0200 (Tue, 13 May 2008) | 3 lines
+ use FileData in thumb_loader
-Resync POTFILES.in and *.po, update french translation and
-regenerate statistics in README.
+commit 0d80d51136e02c021dcc07f45d78adce8a3ada33
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sat Jun 14 21:49:48 2008 +0000
-------------------------------------------------------------------------
-r753 | zas_ | 2008-05-13 22:13:44 +0200 (Tue, 13 May 2008) | 2 lines
+ use GtkSizeGroup to control initial size of split images
-Merge vflist_pop_menu() and vficon_pop_menu() into vf_pop_menu().
+commit 1df917cf51c93c886a2b27eb91d9161f5ea64b2f
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sat Jun 14 18:41:30 2008 +0000
-------------------------------------------------------------------------
-r752 | zas_ | 2008-05-13 21:56:52 +0200 (Tue, 13 May 2008) | 2 lines
+ preserve image center on refresh
-Move VFICON_INFO() and VFLIST_INFO() macros to view_file.h
+commit aac341d52f5b64196ffd78652fc95a58a5bfd6d0
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sat Jun 14 18:33:40 2008 +0000
-------------------------------------------------------------------------
-r751 | zas_ | 2008-05-13 21:54:13 +0200 (Tue, 13 May 2008) | 2 lines
+ use multiline description in vflist with large thumbnails
+ always display marks in the first column
+ show expander in "name" column
-vficon_pop_menu(): drop "gint active" parameter, use stored click_id instead.
+commit ac6e8d73416d1b72e768729b917aa4532da3844a
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sat Jun 14 17:32:27 2008 +0000
-------------------------------------------------------------------------
-r750 | zas_ | 2008-05-13 21:51:22 +0200 (Tue, 13 May 2008) | 3 lines
+ join name and sidecars to one string
-vflist_pop_menu(): drop FileData * parameter, use stored click_fd instead.
+commit 17344587a815f0057e8739cfbf5d2afbea4f2667
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sat Jun 14 17:14:28 2008 +0000
+ optimized vflist_setup_iter_recursive
-------------------------------------------------------------------------
-r749 | zas_ | 2008-05-13 21:45:04 +0200 (Tue, 13 May 2008) | 2 lines
+commit 8244a9e46297c4adc8dd5095a04a199e9b536a71
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sat Jun 14 12:43:39 2008 +0000
-Fix last patch, only set vf->clicked_mark for a valid mark.
+ iconlist_refresh optimization
-------------------------------------------------------------------------
-r748 | zas_ | 2008-05-13 21:32:25 +0200 (Tue, 13 May 2008) | 6 lines
+commit 0f4fcde469fc6f9081e4078fa3a88f1c993ff296
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sat Jun 14 12:30:44 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.
+ 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
-------------------------------------------------------------------------
-r747 | zas_ | 2008-05-13 18:09:43 +0200 (Tue, 13 May 2008) | 6 lines
+ Silent unused variable warning.
-Expand tilde with file: and view: remote parameters.
-Now these are working:
-geeqie -r file:~/dir
-geeqie -r view:~user/file
+commit 5f7b05915dcf7c7ead03ba825ecdd1f825c07482
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Fri Jun 13 21:32:58 2008 +0000
+ optimized vflist_setup_iter
-------------------------------------------------------------------------
-r746 | zas_ | 2008-05-13 16:49:38 +0200 (Tue, 13 May 2008) | 3 lines
+commit 922cb25e24b4c735857883757c923bc03002f475
+Author: Laurent Monin <geeqie@norz.org>
+Date: Fri Jun 13 13:33:11 2008 +0000
-Display a message when invalid remote options are used.
+ French translation was updated.
+commit 669a4954c3e7a9c8b7dd5fe8610e6bd163787738
+Author: Laurent Monin <geeqie@norz.org>
+Date: Fri Jun 13 12:27:41 2008 +0000
-------------------------------------------------------------------------
-r745 | zas_ | 2008-05-13 16:35:51 +0200 (Tue, 13 May 2008) | 2 lines
+ Revert patches 759 and 760.
+ 759 patch broke adding selection of files through sort manager
+ to an unopened collection.
-Comparing tag id is not sufficient, check the tag name too.
+commit 16aa61eb9064f9a2ff7faeb5cb6c49878ea0d735
+Author: Laurent Monin <geeqie@norz.org>
+Date: Fri Jun 13 11:51:23 2008 +0000
-------------------------------------------------------------------------
-r744 | zas_ | 2008-05-13 13:58:47 +0200 (Tue, 13 May 2008) | 2 lines
+ Display total size of files in collection window, for the list and for the selection.
-Keywords and comment can now be displayed in OSD info using %keywords% and %comment%.
+commit c687f78e1f9625ec8afb0bfc04e43baf9c841a7d
+Author: Laurent Monin <geeqie@norz.org>
+Date: Fri Jun 13 11:11:57 2008 +0000
-------------------------------------------------------------------------
-r743 | zas_ | 2008-05-13 10:53:26 +0200 (Tue, 13 May 2008) | 2 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.
-Move all remote stuff from main.c to remote.[ch].
+commit 0a1ad21b4dda0f856b023b01dfd9df79f71ca97f
+Author: Laurent Monin <geeqie@norz.org>
+Date: Thu Jun 12 22:43:32 2008 +0000
-------------------------------------------------------------------------
-r742 | zas_ | 2008-05-13 10:02:46 +0200 (Tue, 13 May 2008) | 2 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
-Move some functions from main.[ch] to new window.[ch].
+commit 11a07ebce120ac8f073b1ffbd2dc828ad54783e1
+Author: Laurent Monin <geeqie@norz.org>
+Date: Thu Jun 12 21:21:32 2008 +0000
-------------------------------------------------------------------------
-r741 | zas_ | 2008-05-13 09:34:37 +0200 (Tue, 13 May 2008) | 2 lines
+ Add a comment about relative positions of image overlay in the rc file.
-Ensure that we end with UTF8 encoded comment and keywords.
+commit 943be3f7f7676c11b6826fd507e98477aee44281
+Author: Laurent Monin <geeqie@norz.org>
+Date: Thu Jun 12 20:33:51 2008 +0000
-------------------------------------------------------------------------
-r740 | zas_ | 2008-05-13 01:26:00 +0200 (Tue, 13 May 2008) | 4 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.
-Reading of Iptc.Application2.Keywords should now be fixed.
-Use uft8_validate_or_convert() on exif's text data to be safe.
+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)
-------------------------------------------------------------------------
-r739 | zas_ | 2008-05-13 01:21:35 +0200 (Tue, 13 May 2008) | 2 lines
+commit c5eb8769b9462b318f52c0d70635fda0c92038cc
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Thu Jun 12 18:30:33 2008 +0000
-Rename bar_exif_validate_text() to utf8_validate_or_convert() and move it to main.[ch].
+ reverted changes in layout_close made in rev. 890 and 901
-------------------------------------------------------------------------
-r738 | zas_ | 2008-05-13 01:00:04 +0200 (Tue, 13 May 2008) | 2 lines
+commit 86a4f3c90de18942b84b33046721801cb1edd504
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Tue Jun 10 19:25:21 2008 +0000
-bar_exif_validate_text(): use computed length and cleanup.
+ fixed vdtree_sort_cb
-------------------------------------------------------------------------
-r737 | zas_ | 2008-05-12 21:56:28 +0200 (Mon, 12 May 2008) | 2 lines
+commit 69b52cb5e907359a473418866f74461822448737
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Tue Jun 10 18:39:19 2008 +0000
-Disable non-working Iptc.Application2.Keywords reading introduced in revision 736.
+ fixed segfault in vd_rename_cb
-------------------------------------------------------------------------
-r736 | zas_ | 2008-05-12 19:10:40 +0200 (Mon, 12 May 2008) | 5 lines
+commit 08524203c709cf0013c2bd1d04c348067685e526
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Tue Jun 10 18:19:17 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.
+ dropped vficon_sync, use vficon_refresh everywhere
+commit f42d498ea1a214bb6c7bf0c6e451489a50c9ab7f
+Author: Laurent Monin <geeqie@norz.org>
+Date: Tue Jun 10 11:55:18 2008 +0000
-------------------------------------------------------------------------
-r735 | zas_ | 2008-05-12 12:46:23 +0200 (Mon, 12 May 2008) | 2 lines
+ collection_from_dnd_data(): simplify and optimize.
-When an option was successfully read, just continue to next line.
+commit 554bfe983c1442fc84a832a0a6d6cc89ef8182a7
+Author: Laurent Monin <geeqie@norz.org>
+Date: Tue Jun 10 11:27:35 2008 +0000
-------------------------------------------------------------------------
-r734 | zas_ | 2008-05-12 12:37:37 +0200 (Mon, 12 May 2008) | 2 lines
+ collection_info_list_to_dnd_data(): simplify and optimize.
-Minor formatting fix in rc file header.
+commit 55be71b45a3c28de13d1c532bd2d6e9278fc0239
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Mon Jun 9 20:27:39 2008 +0000
-------------------------------------------------------------------------
-r733 | zas_ | 2008-05-12 10:52:17 +0200 (Mon, 12 May 2008) | 8 lines
+ moved notification to view_file.c
-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
+commit e04699877776b3d59fc4ac827cc57166f47328f6
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Mon Jun 9 19:43:56 2008 +0000
-Theses changes will help to maintain compatibility when options are modified.
+ run idle function just once
+commit d77ba4a93e80fa8e39ce81d7cb803c55e7da0ca7
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Mon Jun 9 19:41:37 2008 +0000
-------------------------------------------------------------------------
-r732 | zas_ | 2008-05-12 10:11:27 +0200 (Mon, 12 May 2008) | 3 lines
+ use vficon_refresh for updating
-Rename option image_overlay.common.enabled to image_overlay.common.state
-since it is not a boolean anymore.
+commit 1e0be504a15f4eb0228b8b99d69741fed67e6ff5
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Mon Jun 9 19:00:47 2008 +0000
-------------------------------------------------------------------------
-r731 | zas_ | 2008-05-12 02:22:38 +0200 (Mon, 12 May 2008) | 2 lines
+ handle deletion of selected files
-Add some wrapper functions for not yet common code.
+commit eff5536c6f25a057eacc0c9a59ef4a0997ce50e5
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Mon Jun 9 18:28:28 2008 +0000
-------------------------------------------------------------------------
-r730 | zas_ | 2008-05-12 01:56:40 +0200 (Mon, 12 May 2008) | 3 lines
+ optimized vficon_refresh_real
-Make vf_pop_menu_toggle_view_type_cb() independent of FILEVIEW_LIST/FILEVIEW_ICON real values.
+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.
-------------------------------------------------------------------------
-r729 | zas_ | 2008-05-12 01:47:59 +0200 (Mon, 12 May 2008) | 2 lines
+commit 1e2563b337e30225c07935af8041a7d1744c8d72
+Author: Laurent Monin <geeqie@norz.org>
+Date: Mon Jun 9 07:14:46 2008 +0000
-Move a part of pop up menu common code to view_file.[ch].
+ Use unsigned type for marks since it is used as a bitfield.
-------------------------------------------------------------------------
-r728 | zas_ | 2008-05-12 01:09:39 +0200 (Mon, 12 May 2008) | 3 lines
+commit f104380fae8162102711930439e8b2e5fc9e3910
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Mon Jun 9 07:06:53 2008 +0000
-Introduce vf_pop_menu_file_list() as a wrapper to
-vflist_pop_menu_file_list() and vficon_pop_menu_file_list().
+ fixed saving options on exit
-------------------------------------------------------------------------
-r727 | zas_ | 2008-05-11 23:11:54 +0200 (Sun, 11 May 2008) | 2 lines
+commit 020655c63732ec867014ba4e41637831789e05c3
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sun Jun 8 23:42:51 2008 +0000
-Use vf_* functions where possible.
+ Tidy up: add/remove white lines, minor code changes.
-------------------------------------------------------------------------
-r726 | zas_ | 2008-05-11 22:38:21 +0200 (Sun, 11 May 2008) | 2 lines
+commit 1f83c4e6344aeed363e504be79d50d1485dd8160
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sun Jun 8 21:21:13 2008 +0000
-Drop unused layout_list_get_path() and vf*_index_get_path().
+ improved vficon_populate
-------------------------------------------------------------------------
-r725 | zas_ | 2008-05-11 15:17:38 +0200 (Sun, 11 May 2008) | 2 lines
+commit a871f2934cd24dd852a1810a82d7029cf8cfb3e9
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sun Jun 8 20:24:46 2008 +0000
-French translation was updated.
+ vficon_sync speed-up
-------------------------------------------------------------------------
-r724 | zas_ | 2008-05-11 15:14:58 +0200 (Sun, 11 May 2008) | 4 lines
+commit b4f826d25c1daec9e7b3ca63203b615b2490ac8e
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sun Jun 8 19:09:44 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.
+ better check for notify type
-------------------------------------------------------------------------
-r723 | zas_ | 2008-05-11 14:23:26 +0200 (Sun, 11 May 2008) | 8 lines
+commit c64e06ce0192ac8386a54296c09c2b5ee5989aa5
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sun Jun 8 09:25:39 2008 +0000
-Rename options:
-startup_path_enable -> startup.restore_path
-startup_path -> startup.path
+ fixed switching thumbnails in listview on and off - bug 1984825
-Geeqie is still able to read old options.
+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
-------------------------------------------------------------------------
-r722 | zas_ | 2008-05-11 13:46:48 +0200 (Sun, 11 May 2008) | 2 lines
+ various notification improvements
-Fix help window title.
+commit 063bd585c8e7e4c8bf3c00a0403f7a6ba88cb180
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sat Jun 7 10:45:33 2008 +0000
-------------------------------------------------------------------------
-r721 | zas_ | 2008-05-11 13:44:58 +0200 (Sun, 11 May 2008) | 2 lines
+ use the new notification for collections
-Use computed string length.
+commit ee08f41b89a36d13dfabb071fccdb532c58f69bf
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sat Jun 7 10:18:30 2008 +0000
-------------------------------------------------------------------------
-r720 | zas_ | 2008-05-11 13:41:32 +0200 (Sun, 11 May 2008) | 2 lines
+ Display Lirc state in config log.
+ Re-organize the config log a bit.
-Slightly increase help window's default width.
+commit 4df45b3ded4ba25fe8daaafdb3ea0de18eb9769c
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sat Jun 7 09:36:12 2008 +0000
-------------------------------------------------------------------------
-r719 | zas_ | 2008-05-11 13:30:41 +0200 (Sun, 11 May 2008) | 4 lines
+ use new notification in img-view
-Add an help button to OSD info configuration in Preferences dialog.
-Make its own section named "Overlay Screen Display".
+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
-------------------------------------------------------------------------
-r718 | zas_ | 2008-05-11 12:25:04 +0200 (Sun, 11 May 2008) | 5 lines
+commit f745066286b72604eddc365c088df7a82eafbbcd
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sat Jun 7 08:13:22 2008 +0000
-Partially update main README.
-A section concerning overlay info was added.
-Translation statistics were updated.
+ used new notification in search.c
+commit 7637e235738516de25759d26d3feb45a171a18d3
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sat Jun 7 07:45:08 2008 +0000
-------------------------------------------------------------------------
-r717 | zas_ | 2008-05-11 11:37:46 +0200 (Sun, 11 May 2008) | 50 lines
+ used new notification in dupe.c
-Change translations statistics formatting to match the style
-use in the README file.
+commit dd62fe18714c2f714e444c6c6f2de5e7e07acd84
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Fri Jun 6 22:34:15 2008 +0000
-Here is the result for current trunk:
+ used new notification in cache_maint
-Translations statistics
-Date: Sun, 11 May 2008 11:33:14 +0200
+commit f335345202a840721560f5aab41ba110a449ddd1
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Fri Jun 6 22:11:03 2008 +0000
-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)
+ added NotifyType
-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 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
-------------------------------------------------------------------------
-r716 | zas_ | 2008-05-10 23:29:53 +0200 (Sat, 10 May 2008) | 25 lines
+ zero-lenght path must be allowed for now
-Fix display of collection in overlay info.
-Due to markup escaped <i>collection</i> was displayed instead of collection's in italic.
+commit 765ce1d52bad52bbfeb8b930c0428318d93185d1
+Author: Laurent Monin <geeqie@norz.org>
+Date: Fri Jun 6 08:01:19 2008 +0000
-Overlay info syntax was extended to allow the wrapping of displayed data with markup.
+ French translation was updated.
-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.
+commit f64e2fa6ee80241e0bcd786c7c9dc3f70980367d
+Author: Laurent Monin <geeqie@norz.org>
+Date: Thu Jun 5 23:31:22 2008 +0000
-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
+ 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
-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.
+ 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.
-------------------------------------------------------------------------
-r715 | zas_ | 2008-05-10 16:22:18 +0200 (Sat, 10 May 2008) | 2 lines
+commit baf540a744f37d692c00c740cfe77505f3e4971c
+Author: Laurent Monin <geeqie@norz.org>
+Date: Thu Jun 5 08:41:02 2008 +0000
-image_osd_get() now returns OsdShowFlags.
+ 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.
-------------------------------------------------------------------------
-r714 | zas_ | 2008-05-10 15:54:25 +0200 (Sat, 10 May 2008) | 2 lines
+commit 6129e31e323e0064a6c9bb2285dab6cf32088146
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Wed Jun 4 21:12:47 2008 +0000
-Display a simple grid with histogram.
+ new notification system (used only in vflist for now)
-------------------------------------------------------------------------
-r713 | zas_ | 2008-05-10 14:33:52 +0200 (Sat, 10 May 2008) | 2 lines
+commit b83763acf8f3ec6b12ca5302a6e7c73d20eb2ecb
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Tue Jun 3 19:44:19 2008 +0000
-Initialize to correct value (OSD_SHOW_NOTHING instead of FALSE).
+ replaced directory path with FileData* dir_fd
-------------------------------------------------------------------------
-r712 | zas_ | 2008-05-10 11:00:14 +0200 (Sat, 10 May 2008) | 4 lines
+commit af94f830d3c67610709600c6a57e85dc583630c1
+Author: Laurent Monin <geeqie@norz.org>
+Date: Tue Jun 3 15:54:05 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.
+ 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.
-------------------------------------------------------------------------
-r711 | zas_ | 2008-05-09 14:43:10 +0200 (Fri, 09 May 2008) | 3 lines
+commit fa9d41fdd5e0e83247ffcf9195db3c5d069a1976
+Author: Laurent Monin <geeqie@norz.org>
+Date: Tue Jun 3 13:54:22 2008 +0000
-image_osd_info_render(): if there's no fd, just return.
+ 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
-------------------------------------------------------------------------
-r710 | zas_ | 2008-05-09 14:33:24 +0200 (Fri, 09 May 2008) | 5 lines
+ Drop initialization to NULL since filelist_read() will take care of it.
-Move overlay histogram stuff from ImageWindow to OverlayStateData.
-It simplifies things a lot and make more sense.
+commit 3df14dfb67589c306fb4095b7087638d4aad61bc
+Author: Laurent Monin <geeqie@norz.org>
+Date: Tue Jun 3 09:41:00 2008 +0000
-Note: overlay icons display is broken since a long time it seems.
+ filelist_read_real(): optimize and clean up.
-------------------------------------------------------------------------
-r709 | zas_ | 2008-05-09 13:15:56 +0200 (Fri, 09 May 2008) | 2 lines
+commit c3cbb65ba80d2339026513a32fac2ddf1f866bbe
+Author: Laurent Monin <geeqie@norz.org>
+Date: Tue Jun 3 09:03:33 2008 +0000
-Introduce image_get_osd_data() and image_set_osd_data().
+ Reduce indentation level.
-------------------------------------------------------------------------
-r708 | zas_ | 2008-05-09 11:58:46 +0200 (Fri, 09 May 2008) | 2 lines
+commit 18f3117f7949d432a1ebf2d4bfcb47a1a50b146d
+Author: Laurent Monin <geeqie@norz.org>
+Date: Tue Jun 3 08:57:46 2008 +0000
-image_osd_get() and image_osd_set() now uses flags.
+ Reduce indentation level.
-------------------------------------------------------------------------
-r707 | zas_ | 2008-05-09 11:34:38 +0200 (Fri, 09 May 2008) | 3 lines
+commit 688b1111bc04b733c4d879b16faf5c75d4bcbdbf
+Author: Laurent Monin <geeqie@norz.org>
+Date: Tue Jun 3 08:53:53 2008 +0000
-image_osd_histogram_chan_toggle(), image_osd_histogram_log_toggle():
-reduce indentation level.
+ collection_table_find_data_by_coord(): tidy up.
-------------------------------------------------------------------------
-r706 | zas_ | 2008-05-09 10:39:18 +0200 (Fri, 09 May 2008) | 7 lines
+commit 25c47b533a126a95dd10c663d9f6a32b5e78b8e5
+Author: Laurent Monin <geeqie@norz.org>
+Date: Tue Jun 3 07:37:24 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
+ vflist_maint(): only allocate memory and compare strings if needed.
-------------------------------------------------------------------------
-r705 | zas_ | 2008-05-09 10:03:25 +0200 (Fri, 09 May 2008) | 2 lines
+commit 9069f1e009b20f29cf15c7ad6632476589f8516c
+Author: Laurent Monin <geeqie@norz.org>
+Date: Tue Jun 3 07:32:13 2008 +0000
-Update CODING and HACKING files, and add po/README file for translators.
+ layout_real_renamed(), layout_real_removed(), layout_real_moved():
+ simplify code.
-------------------------------------------------------------------------
-r704 | zas_ | 2008-05-09 09:46:18 +0200 (Fri, 09 May 2008) | 2 lines
+commit e1edb9d5c4d980e5c1615f96cd91804cb62ed922
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sat May 31 19:46:26 2008 +0000
-Make lirc_cleanup() and lirc_input_callback() static.
+ do not change original FileData on copy
-------------------------------------------------------------------------
-r703 | zas_ | 2008-05-09 09:32:30 +0200 (Fri, 09 May 2008) | 4 lines
+commit 7fe6112289193b5421a08fc9a27da23a293d8622
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sat May 31 19:44:41 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.
+ replaced vflist_maint functions by vflist_refresh - it allows to follow
+ changes made by external editors more precisely
-------------------------------------------------------------------------
-r702 | zas_ | 2008-05-09 00:59:14 +0200 (Fri, 09 May 2008) | 4 lines
+commit 10e0bd5513c5c314d7feba61bac30c2d2bd50669
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Fri May 30 21:41:46 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.
+ vflist_populate_view: better handle selected files that are renamed or deleted
-------------------------------------------------------------------------
-r701 | zas_ | 2008-05-09 00:49:16 +0200 (Fri, 09 May 2008) | 3 lines
+commit 44179fa3ab21aca878d86a7b84a4822927e62dfb
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Fri May 30 20:13:16 2008 +0000
-Reset thumbnail column to NULL when hidden.
-It fixes bug 1960274.
+ fixed thumb index (thumbnails are shown again)
-------------------------------------------------------------------------
-r700 | zas_ | 2008-05-08 22:21:03 +0200 (Thu, 08 May 2008) | 2 lines
+commit f5bae1ffc402de38549948787c689ce02fc598f1
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Fri May 30 19:53:52 2008 +0000
-search_status_update(): slightly reduce code redundancy.
+ simplified vflist_populate_view
-------------------------------------------------------------------------
-r699 | zas_ | 2008-05-08 14:50:25 +0200 (Thu, 08 May 2008) | 4 lines
+commit ce29b00d2ae2d4461da481c9703d1a1e34d03926
+Author: Laurent Monin <geeqie@norz.org>
+Date: Fri May 30 08:39:52 2008 +0000
-Use g_ascii_strncasecmp() instead of strncasecmp() where applicable.
-Add a FIXME where potential improper usage of strncasecmp() is made.
+ 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
-------------------------------------------------------------------------
-r698 | zas_ | 2008-05-08 14:38:34 +0200 (Thu, 08 May 2008) | 3 lines
+ Make utf8_validate_or_convert() to always allocate a new string.
-Use g_ascii_strcasecmp() instead of strcasecmp() where ascii-only strings
-are used.
+commit ab16da5e16b325b51e888d8969360b48770b0cf3
+Author: Laurent Monin <geeqie@norz.org>
+Date: Fri May 30 07:20:25 2008 +0000
-------------------------------------------------------------------------
-r697 | zas_ | 2008-05-08 01:27:26 +0200 (Thu, 08 May 2008) | 8 lines
+ Check for existing editor command using is_valid_editor_command().
-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()
+commit 7afa3a0b07b38b082a647bc50c046a4d9758a1e7
+Author: Laurent Monin <geeqie@norz.org>
+Date: Thu May 29 07:58:34 2008 +0000
-All these are deprecated either since 2.2 or 2.4.
+ Preserve properties window width and height during session even when
+ layout.save_window_positions is not set.
+ It restores the pre revision 858 behavior.
-------------------------------------------------------------------------
-r696 | zas_ | 2008-05-08 00:54:33 +0200 (Thu, 08 May 2008) | 3 lines
+commit 05f3eb89357157adbe443d71986902c2e80c997f
+Author: Laurent Monin <geeqie@norz.org>
+Date: Thu May 29 07:52:05 2008 +0000
-Resync po files.
-French translation was updated.
+ Save properties window width and height to rc file and restore
+ them on next session if layout.save_window_positions is set to TRUE.
-------------------------------------------------------------------------
-r695 | zas_ | 2008-05-08 00:48:30 +0200 (Thu, 08 May 2008) | 5 lines
+commit f89fbbf03e4d4593445a2fa731557db2596b0305
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Wed May 28 22:12:10 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.
+ 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
-------------------------------------------------------------------------
-r694 | zas_ | 2008-05-07 01:58:08 +0200 (Wed, 07 May 2008) | 2 lines
+ measure time of filelist update
-Tidy up.
+commit 01a388eb2885bc5a9dbbb0faafc437a171ff557d
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Tue May 27 18:37:15 2008 +0000
-------------------------------------------------------------------------
-r693 | zas_ | 2008-05-07 01:53:12 +0200 (Wed, 07 May 2008) | 2 lines
+ another fix in notification
-French translation was updated.
+commit d5c322089bf472b8061116dda437870fb7724939
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Mon May 26 18:32:04 2008 +0000
-------------------------------------------------------------------------
-r692 | zas_ | 2008-05-07 01:52:09 +0200 (Wed, 07 May 2008) | 2 lines
+ Fix histogram grid - patch by Uwe Ohse
-Add trash.c.
+commit 9530a02bc561d40f936c44d5e45d37ddf32815b9
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Mon May 26 18:22:08 2008 +0000
-------------------------------------------------------------------------
-r691 | nadvornik | 2008-05-06 23:35:31 +0200 (Tue, 06 May 2008) | 2 lines
+ use fputs instead of printf - patch by Uwe Ohse
-moved safe delete functions to separate file
+commit 1f01199c3dbd8ca9e796ff42b8b591ab90745158
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Mon May 26 17:06:30 2008 +0000
-------------------------------------------------------------------------
-r690 | nadvornik | 2008-05-06 22:24:16 +0200 (Tue, 06 May 2008) | 2 lines
+ fixed bug in notification code
-use some of the new functions in filedata.c
+commit 5407c7dd1d47999deb999ddcc4908d7c47b7d74c
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sun May 25 20:17:07 2008 +0000
-------------------------------------------------------------------------
-r689 | zas_ | 2008-05-06 19:00:55 +0200 (Tue, 06 May 2008) | 3 lines
+ Tidy up: indentation fixes, typo fixes, ...
-Allow the user to append or replace comments for a group of selected files.
-Two buttons were added to the Keywords panel.
+commit aa3fda66e2e90d4f87fdb0e71106829aedaac9b0
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sun May 25 19:54:00 2008 +0000
-------------------------------------------------------------------------
-r688 | zas_ | 2008-05-06 14:31:23 +0200 (Tue, 06 May 2008) | 6 lines
+ Typo fix.
-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 7aca9bde7ea89130df6934148287dc3c0f290cd2
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sun May 25 19:13:04 2008 +0000
-------------------------------------------------------------------------
-r687 | zas_ | 2008-05-06 14:03:39 +0200 (Tue, 06 May 2008) | 2 lines
+ Typo fix.
-comment_xmp_read(), comment_xmp_write(): cleanup and improve readibility.
+commit 8973118af85916c7dd6240428d865b593d4e889c
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sun May 25 19:03:30 2008 +0000
-------------------------------------------------------------------------
-r686 | zas_ | 2008-05-05 23:27:39 +0200 (Mon, 05 May 2008) | 2 lines
+ bar_sort_set_filter_cb(): filter_idx was set as uint so get it as uint.
-French translation was updated, various fixes.
+commit 56b0d6ecccbd5ef448fb59983828fccc2c5dd5a2
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sat May 24 22:44:18 2008 +0000
-------------------------------------------------------------------------
-r685 | zas_ | 2008-05-05 22:56:20 +0200 (Mon, 05 May 2008) | 2 lines
+ rewritten utilops.h:
+ - better integration of external commands
+ - filter commands
-Belarusian translation was updated. Thanks to Pavel Piatruk.
+commit d2e0888194442fe09a3f099f149e3d4fb3884bc9
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sat May 24 20:01:59 2008 +0000
-------------------------------------------------------------------------
-r684 | nadvornik | 2008-05-05 22:51:51 +0200 (Mon, 05 May 2008) | 2 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.
-started implementation of API for sidecar files
+commit c3c6184b858a57f359937a912a8db3f715844270
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sat May 24 09:18:09 2008 +0000
-------------------------------------------------------------------------
-r683 | zas_ | 2008-05-05 22:51:50 +0200 (Mon, 05 May 2008) | 2 lines
+ improved filedata interface
-Update POTFILES.in (filelist.c -> filedata.c).
+commit 2f9f06e43c1d6e6b9d1d7c7af3c038ab830f132f
+Author: Laurent Monin <geeqie@norz.org>
+Date: Fri May 23 23:40:12 2008 +0000
-------------------------------------------------------------------------
-r682 | zas_ | 2008-05-05 22:49:40 +0200 (Mon, 05 May 2008) | 3 lines
+ Fix display of libpthread detection.
+ Fix display of lirc support, do not test for headers if disabled.
-Modify regen_potfiles.sh to generate a patch instead of
-directly applying changes to POTFILES.in.
+commit 8c7decff43cd66410be772b6c1a3204efe7a7e00
+Author: Laurent Monin <geeqie@norz.org>
+Date: Fri May 23 23:18:40 2008 +0000
-------------------------------------------------------------------------
-r681 | nadvornik | 2008-05-05 21:20:46 +0200 (Mon, 05 May 2008) | 2 lines
+ Silent few warnings that appeared when using --disable-exiv2 configure option.
-added .gqv to known file types
+commit a2f6ae48d9b6632eef9b4b2ad77e189afb61016d
+Author: Laurent Monin <geeqie@norz.org>
+Date: Fri May 23 22:57:51 2008 +0000
-------------------------------------------------------------------------
-r680 | nadvornik | 2008-05-05 21:11:12 +0200 (Mon, 05 May 2008) | 2 lines
+ French translation was updated.
-split filelist.c to filefilter.c and filedata.c
+commit 6e80a2dae26e190fdd56461021cc945a9b807ecc
+Author: Laurent Monin <geeqie@norz.org>
+Date: Fri May 23 22:55:23 2008 +0000
-------------------------------------------------------------------------
-r679 | zas_ | 2008-05-05 11:21:01 +0200 (Mon, 05 May 2008) | 2 lines
+ Use the same label for toolbar buttons tooltip than in main menu.
-Revert wrong patch rev 676.
+commit 2d39c9d42b6214b53b9f70ca5a9f946974ad326a
+Author: Laurent Monin <geeqie@norz.org>
+Date: Fri May 23 15:07:30 2008 +0000
-------------------------------------------------------------------------
-r678 | zas_ | 2008-05-05 11:12:07 +0200 (Mon, 05 May 2008) | 4 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).
-Add an helper script to regenerate POTFILES.in file.
-POTFILES.in was updated.
-French translation was updated.
+commit 07c127246cdf49873cbcb769e00bf6299956dc70
+Author: Laurent Monin <geeqie@norz.org>
+Date: Fri May 23 12:27:28 2008 +0000
-------------------------------------------------------------------------
-r677 | zas_ | 2008-05-05 10:32:18 +0200 (Mon, 05 May 2008) | 2 lines
+ slideshow_next(), slideshow_prev(): move code to common slideshow_move(), reducing code redundancy.
-Revert patch 675, and correctly fix gtk assertion failure.
+commit 5caa58afa57bc3340d49ea1701b06038cfbb345b
+Author: Laurent Monin <geeqie@norz.org>
+Date: Fri May 23 12:19:42 2008 +0000
-------------------------------------------------------------------------
-r676 | zas_ | 2008-05-05 10:15:52 +0200 (Mon, 05 May 2008) | 2 lines
+ Move code from slideshow_timer_reset() to new slideshow_timer_stop() and simplify calls.
-Fix two memory leaks.
+commit 001635e8163ec0bc1615dd10de3da4271dd44c00
+Author: Laurent Monin <geeqie@norz.org>
+Date: Fri May 23 00:20:56 2008 +0000
-------------------------------------------------------------------------
-r675 | zas_ | 2008-05-05 09:46:32 +0200 (Mon, 05 May 2008) | 3 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.
-Fix Gtk-CRITICAL **: gtk_label_set_text: assertion `GTK_IS_LABEL (label)' failed
-when swapping to/from file icon view.
+commit 43b4e4860807c26bd83cd99da58ecd68f052eb44
+Author: Laurent Monin <geeqie@norz.org>
+Date: Thu May 22 23:22:12 2008 +0000
-------------------------------------------------------------------------
-r674 | zas_ | 2008-05-05 01:57:20 +0200 (Mon, 05 May 2008) | 2 lines
+ Pass ConfOptions * to save_options() and load_options().
-vficon_release_cb(): use switch() and cleanup.
+commit 0fe33428a668c783d42432bf80a574d7df6b564d
+Author: Laurent Monin <geeqie@norz.org>
+Date: Thu May 22 23:17:26 2008 +0000
-------------------------------------------------------------------------
-r673 | zas_ | 2008-05-05 01:20:43 +0200 (Mon, 05 May 2008) | 2 lines
+ Move code from save_options() to new save_options_to() which takes
+ the destination path as parameter.
-Minor tidyup.
+commit 9d0560eb4199b16058bc3623e49a90393f62b968
+Author: Laurent Monin <geeqie@norz.org>
+Date: Thu May 22 23:09:53 2008 +0000
-------------------------------------------------------------------------
-r672 | zas_ | 2008-05-05 01:06:46 +0200 (Mon, 05 May 2008) | 2 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.
-Drop unused vficon_select_by_path() and vflist_select_by_path().
+commit 91a77c72ce0c65eacd4ef3810128c7aef9d646db
+Author: Laurent Monin <geeqie@norz.org>
+Date: Thu May 22 22:49:07 2008 +0000
-------------------------------------------------------------------------
-r671 | zas_ | 2008-05-05 01:03:36 +0200 (Mon, 05 May 2008) | 2 lines
+ Move code from exit_program_final() to new sync_options_with_current_state().
-Minor cleanup.
+commit 2d0d34eaa30a4d1d8be28eae5158c096e9401174
+Author: Laurent Monin <geeqie@norz.org>
+Date: Thu May 22 22:43:07 2008 +0000
-------------------------------------------------------------------------
-r670 | nadvornik | 2008-05-04 23:54:20 +0200 (Sun, 04 May 2008) | 2 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().
-dropped path_list functions, use filelist functions everywhere
+commit b5d0f1f91b10a1efb6bea5fe4878d946b18d124e
+Author: Laurent Monin <geeqie@norz.org>
+Date: Thu May 22 20:22:13 2008 +0000
-------------------------------------------------------------------------
-r669 | zas_ | 2008-05-04 21:00:39 +0200 (Sun, 04 May 2008) | 9 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.
-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 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.
-------------------------------------------------------------------------
-r668 | zas_ | 2008-05-04 20:45:06 +0200 (Sun, 04 May 2008) | 2 lines
+commit a4226d0deebed8e331e8b5de48d9c2c11a9e01ff
+Author: Laurent Monin <geeqie@norz.org>
+Date: Thu May 22 11:28:35 2008 +0000
-Drop ViewFileIcon, use ViewFile and ViewFileInfoIcon instead.
+ Comment out unused static function extension_truncate().
-------------------------------------------------------------------------
-r667 | zas_ | 2008-05-04 18:16:07 +0200 (Sun, 04 May 2008) | 2 lines
+commit 6f08b3a0bfb9a539e0144313ec7b02071f19b7f4
+Author: Laurent Monin <geeqie@norz.org>
+Date: Thu May 22 11:27:43 2008 +0000
-Drop ViewFileList, use ViewFile and ViewFileInfoList instead.
+ Fix up some types, make some signed vs unsigned warnings quiet.
-------------------------------------------------------------------------
-r666 | zas_ | 2008-05-04 13:47:36 +0200 (Sun, 04 May 2008) | 2 lines
+commit e050d2a0bb71d56ddd0d7e6a8b60648357d7bcd9
+Author: Laurent Monin <geeqie@norz.org>
+Date: Thu May 22 10:09:07 2008 +0000
-Prepare switch to ViewFile (unused yet).
+ 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.
-------------------------------------------------------------------------
-r665 | zas_ | 2008-05-04 02:32:05 +0200 (Sun, 04 May 2008) | 3 lines
+commit 4abc67156b7e0728230026f9c47a091ab69b0f53
+Author: Laurent Monin <geeqie@norz.org>
+Date: Thu May 22 09:22:29 2008 +0000
-Shorten Edit menu labels, dropping "in ". It will ease
-translations too, and user can define its own label in Preferences.
+ French translation was updated.
-------------------------------------------------------------------------
-r664 | zas_ | 2008-05-04 02:21:14 +0200 (Sun, 04 May 2008) | 3 lines
+commit a331805a87ce4d65fcc06826054f115a9c8a7108
+Author: Laurent Monin <geeqie@norz.org>
+Date: Thu May 22 09:12:36 2008 +0000
-Do not show Copy, Move, Rename, Delete, New Folder external commands
-in the Edit section of contextual menus.
+ Introduce an helper function that returns the name of an editor.
+ It helps to reduce code redundancy.
-------------------------------------------------------------------------
-r663 | zas_ | 2008-05-04 02:16:37 +0200 (Sun, 04 May 2008) | 2 lines
+commit 48582c3600eacfd7985aff255372c4909cf87e40
+Author: Laurent Monin <geeqie@norz.org>
+Date: Thu May 22 08:49:52 2008 +0000
-Use GQ_EDITOR_GENERIC_SLOTS instead of hardcoded value.
+ Use a struct to handle editor's properties.
-------------------------------------------------------------------------
-r662 | zas_ | 2008-05-03 22:55:16 +0200 (Sat, 03 May 2008) | 2 lines
+commit cceaf6dd59921919c0f8c1478bc025de7812ba9f
+Author: Laurent Monin <geeqie@norz.org>
+Date: Wed May 21 19:37:18 2008 +0000
-exif_get_description_by_key(): check for "formatted." prefix, and optimize.
+ 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.
-------------------------------------------------------------------------
-r661 | zas_ | 2008-05-03 22:49:25 +0200 (Sat, 03 May 2008) | 2 lines
+commit f4fdeefe1b2f4573b91a19682a134a50f675c8ff
+Author: Laurent Monin <geeqie@norz.org>
+Date: Wed May 21 11:46:19 2008 +0000
-exif_get_formatted_by_key(): skip prefix when comparing.
+ Replace hardcoded "/" by G_DIR_SEPARATOR_S where applicable.
-------------------------------------------------------------------------
-r660 | zas_ | 2008-05-03 22:40:50 +0200 (Sat, 03 May 2008) | 5 lines
+commit ec28448108d471c5fc8705e5502a81e116c506e4
+Author: Laurent Monin <geeqie@norz.org>
+Date: Wed May 21 11:45:29 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.
+ Use g_build_filename().
-------------------------------------------------------------------------
-r659 | zas_ | 2008-05-03 18:58:17 +0200 (Sat, 03 May 2008) | 17 lines
+commit f42ea51102878335515db3058de36d3ac2c68e27
+Author: Laurent Monin <geeqie@norz.org>
+Date: Wed May 21 11:07:23 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.
+ Use G_DIR_SEPARATOR where applicable.
-To reproduce:
-- open a collection
-- right-click on a non-selected image
-- select Delete... menu entry (or Copy, Move, Rename, Properties...)
+commit 88b1387337bed6aae3c4eb9eabb6b5646bc2e743
+Author: Laurent Monin <geeqie@norz.org>
+Date: Wed May 21 11:00:13 2008 +0000
-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.
+ Use G_DIR_SEPARATOR_S where applicable.
-collection_table_popup_file_list() has to return a list of filedata *
-not a list of gchar *.
+commit 1ba45c263f1a40689c0f015d00adab032d9ea4b8
+Author: Laurent Monin <geeqie@norz.org>
+Date: Wed May 21 10:52:38 2008 +0000
-------------------------------------------------------------------------
-r658 | zas_ | 2008-05-03 17:19:35 +0200 (Sat, 03 May 2008) | 3 lines
+ Use g_build_filename() and G_DIR_SEPARATOR_S.
-Move marks-related fields from _ViewFileInfoList to _ViewFile, since
-they'll be used for file icon view too.
+commit 9cbd3ca276a034db2e38e1d302f59ea59000961e
+Author: Laurent Monin <geeqie@norz.org>
+Date: Wed May 21 10:46:33 2008 +0000
-------------------------------------------------------------------------
-r657 | zas_ | 2008-05-03 17:17:24 +0200 (Sat, 03 May 2008) | 3 lines
+ Use g_build_filename() instead of g_strconcat().
-Move common thumbs_* fields from _ViewFileInfoIcon and _ViewFileInfoList
-to _ViewFile.
+commit 0be6f799a2986d22c2e42e8c51d09a16030875f6
+Author: Laurent Monin <geeqie@norz.org>
+Date: Wed May 21 10:11:56 2008 +0000
-------------------------------------------------------------------------
-r656 | zas_ | 2008-05-03 17:13:15 +0200 (Sat, 03 May 2008) | 3 lines
+ tab_completion_do(): use g_build_filename(), G_DIR_SEPARATOR, G_DIR_SEPARATOR_S.
-Rename thumbs_fd to thumbs_filedata in ViewFileIcon struct to match
-the name used in ViewFileList.
+commit a847d10f2debed4c4e7f01e6f4e4fcf246f3a281
+Author: Laurent Monin <geeqie@norz.org>
+Date: Wed May 21 09:58:29 2008 +0000
-------------------------------------------------------------------------
-r655 | zas_ | 2008-05-03 17:09:21 +0200 (Sat, 03 May 2008) | 2 lines
+ tab_completion_popup_cb(): use g_build_filename() and simplify code.
-Remove useless thumbs_list from ViewFileIcon.
+commit e07eab477089e688f3d3668e110b651f1cf346f4
+Author: Laurent Monin <geeqie@norz.org>
+Date: Wed May 21 09:50:32 2008 +0000
-------------------------------------------------------------------------
-r654 | zas_ | 2008-05-03 14:50:52 +0200 (Sat, 03 May 2008) | 2 lines
+ Use expand_tilde() instead of simple concatenation, it allows correct expansion
+ of ~user as well as ~dir.
-Add function prototypes (yet unused).
+commit 5acd3990069f22b64c0336bd89067c1cf265927e
+Author: Laurent Monin <geeqie@norz.org>
+Date: Wed May 21 09:30:53 2008 +0000
-------------------------------------------------------------------------
-r653 | zas_ | 2008-05-03 14:48:45 +0200 (Sat, 03 May 2008) | 3 lines
+ dest_change_dir(): rewrite to use g_build_filename(), g_path_get_dirname() and g_path_get_basename().
-Drop redundant vflist_thumbs_set() introduced in revision 649,
-modify and use existing vflist_thumb_set().
+commit 550af58c76fd602a08a811f5be218bcec90d1598
+Author: Laurent Monin <geeqie@norz.org>
+Date: Wed May 21 08:53:51 2008 +0000
-------------------------------------------------------------------------
-r652 | zas_ | 2008-05-03 14:21:22 +0200 (Sat, 03 May 2008) | 2 lines
+ Fix a segfault occuring when logging an empty message and there is no log window.
-Remove redundant prototype.
+commit 98cabee9637e5ddfd9b2f6fcd9296572c6d7253d
+Author: Laurent Monin <geeqie@norz.org>
+Date: Wed May 21 00:42:14 2008 +0000
-------------------------------------------------------------------------
-r651 | zas_ | 2008-05-03 13:58:41 +0200 (Sat, 03 May 2008) | 2 lines
+ Use g_build_filename().
-Introduce ViewFileInfoList and ViewFileInfoIcon (not used yet).
+commit e45c0d959bfbc09115bf447ccc7813d25ace3e1a
+Author: Laurent Monin <geeqie@norz.org>
+Date: Wed May 21 00:39:16 2008 +0000
-------------------------------------------------------------------------
-r650 | zas_ | 2008-05-03 13:34:13 +0200 (Sat, 03 May 2008) | 3 lines
+ thumb_std_cache_path(): use g_build_filename() and simplify.
-Replace Layout icon_view field by more generic file_view_type.
-Replace option layout.view_as_icons by layout.file_view_type.
+commit c656b4ad0212e24cbd9ae2844b0bbf904571ab2f
+Author: Laurent Monin <geeqie@norz.org>
+Date: Wed May 21 00:32:57 2008 +0000
-------------------------------------------------------------------------
-r649 | zas_ | 2008-05-03 12:31:37 +0200 (Sat, 03 May 2008) | 4 lines
+ Use g_build_filename().
-Set thumbs_enabled through new function vflist_thumbs_set() instead
-of vflist_new().
+commit 9fbfbb253e2e700806714e6ef5c7813148c8b72a
+Author: Laurent Monin <geeqie@norz.org>
+Date: Wed May 21 00:20:13 2008 +0000
+ Use g_build_filename() where applicable.
-------------------------------------------------------------------------
-r648 | zas_ | 2008-05-03 11:41:09 +0200 (Sat, 03 May 2008) | 3 lines
+commit a9bd1c761342532867bee1fc112d7c5f93deb5b6
+Author: Laurent Monin <geeqie@norz.org>
+Date: Wed May 21 00:15:41 2008 +0000
-Prepare merging of some parts of view_file_list and view_file_icon and
-simplification of view_file* interface.
+ Use g_build_filename() instead of g_strconcat().
-------------------------------------------------------------------------
-r647 | zas_ | 2008-05-03 10:35:08 +0200 (Sat, 03 May 2008) | 3 lines
+commit fe45471190349960979b37aebea84cc2c7cb9675
+Author: Laurent Monin <geeqie@norz.org>
+Date: Wed May 21 00:13:12 2008 +0000
-Change default positions of dividers since width of the main menu
-was increased.
+ Use g_build_filename() and get rid of "root dir fix".
-------------------------------------------------------------------------
-r646 | zas_ | 2008-05-03 01:11:31 +0200 (Sat, 03 May 2008) | 3 lines
+commit 0b30da0498c23b1237ebbf41eac69e341394043a
+Author: Laurent Monin <geeqie@norz.org>
+Date: Wed May 21 00:12:19 2008 +0000
-Make exif_rational_to_double() and exif_get_rational_as_double() static.
+ Use g_build_filename().
+commit 5e710445fc08a56ddd1c73585953d2c791dc866a
+Author: Laurent Monin <geeqie@norz.org>
+Date: Wed May 21 00:01:03 2008 +0000
-------------------------------------------------------------------------
-r645 | zas_ | 2008-05-03 01:08:18 +0200 (Sat, 03 May 2008) | 3 lines
+ Disable unused code:
+ - cache_maintain_home_dir()
+ - cache_maintain_dir()
-info_notebook_reordered_cb(): do not call info_tabs_sync(), it causes exif
-info disappearing when moving the tab.
+commit 95eebfff0a5472e885a2cebd38024a59b37db8af
+Author: Laurent Monin <geeqie@norz.org>
+Date: Tue May 20 23:41:13 2008 +0000
-------------------------------------------------------------------------
-r644 | zas_ | 2008-05-03 00:59:04 +0200 (Sat, 03 May 2008) | 3 lines
+ Build path using g_build_filename() then calculate its length.
-Fix a Pango warning related to UTF8 when displaying internationalized
-description in Advanced Exif Properties panel.
+commit e80fa4c91453bf056e384a888e051272b04b7abd
+Author: Laurent Monin <geeqie@norz.org>
+Date: Tue May 20 23:11:47 2008 +0000
-------------------------------------------------------------------------
-r643 | zas_ | 2008-05-03 00:31:24 +0200 (Sat, 03 May 2008) | 2 lines
+ Use G_DIR_SEPARATOR_S instead of hardcoded "/".
-exif_get_description_by_key(): tidy up.
+commit 381f82f295a52ba43179d6e0e5036ac73ac8887d
+Author: Laurent Monin <geeqie@norz.org>
+Date: Tue May 20 23:07:09 2008 +0000
-------------------------------------------------------------------------
-r642 | zas_ | 2008-05-03 00:28:39 +0200 (Sat, 03 May 2008) | 3 lines
+ Use g_build_filename() and move location label creation from cache_manager_show() to new cache_manager_location_label().
-Add a pointer to the build function in the formatted exif tags struct
-and use a loop in exif_get_formatted_by_key().
+commit d145a20894f4c757ea29b79ed25d31004ae97a8a
+Author: Laurent Monin <geeqie@norz.org>
+Date: Tue May 20 22:47:13 2008 +0000
-------------------------------------------------------------------------
-r641 | zas_ | 2008-05-02 23:58:36 +0200 (Fri, 02 May 2008) | 2 lines
+ cache_find_location(): use g_build_filename() and move redundant code to new functions.
-Indentation fix.
+commit 267dbe2ad0cf72a577b2e236245c39e0b1930d59
+Author: Laurent Monin <geeqie@norz.org>
+Date: Tue May 20 22:22:11 2008 +0000
-------------------------------------------------------------------------
-r640 | zas_ | 2008-05-02 23:34:26 +0200 (Fri, 02 May 2008) | 3 lines
+ Use g_build_filename().
-Explode exif_get_formatted_by_key() in smaller functions prefixed "exif_build_f".
-An helper macro was added to call them.
+commit d1ad0442c58c29df914c80e211f8c90abf145427
+Author: Laurent Monin <geeqie@norz.org>
+Date: Tue May 20 22:13:48 2008 +0000
-------------------------------------------------------------------------
-r639 | zas_ | 2008-05-02 22:56:59 +0200 (Fri, 02 May 2008) | 3 lines
+ Use size_t instead of gint, it silents a signed vs unsigned warning.
-Remove unused checksum_simple() function.
+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().
-------------------------------------------------------------------------
-r638 | zas_ | 2008-05-02 22:40:47 +0200 (Fri, 02 May 2008) | 2 lines
+commit 73e10c62fc9d789afd29b46183078407369700e6
+Author: Laurent Monin <geeqie@norz.org>
+Date: Tue May 20 22:09:04 2008 +0000
-Simplify remove_extension_from_path().
+ Drop concat_dir_and_file() and use g_build_filename() instead.
-------------------------------------------------------------------------
-r637 | zas_ | 2008-05-02 22:27:47 +0200 (Fri, 02 May 2008) | 2 lines
+commit ca505f0dd3957eeea0d69dfc3e133c320bba2683
+Author: Laurent Monin <geeqie@norz.org>
+Date: Tue May 20 22:00:14 2008 +0000
-remove_level_from_path() was simplified.
+ Use G_DIR_SEPARATOR instead of '/' where applicable.
-------------------------------------------------------------------------
-r636 | zas_ | 2008-05-02 11:03:52 +0200 (Fri, 02 May 2008) | 2 lines
+commit c56dcb92792b030d9f14cf68d5260be924a999ee
+Author: Laurent Monin <geeqie@norz.org>
+Date: Tue May 20 21:51:25 2008 +0000
-Move variable declaration and affectation near where it is used.
+ Use g_build_filename() to build paths.
-------------------------------------------------------------------------
-r635 | zas_ | 2008-05-02 10:41:32 +0200 (Fri, 02 May 2008) | 2 lines
+commit ddee8f88900c6e3af7b48541514e0f029912bd20
+Author: Laurent Monin <geeqie@norz.org>
+Date: Tue May 20 20:11:29 2008 +0000
-Replace GQView by Geeqie.
+ Do not use glib posix wrappers since they were introduced in 2.6
+ and we want 2.4 compatibility.
-------------------------------------------------------------------------
-r634 | zas_ | 2008-05-02 01:20:26 +0200 (Fri, 02 May 2008) | 2 lines
+commit dc3b44026a577f54f257a543223b1d99ea298693
+Author: Laurent Monin <geeqie@norz.org>
+Date: Tue May 20 20:06:11 2008 +0000
-Use sizeof() instead of hardcoded buffer sizes.
+ Use access() instead of g_access() which is only available in 2.8.
-------------------------------------------------------------------------
-r633 | zas_ | 2008-05-02 00:59:54 +0200 (Fri, 02 May 2008) | 2 lines
+commit f2424a9a424a11d32fdc4514b143d67a8285b0d0
+Author: Laurent Monin <geeqie@norz.org>
+Date: Tue May 20 19:14:36 2008 +0000
-cache_sim_write_similarity(): cleanup and simplification.
+ Use utf-8 charset instead of iso-8859-1.
+ Minor cleanup.
-------------------------------------------------------------------------
-r632 | zas_ | 2008-05-02 00:31:14 +0200 (Fri, 02 May 2008) | 2 lines
+commit dd45f154d660065acd669bae936995f889237604
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Tue May 20 17:43:37 2008 +0000
-Use secure_save stuff to write .sim files.
+ updated ru.po by Alexandre Prokoudine
-------------------------------------------------------------------------
-r631 | zas_ | 2008-05-02 00:30:16 +0200 (Fri, 02 May 2008) | 2 lines
+commit 231d9567dc36494096b87e29a1ba245c932f646a
+Author: Laurent Monin <geeqie@norz.org>
+Date: Tue May 20 08:18:30 2008 +0000
-save_options(): minor code simplification.
+ French translation was updated.
-------------------------------------------------------------------------
-r630 | zas_ | 2008-05-02 00:27:44 +0200 (Fri, 02 May 2008) | 2 lines
+commit b130dfe52635ff03a61994eee9fd98ab12e10f9a
+Author: Laurent Monin <geeqie@norz.org>
+Date: Tue May 20 08:14:35 2008 +0000
-Add a wrapper to fwrite().
+ Sort out log_printf() vs printf_term() mix up.
-------------------------------------------------------------------------
-r629 | zas_ | 2008-05-01 23:42:22 +0200 (Thu, 01 May 2008) | 2 lines
+commit a8d4af5cfbfc17f65b7f23db463ebc0220c26dd3
+Author: Laurent Monin <geeqie@norz.org>
+Date: Tue May 20 07:52:49 2008 +0000
-Typo fix.
+ Use print_term() instead of printf(), since it handles charset conversion
+ from utf8 to locale if needed.
-------------------------------------------------------------------------
-r628 | zas_ | 2008-05-01 20:37:50 +0200 (Thu, 01 May 2008) | 2 lines
+commit 11819b31099e4db5bb0488a404dd633928e806a9
+Author: Laurent Monin <geeqie@norz.org>
+Date: Mon May 19 11:09:23 2008 +0000
-Indentation fixes.
+ Remove C-specific gcc options from CXXFLAGS.
+ Add few more warnings.
-------------------------------------------------------------------------
-r627 | zas_ | 2008-05-01 20:26:30 +0200 (Thu, 01 May 2008) | 2 lines
+commit 592f33931c27c10012614e90bf7486b3ffa66039
+Author: Laurent Monin <geeqie@norz.org>
+Date: Mon May 19 09:27:30 2008 +0000
-Simplify and optimize extension_find_dot().
+ Fix some incomplete initialization warnings.
-------------------------------------------------------------------------
-r626 | nadvornik | 2008-04-30 00:44:06 +0200 (Wed, 30 Apr 2008) | 2 lines
+commit 2a2b70b7061760b54f1075902caee61fe6c6a95f
+Author: Laurent Monin <geeqie@norz.org>
+Date: Mon May 19 08:46:37 2008 +0000
-fixed a memory leak
+ depreceated -> deprecated
-------------------------------------------------------------------------
-r625 | nadvornik | 2008-04-29 20:12:49 +0200 (Tue, 29 Apr 2008) | 2 lines
+commit 17c0fcefeedde3e92482b78685528b2b667bddde
+Author: Laurent Monin <geeqie@norz.org>
+Date: Mon May 19 08:43:11 2008 +0000
-cleanup: use image_get_image_size
+ Typo fixes.
-------------------------------------------------------------------------
-r624 | nadvornik | 2008-04-29 19:52:12 +0200 (Tue, 29 Apr 2008) | 4 lines
+commit 55c5b71c9d49e5d6b39c3b5fa6f4ce966193c881
+Author: Laurent Monin <geeqie@norz.org>
+Date: Mon May 19 08:36:06 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
+ Create auxdir if needed.
+commit 397adc4d43c61ec94d54a03edcf3605de977aed7
+Author: Laurent Monin <geeqie@norz.org>
+Date: Mon May 19 08:24:10 2008 +0000
-------------------------------------------------------------------------
-r623 | bruclik | 2008-04-28 01:31:20 +0200 (Mon, 28 Apr 2008) | 5 lines
+ Fix spurious end of line introduced in revision 780.
-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 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
-------------------------------------------------------------------------
-r622 | nadvornik | 2008-04-27 22:05:11 +0200 (Sun, 27 Apr 2008) | 2 lines
+ Updated CODING (GPL header, macros, svn change-log, ...).
-Added LIRC patch written by Matteo Beniamino
+commit 31ed8e20e511d9ab92a842cc205e6962b6417f62
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sun May 18 21:14:01 2008 +0000
-------------------------------------------------------------------------
-r621 | zas_ | 2008-04-25 22:23:21 +0200 (Fri, 25 Apr 2008) | 2 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).
-Fix number of directory views, bug introduced in revision 617.
+commit a1726043d910102910fa32c669a45a4b23779cbb
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sun May 18 12:56:18 2008 +0000
-------------------------------------------------------------------------
-r620 | nadvornik | 2008-04-25 22:08:47 +0200 (Fri, 25 Apr 2008) | 4 lines
+ Cleanup and code redundancy reduction.
-fixed dragging multiple files from file list
-http://sourceforge.net/tracker/index.php?func=detail&aid=1950740&group_id=222125&atid=1054680
+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.
-------------------------------------------------------------------------
-r619 | zas_ | 2008-04-25 11:31:32 +0200 (Fri, 25 Apr 2008) | 2 lines
+commit c219d832b90357a8df605bb444757be70bed2c68
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sun May 18 07:36:57 2008 +0000
-Add a line about variable and function names.
+ Do not create log window more than once.
-------------------------------------------------------------------------
-r618 | zas_ | 2008-04-25 11:28:45 +0200 (Fri, 25 Apr 2008) | 3 lines
+commit aa1e905eb793586cdfa564228ca939438ce50a91
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sat May 17 22:37:04 2008 +0000
-Document the Geeqie coding style.
-This is a draft, please improve.
+ Fix formatted.SubjectDistance appearing twice in exif bar configuration.
-------------------------------------------------------------------------
-r617 | zas_ | 2008-04-25 10:07:22 +0200 (Fri, 25 Apr 2008) | 3 lines
+commit d5ddb658018102f15fce0efaba39cde3cd89d976
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sat May 17 21:28:02 2008 +0000
-Handle the case of reduction of the number of view directory types.
-Previously it was leading to a segfault.
+ Update POTFILES.in.
-------------------------------------------------------------------------
-r616 | zas_ | 2008-04-24 22:29:09 +0200 (Thu, 24 Apr 2008) | 4 lines
+commit c293dfff35a58ab31b1225ea712ea766fdae96b0
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sat May 17 21:26:45 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?\195?\169d?\195?\169ric Mantegazza.
+ Add a log window that shows normal and debug messages. For now, it was added to Help menu.
-------------------------------------------------------------------------
-r615 | zas_ | 2008-04-24 22:18:59 +0200 (Thu, 24 Apr 2008) | 4 lines
+commit 44bf725c587e93c7852e2232b3cb30692341a1bd
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Fri May 16 20:12:11 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.
+ fixed exiv2 version test
-------------------------------------------------------------------------
-r614 | zas_ | 2008-04-24 18:35:02 +0200 (Thu, 24 Apr 2008) | 2 lines
+commit 4e2cbf60d0811c493595007e6c6dcac42588609d
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Fri May 16 20:09:32 2008 +0000
-Add missing spaces around equal sign.
+ get processed values from exiv2
+ http://sourceforge.net/tracker/index.php?func=detail&aid=1962444&group_id=222125&atid=1054680
-------------------------------------------------------------------------
-r613 | zas_ | 2008-04-24 18:32:20 +0200 (Thu, 24 Apr 2008) | 2 lines
+commit 2cf6296486285045389eae9162c5e20e6f7ca0a6
+Author: Laurent Monin <geeqie@norz.org>
+Date: Fri May 16 14:59:45 2008 +0000
-Cleanup exif_get_formatted_by_key().
+ Fix redundant application name in window titles.
+ It simplifies code.
-------------------------------------------------------------------------
-r612 | zas_ | 2008-04-24 17:57:58 +0200 (Thu, 24 Apr 2008) | 2 lines
+commit 4dd8a0ca5bcf4a1060a3cded4e8eea666d96a300
+Author: Laurent Monin <geeqie@norz.org>
+Date: Fri May 16 14:38:05 2008 +0000
-Add missing space.
+ French translation was updated.
-------------------------------------------------------------------------
-r611 | zas_ | 2008-04-24 17:53:08 +0200 (Thu, 24 Apr 2008) | 2 lines
+commit 80363827d0206ced152428b414af7ee12754ccb0
+Author: Laurent Monin <geeqie@norz.org>
+Date: Fri May 16 12:16:49 2008 +0000
-6 for() vs 201 for (): winner is for ().
+ Do not use printf() directly but use new wrapper function log_printf() instead.
-------------------------------------------------------------------------
-r610 | zas_ | 2008-04-24 17:49:57 +0200 (Thu, 24 Apr 2008) | 2 lines
+commit 4419bda7c472e6addfa8c204b3be6b9a159c472a
+Author: Laurent Monin <geeqie@norz.org>
+Date: Fri May 16 12:08:51 2008 +0000
-Convert the minority of while() to while ().
+ Drop include "debug.h".
-------------------------------------------------------------------------
-r609 | zas_ | 2008-04-24 17:44:43 +0200 (Thu, 24 Apr 2008) | 2 lines
+commit 08f6266ee30f28a20ec40150ce1371cedcb943ca
+Author: Laurent Monin <geeqie@norz.org>
+Date: Fri May 16 10:02:56 2008 +0000
-Use only one secure_fprintf() call instead of two.
+ Include debug.h from main.h since debug macros may be used anywhere in the code.
-------------------------------------------------------------------------
-r608 | zas_ | 2008-04-24 17:31:21 +0200 (Thu, 24 Apr 2008) | 2 lines
+commit 9cdcce43a34e0c63b05fecaf6b1fbcbcef522781
+Author: Laurent Monin <geeqie@norz.org>
+Date: Fri May 16 09:10:56 2008 +0000
-Use sizeof().
+ Improve editor commands error display:
+ - display all errors (not only syntax errors)
+ - display errors from Preferences (checks are made on Apply or OK)
-------------------------------------------------------------------------
-r607 | zas_ | 2008-04-24 14:47:09 +0200 (Thu, 24 Apr 2008) | 2 lines
+commit dbb4e406f3b1893911d5c44f3fe5f75ae3b87f4d
+Author: Laurent Monin <geeqie@norz.org>
+Date: Fri May 16 08:37:07 2008 +0000
-Remove whitespace between function name and first parenthesis for the sake of consistency. (pass 2)
+ 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
-------------------------------------------------------------------------
-r606 | zas_ | 2008-04-24 14:23:02 +0200 (Thu, 24 Apr 2008) | 2 lines
+commit 8cf9235c20b8f059c00c09caf55fd2b81adb683b
+Author: Laurent Monin <geeqie@norz.org>
+Date: Wed May 14 18:12:11 2008 +0000
-Remove whitespace between function name and first parenthesis for the sake of consistency.
+ 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.
-------------------------------------------------------------------------
-r605 | zas_ | 2008-04-24 13:40:26 +0200 (Thu, 24 Apr 2008) | 2 lines
+commit 696b1afc8d1987bb420d36261a7362f58519291f
+Author: Laurent Monin <geeqie@norz.org>
+Date: Wed May 14 18:09:05 2008 +0000
-Indentation fix.
+ Patch #1963690 was applied.
+ It fixes hyphens/minus confusion in the man page.
-------------------------------------------------------------------------
-r604 | zas_ | 2008-04-24 11:50:37 +0200 (Thu, 24 Apr 2008) | 1 line
+commit 12d37bfbf24c80a2574d430200c559f2d20da751
+Author: Laurent Monin <geeqie@norz.org>
+Date: Wed May 14 17:00:25 2008 +0000
-Display file_data debug messages only at level 2.
-------------------------------------------------------------------------
-r603 | zas_ | 2008-04-24 11:43:23 +0200 (Thu, 24 Apr 2008) | 2 lines
+ Simplify thumb_std_maint_moved(), since g_list_append knows
+ how to append to a NULL list. Patch by Uwe Ohse.
-Move get_exec_time() to debug.{c,h}.
+commit 7c3a92575e1832ac7896aada1b619eef12d5c1c7
+Author: Laurent Monin <geeqie@norz.org>
+Date: Wed May 14 16:52:55 2008 +0000
-------------------------------------------------------------------------
-r602 | zas_ | 2008-04-24 11:09:48 +0200 (Thu, 24 Apr 2008) | 2 lines
+ Simplify collect_manager_add_action(), since g_list_append knows
+ how to append to a NULL list. Patch by Uwe Ohse.
-Move options stuff to options.{c,h} and remove globals.c
+commit e6057c67b6938aa5f5d9f15567fd6302e2ef58aa
+Author: Laurent Monin <geeqie@norz.org>
+Date: Wed May 14 12:59:00 2008 +0000
-------------------------------------------------------------------------
-r601 | zas_ | 2008-04-24 10:53:39 +0200 (Thu, 24 Apr 2008) | 5 lines
+ Merge vflist_row_by_path() into vflist_index_by_path().
-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 53d0d0d3918a36df3a483989ea02cbea4daa0dbe
+Author: Laurent Monin <geeqie@norz.org>
+Date: Wed May 14 10:40:43 2008 +0000
-------------------------------------------------------------------------
-r600 | zas_ | 2008-04-24 02:15:03 +0200 (Thu, 24 Apr 2008) | 3 lines
+ Fix some typos. Thanks to Michal \u010ciha\u0159 and James R. Van Zandt.
+ Patch #1963691.
-Handle the newline in DEBUG_N() macro instead of adding one
-in each debug message string.
+commit d8bacc9a88f9332a45d49d890f62c0141738fa9f
+Author: Laurent Monin <geeqie@norz.org>
+Date: Wed May 14 08:56:08 2008 +0000
-------------------------------------------------------------------------
-r599 | zas_ | 2008-04-24 01:52:20 +0200 (Thu, 24 Apr 2008) | 2 lines
+ Make vf_pop_menu_*_cb static.
-French translation was updated.
+commit a2b5404ac9f5fbf0e5a7c0e71dcd94252bf3186d
+Author: Laurent Monin <geeqie@norz.org>
+Date: Tue May 13 20:31:35 2008 +0000
-------------------------------------------------------------------------
-r598 | zas_ | 2008-04-24 01:51:02 +0200 (Thu, 24 Apr 2008) | 2 lines
+ French translation fixes.
-Make image_osd_histogram_onoff_toggle() and image_osd_histogram_onoff_status() static.
+commit 81193b24e0f5eade934c698fc0ac485d33751269
+Author: Laurent Monin <geeqie@norz.org>
+Date: Tue May 13 20:21:00 2008 +0000
-------------------------------------------------------------------------
-r597 | zas_ | 2008-04-24 01:47:53 +0200 (Thu, 24 Apr 2008) | 2 lines
+ Resync POTFILES.in and *.po, update french translation and
+ regenerate statistics in README.
-Fix image overlay displayed only on second "I" press in layout view.
+commit 16e84c761e71ac9052621a396d6880b96abe3221
+Author: Laurent Monin <geeqie@norz.org>
+Date: Tue May 13 20:13:44 2008 +0000
-------------------------------------------------------------------------
-r596 | zas_ | 2008-04-24 01:35:13 +0200 (Thu, 24 Apr 2008) | 3 lines
+ Merge vflist_pop_menu() and vficon_pop_menu() into vf_pop_menu().
-Display file and line along debug messages for any debug level but level 1.
-Add a DEBUG_0() macro for instant debugging.
+commit d62b5063e0616d905f58fc6036382a7b6d791368
+Author: Laurent Monin <geeqie@norz.org>
+Date: Tue May 13 19:56:52 2008 +0000
-------------------------------------------------------------------------
-r595 | zas_ | 2008-04-24 00:40:55 +0200 (Thu, 24 Apr 2008) | 4 lines
+ Move VFICON_INFO() and VFLIST_INFO() macros to view_file.h
-Fix Gtk-CRITICAL **: gtk_entry_set_text: assertion `GTK_IS_ENTRY (entry)' failed
-occuring when toggling file list view <-> file icon view.
+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.
-------------------------------------------------------------------------
-r594 | nadvornik | 2008-04-24 00:38:34 +0200 (Thu, 24 Apr 2008) | 2 lines
+commit d89bc943dfc7c14031b36c49aeb8544defa5d450
+Author: Laurent Monin <geeqie@norz.org>
+Date: Tue May 13 19:51:22 2008 +0000
-clear the buffer before loading of an image
+ vflist_pop_menu(): drop FileData * parameter, use stored click_fd instead.
-------------------------------------------------------------------------
-r593 | zas_ | 2008-04-24 00:33:18 +0200 (Thu, 24 Apr 2008) | 2 lines
+commit dc820ece32ce4e8541b8e0d51a82a2486e645ab0
+Author: Laurent Monin <geeqie@norz.org>
+Date: Tue May 13 19:45:04 2008 +0000
-Use menu_item_add_stock_sensitive() and menu_item_add_sensitive().
+ Fix last patch, only set vf->clicked_mark for a valid mark.
-------------------------------------------------------------------------
-r592 | zas_ | 2008-04-24 00:22:37 +0200 (Thu, 24 Apr 2008) | 2 lines
+commit 91e4b2d69adc9398df664f4d355880ae146ab994
+Author: Laurent Monin <geeqie@norz.org>
+Date: Tue May 13 19:32:25 2008 +0000
-Update to contributors list.
+ 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.
-------------------------------------------------------------------------
-r591 | zas_ | 2008-04-24 00:17:21 +0200 (Thu, 24 Apr 2008) | 8 lines
+commit 86ebde92c37840f27e7f81f0051a1b501b398bcb
+Author: Laurent Monin <geeqie@norz.org>
+Date: Tue May 13 16:09:43 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.
+ Expand tilde with file: and view: remote parameters.
+ Now these are working:
+ geeqie -r file:~/dir
+ geeqie -r view:~user/file
-------------------------------------------------------------------------
-r590 | nadvornik | 2008-04-23 23:08:29 +0200 (Wed, 23 Apr 2008) | 2 lines
+commit 38975e5efdefc3d56f710847821efc2173561f72
+Author: Laurent Monin <geeqie@norz.org>
+Date: Tue May 13 14:49:38 2008 +0000
-fixed a bug in opening files with non-utf8 locales in exiv2.cc
+ Display a message when invalid remote options are used.
-------------------------------------------------------------------------
-r589 | zas_ | 2008-04-23 22:47:19 +0200 (Wed, 23 Apr 2008) | 9 lines
+commit e88a963a320d1728638984277c0cad4bb3ab3f00
+Author: Laurent Monin <geeqie@norz.org>
+Date: Tue May 13 14:35:51 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()
+ 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
-------------------------------------------------------------------------
-r588 | zas_ | 2008-04-23 15:46:18 +0200 (Wed, 23 Apr 2008) | 7 lines
+ Keywords and comment can now be displayed in OSD info using %keywords% and %comment%.
-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 2ce8b27e1caba72f8f08fa62c2cae7def628cdaf
+Author: Laurent Monin <geeqie@norz.org>
+Date: Tue May 13 08:53:26 2008 +0000
-------------------------------------------------------------------------
-r587 | zas_ | 2008-04-23 15:03:04 +0200 (Wed, 23 Apr 2008) | 2 lines
+ Move all remote stuff from main.c to remote.[ch].
-Only display message if in debug mode.
+commit 12639ee4b8d55c4d4b17b888fe4f18d9ba45c382
+Author: Laurent Monin <geeqie@norz.org>
+Date: Tue May 13 08:02:46 2008 +0000
-------------------------------------------------------------------------
-r586 | zas_ | 2008-04-23 11:56:21 +0200 (Wed, 23 Apr 2008) | 5 lines
+ Move some functions from main.[ch] to new window.[ch].
-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 c8611249cdc9ee9247803ff04a39a049e7db57d0
+Author: Laurent Monin <geeqie@norz.org>
+Date: Tue May 13 07:34:37 2008 +0000
-------------------------------------------------------------------------
-r585 | zas_ | 2008-04-23 01:53:24 +0200 (Wed, 23 Apr 2008) | 2 lines
+ Ensure that we end with UTF8 encoded comment and keywords.
-Save sort manager state to rc file.
+commit 8b3ee1eef7b80997fc1c6ef43d3c622d01d1737c
+Author: Laurent Monin <geeqie@norz.org>
+Date: Mon May 12 23:26:00 2008 +0000
-------------------------------------------------------------------------
-r584 | zas_ | 2008-04-23 00:45:51 +0200 (Wed, 23 Apr 2008) | 2 lines
+ Reading of Iptc.Application2.Keywords should now be fixed.
+ Use uft8_validate_or_convert() on exif's text data to be safe.
-Remove unused function bar_info_size_request().
+commit 9aacc4a2448ac1f21bee1ff71ed4ebba4f4eeb81
+Author: Laurent Monin <geeqie@norz.org>
+Date: Mon May 12 23:21:35 2008 +0000
-------------------------------------------------------------------------
-r583 | zas_ | 2008-04-23 00:44:10 +0200 (Wed, 23 Apr 2008) | 3 lines
+ Rename bar_exif_validate_text() to utf8_validate_or_convert() and move it to main.[ch].
-Save state and width of exif, info and sort panels to rc file.
-Width is restored only if save windows dimensions is set.
+commit 885b212391d1bf9503c9b1d3e0324d22a8c24f80
+Author: Laurent Monin <geeqie@norz.org>
+Date: Mon May 12 23:00:04 2008 +0000
-------------------------------------------------------------------------
-r581 | nadvornik | 2008-04-22 21:26:07 +0200 (Tue, 22 Apr 2008) | 2 lines
+ bar_exif_validate_text(): use computed length and cleanup.
-updated ChangeLog from svn log
+commit 7b4885c281b47d456d0985ad6b084cb20fc7cc08
+Author: Laurent Monin <geeqie@norz.org>
+Date: Mon May 12 19:56:28 2008 +0000
-------------------------------------------------------------------------
-r580 | nadvornik | 2008-04-22 20:06:38 +0200 (Tue, 22 Apr 2008) | 2 lines
+ Disable non-working Iptc.Application2.Keywords reading introduced in revision 736.
-fixed version string ;)
+commit 874ac4eafacb90b111161275fc71f6345e77d30d
+Author: Laurent Monin <geeqie@norz.org>
+Date: Mon May 12 17:10:40 2008 +0000
-------------------------------------------------------------------------
-r579 | nadvornik | 2008-04-22 19:45:08 +0200 (Tue, 22 Apr 2008) | 2 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.
-updated version number
+commit c50d73be0f5f860103b2bf66b845e33aae9ce7c7
+Author: Laurent Monin <geeqie@norz.org>
+Date: Mon May 12 10:46:23 2008 +0000
-------------------------------------------------------------------------
-r578 | nadvornik | 2008-04-22 19:40:29 +0200 (Tue, 22 Apr 2008) | 2 lines
+ When an option was successfully read, just continue to next line.
-fixed reading of signed rational type with Exiv2
+commit 75f14d8caa9b739913c96b353e100c1088722907
+Author: Laurent Monin <geeqie@norz.org>
+Date: Mon May 12 10:37:37 2008 +0000
-------------------------------------------------------------------------
-r577 | nadvornik | 2008-04-22 11:57:26 +0200 (Tue, 22 Apr 2008) | 2 lines
+ Minor formatting fix in rc file header.
-fixed instalation of doc files
+commit ff365dc6cc9abcf3331fe3eb048c9f8bc082f5c3
+Author: Laurent Monin <geeqie@norz.org>
+Date: Mon May 12 08:52:17 2008 +0000
-------------------------------------------------------------------------
-r576 | zas_ | 2008-04-22 11:40:05 +0200 (Tue, 22 Apr 2008) | 3 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.
-Correctly escape data before using pango_layout_set_markup().
-Exif data may contain characters like & or < >.
+commit 0481d1d4e1ee29d28e766e47ab5dfd39798f9378
+Author: Laurent Monin <geeqie@norz.org>
+Date: Mon May 12 08:11:27 2008 +0000
-------------------------------------------------------------------------
-r575 | zas_ | 2008-04-22 11:01:29 +0200 (Tue, 22 Apr 2008) | 3 lines
+ Rename option image_overlay.common.enabled to image_overlay.common.state
+ since it is not a boolean anymore.
-Use image_osd_toggle() in layout_menu_overlay_cb().
-Drop layout_image_overlay_update().
+commit 99a50120349e25795138098cb35616a3cc953f33
+Author: Laurent Monin <geeqie@norz.org>
+Date: Mon May 12 00:22:38 2008 +0000
-------------------------------------------------------------------------
-r574 | zas_ | 2008-04-22 10:53:07 +0200 (Tue, 22 Apr 2008) | 2 lines
+ Add some wrapper functions for not yet common code.
-Merge view_overlay_toggle() and layout_image_overlay_toggle() into new image_osd_toggle().
+commit 98e46592bd5e0f88061eb983c092d57594a479d6
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sun May 11 23:56:40 2008 +0000
-------------------------------------------------------------------------
-r573 | zas_ | 2008-04-22 10:34:30 +0200 (Tue, 22 Apr 2008) | 3 lines
+ Make vf_pop_menu_toggle_view_type_cb() independent of FILEVIEW_LIST/FILEVIEW_ICON real values.
-Make histogram depends on image window not layout window.
-It simplifies the code, and make more sense.
+commit c2147d9b7fd901a7a6ffd89fed45c89c138d2281
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sun May 11 23:47:59 2008 +0000
-------------------------------------------------------------------------
-r572 | zas_ | 2008-04-22 10:16:02 +0200 (Tue, 22 Apr 2008) | 4 lines
+ Move a part of pop up menu common code to view_file.[ch].
-Ensure Properties dialog is displayed above fullscreen window.
-Add a parameter to info_window_new() to pass parent window and
-revert patch 472.
+commit 4ba97284fc9972458cc337decd8f5e539a74bbb4
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sun May 11 23:09:39 2008 +0000
-------------------------------------------------------------------------
-r571 | zas_ | 2008-04-22 00:19:32 +0200 (Tue, 22 Apr 2008) | 2 lines
+ Introduce vf_pop_menu_file_list() as a wrapper to
+ vflist_pop_menu_file_list() and vficon_pop_menu_file_list().
-Indicate bugs and feature requests trackers, remove obsolete stuff.
+commit 2be39b52cf821f156ff7e35613f682cb85b8b8bc
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sun May 11 21:11:54 2008 +0000
-------------------------------------------------------------------------
-r570 | zas_ | 2008-04-22 00:15:56 +0200 (Tue, 22 Apr 2008) | 2 lines
+ Use vf_* functions where possible.
-Lowercased name.
+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
-------------------------------------------------------------------------
-r569 | zas_ | 2008-04-22 00:14:57 +0200 (Tue, 22 Apr 2008) | 2 lines
+commit 7917c5a3e4e89fd1b32de87c3788e32025820c41
+Author: Laurent Monin <geeqie@norz.org>
+Date: Fri May 9 08:03:25 2008 +0000
-. -> dot
+ Update CODING and HACKING files, and add po/README file for translators.
-------------------------------------------------------------------------
-r568 | nadvornik | 2008-04-21 23:46:38 +0200 (Mon, 21 Apr 2008) | 2 lines
+commit 8ef1e8c83e2cc7f9ee8715be574a2f72d2b1143c
+Author: Laurent Monin <geeqie@norz.org>
+Date: Fri May 9 07:46:18 2008 +0000
-updated copyright in source files
+ Make lirc_cleanup() and lirc_input_callback() static.
-------------------------------------------------------------------------
-r567 | zas_ | 2008-04-21 22:45:35 +0200 (Mon, 21 Apr 2008) | 3 lines
+commit 9cb23ddf80cbb03ee4b4557e4aaa9ecbee7dcb91
+Author: Laurent Monin <geeqie@norz.org>
+Date: Fri May 9 07:32:30 2008 +0000
-Properly initialize image_overlay options.
+ 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
-------------------------------------------------------------------------
-r566 | zas_ | 2008-04-21 22:42:18 +0200 (Mon, 21 Apr 2008) | 2 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.
-Few more fixes to french translation.
+commit 6b17a6ad374a2077265c1f806558aba0dd89b585
+Author: Laurent Monin <geeqie@norz.org>
+Date: Thu May 8 22:49:16 2008 +0000
-------------------------------------------------------------------------
-r565 | zas_ | 2008-04-21 22:39:36 +0200 (Mon, 21 Apr 2008) | 3 lines
+ Reset thumbnail column to NULL when hidden.
+ It fixes bug 1960274.
-Add some macros to handle rc file compatibility issues related to
-option name changes.
+commit 786c7401047ffbbec27820cf0e89d008e16ea488
+Author: Laurent Monin <geeqie@norz.org>
+Date: Thu May 8 20:21:03 2008 +0000
-------------------------------------------------------------------------
-r564 | zas_ | 2008-04-21 22:27:39 +0200 (Mon, 21 Apr 2008) | 2 lines
+ search_status_update(): slightly reduce code redundancy.
-Minor french translation fix.
+commit cfe2b3ba31e60ed9863f7f9af807b2f936893ef7
+Author: Laurent Monin <geeqie@norz.org>
+Date: Thu May 8 12:50:25 2008 +0000
-------------------------------------------------------------------------
-r563 | zas_ | 2008-04-21 22:24:15 +0200 (Mon, 21 Apr 2008) | 2 lines
+ Use g_ascii_strncasecmp() instead of strncasecmp() where applicable.
+ Add a FIXME where potential improper usage of strncasecmp() is made.
-French translation was updated.
+commit 6559dd1a68980c2e4a1708a84cfbb60e9775be33
+Author: Laurent Monin <geeqie@norz.org>
+Date: Thu May 8 12:38:34 2008 +0000
-------------------------------------------------------------------------
-r562 | zas_ | 2008-04-21 22:12:49 +0200 (Mon, 21 Apr 2008) | 6 lines
+ Use g_ascii_strcasecmp() instead of strcasecmp() where ascii-only strings
+ are used.
-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 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.
-------------------------------------------------------------------------
-r561 | zas_ | 2008-04-21 22:01:22 +0200 (Mon, 21 Apr 2008) | 9 lines
+commit c5f3fab36157bac8c74ef5401afc4b5478dc436b
+Author: Laurent Monin <geeqie@norz.org>
+Date: Wed May 7 22:54:33 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
+ Resync po files.
+ French translation was updated.
-common is used since for now there is only one image overlay setup,
-later specific setups may be added.
+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.
-------------------------------------------------------------------------
-r560 | nadvornik | 2008-04-21 21:42:58 +0200 (Mon, 21 Apr 2008) | 2 lines
+commit 2927044d43b56069079cfeac00aa6989b1c9c126
+Author: Laurent Monin <geeqie@norz.org>
+Date: Tue May 6 23:58:08 2008 +0000
-fixed another "gqview" occurence
+ Tidy up.
-------------------------------------------------------------------------
-r559 | nadvornik | 2008-04-21 21:10:41 +0200 (Mon, 21 Apr 2008) | 2 lines
+commit 38ac488dfcdb0f560617f615b4ced2c01b63821c
+Author: Laurent Monin <geeqie@norz.org>
+Date: Tue May 6 23:53:12 2008 +0000
-updated NEWS, README and other documentation files
+ French translation was updated.
-------------------------------------------------------------------------
-r558 | nadvornik | 2008-04-21 20:09:30 +0200 (Mon, 21 Apr 2008) | 2 lines
+commit 4b93995fdf301e4c54c7919ab2a7b4a50b08f87d
+Author: Laurent Monin <geeqie@norz.org>
+Date: Tue May 6 23:52:09 2008 +0000
-renamed no.po to nb.po
+ Add trash.c.
-------------------------------------------------------------------------
-r557 | zas_ | 2008-04-21 17:30:16 +0200 (Mon, 21 Apr 2008) | 3 lines
+commit 25ad32ba818bbb3c7cb4c620a3ede5f9ed374541
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Tue May 6 21:35:31 2008 +0000
-Fix a segfault occuring when pressing 'i' for overlay info
-in a separate image window (no layout).
+ moved safe delete functions to separate file
-------------------------------------------------------------------------
-r556 | zas_ | 2008-04-21 16:19:48 +0200 (Mon, 21 Apr 2008) | 2 lines
+commit 8546ea31f763bd7e3386e4231be062ff2a73d55a
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Tue May 6 20:24:16 2008 +0000
-histogram_draw(): tidy up.
+ use some of the new functions in filedata.c
-------------------------------------------------------------------------
-r555 | zas_ | 2008-04-21 15:39:17 +0200 (Mon, 21 Apr 2008) | 2 lines
+commit f05bac9cdc8755273958466df6df1b3f5305ee41
+Author: Laurent Monin <geeqie@norz.org>
+Date: Tue May 6 17:00:55 2008 +0000
-histogram_read(): speed up calculations by 20%.
+ Allow the user to append or replace comments for a group of selected files.
+ Two buttons were added to the Keywords panel.
-------------------------------------------------------------------------
-r554 | zas_ | 2008-04-21 13:44:03 +0200 (Mon, 21 Apr 2008) | 2 lines
+commit 5f3ddd491eb4d90e18663d030155cfae254ac385
+Author: Laurent Monin <geeqie@norz.org>
+Date: Tue May 6 12:31:23 2008 +0000
-histogram_read(): use memset() to initialize histogram data instead of for() loop.
+ 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.
-------------------------------------------------------------------------
-r553 | zas_ | 2008-04-21 12:11:55 +0200 (Mon, 21 Apr 2008) | 2 lines
+commit 5ecec83ad07f14578f4922ad7ba7befca9a09c31
+Author: Laurent Monin <geeqie@norz.org>
+Date: Tue May 6 12:03:39 2008 +0000
-French translation was updated.
+ comment_xmp_read(), comment_xmp_write(): cleanup and improve readibility.
-------------------------------------------------------------------------
-r552 | zas_ | 2008-04-21 12:10:23 +0200 (Mon, 21 Apr 2008) | 2 lines
+commit a729f5905a8ca4faeafca4f4e66832e408c52ccd
+Author: Laurent Monin <geeqie@norz.org>
+Date: Mon May 5 21:27:39 2008 +0000
-Add compat.c to POTFILES
+ French translation was updated, various fixes.
-------------------------------------------------------------------------
-r551 | zas_ | 2008-04-21 12:09:01 +0200 (Mon, 21 Apr 2008) | 4 lines
+commit 146b6e2a59584bda8c274ba313862a3abb82a634
+Author: Laurent Monin <geeqie@norz.org>
+Date: Mon May 5 20:56:20 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.
+ Belarusian translation was updated. Thanks to Pavel Piatruk.
-------------------------------------------------------------------------
-r550 | zas_ | 2008-04-21 01:17:35 +0200 (Mon, 21 Apr 2008) | 4 lines
+commit 117767d634649683e27badb1d7c2cffc1eac5334
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Mon May 5 20:51:51 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.
+ started implementation of API for sidecar files
-------------------------------------------------------------------------
-r549 | zas_ | 2008-04-21 00:51:53 +0200 (Mon, 21 Apr 2008) | 2 lines
+commit ffc2e29991a2d8d968133f5340cd711c1fd50c42
+Author: Laurent Monin <geeqie@norz.org>
+Date: Mon May 5 20:51:50 2008 +0000
-French translation was updated.
+ Update POTFILES.in (filelist.c -> filedata.c).
-------------------------------------------------------------------------
-r548 | zas_ | 2008-04-21 00:45:00 +0200 (Mon, 21 Apr 2008) | 2 lines
+commit 512e5dddd1d85da2fe030e0a464d953d0733cd1e
+Author: Laurent Monin <geeqie@norz.org>
+Date: Mon May 5 20:49:40 2008 +0000
-Add number mnemonics to image view editors submenu.
+ Modify regen_potfiles.sh to generate a patch instead of
+ directly applying changes to POTFILES.in.
-------------------------------------------------------------------------
-r547 | zas_ | 2008-04-21 00:29:23 +0200 (Mon, 21 Apr 2008) | 3 lines
+commit bf41ef491c80e033e2d028a87e00605ac893609f
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Mon May 5 19:20:46 2008 +0000
-Prefix editor entries in the main menu with numbers.
-It allows Alt+E+number as shortcut to start an editor.
+ added .gqv to known file types
-------------------------------------------------------------------------
-r546 | zas_ | 2008-04-21 00:14:54 +0200 (Mon, 21 Apr 2008) | 2 lines
+commit 6e7bf48d03f50655a0e70015b3d33ce96bd80f5f
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Mon May 5 19:11:12 2008 +0000
-Add missing shortcuts.
+ split filelist.c to filefilter.c and filedata.c
-------------------------------------------------------------------------
-r545 | nadvornik | 2008-04-21 00:14:38 +0200 (Mon, 21 Apr 2008) | 3 lines
+commit f798c6ab2cd9c89fa905f5003783a6c445551805
+Author: Laurent Monin <geeqie@norz.org>
+Date: Mon May 5 09:21:01 2008 +0000
-fixed color profile code for older versions of exiv2
-compilation fixes
+ Revert wrong patch rev 676.
-------------------------------------------------------------------------
-r544 | zas_ | 2008-04-21 00:01:26 +0200 (Mon, 21 Apr 2008) | 4 lines
+commit cfa6a11856d742e7b1e1bd46d6e7125eb1694a1b
+Author: Laurent Monin <geeqie@norz.org>
+Date: Mon May 5 09:12:07 2008 +0000
-Mark slideshow toggle state in the menu.
-There is still an issue due to layout vs view slideshows...
+ 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
-------------------------------------------------------------------------
-r543 | zas_ | 2008-04-20 23:38:45 +0200 (Sun, 20 Apr 2008) | 2 lines
+ Revert patch 675, and correctly fix gtk assertion failure.
-Fix a typo introduced by revision 521.
+commit 37193c248cd813a72f62bce349c788072ca5b311
+Author: Laurent Monin <geeqie@norz.org>
+Date: Mon May 5 08:15:52 2008 +0000
-------------------------------------------------------------------------
-r542 | nadvornik | 2008-04-20 23:35:03 +0200 (Sun, 20 Apr 2008) | 2 lines
+ Fix two memory leaks.
-read color profiles from jpeg also with Exiv2
+commit 6c35f9de22600d4b8243b8d84095dfb716cedec9
+Author: Laurent Monin <geeqie@norz.org>
+Date: Mon May 5 07:46:32 2008 +0000
-------------------------------------------------------------------------
-r541 | zas_ | 2008-04-20 23:30:36 +0200 (Sun, 20 Apr 2008) | 6 lines
+ Fix Gtk-CRITICAL **: gtk_label_set_text: assertion `GTK_IS_LABEL (label)' failed
+ when swapping to/from file icon view.
-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 5cacdd949c21b1c5b989b62eb48d91e094ef3e89
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sun May 4 23:57:20 2008 +0000
-------------------------------------------------------------------------
-r540 | zas_ | 2008-04-20 22:35:26 +0200 (Sun, 20 Apr 2008) | 2 lines
+ vficon_release_cb(): use switch() and cleanup.
-Fix a typo: unoffical -> unofficial
+commit b9cb52f0d53dbc898c252dfef98fae9f832bb14d
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sun May 4 23:20:43 2008 +0000
-------------------------------------------------------------------------
-r539 | zas_ | 2008-04-20 20:07:51 +0200 (Sun, 20 Apr 2008) | 2 lines
+ Minor tidyup.
-Effectively drop empty newlines at end of files (missing from rev 535)
+commit c2117e7e72686ada0203a1d562263dc7f198cb4a
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sun May 4 23:06:46 2008 +0000
-------------------------------------------------------------------------
-r538 | zas_ | 2008-04-20 18:50:19 +0200 (Sun, 20 Apr 2008) | 3 lines
+ Drop unused vficon_select_by_path() and vflist_select_by_path().
-comment_file_read(): rewrite the parser, drop leading and trailing newlines
-in comment.
+commit b6ea14610564d2367b0a74656717913362166e62
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sun May 4 23:03:36 2008 +0000
-------------------------------------------------------------------------
-r537 | zas_ | 2008-04-20 15:42:22 +0200 (Sun, 20 Apr 2008) | 2 lines
+ Minor cleanup.
-Minor cleanup and code redundancy reduction.
+commit 509c70381ce8847866bb84ce398d074a749a6abf
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sun May 4 21:54:20 2008 +0000
-------------------------------------------------------------------------
-r536 | zas_ | 2008-04-20 15:30:36 +0200 (Sun, 20 Apr 2008) | 2 lines
+ dropped path_list functions, use filelist functions everywhere
-editor_command_one(): tidy up.
+commit ac3bd2a2622adbf9154d805e6a0df4bab97f54af
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sun May 4 19:00:39 2008 +0000
-------------------------------------------------------------------------
-r535 | zas_ | 2008-04-20 15:04:57 +0200 (Sun, 20 Apr 2008) | 6 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()
-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 d3ade2f9fd8e00a1fce9d8fc7bb32d359af96259
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sun May 4 18:45:06 2008 +0000
-------------------------------------------------------------------------
-r534 | zas_ | 2008-04-20 12:05:27 +0200 (Sun, 20 Apr 2008) | 3 lines
+ Drop ViewFileIcon, use ViewFile and ViewFileInfoIcon instead.
-Allow the user to change open_recent_list_maxsize option through
-Preferences > Advanced > Navigation.
+commit 1267a5c07d5fb00b4eb9f9837b9d82aff3172b6e
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sun May 4 16:16:07 2008 +0000
-------------------------------------------------------------------------
-r533 | nadvornik | 2008-04-20 11:53:37 +0200 (Sun, 20 Apr 2008) | 2 lines
+ Drop ViewFileList, use ViewFile and ViewFileInfoList instead.
-rm as external delete command is too dangerous, even for testing
+commit be9e09722d788060c1ccf58222ee9ca8c80871b6
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sun May 4 11:47:36 2008 +0000
-------------------------------------------------------------------------
-r532 | zas_ | 2008-04-20 11:47:51 +0200 (Sun, 20 Apr 2008) | 2 lines
+ Prepare switch to ViewFile (unused yet).
-Add a way to restore original state in Adjust menu.
+commit 7192ff23dcf4fb721d72404649a98de99993f042
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sun May 4 00:32:05 2008 +0000
-------------------------------------------------------------------------
-r531 | nadvornik | 2008-04-20 11:29:46 +0200 (Sun, 20 Apr 2008) | 2 lines
+ Shorten Edit menu labels, dropping "in ". It will ease
+ translations too, and user can define its own label in Preferences.
-added fColorProfile pseudo-tag with detailed information
+commit f83f83eed158cf9671c8ccec4e52e4916802eb73
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sun May 4 00:21:14 2008 +0000
-------------------------------------------------------------------------
-r530 | zas_ | 2008-04-20 11:02:05 +0200 (Sun, 20 Apr 2008) | 3 lines
+ Do not show Copy, Move, Rename, Delete, New Folder external commands
+ in the Edit section of contextual menus.
-Fix the case "orientation from FileData, color profile from exif".
-Reported by Vladimir Nadvornik.
+commit 50a7b03151f939ddc0f61ae9560de5c17412c3c1
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sun May 4 00:16:37 2008 +0000
-------------------------------------------------------------------------
-r529 | zas_ | 2008-04-20 01:12:30 +0200 (Sun, 20 Apr 2008) | 3 lines
+ Use GQ_EDITOR_GENERIC_SLOTS instead of hardcoded value.
-Rename inappropriate folder_size to folder.
+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.
-------------------------------------------------------------------------
-r528 | zas_ | 2008-04-20 00:32:07 +0200 (Sun, 20 Apr 2008) | 2 lines
+commit 03acb7cb8dc91e0f307f818a61f6a7671fe8d9cc
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sat May 3 20:49:25 2008 +0000
-Use sizeof() for buffer size where appropriate.
+ exif_get_formatted_by_key(): skip prefix when comparing.
-------------------------------------------------------------------------
-r527 | zas_ | 2008-04-19 23:50:05 +0200 (Sat, 19 Apr 2008) | 2 lines
+commit 1000ac5af7b62b93b673d48353edbea43aff67e4
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sat May 3 20:40:50 2008 +0000
-Keep image orientation set by the user during the session.
+ 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.
-------------------------------------------------------------------------
-r526 | zas_ | 2008-04-19 23:30:19 +0200 (Sat, 19 Apr 2008) | 3 lines
+commit e01df0556e0bbca765a2e07987148d3b6d10760a
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sat May 3 16:58:17 2008 +0000
-Save Show Marks state to rc file and display current state in menu.
-It is saved as boolean option layout.show_marks.
+ 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 *.
-------------------------------------------------------------------------
-r525 | nadvornik | 2008-04-19 23:20:08 +0200 (Sat, 19 Apr 2008) | 2 lines
+commit 31ba226eb280ab241b855069dbc7cc10fc31f225
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sat May 3 15:19:35 2008 +0000
-fixed max. number of profiles
+ Move marks-related fields from _ViewFileInfoList to _ViewFile, since
+ they'll be used for file icon view too.
-------------------------------------------------------------------------
-r524 | zas_ | 2008-04-19 23:18:24 +0200 (Sat, 19 Apr 2008) | 2 lines
+commit 13e75141b49669425e206f358d06f6e1ca4a9627
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sat May 3 15:17:24 2008 +0000
-Sort options.
+ Move common thumbs_* fields from _ViewFileInfoIcon and _ViewFileInfoList
+ to _ViewFile.
-------------------------------------------------------------------------
-r523 | nadvornik | 2008-04-19 23:10:18 +0200 (Sat, 19 Apr 2008) | 2 lines
+commit 8ac7dc269a5411ee3504599b3c6a085f6aad312c
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sat May 3 15:13:15 2008 +0000
-fixed color profile index
+ Rename thumbs_fd to thumbs_filedata in ViewFileIcon struct to match
+ the name used in ViewFileList.
-------------------------------------------------------------------------
-r522 | zas_ | 2008-04-19 22:53:12 +0200 (Sat, 19 Apr 2008) | 2 lines
+commit fd7d8c583de748c29c5304ee300e7af6a8d36ed8
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sat May 3 15:09:21 2008 +0000
-Let toggle marks with numeric keypad.
+ Remove useless thumbs_list from ViewFileIcon.
-------------------------------------------------------------------------
-r521 | nadvornik | 2008-04-19 22:19:27 +0200 (Sat, 19 Apr 2008) | 4 lines
+commit e1c39fa29264aea839610dfedca5e086b5128395
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sat May 3 12:50:52 2008 +0000
-I have finally found how to add alternative hotkeys
-removed more hard-coded keys
-"Split Quad" is without hotkey for now
+ Add function prototypes (yet unused).
-------------------------------------------------------------------------
-r520 | zas_ | 2008-04-19 21:28:10 +0200 (Sat, 19 Apr 2008) | 3 lines
+commit a4659c7ea41ec4d1eeb659b1b1dd3d6bcc9bb833
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sat May 3 12:48:45 2008 +0000
-Accept keywords composed by two words ("Todo" = "A faire" in french).
-Prevent duplicate keywords in the list.
+ Drop redundant vflist_thumbs_set() introduced in revision 649,
+ modify and use existing vflist_thumb_set().
-------------------------------------------------------------------------
-r519 | nadvornik | 2008-04-19 19:55:41 +0200 (Sat, 19 Apr 2008) | 2 lines
+commit 26de6ed0184a1c43652a582938b2ceb688c4e6d4
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sat May 3 12:21:22 2008 +0000
-show the AdobeRGB profile in the menu, indicate input profile from image
+ Remove redundant prototype.
-------------------------------------------------------------------------
-r518 | zas_ | 2008-04-19 19:14:03 +0200 (Sat, 19 Apr 2008) | 2 lines
+commit c790abbf70208af477971ec3b3af3fa8e11dbe21
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sat May 3 11:58:41 2008 +0000
-file_dat_unref: display number of references as well of path (debug only).
+ Introduce ViewFileInfoList and ViewFileInfoIcon (not used yet).
-------------------------------------------------------------------------
-r517 | nadvornik | 2008-04-19 18:26:29 +0200 (Sat, 19 Apr 2008) | 2 lines
+commit 26cd72f831ddba954a4e85eb9300427e5e3e0b2a
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sat May 3 11:34:13 2008 +0000
-first support for AdobeRGB colorspace
+ Replace Layout icon_view field by more generic file_view_type.
+ Replace option layout.view_as_icons by layout.file_view_type.
-------------------------------------------------------------------------
-r516 | zas_ | 2008-04-19 18:10:08 +0200 (Sat, 19 Apr 2008) | 2 lines
+commit f5b1784d9050d4fdd3d6badb8acfdf8112d53e68
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sat May 3 10:31:37 2008 +0000
-French translation fixes.
+ Set thumbs_enabled through new function vflist_thumbs_set() instead
+ of vflist_new().
-------------------------------------------------------------------------
-r515 | zas_ | 2008-04-19 15:40:20 +0200 (Sat, 19 Apr 2008) | 3 lines
+commit 04a9e3e249e4f237ff01a40c6fd3e8ce241eb107
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sat May 3 09:41:09 2008 +0000
-French translation fixes and updates.
+ 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
-------------------------------------------------------------------------
-r514 | zas_ | 2008-04-19 15:39:21 +0200 (Sat, 19 Apr 2008) | 2 lines
+ Change default positions of dividers since width of the main menu
+ was increased.
-Add missing _().
+commit d2e52306a94755c9fdaae1ffca917ceefc3595f6
+Author: Laurent Monin <geeqie@norz.org>
+Date: Fri May 2 23:11:31 2008 +0000
-------------------------------------------------------------------------
-r513 | zas_ | 2008-04-19 14:46:59 +0200 (Sat, 19 Apr 2008) | 4 lines
+ Make exif_rational_to_double() and exif_get_rational_as_double() static.
-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 4d369ddac3bd4da17eab8ea2397ddcf0d9be1f73
+Author: Laurent Monin <geeqie@norz.org>
+Date: Fri May 2 23:08:18 2008 +0000
-------------------------------------------------------------------------
-r512 | zas_ | 2008-04-19 13:11:53 +0200 (Sat, 19 Apr 2008) | 5 lines
+ info_notebook_reordered_cb(): do not call info_tabs_sync(), it causes exif
+ info disappearing when moving the tab.
-Cleanup last patch:
-- drop vd_pop_menu_dir_view_as_cb() since it is now unused.
-- use G_N_ELEMENTS()
+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.
-------------------------------------------------------------------------
-r511 | nadvornik | 2008-04-19 11:49:14 +0200 (Sat, 19 Apr 2008) | 2 lines
+commit 66d230fa707f98cbb75db6de0dd3cd66e235ab95
+Author: Laurent Monin <geeqie@norz.org>
+Date: Fri May 2 22:31:24 2008 +0000
-improved spec file
+ exif_get_description_by_key(): tidy up.
-------------------------------------------------------------------------
-r510 | zas_ | 2008-04-19 11:36:30 +0200 (Sat, 19 Apr 2008) | 3 lines
+commit 30eb0123db8ca4fdacc34e21589f718ed3c9e260
+Author: Laurent Monin <geeqie@norz.org>
+Date: Fri May 2 22:28:39 2008 +0000
-Fix directory view popup menu to display a View As submenu
-to switch between different directory views.
+ Add a pointer to the build function in the formatted exif tags struct
+ and use a loop in exif_get_formatted_by_key().
-------------------------------------------------------------------------
-r509 | zas_ | 2008-04-19 01:35:16 +0200 (Sat, 19 Apr 2008) | 2 lines
+commit c59ca563a159852e616063a9595c24f432cf9ef7
+Author: Laurent Monin <geeqie@norz.org>
+Date: Fri May 2 21:58:36 2008 +0000
-gimp-remote has no -n option.
+ Indentation fix.
-------------------------------------------------------------------------
-r508 | zas_ | 2008-04-19 01:09:03 +0200 (Sat, 19 Apr 2008) | 4 lines
+commit 74dc50f227b9f46e2c6746db4f0cfe7d7607888d
+Author: Laurent Monin <geeqie@norz.org>
+Date: Fri May 2 21:34:26 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.
+ Explode exif_get_formatted_by_key() in smaller functions prefixed "exif_build_f".
+ An helper macro was added to call them.
-------------------------------------------------------------------------
-r507 | nadvornik | 2008-04-19 00:31:58 +0200 (Sat, 19 Apr 2008) | 2 lines
+commit 4fff33dde0de9160cf9ea5df78c69905a00ba24c
+Author: Laurent Monin <geeqie@norz.org>
+Date: Fri May 2 20:56:59 2008 +0000
-partially fixed reading embedded color profiles with exiv2
+ Remove unused checksum_simple() function.
-------------------------------------------------------------------------
-r506 | zas_ | 2008-04-19 00:15:01 +0200 (Sat, 19 Apr 2008) | 5 lines
+commit 7fd292e32d3445f1cf7c60d2268f8a3c0d10d49b
+Author: Laurent Monin <geeqie@norz.org>
+Date: Fri May 2 20:40:47 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.
+ Simplify remove_extension_from_path().
-------------------------------------------------------------------------
-r505 | zas_ | 2008-04-18 23:53:33 +0200 (Fri, 18 Apr 2008) | 2 lines
+commit 4f05f85b26d36c87e449a59d68c7105a7cdb138b
+Author: Laurent Monin <geeqie@norz.org>
+Date: Fri May 2 20:27:47 2008 +0000
-Display elapsed time since previous get_exec_time() call (debug only).
+ remove_level_from_path() was simplified.
-------------------------------------------------------------------------
-r504 | zas_ | 2008-04-18 23:51:08 +0200 (Fri, 18 Apr 2008) | 2 lines
+commit f4b58f7255ce0a67d0076b09f11f2e542f387b51
+Author: Laurent Monin <geeqie@norz.org>
+Date: Fri May 2 09:03:52 2008 +0000
-Remove forgotten debug printf().
+ Move variable declaration and affectation near where it is used.
-------------------------------------------------------------------------
-r503 | zas_ | 2008-04-18 23:42:00 +0200 (Fri, 18 Apr 2008) | 2 lines
+commit 0142966824cfdbcefc79a188a4b3aae3d8253c6e
+Author: Laurent Monin <geeqie@norz.org>
+Date: Fri May 2 08:41:32 2008 +0000
-Fix OSD display when fullscreen info string is empty.
+ Replace GQView by Geeqie.
-------------------------------------------------------------------------
-r502 | nadvornik | 2008-04-18 23:30:12 +0200 (Fri, 18 Apr 2008) | 2 lines
+commit 3cce6caefa4385a18b79e83df02743f2c0652103
+Author: Laurent Monin <geeqie@norz.org>
+Date: Thu May 1 23:20:26 2008 +0000
-replace inner loops with memcpy
+ Use sizeof() instead of hardcoded buffer sizes.
-------------------------------------------------------------------------
-r501 | zas_ | 2008-04-18 22:41:09 +0200 (Fri, 18 Apr 2008) | 5 lines
+commit 787538b30bd23fc85a3e8aae38c1ea6877aed636
+Author: Laurent Monin <geeqie@norz.org>
+Date: Thu May 1 22:59:54 2008 +0000
-Explode pr_tile_mirror() in three optimized functions:
-pr_tile_mirror_only()
-pr_tile_mirror_and_flip()
-pr_tile_flip_only()
+ cache_sim_write_similarity(): cleanup and simplification.
-------------------------------------------------------------------------
-r500 | zas_ | 2008-04-18 18:53:41 +0200 (Fri, 18 Apr 2008) | 5 lines
+commit 0d8286ddc775e675c1f3552f92047d3928637d32
+Author: Laurent Monin <geeqie@norz.org>
+Date: Thu May 1 22:31:14 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.
+ Use secure_save stuff to write .sim files.
-------------------------------------------------------------------------
-r499 | zas_ | 2008-04-18 18:29:47 +0200 (Fri, 18 Apr 2008) | 2 lines
+commit 68cf3760029075a5e3877954eacef14ee5f67956
+Author: Laurent Monin <geeqie@norz.org>
+Date: Thu May 1 22:30:16 2008 +0000
-Drop 3 useless #define.
+ save_options(): minor code simplification.
-------------------------------------------------------------------------
-r498 | zas_ | 2008-04-18 18:25:40 +0200 (Fri, 18 Apr 2008) | 4 lines
+commit a2ff3d30a0ccf398323de9245d13cb166256f333
+Author: Laurent Monin <geeqie@norz.org>
+Date: Thu May 1 22:27:44 2008 +0000
-Fix forgotten vd->pf affectation.
-Cleanup, and reduce code redundancy a bit.
+ Add a wrapper to fwrite().
+commit cae11cbe267cb6f95da10ea3c5d472d4e6069a34
+Author: Laurent Monin <geeqie@norz.org>
+Date: Thu May 1 21:42:22 2008 +0000
-------------------------------------------------------------------------
-r497 | zas_ | 2008-04-18 13:01:41 +0200 (Fri, 18 Apr 2008) | 6 lines
+ Typo fix.
-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 394f2839406f77bc462f371da7c81539804e3d5d
+Author: Laurent Monin <geeqie@norz.org>
+Date: Thu May 1 18:37:50 2008 +0000
-------------------------------------------------------------------------
-r496 | zas_ | 2008-04-18 11:15:09 +0200 (Fri, 18 Apr 2008) | 2 lines
+ Indentation fixes.
-Introduce printf_term() macro and use it.
+commit ac59f9924c35122eaa97af9ce56f966b97738035
+Author: Laurent Monin <geeqie@norz.org>
+Date: Thu May 1 18:26:30 2008 +0000
-------------------------------------------------------------------------
-r495 | zas_ | 2008-04-17 22:14:49 +0200 (Thu, 17 Apr 2008) | 3 lines
+ Simplify and optimize extension_find_dot().
-Add a shortcut key for List (L) and change the one for Tree (T),
-they are now in a submenu.
+commit e00eb93689768d84f6edd346ae2d4619d1fc2399
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Tue Apr 29 22:44:06 2008 +0000
-------------------------------------------------------------------------
-r494 | zas_ | 2008-04-17 22:03:49 +0200 (Thu, 17 Apr 2008) | 2 lines
+ fixed a memory leak
-Add some wrappers in view_dir.c and simplify even more.
+commit 53bb7d6c6c0eba150ceda32609281a2bccc43241
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Tue Apr 29 18:12:49 2008 +0000
-------------------------------------------------------------------------
-r493 | zas_ | 2008-04-17 21:57:41 +0200 (Thu, 17 Apr 2008) | 2 lines
+ cleanup: use image_get_image_size
-Fix a bug introduced in revision 489.
+commit 76b0903edc9ab43fcf41d2a9134c4ef969b8ccb6
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Tue Apr 29 17:52:12 2008 +0000
-------------------------------------------------------------------------
-r492 | zas_ | 2008-04-17 20:44:17 +0200 (Thu, 17 Apr 2008) | 3 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
-Reduce code redundancy with the introduction of a new
-function named vd_get_fd_from_tree_path().
+commit 6e5e4f7670c45b55f2fca8b3916f1b9f9397a318
+Author: Petr Ostadal <postadal@suse.cz>
+Date: Sun Apr 27 23:31:20 2008 +0000
-------------------------------------------------------------------------
-r491 | nadvornik | 2008-04-17 19:44:54 +0200 (Thu, 17 Apr 2008) | 3 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)
-image post-processing (rotation and color management) moved to
-pixbuf-renderer
+commit 5ae4228a32c2758ec72a0a780a2480474033bb80
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sun Apr 27 20:05:11 2008 +0000
-------------------------------------------------------------------------
-r490 | zas_ | 2008-04-17 19:35:51 +0200 (Thu, 17 Apr 2008) | 3 lines
+ Added LIRC patch written by Matteo Beniamino
-Merge vd(list|tree)_release_cb() in vd_release_cb().
-I made some assumptions here i hope correct.
+commit 24110e7cf37b69fd01db02f203c5f1a25b5d113d
+Author: Laurent Monin <geeqie@norz.org>
+Date: Fri Apr 25 20:23:21 2008 +0000
-------------------------------------------------------------------------
-r489 | zas_ | 2008-04-17 19:19:41 +0200 (Thu, 17 Apr 2008) | 2 lines
+ Fix number of directory views, bug introduced in revision 617.
-Merge few more functions to view_dir.c.
+commit 1f3d7a4f31640be1c85f8cd4d8bd966665d7399c
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Fri Apr 25 20:08:47 2008 +0000
-------------------------------------------------------------------------
-r488 | zas_ | 2008-04-17 18:33:31 +0200 (Thu, 17 Apr 2008) | 2 lines
+ fixed dragging multiple files from file list
+ http://sourceforge.net/tracker/index.php?func=detail&aid=1950740&group_id=222125&atid=1054680
-Move common menu position callback to view_dir.c.
+commit 0fb3e0276867a5224e267571b04641290d9b1013
+Author: Laurent Monin <geeqie@norz.org>
+Date: Fri Apr 25 09:31:32 2008 +0000
-------------------------------------------------------------------------
-r487 | zas_ | 2008-04-17 16:51:32 +0200 (Thu, 17 Apr 2008) | 2 lines
+ Add a line about variable and function names.
-Merge dirlist/dirview dnd code.
+commit 23b982817520f7e361b3252b18efb0c391f08e17
+Author: Laurent Monin <geeqie@norz.org>
+Date: Fri Apr 25 09:28:45 2008 +0000
-------------------------------------------------------------------------
-r486 | zas_ | 2008-04-17 00:51:32 +0200 (Thu, 17 Apr 2008) | 2 lines
+ Document the Geeqie coding style.
+ This is a draft, please improve.
-Regenerate translations files and update french translation.
+commit 74182a124ee9eca4d76d2e4da9b690dea61a651e
+Author: Laurent Monin <geeqie@norz.org>
+Date: Fri Apr 25 08:07:22 2008 +0000
-------------------------------------------------------------------------
-r485 | zas_ | 2008-04-17 00:31:52 +0200 (Thu, 17 Apr 2008) | 2 lines
+ Handle the case of reduction of the number of view directory types.
+ Previously it was leading to a segfault.
-Fix new folder feature in dirlist mode, it was broken by revision 481.
+commit 856f0b26d9bd498c8e093e75c5a7f7b5bdb8238f
+Author: Laurent Monin <geeqie@norz.org>
+Date: Thu Apr 24 20:29:09 2008 +0000
-------------------------------------------------------------------------
-r484 | zas_ | 2008-04-17 00:23:43 +0200 (Thu, 17 Apr 2008) | 2 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édéric Mantegazza.
-Fix a crash introduced in revision 477.
+commit 76747275b6e719dbb4efb93d414f82ab2f177d79
+Author: Laurent Monin <geeqie@norz.org>
+Date: Thu Apr 24 20:18:59 2008 +0000
-------------------------------------------------------------------------
-r483 | zas_ | 2008-04-17 00:21:01 +0200 (Thu, 17 Apr 2008) | 2 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.
-Fix two errors made in revision 473.
+commit 9816ef505ad7693841db4e85a5f64d43669675df
+Author: Laurent Monin <geeqie@norz.org>
+Date: Thu Apr 24 16:35:02 2008 +0000
-------------------------------------------------------------------------
-r482 | zas_ | 2008-04-16 23:58:05 +0200 (Wed, 16 Apr 2008) | 2 lines
+ Add missing spaces around equal sign.
-Merge few more vdlist/vdtree functions.
+commit a792a5a9f9267bf8872daff3494a374909d9fca7
+Author: Laurent Monin <geeqie@norz.org>
+Date: Thu Apr 24 16:32:20 2008 +0000
-------------------------------------------------------------------------
-r481 | zas_ | 2008-04-16 22:36:10 +0200 (Wed, 16 Apr 2008) | 2 lines
+ Cleanup exif_get_formatted_by_key().
-Make directory view popup menu common and move it to view_dir.{c,h}.
+commit de5436b46e7f303f7c16620e67b18ccde63b386e
+Author: Laurent Monin <geeqie@norz.org>
+Date: Thu Apr 24 15:57:58 2008 +0000
-------------------------------------------------------------------------
-r480 | nadvornik | 2008-04-16 22:32:44 +0200 (Wed, 16 Apr 2008) | 2 lines
+ Add missing space.
-fixed compiler warnings
+commit f6a8c6dfbe0c9db2e662734deb336b57de9bdb6f
+Author: Laurent Monin <geeqie@norz.org>
+Date: Thu Apr 24 15:53:08 2008 +0000
-------------------------------------------------------------------------
-r479 | nadvornik | 2008-04-16 22:15:42 +0200 (Wed, 16 Apr 2008) | 2 lines
+ 6 for() vs 201 for (): winner is for ().
-in debug mode print time information on selected events
+commit db804e24c3646853cd23436cff8ae6ae8926d726
+Author: Laurent Monin <geeqie@norz.org>
+Date: Thu Apr 24 15:49:57 2008 +0000
-------------------------------------------------------------------------
-r478 | zas_ | 2008-04-16 20:57:50 +0200 (Wed, 16 Apr 2008) | 2 lines
+ Convert the minority of while() to while ().
-Clean up and simplify.
+commit 371332db2d9c7cc5f72c701fd92623c395489280
+Author: Laurent Monin <geeqie@norz.org>
+Date: Thu Apr 24 15:44:43 2008 +0000
-------------------------------------------------------------------------
-r477 | zas_ | 2008-04-16 18:54:38 +0200 (Wed, 16 Apr 2008) | 3 lines
+ Use only one secure_fprintf() call instead of two.
-Merge parts of view_dir_list/tree constructors/destructors to
-view_dir.
+commit 1203b7f1892105a3ac8019cabb7b7d5a8e85cb34
+Author: Laurent Monin <geeqie@norz.org>
+Date: Thu Apr 24 15:31:21 2008 +0000
-------------------------------------------------------------------------
-r476 | zas_ | 2008-04-16 18:05:12 +0200 (Wed, 16 Apr 2008) | 3 lines
+ Use sizeof().
-Move some dnd common code from view_dir_list.c and view_dir_tree.c
-to view_dir.c.
+commit 0b16c7147a350800d4f4afd2c191d62bbf590e7c
+Author: Laurent Monin <geeqie@norz.org>
+Date: Thu Apr 24 12:47:09 2008 +0000
-------------------------------------------------------------------------
-r475 | zas_ | 2008-04-16 16:56:31 +0200 (Wed, 16 Apr 2008) | 2 lines
+ Remove whitespace between function name and first parenthesis for the sake of consistency. (pass 2)
-Rename vdt occurences to vd.
+commit 002da4045e3fb091adca1bd57745334f40514257
+Author: Laurent Monin <geeqie@norz.org>
+Date: Thu Apr 24 12:23:02 2008 +0000
-------------------------------------------------------------------------
-r474 | zas_ | 2008-04-16 16:51:39 +0200 (Wed, 16 Apr 2008) | 2 lines
+ Remove whitespace between function name and first parenthesis for the sake of consistency.
-Rename vdl occurences to vd.
+commit a603169a7d2e745aeb638509fbe839d1182257ec
+Author: Laurent Monin <geeqie@norz.org>
+Date: Thu Apr 24 11:40:26 2008 +0000
-------------------------------------------------------------------------
-r473 | zas_ | 2008-04-16 16:45:22 +0200 (Wed, 16 Apr 2008) | 11 lines
+ Indentation fix.
-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 9ed4108d3855b95889c28bd7860f746da900a11d
+Author: Laurent Monin <geeqie@norz.org>
+Date: Thu Apr 24 09:50:37 2008 +0000
-------------------------------------------------------------------------
-r472 | zas_ | 2008-04-15 23:49:28 +0200 (Tue, 15 Apr 2008) | 2 lines
+ Display file_data debug messages only at level 2.
-Indicate --debug[=level] in usage display.
+commit 7e6cbe554f63e4a16a1ab72333c9f66a7e196347
+Author: Laurent Monin <geeqie@norz.org>
+Date: Thu Apr 24 09:43:23 2008 +0000
-------------------------------------------------------------------------
-r471 | zas_ | 2008-04-15 23:47:03 +0200 (Tue, 15 Apr 2008) | 4 lines
+ Move get_exec_time() to debug.{c,h}.
-Parse command line for --debug option as soon as possible and allow
---debug[=level] syntax.
-Only display message indication debug level once.
+commit 161a3cf407b2af7ce02dcf15792dd9ca8c5c8c16
+Author: Laurent Monin <geeqie@norz.org>
+Date: Thu Apr 24 09:09:48 2008 +0000
-------------------------------------------------------------------------
-r470 | zas_ | 2008-04-15 23:06:00 +0200 (Tue, 15 Apr 2008) | 2 lines
+ Move options stuff to options.{c,h} and remove globals.c
-Cleanup read/write of image.zoom_mode option.
+commit af1beef9f10c4d5408d73ecbd606cbc0a87b68a3
+Author: Laurent Monin <geeqie@norz.org>
+Date: Thu Apr 24 08:53:39 2008 +0000
-------------------------------------------------------------------------
-r469 | zas_ | 2008-04-15 22:56:55 +0200 (Tue, 15 Apr 2008) | 2 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.
-Read show_icon_names only once.
+commit b23c9dac6850b794e8002b031704bff3d83f0b20
+Author: Laurent Monin <geeqie@norz.org>
+Date: Thu Apr 24 00:15:03 2008 +0000
-------------------------------------------------------------------------
-r468 | zas_ | 2008-04-15 22:55:21 +0200 (Tue, 15 Apr 2008) | 2 lines
+ Handle the newline in DEBUG_N() macro instead of adding one
+ in each debug message string.
-Rename l_conf to layout_order and make it more local.
+commit 30cfbdf85a61414f63e52f8e21a4fb0ede49acf3
+Author: Laurent Monin <geeqie@norz.org>
+Date: Wed Apr 23 23:52:20 2008 +0000
-------------------------------------------------------------------------
-r467 | zas_ | 2008-04-15 22:46:14 +0200 (Tue, 15 Apr 2008) | 5 lines
+ French translation was updated.
-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 9a8f43f7c1f08425b82ab3f52e22ecd81e7c7834
+Author: Laurent Monin <geeqie@norz.org>
+Date: Wed Apr 23 23:51:02 2008 +0000
-------------------------------------------------------------------------
-r466 | zas_ | 2008-04-15 22:36:11 +0200 (Tue, 15 Apr 2008) | 6 lines
+ Make image_osd_histogram_onoff_toggle() and image_osd_histogram_onoff_status() static.
-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 addef370767780cc6253b4e0d4a592de481f01e4
+Author: Laurent Monin <geeqie@norz.org>
+Date: Wed Apr 23 23:47:53 2008 +0000
-------------------------------------------------------------------------
-r465 | zas_ | 2008-04-15 22:00:27 +0200 (Tue, 15 Apr 2008) | 2 lines
+ Fix image overlay displayed only on second "I" press in layout view.
-Add and use few new macros in rc file writing code.
+commit 7d68ee688db510528ad6338e6b9e7b909e02c9cf
+Author: Laurent Monin <geeqie@norz.org>
+Date: Wed Apr 23 23:35:13 2008 +0000
-------------------------------------------------------------------------
-r464 | nadvornik | 2008-04-15 20:34:24 +0200 (Tue, 15 Apr 2008) | 2 lines
+ Display file and line along debug messages for any debug level but level 1.
+ Add a DEBUG_0() macro for instant debugging.
-this might fix the freezes on freebsd, solaris, etc.
+commit e153caa7d02808144fdae1a5348336e61083d972
+Author: Laurent Monin <geeqie@norz.org>
+Date: Wed Apr 23 22:40:55 2008 +0000
-------------------------------------------------------------------------
-r463 | nadvornik | 2008-04-15 18:57:30 +0200 (Tue, 15 Apr 2008) | 2 lines
+ Fix Gtk-CRITICAL **: gtk_entry_set_text: assertion `GTK_IS_ENTRY (entry)' failed
+ occuring when toggling file list view <-> file icon view.
-save file_class to config file
+commit a2a3d0fee28a20f0ede745ab50e3e482aa40dc88
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Wed Apr 23 22:38:34 2008 +0000
-------------------------------------------------------------------------
-r462 | zas_ | 2008-04-15 09:16:51 +0200 (Tue, 15 Apr 2008) | 2 lines
+ clear the buffer before loading of an image
-Exit fullscreen mode when Properties is displayed.
+commit 1d9e03e85df8fde6dec5542ed0125e445fe3ee02
+Author: Laurent Monin <geeqie@norz.org>
+Date: Wed Apr 23 22:33:18 2008 +0000
-------------------------------------------------------------------------
-r461 | zas_ | 2008-04-15 08:56:25 +0200 (Tue, 15 Apr 2008) | 7 lines
+ Use menu_item_add_stock_sensitive() and menu_item_add_sensitive().
-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 5773dedeb1eacfe953bcfae30c251bd27f158b81
+Author: Laurent Monin <geeqie@norz.org>
+Date: Wed Apr 23 22:22:37 2008 +0000
-------------------------------------------------------------------------
-r460 | zas_ | 2008-04-15 01:47:13 +0200 (Tue, 15 Apr 2008) | 2 lines
+ Update to contributors list.
-Move layout.order default init to setup_default_options().
+commit 3a71a78dc06c95ba23d1662e97621aef80d7ad92
+Author: Laurent Monin <geeqie@norz.org>
+Date: Wed Apr 23 22:17:21 2008 +0000
-------------------------------------------------------------------------
-r459 | zas_ | 2008-04-15 01:39:46 +0200 (Tue, 15 Apr 2008) | 2 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.
-collection_load(): use booleans and always count failures (for debug).
+commit b022eddfd7c892f7db4b262e9f027237255c8735
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Wed Apr 23 21:08:29 2008 +0000
-------------------------------------------------------------------------
-r458 | zas_ | 2008-04-15 01:29:54 +0200 (Tue, 15 Apr 2008) | 2 lines
+ fixed a bug in opening files with non-utf8 locales in exiv2.cc
-collection_load(): improve headers parsing.
+commit 51514f069a0c030ac9ff092a89979f48cc55e10b
+Author: Laurent Monin <geeqie@norz.org>
+Date: Wed Apr 23 20:47:19 2008 +0000
-------------------------------------------------------------------------
-r457 | zas_ | 2008-04-15 01:09:48 +0200 (Tue, 15 Apr 2008) | 2 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()
-collection_load(): fix typo (missing #) made in rev 453.
+commit b98126503e690efb410be9b153b582879f5b3831
+Author: Laurent Monin <geeqie@norz.org>
+Date: Wed Apr 23 13:46:18 2008 +0000
-------------------------------------------------------------------------
-r456 | zas_ | 2008-04-15 01:08:27 +0200 (Tue, 15 Apr 2008) | 2 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.
-collection_load(): accept whitespaces at start of lines.
+commit 8239272a1d8bd4af22478acb3f5776a5f2faf1a2
+Author: Laurent Monin <geeqie@norz.org>
+Date: Wed Apr 23 13:03:04 2008 +0000
-------------------------------------------------------------------------
-r455 | zas_ | 2008-04-15 00:57:26 +0200 (Tue, 15 Apr 2008) | 2 lines
+ Only display message if in debug mode.
-collection_load(): increase verbosity in debug mode.
+commit 682629894b3882e3de68c123c531fb8d8b261424
+Author: Laurent Monin <geeqie@norz.org>
+Date: Wed Apr 23 09:56:21 2008 +0000
-------------------------------------------------------------------------
-r454 | zas_ | 2008-04-15 00:50:50 +0200 (Tue, 15 Apr 2008) | 3 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.
-collection_load(): replace official by limit_failures (and
-invert the tests).
+commit 9b106381f25bf9d76db2590c1a08586330da4a33
+Author: Laurent Monin <geeqie@norz.org>
+Date: Tue Apr 22 23:53:24 2008 +0000
-------------------------------------------------------------------------
-r453 | zas_ | 2008-04-15 00:45:53 +0200 (Tue, 15 Apr 2008) | 3 lines
+ Save sort manager state to rc file.
-Increase collection_load() buffer size and do not activate
-error limiting for GQview collections.
+commit b1c55eb8df1c22305054d139fbfe65e2a73f377b
+Author: Laurent Monin <geeqie@norz.org>
+Date: Tue Apr 22 22:45:51 2008 +0000
-------------------------------------------------------------------------
-r452 | zas_ | 2008-04-15 00:28:29 +0200 (Tue, 15 Apr 2008) | 2 lines
+ Remove unused function bar_info_size_request().
-Merge collection_load_only_geometry() into collection_load().
+commit 38c13e591d7ff69980e0886af4fba060bee911d4
+Author: Laurent Monin <geeqie@norz.org>
+Date: Tue Apr 22 22:44:10 2008 +0000
-------------------------------------------------------------------------
-r451 | zas_ | 2008-04-15 00:05:47 +0200 (Tue, 15 Apr 2008) | 2 lines
+ Save state and width of exif, info and sort panels to rc file.
+ Width is restored only if save windows dimensions is set.
-Use flags for collection_load*().
+commit a634981a6a28b9f16aef7839b60b2f822ed0971d
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Tue Apr 22 19:26:07 2008 +0000
-------------------------------------------------------------------------
-r450 | zas_ | 2008-04-13 22:33:45 +0200 (Sun, 13 Apr 2008) | 2 lines
+ updated ChangeLog from svn log
-Apply exif display config (Never/If set/Always) to pan view too.
+commit 1aeed5d363fa31ad42d7f8aaaf5d8abc47470a87
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Tue Apr 22 18:06:38 2008 +0000
-------------------------------------------------------------------------
-r449 | zas_ | 2008-04-13 21:21:13 +0200 (Sun, 13 Apr 2008) | 4 lines
+ fixed version string ;)
-Rename show_dot_files to show_hidden_files.
-There is no need to expose the underlying method to hide
-files.
+commit 3ace564b446504e8cc34456c46623e16e939fbfa
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Tue Apr 22 17:45:08 2008 +0000
-------------------------------------------------------------------------
-r448 | zas_ | 2008-04-13 20:56:24 +0200 (Sun, 13 Apr 2008) | 3 lines
+ updated version number
-Let toggle the visibility of hidden files from directories list
-or tree contextual menu.
+commit 17fd8dee35ce3751744578a472f1b14de63a4f30
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Tue Apr 22 17:40:29 2008 +0000
-------------------------------------------------------------------------
-r447 | zas_ | 2008-04-13 14:24:42 +0200 (Sun, 13 Apr 2008) | 2 lines
+ fixed reading of signed rational type with Exiv2
-Add a button to reset fullscreen info string to default value.
+commit 0975a01fb79e3c92c058903a311cbc87e0d06370
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Tue Apr 22 09:57:26 2008 +0000
-------------------------------------------------------------------------
-r446 | zas_ | 2008-04-13 14:12:44 +0200 (Sun, 13 Apr 2008) | 2 lines
+ fixed instalation of doc files
-Fix a typo, READ_CHAR() must use value_all.
+commit d19be6a6cb20a06c7ee518de9fff486458f4ad10
+Author: Laurent Monin <geeqie@norz.org>
+Date: Tue Apr 22 09:40:05 2008 +0000
-------------------------------------------------------------------------
-r445 | zas_ | 2008-04-13 11:10:38 +0200 (Sun, 13 Apr 2008) | 3 lines
+ Correctly escape data before using pango_layout_set_markup().
+ Exif data may contain characters like & or < >.
-Use convenient macros to read options, it will ensure options
-names are matching (in the rc file and internally).
+commit b38d66e98392adcdd1494ab7949254e9b4e99f95
+Author: Laurent Monin <geeqie@norz.org>
+Date: Tue Apr 22 09:01:29 2008 +0000
-------------------------------------------------------------------------
-r444 | zas_ | 2008-04-13 10:36:17 +0200 (Sun, 13 Apr 2008) | 5 lines
+ Use image_osd_toggle() in layout_menu_overlay_cb().
+ Drop layout_image_overlay_update().
-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 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().
-------------------------------------------------------------------------
-r443 | zas_ | 2008-04-13 01:59:31 +0200 (Sun, 13 Apr 2008) | 3 lines
+commit 5a18e80ff0ad111a754d3bdc8360269cadbd1615
+Author: Laurent Monin <geeqie@norz.org>
+Date: Tue Apr 22 08:34:30 2008 +0000
-Partly rewrite option parser to accept whitespaces at start
-of lines.
+ Make histogram depends on image window not layout window.
+ It simplifies the code, and make more sense.
-------------------------------------------------------------------------
-r442 | zas_ | 2008-04-13 01:41:35 +0200 (Sun, 13 Apr 2008) | 2 lines
+commit 360f7fcab05c29e3a84dab69169b4018f469fbee
+Author: Laurent Monin <geeqie@norz.org>
+Date: Tue Apr 22 08:16:02 2008 +0000
-exif_* -> exif.display.*
+ Ensure Properties dialog is displayed above fullscreen window.
+ Add a parameter to info_window_new() to pass parent window and
+ revert patch 472.
-------------------------------------------------------------------------
-r441 | zas_ | 2008-04-13 01:32:08 +0200 (Sun, 13 Apr 2008) | 2 lines
+commit e67ca23513e0fd8f06fbef46a4ca1468a88c6ce2
+Author: Laurent Monin <geeqie@norz.org>
+Date: Mon Apr 21 22:19:32 2008 +0000
-Add a note in the rc file about special editor slots.
+ Indicate bugs and feature requests trackers, remove obsolete stuff.
-------------------------------------------------------------------------
-r440 | zas_ | 2008-04-13 01:16:41 +0200 (Sun, 13 Apr 2008) | 2 lines
+commit 3f5e512adb9df8f201ecf8d8bce049b63dfa4f4e
+Author: Laurent Monin <geeqie@norz.org>
+Date: Mon Apr 21 22:15:56 2008 +0000
-sidecar_ext -> sidecar.ext
+ Lowercased name.
-------------------------------------------------------------------------
-r439 | zas_ | 2008-04-13 01:07:04 +0200 (Sun, 13 Apr 2008) | 2 lines
+commit c5b86fa162157a545e37a9ed018c52c919082580
+Author: Laurent Monin <geeqie@norz.org>
+Date: Mon Apr 21 22:14:57 2008 +0000
-Unify names of options between variables and rc file.
+ . -> dot
-------------------------------------------------------------------------
-r438 | zas_ | 2008-04-13 01:02:00 +0200 (Sun, 13 Apr 2008) | 2 lines
+commit 29042cb9cebffa90766495d7bf8814879474af89
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Mon Apr 21 21:46:38 2008 +0000
-Use tree_descend_subdirs everywhere.
+ updated copyright in source files
-------------------------------------------------------------------------
-r437 | zas_ | 2008-04-13 00:22:11 +0200 (Sun, 13 Apr 2008) | 2 lines
+commit db4cefbd463659115e9d976d6f230129c93194bb
+Author: Laurent Monin <geeqie@norz.org>
+Date: Mon Apr 21 20:45:35 2008 +0000
-Use startup_path_enable everywhere.
+ Properly initialize image_overlay options.
-------------------------------------------------------------------------
-r436 | zas_ | 2008-04-13 00:17:14 +0200 (Sun, 13 Apr 2008) | 2 lines
+commit f717a49667e8ff0062bb65eda5a01cf40b076c21
+Author: Laurent Monin <geeqie@norz.org>
+Date: Mon Apr 21 20:42:18 2008 +0000
-Rename recent_list_max/open_recent_max to open_recent_list_maxsize.
+ Few more fixes to french translation.
-------------------------------------------------------------------------
-r435 | zas_ | 2008-04-13 00:10:38 +0200 (Sun, 13 Apr 2008) | 2 lines
+commit 6be1d7a64de4a9a366b0d121b113250df5a42a28
+Author: Laurent Monin <geeqie@norz.org>
+Date: Mon Apr 21 20:39:36 2008 +0000
-Rename dupe_custom_threshold option to duplicates_similarity_threshold.
+ Add some macros to handle rc file compatibility issues related to
+ option name changes.
-------------------------------------------------------------------------
-r434 | zas_ | 2008-04-13 00:04:29 +0200 (Sun, 13 Apr 2008) | 4 lines
+commit c3d35ef8b25f158d7be74ff154babded3ef26f29
+Author: Laurent Monin <geeqie@norz.org>
+Date: Mon Apr 21 20:27:39 2008 +0000
-Move safe_delete* and in place rename options to file_ops
-struct.
-Re-order rc file a bit.
+ Minor french translation fix.
-------------------------------------------------------------------------
-r433 | zas_ | 2008-04-12 23:45:30 +0200 (Sat, 12 Apr 2008) | 3 lines
+commit f47a3abcefad2232201d57ecb20385673dd05d1f
+Author: Laurent Monin <geeqie@norz.org>
+Date: Mon Apr 21 20:24:15 2008 +0000
-Rename option thumbnails.enabled to layout.show_thumbnails as it makes
-more sense.
+ French translation was updated.
-------------------------------------------------------------------------
-r432 | zas_ | 2008-04-12 23:38:55 +0200 (Sat, 12 Apr 2008) | 5 lines
+commit 5a38c6d5dc83b4c142ea82ee702ab72e33f69403
+Author: Laurent Monin <geeqie@norz.org>
+Date: Mon Apr 21 20:12:49 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().
+ 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)
-------------------------------------------------------------------------
-r431 | zas_ | 2008-04-12 21:33:59 +0200 (Sat, 12 Apr 2008) | 2 lines
+commit 7eb4f7249138c689fd41c2890b0a8ad3b24566d9
+Author: Laurent Monin <geeqie@norz.org>
+Date: Mon Apr 21 20:01:22 2008 +0000
-Rename window options (moved to layout) and re-order rc file.
+ 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.
-------------------------------------------------------------------------
-r430 | zas_ | 2008-04-12 19:20:34 +0200 (Sat, 12 Apr 2008) | 2 lines
+commit 1b40318865ffee3150d652c83bb4eca400f78431
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Mon Apr 21 19:42:58 2008 +0000
-Fix bad image option name in the rc file.
+ fixed another "gqview" occurence
-------------------------------------------------------------------------
-r429 | zas_ | 2008-04-12 19:09:20 +0200 (Sat, 12 Apr 2008) | 2 lines
+commit 83e3573f5fb4bec00d4377ddc27e1904f4f68da1
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Mon Apr 21 19:10:41 2008 +0000
-Fix display bug when using "Limit image size when autofitting" option.
+ updated NEWS, README and other documentation files
-------------------------------------------------------------------------
-r428 | zas_ | 2008-04-12 17:13:00 +0200 (Sat, 12 Apr 2008) | 2 lines
+commit 00157fa203d628c0903da8332a40d0e1e0a0e6f8
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Mon Apr 21 18:09:30 2008 +0000
-Beautify rc file, adding sub-sections titles.
+ renamed no.po to nb.po
-------------------------------------------------------------------------
-r427 | zas_ | 2008-04-12 17:04:58 +0200 (Sat, 12 Apr 2008) | 2 lines
+commit e13355d5fc8beff343cda7db7187822b688dd61f
+Author: Laurent Monin <geeqie@norz.org>
+Date: Mon Apr 21 15:30:16 2008 +0000
-Rename image-related options.
+ Fix a segfault occuring when pressing 'i' for overlay info
+ in a separate image window (no layout).
-------------------------------------------------------------------------
-r426 | zas_ | 2008-04-12 11:41:44 +0200 (Sat, 12 Apr 2008) | 2 lines
+commit 4d1beccf7d7de512882e5f59757c52c326d1a1b6
+Author: Laurent Monin <geeqie@norz.org>
+Date: Mon Apr 21 14:19:48 2008 +0000
-Rename thumbnails related options.
+ histogram_draw(): tidy up.
-------------------------------------------------------------------------
-r425 | zas_ | 2008-04-12 11:12:37 +0200 (Sat, 12 Apr 2008) | 2 lines
+commit 667d057287d39224fd008329ec6a5e0d28dcc818
+Author: Laurent Monin <geeqie@norz.org>
+Date: Mon Apr 21 13:39:17 2008 +0000
-Rename file filtering options.
+ histogram_read(): speed up calculations by 20%.
-------------------------------------------------------------------------
-r424 | zas_ | 2008-04-12 10:59:52 +0200 (Sat, 12 Apr 2008) | 2 lines
+commit c397f66ddcc3c7651cda421f11a5cae13afa92ba
+Author: Laurent Monin <geeqie@norz.org>
+Date: Mon Apr 21 11:44:03 2008 +0000
-Drop unused stuff.
+ histogram_read(): use memset() to initialize histogram data instead of for() loop.
-------------------------------------------------------------------------
-r423 | zas_ | 2008-04-12 10:40:02 +0200 (Sat, 12 Apr 2008) | 2 lines
+commit a7ae368828f16b5cd0d2ea3375242f6cb90eee86
+Author: Laurent Monin <geeqie@norz.org>
+Date: Mon Apr 21 10:11:55 2008 +0000
-Rename collection options.
+ French translation was updated.
-------------------------------------------------------------------------
-r422 | zas_ | 2008-04-12 10:35:58 +0200 (Sat, 12 Apr 2008) | 2 lines
+commit 56adb85f9ede97ad87f1c8adbe2b95814128ee7c
+Author: Laurent Monin <geeqie@norz.org>
+Date: Mon Apr 21 10:10:23 2008 +0000
-Rename file sorting options.
+ Add compat.c to POTFILES
-------------------------------------------------------------------------
-r421 | zas_ | 2008-04-12 10:28:08 +0200 (Sat, 12 Apr 2008) | 2 lines
+commit d3339b5ef4ccfc029f07766426faf12b30ff5824
+Author: Laurent Monin <geeqie@norz.org>
+Date: Mon Apr 21 10:09:01 2008 +0000
-Re-order and try to group options.
+ 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.
-------------------------------------------------------------------------
-r420 | zas_ | 2008-04-12 10:05:44 +0200 (Sat, 12 Apr 2008) | 2 lines
+commit c10bf95960a1aa871faf0d9930098bdd9a9b1b1c
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sun Apr 20 23:17:35 2008 +0000
-Rename color profile options.
+ 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.
-------------------------------------------------------------------------
-r419 | zas_ | 2008-04-12 09:46:01 +0200 (Sat, 12 Apr 2008) | 2 lines
+commit bac25c157f02acaf5d06970e49a87cf31809bb44
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sun Apr 20 22:51:53 2008 +0000
-Rename slideshow options.
+ French translation was updated.
-------------------------------------------------------------------------
-r418 | zas_ | 2008-04-12 09:09:19 +0200 (Sat, 12 Apr 2008) | 3 lines
+commit 1563535bd6d10e9615ab1c67c12531ceaa15ae79
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sun Apr 20 22:45:00 2008 +0000
-Only display defined exif tags by default.
+ 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
-------------------------------------------------------------------------
-r417 | zas_ | 2008-04-12 09:00:14 +0200 (Sat, 12 Apr 2008) | 2 lines
+ Prefix editor entries in the main menu with numbers.
+ It allows Alt+E+number as shortcut to start an editor.
-Drop redundant code.
+commit 2fa99cc17f3ce25101d9dcd1f9a8a9313e39532f
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sun Apr 20 22:14:54 2008 +0000
-------------------------------------------------------------------------
-r416 | zas_ | 2008-04-12 08:42:47 +0200 (Sat, 12 Apr 2008) | 3 lines
+ Add missing shortcuts.
-Add Exif.Photo.ColorSpace tag in Preferences > Properties > Exif.
-Requested by Fr?\195?\169d?\195?\169ric Mantegazza.
+commit 8b4cfba15cf968c6ad9cb9804838924d3988b19f
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sun Apr 20 22:14:38 2008 +0000
-------------------------------------------------------------------------
-r415 | zas_ | 2008-04-12 01:32:22 +0200 (Sat, 12 Apr 2008) | 2 lines
+ fixed color profile code for older versions of exiv2
+ compilation fixes
-Rationalize fullscreen options naming.
+commit 118f92d8da6b070dba40ad7e56311e40cc923107
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sun Apr 20 22:01:26 2008 +0000
-------------------------------------------------------------------------
-r414 | zas_ | 2008-04-12 01:01:00 +0200 (Sat, 12 Apr 2008) | 2 lines
+ Mark slideshow toggle state in the menu.
+ There is still an issue due to layout vs view slideshows...
-options_c -> c_options
+commit 59c6c8f009efbe091aabc08e26671790ef8fbba9
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sun Apr 20 21:38:45 2008 +0000
-------------------------------------------------------------------------
-r413 | zas_ | 2008-04-12 00:52:22 +0200 (Sat, 12 Apr 2008) | 2 lines
+ Fix a typo introduced by revision 521.
-Move more options to ConfOptions.
+commit 282581c95553818382b548f0900e04ae661a8db7
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sun Apr 20 21:35:03 2008 +0000
-------------------------------------------------------------------------
-r412 | zas_ | 2008-04-12 00:27:54 +0200 (Sat, 12 Apr 2008) | 3 lines
+ read color profiles from jpeg also with Exiv2
-Move file_sort_case_sensitive to ConfOptions.
+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.
-------------------------------------------------------------------------
-r411 | zas_ | 2008-04-12 00:14:36 +0200 (Sat, 12 Apr 2008) | 6 lines
+commit cd9fb13e5fcc4e47598bb671e05c6b88e2698aed
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sun Apr 20 20:35:26 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().
+ Fix a typo: unoffical -> unofficial
+commit b880b00f068794630e7a358b5cec718e7e594019
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sun Apr 20 18:07:51 2008 +0000
-------------------------------------------------------------------------
-r410 | zas_ | 2008-04-11 22:35:37 +0200 (Fri, 11 Apr 2008) | 4 lines
+ Effectively drop empty newlines at end of files (missing from rev 535)
-Make thumbnail standard fail directory after current application
-name and version.
+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.
-------------------------------------------------------------------------
-r409 | zas_ | 2008-04-11 22:01:29 +0200 (Fri, 11 Apr 2008) | 3 lines
+commit d4392d114707bdc5888aeee2d614377a0609a9c0
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sun Apr 20 13:42:22 2008 +0000
-Define drag and drop target string in dnd.h.
-Make it use the current name of the application.
+ Minor cleanup and code redundancy reduction.
-------------------------------------------------------------------------
-r408 | zas_ | 2008-04-11 21:43:36 +0200 (Fri, 11 Apr 2008) | 2 lines
+commit 9ad0a718914f45230e0f19475875e09a9afd3ceb
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sun Apr 20 13:30:36 2008 +0000
-Use secure save in history_list_save().
+ editor_command_one(): tidy up.
-------------------------------------------------------------------------
-r407 | zas_ | 2008-04-11 19:11:14 +0200 (Fri, 11 Apr 2008) | 3 lines
+commit 7adf4f744a2e3b8ba952263f51155b634660b38d
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sun Apr 20 13:04:57 2008 +0000
-Use secure save in comment_file_write().
+ 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
-------------------------------------------------------------------------
-r406 | zas_ | 2008-04-11 18:46:21 +0200 (Fri, 11 Apr 2008) | 5 lines
+ Allow the user to change open_recent_list_maxsize option through
+ Preferences > Advanced > Navigation.
-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 71f3f6c7065587a9c1d15fe1a33af8ed5f6d3e12
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sun Apr 20 09:53:37 2008 +0000
-------------------------------------------------------------------------
-r405 | zas_ | 2008-04-11 18:04:37 +0200 (Fri, 11 Apr 2008) | 2 lines
+ rm as external delete command is too dangerous, even for testing
-Use secure save feature when saving collections.
+commit 95eb1d8bc4485bc510073487e2f83f4f60905258
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sun Apr 20 09:47:51 2008 +0000
-------------------------------------------------------------------------
-r404 | zas_ | 2008-04-11 18:02:33 +0200 (Fri, 11 Apr 2008) | 2 lines
+ Add a way to restore original state in Adjust menu.
-Preserve permissions of the destination file when using secure save.
+commit 8b67bd63f4e6e07b45fc738face1abf359dfc937
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sun Apr 20 09:29:46 2008 +0000
-------------------------------------------------------------------------
-r403 | zas_ | 2008-04-11 17:27:08 +0200 (Fri, 11 Apr 2008) | 4 lines
+ added fColorProfile pseudo-tag with detailed information
-Revert part of the previous patch, let the caller take care
-of calling path_from_utf8().
+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.
-------------------------------------------------------------------------
-r402 | zas_ | 2008-04-11 16:27:55 +0200 (Fri, 11 Apr 2008) | 3 lines
+commit 448b0fb89c7de9573e5ec7ff440fa301ac7ffb3e
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sat Apr 19 23:12:30 2008 +0000
-Use path_from_utf8() on the passed filename.
-Add const attribute.
+ Rename inappropriate folder_size to folder.
-------------------------------------------------------------------------
-r401 | zas_ | 2008-04-11 15:07:48 +0200 (Fri, 11 Apr 2008) | 8 lines
+commit 49f7e41a9d6f9bfb35c76870e296bc2fdc8aa395
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sat Apr 19 22:32:07 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.
+ Use sizeof() for buffer size where appropriate.
-------------------------------------------------------------------------
-r400 | zas_ | 2008-04-11 14:31:32 +0200 (Fri, 11 Apr 2008) | 2 lines
+commit 3e04d15e24bcfb5ef26ed869c301e06a170f780d
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sat Apr 19 21:50:05 2008 +0000
-Move secure save code to its own files: secure_save.{c,h}.
+ Keep image orientation set by the user during the session.
-------------------------------------------------------------------------
-r399 | zas_ | 2008-04-11 14:25:36 +0200 (Fri, 11 Apr 2008) | 2 lines
+commit a99ca586e977ec78bc4255917a9cf9b2b216d9b7
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sat Apr 19 21:30:19 2008 +0000
-Add missing #ifdef/#endif.
+ Save Show Marks state to rc file and display current state in menu.
+ It is saved as boolean option layout.show_marks.
-------------------------------------------------------------------------
-r398 | zas_ | 2008-04-11 12:46:52 +0200 (Fri, 11 Apr 2008) | 2 lines
+commit 1879b71339a3fef471ddf453198cda29293498b8
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sat Apr 19 21:20:08 2008 +0000
-Ensure that gcc flag -Wall is set.
+ fixed max. number of profiles
-------------------------------------------------------------------------
-r397 | zas_ | 2008-04-11 12:45:37 +0200 (Fri, 11 Apr 2008) | 2 lines
+commit 9fbfd4fb566a6f1e7cdb2f8789573197a2c60231
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sat Apr 19 21:18:24 2008 +0000
-Silent some gcc warnings.
+ Sort options.
-------------------------------------------------------------------------
-r396 | zas_ | 2008-04-11 11:02:20 +0200 (Fri, 11 Apr 2008) | 3 lines
+commit b2b6e8ce2fddde58139ddebc40ef655d828b216e
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sat Apr 19 21:10:18 2008 +0000
-Prevent multiple insertion of the same file in a collection.
-Use a hash table to speed up existence tests.
+ fixed color profile index
-------------------------------------------------------------------------
-r395 | zas_ | 2008-04-11 10:10:40 +0200 (Fri, 11 Apr 2008) | 2 lines
+commit 218f722e6adc43c59d01a2d28706909d128fa0a5
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sat Apr 19 20:53:12 2008 +0000
-Only display these messages if debug mode is enabled.
+ Let toggle marks with numeric keypad.
-------------------------------------------------------------------------
-r394 | nadvornik | 2008-04-10 21:27:42 +0200 (Thu, 10 Apr 2008) | 2 lines
+commit cc35c193b2e718a4c336f4eb5c92e8133ac63587
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sat Apr 19 20:19:27 2008 +0000
-fixed dates in pan-calendar
+ I have finally found how to add alternative hotkeys
+ removed more hard-coded keys
+ "Split Quad" is without hotkey for now
-------------------------------------------------------------------------
-r393 | zas_ | 2008-04-10 14:07:34 +0200 (Thu, 10 Apr 2008) | 2 lines
+commit 28b3a3ee99d6ea34fd3c711cbe1fdc1ea32d66d8
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sat Apr 19 19:28:10 2008 +0000
-Fix fCamera even more.
+ Accept keywords composed by two words ("Todo" = "A faire" in french).
+ Prevent duplicate keywords in the list.
-------------------------------------------------------------------------
-r392 | zas_ | 2008-04-10 13:31:20 +0200 (Thu, 10 Apr 2008) | 2 lines
+commit 3cb190ac4fff1239d5dd27a2d20e9e85c3fbcf8d
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sat Apr 19 17:55:41 2008 +0000
-Do not display ... if not truncated.
+ show the AdobeRGB profile in the menu, indicate input profile from image
-------------------------------------------------------------------------
-r391 | zas_ | 2008-04-10 12:43:15 +0200 (Thu, 10 Apr 2008) | 5 lines
+commit f3f92c31a15a0dc60c5b0cd69840c25addcff285
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sat Apr 19 17:14:03 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...
+ file_dat_unref: display number of references as well of path (debug only).
-------------------------------------------------------------------------
-r390 | zas_ | 2008-04-10 02:09:43 +0200 (Thu, 10 Apr 2008) | 2 lines
+commit 1a73876d6a93b15ef5f5ec6bbbfbdf34320c80bf
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sat Apr 19 16:26:29 2008 +0000
-Fix broken remove_common_prefix(), fCamera didn't display model as it should.
+ first support for AdobeRGB colorspace
-------------------------------------------------------------------------
-r389 | zas_ | 2008-04-10 00:47:43 +0200 (Thu, 10 Apr 2008) | 2 lines
+commit fa1a2b4b8ce6f2d80b7abffcffbc41101bf069a7
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sat Apr 19 16:10:08 2008 +0000
-Resync .po files. French translation was updated (100% made).
+ French translation fixes.
-------------------------------------------------------------------------
-r388 | zas_ | 2008-04-10 00:36:43 +0200 (Thu, 10 Apr 2008) | 2 lines
+commit 9654df9924eb462012f0b45cf69164107912779d
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sat Apr 19 13:40:20 2008 +0000
-Add 3 missing files to POTFILES.in.
+ French translation fixes and updates.
-------------------------------------------------------------------------
-r387 | zas_ | 2008-04-10 00:33:06 +0200 (Thu, 10 Apr 2008) | 2 lines
+commit 7d2b5d37b2f6261648d57961a895c90b504c7f81
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sat Apr 19 13:39:21 2008 +0000
-Simple helper script to display translation statistics.
+ Add missing _().
-------------------------------------------------------------------------
-r386 | zas_ | 2008-04-10 00:13:11 +0200 (Thu, 10 Apr 2008) | 3 lines
+commit 7f2c5644543924da2eba00708070b3b612718f29
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sat Apr 19 12:46:59 2008 +0000
-Fix a typo: "while fluorescent" -> "white fluorescent"
+ 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
-------------------------------------------------------------------------
-r385 | zas_ | 2008-04-10 00:01:52 +0200 (Thu, 10 Apr 2008) | 2 lines
+ Cleanup last patch:
+ - drop vd_pop_menu_dir_view_as_cb() since it is now unused.
+ - use G_N_ELEMENTS()
-Resync .po files. Update french translation.
+commit a139b891f3932562bae2980e03ad4986f89847ab
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Sat Apr 19 09:49:14 2008 +0000
-------------------------------------------------------------------------
-r384 | nadvornik | 2008-04-09 23:14:50 +0200 (Wed, 09 Apr 2008) | 2 lines
+ improved spec file
-fixed crash in pan_calendar
+commit d338acaf8596de02899bd7d5965855b354d3ceec
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sat Apr 19 09:36:30 2008 +0000
-------------------------------------------------------------------------
-r383 | nadvornik | 2008-04-09 22:49:32 +0200 (Wed, 09 Apr 2008) | 2 lines
+ Fix directory view popup menu to display a View As submenu
+ to switch between different directory views.
-improved histogram drawing
+commit faead0406f174630dbb35832acd36d89aabdc293
+Author: Laurent Monin <geeqie@norz.org>
+Date: Fri Apr 18 23:35:16 2008 +0000
-------------------------------------------------------------------------
-r382 | zas_ | 2008-04-09 18:37:54 +0200 (Wed, 09 Apr 2008) | 5 lines
+ gimp-remote has no -n option.
-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 2167314197590c1a13c1f2d13e3b5cb018d17de1
+Author: Laurent Monin <geeqie@norz.org>
+Date: Fri Apr 18 23:09:03 2008 +0000
-------------------------------------------------------------------------
-r381 | zas_ | 2008-04-09 15:53:01 +0200 (Wed, 09 Apr 2008) | 2 lines
+ Add zoom ratio display to OSD in fullscreen mode.
+ It appears as [%zoom%] in fullscreen info string.
+ It is now displayed by default.
-Replace occurences of Geeqie / geeqie by constants defined in main.h.
+commit f595a30b44e656fa390abb9aba67d0c6768f3369
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Fri Apr 18 22:31:58 2008 +0000
-------------------------------------------------------------------------
-r380 | zas_ | 2008-04-09 01:41:01 +0200 (Wed, 09 Apr 2008) | 2 lines
+ partially fixed reading embedded color profiles with exiv2
-int -> gint
+commit aa3a6e89bf61d28862db69c00596385c2a72733d
+Author: Laurent Monin <geeqie@norz.org>
+Date: Fri Apr 18 22:15:01 2008 +0000
-------------------------------------------------------------------------
-r379 | zas_ | 2008-04-09 01:39:27 +0200 (Wed, 09 Apr 2008) | 2 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.
-Make xmp debug info only appears when debug >= 2.
+commit 37af10a74df5d4f3031849ab0a678a9fc2e3d47f
+Author: Laurent Monin <geeqie@norz.org>
+Date: Fri Apr 18 21:53:33 2008 +0000
-------------------------------------------------------------------------
-r378 | zas_ | 2008-04-09 01:33:49 +0200 (Wed, 09 Apr 2008) | 3 lines
+ Display elapsed time since previous get_exec_time() call (debug only).
-Enable image rotation depending on EXIF by default.
-New users shouldn't have to search for it.
+commit a010c8ea1081d31b948c09e3ab1e87a433c5ee10
+Author: Laurent Monin <geeqie@norz.org>
+Date: Fri Apr 18 21:51:08 2008 +0000
-------------------------------------------------------------------------
-r377 | zas_ | 2008-04-09 01:25:46 +0200 (Wed, 09 Apr 2008) | 2 lines
+ Remove forgotten debug printf().
-Fix missing header files inclusions.
+commit 763f8437ee2541f39a309154d249b088323eacad
+Author: Laurent Monin <geeqie@norz.org>
+Date: Fri Apr 18 21:42:00 2008 +0000
-------------------------------------------------------------------------
-r376 | zas_ | 2008-04-09 01:16:12 +0200 (Wed, 09 Apr 2008) | 2 lines
+ Fix OSD display when fullscreen info string is empty.
-GQVIEW_* -> GQ_*
+commit 7df25c1ba74b9a175fdf33d90bce28db6cd908b2
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Fri Apr 18 21:30:12 2008 +0000
-------------------------------------------------------------------------
-r375 | zas_ | 2008-04-09 01:07:09 +0200 (Wed, 09 Apr 2008) | 2 lines
+ replace inner loops with memcpy
-GQVIEW_H -> MAIN_H
+commit a31575c389e7d8c007dbcac3e47f94e56f9188bf
+Author: Laurent Monin <geeqie@norz.org>
+Date: Fri Apr 18 20:41:09 2008 +0000
-------------------------------------------------------------------------
-r374 | zas_ | 2008-04-09 01:02:33 +0200 (Wed, 09 Apr 2008) | 2 lines
+ Explode pr_tile_mirror() in three optimized functions:
+ pr_tile_mirror_only()
+ pr_tile_mirror_and_flip()
+ pr_tile_flip_only()
-gqview.h -> main.h
+commit 41f45372c2b917e1595d8e9d83871326d07ea97b
+Author: Laurent Monin <geeqie@norz.org>
+Date: Fri Apr 18 16:53:41 2008 +0000
-------------------------------------------------------------------------
-r373 | zas_ | 2008-04-09 00:31:42 +0200 (Wed, 09 Apr 2008) | 2 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.
-Remove obsolete prototype.
+commit 1b102510a0a4900076a2a34467feb80dab809734
+Author: Laurent Monin <geeqie@norz.org>
+Date: Fri Apr 18 16:29:47 2008 +0000
-------------------------------------------------------------------------
-r372 | zas_ | 2008-04-09 00:28:55 +0200 (Wed, 09 Apr 2008) | 9 lines
+ Drop 3 useless #define.
+commit 5add0a6fd3900ca0c6ea0ed8989e74780f27a8c7
+Author: Laurent Monin <geeqie@norz.org>
+Date: Fri Apr 18 16:25:40 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()
+ Fix forgotten vd->pf affectation.
+ Cleanup, and reduce code redundancy a bit.
-------------------------------------------------------------------------
-r371 | zas_ | 2008-04-09 00:16:56 +0200 (Wed, 09 Apr 2008) | 4 lines
+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.
-exit_gqview() renamed to exit_program().
-exit_gqview_final() renamed to exit_program_final().
+commit d7c3043727595dcb6024590e37180486d1da9793
+Author: Laurent Monin <geeqie@norz.org>
+Date: Fri Apr 18 09:15:09 2008 +0000
-------------------------------------------------------------------------
-r370 | zas_ | 2008-04-09 00:05:04 +0200 (Wed, 09 Apr 2008) | 8 lines
+ Introduce printf_term() macro and use it.
-Add support for some Samsung raw files (.pef).
+commit 8d5ef0b6c0b83a18dc1c9b72b01a5a84ad998468
+Author: Laurent Monin <geeqie@norz.org>
+Date: Thu Apr 17 20:14:49 2008 +0000
-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.
+ 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
-------------------------------------------------------------------------
-r369 | zas_ | 2008-04-08 23:55:58 +0200 (Tue, 08 Apr 2008) | 7 lines
+ Add some wrappers in view_dir.c and simplify even more.
-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 c53023e25a970f212a1e33b6921b1ad5084525db
+Author: Laurent Monin <geeqie@norz.org>
+Date: Thu Apr 17 19:57:41 2008 +0000
+ Fix a bug introduced in revision 489.
-------------------------------------------------------------------------
-r368 | nadvornik | 2008-04-08 23:52:04 +0200 (Tue, 08 Apr 2008) | 2 lines
+commit fb146a2c8938469f9a9a9e17ad10762f02792919
+Author: Laurent Monin <geeqie@norz.org>
+Date: Thu Apr 17 18:44:17 2008 +0000
-fixed histogram label
+ Reduce code redundancy with the introduction of a new
+ function named vd_get_fd_from_tree_path().
-------------------------------------------------------------------------
-r367 | zas_ | 2008-04-08 23:33:29 +0200 (Tue, 08 Apr 2008) | 11 lines
+commit 8015d0ae2c89c1c524292fc72d0cf41a8318ef18
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Thu Apr 17 17:44:54 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).
+ image post-processing (rotation and color management) moved to
+ pixbuf-renderer
-Display the full path to the file when Show filename text is on (before nothing
-was displayed).
+commit 524fc51faed3885c6126225ad9627f7b2e345286
+Author: Laurent Monin <geeqie@norz.org>
+Date: Thu Apr 17 17:35:51 2008 +0000
-When Show filename text is off, behavior is unchanged, the (short) filename is
-displayed.
+ Merge vd(list|tree)_release_cb() in vd_release_cb().
+ I made some assumptions here i hope correct.
-------------------------------------------------------------------------
-r366 | nadvornik | 2008-04-08 22:56:50 +0200 (Tue, 08 Apr 2008) | 3 lines
+commit a165d9a199cfcc40f8a7510e31c3809fd3a15ef0
+Author: Laurent Monin <geeqie@norz.org>
+Date: Thu Apr 17 17:19:41 2008 +0000
-reworked the histogram patch by Uwe Ohse, most of the code is in
-separate files
+ Merge few more functions to view_dir.c.
-------------------------------------------------------------------------
-r365 | nadvornik | 2008-04-08 19:26:13 +0200 (Tue, 08 Apr 2008) | 2 lines
+commit 054116d5c6fa3f7afb7773b64eb5d0ddba4385d8
+Author: Laurent Monin <geeqie@norz.org>
+Date: Thu Apr 17 16:33:31 2008 +0000
-fixed file delete notification in view_file_icon
+ Move common menu position callback to view_dir.c.
-------------------------------------------------------------------------
-r364 | zas_ | 2008-04-08 18:22:21 +0200 (Tue, 08 Apr 2008) | 2 lines
+commit 4394fa7a38bcb5b24ee6064a753cf78ee18adcec
+Author: Laurent Monin <geeqie@norz.org>
+Date: Thu Apr 17 14:51:32 2008 +0000
-gtk_notebook_set_tab_reorderable() is only available sinc gtk+ 2.10.
+ Merge dirlist/dirview dnd code.
-------------------------------------------------------------------------
-r363 | zas_ | 2008-04-08 17:53:03 +0200 (Tue, 08 Apr 2008) | 2 lines
+commit a264c79b0c70ef6160afe5914ad1a68828ada895
+Author: Laurent Monin <geeqie@norz.org>
+Date: Wed Apr 16 22:51:32 2008 +0000
-Move active variable affectation after the test.
+ Regenerate translations files and update french translation.
-------------------------------------------------------------------------
-r362 | zas_ | 2008-04-08 16:52:42 +0200 (Tue, 08 Apr 2008) | 2 lines
+commit add5ed9d94ecc2d0df2d60610480d23c1082ae3e
+Author: Laurent Monin <geeqie@norz.org>
+Date: Wed Apr 16 22:31:52 2008 +0000
-Simplify layout_color_name_parse() using g_strdelimit().
+ Fix new folder feature in dirlist mode, it was broken by revision 481.
-------------------------------------------------------------------------
-r361 | zas_ | 2008-04-08 16:50:14 +0200 (Tue, 08 Apr 2008) | 2 lines
+commit d129ccdd86cf18e37a020dd2be7760c395f92895
+Author: Laurent Monin <geeqie@norz.org>
+Date: Wed Apr 16 22:23:43 2008 +0000
-Tidy up, whitespaces and indentation fix.
+ Fix a crash introduced in revision 477.
-------------------------------------------------------------------------
-r360 | zas_ | 2008-04-08 13:53:35 +0200 (Tue, 08 Apr 2008) | 7 lines
+commit ed88a7f0f8aaa1d3aac7914d1c30de5aa271b89e
+Author: Laurent Monin <geeqie@norz.org>
+Date: Wed Apr 16 22:21:01 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.
+ 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.
-------------------------------------------------------------------------
-r359 | zas_ | 2008-04-07 21:47:22 +0200 (Mon, 07 Apr 2008) | 9 lines
+commit 87388b59fb39365d12d12febc2a2aab528380fd8
+Author: Laurent Monin <geeqie@norz.org>
+Date: Wed Apr 16 20:36:10 2008 +0000
-Add the possibility to print file names with path.
-A checkbox was added to the Text tab in the Print dialog.
+ Make directory view popup menu common and move it to view_dir.{c,h}.
-Name checked and Path unchecked -> filename.jpg
-Name checked and Path checked -> /some/dir/filename.jpg
-Name unchecked and Path checked -> /some/dir/
+commit 8b709929d5caf41ffd68acb1350c785335131a97
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Wed Apr 16 20:32:44 2008 +0000
-Patch by Michael Mokeev and Laurent Monin.
+ fixed compiler warnings
-------------------------------------------------------------------------
-r358 | zas_ | 2008-04-07 21:06:17 +0200 (Mon, 07 Apr 2008) | 2 lines
+commit 6820b9f7ef0d66634915b7d0538fb3f81bc86272
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Wed Apr 16 20:15:42 2008 +0000
-Fix a segfault on fullscreen file deletion reported by Fr?\195?\169d?\195?\169ric Mantegazza.
+ in debug mode print time information on selected events
-------------------------------------------------------------------------
-r357 | zas_ | 2008-04-07 20:52:54 +0200 (Mon, 07 Apr 2008) | 3 lines
+commit 5a2f5a7a783b7e8b1138d32b9c5059e32fe7c1a2
+Author: Laurent Monin <geeqie@norz.org>
+Date: Wed Apr 16 18:57:50 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.
+ Clean up and simplify.
-------------------------------------------------------------------------
-r356 | zas_ | 2008-04-07 10:09:39 +0200 (Mon, 07 Apr 2008) | 3 lines
+commit 2bf00ad0b8236c09a056412b49ae3f0fd89ce6bc
+Author: Laurent Monin <geeqie@norz.org>
+Date: Wed Apr 16 16:54:38 2008 +0000
-Display marks in overlay info only if at least one is set.
-Fix a missing g_string_free().
+ Merge parts of view_dir_list/tree constructors/destructors to
+ view_dir.
-------------------------------------------------------------------------
-r355 | zas_ | 2008-04-06 12:17:41 +0200 (Sun, 06 Apr 2008) | 3 lines
+commit 2ed8126b688006feba5fb928af379d3a1713d14d
+Author: Laurent Monin <geeqie@norz.org>
+Date: Wed Apr 16 16:05:12 2008 +0000
-Mark all exif labels as translatable.
-Before only some of them were enclosed by N_().
+ Move some dnd common code from view_dir_list.c and view_dir_tree.c
+ to view_dir.c.
-------------------------------------------------------------------------
-r354 | zas_ | 2008-04-06 12:03:54 +0200 (Sun, 06 Apr 2008) | 2 lines
+commit 49506cdbbc2eab38968eaf7a71836ec3c8261d00
+Author: Laurent Monin <geeqie@norz.org>
+Date: Wed Apr 16 14:56:31 2008 +0000
-Mark strings as translatable.
+ Rename vdt occurences to vd.
-------------------------------------------------------------------------
-r353 | zas_ | 2008-04-05 17:23:39 +0200 (Sat, 05 Apr 2008) | 4 lines
+commit 252ecb111253c410ee55fd732ac19750e0e81b2e
+Author: Laurent Monin <geeqie@norz.org>
+Date: Wed Apr 16 14:51:39 2008 +0000
-Improve remove_trailing_slash() so it allocates no more than
-needed bytes and remove all trailing slashes instead only one.
+ Rename vdl occurences to vd.
+commit b90ce4354563cb43ad69dc3fe97be4ad12f5eb89
+Author: Laurent Monin <geeqie@norz.org>
+Date: Wed Apr 16 14:45:22 2008 +0000
-------------------------------------------------------------------------
-r352 | zas_ | 2008-04-05 13:59:29 +0200 (Sat, 05 Apr 2008) | 4 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.
+commit 926c9122c33a25e49679e9689c2a22d8b032b7d8
+Author: Laurent Monin <geeqie@norz.org>
+Date: Tue Apr 15 21:49:28 2008 +0000
-Comment out unused code.
-Geeqie code now compiles cleanly with -Wall gcc option.
+ Indicate --debug[=level] in usage display.
-------------------------------------------------------------------------
-r351 | zas_ | 2008-04-05 00:34:55 +0200 (Sat, 05 Apr 2008) | 3 lines
+commit 5d5d65dbb005ee639931f424d7acdb65865eebb2
+Author: Laurent Monin <geeqie@norz.org>
+Date: Tue Apr 15 21:47:03 2008 +0000
-Change default exif order a bit to move up common and useful
-info.
+ Parse command line for --debug option as soon as possible and allow
+ --debug[=level] syntax.
+ Only display message indication debug level once.
-------------------------------------------------------------------------
-r350 | zas_ | 2008-04-05 00:23:36 +0200 (Sat, 05 Apr 2008) | 3 lines
+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.
-Re-add "What to show in properties dialog:" label before the table.
+commit dbdee25d4a8be12e7f334659d0041a0987aeb403
+Author: Laurent Monin <geeqie@norz.org>
+Date: Tue Apr 15 20:56:55 2008 +0000
-------------------------------------------------------------------------
-r349 | zas_ | 2008-04-05 00:12:28 +0200 (Sat, 05 Apr 2008) | 3 lines
+ Read show_icon_names only once.
-Rename exif preferences tab to "Properties", and name the
-subsection "Exif".
+commit 02d26d43e10b7dbc2a9ca41f1d87429e6ed21f0f
+Author: Laurent Monin <geeqie@norz.org>
+Date: Tue Apr 15 20:55:21 2008 +0000
-------------------------------------------------------------------------
-r348 | zas_ | 2008-04-04 20:50:52 +0200 (Fri, 04 Apr 2008) | 3 lines
+ Rename l_conf to layout_order and make it more local.
-Fix a segfault occuring when enabling debug mode.
-At this point il->fd can be null.
+commit ba6443e9b37c7c9c629809e8bd079234bf846ad8
+Author: Laurent Monin <geeqie@norz.org>
+Date: Tue Apr 15 20:46:14 2008 +0000
-------------------------------------------------------------------------
-r347 | zas_ | 2008-04-04 01:29:14 +0200 (Fri, 04 Apr 2008) | 6 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.
-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 7919d6756adc49486a6ec3c3e863fd745757820d
+Author: Laurent Monin <geeqie@norz.org>
+Date: Tue Apr 15 20:36:11 2008 +0000
-------------------------------------------------------------------------
-r346 | zas_ | 2008-04-04 00:39:50 +0200 (Fri, 04 Apr 2008) | 2 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 /.
-Initialize variables, clearing a gcc warning.
+commit 5fb1b9fa3f94b44fd4cb3571bc561df67703ad39
+Author: Laurent Monin <geeqie@norz.org>
+Date: Tue Apr 15 20:00:27 2008 +0000
-------------------------------------------------------------------------
-r345 | zas_ | 2008-04-04 00:33:28 +0200 (Fri, 04 Apr 2008) | 2 lines
+ Add and use few new macros in rc file writing code.
-Add missing prototype to header file.
+commit 0612855a4da8b544bed995add70c6bb6900b9e95
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Tue Apr 15 18:34:24 2008 +0000
-------------------------------------------------------------------------
-r344 | zas_ | 2008-04-04 00:29:20 +0200 (Fri, 04 Apr 2008) | 2 lines
+ this might fix the freezes on freebsd, solaris, etc.
-Add few missing prototypes to header file.
+commit 0e4f634e7ad58ae90048e8648355d0e9d9017869
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Tue Apr 15 16:57:30 2008 +0000
-------------------------------------------------------------------------
-r343 | zas_ | 2008-04-04 00:20:42 +0200 (Fri, 04 Apr 2008) | 2 lines
+ save file_class to config file
-Drop a bunch of unused variables.
+commit 9225b41f98bcf9d21d458973e72af78153eaacc3
+Author: Laurent Monin <geeqie@norz.org>
+Date: Tue Apr 15 07:16:51 2008 +0000
-------------------------------------------------------------------------
-r342 | zas_ | 2008-04-04 00:14:37 +0200 (Fri, 04 Apr 2008) | 2 lines
+ Exit fullscreen mode when Properties is displayed.
-Add missing #include.
+commit 4ad9ed88281b7b4000fffea1c1e68e5ad6c919a0
+Author: Laurent Monin <geeqie@norz.org>
+Date: Tue Apr 15 06:56:25 2008 +0000
-------------------------------------------------------------------------
-r341 | zas_ | 2008-04-04 00:13:12 +0200 (Fri, 04 Apr 2008) | 2 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.
-Remove unused variables.
+commit 28d489b1dc7ee32ffe576e3fc2b9b98056062e98
+Author: Laurent Monin <geeqie@norz.org>
+Date: Mon Apr 14 23:47:13 2008 +0000
-------------------------------------------------------------------------
-r340 | zas_ | 2008-04-04 00:09:36 +0200 (Fri, 04 Apr 2008) | 2 lines
+ Move layout.order default init to setup_default_options().
-Add missing prototype.
+commit ec46e7a26e75c60f577a17dbdadddf5421c17ce1
+Author: Laurent Monin <geeqie@norz.org>
+Date: Mon Apr 14 23:39:46 2008 +0000
-------------------------------------------------------------------------
-r339 | zas_ | 2008-04-04 00:06:31 +0200 (Fri, 04 Apr 2008) | 2 lines
+ collection_load(): use booleans and always count failures (for debug).
-Drop 3 unused variables and comment out 2 unused functions.
+commit 95f5f103e834a2d31c60c329a30d10116bf6b015
+Author: Laurent Monin <geeqie@norz.org>
+Date: Mon Apr 14 23:29:54 2008 +0000
-------------------------------------------------------------------------
-r338 | zas_ | 2008-04-04 00:03:14 +0200 (Fri, 04 Apr 2008) | 2 lines
+ collection_load(): improve headers parsing.
-Add parenthesis around affection to clear a gcc warning.
+commit d11ebdf00ddd802dabdab77d870cf017663573db
+Author: Laurent Monin <geeqie@norz.org>
+Date: Mon Apr 14 23:09:48 2008 +0000
-------------------------------------------------------------------------
-r337 | zas_ | 2008-04-04 00:01:08 +0200 (Fri, 04 Apr 2008) | 2 lines
+ collection_load(): fix typo (missing #) made in rev 453.
-Fix a signedness warning.
+commit 51a638cf38c21da8bbb44166a27c9441d17d6b69
+Author: Laurent Monin <geeqie@norz.org>
+Date: Mon Apr 14 23:08:27 2008 +0000
-------------------------------------------------------------------------
-r336 | zas_ | 2008-04-03 23:54:23 +0200 (Thu, 03 Apr 2008) | 3 lines
+ collection_load(): accept whitespaces at start of lines.
-Main configuration file was renamed from gqviewrc to geeqierc.
+commit 598acd263839791e2ed5ce66c0cccd351f67e4a4
+Author: Laurent Monin <geeqie@norz.org>
+Date: Mon Apr 14 22:57:26 2008 +0000
+ collection_load(): increase verbosity in debug mode.
-------------------------------------------------------------------------
-r335 | zas_ | 2008-04-03 23:50:53 +0200 (Thu, 03 Apr 2008) | 3 lines
+commit d0738ee165622d8e1782bb9a6eb7834f7d067fb6
+Author: Laurent Monin <geeqie@norz.org>
+Date: Mon Apr 14 22:50:50 2008 +0000
-Fix a segfault occuring when using --without-exiv2 and
-concerning exif stuff.
+ collection_load(): replace official by limit_failures (and
+ invert the tests).
-------------------------------------------------------------------------
-r334 | zas_ | 2008-04-03 23:49:17 +0200 (Thu, 03 Apr 2008) | 2 lines
+commit 7b5e4b9910d9630dd8337bf7595a72adc5353fbf
+Author: Laurent Monin <geeqie@norz.org>
+Date: Mon Apr 14 22:45:53 2008 +0000
-Fix missing bit of previous patch.
+ Increase collection_load() buffer size and do not activate
+ error limiting for GQview collections.
-------------------------------------------------------------------------
-r333 | zas_ | 2008-04-03 23:04:19 +0200 (Thu, 03 Apr 2008) | 2 lines
+commit 0b84d42bbae8d46d469262d5bc53acf46d935049
+Author: Laurent Monin <geeqie@norz.org>
+Date: Mon Apr 14 22:28:29 2008 +0000
-Fix two more gcc warnings related to function declarations.
+ Merge collection_load_only_geometry() into collection_load().
-------------------------------------------------------------------------
-r332 | zas_ | 2008-04-03 22:53:13 +0200 (Thu, 03 Apr 2008) | 3 lines
+commit 3ababb59e475a61f1f0bd085d0e33e0312c0baf2
+Author: Laurent Monin <geeqie@norz.org>
+Date: Mon Apr 14 22:05:47 2008 +0000
-Remove two unused variables declarations, and add a missing #include.
+ Use flags for collection_load*().
+commit 03dfde5430fc9f9529840dce357ba17703f98042
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sun Apr 13 20:33:45 2008 +0000
-------------------------------------------------------------------------
-r331 | zas_ | 2008-04-03 22:46:55 +0200 (Thu, 03 Apr 2008) | 2 lines
+ Apply exif display config (Never/If set/Always) to pan view too.
-Drop unused variable.
+commit d8dac8fc58190ffde1b6602dbccd62cd5d7b5aa4
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sun Apr 13 19:21:13 2008 +0000
-------------------------------------------------------------------------
-r330 | zas_ | 2008-04-03 22:45:55 +0200 (Thu, 03 Apr 2008) | 2 lines
+ Rename show_dot_files to show_hidden_files.
+ There is no need to expose the underlying method to hide
+ files.
-Add missing return at the end of editor_command_next_start().
+commit 38e6918e9817e663d99f827afab64e30ece28904
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sun Apr 13 18:56:24 2008 +0000
-------------------------------------------------------------------------
-r329 | zas_ | 2008-04-03 22:40:15 +0200 (Thu, 03 Apr 2008) | 2 lines
+ Let toggle the visibility of hidden files from directories list
+ or tree contextual menu.
-Drop unused variable.
+commit c1b559c372212ba25d25c3033900465580a95aae
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sun Apr 13 12:24:42 2008 +0000
-------------------------------------------------------------------------
-r328 | zas_ | 2008-04-03 22:38:59 +0200 (Thu, 03 Apr 2008) | 2 lines
+ Add a button to reset fullscreen info string to default value.
-Make collect_manager_process_action() static.
+commit a7f368b7d5697a10f2a07a2d7a323054593ff985
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sun Apr 13 12:12:44 2008 +0000
-------------------------------------------------------------------------
-r327 | zas_ | 2008-04-03 22:34:49 +0200 (Thu, 03 Apr 2008) | 2 lines
+ Fix a typo, READ_CHAR() must use value_all.
-Fix typos in functions names: file_list -> filelist.
+commit 8b62dc72ea0a17ea87ac9eff59eb193de82a6e7f
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sun Apr 13 09:10:38 2008 +0000
-------------------------------------------------------------------------
-r326 | zas_ | 2008-04-03 22:25:22 +0200 (Thu, 03 Apr 2008) | 2 lines
+ Use convenient macros to read options, it will ensure options
+ names are matching (in the rc file and internally).
-Remove unused variable declarations.
+commit 9ca550aba088f91cc6996f6cc087cdfd62bba93f
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sun Apr 13 08:36:17 2008 +0000
-------------------------------------------------------------------------
-r325 | zas_ | 2008-04-03 22:24:20 +0200 (Thu, 03 Apr 2008) | 2 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.
-Fix missing header include (filelist.h).
+commit 49b7c7fe48866f69d080a098f8a9d06edc818738
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sat Apr 12 23:59:31 2008 +0000
-------------------------------------------------------------------------
-r324 | zas_ | 2008-04-03 22:19:16 +0200 (Thu, 03 Apr 2008) | 2 lines
+ Partly rewrite option parser to accept whitespaces at start
+ of lines.
-Remove unused variables declarations.
+commit 3d8e37380a4959e12ccd2fba88d432bd93270827
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sat Apr 12 23:41:35 2008 +0000
-------------------------------------------------------------------------
-r323 | zas_ | 2008-04-03 22:11:09 +0200 (Thu, 03 Apr 2008) | 7 lines
+ exif_* -> exif.display.*
-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 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.
-------------------------------------------------------------------------
-r322 | zas_ | 2008-04-03 20:20:39 +0200 (Thu, 03 Apr 2008) | 2 lines
+commit e2a2cc276a702ce73821ec81d0768252f2f463dd
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sat Apr 12 23:16:41 2008 +0000
-Use more generic names for some cache manager callback functions.
+ sidecar_ext -> sidecar.ext
-------------------------------------------------------------------------
-r321 | zas_ | 2008-04-03 19:34:30 +0200 (Thu, 03 Apr 2008) | 3 lines
+commit 92b6d1c6f6d91e0732716f934aa5bb999313aab5
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sat Apr 12 23:07:04 2008 +0000
-Replace some occurences of gqview by Geeqie.
+ 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
-------------------------------------------------------------------------
-r320 | zas_ | 2008-04-03 19:15:49 +0200 (Thu, 03 Apr 2008) | 6 lines
+ Use tree_descend_subdirs everywhere.
-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 e5253f24cda55574222c41b5c84e49643ea9049b
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sat Apr 12 22:22:11 2008 +0000
+ Use startup_path_enable everywhere.
-------------------------------------------------------------------------
-r319 | zas_ | 2008-04-03 16:35:03 +0200 (Thu, 03 Apr 2008) | 7 lines
+commit 32611f3c4549e3506390d41fefc5050b80739ca0
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sat Apr 12 22:17:14 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.
+ 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
-------------------------------------------------------------------------
-r318 | zas_ | 2008-04-03 15:58:20 +0200 (Thu, 03 Apr 2008) | 4 lines
+ 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
-Make the preferences window resizeable, and try to improve
-display of editors tab.
+ Move safe_delete* and in place rename options to file_ops
+ struct.
+ Re-order rc file a bit.
-------------------------------------------------------------------------
-r317 | zas_ | 2008-04-03 15:24:13 +0200 (Thu, 03 Apr 2008) | 3 lines
+commit cae690dfacfc833d50ff8543d50dd1d6ccc5654a
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sat Apr 12 21:45:30 2008 +0000
-Tidy up. Fix indentation and missing whitespaces.
-Make editors table creation code a bit more readable.
+ Rename option thumbnails.enabled to layout.show_thumbnails as it makes
+ more sense.
-------------------------------------------------------------------------
-r316 | zas_ | 2008-04-03 10:51:32 +0200 (Thu, 03 Apr 2008) | 11 lines
+commit 99862dd609c1002a0b307e840377956a7c825fa0
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sat Apr 12 21:38:55 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
+ 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
-------------------------------------------------------------------------
-r315 | nadvornik | 2008-04-02 22:44:40 +0200 (Wed, 02 Apr 2008) | 3 lines
+ Rename window options (moved to layout) and re-order rc file.
-various exif improvements based on patch by Uwe Ohse
-try to compute 35mm focal length
+commit 3b9d8732905f125947f2b447e9cbf42505af1d2e
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sat Apr 12 17:20:34 2008 +0000
-------------------------------------------------------------------------
-r314 | zas_ | 2008-04-02 14:12:50 +0200 (Wed, 02 Apr 2008) | 6 lines
+ Fix bad image option name in the rc file.
-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 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.
-------------------------------------------------------------------------
-r313 | zas_ | 2008-04-02 12:40:54 +0200 (Wed, 02 Apr 2008) | 5 lines
+commit 41eed8061d6fcdae47cda65e816da4a8c99d7e00
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sat Apr 12 15:13:00 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.
+ Beautify rc file, adding sub-sections titles.
-------------------------------------------------------------------------
-r312 | zas_ | 2008-04-01 09:42:31 +0200 (Tue, 01 Apr 2008) | 1 line
+commit 72d1f62068bc2edf087fe11c4003bb2bdfc6f9ac
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sat Apr 12 15:04:58 2008 +0000
-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
+ Rename image-related options.
-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
+commit 0291156001ed57fd4ae86f34facde1f9dfbf408e
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sat Apr 12 09:41:44 2008 +0000
-use quoted_value everywhere
-simplify parsing of multiple quoted values on one line
+ Rename thumbnails related options.
-------------------------------------------------------------------------
-r309 | zas_ | 2008-03-31 09:29:03 +0200 (Mon, 31 Mar 2008) | 1 line
+commit b9dfc44002659a2d65061c92167c054e5c7929cb
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sat Apr 12 09:12:37 2008 +0000
-Indentation and white lines minor fixes.
-------------------------------------------------------------------------
-r308 | zas_ | 2008-03-30 21:26:35 +0200 (Sun, 30 Mar 2008) | 1 line
+ Rename file filtering options.
-Move strlen() calls outside the while loop.
-------------------------------------------------------------------------
-r307 | zas_ | 2008-03-30 16:19:34 +0200 (Sun, 30 Mar 2008) | 1 line
+commit cbe3a31e45f964d1ec1a13644dbfada38f16bd0e
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sat Apr 12 08:59:52 2008 +0000
-Comment out forgotten debugging code.
-------------------------------------------------------------------------
-r306 | zas_ | 2008-03-30 16:18:04 +0200 (Sun, 30 Mar 2008) | 1 line
+ Drop unused stuff.
-Fix two minor compilation warnings.
-------------------------------------------------------------------------
-r305 | nadvornik | 2008-03-30 13:47:14 +0200 (Sun, 30 Mar 2008) | 6 lines
+commit 2868bf63fa4ab10c32447d58cb054cc6bebe901a
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sat Apr 12 08:40:02 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
+ Rename collection options.
+commit 08116df6d62d699829022021020d180e0b2e390e
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sat Apr 12 08:35:58 2008 +0000
-------------------------------------------------------------------------
-r304 | zas_ | 2008-03-30 09:14:37 +0200 (Sun, 30 Mar 2008) | 1 line
+ Rename file sorting options.
-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
+commit 7aa112520e180d55e51b04770b8faaa3cf099491
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sat Apr 12 08:28:08 2008 +0000
-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
+ Re-order and try to group options.
-configurable frame around image - geeqie_autofit_maxsize.patch by Laurent MONIN
+commit 640bb21dc6aee7dccc6d1f76b611db31163b198b
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sat Apr 12 08:05:44 2008 +0000
-------------------------------------------------------------------------
-r301 | nadvornik | 2008-03-29 11:38:15 +0100 (Sat, 29 Mar 2008) | 2 lines
+ Rename color profile options.
-set user-defined color as image background - patch by Laurent MONIN
+commit e67112638b3f486d8aff634119904205779f9187
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sat Apr 12 07:46:01 2008 +0000
-------------------------------------------------------------------------
-r300 | nadvornik | 2008-03-29 11:11:02 +0100 (Sat, 29 Mar 2008) | 2 lines
+ Rename slideshow options.
-fixed color management initialization
+commit 4c1a8d75a041016494c6cfa286c22cbcfbc7d166
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sat Apr 12 07:09:19 2008 +0000
-------------------------------------------------------------------------
-r299 | nadvornik | 2008-03-26 13:07:00 +0100 (Wed, 26 Mar 2008) | 2 lines
+ Only display defined exif tags by default.
-README fixes
+commit 766bebce3cd6701a545a8d310f5e48561f2712d0
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sat Apr 12 07:00:14 2008 +0000
-------------------------------------------------------------------------
-r298 | nadvornik | 2008-03-26 09:02:45 +0100 (Wed, 26 Mar 2008) | 2 lines
+ Drop redundant code.
-updated README files
+commit d0cc864a8050573cbe14ad87334b01a0d21e8d11
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sat Apr 12 06:42:47 2008 +0000
-------------------------------------------------------------------------
-r297 | nadvornik | 2008-03-26 09:00:46 +0100 (Wed, 26 Mar 2008) | 2 lines
+ Add Exif.Photo.ColorSpace tag in Preferences > Properties > Exif.
+ Requested by Frédéric Mantegazza.
-improved xmp vs. legacy metadata handling
+commit 165c0da79cf3bad89da98b574c1eb6709c47dd38
+Author: Laurent Monin <geeqie@norz.org>
+Date: Fri Apr 11 23:32:22 2008 +0000
-------------------------------------------------------------------------
-r296 | nadvornik | 2008-03-25 00:15:29 +0100 (Tue, 25 Mar 2008) | 2 lines
+ Rationalize fullscreen options naming.
-fixed crashes with --debug
+commit 52e680bc814903e8132c0416e85e94774c39b4c4
+Author: Laurent Monin <geeqie@norz.org>
+Date: Fri Apr 11 23:01:00 2008 +0000
-------------------------------------------------------------------------
-r295 | nadvornik | 2008-03-24 21:42:39 +0100 (Mon, 24 Mar 2008) | 2 lines
+ options_c -> c_options
-added all possible raw extensions that I could find
+commit 90490472d271ef57cc6d8edb1bde9ed01f333bab
+Author: Laurent Monin <geeqie@norz.org>
+Date: Fri Apr 11 22:52:22 2008 +0000
-------------------------------------------------------------------------
-r294 | nadvornik | 2008-03-24 15:49:00 +0100 (Mon, 24 Mar 2008) | 2 lines
+ Move more options to ConfOptions.
-improved support for older exiv2 versions
+commit 638d6c3771f6967ac749cf4d06eb9142a83c69c6
+Author: Laurent Monin <geeqie@norz.org>
+Date: Fri Apr 11 22:27:54 2008 +0000
-------------------------------------------------------------------------
-r293 | nadvornik | 2008-03-24 15:03:46 +0100 (Mon, 24 Mar 2008) | 2 lines
+ Move file_sort_case_sensitive to ConfOptions.
-exiv2 version checks
+commit d2979ca0c264ed0421e5cc25cbe12cb1b7f88f0e
+Author: Laurent Monin <geeqie@norz.org>
+Date: Fri Apr 11 22:14:36 2008 +0000
-------------------------------------------------------------------------
-r292 | nadvornik | 2008-03-24 13:04:31 +0100 (Mon, 24 Mar 2008) | 2 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().
-more renames
+commit 115597977870a18c7ffcd527d381ba7babad049d
+Author: Laurent Monin <geeqie@norz.org>
+Date: Fri Apr 11 20:35:37 2008 +0000
-------------------------------------------------------------------------
-r291 | nadvornik | 2008-03-24 11:27:22 +0100 (Mon, 24 Mar 2008) | 2 lines
+ Make thumbnail standard fail directory after current application
+ name and version.
-changed logo
+commit f4b07b916eca315af4f7681bf01e36a69dfdf6fc
+Author: Laurent Monin <geeqie@norz.org>
+Date: Fri Apr 11 20:01:29 2008 +0000
-------------------------------------------------------------------------
-r290 | nadvornik | 2008-03-24 10:55:09 +0100 (Mon, 24 Mar 2008) | 2 lines
+ Define drag and drop target string in dnd.h.
+ Make it use the current name of the application.
-more renames
+commit bfa84d177977c2d1d5c7d2db52a5efee6009d6fb
+Author: Laurent Monin <geeqie@norz.org>
+Date: Fri Apr 11 19:43:36 2008 +0000
-------------------------------------------------------------------------
-r289 | nadvornik | 2008-03-23 21:38:54 +0100 (Sun, 23 Mar 2008) | 2 lines
+ Use secure save in history_list_save().
-rename GQview -> Geeqie over the code
+commit 22e2b40b59d5968e6eb54fdf0abc8c3e26c59a52
+Author: Laurent Monin <geeqie@norz.org>
+Date: Fri Apr 11 17:11:14 2008 +0000
-------------------------------------------------------------------------
-r288 | nadvornik | 2008-03-23 21:18:51 +0100 (Sun, 23 Mar 2008) | 2 lines
+ Use secure save in comment_file_write().
-renamed to geeqie
+commit e91c9429984b95358b9f9bd6161ab6003a47d321
+Author: Laurent Monin <geeqie@norz.org>
+Date: Fri Apr 11 16:46:21 2008 +0000
-------------------------------------------------------------------------
-r287 | nadvornik | 2008-03-22 20:28:45 +0100 (Sat, 22 Mar 2008) | 2 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).
-raw related fixes
+commit 8f7571734ad7780f9a56a63b590dc59979dceaea
+Author: Laurent Monin <geeqie@norz.org>
+Date: Fri Apr 11 16:04:37 2008 +0000
-------------------------------------------------------------------------
-r286 | nadvornik | 2008-03-22 18:32:43 +0100 (Sat, 22 Mar 2008) | 2 lines
+ Use secure save feature when saving collections.
-overview of supported raw formats
+commit 90a5034f8953a616e3e3bc8f0d2482b5542b1dd8
+Author: Laurent Monin <geeqie@norz.org>
+Date: Fri Apr 11 16:02:33 2008 +0000
-------------------------------------------------------------------------
-r285 | nadvornik | 2008-03-22 18:09:14 +0100 (Sat, 22 Mar 2008) | 2 lines
+ Preserve permissions of the destination file when using secure save.
-configure --without-exiv2
+commit 960050a743c0faf468c2be4608d90b506cd7e7ec
+Author: Laurent Monin <geeqie@norz.org>
+Date: Fri Apr 11 15:27:08 2008 +0000
-------------------------------------------------------------------------
-r284 | nadvornik | 2008-03-22 17:43:59 +0100 (Sat, 22 Mar 2008) | 2 lines
+ Revert part of the previous patch, let the caller take care
+ of calling path_from_utf8().
-crw preview support with exiv2
+commit 6b819d4c9fc7ce8932e2fb43e2fea8d1ded661bd
+Author: Laurent Monin <geeqie@norz.org>
+Date: Fri Apr 11 14:27:55 2008 +0000
-------------------------------------------------------------------------
-r283 | nadvornik | 2008-03-16 15:11:22 +0100 (Sun, 16 Mar 2008) | 3 lines
+ Use path_from_utf8() on the passed filename.
+ Add const attribute.
-whitelist of files that can have an xmp sidecar, sample external command
-for creating sidecar
+commit add11b2e5e37c14112a234a84434518a81e0d88e
+Author: Laurent Monin <geeqie@norz.org>
+Date: Fri Apr 11 13:07:48 2008 +0000
-------------------------------------------------------------------------
-r282 | nadvornik | 2008-03-16 11:52:44 +0100 (Sun, 16 Mar 2008) | 2 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.
-fixed reading sidecar extensions from config file
+commit b27dd030781ba757068cc7c2722830eafc33bd8c
+Author: Laurent Monin <geeqie@norz.org>
+Date: Fri Apr 11 12:31:32 2008 +0000
-------------------------------------------------------------------------
-r281 | nadvornik | 2008-03-16 11:32:52 +0100 (Sun, 16 Mar 2008) | 2 lines
+ Move secure save code to its own files: secure_save.{c,h}.
-write comment and keywords to xmp, sidecars are used if exist
+commit cb6d88cccee47caad26ff3f1cd09cb3e4abf3f66
+Author: Laurent Monin <geeqie@norz.org>
+Date: Fri Apr 11 12:25:36 2008 +0000
-------------------------------------------------------------------------
-r280 | nadvornik | 2008-03-15 20:53:33 +0100 (Sat, 15 Mar 2008) | 2 lines
+ Add missing #ifdef/#endif.
-write support in Exiv2 wrapper; for now only string values
+commit 9bdd3084d7fad2323f4706eb6d069012637568a8
+Author: Laurent Monin <geeqie@norz.org>
+Date: Fri Apr 11 10:46:52 2008 +0000
-------------------------------------------------------------------------
-r279 | nadvornik | 2008-02-24 19:55:19 +0100 (Sun, 24 Feb 2008) | 3 lines
+ Ensure that gcc flag -Wall is set.
-a hack to read raw previews with exiv2 0.16, however it should be fixed
-in the library
+commit 10a062d55d36f749cc16773cb39daadd3761d8a8
+Author: Laurent Monin <geeqie@norz.org>
+Date: Fri Apr 11 10:45:37 2008 +0000
-------------------------------------------------------------------------
-r278 | nadvornik | 2008-02-15 11:48:09 +0100 (Fri, 15 Feb 2008) | 2 lines
+ Silent some gcc warnings.
-read also iptc and xmp
+commit ee484a48eecb7bf11090a2cffe64957dfacc7c70
+Author: Laurent Monin <geeqie@norz.org>
+Date: Fri Apr 11 09:02:20 2008 +0000
-------------------------------------------------------------------------
-r277 | nadvornik | 2008-02-14 15:04:43 +0100 (Thu, 14 Feb 2008) | 2 lines
+ Prevent multiple insertion of the same file in a collection.
+ Use a hash table to speed up existence tests.
-more exiv2 fixes
+commit 9c0b2f023a5c9e0da316e4a2bc5cf01117c56f3f
+Author: Laurent Monin <geeqie@norz.org>
+Date: Fri Apr 11 08:10:40 2008 +0000
-------------------------------------------------------------------------
-r276 | nadvornik | 2008-02-14 12:03:20 +0100 (Thu, 14 Feb 2008) | 2 lines
+ Only display these messages if debug mode is enabled.
-more exiv2 fixes
+commit d934f5a735c2816ff6fca653672b65536c79eb2f
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Thu Apr 10 19:27:42 2008 +0000
-------------------------------------------------------------------------
-r275 | nadvornik | 2008-02-14 00:02:48 +0100 (Thu, 14 Feb 2008) | 2 lines
+ fixed dates in pan-calendar
-more exiv2 fixes
+commit 6b5b5bbdb0126cb96fe38d5f9d2e15859e9dd8f3
+Author: Laurent Monin <geeqie@norz.org>
+Date: Thu Apr 10 12:07:34 2008 +0000
-------------------------------------------------------------------------
-r274 | nadvornik | 2008-02-13 20:31:50 +0100 (Wed, 13 Feb 2008) | 2 lines
+ Fix fCamera even more.
-unified tag names between exiv2 and internal rxif parser
+commit 3655d6512451651b6daa4659732765e41a42805e
+Author: Laurent Monin <geeqie@norz.org>
+Date: Thu Apr 10 11:31:20 2008 +0000
-------------------------------------------------------------------------
-r273 | nadvornik | 2008-02-13 18:47:55 +0100 (Wed, 13 Feb 2008) | 2 lines
+ Do not display ... if not truncated.
-more exiv2 fixes
+commit 4f1fc98c467e8ee49a5110caeac20f19d6a40547
+Author: Laurent Monin <geeqie@norz.org>
+Date: Thu Apr 10 10:43:15 2008 +0000
-------------------------------------------------------------------------
-r272 | nadvornik | 2008-02-13 18:08:04 +0100 (Wed, 13 Feb 2008) | 2 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...
-and first version that actually shows some exif data (see advanced view)
+commit c3a31cca879b0496a7cff3c7443a705a8183854d
+Author: Laurent Monin <geeqie@norz.org>
+Date: Thu Apr 10 00:09:43 2008 +0000
-------------------------------------------------------------------------
-r271 | nadvornik | 2008-02-13 17:52:41 +0100 (Wed, 13 Feb 2008) | 2 lines
+ Fix broken remove_common_prefix(), fCamera didn't display model as it should.
-first exiv2 support that does not crash immediately
+commit c265a3b27d21585787453f51c6c88f9919731700
+Author: Laurent Monin <geeqie@norz.org>
+Date: Wed Apr 9 22:47:43 2008 +0000
-------------------------------------------------------------------------
-r270 | nadvornik | 2008-02-13 15:46:23 +0100 (Wed, 13 Feb 2008) | 2 lines
+ Resync .po files. French translation was updated (100% made).
-started exiv2 integration
+commit cbf85334fc7aeaa7cb4c0f824285fb505712d03a
+Author: Laurent Monin <geeqie@norz.org>
+Date: Wed Apr 9 22:36:43 2008 +0000
-------------------------------------------------------------------------
-r269 | nadvornik | 2008-02-13 14:57:31 +0100 (Wed, 13 Feb 2008) | 2 lines
+ Add 3 missing files to POTFILES.in.
-simplified exif.h, moved implementation-specific stuff to exif-int.h
+commit 9e55d96d9e8dbd550e574d0c95e97052db85ff4d
+Author: Laurent Monin <geeqie@norz.org>
+Date: Wed Apr 9 22:33:06 2008 +0000
-------------------------------------------------------------------------
-r268 | nadvornik | 2008-02-11 16:23:43 +0100 (Mon, 11 Feb 2008) | 2 lines
+ Simple helper script to display translation statistics.
-do not show frame for full-window images
+commit 472a9ba634085ee3442f8e2af802cc1392c1a403
+Author: Laurent Monin <geeqie@norz.org>
+Date: Wed Apr 9 22:13:11 2008 +0000
-------------------------------------------------------------------------
-r267 | nadvornik | 2008-02-11 13:51:28 +0100 (Mon, 11 Feb 2008) | 2 lines
+ Fix a typo: "while fluorescent" -> "white fluorescent"
-improved drawing of image frames
+commit 2e2e9de4bbd7c8bb7f7f352fa7954df9395c56a3
+Author: Laurent Monin <geeqie@norz.org>
+Date: Wed Apr 9 22:01:52 2008 +0000
-------------------------------------------------------------------------
-r266 | nadvornik | 2008-01-26 22:18:23 +0100 (Sat, 26 Jan 2008) | 2 lines
+ Resync .po files. Update french translation.
-updated TODO list
+commit dcd6cfb9d8e4635614f83aead3e35f83cf0cd097
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Wed Apr 9 21:14:50 2008 +0000
-------------------------------------------------------------------------
-r265 | nadvornik | 2008-01-20 20:04:18 +0100 (Sun, 20 Jan 2008) | 2 lines
+ fixed crash in pan_calendar
-debug messages cleanup
+commit 64e92b479d212e4fbe94c6ad4148bb29766d6191
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Wed Apr 9 20:49:32 2008 +0000
-------------------------------------------------------------------------
-r264 | nadvornik | 2008-01-16 20:37:54 +0100 (Wed, 16 Jan 2008) | 2 lines
+ improved histogram drawing
-added file with release notes and TODO
+commit 5bf349caeeb48de48e69613e10f1202c51f6a6a2
+Author: Laurent Monin <geeqie@norz.org>
+Date: Wed Apr 9 16:37:54 2008 +0000
-------------------------------------------------------------------------
-r263 | nadvornik | 2007-12-23 22:24:48 +0100 (Sun, 23 Dec 2007) | 2 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.
-basic sidecar files configuration via preferences dialog
+commit c6bd6b0ee75d77f6f4d6d3987a185639a008c02c
+Author: Laurent Monin <geeqie@norz.org>
+Date: Wed Apr 9 13:53:01 2008 +0000
-------------------------------------------------------------------------
-r262 | nadvornik | 2007-12-23 21:28:50 +0100 (Sun, 23 Dec 2007) | 2 lines
+ Replace occurences of Geeqie / geeqie by constants defined in main.h.
-fixed loading thumbnails for sidecar files
+commit ce0e2d8485b356cce35869d956b863fe7c0884f7
+Author: Laurent Monin <geeqie@norz.org>
+Date: Tue Apr 8 23:41:01 2008 +0000
-------------------------------------------------------------------------
-r261 | nadvornik | 2007-12-23 16:49:23 +0100 (Sun, 23 Dec 2007) | 3 lines
+ int -> gint
-fixed vflist_find_row and vflist_sort_set to work correctly with sidecar
-files
+commit ea52620169109844ba024c26d1b1c4a6dc29c885
+Author: Laurent Monin <geeqie@norz.org>
+Date: Tue Apr 8 23:39:27 2008 +0000
-------------------------------------------------------------------------
-r260 | nadvornik | 2007-12-22 21:33:09 +0100 (Sat, 22 Dec 2007) | 2 lines
+ Make xmp debug info only appears when debug >= 2.
-fixed filelist refresh
+commit 1e8eddcf3c0bf7b23f77e70c50a20dcfbbebfed1
+Author: Laurent Monin <geeqie@norz.org>
+Date: Tue Apr 8 23:33:49 2008 +0000
-------------------------------------------------------------------------
-r259 | nadvornik | 2007-12-22 11:10:40 +0100 (Sat, 22 Dec 2007) | 3 lines
+ Enable image rotation depending on EXIF by default.
+ New users shouldn't have to search for it.
-preserve marks setting on layout change
+commit f798c6956fcd2665e56d184bc45887d0f4d4edee
+Author: Laurent Monin <geeqie@norz.org>
+Date: Tue Apr 8 23:25:46 2008 +0000
+ Fix missing header files inclusions.
-------------------------------------------------------------------------
-r258 | nadvornik | 2007-12-22 10:51:12 +0100 (Sat, 22 Dec 2007) | 2 lines
+commit 0d0b4d754bd31988e8eed4f3eef0f519b1abf21c
+Author: Laurent Monin <geeqie@norz.org>
+Date: Tue Apr 8 23:16:12 2008 +0000
-basic support for marks in view_file_icon.c
+ GQVIEW_* -> GQ_*
-------------------------------------------------------------------------
-r257 | nadvornik | 2007-12-20 23:43:52 +0100 (Thu, 20 Dec 2007) | 2 lines
+commit dd06ccc36568ace67c9d8982c8021ffd33ba6968
+Author: Laurent Monin <geeqie@norz.org>
+Date: Tue Apr 8 23:07:09 2008 +0000
-update FileData on file change
+ GQVIEW_H -> MAIN_H
-------------------------------------------------------------------------
-r256 | nadvornik | 2007-12-20 17:18:28 +0100 (Thu, 20 Dec 2007) | 3 lines
+commit f4398500f5a7fbe6236d5573170f8e359823d87e
+Author: Laurent Monin <geeqie@norz.org>
+Date: Tue Apr 8 23:02:33 2008 +0000
-<num> toggles mark num
-<control><num> selects mark num
+ gqview.h -> main.h
-------------------------------------------------------------------------
-r255 | nadvornik | 2007-12-20 17:06:20 +0100 (Thu, 20 Dec 2007) | 2 lines
+commit 4ccdd1c26c852dedbe58543d845e5fc9a55ba53e
+Author: Laurent Monin <geeqie@norz.org>
+Date: Tue Apr 8 22:31:42 2008 +0000
-created menu "Select" with selection and marks operations
+ Remove obsolete prototype.
-------------------------------------------------------------------------
-r254 | nadvornik | 2007-12-19 23:01:46 +0100 (Wed, 19 Dec 2007) | 3 lines
+commit 656ba051f062a61bbb21e5add2eda10b9ff18c77
+Author: Laurent Monin <geeqie@norz.org>
+Date: Tue Apr 8 22:28:55 2008 +0000
-complete set of boolean operation with marks -
-union, intersection, complement
+ 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()
-------------------------------------------------------------------------
-r253 | nadvornik | 2007-12-18 22:15:16 +0100 (Tue, 18 Dec 2007) | 2 lines
+commit ae45bad7722ac83ba3fbd91499209c5054bda199
+Author: Laurent Monin <geeqie@norz.org>
+Date: Tue Apr 8 22:16:56 2008 +0000
-use accels also in fullscreen mode
+ exit_gqview() renamed to exit_program().
+ exit_gqview_final() renamed to exit_program_final().
-------------------------------------------------------------------------
-r252 | nadvornik | 2007-12-17 22:42:24 +0100 (Mon, 17 Dec 2007) | 2 lines
+commit a7475aea1b68e02c4ec5444cad4d8fde1ed7691b
+Author: Laurent Monin <geeqie@norz.org>
+Date: Tue Apr 8 22:05:04 2008 +0000
-moved some actions to menu and accels
+ 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.
-------------------------------------------------------------------------
-r251 | nadvornik | 2007-12-17 20:34:43 +0100 (Mon, 17 Dec 2007) | 2 lines
+commit ccc538651bada138f49aec344cc69398359c1fce
+Author: Laurent Monin <geeqie@norz.org>
+Date: Tue Apr 8 21:55:58 2008 +0000
-removed unused variable
+ 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).
-------------------------------------------------------------------------
-r250 | nadvornik | 2007-12-16 23:30:19 +0100 (Sun, 16 Dec 2007) | 2 lines
+commit 0e8b4aabb88cf20b361334edbdd817303de4a768
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Tue Apr 8 21:52:04 2008 +0000
-fixed in-place rename
+ fixed histogram label
-------------------------------------------------------------------------
-r249 | nadvornik | 2007-12-15 18:58:51 +0100 (Sat, 15 Dec 2007) | 2 lines
+commit e975cd7b5e7737c6fc2c0606ea17b814c9b4c4ea
+Author: Laurent Monin <geeqie@norz.org>
+Date: Tue Apr 8 21:33:29 2008 +0000
-better integration of split image functions into menu
+ 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.
-------------------------------------------------------------------------
-r248 | nadvornik | 2007-12-14 22:51:46 +0100 (Fri, 14 Dec 2007) | 2 lines
+commit bddcf782295eb021e6b525ee5773fbea3947b83b
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Tue Apr 8 20:56:50 2008 +0000
-show active marks in image overlay
+ reworked the histogram patch by Uwe Ohse, most of the code is in
+ separate files
-------------------------------------------------------------------------
-r247 | nadvornik | 2007-12-09 22:20:27 +0100 (Sun, 09 Dec 2007) | 2 lines
+commit 149161487904c823cc003a0c45fe1e3cc82205e8
+Author: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Tue Apr 8 17:26:13 2008 +0000
-fixed image focus
+ fixed file delete notification in view_file_icon
-------------------------------------------------------------------------
-r246 | nadvornik | 2007-12-09 13:33:51 +0100 (Sun, 09 Dec 2007) | 2 lines
+commit 692e15a37d917d37f5171a64264c06b7635cb39a
+Author: Laurent Monin <geeqie@norz.org>
+Date: Tue Apr 8 16:22:21 2008 +0000
-fixed copying zoom an scroll values from the original image on splitting
+ gtk_notebook_set_tab_reorderable() is only available sinc gtk+ 2.10.
-------------------------------------------------------------------------
-r245 | nadvornik | 2007-12-09 12:58:39 +0100 (Sun, 09 Dec 2007) | 2 lines
+commit 7e989ce8338140c5c9b0de7f674e2954649e5993
+Author: Laurent Monin <geeqie@norz.org>
+Date: Tue Apr 8 15:53:03 2008 +0000
-do not hilight selected image in SPLIT_NONE
+ Move active variable affectation after the test.
-------------------------------------------------------------------------
-r244 | nadvornik | 2007-12-09 01:11:40 +0100 (Sun, 09 Dec 2007) | 2 lines
+commit 94caf46eba71f1653d014fbdfa0888b43d98f7d9
+Author: Laurent Monin <geeqie@norz.org>
+Date: Tue Apr 8 14:52:42 2008 +0000
-improved drawing of frame around selected image
+ Simplify layout_color_name_parse() using g_strdelimit().
-------------------------------------------------------------------------
-r243 | nadvornik | 2007-11-25 11:25:25 +0100 (Sun, 25 Nov 2007) | 2 lines
+commit b43697803c521709dc639805718e079b3f4edcdd
+Author: Laurent Monin <geeqie@norz.org>
+Date: Tue Apr 8 14:50:14 2008 +0000
-more operations with file marks
+ Tidy up, whitespaces and indentation fix.
-------------------------------------------------------------------------
-r242 | nadvornik | 2007-11-24 22:06:30 +0100 (Sat, 24 Nov 2007) | 2 lines
+commit 5d4ea30f551b19d199da2a16b7b252df8244ebb7
+Author: Laurent Monin <geeqie@norz.org>
+Date: Tue Apr 8 11:53:35 2008 +0000
-marks: fixes and cleanup
+ 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.
-------------------------------------------------------------------------
-r241 | nadvornik | 2007-11-22 22:15:35 +0100 (Thu, 22 Nov 2007) | 2 lines
+commit 255ee5523caae0230e4e163109b00364f3b8180f
+Author: Laurent Monin <geeqie@norz.org>
+Date: Mon Apr 7 19:47:22 2008 +0000
-improved directory scanning a bit
+ 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.
-------------------------------------------------------------------------
-r240 | nadvornik | 2007-11-21 23:46:50 +0100 (Wed, 21 Nov 2007) | 2 lines
+commit cf45b42ee7dbd8287eecd728cf225c2f45aed5db
+Author: Laurent Monin <geeqie@norz.org>
+Date: Mon Apr 7 19:06:17 2008 +0000
-added possibility to specify prefered file type for external commands
+ Fix a segfault on fullscreen file deletion reported by Frédéric Mantegazza.
-------------------------------------------------------------------------
-r239 | nadvornik | 2007-11-21 22:21:17 +0100 (Wed, 21 Nov 2007) | 2 lines
+commit da12ecf1747a682afe776cf99ea76f4342fd9876
+Author: Laurent Monin <geeqie@norz.org>
+Date: Mon Apr 7 18:52:54 2008 +0000
-prevent duplicate sidecar files; code cleanup
+ 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.
-------------------------------------------------------------------------
-r238 | nadvornik | 2007-11-20 23:28:40 +0100 (Tue, 20 Nov 2007) | 3 lines
+commit e0831fd697ffb602fc780ea49f4f09259978f867
+Author: Laurent Monin <geeqie@norz.org>
+Date: Mon Apr 7 08:09:39 2008 +0000
-fixed grouping sidecar files and made it configurable via config file
-(no gui yet)
+ Display marks in overlay info only if at least one is set.
+ Fix a missing g_string_free().
-------------------------------------------------------------------------
-r237 | nadvornik | 2007-10-22 21:58:47 +0200 (Mon, 22 Oct 2007) | 2 lines
+commit 7391c9ddeddc9372876f2759b4c8908ea2085fa1
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sun Apr 6 10:17:41 2008 +0000
-fixed preloading images in file list
+ Mark all exif labels as translatable.
+ Before only some of them were enclosed by N_().
-------------------------------------------------------------------------
-r236 | nadvornik | 2007-10-08 21:41:49 +0200 (Mon, 08 Oct 2007) | 2 lines
+commit 99f37aedb447817ff1cb9e243f768b45099d17a7
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sun Apr 6 10:03:54 2008 +0000
-improved FileDataChangeInfo structure, check for another file operation in progress
+ Mark strings as translatable.
-------------------------------------------------------------------------
-r235 | nadvornik | 2007-10-02 23:49:02 +0200 (Tue, 02 Oct 2007) | 7 lines
+commit 6033096a6d309a6ebab2d1aa1c2d2152b5e6e56a
+Author: Laurent Monin <geeqie@norz.org>
+Date: Sat Apr 5 15:23:39 2008 +0000
-display sidecar files (jpeg + raw) using gtk_tree_store
-This is just a prototype to test the functionality, it needs more work.
+ Improve remove_trailing_slash() so it allocates no more than
+ needed bytes and remove all trailing slashes instead only one.
-Please test, omments are welcome :)
+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
-------------------------------------------------------------------------
-r234 | nadvornik | 2007-10-01 21:52:10 +0200 (Mon, 01 Oct 2007) | 2 lines
+ Change default exif order a bit to move up common and useful
+ info.
-use FileData even for sidecar file list
+commit 629f646396dece8527f11d9c55cf37e96420df7a
+Author: Laurent Monin <geeqie@norz.org>
+Date: Fri Apr 4 22:23:36 2008 +0000
-------------------------------------------------------------------------
-r233 | nadvornik | 2007-09-30 23:10:54 +0200 (Sun, 30 Sep 2007) | 6 lines
+ Re-add "What to show in properties dialog:" label before the table.
-editors.c was almost completely rewritten:
-- centralized template parsing
-- better control of executed editors
-- possibility to get editor exit status via callback
+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".
-------------------------------------------------------------------------
-r232 | nadvornik | 2007-09-12 23:17:31 +0200 (Wed, 12 Sep 2007) | 4 lines
+commit b74a5e41092be8d442a5edc8927c388f8f064ab4
+Author: Laurent Monin <geeqie@norz.org>
+Date: Fri Apr 4 18:50:52 2008 +0000
-display sidecar extensions in filelist
-some cleanup of file marks
+ 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
-------------------------------------------------------------------------
-r231 | nadvornik | 2007-09-11 22:06:29 +0200 (Tue, 11 Sep 2007) | 3 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.
-replaced gchar* path with FileData *fd
+commit ba02c7206762d6851a1af2776361daaf16a3db9a
+Author: Laurent Monin <geeqie@norz.org>
+Date: Thu Apr 3 22:39:50 2008 +0000
+ Initialize variables, clearing a gcc warning.
-------------------------------------------------------------------------
-r230 | nadvornik | 2007-08-23 22:45:59 +0200 (Thu, 23 Aug 2007) | 2 lines
+commit 9c57ca463347c5dfe77e25e634135ee282a11d6a
+Author: Laurent Monin <geeqie@norz.org>
+Date: Thu Apr 3 22:33:28 2008 +0000
-started support for sidecar files like xmp, raw+jpeg etc.
+ Add missing prototype to header file.
-------------------------------------------------------------------------
-r229 | nadvornik | 2007-08-20 22:11:32 +0200 (Mon, 20 Aug 2007) | 2 lines
+commit 1d07e403b4460791de952fa6b3089e667b60264b
+Author: Laurent Monin <geeqie@norz.org>
+Date: Thu Apr 3 22:29:20 2008 +0000
-more external commands
+ Add few missing prototypes to header file.
-------------------------------------------------------------------------
-r228 | nadvornik | 2007-08-16 22:57:09 +0200 (Thu, 16 Aug 2007) | 2 lines
+commit bae17221c04c2d7ac5a473e94ac0562603d83507
+Author: Laurent Monin <geeqie@norz.org>
+Date: Thu Apr 3 22:20:42 2008 +0000
-improved external delete command
+ Drop a bunch of unused variables.
-------------------------------------------------------------------------
-r227 | nadvornik | 2007-08-15 23:37:51 +0200 (Wed, 15 Aug 2007) | 2 lines
+commit 4233904c10730a743c21449f929ff99ab6a9cb2e
+Author: Laurent Monin <geeqie@norz.org>
+Date: Thu Apr 3 22:14:37 2008 +0000
-started implementation of external commands; external Delete should work
+ Add missing #include.
-------------------------------------------------------------------------
-r226 | bruclik | 2007-07-20 09:10:48 +0200 (Fri, 20 Jul 2007) | 3 lines
+commit b5004054f8709b415a62b457fc166216014e4d6c
+Author: Laurent Monin <geeqie@norz.org>
+Date: Thu Apr 3 22:13:12 2008 +0000
-compilation fix
+ Remove unused variables.
+commit 0f370af7df0f6b59e783a3c6655d6b8db4986ce9
+Author: Laurent Monin <geeqie@norz.org>
+Date: Thu Apr 3 22:09:36 2008 +0000
-------------------------------------------------------------------------
-r225 | bruclik | 2007-07-13 16:03:08 +0200 (Fri, 13 Jul 2007) | 3 lines
+ Add missing prototype.
-First implementation of marks for all photos.
+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.
-------------------------------------------------------------------------
-r224 | nadvornik | 2007-07-12 22:46:28 +0200 (Thu, 12 Jul 2007) | 2 lines
+commit b452f41cefd0a7d578b4e5310543d397ec4ca21b
+Author: Laurent Monin <geeqie@norz.org>
+Date: Thu Apr 3 22:03:14 2008 +0000
-relative scroll is working; some cleanup
+ Add parenthesis around affection to clear a gcc warning.
-------------------------------------------------------------------------
-r223 | nadvornik | 2007-07-11 23:10:25 +0200 (Wed, 11 Jul 2007) | 2 lines
+commit fab357ea72855cdc4397ad4e4009206f47e9065e
+Author: Laurent Monin <geeqie@norz.org>
+Date: Thu Apr 3 22:01:08 2008 +0000
-connected zoom
+ Fix a signedness warning.
-------------------------------------------------------------------------
-r222 | nadvornik | 2007-07-11 22:00:07 +0200 (Wed, 11 Jul 2007) | 2 lines
+commit 91d0e07df572f7e7b2bb4564b3d96737ba432650
+Author: Laurent Monin <geeqie@norz.org>
+Date: Thu Apr 3 21:54:23 2008 +0000
-started relative scroll, keep scroll position
+ Main configuration file was renamed from gqviewrc to geeqierc.
-------------------------------------------------------------------------
-r221 | nadvornik | 2007-07-10 23:25:51 +0200 (Tue, 10 Jul 2007) | 2 lines
+commit 94fe3fcbb8e57a53b1ca2fbd2874d319988a3f05
+Author: Laurent Monin <geeqie@norz.org>
+Date: Thu Apr 3 21:50:53 2008 +0000
-improved connected scroll and active image switching
+ Fix a segfault occuring when using --without-exiv2 and
+ concerning exif stuff.
-------------------------------------------------------------------------
-r220 | nadvornik | 2007-06-29 17:16:46 +0200 (Fri, 29 Jun 2007) | 4 lines
+commit c34caea4863dc67b9420eefeab15fea347482d00
+Author: Laurent Monin <geeqie@norz.org>
+Date: Thu Apr 3 21:49:17 2008 +0000
-implemented split windows
-TODO: menus and hotkeys, connected zoom, activating on drag
+ 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>
+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
###################################################################
-## 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! ##
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:
======== 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
- 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]
"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.
"%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
-*-
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
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])
AC_PROG_CXX
AC_STDC_HEADERS
AC_ARG_PROGRAM
+AC_SYS_LARGEFILE
IT_PROG_INTLTOOL([0.35.0])
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],
[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
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])
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])
/*
* 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
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
LCMS: $HAVE_LCMS
Exiv2: $HAVE_EXIV2
Lirc: $HAVE_LIRC
+ Clutter: $HAVE_CLUTTER
Libchamplain: $HAVE_LIBCHAMPLAIN
Libchamplain-gtk: $HAVE_LIBCHAMPLAIN_GTK
Lua: $HAVE_LUA
Copyright:
- Copyright (C) 2008 - 2010 The Geeqie Team
+ Copyright (C) 2008 - 2012 The Geeqie Team
Copyright (C) 2006 John Ellis
License:
+++ /dev/null
-Makefile.in
-Makefile
helpdir = @htmldir@
-# empty help_DATA just installs the directory
-help_DATA =
-
EXTRA_DIST = docbook2html.sh docbook
html/GuideIndex.html: docbook/GuideIndex.xml
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
Displaying images side by side
</title>
<para>
- Using View > 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 > 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 > Connected zoom menu. Zoom is then applied to all displayed images.
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
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
"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.
# 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}
%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
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
[ ! -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
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
}
get_sidecars=
-if [ "x$1" == "x-g" ] ; then
+if [ "x$1" = "x-g" ] ; then
get_sidecars=yes
shift
fi
+++ /dev/null
-Makefile
-Makefile.in
-Makefile.in.in
-POTFILES
-cat-id-tbl.c
-gqview.pot
-stamp-cat-id
-*.gmo
-gqview.pot
tr
uk
vi
-zh_CN.GB2312
+zh_CN
zh_TW
# 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"
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ó"
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"
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"
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"
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"
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"
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"
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"
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"
"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?"
"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."
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"
+msgstr "Visualitza en una finestra _nova"
-#: ../src/collect-table.c:871 ../src/dupe.c:2278 ../src/dupe.c:2565
+#: ../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"
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í"
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"
"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"
"%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
+#: ../src/exif.c:179
msgid "multi-spot"
msgstr "multi-punt"
-#: ../src/exif.c:179
+#: ../src/exif.c:180
msgid "multi-segment"
msgstr "multi-segment"
-#: ../src/exif.c:180
+#: ../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
+#: ../src/exif.c:192
msgid "creative"
msgstr "creatiu"
-#: ../src/exif.c:192
+#: ../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
+#: ../src/exif.c:207
msgid "shade"
msgstr "ombra"
-#: ../src/exif.c:207
+#: ../src/exif.c:208
msgid "daylight fluorescent"
msgstr "fluorescent llum de dia"
-#: ../src/exif.c:208
+#: ../src/exif.c:209
msgid "day white fluorescent"
msgstr "fluorescent day white"
-#: ../src/exif.c:209
+#: ../src/exif.c:210
msgid "cool white fluorescent"
msgstr "fluorescent cool white"
-#: ../src/exif.c:210
+#: ../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
+#: ../src/exif.c:243
msgid "color sequential area"
msgstr "àrea de color seqüencial"
-#: ../src/exif.c:243
+#: ../src/exif.c:244
msgid "trilinear"
msgstr "trilineal"
-#: ../src/exif.c:244
+#: ../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
+#: ../src/exif.c:290
msgid "low gain down"
msgstr "guany baix disminuït"
-#: ../src/exif.c:290
+#: ../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
+#: ../src/exif.c:318
msgid "macro"
msgstr "macro"
-#: ../src/exif.c:318
+#: ../src/exif.c:319
msgid "close"
msgstr "tancat"
-#: ../src/exif.c:319
+#: ../src/exif.c:320
msgid "distant"
msgstr "distant"
-#: ../src/exif.c:329
+#: ../src/exif.c:330
msgid "Image Width"
msgstr "Amplada de la imatge"
-#: ../src/exif.c:330
+#: ../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
+#: ../src/exif.c:340
msgid "Resolution units"
msgstr "Unitats de la resolució"
-#: ../src/exif.c:340
+#: ../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
+#: ../src/exif.c:344
msgid "Primary chromaticities"
msgstr "Cromaticitats primàries"
-#: ../src/exif.c:344
+#: ../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
+#: ../src/exif.c:353
msgid "Exposure program"
msgstr "Programació del diafragma"
-#: ../src/exif.c:353
+#: ../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
+#: ../src/exif.c:360
msgid "Pixel format"
msgstr "Format del píxel"
-#: ../src/exif.c:360
+#: ../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
+#: ../src/exif.c:383
msgid "Audio data"
msgstr "Dades d'àudio"
-#: ../src/exif.c:383
+#: ../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
+#: ../src/exif.c:400
msgid "Digital zoom ratio"
msgstr "Ràtio de l'ampliació digital"
-#: ../src/exif.c:400
+#: ../src/exif.c:401
msgid "Focal length (35mm)"
msgstr "Longitud focal (35mm)"
-#: ../src/exif.c:401
+#: ../src/exif.c:402
msgid "Scene capture type"
msgstr "Tipus d'escena capturada"
-#: ../src/exif.c:402
+#: ../src/exif.c:403
msgid "Gain control"
msgstr "Control del guany"
-#: ../src/exif.c:403
+#: ../src/exif.c:404
msgid "Contrast"
msgstr "Contrast"
-#: ../src/exif.c:404
+#: ../src/exif.c:405
msgid "Saturation"
msgstr "Saturació"
-#: ../src/exif.c:405
+#: ../src/exif.c:406
msgid "Sharpness"
msgstr "Nitidesa"
-#: ../src/exif.c:406
+#: ../src/exif.c:407
msgid "Device setting"
msgstr "Preferències del dispositiu"
-#: ../src/exif.c:407
+#: ../src/exif.c:408
msgid "Subject range"
msgstr "Distància al subjecte"
-#: ../src/exif.c:408
+#: ../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"
+msgstr "Determinat pel gestor de finestres"
-#: ../src/fullscreen.c:646
+#: ../src/fullscreen.c:668
msgid "Active screen"
msgstr "Pantalla activa"
-#: ../src/fullscreen.c:648
+#: ../src/fullscreen.c:670
msgid "Active monitor"
msgstr "Monitor actiu"
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"
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"
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
+#: ../src/layout_util.c:1277
msgid "E_xternal Editors"
msgstr "Editors e_xterns"
-#: ../src/layout_util.c:1240
+#: ../src/layout_util.c:1278
msgid "P_references"
msgstr "P_referències"
-#: ../src/layout_util.c:1242
+#: ../src/layout_util.c:1280
msgid "_Files and Folders"
msgstr "_Fitxers i carpetes"
-#: ../src/layout_util.c:1243
+#: ../src/layout_util.c:1281
msgid "_Zoom"
msgstr "_Lupa"
-#: ../src/layout_util.c:1244
+#: ../src/layout_util.c:1282
msgid "_Color Management"
msgstr "Gestió del _color"
-#: ../src/layout_util.c:1245
+#: ../src/layout_util.c:1283
msgid "_Connected Zoom"
msgstr "Ampliació _connectada"
-#: ../src/layout_util.c:1246
+#: ../src/layout_util.c:1284
msgid "Spli_t"
msgstr "_Dividir"
-#: ../src/layout_util.c:1247 ../src/layout_util.c:1361
+#: ../src/layout_util.c:1285
+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:1248
+#: ../src/layout_util.c:1287
msgid "_Help"
msgstr "_Ajuda"
-#: ../src/layout_util.c:1250
+#: ../src/layout_util.c:1289
msgid "_First Image"
msgstr "_Primera imatge"
-#: ../src/layout_util.c:1250
+#: ../src/layout_util.c:1289
msgid "First Image"
msgstr "Primera imatge"
-#: ../src/layout_util.c:1251 ../src/layout_util.c:1252
-#: ../src/layout_util.c:1253
+#: ../src/layout_util.c:1290 ../src/layout_util.c:1291
+#: ../src/layout_util.c:1292
msgid "_Previous Image"
msgstr "Imatge _anterior"
-#: ../src/layout_util.c:1251 ../src/layout_util.c:1252
-#: ../src/layout_util.c:1253
+#: ../src/layout_util.c:1290 ../src/layout_util.c:1291
+#: ../src/layout_util.c:1292
msgid "Previous Image"
msgstr "Imatge anterior"
-#: ../src/layout_util.c:1254 ../src/layout_util.c:1255
-#: ../src/layout_util.c:1256
+#: ../src/layout_util.c:1293 ../src/layout_util.c:1294
+#: ../src/layout_util.c:1295
msgid "_Next Image"
msgstr "Imatge _següent"
-#: ../src/layout_util.c:1254 ../src/layout_util.c:1255
-#: ../src/layout_util.c:1256
+#: ../src/layout_util.c:1293 ../src/layout_util.c:1294
+#: ../src/layout_util.c:1295
msgid "Next Image"
msgstr "Imatge següent"
-#: ../src/layout_util.c:1257
+#: ../src/layout_util.c:1296
msgid "_Last Image"
msgstr "_Última imatge"
-#: ../src/layout_util.c:1257
+#: ../src/layout_util.c:1296
msgid "Last Image"
msgstr "Última imatge"
-#: ../src/layout_util.c:1258
+#: ../src/layout_util.c:1297
msgid "_Back"
msgstr "_Enrrere"
-#: ../src/layout_util.c:1258
+#: ../src/layout_util.c:1297
msgid "Back"
msgstr "Enrrere"
-#: ../src/layout_util.c:1259
+#: ../src/layout_util.c:1298
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
+#: ../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:1261
+#: ../src/layout_util.c:1300
msgid "New _window"
msgstr "Nova _finestra"
-#: ../src/layout_util.c:1261
+#: ../src/layout_util.c:1300
msgid "New window"
msgstr "Nova finestra"
-#: ../src/layout_util.c:1262
+#: ../src/layout_util.c:1301
msgid "_New collection"
msgstr "_Nova col·lecció"
-#: ../src/layout_util.c:1262
+#: ../src/layout_util.c:1301
msgid "New collection"
msgstr "Nova col·lecció"
-#: ../src/layout_util.c:1263
+#: ../src/layout_util.c:1302
msgid "_Open collection..."
msgstr "_Obre una col·lecció..."
-#: ../src/layout_util.c:1263
+#: ../src/layout_util.c:1302
msgid "Open collection..."
msgstr "Obre una col·lecció..."
-#: ../src/layout_util.c:1264
+#: ../src/layout_util.c:1303
msgid "Open recen_t"
msgstr "Obre recen_ts"
-#: ../src/layout_util.c:1264
+#: ../src/layout_util.c:1303
msgid "Open recent"
msgstr "Obre recents"
-#: ../src/layout_util.c:1265
+#: ../src/layout_util.c:1304
msgid "_Search..."
msgstr "_Cerca..."
-#: ../src/layout_util.c:1265
+#: ../src/layout_util.c:1304
msgid "Search..."
msgstr "Cerca..."
-#: ../src/layout_util.c:1266
+#: ../src/layout_util.c:1305
msgid "Find duplicates..."
msgstr "Cerca imatges duplicades"
-#: ../src/layout_util.c:1267
+#: ../src/layout_util.c:1306
msgid "Pa_n view"
msgstr "Vista pa_noràmica"
-#: ../src/layout_util.c:1267
+#: ../src/layout_util.c:1306
msgid "Pan view"
msgstr "Vista panoràmica"
-#: ../src/layout_util.c:1268
+#: ../src/layout_util.c:1307
msgid "_Print..."
msgstr "_Imprimeix..."
-#: ../src/layout_util.c:1269
+#: ../src/layout_util.c:1308
msgid "N_ew folder..."
msgstr "_Nova carpeta..."
-#: ../src/layout_util.c:1269
+#: ../src/layout_util.c:1308
msgid "New folder..."
msgstr "Nova carpeta..."
-#: ../src/layout_util.c:1270
+#: ../src/layout_util.c:1309
msgid "Copy..."
msgstr "Copia..."
-#: ../src/layout_util.c:1271
+#: ../src/layout_util.c:1310
msgid "Move..."
msgstr "Mou..."
-#: ../src/layout_util.c:1272
+#: ../src/layout_util.c:1311
msgid "Rename..."
msgstr "Canvia el nom..."
-#: ../src/layout_util.c:1273 ../src/layout_util.c:1274
-#: ../src/layout_util.c:1275
+#: ../src/layout_util.c:1312 ../src/layout_util.c:1313
+#: ../src/layout_util.c:1314
msgid "Delete..."
msgstr "Suprimeix..."
-#: ../src/layout_util.c:1276 ../src/view_file.c:603
+#: ../src/layout_util.c:1315 ../src/view_file.c:603
msgid "Enable file _grouping"
msgstr "Habilita els _grups de fitxers"
-#: ../src/layout_util.c:1276
+#: ../src/layout_util.c:1315
msgid "Enable file grouping"
msgstr "Habilita els grups de fitxers"
-#: ../src/layout_util.c:1277 ../src/view_file.c:605
+#: ../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:1277
+#: ../src/layout_util.c:1316
msgid "Disable file grouping"
msgstr "Inhabilita els grups de fitxers"
-#: ../src/layout_util.c:1278
+#: ../src/layout_util.c:1317
msgid "_Copy path to clipboard"
msgstr "_Copia el camí al portapapers"
-#: ../src/layout_util.c:1278
+#: ../src/layout_util.c:1317
msgid "Copy path to clipboard"
msgstr "Copia el camí al portapapers"
-#: ../src/layout_util.c:1279
+#: ../src/layout_util.c:1318
msgid "Close window"
msgstr "Tanca la finestra"
-#: ../src/layout_util.c:1280
+#: ../src/layout_util.c:1319
msgid "_Quit"
msgstr "_Surt"
-#: ../src/layout_util.c:1280
+#: ../src/layout_util.c:1319
msgid "Quit"
msgstr "Surt"
-#: ../src/layout_util.c:1281 ../src/menu.c:218
+#: ../src/layout_util.c:1320 ../src/menu.c:222
msgid "_Rotate clockwise"
msgstr "_Gira en sentit horari"
-#: ../src/layout_util.c:1281
+#: ../src/layout_util.c:1320
msgid "Rotate clockwise"
msgstr "Gira en sentit horari"
-#: ../src/layout_util.c:1282 ../src/menu.c:221
+#: ../src/layout_util.c:1321 ../src/menu.c:225
msgid "Rotate _counterclockwise"
msgstr "Gira en sentit _antihorari"
-#: ../src/layout_util.c:1282
+#: ../src/layout_util.c:1321
msgid "Rotate counterclockwise"
msgstr "Gira en sentit antihorari"
-#: ../src/layout_util.c:1283
+#: ../src/layout_util.c:1322
msgid "Rotate 1_80"
msgstr "Gira 1_80"
-#: ../src/layout_util.c:1283
+#: ../src/layout_util.c:1322
msgid "Rotate 180"
msgstr "Gira 180"
-#: ../src/layout_util.c:1284 ../src/menu.c:227
+#: ../src/layout_util.c:1323 ../src/menu.c:231
msgid "_Mirror"
msgstr "_Reflexa"
-#: ../src/layout_util.c:1284
+#: ../src/layout_util.c:1323
msgid "Mirror"
msgstr "Reflexa"
-#: ../src/layout_util.c:1285 ../src/menu.c:230
+#: ../src/layout_util.c:1324 ../src/menu.c:234
msgid "_Flip"
msgstr "_Inverteix"
-#: ../src/layout_util.c:1285
+#: ../src/layout_util.c:1324
msgid "Flip"
msgstr "Inverteix"
-#: ../src/layout_util.c:1286 ../src/menu.c:233
+#: ../src/layout_util.c:1325 ../src/menu.c:237
msgid "_Original state"
msgstr "Estat _original"
-#: ../src/layout_util.c:1286
+#: ../src/layout_util.c:1325
msgid "Original state"
msgstr "Estat original"
-#: ../src/layout_util.c:1287
+#: ../src/layout_util.c:1326
msgid "Select _all"
msgstr "Selecciona-ho _tot"
-#: ../src/layout_util.c:1288
+#: ../src/layout_util.c:1327
msgid "Select _none"
msgstr "_Desfés la selecció"
-#: ../src/layout_util.c:1289
+#: ../src/layout_util.c:1328
msgid "_Invert Selection"
msgstr "_Inverteix la Selecció"
-#: ../src/layout_util.c:1289
+#: ../src/layout_util.c:1328
msgid "Invert Selection"
msgstr "Inverteix la Selecció"
-#: ../src/layout_util.c:1290
+#: ../src/layout_util.c:1329
msgid "P_references..."
msgstr "P_referències..."
-#: ../src/layout_util.c:1290
+#: ../src/layout_util.c:1329
msgid "Preferences..."
msgstr "Preferències..."
-#: ../src/layout_util.c:1291
+#: ../src/layout_util.c:1330
msgid "Configure _Editors..."
msgstr "Configura els _editors..."
-#: ../src/layout_util.c:1291
+#: ../src/layout_util.c:1330
msgid "Configure Editors..."
msgstr "Configura els editors..."
-#: ../src/layout_util.c:1292
+#: ../src/layout_util.c:1331
msgid "_Configure this window..."
msgstr "_Configura aquesta finestra..."
-#: ../src/layout_util.c:1292
+#: ../src/layout_util.c:1331
msgid "Configure this window..."
msgstr "Configura aquesta finestra..."
-#: ../src/layout_util.c:1293
+#: ../src/layout_util.c:1332
msgid "_Thumbnail maintenance..."
msgstr "Manteniment de les _Miniatures..."
-#: ../src/layout_util.c:1293
+#: ../src/layout_util.c:1332
msgid "Thumbnail maintenance..."
msgstr "Manteniment de les Miniatures..."
-#: ../src/layout_util.c:1294
+#: ../src/layout_util.c:1333
msgid "Set as wallpaper"
msgstr "Posa com a fons d'escriptori"
-#: ../src/layout_util.c:1295
+#: ../src/layout_util.c:1334
msgid "_Save metadata"
msgstr "De_sa les metadades"
-#: ../src/layout_util.c:1295
+#: ../src/layout_util.c:1334
msgid "Save metadata"
msgstr "Desa les metadades"
-#: ../src/layout_util.c:1296 ../src/layout_util.c:1297
+#: ../src/layout_util.c:1335 ../src/layout_util.c:1336
msgid "Zoom in"
msgstr "Apropa"
-#: ../src/layout_util.c:1298 ../src/layout_util.c:1299
+#: ../src/layout_util.c:1337 ../src/layout_util.c:1338
msgid "Zoom out"
msgstr "Allunya"
-#: ../src/layout_util.c:1300 ../src/layout_util.c:1301
+#: ../src/layout_util.c:1339 ../src/layout_util.c:1340
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
+#: ../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:1302 ../src/layout_util.c:1303
+#: ../src/layout_util.c:1341 ../src/layout_util.c:1342
msgid "Zoom to fit"
msgstr "Amplia fins que encaixi"
-#: ../src/layout_util.c:1304 ../src/layout_util.c:1320
+#: ../src/layout_util.c:1343 ../src/layout_util.c:1359
msgid "Fit _Horizontally"
msgstr "Ajusta _Horitzontalment"
-#: ../src/layout_util.c:1304
+#: ../src/layout_util.c:1343
msgid "Fit Horizontally"
msgstr "Ajusta Horitzontalment"
-#: ../src/layout_util.c:1305 ../src/layout_util.c:1321
+#: ../src/layout_util.c:1344 ../src/layout_util.c:1360
msgid "Fit _Vertically"
msgstr "Ajusta _Verticalment"
-#: ../src/layout_util.c:1305
+#: ../src/layout_util.c:1344
msgid "Fit Vertically"
msgstr "Ajusta Verticalment"
-#: ../src/layout_util.c:1306 ../src/layout_util.c:1322
+#: ../src/layout_util.c:1345 ../src/layout_util.c:1361
msgid "Zoom _2:1"
msgstr "Escala _2:1"
-#: ../src/layout_util.c:1306
+#: ../src/layout_util.c:1345
msgid "Zoom 2:1"
msgstr "Escala 2:1"
-#: ../src/layout_util.c:1307 ../src/layout_util.c:1323
+#: ../src/layout_util.c:1346 ../src/layout_util.c:1362
msgid "Zoom _3:1"
msgstr "Escala _3:1"
-#: ../src/layout_util.c:1307
+#: ../src/layout_util.c:1346
msgid "Zoom 3:1"
msgstr "Escala 3:1"
-#: ../src/layout_util.c:1308 ../src/layout_util.c:1324
+#: ../src/layout_util.c:1347 ../src/layout_util.c:1363
msgid "Zoom _4:1"
msgstr "Escala _4:1"
-#: ../src/layout_util.c:1308
+#: ../src/layout_util.c:1347
msgid "Zoom 4:1"
msgstr "Escala 4:1"
-#: ../src/layout_util.c:1309 ../src/layout_util.c:1325
+#: ../src/layout_util.c:1348 ../src/layout_util.c:1364
msgid "Zoom 1:2"
msgstr "Escala 1:2"
-#: ../src/layout_util.c:1310 ../src/layout_util.c:1326
+#: ../src/layout_util.c:1349 ../src/layout_util.c:1365
msgid "Zoom 1:3"
msgstr "Escala 1:3"
-#: ../src/layout_util.c:1311 ../src/layout_util.c:1327
+#: ../src/layout_util.c:1350 ../src/layout_util.c:1366
msgid "Zoom 1:4"
msgstr "Escala 1:4"
-#: ../src/layout_util.c:1312 ../src/layout_util.c:1313
+#: ../src/layout_util.c:1351 ../src/layout_util.c:1352
msgid "Connected Zoom in"
msgstr "Ampliació connectada"
-#: ../src/layout_util.c:1314 ../src/layout_util.c:1315
+#: ../src/layout_util.c:1353 ../src/layout_util.c:1354
msgid "Connected Zoom out"
msgstr "Reducció connectada"
-#: ../src/layout_util.c:1316 ../src/layout_util.c:1317
+#: ../src/layout_util.c:1355 ../src/layout_util.c:1356
msgid "Connected Zoom 1:1"
msgstr "Escala real connectada"
-#: ../src/layout_util.c:1318 ../src/layout_util.c:1319
+#: ../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:1320
+#: ../src/layout_util.c:1359
msgid "Connected Fit Horizontally"
msgstr "Ajusta Horitzontalment connectat"
-#: ../src/layout_util.c:1321
+#: ../src/layout_util.c:1360
msgid "Connected Fit Vertically"
msgstr "Ajusta Verticalment connectat"
-#: ../src/layout_util.c:1322
+#: ../src/layout_util.c:1361
msgid "Connected Zoom 2:1"
msgstr "Escala 2:1 connectada"
-#: ../src/layout_util.c:1323
+#: ../src/layout_util.c:1362
msgid "Connected Zoom 3:1"
msgstr "Escala 3:1 connectada"
-#: ../src/layout_util.c:1324
+#: ../src/layout_util.c:1363
msgid "Connected Zoom 4:1"
msgstr "Escala 4:1 connectada"
-#: ../src/layout_util.c:1325
+#: ../src/layout_util.c:1364
msgid "Connected Zoom 1:2"
msgstr "Escala 1:2 connectada"
-#: ../src/layout_util.c:1326
+#: ../src/layout_util.c:1365
msgid "Connected Zoom 1:3"
msgstr "Escala 1:3 connectada"
-#: ../src/layout_util.c:1327
+#: ../src/layout_util.c:1366
msgid "Connected Zoom 1:4"
msgstr "Escala 1:4 connectada"
-#: ../src/layout_util.c:1328
+#: ../src/layout_util.c:1367
msgid "_View in new window"
-msgstr "_Visualitzar en una finestra nova"
+msgstr "_Visualitza en una finestra nova"
-#: ../src/layout_util.c:1328
+#: ../src/layout_util.c:1367
msgid "View in new window"
-msgstr "Visualitzar en una finestra nova"
+msgstr "Visualitza en una finestra nova"
-#: ../src/layout_util.c:1329 ../src/layout_util.c:1330
-#: ../src/layout_util.c:1331
+#: ../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:1332 ../src/layout_util.c:1333
+#: ../src/layout_util.c:1371 ../src/layout_util.c:1372
msgid "_Leave full screen"
msgstr "_Surt de la pantalla completa"
-#: ../src/layout_util.c:1332 ../src/layout_util.c:1333
+#: ../src/layout_util.c:1371 ../src/layout_util.c:1372
msgid "Leave full screen"
msgstr "Surt de la pantalla completa"
-#: ../src/layout_util.c:1334
+#: ../src/layout_util.c:1373
msgid "_Cycle through overlay modes"
msgstr "_Commuta a través dels modes de capa"
-#: ../src/layout_util.c:1334
+#: ../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"
+msgstr "Mostra les _marques"
-#: ../src/layout_util.c:1351
+#: ../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"
+msgstr "Entrada _0: sRGB"
-#: ../src/layout_util.c:1383
+#: ../src/layout_util.c:1423
msgid "Input 0: sRGB"
-msgstr "Entrada 0:sRGB"
+msgstr "Entrada 0: sRGB"
-#: ../src/layout_util.c:1384
+#: ../src/layout_util.c:1424
msgid "Input _1: AdobeRGB compatible"
-msgstr "Entrada_1: Compatible amb AdobeRGB"
+msgstr "Entrada _1: Compatible amb AdobeRGB"
-#: ../src/layout_util.c:1384
+#: ../src/layout_util.c:1424
msgid "Input 1: AdobeRGB compatible"
-msgstr "Entrada_1: Compatible amb AdobeRGB"
+msgstr "Entrada _1: Compatible amb AdobeRGB"
-#: ../src/layout_util.c:1385
+#: ../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"
"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"
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"
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"
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 "
"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"
+msgstr "Desa les miniatures a la memòria cau"
-#: ../src/pan-view.c:2604
+#: ../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"
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?"
"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?"
"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"
+"Fes servir la memòria cau estàndard per a les miniatures, compartida amb "
+"altres aplicacions"
-#: ../src/preferences.c:1189
+#: ../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"
+msgstr "Actualitza quant hi hagi un canvi a l'arxiu"
-#: ../src/preferences.c:1242
+#: ../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"
+msgstr "Gira la imatge automàticament fent servir la informació Exif"
-#: ../src/preferences.c:1327
+#: ../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 "
"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 "
"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."
"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"
"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'"
+msgstr "3) Desa-les al directori de Geeqie '%s'"
-#: ../src/preferences.c:1619
+#: ../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)"
"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"
"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"
"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"
+msgstr "Desa la orientació de la imatge alterada a les metadades"
-#: ../src/preferences.c:1658
+#: ../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"
+msgstr "Escriu les metadades periòdicament"
-#: ../src/preferences.c:1666
+#: ../src/preferences.c:1861
msgid "Timeout (seconds):"
-msgstr "Temps d'espera (segons):"
+msgstr "Període (segons):"
-#: ../src/preferences.c:1669
+#: ../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"
+msgstr "DEmana confirmació de l'eliminació del fitxer"
-#: ../src/preferences.c:1772
+#: ../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"
"\n"
"Alliberat sota la Llicència Pública General GNU"
-#: ../src/preferences.c:2144
+#: ../src/preferences.c:2417
msgid "Credits..."
msgstr "Crèdits..."
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"
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
+#: ../src/print.c:3461
msgid "Top:"
msgstr "Superior:"
-#: ../src/print.c:3452
+#: ../src/print.c:3464
msgid "Bottom:"
msgstr "Inferior:"
-#: ../src/print.c:3461
+#: ../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"
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"
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"
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"
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"
"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"
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]"
#~ msgid "Always show fullscreen info"
#~ msgstr "treu la pantalla completa"
-#, fuzzy
-#~ msgid "Fullscreen info string"
-#~ msgstr "Pantalla completa"
-
#, fuzzy
#~ msgid "List"
#~ msgstr "_Llista"
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"
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"
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"
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"
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"
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"
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"
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"
"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"
"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"
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"
"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"
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"
"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?"
"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"
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?"
"La collection a été modifiée.\n"
"L'enregistrer avant ?"
-#: ../src/collect.c:1143
+#: ../src/collect.c:1146
msgid "_Discard"
msgstr "_Ignorer"
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"
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"
"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"
"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"
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
+#. 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:507
+#: ../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"
"É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"
"%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
+#: ../src/exif.c:176
msgid "average"
msgstr "moyenne"
-#: ../src/exif.c:176
+#: ../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
+#: ../src/exif.c:201
msgid "daylight"
msgstr "lumière naturelle"
-#: ../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ène (incandescent)"
-#: ../src/exif.c:203
+#: ../src/exif.c:204
msgid "flash"
msgstr "flash"
-#: ../src/exif.c:204
+#: ../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
+#: ../src/exif.c:211
msgid "white fluorescent"
msgstr "fluorescent blanc"
-#: ../src/exif.c:211
+#: ../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
+#: ../src/exif.c:242
msgid "3 chip color area"
msgstr "tri-CCD"
-#: ../src/exif.c:242
+#: ../src/exif.c:243
msgid "color sequential area"
msgstr "CCD séquentiel"
-#: ../src/exif.c:243
+#: ../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
+#: ../src/exif.c:289
msgid "high gain up"
msgstr "forte augmentation du gain"
-#: ../src/exif.c:289
+#: ../src/exif.c:290
msgid "low gain down"
msgstr "faible réduction du gain"
-#: ../src/exif.c:290
+#: ../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
+#: ../src/exif.c:333
msgid "Compression"
msgstr "Compression"
-#: ../src/exif.c:333
+#: ../src/exif.c:334
msgid "Image description"
msgstr "Description de l'image"
-#: ../src/exif.c:334
+#: ../src/exif.c:335
msgid "Camera make"
msgstr "Marque de l'appareil"
-#: ../src/exif.c:335
+#: ../src/exif.c:336
msgid "Camera model"
msgstr "Modèle de l'appareil"
-#: ../src/exif.c:336
+#: ../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
+#: ../src/exif.c:344
msgid "Primary chromaticities"
msgstr "Chromaticités Primaires"
-#: ../src/exif.c:344
+#: ../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
+#: ../src/exif.c:353
msgid "Exposure program"
msgstr "Programme d'exposition"
-#: ../src/exif.c:353
+#: ../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
+#: ../src/exif.c:360
msgid "Pixel format"
msgstr "Format des pixels"
-#: ../src/exif.c:360
+#: ../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
+#: ../src/exif.c:383
msgid "Audio data"
msgstr "Données audio"
-#: ../src/exif.c:383
+#: ../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
+#: ../src/exif.c:400
msgid "Digital zoom ratio"
msgstr "Rapport de zoom numérique"
-#: ../src/exif.c:400
+#: ../src/exif.c:401
msgid "Focal length (35mm)"
msgstr "Focale 35mm"
-#: ../src/exif.c:401
+#: ../src/exif.c:402
msgid "Scene capture type"
msgstr "Type de capture de la scène"
-#: ../src/exif.c:402
+#: ../src/exif.c:403
msgid "Gain control"
msgstr "Contrôle du gain"
-#: ../src/exif.c:403
+#: ../src/exif.c:404
msgid "Contrast"
msgstr "Contraste"
-#: ../src/exif.c:404
+#: ../src/exif.c:405
msgid "Saturation"
msgstr "Saturation"
-#: ../src/exif.c:405
+#: ../src/exif.c:406
msgid "Sharpness"
msgstr "Netteté"
-#: ../src/exif.c:406
+#: ../src/exif.c:407
msgid "Device setting"
msgstr "Description des paramètres du périphérique"
-#: ../src/exif.c:407
+#: ../src/exif.c:408
msgid "Subject range"
msgstr "Distance du sujet"
-#: ../src/exif.c:408
+#: ../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"
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"
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"
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"
"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"
msgid "Log"
msgstr "Journal"
-#: ../src/main.c:313
+#: ../src/main.c:322
#, c-format
msgid ""
"Usage: %s [options] [path]\n"
"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"
" -h, --help affiche ce message\n"
"\n"
-#: ../src/main.c:339
+#: ../src/main.c:348
#, c-format
msgid ""
"invalid or ignored: %s\n"
"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"
"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"
"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"
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"
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"
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:510 ../src/print.c:380
+msgid "Custom"
+msgstr "Spécifique"
-#: ../src/preferences.c:452
-msgid "Normal"
-msgstr "Normale"
+#: ../src/preferences.c:575
+msgid "Single image"
+msgstr "Image simple"
-#: ../src/preferences.c:453
-msgid "Best"
-msgstr "Meilleure"
+#: ../src/preferences.c:577
+msgid "Anaglyph Red-Cyan"
+msgstr "Anaglyphe Rouge-Cyan"
-#: ../src/preferences.c:515 ../src/print.c:380
-msgid "Custom"
-msgstr "Spécifique"
+#: ../src/preferences.c:579
+msgid "Anaglyph Gray Red-Cyan"
+msgstr "Anaglyphe Gris Rouge-Cyan"
-#: ../src/preferences.c:757 ../src/preferences.c:760
+#: ../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?"
"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?"
"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)"
"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 "
"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"
+"lignes qui disparaîtront totalement si aucune donnée n'est disponible.\n"
-#: ../src/preferences.c:1396 ../src/preferences.c:1569
-#: ../src/preferences.c:1941
+#: ../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."
"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"
"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)"
+"2) Sauver les méta-données dans le dossier « .metadata », local au dossier "
+"de l'image (non-standard)"
-#: ../src/preferences.c:1614
+#: ../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)"
"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"
"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"
"É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"
"\n"
"Distribué sous GNU General Public License"
-#: ../src/preferences.c:2144
+#: ../src/preferences.c:2387
msgid "Credits..."
msgstr "Crédits..."
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"
"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:3510
+#: ../src/print.c:3473
msgid "Printer"
msgstr "Imprimante"
-#: ../src/print.c:3516
+#: ../src/print.c:3479
msgid "Custom printer:"
msgstr "Imprimante spécifique :"
-#: ../src/print.c:3525
+#: ../src/print.c:3488
msgid "File:"
msgstr "Fichier :"
-#: ../src/print.c:3534
+#: ../src/print.c:3497
msgid "File format:"
msgstr "Format du fichier :"
-#: ../src/print.c:3539
+#: ../src/print.c:3502
msgid "DPI:"
msgstr "DPI :"
-#: ../src/print.c:3547
+#: ../src/print.c:3510
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"
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"
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"
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"
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"
"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"
"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?"
"\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"
"\n"
"%s"
-#: ../src/utilops.c:864
+#: ../src/utilops.c:877
#, c-format
msgid ""
"%s\n"
"%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
+#: ../src/utilops.c:1525
msgid "New name:"
msgstr "Nouveau nom :"
-#: ../src/utilops.c:1525
+#: ../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: "
"\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"
"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."
"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"
"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"
"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."
"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"
"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"
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"
+#: ../geeqie.desktop.in.h:1
+msgid "Geeqie"
+msgstr "Geeqie"
-#: 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"
+#: ../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:446
+#: ../src/advanced_exif.c:377
msgid "Value"
msgstr "Wartość"
-#: src/bar_exif.c:447
+#: ../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/bar_exif.c:448
+#: ../src/advanced_exif.c:381
msgid "Elements"
msgstr "Elementy"
-#: src/bar_exif.c:449 src/preferences.c:1131
-msgid "Description"
-msgstr "Opis"
+#. 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_exif.c:576 src/info.c:125 src/preferences.c:1274
+#: ../src/bar.c:170 ../src/search.c:2729
+msgid "Comment"
+msgstr "Komentarz"
+
+#: ../src/bar.c:171
msgid "Exif"
-msgstr ""
+msgstr "Exif"
-#: src/bar_exif.c:650
-msgid "Advanced view"
-msgstr "Widok zaawansowany"
+#. other pre-configured panes
+#: ../src/bar.c:173
+msgid "File info"
+msgstr "Informacje o pliku"
-#: src/bar_info.c:35
-msgid "Favorite"
-msgstr "Ulubione"
+#: ../src/bar.c:174
+msgid "Location and GPS"
+msgstr "Położenie i GPS"
-#: src/bar_info.c:36
-msgid "Todo"
-msgstr "Do zrobienia"
+#: ../src/bar.c:175 ../src/exif.c:348
+msgid "Copyright"
+msgstr "Prawa autorskie"
-#: src/bar_info.c:37
-msgid "People"
-msgstr "Ludzie"
+#: ../src/bar.c:178 ../src/bar_gps.c:763
+msgid "GPS Map"
+msgstr "Mapa GPS"
-#: src/bar_info.c:38
-msgid "Places"
-msgstr "Miejsca"
+#: ../src/bar.c:297
+msgid "Move to _top"
+msgstr "Przesuń w _górę"
-#: src/bar_info.c:39
-msgid "Art"
-msgstr "Sztuka"
+#: ../src/bar.c:298 ../src/ui_bookmark.c:407
+msgid "Move _up"
+msgstr "Przesuń w _górę"
-#: src/bar_info.c:40
-msgid "Nature"
-msgstr "Natura"
+#: ../src/bar.c:299 ../src/ui_bookmark.c:409
+msgid "Move _down"
+msgstr "Przesuń w _dół"
-#: src/bar_info.c:41
-msgid "Possessions"
-msgstr "Własności"
+#: ../src/bar.c:300
+msgid "Move to _bottom"
+msgstr "Przesuń w _dół"
-#: src/bar_info.c:801
-msgid "Keyword Presets"
-msgstr "Słowa kluczowe"
+#: ../src/bar.c:302
+msgid "Remove"
+msgstr "Usuń"
-#: src/bar_info.c:804
-msgid "Favorite keywords list"
-msgstr "Ulubione słowa kluczowe"
+#: ../src/bar_comment.c:195
+msgid "Add text to selected files"
+msgstr "Dodaj tekst do wybranych plików"
-#: src/bar_info.c:1301 src/info.c:189 src/search.c:2699
-msgid "Keywords"
-msgstr "Słowa kluczowe"
+#: ../src/bar_comment.c:196
+msgid "Replace existing text in selected files"
+msgstr "Zastąp istniejący tekst w zaznaczonych plikach"
-#: 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_exif.c:213
+msgid "<empty label, fixme>"
+msgstr ""
-#: src/bar_info.c:1316 src/info.c:391
-msgid "File date:"
-msgstr "Czas utworzenia pliku:"
+#: ../src/bar_exif.c:541 ../src/bar_exif.c:551
+#, fuzzy
+msgid "Configure entry"
+msgstr "Opcje konfiguracji"
-#: src/bar_info.c:1336
-msgid "Keywords:"
-msgstr "Słowa kluczowe:"
+#. 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_info.c:1404
-msgid "Comment:"
-msgstr "Komentarz:"
+#: ../src/bar_exif.c:557
+#, fuzzy
+msgid "Key:"
+msgstr "Słowa kluczowe:"
-#: src/bar_info.c:1428
-msgid "Edit favorite keywords list."
-msgstr "Zmień listę słów kluczowych."
+#: ../src/bar_exif.c:566
+msgid "Title:"
+msgstr "Tytuł:"
-#: src/bar_info.c:1432
-msgid "Add keywords to selected files"
+#: ../src/bar_exif.c:575
+msgid "Show only if set"
msgstr ""
-#: src/bar_info.c:1435
-msgid "Add keywords to selected files, replacing existing ones"
+#: ../src/bar_exif.c:576
+msgid "Editable (supported only for XMP)"
msgstr ""
-#: src/bar_info.c:1438
+#. 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"
+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 ""
-"Usunięcie pliku:\n"
-" %s"
-#: src/bar_info.c:1441
-msgid "Add comment to selected files, replacing existing one"
+#: ../src/bar_gps.c:577
+msgid "Centre map on marker"
msgstr ""
-#: src/bar_info.c:1446
-msgid "Save comment now"
-msgstr "Zapisz komentarz"
+#: ../src/bar_gps.c:600
+msgid ""
+"Move map centre to marker\n"
+" is disabled"
+msgstr ""
-#: src/bar_sort.c:218
-#, fuzzy, c-format
+#: ../src/bar_gps.c:605
msgid ""
-"Unable to remove symbolic link:\n"
-"%s"
+"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 ""
-"Nie można przenieść pliku:\n"
-"%s\n"
-"do:\n"
-"%s"
-#: src/bar_sort.c:219
-msgid "Unlink failed"
+#: ../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_sort.c:300
+#: ../src/bar_keywords.c:1172
#, fuzzy, c-format
-msgid ""
-"Unable to create symbolic link:\n"
-"%s"
+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 ""
-"Błąd tworzenia katalogu:\n"
-"%s"
-#: src/bar_sort.c:301
-msgid "Link failed"
+#: ../src/bar_keywords.c:1208 ../src/bar_keywords.c:1217
+msgid "Hide unchecked"
msgstr ""
-#: src/bar_sort.c:452
+#: ../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"
"%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"
"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?"
"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"
+msgstr "Zarządzanie buforem miniaturek"
-#: src/cache_maint.c:1184
+#: ../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:"
+msgstr "Bufor miniaturek"
-#: src/cache_maint.c:1197 src/cache_maint.c:1217 src/cache_maint.c:1245
+#: ../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"
+msgstr "%s - Kolekcja - %s"
-#: src/collect.c:1120 src/collect.c:1124
+#: ../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?"
"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"
"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"
+msgstr "Otworzenie (zapisanie) kolekcji nie powiodło się \"%s\"\n"
-#: 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 "błąd przy zapisie pliku konfiguracyjnego: %s\n"
-
-#: src/collect-table.c:167 src/layout.c:377 src/layout_util.c:965
-msgid "Empty"
-msgstr "Pusta"
+msgstr ""
+"błąd przy zapisie pliku kolekcji: %s\n"
+"błąd: %s\n"
-#: src/collect-table.c:171
+#: ../src/collect-table.c:211
#, c-format
-msgid "%d images (%d)"
-msgstr "%d obrazów (%d)"
+msgid "%s, %d images (%s, %d)"
+msgstr "%s, %d plików (%s, %d)"
-#: src/collect-table.c:175
+#: ../src/collect-table.c:218
#, c-format
-msgid "%d images"
-msgstr "%d obrazów"
+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: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:888
+msgid "Invert selection"
+msgstr "Odwróć zaznaczenie"
-#: 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: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"
+msgstr "S_kopiuj ścieżkę"
+
+#: ../src/collect-table.c:914
+msgid "Randomize"
+msgstr "Losowo"
-#: src/collect-table.c:816 src/view_file.c:601
+#: ../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
-msgid "Drop files to compare them."
-msgstr "Upuść pliki, aby je porównać."
+#: ../src/color-man.c:426 ../src/exif.c:233 ../src/exif-common.c:436
+msgid "sRGB"
+msgstr ""
-#: src/dupe.c:103
-#, c-format
-msgid "%d files"
-msgstr "%d plików"
+#: ../src/color-man.c:428
+msgid "Adobe RGB compatible"
+msgstr ""
-#: src/dupe.c:107
-#, c-format
-msgid "%d matches found in %d files"
-msgstr "%d wystąpień w %d plikach"
+#: ../src/color-man.c:443
+msgid "Custom profile"
+msgstr "Własne profile"
-#: src/dupe.c:112
-msgid "[set 1]"
-msgstr "[zbiór 1]"
+#: ../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/dupe.c:1454
-msgid "Reading checksums..."
-msgstr "Odczytywanie sum kontrolnych..."
+#: ../src/desktop_file.c:74
+msgid "Please specify file name."
+msgstr "Proszę określić nazwę pliku."
-#: src/dupe.c:1487
-msgid "Reading dimensions..."
-msgstr "Odczytywanie wymiarów"
+#: ../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/dupe.c:1521
+#: ../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:104
+#, c-format
+msgid "%d files"
+msgstr "%d plików"
+
+#: ../src/dupe.c:108
+#, c-format
+msgid "%d matches found in %d files"
+msgstr "%d wystąpień w %d plikach"
+
+#: ../src/dupe.c:113
+msgid "[set 1]"
+msgstr "[zbiór 1]"
+
+#: ../src/dupe.c:1445
+msgid "Reading checksums..."
+msgstr "Odczytywanie sum kontrolnych..."
+
+#: ../src/dupe.c:1478
+msgid "Reading dimensions..."
+msgstr "Odczytywanie wymiarów"
+
+#: ../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"
+msgstr "Nazwy z uwzględnianiem wielkości liter"
-#: 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: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"
+#: ../src/editors.c:281
+#, c-format
+msgid "Desktop file '%s' should not include extension in Icon key: '%s'\n"
msgstr ""
-#: src/editors.c:77 src/editors.c:83
-#, fuzzy
-msgid "External Delete command"
-msgstr "Aktywny klawisz Delete"
+#. flash fired (bit 0)
+#: ../src/editors.c:335 ../src/exif.c:226 ../src/exif-common.c:362
+msgid "yes"
+msgstr "tak"
-#: src/editors.c:78 src/editors.c:84
-msgid "External New Folder command"
-msgstr ""
+#: ../src/editors.c:335 ../src/exif.c:225 ../src/exif-common.c:362
+msgid "no"
+msgstr "nie"
-#: src/editors.c:140
+#: ../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"
"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 ""
+msgstr "Nie mogę znaleźć pasujących typów plików"
-#: src/editors.c:840
+#: ../src/editors.c:1359
msgid "Can't execute external editor."
-msgstr ""
+msgstr "Nie mogę uruchomić zewnętrznego edytora"
-#: src/editors.c:841
+#: ../src/editors.c:1360
msgid "External editor returned error status."
-msgstr ""
+msgstr "Zewnętrzny edytor zwrócił błąd."
-#: src/editors.c:842
+#: ../src/editors.c:1361
msgid "File was skipped."
-msgstr ""
+msgstr "Plik został pominięty."
-#: src/editors.c:843
+#: ../src/editors.c:1362
msgid "Unknown error."
-msgstr ""
+msgstr "Nieznany błąd."
-#: 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: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 ""
+msgstr "dobra pogoda"
-#: src/exif.c:203
+#: ../src/exif.c:206
msgid "cloudy weather"
-msgstr ""
+msgstr "pochmurna pogoda"
-#: src/exif.c:204
+#: ../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 ""
+msgstr "D55"
-#: src/exif.c:213
+#: ../src/exif.c:216
msgid "D65"
-msgstr ""
+msgstr "D65"
-#: src/exif.c:214
+#: ../src/exif.c:217
msgid "D75"
-msgstr ""
+msgstr "D75"
-#: src/exif.c:215
+#: ../src/exif.c:218
msgid "D50"
-msgstr ""
+msgstr "D50"
-#: src/exif.c:216
+#: ../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 ""
+msgstr "nieskalibrowaniy"
-#: src/exif.c:237
+#: ../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"
+msgstr "trzyliniowe"
-#: src/exif.c:242
+#: ../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"
+msgstr "własne"
-#: src/exif.c:263 src/exif.c:270 src/exif-common.c:346
+#: ../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"
+msgstr "standard"
-#: src/exif.c:279
-#, fuzzy
+#: ../src/exif.c:282
msgid "night scene"
-msgstr "Źródło światła"
+msgstr "nocna scena"
-#: src/exif.c:284
-#, fuzzy
+#: ../src/exif.c:287
msgid "none"
-msgstr "ukończono"
+msgstr "brak"
-#: src/exif.c:285
+#: ../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ść"
+msgstr "Wysokie"
-#: src/exif.c:315
+#: ../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"
+msgstr "Szerokość obrazu"
-#: src/exif.c:328
-#, fuzzy
+#: ../src/exif.c:331
msgid "Image Height"
-msgstr "Wysokość"
+msgstr "Wysokość obrazu"
-#: src/exif.c:329
+#: ../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"
+msgstr "Model aparatu fotograficznego"
-#: src/exif.c:334
+#: ../src/exif.c:337
msgid "Orientation"
-msgstr "Ułożenie"
+msgstr "Orientacja"
-#: src/exif.c:335
-#, fuzzy
+#: ../src/exif.c:338
msgid "X resolution"
-msgstr "Rozdzielczość"
+msgstr "Rozdzielczość X"
-#: src/exif.c:336
-#, fuzzy
+#: ../src/exif.c:339
msgid "Y Resolution"
-msgstr "Rozdzielczość"
+msgstr "Rozdzielczość Y"
-#: src/exif.c:337
+#: ../src/exif.c:340
#, fuzzy
msgid "Resolution units"
msgstr "Rozdzielczość"
-#: src/exif.c:338
+#: ../src/exif.c:341
msgid "Firmware"
-msgstr ""
+msgstr "Firmware"
-#: src/exif.c:340
+#: ../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 ""
+msgstr "Wersja Exif"
-#: src/exif.c:355
+#: ../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 ""
+msgstr "Jasność"
-#: src/exif.c:362 src/exif-common.c:445
+#: ../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:"
+msgstr "Komentarz użytkownika:"
-#: src/exif.c:372
+#: ../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"
+msgstr "Dane audio"
-#: src/exif.c:381
+#: ../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"
+msgstr "Typ sceny"
-#: src/exif.c:392
+#: ../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 ""
+msgstr "Balans bieli"
-#: src/exif.c:397
+#: ../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"
+msgstr "Kontrast"
-#: src/exif.c:402
-#, fuzzy
+#: ../src/exif.c:405
msgid "Saturation"
-msgstr "akcja"
+msgstr "Saturacja"
-#: src/exif.c:403
+#: ../src/exif.c:406
msgid "Sharpness"
-msgstr ""
+msgstr "Ostrość"
-#: src/exif.c:404
+#: ../src/exif.c:407
msgid "Device setting"
-msgstr ""
+msgstr "Ustawienia urządzenia"
-#: src/exif.c:405
+#: ../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"
+msgstr "Numer seryjny obrazu"
-#: src/exif-common.c:307
+#: ../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 ""
+msgstr "osadzony"
-#: src/exif-common.c:441
-#, fuzzy
+#: ../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"
+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:86
+#: ../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"
+#: ../src/histogram.c:113
+msgid "Log Histogram on Red"
msgstr ""
-#: src/histogram.c:87
-msgid "logarithmical histogram on green"
+#: ../src/histogram.c:114
+msgid "Log Histogram on Green"
msgstr ""
-#: src/histogram.c:88
-msgid "logarithmical histogram on blue"
+#: ../src/histogram.c:115
+msgid "Log Histogram on Blue"
msgstr ""
-#: src/histogram.c:89
-msgid "logarithmical histogram on value"
+#: ../src/histogram.c:116
+msgid "Log Histogram on RGB"
msgstr ""
-#: src/histogram.c:90
-msgid "logarithmical histogram on RGB"
+#: ../src/histogram.c:117
+msgid "Log Histogram on value"
msgstr ""
-#: src/histogram.c:91
-msgid "logarithmical histogram on max value"
+#: ../src/histogram.c:122
+msgid "Linear Histogram on Red"
msgstr ""
-#: src/histogram.c:96
-msgid "linear histogram on red"
+#: ../src/histogram.c:123
+msgid "Linear Histogram on Green"
msgstr ""
-#: src/histogram.c:97
-msgid "linear histogram on green"
+#: ../src/histogram.c:124
+msgid "Linear Histogram on Blue"
msgstr ""
-#: src/histogram.c:98
-msgid "linear histogram on blue"
+#: ../src/histogram.c:125
+msgid "Linear Histogram on RGB"
msgstr ""
-#: src/histogram.c:99
-msgid "linear histogram on value"
+#: ../src/histogram.c:126
+msgid "Linear Histogram on value"
msgstr ""
-#: src/histogram.c:100
-msgid "linear histogram on RGB"
-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/histogram.c:101
-msgid "linear histogram on max value"
+#: ../src/image_load_jpeg.c:177
+#, c-format
+msgid "Error interpreting JPEG image file (%s)"
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/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"
+msgstr "Nieprawidłowa geometria\n"
-#: src/layout_config.c:58 src/ui_pathsel.c:1183
+#: ../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_image.c:1616
+#, c-format
+msgid "[%*d,%*d]: RGB(%3d,%3d,%3d)"
+msgstr ""
-#: src/layout_util.c:893
-#, fuzzy, c-format
-msgid "_%d empty"
-msgstr "puste"
+#: ../src/layout_image.c:1624
+#, c-format
+msgid "[%*s,%*s]: RGB(---,---,---)"
+msgstr ""
-#: src/layout_util.c:1037
+#: ../src/layout_util.c:1251
msgid "_File"
msgstr "_Plik"
-#: src/layout_util.c:1038
+#: ../src/layout_util.c:1252
msgid "_Go"
-msgstr ""
+msgstr "Idź do"
-#: src/layout_util.c:1039 src/menu.c:93
+#: ../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:1255 ../src/menu.c:280
+msgid "_Orientation"
+msgstr "Orientacja"
-#: src/layout_util.c:1043
-msgid "_View Directory as"
-msgstr ""
+#: ../src/layout_util.c:1256
+msgid "E_xternal Editors"
+msgstr "Zewnętrzne edytory"
-#: src/layout_util.c:1044
-#, fuzzy
+#: ../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 "Skala"
+msgstr "Skalowanie"
-#: src/layout_util.c:1045
-msgid "_Split"
+#: ../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:1046
+#: ../src/layout_util.c:1265 ../src/layout_util.c:1380
+#, fuzzy
+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"
+msgstr "Pierwszy obraz"
-#: src/layout_util.c:1049 src/layout_util.c:1050 src/layout_util.c:1051
-#, fuzzy
+#: ../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"
+msgstr "_Poprzedni obraz"
-#: src/layout_util.c:1052 src/layout_util.c:1053 src/layout_util.c:1054
-#, fuzzy
+#: ../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"
+msgstr "_Następny obraz"
-#: src/layout_util.c:1055
-#, fuzzy
+#: ../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"
+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:1058
+#: ../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:1282
+msgid "Open recent"
msgstr "Otwó_rz ostatni"
-#: src/layout_util.c:1062
+#: ../src/layout_util.c:1283
msgid "_Search..."
msgstr "Szukaj..."
-#: src/layout_util.c:1064
-msgid "Pan _view"
-msgstr ""
+#: ../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:1065
+#: ../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:1303
+msgid "Flip"
+msgstr "Odbij"
-#: src/layout_util.c:1094 src/menu.c:221
-#, fuzzy
+#: ../src/layout_util.c:1304 ../src/menu.c:237
msgid "_Original state"
-msgstr "Nazwa oryginału"
+msgstr "_Oryginalny rozmiar"
+
+#: ../src/layout_util.c:1304
+msgid "Original state"
+msgstr "Oryginalny rozmiar"
-#: src/layout_util.c:1097
+#: ../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"
+msgstr "Odwróć zaznaczenie"
-#: src/layout_util.c:1101
+#: ../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 ""
+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 _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 _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:1115
-msgid "Fit _Vorizontally"
+#: ../src/layout_util.c:1330 ../src/layout_util.c:1331
+msgid "Connected Zoom in"
msgstr ""
-#: src/layout_util.c:1116
+#: ../src/layout_util.c:1332 ../src/layout_util.c:1333
#, fuzzy
-msgid "Zoom _2:1"
-msgstr "Skala _1:1"
+msgid "Connected Zoom out"
+msgstr "Pomniejsz"
-#: src/layout_util.c:1117
+#: ../src/layout_util.c:1334 ../src/layout_util.c:1335
#, fuzzy
-msgid "Zoom _3:1"
-msgstr "Skala _1:1"
+msgid "Connected Zoom 1:1"
+msgstr "Ustawia powiększenie 1:1"
-#: src/layout_util.c:1118
+#: ../src/layout_util.c:1336 ../src/layout_util.c:1337
#, fuzzy
-msgid "Zoom _4:1"
-msgstr "Skala _1:1"
+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:1119
+#: ../src/layout_util.c:1340
#, fuzzy
-msgid "Zoom 1:2"
-msgstr "Skala _1:1"
+msgid "Connected Zoom 2:1"
+msgstr "Ustawia powiększenie 1:1"
-#: src/layout_util.c:1120
+#: ../src/layout_util.c:1341
#, fuzzy
-msgid "Zoom 1:3"
-msgstr "Skala _1:1"
+msgid "Connected Zoom 3:1"
+msgstr "Ustawia powiększenie 1:1"
-#: src/layout_util.c:1121
+#: ../src/layout_util.c:1342
#, fuzzy
-msgid "Zoom 1:4"
-msgstr "Skala _1:1"
+msgid "Connected Zoom 4:1"
+msgstr "Ustawia powiększenie 1:1"
+
+#: ../src/layout_util.c:1343
+#, fuzzy
+msgid "Connected Zoom 1:2"
+msgstr "Skala _1:2"
-#: src/layout_util.c:1124
+#: ../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: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:1131
-msgid "_Image Overlay"
+#: ../src/layout_util.c:1353
+msgid "Cycle through histogram channels"
msgstr ""
-#: src/layout_util.c:1132
-msgid "Histogram _channels"
+#: ../src/layout_util.c:1354
+msgid "Cycle through histogram mo_des"
msgstr ""
-#: src/layout_util.c:1133
-msgid "Histogram _log mode"
+#: ../src/layout_util.c:1354
+msgid "Cycle through histogram modes"
msgstr ""
-#: src/layout_util.c:1134
+#: ../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: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:1146
+#: ../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:1373
+msgid "Hide toolbar"
+msgstr "Ukryj pasek narzędzi"
+
+#: ../src/layout_util.c:1374
+msgid "_Info sidebar"
+msgstr "Panel _Informacyjny"
-#: src/layout_util.c:1150
-msgid "E_xif data"
-msgstr "Dane E_xif"
+#: ../src/layout_util.c:1374
+msgid "Info sidebar"
+msgstr "Panel informacyjny"
-#: src/layout_util.c:1151
+#: ../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:1375
+msgid "Sort manager"
+msgstr "_Menedżer sortowania"
-#: src/layout_util.c:1154
+#: ../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:1376
+msgid "Toggle slideshow"
+msgstr "Przełącz pokaz _slajdów"
-#: src/layout_util.c:1159
-msgid "I_cons"
-msgstr "Ikony"
+#: ../src/layout_util.c:1377
+msgid "Use _color profiles"
+msgstr "Użyj profili kolorów"
-#: src/layout_util.c:1163
-msgid "Horizontal"
-msgstr ""
+#: ../src/layout_util.c:1377
+msgid "Use color profiles"
+msgstr "Użyj profili kolorów"
-#: src/layout_util.c:1164
-#, fuzzy
-msgid "Vertical"
-msgstr "częściowe"
+#: ../src/layout_util.c:1378
+msgid "Use profile from _image"
+msgstr "Użyj prof_ili z obrazu"
-#: src/layout_util.c:1165
-msgid "Quad"
-msgstr ""
+#: ../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:1166
+#: ../src/layout_util.c:1379
#, fuzzy
-msgid "Single"
-msgstr "Rozmiar"
+msgid "Toggle grayscale"
+msgstr "Przełącz pokaz _slajdów"
-#: src/layout_util.c:1354
-#, c-format
-msgid "Mark _%d"
-msgstr ""
+#: ../src/layout_util.c:1380
+#, fuzzy
+msgid "Image Overlay"
+msgstr "Wyszukiwanie obrazu"
-#: src/layout_util.c:1355 src/view_file.c:515
-#, c-format
-msgid "_Set mark %d"
-msgstr ""
+#: ../src/layout_util.c:1381
+msgid "_Show Histogram"
+msgstr "Pokaż _Histogram"
-#: src/layout_util.c:1356 src/view_file.c:516
-#, c-format
-msgid "_Reset mark %d"
-msgstr ""
+#: ../src/layout_util.c:1381
+msgid "Show Histogram"
+msgstr "Pokaż Histogram"
-#: 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:1385
+msgid "Image _List"
+msgstr "W postaci listy"
-#: src/layout_util.c:1359 src/layout_util.c:1360 src/view_file.c:518
-#, fuzzy, c-format
-msgid "_Select mark %d"
-msgstr "Zaznacz wszystko"
+#: ../src/layout_util.c:1385
+msgid "View Images as List"
+msgstr "Wyświetlanie jako listę"
-#: src/layout_util.c:1361 src/view_file.c:519
-#, fuzzy, c-format
-msgid "_Add mark %d"
-msgstr "Dodanie zakładki"
+#: ../src/layout_util.c:1386
+msgid "I_cons"
+msgstr "Ikony"
-#: src/layout_util.c:1362 src/view_file.c:520
-#, c-format
-msgid "_Intersection with mark %d"
-msgstr ""
+#: ../src/layout_util.c:1386
+msgid "View Images as Icons"
+msgstr "Wyświetlanie jako ikony"
-#: src/layout_util.c:1363 src/view_file.c:521
-#, c-format
-msgid "_Unselect mark %d"
-msgstr ""
+#: ../src/layout_util.c:1390
+msgid "Folder Li_st"
+msgstr "Katalogi jako lista"
-#: src/layout_util.c:1547
-msgid "Show thumbnails"
-msgstr "Pokaż miniaturki"
+#: ../src/layout_util.c:1390
+msgid "View Folders as List"
+msgstr "Pokaż katalogi jako listę"
-#: src/layout_util.c:1552
-msgid "Change to home folder"
-msgstr "Przejdź do katalogu domowego"
+#: ../src/layout_util.c:1391
+msgid "Folder T_ree"
+msgstr "Widok drzewiasty"
-#: src/layout_util.c:1554
-msgid "Refresh file list"
-msgstr "Odświeża listę plików"
+#: ../src/layout_util.c:1391
+msgid "View Folders as Tree"
+msgstr "Widok drzewiasty"
-#: src/layout_util.c:1556
-msgid "Zoom in"
-msgstr "Powiększ"
+#: ../src/layout_util.c:1395
+msgid "_Horizontal"
+msgstr "W poziomie"
-#: src/layout_util.c:1558
-msgid "Zoom out"
-msgstr "Pomniejsz"
+#: ../src/layout_util.c:1395
+msgid "Split Horizontal"
+msgstr "Podziel w poziomie"
-#: src/layout_util.c:1560 src/preferences.c:978
-msgid "Fit image to window"
-msgstr "Dopasuj do okna"
+#: ../src/layout_util.c:1396
+msgid "_Vertical"
+msgstr "W pionie"
-#: src/layout_util.c:1562
-msgid "Set zoom 1:1"
-msgstr "Ustawia powiększenie 1:1"
+#: ../src/layout_util.c:1396
+msgid "Split Vertical"
+msgstr "Podziel w pionie"
-#: src/layout_util.c:1564
-msgid "Configure options"
-msgstr "Opcje konfiguracji"
+#: ../src/layout_util.c:1397
+msgid "_Quad"
+msgstr "Na cztery"
-#: src/layout_util.c:1565
-msgid "_Float"
-msgstr "Format"
+#: ../src/layout_util.c:1397
+msgid "Split Quad"
+msgstr "Podziel na cztery"
-#: src/layout_util.c:1566
-msgid "Float Controls"
-msgstr "Odłącza panel sterujący"
+#: ../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:1702 ../src/view_file.c:540
+#, c-format
+msgid "_Set mark %d"
+msgstr ""
+
+#: ../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: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: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:1708 ../src/view_file.c:544
+#, fuzzy, c-format
+msgid "_Add mark %d"
+msgstr "Dodanie zakładki"
+
+#: ../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: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: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"
"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"
"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"
" -h, --help wypisuje ten komunikat\n"
"\n"
-#: src/main.c:417
+#: ../src/main.c:346
#, c-format
msgid ""
"invalid or ignored: %s\n"
"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"
+msgstr "Tworzenie katalogu %s:%s\n"
-#: src/main.c:543
+#: ../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:542
+#, c-format
+msgid "error saving file: %s\n"
+msgstr "błąd przy zapisie pliku: %s\n"
-#: src/main.c:564 src/ui_bookmark.c:863
-msgid "Desktop"
-msgstr "Pulpit"
+#: ../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:680
-#, fuzzy
+#: ../src/main.c:669
msgid "exit"
-msgstr "Tekst"
+msgstr "wyjście"
-#: src/main.c:685
-#, fuzzy, c-format
+#: ../src/main.c:674
+#, c-format
msgid "Quit %s"
-msgstr "Zakończ"
+msgstr "Zakończ %s"
-#: src/main.c:687
+#: ../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 ""
+msgstr "znaleziono ścieżkę"
-#: src/pan-view.c:1650
+#: ../src/pan-view.c:1473
msgid "filename found"
-msgstr ""
+msgstr "plik znaleziony"
-#: src/pan-view.c:1698
+#: ../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 ""
+msgstr "Katalog nie został znaleziony"
-#: src/pan-view.c:2269
+#: ../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 ""
+msgstr "Siatka"
-#: src/pan-view.c:2406
+#: ../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 ""
+msgstr "Bufor miniaturek"
-#: src/pan-view.c:2604 src/preferences.c:896
+#: ../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 ""
+msgstr "Pokaż informacje Exif"
-#: src/pan-view.c:2839
-#, fuzzy
+#: ../src/pan-view.c:2641
msgid "Show im_age"
-msgstr "Wyświetlanie ukrytych"
+msgstr "Pok_aż obraz"
-#: src/pan-view.c:2843
-#, fuzzy
+#: ../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:90
+msgid "Unknown"
+msgstr "Nieznany"
-#: src/preferences.c:404
-msgid "Always"
-msgstr ""
+#: ../src/preferences.c:92
+msgid "RAW Image"
+msgstr "Obraz RAW"
-#: src/preferences.c:451
+#: ../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?"
"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"
"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:1199
+msgid "General"
+msgstr "Ogólne"
-#: src/preferences.c:888 src/preferences.c:950
+#: ../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:1213
+msgid "Use standard thumbnail cache, shared with other applications"
+msgstr "Użyj standardowego bufora, dzielonego z innymi programami"
-#: src/preferences.c:906
-msgid "Use xvpics thumbnails when found (read only)"
-msgstr "Wykorzystywanie odnalezionych miniaturek xvpics (tylko odczyt)"
+#: ../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:910
-msgid "Faster jpeg thumbnailing (may reduce quality)"
+#: ../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:913
+#: ../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:1268
+msgid "Use GPU acceleration via Clutter library"
+msgstr ""
-#: src/preferences.c:952
-msgid "Two pass zooming"
-msgstr "Dwuetapowe powiększanie"
+#: ../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:955
+#: ../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:1321
+msgid "Use custom border color in window mode"
+msgstr "Użyj własnego koloru obramowania w trybie okienkowym"
-#: src/preferences.c:990
-#, fuzzy
+#: ../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"
+msgstr "Kolor obramowania"
-#: src/preferences.c:993
+#: ../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:1382
+msgid "Smooth image flip"
+msgstr "Płynne odwracanie obrazu"
+
+#: ../src/preferences.c:1384
+msgid "Disable screen saver"
+msgstr "Wyłącz wygaszacz ekranu"
-#: src/preferences.c:1066
-msgid "Filtering"
-msgstr "Filtrowanie"
+#: ../src/preferences.c:1388
+msgid "Overlay Screen Display"
+msgstr ""
-#: src/preferences.c:1071
-msgid "Show hidden files or folders"
+#: ../src/preferences.c:1390
+msgid "Image overlay template"
msgstr ""
-#: src/preferences.c:1073
-msgid "Show dot directory"
+#: ../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"
+"<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 one to add lines that totally "
+"disappear when no data is available.\n"
msgstr ""
-#: src/preferences.c:1075
+#: ../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:1078
+#: ../src/preferences.c:1478
msgid "Disable File Filtering"
msgstr "Bez filtrowania plików"
-#: src/preferences.c:1082
+#: ../src/preferences.c:1482
msgid "Grouping sidecar extensions"
msgstr ""
-#: src/preferences.c:1089
+#: ../src/preferences.c:1489
msgid "File types"
msgstr "Typy plików"
-#: src/preferences.c:1111
+#: ../src/preferences.c:1511
msgid "Filter"
msgstr "Filtr"
-#: src/preferences.c:1148 src/preferences.c:1234 src/preferences.c:1378
-msgid "Defaults"
-msgstr "Domyślne"
+#: ../src/preferences.c:1546
+msgid "Class"
+msgstr "Klasa"
-#: src/preferences.c:1177
-msgid "Editors"
-msgstr "Edytory"
+#: ../src/preferences.c:1563
+msgid "Writable"
+msgstr "Zapisywalny"
-#: src/preferences.c:1183
-msgid "#"
-msgstr "#"
+#: ../src/preferences.c:1574
+msgid "Sidecar is allowed"
+msgstr ""
-#: src/preferences.c:1186 src/preferences.c:1497
-msgid "Menu name"
-msgstr "Nazwa menu"
+#: ../src/preferences.c:1620
+msgid "Metadata writing process"
+msgstr ""
-#: src/preferences.c:1189
-#, fuzzy
-msgid "Command Line"
-msgstr "Wiersz poleceń"
+#: ../src/preferences.c:1622
+msgid "Warning: Geeqie is built without Exiv2. Some options are disabled."
+msgstr ""
-#: src/preferences.c:1261
-#, fuzzy
-msgid "Properties"
-msgstr "Wł_aściwości"
+#: ../src/preferences.c:1624
+msgid ""
+"Metadata are written in the following order. The process ends after first "
+"success."
+msgstr ""
-#: src/preferences.c:1279
-msgid "What to show in properties dialog:"
+#: ../src/preferences.c:1627
+msgid ""
+"1) Save metadata in image files, resp. sidecar files, according to the XMP "
+"standard"
msgstr ""
-#: src/preferences.c:1316
-msgid "Advanced"
-msgstr "Zaawansowane"
+#: ../src/preferences.c:1633
+msgid ""
+"2) Save metadata in '.metadata' folder, local to image folder (non-standard)"
+msgstr ""
-#: src/preferences.c:1337
-msgid "Smooth image flip"
-msgstr "Płynne odwracanie obrazu"
+#: ../src/preferences.c:1636
+#, c-format
+msgid "3) Save metadata in Geeqie private directory '%s'"
+msgstr ""
-#: src/preferences.c:1339
-msgid "Disable screen saver"
-msgstr "Wyłącz wygaszacz ekranu"
+#: ../src/preferences.c:1642
+msgid "Step 1: Write to image files"
+msgstr ""
-#: src/preferences.c:1343
-msgid "Overlay Screen Display"
+#: ../src/preferences.c:1650
+msgid ""
+"Store metadata also in legacy IPTC tags (converted according to IPTC4XMP "
+"standard)"
msgstr ""
-#: src/preferences.c:1345
-msgid "Always show image overlay at startup"
+#: ../src/preferences.c:1653
+msgid "Warn if the image files are unwritable"
msgstr ""
-#: src/preferences.c:1347
-msgid "Image overlay template"
+#: ../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:1361
+#: ../src/preferences.c:1664
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"
+"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:1393
+#: ../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 ""
+msgstr "MB"
-#: src/preferences.c:1421
+#: ../src/preferences.c:1817
msgid "Set to 0 for unlimited size"
-msgstr ""
+msgstr "Ustaw na 0 dla nieograniczonego rozmiaru"
-#: src/preferences.c:1423
+#: ../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 ""
+msgstr "Maksymalna ilość ostatnio otwartych obrazów"
-#: src/preferences.c:1451
+#: ../src/preferences.c:1843
msgid "Drag'n drop icon size"
-msgstr ""
+msgstr "Rozmiar ikon przy drag'n drop"
-#: src/preferences.c:1454
+#: ../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:1855
+msgid "Custom similarity threshold:"
+msgstr "Dowolny próg podobieństwa:"
-#: src/preferences.c:1463
-msgid "Store metadata and cache files in source image's directory"
-msgstr ""
+#: ../src/preferences.c:1860
+msgid "Debugging"
+msgstr "Debugowanie"
-#: 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:1862
+msgid "Debug level:"
+msgstr "Poziom debugowania:"
-#: src/preferences.c:1469
-msgid "Custom similarity threshold:"
-msgstr "Dowolny próg podobieństwa:"
+#: ../src/preferences.c:1880
+msgid "Keyboard"
+msgstr "Klawiatura"
-#: src/preferences.c:1472
-msgid "Image loading and caching"
-msgstr ""
+#: ../src/preferences.c:1882
+msgid "Accelerators"
+msgstr "Skróty klawiszowe"
-#: src/preferences.c:1474
-msgid "Offscreen cache size (Mb per image):"
-msgstr "Rozmiar cache w piksmapach (MB na obraz):"
+#: ../src/preferences.c:1901
+msgid "Action"
+msgstr "Akcja"
-#: src/preferences.c:1477
-msgid "Image read buffer size (bytes):"
+#: ../src/preferences.c:1923
+msgid "KEY"
msgstr ""
-#: src/preferences.c:1481
-msgid "Image idle loop read count:"
-msgstr ""
+#: ../src/preferences.c:1934
+msgid "Tooltip"
+msgstr "Podpowiedź"
-#: src/preferences.c:1486
+#: ../src/preferences.c:1965
#, fuzzy
-msgid "Color profiles"
-msgstr "Wszystkie pliki"
+msgid "Reset selected"
+msgstr "Wyzeruj filtry"
-#: src/preferences.c:1494
-msgid "Type"
+#: ../src/preferences.c:1981
+msgid "Stereo"
+msgstr ""
+
+#: ../src/preferences.c:1983 ../src/preferences.c:1986
+msgid "Windowed stereo mode"
msgstr ""
-#: src/preferences.c:1500
+#: ../src/preferences.c:1990 ../src/preferences.c:2015
#, fuzzy
-msgid "File"
-msgstr "Plik:"
+msgid "Mirror left image"
+msgstr "pierwszy obraz"
-#: src/preferences.c:1525 src/preferences.c:1536
+#: ../src/preferences.c:1993 ../src/preferences.c:2018
#, fuzzy
-msgid "Select color profile"
-msgstr "Wybierz katalog"
+msgid "Flip left image"
+msgstr "następny obraz"
-#: src/preferences.c:1533
+#: ../src/preferences.c:1996 ../src/preferences.c:2021
#, fuzzy
-msgid "Screen:"
-msgstr "Ekran"
+msgid "Mirror right image"
+msgstr "pierwszy obraz"
-#: src/preferences.c:1544
-msgid "Debugging"
+#: ../src/preferences.c:1999 ../src/preferences.c:2024
+#, fuzzy
+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:1546
-msgid "Debug level:"
+#: ../src/preferences.c:2003 ../src/preferences.c:2028
+msgid "Disable stereo mode on single image source"
msgstr ""
-#: src/preferences.c:1562
+#: ../src/preferences.c:2006 ../src/preferences.c:2012
#, fuzzy
-msgid "Preferences"
-msgstr "P_referencje..."
+msgid "Fullscreen stereo mode"
+msgstr "Pełny ekran"
+
+#: ../src/preferences.c:2007
+msgid "Use different settings for fullscreen"
+msgstr ""
-#: src/preferences.c:1685
+#: ../src/preferences.c:2037
#, fuzzy
-msgid "About"
-msgstr "O progr_amie"
+msgid "Left X"
+msgstr "Lewy:"
+
+#: ../src/preferences.c:2039
+#, fuzzy
+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:1702
+#: ../src/preferences.c:2207
#, fuzzy, c-format
msgid ""
"%s %s\n"
"\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 ""
#. 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"
+msgstr "Drukuj"
-#: src/print.c:2624
+#: ../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 ""
+msgstr "Cel:"
-#: src/print.c:3023
+#: ../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
-msgid "Paper"
-msgstr "Papier"
+#: ../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 ""
+msgstr "pokaż narzędzia"
-#: src/remote.c:587
+#: ../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 ""
+msgstr "Plik nie został znaleziony"
-#: src/search.c:2101
+#: ../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"
+msgstr "Wyszukiwanie obrazu"
-#: src/search.c:2606
+#: ../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"
+msgstr "Nie można odczytać pliku"
-#: src/secure_save.c:400
+#: ../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 ""
+msgstr "Brak dostępu do pliku"
-#: src/secure_save.c:404
-#, fuzzy
+#: ../src/secure_save.c:403
msgid "Cannot create temp file"
-msgstr "Nie można utworzyć katalogu"
+msgstr "Nie można utworzyć tymczasowego pliku"
-#: src/secure_save.c:406
-#, fuzzy
+#: ../src/secure_save.c:405
msgid "Cannot rename the file"
-msgstr "Nie można utworzyć katalogu"
+msgstr "Nie można zmienić nazwy pliku"
-#: src/secure_save.c:408
+#: ../src/secure_save.c:407
msgid "File saving disabled by option"
-msgstr ""
+msgstr "Zapisywanie pliku zostało wyłączone w opcjach"
-#: src/secure_save.c:410
+#: ../src/secure_save.c:409
msgid "Out of memory"
-msgstr ""
+msgstr "Brak pamięci"
-#: src/secure_save.c:412
+#: ../src/secure_save.c:411
msgid "Cannot write the file"
-msgstr ""
+msgstr "Nie mogę zapisać do pliku"
-#: src/secure_save.c:416
+#: ../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"
"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 ""
+msgstr "Usuwanie zewnętrznym poleceniem"
-#: src/trash.c:189
+#: ../src/trash.c:201
#, c-format
msgid " (max. %d MB)"
-msgstr ""
+msgstr " (maks. %d MB)"
-#: src/trash.c:193
-#, fuzzy, c-format
+#: ../src/trash.c:205
+#, c-format
msgid ""
"Safe delete: %s%s\n"
"Trash: %s"
-msgstr "Bezpieczne usuwanie: %s"
+msgstr ""
+"Bezpieczne usuwanie: %s%s\n"
+"Kosz: %s"
-#: src/trash.c:198
+#: ../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 ""
-"Unable to load:\n"
-"%s"
+"If your filenames are not encoded in utf-8, try setting the environment "
+"variable G_BROKEN_FILENAMES=1\n"
msgstr ""
-"Nie można wczytać:\n"
-"%s"
-#: src/ui_pathsel.c:438 src/utilops.c:2859
+#: ../src/ui_fileops.c:72
#, c-format
-msgid "Failed to rename %s to %s."
-msgstr "Zmiana nazwy %s na %s nie powiodła się."
+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_pathsel.c:494 src/utilops.c:1510 src/utilops.c:1703
+#: ../src/ui_fileops.c:76
#, c-format
msgid ""
-"Unable to delete file:\n"
-"%s"
+"The locale appears to be set to \"%s\"\n"
+"(set by the LANG environment variable)\n"
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_fileops.c:81
+msgid ""
+"\n"
+"Preferred encoding appears to be UTF-8, however the file:\n"
+msgstr ""
-#: src/ui_pathsel.c:537 src/ui_pathsel.c:545 src/utilops.c:1734
-msgid "Delete file"
-msgstr "Usuń plik"
+#: ../src/ui_fileops.c:82 ../src/ui_fileops.c:85 ../src/ui_fileops.c:87
+msgid "[name not displayable]"
+msgstr ""
-#: src/ui_pathsel.c:543
+#: ../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 ""
-"About to delete the file:\n"
-" %s"
+"Unable to load:\n"
+"%s"
msgstr ""
-"Usunięcie pliku:\n"
-" %s"
+"Nie można wczytać:\n"
+"%s"
-#: src/ui_pathsel.c:634 src/ui_pathsel.c:642 src/utilops.c:2428
-#: src/utilops.c:2690
+#: ../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: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"
"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ę"
+msgstr "Ustaw ścieżki"
-#: src/ui_tabcomp.c:874
+#: ../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
+#: ../src/utilops.c:547
msgid ""
-"%s\n"
-"Unable to copy file:\n"
-"%s\n"
-"to:\n"
-"%s"
+"\n"
+" Continue multiple file operation?"
msgstr ""
-"Nie można skopiować pliku:\n"
-"%s\n"
-"do:\n"
-"%s"
+"\n"
+"Kontynuować operację na wielu plikach?"
-#: 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:554 ../src/utilops.c:987
+msgid "Co_ntinue"
+msgstr "Ko_ntynuuj"
-#: src/utilops.c:391
-#, fuzzy, c-format
+#: ../src/utilops.c:731
+#, c-format
msgid ""
-"%s\n"
-"Unable to move file:\n"
-"%s\n"
-"to:\n"
+"Removal of folder contents failed at this file:\n"
+"\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:875
+#, c-format
msgid ""
"%s\n"
-"Unable to rename file:\n"
-"%s\n"
-"to:\n"
-"%s"
+"Unable to start external command.\n"
msgstr ""
-"Nie można zmienić nazwy pliku:\n"
"%s\n"
-"na:\n"
-"%s"
+"Nie można uruchomić zewnętrznego polecenia.\n"
-#: 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:955
+#, c-format
+msgid "%s is not a directory"
+msgstr "%s nie jest katalogiem"
-#: 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:985
+msgid "Really continue?"
+msgstr "Na pewno kontynuować?"
-#: src/utilops.c:657 src/utilops.c:987
-msgid "Replace existing file with new file."
-msgstr ""
+#: ../src/utilops.c:999
+msgid "This operation can't continue:"
+msgstr "Ta operacja nie może być kontynuowana:"
-#: src/utilops.c:661
-msgid "Overwrite _all"
-msgstr "N_adpisz wszystkie"
+#: ../src/utilops.c:1362 ../src/utilops.c:1475 ../src/utilops.c:1859
+msgid "Discard changes"
+msgstr "Cofnij zmiany"
-#: src/utilops.c:663
-msgid "S_kip all"
-msgstr "Pomiń wszyst_kie"
+#: ../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:664
-msgid "_Skip"
-msgstr "Pomiń"
+#: ../src/utilops.c:1385 ../src/utilops.c:1483
+#, fuzzy
+msgid "Sidecars"
+msgstr "pica"
-#: 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: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:665 src/utilops.c:991 src/utilops.c:1905 src/utilops.c:2625
-msgid "New file"
-msgstr "Nowy plik"
+#: ../src/utilops.c:1523
+msgid "New name:"
+msgstr "Nowa nazwa:"
-#: src/utilops.c:675 src/utilops.c:1000 src/utilops.c:2038 src/utilops.c:2094
-#: src/utilops.c:2167 src/utilops.c:2501
+#: ../src/utilops.c:1536
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:1542
+msgid "Begin text"
+msgstr "Początek tekstu"
+
+#: ../src/utilops.c:1550 ../src/utilops.c:1582
+msgid "Start #"
+msgstr "Start #"
-#: src/utilops.c:724
-msgid "Source to copy matches destination"
-msgstr "Kopiowany plik źródłowy odpowiada docelowemu"
+#: ../src/utilops.c:1556
+msgid "End text"
+msgstr "Koniec tekstu"
-#: src/utilops.c:725
-#, c-format
-msgid ""
-"Unable to copy file:\n"
-"%s\n"
-"to itself."
+#: ../src/utilops.c:1564
+msgid "Padding:"
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:1569
+msgid "Formatted rename"
+msgstr ""
-#: src/utilops.c:730
-#, c-format
-msgid ""
-"Unable to move file:\n"
-"%s\n"
-"to itself."
+#: ../src/utilops.c:1574
+msgid "Format (* = original name, ## = numbers)"
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
-msgid "Co_ntinue"
-msgstr "Ko_ntynuuj"
+#: ../src/utilops.c:1712
+msgid "Another operation in progress.\n"
+msgstr "Inna operacja jest właśnie w toku.\n"
-#: src/utilops.c:812
+#: ../src/utilops.c:1768
#, c-format
-msgid ""
-"Unable to copy file:\n"
-"%s\n"
-"to:\n"
-"%s\n"
-"during multiple file copy."
+msgid "File: '%s'\n"
+msgstr "Plik: '%s'\n"
+
+#: ../src/utilops.c:1773
+msgid "with sidecar files:\n"
msgstr ""
-"Nie można skopiować pliku:\n"
-"%s\n"
-"do:\n"
-"%s\n"
-" podczas kopiowania wielu plików."
-#: src/utilops.c:817
+#: ../src/utilops.c:1779
#, c-format
+msgid " '%s'\n"
+msgstr " '%s'\n"
+
+#: ../src/utilops.c:1783
msgid ""
-"Unable to move file:\n"
-"%s\n"
-"to:\n"
-"%s\n"
-"during multiple file move."
+"\n"
+"Status: "
msgstr ""
-"Nie można przenieść pliku:\n"
-"%s\n"
-"do:\n"
-"%s\n"
-" podczas przenoszenia wielu plików."
+"\n"
+"Status: "
-#: src/utilops.c:972
-msgid "Source matches destination"
-msgstr "Źródło odpowiada celowi"
+#: ../src/utilops.c:1795
+msgid "no problem detected"
+msgstr "nie wykryto problemów"
-#: 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: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:1049
+#: ../src/utilops.c:1874
#, c-format
msgid ""
-"Unable to copy file:\n"
-"%s\n"
-"to:\n"
-"%s"
+"The following metadata tags will be written to\n"
+"'%s'."
msgstr ""
-"Nie można skopiować pliku:\n"
-"%s\n"
-"do:\n"
-"%s"
+"Następujące metadane zostaną zapisane do\n"
+"'%s'."
-#: src/utilops.c:1054
+#: ../src/utilops.c:1878
#, 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"
+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:1102
-msgid "Invalid destination"
-msgstr "Niepoprawny cel"
+#: ../src/utilops.c:1984
+msgid "Delete files?"
+msgstr "Usunąć pliki?"
-#: src/utilops.c:1103
-msgid ""
-"When operating with multiple files, please select\n"
-"a folder, not a file."
-msgstr ""
+#: ../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:1108
-msgid "Please select an existing folder."
-msgstr ""
+#: ../src/utilops.c:2004
+msgid "Can't write metadata"
+msgstr "Nie mogę zapisać metadanych"
-#: src/utilops.c:1178 src/view_dir.c:338
-msgid "_Copy"
-msgstr "S_kopiuj"
+#: ../src/utilops.c:2027
+msgid "Write metadata"
+msgstr "Zapisz metadane"
-#: src/utilops.c:1181
-msgid "Copy file"
-msgstr "Kopiuj plik"
+#: ../src/utilops.c:2028
+msgid "Write metadata?"
+msgstr "Zapisać metadane?"
-#: src/utilops.c:1185
-msgid "Copy multiple files"
-msgstr "Kopiuj wiele plików"
+#: ../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:1192 src/view_dir.c:340
-msgid "_Move"
-msgstr "_Przenieś"
+#: ../src/utilops.c:2031
+#, fuzzy
+msgid "Metadata writing failed"
+msgstr "Zapisywanie metadanych nie powiodło się"
-#: src/utilops.c:1195
-msgid "Move file"
-msgstr "Przenieś plik"
+#: ../src/utilops.c:2050 ../src/utilops.c:2077
+msgid "Move failed"
+msgstr "Przenoszenie nie powiodło się"
-#: src/utilops.c:1199
-msgid "Move multiple files"
-msgstr "Przenieś wiele plików"
+#: ../src/utilops.c:2074
+msgid "Move files?"
+msgstr "Przenieś pliki?"
-#: src/utilops.c:1214 src/utilops.c:1744
-msgid "File name:"
-msgstr "Nazwa pliku:"
+#: ../src/utilops.c:2075
+msgid "This will move the following files"
+msgstr "Ta operacja spowoduje przeniesienie następujących plików"
-#: src/utilops.c:1218
-msgid "Choose the destination folder."
-msgstr "Wybierz katalog docelowy."
+#: ../src/utilops.c:2099 ../src/utilops.c:2126
+msgid "Copy failed"
+msgstr "Kopiowanie nie powiodło się"
-#: 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:2123
+msgid "Copy files?"
+msgstr "Kopiować pliki?"
-#: 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:2124 ../src/utilops.c:2258
+msgid "This will copy the following files"
+msgstr "Skopiowane zostaną następujące pliki"
-#: src/utilops.c:1452 src/utilops.c:1684
-msgid "Another operation in progress.\n"
-msgstr ""
+#: ../src/utilops.c:2168 ../src/utilops.c:2634
+msgid "Rename"
+msgstr "Zmień nazwę"
-#: 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:2169
+msgid "Rename files?"
+msgstr "Zmienić nazwę plików?"
-#: 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:2170
+msgid "This will rename the following files"
+msgstr "Ta operacja spowoduje zmianę nazwy następujących plików"
-#: src/utilops.c:1569
-#, c-format
-msgid "File %d of %d"
-msgstr "Plik %d z %d"
+#: ../src/utilops.c:2222
+msgid "Can't run external editor"
+msgstr "Nie mogę uruchomić zewnętrznego edytora"
-#: src/utilops.c:1637
-#, fuzzy
-msgid "Delete files"
-msgstr "Usuń plik"
+#: ../src/utilops.c:2256
+msgid "Editor"
+msgstr "Edytor"
-#: src/utilops.c:1643
-msgid "Delete multiple files"
-msgstr "Usuń wiele plików"
+#: ../src/utilops.c:2257
+msgid "Run editor?"
+msgstr "Uruchomić edytor?"
-#: src/utilops.c:1661
-#, c-format
-msgid "Review %d files"
-msgstr "Przegląd %d plików"
+#: ../src/utilops.c:2260
+msgid "External command failed"
+msgstr "Zewnętrzne polecenie nie powiodło się"
-#: 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:2429 ../src/utilops.c:2502
+msgid "Delete folder"
+msgstr "Usuń katalog"
-#: src/utilops.c:1740
-msgid "Delete file?"
-msgstr "Usunąć plik?"
+#: ../src/utilops.c:2430
+msgid "Delete symbolic link?"
+msgstr "Usunąć dowiązanie symboliczne?"
-#: src/utilops.c:1899 src/utilops.c:2619
-msgid "Replace existing file by renaming new file."
+#: ../src/utilops.c:2432
+msgid ""
+"This will delete the symbolic link.\n"
+"The folder this link points to will not be deleted."
msgstr ""
+"Zaraz usuniesz dowiązanie symboliczne.\n"
+"Katalog na który wskazuje to dowiązanie NIE zostanie usunięty."
-#: src/utilops.c:1917
+#: ../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 rename file:\n"
-"%s\n"
-" to:\n"
-"%s"
+"Unable to remove folder %s\n"
+"Permissions do not allow writing to the folder."
msgstr ""
-"Nie można zmienić nazwy pliku:\n"
-"%s\n"
-" na:\n"
-"%s"
+"Nie można usunąć katalogu %s\n"
+"Brak uprawnień by zapisywać w tym katalogu."
-#: src/utilops.c:2039
-msgid "Format must include at least one of the symbol characters '*' or '#'.\n"
-msgstr ""
+#: ../src/utilops.c:2456 ../src/utilops.c:2513
+#, c-format
+msgid "Unable to list contents of folder %s"
+msgstr "Nie mogę wyświetlić zawartości katalogu %s"
-#: 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:2470 ../src/utilops.c:2478
+msgid "Folder contains subfolders"
+msgstr "Katalog zawiera podkatalogi"
-#: src/utilops.c:2166
+#: ../src/utilops.c:2474
#, c-format
msgid ""
-"Failed to rename\n"
+"Unable to delete the folder:\n"
+"\n"
"%s\n"
-"The number was %d."
+"\n"
+"This folder contains subfolders which must be moved before it can be deleted."
msgstr ""
-"Nie powiodła się zmiana nazwy\n"
+"Nie można usunąć katalogu:\n"
+"\n"
"%s\n"
-"Liczba %d."
+"\n"
+"Ten katalog zawiera podkatalogi, które musza zostać przeniesione zanim "
+"katalog może zostać usunięty."
-#: src/utilops.c:2427
-msgid "Rename multiple files"
-msgstr ""
+#: ../src/utilops.c:2482
+msgid "Subfolders:"
+msgstr "Podkatalogi:"
-#: src/utilops.c:2461
-msgid "Original Name"
-msgstr "Nazwa oryginału"
+#: ../src/utilops.c:2503
+msgid "Delete folder?"
+msgstr "Usunąć katalog?"
-#: src/utilops.c:2499
-#, fuzzy
-msgid "Manual rename"
-msgstr "Nazwa menu"
+#: ../src/utilops.c:2504
+msgid "The folder contains these files:"
+msgstr "Ten katalog zawiera następujące pliki:"
-#: src/utilops.c:2500
-msgid "Formatted rename"
+#: ../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:2513 src/utilops.c:2697
-msgid "Original name:"
-msgstr "Pierwotna nazwa:"
+#: ../src/utilops.c:2635
+msgid "Rename folder?"
+msgstr "Zmienić nazwę katalogu?"
-#: src/utilops.c:2516 src/utilops.c:2700
-msgid "New name:"
-msgstr "Nowa nazwa:"
+#: ../src/utilops.c:2636
+msgid "The folder contains the following files"
+msgstr "Katalog zawiera następujące pliki"
-#: src/utilops.c:2534
-msgid "Begin text"
-msgstr "Początek tekstu"
+#: ../src/utilops.c:2682
+msgid "Create Folder"
+msgstr "Utwórz katalog"
-#: src/utilops.c:2542 src/utilops.c:2574
-msgid "Start #"
-msgstr "Start #"
+#: ../src/utilops.c:2683
+msgid "Create folder?"
+msgstr "Utworzyć katalog?"
-#: src/utilops.c:2548
-msgid "End text"
-msgstr "Koniec tekstu"
+#: ../src/utilops.c:2686
+msgid "Can't create folder"
+msgstr "Nie można utworzyć katalogu"
-#: src/utilops.c:2556
-msgid "Padding:"
-msgstr ""
+#: ../src/view_dir.c:397
+msgid "_Copy"
+msgstr "S_kopiuj"
-#: src/utilops.c:2566
-msgid "Format (* = original name, ## = numbers)"
+#: ../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:649
+msgid "_Slideshow"
+msgstr "Przeglądanie _slajdowe"
+
+#: ../src/view_dir.c:651
+msgid "Slideshow recursive"
+msgstr "Rekurencyjne przeglądanie slajdowe"
+
+#: ../src/view_dir.c:655
+msgid "Find _duplicates..."
+msgstr "Wyszukaj _duplikaty..."
+
+#: ../src/view_dir.c:657
+msgid "Find duplicates recursive..."
+msgstr "Rekurencyjnie wyszukaj duplikaty..."
+
+#: ../src/view_dir.c:662
+msgid "_New folder..."
+msgstr "Nowy _folder..."
+
+#: ../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 plików"
+
+#: ../src/view_dir.c:687 ../src/view_file.c:637
+msgid "Re_fresh"
+msgstr "_Odśwież"
+
+#: ../src/view_file.c:622
+msgid "View as _Icons"
+msgstr "Wyświetlanie jako _ikony"
+
+#: ../src/view_file.c:628
+msgid "Show _thumbnails"
+msgstr "Pokaż _miniaturki"
+
+#: ../src/view_file_icon.c:2098 ../src/view_file_list.c:809
+msgid " [NO GROUPING]"
msgstr ""
-#: src/utilops.c:2641 src/view_file_list.c:410
+#: ../src/view_file_list.c:435
#, c-format
msgid ""
-"Unable to rename file:\n"
-"%s\n"
-"to:\n"
+"Invalid file name:\n"
"%s"
msgstr ""
-"Nie można zmienić nazwy pliku:\n"
-"%s\n"
-"na:\n"
+"Niepoprawna nazwa pliku:\n"
"%s"
-#: src/utilops.c:2687
-msgid "Rename file"
-msgstr "Zmień nazwę"
+#: ../src/view_file_list.c:436
+msgid "Error renaming file"
+msgstr "Błąd podczas zmiany nazwy pliku"
-#: 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/window.c:252
+msgid "Help"
+msgstr "Pomo_c"
-#: src/utilops.c:2749 src/utilops.c:2842
-msgid "Folder exists"
-msgstr "Katalog istnieje"
+#~ msgid "Collection empty"
+#~ msgstr "Pusta kolekcja"
-#: 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."
+#~ msgid "The current collection is empty, save aborted."
+#~ msgstr "Bieżąca kolekcja jest pusta, zrezygnowano z zapisu."
-#: src/utilops.c:2812
-#, c-format
-msgid ""
-"Create folder in:\n"
-"%s\n"
-"named:"
-msgstr ""
-"Utwórz katalog w:\n"
-"%s\n"
-"o nazwie:"
+#~ msgid "Use Exif date"
+#~ msgstr "Użyj daty Exif"
-#: src/utilops.c:2851 src/utilops.c:2860
-msgid "Rename failed"
-msgstr "Błąd zmiany nazwy"
+#~ msgid "None"
+#~ msgstr "Brak"
-#: src/utilops.c:2967
-#, fuzzy
-msgid "Location"
-msgstr "Położenie:"
+#~ msgid "Normal"
+#~ msgstr "Zwykła"
-#: src/utilops.c:3145
-#, fuzzy, c-format
-msgid ""
-"Unable to delete folder:\n"
-"\n"
-"%s"
-msgstr ""
-"Nie można usunąć pliku:\n"
-"%s"
+#~ msgid "Best"
+#~ msgstr "Najlepsza"
-#: src/utilops.c:3152
-#, c-format
-msgid ""
-"Removal of folder contents failed at this file:\n"
-"\n"
-"%s"
-msgstr ""
+#~ 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ę"
-#: src/utilops.c:3207 src/utilops.c:3291
#, fuzzy
-msgid "Delete folder"
-msgstr "Wybierz katalog"
+#~ msgid "External Delete command"
+#~ msgstr "Aktywny klawisz Delete"
-#: 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 ""
+#~ msgid "External New Folder command"
+#~ msgstr "Zewnętrzne polecenie Nowy katalog"
-#: src/utilops.c:3215
-msgid "Delete symbolic link to folder?"
-msgstr ""
+#~ msgid "Dimensions:"
+#~ msgstr "Wymiary:"
-#: src/utilops.c:3230
-#, fuzzy, 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"
+#~ msgid "Transparent:"
+#~ msgstr "Przezroczystość:"
-#: src/utilops.c:3242
-#, fuzzy, c-format
-msgid "Unable to list contents of folder %s"
-msgstr ""
-"Błąd tworzenia katalogu:\n"
-"%s"
+#~ 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"
-#: src/utilops.c:3256 src/utilops.c:3264
#, fuzzy
-msgid "Folder contains subfolders"
-msgstr "Dołącz podkatalogi"
+#~ msgid "_%d %s..."
+#~ msgstr "za pomocą %s..."
-#: 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 ""
+#, fuzzy
+#~ msgid "_%d (unknown)..."
+#~ msgstr "za pomocą (nieznany)..."
-#: src/utilops.c:3268
#, fuzzy
-msgid "Subfolders:"
-msgstr "katalog"
+#~ msgid "_%d empty"
+#~ msgstr "puste"
-#: 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 ""
+#~ msgid "_Adjust"
+#~ msgstr "Modyfikacja"
+
+#~ msgid "_View Directory as"
+#~ msgstr "Pokaż katalog jako"
-#: src/utilops.c:3299
#, fuzzy
-msgid "Delete folder?"
-msgstr "Usunąć plik?"
+#~ 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)"
-#: src/utilops.c:3303
#, fuzzy
-msgid "Contents:"
-msgstr "Indeks"
+#~ 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"
-#: src/view_dir.c:30
#, fuzzy
-msgid "_Tree"
-msgstr "D_rzewo"
+#~ 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/view_dir.c:502
-msgid "new_folder"
-msgstr "nowy_folder"
+#, 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"
-#: src/view_dir.c:587
-msgid "_Up to parent"
-msgstr "W _górę do nadrzędnego"
+#~ msgid "Overwrite file?"
+#~ msgstr "Nadpisać plik?"
-#: src/view_dir.c:592
-msgid "_Slideshow"
-msgstr "Przeglądanie _slajdowe"
+#~ msgid "Overwrite _all"
+#~ msgstr "N_adpisz wszystkie"
-#: src/view_dir.c:594
-msgid "Slideshow recursive"
-msgstr "Rekurencyjne przeglądanie slajdowe"
+#~ msgid "S_kip all"
+#~ msgstr "Pomiń wszyst_kie"
-#: src/view_dir.c:598
-msgid "Find _duplicates..."
-msgstr "Wyszukaj _duplikaty..."
+#~ msgid "_Skip"
+#~ msgstr "Pomiń"
-#: src/view_dir.c:600
-msgid "Find duplicates recursive..."
-msgstr "Rekurencyjnie wyszukaj duplikaty..."
+#~ msgid "Existing file"
+#~ msgstr "Istniejący plik"
-#: src/view_dir.c:605
-msgid "_New folder..."
-msgstr "Nowy _folder..."
+#~ 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:"
-#: src/view_dir.c:619
#, fuzzy
-msgid "_View as"
-msgstr "_Podgląd"
+#~ 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"
-#: src/view_dir.c:631
#, fuzzy
-msgid "Show _hidden files"
-msgstr "Wyświetlanie ukrytych"
+#~ msgid ""
+#~ "%s\n"
+#~ "Unable to delete file by external command:\n"
+#~ "%s"
+#~ msgstr ""
+#~ "Nie można usunąć pliku:\n"
+#~ "%s"
-#: src/view_dir.c:634 src/view_file.c:606
-msgid "Re_fresh"
-msgstr "_Odśwież"
+#~ msgid "Delete file?"
+#~ msgstr "Usunąć plik?"
-#: src/view_file.c:588
-msgid "_Sort"
-msgstr "_Uporządkuj"
+#~ 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/view_file.c:591
-msgid "View as _icons"
-msgstr "Wyświetlanie jako _ikony"
+#~ 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/view_file.c:597
-msgid "Show _thumbnails"
-msgstr "Pokaż _miniaturki"
+#~ msgid ""
+#~ "Failed to rename\n"
+#~ "%s\n"
+#~ "The number was %d."
+#~ msgstr ""
+#~ "Nie powiodła się zmiana nazwy\n"
+#~ "%s\n"
+#~ "Liczba %d."
-#: src/view_file_list.c:390
-#, c-format
-msgid ""
-"Invalid file name:\n"
-"%s"
-msgstr ""
-"Niepoprawna nazwa pliku:\n"
-"%s"
+#~ msgid "Original Name"
+#~ msgstr "Nazwa oryginału"
-#: src/view_file_list.c:1821
-msgid "SC"
-msgstr ""
+#~ 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"
-#: src/window.c:226
#, fuzzy
-msgid "Help"
-msgstr "Pomo_c"
+#~ msgid "_View as"
+#~ msgstr "_Podgląd"
#~ msgid "Change to folder:"
#~ msgstr "Przejdź do katalogu:"
#~ msgid "Always show fullscreen info"
#~ 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"
#~ msgid "Geeqie - exit"
#~ msgstr "Geeqie - zakończenie"
-#~ msgid "Quit Geeqie"
-#~ msgstr "Zakończ Geeqie"
-
#, fuzzy
#~ msgid "Pan View - Geeqie"
#~ msgstr "Drukowanie - Geeqie"
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"
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"
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"
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"
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"
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"
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"
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"
"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"
"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:897
+#: ../src/bar_keywords.c:886
msgid "Keyword:"
msgstr "Palavra-chave:"
-#: ../src/bar_keywords.c:906
+#: ../src/bar_keywords.c:895
msgid "Keyword type:"
msgstr "Tipo de palavra-chave:"
-#: ../src/bar_keywords.c:908
+#: ../src/bar_keywords.c:897
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"
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"
"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"
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"
"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?"
"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?"
"A coleção foi modificada.\n"
"Salvar primeiro?"
-#: ../src/collect.c:1143
+#: ../src/collect.c:1079
msgid "_Discard"
msgstr "_Descartar"
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"
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"
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"
+msgstr "Desselecionar tudo"
-#: ../src/collect-table.c:886
+#: ../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
+#: ../src/collect-table.c:922
msgid "_Save collection"
msgstr "_Salvar a coleção"
-#: ../src/collect-table.c:922
+#: ../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"
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"
"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"
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"
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..."
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"
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"
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"
"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"
"%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
+#: ../src/exif.c:179
msgid "multi-spot"
msgstr "luz multidirecional"
-#: ../src/exif.c:179
+#: ../src/exif.c:180
msgid "multi-segment"
msgstr "multisegmento"
-#: ../src/exif.c:180
+#: ../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
+#: ../src/exif.c:192
msgid "creative"
msgstr "criativo"
-#: ../src/exif.c:192
+#: ../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
+#: ../src/exif.c:207
msgid "shade"
msgstr "sombra"
-#: ../src/exif.c:207
+#: ../src/exif.c:208
msgid "daylight fluorescent"
msgstr "fluorescente luz do dia"
-#: ../src/exif.c:208
+#: ../src/exif.c:209
msgid "day white fluorescent"
msgstr "fluorescente branco dia"
-#: ../src/exif.c:209
+#: ../src/exif.c:210
msgid "cool white fluorescent"
msgstr "fluorescente branco frio"
-#: ../src/exif.c:210
+#: ../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
+#: ../src/exif.c:243
msgid "color sequential area"
msgstr "CCD de área"
-#: ../src/exif.c:243
+#: ../src/exif.c:244
msgid "trilinear"
msgstr "trilinear"
-#: ../src/exif.c:244
+#: ../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
+#: ../src/exif.c:290
msgid "low gain down"
msgstr "suave redução de ganho"
-#: ../src/exif.c:290
+#: ../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
+#: ../src/exif.c:318
msgid "macro"
msgstr "macro"
-#: ../src/exif.c:318
+#: ../src/exif.c:319
msgid "close"
msgstr "próximo"
-#: ../src/exif.c:319
+#: ../src/exif.c:320
msgid "distant"
msgstr "distante"
-#: ../src/exif.c:329
+#: ../src/exif.c:330
msgid "Image Width"
msgstr "Largura da imagem"
-#: ../src/exif.c:330
+#: ../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
+#: ../src/exif.c:340
msgid "Resolution units"
msgstr "Unidades de resolução"
-#: ../src/exif.c:340
+#: ../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
+#: ../src/exif.c:344
msgid "Primary chromaticities"
msgstr "Cromaticidades primárias"
-#: ../src/exif.c:344
+#: ../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
+#: ../src/exif.c:353
msgid "Exposure program"
msgstr "Programa de exposição"
-#: ../src/exif.c:353
+#: ../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
+#: ../src/exif.c:360
msgid "Pixel format"
msgstr "Formato do pixel"
-#: ../src/exif.c:360
+#: ../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
+#: ../src/exif.c:383
msgid "Audio data"
msgstr "Dados de áudio"
-#: ../src/exif.c:383
+#: ../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
+#: ../src/exif.c:400
msgid "Digital zoom ratio"
msgstr "Taxa do zoom digital"
-#: ../src/exif.c:400
+#: ../src/exif.c:401
msgid "Focal length (35mm)"
msgstr "Comprimento do foco (35mm)"
-#: ../src/exif.c:401
+#: ../src/exif.c:402
msgid "Scene capture type"
msgstr "Tipo de captura da cena"
-#: ../src/exif.c:402
+#: ../src/exif.c:403
msgid "Gain control"
msgstr "Controle de ganho"
-#: ../src/exif.c:403
+#: ../src/exif.c:404
msgid "Contrast"
msgstr "Contraste"
-#: ../src/exif.c:404
+#: ../src/exif.c:405
msgid "Saturation"
msgstr "Saturação"
-#: ../src/exif.c:405
+#: ../src/exif.c:406
msgid "Sharpness"
msgstr "Nitidez"
-#: ../src/exif.c:406
+#: ../src/exif.c:407
msgid "Device setting"
msgstr "Configuração do dispositivo"
-#: ../src/exif.c:407
+#: ../src/exif.c:408
msgid "Subject range"
msgstr "Distância do sujeito"
-#: ../src/exif.c:408
+#: ../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"
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"
+msgstr "De_sselecionar tudo"
-#: ../src/layout_util.c:1289
+#: ../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"
+msgstr "Iniciar/Parar apresentação de _slides"
-#: ../src/layout_util.c:1357
+#: ../src/layout_util.c:1376
msgid "Toggle slideshow"
-msgstr "Alternar apresentação de slides"
+msgstr "Iniciar/Parar apresentação de slides"
-#: ../src/layout_util.c:1358
+#: ../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"
+msgstr "_Escala de cinzas"
-#: ../src/layout_util.c:1360
+#: ../src/layout_util.c:1379
msgid "Toggle grayscale"
-msgstr "Alternar escala de cinza"
+msgstr "Escala de cinzas"
-#: ../src/layout_util.c:1361
+#: ../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"
+msgstr "_Marcar a marcação %d"
-#: ../src/layout_util.c:1668
+#: ../src/layout_util.c:1702
#, c-format
msgid "Set mark %d"
-msgstr "Definir a marcação %d"
+msgstr "Marcar a marcação %d"
-#: ../src/layout_util.c:1669 ../src/view_file.c:541
+#: ../src/layout_util.c:1703 ../src/view_file.c:541
#, c-format
msgid "_Reset mark %d"
-msgstr "_Redefinir a marcação %d"
+msgstr "_Desmarcar a marcação %d"
-#: ../src/layout_util.c:1669
+#: ../src/layout_util.c:1703
#, c-format
msgid "Reset mark %d"
-msgstr "Redefinir a marcação %d"
+msgstr "Desmarcar a marcação %d"
-#: ../src/layout_util.c:1670 ../src/layout_util.c:1671 ../src/view_file.c:542
+#: ../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"
+msgstr "Marcar/D_esmarcar a marcação %d"
-#: ../src/layout_util.c:1670 ../src/layout_util.c:1671
+#: ../src/layout_util.c:1704 ../src/layout_util.c:1705
#, c-format
msgid "Toggle mark %d"
-msgstr "Alternar a marcação %d"
+msgstr "Marcar/Desmarcar a marcação %d"
-#: ../src/layout_util.c:1672
+#: ../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"
+msgstr "_Habilitar/Desabilitar o filtro da 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"
+msgstr "Habilitar/Desabilitar o filtro da marcação %d"
-#: ../src/layout_util.c:2205
+#: ../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"
"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"
msgid "Log"
msgstr "Log"
-#: ../src/main.c:321
+#: ../src/main.c:320
#, c-format
msgid ""
"Usage: %s [options] [path]\n"
"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:324
+#: ../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:325
+#: ../src/main.c:324
msgid " -f, --fullscreen start in full screen mode\n"
msgstr " -f, --fullscreen iniciar no modo de tela-cheia\n"
-#: ../src/main.c:326
+#: ../src/main.c:325
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"
" -h, --help exibir esta mensagem\n"
"\n"
-#: ../src/main.c:347
+#: ../src/main.c:346
#, c-format
msgid ""
"invalid or ignored: %s\n"
"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"
"\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"
"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"
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 "
"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"
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:501 ../src/print.c:380
+msgid "Custom"
+msgstr "Personalizado"
-#: ../src/preferences.c:452
-msgid "Normal"
-msgstr "Normal"
+#: ../src/preferences.c:566
+#, fuzzy
+msgid "Single image"
+msgstr "próxima imagem"
-#: ../src/preferences.c:453
-msgid "Best"
-msgstr "O melhor"
+#: ../src/preferences.c:568
+msgid "Anaglyph Red-Cyan"
+msgstr ""
-#: ../src/preferences.c:515 ../src/print.c:380
-msgid "Custom"
-msgstr "Personalizado"
+#: ../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:757 ../src/preferences.c:760
+#: ../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?"
"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?"
"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)"
"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:1268
+msgid "Use GPU acceleration via Clutter library"
+msgstr ""
-#: ../src/preferences.c:1250
+#: ../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 "
"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"
"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."
"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"
"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)"
"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"
"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"
"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"
+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:1959
-msgid "Add Alt"
-msgstr "Adicionar Alt"
+#: ../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:1978
+#: ../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"
"\n"
"Lançado sob a Licença Pública Geral GNU"
-#: ../src/preferences.c:2144
+#: ../src/preferences.c:2226
msgid "Credits..."
msgstr "Créditos..."
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"
"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."
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"
#: ../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"
#: ../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"
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"
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"
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"
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"
"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"
"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"
"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"
"\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"
"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"
"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"
"\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"
"\n"
"%s"
-#: ../src/utilops.c:877
+#: ../src/utilops.c:875
#, c-format
msgid ""
"%s\n"
"%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: "
"\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"
"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:2029
+#: ../src/utilops.c:2027
msgid "Write metadata"
msgstr "Escrever os metadados"
-#: ../src/utilops.c:2030
+#: ../src/utilops.c:2028
msgid "Write metadata?"
msgstr "Escrever os metadados?"
-#: ../src/utilops.c:2031
+#: ../src/utilops.c:2029
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"
+#: ../src/utilops.c:2031
+#, 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:2432
+#: ../src/utilops.c:2430
msgid "Delete symbolic link?"
msgstr "Apagar a ligação simbólica?"
-#: ../src/utilops.c:2434
+#: ../src/utilops.c:2432
msgid ""
"This will delete the symbolic link.\n"
"The folder this link points to will not be deleted."
"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"
"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"
"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."
"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"
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"
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"
"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"
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"
#~ msgid "Always show fullscreen info"
#~ msgstr "sair da tela cheia"
-#, fuzzy
-#~ msgid "Fullscreen info string"
-#~ msgstr "Tela cheia"
-
#, fuzzy
#~ msgid "List"
#~ msgstr "Lis_ta"
#
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"
+"X-Poedit-Language: Slovak\n"
+"X-Poedit-Country: SLOVAKIA\n"
+"X-Poedit-SourceCharset: utf-8\n"
-#: src/bar_exif.c:444
-msgid "Tag"
-msgstr "Znaèka"
+# 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"
+msgstr "Formát"
-#: src/bar_exif.c:448
+#: ../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"
+#. other pre-configured panes
+#: ../src/bar.c:173
+#, fuzzy
+msgid "File info"
+msgstr "Súbor sa nenašiel"
-#: src/bar_info.c:35
-msgid "Favorite"
-msgstr "Obµúbené"
+#: ../src/bar.c:174
+#, fuzzy
+msgid "Location and GPS"
+msgstr "Umiestnenie"
-# src/preferences.c:368
-#: src/bar_info.c:36
-msgid "Todo"
-msgstr "Úlohy"
+# src/utilops.c:592
+#: ../src/bar.c:175 ../src/exif.c:347
+msgid "Copyright"
+msgstr "Autorské práva"
-#: src/bar_info.c:37
-msgid "People"
-msgstr "¥udia"
+#: ../src/bar.c:178 ../src/bar_gps.c:768
+msgid "GPS Map"
+msgstr ""
-#: src/bar_info.c:38
-msgid "Places"
-msgstr "Miesta"
+# src/utilops.c:601
+#: ../src/bar.c:297
+#, fuzzy
+msgid "Move to _top"
+msgstr "Presunúť _hore"
-#: src/bar_info.c:39
-msgid "Art"
-msgstr "Umenie"
+# src/utilops.c:601
+#: ../src/bar.c:298 ../src/ui_bookmark.c:410
+msgid "Move _up"
+msgstr "Presunúť _hore"
-#: src/bar_info.c:40
-msgid "Nature"
-msgstr "Príroda"
+# src/utilops.c:601
+#: ../src/bar.c:299 ../src/ui_bookmark.c:412
+msgid "Move _down"
+msgstr "Presunúť _dole"
-#: src/bar_info.c:41
-msgid "Possessions"
-msgstr "Predmety"
+#: ../src/bar.c:300
+#, fuzzy
+msgid "Move to _bottom"
+msgstr "vľavo dole"
-#: src/bar_info.c:801
-msgid "Keyword Presets"
-msgstr "Predvolené kµúèové slová"
+# src/collect-table.c:622 src/dupe.c:1410 src/dupe.c:1568
+#: ../src/bar.c:302
+msgid "Remove"
+msgstr "Vymazať"
-#: src/bar_info.c:804
-msgid "Favorite keywords list"
-msgstr "Zoznam obµúbených kµúèových slov"
+#: ../src/bar_comment.c:195
+#, fuzzy
+msgid "Add text to selected files"
+msgstr "Pridať poznámku k vybraným súborom"
-#: src/bar_info.c:1301 src/info.c:189 src/search.c:2699
-msgid "Keywords"
-msgstr "Kµúèové slová"
+#: ../src/bar_comment.c:196
+#, fuzzy
+msgid "Replace existing text in selected files"
+msgstr "Prepísať existujúci súbor novým."
-# 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/bar_exif.c:213
+msgid "<empty label, fixme>"
+msgstr ""
-# src/ui_pathsel.c:799
-#: src/bar_info.c:1316 src/info.c:391
-msgid "File date:"
-msgstr "Dátum súboru:"
+# 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_info.c:1336
-msgid "Keywords:"
-msgstr "Kµúèové slová:"
+#: ../src/bar_exif.c:562
+msgid "Key:"
+msgstr ""
-# src/dupe.c:1948
-#: src/bar_info.c:1404
-msgid "Comment:"
-msgstr "Poznámka:"
+#: ../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_info.c:1428
-msgid "Edit favorite keywords list."
-msgstr "Upravi» zoznam obµúbených kµúèových slov."
+#: ../src/bar_histogram.c:274
+msgid "L_og Histogram"
+msgstr ""
-#: src/bar_info.c:1432
+#: ../src/bar_keywords.c:414
msgid "Add keywords to selected files"
-msgstr "Prida» kµúèové slová do vybraných súborov"
+msgstr "Pridať kľúčové slová do vybraných súborov"
-#: src/bar_info.c:1435
+#: ../src/bar_keywords.c:415
#, fuzzy
-msgid "Add keywords to selected files, replacing existing ones"
-msgstr "Prida» kµúèové slová do vybraných súborov, existujúce prepísa»."
+msgid "Replace existing keywords in selected files"
+msgstr "Pridať kľúčové slová do vybraných súborov"
-#: src/bar_info.c:1438
+# src/preferences.c:915
+#: ../src/bar_keywords.c:888
#, fuzzy
-msgid "Add comment to selected files"
-msgstr "Prida» kµúèové slová do vybraných súborov"
+msgid "Edit keyword"
+msgstr "Editory"
-#: src/bar_info.c:1441
+#: ../src/bar_keywords.c:888
#, fuzzy
-msgid "Add comment to selected files, replacing existing one"
-msgstr "Prida» kµúèové slová do vybraných súborov, existujúce prepísa»."
+msgid "Add keywords"
+msgstr "Kľúčové slová"
-# 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/menu.c:1087
+#: ../src/bar_keywords.c:895
+#, fuzzy
+msgid "Configure keyword"
+msgstr "Konfigurovať voľby"
-# src/utilops.c:496
-#: src/bar_sort.c:218
-#, fuzzy, c-format
-msgid ""
-"Unable to remove symbolic link:\n"
-"%s"
+#: ../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 ""
-"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/bar_keywords.c:1192
+#, fuzzy, c-format
+msgid "Mark %d"
+msgstr "Značka _%d"
-# src/ui_pathsel.c:517 src/utilops.c:1158
-#: src/bar_sort.c:300
+#: ../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"
+msgid "Edit \"%s\""
+msgstr "Editory"
+
+#: ../src/bar_keywords.c:1214
+#, c-format
+msgid "Disconnect \"%s\" from mark %s"
msgstr ""
-"Nemo¾no vytvori» prieèinok:\n"
-"%s"
-#: src/bar_sort.c:301
-msgid "Link failed"
-msgstr "Pripojenie sa nepodarilo"
+#. 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"
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"
+msgstr "Nepodarilo sa uložiť"
-#: src/bar_sort.c:502 src/bar_sort.c:628
+#: ../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"
+msgstr "Pridať výber"
-#: src/bar_sort.c:631
+#: ../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..."
+msgstr "Odstraňujem staré náhľady..."
-#: src/cache_maint.c:317 src/cache_maint.c:1059
+#: ../src/cache_maint.c:322 ../src/cache_maint.c:1119
msgid "Maintenance"
-msgstr "Údr¾ba"
+msgstr "Ã\9adrž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"
+msgstr "Nesprávny priečinok"
-#: src/cache_maint.c:801
+#: ../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"
+msgstr "Vytvoriť náhľady"
-#: src/cache_maint.c:837 src/cache_maint.c:1066
+#: ../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"
+msgstr "Vrátane podpriečinkov"
-#: src/cache_maint.c:858
+#: ../src/cache_maint.c:906
msgid "Store thumbnails local to source images"
-msgstr "Miniatúry uklada» lokálne ku zdrojovým obrázkov"
+msgstr "Náhľady ukladať lokálne ku zdrojovým obrázkom"
-#: src/cache_maint.c:867 src/cache_maint.c:1075
+#: ../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»?"
+"Chystám sa odstrániť všetky náhľady,\n"
+"ktoré boli uložené na disk; pokračovať?"
-#: src/cache_maint.c:1172
-#, fuzzy
+#: ../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"
+msgstr "Údržba vyrovnávacej pamäte"
-#: src/cache_maint.c:1184
+#: ../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»"
+msgstr "Vyčistiť"
-#: src/cache_maint.c:1200 src/cache_maint.c:1220
+#: ../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»"
+msgstr "Vykresliť"
-#: src/cache_maint.c:1234
+#: ../src/cache_maint.c:1302
msgid "Render thumbnails for a specific folder."
-msgstr "Vykresli» miniatúry pre ¹pecifický prieèinok."
+msgstr "Vykresliť náhľady pre špecifický priečinok."
-#: src/cache_maint.c:1236
-msgid "Metadata"
-msgstr "Podobnostné dáta (metadata)"
-
-#: src/cache_maint.c:1248
+#: ../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»?"
+"Zbierka bola zmenená.\n"
+"Uložiť?"
-#: src/collect.c:1128
+#: ../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"
+msgstr ""
+"chyba pri ukladaní súboru kolekcie: %s\n"
+"chyba: %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)"
+# 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..."
+msgstr "Pripojiť zo zbierky..."
+
+# src/collect-table.c:628 src/dupe.c:1393 src/dupe.c:1565
+#: ../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:789 src/dupe.c:2244 src/dupe.c:2559 src/search.c:988
+#: ../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"
+msgstr "Vybrať všetko"
# 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: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"
+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"
+# 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"
+msgstr "%d zhôd, v %d súboroch"
-#: src/dupe.c:112
+#: ../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"
+msgstr "Vybrať skupinu _1 duplikátov"
-#: src/dupe.c:2250
+#: ../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)"
+msgstr "%d súborov (sada 2)"
-#: src/dupe.c:2647
-#, fuzzy
+#: ../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:2655
+#: ../src/dupe.c:2660
msgid "Similarity (low)"
-msgstr "Podobnos» (nízka)"
+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"
+msgstr "Porovnať dve sady súborov"
-# 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"
+#: ../src/editors.c:280
+#, c-format
+msgid "Desktop file '%s' should not include extension in Icon key: '%s'\n"
msgstr ""
-# src/preferences.c:669
-#: src/editors.c:77 src/editors.c:83
-#, fuzzy
-msgid "External Delete command"
-msgstr "Povoli» klávesu Delete"
+# 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:78 src/editors.c:84
-msgid "External New Folder command"
-msgstr ""
+#: ../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"
+msgstr "Výsledky z príkazu na úpravu"
-#: src/editors.c:164
+#: ../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"
+msgstr "zastavené používateľom"
-#: src/editors.c:836
-msgid "Editor template is empty."
+#: ../src/editors.c:1265
+#, c-format
+msgid ""
+"%s\n"
+"\"%s\""
msgstr ""
-#: src/editors.c:837
+# 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 "Šablóna editora je prázdna."
+
+#: ../src/editors.c:1355
msgid "Editor template has incorrect syntax."
-msgstr ""
+msgstr "Šablóna editora má nesprávnu syntax."
-#: src/editors.c:838
+#: ../src/editors.c:1356
msgid "Editor template uses incompatible macros."
-msgstr ""
+msgstr "Šablóna editora používa nekompatibilné makrá."
-#: src/editors.c:839
+#: ../src/editors.c:1357
msgid "Can't find matching file type."
-msgstr ""
+msgstr "Nepodarilo sa nájsť požadovaný typ súboru."
-#: src/editors.c:840
+#: ../src/editors.c:1358
msgid "Can't execute external editor."
-msgstr ""
+msgstr "Nepodarilo sa spustiť externý editor."
-#: src/editors.c:841
+#: ../src/editors.c:1359
msgid "External editor returned error status."
-msgstr ""
+msgstr "Externý editor vrátil chybový stav."
-#: src/editors.c:842
+#: ../src/editors.c:1360
msgid "File was skipped."
-msgstr ""
+msgstr "Súbor bol preskočený."
-#: src/editors.c:843
+#: ../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"
+msgstr "hore vľavo"
-#: src/exif.c:147
+#: ../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"
+msgstr "vľavo hore"
-#: src/exif.c:151
+#: ../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"
+msgstr "vľavo dole"
-#: src/exif.c:160
+#: ../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ý"
+msgstr "priemerné"
-#: src/exif.c:174
+#: ../src/exif.c:176
msgid "center weighted"
-msgstr "stredovo vyvá¾ený"
+msgstr "stredovo vyvážené"
-#: src/exif.c:175
+#: ../src/exif.c:177
msgid "spot"
-msgstr "bodový"
+msgstr "bodové"
-#: src/exif.c:176
+#: ../src/exif.c:178
msgid "multi-spot"
-msgstr "viacbodový"
+msgstr "viacbodové"
-#: src/exif.c:177
+#: ../src/exif.c:179
msgid "multi-segment"
-msgstr "viacsegmentový"
+msgstr "viacsegmentové"
-#: src/exif.c:178
+#: ../src/exif.c:180
msgid "partial"
-msgstr "èiastoèný"
+msgstr "čiastočné"
-#: src/exif.c:179 src/exif.c:217
+#: ../src/exif.c:181 ../src/exif.c:219
msgid "other"
-msgstr "iné"
+msgstr "iné"
-#: src/exif.c:184 src/exif.c:236
+#: ../src/exif.c:186 ../src/exif.c:238
msgid "not defined"
-msgstr "nedefinované"
+msgstr "nedefinované"
-#: src/exif.c:185 src/exif.c:264 src/exif.c:271
+#: ../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"
+msgstr "normálne"
-#: src/exif.c:187
+#: ../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ý"
+msgstr "tvorivý"
-#: src/exif.c:190
+#: ../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"
+msgstr "na výšku"
-#: src/exif.c:192 src/exif.c:277
+#: ../src/exif.c:194 ../src/exif.c:279
msgid "landscape"
-msgstr "na ¹írku"
+msgstr "na šírku"
-#: src/exif.c:198
+#: ../src/exif.c:200
msgid "daylight"
-msgstr "denné svetlo"
+msgstr "denné svetlo"
-#: src/exif.c:199
+#: ../src/exif.c:201
msgid "fluorescent"
-msgstr "fluorescenèné"
+msgstr "fluorescenčné"
-#: src/exif.c:200
+#: ../src/exif.c:202
msgid "tungsten (incandescent)"
-msgstr "volfrám (roz¾eravený)"
+msgstr "volfrám (rozžeravený)"
-#: src/exif.c:201
+#: ../src/exif.c:203
msgid "flash"
msgstr "blesk"
-#: src/exif.c:202
+#: ../src/exif.c:204
msgid "fine weather"
-msgstr ""
+msgstr "dobré počasie"
-#: src/exif.c:203
+#: ../src/exif.c:205
msgid "cloudy weather"
-msgstr ""
+msgstr "oblačno"
-#: src/exif.c:204
+#: ../src/exif.c:206
msgid "shade"
-msgstr ""
+msgstr "tieň"
-#: src/exif.c:205
-#, fuzzy
+#: ../src/exif.c:207
msgid "daylight fluorescent"
-msgstr "fluorescenèné"
+msgstr "denné svetlo fluorescenčné"
-#: src/exif.c:206
-#, fuzzy
+#: ../src/exif.c:208
msgid "day white fluorescent"
-msgstr "fluorescenèné"
+msgstr "denná biela fluorescenčná"
-#: src/exif.c:207
-#, fuzzy
+#: ../src/exif.c:209
msgid "cool white fluorescent"
-msgstr "fluorescenèné"
+msgstr "studené biele fluorescenčné"
-#: src/exif.c:208
-#, fuzzy
+#: ../src/exif.c:210
msgid "white fluorescent"
-msgstr "fluorescenèné"
+msgstr "biele fluorescenčné"
-#: src/exif.c:209
+#: ../src/exif.c:211
msgid "standard light A"
-msgstr ""
+msgstr "štandardné svetlo A"
-#: src/exif.c:210
+#: ../src/exif.c:212
msgid "standard light B"
-msgstr ""
+msgstr "štandardné svetlo B"
-#: src/exif.c:211
+#: ../src/exif.c:213
msgid "standard light C"
-msgstr ""
+msgstr "štandardné svetlo C"
-#: src/exif.c:212
+#: ../src/exif.c:214
msgid "D55"
-msgstr ""
+msgstr "D55"
-#: src/exif.c:213
+#: ../src/exif.c:215
msgid "D65"
-msgstr ""
+msgstr "D65"
-#: src/exif.c:214
+#: ../src/exif.c:216
msgid "D75"
-msgstr ""
+msgstr "D75"
-#: src/exif.c:215
+#: ../src/exif.c:217
msgid "D50"
-msgstr ""
+msgstr "D50"
-#: src/exif.c:216
+#: ../src/exif.c:218
msgid "ISO studio tungsten"
-msgstr ""
+msgstr "Štúdiové svetlo ISO"
-#: 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
+#: ../src/exif.c:226
msgid "yes, not detected by strobe"
-msgstr "áno, nedetekované snímacím impulzom"
+msgstr "áno, nedetegované snímacím impulzom"
-#: src/exif.c:225
+#: ../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 ""
+msgstr "áno, detegované snímacím impulzom"
-#: src/exif.c:231
+#: ../src/exif.c:233
msgid "uncalibrated"
-msgstr ""
+msgstr "nekalibrované"
-#: src/exif.c:237
+#: ../src/exif.c:239
msgid "1 chip color area"
-msgstr ""
+msgstr "1 farebná oblasť čipu"
-#: src/exif.c:238
+#: ../src/exif.c:240
msgid "2 chip color area"
-msgstr ""
+msgstr "2 farebná oblasť čipu"
-#: src/exif.c:239
+#: ../src/exif.c:241
msgid "3 chip color area"
-msgstr ""
+msgstr "3 farebná oblasť čipu"
-#: src/exif.c:240
+#: ../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"
+msgstr "trilineárne"
-#: src/exif.c:242
+#: ../src/exif.c:244
msgid "color sequential linear"
msgstr ""
-#: src/exif.c:247
+#: ../src/exif.c:249
msgid "digital still camera"
-msgstr ""
+msgstr "digitálny fotoaparát"
-#: src/exif.c:252
+#: ../src/exif.c:254
msgid "direct photo"
-msgstr ""
+msgstr "direct photo"
-#: src/exif.c:258
-#, fuzzy
+#: ../src/exif.c:260
msgid "custom"
-msgstr "Pou¾ívateµské"
+msgstr "vlastné"
-#: src/exif.c:263 src/exif.c:270 src/exif-common.c:346
+#: ../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"
+msgstr "štandard"
-#: src/exif.c:279
-#, fuzzy
+#: ../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»"
+msgstr "Vyčistiť"
-#: src/exif.c:286
+#: ../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"
+msgstr ""
-#: src/exif.c:288
+#: ../src/exif.c:290
msgid "high gain down"
-msgstr ""
+msgstr "znížiť vysoký zisk"
-#: src/exif.c:294 src/exif.c:308
-#, fuzzy
+#: ../src/exif.c:296 ../src/exif.c:310
msgid "soft"
-msgstr "bodový"
+msgstr "mäkké"
-#: src/exif.c:295 src/exif.c:309
+#: ../src/exif.c:297 ../src/exif.c:311
msgid "hard"
-msgstr ""
+msgstr "pevné"
-#: src/exif.c:301
+#: ../src/exif.c:303
msgid "low"
-msgstr ""
+msgstr "nízke"
-#: src/exif.c:302
-#, fuzzy
+#: ../src/exif.c:304
msgid "high"
-msgstr "Vý¹ka"
+msgstr "vysoké"
-#: src/exif.c:315
+#: ../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»"
+msgstr "zavrieť"
-#: src/exif.c:317
+#: ../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"
+msgstr "Šírka obrázku"
-#: src/exif.c:328
-#, fuzzy
+#: ../src/exif.c:330
msgid "Image Height"
-msgstr "Vý¹ka"
+msgstr "Výška obrázku"
-#: src/exif.c:329
+#: ../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"
+msgstr "Popis obrázku"
-#: src/exif.c:332
-#, fuzzy
+#: ../src/exif.c:334
msgid "Camera make"
-msgstr "Fotoaparát"
+msgstr "Vydanie fotoaparátu"
-#: src/exif.c:333
-#, fuzzy
+#: ../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"
+msgstr "Orientácia"
-#: src/exif.c:335
-#, fuzzy
+#: ../src/exif.c:337
msgid "X resolution"
-msgstr "Rozlí¹enie"
+msgstr "Rozlíšenie X"
-#: src/exif.c:336
-#, fuzzy
+#: ../src/exif.c:338
msgid "Y Resolution"
-msgstr "Rozlí¹enie"
+msgstr "Rozlíšenie Y"
-#: src/exif.c:337
-#, fuzzy
+#: ../src/exif.c:339
msgid "Resolution units"
-msgstr "Rozlí¹enie"
+msgstr "Jednotky rozlíšenia"
-#: src/exif.c:338
+#: ../src/exif.c:340
msgid "Firmware"
-msgstr ""
+msgstr "Firmvér"
-#: src/exif.c:340
+#: ../src/exif.c:342
msgid "White point"
-msgstr ""
+msgstr "Biely bod"
-#: src/exif.c:341
+#: ../src/exif.c:343
msgid "Primary chromaticities"
-msgstr ""
+msgstr "Primárne chromaticity"
-#: src/exif.c:342
+#: ../src/exif.c:344
msgid "YCbCy coefficients"
-msgstr ""
+msgstr "YCbCy koeficienty"
-#: src/exif.c:343
+#: ../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"
+msgstr "Čierno-biela referencia"
-#: src/exif.c:346
+#: ../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"
+msgstr "Čas expozície (sekúnd)"
-#: src/exif.c:349
+#: ../src/exif.c:351
msgid "FNumber"
-msgstr ""
+msgstr "Číslo F"
-#: src/exif.c:350
+#: ../src/exif.c:352
msgid "Exposure program"
-msgstr "Expozièný program"
+msgstr "Expozičný program"
-#: src/exif.c:351
-#, fuzzy
+#: ../src/exif.c:353
msgid "Spectral Sensitivity"
-msgstr "Citlivos» ISO"
+msgstr "Spektrálna citlivosť"
-#: src/exif.c:352 src/exif.c:388 src/exif-common.c:446
+#: ../src/exif.c:354 ../src/exif.c:390 ../src/exif-common.c:547
msgid "ISO sensitivity"
-msgstr "Citlivos» ISO"
+msgstr "Citlivosť ISO"
-#: src/exif.c:353
+#: ../src/exif.c:355
msgid "Optoelectric conversion factor"
-msgstr ""
+msgstr "Optoelektrický konverzný faktor"
-#: src/exif.c:354
+#: ../src/exif.c:356
msgid "Exif version"
-msgstr ""
+msgstr "Exif verzia"
-#: src/exif.c:355
+#: ../src/exif.c:357
msgid "Date original"
-msgstr "Dátum originálu"
+msgstr "Dátum originálu"
-#: src/exif.c:356
+#: ../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:"
+msgstr "Kompresný pomer"
-#: src/exif.c:359 src/exif-common.c:443
+#: ../src/exif.c:361 ../src/exif-common.c:544
msgid "Shutter speed"
-msgstr "Rýchlos» uzávierky"
+msgstr "Rýchlosť uzávierky"
-#: src/exif.c:360 src/exif-common.c:444
+#: ../src/exif.c:362 ../src/exif-common.c:545
msgid "Aperture"
msgstr "Clona"
-#: src/exif.c:361
+#: ../src/exif.c:363
msgid "Brightness"
-msgstr ""
+msgstr "Jas"
-#: src/exif.c:362 src/exif-common.c:445
+#: ../src/exif.c:364 ../src/exif-common.c:546
msgid "Exposure bias"
-msgstr "Skreslenie expozície"
+msgstr "Skreslenie expozície"
-#: src/exif.c:363
-#, fuzzy
+#: ../src/exif.c:365
msgid "Maximum aperture"
-msgstr "clona"
+msgstr "Maximálna clona"
-#: src/exif.c:364 src/exif-common.c:449
+#: ../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"
+msgstr "Režim merania"
-#: src/exif.c:366
+#: ../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»"
+msgstr "Ohnisková vzdialenosť"
-#: src/exif.c:369
-#, fuzzy
+#: ../src/exif.c:371
msgid "Subject area"
-msgstr "Vzdialenos» subjektu"
+msgstr "Oblasť subjektu"
-#: src/exif.c:370
+#: ../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:"
+msgstr "Poznámka používateľa"
-#: src/exif.c:372
+#: ../src/exif.c:374
msgid "Subsecond time"
-msgstr ""
+msgstr "Podsekundový čas"
-#: src/exif.c:373
-#, fuzzy
+#: ../src/exif.c:375
msgid "Subsecond time original"
-msgstr "Dátum originálu"
+msgstr "Podsekundový čas originálu"
-#: src/exif.c:374
-#, fuzzy
+#: ../src/exif.c:376
msgid "Subsecond time digitized"
-msgstr "Dátum digitalizácie"
+msgstr "Podsekundový čas digitalizácie"
-#: src/exif.c:375
+#: ../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"
+msgstr "Šírka"
-#: src/exif.c:379
+#: ../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"
+msgstr "Zvukové dáta"
-#: src/exif.c:381
+#: ../src/exif.c:383
msgid "ExifR98 extension"
-msgstr ""
+msgstr "ExifR98 rozšírenie"
-#: src/exif.c:382
-#, fuzzy
+#: ../src/exif.c:384
msgid "Flash strength"
-msgstr "Ohnisková vzdialenos»"
+msgstr "Sila blesku"
-#: src/exif.c:383
+#: ../src/exif.c:385
msgid "Spatial frequency response"
-msgstr ""
+msgstr "Priestorová frekvenčná odozva"
-#: src/exif.c:384
+#: ../src/exif.c:386
msgid "X Pixel density"
-msgstr ""
+msgstr "Hustota pixelov X"
-#: src/exif.c:385
+#: ../src/exif.c:387
msgid "Y Pixel density"
-msgstr ""
+msgstr "Hustota pixelov Y"
-#: src/exif.c:386
+#: ../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"
+msgstr "Typ zdroja"
-#: src/exif.c:391
-#, fuzzy
+#: ../src/exif.c:393
msgid "Scene type"
-msgstr "centimeter"
+msgstr "Typ scény"
-#: src/exif.c:392
+#: ../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»"
+msgstr "Proces vykresľovania"
-#: src/exif.c:395
-#, fuzzy
+#: ../src/exif.c:397
msgid "Exposure mode"
-msgstr "Skreslenie expozície"
+msgstr "Režim expozície"
-#: src/exif.c:396
+#: ../src/exif.c:398
msgid "White balance"
-msgstr ""
+msgstr "Vyváženie bielej"
-#: src/exif.c:397
+#: ../src/exif.c:399
msgid "Digital zoom ratio"
-msgstr ""
+msgstr "Pomer digitálnej lupy"
-#: src/exif.c:398
-#, fuzzy
+#: ../src/exif.c:400
msgid "Focal length (35mm)"
-msgstr "Ohnisková vzdialenos»"
+msgstr "Ohnisková vzdialenosť (35mm)"
-#: src/exif.c:399
+#: ../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"
+msgstr "Ovládanie zisku"
-#: src/exif.c:401
-#, fuzzy
+#: ../src/exif.c:403
msgid "Contrast"
-msgstr "na vý¹ku"
+msgstr "Kontrast"
-#: src/exif.c:402
-#, fuzzy
+#: ../src/exif.c:404
msgid "Saturation"
-msgstr "akcia"
+msgstr "Sýtosť"
-#: src/exif.c:403
+#: ../src/exif.c:405
msgid "Sharpness"
-msgstr ""
+msgstr "Ostrosť"
-#: src/exif.c:404
+#: ../src/exif.c:406
msgid "Device setting"
-msgstr ""
+msgstr "Nastavenie zariadenia"
-#: src/exif.c:405
-#, fuzzy
+#: ../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"
+msgstr "Sériové číslo obrázku"
-#: src/exif-common.c:307
+#: ../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é"
+msgstr "zapnuté"
-#: src/exif-common.c:343 src/trash.c:198
+#: ../src/exif-common.c:372 ../src/trash.c:210
msgid "off"
-msgstr "vypnuté"
+msgstr "vypnuté"
-#: src/exif-common.c:352
+#: ../src/exif-common.c:381
msgid "not detected by strobe"
-msgstr "nedetekované snímacím impulzom"
+msgstr "nedetegované snímacím impulzom"
-#: src/exif-common.c:353
+#: ../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èí\""
+msgstr "redukcia \"červených očí\""
-#: src/exif-common.c:378
+#: ../src/exif-common.c:407
msgid "dot"
msgstr "bod"
-#: src/exif-common.c:408
+#: ../src/exif-common.c:437
msgid "AdobeRGB"
-msgstr ""
+msgstr "AdobeRGB"
-#: src/exif-common.c:416
+#: ../src/exif-common.c:445
msgid "embedded"
+msgstr "vstavaný"
+
+#: ../src/exif-common.c:534
+msgid "Above Sea Level"
msgstr ""
-#: src/exif-common.c:441
-#, fuzzy
+#: ../src/exif-common.c:534
+msgid "Below Sea Level"
+msgstr ""
+
+#: ../src/exif-common.c:542
msgid "Camera"
-msgstr "Fotoaparát"
+msgstr "Fotoaparát"
-#: src/exif-common.c:448
-#, fuzzy
+#: ../src/exif-common.c:549
msgid "Focal length 35mm"
-msgstr "Ohnisková vzdialenos»"
+msgstr "Ohnisková vzdialenosť 35mm"
-#: src/exif-common.c:451
-#, fuzzy
+#: ../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/dupe.c:67 src/dupe.c:1449
-#: src/filedata.c:86
-#, c-format
-msgid "%d bytes"
-msgstr "%d bytov"
+#: ../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:95
+#, c-format
+msgid "%d bytes"
+msgstr "%d bajtov"
-#: src/filedata.c:90
+#: ../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»"
+msgstr "Úplná veľkosť"
-#: src/fullscreen.c:400
+#: ../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"
+msgstr "Zotrvať nad ostatnými oknami"
-#: src/fullscreen.c:649
+#: ../src/fullscreen.c:649
msgid "Determined by Window Manager"
-msgstr "Nech rozhodne správca okien (WM)"
+msgstr "Nech rozhodne správca okien"
-#: src/fullscreen.c:650
+#: ../src/fullscreen.c:650
msgid "Active screen"
-msgstr "Aktívna obrazovka"
+msgstr "Aktívna obrazovka"
-#: src/fullscreen.c:652
+#: ../src/fullscreen.c:652
msgid "Active monitor"
-msgstr "Aktívny monitor"
+msgstr "Aktívny monitor"
-#: src/histogram.c:86
-msgid "logarithmical histogram on red"
-msgstr ""
+#: ../src/histogram.c:113
+#, fuzzy
+msgid "Log Histogram on Red"
+msgstr "lineárny histogram červenej"
-#: src/histogram.c:87
-msgid "logarithmical histogram on green"
-msgstr ""
+#: ../src/histogram.c:114
+#, fuzzy
+msgid "Log Histogram on Green"
+msgstr "lineárny histogram zelenej"
-#: src/histogram.c:88
-msgid "logarithmical histogram on blue"
-msgstr ""
+#: ../src/histogram.c:115
+#, fuzzy
+msgid "Log Histogram on Blue"
+msgstr "lineárny histogram modrej"
-#: src/histogram.c:89
-msgid "logarithmical histogram on value"
-msgstr ""
+#: ../src/histogram.c:116
+#, fuzzy
+msgid "Log Histogram on RGB"
+msgstr "lineárny histogram RGB"
-#: src/histogram.c:90
-msgid "logarithmical histogram on RGB"
-msgstr ""
+#: ../src/histogram.c:117
+#, fuzzy
+msgid "Log Histogram on value"
+msgstr "lineárny histogram hodnoty"
-#: src/histogram.c:91
-msgid "logarithmical histogram on max value"
-msgstr ""
+#: ../src/histogram.c:122
+#, fuzzy
+msgid "Linear Histogram on Red"
+msgstr "lineárny histogram červenej"
-#: src/histogram.c:96
-msgid "linear histogram on red"
-msgstr ""
+#: ../src/histogram.c:123
+#, fuzzy
+msgid "Linear Histogram on Green"
+msgstr "lineárny histogram zelenej"
-#: src/histogram.c:97
-msgid "linear histogram on green"
-msgstr ""
+#: ../src/histogram.c:124
+#, fuzzy
+msgid "Linear Histogram on Blue"
+msgstr "lineárny histogram modrej"
-#: src/histogram.c:98
-msgid "linear histogram on blue"
-msgstr ""
+#: ../src/histogram.c:125
+#, fuzzy
+msgid "Linear Histogram on RGB"
+msgstr "lineárny histogram RGB"
-#: src/histogram.c:99
-msgid "linear histogram on value"
-msgstr ""
+#: ../src/histogram.c:126
+#, fuzzy
+msgid "Linear Histogram on value"
+msgstr "lineárny histogram hodnoty"
-#: src/histogram.c:100
-msgid "linear histogram on RGB"
-msgstr ""
+# 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/histogram.c:101
-msgid "linear histogram on max value"
-msgstr ""
+# 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"
+msgstr "Nastaviť ako _pozadie plochy"
-#: src/img-view.c:1283 src/layout_image.c:762
+#: ../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Ä\8diÅ¥ _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"
+msgstr "%d súborov%s"
-#: src/layout.c:593
+#: ../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/collect-dlg.c:59
-#: src/layout.c:1983
+#: ../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: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"
+msgstr "Obrázok"
-#: src/layout_config.c:364
+#: ../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"
+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/layout_image.c:1559
+#, c-format
+msgid "[%*d,%*d]: RGB(%3d,%3d,%3d)"
+msgstr ""
-# src/collect-table.c:78 src/menu.c:684
-#: src/layout_util.c:893
-#, fuzzy, c-format
-msgid "_%d empty"
-msgstr "prázdne"
+#: ../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)"
+msgstr "_Súbor"
-#: src/layout_util.c:1038
+#: ../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"
+msgstr "_Výber"
-# src/menu.c:626
-#: src/layout_util.c:1041 src/menu.c:265
-msgid "_Adjust"
-msgstr "N_astavi»"
+# src/dupe.c:1655 src/dupe.c:1944
+#: ../src/layout_util.c:1250 ../src/menu.c:280
+#, fuzzy
+msgid "_Orientation"
+msgstr "Orientácia"
-# src/ui_pathsel.c:507 src/ui_pathsel.c:759
-#: src/layout_util.c:1043
+#: ../src/layout_util.c:1251
+msgid "E_xternal Editors"
+msgstr ""
+
+# src/menu.c:748
+#: ../src/layout_util.c:1252
#, fuzzy
-msgid "_View Directory as"
-msgstr "Nový adresár"
+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"
+msgstr "_Lupa"
-#: src/layout_util.c:1045
-msgid "_Split"
+# 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)"
+msgstr "_Pomoc"
-#: src/layout_util.c:1048
-#, fuzzy
+#: ../src/layout_util.c:1262
msgid "_First Image"
-msgstr "prvý obrázok"
+msgstr "_Prvý obrázok"
-#: src/layout_util.c:1049 src/layout_util.c:1050 src/layout_util.c:1051
+#: ../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/preferences.c:660
-#: src/layout_util.c:1052 src/layout_util.c:1053 src/layout_util.c:1054
+#: ../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"
+msgstr "_nasledujúci obrázok"
-#: src/layout_util.c:1055
+# src/preferences.c:660
+#: ../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:1058
+#: ../src/layout_util.c:1273
msgid "New _window"
-msgstr "_Nové okno"
+msgstr "Nové _okno"
+
+# src/menu.c:711
+#: ../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:1059
+#: ../src/layout_util.c:1274
msgid "_New collection"
-msgstr "Nová zbierka"
+msgstr "_Nová zbierka"
+
+# src/collect-dlg.c:165 src/collect-table.c:641
+#: ../src/layout_util.c:1274
+#, fuzzy
+msgid "New collection"
+msgstr "_Nová zbierka"
# src/collect-dlg.c:172
-#: src/layout_util.c:1060
+#: ../src/layout_util.c:1275
msgid "_Open collection..."
-msgstr "_Otvori» zbierku..."
+msgstr "_Otvoriť zbierku..."
+
+# src/collect-dlg.c:172
+#: ../src/layout_util.c:1275
+#, fuzzy
+msgid "Open collection..."
+msgstr "_Otvoriť zbierku..."
+
+# src/menu.c:713
+#: ../src/layout_util.c:1276
+#, fuzzy
+msgid "Open recen_t"
+msgstr "Otvoriť _nedávne"
# 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 recent"
+msgstr "Otvoriť _nedávne"
# src/dupe.c:871 src/dupe.c:892
-#: src/layout_util.c:1062
+#: ../src/layout_util.c:1277
msgid "_Search..."
-msgstr "Vyhµadávanie..."
+msgstr "_Hľadať..."
+
+# src/dupe.c:871 src/dupe.c:892
+#: ../src/layout_util.c:1277
+#, fuzzy
+msgid "Search..."
+msgstr "_Hľadať..."
-#: src/layout_util.c:1064
-msgid "Pan _view"
-msgstr "Roz¹írený pohµad"
+# 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è..."
+msgstr "_Tlač..."
-#: src/layout_util.c:1066
+#: ../src/layout_util.c:1281
msgid "N_ew folder..."
-msgstr "Nový prieèinok..."
+msgstr "_Nový priečinok..."
-# src/preferences.c:684
-#: src/layout_util.c:1075
-msgid "_Quit"
-msgstr "Skonèi»"
+#: ../src/layout_util.c:1281
+#, fuzzy
+msgid "New folder..."
+msgstr "_Nový priečinok..."
-# src/menu.c:572
-#: src/layout_util.c:1088 src/menu.c:203
-msgid "_Rotate clockwise"
-msgstr ""
-"Rotova» v smere\n"
-"hodinových ruèièiek"
+# 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/menu.c:575
-#: src/layout_util.c:1089 src/menu.c:206
-msgid "Rotate _counterclockwise"
-msgstr ""
-"Rotova» proti smeru\n"
-"hodinových ruèièiek"
+# 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/menu.c:578
-#: src/layout_util.c:1090
-msgid "Rotate 1_80"
-msgstr "Rotova» 1_80"
+# 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/menu.c:581
-#: src/layout_util.c:1091 src/menu.c:212
-msgid "_Mirror"
-msgstr "_Zrkadli»"
+# 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/menu.c:584
-#: src/layout_util.c:1092 src/menu.c:215
-msgid "_Flip"
-msgstr "_Preklopi»"
+# 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/img-view.c:813 src/menu.c:982
-#: src/layout_util.c:1093 src/menu.c:218
+# src/preferences.c:823
+#: ../src/layout_util.c:1288
#, fuzzy
-msgid "Toggle _grayscale"
-msgstr "Za_stavi» prezentáciu"
+msgid "Enable file grouping"
+msgstr "Vypnúť filtrovanie súborov"
-#: src/layout_util.c:1094 src/menu.c:221
+# src/preferences.c:823
+#: ../src/layout_util.c:1289 ../src/view_file.c:605
#, fuzzy
-msgid "_Original state"
-msgstr "Pôvodný názov"
+msgid "Disable file groupi_ng"
+msgstr "Vypnúť filtrovanie súborov"
-# src/collect-table.c:627 src/dupe.c:1391 src/dupe.c:1563
-#: src/layout_util.c:1097
-msgid "Select _all"
-msgstr "Vybr_a» v¹etko"
+# src/preferences.c:823
+#: ../src/layout_util.c:1289
+#, fuzzy
+msgid "Disable file grouping"
+msgstr "Vypnúť filtrovanie súborov"
-# 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/utilops.c:592
+#: ../src/layout_util.c:1290
+#, fuzzy
+msgid "_Copy path to clipboard"
+msgstr "_Kopírovať cestu"
-# src/collect-table.c:628 src/dupe.c:1393 src/dupe.c:1565
-#: src/layout_util.c:1099
+#: ../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:1292
+msgid "_Quit"
+msgstr "_Koniec"
+
+# src/preferences.c:684
+#: ../src/layout_util.c:1292
+#, fuzzy
+msgid "Quit"
+msgstr "_Koniec"
+
+# src/menu.c:572
+#: ../src/layout_util.c:1293 ../src/menu.c:222
+msgid "_Rotate clockwise"
+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:1294 ../src/menu.c:225
+msgid "Rotate _counterclockwise"
+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:1295
+#, fuzzy
+msgid "Rotate 180"
+msgstr "Otočiť 1_80"
+
+# src/menu.c:581
+#: ../src/layout_util.c:1296 ../src/menu.c:231
+msgid "_Mirror"
+msgstr "_Zrkadliť"
+
+# src/menu.c:581
+#: ../src/layout_util.c:1296
+#, fuzzy
+msgid "Mirror"
+msgstr "_Zrkadliť"
+
+# src/menu.c:584
+#: ../src/layout_util.c:1297 ../src/menu.c:234
+msgid "_Flip"
+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ý 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:1299
+msgid "Select _all"
+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 "Výber"
+msgstr "_Opačný výber"
+
+# src/collect-table.c:628 src/dupe.c:1393 src/dupe.c:1565
+#: ../src/layout_util.c:1301
+#, fuzzy
+msgid "Invert Selection"
+msgstr "_Opačný výber"
# src/menu.c:748
-#: src/layout_util.c:1101
+#: ../src/layout_util.c:1302
msgid "P_references..."
-msgstr "Predv_oµby..."
+msgstr "_Predvoľby..."
+
+# src/menu.c:748
+#: ../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/layout_util.c:1102
+# 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"
+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:1114
+#: ../src/layout_util.c:1316 ../src/layout_util.c:1332
msgid "Fit _Horizontally"
-msgstr ""
+msgstr "Vmestiť _vodorovne"
-#: src/layout_util.c:1115
-msgid "Fit _Vorizontally"
-msgstr ""
+#: ../src/layout_util.c:1316
+#, fuzzy
+msgid "Fit Horizontally"
+msgstr "Vmestiť _vodorovne"
-# src/img-view.c:791 src/menu.c:946
-#: src/layout_util.c:1116
+#: ../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: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:1117
+#: ../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 "Zobrazenie _1:1"
+msgstr "Zobraziť _3:1"
# src/img-view.c:791 src/menu.c:946
-#: src/layout_util.c:1118
+#: ../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 "Zobrazenie _1:1"
+msgstr "Zobraziť _4:1"
# src/img-view.c:791 src/menu.c:946
-#: src/layout_util.c:1119
+#: ../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 "Zobrazenie _1:1"
+msgstr "Zobraziť 1:2"
# src/img-view.c:791 src/menu.c:946
-#: src/layout_util.c:1120
-#, fuzzy
+#: ../src/layout_util.c:1322 ../src/layout_util.c:1338
msgid "Zoom 1:3"
-msgstr "Zobrazenie _1:1"
+msgstr "Zobraziť 1:3"
# src/img-view.c:791 src/menu.c:946
-#: src/layout_util.c:1121
-#, fuzzy
+#: ../src/layout_util.c:1323 ../src/layout_util.c:1339
msgid "Zoom 1:4"
-msgstr "Zobrazenie _1:1"
+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:1337
+#, fuzzy
+msgid "Connected Zoom 1:2"
+msgstr "Zobraziť 1:2"
+
+# src/img-view.c:791 src/menu.c:946
+#: ../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: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"
+msgstr "_Celooobrazovkový režim"
-#: src/layout_util.c:1129 src/layout_util.c:1130
+# src/fullscreen.c:117
+#: ../src/layout_util.c:1344 ../src/layout_util.c:1345
#, fuzzy
-msgid "Escape"
-msgstr "na ¹írku"
+msgid "_Leave full screen"
+msgstr "Geeqie: celoobrazovkový režim"
-#: src/layout_util.c:1131
-msgid "_Image Overlay"
-msgstr ""
+# 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:1132
-msgid "Histogram _channels"
+#: ../src/layout_util.c:1346
+msgid "_Cycle through overlay modes"
msgstr ""
-#: src/layout_util.c:1133
-msgid "Histogram _log mode"
+#: ../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:1134
+#: ../src/layout_util.c:1349
msgid "_Hide file list"
-msgstr "Sky» zoznam súborov"
+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
+# src/menu.c:1010
+#: ../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: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:1136
+#: ../src/layout_util.c:1351
msgid "_Refresh"
-msgstr "Obnovi»"
+msgstr "_Obnoviť"
+
+# src/menu.c:891 src/menu.c:920
+#: ../src/layout_util.c:1351
+#, fuzzy
+msgid "Refresh"
+msgstr "_Obnoviť"
# src/menu.c:776
-#: src/layout_util.c:1138
+#: ../src/layout_util.c:1352
msgid "_Contents"
-msgstr "Obsah"
+msgstr "_Obsah"
+
+# src/menu.c:776
+#: ../src/layout_util.c:1352
+#, fuzzy
+msgid "Contents"
+msgstr "_Obsah"
# src/menu.c:773
-#: src/layout_util.c:1139
+#: ../src/layout_util.c:1353
msgid "_Keyboard shortcuts"
-msgstr "_Klávesové skratky"
+msgstr "_Klávesové skratky"
+
+# src/menu.c:773
+#: ../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:1141
+#: ../src/layout_util.c:1355
msgid "_About"
-msgstr "O Geeqie"
+msgstr "_O aplikácii 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/menu.c:776
+#: ../src/layout_util.c:1355 ../src/preferences.c:2192
+msgid "About"
+msgstr "O aplikácii Geeqie"
-# src/ui_pathsel.c:764
-#: src/layout_util.c:1146
+# 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: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:1148
+#: ../src/layout_util.c:1366
msgid "Hide tool_bar"
-msgstr "Skry» panel nástrojov"
+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:754
+#: ../src/layout_util.c:1366
+#, fuzzy
+msgid "Hide toolbar"
+msgstr "Skryť _panel nástrojov"
-# src/menu.c:765
-#: src/layout_util.c:1150
-msgid "E_xif data"
-msgstr "_Exif dáta"
+#: ../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:1151
+#: ../src/layout_util.c:1368
msgid "Sort _manager"
-msgstr "_Správca triedenia"
+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/menu.c:526
+#: ../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:1154
+#: ../src/layout_util.c:1369
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"
+msgstr "Prepnúť _prezentáciu"
-#: src/layout_util.c:1159
-msgid "I_cons"
-msgstr "_Ikona:"
+# 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:1163
-msgid "Horizontal"
-msgstr ""
+#: ../src/layout_util.c:1370
+msgid "Use _color profiles"
+msgstr "Použiť _Farebné profily"
-#: src/layout_util.c:1164
+#: ../src/layout_util.c:1370
#, fuzzy
-msgid "Vertical"
-msgstr "èiastoèný"
+msgid "Use color profiles"
+msgstr "Použiť _Farebné profily"
-#: src/layout_util.c:1165
-msgid "Quad"
-msgstr ""
+#: ../src/layout_util.c:1371
+msgid "Use profile from _image"
+msgstr "Použiť profil z _obrázka"
-# src/dupe.c:1653 src/dupe.c:1942
-#: src/layout_util.c:1166
+#: ../src/layout_util.c:1371
#, fuzzy
-msgid "Single"
-msgstr "Veµkos»"
+msgid "Use profile from image"
+msgstr "Použiť profil z _obrázka"
-#: src/layout_util.c:1354
-#, c-format
-msgid "Mark _%d"
-msgstr ""
+# src/img-view.c:813 src/menu.c:982
+#: ../src/layout_util.c:1372
+msgid "Toggle _grayscale"
+msgstr "Prepnúť šedotón"
-#: src/layout_util.c:1355 src/view_file.c:515
-#, c-format
-msgid "_Set mark %d"
-msgstr ""
+# 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:1356 src/view_file.c:516
-#, c-format
-msgid "_Reset mark %d"
+#: ../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:1357 src/layout_util.c:1358 src/view_file.c:517
-#, c-format
-msgid "_Toggle mark %d"
+#: ../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/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: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 "Značka _%d"
+
+#: ../src/layout_util.c:1680 ../src/view_file.c:540
+#, c-format
+msgid "_Set mark %d"
+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 "_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 "_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 "_Select mark %d"
-msgstr "Vybra» v¹etko"
+msgid "Se_lect mark %d"
+msgstr "_Vybrať značku %d"
-#: src/layout_util.c:1361 src/view_file.c:519
+# 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ť značku %d"
+
+#: ../src/layout_util.c:1686 ../src/view_file.c:544
+#, c-format
msgid "_Add mark %d"
-msgstr "Prida» zálo¾ku"
+msgstr "_Pridať značku %d"
-#: src/layout_util.c:1362 src/view_file.c:520
+#: ../src/layout_util.c:1686
+#, fuzzy, c-format
+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 ""
+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:1363 src/view_file.c:521
+#: ../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"
+msgstr "_Odznačiť značku %d"
-# src/menu.c:1075
-#: src/layout_util.c:1552
-msgid "Change to home folder"
-msgstr "Návrat do domovského prieèinka"
+#: ../src/layout_util.c:1688
+#, fuzzy, c-format
+msgid "Unselect mark %d"
+msgstr "_Odznačiť značku %d"
-# src/menu.c:1077
-#: src/layout_util.c:1554
-msgid "Refresh file list"
-msgstr "Obnovi» zoznam súborov"
+#: ../src/layout_util.c:1689
+#, fuzzy, c-format
+msgid "_Filter mark %d"
+msgstr "_Nastaviť značku %d"
-# 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/layout_util.c:1689
+#, fuzzy, c-format
+msgid "Filter mark %d"
+msgstr "_Nastaviť značku %d"
-# src/img-view.c:790 src/menu.c:945 src/menu.c:1081
-#: src/layout_util.c:1558
-msgid "Zoom out"
-msgstr "Oddiali»"
+#: ../src/layout_util.c:2217
+#, c-format
+msgid "Number of files with unsaved metadata: %d"
+msgstr ""
-# 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/layout_util.c:2223
+msgid "No unsaved metadata"
+msgstr ""
-# src/menu.c:1085
-#: src/layout_util.c:1562
-msgid "Set zoom 1:1"
-msgstr "Nastavi» zobrazenie 1:1"
+#: ../src/layout_util.c:2270
+#, c-format
+msgid ""
+"Image profile: %s\n"
+"Screen profile: %s"
+msgstr ""
-# src/menu.c:1087
-#: src/layout_util.c:1564
-msgid "Configure options"
-msgstr "Konfigurova» voµby"
+#: ../src/layout_util.c:2278
+msgid "Click to enable color management"
+msgstr ""
-# src/preferences.c:401
-#: src/layout_util.c:1565
-msgid "_Float"
-msgstr "P_lávajúce"
+#: ../src/layout_util.c:2283
+msgid "Color profiles not supported"
+msgstr "Farebné profily nie sú podporované"
-# src/menu.c:1089
-#: src/layout_util.c:1566
-msgid "Float Controls"
-msgstr "Plávajúce ovládanie"
+#: ../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 ""
+msgstr "Odpojené od LIRC\n"
-#: src/lirc.c:199
-#, fuzzy, c-format
+#: ../src/lirc.c:212
+#, c-format
msgid "Could not init LIRC support\n"
-msgstr "Prieèinok nie je podporovaný"
+msgstr "Nepodarilo sa spustiť podporu LIRC\n"
-#: src/lirc.c:206
+#: ../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"
+" -l, --list otvoriť okno so zbierkou pre príkazový riadok\n"
-#: src/main.c:398
+#: ../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"
+" -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
+#: ../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"
+msgstr "Chybné alebo ignorované vzdialené možnosti:"
-#: src/main.c:454
+#: ../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"
+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/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/utilops.c:989
-#: src/main.c:564 src/ui_bookmark.c:863
-msgid "Desktop"
-msgstr "Plocha"
+# 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:120
+#: ../src/menu.c:136
msgid "Sort by date"
-msgstr "Usporiada» podµa dátumu"
+msgstr "Usporiadať podľa dátumu"
+
+# src/menu.c:513
+#: ../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/collect-table.c:86
-#: src/pan-view.c:470
-#, c-format
-msgid "%d images, %s"
-msgstr "%d obrázkov, %s"
+#: ../src/metadata.c:1463
+msgid "People"
+msgstr "Ľudia"
-#: src/pan-view.c:480
-#, c-format
-msgid "The pan view does not support the folder \"%s\"."
-msgstr "Roz¹írený pohµad nepodporuje prieèinok \"%s\"."
+#: ../src/metadata.c:1464
+msgid "Family"
+msgstr ""
-#: src/pan-view.c:481
-msgid "Folder not supported"
-msgstr "Prieèinok nie je podporovaný"
+#: ../src/metadata.c:1465
+msgid "Free time"
+msgstr ""
-# src/dupe.c:841
-#: src/pan-view.c:1083 src/pan-view.c:1099
-msgid "Reading image data..."
-msgstr "Naèítavam dáta obrázku..."
+#: ../src/metadata.c:1466
+msgid "Children"
+msgstr ""
-# src/dupe.c:871 src/dupe.c:892
-#: src/pan-view.c:1158
-msgid "Sorting images..."
-msgstr "Triedim obrázky..."
+#: ../src/metadata.c:1467
+#, fuzzy
+msgid "Sport"
+msgstr "na výšku"
-# src/dupe.c:1654 src/dupe.c:1943
-#: src/pan-view.c:1546 src/pan-view.c:1912
-msgid "Date:"
-msgstr "Dátum:"
+#: ../src/metadata.c:1468
+#, fuzzy
+msgid "Culture"
+msgstr "Príroda"
-# 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/metadata.c:1469
+msgid "Festival"
+msgstr ""
-#: src/pan-view.c:1650
-msgid "path found"
-msgstr "nájdená cesta"
+#: ../src/metadata.c:1470
+msgid "Nature"
+msgstr "Príroda"
-# src/utilops.c:980
-#: src/pan-view.c:1650
-msgid "filename found"
-msgstr "nájdený súbor"
+#: ../src/metadata.c:1471
+msgid "Animal"
+msgstr ""
-#: src/pan-view.c:1698
-msgid "partial match"
-msgstr "èiastoèná zhoda"
+#: ../src/metadata.c:1472
+msgid "Bird"
+msgstr ""
-#: src/pan-view.c:1909 src/pan-view.c:1942
-msgid "no match"
-msgstr "¾iadna zhoda"
+#: ../src/metadata.c:1473
+msgid "Insect"
+msgstr ""
-#: src/pan-view.c:2268 src/search.c:2150
-msgid "Folder not found"
-msgstr "Prieèinok sa nena¹iel"
+#: ../src/metadata.c:1474
+msgid "Pets"
+msgstr ""
-#: src/pan-view.c:2269
-msgid "The entered path is not a folder"
-msgstr "Zadaná cesta nie je prieèinok"
+#: ../src/metadata.c:1475
+msgid "Wildlife"
+msgstr ""
-#: src/pan-view.c:2368
+# src/img-view.c:789 src/menu.c:944 src/menu.c:1079
+#: ../src/metadata.c:1476
#, fuzzy
-msgid "Pan View"
-msgstr "Roz¹írený pohµad"
+msgid "Zoo"
+msgstr "Lupa"
-# src/preferences.c:369
-#: src/pan-view.c:2393
+#: ../src/metadata.c:1477
+msgid "Plant"
+msgstr ""
+
+# src/menu.c:768
+#: ../src/metadata.c:1478
#, fuzzy
-msgid "Timeline"
-msgstr "Bilineárne"
+msgid "Tree"
+msgstr "_Strom"
-# src/dupe.c:1412 src/dupe.c:1570
-#: src/pan-view.c:2394
-msgid "Calendar"
-msgstr "Kalendár"
+#: ../src/metadata.c:1479
+msgid "Flower"
+msgstr ""
-# src/preferences.c:368
-#: src/pan-view.c:2396
-msgid "Folders (flower)"
-msgstr "Prieèinky (kvet)"
+#: ../src/metadata.c:1480
+msgid "Water"
+msgstr ""
-#: src/pan-view.c:2397
-msgid "Grid"
-msgstr "Mrie¾ka"
+#: ../src/metadata.c:1481
+msgid "River"
+msgstr ""
-# src/main.c:561
-#: src/pan-view.c:2406
-msgid "Dots"
-msgstr "Bodky"
+#: ../src/metadata.c:1482
+msgid "Lake"
+msgstr ""
-# src/preferences.c:676
-#: src/pan-view.c:2407
-msgid "No Images"
-msgstr "®iadne obrázky"
+# src/dupe.c:871 src/dupe.c:892
+#: ../src/metadata.c:1483
+#, fuzzy
+msgid "Sea"
+msgstr "Hľadanie:"
-# src/dupe.c:2054 src/preferences.c:586
-#: src/pan-view.c:2408
-msgid "Small Thumbnails"
-msgstr "Malé miniatúry"
+#: ../src/metadata.c:1484 ../src/print.c:375
+msgid "Landscape"
+msgstr "Na šírku"
-# src/dupe.c:2054 src/preferences.c:586
-#: src/pan-view.c:2409
-msgid "Normal Thumbnails"
-msgstr "Normálne miniatúry"
+#: ../src/metadata.c:1485
+msgid "Art"
+msgstr "Umenie"
-# src/cache_maint.c:252
-#: src/pan-view.c:2410
-msgid "Large Thumbnails"
-msgstr "Veµké miniatúry"
+#: ../src/metadata.c:1486
+#, fuzzy
+msgid "Statue"
+msgstr "Stav"
-#: src/pan-view.c:2411 src/pan-view.c:2863
-msgid "1:10 (10%)"
-msgstr "1:10 (10%)"
+# src/ui_pathsel.c:799
+#: ../src/metadata.c:1487
+#, fuzzy
+msgid "Painting"
+msgstr "Chyba pri tlači"
-#: src/pan-view.c:2412 src/pan-view.c:2859
-msgid "1:4 (25%)"
-msgstr "1:4 (25%)"
+#: ../src/metadata.c:1488 ../src/metadata.c:1502
+msgid "Historic"
+msgstr ""
-#: src/pan-view.c:2413 src/pan-view.c:2855
-msgid "1:3 (33%)"
-msgstr "1:3 (33%)"
+#: ../src/metadata.c:1489 ../src/metadata.c:1503
+msgid "Modern"
+msgstr ""
-#: src/pan-view.c:2414 src/pan-view.c:2851
-msgid "1:2 (50%)"
-msgstr "1:2 (50%)"
+#: ../src/metadata.c:1490
+msgid "City"
+msgstr ""
-#: src/pan-view.c:2415
+#: ../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:472
+#, c-format
+msgid "%d images, %s"
+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:483
+msgid "Folder not supported"
+msgstr "Priečinok nie je podporovaný"
+
+# src/dupe.c:841
+#: ../src/pan-view.c:1084 ../src/pan-view.c:1100
+msgid "Reading image data..."
+msgstr "Načítavam dáta obrázku..."
+
+# src/dupe.c:871 src/dupe.c:892
+#: ../src/pan-view.c:1159
+msgid "Sorting images..."
+msgstr "Triedim obrázky..."
+
+# src/utilops.c:980
+#: ../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:1708
+msgid "partial match"
+msgstr "čiastočná zhoda"
+
+#: ../src/pan-view.c:1919 ../src/pan-view.c:1952
+msgid "no match"
+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:2295
+msgid "The entered path is not a folder"
+msgstr "Zadaná cesta nie je priečinok"
+
+#: ../src/pan-view.c:2390
+msgid "Pan View"
+msgstr "Rozšírený pohľad"
+
+# src/preferences.c:369
+#: ../src/pan-view.c:2415
+msgid "Timeline"
+msgstr "Harmonogram"
+
+# src/dupe.c:1412 src/dupe.c:1570
+#: ../src/pan-view.c:2416
+msgid "Calendar"
+msgstr "Kalendár"
+
+# src/preferences.c:368
+#: ../src/pan-view.c:2418
+msgid "Folders (flower)"
+msgstr "Priečinky (kvet)"
+
+#: ../src/pan-view.c:2419
+msgid "Grid"
+msgstr "Mriežka"
+
+# src/main.c:561
+#: ../src/pan-view.c:2428
+msgid "Dots"
+msgstr "Bodky"
+
+# src/preferences.c:676
+#: ../src/pan-view.c:2429
+msgid "No Images"
+msgstr "Žiadne obrázky"
+
+# src/dupe.c:2054 src/preferences.c:586
+#: ../src/pan-view.c:2430
+msgid "Small Thumbnails"
+msgstr "Malé náhľady"
+
+# src/dupe.c:2054 src/preferences.c:586
+#: ../src/pan-view.c:2431
+msgid "Normal Thumbnails"
+msgstr "Normálne náhľady"
+
+# src/cache_maint.c:252
+#: ../src/pan-view.c:2432
+msgid "Large Thumbnails"
+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:2434 ../src/pan-view.c:2889
+msgid "1:4 (25%)"
+msgstr "1:4 (25%)"
+
+#: ../src/pan-view.c:2435 ../src/pan-view.c:2885
+msgid "1:3 (33%)"
+msgstr "1:3 (33%)"
+
+#: ../src/pan-view.c:2436 ../src/pan-view.c:2881
+msgid "1:2 (50%)"
+msgstr "1:2 (50%)"
+
+#: ../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"
+msgstr "Použiť Exif dátum"
-#: src/pan-view.c:2519
+#: ../src/pan-view.c:2541
msgid "Find"
-msgstr "Hµada»"
+msgstr "Hľadať"
-#: src/pan-view.c:2586
+#: ../src/pan-view.c:2608
msgid "Pan View Performance"
-msgstr "Výkon roz¹íreného pohµadu"
+msgstr "Výkon rozšíreného pohľadu"
-#: src/pan-view.c:2593
+#: ../src/pan-view.c:2615
msgid "Pan view performance may be poor."
-msgstr "Výkon roz¹íreného pohµadu mô¾e by» chabý."
+msgstr "Výkon rozšíreného pohľadu môže byť chabý."
-#: 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 "
"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"
+msgstr "Kešovať náhľady"
-#: src/pan-view.c:2604 src/preferences.c:896
+#: ../src/pan-view.c:2626
msgid "Use shared thumbnail cache"
-msgstr "Pou¾i» zdieµanú vyrovnávaciu pamä» pre miniatúry"
+msgstr "Použiť zdieľanú vyrovnávaciu pamäť pre náhľady"
-#: src/pan-view.c:2610
+#: ../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"
+msgstr "Usporiadať podľa E_xif dátumu"
-#: src/pan-view.c:2837
+#: ../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»"
+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/menu.c:432 src/menu.c:461
+#: ../src/preferences.c:90
+#, fuzzy
+msgid "Unknown"
+msgstr "neznáme"
-#: src/preferences.c:404
-msgid "Always"
-msgstr ""
+# 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"
+msgstr "Najlepšia"
-#: src/preferences.c:548 src/print.c:372
+#: ../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"
+msgstr "Vynulovať filtre"
-#: src/preferences.c:716
+#: ../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ô¹"
+msgstr "Vyčistiť kôš"
-#: src/preferences.c:782
+#: ../src/preferences.c:850
msgid "This will remove the trash contents."
-msgstr "Toto vyma¾e obsah ko¹a."
+msgstr "Týmto sa odstráni obsah koša."
-#: src/preferences.c:826 src/preferences.c:829
+#: ../src/preferences.c:894 ../src/preferences.c:897
msgid "Reset image overlay template string"
-msgstr ""
+msgstr "Vynulovať reťazec šablóny prekrytia obrázku"
-#: src/preferences.c:830
-#, fuzzy
+#: ../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»?"
+"Chystám sa nastaviť reťazec šablóny prekrytia obrázkov 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"
+# 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)"
+msgstr "Použiť xvpics náhľady ak sú k dispozícii (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)"
+#: ../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):"
+msgstr "Oneskorenie pri zmene obrázku (v sekundách):"
-#: src/preferences.c:916
+#: ../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:"
+msgstr "Metóda vyhladzovania:"
-#: src/preferences.c:952
-msgid "Two pass zooming"
-msgstr "Dvojpriechodová zmena mierky"
+#: ../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
+#: ../src/preferences.c:1376
#, fuzzy
-msgid "Custom border color"
-msgstr "Pou¾ívateµom definovaná tlaèiareò"
+msgid "Use custom border color in window mode"
+msgstr "Používateľská farba pozadia"
-#: src/preferences.c:990
-#, fuzzy
+#: ../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á"
+msgstr "Okná"
-#: src/preferences.c:1019
+#: ../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 (%):"
+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:676
+#: ../src/preferences.c:1437
+msgid "Smooth image flip"
+msgstr "Plynulé preklopenie obrázku"
-# src/preferences.c:812
-#: src/preferences.c:1066
-msgid "Filtering"
-msgstr "Filtrovanie"
+#: ../src/preferences.c:1439
+msgid "Disable screen saver"
+msgstr "Vypnúť šetrič obrazovky"
-#: src/preferences.c:1071
-msgid "Show hidden files or folders"
+#: ../src/preferences.c:1443
+msgid "Overlay Screen Display"
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:1445
+msgid "Image overlay template"
+msgstr "Šablóna prekrytia obrázku"
-#: src/preferences.c:1075
-msgid "Case sensitive sort"
-msgstr "Triedenie citlivé na veµkos» znakov"
+#: ../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"
+"<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: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:1078
+#: ../src/preferences.c:1539
msgid "Disable File Filtering"
-msgstr "Vypnú» filtrovanie súborov"
+msgstr "Vypnúť filtrovanie súborov"
-#: src/preferences.c:1082
+#: ../src/preferences.c:1543
msgid "Grouping sidecar extensions"
msgstr ""
# src/ui_pathsel.c:799
-#: src/preferences.c:1089
+#: ../src/preferences.c:1550
msgid "File types"
-msgstr "Typy súborov"
+msgstr "Typy súborov"
# src/ui_pathsel.c:799
-#: src/preferences.c:1111
+#: ../src/preferences.c:1572
msgid "Filter"
msgstr "Filter"
-#: src/preferences.c:1148 src/preferences.c:1234 src/preferences.c:1378
-msgid "Defaults"
-msgstr "Prednastavené"
+#: ../src/preferences.c:1607
+msgid "Class"
+msgstr ""
-# src/preferences.c:915
-#: src/preferences.c:1177
-msgid "Editors"
-msgstr "Editory"
+#: ../src/preferences.c:1624
+msgid "Writable"
+msgstr ""
-# src/preferences.c:927
-#: src/preferences.c:1183
-msgid "#"
-msgstr "#"
+#: ../src/preferences.c:1635
+msgid "Sidecar is allowed"
+msgstr ""
-# src/preferences.c:930
-#: src/preferences.c:1186 src/preferences.c:1497
-msgid "Menu name"
-msgstr "Názov ponuky"
+#: ../src/preferences.c:1681
+msgid "Metadata writing process"
+msgstr ""
-# src/preferences.c:933
-#: src/preferences.c:1189
-msgid "Command Line"
-msgstr "Príkazový riadok"
+#: ../src/preferences.c:1683
+msgid "Warning: Geeqie is built without Exiv2. Some options are disabled."
+msgstr ""
-# src/menu.c:748
-#: src/preferences.c:1261
-#, fuzzy
-msgid "Properties"
-msgstr "Vlastnosti"
+#: ../src/preferences.c:1685
+msgid ""
+"Metadata are written in the following order. The process ends after first "
+"success."
+msgstr ""
-#: src/preferences.c:1279
-msgid "What to show in properties dialog:"
+#: ../src/preferences.c:1688
+msgid ""
+"1) Save metadata in image files, resp. sidecar files, according to the XMP "
+"standard"
msgstr ""
-#: src/preferences.c:1316
-msgid "Advanced"
-msgstr "Pokroèilé"
+#: ../src/preferences.c:1694
+msgid ""
+"2) Save metadata in '.metadata' folder, local to image folder (non-standard)"
+msgstr ""
-# src/preferences.c:676
-#: src/preferences.c:1337
-msgid "Smooth image flip"
-msgstr "Plynulé preklopenie obrázku"
+#: ../src/preferences.c:1697
+#, c-format
+msgid "3) Save metadata in Geeqie private directory '%s'"
+msgstr ""
-#: src/preferences.c:1339
-msgid "Disable screen saver"
-msgstr "Vypnú» ¹etriè obrazovky"
+#: ../src/preferences.c:1703
+msgid "Step 1: Write to image files"
+msgstr ""
-#: src/preferences.c:1343
-msgid "Overlay Screen Display"
+#: ../src/preferences.c:1711
+msgid ""
+"Store metadata also in legacy IPTC tags (converted according to IPTC4XMP "
+"standard)"
msgstr ""
-#: src/preferences.c:1345
-msgid "Always show image overlay at startup"
+#: ../src/preferences.c:1714
+msgid "Warn if the image files are unwritable"
msgstr ""
-#: src/preferences.c:1347
-msgid "Image overlay template"
+#: ../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:1361
+#: ../src/preferences.c:1725
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"
+"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"
+
+#: ../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:1811 ../src/preferences.c:1831
+msgid "Select color profile"
+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: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:1393
+#: ../src/preferences.c:1852 ../src/utilops.c:1985
msgid "Delete"
-msgstr "Zmaza»"
+msgstr "Odstrániť"
# src/preferences.c:667
-#: src/preferences.c:1395
+#: ../src/preferences.c:1854
msgid "Confirm file delete"
-msgstr "Potvrdi» zmazanie súboru"
+msgstr "Potvrdiť odstránenie súboru"
# src/preferences.c:669
-#: src/preferences.c:1397
+#: ../src/preferences.c:1856
msgid "Enable Delete key"
-msgstr "Povoli» klávesu Delete"
+msgstr "Povoliť klávesu Delete"
# src/preferences.c:667
-#: src/preferences.c:1400
+#: ../src/preferences.c:1859
msgid "Safe delete"
-msgstr "Bezpeèné mazanie"
+msgstr "Bezpečné odstránenie"
-#: src/preferences.c:1418
+#: ../src/preferences.c:1877
msgid "Maximum size:"
-msgstr "Maximálna veµkos»:"
+msgstr "Maximálna veľkosť:"
-#: src/preferences.c:1418
+#: ../src/preferences.c:1877
msgid "MB"
msgstr "MB"
-#: src/preferences.c:1421
+#: ../src/preferences.c:1880
msgid "Set to 0 for unlimited size"
-msgstr ""
+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:1423
+#: ../src/preferences.c:1882
msgid "View"
-msgstr "Zobrazi»"
-
-#: src/preferences.c:1434
-msgid "Behavior"
-msgstr "Správanie"
+msgstr "Zobraziť"
# src/preferences.c:906
-#: src/preferences.c:1436
+#: ../src/preferences.c:1895
msgid "Rectangular selection in icon view"
-msgstr "Obdå¾nikový výber v ikonovom pohµade"
+msgstr "Obdĺžnikový výber v ikonovom pohľade"
-#: src/preferences.c:1439
+#: ../src/preferences.c:1898
msgid "Descend folders in tree view"
-msgstr "Zni¾ova» prieèinky v stromovom zobrazení"
+msgstr "Znižovať priečinky v stromovom zobrazení"
# src/preferences.c:658
-#: src/preferences.c:1442
+#: ../src/preferences.c:1901
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
+#: ../src/preferences.c:1904
msgid "Open recent list maximum size"
-msgstr ""
+msgstr "Maximálna veľkosť zoznamu naposledy otvorených"
-#: src/preferences.c:1451
+#: ../src/preferences.c:1907
msgid "Drag'n drop icon size"
-msgstr ""
+msgstr "Veľkosť ikony pre ťahaj-a-pusť"
-#: src/preferences.c:1454
+#: ../src/preferences.c:1910
msgid "Navigation"
-msgstr "Navigácia"
+msgstr "Navigácia"
# src/preferences.c:764
-#: src/preferences.c:1456
+#: ../src/preferences.c:1912
msgid "Progressive keyboard scrolling"
-msgstr "Progresívne posúvanie klávesnicou"
+msgstr "Progresívne posúvanie klávesnicou"
# src/preferences.c:766
-#: src/preferences.c:1458
+#: ../src/preferences.c:1914
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"
+msgstr "Koliesko myši posúva obrázok"
# src/preferences.c:875
-#: src/preferences.c:1469
+#: ../src/preferences.c:1919
msgid "Custom similarity threshold:"
-msgstr "Pou¾ívateµský prah podobnosti:"
+msgstr "Používateľský prah podobnosti:"
-#: src/preferences.c:1472
-msgid "Image loading and caching"
-msgstr ""
+#: ../src/preferences.c:1924
+msgid "Debugging"
+msgstr "Ladenie"
-# 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:1926
+msgid "Debug level:"
+msgstr "Úroveň ladenia:"
-#: src/preferences.c:1477
-msgid "Image read buffer size (bytes):"
+#: ../src/preferences.c:1945
+msgid "Keyboard"
msgstr ""
-#: src/preferences.c:1481
-msgid "Image idle loop read count:"
+#: ../src/preferences.c:1947
+msgid "Accelerators"
msgstr ""
-# src/ui_pathsel.c:697
-#: src/preferences.c:1486
+#: ../src/preferences.c:1966
#, fuzzy
-msgid "Color profiles"
-msgstr "V¹etky súbory"
+msgid "Action"
+msgstr "akcia"
-#: src/preferences.c:1494
-msgid "Type"
+#: ../src/preferences.c:1988
+msgid "KEY"
msgstr ""
-# src/ui_pathsel.c:799
-#: src/preferences.c:1500
+# src/preferences.c:368
+#: ../src/preferences.c:1999
#, fuzzy
-msgid "File"
-msgstr "Súbor:"
+msgid "Tooltip"
+msgstr "Nástroje"
-# src/collect-table.c:628 src/dupe.c:1393 src/dupe.c:1565
-#: src/preferences.c:1525 src/preferences.c:1536
+# src/utilops.c:707
+#: ../src/preferences.c:2037
#, fuzzy
-msgid "Select color profile"
-msgstr "Vybra» prieèinok"
+msgid "Reset selected"
+msgstr "Vynulovať filtre"
-#: src/preferences.c:1533
+# src/collect-table.c:628 src/dupe.c:1393 src/dupe.c:1565
+#: ../src/preferences.c:2043
#, fuzzy
-msgid "Screen:"
-msgstr "Obrazovka"
-
-#: src/preferences.c:1544
-msgid "Debugging"
-msgstr ""
-
-#: src/preferences.c:1546
-msgid "Debug level:"
-msgstr ""
+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"
"\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"
+msgstr "Výber"
-#: src/print.c:118
+#: ../src/print.c:125
msgid "All"
-msgstr "V¹etko"
+msgstr "Všetko"
-#: src/print.c:129
+#: ../src/print.c:136
msgid "One image per page"
-msgstr "Jeden obrázok na stránku"
+msgstr "Jeden obrázok na stránku"
-#: src/print.c:130
+#: ../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ò"
+msgstr "Používateľom definovaná tlačiareň"
-#: src/print.c:145
+#: ../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"
+msgstr "Súbor obrázku"
-#: src/print.c:160
+#: ../src/print.c:167
msgid "jpeg, low quality"
-msgstr "jpeg, nízka kvalita"
+msgstr "jpeg, nízka kvalita"
-#: src/print.c:161
+#: ../src/print.c:168
msgid "jpeg, normal quality"
-msgstr "jpeg, normálna kvalita"
+msgstr "jpeg, normálna kvalita"
-#: src/print.c:162
+#: ../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 ""
#. 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"
+msgstr "stránka %d z %d"
-#: src/print.c:743 src/utilops.c:2462
+#: ../src/print.c:751
msgid "Preview"
-msgstr "Náhµad"
+msgstr "Predbežné zobrazenie"
-#: src/print.c:1051
+#: ../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."
+msgstr "Súbor s názvom %s už existuje."
-#: 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 "Chyba pri zápise do súboru %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
+#: ../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ò."
+msgstr "SIGPIPE chyba pri zápise na tlačiareň."
-#: src/print.c:1982
+#: ../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"
+msgstr "Chyba pri tlači"
-#: src/print.c:2008
+#: ../src/print.c:1972
#, c-format
msgid "An error occured printing to %s."
-msgstr "Pri tlaèi na %s sa vyskytla chyba."
+msgstr "Pri tlači na %s sa vyskytla chyba."
-#: src/print.c:2012
+#: ../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ò"
+msgstr "Tlač"
-#: src/print.c:2624
+#: ../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:"
+msgstr "Formát:"
-#: src/print.c:2799
+#: ../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:"
+msgstr "Orientácia:"
-#: src/print.c:2975
+#: ../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é"
+msgstr "Neobmedzené"
-#: src/print.c:3230
+#: ../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:"
+msgstr "Veľkosť obrázku:"
+
+#: ../src/print.c:3420
+msgid "Text"
+msgstr "Text"
-#: src/print.c:3449
+#: ../src/print.c:3430
msgid "Paper"
msgstr "Papier"
-#: src/print.c:3472
+#: ../src/print.c:3453
msgid "Margins"
-msgstr "Hranice"
+msgstr "Okraje"
-#: src/print.c:3474
+#: ../src/print.c:3455
msgid "Left:"
-msgstr "Vµavo:"
+msgstr "Vľavo:"
-#: src/print.c:3477
+#: ../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:"
+msgstr "Formát súboru:"
-#: src/print.c:3521
+#: ../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"
+msgstr "nasledujúci obrázok"
-#: src/remote.c:575
+#: ../src/remote.c:640
msgid "previous image"
-msgstr "predchádzajúci obrázok"
+msgstr "predchádzajúci obrázok"
-#: src/remote.c:576
+#: ../src/remote.c:641
msgid "first image"
-msgstr "prvý obrázok"
+msgstr "prvý obrázok"
-#: src/remote.c:577
+#: ../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:579
+#: ../src/remote.c:644
msgid "start full screen"
-msgstr "Zapnú» celoobrazovkový re¾im"
+msgstr "prepnúť na 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Ä\8diÅ¥ celoobrazovkový režim"
# src/img-view.c:813 src/menu.c:982
-#: src/remote.c:581
+#: ../src/remote.c:646
msgid "toggle slide show"
-msgstr "Prepnú» prezentáciu"
+msgstr "prepnúť prezentáciu"
# src/img-view.c:825 src/menu.c:994
-#: src/remote.c:582
+#: ../src/remote.c:647
msgid "start slide show"
-msgstr "Spusti» prezentáciu"
+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"
+msgstr "spustiť rekurzívnu prezentáciu"
-#: src/remote.c:585
+#: ../src/remote.c:650
msgid "set slide show delay in seconds"
-msgstr "nastavi» pozdr¾anie v sekundách"
+msgstr "nastaviť prestávku medzi obrázkami prezentácie v sekundách"
-#: src/remote.c:586
+#: ../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"
+msgstr "skryť nástroje"
-#: src/remote.c:588
+#: ../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"
+msgstr "otvoriť súbor v novom okne novom okne"
-#: src/remote.c:656
+#: ../src/remote.c:724
msgid "Remote command list:\n"
-msgstr "Zoznam vzdialených príkazov:\n"
+msgstr "Zoznam vzdialených príkazov:\n"
-#: src/remote.c:713
-#, fuzzy, c-format
+#: ../src/remote.c:781
+#, c-format
msgid "Remote %s not running, starting..."
-msgstr "Vzdialený Geeqie nebe¾í, ¹tartujem..."
+msgstr "Vzdialený %s nebeží, štartujem..."
-#: src/remote.c:849
+#: ../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"
+msgstr "priečinok"
-#: src/search.c:203
+#: ../src/search.c:213
msgid "comments"
-msgstr "poznámky"
+msgstr "poznámky"
-#: src/search.c:204
+#: ../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"
+msgstr "rovnaký ako"
-#: src/search.c:214
+#: ../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¾"
+msgstr "väÄ\8dÅ¡Ã než"
-#: src/search.c:216 src/search.c:223
+#: ../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"
+msgstr "úplná zhoda"
-#: src/search.c:228
+#: ../src/search.c:238
msgid "match any"
-msgstr "akákoµvek zhoda"
+msgstr "akákoľvek zhoda"
-#: src/search.c:229
+#: ../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..."
+msgstr "Hľadám..."
-#: src/search.c:2100
+#: ../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."
+msgstr "Prosím zadajte existujúci priečinok pre vyhľadávanie."
-#: src/search.c:2576
-#, fuzzy
+#: ../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:"
+msgstr "Hľadanie:"
-#: src/search.c:2620
+#: ../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"
+msgstr "Názov súboru"
-#: src/search.c:2630
+#: ../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"
+msgstr "Nemôžem získať stav súboru"
-#: src/secure_save.c:402
+#: ../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"
+msgstr "Nemôžem premenovať tento súbor"
-#: src/secure_save.c:408
+#: ../src/secure_save.c:407
msgid "File saving disabled by option"
-msgstr ""
+msgstr "Ukladanie súboru je vypnuté v možnostiach"
-#: src/secure_save.c:410
+#: ../src/secure_save.c:409
msgid "Out of memory"
-msgstr ""
+msgstr "Preplnenie pamäte"
-#: src/secure_save.c:412
+#: ../src/secure_save.c:411
msgid "Cannot write the file"
-msgstr ""
+msgstr "Nepodarilo sa zapísať do súboru"
-#: src/secure_save.c:416
+#: ../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"
+msgstr "Nemôžem vytvoriť priečinok"
-#: src/trash.c:148
+#: ../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"
+msgstr "Vypnúť bezpečné odstraňovanie"
-#: src/trash.c:181
+#: ../src/trash.c:193
msgid "Deletion by external command"
-msgstr ""
+msgstr "Odstránenie pomocou externého príkazu"
-#: src/trash.c:189
+#: ../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"
+msgstr "Bezpečné mazanie: %s"
-#: src/ui_bookmark.c:443 src/ui_bookmark.c:506
+#: ../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_help.c:191
-#: src/ui_help.c:114
-#, c-format
+#: ../src/ui_fileops.c:94
msgid ""
-"Unable to load:\n"
-"%s"
+"One or more filenames are not encoded with the preferred locale character "
+"set.\n"
msgstr ""
-"Nemo¾no naèíta» súbor:\n"
-"%s"
-# src/ui_pathsel.c:313
-#: src/ui_pathsel.c:438 src/utilops.c:2859
+#: ../src/ui_fileops.c:95
#, c-format
-msgid "Failed to rename %s to %s."
-msgstr "Nemo¾no premenova» %s na %s."
+msgid "Operations on, and display of these files with %s may not succeed.\n"
+msgstr ""
-# 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
+#: ../src/ui_fileops.c:97
msgid ""
-"Unable to delete file:\n"
-"%s"
+"If your filenames are not encoded in utf-8, try setting the environment "
+"variable G_BROKEN_FILENAMES=1\n"
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_fileops.c:99
+#, c-format
+msgid "It appears G_BROKEN_FILENAMES is set to %s\n"
+msgstr ""
-# 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_fileops.c:101
+msgid "It appears G_BROKEN_FILENAMES is not set\n"
+msgstr ""
-# src/ui_pathsel.c:397 src/utilops.c:759
-#: src/ui_pathsel.c:543
+#: ../src/ui_fileops.c:103
#, c-format
msgid ""
-"About to delete the file:\n"
-" %s"
+"The locale appears to be set to \"%s\"\n"
+"(set by the LANG environment variable)\n"
msgstr ""
-"Pripravený zmaza» súbor:\n"
-" %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
-msgid "_Rename"
-msgstr "P_remenova»"
+#: ../src/ui_fileops.c:108
+msgid ""
+"\n"
+"Preferred encoding appears to be UTF-8, however the file:\n"
+msgstr ""
-# src/preferences.c:915
-#: src/ui_pathsel.c:636 src/ui_pathsel.c:646
-msgid "Add _Bookmark"
-msgstr "Prida» zálo¾ku"
+#: ../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_pathsel.c:402 src/ui_pathsel.c:461 src/utilops.c:711
-# src/utilops.c:764
-#: src/ui_pathsel.c:644
-msgid "_Delete"
-msgstr "Vymaza»"
+#: ../src/ui_fileops.c:112
+#, c-format
+msgid "\"%s\" is encoded in valid UTF-8."
+msgstr ""
-#: src/ui_pathsel.c:748 src/ui_pathsel.c:1053 src/utilops.c:2807
-msgid "New folder"
-msgstr "Nový prieèinok"
+#: ../src/ui_fileops.c:114
+#, c-format
+msgid "\"%s\" is not encoded in valid UTF-8."
+msgstr ""
-# 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_fileops.c:119 ../src/ui_fileops.c:124
+msgid "Filename encoding locale mismatch"
+msgstr ""
+
+# src/ui_help.c:191
+#: ../src/ui_help.c:114
#, c-format
msgid ""
-"Unable to create folder:\n"
+"Unable to load:\n"
"%s"
msgstr ""
-"Nemo¾no vytvori» prieèinok:\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
+#, c-format
+msgid "Failed to rename %s to %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
+msgid "_Rename"
+msgstr "_Premenovať"
+
+# src/preferences.c:915
+#: ../src/ui_pathsel.c:636 ../src/ui_pathsel.c:646
+msgid "Add _Bookmark"
+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
+msgid "_Delete"
+msgstr "_Odstrániť"
+
+#: ../src/ui_pathsel.c:748 ../src/ui_pathsel.c:1049 ../src/utilops.c:2674
+msgid "New folder"
+msgstr "Nový priečinok"
+
+# src/ui_pathsel.c:517 src/utilops.c:1158
+#: ../src/ui_pathsel.c:758
+#, c-format
+msgid ""
+"Unable to create folder:\n"
+"%s"
+msgstr ""
+"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"
+msgstr "Všetky súbory"
-# src/utilops.c:491
-#: src/utilops.c:347
-#, fuzzy, c-format
+# src/utilops.c:663
+#: ../src/utilops.c:547
+#, fuzzy
msgid ""
-"%s\n"
-"Unable to copy file:\n"
-"%s\n"
-"to:\n"
-"%s"
+"\n"
+" Continue multiple file operation?"
msgstr ""
-"Nemo¾no kopírova» súbor:\n"
-"%s\n"
-"do:\n"
-"%s"
+"\n"
+" Pokračovať s operáciou hromadného odstraňovania?"
-# 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: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:496
-#: src/utilops.c:391
-#, fuzzy, c-format
+#: ../src/utilops.c:731
+#, c-format
msgid ""
-"%s\n"
-"Unable to move file:\n"
-"%s\n"
-"to:\n"
+"Removal of folder contents failed at this file:\n"
+"\n"
"%s"
msgstr ""
-"Nemo¾no presunú» súbor:\n"
-"%s\n"
-"do:\n"
+"Odoberanie obsahu priečinka zlyhalo na tomto súbore:\n"
+"\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
+# 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 rename file:\n"
-"%s\n"
-"to:\n"
-"%s"
+"Unable to start external command.\n"
msgstr ""
-"Nemo¾no premenova» súbor:\n"
"%s\n"
-"na:\n"
-"%s"
+"Nemožno odstrániť súbory externým príkazom.\n"
-# 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/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: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: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/utilops.c:657 src/utilops.c:987
-msgid "Replace existing file with new file."
-msgstr "Prepísa» existujúci súbor novým."
+# 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:661
-msgid "Overwrite _all"
-msgstr "Prepísa» v¹etky"
+#: ../src/utilops.c:1389
+#, fuzzy
+msgid "Write to file"
+msgstr "Prepísať súbor"
-# src/utilops.c:345
-#: src/utilops.c:663
-msgid "S_kip all"
-msgstr "Preskoèi» v¹etky"
+# src/utilops.c:450
+#: ../src/utilops.c:1429
+msgid "Choose the destination folder."
+msgstr "Vyberte cieľový priečinok."
-# src/utilops.c:345
-#: src/utilops.c:664
-msgid "_Skip"
-msgstr "Preskoèi»"
+# src/utilops.c:980
+#: ../src/utilops.c:1487
+#, fuzzy
+msgid "New name"
+msgstr "Nový názov:"
-# 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/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:665 src/utilops.c:991 src/utilops.c:1905 src/utilops.c:2625
-msgid "New file"
-msgstr "Nový súbor"
+# src/utilops.c:980
+#: ../src/utilops.c:1525
+msgid "New name:"
+msgstr "Nový názov:"
# 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
+#: ../src/utilops.c:1538
msgid "Auto rename"
-msgstr "Automatické premenovanie"
+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:1544
+msgid "Begin text"
+msgstr "Začiatočný text"
-# 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:1552 ../src/utilops.c:1584
+msgid "Start #"
+msgstr "Štart #"
-# 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:1558
+msgid "End text"
+msgstr "Koncový text"
-# 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:1566
+msgid "Padding:"
+msgstr "Výplň:"
-# 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:1571
+msgid "Formatted rename"
+msgstr "Formátované premenovanie"
-# 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:1576
+msgid "Format (* = original name, ## = numbers)"
+msgstr "Formát (* = pôvodné meno, ## = čísla)"
-# 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."
+#: ../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 ""
-"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
+#: ../src/utilops.c:1781
#, c-format
+msgid " '%s'\n"
+msgstr ""
+
+#: ../src/utilops.c:1785
msgid ""
-"Unable to move file:\n"
-"%s\n"
-"to:\n"
-"%s\n"
-"during multiple file move."
+"\n"
+"Status: "
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:1797
+msgid "no problem detected"
+msgstr ""
-# 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:1813 ../src/utilops.c:1860
+#, fuzzy
+msgid "Exclude file"
+msgstr "okrem"
-# src/utilops.c:491
-#: src/utilops.c:1049
+#: ../src/utilops.c:1858 ../src/utilops.c:1883
+msgid "Overview of changed metadata"
+msgstr ""
+
+#: ../src/utilops.c:1876
#, c-format
msgid ""
-"Unable to copy file:\n"
-"%s\n"
-"to:\n"
-"%s"
+"The following metadata tags will be written to\n"
+"'%s'."
msgstr ""
-"Nemo¾no kopírova» súbor:\n"
-"%s\n"
-"do:\n"
-"%s"
-# src/utilops.c:496
-#: src/utilops.c:1054
+#: ../src/utilops.c:1880
#, c-format
-msgid ""
-"Unable to move file:\n"
-"%s\n"
-"to:\n"
-"%s"
+msgid "The following metadata tags will be written to the image file itself."
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/ui_pathsel.c:398 src/utilops.c:760
+#: ../src/utilops.c:1986
+#, fuzzy
+msgid "Delete files?"
+msgstr "Odstrániť súbor"
-# 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:1987
+#, fuzzy
+msgid "This will delete the following files"
+msgstr "Týmto sa odstráni obsah koša."
-# 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:2006
+msgid "Can't write metadata"
+msgstr ""
-# src/utilops.c:592
-#: src/utilops.c:1178 src/view_dir.c:338
-msgid "_Copy"
-msgstr "Kopírova»"
+#: ../src/utilops.c:2029
+#, fuzzy
+msgid "Write metadata"
+msgstr "Metadáta"
-# src/utilops.c:1090
-#: src/utilops.c:1181
-msgid "Copy file"
-msgstr "Kopírova» súbor:"
+#: ../src/utilops.c:2030
+#, fuzzy
+msgid "Write metadata?"
+msgstr "Metadáta"
-# src/utilops.c:596
-#: src/utilops.c:1185
-msgid "Copy multiple files"
-msgstr "Kopírova» viacero súborov"
+#: ../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:601
-#: src/utilops.c:1192 src/view_dir.c:340
-msgid "_Move"
-msgstr "Presunú»"
+#: ../src/utilops.c:2033
+msgid "Metadata writting failed"
+msgstr ""
# 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:2052 ../src/utilops.c:2079
+#, fuzzy
+msgid "Move failed"
+msgstr "Presunúť súbor"
-# src/utilops.c:980
-#: src/utilops.c:1214 src/utilops.c:1744
-msgid "File name:"
-msgstr "Názov súboru:"
+# src/utilops.c:1090
+#: ../src/utilops.c:2076
+#, fuzzy
+msgid "Move files?"
+msgstr "Presunúť súbor"
-# src/utilops.c:450
-#: src/utilops.c:1218
-msgid "Choose the destination folder."
-msgstr "Výber cieµového prieèinku."
+#: ../src/utilops.c:2077
+#, fuzzy
+msgid "This will move the following files"
+msgstr "Týmto sa odstráni obsah koša."
-# src/ui_pathsel.c:343 src/utilops.c:675 src/utilops.c:727
-#: src/utilops.c:1389
+# src/utilops.c:1090
+#: ../src/utilops.c:2101 ../src/utilops.c:2128
#, fuzzy
-msgid ""
-"\n"
-"Unable to delete file by external command:\n"
-msgstr ""
-"Nemo¾no zmaza» súbor:\n"
-"%s"
+msgid "Copy failed"
+msgstr "Kopírovať súbor"
-# src/utilops.c:663
-#: src/utilops.c:1401
+# src/utilops.c:1090
+#: ../src/utilops.c:2125
#, fuzzy
-msgid ""
-"\n"
-" Continue multiple delete operation?"
-msgstr ""
-"Nemo¾no zmaza» súbor:\n"
-" %s\n"
-" Pokraèova» s viacnásobnou operáciou mazania?"
+msgid "Copy files?"
+msgstr "Kopírovať súbor"
-#: src/utilops.c:1452 src/utilops.c:1684
-msgid "Another operation in progress.\n"
+#: ../src/utilops.c:2126 ../src/utilops.c:2260
+msgid "This will copy the following files"
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/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: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:1090
+#: ../src/utilops.c:2171
+#, fuzzy
+msgid "Rename files?"
+msgstr "Premenovať súbor"
-#: src/utilops.c:1569
-#, c-format
-msgid "File %d of %d"
-msgstr "Súbor %d z %d"
+#: ../src/utilops.c:2172
+#, fuzzy
+msgid "This will rename the following files"
+msgstr "Týmto sa odstráni obsah koša."
-# src/ui_pathsel.c:398 src/utilops.c:760
-#: src/utilops.c:1637
+#: ../src/utilops.c:2224
#, fuzzy
-msgid "Delete files"
-msgstr "Zmaza» súbor"
+msgid "Can't run external editor"
+msgstr "Nepodarilo sa spustiť externý editor."
-# src/utilops.c:942
-#: src/utilops.c:1643
-msgid "Delete multiple files"
-msgstr "Zmaza» viacero súborov"
+# src/preferences.c:915
+#: ../src/utilops.c:2258
+#, fuzzy
+msgid "Editor"
+msgstr "Editory"
-# 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/utilops.c:707
+#: ../src/utilops.c:2259
+#, fuzzy
+msgid "Run editor?"
+msgstr "Vynulovať editory"
-# 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/utilops.c:2262
+#, fuzzy
+msgid "External command failed"
+msgstr "Externý príkaz na kopírovanie"
-# src/ui_pathsel.c:398 src/utilops.c:760
-#: src/utilops.c:1740
-msgid "Delete file?"
-msgstr "Zmaza» súbor?"
+# src/collect-table.c:628 src/dupe.c:1393 src/dupe.c:1565
+#: ../src/utilops.c:2431 ../src/utilops.c:2504
+msgid "Delete folder"
+msgstr "Odstrániť priečinok"
-#: 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:2432
+#, fuzzy
+msgid "Delete symbolic link?"
+msgstr "Odstrániť symbolický odkaz na priečinok?"
-# src/utilops.c:842
-#: src/utilops.c:1917
-#, c-format
+#: ../src/utilops.c:2434
+#, fuzzy
msgid ""
-"Unable to rename file:\n"
-"%s\n"
-" to:\n"
-"%s"
+"This will delete the symbolic link.\n"
+"The folder this link points to will not be deleted."
msgstr ""
-"Nemo¾no premenova» súbor:\n"
+"Týmto sa odstráni symbolický odkaz:\n"
+"\n"
"%s\n"
-" na:\n"
-"%s"
+"\n"
+"Priečinok, na ktorý odkaz smeruje, nebude odstránený."
-#: src/utilops.c:2039
-msgid "Format must include at least one of the symbol characters '*' or '#'.\n"
-msgstr ""
+# 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:2095
+# src/utilops.c:322
+#: ../src/utilops.c:2446
+#, c-format
msgid ""
-"Can not auto rename with the selected\n"
-"number set, one or more files exist that\n"
-"match the resulting name list.\n"
+"Unable to remove folder %s\n"
+"Permissions do not allow writing to the folder."
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"
+"Nemožno odobrať priečinok %s\n"
+"Prístupové oprávnenia neumožňujú zápis do tohto priečinku."
-# src/ui_pathsel.c:313
-#: src/utilops.c:2166
+# src/ui_pathsel.c:517 src/utilops.c:1158
+#: ../src/utilops.c:2458 ../src/utilops.c:2515
#, c-format
-msgid ""
-"Failed to rename\n"
-"%s\n"
-"The number was %d."
-msgstr ""
-"Premenovanie sa nepodarilo\n"
-"%s\n"
-"Èíslo bolo: %d."
+msgid "Unable to list contents of folder %s"
+msgstr "Nemožno zobraziť obsah priečinku %s"
-# src/utilops.c:942
-#: src/utilops.c:2427
-msgid "Rename multiple files"
-msgstr "Premenova» viacero súborov"
+# src/collect-dlg.c:59
+#: ../src/utilops.c:2472 ../src/utilops.c:2480
+msgid "Folder contains subfolders"
+msgstr "Priečinok obsahuje podpriečinky"
+
+#: ../src/utilops.c:2476
+#, 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 ""
+"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/utilops.c:2461
-msgid "Original Name"
-msgstr "Pôvodný názov"
+# src/preferences.c:368
+#: ../src/utilops.c:2484
+msgid "Subfolders:"
+msgstr "Podpriečinky:"
-# src/preferences.c:930
-#: src/utilops.c:2499
+# 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 "Manual rename"
-msgstr "Názov ponuky"
+msgid "The folder contains these files:"
+msgstr "Priečinok obsahuje podpriečinky"
-#: src/utilops.c:2500
-msgid "Formatted rename"
+#: ../src/utilops.c:2507
+#, fuzzy
+msgid ""
+"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"
+"Obsah priečinku bude tiež odstránený."
-#: src/utilops.c:2513 src/utilops.c:2697
-msgid "Original name:"
-msgstr "Pôvodný názov:"
+# src/utilops.c:1090
+#: ../src/utilops.c:2637
+#, fuzzy
+msgid "Rename folder?"
+msgstr "Premenovať súbor"
-# src/utilops.c:980
-#: src/utilops.c:2516 src/utilops.c:2700
-msgid "New name:"
-msgstr "Nový názov:"
+# src/collect-dlg.c:59
+#: ../src/utilops.c:2638
+#, fuzzy
+msgid "The folder contains the following files"
+msgstr "Priečinok obsahuje podpriečinky"
-#: src/utilops.c:2534
-msgid "Begin text"
-msgstr "Zaèiatoèný text"
+# 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/utilops.c:2542 src/utilops.c:2574
-msgid "Start #"
-msgstr "©tart #"
+# src/ui_pathsel.c:398 src/utilops.c:760
+#: ../src/utilops.c:2685
+#, fuzzy
+msgid "Create folder?"
+msgstr "Odstrániť priečinok?"
-#: src/utilops.c:2548
-msgid "End text"
-msgstr "Koncový text"
+# src/utilops.c:1151
+#: ../src/utilops.c:2688
+#, fuzzy
+msgid "Can't create folder"
+msgstr "Nemôžem vytvoriť priečinok"
-#: src/utilops.c:2556
-msgid "Padding:"
-msgstr "výplò:"
+# src/utilops.c:592
+#: ../src/view_dir.c:397
+msgid "_Copy"
+msgstr "_Kopírovať"
-#: src/utilops.c:2566
-msgid "Format (* = original name, ## = numbers)"
+# 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"
+
+# src/menu.c:879
+#: ../src/view_dir.c:650
+msgid "_Slideshow"
+msgstr "_Prezentácia"
+
+# src/menu.c:881
+#: ../src/view_dir.c:652
+msgid "Slideshow recursive"
+msgstr "Prezentácia rekurzívne"
+
+# src/collect-table.c:644 src/menu.c:885
+#: ../src/view_dir.c:656
+msgid "Find _duplicates..."
+msgstr "Nájsť _duplikáty..."
+
+# src/menu.c:887
+#: ../src/view_dir.c:658
+msgid "Find duplicates recursive..."
+msgstr "Nájsť duplikáty rekurzívne..."
+
+#: ../src/view_dir.c:663
+msgid "_New folder..."
+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:685
+msgid "Show _hidden files"
+msgstr "Ukázať _skryté súbory"
+
+# src/menu.c:891 src/menu.c:920
+#: ../src/view_dir.c:688 ../src/view_file.c:637
+msgid "Re_fresh"
+msgstr "_Obnoviť"
+
+# src/dupe.c:1655 src/dupe.c:1944
+#: ../src/view_file.c:622
+#, fuzzy
+msgid "View as _Icons"
+msgstr "Zobraziť ako _ikony"
+
+# src/preferences.c:603
+#: ../src/view_file.c:628
+msgid "Show _thumbnails"
+msgstr "Zobraziť _náhľady"
+
+#: ../src/view_file_icon.c:2199 ../src/view_file_list.c:899
+msgid " [NO GROUPING]"
msgstr ""
-# src/filelist.c:820 src/utilops.c:1047
-#: src/utilops.c:2641 src/view_file_list.c:410
+# src/filelist.c:808
+#: ../src/view_file_list.c:512
#, c-format
msgid ""
-"Unable to rename file:\n"
-"%s\n"
-"to:\n"
+"Invalid file name:\n"
"%s"
msgstr ""
-"Nemo¾no premenova» súbor:\n"
-"%s\n"
-"na:\n"
+"Nesprávny názov súboru:\n"
"%s"
-# src/utilops.c:1090
-#: src/utilops.c:2687
-msgid "Rename file"
-msgstr "Premenova» súbor"
+# 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: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: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/utilops.c:321
+#~ msgid "Source to move matches destination"
+#~ msgstr "Zdroj pre presúvanie sa zhoduje s cieľom"
-# src/preferences.c:368
-#: src/utilops.c:2749 src/utilops.c:2842
-msgid "Folder exists"
-msgstr "Prieèinok existuje"
+# 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: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: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: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: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:1090
-#: src/utilops.c:2851 src/utilops.c:2860
-msgid "Rename failed"
-msgstr "Premenovanie sa nepodarilo"
+# src/utilops.c:450
+#~ msgid "Source matches destination"
+#~ msgstr "Zdroj zodpovedá cieľu"
-#: src/utilops.c:2967
-#, fuzzy
-msgid "Location"
-msgstr "Umiestnenie:"
+# 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/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: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:3152
-#, c-format
-msgid ""
-"Removal of folder contents failed at this file:\n"
-"\n"
-"%s"
-msgstr ""
+# src/utilops.c:539
+#~ msgid "Invalid destination"
+#~ msgstr "Chybný cieľ"
-# src/collect-table.c:628 src/dupe.c:1393 src/dupe.c:1565
-#: src/utilops.c:3207 src/utilops.c:3291
-#, fuzzy
-msgid "Delete folder"
-msgstr "Vybra» prieèinok"
+# 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: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:544
+#~ msgid "Please select an existing folder."
+#~ msgstr "Prosím vyberte nejaký existujúci priečinok."
-#: src/utilops.c:3215
-msgid "Delete symbolic link to folder?"
-msgstr ""
+# src/utilops.c:596
+#~ msgid "Copy multiple files"
+#~ msgstr "Kopírovať viacero súborov"
-# src/utilops.c:322
-#: src/utilops.c:3230
-#, fuzzy, 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"
+# src/utilops.c:605
+#~ msgid "Move multiple files"
+#~ msgstr "Presunúť viacero súborov"
-# src/ui_pathsel.c:517 src/utilops.c:1158
-#: src/utilops.c:3242
-#, fuzzy, c-format
-msgid "Unable to list contents of folder %s"
-msgstr ""
-"Nemo¾no vytvori» prieèinok:\n"
-"%s"
+# src/utilops.c:980
+#~ msgid "File name:"
+#~ msgstr "Názov súboru:"
-# src/collect-dlg.c:59
-#: src/utilops.c:3256 src/utilops.c:3264
-#, fuzzy
-msgid "Folder contains subfolders"
-msgstr "Vrátane podprieèinkov"
+# 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: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: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?"
-# src/preferences.c:368
-#: src/utilops.c:3268
-#, fuzzy
-msgid "Subfolders:"
-msgstr "prieèinok"
+#~ msgid "File %d of %d"
+#~ msgstr "Súbor %d z %d"
-#: 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:942
+#~ msgid "Delete multiple files"
+#~ msgstr "Odstrániť viacero súborov"
-# src/ui_pathsel.c:398 src/utilops.c:760
-#: src/utilops.c:3299
-#, fuzzy
-msgid "Delete folder?"
-msgstr "Zmaza» súbor?"
+# src/dupe.c:67 src/dupe.c:1449
+#~ msgid "Review %d files"
+#~ msgstr "Prehľad %d súborov"
-# src/menu.c:776
-#: src/utilops.c:3303
-#, fuzzy
-msgid "Contents:"
-msgstr "Obsah"
+# 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/menu.c:768
-#: src/view_dir.c:30
-#, fuzzy
-msgid "_Tree"
-msgstr "S_trom"
+# src/ui_pathsel.c:398 src/utilops.c:760
+#~ msgid "Delete file?"
+#~ msgstr "Odstrániť súbor?"
-#: src/view_dir.c:502
-msgid "new_folder"
-msgstr "nový prieèinok"
+#~ msgid "Replace existing file by renaming new file."
+#~ msgstr "Prepísať existujúci súbor premenovaním nového súboru."
-#: src/view_dir.c:587
-msgid "_Up to parent"
-msgstr "O stupeò vy¹¹ie"
+# 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"
-# src/menu.c:879
-#: src/view_dir.c:592
-msgid "_Slideshow"
-msgstr "Prezentácia"
+#~ msgid ""
+#~ "Format must include at least one of the symbol characters '*' or '#'.\n"
+#~ msgstr "Formát musí obsahovať najmenej jeden zo znakov '*' alebo '#'.\n"
-# src/menu.c:881
-#: src/view_dir.c:594
-msgid "Slideshow recursive"
-msgstr "Prezentácia rekurzívne"
+#~ 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/collect-table.c:644 src/menu.c:885
-#: src/view_dir.c:598
-msgid "Find _duplicates..."
-msgstr "Nájs» _duplikáty..."
+# 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/menu.c:887
-#: src/view_dir.c:600
-msgid "Find duplicates recursive..."
-msgstr "Nájs» duplikáty rekurzívne..."
+# src/utilops.c:942
+#~ msgid "Rename multiple files"
+#~ msgstr "Premenovať viacero súborov"
-#: src/view_dir.c:605
-msgid "_New folder..."
-msgstr "_Nový prieèinok..."
+#~ msgid "Original Name"
+#~ msgstr "Pôvodný názov"
-# src/menu.c:753
-#: src/view_dir.c:619
-#, fuzzy
-msgid "_View as"
-msgstr "Zobrazi»"
+# 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/ui_pathsel.c:764
-#: src/view_dir.c:631
-#, fuzzy
-msgid "Show _hidden files"
-msgstr "Ukáza» skryté"
+# src/utilops.c:1144
+#~ msgid ""
+#~ "The folder:\n"
+#~ "%s\n"
+#~ "already exists."
+#~ msgstr ""
+#~ "Priečinok:\n"
+#~ "%s\n"
+#~ "už existuje."
-# src/menu.c:891 src/menu.c:920
-#: src/view_dir.c:634 src/view_file.c:606
-msgid "Re_fresh"
-msgstr "Obnovi»"
+# 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/menu.c:559
-#: src/view_file.c:588
-msgid "_Sort"
-msgstr "U_sporiada»"
+# src/utilops.c:1211
+#~ msgid ""
+#~ "Create folder in:\n"
+#~ "%s\n"
+#~ "named:"
+#~ msgstr ""
+#~ "Vytvoriť priečinok v:\n"
+#~ "%s\n"
+#~ "nazvať ho:"
-# src/dupe.c:1655 src/dupe.c:1944
-#: src/view_file.c:591
-msgid "View as _icons"
-msgstr "Zobrazi» ako _ikony"
+# 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/preferences.c:603
-#: src/view_file.c:597
-msgid "Show _thumbnails"
-msgstr "Zobrazi» minia_túry"
+# src/menu.c:776
+#~ msgid "Contents:"
+#~ msgstr "Obsah:"
-# src/filelist.c:808
-#: src/view_file_list.c:390
-#, c-format
-msgid ""
-"Invalid file name:\n"
-"%s"
-msgstr ""
-"Nesprávne meno súboru:\n"
-"%s"
+#~ msgid "new_folder"
+#~ msgstr "nový_priečinok"
-#: src/view_file_list.c:1821
-msgid "SC"
-msgstr ""
+# src/menu.c:753
+#~ msgid "_View as"
+#~ msgstr "_Zobraziť ako"
-# src/menu.c:771
-#: src/window.c:226
-msgid "Help"
-msgstr "Pomoc"
+#~ 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Ä\8diÅ¥ 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"
#~ msgid "Geeqie - exit"
#~ 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"
# 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"
# 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
# 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"
# 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 ""
#~ " 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 ""
#~ " 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
#~ "%s\n"
#~ "to:"
#~ msgstr ""
-#~ "Kopírova» súbor:\n"
+#~ "Kopírovať súbor:\n"
#~ "%s\n"
#~ "do:"
#~ "%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 ""
#~ "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
# 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]"
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"
#: ../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
#: ../src/bar.c:297
msgid "Move to _top"
-msgstr "Flytta övers_t"
+msgstr "Flytta _överst"
#: ../src/bar.c:298
#: ../src/ui_bookmark.c:405
#: ../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"
#: ../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)"
#: ../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
#: ../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"
#: ../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"
#: ../src/bar_keywords.c:1232
msgid "On any change"
-msgstr ""
+msgstr "Vid varje förändring"
#: ../src/bar_sort.c:449
#, c-format
"%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
"Failed to save the collection:\n"
"%s"
msgstr ""
-"Kunde inte spara albumet:\n"
+"Kunde inte spara kollektionen:\n"
"%s"
#: ../src/bar_sort.c:465
#: ../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
#: ../src/bar_sort.c:607
#: ../src/options.c:140
msgid "Collections"
-msgstr "Album"
+msgstr "Kolllektioner"
#: ../src/bar_sort.c:615
#: ../src/utilops.c:2124
#: ../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"
#: ../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"
#: ../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
#: ../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"
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"
#: ../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"
#: ../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
"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
#: ../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"
#: ../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
#: ../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
#: ../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
#: ../src/desktop_file.c:453
msgid "Editors"
-msgstr "Redigerare"
+msgstr "Textredigerare"
#: ../src/desktop_file.c:524
msgid "Hidden"
#: ../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
#: ../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."
#: ../src/exif.c:218
msgid "ISO studio tungsten"
-msgstr ""
+msgstr "ISO studio-volfram"
#: ../src/exif.c:226
msgid "yes, not detected by strobe"
#: ../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"
#: ../src/exif.c:244
msgid "color sequential linear"
-msgstr ""
+msgstr "sekventiellt linjär färg"
#: ../src/exif.c:249
msgid "digital still camera"
#: ../src/exif.c:254
msgid "direct photo"
-msgstr ""
+msgstr "direkt fotografi"
#: ../src/exif.c:260
msgid "custom"
#: ../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"
#: ../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
#: ../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"
#: ../src/exif.c:331
msgid "Bits per Sample/Pixel"
-msgstr ""
+msgstr "Bits per punkt/pixel"
#: ../src/exif.c:332
msgid "Compression"
#: ../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"
#: ../src/exif.c:348
msgid "SubIFD Exif offset"
-msgstr ""
+msgstr "SubIFD Exif-offset"
#. subIFD follows
#: ../src/exif.c:350
#: ../src/exif.c:351
msgid "FNumber"
-msgstr ""
+msgstr "FNumber"
#: ../src/exif.c:352
msgid "Exposure program"
#: ../src/exif.c:355
msgid "Optoelectric conversion factor"
-msgstr ""
+msgstr "Optoelektrisk konverteringsfaktor"
#: ../src/exif.c:356
msgid "Exif version"
#: ../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"
#: ../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"
#: ../src/exif.c:383
msgid "ExifR98 extension"
-msgstr ""
+msgstr "ExifR98-tillägg"
#: ../src/exif.c:384
msgid "Flash strength"
#: ../src/exif.c:385
msgid "Spatial frequency response"
-msgstr ""
+msgstr "Spatiell frekvensrespons"
#: ../src/exif.c:386
msgid "X Pixel density"
#: ../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
#: ../src/exif.c:399
msgid "Digital zoom ratio"
-msgstr ""
+msgstr "Digital zoomning"
#: ../src/exif.c:400
msgid "Focal length (35mm)"
#: ../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"
#: ../src/exif-common.c:558
msgid "File mode"
-msgstr "Filtyp(?)"
+msgstr "Filtyp"
#: ../src/filedata.c:91
#, c-format
#: ../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"
#: ../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
#: ../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"
#: ../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"
#: ../src/layout.c:1951
msgid "Start-up directory:"
-msgstr ""
+msgstr "Startmapp"
#: ../src/layout.c:1953
msgid "No change"
#: ../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"
#: ../src/layout_util.c:1252
msgid "P_references"
-msgstr "_Förval"
+msgstr "_Inställningar"
#: ../src/layout_util.c:1254
msgid "_Files and Folders"
#: ../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
#: ../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"
#: ../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
#: ../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
#: ../src/layout_util.c:1269
msgid "_Last Image"
-msgstr "_Sista bilden"
+msgstr "till _sista bilden"
#: ../src/layout_util.c:1269
msgid "Last Image"
#: ../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
#: ../src/layout_util.c:1273
msgid "New _window"
-msgstr "Nytt _fönster"
+msgstr "_Nytt fönster"
#: ../src/layout_util.c:1273
msgid "New window"
#: ../src/layout_util.c:1274
msgid "_New collection"
-msgstr "_Nytt album"
+msgstr "Ny k_ollektion"
#: ../src/layout_util.c:1274
msgid "New collection"
#: ../src/layout_util.c:1275
msgid "_Open collection..."
-msgstr "Öppna _album..."
+msgstr "_Öppna kollektion..."
#: ../src/layout_util.c:1275
msgid "Open collection..."
#: ../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..."
#: ../src/layout_util.c:1279
msgid "Pa_n view"
-msgstr "Pane_lvy"
+msgstr "_Panelvy"
#: ../src/layout_util.c:1279
msgid "Pan view"
#: ../src/layout_util.c:1280
msgid "_Print..."
-msgstr "_Skriv ut..."
+msgstr "Skriv _ut..."
#: ../src/layout_util.c:1281
msgid "N_ew folder..."
#: ../src/layout_util.c:1284
msgid "Rename..."
-msgstr "_Namnändra..."
+msgstr "Byt namn..."
#: ../src/layout_util.c:1285
#: ../src/layout_util.c:1286
#: ../src/layout_util.c:1292
msgid "_Quit"
-msgstr "A_vsluta"
+msgstr "_Avsluta"
#: ../src/layout_util.c:1292
msgid "Quit"
#: ../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"
#: ../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"
#: ../src/layout_util.c:1301
msgid "_Invert Selection"
-msgstr "_Invertera markeringar"
+msgstr "I_nvertera markeringar"
#: ../src/layout_util.c:1301
msgid "Invert Selection"
#: ../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..."
#: ../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..."
#: ../src/layout_util.c:1305
msgid "Thumbnail maintenance..."
-msgstr "_Miniatyrbildsunderhåll..."
+msgstr "Miniatyrbildsunderhåll..."
#: ../src/layout_util.c:1306
msgid "Set as wallpaper"
#: ../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
#: ../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"
#: ../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"
#: ../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"
#: ../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"
#: ../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"
#: ../src/layout_util.c:1374
msgid "_Show Histogram"
-msgstr "Visa hi_stogram"
+msgstr "_Visa histogram"
#: ../src/layout_util.c:1374
msgid "Show Histogram"
#: ../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"
#: ../src/layout_util.c:1388
msgid "_Horizontal"
-msgstr "_Horisontellt"
+msgstr "_horisontellt"
#: ../src/layout_util.c:1388
msgid "Split Horizontal"
#: ../src/layout_util.c:1390
msgid "_Quad"
-msgstr "_fyra bilder"
+msgstr "i _fyra bilder"
#: ../src/layout_util.c:1390
msgid "Split Quad"
#: ../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"
#: ../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
#: ../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
#: ../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
"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"
#: ../src/lirc.c:197
#, c-format
msgid "disconnected from LIRC\n"
-msgstr ""
+msgstr "bortkopplad från LIRC\n"
#: ../src/lirc.c:212
#, c-format
"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"
#: ../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"
"\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
#: ../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
#: ../src/metadata.c:1484
#: ../src/print.c:375
msgid "Landscape"
-msgstr "Liggande"
+msgstr "Landskap"
#: ../src/metadata.c:1485
msgid "Art"
#: ../src/metadata.c:1493
msgid "Square"
-msgstr "Fyrkant"
+msgstr "Torg"
#: ../src/metadata.c:1494
msgid "Architecture"
#: ../src/metadata.c:1520
#: ../src/print.c:374
msgid "Portrait"
-msgstr "Stående"
+msgstr "Porträtt"
#: ../src/metadata.c:1521
msgid "Black and White"
#: ../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"
#: ../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
"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
#: ../src/preferences.c:1463
msgid "Grouping sidecar extensions"
-msgstr ""
+msgstr "Grupperar 'sidecar'-tilläggen"
#: ../src/preferences.c:1470
msgid "File types"
#: ../src/preferences.c:1552
msgid "Sidecar is allowed"
-msgstr ""
+msgstr "'Sidecar'-filer tillåtna"
#: ../src/preferences.c:1598
msgid "Metadata writing process"
#: ../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"
#: ../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
#: ../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"
#: ../src/preferences.c:1660
msgid "Write metadata after timeout"
-msgstr ""
+msgstr "Skriv metadata efter timeout"
#: ../src/preferences.c:1666
msgid "Timeout (seconds):"
#: ../src/preferences.c:1672
msgid "Write metadata on directory change"
-msgstr ""
+msgstr "Skriv metadata vid mappbyte"
#: ../src/preferences.c:1686
msgid "Color management"
#: ../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:"
#: ../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"
#: ../src/preferences.c:1863
msgid "Accelerators"
-msgstr ""
+msgstr "Snabbtangenter"
#: ../src/preferences.c:1882
msgid "Action"
#: ../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
#: ../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"
#: ../src/search.c:2690
msgid "Recurse"
-msgstr "Rekursera"
+msgstr "Rekursivt"
#: ../src/search.c:2695
msgid "File name"
#: ../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"
#: ../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"
#: ../src/trash.c:193
msgid "Deletion by external command"
-msgstr ""
+msgstr "Borttagning med externkommando"
#: ../src/trash.c:201
#, c-format
#: ../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
"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
#: ../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
"\n"
"%s"
msgstr ""
+"Borttagning av mappinnehållet stannade vid denna fil:\n"
+"\n"
+"%s"
#: ../src/utilops.c:877
#, c-format
"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
#: ../src/utilops.c:1387
#: ../src/utilops.c:1485
msgid "Sidecars"
-msgstr ""
+msgstr "'Sidecar'-filer"
#: ../src/utilops.c:1389
msgid "Write to file"
#: ../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"
#: ../src/utilops.c:1576
msgid "Format (* = original name, ## = numbers)"
-msgstr ""
+msgstr "Format (* = originalnamn, ## = siffror)"
#: ../src/utilops.c:1714
msgid "Another operation in progress.\n"
#: ../src/utilops.c:1775
msgid "with sidecar files:\n"
-msgstr ""
+msgstr "med 'sidecar'-filer:\n"
#: ../src/utilops.c:1781
#, c-format
"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?"
#: ../src/utilops.c:2170
#: ../src/utilops.c:2636
msgid "Rename"
-msgstr "Namnändra"
+msgstr "Byt namn"
#: ../src/utilops.c:2171
msgid "Rename files?"
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"
+msgstr "Länka"
-# "Run editor?" must be wrong!
+# "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"
"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?"
#: ../src/view_dir.c:399
msgid "_Move"
-msgstr "Fl_ytta"
+msgstr "_Flytta"
#: ../src/view_dir.c:645
msgid "_Up to parent"
+++ /dev/null
-.deps
-Makefile.in
-Makefile
-gqview
$(LIBCHAMPLAIN_CFLAGS) \
$(LIBCHAMPLAIN_GTK_CFLAGS) \
$(LUA_CFLAGS) \
+ $(CLUTTER_CFLAGS) \
+ $(CLUTTER_GTK_CFLAGS) \
-I$(top_srcdir) \
-I$(top_builddir)
$(LIBCHAMPLAIN_CFLAGS) \
$(LIBCHAMPLAIN_GTK_CFLAGS) \
$(LUA_CFLAGS) \
+ $(CLUTTER_CFLAGS) \
+ $(CLUTTER_GTK_CFLAGS) \
-I$(top_srcdir) \
-I$(top_builddir)
pixbuf-renderer.h \
renderer-tiles.c \
renderer-tiles.h \
+ renderer-clutter.c \
+ renderer-clutter.h \
pixbuf_util.c \
pixbuf_util.h \
preferences.c \
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)
/*
* Geeqie
* (C) 2004 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
*
* Author: John Ellis
*
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)));
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);
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;
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;
{
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);
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,
/*
* Geeqie
* (C) 2004 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
*
* Author: John Ellis
*
/*
* Geeqie
* (C) 2004 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
*
* Author: Vladimir Nadvornik
*
const gchar *config;
};
-static const gchar default_config_histogram[] =
+static const gchar default_config_histogram[] =
"<gq>"
" <layout id = '_current_'>"
" <bar>"
" </layout>"
"</gq>";
-static const gchar default_config_title[] =
+static const gchar default_config_title[] =
"<gq>"
" <layout id = '_current_'>"
" <bar>"
" </layout>"
"</gq>";
-static const gchar default_config_keywords[] =
+static const gchar default_config_keywords[] =
"<gq>"
" <layout id = '_current_'>"
" <bar>"
" </layout>"
"</gq>";
-static const gchar default_config_comment[] =
+static const gchar default_config_comment[] =
"<gq>"
" <layout id = '_current_'>"
" <bar>"
" </layout>"
"</gq>";
-static const gchar default_config_exif[] =
+static const gchar default_config_exif[] =
"<gq>"
" <layout id = '_current_'>"
" <bar>"
" </layout>"
"</gq>";
-static const gchar default_config_file_info[] =
+static const gchar default_config_file_info[] =
"<gq>"
" <layout id = '_current_'>"
" <bar>"
" </layout>"
"</gq>";
-static const gchar default_config_location[] =
+static const gchar default_config_location[] =
"<gq>"
" <layout id = '_current_'>"
" <bar>"
" </layout>"
"</gq>";
-static const gchar default_config_copyright[] =
+static const gchar default_config_copyright[] =
"<gq>"
" <layout id = '_current_'>"
" <bar>"
#ifdef HAVE_LIBCHAMPLAIN
#ifdef HAVE_LIBCHAMPLAIN_GTK
-static const gchar default_config_gps[] =
+static const gchar default_config_gps[] =
"<gq>"
" <layout id = '_current_'>"
" <bar>"
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);
{
pos = up ? 0 : -1;
}
-
+
gtk_box_reorder_child(GTK_BOX(box), expander, pos);
}
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);
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)
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)
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 : "");
}
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;
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;
{
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)
{
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)
{
{
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);
}
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);
{
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);
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;
}
#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
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",
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);
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);
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);
}
gboolean bar_pane_translate_title(PaneType type, const gchar *id, gchar **title)
{
const KnownPanes *pane = known_panes;
-
+
if (!title) return FALSE;
while (pane->id)
{
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;
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;
if (!pane->id) return NULL;
return pane->config;
}
-
+
/* vim: set shiftwidth=8 softtabstop=0 cindent cinoptions={1s: */
/*
* Geeqie
* (C) 2004 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
*
* Author: Vladimir Nadvornik
*
gboolean expanded;
gchar *id;
PaneType type;
-
+
/* filled in by bar */
GtkWidget *bar;
LayoutWindow *lw;
/*
* Geeqie
* (C) 2004 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
*
* Author: John Ellis
*
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));
}
list = layout_selection_list(pcd->pane.lw);
list = file_data_process_groups_in_selection(list, FALSE, NULL);
-
+
work = list;
while (work)
{
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;
}
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);
{
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);
}
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;
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;
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);
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);
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);
}
/*
* Geeqie
* (C) 2004 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
*
* Author: Vladimir Nadvornik
*
/*
* Geeqie
* (C) 2004 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
*
* Author: Vladimir Nadvornik
*
PaneExifData *ped;
};
-
-
+
+
struct _PaneExifData
{
PaneData pane;
GtkSizeGroup *size_group;
gint min_height;
-
+
gboolean all_hidden;
gboolean show_all;
-
+
FileData *fd;
};
// 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);
}
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])
{
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;
}
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);
{
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);
gtk_widget_show(entry);
ped->all_hidden = FALSE;
}
-
+
g_free(text);
-
+
if (update_title) bar_pane_exif_entry_update_title(ee);
}
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);
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)
{
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;
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);
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;
gtk_selection_data_set_text(selection_data, ee->key, -1);
break;
}
-
+
}
static void bar_pane_exif_dnd_receive(GtkWidget *pane, GdkDragContext *context,
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);
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);
}
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);
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));
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);
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);
/* 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);
}
/* 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)
{
return TRUE;
}
return FALSE;
-}
+}
{
PaneExifData *ped;
GList *work, *list;
-
+
ped = g_object_get_data(G_OBJECT(pane), "pane_data");
if (!ped) return;
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);
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;
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)
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);
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);
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);
}
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);
}
/*
* Geeqie
* (C) 2004 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
*
* Author: John Ellis
*
/*
* Geeqie
* (C) 2004 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
*
* Author: Colin Clark
*
{
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;
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);
}
/* 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
*/
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)
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
{
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));
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);
*/
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;
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);
+ pgd->num_added++;
- if ((latitude != 1000) && (longitude != 1000))
- {
- marker = champlain_marker_new_with_text("i","courier 5", &marker_colour, &marker_colour);
+ marker = champlain_label_new_with_text("i","courier 5", &marker_colour, &marker_colour);
- 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);
+ 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_signal_connect(G_OBJECT(marker), "button_release_event",
- G_CALLBACK(bar_pane_gps_marker_keypress_cb), pgd);
+ 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);
+ g_object_set_data(G_OBJECT(marker), "file_fd", fd);
- 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);
- }
- }
+ champlain_bounding_box_extend(pgd->bbox, latitude, longitude);
}
return TRUE;
}
-
- if (pgd->marker_list->len >= 1)
- {
- g_ptr_array_add(pgd->marker_list, NULL);
- if (pgd->centre_map_checked)
+ 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;
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"
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)
{
* 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)
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)
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;
}
{
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);
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);
}
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);
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,
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);
}
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);
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;
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);
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,
pgd->create_markers_id = 0;
pgd->enable_markers_checked = TRUE;
pgd->centre_map_checked = TRUE;
-
+
return pgd->widget;
}
/*
* Geeqie
* (C) 2004 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
*
* Author: Vladimir Nadvornik
*
/*
* Geeqie
* (C) 2004 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
*
* Author: Vladimir Nadvornik
*
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)
{
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);
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)],
+
+ gdk_cairo_set_source_pixbuf(cr, phd->pixbuf, 0, 0);
+ cairo_paint (cr);
+
+ return TRUE;
+}
+
#else
- widget->style->fg_gc[GTK_WIDGET_STATE (widget)],
-#endif
- phd->pixbuf,
- 0, 0,
- 0, 0,
- -1, -1,
- GDK_RGB_DITHER_NORMAL, 0, 0);
+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)
{
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);
{
PaneHistogramData *phd = data;
gint logmode;
-
+
if (!gtk_check_menu_item_get_active(GTK_CHECK_MENU_ITEM(widget))) return;
if (!phd) return;
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);
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);
phd->pane.type = PANE_HISTOGRAM;
phd->pane.expanded = expanded;
-
+
phd->histogram = histogram_new();
histogram_set_channel(phd->histogram, histogram_channel);
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);
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);
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);
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);
/*
* Geeqie
* (C) 2004 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
*
* Author: Vladimir Nadvornik
*
/*
* Geeqie
* (C) 2004 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
*
* Author: John Ellis
*
gboolean collapse_unchecked;
gboolean hide_unchecked;
- guint idle_id; /* event source id */
+ guint idle_id; /* event source id */
FileData *fd;
gchar *key;
};
{
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)
{
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);
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);
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);
- string_list_free(keywords);
-
- g_signal_handlers_unblock_by_func(keyword_buffer, bar_pane_keywords_changed, 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);
+ string_list_free(orig_keywords);
}
void bar_pane_keywords_set_fd(GtkWidget *pane, FileData *fd)
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;
}
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));
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);
/* 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)
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)
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;
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);
}
list = layout_selection_list(pkd->pane.lw);
list = file_data_process_groups_in_selection(list, FALSE, NULL);
-
+
work = list;
while (work)
{
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);
{
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;
}
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;
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;
}
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;
{
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 */
}
{
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;
}
/* the keywords can't be added if the same name already exist */
return;
}
-
+
switch (pos)
{
case GTK_TREE_VIEW_DROP_INTO_OR_BEFORE:
break;
}
}
-
+
}
else
{
}
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)
{
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;
}
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;
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 */
GtkWidget *table;
GtkWidget *group;
GtkWidget *button;
-
+
gchar *name = NULL;
gboolean is_keyword = TRUE;
-
+
if (edit_existing && pkd->click_tpath)
{
return;
}
}
-
+
if (edit_existing && !name) return;
-
+
cdd = g_new0(ConfDialogData, 1);
cdd->pkd =pkd;
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);
}
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);
}
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);
}
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);
}
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));
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);
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);
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++)
{
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);
}
-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)
{
return TRUE;
}
return FALSE;
-}
+}
/*
*-------------------------------------------------------------------
pkd = g_object_get_data(G_OBJECT(bar), "pane_data");
if (!pkd) return;
-
+
g_free(pkd->pane.id);
gtk_widget_destroy(pkd->widget);
}
pkd->pane.expanded = expanded;
pkd->key = g_strdup(key);
-
+
pkd->expand_checked = TRUE;
-
+
hbox = gtk_hbox_new(FALSE, PREF_PAD_GAP);
pkd->widget = hbox;
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);
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);
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);
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);
}
/*
* Geeqie
* (C) 2004 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
*
* Author: Vladimir Nadvornik
*
/*
* Geeqie
* (C) 2006 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
*
* Author: John Ellis
*
SortModeType mode;
SortActionType action;
gchar *filter_key;
-
+
SortSelectionType selection;
GtkWidget *folder_group;
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;
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);
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)
{
select = TRUE;
have_filter = TRUE;
}
-
+
button = pref_radiobutton_new(sd->folder_group, buttongrp,
editor->name, select,
G_CALLBACK(bar_sort_set_filter_cb), sd);
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);
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;
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);
/*
* Geeqie
* (C) 2004 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
*
* Author: John Ellis
*
/*
* Geeqie
* (C) 2005 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
*
* Author: John Ellis
*
/*
* Geeqie
* (C) 2005 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
*
* Author: John Ellis
*
/*
* Geeqie
* (C) 2004 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
*
* Author: John Ellis
*
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];
path = g_build_filename(base, cache_local, name, NULL);
g_free(name);
g_free(base);
-
+
return path;
}
/*
* Geeqie
* (C) 2004 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
*
* Author: John Ellis
*
/*
* Geeqie
* (C) 2006 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
*
* Author: John Ellis
*
*-------------------------------------------------------------------
*/
-#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;
{
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);
}
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);
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;
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)
{
{
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);
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);
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);
{
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);
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);
label = pref_label_new(group, buf);
g_free(buf);
gtk_misc_set_alignment(GTK_MISC(label), 0.0, 0.5);
-
+
return label;
}
/*
* Geeqie
* (C) 2004 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
*
* Author: John Ellis
*
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);
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,
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 {
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
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,
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)
{
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;
{
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;
}
}
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,
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;
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);
}
}
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);
}
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))
-#else
- if (cellicon->focused && GTK_WIDGET_HAS_FOCUS(widget))
-#endif
{
- gtk_paint_focus(widget->style, window,
+#if GTK_CHECK_VERSION(3,0,0)
+#else
+ 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;
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)
{
#ifndef __GQV_CELL_RENDERER_ICON_H__
#define __GQV_CELL_RENDERER_ICON_H__
-#include <gtk/gtkcellrenderer.h>
-
#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */
gboolean background_set;
gint num_marks;
-
+
gboolean show_text;
gboolean show_marks;
-
+
guint marks;
guint toggled_mark;
-
+
};
struct _GQvCellRendererIconClass
/*
* Geeqie
* (C) 2004 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
*
* Author: John Ellis
*
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;
/*
* Geeqie
* (C) 2004 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
*
* Author: John Ellis
*
/*
* Geeqie
* (C) 2004 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
*
* Author: John Ellis
*
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;
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);
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)
{
/*
* Geeqie
* (C) 2004 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
*
* Author: John Ellis
*
/*
* Geeqie
* (C) 2004 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
*
* Author: John Ellis
*
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)
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;
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);
}
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);
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;
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)
{
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;
if (stop_signal)
{
-#if 0
- g_signal_stop_emission_by_name(GTK_OBJECT(widget), "key_press_event");
-#endif
tip_unschedule(ct);
}
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)
{
static void collection_table_insert_marker(CollectTable *ct, CollectInfo *info, gboolean enable)
{
- gint row, col;
gboolean after = FALSE;
GdkRectangle cell;
/* 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;
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)
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)
{
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
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);
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);
}
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);
"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;
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:
}
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);
}
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);
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)
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);
}
}
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)
{
if (info && (info->flag_mask & SELECTION_PRELIGHT))
{
-#if 0
- shift_color(&color_fg, -1, 0);
-#endif
shift_color(&color_bg, -1, 0);
}
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);
}
gint i;
ct = g_new0(CollectTable, 1);
-
+
ct->cd = cd;
ct->show_text = options->show_icon_names;
/*
* Geeqie
* (C) 2004 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
*
* Author: John Ellis
*
/*
* Geeqie
* (C) 2006 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
*
* Author: John Ellis
*
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)
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;
collection_list = g_list_append(collection_list, cd);
-
+
return cd;
}
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);
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++;
{
guint item_number;
CollectInfo *info;
-
+
item_number = (guint) atoi(ptr);
while (*ptr != '\n' && *ptr != '\0') ptr++;
if (*ptr == '\0')
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;
}
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);
if (!(type & NOTIFY_CHANGE) || !fd->change) return;
DEBUG_1("Notify collection: %s %04x", fd->path, type);
-
+
switch (fd->change->type)
{
case FILEDATA_CHANGE_MOVE:
{
CollectWindow *cw = data;
gboolean stop_signal = FALSE;
- gint edit_val = -1;
GList *list;
if (event->state & GDK_CONTROL_MASK)
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)
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;
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)
{
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;
}
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;
/*
* Geeqie
* (C) 2004 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
*
* Author: John Ellis
*
/*
* Geeqie
* (C) 2006 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
*
* Author: John Ellis
*
#ifdef HAVE_LCMS
/*** color support enabled ***/
+#ifdef HAVE_LCMS2
+#include <lcms2.h>
+#else
#include <lcms.h>
+#endif
typedef struct _ColorManCache ColorManCache;
if (init_done) return;
init_done = TRUE;
+#ifndef HAVE_LCMS2
cmsErrorAction(LCMS_ERROR_IGNORE);
+#endif
}
static cmsHPROFILE color_man_create_adobe_comp(void)
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;
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;
/*
* Geeqie
* (C) 2006 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
*
* Author: John Ellis
*
/*
* Geeqie
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
*
* Authors: Vladimir Nadvornik / Laurent Monin
*
#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;
-#endif
+ 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: */
/*
* Geeqie
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
*
* Authors: Vladimir Nadvornik / Laurent Monin
*
#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)
#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: */
/*
* Geeqie
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
*
* Authors: Vladimir Nadvornik, Laurent Monin
*
/*
* Geeqie
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
*
* Authors: Vladimir Nadvornik, Laurent Monin
*
/*
* Geeqie
* (C) 2004 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
*
* Author: Vladimir Nadvornik
*
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);
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;
}
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);
{
modified = strcmp(ew->desktop_name, content);
}
-
+
gtk_widget_set_sensitive(ew->save_button, modified);
ew->modified = modified;
}
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;
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))
/* 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);
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;
ewdl = g_new(EditorWindowDel_Data, 1);
ewdl->ewl = ewl;
ewdl->path = path;
-
+
if (ewl->gd)
{
GenericDialog *gd = ewl->gd;
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;
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);
}
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;
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)
g_free(s2);
}
break;
-
+
default:
g_return_val_if_reached(0);
}
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",
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;
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;
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);
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"));
/*
* Geeqie
* (C) 2004 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
*
* Author: Vladimir Nadvornik
*
/*
* Geeqie
* (C) 2004 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
*
* Author: John Ellis
*
#include "collect.h"
#include "image.h"
#include "ui_fileops.h"
+#include "pixbuf_util.h"
GtkTargetEntry dnd_file_drag_types[] = {
}
}
+/*
static void pixbuf_draw_rect(GdkPixbuf *pixbuf, gint x, gint y, gint w, gint h, guint8 val)
{
gboolean alpha;
}
}
}
-
+*/
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;
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)
/*
* Geeqie
* (C) 2004 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
*
* Author: John Ellis
*
/*
* Geeqie
* (C) 2005 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
*
* Author: John Ellis
*
{
GdkCursor *cursor;
- if (!widget->window) return;
+ if (!gtk_widget_get_window(widget)) return;
if (icon == -1)
{
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);
}
{
*rank = 0.0;
- if (a == b) return FALSE;
+ if (a->fd->path == b->fd->path) return FALSE;
if (mask & DUPE_MATCH_PATH)
{
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);
}
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);
{
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)
{
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);
{
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)
{
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)
{
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),
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);
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':
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;
guint time, gpointer data)
{
DupeWindow *dw = data;
- gchar *uri_text;
- gint length;
GList *list;
switch (info)
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,
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)
{
if (!(type & NOTIFY_CHANGE) || !fd->change) return;
DEBUG_1("Notify dupe: %s %04x", fd->path, type);
-
+
switch (fd->change->type)
{
case FILEDATA_CHANGE_MOVE:
/*
* Geeqie
* (C) 2004 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
*
* Author: John Ellis
*
/*
* Geeqie
* (C) 2006 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
*
* Author: John Ellis
*
void editor_description_free(EditorDescription *editor)
{
if (!editor) return;
-
+
g_free(editor->key);
g_free(editor->name);
g_free(editor->icon);
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/*", "*"},
{"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"},
{"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"},
{"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;
}
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))
{
return FALSE;
}
g_free(type);
-
+
editor = g_new0(EditorDescription, 1);
-
+
editor->key = g_strdup(key);
editor->file = g_strdup(path);
{
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;
{
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;
{
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;
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)
{
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';
}
}
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);
{
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;
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)
{
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);
}
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;
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++);
list = editor_add_desktop_dir(list, path);
g_free(path);
}
-
+
g_strfreev(split_dirs);
return list;
}
{
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;
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);
g_free(pathl);
pathl = NULL;
}
-
+
DEBUG_2("editor_command_path_parse: return %s", pathl);
return pathl;
}
static GString *append_quoted(GString *str, const char *s, gboolean single_quotes, gboolean double_quotes)
{
const char *p;
-
+
if (!single_quotes)
{
if (!double_quotes)
else
g_string_append_c(str, *p);
}
-
+
if (!single_quotes)
{
if (!double_quotes)
flags |= EDITOR_ERROR_EMPTY;
goto err;
}
-
+
p = editor->exec;
/* skip leading whitespaces if any */
while (g_ascii_isspace(*p)) p++;
/* 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;
work = work->next;
}
}
-
+
if (!pathl)
{
flags |= EDITOR_ERROR_NO_FILE;
{
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);
ed->vd ? &standard_output : NULL,
ed->vd ? &standard_error : NULL,
NULL);
-
+
g_free(working_directory);
if (!ok) ed->flags |= EDITOR_ERROR_CANT_EXEC;
if (!error)
return 0;
-
+
/* command was not started, call the finish immediately */
return editor_command_next_finish(ed, 0);
}
case EDITOR_CB_SKIP:
return editor_command_done(ed);
}
-
+
return editor_command_next_start(ed);
}
EditorFlags error;
EditorDescription *editor;
if (!key) return EDITOR_ERROR_EMPTY;
-
+
editor = g_hash_table_lookup(editors, key);
if (!editor) return EDITOR_ERROR_EMPTY;
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);
}
{
EditorDescription *editor;
if (!key) return TRUE;
-
+
editor = g_hash_table_lookup(editors, key);
if (!editor) return TRUE;
{
EditorDescription *editor;
if (!key) return TRUE;
-
+
editor = g_hash_table_lookup(editors, key);
if (!editor) return TRUE;
{
EditorDescription *editor;
if (!key) return FALSE;
-
+
editor = g_hash_table_lookup(editors, key);
if (!editor) return FALSE;
{
EditorDescription *editor;
if (!key) return FALSE;
-
+
editor = g_hash_table_lookup(editors, key);
if (!editor) return FALSE;
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);
}
/*
* Geeqie
* (C) 2004 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
*
* Author: John Ellis
*
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;
/*
* Geeqie
* (C) 2006 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
*
*/
#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
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;
}
gint i, j;
g_strstrip(software);
-
+
/* remove superfluous spaces (pentax K100D) */
for (i = 0, j = 0; software[i]; i++, j++)
{
static gchar *exif_build_formatted_ColorProfile(ExifData *exif)
{
+#ifdef HAVE_LCMS2
+ cmsUInt8Number profileID[17];
+#endif
const gchar *name = "";
const gchar *source = "";
guchar *profile_data;
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);
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;
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;
}
{
if (!fd) return;
g_assert(fd->exif == exif);
-
- file_cache_put(exif_cache, fd, 1);
}
/* embedded icc in jpeg */
/*
* 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.
/*
* 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.
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;
}
{
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;
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);
}
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;
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;
}
void exif_free_preview(guchar *buf)
{
GList *work = exif_unmap_list;
-
+
while (work)
{
UnmapData *ud = (UnmapData *)work->data;
/*
* 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.
/*
* Geeqie
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
*
* Author: Vladimir Nadvornik
*
/*
* Geeqie
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
*
* Author: Vladimir Nadvornik
*
};
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)
{
gboolean file_cache_get(FileCacheData *fc, FileData *fd)
{
GList *work;
-
+
g_assert(fc && fd);
work = fc->list;
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;
}
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);
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);
}
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);
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;
/*
* Geeqie
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
*
* Author: Vladimir Nadvornik
*
/*
* Geeqie
* (C) 2006 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
*
* Author: John Ellis
*
#include "trash.h"
#include "histogram.h"
+#include "exif.h"
+
#include <errno.h>
static GHashTable *file_data_pool = NULL;
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;
/*
*-----------------------------------------------------------------------------
/*
*-----------------------------------------------------------------------------
- * changed files detection and notification
+ * changed files detection and notification
*-----------------------------------------------------------------------------
*/
{
fd->version++;
fd->valid_marks = 0;
- if (fd->parent)
+ if (fd->parent)
{
fd->parent->version++;
fd->parent->valid_marks = 0;
{
gboolean ret = FALSE;
GList *work;
-
+
ret = file_data_check_changed_single_file(fd, st);
work = fd->sidecar_files;
{
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;
}
{
gboolean ret = FALSE;
struct stat st;
-
+
if (fd->parent) fd = fd->parent;
if (!stat_utf8(fd->path, &st))
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
{
/*
*-----------------------------------------------------------------------------
- * file name, extension, sorting, ...
+ * file name, extension, sorting, ...
*-----------------------------------------------------------------------------
*/
static void file_data_set_collate_keys(FileData *fd)
{
gchar *caseless_name;
+ gchar *valid_name;
- caseless_name = g_utf8_casefold(fd->name, -1);
+ 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);
}
{
fd->extension = fd->name + strlen(fd->name);
}
-
+
fd->sidecar_priority = sidecar_file_priority(fd->extension);
file_data_set_collate_keys(fd);
}
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);
{
file_data_ref(fd);
}
-
+
if (!fd && file_data_planned_change_hash)
{
fd = g_hash_table_lookup(file_data_planned_change_hash, path_utf8);
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 */
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;
else
/* dir or non-existing yet */
g_assert(S_ISDIR(st.st_mode));
-
+
return file_data_new(path_utf8, &st, TRUE);
}
#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);
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);
#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;
{
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);
}
while (work) {
gchar *ext = work->data;
-
+
work = work->next;
if (g_ascii_strcasecmp(extension, ext) == 0) return i;
i++;
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;
-}
+ /* 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;
-static FileData *file_data_merge_sidecar_files(FileData *target, FileData *source)
-{
- GList *work;
-
- file_data_add_sidecar_file(target, source);
+ if (!basename_list) return;
- work = source->sidecar_files;
+
+ DEBUG_2("basename start");
+ work = basename_list;
while (work)
{
- FileData *sfd = work->data;
- file_data_add_sidecar_file(target, sfd);
+ FileData *fd = work->data;
work = work->next;
- }
-
- g_list_free(source->sidecar_files);
- source->sidecar_files = NULL;
+ 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);
+ }
- return target;
-}
+ g_assert(fd->parent == NULL || fd->sidecar_files == NULL);
+ }
-static void file_data_check_sidecars(const GList *basename_list)
-{
- 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;
+
+ /* 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;
- while (work)
+ s_work = parent_fd->sidecar_files;
+
+ while (work && s_work)
{
- FileData *sfd = work->data;
+ if (work->data != s_work->data) break;
work = work->next;
+ s_work = s_work->next;
+ }
- file_data_merge_sidecar_files(parent_fd, sfd);
+ if (!work && !s_work)
+ {
+ DEBUG_2("basename no change");
+ return; /* no change in grouping */
}
-
- /* there may be some sidecars that are already deleted - disconnect them */
- work = parent_fd->sidecar_files;
+
+ /* we have to regroup it */
+
+ /* first, disconnect everything and send notification*/
+
+ work = basename_list;
while (work)
{
- FileData *sfd = work->data;
+ FileData *fd = work->data;
work = work->next;
-
- if (!g_list_find((GList *)basename_list, sfd))
+ g_assert(fd->parent == NULL || fd->sidecar_files == NULL);
+
+ if (fd->parent)
{
- printf("removing unknown %s: %s \n", parent_fd->path, sfd->path);
- file_data_disconnect_sidecar_file(parent_fd, sfd);
+ 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_send_notification(parent_fd, 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;
+ 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_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 FileData *file_data_disconnect_sidecar_file(FileData *target, FileData *sfd)
+
+static void 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)
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;
}
*-----------------------------------------------------------------------------
*/
-static SortType filelist_sort_method = SORT_NONE;
-static gboolean filelist_sort_ascend = TRUE;
-
gint filelist_sort_compare_filedata(FileData *fa, FileData *fb)
{
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);
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);
}
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);
}
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);
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);
}
while (work)
{
FileData *fd = work->data;
-
+
work = work->next;
if (fd->parent) /* remove fd's that are children */
file_data_unref(fd);
{
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);
}
}
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;
}
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;
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;
}
{
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)
{
break;
}
}
-
+
if (!existing_only && !sidecar_path)
{
gchar *base = g_strndup(fd->path, fd->extension - fd->path);
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 */
{
{
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);
{
file_data_ref(fd);
}
-
+
file_data_increment_version(fd);
file_data_send_notification(fd, NOTIFY_MARKS);
}
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;
fdci->dest = g_strdup(dest);
fd->change = fdci;
-
+
return TRUE;
}
if (!fdci) return;
file_data_planned_change_remove(fd);
-
+
if (fdci->regroup_when_finished) file_data_disable_grouping(fd, FALSE);
g_free(fdci->source);
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)
{
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;
}
while (work)
{
FileData *fd = work->data;
-
+
if (!file_data_sc_add_ci_delete(fd)) ret = FALSE;
work = work->next;
}
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;
}
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);
}
work = work->next;
}
-
+
return TRUE;
}
while (work)
{
FileData *fd = work->data;
-
+
if (!file_data_add_ci_write_metadata(fd)) ret = FALSE;
work = work->next;
}
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;
}
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;
}
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);
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);
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);
}
{
GList *work;
gchar *dest_path_full = NULL;
-
+
if (fd->parent) fd = fd->parent;
-
+
if (!dest_path)
{
dest_path = fd->path;
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;
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);
}
{
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);
{
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;
}
{
gint ret = CHANGE_OK;
gchar *dir;
-
+
if (!fd->change)
{
DEBUG_1("Change checked: no change info: %s", fd->path);
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 &&
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))
/* 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))
}
}
}
- 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);
g_free(sidecar);
}
}
-
+
if (!have_dest)
{
/* write private metadata file under ~/.geeqie */
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);
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);
}
}
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)
}
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)
g_free(dest_dir);
}
-
+
fd->change->error = ret;
if (ret == 0) DEBUG_1("Change checked: OK: %s", fd->path);
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"));
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, ", ");
gint num;
gint *errors;
gint i;
-
+
if (!list) return 0;
-
+
num = g_list_length(list);
errors = g_new(int, num);
work = list;
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);
g_string_append(result, "\n");
g_free(str);
}
-
+
work = list;
i = 0;
while (work)
fd = work->data;
work = work->next;
-
+
error = errors[i] & ~common_errors;
-
+
if (error)
{
gchar *str = file_data_get_error_string(error);
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;
}
{
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
}
file_data_increment_version(fd);
file_data_send_notification(fd, NOTIFY_CHANGE);
-
+
return TRUE;
}
{
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;
}
GList *work;
if (fd->parent) fd = fd->parent;
if (!g_list_find(list, fd)) return FALSE;
-
+
work = fd->sidecar_files;
while (work)
{
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;
{
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);
{
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");
}
work = work->next;
}
-
+
nd = g_new(NotifyData, 1);
nd->func = func;
nd->data = data;
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);
while (work)
{
NotifyData *nd = (NotifyData *)work->data;
-
+
nd->func(fd, type, nd->data);
work = work->next;
}
FileData *fd = key;
file_data_check_changed_files(fd);
-
+
DEBUG_1("monitor %s", fd->path);
}
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;
}
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: */
/*
* Geeqie
* (C) 2004 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
*
* Author: John Ellis
*
#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);
/*
* Geeqie
* (C) 2006 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
*
* Author: John Ellis
*
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;
{
if (fe->file_class == FORMAT_CLASS_UNKNOWN)
fe->file_class = file_class; /* for compatibility */
-
+
if (fe->writable && fe->allow_sidecar)
{
fe->writable = writable;
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);
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);
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)
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);
}
list = g_list_concat(list, string_list_copy(file_class_extension_list[file_class]));
g_free(ext);
}
-
+
if (*p == ';') p++;
}
{
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)
{
{
log_printf("WARNING: invalid file class %d\n", fe->file_class);
}
-
+
if (fe->writable)
{
ext = filter_to_list(fe->extensions);
ext = filter_to_list(fe->extensions);
if (ext) file_sidecar_list = g_list_concat(file_sidecar_list, ext);
}
-
+
}
}
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);
/*
* Geeqie
* (C) 2004 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
*
* Author: John Ellis
*
/*
* 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.
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 },
}
}
-#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)
canon_mknote_parse_settings(exif, item->data, item->data_len, bo, CanonSet2);
}
-#if 0
- canon_mknote_parse_convert(exif);
-#endif
-
return TRUE;
}
/*
* 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.
/*
* 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.
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 },
/*
* 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.
/*
* 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,
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 },
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 },
/*
* 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.
/*
* 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.
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 },
/*
* 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.
/*
* 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.
/*
* 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.
/*
* Geeqie
* (C) 2004 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
*
* Author: John Ellis
*
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);
}
}
{
FullScreenData *fs;
GdkScreen *screen;
- gboolean same;
gint x, y;
gint w, h;
GdkGeometry geometry;
+ GdkWindow *gdkwin;
if (!window || !imd) return NULL;
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"));
*/
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);
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);
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);
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);
/* 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;
}
fullscreen_busy_mouse_disable(fs);
gdk_keyboard_ungrab(GDK_CURRENT_TIME);
- image_change_from_image(fs->normal_imd, fs->imd);
-
- if (options->stereo.enable_fsmode) {
- image_stereo_set(fs->normal_imd, options->stereo.mode);
- }
-
+ if (fs->same_region)
+ {
+ image_move_from_image(fs->normal_imd, fs->imd);
#ifdef HIDE_WINDOW_IN_FULLSCREEN
- gtk_widget_show(fs->normal_window);
+ gtk_widget_show(fs->normal_window);
#endif
+ if (options->stereo.enable_fsmode)
+ {
+ image_stereo_set(fs->normal_imd, options->stereo.mode);
+ }
+ }
+
+
if (fs->stop_func) fs->stop_func(fs, fs->stop_data);
gtk_widget_destroy(fs->window);
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);
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;
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);
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;
/*
* Geeqie
* (C) 2004 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
*
* Author: John Ellis
*
/*
* 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
gulong g[HISTMAP_SIZE];
gulong b[HISTMAP_SIZE];
gulong max[HISTMAP_SIZE];
-
+
guint idle_id; /* event source id */
GdkPixbuf *pixbuf;
gint y;
const gchar *histogram_label(Histogram *histogram)
{
const gchar *t1 = "";
-
+
if (!histogram) return NULL;
if (histogram->histogram_mode)
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;
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]]++;
}
}
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;
}
{
guint i;
float add;
-
+
if (histogram->vgrid == 0) return;
add = width / (float)histogram->vgrid;
{
guint i;
float add;
-
+
if (histogram->hgrid == 0) return;
add = height / (float)histogram->hgrid;
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,
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);
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;
{
chanmax = histogram->histogram_channel;
}
-
+
{
gulong pt;
gint r = rplus;
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)
/*
* 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
/*
* Geeqie
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
*
* Authors: John Ellis, Vladimir Nadvornik, Laurent Monin
*
/*
* Geeqie
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
*
* Author: John Ellis, Vladimir Nadvornik, Laurent Monin
*
+++ /dev/null
-Makefile.in
-Makefile
+++ /dev/null
-Makefile.in
-Makefile
/*
* Geeqie
* (C) 2004 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
*
* Author: John Ellis
*
GType image_loader_get_type(void)
{
static GType type = 0;
- if (type == 0)
+ if (type == 0)
{
static const GTypeInfo info = {
sizeof(ImageLoaderClass),
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)) {}
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);
if (!fd) return NULL;
il = (ImageLoader *) g_object_new(TYPE_IMAGE_LOADER, NULL);
-
+
il->fd = file_data_ref(fd);
-
+
return il;
}
{
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;
}
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);
+ }
}
/**************************************************************************************/
/* 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);
}
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;
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);
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);
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 */
}
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);
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;
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);
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)
}
il->preview = FALSE;
}
-
+
return TRUE;
}
static void image_loader_stop_source(ImageLoader *il)
{
if (!il) return;
-
+
if (il->mapped_file)
{
if (il->preview)
g_source_remove(il->idle_id);
il->idle_id = 0;
}
-
+
if (il->thread)
{
/* stop loader in the other thread */
image_loader_stop_loader(il);
image_loader_stop_source(il);
-
+
}
void image_loader_delay_area_ready(ImageLoader *il, gboolean enable)
{
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);
}
{
ret = image_loader_continue(il);
}
-
+
if (!ret)
{
image_loader_stop_source(il);
}
-
+
return ret;
}
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);
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);
}
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();
/* 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();
}
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();
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();
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 */
{
GdkPixbuf *ret;
if (!il) return NULL;
-
+
g_mutex_lock(il->data_mutex);
ret = il->pixbuf;
g_mutex_unlock(il->data_mutex);
{
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;
}
/*
* Geeqie
* (C) 2004 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
*
* Author: John Ellis
*
struct _ImageLoader
{
GObject parent;
-
+
/*< private >*/
GdkPixbuf *pixbuf;
FileData *fd;
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;
struct _ImageLoaderClass {
GObjectClass parent;
-
+
/* class members */
void (*area_ready)(ImageLoader *, guint x, guint y, guint w, guint h, gpointer);
void (*error)(ImageLoader *, gpointer);
/*
* Geeqie
* (C) 2006 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
*
* Author: John Ellis
*
OsdShowFlags show;
gint ovl_info;
-
+
gint x;
gint y;
{
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);
if (extrapos)
extra = g_strndup(extrapos, end - extrapos);
-
+
name = g_strndup(start+1, (trunc ? trunc : end)-start-1);
pos = start - new->str;
data = NULL;
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 */
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] == '\\')
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);
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;
{
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);
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;
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);
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) ||
{
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;
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;
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",
{
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:
/*
* Geeqie
* (C) 2006 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
*
* Author: John Ellis
*
/*
* Geeqie
* (C) 2006 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
*
* Author: John Ellis
*
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;
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);
exif_free_fd(imd->image_fd, exif);
}
-
+
if (profile)
{
}
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;
}
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);
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;
}
{
image_change_pixbuf(imd, image_loader_get_pixbuf(imd->il), image_zoom_get(imd), TRUE);
}
-*/
+*/
return TRUE;
}
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 */
if (imd->unknown == TRUE)
{
GdkPixbuf *pixbuf;
-
+
pixbuf = pixbuf_inline(PIXBUF_INLINE_BROKEN);
image_change_pixbuf(imd, pixbuf, zoom, FALSE);
g_object_unref(pixbuf);
*-------------------------------------------------------------------
*/
-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);
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;
/* 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)
}
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);
/* 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;
source->delay_alter_type = ALTER_NONE;
}
+ 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;
+
+ 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;
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) );
}
+
/* manipulation */
void image_area_changed(ImageWindow *imd, gint x, gint y, gint width, gint height)
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);
}
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);
{
ColorMan *cm;
if (!imd) return FALSE;
-
+
cm = imd->cm;
if (!cm) return FALSE;
return color_man_get_status(cm, image_profile, screen_profile);
void image_to_root_window(ImageWindow *imd, gboolean scaled)
{
+#if !GTK_CHECK_VERSION(3,0,0)
GdkScreen *screen;
GdkWindow *rootwindow;
GdkPixmap *pixmap;
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)
{
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);
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);
}
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),
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);
}
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)
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);
-#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_CALLBACK(selectable_frame_expose_cb), NULL);
+#endif
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);
/*
* Geeqie
* (C) 2004 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
*
* Author: John Ellis
*
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);
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);
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: */
#endif
+/* vim: set shiftwidth=8 softtabstop=0 cindent cinoptions={1s: */
*
* 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>
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 */
/* 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;
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--) {
static void
convert_cmyk_to_rgb (struct jpeg_decompress_struct *cinfo,
- guchar **lines)
+ guchar **lines)
{
gint i, j;
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;
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;
{
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);
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 ();
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;
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);
{
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;
{
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,
guint stereo_length = 0;
struct error_handler_data jerr;
-
+
lj->stereo = FALSE;
MPOData *mpo = jpeg_get_mpo_data(buf, count);
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)
}
}
}
-
+
if (idx1 >= 0 && idx2 >= 0)
{
lj->stereo = TRUE;
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.
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);
}
}
-
+
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);
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);
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);
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: */
#endif
+/* vim: set shiftwidth=8 softtabstop=0 cindent cinoptions={1s: */
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;
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
{
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;
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);
+ pixels = g_try_malloc (bytes);
- if (!pixels) {
- DEBUG_1("Insufficient memory to open TIFF file");
- TIFFClose(tiff);
- return FALSE;
- }
-
- 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;
- }
-
- /* 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;
- }
+ return FALSE;
+ }
+ 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;
}
/*
* 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);
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);
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;
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: */
#endif
+/* vim: set shiftwidth=8 softtabstop=0 cindent cinoptions={1s: */
/*
* Geeqie
* (C) 2006 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
*
* Author: John Ellis
*
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);
}
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:
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);
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':
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':
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);
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);
{
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
ImageWindow *imd;
imd = view_window_active_image(vw);
-
+
image_osd_toggle(imd);
}
{
ViewWindow *vw = work->data;
work = work->next;
-
+
image_background_set_color_from_options(vw->imd, !!vw->fs);
}
}
GList *editmenu_fd_list = data;
filelist_free(editmenu_fd_list);
-}
+}
static GList *view_window_get_fd_list(ViewWindow *vw)
{
FileData *fd = image_get_fd(imd);
if (fd) list = g_list_append(NULL, file_data_ref(fd));
}
-
+
return list;
}
{
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)
}
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)
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);
}
}
ViewWindow *vw = data;
if (!(type & NOTIFY_CHANGE) || !fd->change) return;
-
+
DEBUG_1("Notify view_window: %s %04x", fd->path, type);
switch (fd->change->type)
/*
* Geeqie
* (C) 2004 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
*
* Author: John Ellis
*
* 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)
{
-guint16 tiff_byte_get_int16(guchar *f, TiffByteOrder bo)
+guint16 tiff_byte_get_int16(const guchar *f, TiffByteOrder bo)
{
guint16 align_buf;
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;
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;
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)
{
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)
{
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;
{
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;
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);
}
}
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)
{
guint format;
guint count;
guint data_val;
- guint data_offset;
- guint data_length;
MPOEntry *mpe = data;
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:
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;
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)
break;
}
}
-
+
for (i = 0; i < mpo->num_images; i++)
{
- if (i == 0)
+ if (i == 0)
{
offset = next_offset;
}
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;
}
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;
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: */
/*
* Geeqie
* (C) 2004 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
*
* Author: Vladimir Nadvornik
*
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);
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;
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: */
/*
* Geeqie
* (C) 2006 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
*
* Author: John Ellis
*
GList *work;
if (!id || !id[0]) return NULL;
-
+
if (strcmp(id, LAYOUT_ID_CURRENT) == 0)
{
if (current_lw) return current_lw;
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)
{
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))
}
g_free(base);
}
-
+
g_free(buf);
}
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);
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)
{
guint n;
gint64 n_bytes = 0;
-
+
n = layout_list_count(lw, &n_bytes);
-
+
if (n)
{
guint s;
{
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);
{
buf = g_strdup_printf(_("%d files%s"), n, ss);
}
-
+
text = buf;
-
+
image_osd_update(lw->image);
}
else
text = "";
}
}
-
+
if (lw->info_status) gtk_label_set_text(GTK_LABEL(lw->info_status), text);
g_free(buf);
}
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), "");
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);
}
}
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);
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;
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)
gboolean ret;
if (!path) return FALSE;
-
+
fd = file_data_new_group(path);
ret = layout_set_fd(lw, fd);
file_data_unref(fd);
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;
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);
}
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)
+ {
+ 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 = GTK_PANED(lw->h_pane)->child1->allocation.width;
+ *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)
{
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) */
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;
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);
}
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);
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;
{
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);
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);
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);
/* 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;
/* 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 */
gint i;
LayoutWindow *lw = work->data;
work = work->next;
-
+
if (!lw->image) continue;
for (i = 0; i < MAX_SPLIT_IMAGES; i++)
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);
}
}
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;
{
gtk_widget_show(frame);
}
-
+
g_signal_emit_by_name (lw->image->pr, "update-pixel");
}
GtkWidget *configwindow;
GtkWidget *home_path_entry;
GtkWidget *layout_widget;
-
+
LayoutOptions options;
};
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);
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);
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);
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))
}
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);
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;
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);
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);
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);
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;
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);
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++;
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;
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;
*path = get_current_dir();
break;
}
-}
+}
static void layout_config_commandline(LayoutOptions *lop, gchar **path)
*path = g_strdup(command_line->path);
}
else layout_config_startup_path(lop, path);
-
+
if (command_line->tools_show)
{
lop->tools_float = FALSE;
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);
}
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);
}
/*
* Geeqie
* (C) 2004 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
*
* Author: John Ellis
*
/*
* Geeqie
* (C) 2004 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
*
* Author: John Ellis
*
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);
}
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)
{
/*
* Geeqie
* (C) 2004 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
*
* Author: John Ellis
*
/*
* Geeqie
* (C) 2006 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
*
* Author: John Ellis
*
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;
}
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);
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);
}
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)
else
list = g_list_append(NULL, file_data_ref(fd));
}
-
+
return list;
}
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);
{
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);
}
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)
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);
}
}
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;
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)
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++)
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++)
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++)
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++)
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);
{
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;
{
if (lw->split_images[i] && lw->split_images[i] != imd)
{
- gdouble sx, sy;
if (event->state & GDK_CONTROL_MASK)
{
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
{
{
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);
// layout_list_sync_path(lw, path);
layout_set_fd(lw, fd);
}
+ layout_status_update_image(lw);
}
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]);
{
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;
{
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);
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;
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);
}
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*/
}
}
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:
/*
* Geeqie
* (C) 2006 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
*
* Author: John Ellis
*
/*
* Geeqie
* (C) 2004 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
*
* Author: John Ellis
*
*/
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)
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);
}
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))
{
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:
stop_signal = TRUE;
switch (event->keyval)
{
- case GDK_Menu:
+ case GDK_KEY_Menu:
layout_image_menu_popup(lw);
break;
default:
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));
}
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)
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 */
}
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);
}
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);
}
static void layout_menu_bar_exif_cb(GtkAction *action, gpointer data)
{
LayoutWindow *lw = data;
-
+
layout_exit_fullscreen(lw);
layout_exif_window_new(lw);
}
{
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);
static void layout_menu_notes_cb(GtkAction *action, gpointer data)
{
LayoutWindow *lw = data;
-
+
layout_exit_fullscreen(lw);
help_window_show("release_notes");
}
}
if (!path) return;
-
+
/* Open previous path */
dir_fd = file_data_new_dir(path);
layout_set_fd(lw, dir_fd);
{
LayoutWindow *lw = data;
const gchar *path;
-
+
if (lw->options.home_path && *lw->options.home_path)
path = lw->options.home_path;
else
{
LayoutWindow *lw = data;
const gchar *key = gtk_action_get_name(action);
-
+
if (!editor_window_flag_set(key))
layout_exit_fullscreen(lw);
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
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));
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);
}
}
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;
}
path = path->next;
}
-
+
if (path)
g_string_append_printf(desc, " <menuitem action='%s'/>", (gchar *)path->data);
}
GList *work;
GList *old_path;
GString *desc;
-
+
if (lw->ui_editors_id)
{
gtk_ui_manager_remove_ui(lw->ui_manager, lw->ui_editors_id);
" <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;
"</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)
{
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);
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());
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;
}
DEBUG_1("%s layout_editors_reload_idle_cb: setup_editors done", get_exec_time());
-
+
layout_editors_reload_idle_id = -1;
return FALSE;
}
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)
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)
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)
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");
}
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));
}
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++;
}
layout_toolbar_add(lw, type, action);
- g_free(action);
+ g_free(action);
}
/*
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");
{
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];
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);
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);
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);
}
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)
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
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);
}
// 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));
}
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
}
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
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);
}
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);
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",
/*
* Geeqie
* (C) 2004 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
*
* Author: John Ellis
*
/*
* Geeqie
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
*
*/
gint ret;
gint x = 0;
gint y = 0;
-
+
/* LIRC code and corresponding geeqie command (and parameters)*/
gchar *code;
gchar *cmd;
ptr = cmd + 4;
while (g_ascii_isspace(*ptr)) ptr++;
i_parm = atoi(ptr);
-
+
if (i_parm <= 0) i_parm = 1;
x -= i_parm;
}
ptr = cmd + 5;
while (g_ascii_isspace(*ptr)) ptr++;
i_parm = atoi(ptr);
-
+
if (i_parm <= 0) i_parm = 1;
x += i_parm;
}
ptr = cmd + 2;
while (g_ascii_isspace(*ptr)) ptr++;
i_parm = atoi(ptr);
-
+
if (i_parm <= 0) i_parm = 1;
y -= i_parm;
}
ptr = cmd + 4;
while (g_ascii_isspace(*ptr)) ptr++;
i_parm = atoi(ptr);
-
+
if (i_parm <= 0) i_parm = 1;
y += i_parm;
}
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);
}
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);
}
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);
}
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);
}
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)
/*
* 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
GtkWidget *window;
GtkWidget *scrolledwin;
GtkWidget *text;
-
+
GdkColor colors[LOG_COUNT];
guint lines;
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;
}
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]);
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++)
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,
GtkTextView *text = GTK_TEXT_VIEW(logwin->text);
GtkTextBuffer *buffer;
GtkTextMark *mark;
-
+
g_assert(logwin != NULL);
buffer = gtk_text_view_get_buffer(text);
{
GList *work = g_list_last(memory);
LogMsg *oldest_msg = work->data;
-
+
g_free(oldest_msg->text);
memory = g_list_delete_link(memory, work);
}
{
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;
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);
}
/*
* 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
/*
* Geeqie
* (C) 2006 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
*
* Author: John Ellis
*
#ifdef G_OS_UNIX
#include <pwd.h>
#endif
+#include <locale.h>
#include "main.h"
#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;
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))
{
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;
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;
}
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());
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,
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);
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");
exit(1);
}
-#else
- gtk_init(&argc, &argv);
-#endif
#else
gtk_init(&argc, &argv);
#endif
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());
/* 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);
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();
/*
* Geeqie
* (C) 2006 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
*
* Author: John Ellis
*
/*
* Geeqie
* (C) 2004 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
*
* Author: John Ellis
*
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");
}
/*
g_signal_connect(G_OBJECT(item), "destroy", G_CALLBACK(edit_item_destroy_cb), key);
}
}
-
+
g_list_free(editors_list);
}
case SORT_TIME:
return _("Sort by date");
break;
+ case SORT_EXIFTIME:
+ return _("Sort by Exif-date");
+ break;
case SORT_NONE:
return _("Unsorted");
break;
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);
/*
* Geeqie
* (C) 2004 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
*
* Author: John Ellis
*
/*
* Geeqie
* (C) 2004 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
*
* Author: John Ellis, Laurent Monin
*
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;
}
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);
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);
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);
{
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);
{
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);
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);
{
GList *work;
gboolean ret = TRUE;
-
+
work = list;
while (work)
{
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))
{
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);
}
{
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);
}
/* 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;
}
static gboolean metadata_check_key(const gchar *keys[], const gchar *key)
{
const gchar **k = keys;
-
+
while (*k)
{
if (strcmp(key, *k) == 0) return TRUE;
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);
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);
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);
}
return TRUE;
}
-
+
gboolean metadata_write_string(FileData *fd, const gchar *key, const char *value)
{
GList *list = g_list_append(NULL, g_strdup(value));
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);
}
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;
}
if (*ptr == '[' && key != MK_COMMENT)
{
gchar *keystr = ++ptr;
-
+
key = MK_NONE;
while (*ptr != ']' && *ptr != '\n' && *ptr != '\0') ptr++;
-
+
if (*ptr == ']')
{
*ptr = '\0';
}
continue;
}
-
+
switch (key)
{
case MK_NONE:
break;
}
}
-
+
fclose(f);
- if (keywords)
+ if (keywords)
{
*keywords = g_list_reverse(list);
}
{
string_list_free(list);
}
-
+
if (comment_build)
{
if (comment)
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);
}
#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);
gchar *metadata_path;
gchar *metadata_pathl;
gboolean success = FALSE;
-
+
if (!fd) return FALSE;
metadata_path = cache_find_location(CACHE_TYPE_METADATA, fd->path);
}
- 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
*/
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);
}
{
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;
}
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);
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);
}
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);
}
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;
/*
* keywords to marks
*/
-
+
gboolean meta_data_get_keyword_mark(FileData *fd, gint n, gpointer data)
{
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);
}
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 */
{
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);
{
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);
gboolean toplevel = FALSE;
gboolean ret;
gchar *casefold;
-
+
if (parent_ptr)
{
parent = *parent_ptr;
{
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))
g_free(iter_casefold);
} // if (options->metadata.tags_cas...
}
- if (ret)
+ if (ret)
{
if (result) *result = iter;
break;
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;
{
GList *path = NULL;
GtkTreeIter iter = *iter_ptr;
-
+
while (TRUE)
{
GtkTreeIter parent;
GtkTreeIter iter;
if (!gtk_tree_model_get_iter_first(keyword_tree, &iter)) return FALSE;
-
+
while (TRUE)
{
GtkTreeIter children;
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;
}
{
/* 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)
if (!gtk_tree_model_iter_next(keyword_tree, &child)) return FALSE;
}
}
-
+
while (TRUE)
{
GtkTreeIter parent;
g_free(iter_casefold);
if (!found) return FALSE;
}
-
+
if (!gtk_tree_model_iter_parent(keyword_tree, &parent, &iter)) return TRUE;
iter = parent;
}
{
GtkTreeIter child;
keyword_tree_reset1(keyword_tree, iter, kw_list);
-
+
if (!gtk_tree_model_iter_children(keyword_tree, &child, iter)) return;
while (TRUE)
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)
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;
{
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);
}
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);
}
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);
}
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);
}
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++;
indent--;
WRITE_NL(); WRITE_STRING("</keyword>");
}
- else
+ else
{
WRITE_STRING("/>");
}
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);
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 */
/*
* Geeqie
* (C) 2004 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
*
* Author: John Ellis, Laurent Monin
*
/*
* Geeqie
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
*
* Authors: Vladimir Nadvornik / Laurent Monin
*
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);
DEBUG_1("%s : %d\n", msg, retval);
}
-
+
return retval;
#endif
}
/*
* Geeqie
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
*
* Authors: Vladimir Nadvornik / Laurent Monin
*
/*
* Geeqie
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
*
* Authors: Vladimir Nadvornik, Laurent Monin
*
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;
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;
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;
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;
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;
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);
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");
/*
* Geeqie
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
*
* Authors: Vladimir Nadvornik, Laurent Monin
*
gint tile_cache_max; /* in megabytes */
gint image_cache_max; /* in megabytes */
- guint dither_quality;
gboolean enable_read_ahead;
ZoomMode zoom_mode;
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;
struct {
gchar *ext;
} sidecar;
-
+
/* collections */
struct {
gboolean rectangular_selection;
gchar *path;
gchar *options;
} shell;
-
+
/* file sorting */
struct {
SortType method;
gboolean warn_on_write_problems;
gboolean save_legacy_format;
-
+
gboolean sync_grouped_files;
-
+
gboolean confirm_write;
gint confirm_timeout;
gboolean confirm_after_timeout;
gboolean keywords_case_sensitive;
gboolean write_orientation;
} metadata;
-
+
/* Stereo */
struct {
gint mode;;
gboolean fs_flip_left;
gboolean fs_swap;
gboolean fs_temp_disable;
- } tmp;
+ } tmp;
} stereo;
};
/*
* Geeqie
* (C) 2006 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
*
* Author: John Ellis
*
}
}
-#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,
time_t tc;
gint count;
gint day_max;
- gint day_width;
- gint day_height;
gint grid;
gint year = 0;
gint month = 0;
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)
{
/*
* Geeqie
* (C) 2006 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
*
* Author: John Ellis
*
/*
* Geeqie
* (C) 2006 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
*
* Author: John Ellis
*
/*
* Geeqie
* (C) 2006 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
*
* Author: John Ellis
*
PanItem *pi;
pi = g_new0(PanItem, 1);
-
+
pi->type = PAN_ITEM_THUMB;
pi->fd = fd;
pi->x = x;
/*
* Geeqie
* (C) 2006 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
*
* Author: John Ellis
*
/*
* Geeqie
* (C) 2006 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
*
* Author: John Ellis
*
/*
* Geeqie
* (C) 2006 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
*
* Author: John Ellis
*
/*
* Geeqie
* (C) 2006 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
*
* Author: John Ellis
*
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;
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);
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;
}
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);
gint col, row;
gint cw, ch;
gint l;
- gdouble total;
- gdouble s;
- gdouble aw, ah;
gint i, j;
pan_grid_clear(pw);
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);
{
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);
}
FileData *fd;
gboolean stop_signal = FALSE;
GtkWidget *menu;
+ GtkWidget *imd_widget;
gint x = 0;
gint y = 0;
gint focused;
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:
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));
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);
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':
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_Delete: case GDK_KP_Delete:
+ case GDK_KEY_Delete: case GDK_KEY_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);
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
}
{
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);
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)
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);
}
}
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));
}
static void scroll_cb(PixbufRenderer *pr, GdkEventScroll *event, gpointer data)
{
-#if 0
- PanWindow *pw = data;
-#endif
gint w, h;
w = pr->vis_width;
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);
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);
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;
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",
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",
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);
{
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;
}
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);
{
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;
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);
}
}
/*
* Geeqie
* (C) 2006 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
*
* Author: John Ellis
*
/*
* Geeqie
* (C) 2006 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
*
* Author: John Ellis
*
#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
PROP_ZOOM_QUALITY,
PROP_ZOOM_2PASS,
PROP_ZOOM_EXPAND,
- PROP_DITHER_QUALITY,
PROP_SCROLL_RESET,
PROP_DELAY_FLIP,
PROP_LOADING,
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);
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);
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);
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",
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",
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),
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;
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;
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);
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;
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;
}
}
-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;
-}
/*
*-------------------------------------------------------------------
{
GdkCursor *cursor;
- if (!widget->window) return;
+ if (!gtk_widget_get_window(widget)) return;
if (icon == -1)
{
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);
}
if (!pr->parent_window) return FALSE;
if (!pr->window_fit) return FALSE;
- if (!GTK_WIDGET(pr)->window) return FALSE;
+ if (!gtk_widget_get_window(GTK_WIDGET(pr))) return FALSE;
- if (!pr->parent_window->window) return FALSE;
- state = gdk_window_get_state(pr->parent_window->window);
+ 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;
GtkWidget *widget;
GtkWidget *parent;
gint ww, wh;
+ GtkAllocation widget_allocation;
+ GtkAllocation parent_allocation;
if (!pr_parent_window_sizable(pr)) return FALSE;
widget = GTK_WIDGET(pr);
parent = GTK_WIDGET(pr->parent_window);
- w += (parent->allocation.width - widget->allocation.width);
- h += (parent->allocation.height - widget->allocation.height);
+ gtk_widget_get_allocation(widget, &widget_allocation);
+ gtk_widget_get_allocation(parent, &parent_allocation);
- gdk_drawable_get_size(parent->window, &ww, &wh);
+ 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;
}
*-------------------------------------------------------------------
*/
-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;
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);
}
/*
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)
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;
}
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.
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;
}
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);
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;
}
{
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);
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)
{
}
if (force) clamp_flags |= PR_ZOOM_INVALIDATE;
- if (lazy) clamp_flags |= PR_ZOOM_LAZY;
- if (!pr_zoom_clamp(pr, zoom, clamp_flags, &redrawn)) return;
+ if (!pr_zoom_clamp(pr, zoom, clamp_flags)) return;
- clamped = pr_size_clamp(pr);
- sized = pr_parent_window_resize(pr, pr->width, pr->height);
+ (void) pr_size_clamp(pr);
+ (void) pr_parent_window_resize(pr, pr->width, pr->height);
if (force && new)
{
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);
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;
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)
}
}
- pr_border_clear(pr);
-
pr_scroll_notify_signal(pr);
if (zoom_changed) pr_zoom_signal(pr);
pr_update_signal(pr);
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
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);
}
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)
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);
}
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);
}
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);
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",
{ 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)
{
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;
}
}
}
-
+
void pr_create_anaglyph(guint mode, GdkPixbuf *pixbuf, GdkPixbuf *right, gint x, gint y, gint w, gint h)
{
if (mode & PR_STEREO_ANAGLYPH_RC)
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;
if (!pr->pixbuf)
{
- GtkWidget *box;
-
/* no pixbuf so just clear the window */
pr->image_width = 0;
pr->image_height = 0;
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);
}
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);
}
source->source_tiles = NULL;
pr_zoom_sync(pr, source->zoom, PR_ZOOM_FORCE | PR_ZOOM_NEW, 0, 0);
- pr_redraw(pr, TRUE);
}
else
{
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)
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
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);
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;
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);
*b_mouse = -1;
return FALSE;
}
-
+
if (!pb) return FALSE;
pr_tile_region_map_orientation(pr->orientation,
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);
*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);
*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 */
*x_pixel_return = x_pixel;
*y_pixel_return = y_pixel;
-
+
return TRUE;
}
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;
//pr->width = width;
//pr->height = height;
+#endif
}
/* vim: set shiftwidth=8 softtabstop=0 cindent cinoptions={1s: */
/*
* Geeqie
* (C) 2006 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
*
* Author: John Ellis
*
#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))
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);
};
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;
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;
gboolean zoom_2pass;
gboolean zoom_expand;
- GdkRgbDither dither_quality;
-
PixbufRendererScrollResetType scroll_reset;
gboolean has_frame;
gint orientation;
gint stereo_mode;
-
+
StereoPixbufData stereo_data;
gboolean stereo_temp_disable;
gint stereo_fixed_width;
gint stereo_fixed_y_left;
gint stereo_fixed_x_right;
gint stereo_fixed_y_right;
-
+
RendererFuncs *renderer;
RendererFuncs *renderer2;
};
/* 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 */
/*
* Geeqie
* (C) 2004 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
*
* Author: John Ellis
*
{
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);
}
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,
64, /* size */
0, /* flags */
&error);
- if (!pixbuf)
+ if (!pixbuf)
{
if (error)
{
g_error_free(error);
error = NULL;
}
-
+
if (strchr(icon, '.'))
{
/* try again without extension */
}
if (!pixbuf) return FALSE;
-
+
register_stock_icon(key, pixbuf);
return TRUE;
}
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);
gint dw, dh, drs;
guchar *s_pix;
guchar *d_pix;
-#if 0
- guchar *sp;
- guchar *dp;
-#endif
gint i, j;
gint a;
GdkPixbuf *buffer;
{
GdkPixbuf *dest;
GdkPixbuf *tmp = NULL;
-
+
switch (orientation)
{
case EXIF_ORIENTATION_TOP_LEFT:
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);
-
- 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);
+ 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);
+
+ 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;
r, g, b, a);
g_object_unref(buffer);
+ cairo_surface_destroy(source);
}
/*
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)
{
/*
* Geeqie
* (C) 2004 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
*
* Author: John Ellis
*
/*
* Geeqie
* (C) 2006 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
*
* Author: John Ellis
*
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);
}
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);
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;
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
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;
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))
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;
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;
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)
filter_rebuild();
layout_refresh(NULL);
}
-
+
if (accel_store) gtk_tree_model_foreach(GTK_TREE_MODEL(accel_store), accel_apply_cb, NULL);
}
pref_table_label(table, column, row, text, 0.0);
- combo = gtk_combo_box_new_text();
+ combo = gtk_combo_box_text_new();
- gtk_combo_box_append_text(GTK_COMBO_BOX(combo), _("Nearest (worst, but fastest)"));
+ 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);
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;
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++)
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;
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;
}
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;
pref_table_label(table, column, row, text, 0.0);
- combo = gtk_combo_box_new_text();
+ combo = gtk_combo_box_text_new();
- gtk_combo_box_append_text(GTK_COMBO_BOX(combo), _("Single image"));
+ gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(combo), _("Single image"));
- gtk_combo_box_append_text(GTK_COMBO_BOX(combo), _("Anaglyph Red-Cyan"));
+ 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;
}
}
}
+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)
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)
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);
_("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);
help_window_show("overlay");
}
-#if GTK_CHECK_VERSION(2, 10, 0)
static void accel_store_populate(void)
{
LayoutWindow *lw;
"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,
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)
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;
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);
g_free(acc);
}
-static void accel_default_cb(GtkWidget *widget, gpointer data)
+static gboolean accel_default_scroll(GtkTreeView *data)
{
- accel_store_populate();
+ GtkTreeIter iter;
+ GtkTreePath *path;
+ GtkTreeViewColumn *column;
- /* FIXME: implement the scroll to/select row stuff for tree view */
-}
+ 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);
-void accel_remove_selection(GtkTreeModel *model, GtkTreePath *path, GtkTreeIter *iter, gpointer data)
-{
- gtk_tree_store_set(accel_store, iter, AE_KEY, "", -1);
+ gtk_tree_view_scroll_to_cell(GTK_TREE_VIEW(data),
+ path, column,
+ FALSE, 0.0, 0.0);
+
+ gtk_tree_path_free(path);
+
+ return(FALSE);
}
-#if 0
-static void accel_remove_cb(GtkWidget *widget, gpointer data)
+static void accel_default_cb(GtkWidget *widget, gpointer data)
{
- GtkTreeSelection *selection;
+ accel_store_populate();
- if (!accel_store) return;
+ g_idle_add((GSourceFunc)accel_default_scroll, data);
+}
- selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(data));
- gtk_tree_selection_selected_foreach(selection, &accel_remove_selection, NULL);
+void accel_remove_selection(GtkTreeModel *model, GtkTreePath *path, GtkTreeIter *iter, gpointer data)
+{
+ gtk_tree_store_set(accel_store, iter, AE_KEY, "", -1);
}
-#endif
void accel_reset_selection(GtkTreeModel *model, GtkTreePath *path, GtkTreeIter *iter, gpointer data)
{
}
-#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)
{
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);
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"),
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);
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);
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"
"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);
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);
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);
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);
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);
}
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);
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);
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]);
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);
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);
/* accelerators tab */
static void config_tab_accelerators(GtkWidget *notebook)
{
-#if GTK_CHECK_VERSION(2, 10, 0)
GtkWidget *hbox;
GtkWidget *vbox;
GtkWidget *group;
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);
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);
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);
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);
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 */
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);
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))
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);
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);
/*
* Geeqie
* (C) 2004 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
*
* Author: John Ellis
*
/*
* Geeqie
* (C) 2004 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
*
* Author: John Ellis
*
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));
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);
gdouble sw, sh;
gdouble dw, dh;
gdouble x, y, w, h;
- gdouble scale;
gdouble offx, offy;
sw = (gdouble)gdk_pixbuf_get_width(pixbuf);
{
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)
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)
{
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;
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);
}
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)
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++;
}
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);
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
}
/*
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);
/*
* Geeqie
* (C) 2004 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
*
* Author: John Ellis
*
/*
* Geeqie
* (C) 2006 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
*
* Author: John Ellis
*
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[] = {
'"', 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;
else
*n = 0;
}
-
+
return TRUE;
}
*n = l * subunits + r;
g_free(buf);
-
+
return TRUE;
}
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();
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);
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);
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);
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);
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);
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)
GString *outstr;
gint indent = 0;
GList *work;
-
+
rc_pathl = path_from_utf8(utf8_path);
ssi = secure_open(rc_pathl);
g_free(rc_pathl);
WRITE_STRING("<gq>\n");
indent++;
-
+
WRITE_NL(); WRITE_STRING("<global\n");
indent++;
write_global_attributes(outstr, indent + 1);
WRITE_NL(); WRITE_STRING("</global>\n");
WRITE_SEPARATOR();
- WRITE_SUBTITLE("Layout Options");
+ /* Layout Options */
work = layout_window_list;
while (work)
{
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;
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;
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;
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;
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;
/* 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;
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);
}
{
const gchar *option = *attribute_names++;
const gchar *value = *attribute_values++;
-
+
if (strcmp(option, "id") == 0) return value;
}
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)
{
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)
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);
}
{
GQParserStartFunc start_func;
GQParserEndFunc end_func;
-// GQParserTextFunc text_func;
gpointer data;
};
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);
}
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);
}
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)
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)
ret = FALSE;
DEBUG_1("Parse failed");
}
-
+
g_free(parser_data);
g_markup_parse_context_free(context);
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;
}
g_free(buf);
return ret;
}
-
+
/* vim: set shiftwidth=8 softtabstop=0 cindent cinoptions={1s: */
/*
* Geeqie
* (C) 2004 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
*
* Author: John Ellis
*
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);
#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_)
#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;
/*
* Geeqie
* (C) 2004 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
*
* Author: John Ellis
*
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);
}
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);
ret = FALSE;
}
}
-
+
/* restore the original signal handler */
sigaction(SIGPIPE, &old_action, NULL);
{
gchar *filename = expand_tilde(text);
FileData *fd = file_data_new_group(filename);
-
+
GList *work;
if (fd->parent) fd = fd->parent;
{
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);
{
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);
/*
* Geeqie
* (C) 2004 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
*
* Author: John Ellis
*
--- /dev/null
+/*
+ * 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
+/*
+ * 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: */
/*
* 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
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 */
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;
-
+
};
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)) || \
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;
}
{
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 (!window) return;
+
+ cr = gdk_cairo_create(window);
- if (!box->window) return;
if (!pr->pixbuf && !pr->source_tiles_enabled)
{
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;
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 &&
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);
}
}
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 &&
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)
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);
}
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;
}
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);
ImageTile *it)
{
PixbufRenderer *pr = rt->pr;
- GtkWidget *box;
GList *work;
- box = GTK_WIDGET(pr);
-
work = rt->overlay_list;
while (work)
{
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
{
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);
}
}
}
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,
{
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;
}
-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;
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);
if (!rt->overlay_list && rt->overlay_buffer)
{
- g_object_unref(rt->overlay_buffer);
+ cairo_surface_destroy(rt->overlay_buffer);
rt->overlay_buffer = NULL;
}
}
{
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;
}
}
-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;
}
}
-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;
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);
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);
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);
}
}
}
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
{
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,
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,
}
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,
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)
{
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
*/
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)
{
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
{
/* nothing to do */
break;
}
-
+
/* HACK: The pixbuf scalers get kinda buggy(crash) with extremely
* small sizes for anything but GDK_INTERP_NEAREST
*/
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);
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
}
{
PixbufRenderer *pr = rt->pr;
GtkWidget *box;
+ GdkWindow *window;
+ cairo_t *cr;
/* clamp to visible */
if (it->x + x < rt->x_scroll)
}
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)
}
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)
{
static gint rt_get_queued_area(GList *work)
{
gint area = 0;
-
- while (work)
+
+ while (work)
{
QueueData *qd = work->data;
area += qd->w * qd->h;
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 */
{
percent = 100.0 * rt_get_queued_area(rt->draw_queue) / visible_area;
}
-
+
if (percent > 10.0)
{
/* we have enough data for starting intensive redrawing */
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*/
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)
{
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))
{
{
/* 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);
}
}
}
-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);
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)
{
}
box = GTK_WIDGET(pr);
-
- 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);
+ window = gtk_widget_get_window(box);
+
+ 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);
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
}
}
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);
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)
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;
}
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;
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)
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;
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;
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;
}
/*
* Geeqie
* (C) 2006 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
*
* Author: John Ellis
*
#ifndef RENDERER_TILES_H
#define RENDERER_TILES_H
-#include <gtk/gtkeventbox.h>
-#include <gtk/gtkwindow.h>
-
#include <pixbuf-renderer.h>
/*
* Geeqie
* (C) 2005 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
*
* Author: John Ellis
*
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)
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);
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);
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':
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;
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;
- }
+ list = search_result_selection_list(sd);
+ if (!list) return;
- if (uri_text) gtk_selection_data_set(selection_data, selection_data->target,
- 8, (guchar *)uri_text, length);
- g_free(uri_text);
+ uri_selection_data_set_uris_from_filelist(selection_data, list);
+ filelist_free(list);
}
static void search_dnd_begin(GtkWidget *widget, GdkDragContext *context, gpointer data)
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
-
}
/*
{
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
}
}
sd->match_name_enable = TRUE;
sd->search_similarity = 95;
-
+
if (example_file)
{
sd->search_similarity_path = g_strdup(example_file->path);
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);
if (!(type & NOTIFY_CHANGE) || !fd->change) return;
DEBUG_1("Notify search: %s %04x", fd->path, type);
-
+
switch (fd->change->type)
{
case FILEDATA_CHANGE_MOVE:
/*
* Geeqie
* (C) 2005 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
*
* Author: John Ellis
*
/*
* 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
*
/*
* 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
*
/*
* Geeqie
* (C) 2004 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
*
* Author: John Ellis
*
/*
* Geeqie
* (C) 2004 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
*
* Author: John Ellis
*
/*
* Geeqie
* (C) 2004 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
*
* Author: John Ellis
*
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;
}
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;
}
}
slideshow_list_init(ss, start_index);
-
+
if (ss->lw)
ss->slide_fd = file_data_ref(layout_image_get_fd(ss->lw));
else
/*
* Geeqie
* (C) 2004 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
*
* Author: John Ellis
*
/*
* Geeqie
* (C) 2004 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
*
* Author: John Ellis
*
{
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);
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))
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);
}
if (rotated) g_object_unref(rotated);
-
+
/* save it ? */
if (tl->cache_enable && save)
{
tl->il = NULL;
thumb_loader_set_fallback(tl);
-
+
if (tl->func_error) tl->func_error(tl, tl->data);
}
}
tl->cache_enable = enable_cache;
-#if 0
- tl->cache_local = local;
- tl->cache_retry = retry_failed;
-#endif
}
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;
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;
}
tl = g_new0(ThumbLoader, 1);
-
+
tl->cache_enable = options->thumbnails.enable_caching;
tl->percent_done = 0.0;
tl->max_w = width;
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)
{
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)
{
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);
/*
* Geeqie
* (C) 2004 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
*
* Author: John Ellis
*
/*
* Geeqie
* (C) 2006 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
*
* Author: John Ellis
*
{
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);
/* 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)
{
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);
}
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;
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;
/*
* Geeqie
* (C) 2006 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
*
* Author: John Ellis
*
/*
* Geeqie
* (C) 2006 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
*
* Author: John Ellis
*
buf = g_strdup_printf(_("Safe delete: %s"), _("off"));
}
}
-
+
return buf;
}
/* vim: set shiftwidth=8 softtabstop=0 cindent cinoptions={1s: */
/*
* 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.
/*
* Geeqie
* (C) 2006 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
*
* Author: John Ellis
*
SORT_SIZE,
SORT_TIME,
SORT_PATH,
- SORT_NUMBER
+ SORT_NUMBER,
+ SORT_EXIFTIME
} SortType;
typedef enum {
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 */
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,
};
struct _FileData {
- gint magick;
+ guint magick;
gint type;
gchar *original_path; /* key to file_data_pool hash table */
gchar *path;
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 */
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;
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;
};
GtkWidget *info_details;
GtkWidget *info_zoom;
GtkWidget *info_pixel;
-
+
/* slide show */
SlideShowData *slideshow;
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 */
void (*stop_func)(FullScreenData *, gpointer);
gpointer stop_data;
+
+ gboolean same_region; /* the returned region will overlap the current location of widget. */
};
struct _PixmapFolders
/*
* (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
*
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,
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);
{
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)
GdkPixbuf *pixbuf;
GdkModifierType mask;
gint x, y;
+ GtkAllocation allocation;
- 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);
+ gtk_widget_get_allocation(button, &allocation);
- gdk_window_get_pointer(button->window, &x, &y, &mask);
+#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,
+ 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);
}
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)
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);
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++;
}
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;
}
}
/*
* (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
*
/*
* (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
*
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;
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;
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
if (!home)
home = path_to_utf8(getenv("HOME"));
-
+
if (!home)
home = path_to_utf8(g_get_home_dir());
{
return g_build_filename(homedir(), fallback, NULL);
}
-
+
return path_to_utf8(dir);
}
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;
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;
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;
const gchar *get_rc_dir(void)
{
static gchar *rc_dir = NULL;
-
+
if (rc_dir) return rc_dir;
if (USE_XDG)
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);
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);
if (rename(randname, tl) < 0) {
unlink(randname);
- goto end;
+ goto end;
}
ret = copy_file_attributes(s, t, TRUE, TRUE);
continue;
}
}
-
+
if (s != t) path[t] = path[s];
t++;
s++;
p[0] = '\0';
end = FALSE;
}
-
+
if (!isdir(npath))
{
DEBUG_1("creating sub dir:%s", npath);
return FALSE;
}
}
-
+
if (!end) p[0] = G_DIR_SEPARATOR;
}
}
/*
* (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
*
/*
* (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
*
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 */
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);
}
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);
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",
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);
/*
* (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
*
/*
* (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
*
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();
/*
* (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
*
/*
* (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
*
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);
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)
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,
}
-#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);
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;
}
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;
}
{
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);
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)
{
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:
gint x, y;
gint wx, wy;
gint day, month, year;
+ GtkAllocation button_allocation;
+ GtkAllocation window_allocation;
if (ds->window) return;
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;
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);
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);
}
}
SizerData *sd = data;
gint x, y;
gint w, h;
+ GtkAllocation parent_allocation;
if (!sd->in_drag) return FALSE;
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);
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;
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);
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);
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)
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)
{
}
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;
}
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);
}
}
/*
* (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
*
/*
* (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
*
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);
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;
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)
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;
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;
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)));
}
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);
}
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);
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);
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))
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",
/*
* (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
*
/*
* (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
*
/*
* (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
*
/*
* (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
*
gpointer enter_data;
gpointer tab_data;
gpointer tab_append_data;
-
+
GtkWidget *combo;
gboolean has_history;
gchar *history_key;
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)) {
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 */
{
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)
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;
}
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);
*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)
ptr = (gchar *)filename_from_path(entry_dir);
if (ptr > entry_dir) ptr--;
ptr[0] = '\0';
-
+
if (strlen(entry_dir) == 0)
{
g_free(entry_dir);
switch (event->keyval)
{
- case GDK_Tab:
+ case GDK_KEY_Tab:
if (!(event->state & GDK_CONTROL_MASK))
{
if (tab_completion_do(td))
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))
{
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);
}
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);
}
}
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",
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);
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++;
}
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++;
}
/*
* (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
*
/*
* (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
*
#include <gtk/gtk.h>
#include <gdk/gdkkeysyms.h>
+#include "compat.h"
+
#include "ui_tree_edit.h"
/*
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;
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)
{
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:
/* 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;
}
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)
{
* 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
{
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)
{
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;
*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)
{
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;
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)
{
{
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))
}
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)));
}
}
/*
* (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
*
/*
* (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
*
{
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;
{
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);
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);
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);
/*
* (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
*
/*
* Geeqie
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
*
* Authors: John Ellis, Vladimir Nadvornik, Laurent Monin
*
#include "filedata.h"
#include "ui_fileops.h"
-/*
- *-----------------------------------------------------------------------------
- * drag and drop uri utils
- *-----------------------------------------------------------------------------
- */
-
-/* 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 */
-};
-
-static gchar *hex_char = "0123456789ABCDEF";
-
-static gboolean escape_test(guchar c)
-{
- if (c < 32 || c > 127) return TRUE;
- return (escape_char_list[c] != 0);
-}
-
-static const gchar *escape_code(guchar c)
+gchar **uris_from_pathlist(GList *list)
{
- 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)
-{
- 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);
+ GList *work;
+ guint i = 0;
+ guint num = g_list_length(list);
+ gchar **uris = g_new0(gchar *, num + 1);
- /* dropped filenames are expected to be utf-8 compatible */
- if (!g_utf8_validate(result, -1, NULL))
+ work = list;
+ while (work)
{
- gchar *tmp;
+ 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);
- tmp = g_locale_to_utf8(result, -1, NULL, NULL, NULL);
- if (tmp)
- {
- g_free(result);
- result = tmp;
- }
+ i++;
+ work = work->next;
}
- return result;
+ uris[i] = NULL;
+ return uris;
}
-/* this operates on the passed string, decoding escaped characters */
-void uri_text_decode(gchar *text)
+gchar **uris_from_filelist(GList *list)
{
- if (strchr(text, '%'))
- {
- gchar *w;
- gchar *r;
-
- w = r = text;
-
- while (*r != '\0')
- {
- if (*r == '%' && *(r + 1) != '\0' && *(r + 2) != '\0')
- {
- gchar t[3];
- gint n;
-
- 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';
- }
+ GList *path_list = filelist_to_path_list(list);
+ gchar **ret = uris_from_pathlist(path_list);
+ string_list_free(path_list);
+ return ret;
}
-static void uri_list_parse_encoded_chars(GList *list)
+gboolean uri_selection_data_set_uris_from_filelist(GtkSelectionData *selection_data, GList *list)
{
- GList *work = list;
-
- while (work)
+ gchar **uris = uris_from_filelist(list);
+ gboolean ret = gtk_selection_data_set_uris(selection_data, uris);
+ if (!ret)
{
- gchar *text = work->data;
-
- uri_text_decode(text);
-
- work = work->next;
+ char *str = g_strjoinv("\r\n", uris);
+ ret = gtk_selection_data_set_text(selection_data, str, -1);
+ g_free(str);
}
+
+ g_strfreev(uris);
+ return ret;
}
-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;
- }
+ gchar **uris = gtk_selection_data_get_uris(selection_data);
+ GList *ret = uri_filelist_from_uris(uris);
+ g_strfreev(uris);
+ return ret;
+}
- uri_text = string->str;
- if (len) *len = string->len;
- g_string_free(string, FALSE);
- return uri_text;
-}
-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: */
/*
* Geeqie
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
*
* Author: John Ellis, Vladimir Nadvornik, Laurent Monin
*
#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: */
/*
* Geeqie
* (C) 2006 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
*
* Author: John Ellis
*
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;
/* 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);
UtilityData *ud;
ud = g_new0(UtilityData, 1);
-
+
ud->type = type;
ud->phase = UTILITY_PHASE_START;
-
+
return ud;
}
filelist_free(ud->flist);
if (ud->gd) generic_dialog_close(ud->gd);
-
+
g_free(ud->dest_path);
g_free(ud->external_command);
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);
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));
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;
}
{
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;
}
fd = work->data;
work = work->next;
-
+
if (!fail)
{
if ((internal && file_data_sc_perform_ci(fd)) ||
fail = file_data_ref(ud->dir_fd);
}
}
-
+
if (fail)
{
gchar *text;
{
fail = file_data_ref(ud->dir_fd);
}
-
+
work = ud->content_list;
while (work)
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);
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:
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);
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);
{
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)
{
gint error = CHANGE_OK;
gchar *desc = NULL;
-
+
if (ud->type != UTILITY_TYPE_CREATE_FOLDER &&
ud->type != UTILITY_TYPE_RENAME_FOLDER)
{
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);
}
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);
}
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);
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);
}
{
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:
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);
{
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);
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);
{
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);
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."));
// 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);
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);
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;
file_data_sc_free_ci(fd);
else
file_data_free_ci(fd);
-
+
file_data_unref(fd);
return TRUE;
}
case UTILITY_PHASE_ENTERING:
file_util_check_ci(ud);
break;
-
+
ud->phase = UTILITY_PHASE_CHECKED;
case UTILITY_PHASE_CHECKED:
file_util_perform_ci(ud);
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;
{
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);
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;
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)
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);
generic_dialog_add_image(gd, box, fd, NULL, NULL, NULL, FALSE);
gtk_widget_show(gd->dialog);
-
+
g_free(message);
}
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);
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);
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,
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);
{
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"));
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");
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"));
}
ud = file_util_data_new(UTILITY_TYPE_WRITE_METADATA);
-
+
ud->phase = phase;
ud->with_sidecars = FALSE; /* operate on individual files, not groups */
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);
}
{
UtilityData *ud;
GList *ungrouped = NULL;
-
+
if (source_fd)
flist = g_list_append(flist, file_data_ref(source_fd));
filelist_free(ungrouped);
return;
}
-
+
file_util_mark_ungrouped_files(ungrouped);
filelist_free(ungrouped);
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");
{
UtilityData *ud;
GList *ungrouped = NULL;
-
+
if (source_fd)
flist = g_list_append(flist, file_data_ref(source_fd));
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");
{
UtilityData *ud;
GList *ungrouped = NULL;
-
+
if (source_fd)
flist = g_list_append(flist, file_data_ref(source_fd));
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");
{
UtilityData *ud;
GList *ungrouped = NULL;
-
+
if (editor_no_param(key))
{
gchar *file_directory = NULL;
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
}
if (!flist) return;
-
+
if (file_util_write_metadata_first(UTILITY_TYPE_FILTER, phase, flist, dest_path, key, parent))
return;
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;
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");
GList *dlist;
GList *flist;
GList *work;
-
+
gboolean ok = TRUE;
DEBUG_1("deltree into: %s", fd->path);
{
ok = file_data_sc_add_ci_delete(ud->dir_fd);
}
-
+
if (!ok)
{
work = ud->content_list;
file_data_sc_free_ci(fd);
}
}
-
+
return ok;
}
ud->flist = NULL;
ud->parent = parent;
-
+
ud->messages.title = _("Delete folder");
ud->messages.question = _("Delete symbolic link?");
ud->messages.desc_flist = "";
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;
GList *dlist;
GList *flist;
GList *work;
-
+
gboolean ok = TRUE;
if (!filelist_read_lstat(fd, &flist, &dlist))
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;
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;
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)
{
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);
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");
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);
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 = "";
static gboolean file_util_write_metadata_first_after_done(gpointer data)
{
UtilityDelayData *dd = data;
-
+
/* start the delayed operation with original arguments */
switch (dd->type)
{
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);
{
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;
}
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);
}
GString *new;
clipboard = gtk_clipboard_get(GDK_SELECTION_PRIMARY);
-
+
new = g_string_new("");
work = list;
while (work) {
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);
/*
* Geeqie
* (C) 2006 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
*
* Author: John Ellis
*
/*
* Geeqie
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
*
* Author: Laurent Monin
*
static PixmapFolders *folder_icons_new(GtkWidget *widget)
{
PixmapFolders *pf = g_new0(PixmapFolders, 1);
-
+
#if 1
GtkIconSize size = GTK_ICON_SIZE_MENU;
g_free(base);
file_util_rename_dir(fd, new_path, vd->view, vd_rename_finished_cb, vd);
-
+
g_free(new_path);
return FALSE;
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;
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);
GtkWidget *vd_pop_menu(ViewDir *vd, FileData *fd)
{
GtkWidget *menu;
- GtkWidget *item;
gboolean active;
gboolean rename_delete_active = FALSE;
gboolean new_folder_active = FALSE;
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);
{
ViewDir *vd = data;
GList *list;
- gchar *uritext = NULL;
- gint length = 0;
if (!vd->click_fd) return;
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)
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);
}
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);
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;
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);
}
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);
g_free(source_base);
}
}
-
+
if (refresh) vd_refresh(vd);
}
/*
* Geeqie
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
*
* Author: Laurent Monin
*
/*
* Geeqie
* (C) 2004 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
*
* Author: John Ellis
*
{
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;
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
}
}
GdkPixbuf *pixbuf;
const gchar *date = "";
gboolean done = FALSE;
-
+
fd = work->data;
if (access_file(fd->path, R_OK | X_OK) && fd->name)
if (match == 0) g_warning("multiple fd for the same path");
}
-
+
}
else
{
valid = gtk_list_store_remove(store, &iter);
}
-
+
vd->click_fd = NULL;
vd->drop_fd = NULL;
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);
}
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)
/*
* Geeqie
* (C) 2004 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
*
* Author: John Ellis
*
/*
* Geeqie
* (C) 2006 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
*
* Author: John Ellis
*
{
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();
}
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
/*
*----------------------------------------------------------------------------
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;
}
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);
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);
switch (event->keyval)
{
- case GDK_Menu:
+ case GDK_KEY_Menu:
vd->click_fd = fd;
vd_color_set(vd, vd->click_fd, TRUE);
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);
/*
* Geeqie
* (C) 2004 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
*
* Author: John Ellis
*
/*
* Geeqie
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
*
* Author: Laurent Monin
*
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;
case FILEVIEW_LIST: ret = vflist_set_fd(vf, dir_fd); break;
case FILEVIEW_ICON: ret = vficon_set_fd(vf, dir_fd); break;
}
-
+
return ret;
}
{
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();
ViewFile *vf;
vf = g_new0(ViewFile, 1);
-
+
vf->type = type;
vf->sort_method = SORT_NAME;
vf->sort_ascend = TRUE;
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);
{
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;
{
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;
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..."));
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])))
/* 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)
g_free(source_base);
}
}
-
+
if (refresh)
{
DEBUG_1("Notify vf: %s %04x", fd->path, type);
/*
* Geeqie
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
*
* Author: Laurent Monin
*
/*
* Geeqie
* (C) 2006 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
*
* Author: John Ellis
*
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;
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)
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);
}
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);
}
{
ViewFile *vf = data;
GList *list = NULL;
- gchar *uri_text = NULL;
- gint total;
if (!VFICON(vf)->click_id) return;
}
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,
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);
- }
-*/
}
}
}
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);
}
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);
}
/*
{
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);
}
{
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;
{
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)
{
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);
{
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);
}
}
-#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)
{
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;
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)
{
}
}
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;
if (stop_signal)
{
-#if 0
- g_signal_stop_emission_by_name(GTK_OBJECT(widget), "key_press_event");
-#endif
tip_unschedule(vf);
}
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);
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;
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;
{
gint i;
gint thumb_width;
-
+
vficon_clear_store(vf);
thumb_width = vficon_get_icon_width(vf);
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);
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;
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;
file_data_ref(first_selected);
g_list_free(VFICON(vf)->selection);
VFICON(vf)->selection = NULL;
-
+
}
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");
}
new_fd = work_fd->data;
match = 1;
}
-
+
if (match < 0)
{
/* file no longer exists, delete from vf->list */
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;
}
{
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);
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))
{
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;
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)
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));
{
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),
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);
}
ViewFile *vf = data;
vf_refresh_idle_cancel(vf);
-
+
file_data_unregister_notify_func(vf_notify_cb, vf);
tip_unschedule(vf);
/*
* Geeqie
* (C) 2004 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
*
* Author: John Ellis
*
/*
* Geeqie
* (C) 2004 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
*
* Author: John Ellis
*
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;
}
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
/*
*-----------------------------------------------------------------------------
{
ViewFile *vf = data;
GList *list = NULL;
- gchar *uri_text = NULL;
- gint total;
if (!VFLIST(vf)->click_fd) return;
}
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)
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);
}
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);
- }
-*/
}
}
}
/* 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)
{
file_data_unref(fd);
g_free(old_path);
}
-
+
g_free(new_path);
return FALSE;
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)
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,
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);
}
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;
}
gtk_tree_selection_unselect_all(selection);
gtk_tree_selection_select_iter(selection, &iter);
vflist_move_cursor(vf, &iter);
-// return TRUE;// FIXME - expand
}
return FALSE;
*-----------------------------------------------------------------------------
*/
-/*
-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)
{
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);
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,
if (match == 0) g_warning("multiple fd for the same path");
}
-
+
}
else
{
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*/
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)
work = work->next;
if (fd->thumb_pixbuf) (*done)++;
-
+
if (fd->sidecar_files)
{
vflist_thumb_progress_count(fd->sidecar_files, count, done);
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);
{
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++;
}
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 */
while (TRUE)
{
GtkTreeIter next = *iter;
-
+
if (gtk_tree_model_iter_next(store, &next))
*iter = next;
else
break;
}
-
+
return TRUE;
}
gtk_tree_selection_unselect_iter(selection, &iter);
else
gtk_tree_selection_select_iter(selection, &iter);
-
+
valid = tree_model_iter_prev(store, &iter);
}
}
{
GList *work;
FileData *fd = NULL;
-
+
if (sel_fd->parent) sel_fd = sel_fd->parent;
work = vf->list;
-
+
while (work)
{
gint match;
work = work->next;
match = filelist_sort_compare_filedata_full(fd, sel_fd, vf->sort_method, vf->sort_ascend);
-
+
if (match >= 0) break;
}
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);
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;
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);
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)
}
filelist_free(selected);
-
+
vf_send_update(vf);
vf_thumb_update(vf);
}
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);
{
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);
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);
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;
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++;
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));
}
g_list_free(columns);
- //vf_refresh(vf);
}
/* vim: set shiftwidth=8 softtabstop=0 cindent cinoptions={1s: */
/*
* Geeqie
* (C) 2004 John Ellis
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
*
* Author: John Ellis
*
/*
* Geeqie
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
*
* Authors: Vladimir Nadvornik / Laurent Monin
*
{
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);
}
gchar *result = NULL;
gint i;
- i = 0;
+ i = 0;
while (!result)
{
if ((name && *name) || (cmd && *cmd)) {
if (result)
{
int ret = help_browser_command(result, path);
-
+
if (ret == 0) break;
g_free(result);
result = NULL;
/*
* Geeqie
- * Copyright (C) 2008 - 2010 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
*
* Authors: Vladimir Nadvornik / Laurent Monin
*