Mercurial > hg > forks > geeqie
changeset 2907:a805689b5f6c
Merge merge requests 641, 638, 630 and 627
Just pro forma as they are already in the history.
* github/merge-requests/641:
Add export-jpg to POTFILES.in
* github/merge-requests/638:
Avoid non-portable == for the test command
* github/merge-requests/630:
add headline field
* github/merge-requests/627:
Add awk shebang to geocode-parameters.awk
author | Klaus Ethgen <Klaus@Ethgen.de> |
---|---|
date | Tue, 05 Feb 2019 21:18:18 +0100 |
parents | 5867602f7a60 (diff) fcfb8b820b85 (current diff) |
children | ea58314bd19d |
files | |
diffstat | 88 files changed, 7393 insertions(+), 5887 deletions(-) [+] |
line wrap: on
line diff
--- a/.gitignore Tue Feb 05 21:18:18 2019 +0100 +++ b/.gitignore Tue Feb 05 21:18:18 2019 +0100 @@ -6,6 +6,9 @@ *.rej *.orig +# GNOME .desktop files +*.desktop + # / /aclocal.m4 /autom4te.cache @@ -32,23 +35,10 @@ /depcomp /auxdir /stamp-h1 -/geeqie.desktop /intltool-extract.in /intltool-update.in /intltool-merge.in -# /plugins/import/ -/plugins/import/*.desktop - -# /plugins/rotate/ -/plugins/rotate/*.desktop - -# /plugins/symlink/ -/plugins/symlink/*.desktop - -# /plugins/ufraw/ -/plugins/ufraw/*.desktop - # /po/ /po/Makefile.in.in /po/POTFILES
--- a/.mailmap Tue Feb 05 21:18:18 2019 +0100 +++ b/.mailmap Tue Feb 05 21:18:18 2019 +0100 @@ -9,5 +9,5 @@ <jrs+git@weitnahbei.de> <sixtyfive@users.noreply.github.com> Morgan Hardwood <entertheyoni@gmail.com> Rezső Páder <rezso@rezso.net> -Olaf Seibert <rhialto@falu.nl> <> +Olaf Seibert <rhialto@falu.nl> <niko@nava.de> <nikoss@users.noreply.github.com>
--- a/README.md Tue Feb 05 21:18:18 2019 +0100 +++ b/README.md Tue Feb 05 21:18:18 2019 +0100 @@ -100,17 +100,26 @@ ## Downloading -Geeqie is available as a package with some distributions. +Geeqie is available as a package with some distributions, however Geeqie is stable and you may compile the latest version from sources. + +There are two scripts which will download and compile the sources for you. -However Geeqie is stable, and you may download the latest version (if you have installed git) from here: +The first script will install Geeqie to a defined location, and will run under any system. However, it is left to you to make sure dependencies are fulfilled. +To get the script, from the command line type:<br/><br/> +`wget https://raw.githubusercontent.com/pixlsus/Scripts/master/build-geeqie` + +The second script will run only on Debian-based system, but will fulfil all dependencies and also give you the opportunity to include additional pixbuf loaders and other useful programs. +To get the script, from the command line type:<br/><br/> +`wget https://raw.githubusercontent.com/BestImageViewer/geeqie/master/web/geeqie-install-debian.sh` + + +If you wish to compile the sources yourself you may download the latest version (if you have installed git) from here: Either: `git clone git://www.geeqie.org/geeqie.git` Or: `git clone http://www.geeqie.org/git/geeqie.git` -For Ubuntu and other Debian-based systems, [this script](http://www.geeqie.org/web/geeqie-install-debian.sh) will download Geeqie sources, all dependencies, and compile and install Geeqie. You may also select which optional libraries to install. - -## Installation +## Manual Installation List compile options: `./autogen.sh --help` @@ -238,6 +247,19 @@ and copy to the location of the Geeqie ancilliary files, which is usually: /usr/local/lib/geeqie/ + libimage-exiftool-perl + For the jpeg extraction plugin + + liblcms2-utils + For the command-line tool jpgicc, used by the jpeg extraction plugin + + ImageMagick + exiftran + gphoto2 + ufraw + exiv2 + Additional command-line tools for various operations + ### Code hackers: If you plan on making any major changes to the code that will be offered for
--- a/autogen.sh Tue Feb 05 21:18:18 2019 +0100 +++ b/autogen.sh Tue Feb 05 21:18:18 2019 +0100 @@ -6,7 +6,7 @@ srcdir=`dirname $0` test -z "$srcdir" && srcdir=. -(test -f $srcdir/configure.in \ +(test -f $srcdir/configure.ac\ && test -f $srcdir/src/main.c \ && test -f $srcdir/src/main.h) || { echo -n "**Error**: Directory "\`$srcdir\'" does not look like the" @@ -24,8 +24,8 @@ DIE=1 } -(grep "^AM_GLIB_GNU_GETTEXT" $srcdir/configure.in >/dev/null) && { - (grep "sed.*POTFILES" $srcdir/configure.in) >/dev/null || \ +(grep "^AM_GLIB_GNU_GETTEXT" $srcdir/configure.ac >/dev/null) && { + (grep "sed.*POTFILES" $srcdir/configure.ac) >/dev/null || \ (glib-gettextize --version) < /dev/null > /dev/null 2>&1 || { echo echo "**Error**: You must have \`glib-gettextize' installed." @@ -74,13 +74,13 @@ am_opt=--include-deps;; esac -auxdir="`sed -ne 's/^[ \t]*A._CONFIG_AUX_DIR *( *\([^ )]*\).*/\1/p' $srcdir/configure.in`" +auxdir="`sed -ne 's/^[ \t]*A._CONFIG_AUX_DIR *( *\([^ )]*\).*/\1/p' $srcdir/configure.ac`" if test -n "$auxdir"; then if test ! -d "$srcdir/$auxdir"; then mkdir -p "$srcdir/$auxdir" fi fi -for coin in `find $srcdir -name configure.in -print` +for coin in `find $srcdir -name configure.ac -print` do dr=`dirname $coin` if test -f $dr/NO-AUTO-GEN; then @@ -97,9 +97,9 @@ ## echo "**Warning**: No such directory \`$k'. Ignored." fi done - if grep "^AM_GLIB_GNU_GETTEXT" configure.in >/dev/null; then - if grep "sed.*POTFILES" configure.in >/dev/null; then - : do nothing -- we still have an old unmodified configure.in + if grep "^AM_GLIB_GNU_GETTEXT" configure.ac >/dev/null; then + if grep "sed.*POTFILES" configure.ac >/dev/null; then + : do nothing -- we still have an old unmodified configure.ac else echo "Creating $dr/aclocal.m4 ..." test -r $dr/aclocal.m4 || touch $dr/aclocal.m4 @@ -117,7 +117,7 @@ fi echo "Running aclocal $aclocalinclude ..." aclocal $aclocalinclude - if grep "^AC_CONFIG_HEADER" configure.in >/dev/null; then + if grep "^AC_CONFIG_HEADER" configure.ac >/dev/null; then echo "Running autoheader..." autoheader fi
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/configure.ac Tue Feb 05 21:18:18 2019 +0100 @@ -0,0 +1,691 @@ +dnl Process this file with autoconf to produce a configure script. -*- Autoconf + -*- + +dnl This file is a part of Geeqie project (http://www.geeqie.org/). +dnl Copyright (C) 2008 - 2018 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 the Free Software Foundation; either version 2 of the License, or +dnl (at your option) any later version. +dnl +dnl This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +dnl GNU General Public License for more details. + +AC_PREREQ(2.57) +AC_INIT([geeqie], m4_esyscmd_s(git rev-parse --quiet --verify --short HEAD), [geeqie@freelists.org], [], [http://www.geeqie.org/]) + +# Add -Werror to the default CFLAGS +CFLAGS+=" -Werror -Wno-error=deprecated-declarations -Wno-error=sign-compare -Wno-error=return-type" + +# Check for rightly dirs +AC_CONFIG_SRCDIR([src/main.c]) + +AC_CONFIG_AUX_DIR(auxdir) +# Require Automake 1.14 for %reldir% support +AM_INIT_AUTOMAKE([1.14.1 subdir-objects foreign dist-xz no-dist-gzip]) + +AC_CONFIG_HEADER([config.h]) + +# Only for developers +AM_MAINTAINER_MODE + +# Silent build for automake >= 1.11 +m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) + +AC_ARG_ENABLE(developer, [ +Development options: +AC_HELP_STRING([--enable-developer], [turn on developers mode [default=no]])], +[ + __IS_DEVELOPER=yes +], +[ +if test "x${enable_developer}" != "xyes" +then + __IS_DEVELOPER=no +else + __IS_DEVELOPER=yes +fi +]) + +DX_HTML_FEATURE(ON) +DX_CHM_FEATURE(OFF) +DX_CHI_FEATURE(OFF) +DX_MAN_FEATURE(OFF) +DX_RTF_FEATURE(OFF) +DX_XML_FEATURE(OFF) +DX_PDF_FEATURE(OFF) +DX_PS_FEATURE(OFF) + +DX_INIT_DOXYGEN($PACKAGE_NAME, doxygen.conf, doc/doxygen) + +# Debug support +# ---------------------------------------------------------------------- + +dnl Debugging option +dnl FIXME: official release convert default to 'no' +dnl + +AC_ARG_ENABLE([debug-flags], [ +Development options: +AC_HELP_STRING([--enable-debug-flags], [use compiler flags for debugging [default=no]])], [], +[ +if test "x${enable_developer}" != "xyes" +then + enable_debug_flags="no" +else + enable_debug_flags="yes" +fi +]) + +AC_ARG_ENABLE([debug-log], [ +Development options: +AC_HELP_STRING([--enable-debug-log], [enable debugging messages [default=yes]])], [], [enable_debug_log="yes"]) + +if test "x${enable_debug_flags}" != "xno" +then + if test "x${enable_developer}" = "xyes" + then + CXXFLAGS="${CXXFLAGS} -Wall" + CFLAGS="${CFLAGS} -Wstrict-prototypes -Wall" + fi + __COMMONFLAGS="-g -O0 -Wextra -Wunused-value -Wunused-variable -Wunused-function -Wunused-label -Wcomment -Wmissing-braces -Wparentheses -Wreturn-type -Wswitch -Wstrict-aliasing -Wno-unused-parameter -Wformat -Wformat-security -DGQ_DEBUG_PATH_UTF8=1" + CXXFLAGS="${CXXFLAGS} ${__COMMONFLAGS}" + CFLAGS="${CFLAGS} ${__COMMONFLAGS} -Wimplicit-int -Werror-implicit-function-declaration" + __IS_DEBUG_FLAGS=yes +else + __IS_DEBUG_FLAGS=no +fi + +if test "x${enable_debug_log}" != "xno" +then + AC_DEFINE(DEBUG,1,[Defined if Geeqie is compiled with debugging messages support]) + __IS_DEBUG_LOG=yes +else + __IS_DEBUG_LOG=no +fi + +AM_CONDITIONAL(DEBUG, test x$enable_debug_flags = xyes) + +AC_ARG_ENABLE(deprecated, [ +AC_HELP_STRING([--enable-deprecated], [turn off checking of deprecated functions [default=yes]])], [], +[ +if test "x${enable_developer}" != "xyes" +then + enable_deprecated="no" +else + enable_deprecated="yes" +fi +]) + +if test "x${enable_deprecated}" != "xno" +then + CXXFLAGS="${CXXFLAGS} -DGTK_DISABLE_DEPRECATED=1 -DGDK_DISABLE_DEPRECATED=1 -DGDK_PIXBUF_DISABLE_DEPRECATED=1 -DG_DISABLE_DEPRECATED=1" + CFLAGS="${CFLAGS} -DGTK_DISABLE_DEPRECATED=1 -DGDK_DISABLE_DEPRECATED=1 -DGDK_PIXBUF_DISABLE_DEPRECATED=1 -DG_DISABLE_DEPRECATED=1" + __IS_DEPRECATED=yes +else + __IS_DEPRECATED=no +fi + + +AC_ISC_POSIX +AC_PROG_CC +AC_PROG_CC_C99 +AC_PROG_CXX +AC_STDC_HEADERS +AC_ARG_PROGRAM +AC_SYS_LARGEFILE +IT_PROG_INTLTOOL([0.35.0]) + + +dnl checks for functions +AC_CHECK_FUNCS(strverscmp access fsync fflush) + + +# Check target architecture + +# Check for Win32 +AC_MSG_CHECKING([for some Win32 platform]) +case "$target_os" in + mingw* | cygwin*) + platform_win32=yes + AC_DEFINE(PLATFORM_WIN32, 1, [Build on win32 OS]) + ;; + *) + platform_win32=no + ;; +esac +AC_MSG_RESULT([$platform_win32]) +AM_CONDITIONAL(PLATFORM_WIN32, test "$platform_win32" = "yes") + +AC_MSG_CHECKING([for native Win32]) +case "$target_os" in + mingw*) + os_win32=yes + AC_DEFINE(OS_WIN32, 1, [Build on native win32 OS]) + os_unix=no + PATHSEP=';' + ;; + *) + os_win32=no + os_unix=yes + PATHSEP=':' + ;; +esac +AC_MSG_RESULT([$os_win32]) +AC_SUBST(PATHSEP) +AM_CONDITIONAL(OS_WIN32, test "$os_win32" = "yes") +AM_CONDITIONAL(OS_UNIX, test "$os_unix" = "yes") + +if test "$os_win32" = "yes"; then + AC_CHECK_PROG(ms_librarian, lib.exe, yes, no) + AC_CHECK_TOOL(WINDRES, windres, :) +else + WINDRES=":" +fi + +AM_CONDITIONAL(MS_LIB_AVAILABLE, test x$ms_librarian = xyes) +AM_CONDITIONAL(HAVE_WINDRES, test "x$WINDRES" != "x:") +AC_SUBST(WINDRES) + +dnl reasonable guesses for where stuff is installed +if test "x$prefix" = "xNONE"; then + prefix="/usr/local" +else + prefix=$prefix +fi + +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], + AC_HELP_STRING([--disable-threads], [disable thread support]), [threads="${enableval}"]) + +have_gthread="no" +if test "x${threads}" != "xno" ; then + PKG_CHECK_MODULES(GTHREAD, [gthread-2.0], have_gthread="yes", [AC_MSG_WARN("No thread support in glib")]) +fi + +if test "x$have_gthread" != "xno"; then + AC_DEFINE(HAVE_GTHREAD, 1, Define if you have gthread library) + GLIB_CFLAGS="$GTHREAD_CFLAGS" + GLIB_LIBS="$GTHREAD_LIBS" +fi + + +AC_PATH_PROGS(GDK_PIXBUF_CSOURCE, "gdk-pixbuf-csource") +AC_PATH_PROG(GLIB_GENMARSHAL, glib-genmarshal) + +AC_ARG_WITH(readmedir, [ --with-readmedir=DIR install path for readme files], + readmedir=$withval, readmedir="$prefix/share/doc/geeqie-$VERSION") +AC_ARG_WITH(htmldir, [ --with-htmldir=DIR install path for html files], + htmldir=$withval, htmldir="$readmedir/html") + +AC_DEFINE_UNQUOTED(GQ_HELPDIR, "$readmedir", [Location of documentation files]) +AC_DEFINE_UNQUOTED(GQ_HTMLDIR, "$htmldir", [Location of html documentation]) + +AC_PATH_PROG(GNOME_DOC_TOOL, gnome-doc-tool) + +AC_SUBST(readmedir) +AC_SUBST(htmldir) + +eval "eval appdir=${datadir}/${PACKAGE}" +AC_DEFINE_UNQUOTED([GQ_APP_DIR], "$appdir", [Location of application data]) +AC_SUBST(appdir) + +eval "eval gq_bindir=${prefix}/lib/${PACKAGE}" +AC_DEFINE_UNQUOTED([GQ_BIN_DIR], "$gq_bindir", [Location of helper scripts and executables]) +AC_SUBST(gq_bindir) + +# LIRC support +# ---------------------------------------------------------------------- + +dnl Check for LIRC client support +AC_MSG_CHECKING(if LIRC support is enabled) +lirc=no +AC_ARG_ENABLE([lirc], + AC_HELP_STRING([--disable-lirc], [disable lirc support (auto)]), +[ +if test "x${enableval}" = "xyes" -a "x$GCC" = "xyes"; then + AC_MSG_RESULT(yes) + lirc=yes +else + AC_MSG_RESULT(no) + lirc=no +fi], AC_MSG_RESULT(no)) + + +AC_ARG_WITH(lirc-prefix, +[ --with-lirc-prefix=PATH Prefix where LIRC is installed], +[ +for dir in `echo "$withval" | tr : ' '`; do + if test -d $dir/lib; then CXXFLAGS="$CXXFLAGS -L$dir/lib"; fi + if test -d $dir/include; then CXXFLAGS="$CXXFLAGS -I$dir/include"; fi + done +]) + +HAVE_LIRC=no +if test "x${lirc}" != "xno" ; then + AC_CHECK_HEADER(lirc/lirc_client.h, + [AC_CHECK_LIB(lirc_client,lirc_init,[HAVE_LIRC=yes;LIBS=-llirc_client $LIBS;AC_DEFINE([HAVE_LIRC],[],[Define to 1 if LIRC must be used])],,)],) +fi +AM_CONDITIONAL(HAVE_LIRC, [test "x$HAVE_LIRC" = xyes]) + + +# LCMS support +# ---------------------------------------------------------------------- + +AC_ARG_ENABLE([lcms], + AC_HELP_STRING([--disable-lcms], [disable lcms support]), + [liblcms=$enableval], [liblcms=auto]) + +if test "x${liblcms}" != "xno"; then + 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]) + ], + [ + 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 +fi + +AM_CONDITIONAL(HAVE_LCMS, [test "x$HAVE_LCMS" = xyes]) +AC_SUBST(LCMS_CFLAGS) +AC_SUBST(LCMS_LIBS) + +# libjpeg support +# ---------------------------------------------------------------------- + +AC_ARG_ENABLE([jpeg], + AC_HELP_STRING([--disable-jpeg], [disable direct jpeg support]), + [libjpeg=$enableval], [libjpeg=auto]) + +if test "x${libjpeg}" != "xno"; then + AC_CHECK_LIB(jpeg, jpeg_destroy_decompress, + HAVE_JPEG=yes + JPEG_LIBS=-ljpeg + AC_DEFINE(HAVE_JPEG, 1, [define to enable use of custom jpeg loader]), + HAVE_JPEG=no) +else + HAVE_JPEG=disabled +fi + +AM_CONDITIONAL(HAVE_JPEG, [test "x$HAVE_JPEG" = xyes]) +AC_SUBST(JPEG_CFLAGS) +AC_SUBST(JPEG_LIBS) + + +# libtiff support +# ---------------------------------------------------------------------- + +AC_ARG_ENABLE([tiff], + AC_HELP_STRING([--disable-tiff], [disable direct tiff support]), + [libtiff=$enableval], [libtiff=auto]) + +if test "x${libtiff}" != "xno"; then + AC_CHECK_LIB(tiff, TIFFClientOpen, + HAVE_TIFF=yes + TIFF_LIBS=-ltiff + AC_DEFINE(HAVE_TIFF, 1, [define to enable use of custom tiff loader]), + HAVE_TIFF=no) +else + HAVE_TIFF=disabled +fi + +AM_CONDITIONAL(HAVE_TIFF, [test "x$HAVE_TIFF" = xyes]) +AC_SUBST(TIFF_CFLAGS) +AC_SUBST(TIFF_LIBS) + +# libffmpegthumbnailer support +# ---------------------------------------------------------------------- + +AC_ARG_ENABLE([ffmpegthumbnailer], + AC_HELP_STRING([--disable-ffmpegthumbnailer], [disable ffmpegthumbnailer support for generating thumbnails of video files]), + [ffmpegthumbnailer=$enableval], [ffmpegthumbnailer=auto]) + +if test "x${ffmpegthumbnailer}" != "xno"; then + PKG_CHECK_MODULES(FFMPEGTHUMBNAILER, [libffmpegthumbnailer >= 2.1.0], + [ + HAVE_FFMPEGTHUMBNAILER=yes + AC_DEFINE(HAVE_FFMPEGTHUMBNAILER, 1, [define to enable ffmpegthumbnailer support]) + AC_CHECK_MEMBER([video_thumbnailer.prefer_embedded_metadata], [AC_DEFINE(HAVE_FFMPEGTHUMBNAILER_METADATA, 1, [define if ffmpegthumbnailer supports embedded metadata])], [], [[#include <libffmpegthumbnailer/videothumbnailerc.h>]]) + AC_CHECK_MEMBER([image_data.image_data_width], [AC_DEFINE(HAVE_FFMPEGTHUMBNAILER_RGB, 1, [define if ffmpegthumbnailer supports raw RGB output])], [], [[#include <libffmpegthumbnailer/videothumbnailerc.h>]]) + AC_CHECK_LIB([ffmpegthumbnailer], [video_thumbnailer_set_size], [AC_DEFINE(HAVE_FFMPEGTHUMBNAILER_WH, 1, [define if ffmpegthumbnailer supports specifying size by width/height])]) + ], + [ + HAVE_FFMPEGTHUMBNAILER=no + ]) +else + HAVE_FFMPEGTHUMBNAILER=disabled +fi + +AM_CONDITIONAL(HAVE_FFMPEGTHUMBNAILER, [test "x$HAVE_FFMPEGTHUMBNAILER" = xyes]) +AC_SUBST(FFMPEGTHUMBNAILER_CFLAGS) +AC_SUBST(FFMPEGTHUMBNAILER_LIBS) + +# Exiv2 support +# ---------------------------------------------------------------------- + +AC_ARG_ENABLE([exiv2], + AC_HELP_STRING([--disable-exiv2], [disable exiv2 support]), + [libexiv2=$enableval], [libexiv2=auto]) + +if test "x${libexiv2}" != "xno"; then + PKG_CHECK_MODULES(EXIV2, [exiv2 >= 0.11], + [ + HAVE_EXIV2=yes + AC_DEFINE(HAVE_EXIV2, 1, [define to enable exiv2 support]) + ], + [ + HAVE_EXIV2=no + AC_MSG_WARN([$EXIV2_PKG_ERRORS]) + ]) +else + HAVE_EXIV2=disabled +fi + +AM_CONDITIONAL(HAVE_EXIV2, [test "x$HAVE_EXIV2" = xyes]) +AC_SUBST(EXIV2_CFLAGS) +AC_SUBST(EXIV2_LIBS) + + +# Gettext support +# ---------------------------------------------------------------------- + +dnl Set of available languages +ALL_LINGUAS="`grep -v '^#' "$srcdir/po/LINGUAS" | tr '\n' ' '`" +AC_SUBST([CONFIG_STATUS_DEPENDENCIES],['$(top_srcdir)/po/LINGUAS']) + +GETTEXT_PACKAGE=$PACKAGE +AC_SUBST(GETTEXT_PACKAGE) +AC_DEFINE_UNQUOTED([GETTEXT_PACKAGE],["${GETTEXT_PACKAGE}"],[Name of gettext file]) +AM_GLIB_GNU_GETTEXT +AM_GLIB_DEFINE_LOCALEDIR(GQ_LOCALEDIR) + +AC_SUBST(CFLAGS) +AC_SUBST(CXXFLAGS) +AC_SUBST(CPPFLAGS) +AC_SUBST(LDFLAGS) + + +# clutter and champlain support +# ---------------------------------------------------------------------- + +AC_ARG_ENABLE([map], + AC_HELP_STRING([--disable-map], [disable map support]), + [libgps=$enableval], [libgps=auto]) + +AC_ARG_ENABLE([gpu-accel], + AC_HELP_STRING([--disable-gpu-accel], [disable GPU acceleration support - experimental]), + [libclutter=$enableval], [libclutter=auto]) + +if test "x${libclutter}" != "xno" -a "x${gtk3}" != "xno"; 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 map facility +# ---------------------------------------------------------------------- + +if test "x${libgps}" != "xno" -a "x${HAVE_CLUTTER}" = "xyes"; then + if test "x${gtk3}" != "xno"; then + PKG_CHECK_MODULES(LIBCHAMPLAIN, [champlain-0.12 >= 0.12], + [ + HAVE_LIBCHAMPLAIN=yes + AC_DEFINE(HAVE_LIBCHAMPLAIN, 1, [define to enable use of maps]) + ], + [ + HAVE_LIBCHAMPLAIN=no + AC_MSG_WARN([$LIBCHAMPLAIN_PKG_ERRORS]) + ]) + else + HAVE_LIBCHAMPLAIN=disabled + fi +else + HAVE_LIBCHAMPLAIN=disabled +fi + +if test "x${libgps}" != "xno" -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 maps]) + ], + [ + HAVE_LIBCHAMPLAIN_GTK=no + AC_MSG_WARN([$LIBCHAMPLAIN_GTK_PKG_ERRORS]) + ]) +else + HAVE_LIBCHAMPLAIN_GTK=disabled +fi + +AM_CONDITIONAL(HAVE_LIBCHAMPLAIN_GTK, [test "x$HAVE_LIBCHAMPLAIN_GTK" = xyes]) +AC_SUBST(LIBCHAMPLAIN_GTK_CFLAGS) +AC_SUBST(LIBCHAMPLAIN_GTK_LIBS) + +# Lua support +# ---------------------------------------------------------------------- + +AC_ARG_ENABLE([lua], + AC_HELP_STRING([--disable-lua], [disable lua support]), + [liblua=$enableval], [liblua=auto]) + +if test "x${liblua}" != "xno"; then + PKG_CHECK_MODULES(LUA, lua5.1 >= 5.1, + [ + HAVE_LUA=yes + AC_DEFINE(HAVE_LUA, 1, [define to enable lua support]) + ], + [ + HAVE_LUA=no + AC_MSG_WARN([$LUA_PKG_ERRORS]) + ]) +else + HAVE_LUA=disabled +fi + +AM_CONDITIONAL(HAVE_LUA, [test "x$HAVE_LUA" = xyes]) +AC_SUBST(LUA_CFLAGS) +AC_SUBST(LUA_LIBS) + +# Pdf support +# ---------------------------------------------------------------------- + +if test "x${gtk3}" != "xno"; then + AC_ARG_ENABLE([pdf], + AC_HELP_STRING([--disable-pdf], [disable pdf support]), + [libpdf=$enableval], [libpdf=auto]) + + if test "x${libpdf}" != "xno"; then + PKG_CHECK_MODULES(PDF, poppler-glib >= 0.62, + [ + HAVE_PDF=yes + AC_DEFINE(HAVE_PDF, 1, [define to enable pdf support]) + ], + [ + HAVE_PDF=no + AC_MSG_WARN([$PDF_PKG_ERRORS]) + ]) + else + HAVE_PDF=disabled + fi +else + HAVE_PDF=disabled +fi + +AM_CONDITIONAL(HAVE_PDF, [test "x$HAVE_PDF" = xyes]) +AC_SUBST(PDF_CFLAGS) +AC_SUBST(PDF_LIBS) + +# Markdown support +# ---------------------------------------------------------------------- + +AM_CONDITIONAL(HAVE_MARKDOWN, [ "$(command -v markdown)" ]) + +# ---------------------------------------------------------------------- + +AH_TOP([ +/** \file + * \short autogenerated definition by autoheader. + * \author Bruclik + */ + +/* + * This file is a part of Geeqie project (http://www.geeqie.org/). + * Copyright (C) 2008 - 2016 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 Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + */ + +#ifndef _INCLUDE_CONFIG_H +#define _INCLUDE_CONFIG_H +]) + +AH_BOTTOM([#endif]) + +dnl Write the output +dnl + +AC_CONFIG_FILES([ + Makefile + src/Makefile + src/icons/Makefile + src/icons/svg/Makefile + po/Makefile.in + doc/Makefile + plugins/Makefile + plugins/symlink/Makefile + plugins/rotate/Makefile + plugins/ufraw/Makefile + plugins/import/Makefile + plugins/geocode-parameters/Makefile + plugins/export-jpeg/Makefile + plugins/tethered-photography/Makefile + plugins/camera-import/Makefile + plugins/image-crop/Makefile + plugins/random-image/Makefile + geeqie.spec +]) + +AC_OUTPUT +dnl Print the results +dnl + +cat > config.report << END + + Config results: + -=-=-=-=-=-=-=-=- + +Package: + Name: $PACKAGE_NAME + Version: $PACKAGE_VERSION + +Architecture: + UNIX: $os_unix + Win32: $platform_win32 (native: $os_win32) + +Flags: + Geeqie: $GQ_CFLAGS + DEFS: $DEFS + CPPFLAGS: $__CPPFLAGS + CFLAGS: $CFLAGS + CXXFLAGS: $CXXFLAGS + Gtk: $GTK_CFLAGS + Glib: $GLIB_CFLAGS + Thread: $GTHREAD_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 + LINGUAS: $LINGUAS + +Settings: + Developer: $__IS_DEVELOPER + Debug flags: $__IS_DEBUG_FLAGS + Debug log: $__IS_DEBUG_LOG + Deprecated: $__IS_DEPRECATED + +Support: + LCMS: $HAVE_LCMS + Exiv2: $HAVE_EXIV2 + Lirc: $HAVE_LIRC + Clutter: $HAVE_CLUTTER + Libchamplain: $HAVE_LIBCHAMPLAIN + Libchamplain-gtk: $HAVE_LIBCHAMPLAIN_GTK + Lua: $HAVE_LUA + FFmpegthumbnailer: $HAVE_FFMPEGTHUMBNAILER + Pdf: $HAVE_PDF + +Documentation: + Doxygen: $DX_DOXYGEN + doc-tool: $GNOME_DOC_TOOL + +END + +cat config.report +cat <<EOF + + Now you can type "make" to build Geeqie + (or you take blue pill and the story ends :) + +EOF
--- a/configure.in Tue Feb 05 21:18:18 2019 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,686 +0,0 @@ -dnl Process this file with autoconf to produce a configure script. -*- Autoconf - -*- - -dnl This file is a part of Geeqie project (http://www.geeqie.org/). -dnl Copyright (C) 2008 - 2016 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 the Free Software Foundation; either version 2 of the License, or -dnl (at your option) any later version. -dnl -dnl This program is distributed in the hope that it will be useful, -dnl but WITHOUT ANY WARRANTY; without even the implied warranty of -dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -dnl GNU General Public License for more details. - -AC_PREREQ(2.57) -AC_INIT([geeqie], m4_esyscmd_s(git rev-parse --quiet --verify --short HEAD), [geeqie-devel@lists.sourceforge.net], [], [http://www.geeqie.org/]) - -# Add -Werror to the default CFLAGS -CFLAGS+=" -Werror -Wno-error=deprecated-declarations -Wno-error=sign-compare -Wno-error=return-type" - -# Check for rightly dirs -AC_CONFIG_SRCDIR([src/main.c]) - -AC_CONFIG_AUX_DIR(auxdir) -# Require Automake 1.14 for %reldir% support -AM_INIT_AUTOMAKE([1.14.1 subdir-objects foreign dist-xz no-dist-gzip]) - -AC_CONFIG_HEADER([config.h]) - -# Only for developers -AM_MAINTAINER_MODE - -# Silent build for automake >= 1.11 -m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) - -AC_ARG_ENABLE(developer, [ -Development options: -AC_HELP_STRING([--enable-developer], [turn on developers mode [default=no]])], -[ - __IS_DEVELOPER=yes -], -[ -if test "x${enable_developer}" != "xyes" -then - __IS_DEVELOPER=no -else - __IS_DEVELOPER=yes -fi -]) - -DX_HTML_FEATURE(ON) -DX_CHM_FEATURE(OFF) -DX_CHI_FEATURE(OFF) -DX_MAN_FEATURE(OFF) -DX_RTF_FEATURE(OFF) -DX_XML_FEATURE(OFF) -DX_PDF_FEATURE(OFF) -DX_PS_FEATURE(OFF) - -DX_INIT_DOXYGEN($PACKAGE_NAME, doxygen.conf, doc/doxygen) - -# Debug support -# ---------------------------------------------------------------------- - -dnl Debugging option -dnl FIXME: official release convert default to 'no' -dnl - -AC_ARG_ENABLE([debug-flags], [ -Development options: -AC_HELP_STRING([--enable-debug-flags], [use compiler flags for debugging [default=no]])], [], -[ -if test "x${enable_developer}" != "xyes" -then - enable_debug_flags="no" -else - enable_debug_flags="yes" -fi -]) - -AC_ARG_ENABLE([debug-log], [ -Development options: -AC_HELP_STRING([--enable-debug-log], [enable debugging messages [default=yes]])], [], [enable_debug_log="yes"]) - -if test "x${enable_debug_flags}" != "xno" -then - if test "x${enable_developer}" = "xyes" - then - CXXFLAGS="${CXXFLAGS} -Wall" - CFLAGS="${CFLAGS} -Wstrict-prototypes -Wall" - fi - __COMMONFLAGS="-g -O0 -Wextra -Wunused-value -Wunused-variable -Wunused-function -Wunused-label -Wcomment -Wmissing-braces -Wparentheses -Wreturn-type -Wswitch -Wstrict-aliasing -Wno-unused-parameter -Wformat -Wformat-security -DGQ_DEBUG_PATH_UTF8=1" - CXXFLAGS="${CXXFLAGS} ${__COMMONFLAGS}" - CFLAGS="${CFLAGS} ${__COMMONFLAGS} -Wimplicit-int -Werror-implicit-function-declaration" - __IS_DEBUG_FLAGS=yes -else - __IS_DEBUG_FLAGS=no -fi - -if test "x${enable_debug_log}" != "xno" -then - AC_DEFINE(DEBUG,1,[Defined if Geeqie is compiled with debugging messages support]) - __IS_DEBUG_LOG=yes -else - __IS_DEBUG_LOG=no -fi - -AM_CONDITIONAL(DEBUG, test x$enable_debug_flags = xyes) - -AC_ARG_ENABLE(deprecated, [ -AC_HELP_STRING([--enable-deprecated], [turn off checking of deprecated functions [default=yes]])], [], -[ -if test "x${enable_developer}" != "xyes" -then - enable_deprecated="no" -else - enable_deprecated="yes" -fi -]) - -if test "x${enable_deprecated}" != "xno" -then - CXXFLAGS="${CXXFLAGS} -DGTK_DISABLE_DEPRECATED=1 -DGDK_DISABLE_DEPRECATED=1 -DGDK_PIXBUF_DISABLE_DEPRECATED=1 -DG_DISABLE_DEPRECATED=1" - CFLAGS="${CFLAGS} -DGTK_DISABLE_DEPRECATED=1 -DGDK_DISABLE_DEPRECATED=1 -DGDK_PIXBUF_DISABLE_DEPRECATED=1 -DG_DISABLE_DEPRECATED=1" - __IS_DEPRECATED=yes -else - __IS_DEPRECATED=no -fi - - -AC_ISC_POSIX -AC_PROG_CC -AC_PROG_CC_C99 -AC_PROG_CXX -AC_STDC_HEADERS -AC_ARG_PROGRAM -AC_SYS_LARGEFILE -IT_PROG_INTLTOOL([0.35.0]) - - -dnl checks for functions -AC_CHECK_FUNCS(strverscmp access fsync fflush) - - -# Check target architecture - -# Check for Win32 -AC_MSG_CHECKING([for some Win32 platform]) -case "$target_os" in - mingw* | cygwin*) - platform_win32=yes - AC_DEFINE(PLATFORM_WIN32, 1, [Build on win32 OS]) - ;; - *) - platform_win32=no - ;; -esac -AC_MSG_RESULT([$platform_win32]) -AM_CONDITIONAL(PLATFORM_WIN32, test "$platform_win32" = "yes") - -AC_MSG_CHECKING([for native Win32]) -case "$target_os" in - mingw*) - os_win32=yes - AC_DEFINE(OS_WIN32, 1, [Build on native win32 OS]) - os_unix=no - PATHSEP=';' - ;; - *) - os_win32=no - os_unix=yes - PATHSEP=':' - ;; -esac -AC_MSG_RESULT([$os_win32]) -AC_SUBST(PATHSEP) -AM_CONDITIONAL(OS_WIN32, test "$os_win32" = "yes") -AM_CONDITIONAL(OS_UNIX, test "$os_unix" = "yes") - -if test "$os_win32" = "yes"; then - AC_CHECK_PROG(ms_librarian, lib.exe, yes, no) - AC_CHECK_TOOL(WINDRES, windres, :) -else - WINDRES=":" -fi - -AM_CONDITIONAL(MS_LIB_AVAILABLE, test x$ms_librarian = xyes) -AM_CONDITIONAL(HAVE_WINDRES, test "x$WINDRES" != "x:") -AC_SUBST(WINDRES) - -dnl reasonable guesses for where stuff is installed -if test "x$prefix" = "xNONE"; then - prefix="/usr/local" -else - prefix=$prefix -fi - -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], - AC_HELP_STRING([--disable-threads], [disable thread support]), [threads="${enableval}"]) - -have_gthread="no" -if test "x${threads}" != "xno" ; then - PKG_CHECK_MODULES(GTHREAD, [gthread-2.0], have_gthread="yes", [AC_MSG_WARN("No thread support in glib")]) -fi - -if test "x$have_gthread" != "xno"; then - AC_DEFINE(HAVE_GTHREAD, 1, Define if you have gthread library) - GLIB_CFLAGS="$GTHREAD_CFLAGS" - GLIB_LIBS="$GTHREAD_LIBS" -fi - - -AC_PATH_PROGS(GDK_PIXBUF_CSOURCE, "gdk-pixbuf-csource") -AC_PATH_PROG(GLIB_GENMARSHAL, glib-genmarshal) - -AC_ARG_WITH(readmedir, [ --with-readmedir=DIR install path for readme files], - readmedir=$withval, readmedir="$prefix/share/doc/geeqie-$VERSION") -AC_ARG_WITH(htmldir, [ --with-htmldir=DIR install path for html files], - htmldir=$withval, htmldir="$readmedir/html") - -AC_DEFINE_UNQUOTED(GQ_HELPDIR, "$readmedir", [Location of documentation files]) -AC_DEFINE_UNQUOTED(GQ_HTMLDIR, "$htmldir", [Location of html documentation]) - -AC_PATH_PROG(GNOME_DOC_TOOL, gnome-doc-tool) - -AC_SUBST(readmedir) -AC_SUBST(htmldir) - -eval "eval appdir=${datadir}/${PACKAGE}" -AC_DEFINE_UNQUOTED([GQ_APP_DIR], "$appdir", [Location of application data]) -AC_SUBST(appdir) - -eval "eval gq_bindir=${prefix}/lib/${PACKAGE}" -AC_DEFINE_UNQUOTED([GQ_BIN_DIR], "$gq_bindir", [Location of helper scripts and executables]) -AC_SUBST(gq_bindir) - -# LIRC support -# ---------------------------------------------------------------------- - -dnl Check for LIRC client support -AC_MSG_CHECKING(if LIRC support is enabled) -lirc=no -AC_ARG_ENABLE([lirc], - AC_HELP_STRING([--disable-lirc], [disable lirc support (auto)]), -[ -if test "x${enableval}" = "xyes" -a "x$GCC" = "xyes"; then - AC_MSG_RESULT(yes) - lirc=yes -else - AC_MSG_RESULT(no) - lirc=no -fi], AC_MSG_RESULT(no)) - - -AC_ARG_WITH(lirc-prefix, -[ --with-lirc-prefix=PATH Prefix where LIRC is installed], -[ -for dir in `echo "$withval" | tr : ' '`; do - if test -d $dir/lib; then CXXFLAGS="$CXXFLAGS -L$dir/lib"; fi - if test -d $dir/include; then CXXFLAGS="$CXXFLAGS -I$dir/include"; fi - done -]) - -HAVE_LIRC=no -if test "x${lirc}" != "xno" ; then - AC_CHECK_HEADER(lirc/lirc_client.h, - [AC_CHECK_LIB(lirc_client,lirc_init,[HAVE_LIRC=yes;LIBS=-llirc_client $LIBS;AC_DEFINE([HAVE_LIRC],[],[Define to 1 if LIRC must be used])],,)],) -fi -AM_CONDITIONAL(HAVE_LIRC, [test "x$HAVE_LIRC" = xyes]) - - -# LCMS support -# ---------------------------------------------------------------------- - -AC_ARG_ENABLE([lcms], - AC_HELP_STRING([--disable-lcms], [disable lcms support]), - [liblcms=$enableval], [liblcms=auto]) - -if test "x${liblcms}" != "xno"; then - 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]) - ], - [ - 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 -fi - -AM_CONDITIONAL(HAVE_LCMS, [test "x$HAVE_LCMS" = xyes]) -AC_SUBST(LCMS_CFLAGS) -AC_SUBST(LCMS_LIBS) - -# libjpeg support -# ---------------------------------------------------------------------- - -AC_ARG_ENABLE([jpeg], - AC_HELP_STRING([--disable-jpeg], [disable direct jpeg support]), - [libjpeg=$enableval], [libjpeg=auto]) - -if test "x${libjpeg}" != "xno"; then - AC_CHECK_LIB(jpeg, jpeg_destroy_decompress, - HAVE_JPEG=yes - JPEG_LIBS=-ljpeg - AC_DEFINE(HAVE_JPEG, 1, [define to enable use of custom jpeg loader]), - HAVE_JPEG=no) -else - HAVE_JPEG=disabled -fi - -AM_CONDITIONAL(HAVE_JPEG, [test "x$HAVE_JPEG" = xyes]) -AC_SUBST(JPEG_CFLAGS) -AC_SUBST(JPEG_LIBS) - - -# libtiff support -# ---------------------------------------------------------------------- - -AC_ARG_ENABLE([tiff], - AC_HELP_STRING([--disable-tiff], [disable direct tiff support]), - [libtiff=$enableval], [libtiff=auto]) - -if test "x${libtiff}" != "xno"; then - AC_CHECK_LIB(tiff, TIFFClientOpen, - HAVE_TIFF=yes - TIFF_LIBS=-ltiff - AC_DEFINE(HAVE_TIFF, 1, [define to enable use of custom tiff loader]), - HAVE_TIFF=no) -else - HAVE_TIFF=disabled -fi - -AM_CONDITIONAL(HAVE_TIFF, [test "x$HAVE_TIFF" = xyes]) -AC_SUBST(TIFF_CFLAGS) -AC_SUBST(TIFF_LIBS) - -# libffmpegthumbnailer support -# ---------------------------------------------------------------------- - -AC_ARG_ENABLE([ffmpegthumbnailer], - AC_HELP_STRING([--disable-ffmpegthumbnailer], [disable ffmpegthumbnailer support for generating thumbnails of video files]), - [ffmpegthumbnailer=$enableval], [ffmpegthumbnailer=auto]) - -if test "x${ffmpegthumbnailer}" != "xno"; then - PKG_CHECK_MODULES(FFMPEGTHUMBNAILER, [libffmpegthumbnailer >= 2.1.0], - [ - HAVE_FFMPEGTHUMBNAILER=yes - AC_DEFINE(HAVE_FFMPEGTHUMBNAILER, 1, [define to enable ffmpegthumbnailer support]) - AC_CHECK_MEMBER([video_thumbnailer.prefer_embedded_metadata], [AC_DEFINE(HAVE_FFMPEGTHUMBNAILER_METADATA, 1, [define if ffmpegthumbnailer supports embedded metadata])], [], [[#include <libffmpegthumbnailer/videothumbnailerc.h>]]) - AC_CHECK_MEMBER([image_data.image_data_width], [AC_DEFINE(HAVE_FFMPEGTHUMBNAILER_RGB, 1, [define if ffmpegthumbnailer supports raw RGB output])], [], [[#include <libffmpegthumbnailer/videothumbnailerc.h>]]) - AC_CHECK_LIB([ffmpegthumbnailer], [video_thumbnailer_set_size], [AC_DEFINE(HAVE_FFMPEGTHUMBNAILER_WH, 1, [define if ffmpegthumbnailer supports specifying size by width/height])]) - ], - [ - HAVE_FFMPEGTHUMBNAILER=no - ]) -else - HAVE_FFMPEGTHUMBNAILER=disabled -fi - -AM_CONDITIONAL(HAVE_FFMPEGTHUMBNAILER, [test "x$HAVE_FFMPEGTHUMBNAILER" = xyes]) -AC_SUBST(FFMPEGTHUMBNAILER_CFLAGS) -AC_SUBST(FFMPEGTHUMBNAILER_LIBS) - -# Exiv2 support -# ---------------------------------------------------------------------- - -AC_ARG_ENABLE([exiv2], - AC_HELP_STRING([--disable-exiv2], [disable exiv2 support]), - [libexiv2=$enableval], [libexiv2=auto]) - -if test "x${libexiv2}" != "xno"; then - PKG_CHECK_MODULES(EXIV2, [exiv2 >= 0.11], - [ - HAVE_EXIV2=yes - AC_DEFINE(HAVE_EXIV2, 1, [define to enable exiv2 support]) - ], - [ - HAVE_EXIV2=no - AC_MSG_WARN([$EXIV2_PKG_ERRORS]) - ]) -else - HAVE_EXIV2=disabled -fi - -AM_CONDITIONAL(HAVE_EXIV2, [test "x$HAVE_EXIV2" = xyes]) -AC_SUBST(EXIV2_CFLAGS) -AC_SUBST(EXIV2_LIBS) - - -# Gettext support -# ---------------------------------------------------------------------- - -dnl Set of available languages -ALL_LINGUAS="`grep -v '^#' "$srcdir/po/LINGUAS" | tr '\n' ' '`" -AC_SUBST([CONFIG_STATUS_DEPENDENCIES],['$(top_srcdir)/po/LINGUAS']) - -GETTEXT_PACKAGE=$PACKAGE -AC_SUBST(GETTEXT_PACKAGE) -AC_DEFINE_UNQUOTED([GETTEXT_PACKAGE],["${GETTEXT_PACKAGE}"],[Name of gettext file]) -AM_GLIB_GNU_GETTEXT -AM_GLIB_DEFINE_LOCALEDIR(GQ_LOCALEDIR) - -AC_SUBST(CFLAGS) -AC_SUBST(CXXFLAGS) -AC_SUBST(CPPFLAGS) -AC_SUBST(LDFLAGS) - - -# clutter and champlain support -# ---------------------------------------------------------------------- - -AC_ARG_ENABLE([map], - AC_HELP_STRING([--disable-map], [disable map support]), - [libgps=$enableval], [libgps=auto]) - -AC_ARG_ENABLE([gpu-accel], - AC_HELP_STRING([--disable-gpu-accel], [disable GPU acceleration support - experimental]), - [libclutter=$enableval], [libclutter=auto]) - -if test "x${libclutter}" != "xno" -a "x${gtk3}" != "xno"; 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 map facility -# ---------------------------------------------------------------------- - -if test "x${libgps}" != "xno" -a "x${HAVE_CLUTTER}" = "xyes"; then - if test "x${gtk3}" != "xno"; then - PKG_CHECK_MODULES(LIBCHAMPLAIN, [champlain-0.12 >= 0.12], - [ - HAVE_LIBCHAMPLAIN=yes - AC_DEFINE(HAVE_LIBCHAMPLAIN, 1, [define to enable use of maps]) - ], - [ - HAVE_LIBCHAMPLAIN=no - AC_MSG_WARN([$LIBCHAMPLAIN_PKG_ERRORS]) - ]) - else - HAVE_LIBCHAMPLAIN=disabled - fi -else - HAVE_LIBCHAMPLAIN=disabled -fi - -if test "x${libgps}" != "xno" -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 maps]) - ], - [ - HAVE_LIBCHAMPLAIN_GTK=no - AC_MSG_WARN([$LIBCHAMPLAIN_GTK_PKG_ERRORS]) - ]) -else - HAVE_LIBCHAMPLAIN_GTK=disabled -fi - -AM_CONDITIONAL(HAVE_LIBCHAMPLAIN_GTK, [test "x$HAVE_LIBCHAMPLAIN_GTK" = xyes]) -AC_SUBST(LIBCHAMPLAIN_GTK_CFLAGS) -AC_SUBST(LIBCHAMPLAIN_GTK_LIBS) - -# Lua support -# ---------------------------------------------------------------------- - -AC_ARG_ENABLE([lua], - AC_HELP_STRING([--disable-lua], [disable lua support]), - [liblua=$enableval], [liblua=auto]) - -if test "x${liblua}" != "xno"; then - PKG_CHECK_MODULES(LUA, lua5.1 >= 5.1, - [ - HAVE_LUA=yes - AC_DEFINE(HAVE_LUA, 1, [define to enable lua support]) - ], - [ - HAVE_LUA=no - AC_MSG_WARN([$LUA_PKG_ERRORS]) - ]) -else - HAVE_LUA=disabled -fi - -AM_CONDITIONAL(HAVE_LUA, [test "x$HAVE_LUA" = xyes]) -AC_SUBST(LUA_CFLAGS) -AC_SUBST(LUA_LIBS) - -# Pdf support -# ---------------------------------------------------------------------- - -if test "x${gtk3}" != "xno"; then - AC_ARG_ENABLE([pdf], - AC_HELP_STRING([--disable-pdf], [disable pdf support]), - [libpdf=$enableval], [libpdf=auto]) - - if test "x${libpdf}" != "xno"; then - PKG_CHECK_MODULES(PDF, poppler-glib >= 0.62, - [ - HAVE_PDF=yes - AC_DEFINE(HAVE_PDF, 1, [define to enable pdf support]) - ], - [ - HAVE_PDF=no - AC_MSG_WARN([$PDF_PKG_ERRORS]) - ]) - else - HAVE_PDF=disabled - fi -else - HAVE_PDF=disabled -fi - -AM_CONDITIONAL(HAVE_PDF, [test "x$HAVE_PDF" = xyes]) -AC_SUBST(PDF_CFLAGS) -AC_SUBST(PDF_LIBS) - -# Markdown support -# ---------------------------------------------------------------------- - -AM_CONDITIONAL(HAVE_MARKDOWN, [ "$(command -v markdown)" ]) - -# ---------------------------------------------------------------------- - -AH_TOP([ -/** \file - * \short autogenerated definition by autoheader. - * \author Bruclik - */ - -/* - * This file is a part of Geeqie project (http://www.geeqie.org/). - * Copyright (C) 2008 - 2016 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 Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - */ - -#ifndef _INCLUDE_CONFIG_H -#define _INCLUDE_CONFIG_H -]) - -AH_BOTTOM([#endif]) - -dnl Write the output -dnl - -AC_CONFIG_FILES([ - Makefile - src/Makefile - src/icons/Makefile - src/icons/svg/Makefile - po/Makefile.in - doc/Makefile - plugins/Makefile - plugins/symlink/Makefile - plugins/rotate/Makefile - plugins/ufraw/Makefile - plugins/import/Makefile - plugins/geocode-parameters/Makefile - geeqie.spec -]) - -AC_OUTPUT -dnl Print the results -dnl - -cat > config.report << END - - Config results: - -=-=-=-=-=-=-=-=- - -Package: - Name: $PACKAGE_NAME - Version: $PACKAGE_VERSION - -Architecture: - UNIX: $os_unix - Win32: $platform_win32 (native: $os_win32) - -Flags: - Geeqie: $GQ_CFLAGS - DEFS: $DEFS - CPPFLAGS: $__CPPFLAGS - CFLAGS: $CFLAGS - CXXFLAGS: $CXXFLAGS - Gtk: $GTK_CFLAGS - Glib: $GLIB_CFLAGS - Thread: $GTHREAD_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 - LINGUAS: $LINGUAS - -Settings: - Developer: $__IS_DEVELOPER - Debug flags: $__IS_DEBUG_FLAGS - Debug log: $__IS_DEBUG_LOG - Deprecated: $__IS_DEPRECATED - -Support: - LCMS: $HAVE_LCMS - Exiv2: $HAVE_EXIV2 - Lirc: $HAVE_LIRC - Clutter: $HAVE_CLUTTER - Libchamplain: $HAVE_LIBCHAMPLAIN - Libchamplain-gtk: $HAVE_LIBCHAMPLAIN_GTK - Lua: $HAVE_LUA - FFmpegthumbnailer: $HAVE_FFMPEGTHUMBNAILER - Pdf: $HAVE_PDF - -Documentation: - Doxygen: $DX_DOXYGEN - doc-tool: $GNOME_DOC_TOOL - -END - -cat config.report -cat <<EOF - - Now you can type "make" to build Geeqie - (or you take blue pill and the story ends :) - -EOF
--- a/doc/docbook/GuideOptionsBehavior.xml Tue Feb 05 21:18:18 2019 +0100 +++ b/doc/docbook/GuideOptionsBehavior.xml Tue Feb 05 21:18:18 2019 +0100 @@ -7,7 +7,7 @@ <variablelist> <varlistentry> <term> - <guilabel>Confirm file delete</guilabel> + <guilabel>Confirm permanent file delete</guilabel> </term> <listitem> <para>Prompts for confirmation before deleting files.</para> @@ -15,6 +15,14 @@ </varlistentry> <varlistentry> <term> + <guilabel>Confirm move file to Trash</guilabel> + </term> + <listitem> + <para>Prompts for confirmation before moving files to the trash bin.</para> + </listitem> + </varlistentry> + <varlistentry> + <term> <guilabel> Enable <keycap>Delete key</keycap> @@ -44,7 +52,7 @@ </varlistentry> <varlistentry> <term> - <guilabel>Safe Delete</guilabel> + <guilabel>Use Geeqie trash location</guilabel> </term> <listitem> <para>Moves deleted files to a temporary folder, for easy retrieval of deleted files. Files in the temporary folder are retained until the maximum size is reached, at which point deleting additional files will result in the removal of the oldest files to reclaim the space needed for the new files.</para> @@ -62,6 +70,14 @@ </varlistentry> <varlistentry> <term> + <guilabel>Use system Trash bin</guilabel> + </term> + <listitem> + <para>Moves deleted files to the system-defined trash bin.</para> + </listitem> + </varlistentry> + <varlistentry> + <term> <guilabel>Folder</guilabel> </term> <listitem>
--- a/doc/docbook/GuidePluginsConfig.xml Tue Feb 05 21:18:18 2019 +0100 +++ b/doc/docbook/GuidePluginsConfig.xml Tue Feb 05 21:18:18 2019 +0100 @@ -29,6 +29,14 @@ <variablelist spacing="compact"> <varlistentry> <term> + <guilabel>Disabled</guilabel> + </term> + <listitem> + <para>If the checkbox is ticked, the plugin will not be displayed in Geeqie menus.</para> + </listitem> + </varlistentry> + <varlistentry> + <term> <guilabel>Name</guilabel> </term> <listitem>
--- a/doc/docbook/GuideReferenceKeyboardShortcuts.xml Tue Feb 05 21:18:18 2019 +0100 +++ b/doc/docbook/GuideReferenceKeyboardShortcuts.xml Tue Feb 05 21:18:18 2019 +0100 @@ -424,7 +424,16 @@ </code> </entry> <entry /> - <entry>Delete selected images.</entry> + <entry>Move selected images to trash bin.</entry> + </row> + <row> + <entry> + <code> + Shift + Delete + </code> + </entry> + <entry /> + <entry>Permanently delete selected images.</entry> </row> <row> <entry>
--- a/geeqie.1 Tue Feb 05 21:18:18 2019 +0100 +++ b/geeqie.1 Tue Feb 05 21:18:18 2019 +0100 @@ -156,22 +156,58 @@ Get destination path of FILE. .br .B +.IP file:<FILE> +Open FILE, bring Geeqie window to the top. +.br +.B .IP \-\-file:<FILE> Open FILE, bring Geeqie window to the top. .br .B +.IP File:<FILE> +Open FILE, do not bring Geeqie window to the top. +.br +.B .IP \-\-File:<FILE> Open FILE, do not bring Geeqie window to the top. .br .B .IP \-\-tell -Print filename of current image. +Print filename [and Collection] of current image. .br .B .IP \-\-pixel\-info Print X, Y and RGB of mouse pointer on current image. .br .B +.IP \-\-get\-rectangle +Get rectangle co-ordinates. +.br +.B +.IP \-\-get\-render\-intent +Get render intent. +.br +.B +.IP \-\-get\-filelist:[<FOLDER>] +Get list of files and class. +.br +.B +.IP \-\-get\-filelist-recurse:[<FOLDER>] +Get list of file and class recursive. +.br +.B +.IP \-\-get\-collection:<COLLECTION> +Get collection content. +.br +.B +.IP \-\-get\-collection\-list +Get collection list. +.br +.B +.IP view:<FILE> +Open FILE in new window. +.br +.B .IP \-\-view:<FILE> Open FILE in new window. .br @@ -188,6 +224,10 @@ Bring the Geeqie window to the top. .br .B +.IP \-\-raise +Bring the Geeqie window to the top. +.br +.B .IP \-\-id:<ID> Window ID for following commands. .br
--- a/plugins/Makefile.am Tue Feb 05 21:18:18 2019 +0100 +++ b/plugins/Makefile.am Tue Feb 05 21:18:18 2019 +0100 @@ -1,7 +1,9 @@ -#FIXME enable or disable individual plugins from configure -SUBDIRS = rotate symlink ufraw import geocode-parameters +SUBDIRS = rotate symlink ufraw import geocode-parameters export-jpeg tethered-photography camera-import image-crop random-image qq_desktoptemplatedir = $(appdir) -qq_desktoptemplate_DATA = template.desktop +qq_desktoptemplate_in_files = template.desktop.in +qq_desktoptemplate_DATA = $(qq_desktoptemplate_in_files:.desktop.in=.desktop) +@INTLTOOL_DESKTOP_RULE@ -EXTRA_DIST = $(qq_desktoptemplate_DATA) +EXTRA_DIST = $(qq_desktoptemplate_in_files) +CLEANFILES = $(qq_desktoptemplate_DATA)
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/plugins/camera-import/Makefile.am Tue Feb 05 21:18:18 2019 +0100 @@ -0,0 +1,9 @@ +dist_gq_bin_SCRIPTS = geeqie-camera-import geeqie-camera-import-hook-script + +gq_desktopdir = $(appdir)/applications +gq_desktop_in_files = camera-import.desktop.in +gq_desktop_DATA = $(gq_desktop_in_files:.desktop.in=.desktop) +@INTLTOOL_DESKTOP_RULE@ + +EXTRA_DIST = $(gq_desktop_in_files) +CLEANFILES = $(gq_desktop_DATA)
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/plugins/camera-import/camera-import.desktop.in Tue Feb 05 21:18:18 2019 +0100 @@ -0,0 +1,19 @@ +[Desktop Entry] +Version=1.0 +Type=Application +_Name=Camera import + +# Requires gphoto2 +# The gphoto2 file $HOME/.gphoto2/settings can +# be used to set auto-rename on download + +Exec=geeqie-camera-import + +# Desktop files that are usable only in Geeqie should be marked like this: +Categories=X-Geeqie; +OnlyShowIn=X-Geeqie; + +# It can be made verbose +#X-Geeqie-Verbose=true + +Icon=geeqie
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/plugins/camera-import/geeqie-camera-import Tue Feb 05 21:18:18 2019 +0100 @@ -0,0 +1,159 @@ +#!/bin/bash + +# Import all images from camera +# Requires gphoto2 + +function finish +{ + if [ -f /tmp/geeqie-camera-import-files ] + then + rm /tmp/geeqie-camera-import-files + fi + + if [ -p $zen_pipe ] + then + rm $zen_pipe + fi + + if [ "$gphoto2_pid" != "" ] + then + ps -p $gphoto2_pid > /dev/null + if [ $? -eq 0 ] + then + kill $gphoto2_pid + fi + fi + + if [ "$zen_pid" != "" ] + then + ps -p $zen_pid > /dev/null + if [ $? -eq 0 ] + then + kill $zen_pid + fi + fi +} +trap finish EXIT + +if ! [ -x "$(command -v gphoto2)" ] +then + zenity --title="Geeqie camera import" --info --width=200 --text="gphoto2 is not installed" 2>/dev/null + exit 0 +fi + +if [ -f /tmp/geeqie-camera-import.log ] +then + rm /tmp/geeqie-camera-import.log +fi + +if [ $(gphoto2 --auto-detect | wc -l) -le 2 ] +then + zenity --error --title="Geeqie camera import" --text="No camera detected" --window-icon=/usr/local/share/pixmaps/geeqie.png --width=250 2>/dev/null + exit 0 +fi + +list=$(gphoto2 --auto-detect | tail +3) +readarray -t split_list <<<"$list" + +camera_list="" +n=1 +count=$(gphoto2 --auto-detect | tail +3 | wc -l) +if [[ $count -gt 1 ]] +then + for camera in "${split_list[@]}" + do + if [[ $n -eq $count ]] + then + camera_list="$camera_list"$'TRUE\n'"$camera"$'\n'"$n" + else + camera_list="$camera_list"$'FALSE\n'"$camera"$'\n'"$n"$'\n' + fi + n=$((n+1)) + done + + camera_selected=$(echo "$camera_list" | zenity --width=500 --height=250 --title="Geeqie camera import" --list --text "Select camera" --radiolist --column "Select" --column "Camera" --column "n" --hide-column=3 --print-column=2 2>/dev/null) + + if [[ $? == 1 ]] + then + exit 0 + fi +else + camera_selected=$(gphoto2 --auto-detect | tail +3) +fi + +port_type=$(echo $camera_selected |awk -F ':' '{print $1}' | awk '{print $NF}') +camera=$(echo $camera_selected | awk -F $port_type '{print $1}') +port_address=$(echo $camera_selected | awk -F ':' '{print $2}') +port="$port_type:$port_address" + +script_dir=$(dirname "$0") + +zenity --question --title="Geeqie camera import" --text="Camera: $camera\n\nDownloading to folder:\n<b>$PWD</b>" --ok-label="OK" --cancel-label="Cancel" --window-icon=/usr/local/share/pixmaps/geeqie.png --width=350 2>/dev/null + +if [[ $? == 1 ]] +then + exit 0 +fi + +src_files_sorted=$(mktemp --tmpdir geeqie_camera_import_camera_files_sorted_XXXXXX) +dest_files_sorted=$(mktemp --tmpdir geeqie_camera_import_computer_files_sorted_XXXXXX) + +( +gphoto2 --port "$port" --list-files 2>/tmp/geeqie-camera-import.log | awk '/#/ {print $2}' | sort > $src_files_sorted +) | zenity --progress --auto-close --auto-kill --title="Geeqie camera import" --text="Searching for files to download..." --pulsate --window-icon=/usr/local/share/pixmaps/geeqie.png --width=250 + +error=$(grep -i error /tmp/geeqie-camera-import.log) + +if [ ! -z "$error" ] +then + cat /tmp/geeqie-camera-import.log | zenity --text-info --title="Geeqie camera import" - --window-icon=error --width=250 2>/dev/null + exit 1 +fi + +ls -1 | sort > $dest_files_sorted +existing_file_count=$(comm -12 $src_files_sorted $dest_files_sorted | wc -l) + +total=$(cat $src_files_sorted | wc -l) +files_to_load=$(( $total - $existing_file_count )) + +rm $src_files_sorted +rm $dest_files_sorted + +if [ "$files_to_load" -eq 0 ] +then + zenity --info --title="Geeqie camera download" --text="No photos to download" --width=250 --window-icon=usr/local/share/pixmaps/geeqie.png 2>/dev/null + exit 0 +fi + +if [ -f /tmp/geeqie-camera-import-files ] +then + rm /tmp/geeqie-camera-import-files +fi +touch /tmp/geeqie-camera-import-files + +zen_pipe=$(mktemp --dry-run --tmpdir geeqie_camera_import_pipe_XXXXXX) +mkfifo $zen_pipe + +gphoto2 --port "$port" --hook-script "$script_dir/"geeqie-camera-import-hook-script --get-all-files --skip-existing 2>/tmp/geeqie-camera-import.log & + +gphoto2_pid=$! + +(tail -f $zen_pipe 2>/dev/null) | zenity --progress --title="Geeqie camera import" --width=370 --text="Downloading: total: $files_to_load existing: $existing_file_count\n" --auto-close --auto-kill --percentage=0 window-icon=/usr/local/share/pixmaps/geeqie.png 2>/dev/null & +zen_pid=$! + +n=0 +while [ -f /tmp/geeqie-camera-import-files ] && [ "$n" -lt 100 ] +do + i=$(cat "/tmp/geeqie-camera-import-files" | wc -l) + n=$(( $((i * 100)) / $files_to_load)) + echo "$n" >$zen_pipe + + latest_file=$(tail -n 1 /tmp/geeqie-camera-import-files) + if [ -z "$latest_file" ] + then + latest_file="Skipping existing files, if any..." + fi + echo "#Downloading: total: $files_to_load existing: $existing_file_count\n$latest_file" >$zen_pipe + + sleep 1 +done
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/plugins/camera-import/geeqie-camera-import-hook-script Tue Feb 05 21:18:18 2019 +0100 @@ -0,0 +1,18 @@ +#!/bin/bash + +# Camera import + +if [ "$ACTION" == "download" ] +then + echo "$ARGUMENT" >> /tmp/geeqie-camera-import-files + +elif [ "$ACTION" == "stop" ] +then + zenity --info --title="Geeqie camera download" --text="Import ended" --width=200 --timeout=5 --window-icon=usr/local/share/pixmaps/geeqie.png 2>/dev/null + if [ -f /tmp/geeqie-camera-import-files ] + then + rm /tmp/geeqie-camera-import-files + fi +fi + +exit 0
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/plugins/export-jpeg/Makefile.am Tue Feb 05 21:18:18 2019 +0100 @@ -0,0 +1,9 @@ +dist_gq_bin_SCRIPTS = geeqie-export-jpeg + +gq_desktopdir = $(appdir)/applications +gq_desktop_in_files = export-jpeg.desktop.in +gq_desktop_DATA = $(gq_desktop_in_files:.desktop.in=.desktop) +@INTLTOOL_DESKTOP_RULE@ + +EXTRA_DIST = $(gq_desktop_in_files) +CLEANFILES = $(gq_desktop_DATA)
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/plugins/export-jpeg/export-jpeg.desktop.in Tue Feb 05 21:18:18 2019 +0100 @@ -0,0 +1,19 @@ +[Desktop Entry] +Version=1.0 +Type=Application +_Name=Export jpeg + +Exec=geeqie-export-jpeg %f + +# show only if these are installed +#TryExec=exiv2 +#TryExec=jpgicc + +# Desktop files that are usable only in Geeqie should be marked like this: +Categories=X-Geeqie; +OnlyShowIn=X-Geeqie; + +# It can be made verbose +#X-Geeqie-Verbose=true + +Icon=geeqie
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/plugins/export-jpeg/geeqie-export-jpeg Tue Feb 05 21:18:18 2019 +0100 @@ -0,0 +1,80 @@ +#!/bin/bash + +# Extract emdedded jpegs from a raw file: +# +# Display a list of the embedded files +# Extract the selected image to a tmp folder +# If jpgicc is installed, correct for currently selected rendering intent +# and store in a new file +# Set Geeqie focus to the newly generated image + +count=$(exiv2 -pp "$1" | wc -l) + +if [[ $count -eq 0 ]] +then + zenity --info --width=300 --height=100 --text="Export jpeg from raw file\n\nFile contains no embedded images" --title="Geeqie export jpeg" 2>/dev/null + exit +fi + +if ! [ -x "$(command -v exiv2)" ] +then + zenity --info --width=300 --height=100 --text="Export jpeg from raw file\n\nexiv2 is not installed" --title="Geeqie export jpeg" 2>/dev/null + exit 1 +fi + +if ! [ -x "$(command -v jpgicc)" ] +then + zenity --info --width=300 --height=100 --text="Export jpeg from raw file\n\njpgicc is not installed\ncolor corrections will not be made\nYou may install via liblcms2-utils" --title="Geeqie export jpeg" 2>/dev/null +fi + +list=$(exiv2 -pp "$1") +readarray -t split_list <<<"$list" + +image_list="" +n=1 + +for image in "${split_list[@]}" +do + if [[ $n -eq $count ]] + then + image_list="$image_list"$'TRUE\n'"$image"$'\n'"$n" + else + image_list="$image_list"$'FALSE\n'"$image"$'\n'"$n"$'\n' + fi + n=$((n+1)) +done + +image_selected=$(echo "$image_list" | zenity --width=500 --height=250 --title="Geeqie export jpeg" --list --text "Select embedded image" --radiolist --column "Select" --column "Image" --column "n" --hide-column=3 --print-column=3 2>/dev/null) + +if [[ ! -z "$image_selected" ]] +then + tmpdir=$(mktemp --tmpdir --directory geeqie_export_jpeg_XXXXXX) + + exiv2 -ep"$image_selected" "$1" --location "$tmpdir" + + render_str=$(geeqie --remote --get-render-intent) + + case $render_str in + "Perceptual" ) + render_key=0;; + "Relative Colorimetric" ) + render_key=1;; + "Saturation" ) + render_key=2;; + "Absolute Colorimetric" ) + render_key=3;; + esac + + filename=$(basename "$tmpdir/"* ".jpg") + if [ -x "$(command -v jpgicc)" ] + then + filename_ri="$tmpdir/""$filename""-ri.jpg" + jpgicc -t $render_key "$tmpdir/""$filename"".jpg" "$filename_ri" + + rm "$tmpdir/""$filename"".jpg" + + geeqie --remote view:"$filename_ri" + else + geeqie --remote view:"$tmpdir/""$filename"".jpg" + fi +fi
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/plugins/image-crop/Makefile.am Tue Feb 05 21:18:18 2019 +0100 @@ -0,0 +1,9 @@ +dist_gq_bin_SCRIPTS = geeqie-image-crop + +gq_desktopdir = $(appdir)/applications +gq_desktop_in_files = image-crop.desktop.in +gq_desktop_DATA = $(gq_desktop_in_files:.desktop.in=.desktop) +@INTLTOOL_DESKTOP_RULE@ + +EXTRA_DIST = $(gq_desktop_in_files) +CLEANFILES = $(gq_desktop_DATA)
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/plugins/image-crop/geeqie-image-crop Tue Feb 05 21:18:18 2019 +0100 @@ -0,0 +1,109 @@ +#!/bin/bash + +# Crop image +# +# Requires ImageMagick and exiftool + + +process_raw () +{ + tmpdir=$(mktemp --tmpdir --directory geeqie_crop_image_XXXXXX) + + list=$(exiv2 -pp "$1") + if [[ ! -z "$list" ]] + then + readarray -t split_list <<<"$list" + + array_length="${#split_list[@]}" + exiv2 -ep"$array_length" "$1" --location "$tmpdir" + + src_filename=$(ls "$tmpdir/") + filename="${src_filename%.*}" + extension="${src_filename##*.}" + rotation=$(exiftool -Orientation -n "$1" | cut -d':' -f2 | xargs) + convert "$tmpdir/$src_filename" -crop "$2" "$tmpdir/$filename-crop.$extension" + + exiftool -Orientation=$rotation -n "$tmpdir/$filename-crop.$extension" + + rm "$tmpdir/$src_filename" + + geeqie --remote view:"$tmpdir/$filename-crop.$extension" + res=0 + else + res=1 + fi + + return $res +} + +process_plain () +{ + tmpdir=$(mktemp --tmpdir --directory geeqie_crop_image_XXXXXX) + + src_filename=$(basename -- "$1") + filename="${src_filename%.*}" + extension="${src_filename##*.}" + convert "$1" -crop "$2" "$tmpdir/$filename-crop.$extension" + if [ $? = 1 ] + then + zenity --error --title="$title" --text="Cannot process this file format" --width="$width" --window-icon="$window_icon" + else + geeqie --remote view:"$tmpdir/$filename-crop.$extension" + fi +} + +export window_icon="/usr/local/share/pixmaps/geeqie.png" +export title="Geeqie crop image" +export width="250" + +if [ -x "$(command -v convert)" ] +then + if [ -x "$(command -v exiftool)" ] + then + + coords=$(geeqie --remote --get-rectangle) + + if [ -z "$coords" ] + then + zenity --error --title="$title" --text="Rectangle coordinates have not been set" --width="$width" --window-icon="$window_icon" 2>/dev/null + exit 0 + fi + + filename=$(basename -- "$1") + extension="${filename##*.}" + + if [ "${extension,,}" = "jpeg" ] + then + source_file="$1" + process_plain "$1" $coords + elif [ "${extension,,}" = "jpg" ] + then + source_file="$1" + process_plain "$1" $coords + elif [ "${extension,,}" = "png" ] + then + source_file="$1" + process_plain "$1" $coords + elif [ "${extension,,}" = "tif" ] + then + source_file="$1" + process_plain "$1" $coords + elif [ "${extension,,}" = "tiff" ] + then + source_file="$1" + process_plain "$1" $coords + else + process_raw "$1" $coords + if [ $? = 1 ] + then + process_plain "$1" $coords + fi + fi + else + zenity --info --title="$title" --width="$width" --height=100 --text="Crop image\n\nexiftool is not installed" --title="$title" --window-icon="$window_icon" 2>/dev/null + exit 0 + fi +else + zenity --info --title="$title" --width="$width" --height=100 --text="Crop image\n\nImageMagick is not installed" --title="$title" --window-icon="$window_icon" 2>/dev/null + exit 0 +fi
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/plugins/image-crop/image-crop.desktop Tue Feb 05 21:18:18 2019 +0100 @@ -0,0 +1,17 @@ +[Desktop Entry] +Version=1.0 +Type=Application +Name=Image crop + +# Requires ImageMagick and exiftools + +Exec=geeqie-image-crop %f + +# Desktop files that are usable only in Geeqie should be marked like this: +Categories=X-Geeqie; +OnlyShowIn=X-Geeqie; + +# It can be made verbose +#X-Geeqie-Verbose=true + +Icon=geeqie
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/plugins/image-crop/image-crop.desktop.in Tue Feb 05 21:18:18 2019 +0100 @@ -0,0 +1,17 @@ +[Desktop Entry] +Version=1.0 +Type=Application +_Name=Image crop + +# Requires ImageMagick and exiftools + +Exec=geeqie-image-crop %f + +# Desktop files that are usable only in Geeqie should be marked like this: +Categories=X-Geeqie; +OnlyShowIn=X-Geeqie; + +# It can be made verbose +#X-Geeqie-Verbose=true + +Icon=geeqie
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/plugins/random-image/Makefile.am Tue Feb 05 21:18:18 2019 +0100 @@ -0,0 +1,9 @@ +dist_gq_bin_SCRIPTS = geeqie-random-image + +gq_desktopdir = $(appdir)/applications +gq_desktop_in_files = random-image.desktop.in +gq_desktop_DATA = $(gq_desktop_in_files:.desktop.in=.desktop) +@INTLTOOL_DESKTOP_RULE@ + +EXTRA_DIST = $(gq_desktop_in_files) +CLEANFILES = $(gq_desktop_DATA)
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/plugins/random-image/geeqie-random-image Tue Feb 05 21:18:18 2019 +0100 @@ -0,0 +1,57 @@ +#!/bin/bash + +# Select and display a random image from a list of all images +# in Collections and the currently displayed folder + +# get list of images in all collections +collection_list=$(geeqie --remote --get-collection-list) +OLDIFS=$IFS +while IFS= read -r line +do + collection=$(geeqie --remote --get-collection:"$line") + list="$list""$collection"$'\n' +done <<< "$collection_list" +IFS=$OLDIFS + +# get list of images in current folder +file_list=$(geeqie --remote --get-filelist:) +OLDIFS=$IFS +while IFS= read -r line +do + class_whitespace="${line##*Class:}" + class="${class_whitespace#"${class_whitespace%%[![:space:]]*}"}" + + if [ "$class" == "Image" ] + then + list="$list""${line%%Class*}"$'\n' + fi + + if [ "$class" == "RAW Image" ] + then + list="$list""${line%%Class*}"$'\n' + fi +done <<< "$file_list" +IFS=$OLDIFS + +# remove blank lines +files_no_blanks=$(echo "$list" | sed -e 's/^[[:blank:]]*$//') +# remove leading trailing whitespace +files_no_spaces=$(echo "$files_no_blanks" | sed 's/^[ \t]*//;s/[ \t]*$//') + +# remove duplicate lines and select random line +display_image="$(echo "$files_no_spaces" | sort --uniq | shuf -n 1)" + +# get image currently displayed +current_image_collection=$(geeqie --remote --tell) +# remove collection name, if it is there +current_image_spaces="${current_image_collection%%Collection:*}" +# remove leading trailing whitespace +curent_image=$(echo "$current_image_spaces" | sed 's/^[ \t]*//;s/[ \t]*$//') + +# if the selected random image is currently displayed, try again +if [ "$current_image" == "$display_image" ] +then + display_image="$(echo "$files_no_spaces" | sort --uniq | shuf -n 1)" +fi + +geeqie --remote file:"$display_image"
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/plugins/random-image/random-image.desktop.in Tue Feb 05 21:18:18 2019 +0100 @@ -0,0 +1,15 @@ +[Desktop Entry] +Version=1.0 +Type=Application +_Name=Random image + +Exec=geeqie-random-image + +# Desktop files that are usable only in Geeqie should be marked like this: +Categories=X-Geeqie; +OnlyShowIn=X-Geeqie; + +# It can be made verbose +#X-Geeqie-Verbose=true + +Icon=geeqie
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/plugins/template.desktop.in Tue Feb 05 21:18:18 2019 +0100 @@ -0,0 +1,94 @@ +[Desktop Entry] +Version=1.0 +Type=Application + +# The name which appears in the menu: +_Name=Template +#Name[cs]= +#Name[fr]= +#Name[de]=Vorlage + +# Replace "command" with the actual command or script: +Exec=command %f + +# %f A single file name, even if multiple files are selected. The +# system reading the desktop entry should recognize that the program in +# question cannot handle multiple file arguments, and it should should +# probably spawn and execute multiple copies of a program for each +# selected file if the program is not able to handle additional file +# arguments. If files are not on the local file system (i.e. are on HTTP +# or FTP locations), the files will be copied to the local file system +# and %f will be expanded to point at the temporary file. Used for +# programs that do not understand the URL syntax. +# +# %F A list of files. Use for apps that can open several local files +# at once. Each file is passed as a separate argument to the executable +# program. +# +# %u A single URL. Local files may either be passed as file: URLs or +# as file path. +# +# %U A list of URLs. Each URL is passed as a separate argument to +# the executable program. Local files may either be passed as file: URLs +# or as file path. + +# Change the following line to point to an icon of your choosing +Icon=gtk-file + +# Use the following to only show this menu entry if the command is installed +#TryExec=command + +# Desktop files that are usable only in Geeqie should be marked like this: +Categories=X-Geeqie; +OnlyShowIn=X-Geeqie; + +# Uncomment the following line to include in a Geeqie menu, +# other than in the default path of EditMenu/ExternalMenu +#X-Geeqie-Menu-Path=<FileMenuPath> + +# e.g. +#X-Geeqie-Menu-Path=SelectMenu/SelectSection + +# Valid sections are: +# FileMenu +# FileMenu/OpenSection +# FileMenu/SearchSection +# FileMenu/PrintSection +# FileMenu/FileOpsSection +# FileMenu/QuitSection +# GoMenu +# SelectMenu +# SelectMenu/SelectSection +# SelectMenu/ClipboardSection +# SelectMenu/MarksSection +# EditMenu +# EditMenu/EditSection +# EditMenu/OrientationMenu +# EditMenu/RatingMenu +# EditMenu/PropertiesSection +# EditMenu/PreferencesSection +# PluginsMenu +# ViewMenu +# ViewMenu/WindowSection +# ViewMenu/FileDirMenu +# ViewMenu/FileDirMenu/FolderSection +# ViewMenu/FileDirMenu/ListSection +# ViewMenu/DirSection +# ViewMenu/ZoomMenu +# ViewMenu/ZoomMenu/ConnectZoomMenu +# ViewMenu/SplitMenu +# ViewMenu/StereoMenu +# ViewMenu/ColorMenu +# ViewMenu/OverlayMenu +# ViewMenu/ViewSection +# ViewMenu/ToolsSection +# ViewMenu/SlideShowSection +# HelpMenu +# HelpMenu/HelpSection + +# This is a filter - see symlink.desktop and geeqie-symlink for an example +# how to use this feature +#X-Geeqie-Filter=true + +# It can be made verbose +#X-Geeqie-Verbose=true
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/plugins/tethered-photography/Makefile.am Tue Feb 05 21:18:18 2019 +0100 @@ -0,0 +1,9 @@ +dist_gq_bin_SCRIPTS = geeqie-tethered-photography geeqie-tethered-photography-hook-script + +gq_desktopdir = $(appdir)/applications +gq_desktop_in_files = tethered-photography.desktop.in +gq_desktop_DATA = $(gq_desktop_in_files:.desktop.in=.desktop) +@INTLTOOL_DESKTOP_RULE@ + +EXTRA_DIST = $(gq_desktop_in_files) +CLEANFILES = $(gq_desktop_DATA)
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/plugins/tethered-photography/geeqie-tethered-photography Tue Feb 05 21:18:18 2019 +0100 @@ -0,0 +1,48 @@ +#!/bin/bash + +# Tethered photography +# Requires gphoto2 +# +# If a file already exists with the same name, it is not overwritten, but the +# download will not take place. +# Auto-rename can be achieved with the --filename option of gphoto2. +# In file $HOME/.config/gphoto2/settings, set the option: +# gphoto2=filename=<see the manual> + +n=$(ps -e | grep "geeqie-tethered" | wc -l) +if [ "$n" -ge 3 ] +then + exit 0 +fi + +if ! [ -x "$(command -v gphoto2)" ] +then + zenity --title="Geeqie tethered photography" --info --width=200 --text="gphoto2 is not installed" 2>/dev/null + exit 0 +fi + +if [ $(gphoto2 --auto-detect | wc -l) -le 2 ] +then + zenity --error --title="Geeqie tethered photography" --text="No camera detected" --window-icon=/usr/local/share/pixmaps/geeqie.png --width=250 2>/dev/null + exit 0 +fi + +notify-send --expire-time=2000 "$(gphoto2 --auto-detect | sed -n '3p')" --icon=geeqie + +script_dir=$(dirname "$0") + +tmpfile=$(mktemp --tmpdir geeqie_tethered_photography_XXXXXX) + +yes n | gphoto2 --hook-script "$script_dir/"geeqie-tethered-photography-hook-script --capture-tethered >$tmpfile & + +gphoto2_pid=$! + +zenity --question --title="Geeqie tethered photography" --ok-label="Stop" --cancel-label="Show log data" --text="Tethered photography is running.\n\n\nDownloading to folder:\n""$PWD\n\n\nExisting files will not be overwritten,\nbut the download will not take place.\n\n(Use gphoto2 --filename default option\nfor auto-rename on download)" --width=300 --window-icon=/usr/local/share/pixmaps/geeqie.png 2>/dev/null + +if [ $? == 1 ] +then + zenity --text-info --title="Geeqie tethered photography" --window-icon=/usr/local/share/pixmaps/geeqie.png --ok-label="Stop" --cancel-label="Abort" <$tmpfile 2>/dev/null +fi + +kill $gphoto2_pid +rm $tmpfile
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/plugins/tethered-photography/geeqie-tethered-photography-hook-script Tue Feb 05 21:18:18 2019 +0100 @@ -0,0 +1,11 @@ +#!/bin/bash + +# Tethered photography + +if [ "$ACTION" == "download" ] +then + notify-send --expire-time=4000 "$ARGUMENT" --icon=geeqie + geeqie --remote File:"$PWD/$ARGUMENT" +fi + +exit 0
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/plugins/tethered-photography/tethered-photography.desktop.in Tue Feb 05 21:18:18 2019 +0100 @@ -0,0 +1,15 @@ +[Desktop Entry] +Version=1.0 +Type=Application +_Name=Tethered photography + +Exec=geeqie-tethered-photography + +# Desktop files that are usable only in Geeqie should be marked like this: +Categories=X-Geeqie; +OnlyShowIn=X-Geeqie; + +# It can be made verbose +#X-Geeqie-Verbose=true + +Icon=geeqie
--- a/po/POTFILES.in Tue Feb 05 21:18:18 2019 +0100 +++ b/po/POTFILES.in Tue Feb 05 21:18:18 2019 +0100 @@ -2,8 +2,13 @@ plugins/import/geeqie-import-geeqie.desktop.in plugins/import/geeqie-import-gqview.desktop.in plugins/export-jpeg/export-jpeg.desktop.in +plugins/tethered-photography/tethered-photography.desktop.in +plugins/camera-import/camera-import.desktop.in +plugins/image-crop/image-crop.desktop.in +plugins/random-image/random-image.desktop.in plugins/rotate/rotate.desktop.in plugins/symlink/symlink.desktop.in +plugins/template.desktop.in plugins/ufraw/geeqie-ufraw.desktop.in plugins/ufraw/geeqie-ufraw-id.desktop.in plugins/ufraw/geeqie-ufraw-recursive.desktop.in @@ -46,9 +51,12 @@ src/history_list.c src/image.c src/image-load.c +src/image_load_collection.c +src/image_load_dds.c src/image_load_ffmpegthumbnailer.c src/image_load_gdk.c src/image_load_jpeg.c +src/image_load_pdf.c src/image_load_tiff.c src/image-overlay.c src/img-view.c @@ -67,6 +75,7 @@ src/metadata.c src/misc.c src/options.c +src/osd.c src/pan-view/pan-calendar.c src/pan-view/pan-folder.c src/pan-view/pan-grid.c @@ -112,3 +121,4 @@ src/view_file/view_file_icon.c src/view_file/view_file_list.c src/window.c +src/zonedetect.c
--- a/po/en_GB.po Tue Feb 05 21:18:18 2019 +0100 +++ b/po/en_GB.po Tue Feb 05 21:18:18 2019 +0100 @@ -7,15 +7,15 @@ msgstr "" "Project-Id-Version: geeqie-1.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-06-24 10:14+0100\n" -"PO-Revision-Date: 2018-07-14 14:54+0100\n" +"POT-Creation-Date: 2018-11-03 15:19+0000\n" +"PO-Revision-Date: 2018-11-03 16:09+0000\n" "Last-Translator: Colin Clark <colin.clark@cclark.uk>\n" -"Language-Team: British English <>\n" +"Language-Team: English <>\n" "Language: en_GB\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" "X-Generator: Gtranslator 2.91.7\n" #: ../geeqie.desktop.in.h:1 @@ -38,6 +38,22 @@ msgid "Import GQView metadata" msgstr "" +#: ../plugins/export-jpeg/export-jpeg.desktop.in.h:1 +msgid "Export jpeg" +msgstr "" + +#: ../plugins/tethered-photography/tethered-photography.desktop.in.h:1 +msgid "Tethered photography" +msgstr "" + +#: ../plugins/camera-import/camera-import.desktop.in.h:1 +msgid "Camera import" +msgstr "" + +#: ../plugins/image-crop/image-crop.desktop.in.h:1 +msgid "Image crop" +msgstr "" + #: ../plugins/rotate/rotate.desktop.in.h:1 msgid "Apply the orientation to image content" msgstr "" @@ -58,13 +74,13 @@ msgid "UFRaw Batch recursive" msgstr "" -#: ../src/advanced_exif.c:384 ../src/cache_maint.c:1265 -#: ../src/preferences.c:111 ../src/preferences.c:2304 ../src/search.c:2103 -#: ../src/search.c:3242 +#: ../src/advanced_exif.c:384 ../src/cache_maint.c:1266 +#: ../src/preferences.c:118 ../src/preferences.c:2512 ../src/search.c:2193 +#: ../src/search.c:3366 msgid "Metadata" msgstr "" -#: ../src/advanced_exif.c:432 ../src/preferences.c:2218 +#: ../src/advanced_exif.c:432 ../src/preferences.c:2426 msgid "Description" msgstr "" @@ -72,9 +88,10 @@ msgid "Value" msgstr "" -#: ../src/advanced_exif.c:434 ../src/desktop_file.c:535 ../src/dupe.c:2765 -#: ../src/dupe.c:3306 ../src/print.c:3209 ../src/search.c:3325 -#: ../src/utilops.c:505 ../src/view_file/view_file_list.c:2059 +#: ../src/advanced_exif.c:434 ../src/desktop_file.c:629 ../src/dupe.c:2784 +#: ../src/dupe.c:3326 ../src/preferences.c:2062 ../src/print.c:414 +#: ../src/search.c:3449 ../src/utilops.c:505 +#: ../src/view_file/view_file_list.c:2070 msgid "Name" msgstr "" @@ -91,68 +108,72 @@ msgstr "" #. default sidebar -#: ../src/bar.c:186 +#: ../src/bar.c:199 msgid "Histogram" msgstr "" -#: ../src/bar.c:187 +#: ../src/bar.c:200 msgid "Title" msgstr "" -#: ../src/bar.c:188 ../src/search.c:3163 +#: ../src/bar.c:201 ../src/preferences.c:2897 ../src/search.c:3286 msgid "Keywords" msgstr "" -#: ../src/bar.c:189 ../src/search.c:3175 +#: ../src/bar.c:202 ../src/search.c:3298 msgid "Comment" msgstr "" -#: ../src/bar.c:190 +#: ../src/bar.c:203 msgid "Rating" msgstr "" -#: ../src/bar.c:191 +#: ../src/bar.c:204 +msgid "Headline" +msgstr "" + +#: ../src/bar.c:205 msgid "Exif" msgstr "" #. other pre-configured panes -#: ../src/bar.c:193 +#: ../src/bar.c:207 msgid "File info" msgstr "" -#: ../src/bar.c:194 +#: ../src/bar.c:208 msgid "Location and GPS" msgstr "" -#: ../src/bar.c:195 ../src/exif.c:342 +#: ../src/bar.c:209 ../src/exif.c:342 msgid "Copyright" msgstr "" -#: ../src/bar.c:198 ../src/bar_gps.c:1010 +#: ../src/bar.c:212 ../src/bar_gps.c:1010 msgid "GPS Map" msgstr "" -#: ../src/bar.c:318 ../src/toolbar.c:191 +#: ../src/bar.c:332 ../src/toolbar.c:210 msgid "Move to _top" msgstr "" -#: ../src/bar.c:319 ../src/toolbar.c:192 ../src/ui_bookmark.c:416 +#: ../src/bar.c:333 ../src/toolbar.c:211 ../src/ui_bookmark.c:416 msgid "Move _up" msgstr "" -#: ../src/bar.c:320 ../src/toolbar.c:193 ../src/ui_bookmark.c:418 +#: ../src/bar.c:334 ../src/toolbar.c:212 ../src/ui_bookmark.c:418 msgid "Move _down" msgstr "" -#: ../src/bar.c:321 ../src/toolbar.c:194 +#: ../src/bar.c:335 ../src/toolbar.c:213 msgid "Move to _bottom" msgstr "" -#: ../src/bar.c:323 ../src/toolbar.c:196 +#: ../src/bar.c:337 ../src/toolbar.c:215 msgid "Remove" msgstr "" -#: ../src/bar.c:714 +#: ../src/bar.c:728 msgid "Add Pane" msgstr "" @@ -181,7 +202,7 @@ msgid "Key:" msgstr "" -#: ../src/bar_exif.c:576 ../src/preferences.c:1872 +#: ../src/bar_exif.c:576 ../src/preferences.c:1886 msgid "Title:" msgstr "" @@ -199,7 +220,7 @@ msgid "Configure \"%s\"" msgstr "" -#: ../src/bar_exif.c:636 ../src/bar_keywords.c:1342 +#: ../src/bar_exif.c:636 ../src/bar_keywords.c:1367 #, c-format msgid "Remove \"%s\"" msgstr "" @@ -303,27 +324,27 @@ msgstr "" #. use the same strings as in layout_util.c -#: ../src/bar_histogram.c:257 ../src/layout_util.c:1961 +#: ../src/bar_histogram.c:257 ../src/layout_util.c:2047 msgid "Histogram on _Red" msgstr "" -#: ../src/bar_histogram.c:258 ../src/layout_util.c:1962 +#: ../src/bar_histogram.c:258 ../src/layout_util.c:2048 msgid "Histogram on _Green" msgstr "" -#: ../src/bar_histogram.c:259 ../src/layout_util.c:1963 +#: ../src/bar_histogram.c:259 ../src/layout_util.c:2049 msgid "Histogram on _Blue" msgstr "" -#: ../src/bar_histogram.c:260 ../src/layout_util.c:1964 +#: ../src/bar_histogram.c:260 ../src/layout_util.c:2050 msgid "_Histogram on RGB" msgstr "" -#: ../src/bar_histogram.c:261 ../src/layout_util.c:1965 +#: ../src/bar_histogram.c:261 ../src/layout_util.c:2051 msgid "Histogram on _Value" msgstr "" -#: ../src/bar_histogram.c:265 ../src/layout_util.c:1969 +#: ../src/bar_histogram.c:265 ../src/layout_util.c:2055 msgid "Li_near Histogram" msgstr "" @@ -331,120 +352,125 @@ msgid "L_og Histogram" msgstr "" -#: ../src/bar_keywords.c:463 -msgid "Add keywords to selected files" -msgstr "" - -#: ../src/bar_keywords.c:464 -msgid "Replace existing keywords in selected files" -msgstr "" - -#: ../src/bar_keywords.c:935 +#: ../src/bar_keywords.c:488 +msgid "Add selected keywords to selected files" +msgstr "" + +#: ../src/bar_keywords.c:489 +msgid "Replace existing keywords in selected files with selected keywords" +msgstr "" + +#: ../src/bar_keywords.c:960 msgid "Edit keyword" msgstr "" -#: ../src/bar_keywords.c:935 ../src/bar_keywords.c:942 -#: ../src/bar_keywords.c:1287 +#: ../src/bar_keywords.c:960 ../src/bar_keywords.c:967 +#: ../src/bar_keywords.c:1312 msgid "New keyword" msgstr "" -#: ../src/bar_keywords.c:942 +#: ../src/bar_keywords.c:967 msgid "Configure keyword" msgstr "" -#: ../src/bar_keywords.c:948 +#: ../src/bar_keywords.c:973 msgid "Keyword:" msgstr "" -#: ../src/bar_keywords.c:957 +#: ../src/bar_keywords.c:982 msgid "Keyword type:" msgstr "" -#: ../src/bar_keywords.c:959 +#: ../src/bar_keywords.c:984 msgid "Active keyword" msgstr "" -#: ../src/bar_keywords.c:962 +#: ../src/bar_keywords.c:987 msgid "Helper" msgstr "" -#: ../src/bar_keywords.c:1036 +#: ../src/bar_keywords.c:1061 msgid "This will disconnect all Marks Keywords connections" msgstr "" -#: ../src/bar_keywords.c:1038 +#: ../src/bar_keywords.c:1063 msgid "Marks Keywords" msgstr "" -#: ../src/bar_keywords.c:1311 +#: ../src/bar_keywords.c:1336 #, c-format msgid "Add \"%s\" to all selected images" msgstr "" -#: ../src/bar_keywords.c:1317 +#: ../src/bar_keywords.c:1342 #, c-format msgid "Hide \"%s\"" msgstr "" -#: ../src/bar_keywords.c:1324 -#, c-format -msgid "Mark %d" -msgstr "" - -#: ../src/bar_keywords.c:1332 -#, c-format -msgid "Connect \"%s\" to mark" -msgstr "" - -#: ../src/bar_keywords.c:1339 -#, c-format -msgid "Edit \"%s\"" -msgstr "" - #: ../src/bar_keywords.c:1349 #, c-format +msgid "Mark %d" +msgstr "" + +#: ../src/bar_keywords.c:1357 +#, c-format +msgid "Connect \"%s\" to mark" +msgstr "" + +#: ../src/bar_keywords.c:1364 +#, c-format +msgid "Edit \"%s\"" +msgstr "" + +#: ../src/bar_keywords.c:1374 +#, c-format msgid "Disconnect \"%s\" from mark %s" msgstr "" -#: ../src/bar_keywords.c:1356 +#: ../src/bar_keywords.c:1381 #, c-format msgid "Disconnect all Mark Keyword connections" msgstr "" #. for the pane -#: ../src/bar_keywords.c:1367 ../src/bar_keywords.c:1381 +#: ../src/bar_keywords.c:1392 ../src/bar_keywords.c:1406 msgid "Expand checked" msgstr "" -#: ../src/bar_keywords.c:1368 ../src/bar_keywords.c:1382 +#: ../src/bar_keywords.c:1393 ../src/bar_keywords.c:1407 msgid "Collapse unchecked" msgstr "" -#: ../src/bar_keywords.c:1369 ../src/bar_keywords.c:1383 +#: ../src/bar_keywords.c:1394 ../src/bar_keywords.c:1408 msgid "Hide unchecked" msgstr "" -#: ../src/bar_keywords.c:1370 +#: ../src/bar_keywords.c:1395 msgid "Revert all hidden" msgstr "" -#: ../src/bar_keywords.c:1372 +#: ../src/bar_keywords.c:1397 msgid "Show all" msgstr "" -#: ../src/bar_keywords.c:1373 +#: ../src/bar_keywords.c:1398 msgid "Collapse all" msgstr "" -#: ../src/bar_keywords.c:1374 +#: ../src/bar_keywords.c:1399 msgid "Revert" msgstr "" -#: ../src/bar_keywords.c:1378 +#: ../src/bar_keywords.c:1403 msgid "On any change" msgstr "" -#: ../src/bar_sort.c:500 +#: ../src/bar_keywords.c:1899 +#, c-format +msgid "Error: Unable to write keywords list to: %s\n" +msgstr "" + +#: ../src/bar_sort.c:501 #, c-format msgid "" "The collection:\n" @@ -452,63 +478,63 @@ "already exists." msgstr "" -#: ../src/bar_sort.c:501 +#: ../src/bar_sort.c:502 msgid "Collection exists" msgstr "" -#: ../src/bar_sort.c:515 ../src/collect.c:1146 ../src/collect-dlg.c:93 +#: ../src/bar_sort.c:516 ../src/collect.c:1147 ../src/collect-dlg.c:93 #, c-format msgid "" "Failed to save the collection:\n" "%s" msgstr "" -#: ../src/bar_sort.c:516 ../src/collect.c:1147 ../src/collect-dlg.c:94 +#: ../src/bar_sort.c:517 ../src/collect.c:1148 ../src/collect-dlg.c:94 msgid "Save Failed" msgstr "" -#: ../src/bar_sort.c:551 ../src/bar_sort.c:723 +#: ../src/bar_sort.c:552 ../src/bar_sort.c:724 msgid "Add Bookmark" msgstr "" -#: ../src/bar_sort.c:555 +#: ../src/bar_sort.c:556 msgid "Add Collection" msgstr "" -#: ../src/bar_sort.c:572 ../src/shortcuts.c:118 ../src/ui_bookmark.c:297 +#: ../src/bar_sort.c:573 ../src/shortcuts.c:118 ../src/ui_bookmark.c:297 msgid "Name:" msgstr "" -#: ../src/bar_sort.c:650 +#: ../src/bar_sort.c:651 msgid "Sort Manager" msgstr "" -#: ../src/bar_sort.c:659 ../src/pan-view/pan-view.c:1832 +#: ../src/bar_sort.c:660 ../src/pan-view/pan-view.c:1836 #: ../src/ui_pathsel.c:1108 msgid "Folders" msgstr "" -#: ../src/bar_sort.c:660 ../src/options.c:207 +#: ../src/bar_sort.c:661 ../src/options.c:221 msgid "Collections" msgstr "" -#: ../src/bar_sort.c:668 ../src/utilops.c:2321 +#: ../src/bar_sort.c:669 ../src/toolbar.c:88 ../src/utilops.c:2329 msgid "Copy" msgstr "" -#: ../src/bar_sort.c:671 ../src/utilops.c:2271 +#: ../src/bar_sort.c:672 ../src/toolbar.c:89 ../src/utilops.c:2279 msgid "Move" msgstr "" -#: ../src/bar_sort.c:710 +#: ../src/bar_sort.c:711 msgid "Add image" msgstr "" -#: ../src/bar_sort.c:713 +#: ../src/bar_sort.c:714 msgid "Add selection" msgstr "" -#: ../src/bar_sort.c:726 +#: ../src/bar_sort.c:727 msgid "Undo last image" msgstr "" @@ -520,7 +546,7 @@ msgstr "" #: ../src/cache_maint.c:123 ../src/cache_maint.c:612 ../src/cache_maint.c:880 -#: ../src/editors.c:1205 +#: ../src/editors.c:1228 ../src/preferences.c:2674 msgid "done" msgstr "" @@ -540,11 +566,11 @@ msgid "Maintenance" msgstr "" -#: ../src/cache_maint.c:732 +#: ../src/cache_maint.c:732 ../src/preferences.c:2756 msgid "Invalid folder" msgstr "" -#: ../src/cache_maint.c:733 +#: ../src/cache_maint.c:733 ../src/preferences.c:2757 msgid "The specified folder can not be found." msgstr "" @@ -552,19 +578,19 @@ msgid "Create thumbnails" msgstr "" -#: ../src/cache_maint.c:804 ../src/cache_maint.c:1063 +#: ../src/cache_maint.c:804 ../src/cache_maint.c:1063 ../src/preferences.c:2795 msgid "S_tart" msgstr "" -#: ../src/cache_maint.c:817 ../src/preferences.c:2564 +#: ../src/cache_maint.c:817 ../src/preferences.c:2808 ../src/preferences.c:3134 msgid "Folder:" msgstr "" -#: ../src/cache_maint.c:820 +#: ../src/cache_maint.c:820 ../src/preferences.c:2811 msgid "Select folder" msgstr "" -#: ../src/cache_maint.c:824 +#: ../src/cache_maint.c:824 ../src/preferences.c:2815 msgid "Include subfolders" msgstr "" @@ -572,11 +598,11 @@ msgid "Store thumbnails local to source images" msgstr "" -#: ../src/cache_maint.c:834 ../src/cache_maint.c:1072 +#: ../src/cache_maint.c:834 ../src/cache_maint.c:1072 ../src/preferences.c:2823 msgid "click start to begin" msgstr "" -#: ../src/cache_maint.c:992 ../src/editors.c:1131 +#: ../src/cache_maint.c:992 ../src/editors.c:1154 msgid "running..." msgstr "" @@ -613,7 +639,7 @@ msgstr "" #: ../src/cache_maint.c:1227 ../src/cache_maint.c:1246 -#: ../src/cache_maint.c:1271 +#: ../src/cache_maint.c:1272 msgid "Clean up" msgstr "" @@ -641,13 +667,13 @@ msgid "Render thumbnails for a specific folder." msgstr "" -#: ../src/cache_maint.c:1274 +#: ../src/cache_maint.c:1275 msgid "Remove orphaned keywords and comments." msgstr "" #. When does this occur ?? -#: ../src/collect.c:422 ../src/image.c:189 ../src/image-overlay.c:549 -#: ../src/image-overlay.c:626 +#: ../src/collect.c:422 ../src/image.c:313 ../src/image-overlay.c:555 +#: ../src/image-overlay.c:632 msgid "Untitled" msgstr "" @@ -656,22 +682,22 @@ msgid "Untitled (%d)" msgstr "" -#: ../src/collect.c:1071 +#: ../src/collect.c:1072 #, c-format msgid "%s - Collection - %s" msgstr "" -#: ../src/collect.c:1183 ../src/collect.c:1187 +#: ../src/collect.c:1184 ../src/collect.c:1188 msgid "Close collection" msgstr "" -#: ../src/collect.c:1188 +#: ../src/collect.c:1189 msgid "" "Collection has been modified.\n" "Save first?" msgstr "" -#: ../src/collect.c:1191 +#: ../src/collect.c:1192 msgid "_Discard" msgstr "" @@ -750,166 +776,189 @@ "error: %s\n" msgstr "" -#: ../src/collect-table.c:212 +#: ../src/collect-table.c:214 #, c-format msgid "%s, %d images (%s, %d)" msgstr "" -#: ../src/collect-table.c:219 +#: ../src/collect-table.c:221 #, c-format msgid "%s, %d images" msgstr "" -#: ../src/collect-table.c:224 ../src/layout_util.c:1736 -#: ../src/layout_util.c:2880 +#: ../src/collect-table.c:226 ../src/layout_util.c:1817 +#: ../src/layout_util.c:2992 msgid "Empty" msgstr "" -#: ../src/collect-table.c:238 ../src/dupe.c:1363 ../src/search.c:386 -#: ../src/view_file/view_file.c:1004 ../src/view_file/view_file.c:1113 +#: ../src/collect-table.c:240 ../src/dupe.c:1364 ../src/search.c:389 +#: ../src/view_file/view_file.c:1146 ../src/view_file/view_file.c:1255 msgid "Loading thumbs..." msgstr "" -#: ../src/collect-table.c:933 ../src/dupe.c:2344 ../src/dupe.c:2662 -#: ../src/layout_util.c:1783 ../src/search.c:1095 +#: ../src/collect-table.c:961 ../src/dupe.c:2354 ../src/dupe.c:2681 +#: ../src/layout_util.c:1864 ../src/search.c:1107 msgid "_View" msgstr "" -#: ../src/collect-table.c:935 ../src/dupe.c:2346 ../src/dupe.c:2664 -#: ../src/img-view.c:1328 ../src/layout_image.c:691 -#: ../src/pan-view/pan-view.c:2290 ../src/search.c:1097 -#: ../src/view_file/view_file.c:622 +#: ../src/collect-table.c:963 ../src/dupe.c:2356 ../src/dupe.c:2683 +#: ../src/img-view.c:1337 ../src/layout_image.c:701 +#: ../src/pan-view/pan-view.c:2309 ../src/search.c:1109 +#: ../src/view_file/view_file.c:623 msgid "View in _new window" msgstr "" -#: ../src/collect-table.c:937 ../src/pan-view/pan-view.c:2292 +#: ../src/collect-table.c:965 ../src/pan-view/pan-view.c:2311 msgid "Go to original" msgstr "" -#: ../src/collect-table.c:940 ../src/dupe.c:2385 ../src/dupe.c:2672 -#: ../src/search.c:1132 +#: ../src/collect-table.c:968 ../src/dupe.c:2404 ../src/dupe.c:2691 msgid "Rem_ove" msgstr "" -#: ../src/collect-table.c:943 +#: ../src/collect-table.c:971 msgid "Append from file selection" msgstr "" -#: ../src/collect-table.c:945 +#: ../src/collect-table.c:973 msgid "Append from collection..." msgstr "" -#: ../src/collect-table.c:949 +#: ../src/collect-table.c:977 msgid "_Selection" msgstr "" -#: ../src/collect-table.c:951 ../src/dupe.c:2349 ../src/dupe.c:2667 -#: ../src/layout_util.c:1841 ../src/search.c:1100 +#: ../src/collect-table.c:979 ../src/dupe.c:2359 ../src/dupe.c:2686 +#: ../src/layout_util.c:1923 ../src/search.c:1112 ../src/toolbar.c:94 msgid "Select all" msgstr "" -#: ../src/collect-table.c:953 ../src/dupe.c:2351 ../src/dupe.c:2669 -#: ../src/layout_util.c:1842 ../src/search.c:1102 +#: ../src/collect-table.c:981 ../src/dupe.c:2361 ../src/dupe.c:2688 +#: ../src/layout_util.c:1924 ../src/search.c:1114 ../src/toolbar.c:95 msgid "Select none" msgstr "" -#: ../src/collect-table.c:955 +#: ../src/collect-table.c:983 msgid "Invert selection" msgstr "" -#: ../src/collect-table.c:957 -msgid "Rectangular selection" -msgstr "" - -#: ../src/collect-table.c:969 ../src/dupe.c:2372 ../src/img-view.c:1332 -#: ../src/layout_image.c:699 ../src/layout_util.c:1816 -#: ../src/pan-view/pan-view.c:2296 ../src/search.c:1119 -#: ../src/view_file/view_file.c:626 -msgid "_Copy..." -msgstr "" - -#: ../src/collect-table.c:971 ../src/dupe.c:2374 ../src/img-view.c:1333 -#: ../src/layout_image.c:701 ../src/layout_util.c:1817 -#: ../src/pan-view/pan-view.c:2298 ../src/search.c:1121 -#: ../src/view_file/view_file.c:628 -msgid "_Move..." -msgstr "" - -#: ../src/collect-table.c:973 ../src/dupe.c:2376 ../src/img-view.c:1334 -#: ../src/layout_image.c:703 ../src/layout_util.c:1818 -#: ../src/pan-view/pan-view.c:2300 ../src/search.c:1123 ../src/view_dir.c:683 -#: ../src/view_file/view_file.c:630 -msgid "_Rename..." -msgstr "" - -#: ../src/collect-table.c:975 ../src/dupe.c:2378 ../src/img-view.c:1335 -#: ../src/layout_image.c:705 ../src/pan-view/pan-view.c:2302 -#: ../src/search.c:1125 ../src/view_dir.c:686 ../src/view_file/view_file.c:632 -msgid "_Copy path" -msgstr "" - -#: ../src/collect-table.c:977 ../src/dupe.c:2380 ../src/img-view.c:1336 -#: ../src/layout_image.c:706 ../src/pan-view/pan-view.c:2304 -#: ../src/search.c:1127 ../src/view_dir.c:689 ../src/view_file/view_file.c:634 -msgid "_Copy path unquoted" -msgstr "" - -#: ../src/collect-table.c:979 ../src/dupe.c:2382 ../src/img-view.c:1337 -#: ../src/layout_image.c:708 ../src/layout_util.c:1819 -#: ../src/layout_util.c:1820 ../src/layout_util.c:1821 -#: ../src/pan-view/pan-view.c:2306 ../src/search.c:1129 ../src/view_dir.c:692 -#: ../src/view_file/view_file.c:636 -msgid "_Delete..." -msgstr "" - #: ../src/collect-table.c:985 +msgid "Rectangular selection" +msgstr "" + +#: ../src/collect-table.c:997 ../src/dupe.c:2382 ../src/img-view.c:1341 +#: ../src/layout_image.c:709 ../src/layout_util.c:1897 +#: ../src/pan-view/pan-view.c:2315 ../src/search.c:1131 +#: ../src/view_file/view_file.c:627 +msgid "_Copy..." +msgstr "" + +#: ../src/collect-table.c:999 ../src/dupe.c:2384 ../src/img-view.c:1342 +#: ../src/layout_image.c:711 ../src/layout_util.c:1898 +#: ../src/pan-view/pan-view.c:2317 ../src/search.c:1133 +#: ../src/view_file/view_file.c:629 +msgid "_Move..." +msgstr "" + +#: ../src/collect-table.c:1001 ../src/dupe.c:2386 ../src/img-view.c:1343 +#: ../src/layout_image.c:713 ../src/layout_util.c:1899 +#: ../src/pan-view/pan-view.c:2319 ../src/search.c:1135 ../src/view_dir.c:686 +#: ../src/view_file/view_file.c:631 +msgid "_Rename..." +msgstr "" + +#: ../src/collect-table.c:1003 ../src/dupe.c:2388 ../src/img-view.c:1344 +#: ../src/layout_image.c:715 ../src/pan-view/pan-view.c:2321 +#: ../src/search.c:1137 ../src/view_dir.c:689 ../src/view_file/view_file.c:633 +msgid "_Copy path" +msgstr "" + +#: ../src/collect-table.c:1005 ../src/dupe.c:2390 ../src/img-view.c:1345 +#: ../src/layout_image.c:716 ../src/pan-view/pan-view.c:2323 +#: ../src/search.c:1139 ../src/view_dir.c:692 ../src/view_file/view_file.c:635 +msgid "_Copy path unquoted" +msgstr "" + +#: ../src/collect-table.c:1010 ../src/dupe.c:2395 ../src/img-view.c:1349 +#: ../src/layout_image.c:721 ../src/layout_util.c:1900 +#: ../src/layout_util.c:1901 ../src/layout_util.c:1902 +#: ../src/pan-view/pan-view.c:2328 ../src/search.c:1144 +#: ../src/view_file/view_file.c:639 +msgid "Move to Trash..." +msgstr "Move to Rubbish bin..." + +#: ../src/collect-table.c:1011 ../src/dupe.c:2396 ../src/img-view.c:1350 +#: ../src/layout_image.c:722 ../src/pan-view/pan-view.c:2329 +#: ../src/search.c:1145 ../src/view_file/view_file.c:640 +msgid "Move to Trash" +msgstr "Move to Rubbish bin" + +#: ../src/collect-table.c:1014 ../src/dupe.c:2399 ../src/img-view.c:1353 +#: ../src/layout_image.c:726 ../src/pan-view/pan-view.c:2332 +#: ../src/search.c:1148 ../src/view_dir.c:695 ../src/view_file/view_file.c:643 +msgid "_Delete..." +msgstr "" + +#: ../src/collect-table.c:1015 ../src/dupe.c:2400 ../src/img-view.c:1354 +#: ../src/layout_image.c:727 ../src/pan-view/pan-view.c:2333 +#: ../src/search.c:1149 ../src/ui_pathsel.c:644 +#: ../src/view_file/view_file.c:644 +msgid "_Delete" +msgstr "" + +#: ../src/collect-table.c:1021 msgid "Randomize" msgstr "Randomise" -#: ../src/collect-table.c:987 ../src/view_file/view_file.c:661 +#: ../src/collect-table.c:1023 ../src/view_file/view_file.c:669 msgid "_Sort" msgstr "" -#: ../src/collect-table.c:990 ../src/view_file/view_file.c:677 +#: ../src/collect-table.c:1026 ../src/view_file/view_file.c:685 msgid "Show filename _text" msgstr "" -#: ../src/collect-table.c:993 +#: ../src/collect-table.c:1028 ../src/view_file/view_file.c:693 +#: ../src/view_file/view_file.c:697 +msgid "Show star rating" +msgstr "" + +#: ../src/collect-table.c:1031 msgid "_Save collection" msgstr "" -#: ../src/collect-table.c:995 +#: ../src/collect-table.c:1033 msgid "Save collection _as..." msgstr "" -#: ../src/collect-table.c:998 ../src/layout_util.c:1812 -#: ../src/view_file/view_file.c:646 +#: ../src/collect-table.c:1036 ../src/layout_util.c:1893 +#: ../src/view_file/view_file.c:654 msgid "_Find duplicates..." msgstr "" -#: ../src/collect-table.c:1000 ../src/dupe.c:2369 ../src/layout_util.c:1814 -#: ../src/search.c:1116 +#: ../src/collect-table.c:1038 ../src/dupe.c:2379 ../src/layout_util.c:1895 +#: ../src/search.c:1128 msgid "Print..." msgstr "" -#: ../src/collect-table.c:2189 ../src/dupe.c:3528 ../src/img-view.c:1496 +#: ../src/collect-table.c:2227 ../src/dupe.c:3548 ../src/img-view.c:1514 msgid "Dropped list includes folders." msgstr "" -#: ../src/collect-table.c:2191 ../src/dupe.c:3530 ../src/img-view.c:1498 +#: ../src/collect-table.c:2229 ../src/dupe.c:3550 ../src/img-view.c:1516 msgid "_Add contents" msgstr "" -#: ../src/collect-table.c:2193 ../src/dupe.c:3531 ../src/img-view.c:1499 +#: ../src/collect-table.c:2231 ../src/dupe.c:3551 ../src/img-view.c:1517 msgid "Add contents _recursive" msgstr "" -#: ../src/collect-table.c:2195 ../src/dupe.c:3532 ../src/img-view.c:1500 +#: ../src/collect-table.c:2233 ../src/dupe.c:3552 ../src/img-view.c:1518 msgid "_Skip folders" msgstr "" -#: ../src/collect-table.c:2198 ../src/dupe.c:3534 ../src/img-view.c:1502 -#: ../src/view_dir.c:426 +#: ../src/collect-table.c:2236 ../src/dupe.c:3554 ../src/img-view.c:1520 +#: ../src/view_dir.c:429 msgid "Cancel" msgstr "" @@ -945,7 +994,7 @@ msgid "Could not create directory" msgstr "" -#: ../src/desktop_file.c:191 ../src/desktop_file.c:554 +#: ../src/desktop_file.c:191 ../src/desktop_file.c:648 msgid "Desktop file" msgstr "" @@ -956,8 +1005,8 @@ "%s" msgstr "" -#: ../src/desktop_file.c:301 ../src/ui_pathsel.c:495 ../src/utilops.c:2157 -#: ../src/utilops.c:2184 ../src/utilops.c:2706 +#: ../src/desktop_file.c:301 ../src/ui_pathsel.c:495 ../src/utilops.c:2158 +#: ../src/utilops.c:2192 ../src/utilops.c:2714 msgid "File deletion failed" msgstr "" @@ -977,230 +1026,234 @@ msgid "new.desktop" msgstr "" -#: ../src/desktop_file.c:467 +#: ../src/desktop_file.c:548 ../src/menu.c:119 msgid "Plugins" msgstr "" -#: ../src/desktop_file.c:544 +#: ../src/desktop_file.c:616 +msgid "Disabled" +msgstr "" + +#: ../src/desktop_file.c:638 msgid "Hidden" msgstr "" -#: ../src/desktop_file.c:563 ../src/dupe.c:2771 ../src/dupe.c:3310 -#: ../src/print.c:3211 ../src/search.c:3329 ../src/ui_pathsel.c:1120 -#: ../src/utilops.c:501 +#: ../src/desktop_file.c:657 ../src/dupe.c:2790 ../src/dupe.c:3330 +#: ../src/preferences.c:2063 ../src/print.c:416 ../src/search.c:3453 +#: ../src/ui_pathsel.c:1120 ../src/utilops.c:501 msgid "Path" msgstr "" -#: ../src/dupe.c:109 +#: ../src/dupe.c:110 msgid "Drop files to compare them." msgstr "" -#: ../src/dupe.c:113 +#: ../src/dupe.c:114 #, c-format msgid "%d files" msgstr "" -#: ../src/dupe.c:117 +#: ../src/dupe.c:118 #, c-format msgid "%d matches found in %d files" msgstr "" -#: ../src/dupe.c:122 +#: ../src/dupe.c:123 msgid "[set 1]" msgstr "" -#: ../src/dupe.c:1489 +#: ../src/dupe.c:1490 msgid "Reading checksums..." msgstr "" -#: ../src/dupe.c:1522 +#: ../src/dupe.c:1523 msgid "Reading dimensions..." msgstr "" -#: ../src/dupe.c:1556 +#: ../src/dupe.c:1557 msgid "Reading similarity data..." msgstr "" -#: ../src/dupe.c:1592 ../src/dupe.c:1623 +#: ../src/dupe.c:1593 ../src/dupe.c:1624 msgid "Comparing..." msgstr "" -#: ../src/dupe.c:1603 ../src/pan-view/pan-view.c:1012 +#: ../src/dupe.c:1604 ../src/pan-view/pan-view.c:1012 msgid "Sorting..." msgstr "" -#: ../src/dupe.c:2353 +#: ../src/dupe.c:2363 msgid "Select group _1 duplicates" msgstr "" -#: ../src/dupe.c:2355 +#: ../src/dupe.c:2365 msgid "Select group _2 duplicates" msgstr "" -#: ../src/dupe.c:2387 ../src/dupe.c:2674 ../src/search.c:1134 +#: ../src/dupe.c:2406 ../src/dupe.c:2693 msgid "C_lear" msgstr "" -#: ../src/dupe.c:2390 ../src/dupe.c:2677 +#: ../src/dupe.c:2409 ../src/dupe.c:2696 msgid "Close _window" msgstr "" -#: ../src/dupe.c:2550 +#: ../src/dupe.c:2569 #, c-format msgid "%d files (set 2)" msgstr "" -#: ../src/dupe.c:2766 +#: ../src/dupe.c:2785 msgid "Name case-insensitive" msgstr "" -#: ../src/dupe.c:2767 ../src/dupe.c:3307 ../src/preferences.c:2017 -#: ../src/print.c:3215 ../src/search.c:3326 -#: ../src/view_file/view_file_list.c:2071 +#: ../src/dupe.c:2786 ../src/dupe.c:3327 ../src/preferences.c:2033 +#: ../src/preferences.c:2065 ../src/print.c:420 ../src/search.c:3450 +#: ../src/view_file/view_file_list.c:2082 msgid "Size" msgstr "" -#: ../src/dupe.c:2768 ../src/dupe.c:3308 ../src/exif.c:336 -#: ../src/exif-common.c:870 ../src/print.c:3213 ../src/search.c:3327 -#: ../src/view_file/view_file_list.c:2075 +#: ../src/dupe.c:2787 ../src/dupe.c:3328 ../src/exif.c:336 +#: ../src/exif-common.c:900 ../src/preferences.c:2064 ../src/print.c:418 +#: ../src/search.c:3451 ../src/view_file/view_file_list.c:2086 msgid "Date" msgstr "" -#: ../src/dupe.c:2769 ../src/dupe.c:3309 ../src/print.c:3217 -#: ../src/search.c:3328 +#: ../src/dupe.c:2788 ../src/dupe.c:3329 ../src/preferences.c:2067 +#: ../src/print.c:422 ../src/search.c:3452 msgid "Dimensions" msgstr "" -#: ../src/dupe.c:2770 +#: ../src/dupe.c:2789 msgid "Checksum" msgstr "" -#: ../src/dupe.c:2772 +#: ../src/dupe.c:2791 msgid "Similarity (high)" msgstr "" -#: ../src/dupe.c:2773 +#: ../src/dupe.c:2792 msgid "Similarity" msgstr "" -#: ../src/dupe.c:2774 +#: ../src/dupe.c:2793 msgid "Similarity (low)" msgstr "" -#: ../src/dupe.c:2775 +#: ../src/dupe.c:2794 msgid "Similarity (custom)" msgstr "" -#: ../src/dupe.c:3260 ../src/toolbar.c:86 +#: ../src/dupe.c:3280 ../src/toolbar.c:86 msgid "Find duplicates" msgstr "" -#: ../src/dupe.c:3342 +#: ../src/dupe.c:3362 msgid "Compare to:" msgstr "" -#: ../src/dupe.c:3355 +#: ../src/dupe.c:3375 msgid "Compare by:" msgstr "" -#: ../src/dupe.c:3363 ../src/preferences.c:1714 ../src/search.c:3342 +#: ../src/dupe.c:3383 ../src/preferences.c:1721 ../src/search.c:3466 msgid "Thumbnails" msgstr "" -#: ../src/dupe.c:3371 +#: ../src/dupe.c:3391 msgid "Ignore Rotation" msgstr "" -#: ../src/dupe.c:3379 +#: ../src/dupe.c:3399 msgid "Compare two file sets" msgstr "" -#: ../src/dupe.c:3399 ../src/menu.c:229 +#: ../src/dupe.c:3419 ../src/menu.c:229 msgid "Sort" msgstr "" -#: ../src/dupe.c:3407 +#: ../src/dupe.c:3427 msgid "Custom Threshold" msgstr "" -#: ../src/editors.c:305 +#: ../src/editors.c:307 #, c-format msgid "Desktop file '%s' should not include extension in Icon key: '%s'\n" msgstr "" #. flash fired (bit 0) -#: ../src/editors.c:359 ../src/exif.c:220 ../src/exif-common.c:429 +#: ../src/editors.c:377 ../src/exif.c:220 ../src/exif-common.c:429 msgid "yes" msgstr "" -#: ../src/editors.c:359 ../src/exif.c:219 ../src/exif-common.c:429 +#: ../src/editors.c:377 ../src/exif.c:219 ../src/exif-common.c:429 msgid "no" msgstr "" -#: ../src/editors.c:531 +#: ../src/editors.c:554 msgid "stopping..." msgstr "" -#: ../src/editors.c:552 +#: ../src/editors.c:575 msgid "Edit command results" msgstr "" -#: ../src/editors.c:555 +#: ../src/editors.c:578 #, c-format msgid "Output of %s" msgstr "" -#: ../src/editors.c:1082 +#: ../src/editors.c:1105 #, c-format msgid "" "Failed to run command:\n" "%s\n" msgstr "" -#: ../src/editors.c:1209 +#: ../src/editors.c:1232 msgid "stopped by user" msgstr "" -#: ../src/editors.c:1294 +#: ../src/editors.c:1317 #, c-format msgid "" "%s\n" "\"%s\"" msgstr "" -#: ../src/editors.c:1296 +#: ../src/editors.c:1319 msgid "Invalid editor command" msgstr "" -#: ../src/editors.c:1383 +#: ../src/editors.c:1406 msgid "Editor template is empty." msgstr "" -#: ../src/editors.c:1384 +#: ../src/editors.c:1407 msgid "Editor template has incorrect syntax." msgstr "" -#: ../src/editors.c:1385 +#: ../src/editors.c:1408 msgid "Editor template uses incompatible macros." msgstr "" -#: ../src/editors.c:1386 +#: ../src/editors.c:1409 msgid "Can't find matching file type." msgstr "" -#: ../src/editors.c:1387 +#: ../src/editors.c:1410 msgid "Can't execute external editor." msgstr "" -#: ../src/editors.c:1388 +#: ../src/editors.c:1411 msgid "External editor returned error status." msgstr "" -#: ../src/editors.c:1389 +#: ../src/editors.c:1412 msgid "File was skipped." msgstr "" -#: ../src/editors.c:1390 +#: ../src/editors.c:1413 msgid "Unknown error." msgstr "" @@ -1592,7 +1645,7 @@ msgid "Spectral Sensitivity" msgstr "" -#: ../src/exif.c:349 ../src/exif.c:385 ../src/exif-common.c:875 +#: ../src/exif.c:349 ../src/exif.c:385 ../src/exif-common.c:905 msgid "ISO sensitivity" msgstr "" @@ -1608,7 +1661,7 @@ msgid "Date original" msgstr "" -#: ../src/exif.c:353 +#: ../src/exif.c:353 ../src/preferences.c:2078 msgid "Date digitized" msgstr "Date digitised" @@ -1620,11 +1673,11 @@ msgid "Compression ratio" msgstr "" -#: ../src/exif.c:356 ../src/exif-common.c:872 +#: ../src/exif.c:356 ../src/exif-common.c:902 ../src/preferences.c:2084 msgid "Shutter speed" msgstr "" -#: ../src/exif.c:357 ../src/exif-common.c:873 +#: ../src/exif.c:357 ../src/exif-common.c:903 ../src/preferences.c:2080 msgid "Aperture" msgstr "" @@ -1632,7 +1685,7 @@ msgid "Brightness" msgstr "" -#: ../src/exif.c:359 ../src/exif-common.c:874 +#: ../src/exif.c:359 ../src/exif-common.c:904 ../src/preferences.c:2081 msgid "Exposure bias" msgstr "" @@ -1640,7 +1693,7 @@ msgid "Maximum aperture" msgstr "" -#: ../src/exif.c:361 ../src/exif-common.c:878 +#: ../src/exif.c:361 ../src/exif-common.c:908 ../src/preferences.c:2088 msgid "Subject distance" msgstr "" @@ -1652,11 +1705,11 @@ msgid "Light source" msgstr "" -#: ../src/exif.c:364 ../src/exif-common.c:879 +#: ../src/exif.c:364 ../src/exif-common.c:909 ../src/preferences.c:2089 msgid "Flash" msgstr "" -#: ../src/exif.c:365 ../src/exif-common.c:876 +#: ../src/exif.c:365 ../src/exif-common.c:906 ../src/preferences.c:2086 msgid "Focal length" msgstr "" @@ -1693,11 +1746,11 @@ msgstr "Colourspace" #. ExifImageWidth, ExifImageHeight can also be unsigned short -#: ../src/exif.c:375 ../src/preferences.c:2829 +#: ../src/exif.c:375 ../src/preferences.c:3411 msgid "Width" msgstr "" -#: ../src/exif.c:376 ../src/preferences.c:2831 +#: ../src/exif.c:376 ../src/preferences.c:3413 msgid "Height" msgstr "" @@ -1782,7 +1835,7 @@ msgid "Contrast" msgstr "" -#: ../src/exif.c:399 ../src/preferences.c:2435 +#: ../src/exif.c:399 ../src/preferences.c:2986 msgid "Saturation" msgstr "" @@ -1818,11 +1871,11 @@ msgid "mode:" msgstr "" -#: ../src/exif-common.c:437 ../src/trash.c:213 +#: ../src/exif-common.c:437 msgid "on" msgstr "" -#: ../src/exif-common.c:440 ../src/trash.c:218 +#: ../src/exif-common.c:440 msgid "off" msgstr "" @@ -1860,141 +1913,165 @@ msgid "Below Sea Level" msgstr "" -#: ../src/exif-common.c:869 +#: ../src/exif-common.c:899 ../src/preferences.c:2083 msgid "Camera" msgstr "" -#: ../src/exif-common.c:871 +#: ../src/exif-common.c:901 msgid "DateDigitized" msgstr "DateDigitised" -#: ../src/exif-common.c:877 +#: ../src/exif-common.c:907 msgid "Focal length 35mm" msgstr "" -#: ../src/exif-common.c:880 +#: ../src/exif-common.c:910 ../src/preferences.c:2082 msgid "Resolution" msgstr "" -#: ../src/exif-common.c:881 +#: ../src/exif-common.c:911 ../src/preferences.c:2090 msgid "Color profile" msgstr "Colour profile" -#: ../src/exif-common.c:882 +#: ../src/exif-common.c:912 msgid "GPS position" msgstr "" -#: ../src/exif-common.c:883 +#: ../src/exif-common.c:913 msgid "GPS altitude" msgstr "" -#: ../src/exif-common.c:884 +#: ../src/exif-common.c:914 ../src/preferences.c:2093 msgid "Local time" msgstr "" -#: ../src/exif-common.c:885 +#: ../src/exif-common.c:915 msgid "Time zone" msgstr "" -#: ../src/exif-common.c:886 +#: ../src/exif-common.c:916 ../src/preferences.c:2095 +msgid "Country name" +msgstr "" + +#: ../src/exif-common.c:917 ../src/preferences.c:2096 +msgid "Country code" +msgstr "" + +#: ../src/exif-common.c:918 ../src/preferences.c:2097 msgid "Star rating" msgstr "" -#: ../src/exif-common.c:887 +#: ../src/exif-common.c:919 msgid "File size" msgstr "" -#: ../src/exif-common.c:888 +#: ../src/exif-common.c:920 msgid "File date" msgstr "" -#: ../src/exif-common.c:889 +#: ../src/exif-common.c:921 ../src/preferences.c:2072 msgid "File mode" msgstr "" -#: ../src/exif-common.c:890 +#: ../src/exif-common.c:922 ../src/preferences.c:2071 msgid "File ctime" msgstr "" -#: ../src/filedata.c:110 +#: ../src/exif-common.c:923 ../src/preferences.c:2073 +msgid "File owner" +msgstr "" + +#: ../src/exif-common.c:924 ../src/preferences.c:2074 +msgid "File group" +msgstr "" + +#: ../src/exif-common.c:925 ../src/preferences.c:2075 +msgid "File link" +msgstr "" + +#: ../src/exif-common.c:926 ../src/preferences.c:2076 +msgid "File class" +msgstr "" + +#: ../src/filedata.c:112 #, c-format msgid "%d bytes" msgstr "" -#: ../src/filedata.c:114 +#: ../src/filedata.c:116 #, c-format msgid "%.1f K" msgstr "" -#: ../src/filedata.c:118 +#: ../src/filedata.c:120 #, c-format msgid "%.1f MB" msgstr "" -#: ../src/filedata.c:123 +#: ../src/filedata.c:125 #, c-format msgid "%.1f GB" msgstr "" -#: ../src/filedata.c:2625 +#: ../src/filedata.c:2680 msgid "file or directory does not exist" msgstr "" -#: ../src/filedata.c:2631 +#: ../src/filedata.c:2686 msgid "destination already exists" msgstr "" -#: ../src/filedata.c:2637 +#: ../src/filedata.c:2692 msgid "destination can't be overwritten" msgstr "" -#: ../src/filedata.c:2643 +#: ../src/filedata.c:2698 msgid "destination directory is not writable" msgstr "" -#: ../src/filedata.c:2649 +#: ../src/filedata.c:2704 msgid "destination directory does not exist" msgstr "" -#: ../src/filedata.c:2655 +#: ../src/filedata.c:2710 msgid "source directory is not writable" msgstr "" -#: ../src/filedata.c:2661 +#: ../src/filedata.c:2716 msgid "no read permission" msgstr "" -#: ../src/filedata.c:2667 +#: ../src/filedata.c:2722 msgid "file is readonly" msgstr "" -#: ../src/filedata.c:2673 +#: ../src/filedata.c:2728 msgid "destination already exists and will be overwritten" msgstr "" -#: ../src/filedata.c:2679 +#: ../src/filedata.c:2734 msgid "source and destination are the same" msgstr "" -#: ../src/filedata.c:2685 +#: ../src/filedata.c:2740 msgid "source and destination have different extension" msgstr "" -#: ../src/filedata.c:2691 +#: ../src/filedata.c:2746 msgid "there are unsaved metadata changes for the file" msgstr "" -#: ../src/filedata.c:2697 +#: ../src/filedata.c:2752 msgid "another destination file has the same filename" msgstr "" -#: ../src/filedata.c:3251 +#: ../src/filedata.c:3306 #, c-format msgid "Error: Unable to write marks lists to: %s\n" msgstr "" -#: ../src/fullscreen.c:242 ../src/layout_util.c:1883 ../src/layout_util.c:1884 -#: ../src/layout_util.c:1885 ../src/preferences.c:2030 +#: ../src/fullscreen.c:242 ../src/layout_util.c:1966 ../src/layout_util.c:1967 +#: ../src/layout_util.c:1968 ../src/preferences.c:2046 msgid "Full screen" msgstr "" @@ -2067,7 +2144,7 @@ msgid "Unable to write history lists to: %s\n" msgstr "" -#: ../src/image.c:190 +#: ../src/image.c:314 #, c-format msgid " (Collection %s)" msgstr "" @@ -2077,201 +2154,201 @@ msgid "Error interpreting JPEG image file (%s)" msgstr "" -#: ../src/img-view.c:1312 ../src/layout_image.c:674 ../src/layout_util.c:1850 -#: ../src/layout_util.c:1851 ../src/layout_util.c:1866 -#: ../src/layout_util.c:1867 ../src/pan-view/pan-view.c:2275 +#: ../src/img-view.c:1321 ../src/layout_image.c:684 ../src/layout_util.c:1933 +#: ../src/layout_util.c:1934 ../src/layout_util.c:1949 +#: ../src/layout_util.c:1950 ../src/pan-view/pan-view.c:2294 msgid "Zoom _in" msgstr "" -#: ../src/img-view.c:1313 ../src/layout_image.c:675 ../src/layout_util.c:1852 -#: ../src/layout_util.c:1853 ../src/layout_util.c:1868 -#: ../src/layout_util.c:1869 ../src/pan-view/pan-view.c:2277 +#: ../src/img-view.c:1322 ../src/layout_image.c:685 ../src/layout_util.c:1935 +#: ../src/layout_util.c:1936 ../src/layout_util.c:1951 +#: ../src/layout_util.c:1952 ../src/pan-view/pan-view.c:2296 msgid "Zoom _out" msgstr "" -#: ../src/img-view.c:1314 ../src/layout_image.c:676 ../src/layout_util.c:1854 -#: ../src/layout_util.c:1855 ../src/layout_util.c:1870 -#: ../src/layout_util.c:1871 ../src/pan-view/pan-view.c:2279 +#: ../src/img-view.c:1323 ../src/layout_image.c:686 ../src/layout_util.c:1937 +#: ../src/layout_util.c:1938 ../src/layout_util.c:1953 +#: ../src/layout_util.c:1954 ../src/pan-view/pan-view.c:2298 msgid "Zoom _1:1" msgstr "" -#: ../src/img-view.c:1315 ../src/layout_image.c:677 +#: ../src/img-view.c:1324 ../src/layout_image.c:687 msgid "Fit image to _window" msgstr "" -#: ../src/img-view.c:1324 ../src/layout_image.c:687 ../src/layout_util.c:1848 +#: ../src/img-view.c:1333 ../src/layout_image.c:697 ../src/layout_util.c:1930 msgid "Set as _wallpaper" msgstr "" -#: ../src/img-view.c:1329 ../src/layout_image.c:694 +#: ../src/img-view.c:1338 ../src/layout_image.c:704 msgid "_Go to directory view" msgstr "" -#: ../src/img-view.c:1348 ../src/layout_image.c:719 +#: ../src/img-view.c:1366 ../src/layout_image.c:739 msgid "_Stop slideshow" msgstr "" -#: ../src/img-view.c:1351 ../src/layout_image.c:722 +#: ../src/img-view.c:1369 ../src/layout_image.c:742 msgid "Continue slides_how" msgstr "" -#: ../src/img-view.c:1356 ../src/img-view.c:1364 ../src/layout_image.c:727 -#: ../src/layout_image.c:734 +#: ../src/img-view.c:1374 ../src/img-view.c:1382 ../src/layout_image.c:747 +#: ../src/layout_image.c:754 msgid "Pause slides_how" msgstr "" -#: ../src/img-view.c:1362 ../src/layout_image.c:733 +#: ../src/img-view.c:1380 ../src/layout_image.c:753 msgid "_Start slideshow" msgstr "" -#: ../src/img-view.c:1370 ../src/layout_image.c:744 -#: ../src/pan-view/pan-view.c:2359 +#: ../src/img-view.c:1388 ../src/layout_image.c:764 +#: ../src/pan-view/pan-view.c:2386 msgid "Exit _full screen" msgstr "" -#: ../src/img-view.c:1374 ../src/layout_image.c:740 -#: ../src/pan-view/pan-view.c:2363 +#: ../src/img-view.c:1392 ../src/layout_image.c:760 +#: ../src/pan-view/pan-view.c:2390 msgid "_Full screen" msgstr "" -#: ../src/img-view.c:1378 ../src/layout_util.c:1826 -#: ../src/pan-view/pan-view.c:2367 +#: ../src/img-view.c:1396 ../src/layout_util.c:1908 +#: ../src/pan-view/pan-view.c:2394 msgid "C_lose window" msgstr "" -#: ../src/layout.c:407 ../src/view_file/view_file.c:658 +#: ../src/layout.c:424 ../src/view_file/view_file.c:666 msgid "Ascending" msgstr "" -#: ../src/layout.c:487 +#: ../src/layout.c:504 msgid "Scroll to top left corner" msgstr "" -#: ../src/layout.c:492 +#: ../src/layout.c:509 msgid "Scroll to image center" msgstr "" -#: ../src/layout.c:497 +#: ../src/layout.c:514 msgid "Keep the region from previous image" msgstr "" -#: ../src/layout.c:603 +#: ../src/layout.c:620 msgid " Slideshow" msgstr "" -#: ../src/layout.c:607 +#: ../src/layout.c:624 msgid " Paused" msgstr "" -#: ../src/layout.c:623 +#: ../src/layout.c:640 #, c-format msgid "%s, %d files (%s, %d)%s" msgstr "" -#: ../src/layout.c:630 +#: ../src/layout.c:647 #, c-format msgid "%s, %d files%s" msgstr "" -#: ../src/layout.c:635 +#: ../src/layout.c:652 #, c-format msgid "%d files%s" msgstr "" -#: ../src/layout.c:681 +#: ../src/layout.c:698 #, c-format msgid "(no read permission) %s bytes" msgstr "" -#: ../src/layout.c:685 +#: ../src/layout.c:702 #, c-format msgid "( ? x ? ) %s bytes" msgstr "" -#: ../src/layout.c:693 +#: ../src/layout.c:710 #, c-format msgid "( %d x %d ) %s bytes" msgstr "" -#: ../src/layout.c:779 +#: ../src/layout.c:796 msgid "Select sort order" msgstr "" -#: ../src/layout.c:784 +#: ../src/layout.c:801 msgid "Folder contents (files selected)" msgstr "" -#: ../src/layout.c:793 +#: ../src/layout.c:810 msgid "(Image dimensions) Image size" msgstr "" -#: ../src/layout.c:803 +#: ../src/layout.c:820 msgid "Select zoom and scroll mode" msgstr "" #. expand only in small format -#: ../src/layout.c:813 +#: ../src/layout.c:830 msgid "[Pixel x,y coord]: (Pixel R,G,B value)" msgstr "" -#: ../src/layout.c:1458 ../src/layout_config.c:67 +#: ../src/layout.c:1493 ../src/layout_config.c:67 msgid "Tools" msgstr "" -#: ../src/layout.c:2085 +#: ../src/layout.c:2123 msgid "Window options and layout" msgstr "" -#: ../src/layout.c:2150 +#: ../src/layout.c:2188 msgid "General options" msgstr "" -#: ../src/layout.c:2152 +#: ../src/layout.c:2190 msgid "Home path (empty to use your home directory)" msgstr "" -#: ../src/layout.c:2160 +#: ../src/layout.c:2198 msgid "Use current" msgstr "" -#: ../src/layout.c:2163 +#: ../src/layout.c:2201 msgid "Show date in directories list view" msgstr "" -#: ../src/layout.c:2166 +#: ../src/layout.c:2204 msgid "Exit program when this window is closed" msgstr "" -#: ../src/layout.c:2169 +#: ../src/layout.c:2207 msgid "Start-up directory:" msgstr "" -#: ../src/layout.c:2171 +#: ../src/layout.c:2209 msgid "No change" msgstr "" -#: ../src/layout.c:2174 +#: ../src/layout.c:2212 msgid "Restore last path" msgstr "" -#: ../src/layout.c:2177 +#: ../src/layout.c:2215 msgid "Home path" msgstr "" -#: ../src/layout.c:2181 ../src/print.c:3375 ../src/print.c:3382 +#: ../src/layout.c:2219 msgid "Layout" msgstr "" -#: ../src/layout.c:2428 +#: ../src/layout.c:2466 msgid "Invalid geometry\n" msgstr "" -#: ../src/layout_config.c:67 ../src/preferences.c:2150 ../src/ui_pathsel.c:1187 +#: ../src/layout_config.c:67 ../src/preferences.c:2358 ../src/ui_pathsel.c:1187 msgid "Files" msgstr "" -#: ../src/layout_config.c:67 ../src/preferences.c:109 ../src/preferences.c:1915 -#: ../src/print.c:133 ../src/search.c:2088 ../src/search.c:3239 +#: ../src/layout_config.c:67 ../src/preferences.c:116 ../src/preferences.c:1934 +#: ../src/search.c:2178 ../src/search.c:3363 msgid "Image" msgstr "" @@ -2279,1216 +2356,1239 @@ msgid "(drag to change order)" msgstr "" -#: ../src/layout_image.c:747 +#: ../src/layout_image.c:767 msgid "_Animate" msgstr "" -#: ../src/layout_image.c:751 +#: ../src/layout_image.c:771 msgid "Hide file _list" msgstr "" -#: ../src/layout_image.c:1942 +#: ../src/layout_image.c:1962 #, c-format msgid "[%*d,%*d]: RGB(%3d,%3d,%3d)" msgstr "" -#: ../src/layout_image.c:1950 +#: ../src/layout_image.c:1970 #, c-format msgid "[%*s,%*s]: RGB(---,---,---)" msgstr "" -#: ../src/layout_util.c:255 ../src/layout_util.c:1912 +#: ../src/layout_util.c:265 ../src/layout_util.c:1995 msgid "Clear Marks" msgstr "" -#: ../src/layout_util.c:569 +#: ../src/layout_util.c:606 msgid "Operation failed:\n" msgstr "" -#: ../src/layout_util.c:572 +#: ../src/layout_util.c:609 msgid "No file extension\n" msgstr "" -#: ../src/layout_util.c:574 +#: ../src/layout_util.c:611 msgid "Cannot create tmp file\n" msgstr "" -#: ../src/layout_util.c:576 +#: ../src/layout_util.c:613 msgid "Operation not supported for filetype\n" msgstr "" -#: ../src/layout_util.c:578 +#: ../src/layout_util.c:615 msgid "File is not writable\n" msgstr "" -#: ../src/layout_util.c:580 +#: ../src/layout_util.c:617 msgid "Exiftran error\n" msgstr "" -#: ../src/layout_util.c:582 +#: ../src/layout_util.c:619 msgid "Mogrify error\n" msgstr "" -#: ../src/layout_util.c:586 +#: ../src/layout_util.c:623 msgid "Image orientation" msgstr "" -#: ../src/layout_util.c:1776 +#: ../src/layout_util.c:1857 msgid "_File" msgstr "" -#: ../src/layout_util.c:1777 -msgid "_Go" -msgstr "" - -#: ../src/layout_util.c:1778 ../src/menu.c:119 -msgid "_Edit" -msgstr "" - -#: ../src/layout_util.c:1779 -msgid "_Select" -msgstr "" - -#: ../src/layout_util.c:1780 ../src/menu.c:380 -msgid "_Orientation" -msgstr "" - -#: ../src/layout_util.c:1781 -msgid "_Rating" -msgstr "" - -#: ../src/layout_util.c:1782 -msgid "P_references" -msgstr "" - -#: ../src/layout_util.c:1784 -msgid "_Files and Folders" -msgstr "" - -#: ../src/layout_util.c:1785 -msgid "_Zoom" -msgstr "" - -#: ../src/layout_util.c:1786 -msgid "_Color Management" -msgstr "_Colour Management" - -#: ../src/layout_util.c:1787 -msgid "_Connected Zoom" -msgstr "" - -#: ../src/layout_util.c:1788 -msgid "Spli_t" -msgstr "" - -#: ../src/layout_util.c:1789 -msgid "Stere_o" -msgstr "" - -#: ../src/layout_util.c:1790 ../src/layout_util.c:1928 -msgid "Image _Overlay" -msgstr "" - -#: ../src/layout_util.c:1791 -msgid "_Plugins" -msgstr "" - -#: ../src/layout_util.c:1792 -msgid "_Help" -msgstr "" - -#: ../src/layout_util.c:1794 -msgid "_First Image" -msgstr "" - -#: ../src/layout_util.c:1794 ../src/toolbar.c:74 -msgid "First Image" -msgstr "" - -#: ../src/layout_util.c:1795 ../src/layout_util.c:1796 -#: ../src/layout_util.c:1797 -msgid "_Previous Image" -msgstr "" - -#: ../src/layout_util.c:1795 ../src/layout_util.c:1796 -#: ../src/layout_util.c:1797 ../src/toolbar.c:75 -msgid "Previous Image" -msgstr "" - -#: ../src/layout_util.c:1798 ../src/layout_util.c:1799 -#: ../src/layout_util.c:1800 -msgid "_Next Image" -msgstr "" - -#: ../src/layout_util.c:1798 ../src/layout_util.c:1799 -#: ../src/layout_util.c:1800 ../src/toolbar.c:76 -msgid "Next Image" -msgstr "" - -#: ../src/layout_util.c:1801 -msgid "_Last Image" -msgstr "" - -#: ../src/layout_util.c:1801 ../src/toolbar.c:77 -msgid "Last Image" -msgstr "" - -#: ../src/layout_util.c:1802 -msgid "_Back" -msgstr "" - -#: ../src/layout_util.c:1802 ../src/toolbar.c:78 -msgid "Back" -msgstr "" - -#: ../src/layout_util.c:1803 -msgid "_Forward" -msgstr "" - -#: ../src/layout_util.c:1803 ../src/toolbar.c:79 -msgid "Forward" -msgstr "" - -#: ../src/layout_util.c:1804 -msgid "_Home" -msgstr "" - -#: ../src/layout_util.c:1804 ../src/options.c:203 ../src/toolbar.c:80 -#: ../src/ui_bookmark.c:567 ../src/ui_pathsel.c:1056 -msgid "Home" -msgstr "" - -#: ../src/layout_util.c:1805 -msgid "_Up" -msgstr "" - -#: ../src/layout_util.c:1805 ../src/toolbar.c:81 -msgid "Up" -msgstr "" - -#: ../src/layout_util.c:1807 ../src/toolbar.c:82 -msgid "New _window" -msgstr "" - -#: ../src/layout_util.c:1807 -msgid "New window" -msgstr "" - -#: ../src/layout_util.c:1808 -msgid "_New collection" -msgstr "" - -#: ../src/layout_util.c:1808 ../src/menu.c:439 ../src/toolbar.c:83 -msgid "New collection" -msgstr "" - -#: ../src/layout_util.c:1809 -msgid "_Open collection..." -msgstr "" - -#: ../src/layout_util.c:1809 -msgid "Open collection..." -msgstr "" - -#: ../src/layout_util.c:1810 -msgid "Open recen_t" -msgstr "" - -#: ../src/layout_util.c:1810 -msgid "Open recent" -msgstr "" - -#: ../src/layout_util.c:1811 -msgid "_Search..." -msgstr "" - -#: ../src/layout_util.c:1811 -msgid "Search..." -msgstr "" - -#: ../src/layout_util.c:1812 -msgid "Find duplicates..." -msgstr "" - -#: ../src/layout_util.c:1813 -msgid "Pa_n view" -msgstr "" - -#: ../src/layout_util.c:1813 ../src/toolbar.c:87 -msgid "Pan view" -msgstr "" - -#: ../src/layout_util.c:1814 -msgid "_Print..." -msgstr "" - -#: ../src/layout_util.c:1815 -msgid "N_ew folder..." -msgstr "" - -#: ../src/layout_util.c:1815 -msgid "New folder..." -msgstr "" - -#: ../src/layout_util.c:1816 -msgid "Copy..." -msgstr "" - -#: ../src/layout_util.c:1817 -msgid "Move..." -msgstr "" - -#: ../src/layout_util.c:1818 -msgid "Rename..." -msgstr "" - -#: ../src/layout_util.c:1819 ../src/layout_util.c:1820 -#: ../src/layout_util.c:1821 -msgid "Delete..." -msgstr "" - -#: ../src/layout_util.c:1822 ../src/view_file/view_file.c:640 -msgid "Enable file _grouping" -msgstr "" - -#: ../src/layout_util.c:1822 -msgid "Enable file grouping" -msgstr "" - -#: ../src/layout_util.c:1823 ../src/view_file/view_file.c:642 -msgid "Disable file groupi_ng" -msgstr "" - -#: ../src/layout_util.c:1823 -msgid "Disable file grouping" -msgstr "" - -#: ../src/layout_util.c:1824 -msgid "_Copy path to clipboard" -msgstr "" - -#: ../src/layout_util.c:1824 -msgid "Copy path to clipboard" -msgstr "" - -#: ../src/layout_util.c:1825 -msgid "_Copy path unquoted to clipboard" -msgstr "" - -#: ../src/layout_util.c:1825 -msgid "Copy path unquoted to clipboard" -msgstr "" - -#: ../src/layout_util.c:1826 -msgid "Close window" -msgstr "" - -#: ../src/layout_util.c:1827 -msgid "_Quit" -msgstr "" - -#: ../src/layout_util.c:1827 ../src/toolbar.c:117 -msgid "Quit" -msgstr "" - -#: ../src/layout_util.c:1828 ../src/menu.c:322 -msgid "_Rotate clockwise" -msgstr "" - -#: ../src/layout_util.c:1828 -msgid "Rotate clockwise" -msgstr "" - -#: ../src/layout_util.c:1829 -msgid "_Rating 0" -msgstr "" - -#: ../src/layout_util.c:1829 -msgid "Rating 0" -msgstr "" - -#: ../src/layout_util.c:1830 -msgid "_Rating 1" -msgstr "" - -#: ../src/layout_util.c:1830 -msgid "Rating 1" -msgstr "" - -#: ../src/layout_util.c:1831 -msgid "_Rating 2" -msgstr "" - -#: ../src/layout_util.c:1831 -msgid "Rating 2" -msgstr "" - -#: ../src/layout_util.c:1832 -msgid "_Rating 3" -msgstr "" - -#: ../src/layout_util.c:1832 -msgid "Rating 3" -msgstr "" - -#: ../src/layout_util.c:1833 -msgid "_Rating 4" -msgstr "" - -#: ../src/layout_util.c:1833 -msgid "Rating 4" -msgstr "" - -#: ../src/layout_util.c:1834 -msgid "_Rating 5" -msgstr "" - -#: ../src/layout_util.c:1834 -msgid "Rating 5" -msgstr "" - -#: ../src/layout_util.c:1835 -msgid "_Rating -1" -msgstr "" - -#: ../src/layout_util.c:1835 -msgid "Rating -1" -msgstr "" - -#: ../src/layout_util.c:1836 ../src/menu.c:325 -msgid "Rotate _counterclockwise" -msgstr "" - -#: ../src/layout_util.c:1836 -msgid "Rotate counterclockwise" -msgstr "" - -#: ../src/layout_util.c:1837 -msgid "Rotate 1_80" -msgstr "" - -#: ../src/layout_util.c:1837 -msgid "Rotate 180" -msgstr "" - -#: ../src/layout_util.c:1838 ../src/menu.c:331 -msgid "_Mirror" -msgstr "" - -#: ../src/layout_util.c:1838 -msgid "Mirror" -msgstr "" - -#: ../src/layout_util.c:1839 ../src/menu.c:334 -msgid "_Flip" -msgstr "" - -#: ../src/layout_util.c:1839 -msgid "Flip" -msgstr "" - -#: ../src/layout_util.c:1840 ../src/menu.c:337 -msgid "_Original state" -msgstr "" - -#: ../src/layout_util.c:1840 -msgid "Original state" -msgstr "" - -#: ../src/layout_util.c:1841 -msgid "Select _all" -msgstr "" - -#: ../src/layout_util.c:1842 -msgid "Select _none" -msgstr "" - -#: ../src/layout_util.c:1843 -msgid "_Invert Selection" -msgstr "" - -#: ../src/layout_util.c:1843 -msgid "Invert Selection" -msgstr "" - -#: ../src/layout_util.c:1844 -msgid "P_references..." -msgstr "" - -#: ../src/layout_util.c:1844 -msgid "Preferences..." -msgstr "" - -#: ../src/layout_util.c:1845 -msgid "Configure _Plugins..." -msgstr "" - -#: ../src/layout_util.c:1845 -msgid "Configure Plugins..." -msgstr "" - -#: ../src/layout_util.c:1846 -msgid "_Configure this window..." -msgstr "" - -#: ../src/layout_util.c:1846 -msgid "Configure this window..." -msgstr "" - -#: ../src/layout_util.c:1847 -msgid "_Cache maintenance..." -msgstr "" - -#: ../src/layout_util.c:1847 -msgid "Cache maintenance..." -msgstr "" - -#: ../src/layout_util.c:1848 -msgid "Set as wallpaper" -msgstr "" - -#: ../src/layout_util.c:1849 -msgid "_Save metadata" -msgstr "" - -#: ../src/layout_util.c:1849 -msgid "Save metadata" -msgstr "" - -#: ../src/layout_util.c:1850 ../src/layout_util.c:1851 ../src/toolbar.c:92 -msgid "Zoom in" -msgstr "" - -#: ../src/layout_util.c:1852 ../src/layout_util.c:1853 ../src/toolbar.c:93 -msgid "Zoom out" -msgstr "" - -#: ../src/layout_util.c:1854 ../src/layout_util.c:1855 ../src/toolbar.c:94 -msgid "Zoom 1:1" -msgstr "" - -#: ../src/layout_util.c:1856 ../src/layout_util.c:1857 -#: ../src/layout_util.c:1872 ../src/layout_util.c:1873 -msgid "_Zoom to fit" -msgstr "" - -#: ../src/layout_util.c:1856 ../src/layout_util.c:1857 ../src/toolbar.c:95 -msgid "Zoom to fit" -msgstr "" - -#: ../src/layout_util.c:1858 ../src/layout_util.c:1874 -msgid "Fit _Horizontally" -msgstr "" - #: ../src/layout_util.c:1858 -msgid "Fit Horizontally" -msgstr "" - -#: ../src/layout_util.c:1859 ../src/layout_util.c:1875 -msgid "Fit _Vertically" +msgid "_Go" msgstr "" #: ../src/layout_util.c:1859 -msgid "Fit Vertically" -msgstr "" - -#: ../src/layout_util.c:1860 ../src/layout_util.c:1876 -msgid "Zoom _2:1" -msgstr "" - -#: ../src/layout_util.c:1860 ../src/toolbar.c:98 -msgid "Zoom 2:1" -msgstr "" - -#: ../src/layout_util.c:1861 ../src/layout_util.c:1877 -msgid "Zoom _3:1" -msgstr "" - -#: ../src/layout_util.c:1861 ../src/toolbar.c:99 -msgid "Zoom 3:1" -msgstr "" - -#: ../src/layout_util.c:1862 ../src/layout_util.c:1878 -msgid "Zoom _4:1" -msgstr "" - -#: ../src/layout_util.c:1862 ../src/toolbar.c:100 -msgid "Zoom 4:1" -msgstr "" - -#: ../src/layout_util.c:1863 ../src/layout_util.c:1879 ../src/toolbar.c:101 -msgid "Zoom 1:2" -msgstr "" - -#: ../src/layout_util.c:1864 ../src/layout_util.c:1880 -msgid "Zoom 1:3" -msgstr "" - -#: ../src/layout_util.c:1865 ../src/layout_util.c:1881 ../src/toolbar.c:103 -msgid "Zoom 1:4" -msgstr "" - -#: ../src/layout_util.c:1866 ../src/layout_util.c:1867 ../src/toolbar.c:104 -msgid "Connected Zoom in" -msgstr "" - -#: ../src/layout_util.c:1868 ../src/layout_util.c:1869 -msgid "Connected Zoom out" -msgstr "" - -#: ../src/layout_util.c:1870 ../src/layout_util.c:1871 -msgid "Connected Zoom 1:1" -msgstr "" - -#: ../src/layout_util.c:1872 ../src/layout_util.c:1873 -msgid "Connected Zoom to fit" -msgstr "" - -#: ../src/layout_util.c:1874 -msgid "Connected Fit Horizontally" +msgid "_Edit" +msgstr "" + +#: ../src/layout_util.c:1860 +msgid "_Select" +msgstr "" + +#: ../src/layout_util.c:1861 ../src/menu.c:380 +msgid "_Orientation" +msgstr "" + +#: ../src/layout_util.c:1862 +msgid "_Rating" +msgstr "" + +#: ../src/layout_util.c:1863 +msgid "P_references" +msgstr "" + +#: ../src/layout_util.c:1865 +msgid "_Files and Folders" +msgstr "" + +#: ../src/layout_util.c:1866 +msgid "_Zoom" +msgstr "" + +#: ../src/layout_util.c:1867 +msgid "_Color Management" +msgstr "_Colour Management" + +#: ../src/layout_util.c:1868 +msgid "_Connected Zoom" +msgstr "" + +#: ../src/layout_util.c:1869 +msgid "Spli_t" +msgstr "" + +#: ../src/layout_util.c:1870 +msgid "Stere_o" +msgstr "" + +#: ../src/layout_util.c:1871 ../src/layout_util.c:2012 +msgid "Image _Overlay" +msgstr "" + +#: ../src/layout_util.c:1872 +msgid "_Plugins" +msgstr "" + +#: ../src/layout_util.c:1873 +msgid "_Help" msgstr "" #: ../src/layout_util.c:1875 -msgid "Connected Fit Vertically" -msgstr "" - -#: ../src/layout_util.c:1876 -msgid "Connected Zoom 2:1" -msgstr "" - -#: ../src/layout_util.c:1877 -msgid "Connected Zoom 3:1" -msgstr "" - +msgid "_First Image" +msgstr "" + +#: ../src/layout_util.c:1875 ../src/toolbar.c:74 +msgid "First Image" +msgstr "" + +#: ../src/layout_util.c:1876 ../src/layout_util.c:1877 #: ../src/layout_util.c:1878 -msgid "Connected Zoom 4:1" -msgstr "" - -#: ../src/layout_util.c:1879 -msgid "Connected Zoom 1:2" -msgstr "" - -#: ../src/layout_util.c:1880 -msgid "Connected Zoom 1:3" -msgstr "" - +msgid "_Previous Image" +msgstr "" + +#: ../src/layout_util.c:1876 ../src/layout_util.c:1877 +#: ../src/layout_util.c:1878 ../src/toolbar.c:75 +msgid "Previous Image" +msgstr "" + +#: ../src/layout_util.c:1879 ../src/layout_util.c:1880 #: ../src/layout_util.c:1881 -msgid "Connected Zoom 1:4" +msgid "_Next Image" +msgstr "" + +#: ../src/layout_util.c:1879 ../src/layout_util.c:1880 +#: ../src/layout_util.c:1881 ../src/toolbar.c:76 +msgid "Next Image" msgstr "" #: ../src/layout_util.c:1882 -msgid "_View in new window" -msgstr "" - -#: ../src/layout_util.c:1882 -msgid "View in new window" -msgstr "" - -#: ../src/layout_util.c:1883 ../src/layout_util.c:1884 +msgid "_Last Image" +msgstr "" + +#: ../src/layout_util.c:1882 ../src/toolbar.c:77 +msgid "Last Image" +msgstr "" + +#: ../src/layout_util.c:1883 +msgid "_Back" +msgstr "" + +#: ../src/layout_util.c:1883 ../src/toolbar.c:78 +msgid "Back" +msgstr "" + +#: ../src/layout_util.c:1884 +msgid "_Forward" +msgstr "" + +#: ../src/layout_util.c:1884 ../src/toolbar.c:79 +msgid "Forward" +msgstr "" + #: ../src/layout_util.c:1885 -msgid "F_ull screen" -msgstr "" - -#: ../src/layout_util.c:1886 ../src/layout_util.c:1887 -msgid "_Leave full screen" -msgstr "" - -#: ../src/layout_util.c:1886 ../src/layout_util.c:1887 -msgid "Leave full screen" +msgid "_Home" +msgstr "" + +#: ../src/layout_util.c:1885 ../src/options.c:217 ../src/toolbar.c:80 +#: ../src/ui_bookmark.c:578 ../src/ui_pathsel.c:1056 +msgid "Home" +msgstr "" + +#: ../src/layout_util.c:1886 +msgid "_Up" +msgstr "" + +#: ../src/layout_util.c:1886 ../src/toolbar.c:81 +msgid "Up" +msgstr "" + +#: ../src/layout_util.c:1888 ../src/toolbar.c:82 +msgid "New _window" msgstr "" #: ../src/layout_util.c:1888 -msgid "_Cycle through overlay modes" -msgstr "" - -#: ../src/layout_util.c:1888 -msgid "Cycle through Overlay modes" -msgstr "" - -#: ../src/layout_util.c:1889 -msgid "Cycle through histogram ch_annels" +msgid "New window" msgstr "" #: ../src/layout_util.c:1889 -msgid "Cycle through histogram channels" +msgid "_New collection" +msgstr "" + +#: ../src/layout_util.c:1889 ../src/menu.c:439 ../src/toolbar.c:83 +msgid "New collection" msgstr "" #: ../src/layout_util.c:1890 -msgid "Cycle through histogram mo_des" +msgid "_Open collection..." msgstr "" #: ../src/layout_util.c:1890 -msgid "Cycle through histogram modes" +msgid "Open collection..." +msgstr "" + +#: ../src/layout_util.c:1891 +msgid "Open recen_t" msgstr "" #: ../src/layout_util.c:1891 -msgid "_Hide file list" -msgstr "" - -#: ../src/layout_util.c:1891 ../src/toolbar.c:105 -msgid "Hide file list" +msgid "Open recent" +msgstr "" + +#: ../src/layout_util.c:1892 +msgid "_Search..." msgstr "" #: ../src/layout_util.c:1892 -msgid "_Pause slideshow" -msgstr "" - -#: ../src/layout_util.c:1892 ../src/toolbar.c:106 -msgid "Pause slideshow" +msgid "Search..." msgstr "" #: ../src/layout_util.c:1893 -msgid "Faster" +msgid "Find duplicates..." msgstr "" #: ../src/layout_util.c:1894 -msgid "Slower" +msgid "Pa_n view" +msgstr "" + +#: ../src/layout_util.c:1894 ../src/toolbar.c:93 +msgid "Pan view" msgstr "" #: ../src/layout_util.c:1895 -msgid "_Refresh" -msgstr "" - -#: ../src/layout_util.c:1895 ../src/toolbar.c:109 -msgid "Refresh" +msgid "_Print..." msgstr "" #: ../src/layout_util.c:1896 -msgid "_Contents" +msgid "N_ew folder..." msgstr "" #: ../src/layout_util.c:1896 -msgid "Contents" -msgstr "" - -#: ../src/layout_util.c:1897 ../src/window.c:371 -msgid "On-line help search" +msgid "New folder..." +msgstr "" + +#: ../src/layout_util.c:1897 +msgid "Copy..." msgstr "" #: ../src/layout_util.c:1898 -msgid "_Keyboard shortcuts" -msgstr "" - -#: ../src/layout_util.c:1898 -msgid "Keyboard shortcuts" -msgstr "" - -#: ../src/layout_util.c:1899 -msgid "_Keyboard map" +msgid "Move..." msgstr "" #: ../src/layout_util.c:1899 -msgid "Keyboard map" -msgstr "" - -#: ../src/layout_util.c:1900 -msgid "_Release notes" -msgstr "" - -#: ../src/layout_util.c:1900 -msgid "Release notes" -msgstr "" - -#: ../src/layout_util.c:1901 -msgid "_ChangeLog" -msgstr "" - -#: ../src/layout_util.c:1901 -msgid "ChangeLog notes" -msgstr "" - -#: ../src/layout_util.c:1902 -msgid "_About" -msgstr "" - -#: ../src/layout_util.c:1902 -msgid "About" +msgid "Rename..." msgstr "" #: ../src/layout_util.c:1903 -msgid "_Log Window" -msgstr "" - -#: ../src/layout_util.c:1903 -msgid "Log Window" +msgid "Delete..." +msgstr "" + +#: ../src/layout_util.c:1904 ../src/view_file/view_file.c:648 +msgid "Enable file _grouping" msgstr "" #: ../src/layout_util.c:1904 -msgid "_Exif window" -msgstr "" - -#: ../src/layout_util.c:1904 ../src/toolbar.c:111 -msgid "Exif window" +msgid "Enable file grouping" +msgstr "" + +#: ../src/layout_util.c:1905 ../src/view_file/view_file.c:650 +msgid "Disable file groupi_ng" msgstr "" #: ../src/layout_util.c:1905 -msgid "_Cycle through stereo modes" -msgstr "" - -#: ../src/layout_util.c:1905 -msgid "Cycle through stereo modes" +msgid "Disable file grouping" msgstr "" #: ../src/layout_util.c:1906 -msgid "_Next Pane" +msgid "_Copy path to clipboard" msgstr "" #: ../src/layout_util.c:1906 -msgid "Next Pane" -msgstr "" - -#: ../src/layout_util.c:1907 -msgid "_Previous Pane" +msgid "Copy path to clipboard" msgstr "" #: ../src/layout_util.c:1907 -msgid "Previous Pane" +msgid "_Copy path unquoted to clipboard" +msgstr "" + +#: ../src/layout_util.c:1907 +msgid "Copy path unquoted to clipboard" msgstr "" #: ../src/layout_util.c:1908 -msgid "_Up Pane" -msgstr "" - -#: ../src/layout_util.c:1908 -msgid "Up Pane" +msgid "Close window" msgstr "" #: ../src/layout_util.c:1909 -msgid "_Down Pane" -msgstr "" - -#: ../src/layout_util.c:1909 -msgid "Down Pane" -msgstr "" - -#: ../src/layout_util.c:1910 -msgid "_Write orientation to file" -msgstr "" - -#: ../src/layout_util.c:1910 -msgid "Write orientation to file" +msgid "_Quit" +msgstr "" + +#: ../src/layout_util.c:1909 ../src/toolbar.c:136 +msgid "Quit" +msgstr "" + +#: ../src/layout_util.c:1910 ../src/menu.c:322 +msgid "_Rotate clockwise" +msgstr "" + +#: ../src/layout_util.c:1910 ../src/toolbar.c:103 +msgid "Rotate clockwise" +msgstr "" + +#: ../src/layout_util.c:1911 +msgid "_Rating 0" msgstr "" #: ../src/layout_util.c:1911 -msgid "_Write orientation to file (preserve timestamp)" -msgstr "" - -#: ../src/layout_util.c:1911 -msgid "Write orientation to file (preserve timestamp)" +msgid "Rating 0" +msgstr "" + +#: ../src/layout_util.c:1912 +msgid "_Rating 1" msgstr "" #: ../src/layout_util.c:1912 -msgid "Clear Marks..." +msgid "Rating 1" +msgstr "" + +#: ../src/layout_util.c:1913 +msgid "_Rating 2" +msgstr "" + +#: ../src/layout_util.c:1913 +msgid "Rating 2" +msgstr "" + +#: ../src/layout_util.c:1914 +msgid "_Rating 3" +msgstr "" + +#: ../src/layout_util.c:1914 +msgid "Rating 3" +msgstr "" + +#: ../src/layout_util.c:1915 +msgid "_Rating 4" +msgstr "" + +#: ../src/layout_util.c:1915 +msgid "Rating 4" msgstr "" #: ../src/layout_util.c:1916 -msgid "Show _Thumbnails" +msgid "_Rating 5" msgstr "" #: ../src/layout_util.c:1916 -msgid "Show Thumbnails" -msgstr "" - -#: ../src/layout_util.c:1917 -msgid "Show _Marks" +msgid "Rating 5" msgstr "" #: ../src/layout_util.c:1917 -msgid "Show Marks" -msgstr "" - -#: ../src/layout_util.c:1918 -msgid "Pi_xel Info" -msgstr "" - -#: ../src/layout_util.c:1918 -msgid "Show Pixel Info" +msgid "_Rating -1" +msgstr "" + +#: ../src/layout_util.c:1917 +msgid "Rating -1" +msgstr "" + +#: ../src/layout_util.c:1918 ../src/menu.c:325 +msgid "Rotate _counterclockwise" +msgstr "" + +#: ../src/layout_util.c:1918 ../src/toolbar.c:104 +msgid "Rotate counterclockwise" msgstr "" #: ../src/layout_util.c:1919 -msgid "_Float file list" -msgstr "" - -#: ../src/layout_util.c:1919 ../src/toolbar.c:114 -msgid "Float file list" -msgstr "" - -#: ../src/layout_util.c:1920 -msgid "Hide tool_bar" -msgstr "" - -#: ../src/layout_util.c:1920 -msgid "Hide toolbar" -msgstr "" - -#: ../src/layout_util.c:1921 -msgid "_Info sidebar" -msgstr "" - -#: ../src/layout_util.c:1921 ../src/toolbar.c:115 -msgid "Info sidebar" -msgstr "" - -#: ../src/layout_util.c:1922 -msgid "Sort _manager" -msgstr "" - -#: ../src/layout_util.c:1922 ../src/toolbar.c:116 -msgid "Sort manager" +msgid "Rotate 1_80" +msgstr "" + +#: ../src/layout_util.c:1919 ../src/toolbar.c:105 +msgid "Rotate 180" +msgstr "" + +#: ../src/layout_util.c:1920 ../src/menu.c:331 +msgid "_Mirror" +msgstr "" + +#: ../src/layout_util.c:1920 ../src/toolbar.c:106 +msgid "Mirror" +msgstr "" + +#: ../src/layout_util.c:1921 ../src/menu.c:334 +msgid "_Flip" +msgstr "" + +#: ../src/layout_util.c:1921 ../src/toolbar.c:107 +msgid "Flip" +msgstr "" + +#: ../src/layout_util.c:1922 ../src/menu.c:337 +msgid "_Original state" +msgstr "" + +#: ../src/layout_util.c:1922 ../src/toolbar.c:108 +msgid "Original state" msgstr "" #: ../src/layout_util.c:1923 -msgid "Hide Bars" +msgid "Select _all" msgstr "" #: ../src/layout_util.c:1924 -msgid "Toggle _slideshow" -msgstr "" - -#: ../src/layout_util.c:1924 -msgid "Toggle slideshow" +msgid "Select _none" +msgstr "" + +#: ../src/layout_util.c:1925 +msgid "_Invert Selection" msgstr "" #: ../src/layout_util.c:1925 -msgid "Use _color profiles" -msgstr "Use _colour profiles" - -#: ../src/layout_util.c:1925 -msgid "Use color profiles" -msgstr "Use colour profiles" +msgid "Invert Selection" +msgstr "" #: ../src/layout_util.c:1926 -msgid "Use profile from _image" +msgid "P_references..." msgstr "" #: ../src/layout_util.c:1926 -msgid "Use profile from image" +msgid "Preferences..." msgstr "" #: ../src/layout_util.c:1927 -msgid "Toggle _grayscale" +msgid "Configure _Plugins..." msgstr "" #: ../src/layout_util.c:1927 -msgid "Toggle grayscale" +msgid "Configure Plugins..." +msgstr "" + +#: ../src/layout_util.c:1928 +msgid "_Configure this window..." msgstr "" #: ../src/layout_util.c:1928 -msgid "Image Overlay" +msgid "Configure this window..." msgstr "" #: ../src/layout_util.c:1929 -msgid "_Show Histogram" +msgid "_Cache maintenance..." msgstr "" #: ../src/layout_util.c:1929 -msgid "Show Histogram" +msgid "Cache maintenance..." msgstr "" #: ../src/layout_util.c:1930 -msgid "Rectangular Selection" +msgid "Set as wallpaper" msgstr "" #: ../src/layout_util.c:1931 -msgid "GIF _animation" +msgid "_Save metadata" msgstr "" #: ../src/layout_util.c:1931 -msgid "Toggle GIF animation" +msgid "Save metadata" msgstr "" #: ../src/layout_util.c:1932 -msgid "_Exif rotate" +msgid "Keyword autocomplete" msgstr "" #: ../src/layout_util.c:1932 -msgid "Exif rotate" -msgstr "" - -#: ../src/layout_util.c:1936 -msgid "Image _List" -msgstr "" - -#: ../src/layout_util.c:1936 -msgid "View Images as List" -msgstr "" - -#: ../src/layout_util.c:1937 -msgid "I_cons" -msgstr "" - -#: ../src/layout_util.c:1937 -msgid "View Images as Icons" -msgstr "" - -#: ../src/layout_util.c:1941 -msgid "T_oggle Folder View" +msgid "Keyword Autocomplete" +msgstr "" + +#: ../src/layout_util.c:1933 ../src/layout_util.c:1934 ../src/toolbar.c:109 +msgid "Zoom in" +msgstr "" + +#: ../src/layout_util.c:1935 ../src/layout_util.c:1936 ../src/toolbar.c:110 +msgid "Zoom out" +msgstr "" + +#: ../src/layout_util.c:1937 ../src/layout_util.c:1938 ../src/toolbar.c:111 +msgid "Zoom 1:1" +msgstr "" + +#: ../src/layout_util.c:1939 ../src/layout_util.c:1940 +#: ../src/layout_util.c:1955 ../src/layout_util.c:1956 +msgid "_Zoom to fit" +msgstr "" + +#: ../src/layout_util.c:1939 ../src/layout_util.c:1940 ../src/toolbar.c:112 +msgid "Zoom to fit" +msgstr "" + +#: ../src/layout_util.c:1941 ../src/layout_util.c:1957 +msgid "Fit _Horizontally" msgstr "" #: ../src/layout_util.c:1941 -msgid "Toggle Folders View" -msgstr "" - -#: ../src/layout_util.c:1945 -msgid "_Horizontal" -msgstr "" - -#: ../src/layout_util.c:1945 -msgid "Split Horizontal" -msgstr "" - -#: ../src/layout_util.c:1946 -msgid "_Vertical" -msgstr "" - -#: ../src/layout_util.c:1946 -msgid "Split Vertical" -msgstr "" - -#: ../src/layout_util.c:1947 -msgid "_Quad" -msgstr "" - -#: ../src/layout_util.c:1947 -msgid "Split Quad" -msgstr "" - -#: ../src/layout_util.c:1948 -msgid "_Single" -msgstr "" - -#: ../src/layout_util.c:1948 -msgid "Split Single" -msgstr "" - -#: ../src/layout_util.c:1952 -msgid "Input _0: sRGB" -msgstr "" - -#: ../src/layout_util.c:1952 -msgid "Input 0: sRGB" -msgstr "" - -#: ../src/layout_util.c:1953 -msgid "Input _1: AdobeRGB compatible" -msgstr "" - -#: ../src/layout_util.c:1953 -msgid "Input 1: AdobeRGB compatible" -msgstr "" - -#: ../src/layout_util.c:1954 -msgid "Input _2" -msgstr "" - -#: ../src/layout_util.c:1954 -msgid "Input 2" -msgstr "" - -#: ../src/layout_util.c:1955 -msgid "Input _3" -msgstr "" - -#: ../src/layout_util.c:1955 -msgid "Input 3" -msgstr "" - -#: ../src/layout_util.c:1956 -msgid "Input _4" -msgstr "" - -#: ../src/layout_util.c:1956 -msgid "Input 4" +msgid "Fit Horizontally" +msgstr "" + +#: ../src/layout_util.c:1942 ../src/layout_util.c:1958 +msgid "Fit _Vertically" +msgstr "" + +#: ../src/layout_util.c:1942 +msgid "Fit Vertically" +msgstr "" + +#: ../src/layout_util.c:1943 ../src/layout_util.c:1959 +msgid "Zoom _2:1" +msgstr "" + +#: ../src/layout_util.c:1943 ../src/toolbar.c:115 +msgid "Zoom 2:1" +msgstr "" + +#: ../src/layout_util.c:1944 ../src/layout_util.c:1960 +msgid "Zoom _3:1" +msgstr "" + +#: ../src/layout_util.c:1944 ../src/toolbar.c:116 +msgid "Zoom 3:1" +msgstr "" + +#: ../src/layout_util.c:1945 ../src/layout_util.c:1961 +msgid "Zoom _4:1" +msgstr "" + +#: ../src/layout_util.c:1945 ../src/toolbar.c:117 +msgid "Zoom 4:1" +msgstr "" + +#: ../src/layout_util.c:1946 ../src/layout_util.c:1962 ../src/toolbar.c:118 +msgid "Zoom 1:2" +msgstr "" + +#: ../src/layout_util.c:1947 ../src/layout_util.c:1963 +msgid "Zoom 1:3" +msgstr "" + +#: ../src/layout_util.c:1948 ../src/layout_util.c:1964 ../src/toolbar.c:120 +msgid "Zoom 1:4" +msgstr "" + +#: ../src/layout_util.c:1949 ../src/layout_util.c:1950 ../src/toolbar.c:121 +msgid "Connected Zoom in" +msgstr "" + +#: ../src/layout_util.c:1951 ../src/layout_util.c:1952 +msgid "Connected Zoom out" +msgstr "" + +#: ../src/layout_util.c:1953 ../src/layout_util.c:1954 +msgid "Connected Zoom 1:1" +msgstr "" + +#: ../src/layout_util.c:1955 ../src/layout_util.c:1956 +msgid "Connected Zoom to fit" msgstr "" #: ../src/layout_util.c:1957 -msgid "Input _5" -msgstr "" - -#: ../src/layout_util.c:1957 -msgid "Input 5" +msgid "Connected Fit Horizontally" +msgstr "" + +#: ../src/layout_util.c:1958 +msgid "Connected Fit Vertically" +msgstr "" + +#: ../src/layout_util.c:1959 +msgid "Connected Zoom 2:1" +msgstr "" + +#: ../src/layout_util.c:1960 +msgid "Connected Zoom 3:1" msgstr "" #: ../src/layout_util.c:1961 -msgid "Histogram on Red" +msgid "Connected Zoom 4:1" msgstr "" #: ../src/layout_util.c:1962 -msgid "Histogram on Green" +msgid "Connected Zoom 1:2" msgstr "" #: ../src/layout_util.c:1963 -msgid "Histogram on Blue" +msgid "Connected Zoom 1:3" msgstr "" #: ../src/layout_util.c:1964 -msgid "Histogram on RGB" +msgid "Connected Zoom 1:4" +msgstr "" + +#: ../src/layout_util.c:1965 +msgid "_View in new window" msgstr "" #: ../src/layout_util.c:1965 -msgid "Histogram on Value" -msgstr "" - -#: ../src/layout_util.c:1969 -msgid "Linear Histogram" -msgstr "" - -#: ../src/layout_util.c:1970 -msgid "_Log Histogram" -msgstr "" - -#: ../src/layout_util.c:1970 -msgid "Log Histogram" +msgid "View in new window" +msgstr "" + +#: ../src/layout_util.c:1966 ../src/layout_util.c:1967 +#: ../src/layout_util.c:1968 +msgid "F_ull screen" +msgstr "" + +#: ../src/layout_util.c:1969 ../src/layout_util.c:1970 +msgid "_Leave full screen" +msgstr "" + +#: ../src/layout_util.c:1969 ../src/layout_util.c:1970 +msgid "Leave full screen" +msgstr "" + +#: ../src/layout_util.c:1971 +msgid "_Cycle through overlay modes" +msgstr "" + +#: ../src/layout_util.c:1971 +msgid "Cycle through Overlay modes" +msgstr "" + +#: ../src/layout_util.c:1972 +msgid "Cycle through histogram ch_annels" +msgstr "" + +#: ../src/layout_util.c:1972 +msgid "Cycle through histogram channels" +msgstr "" + +#: ../src/layout_util.c:1973 +msgid "Cycle through histogram mo_des" +msgstr "" + +#: ../src/layout_util.c:1973 +msgid "Cycle through histogram modes" msgstr "" #: ../src/layout_util.c:1974 -msgid "_Auto" -msgstr "" - -#: ../src/layout_util.c:1974 -msgid "Stereo Auto" -msgstr "" - -#: ../src/layout_util.c:1975 -msgid "_Side by Side" +msgid "_Hide file list" +msgstr "" + +#: ../src/layout_util.c:1974 ../src/toolbar.c:122 +msgid "Hide file list" msgstr "" #: ../src/layout_util.c:1975 -msgid "Stereo Side by Side" +msgid "_Pause slideshow" +msgstr "" + +#: ../src/layout_util.c:1975 ../src/toolbar.c:123 +msgid "Pause slideshow" msgstr "" #: ../src/layout_util.c:1976 -msgid "_Cross" -msgstr "" - -#: ../src/layout_util.c:1976 -msgid "Stereo Cross" -msgstr "" - -#: ../src/layout_util.c:1977 -msgid "_Off" +msgid "Faster" msgstr "" #: ../src/layout_util.c:1977 +msgid "Slower" +msgstr "" + +#: ../src/layout_util.c:1978 +msgid "_Refresh" +msgstr "" + +#: ../src/layout_util.c:1978 ../src/toolbar.c:126 +msgid "Refresh" +msgstr "" + +#: ../src/layout_util.c:1979 +msgid "_Contents" +msgstr "" + +#: ../src/layout_util.c:1979 +msgid "Contents" +msgstr "" + +#: ../src/layout_util.c:1980 ../src/window.c:371 +msgid "On-line help search" +msgstr "" + +#: ../src/layout_util.c:1981 +msgid "_Keyboard shortcuts" +msgstr "" + +#: ../src/layout_util.c:1981 +msgid "Keyboard shortcuts" +msgstr "" + +#: ../src/layout_util.c:1982 +msgid "_Keyboard map" +msgstr "" + +#: ../src/layout_util.c:1982 +msgid "Keyboard map" +msgstr "" + +#: ../src/layout_util.c:1983 +msgid "_Release notes" +msgstr "" + +#: ../src/layout_util.c:1983 +msgid "Release notes" +msgstr "" + +#: ../src/layout_util.c:1984 +msgid "_ChangeLog" +msgstr "" + +#: ../src/layout_util.c:1984 +msgid "ChangeLog notes" +msgstr "" + +#: ../src/layout_util.c:1985 +msgid "_About" +msgstr "" + +#: ../src/layout_util.c:1985 +msgid "About" +msgstr "" + +#: ../src/layout_util.c:1986 +msgid "_Log Window" +msgstr "" + +#: ../src/layout_util.c:1986 +msgid "Log Window" +msgstr "" + +#: ../src/layout_util.c:1987 +msgid "_Exif window" +msgstr "" + +#: ../src/layout_util.c:1987 ../src/toolbar.c:128 +msgid "Exif window" +msgstr "" + +#: ../src/layout_util.c:1988 +msgid "_Cycle through stereo modes" +msgstr "" + +#: ../src/layout_util.c:1988 +msgid "Cycle through stereo modes" +msgstr "" + +#: ../src/layout_util.c:1989 +msgid "_Next Pane" +msgstr "" + +#: ../src/layout_util.c:1989 +msgid "Next Pane" +msgstr "" + +#: ../src/layout_util.c:1990 +msgid "_Previous Pane" +msgstr "" + +#: ../src/layout_util.c:1990 +msgid "Previous Pane" +msgstr "" + +#: ../src/layout_util.c:1991 +msgid "_Up Pane" +msgstr "" + +#: ../src/layout_util.c:1991 +msgid "Up Pane" +msgstr "" + +#: ../src/layout_util.c:1992 +msgid "_Down Pane" +msgstr "" + +#: ../src/layout_util.c:1992 +msgid "Down Pane" +msgstr "" + +#: ../src/layout_util.c:1993 +msgid "_Write orientation to file" +msgstr "" + +#: ../src/layout_util.c:1993 +msgid "Write orientation to file" +msgstr "" + +#: ../src/layout_util.c:1994 +msgid "_Write orientation to file (preserve timestamp)" +msgstr "" + +#: ../src/layout_util.c:1994 +msgid "Write orientation to file (preserve timestamp)" +msgstr "" + +#: ../src/layout_util.c:1995 +msgid "Clear Marks..." +msgstr "" + +#: ../src/layout_util.c:1999 +msgid "Show _Thumbnails" +msgstr "" + +#: ../src/layout_util.c:1999 +msgid "Show Thumbnails" +msgstr "" + +#: ../src/layout_util.c:2000 +msgid "Show _Marks" +msgstr "" + +#: ../src/layout_util.c:2000 +msgid "Show Marks" +msgstr "" + +#: ../src/layout_util.c:2001 +msgid "Show File Filter" +msgstr "" + +#: ../src/layout_util.c:2002 +msgid "Pi_xel Info" +msgstr "" + +#: ../src/layout_util.c:2002 +msgid "Show Pixel Info" +msgstr "" + +#: ../src/layout_util.c:2003 +msgid "_Float file list" +msgstr "" + +#: ../src/layout_util.c:2003 ../src/toolbar.c:133 +msgid "Float file list" +msgstr "" + +#: ../src/layout_util.c:2004 +msgid "Hide tool_bar" +msgstr "" + +#: ../src/layout_util.c:2004 +msgid "Hide toolbar" +msgstr "" + +#: ../src/layout_util.c:2005 +msgid "_Info sidebar" +msgstr "" + +#: ../src/layout_util.c:2005 ../src/toolbar.c:134 +msgid "Info sidebar" +msgstr "" + +#: ../src/layout_util.c:2006 +msgid "Sort _manager" +msgstr "" + +#: ../src/layout_util.c:2006 ../src/toolbar.c:135 +msgid "Sort manager" +msgstr "" + +#: ../src/layout_util.c:2007 +msgid "Hide Bars" +msgstr "" + +#: ../src/layout_util.c:2008 +msgid "Toggle _slideshow" +msgstr "" + +#: ../src/layout_util.c:2008 +msgid "Toggle slideshow" +msgstr "" + +#: ../src/layout_util.c:2009 +msgid "Use _color profiles" +msgstr "Use _colour profiles" + +#: ../src/layout_util.c:2009 +msgid "Use color profiles" +msgstr "Use colour profiles" + +#: ../src/layout_util.c:2010 +msgid "Use profile from _image" +msgstr "" + +#: ../src/layout_util.c:2010 +msgid "Use profile from image" +msgstr "" + +#: ../src/layout_util.c:2011 +msgid "Toggle _grayscale" +msgstr "" + +#: ../src/layout_util.c:2011 +msgid "Toggle grayscale" +msgstr "" + +#: ../src/layout_util.c:2012 +msgid "Image Overlay" +msgstr "" + +#: ../src/layout_util.c:2013 +msgid "_Show Histogram" +msgstr "" + +#: ../src/layout_util.c:2013 +msgid "Show Histogram" +msgstr "" + +#: ../src/layout_util.c:2014 +msgid "_Show Guidelines" +msgstr "" + +#: ../src/layout_util.c:2014 +msgid "Show Guidelines" +msgstr "" + +#: ../src/layout_util.c:2015 +msgid "Rectangular Selection" +msgstr "" + +#: ../src/layout_util.c:2016 +msgid "GIF _animation" +msgstr "" + +#: ../src/layout_util.c:2016 +msgid "Toggle GIF animation" +msgstr "" + +#: ../src/layout_util.c:2017 +msgid "_Exif rotate" +msgstr "" + +#: ../src/layout_util.c:2017 +msgid "Exif rotate" +msgstr "" + +#: ../src/layout_util.c:2018 ../src/toolbar.c:132 +msgid "Draw Rectangle" +msgstr "" + +#: ../src/layout_util.c:2022 +msgid "Image _List" +msgstr "" + +#: ../src/layout_util.c:2022 +msgid "View Images as List" +msgstr "" + +#: ../src/layout_util.c:2023 +msgid "I_cons" +msgstr "" + +#: ../src/layout_util.c:2023 +msgid "View Images as Icons" +msgstr "" + +#: ../src/layout_util.c:2027 +msgid "T_oggle Folder View" +msgstr "" + +#: ../src/layout_util.c:2027 +msgid "Toggle Folders View" +msgstr "" + +#: ../src/layout_util.c:2031 +msgid "_Horizontal" +msgstr "" + +#: ../src/layout_util.c:2031 +msgid "Split Horizontal" +msgstr "" + +#: ../src/layout_util.c:2032 +msgid "_Vertical" +msgstr "" + +#: ../src/layout_util.c:2032 +msgid "Split Vertical" +msgstr "" + +#: ../src/layout_util.c:2033 +msgid "_Quad" +msgstr "" + +#: ../src/layout_util.c:2033 +msgid "Split Quad" +msgstr "" + +#: ../src/layout_util.c:2034 +msgid "_Single" +msgstr "" + +#: ../src/layout_util.c:2034 +msgid "Split Single" +msgstr "" + +#: ../src/layout_util.c:2038 +msgid "Input _0: sRGB" +msgstr "" + +#: ../src/layout_util.c:2038 +msgid "Input 0: sRGB" +msgstr "" + +#: ../src/layout_util.c:2039 +msgid "Input _1: AdobeRGB compatible" +msgstr "" + +#: ../src/layout_util.c:2039 +msgid "Input 1: AdobeRGB compatible" +msgstr "" + +#: ../src/layout_util.c:2040 +msgid "Input _2" +msgstr "" + +#: ../src/layout_util.c:2040 +msgid "Input 2" +msgstr "" + +#: ../src/layout_util.c:2041 +msgid "Input _3" +msgstr "" + +#: ../src/layout_util.c:2041 +msgid "Input 3" +msgstr "" + +#: ../src/layout_util.c:2042 +msgid "Input _4" +msgstr "" + +#: ../src/layout_util.c:2042 +msgid "Input 4" +msgstr "" + +#: ../src/layout_util.c:2043 +msgid "Input _5" +msgstr "" + +#: ../src/layout_util.c:2043 +msgid "Input 5" +msgstr "" + +#: ../src/layout_util.c:2047 +msgid "Histogram on Red" +msgstr "" + +#: ../src/layout_util.c:2048 +msgid "Histogram on Green" +msgstr "" + +#: ../src/layout_util.c:2049 +msgid "Histogram on Blue" +msgstr "" + +#: ../src/layout_util.c:2050 +msgid "Histogram on RGB" +msgstr "" + +#: ../src/layout_util.c:2051 +msgid "Histogram on Value" +msgstr "" + +#: ../src/layout_util.c:2055 +msgid "Linear Histogram" +msgstr "" + +#: ../src/layout_util.c:2056 +msgid "_Log Histogram" +msgstr "" + +#: ../src/layout_util.c:2056 +msgid "Log Histogram" +msgstr "" + +#: ../src/layout_util.c:2060 +msgid "_Auto" +msgstr "" + +#: ../src/layout_util.c:2060 +msgid "Stereo Auto" +msgstr "" + +#: ../src/layout_util.c:2061 +msgid "_Side by Side" +msgstr "" + +#: ../src/layout_util.c:2061 +msgid "Stereo Side by Side" +msgstr "" + +#: ../src/layout_util.c:2062 +msgid "_Cross" +msgstr "" + +#: ../src/layout_util.c:2062 +msgid "Stereo Cross" +msgstr "" + +#: ../src/layout_util.c:2063 +msgid "_Off" +msgstr "" + +#: ../src/layout_util.c:2063 msgid "Stereo Off" msgstr "" -#: ../src/layout_util.c:2290 +#: ../src/layout_util.c:2384 #, c-format msgid "Mark _%d" msgstr "" -#: ../src/layout_util.c:2291 ../src/view_file/view_file.c:574 +#: ../src/layout_util.c:2385 ../src/view_file/view_file.c:575 #, c-format msgid "_Set mark %d" msgstr "" -#: ../src/layout_util.c:2291 +#: ../src/layout_util.c:2385 #, c-format msgid "Set mark %d" msgstr "" -#: ../src/layout_util.c:2292 ../src/view_file/view_file.c:575 +#: ../src/layout_util.c:2386 ../src/view_file/view_file.c:576 #, c-format msgid "_Reset mark %d" msgstr "" -#: ../src/layout_util.c:2292 +#: ../src/layout_util.c:2386 #, c-format msgid "Reset mark %d" msgstr "" -#: ../src/layout_util.c:2293 ../src/layout_util.c:2294 -#: ../src/view_file/view_file.c:576 +#: ../src/layout_util.c:2387 ../src/layout_util.c:2388 +#: ../src/view_file/view_file.c:577 #, c-format msgid "_Toggle mark %d" msgstr "" -#: ../src/layout_util.c:2293 ../src/layout_util.c:2294 +#: ../src/layout_util.c:2387 ../src/layout_util.c:2388 #, c-format msgid "Toggle mark %d" msgstr "" -#: ../src/layout_util.c:2295 +#: ../src/layout_util.c:2389 #, c-format msgid "Se_lect mark %d" msgstr "" -#: ../src/layout_util.c:2295 ../src/layout_util.c:2296 +#: ../src/layout_util.c:2389 ../src/layout_util.c:2390 #, c-format msgid "Select mark %d" msgstr "" -#: ../src/layout_util.c:2296 ../src/view_file/view_file.c:577 +#: ../src/layout_util.c:2390 ../src/view_file/view_file.c:578 #, c-format msgid "_Select mark %d" msgstr "" -#: ../src/layout_util.c:2297 ../src/view_file/view_file.c:578 +#: ../src/layout_util.c:2391 ../src/view_file/view_file.c:579 #, c-format msgid "_Add mark %d" msgstr "" -#: ../src/layout_util.c:2297 +#: ../src/layout_util.c:2391 #, c-format msgid "Add mark %d" msgstr "" -#: ../src/layout_util.c:2298 ../src/view_file/view_file.c:579 +#: ../src/layout_util.c:2392 ../src/view_file/view_file.c:580 #, c-format msgid "_Intersection with mark %d" msgstr "" -#: ../src/layout_util.c:2298 +#: ../src/layout_util.c:2392 #, c-format msgid "Intersection with mark %d" msgstr "" -#: ../src/layout_util.c:2299 ../src/view_file/view_file.c:580 +#: ../src/layout_util.c:2393 ../src/view_file/view_file.c:581 #, c-format msgid "_Unselect mark %d" msgstr "" -#: ../src/layout_util.c:2299 +#: ../src/layout_util.c:2393 #, c-format msgid "Unselect mark %d" msgstr "" -#: ../src/layout_util.c:2300 +#: ../src/layout_util.c:2394 #, c-format msgid "_Filter mark %d" msgstr "" -#: ../src/layout_util.c:2300 +#: ../src/layout_util.c:2394 #, c-format msgid "Filter mark %d" msgstr "" -#: ../src/layout_util.c:2854 +#: ../src/layout_util.c:2966 #, c-format msgid "Number of files with unsaved metadata: %d" msgstr "" -#: ../src/layout_util.c:2860 +#: ../src/layout_util.c:2972 msgid "No unsaved metadata" msgstr "" -#: ../src/layout_util.c:2907 +#: ../src/layout_util.c:3019 #, c-format msgid "" "Image profile: %s\n" "Screen profile: %s" msgstr "" -#: ../src/layout_util.c:2915 +#: ../src/layout_util.c:3027 msgid "Click to enable color management" msgstr "Click to enable colour management" -#: ../src/layout_util.c:2920 +#: ../src/layout_util.c:3032 msgid "Color profiles not supported" msgstr "Colour profiles not supported" -#: ../src/layout_util.c:2942 +#: ../src/layout_util.c:3054 #, c-format msgid "Input _%d: %s" msgstr "" @@ -3511,7 +3611,7 @@ msgid "Log" msgstr "" -#: ../src/logwindow.c:172 ../src/preferences.c:2636 +#: ../src/logwindow.c:172 ../src/preferences.c:3218 msgid "Debug level:" msgstr "" @@ -3642,7 +3742,7 @@ msgid "Collections have been modified. Quit anyway?" msgstr "" -#: ../src/main.c:973 ../src/remote.c:790 +#: ../src/main.c:973 ../src/remote.c:847 msgid "Command line" msgstr "" @@ -3694,7 +3794,7 @@ msgid "Zoom to original size" msgstr "" -#: ../src/menu.c:245 ../src/preferences.c:1936 +#: ../src/menu.c:245 ../src/preferences.c:1955 msgid "Fit image to window" msgstr "" @@ -3702,7 +3802,7 @@ msgid "Leave Zoom at previous setting" msgstr "" -#: ../src/menu.c:303 ../src/preferences.c:1917 +#: ../src/menu.c:303 ../src/preferences.c:1936 ../src/preferences.c:2066 msgid "Zoom" msgstr "" @@ -3798,7 +3898,7 @@ msgid "Sea" msgstr "" -#: ../src/metadata.c:1733 ../src/print.c:385 +#: ../src/metadata.c:1733 msgid "Landscape" msgstr "" @@ -3934,7 +4034,7 @@ msgid "Macro" msgstr "" -#: ../src/metadata.c:1769 ../src/print.c:384 +#: ../src/metadata.c:1769 msgid "Portrait" msgstr "" @@ -3946,12 +4046,12 @@ msgid "Perspective" msgstr "" -#: ../src/options.c:205 ../src/ui_bookmark.c:578 +#: ../src/options.c:219 ../src/ui_bookmark.c:589 msgid "Desktop" msgstr "" -#: ../src/options.c:226 ../src/search.c:2140 ../src/search.c:2144 -#: ../src/search.c:3258 ../src/search.c:3262 ../src/view_file/view_file.c:820 +#: ../src/options.c:240 ../src/search.c:2230 ../src/search.c:2234 +#: ../src/search.c:3382 ../src/search.c:3386 ../src/view_file/view_file.c:828 msgid "Mark " msgstr "" @@ -3977,140 +4077,141 @@ msgid "Sorting images..." msgstr "" -#: ../src/pan-view/pan-view.c:1408 ../src/print.c:2609 +#: ../src/pan-view/pan-view.c:1412 msgid "Filename:" msgstr "" -#: ../src/pan-view/pan-view.c:1410 ../src/pan-view/pan-view.c:1823 -#: ../src/preferences.c:2034 +#: ../src/pan-view/pan-view.c:1414 ../src/pan-view/pan-view.c:1827 +#: ../src/preferences.c:2050 msgid "Location:" msgstr "" -#: ../src/pan-view/pan-view.c:1412 ../src/pan-view/pan-view-search.c:377 +#: ../src/pan-view/pan-view.c:1416 ../src/pan-view/pan-view-search.c:377 msgid "Date:" msgstr "" -#: ../src/pan-view/pan-view.c:1414 ../src/preferences.c:1717 -#: ../src/print.c:3222 ../src/print.c:3427 +#: ../src/pan-view/pan-view.c:1418 ../src/preferences.c:1724 msgid "Size:" msgstr "" -#: ../src/pan-view/pan-view.c:1721 ../src/search.c:2560 +#: ../src/pan-view/pan-view.c:1725 ../src/search.c:2680 msgid "Folder not found" msgstr "" -#: ../src/pan-view/pan-view.c:1722 +#: ../src/pan-view/pan-view.c:1726 msgid "The entered path is not a folder" msgstr "" -#: ../src/pan-view/pan-view.c:1807 +#: ../src/pan-view/pan-view.c:1811 msgid "Pan View" msgstr "" -#: ../src/pan-view/pan-view.c:1830 -msgid "Timeline" -msgstr "" - -#: ../src/pan-view/pan-view.c:1831 -msgid "Calendar" -msgstr "" - -#: ../src/pan-view/pan-view.c:1833 -msgid "Folders (flower)" -msgstr "" - #: ../src/pan-view/pan-view.c:1834 +msgid "Timeline" +msgstr "" + +#: ../src/pan-view/pan-view.c:1835 +msgid "Calendar" +msgstr "" + +#: ../src/pan-view/pan-view.c:1837 +msgid "Folders (flower)" +msgstr "" + +#: ../src/pan-view/pan-view.c:1838 msgid "Grid" msgstr "" -#: ../src/pan-view/pan-view.c:1843 -msgid "Dots" -msgstr "" - -#: ../src/pan-view/pan-view.c:1844 -msgid "No Images" -msgstr "" - -#: ../src/pan-view/pan-view.c:1845 -msgid "Small Thumbnails" -msgstr "" - -#: ../src/pan-view/pan-view.c:1846 -msgid "Normal Thumbnails" -msgstr "" - #: ../src/pan-view/pan-view.c:1847 +msgid "Dots" +msgstr "" + +#: ../src/pan-view/pan-view.c:1848 +msgid "No Images" +msgstr "" + +#: ../src/pan-view/pan-view.c:1849 +msgid "Small Thumbnails" +msgstr "" + +#: ../src/pan-view/pan-view.c:1850 +msgid "Normal Thumbnails" +msgstr "" + +#: ../src/pan-view/pan-view.c:1851 msgid "Large Thumbnails" msgstr "" -#: ../src/pan-view/pan-view.c:1848 ../src/pan-view/pan-view.c:2349 +#: ../src/pan-view/pan-view.c:1852 ../src/pan-view/pan-view.c:2376 msgid "1:10 (10%)" msgstr "" -#: ../src/pan-view/pan-view.c:1849 ../src/pan-view/pan-view.c:2345 +#: ../src/pan-view/pan-view.c:1853 ../src/pan-view/pan-view.c:2372 msgid "1:4 (25%)" msgstr "" -#: ../src/pan-view/pan-view.c:1850 ../src/pan-view/pan-view.c:2341 +#: ../src/pan-view/pan-view.c:1854 ../src/pan-view/pan-view.c:2368 msgid "1:3 (33%)" msgstr "" -#: ../src/pan-view/pan-view.c:1851 ../src/pan-view/pan-view.c:2337 +#: ../src/pan-view/pan-view.c:1855 ../src/pan-view/pan-view.c:2364 msgid "1:2 (50%)" msgstr "" -#: ../src/pan-view/pan-view.c:1852 +#: ../src/pan-view/pan-view.c:1856 msgid "1:1 (100%)" msgstr "" -#: ../src/pan-view/pan-view.c:1998 +#: ../src/pan-view/pan-view.c:2002 msgid "Pan View Performance" msgstr "" -#: ../src/pan-view/pan-view.c:2005 +#: ../src/pan-view/pan-view.c:2009 msgid "Pan view performance may be poor." msgstr "" -#: ../src/pan-view/pan-view.c:2006 +#: ../src/pan-view/pan-view.c:2010 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/pan-view.c:2014 ../src/preferences.c:1720 +"To improve the performance of thumbnails in\n" +"pan view the following options can be enabled.\n" +"\n" +"Note that both options must be enabled to\n" +"notice a change in performance." +msgstr "" + +#: ../src/pan-view/pan-view.c:2016 ../src/preferences.c:1727 msgid "Cache thumbnails" msgstr "" -#: ../src/pan-view/pan-view.c:2016 +#: ../src/pan-view/pan-view.c:2018 msgid "Use shared thumbnail cache" msgstr "" -#: ../src/pan-view/pan-view.c:2022 +#: ../src/pan-view/pan-view.c:2024 msgid "Do not show this dialog again" msgstr "Do not show this dialogue again" -#: ../src/pan-view/pan-view.c:2271 ../src/search.c:1091 +#: ../src/pan-view/pan-view.c:2290 ../src/search.c:1103 msgid "_Play" msgstr "" -#: ../src/pan-view/pan-view.c:2317 +#: ../src/pan-view/pan-view.c:2344 msgid "Sort by E_xif date" msgstr "" -#: ../src/pan-view/pan-view.c:2323 +#: ../src/pan-view/pan-view.c:2350 msgid "_Show Exif information" msgstr "" -#: ../src/pan-view/pan-view.c:2325 +#: ../src/pan-view/pan-view.c:2352 msgid "Show im_age" msgstr "" -#: ../src/pan-view/pan-view.c:2329 +#: ../src/pan-view/pan-view.c:2356 msgid "_None" msgstr "" -#: ../src/pan-view/pan-view.c:2333 +#: ../src/pan-view/pan-view.c:2360 msgid "_Full size" msgstr "" @@ -4150,7 +4251,7 @@ msgid "Keyword Filter:" msgstr "" -#: ../src/pan-view/pan-view-filter.c:105 ../src/preferences.c:2198 +#: ../src/pan-view/pan-view-filter.c:105 ../src/preferences.c:2406 msgid "Filter" msgstr "" @@ -4182,271 +4283,297 @@ msgid "no match" msgstr "" -#: ../src/preferences.c:108 ../src/search.c:3243 +#: ../src/preferences.c:115 ../src/search.c:3367 msgid "Unknown" msgstr "" -#: ../src/preferences.c:110 +#: ../src/preferences.c:117 msgid "RAW Image" msgstr "" -#: ../src/preferences.c:112 ../src/search.c:2098 ../src/search.c:3241 +#: ../src/preferences.c:119 ../src/search.c:2188 ../src/search.c:3365 msgid "Video" msgstr "" -#: ../src/preferences.c:570 +#: ../src/preferences.c:120 ../src/preferences.c:2068 +msgid "Collection" +msgstr "" + +#: ../src/preferences.c:121 +msgid "Pdf" +msgstr "" + +#: ../src/preferences.c:589 msgid "Nearest (worst, but fastest)" msgstr "" -#: ../src/preferences.c:572 +#: ../src/preferences.c:591 msgid "Tiles" msgstr "" -#: ../src/preferences.c:574 +#: ../src/preferences.c:593 msgid "Bilinear" msgstr "" -#: ../src/preferences.c:576 +#: ../src/preferences.c:595 msgid "Hyper (best, but slowest)" msgstr "" -#: ../src/preferences.c:601 +#: ../src/preferences.c:620 msgid "PRIMARY" msgstr "" -#: ../src/preferences.c:603 +#: ../src/preferences.c:622 msgid "CLIPBOARD" msgstr "" -#: ../src/preferences.c:668 ../src/print.c:390 +#: ../src/preferences.c:687 msgid "Custom" msgstr "" -#: ../src/preferences.c:751 +#: ../src/preferences.c:770 msgid "Single image" msgstr "" -#: ../src/preferences.c:753 -msgid "Anaglyph Red-Cyan" -msgstr "" - -#: ../src/preferences.c:755 -msgid "Anaglyph Green-Magenta" -msgstr "" - -#: ../src/preferences.c:757 -msgid "Anaglyph Yellow-Blue" -msgstr "" - -#: ../src/preferences.c:759 -msgid "Anaglyph Gray Red-Cyan" -msgstr "" - -#: ../src/preferences.c:761 -msgid "Anaglyph Gray Green-Magenta" -msgstr "" - -#: ../src/preferences.c:763 -msgid "Anaglyph Gray Yellow-Blue" -msgstr "" - -#: ../src/preferences.c:765 -msgid "Anaglyph Dubois Red-Cyan" -msgstr "" - -#: ../src/preferences.c:767 -msgid "Anaglyph Dubois Green-Magenta" -msgstr "" - -#: ../src/preferences.c:769 -msgid "Anaglyph Dubois Yellow-Blue" -msgstr "" - #: ../src/preferences.c:772 -msgid "Side by Side" -msgstr "" - -#: ../src/preferences.c:773 -msgid "Side by Side Half size" +msgid "Anaglyph Red-Cyan" +msgstr "" + +#: ../src/preferences.c:774 +msgid "Anaglyph Green-Magenta" +msgstr "" + +#: ../src/preferences.c:776 +msgid "Anaglyph Yellow-Blue" +msgstr "" + +#: ../src/preferences.c:778 +msgid "Anaglyph Gray Red-Cyan" msgstr "" #: ../src/preferences.c:780 +msgid "Anaglyph Gray Green-Magenta" +msgstr "" + +#: ../src/preferences.c:782 +msgid "Anaglyph Gray Yellow-Blue" +msgstr "" + +#: ../src/preferences.c:784 +msgid "Anaglyph Dubois Red-Cyan" +msgstr "" + +#: ../src/preferences.c:786 +msgid "Anaglyph Dubois Green-Magenta" +msgstr "" + +#: ../src/preferences.c:788 +msgid "Anaglyph Dubois Yellow-Blue" +msgstr "" + +#: ../src/preferences.c:791 +msgid "Side by Side" +msgstr "" + +#: ../src/preferences.c:792 +msgid "Side by Side Half size" +msgstr "" + +#: ../src/preferences.c:799 msgid "Top - Bottom" msgstr "" -#: ../src/preferences.c:781 +#: ../src/preferences.c:800 msgid "Top - Bottom Half size" msgstr "" -#: ../src/preferences.c:790 ../src/preferences.c:2827 +#: ../src/preferences.c:809 ../src/preferences.c:3409 msgid "Fixed position" msgstr "" -#: ../src/preferences.c:1129 ../src/preferences.c:1132 +#: ../src/preferences.c:1148 ../src/preferences.c:1151 msgid "Reset filters" msgstr "" -#: ../src/preferences.c:1133 +#: ../src/preferences.c:1152 msgid "" "This will reset the file filters to the defaults.\n" "Continue?" msgstr "" -#: ../src/preferences.c:1160 ../src/preferences.c:1163 +#: ../src/preferences.c:1179 ../src/preferences.c:1182 msgid "Clear trash" msgstr "Clear Rubbish Bin" -#: ../src/preferences.c:1164 +#: ../src/preferences.c:1183 msgid "This will remove the trash contents." msgstr "This will remove the Rubbish Bin contents." -#: ../src/preferences.c:1208 ../src/preferences.c:1211 +#: ../src/preferences.c:1227 ../src/preferences.c:1230 msgid "Reset image overlay template string" msgstr "" -#: ../src/preferences.c:1212 +#: ../src/preferences.c:1231 msgid "" "This will reset the image overlay template string to the default.\n" "Continue?" msgstr "" -#: ../src/preferences.c:1712 +#: ../src/preferences.c:1719 msgid "General" msgstr "" -#: ../src/preferences.c:1718 ../src/preferences.c:1920 +#: ../src/preferences.c:1725 ../src/preferences.c:1939 msgid "Quality:" msgstr "" -#: ../src/preferences.c:1726 +#: ../src/preferences.c:1735 msgid "Use Geeqie thumbnail style and cache" msgstr "" -#: ../src/preferences.c:1733 +#: ../src/preferences.c:1742 msgid "Store thumbnails local to image folder (non-standard)" msgstr "" -#: ../src/preferences.c:1740 +#: ../src/preferences.c:1749 msgid "Use standard thumbnail style and cache, shared with other applications" msgstr "" -#: ../src/preferences.c:1746 +#: ../src/preferences.c:1755 msgid "Use EXIF thumbnails when available (EXIF thumbnails may be outdated)" msgstr "" -#: ../src/preferences.c:1750 +#: ../src/preferences.c:1758 +msgid "Collection preview:" +msgstr "" + +#: ../src/preferences.c:1761 +msgid "The maximum number of thumbnails shown in a Collection preview montage" +msgstr "" + +#: ../src/preferences.c:1764 msgid "Use embedded metadata in video files as thumbnails when available" msgstr "" -#: ../src/preferences.c:1757 +#: ../src/preferences.c:1771 msgid "Star Rating" msgstr "" -#: ../src/preferences.c:1773 ../src/preferences.c:1805 +#: ../src/preferences.c:1787 ../src/preferences.c:1819 msgid "Set" msgstr "" -#: ../src/preferences.c:1775 ../src/preferences.c:1807 +#: ../src/preferences.c:1789 ../src/preferences.c:1821 msgid "Display selected character" msgstr "" -#: ../src/preferences.c:1778 ../src/preferences.c:1810 +#: ../src/preferences.c:1792 ../src/preferences.c:1824 msgid "" "Hexadecimal representation of a Unicode character. A list of all Unicode " "characters may be found on the Internet." msgstr "" -#: ../src/preferences.c:1782 ../src/preferences.c:1814 -#: ../src/preferences.c:1894 ../src/window.c:397 +#: ../src/preferences.c:1796 ../src/preferences.c:1828 +#: ../src/preferences.c:1913 ../src/window.c:397 msgid "Clear" msgstr "" -#: ../src/preferences.c:1786 ../src/preferences.c:1818 -#: ../src/preferences.c:1898 +#: ../src/preferences.c:1800 ../src/preferences.c:1832 +#: ../src/preferences.c:1917 msgid "Default" msgstr "" -#: ../src/preferences.c:1826 +#: ../src/preferences.c:1840 msgid "Slide show" msgstr "" -#: ../src/preferences.c:1837 +#: ../src/preferences.c:1851 msgid "Delay between image change hrs:mins:secs.dec" msgstr "" -#: ../src/preferences.c:1853 -msgid "Random" -msgstr "" - -#: ../src/preferences.c:1854 -msgid "Repeat" -msgstr "" - -#: ../src/preferences.c:1856 -msgid "Image loading and caching" -msgstr "" - -#: ../src/preferences.c:1858 -msgid "Decoded image cache size (Mb):" -msgstr "" - -#: ../src/preferences.c:1860 -msgid "Preload next image" -msgstr "" - -#: ../src/preferences.c:1863 -msgid "Refresh on file change" -msgstr "" - -#: ../src/preferences.c:1866 -msgid "Info sidebar heights" -msgstr "" - #: ../src/preferences.c:1867 +msgid "Random" +msgstr "" + +#: ../src/preferences.c:1868 +msgid "Repeat" +msgstr "" + +#: ../src/preferences.c:1870 +msgid "Image loading and caching" +msgstr "" + +#: ../src/preferences.c:1872 +msgid "Decoded image cache size (Mb):" +msgstr "" + +#: ../src/preferences.c:1874 +msgid "Preload next image" +msgstr "" + +#: ../src/preferences.c:1877 +msgid "Refresh on file change" +msgstr "" + +#: ../src/preferences.c:1880 +msgid "Info sidebar heights" +msgstr "" + +#: ../src/preferences.c:1881 msgid "NOTE! Geeqie must be restarted for changes to take effect" msgstr "" -#: ../src/preferences.c:1869 +#: ../src/preferences.c:1883 msgid "Keywords:" msgstr "" -#: ../src/preferences.c:1875 -msgid "Comment:" -msgstr "" - -#: ../src/preferences.c:1878 -msgid "Rating:" -msgstr "" - -#: ../src/preferences.c:1882 -msgid "On-line help search engine" -msgstr "" - #: ../src/preferences.c:1889 +msgid "Comment:" +msgstr "" + +#: ../src/preferences.c:1892 +msgid "Rating:" +msgstr "" + +#: ../src/preferences.c:1896 +msgid "Show predefined keyword tree" +msgstr "" + +#: ../src/preferences.c:1898 +msgid "" +"Show predefined keyword tree (NOTE! Geeqie must be restarted for change to " +"take effect)" +msgstr "" + +#: ../src/preferences.c:1901 +msgid "On-line help search engine" +msgstr "" + +#: ../src/preferences.c:1908 msgid "" "The format varies between search engines, e.g the format may be:\n" "https://www.search_engine.com/search?q=site:geeqie.org/help\n" "https://www.search_engine.com/?q=site:geeqie.org/help" msgstr "" -#: ../src/preferences.c:1923 +#: ../src/preferences.c:1942 msgid "Use GPU acceleration via Clutter library" msgstr "" -#: ../src/preferences.c:1927 +#: ../src/preferences.c:1946 msgid "Two pass rendering (apply HQ zoom and color correction in second pass)" msgstr "" "Two pass rendering (apply HQ zoom and colour correction in second pass)" -#: ../src/preferences.c:1931 +#: ../src/preferences.c:1950 msgid "Zoom increment:" msgstr "" -#: ../src/preferences.c:1939 +#: ../src/preferences.c:1958 msgid "Allow enlargement of image (max. size in %)" msgstr "" -#: ../src/preferences.c:1945 +#: ../src/preferences.c:1964 #, c-format msgid "" "Enable this to allow Geeqie to increase the image size for images that are " @@ -4455,12 +4582,12 @@ "100% is full-size." msgstr "" -#: ../src/preferences.c:1948 +#: ../src/preferences.c:1967 #, c-format msgid "Virtual window size (% of actual window):" msgstr "" -#: ../src/preferences.c:1954 +#: ../src/preferences.c:1973 msgid "" "This value will set the virtual size of the window when \"Fit image to window" "\" is set. Instead of using the actual size of the window, the specified " @@ -4469,822 +4596,656 @@ "than 100%). It affects fullscreen mode too." msgstr "" -#: ../src/preferences.c:1956 +#: ../src/preferences.c:1975 msgid "Appearance" msgstr "" -#: ../src/preferences.c:1958 +#: ../src/preferences.c:1977 msgid "Use custom border color in window mode" msgstr "Use custom border colour in window mode" -#: ../src/preferences.c:1961 +#: ../src/preferences.c:1980 msgid "Use custom border color in fullscreen mode" msgstr "Use custom border colour in fullscreen mode" -#: ../src/preferences.c:1964 +#: ../src/preferences.c:1983 msgid "Border color" msgstr "Border colour" -#: ../src/preferences.c:1969 +#: ../src/preferences.c:1988 msgid "Alpha channel color 1" msgstr "Alpha channel colour 1" -#: ../src/preferences.c:1972 +#: ../src/preferences.c:1991 msgid "Alpha channel color 2" msgstr "Alpha channel colour 2" -#: ../src/preferences.c:1978 +#: ../src/preferences.c:1997 msgid "Convenience" msgstr "" -#: ../src/preferences.c:1980 -msgid "Auto rotate proofs using Exif information" -msgstr "" - -#: ../src/preferences.c:1997 -msgid "Windows" -msgstr "" - #: ../src/preferences.c:1999 +msgid "Auto rotate proofs using Exif information" +msgstr "" + +#: ../src/preferences.c:2013 +msgid "Windows" +msgstr "" + +#: ../src/preferences.c:2015 msgid "State" msgstr "" -#: ../src/preferences.c:2001 +#: ../src/preferences.c:2017 msgid "Remember window positions" msgstr "" -#: ../src/preferences.c:2004 +#: ../src/preferences.c:2020 msgid "Use saved window positions also for new windows" msgstr "" -#: ../src/preferences.c:2008 +#: ../src/preferences.c:2024 msgid "Remember tool state (float/hidden)" msgstr "" -#: ../src/preferences.c:2011 +#: ../src/preferences.c:2027 msgid "Remember dialog window positions" msgstr "Remember dialogue window positions" -#: ../src/preferences.c:2014 +#: ../src/preferences.c:2030 msgid "Show window IDs" msgstr "" -#: ../src/preferences.c:2019 +#: ../src/preferences.c:2035 msgid "Fit window to image when tools are hidden/floating" msgstr "" -#: ../src/preferences.c:2023 +#: ../src/preferences.c:2039 msgid "Limit size when auto-sizing window (%):" msgstr "" -#: ../src/preferences.c:2038 +#: ../src/preferences.c:2054 msgid "Smooth image flip" msgstr "" -#: ../src/preferences.c:2040 +#: ../src/preferences.c:2056 msgid "Disable screen saver" msgstr "" -#: ../src/preferences.c:2044 -msgid "Overlay Screen Display" -msgstr "" - -#: ../src/preferences.c:2046 -msgid "Image overlay template" -msgstr "" - -#: ../src/preferences.c:2059 -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" -"<i>%rating%</i>, <i>%keywords%</i>, <i>%comment%</i> (XMP), <i>%imagecomment" -"%</i> (JPEG)\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:2077 ../src/print.c:3220 -msgid "Font" -msgstr "" - -#: ../src/preferences.c:2089 ../src/print.c:3410 -msgid "Text" +#: ../src/preferences.c:2069 +msgid "Collection number" +msgstr "" + +#: ../src/preferences.c:2070 +msgid "Collection total" +msgstr "" + +#: ../src/preferences.c:2077 +msgid "Image date" +msgstr "" + +#: ../src/preferences.c:2079 +msgid "ShutterSpeed" +msgstr "" + +#: ../src/preferences.c:2085 +msgid "ISO" +msgstr "" + +#: ../src/preferences.c:2087 +msgid "Focal len. 35mm" +msgstr "" + +#: ../src/preferences.c:2091 +msgid "Lat, Long" +msgstr "" + +#: ../src/preferences.c:2092 +msgid "Altitude" msgstr "" #: ../src/preferences.c:2094 -msgid "Background" -msgstr "" - -#: ../src/preferences.c:2100 ../src/preferences.c:2278 -#: ../src/preferences.c:2740 -msgid "Defaults" -msgstr "" - -#: ../src/preferences.c:2154 -msgid "Show hidden files or folders" -msgstr "" - -#: ../src/preferences.c:2156 -msgid "Show parent folder (..)" -msgstr "" - -#: ../src/preferences.c:2158 -msgid "Case sensitive sort" -msgstr "" - -#: ../src/preferences.c:2160 -msgid "Natural sort order" -msgstr "" - -#: ../src/preferences.c:2162 -msgid "Disable file extension checks" -msgstr "" - -#: ../src/preferences.c:2165 -msgid "Disable File Filtering" -msgstr "" - -#: ../src/preferences.c:2169 -msgid "Grouping sidecar extensions" -msgstr "" - -#: ../src/preferences.c:2176 -msgid "File types" +msgid "Timezone" +msgstr "" + +#: ../src/preferences.c:2186 +msgid "OSD" +msgstr "" + +#: ../src/preferences.c:2190 +msgid "Overlay Screen Display" +msgstr "" + +#: ../src/preferences.c:2197 +msgid "" +"To include predefined tags in the template, click a button or drag-and-drop" +msgstr "" + +#: ../src/preferences.c:2222 +msgid "Image overlay template" msgstr "" #: ../src/preferences.c:2233 -msgid "Class" -msgstr "" - -#: ../src/preferences.c:2250 -msgid "Writable" -msgstr "" - -#: ../src/preferences.c:2261 -msgid "Sidecar is allowed" -msgstr "" - -#: ../src/preferences.c:2307 -msgid "Metadata writing process" -msgstr "" - -#: ../src/preferences.c:2309 -msgid "Warning: Geeqie is built without Exiv2. Some options are disabled." -msgstr "" - -#: ../src/preferences.c:2311 -msgid "" -"Metadata are written in the following order. The process ends after first " -"success." -msgstr "" - -#: ../src/preferences.c:2314 -msgid "" -"1) Save metadata in image files, or sidecar files, according to the XMP " -"standard" -msgstr "" - -#: ../src/preferences.c:2320 +msgid "Extensive formatting options are shown in the Help file" +msgstr "" + +#: ../src/preferences.c:2241 ../src/print.c:428 ../src/print.c:491 +msgid "Font" +msgstr "" + +#: ../src/preferences.c:2253 +msgid "Text" +msgstr "" + +#: ../src/preferences.c:2258 +msgid "Background" +msgstr "" + +#: ../src/preferences.c:2264 ../src/preferences.c:2486 +#: ../src/preferences.c:3322 +msgid "Defaults" +msgstr "" + +#: ../src/preferences.c:2281 +msgid "Exif, XMP or IPTC tags" +msgstr "" + +#: ../src/preferences.c:2285 +msgid "%Exif.Image.Orientation%" +msgstr "" + +#: ../src/preferences.c:2290 +msgid "Field separators" +msgstr "" + +#: ../src/preferences.c:2294 msgid "" -"2) Save metadata in '.metadata' folder, local to image folder (non-standard)" -msgstr "" - -#: ../src/preferences.c:2323 -#, c-format -msgid "3) Save metadata in Geeqie private directory '%s'" -msgstr "" - -#: ../src/preferences.c:2329 -msgid "Step 1: Write to image files" -msgstr "" - -#: ../src/preferences.c:2337 +"Separator shown only if both fields are non-null:\n" +"%formatted.ShutterSpeed%|%formatted.ISOSpeedRating%" +msgstr "" + +#: ../src/preferences.c:2299 +msgid "Field maximum length" +msgstr "" + +#: ../src/preferences.c:2303 +msgid "%path:39%" +msgstr "" + +#: ../src/preferences.c:2308 +msgid "Pre- and post- text" +msgstr "" + +#: ../src/preferences.c:2312 msgid "" -"Store metadata also in legacy IPTC tags (converted according to IPTC4XMP " -"standard)" -msgstr "" - -#: ../src/preferences.c:2340 -msgid "Warn if the image files are unwritable" -msgstr "" - -#: ../src/preferences.c:2343 -msgid "Ask before writing to image files" -msgstr "" - -#: ../src/preferences.c:2346 -msgid "Create sidecar files named image.ext.xmp (as opposed to image.xmp)" -msgstr "" - -#: ../src/preferences.c:2349 -msgid "Step 2 and 3: write to Geeqie private files" -msgstr "" - -#: ../src/preferences.c:2354 +"Text shown only if the field is non-null:\n" +"%formatted.Aperture:F no. * setting%\n" +" %formatted.Aperture:10:F no. * setting%" +msgstr "" + +#: ../src/preferences.c:2317 +msgid "Pango markup" +msgstr "" + +#: ../src/preferences.c:2321 msgid "" -"Use GQview legacy metadata format (supports only keywords and comments) " -"instead of XMP" -msgstr "" - -#: ../src/preferences.c:2358 -msgid "Miscellaneous" -msgstr "" - -#: ../src/preferences.c:2359 -msgid "" -"Write the same description tags (keywords, comment, etc.) to all grouped " -"sidecars" +"<b>bold</b>\n" +"<u>underline</u>\n" +"<i>italic</i>\n" +"<s>strikethrough</s>" msgstr "" #: ../src/preferences.c:2362 -msgid "Allow keywords to differ only in case" -msgstr "" - -#: ../src/preferences.c:2365 -msgid "Write altered image orientation to the metadata" -msgstr "" - -#: ../src/preferences.c:2371 -msgid "Auto-save options" +msgid "Show hidden files or folders" +msgstr "" + +#: ../src/preferences.c:2364 +msgid "Show parent folder (..)" +msgstr "" + +#: ../src/preferences.c:2366 +msgid "Case sensitive sort" +msgstr "" + +#: ../src/preferences.c:2368 +msgid "Natural sort order" +msgstr "" + +#: ../src/preferences.c:2370 +msgid "Disable file extension checks" msgstr "" #: ../src/preferences.c:2373 -msgid "Write metadata after timeout" -msgstr "" - -#: ../src/preferences.c:2379 -msgid "Timeout (seconds):" -msgstr "" - -#: ../src/preferences.c:2382 -msgid "Write metadata on image change" -msgstr "" - -#: ../src/preferences.c:2385 -msgid "Write metadata on directory change" -msgstr "" - -#: ../src/preferences.c:2388 -msgid "Pre-load metadata" -msgstr "" - -#: ../src/preferences.c:2390 -msgid "Read metadata in background" -msgstr "" - -#: ../src/preferences.c:2431 -msgid "Perceptual" -msgstr "" - -#: ../src/preferences.c:2433 -msgid "Relative Colorimetric" -msgstr "Relative Colourimetric" - -#: ../src/preferences.c:2437 -msgid "Absolute Colorimetric" -msgstr "Absolute Colourimetric" - -#: ../src/preferences.c:2462 -msgid "Color management" -msgstr "Colour management" - -#: ../src/preferences.c:2464 -msgid "Input profiles" -msgstr "" - -#: ../src/preferences.c:2472 -msgid "Type" -msgstr "" - -#: ../src/preferences.c:2475 -msgid "Menu name" -msgstr "" - -#: ../src/preferences.c:2478 -msgid "File" -msgstr "" - -#: ../src/preferences.c:2486 -#, c-format -msgid "Input %d:" -msgstr "" - -#: ../src/preferences.c:2502 ../src/preferences.c:2522 -msgid "Select color profile" -msgstr "Select colour profile" - -#: ../src/preferences.c:2510 -msgid "Screen profile" -msgstr "" - -#: ../src/preferences.c:2514 -msgid "Use system screen profile if available" +msgid "Disable File Filtering" +msgstr "" + +#: ../src/preferences.c:2377 +msgid "Grouping sidecar extensions" +msgstr "" + +#: ../src/preferences.c:2384 +msgid "File types" +msgstr "" + +#: ../src/preferences.c:2441 +msgid "Class" +msgstr "" + +#: ../src/preferences.c:2458 +msgid "Writable" +msgstr "" + +#: ../src/preferences.c:2469 +msgid "Sidecar is allowed" +msgstr "" + +#: ../src/preferences.c:2515 +msgid "Metadata writing process" +msgstr "" + +#: ../src/preferences.c:2517 +msgid "Warning: Geeqie is built without Exiv2. Some options are disabled." msgstr "" #: ../src/preferences.c:2519 -msgid "Screen:" -msgstr "" - -#: ../src/preferences.c:2525 -msgid "Render Intent:" -msgstr "" - -#: ../src/preferences.c:2548 ../src/preferences.c:2589 -msgid "Behavior" -msgstr "Behaviour" - -#: ../src/preferences.c:2550 ../src/utilops.c:2180 -msgid "Delete" -msgstr "" - -#: ../src/preferences.c:2552 -msgid "Confirm file delete" +msgid "" +"Metadata are written in the following order. The process ends after first " +"success." +msgstr "" + +#: ../src/preferences.c:2522 +msgid "" +"1) Save metadata in image files, or sidecar files, according to the XMP " +"standard" +msgstr "" + +#: ../src/preferences.c:2528 +msgid "" +"2) Save metadata in '.metadata' folder, local to image folder (non-standard)" +msgstr "" + +#: ../src/preferences.c:2531 +#, c-format +msgid "3) Save metadata in Geeqie private directory '%s'" +msgstr "" + +#: ../src/preferences.c:2537 +msgid "Step 1: Write to image files" +msgstr "" + +#: ../src/preferences.c:2545 +msgid "" +"Store metadata also in legacy IPTC tags (converted according to IPTC4XMP " +"standard)" +msgstr "" + +#: ../src/preferences.c:2548 +msgid "Warn if the image files are unwritable" +msgstr "" + +#: ../src/preferences.c:2551 +msgid "Ask before writing to image files" msgstr "" #: ../src/preferences.c:2554 -msgid "Enable Delete key" +msgid "Create sidecar files named image.ext.xmp (as opposed to image.xmp)" msgstr "" #: ../src/preferences.c:2557 -msgid "Safe delete" -msgstr "" - -#: ../src/preferences.c:2575 +msgid "Step 2 and 3: write to Geeqie private files" +msgstr "" + +#: ../src/preferences.c:2562 +msgid "" +"Use GQview legacy metadata format (supports only keywords and comments) " +"instead of XMP" +msgstr "" + +#: ../src/preferences.c:2566 +msgid "Miscellaneous" +msgstr "" + +#: ../src/preferences.c:2567 +msgid "" +"Write the same description tags (keywords, comment, etc.) to all grouped " +"sidecars" +msgstr "" + +#: ../src/preferences.c:2570 +msgid "Allow keywords to differ only in case" +msgstr "" + +#: ../src/preferences.c:2573 +msgid "Write altered image orientation to the metadata" +msgstr "" + +#: ../src/preferences.c:2579 +msgid "Auto-save options" +msgstr "" + +#: ../src/preferences.c:2581 +msgid "Write metadata after timeout" +msgstr "" + +#: ../src/preferences.c:2587 +msgid "Timeout (seconds):" +msgstr "" + +#: ../src/preferences.c:2590 +msgid "Write metadata on image change" +msgstr "" + +#: ../src/preferences.c:2593 +msgid "Write metadata on directory change" +msgstr "" + +#: ../src/preferences.c:2596 +msgid "Pre-load metadata" +msgstr "" + +#: ../src/preferences.c:2598 +msgid "Read metadata in background" +msgstr "" + +#: ../src/preferences.c:2787 ../src/preferences.c:2801 +msgid "Search for keywords" +msgstr "" + +#: ../src/preferences.c:2899 +msgid "Edit keywords autocompletion list" +msgstr "" + +#: ../src/preferences.c:2903 ../src/toolbar.c:85 +msgid "Search" +msgstr "" + +#: ../src/preferences.c:2982 +msgid "Perceptual" +msgstr "" + +#: ../src/preferences.c:2984 +msgid "Relative Colorimetric" +msgstr "Relative Colourimetric" + +#: ../src/preferences.c:2988 +msgid "Absolute Colorimetric" +msgstr "Absolute Colourimetric" + +#: ../src/preferences.c:3013 +msgid "Color management" +msgstr "Colour management" + +#: ../src/preferences.c:3015 +msgid "Input profiles" +msgstr "" + +#: ../src/preferences.c:3023 +msgid "Type" +msgstr "" + +#: ../src/preferences.c:3026 +msgid "Menu name" +msgstr "" + +#: ../src/preferences.c:3029 +msgid "File" +msgstr "" + +#: ../src/preferences.c:3037 +#, c-format +msgid "Input %d:" +msgstr "" + +#: ../src/preferences.c:3053 ../src/preferences.c:3073 +msgid "Select color profile" +msgstr "Select colour profile" + +#: ../src/preferences.c:3061 +msgid "Screen profile" +msgstr "" + +#: ../src/preferences.c:3065 +msgid "Use system screen profile if available" +msgstr "" + +#: ../src/preferences.c:3070 +msgid "Screen:" +msgstr "" + +#: ../src/preferences.c:3076 +msgid "Render Intent:" +msgstr "" + +#: ../src/preferences.c:3116 ../src/preferences.c:3163 +msgid "Behavior" +msgstr "Behaviour" + +#: ../src/preferences.c:3118 ../src/toolbar.c:91 ../src/utilops.c:2188 +msgid "Delete" +msgstr "" + +#: ../src/preferences.c:3120 +msgid "Confirm permanent file delete" +msgstr "" + +#: ../src/preferences.c:3122 +msgid "Confirm move file to Trash" +msgstr "Confirm file move to Rubbish bin" + +#: ../src/preferences.c:3124 +msgid "Enable Delete key" +msgstr "" + +#: ../src/preferences.c:3127 +msgid "Use Geeqie trash location" +msgstr "Use Geeqie Rubbish bin location" + +#: ../src/preferences.c:3145 msgid "Maximum size:" msgstr "" -#: ../src/preferences.c:2575 +#: ../src/preferences.c:3145 msgid "MB" msgstr "" -#: ../src/preferences.c:2577 +#: ../src/preferences.c:3147 msgid "Set to 0 for unlimited size" msgstr "" -#: ../src/preferences.c:2578 +#: ../src/preferences.c:3148 msgid "View" msgstr "" -#: ../src/preferences.c:2591 +#: ../src/preferences.c:3156 +msgid "Use system Trash bin" +msgstr "Use system Rubbish bin" + +#: ../src/preferences.c:3165 msgid "Descend folders in tree view" msgstr "" -#: ../src/preferences.c:2594 +#: ../src/preferences.c:3168 msgid "In place renaming" msgstr "" -#: ../src/preferences.c:2597 +#: ../src/preferences.c:3171 msgid "List directory view uses single click to enter" msgstr "" -#: ../src/preferences.c:2600 +#: ../src/preferences.c:3174 msgid "Save marks on exit" msgstr "" -#: ../src/preferences.c:2604 +#: ../src/preferences.c:3178 msgid "Use \"With Rename\" as default for Copy/Move dialogs" msgstr "Use \"With Rename\" as default for Copy/Move dialogues" -#: ../src/preferences.c:2608 +#: ../src/preferences.c:3182 +msgid "Open collections on top" +msgstr "" + +#: ../src/preferences.c:3186 msgid "Recent folder list maximum size" msgstr "" -#: ../src/preferences.c:2611 +#: ../src/preferences.c:3189 msgid "Drag'n drop icon size" msgstr "" -#: ../src/preferences.c:2615 +#: ../src/preferences.c:3193 msgid "Copy path clipboard selection:" msgstr "" -#: ../src/preferences.c:2617 +#: ../src/preferences.c:3197 msgid "Navigation" msgstr "" -#: ../src/preferences.c:2619 +#: ../src/preferences.c:3199 msgid "Progressive keyboard scrolling" msgstr "" -#: ../src/preferences.c:2621 +#: ../src/preferences.c:3201 msgid "Keyboard scrolling step multiplier:" msgstr "" -#: ../src/preferences.c:2623 +#: ../src/preferences.c:3203 msgid "Mouse wheel scrolls image" msgstr "" -#: ../src/preferences.c:2625 +#: ../src/preferences.c:3205 msgid "Navigation by left or middle click on image" msgstr "" -#: ../src/preferences.c:2627 +#: ../src/preferences.c:3207 msgid "Play video by left click on image" msgstr "" -#: ../src/preferences.c:2630 +#: ../src/preferences.c:3210 msgid "Play with:" msgstr "" -#: ../src/preferences.c:2634 +#: ../src/preferences.c:3216 msgid "Debugging" msgstr "" -#: ../src/preferences.c:2639 +#: ../src/preferences.c:3221 msgid "Timer data" msgstr "" -#: ../src/preferences.c:2642 +#: ../src/preferences.c:3224 msgid "Log Window max. lines:" msgstr "" -#: ../src/preferences.c:2660 +#: ../src/preferences.c:3242 msgid "Keyboard" msgstr "" -#: ../src/preferences.c:2662 +#: ../src/preferences.c:3244 msgid "Accelerators" msgstr "" -#: ../src/preferences.c:2681 +#: ../src/preferences.c:3263 msgid "Action" msgstr "" -#: ../src/preferences.c:2703 +#: ../src/preferences.c:3285 msgid "KEY" msgstr "" -#: ../src/preferences.c:2714 +#: ../src/preferences.c:3296 msgid "Tooltip" msgstr "" -#: ../src/preferences.c:2745 +#: ../src/preferences.c:3327 msgid "Reset selected" msgstr "" -#: ../src/preferences.c:2760 +#: ../src/preferences.c:3342 msgid "Toolbar" msgstr "" -#: ../src/preferences.c:2777 +#: ../src/preferences.c:3359 msgid "Stereo" msgstr "" -#: ../src/preferences.c:2779 ../src/preferences.c:2782 +#: ../src/preferences.c:3361 ../src/preferences.c:3364 msgid "Windowed stereo mode" msgstr "" -#: ../src/preferences.c:2786 ../src/preferences.c:2811 +#: ../src/preferences.c:3368 ../src/preferences.c:3393 msgid "Mirror left image" msgstr "" -#: ../src/preferences.c:2789 ../src/preferences.c:2814 +#: ../src/preferences.c:3371 ../src/preferences.c:3396 msgid "Flip left image" msgstr "" -#: ../src/preferences.c:2792 ../src/preferences.c:2817 +#: ../src/preferences.c:3374 ../src/preferences.c:3399 msgid "Mirror right image" msgstr "" -#: ../src/preferences.c:2795 ../src/preferences.c:2820 +#: ../src/preferences.c:3377 ../src/preferences.c:3402 msgid "Flip right image" msgstr "" -#: ../src/preferences.c:2797 ../src/preferences.c:2822 +#: ../src/preferences.c:3379 ../src/preferences.c:3404 msgid "Swap left and right images" msgstr "" -#: ../src/preferences.c:2799 ../src/preferences.c:2824 +#: ../src/preferences.c:3381 ../src/preferences.c:3406 msgid "Disable stereo mode on single image source" msgstr "" -#: ../src/preferences.c:2802 ../src/preferences.c:2808 +#: ../src/preferences.c:3384 ../src/preferences.c:3390 msgid "Fullscreen stereo mode" msgstr "" -#: ../src/preferences.c:2803 +#: ../src/preferences.c:3385 msgid "Use different settings for fullscreen" msgstr "" -#: ../src/preferences.c:2833 +#: ../src/preferences.c:3415 msgid "Left X" msgstr "" -#: ../src/preferences.c:2835 +#: ../src/preferences.c:3417 msgid "Left Y" msgstr "" -#: ../src/preferences.c:2837 +#: ../src/preferences.c:3419 msgid "Right X" msgstr "" -#: ../src/preferences.c:2839 +#: ../src/preferences.c:3421 msgid "Right Y" msgstr "" -#: ../src/preferences.c:2855 ../src/toolbar.c:89 +#: ../src/preferences.c:3437 ../src/toolbar.c:100 msgid "Preferences" msgstr "" -#: ../src/preferences.c:3004 +#: ../src/preferences.c:3589 msgid "About Geeqie" msgstr "" -#: ../src/preferences.c:3014 +#: ../src/preferences.c:3599 msgid "translator-credits" msgstr "" -#: ../src/print.c:134 -msgid "Selection" -msgstr "" - -#: ../src/print.c:135 -msgid "All" -msgstr "" - -#: ../src/print.c:146 -msgid "One image per page" -msgstr "" - -#: ../src/print.c:147 -msgid "Proof sheet" -msgstr "" - -#: ../src/print.c:160 -msgid "Default printer" -msgstr "" - -#: ../src/print.c:161 -msgid "Custom printer" -msgstr "" - -#: ../src/print.c:162 -msgid "PostScript file" -msgstr "" - -#: ../src/print.c:163 -msgid "Image file" -msgstr "" - -#: ../src/print.c:177 -msgid "jpeg, low quality" -msgstr "" - -#: ../src/print.c:178 -msgid "jpeg, normal quality" -msgstr "" - -#: ../src/print.c:179 -msgid "jpeg, high quality" -msgstr "" - -#: ../src/print.c:375 ../src/print.c:3222 -msgid "points" -msgstr "" - -#: ../src/print.c:376 -msgid "millimeters" -msgstr "millimetres" - -#: ../src/print.c:377 -msgid "centimeters" -msgstr "centimetres" - -#: ../src/print.c:378 -msgid "inches" -msgstr "" - -#: ../src/print.c:379 -msgid "picas" -msgstr "" - -#: ../src/print.c:391 -msgid "Letter" -msgstr "" - -#. in 8.5 x 11 -#: ../src/print.c:392 -msgid "Legal" -msgstr "" - -#. in 8.5 x 14 -#: ../src/print.c:393 -msgid "Executive" -msgstr "" - -#. in 7.25x 10.5 -#. mm 841 x 1189 -#. mm 594 x 841 -#. mm 420 x 594 -#. mm 297 x 420 -#. mm 210 x 297 -#. mm 148 x 210 -#. mm 105 x 148 -#. mm 353 x 500 -#. mm 250 x 353 -#. mm 176 x 250 -#. mm 125 x 176 -#: ../src/print.c:405 -msgid "Envelope #10" -msgstr "" - -#. in 4.125 x 9.5 -#: ../src/print.c:406 -msgid "Envelope #9" -msgstr "" - -#. in 3.875 x 8.875 -#: ../src/print.c:407 -msgid "Envelope C4" -msgstr "" - -#. mm 229 x 324 -#: ../src/print.c:408 -msgid "Envelope C5" -msgstr "" - -#. mm 162 x 229 -#: ../src/print.c:409 -msgid "Envelope C6" -msgstr "" - -#. mm 114 x 162 -#: ../src/print.c:410 -msgid "Photo 6x4" -msgstr "" - -#. in 6 x 4 -#: ../src/print.c:411 -msgid "Photo 8x10" -msgstr "" - -#. in 8 x 10 -#: ../src/print.c:412 -msgid "Postcard" -msgstr "" - -#. mm 100 x 148 -#: ../src/print.c:413 -msgid "Tabloid" -msgstr "" - -#: ../src/print.c:569 -#, c-format -msgid "page %d of %d" -msgstr "" - -#: ../src/print.c:761 -msgid "Preview" -msgstr "" - -#: ../src/print.c:1069 -#, c-format -msgid "" -"Unable to open pipe for writing.\n" -"\"%s\"" -msgstr "" - -#: ../src/print.c:1084 ../src/print.c:1476 ../src/ui_pathsel.c:432 -#, c-format -msgid "A file with name %s already exists." -msgstr "" - -#: ../src/print.c:1099 ../src/print.c:1531 -#, c-format -msgid "Failure writing to file %s" -msgstr "" - -#: ../src/print.c:1154 ../src/print.c:1191 ../src/print.c:1227 -#: ../src/print.c:1344 ../src/print.c:1417 -msgid "SIGPIPE error writing to printer." -msgstr "" - -#: ../src/print.c:1952 -#, c-format -msgid "Page %d" -msgstr "" - -#: ../src/print.c:1974 ../src/print.c:1979 -msgid "Printing error" -msgstr "" - -#: ../src/print.c:1978 -#, c-format -msgid "An error occurred printing to %s." -msgstr "" - -#: ../src/print.c:1982 -msgid "Details" -msgstr "" - -#: ../src/print.c:2597 ../src/print.c:3351 ../src/toolbar.c:88 -msgid "Print" -msgstr "" - -#: ../src/print.c:2601 -#, c-format -msgid "Printing %d pages to %s." -msgstr "" - -#: ../src/print.c:2701 -msgid "Format:" -msgstr "" - -#: ../src/print.c:2776 -msgid "Units:" -msgstr "" - -#: ../src/print.c:2820 -msgid "Orientation:" -msgstr "" - -#: ../src/print.c:2952 -msgid "Destination:" -msgstr "" - -#: ../src/print.c:3000 -msgid "<printer name>" -msgstr "" - -#: ../src/print.c:3089 -msgid "Unlimited" -msgstr "" - -#: ../src/print.c:3207 -msgid "Show" -msgstr "" - -#: ../src/print.c:3378 -msgid "Source" -msgstr "" - -#: ../src/print.c:3390 -msgid "Image size:" -msgstr "" - -#: ../src/print.c:3394 -msgid "Proof size:" -msgstr "" - -#: ../src/print.c:3420 -msgid "Paper" -msgstr "" - -#: ../src/print.c:3443 -msgid "Margins" -msgstr "" - -#: ../src/print.c:3445 -msgid "Left:" -msgstr "" - -#: ../src/print.c:3448 -msgid "Right:" -msgstr "" - -#: ../src/print.c:3451 -msgid "Top:" -msgstr "" - -#: ../src/print.c:3454 -msgid "Bottom:" -msgstr "" - -#: ../src/print.c:3463 -msgid "Printer" -msgstr "" - -#: ../src/print.c:3469 -msgid "Custom printer:" -msgstr "" - -#: ../src/print.c:3478 -msgid "File:" -msgstr "" - -#: ../src/print.c:3487 -msgid "File format:" -msgstr "" - -#: ../src/print.c:3492 -msgid "DPI:" -msgstr "" - -#: ../src/print.c:3500 -msgid "Remember print settings" +#: ../src/print.c:386 +msgid "Image text" +msgstr "" + +#: ../src/print.c:388 +msgid "Show image text" +msgstr "" + +#: ../src/print.c:442 +msgid "Page text" +msgstr "" + +#: ../src/print.c:444 +msgid "Show page text" msgstr "" #: ../src/rcfile.c:91 @@ -5292,12 +5253,12 @@ msgid "Option %s ignored: %s\n" msgstr "" -#: ../src/rcfile.c:560 +#: ../src/rcfile.c:608 #, c-format msgid "error saving config file: %s\n" msgstr "" -#: ../src/rcfile.c:621 +#: ../src/rcfile.c:672 #, c-format msgid "" "error saving config file: %s\n" @@ -5309,417 +5270,430 @@ msgid "[%d,%d]: RGB(%3d,%3d,%3d)" msgstr "" -#: ../src/remote.c:834 ../src/remote.c:839 +#: ../src/remote.c:708 +#, c-format +msgid "%dx%d+%d+%d" +msgstr "" + +#: ../src/remote.c:891 ../src/remote.c:896 msgid "lua error: no data" msgstr "" #. short, long callback, extra, prefer, parameter, description -#: ../src/remote.c:862 +#: ../src/remote.c:919 msgid "next image" msgstr "" -#: ../src/remote.c:863 +#: ../src/remote.c:920 msgid "previous image" msgstr "" -#: ../src/remote.c:864 +#: ../src/remote.c:921 msgid "first image" msgstr "" -#: ../src/remote.c:865 +#: ../src/remote.c:922 msgid "last image" msgstr "" -#: ../src/remote.c:866 +#: ../src/remote.c:923 msgid "toggle full screen" msgstr "" -#: ../src/remote.c:867 +#: ../src/remote.c:924 msgid "start full screen" msgstr "" -#: ../src/remote.c:868 +#: ../src/remote.c:925 msgid "stop full screen" msgstr "" -#: ../src/remote.c:869 +#: ../src/remote.c:926 msgid "toggle slide show" msgstr "" -#: ../src/remote.c:870 +#: ../src/remote.c:927 msgid "start slide show" msgstr "" -#: ../src/remote.c:871 +#: ../src/remote.c:928 msgid "stop slide show" msgstr "" -#: ../src/remote.c:872 +#: ../src/remote.c:929 msgid "<FOLDER>" msgstr "" -#: ../src/remote.c:872 +#: ../src/remote.c:929 msgid "start recursive slide show in FOLDER" msgstr "" -#: ../src/remote.c:873 +#: ../src/remote.c:930 msgid "<[H:][M:][N][.M]>" msgstr "" -#: ../src/remote.c:873 +#: ../src/remote.c:930 msgid "set slide show delay to Hrs Mins N.M seconds" msgstr "" -#: ../src/remote.c:874 +#: ../src/remote.c:931 msgid "show tools" msgstr "" -#: ../src/remote.c:875 +#: ../src/remote.c:932 msgid "hide tools" msgstr "" -#: ../src/remote.c:876 +#: ../src/remote.c:933 msgid "quit" msgstr "" -#: ../src/remote.c:877 ../src/remote.c:878 ../src/remote.c:879 -#: ../src/remote.c:880 ../src/remote.c:881 ../src/remote.c:884 -#: ../src/remote.c:886 +#: ../src/remote.c:934 ../src/remote.c:935 ../src/remote.c:936 +#: ../src/remote.c:937 ../src/remote.c:938 ../src/remote.c:943 +#: ../src/remote.c:945 msgid "<FILE>" msgstr "" -#: ../src/remote.c:877 +#: ../src/remote.c:934 msgid "load configuration from FILE" msgstr "" -#: ../src/remote.c:878 +#: ../src/remote.c:935 msgid "get list of sidecars of FILE" msgstr "" -#: ../src/remote.c:879 +#: ../src/remote.c:936 msgid "get destination path of FILE" msgstr "" -#: ../src/remote.c:880 +#: ../src/remote.c:937 msgid "open FILE, bring Geeqie window to the top" msgstr "" -#: ../src/remote.c:881 +#: ../src/remote.c:938 msgid "open FILE, do not bring Geeqie window to the top" msgstr "" -#: ../src/remote.c:882 +#: ../src/remote.c:939 msgid "print filename of current image" msgstr "" -#: ../src/remote.c:883 +#: ../src/remote.c:940 msgid "print pixel info of mouse pointer on current image" msgstr "" -#: ../src/remote.c:884 +#: ../src/remote.c:941 +msgid "get rectangle co-ordinates" +msgstr "" + +#: ../src/remote.c:942 +msgid "get render intent" +msgstr "" + +#: ../src/remote.c:943 msgid "open FILE in new window" msgstr "" -#: ../src/remote.c:885 +#: ../src/remote.c:944 msgid "clear command line collection list" msgstr "" -#: ../src/remote.c:886 +#: ../src/remote.c:945 msgid "add FILE to command line collection list" msgstr "" -#: ../src/remote.c:887 +#: ../src/remote.c:946 msgid "bring the Geeqie window to the top" msgstr "" -#: ../src/remote.c:888 +#: ../src/remote.c:947 msgid "<ID>" msgstr "" -#: ../src/remote.c:888 +#: ../src/remote.c:947 msgid "window id for following commands" msgstr "" -#: ../src/remote.c:889 +#: ../src/remote.c:948 msgid "new window" msgstr "" -#: ../src/remote.c:890 +#: ../src/remote.c:949 msgid "close window" msgstr "" -#: ../src/remote.c:891 ../src/remote.c:892 +#: ../src/remote.c:950 ../src/remote.c:951 msgid "clear|clean" msgstr "" -#: ../src/remote.c:891 +#: ../src/remote.c:950 msgid "clear or clean thumbnail cache" msgstr "" -#: ../src/remote.c:892 +#: ../src/remote.c:951 msgid "clear or clean shared thumbnail cache" msgstr "" -#: ../src/remote.c:893 +#: ../src/remote.c:952 msgid " clean the metadata cache" msgstr "" -#: ../src/remote.c:894 +#: ../src/remote.c:953 msgid "<folder> " msgstr "" -#: ../src/remote.c:894 +#: ../src/remote.c:953 msgid " render thumbnails" msgstr "" -#: ../src/remote.c:895 ../src/remote.c:896 +#: ../src/remote.c:954 ../src/remote.c:955 msgid "<folder> " msgstr "" -#: ../src/remote.c:895 +#: ../src/remote.c:954 msgid "render thumbnails recursively" msgstr "" -#: ../src/remote.c:896 +#: ../src/remote.c:955 msgid " render thumbnails (see Help)" msgstr "" -#: ../src/remote.c:897 +#: ../src/remote.c:956 msgid "<folder>" msgstr "" -#: ../src/remote.c:897 +#: ../src/remote.c:956 msgid " render thumbnails recursively (see Help)" msgstr "" -#: ../src/remote.c:899 +#: ../src/remote.c:958 msgid "<FILE>,<lua script>" msgstr "" -#: ../src/remote.c:899 +#: ../src/remote.c:958 msgid "run lua script on FILE" msgstr "" -#: ../src/remote.c:965 +#: ../src/remote.c:1024 msgid "Remote command list:\n" msgstr "" -#: ../src/remote.c:984 +#: ../src/remote.c:1043 msgid "" "\n" " All other command line parameters are used as plain files if they exists.\n" msgstr "" -#: ../src/remote.c:1034 +#: ../src/remote.c:1093 #, c-format msgid "Remote %s not running, starting..." msgstr "" -#: ../src/remote.c:1170 +#: ../src/remote.c:1229 msgid "Remote not available\n" msgstr "" -#: ../src/search.c:254 +#: ../src/search.c:257 msgid "folder" msgstr "" -#: ../src/search.c:255 +#: ../src/search.c:258 msgid "comments" msgstr "" -#: ../src/search.c:256 +#: ../src/search.c:259 msgid "results" msgstr "" -#: ../src/search.c:260 ../src/search.c:285 +#: ../src/search.c:263 ../src/search.c:288 msgid "contains" msgstr "" -#: ../src/search.c:261 ../src/search.c:304 ../src/search.c:309 +#: ../src/search.c:264 ../src/search.c:307 ../src/search.c:312 msgid "is" msgstr "" -#: ../src/search.c:265 ../src/search.c:272 ../src/search.c:291 -msgid "equal to" -msgstr "" - -#: ../src/search.c:266 ../src/search.c:292 ../src/search.c:299 -msgid "less than" -msgstr "" - -#: ../src/search.c:267 ../src/search.c:293 ../src/search.c:300 -msgid "greater than" -msgstr "" - #: ../src/search.c:268 ../src/search.c:275 ../src/search.c:294 +msgid "equal to" +msgstr "" + +#: ../src/search.c:269 ../src/search.c:295 ../src/search.c:302 +msgid "less than" +msgstr "" + +#: ../src/search.c:270 ../src/search.c:296 ../src/search.c:303 +msgid "greater than" +msgstr "" + +#: ../src/search.c:271 ../src/search.c:278 ../src/search.c:297 msgid "between" msgstr "" -#: ../src/search.c:273 +#: ../src/search.c:276 msgid "before" msgstr "" -#: ../src/search.c:274 +#: ../src/search.c:277 msgid "after" msgstr "" -#: ../src/search.c:279 +#: ../src/search.c:282 msgid "match all" msgstr "" -#: ../src/search.c:280 +#: ../src/search.c:283 msgid "match any" msgstr "" -#: ../src/search.c:281 +#: ../src/search.c:284 msgid "exclude" msgstr "" -#: ../src/search.c:286 +#: ../src/search.c:289 msgid "miss" msgstr "" -#: ../src/search.c:298 +#: ../src/search.c:301 msgid "not geocoded" msgstr "" -#: ../src/search.c:305 ../src/search.c:310 +#: ../src/search.c:308 ../src/search.c:313 msgid "is not" msgstr "" -#: ../src/search.c:361 +#: ../src/search.c:364 #, c-format msgid "%s, %d files (%s, %d)" msgstr "" -#: ../src/search.c:366 +#: ../src/search.c:369 #, c-format msgid "%s, %d files" msgstr "" -#: ../src/search.c:384 +#: ../src/search.c:387 msgid "Searching..." msgstr "" -#: ../src/search.c:1885 +#: ../src/search.c:1975 msgid "Changed" msgstr "" -#: ../src/search.c:1890 ../src/search.c:3114 +#: ../src/search.c:1980 ../src/search.c:3237 msgid "Original" msgstr "" -#: ../src/search.c:1896 ../src/search.c:3115 +#: ../src/search.c:1986 ../src/search.c:3238 msgid "Digitized" msgstr "Digitised" -#: ../src/search.c:2093 ../src/search.c:3240 +#: ../src/search.c:2183 ../src/search.c:3364 msgid "Raw Image" msgstr "" -#: ../src/search.c:2132 ../src/search.c:3255 +#: ../src/search.c:2222 ../src/search.c:3379 msgid "Any mark" msgstr "" -#: ../src/search.c:2188 ../src/search.c:3213 +#: ../src/search.c:2278 ../src/search.c:3337 msgid "km" msgstr "" -#: ../src/search.c:2193 ../src/search.c:3214 +#: ../src/search.c:2283 ../src/search.c:3338 msgid "miles" msgstr "" -#: ../src/search.c:2485 +#: ../src/search.c:2605 msgid "File not found" msgstr "" -#: ../src/search.c:2486 +#: ../src/search.c:2606 msgid "Please enter an existing file for image content." msgstr "" -#: ../src/search.c:2511 +#: ../src/search.c:2631 msgid "Entry does not contain a valid lat/long value" msgstr "" -#: ../src/search.c:2561 +#: ../src/search.c:2681 msgid "Please enter an existing folder to search." msgstr "" -#: ../src/search.c:3021 +#: ../src/search.c:3143 msgid "Image search" msgstr "" -#: ../src/search.c:3051 +#: ../src/search.c:3173 msgid "Search:" msgstr "" -#: ../src/search.c:3065 +#: ../src/search.c:3187 msgid "Recurse" msgstr "" -#: ../src/search.c:3070 +#: ../src/search.c:3192 msgid "File name" msgstr "" -#: ../src/search.c:3076 ../src/search.c:3184 +#: ../src/search.c:3198 ../src/search.c:3307 msgid "Match case" msgstr "" -#: ../src/search.c:3081 +#: ../src/search.c:3204 msgid "File size is" msgstr "" -#: ../src/search.c:3088 ../src/search.c:3105 ../src/search.c:3134 -#: ../src/search.c:3196 +#: ../src/search.c:3211 ../src/search.c:3228 ../src/search.c:3257 +#: ../src/search.c:3320 msgid "and" msgstr "" -#: ../src/search.c:3094 +#: ../src/search.c:3217 msgid "File date is" msgstr "" -#: ../src/search.c:3112 +#: ../src/search.c:3235 msgid "Modified" msgstr "" -#: ../src/search.c:3113 +#: ../src/search.c:3236 msgid "Status Changed" msgstr "" -#: ../src/search.c:3123 +#: ../src/search.c:3246 msgid "Image dimensions are" msgstr "" -#: ../src/search.c:3144 +#: ../src/search.c:3267 msgid "Image content is" msgstr "" -#: ../src/search.c:3150 +#: ../src/search.c:3273 #, no-c-format msgid "% similar to" msgstr "" -#: ../src/search.c:3158 +#: ../src/search.c:3281 msgid "Ignore rotation" msgstr "" -#: ../src/search.c:3189 +#: ../src/search.c:3313 msgid "Image rating is" msgstr "" -#: ../src/search.c:3203 +#: ../src/search.c:3327 msgid "Image is" msgstr "" -#: ../src/search.c:3215 +#: ../src/search.c:3339 msgid "n.m." msgstr "" -#: ../src/search.c:3221 +#: ../src/search.c:3345 msgid "from" msgstr "" -#: ../src/search.c:3226 +#: ../src/search.c:3350 msgid "" "Enter a coordinate in the form:\n" "89.123 179.456\n" @@ -5730,15 +5704,15 @@ "See the Help file" msgstr "" -#: ../src/search.c:3234 +#: ../src/search.c:3358 msgid "Image class" msgstr "" -#: ../src/search.c:3250 +#: ../src/search.c:3374 msgid "Marks" msgstr "" -#: ../src/search.c:3323 +#: ../src/search.c:3447 msgid "Rank" msgstr "" @@ -5786,56 +5760,85 @@ msgid "Thumbnail image in cache failed to load, trying to recreate.\n" msgstr "" -#: ../src/toolbar.c:85 -msgid "Search" -msgstr "" - -#: ../src/toolbar.c:90 -msgid "Configure this window" -msgstr "" - -#: ../src/toolbar.c:91 -msgid "Cache maintenance" +#: ../src/toolbar.c:87 ../src/ui_pathsel.c:752 ../src/ui_pathsel.c:1058 +#: ../src/utilops.c:2879 +msgid "New folder" +msgstr "" + +#: ../src/toolbar.c:90 ../src/utilops.c:2375 ../src/utilops.c:2841 +msgid "Rename" +msgstr "" + +#: ../src/toolbar.c:92 +msgid "Close Window" msgstr "" #: ../src/toolbar.c:96 -msgid "Fit Horizontaly" +msgid "Select invert" msgstr "" #: ../src/toolbar.c:97 -msgid "Fit vertically" +msgid "Show file filter" +msgstr "" + +#: ../src/toolbar.c:98 +msgid "Select rectangle" +msgstr "" + +#: ../src/toolbar.c:99 +msgid "Print" +msgstr "" + +#: ../src/toolbar.c:101 +msgid "Configure this window" msgstr "" #: ../src/toolbar.c:102 -msgid "Zoom1:3" -msgstr "" - -#: ../src/toolbar.c:107 -msgid "Slideshow Faster" -msgstr "" - -#: ../src/toolbar.c:108 -msgid "Slideshow Slower" -msgstr "" - -#: ../src/toolbar.c:110 ../src/window.c:287 ../src/window.c:308 -msgid "Help" -msgstr "" - -#: ../src/toolbar.c:112 -msgid "Show thumbnails" +msgid "Cache maintenance" msgstr "" #: ../src/toolbar.c:113 +msgid "Fit Horizontaly" +msgstr "" + +#: ../src/toolbar.c:114 +msgid "Fit vertically" +msgstr "" + +#: ../src/toolbar.c:119 +msgid "Zoom1:3" +msgstr "" + +#: ../src/toolbar.c:124 +msgid "Slideshow Faster" +msgstr "" + +#: ../src/toolbar.c:125 +msgid "Slideshow Slower" +msgstr "" + +#: ../src/toolbar.c:127 ../src/window.c:287 ../src/window.c:308 +msgid "Help" +msgstr "" + +#: ../src/toolbar.c:129 +msgid "Show thumbnails" +msgstr "" + +#: ../src/toolbar.c:130 msgid "Show marks" msgstr "" -#: ../src/toolbar.c:503 +#: ../src/toolbar.c:131 +msgid "Show guidelines" +msgstr "" + +#: ../src/toolbar.c:522 msgid "Add Toolbar Item" msgstr "" -#: ../src/trash.c:88 ../src/utilops.c:2645 ../src/utilops.c:2656 -#: ../src/utilops.c:2713 +#: ../src/trash.c:88 ../src/utilops.c:2653 ../src/utilops.c:2664 +#: ../src/utilops.c:2721 msgid "Delete failed" msgstr "" @@ -5843,15 +5846,15 @@ msgid "Unable to remove old file from trash folder" msgstr "Unable to remove old file from Rubbish Bin folder" -#: ../src/trash.c:146 +#: ../src/trash.c:148 msgid "Could not create folder" msgstr "" -#: ../src/trash.c:168 +#: ../src/trash.c:170 msgid "Permission denied" msgstr "" -#: ../src/trash.c:178 +#: ../src/trash.c:180 #, c-format msgid "" "Unable to access or create the trash folder.\n" @@ -5860,32 +5863,28 @@ "Unable to access or create the Rubbish Bin folder.\n" "\"%s\"" -#: ../src/trash.c:182 -msgid "Turn off safe delete" -msgstr "" - -#: ../src/trash.c:201 +#: ../src/trash.c:210 msgid "Deletion by external command" msgstr "" -#: ../src/trash.c:209 +#: ../src/trash.c:220 #, c-format msgid " (max. %d MB)" msgstr "" -#: ../src/trash.c:213 +#. ~ buf = g_strdup_printf(_("Safe delete: %s%s\nTrash: %s"), _("on"), buf2, options->file_ops.safe_delete_path); +#: ../src/trash.c:225 #, c-format msgid "" -"Safe delete: %s%s\n" -"Trash: %s" -msgstr "" -"Safe delete: %s%s\n" -"Rubbish Bin: %s" - -#: ../src/trash.c:218 -#, c-format -msgid "Safe delete: %s" -msgstr "" +"Using Geeqie Trash bin\n" +"%s" +msgstr "" +"Using Geeqie Rubbish bin\n" +"%s" + +#: ../src/trash.c:230 +msgid "Using system Trash bin" +msgstr "Using system Rubbish bin" #: ../src/ui_bookmark.c:139 ../src/ui_bookmark.c:202 msgid "New Bookmark" @@ -5979,8 +5978,13 @@ "%s" msgstr "" -#: ../src/ui_pathsel.c:433 ../src/ui_pathsel.c:439 ../src/utilops.c:2344 -#: ../src/utilops.c:2371 ../src/utilops.c:2837 +#: ../src/ui_pathsel.c:432 +#, c-format +msgid "A file with name %s already exists." +msgstr "" + +#: ../src/ui_pathsel.c:433 ../src/ui_pathsel.c:439 ../src/utilops.c:2352 +#: ../src/utilops.c:2379 ../src/utilops.c:2845 msgid "Rename failed" msgstr "" @@ -5997,14 +6001,6 @@ msgid "Add _Bookmark" msgstr "" -#: ../src/ui_pathsel.c:644 -msgid "_Delete" -msgstr "" - -#: ../src/ui_pathsel.c:752 ../src/ui_pathsel.c:1058 ../src/utilops.c:2871 -msgid "New folder" -msgstr "" - #: ../src/ui_pathsel.c:762 #, c-format msgid "" @@ -6028,11 +6024,11 @@ msgid "Filter:" msgstr "" -#: ../src/ui_tabcomp.c:941 +#: ../src/ui_tabcomp.c:942 msgid "Select path" msgstr "" -#: ../src/ui_tabcomp.c:963 +#: ../src/ui_tabcomp.c:964 msgid "All files" msgstr "" @@ -6195,121 +6191,121 @@ msgid "The following metadata tags will be written to the image file itself." msgstr "" -#: ../src/utilops.c:2181 +#: ../src/utilops.c:2182 +msgid "This will move the following files to the Trash bin" +msgstr "This will move the following files to the Rubbish bin" + +#: ../src/utilops.c:2186 +msgid "This will permanently delete the following files" +msgstr "" + +#: ../src/utilops.c:2189 msgid "Delete files?" msgstr "" -#: ../src/utilops.c:2182 -msgid "This will delete the following files" -msgstr "" - -#: ../src/utilops.c:2201 +#: ../src/utilops.c:2209 msgid "Can't write metadata" msgstr "" -#: ../src/utilops.c:2224 +#: ../src/utilops.c:2232 msgid "Write metadata" msgstr "" -#: ../src/utilops.c:2225 +#: ../src/utilops.c:2233 msgid "Write metadata?" msgstr "" -#: ../src/utilops.c:2226 +#: ../src/utilops.c:2234 msgid "This will write the changed metadata into the following files" msgstr "" -#: ../src/utilops.c:2228 +#: ../src/utilops.c:2236 msgid "Metadata writing failed" msgstr "" -#: ../src/utilops.c:2247 ../src/utilops.c:2275 +#: ../src/utilops.c:2255 ../src/utilops.c:2283 msgid "Move failed" msgstr "" -#: ../src/utilops.c:2272 +#: ../src/utilops.c:2280 msgid "Move files?" msgstr "" -#: ../src/utilops.c:2273 +#: ../src/utilops.c:2281 msgid "This will move the following files" msgstr "" -#: ../src/utilops.c:2297 ../src/utilops.c:2325 +#: ../src/utilops.c:2305 ../src/utilops.c:2333 msgid "Copy failed" msgstr "" -#: ../src/utilops.c:2322 +#: ../src/utilops.c:2330 msgid "Copy files?" msgstr "" -#: ../src/utilops.c:2323 ../src/utilops.c:2457 +#: ../src/utilops.c:2331 ../src/utilops.c:2465 msgid "This will copy the following files" msgstr "" -#: ../src/utilops.c:2367 ../src/utilops.c:2833 -msgid "Rename" -msgstr "" - -#: ../src/utilops.c:2368 +#: ../src/utilops.c:2376 msgid "Rename files?" msgstr "" -#: ../src/utilops.c:2369 +#: ../src/utilops.c:2377 msgid "This will rename the following files" msgstr "" -#: ../src/utilops.c:2421 +#: ../src/utilops.c:2429 msgid "Can't run external editor" msgstr "" -#: ../src/utilops.c:2455 +#: ../src/utilops.c:2463 msgid "Editor" msgstr "" -#: ../src/utilops.c:2456 +#: ../src/utilops.c:2464 msgid "Run editor?" msgstr "" -#: ../src/utilops.c:2459 +#: ../src/utilops.c:2467 msgid "External command failed" msgstr "" -#: ../src/utilops.c:2628 ../src/utilops.c:2701 +#: ../src/utilops.c:2636 ../src/utilops.c:2709 msgid "Delete folder" msgstr "" -#: ../src/utilops.c:2629 +#: ../src/utilops.c:2637 msgid "Delete symbolic link?" msgstr "" -#: ../src/utilops.c:2631 +#: ../src/utilops.c:2639 msgid "" "This will delete the symbolic link.\n" "The folder this link points to will not be deleted." msgstr "" -#: ../src/utilops.c:2633 +#: ../src/utilops.c:2641 msgid "Link deletion failed" msgstr "" -#: ../src/utilops.c:2643 +#: ../src/utilops.c:2651 #, c-format msgid "" "Unable to remove folder %s\n" "Permissions do not allow writing to the folder." msgstr "" -#: ../src/utilops.c:2655 ../src/utilops.c:2712 +#: ../src/utilops.c:2663 ../src/utilops.c:2720 #, c-format msgid "Unable to list contents of folder %s" msgstr "" -#: ../src/utilops.c:2669 ../src/utilops.c:2677 +#: ../src/utilops.c:2677 ../src/utilops.c:2685 msgid "Folder contains subfolders" msgstr "" -#: ../src/utilops.c:2673 +#: ../src/utilops.c:2681 #, c-format msgid "" "Unable to delete the folder:\n" @@ -6319,140 +6315,136 @@ "This folder contains subfolders which must be moved before it can be deleted." msgstr "" -#: ../src/utilops.c:2681 +#: ../src/utilops.c:2689 msgid "Subfolders:" msgstr "" -#: ../src/utilops.c:2702 +#: ../src/utilops.c:2710 msgid "Delete folder?" msgstr "" -#: ../src/utilops.c:2703 +#: ../src/utilops.c:2711 msgid "The folder contains these files:" msgstr "" -#: ../src/utilops.c:2704 +#: ../src/utilops.c:2712 msgid "" "This will delete the folder.\n" "The contents of this folder will also be deleted." msgstr "" -#: ../src/utilops.c:2834 +#: ../src/utilops.c:2842 msgid "Rename folder?" msgstr "" -#: ../src/utilops.c:2835 +#: ../src/utilops.c:2843 msgid "The folder contains the following files" msgstr "" -#: ../src/utilops.c:2881 +#: ../src/utilops.c:2889 msgid "Create Folder" msgstr "" -#: ../src/utilops.c:2882 +#: ../src/utilops.c:2890 msgid "Create folder?" msgstr "" -#: ../src/utilops.c:2885 +#: ../src/utilops.c:2893 msgid "Can't create folder" msgstr "" -#: ../src/view_dir.c:406 +#: ../src/view_dir.c:409 msgid "_Copy" msgstr "" -#: ../src/view_dir.c:408 +#: ../src/view_dir.c:411 msgid "_Move" msgstr "" -#: ../src/view_dir.c:662 +#: ../src/view_dir.c:665 msgid "_Up to parent" msgstr "" -#: ../src/view_dir.c:667 +#: ../src/view_dir.c:670 msgid "_Slideshow" msgstr "" -#: ../src/view_dir.c:669 +#: ../src/view_dir.c:672 msgid "Slideshow recursive" msgstr "" -#: ../src/view_dir.c:673 +#: ../src/view_dir.c:676 msgid "Find _duplicates..." msgstr "" -#: ../src/view_dir.c:675 +#: ../src/view_dir.c:678 msgid "Find duplicates recursive..." msgstr "" -#: ../src/view_dir.c:680 +#: ../src/view_dir.c:683 msgid "_New folder..." msgstr "" -#: ../src/view_dir.c:697 ../src/view_file/view_file.c:664 +#: ../src/view_dir.c:700 ../src/view_file/view_file.c:672 msgid "View as _List" msgstr "" -#: ../src/view_dir.c:700 +#: ../src/view_dir.c:703 msgid "View as _Tree" msgstr "" -#: ../src/view_dir.c:705 +#: ../src/view_dir.c:708 msgid "Show _hidden files" msgstr "" -#: ../src/view_dir.c:708 ../src/view_file/view_file.c:694 +#: ../src/view_dir.c:711 ../src/view_file/view_file.c:702 msgid "Re_fresh" msgstr "" -#: ../src/view_file/view_file.c:667 +#: ../src/view_file/view_file.c:675 msgid "View as _Icons" msgstr "" -#: ../src/view_file/view_file.c:673 +#: ../src/view_file/view_file.c:681 msgid "Show _thumbnails" msgstr "" -#: ../src/view_file/view_file.c:685 ../src/view_file/view_file.c:689 -msgid "Show star rating" -msgstr "" - -#: ../src/view_file/view_file.c:809 +#: ../src/view_file/view_file.c:817 msgid "Mark text" msgstr "" -#: ../src/view_file/view_file.c:812 +#: ../src/view_file/view_file.c:820 msgid "Set mark text" msgstr "" -#: ../src/view_file/view_file.c:813 +#: ../src/view_file/view_file.c:821 msgid "This will set or clear the mark text." msgstr "" -#: ../src/view_file/view_file.c:1273 +#: ../src/view_file/view_file.c:1448 msgid "Loading meta..." msgstr "" -#: ../src/view_file/view_file_icon.c:2022 ../src/view_file/view_file_list.c:910 +#: ../src/view_file/view_file_icon.c:2031 ../src/view_file/view_file_list.c:919 msgid " [NO GROUPING]" msgstr "" -#: ../src/view_file/view_file_list.c:511 +#: ../src/view_file/view_file_list.c:513 #, c-format msgid "" "Invalid file name:\n" "%s" msgstr "" -#: ../src/view_file/view_file_list.c:512 +#: ../src/view_file/view_file_list.c:514 msgid "Error renaming file" msgstr "" -#: ../src/view_file/view_file_list.c:2063 +#: ../src/view_file/view_file_list.c:2074 msgid "NameStars" msgstr "" -#: ../src/view_file/view_file_list.c:2067 +#: ../src/view_file/view_file_list.c:2078 msgid "Stars" msgstr "" @@ -6467,3 +6459,16 @@ #: ../src/window.c:387 msgid "Search terms:" msgstr "" + +#~ msgid "" +#~ "Safe delete: %s%s\n" +#~ "Trash: %s" +#~ msgstr "" +#~ "Safe delete: %s%s\n" +#~ "Rubbish Bin: %s" + +#~ msgid "millimeters" +#~ msgstr "millimetres" + +#~ msgid "centimeters" +#~ msgstr "centimetres"
--- a/po/tr.po Tue Feb 05 21:18:18 2019 +0100 +++ b/po/tr.po Tue Feb 05 21:18:18 2019 +0100 @@ -8,229 +8,211 @@ "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-12-28 19:44+0100\n" "PO-Revision-Date: 2000-04-07 17:09+0200\n" -"Last-Translator: Fatih Demir <kabalak@gmx.net>\n" -"Language-Team: Turkish Gnome Translation Team <gnotrap@gmx.net>\n" +"Last-Translator: Yaşar Çiv <yasarciv67@gmail.com>\n" +"Language-Team: Milis Linux Translation Team <https://milislinux.org>\n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Language: tr_TR\n" +"X-Source-Language: C\n" #: ../geeqie.desktop.in.h:1 -#, fuzzy msgid "Geeqie" -msgstr "" -"%s'yi yeniden\n" -"adlandır :\n" -" " +msgstr "Geeqie" #: ../geeqie.desktop.in.h:2 -#, fuzzy msgid "Image Viewer" -msgstr "Resim" +msgstr "Resim Görüntüleyici" #: ../geeqie.desktop.in.h:3 msgid "View and manage images" -msgstr "" +msgstr "Resimleri görüntüle ve yönet" #: ../plugins/import/geeqie-import-geeqie.desktop.in.h:1 msgid "Import Geeqie 1.0alphaX metadata" -msgstr "" +msgstr "Geeqie 1.0alphaX meta verilerini içe aktar" #: ../plugins/import/geeqie-import-gqview.desktop.in.h:1 msgid "Import GQView metadata" -msgstr "" +msgstr "GQView meta verilerini içe aktar" #: ../plugins/rotate/rotate.desktop.in.h:1 -#, fuzzy msgid "Apply the orientation to image content" -msgstr "Lütfen varolan bir dizini seç" +msgstr "Yönlendirmeyi resim içeriğine uygula" #: ../plugins/symlink/symlink.desktop.in.h:1 msgid "Symlink" -msgstr "" +msgstr "Sembolik bağ" #: ../plugins/ufraw/geeqie-ufraw.desktop.in.h:1 msgid "UFRaw Batch" -msgstr "" +msgstr "UFRaw Yığını" #: ../plugins/ufraw/geeqie-ufraw-id.desktop.in.h:1 msgid "Edit UFRaw ID file" -msgstr "" +msgstr "UFRaw Kimlik dosyasını düzenle" #: ../plugins/ufraw/geeqie-ufraw-recursive.desktop.in.h:1 msgid "UFRaw Batch recursive" -msgstr "" +msgstr "UFRaw Toplu özyinelemeli" #: ../src/advanced_exif.c:378 ../src/cache_maint.c:1265 #: ../src/preferences.c:110 ../src/preferences.c:2095 msgid "Metadata" -msgstr "" +msgstr "Metaveri" #: ../src/advanced_exif.c:426 ../src/preferences.c:2009 msgid "Description" -msgstr "" +msgstr "Açıklama" #: ../src/advanced_exif.c:427 msgid "Value" -msgstr "" +msgstr "Değer" #: ../src/advanced_exif.c:428 ../src/desktop_file.c:535 ../src/dupe.c:2764 #: ../src/dupe.c:3303 ../src/print.c:3209 ../src/search.c:3111 #: ../src/utilops.c:505 ../src/view_file/view_file_list.c:1935 -#, fuzzy msgid "Name" -msgstr "Yeniden adlandır" +msgstr "Ad" #: ../src/advanced_exif.c:429 msgid "Tag" -msgstr "" +msgstr "Etiket" #: ../src/advanced_exif.c:430 -#, fuzzy msgid "Format" -msgstr "Genel" +msgstr "Biçim" #: ../src/advanced_exif.c:431 msgid "Elements" -msgstr "" +msgstr "Öğeler" #. default sidebar #: ../src/bar.c:183 msgid "Histogram" -msgstr "" +msgstr "Histogram" #: ../src/bar.c:184 msgid "Title" -msgstr "" +msgstr "Başlık" #: ../src/bar.c:185 ../src/search.c:2993 msgid "Keywords" -msgstr "" +msgstr "Anahtar kelimeler" #: ../src/bar.c:186 ../src/search.c:3005 -#, fuzzy msgid "Comment" -msgstr "Büyült" +msgstr "Yorum" #: ../src/bar.c:187 -#, fuzzy msgid "Rating" -msgstr "Filtralama" +msgstr "Derecelendirme" #: ../src/bar.c:188 -#, fuzzy msgid "Exif" -msgstr "Çık" +msgstr "Exif" #. other pre-configured panes #: ../src/bar.c:190 -#, fuzzy msgid "File info" -msgstr "Filtralama" +msgstr "Dosya bilgisi" #: ../src/bar.c:191 msgid "Location and GPS" -msgstr "" +msgstr "Konum ve GPS" #: ../src/bar.c:192 ../src/exif.c:342 -#, fuzzy msgid "Copyright" -msgstr "Kopyala" +msgstr "Telif Hakkı" #: ../src/bar.c:195 ../src/bar_gps.c:1010 msgid "GPS Map" -msgstr "" - +msgstr "GPS Haritası" + +# Yukarı taşı da olabilir #: ../src/bar.c:315 ../src/toolbar.c:191 -#, fuzzy msgid "Move to _top" -msgstr "Taşı" +msgstr "Üste _taşı" #: ../src/bar.c:316 ../src/toolbar.c:192 ../src/ui_bookmark.c:416 -#, fuzzy msgid "Move _up" -msgstr "Taşı" +msgstr "Yukarı _taşı" #: ../src/bar.c:317 ../src/toolbar.c:193 ../src/ui_bookmark.c:418 -#, fuzzy msgid "Move _down" -msgstr "Taşı" +msgstr "Aşağı _taşı" #: ../src/bar.c:318 ../src/toolbar.c:194 msgid "Move to _bottom" -msgstr "" +msgstr "Alta _taşı" #: ../src/bar.c:320 ../src/toolbar.c:196 -#, fuzzy msgid "Remove" -msgstr "Yeniden adlandır" +msgstr "Kaldır" #: ../src/bar.c:711 -#, fuzzy msgid "Add Pane" -msgstr "%d dosya %s" +msgstr "Bölme Ekle" #: ../src/bar_comment.c:216 -#, fuzzy msgid "Add text to selected files" -msgstr "" -"%s dosyasını\n" -"silmek üzereyim" +msgstr "Seçilen dosyalara metin ekle" #: ../src/bar_comment.c:217 msgid "Replace existing text in selected files" -msgstr "" +msgstr "Seçili dosyalarda mevcut metni değiştir" #: ../src/bar_exif.c:222 msgid "<empty label, fixme>" -msgstr "" +msgstr "<empty label, fixme>" #: ../src/bar_exif.c:550 ../src/bar_exif.c:560 -#, fuzzy msgid "Configure entry" -msgstr "Seçenekleri ayarla" +msgstr "Girişi yapılandır" #. for the pane #: ../src/bar_exif.c:550 ../src/bar_exif.c:560 ../src/bar_exif.c:648 msgid "Add entry" -msgstr "" +msgstr "Giriş ekle" #: ../src/bar_exif.c:566 msgid "Key:" -msgstr "" +msgstr "Tuş:" #: ../src/bar_exif.c:575 ../src/preferences.c:1688 msgid "Title:" -msgstr "" +msgstr "Başlık:" #: ../src/bar_exif.c:584 msgid "Show only if set" -msgstr "" +msgstr "Yalnızca ayarlanmışsa göster" #: ../src/bar_exif.c:585 msgid "Editable (supported only for XMP)" -msgstr "" - +msgstr "Düzenlenebilir (yalnızca XMP için desteklenir)" + +# Arayüzdeki cümleye göre değişim gerekebilir #. for the entry #: ../src/bar_exif.c:634 -#, fuzzy, c-format +#, c-format msgid "Configure \"%s\"" -msgstr "Seçenekleri ayarla" +msgstr "Yapılandır \"%s\"" #: ../src/bar_exif.c:635 ../src/bar_keywords.c:1342 -#, fuzzy, c-format +#, c-format msgid "Remove \"%s\"" -msgstr "Yeniden adlandır" +msgstr "Kaldır \"%s\"" #: ../src/bar_exif.c:636 -#, fuzzy, c-format +#, c-format msgid "Copy \"%s\"" -msgstr "Kopyala" +msgstr "Kopyala \"%s\"" #: ../src/bar_exif.c:649 -#, fuzzy msgid "Show hidden entries" -msgstr "Tırnakları arabellekte tut" +msgstr "Gizli girişleri göster" #: ../src/bar_gps.c:187 #, c-format @@ -238,13 +220,18 @@ "\n" "Do you want to geocode image %s?" msgstr "" - +"\n" +"%s resmini coğrafi olarak kodlamak ister misiniz?" + +# Arayüzedeki cümleye göre değiştirme gerekebilir #: ../src/bar_gps.c:192 #, c-format msgid "" "\n" "Do you want to geocode %i images?" msgstr "" +"\n" +"%i adet resmi coğrafi olarak kodlamak ister misiniz?" #: ../src/bar_gps.c:197 #, c-format @@ -252,6 +239,8 @@ "\n" "This image is already geocoded!" msgstr "" +"\n" +"Bu resim zaten coğrafi olarak kodlanmış!" #: ../src/bar_gps.c:202 #, c-format @@ -259,6 +248,8 @@ "\n" "One image is already geocoded!" msgstr "" +"\n" +"Bir resim zaten coğrafi olarak kodlanmış!" #: ../src/bar_gps.c:207 #, c-format @@ -266,6 +257,8 @@ "\n" "%i Images are already geocoded!" msgstr "" +"\n" +"%i adet resim zaten coğrafi olarak kodlanmış!" #: ../src/bar_gps.c:212 #, c-format @@ -274,261 +267,256 @@ "\n" "Position: %s \n" msgstr "" +"\n" +"\n" +"Konum: %s \n" #: ../src/bar_gps.c:214 -#, fuzzy msgid "Geocode images" -msgstr "%d dosya %s" +msgstr "Coğrafi kodlu resimler" #: ../src/bar_gps.c:218 msgid "Write lat/long to meta-data?" -msgstr "" +msgstr "Meta-verilere enlem/boylam yazılsın mı?" #: ../src/bar_gps.c:721 -#, fuzzy, c-format +#, c-format msgid "Zoom %i" -msgstr "Büyült" +msgstr "%i yakınlaştır" #: ../src/bar_gps.c:739 -#, fuzzy, c-format +#, c-format msgid "Zoom level %i" -msgstr "Büyült" +msgstr "Yakınlaştırma seviyesi %i" #: ../src/bar_gps.c:744 -#, fuzzy msgid "Loading map" -msgstr "Tırnakları yükliyorum .." +msgstr "Harita yükleniyor" #: ../src/bar_gps.c:810 msgid "Enable markers" -msgstr "" +msgstr "İşaretçileri etkinleştir" #: ../src/bar_gps.c:812 msgid "Centre map on marker" -msgstr "" +msgstr "İşaretçinin merkez haritası" #: ../src/bar_gps.c:834 msgid "" "Move map centre to marker\n" " is disabled" msgstr "" +"Harita merkezini işaretçiye taşıma\n" +" devre dışı" #: ../src/bar_gps.c:839 msgid "" "Move map centre to marker\n" " is enabled" msgstr "" +"Harita merkezini işaretçiye taşıma\n" +" etkin" #: ../src/bar_gps.c:843 msgid "Map centering" -msgstr "" +msgstr "Harita ortalanıyor" #. use the same strings as in layout_util.c #: ../src/bar_histogram.c:257 ../src/layout_util.c:1899 msgid "Histogram on _Red" -msgstr "" +msgstr "Kı_rmızı Histogram" #: ../src/bar_histogram.c:258 ../src/layout_util.c:1900 msgid "Histogram on _Green" -msgstr "" +msgstr "_Yeşil Histogram" #: ../src/bar_histogram.c:259 ../src/layout_util.c:1901 msgid "Histogram on _Blue" -msgstr "" +msgstr "_Mavi Histogram" #: ../src/bar_histogram.c:260 ../src/layout_util.c:1902 msgid "_Histogram on RGB" -msgstr "" +msgstr "RGB _Histogram" #: ../src/bar_histogram.c:261 ../src/layout_util.c:1903 msgid "Histogram on _Value" -msgstr "" +msgstr "_Değer Üzerinde Histogram" #: ../src/bar_histogram.c:265 ../src/layout_util.c:1907 msgid "Li_near Histogram" -msgstr "" +msgstr "Doğrusa_l Histogram" #: ../src/bar_histogram.c:266 msgid "L_og Histogram" -msgstr "" +msgstr "Günlük Hist_ogramı" #: ../src/bar_keywords.c:463 msgid "Add keywords to selected files" -msgstr "" +msgstr "Seçilen dosyalara anahtar kelimeler ekle" #: ../src/bar_keywords.c:464 msgid "Replace existing keywords in selected files" -msgstr "" +msgstr "Seçili dosyalardaki mevcut anahtar kelimeleri değiştir" #: ../src/bar_keywords.c:935 -#, fuzzy msgid "Edit keyword" -msgstr "Düzenle" +msgstr "Anahtar kelimeyi düzenle" #: ../src/bar_keywords.c:935 ../src/bar_keywords.c:942 #: ../src/bar_keywords.c:1287 -#, fuzzy msgid "New keyword" -msgstr "Tırnaklar" +msgstr "Yeni anahtar kelime" #: ../src/bar_keywords.c:942 -#, fuzzy msgid "Configure keyword" -msgstr "Seçenekleri ayarla" +msgstr "Anahtar kelimeyi yapılandır" #: ../src/bar_keywords.c:948 -#, fuzzy msgid "Keyword:" -msgstr "Tırnaklar" +msgstr "Anahtar kelime:" #: ../src/bar_keywords.c:957 -#, fuzzy msgid "Keyword type:" -msgstr "Tırnaklar" +msgstr "Anahtar kelime türü:" #: ../src/bar_keywords.c:959 msgid "Active keyword" -msgstr "" +msgstr "Etkin anahtar kelime" #: ../src/bar_keywords.c:962 -#, fuzzy msgid "Helper" -msgstr "Yardım" - +msgstr "Yardımcı" + +# Marks Keywords çevirisini yapamadım #: ../src/bar_keywords.c:1036 msgid "This will disconnect all Marks Keywords connections" -msgstr "" - +msgstr "Bu, tüm Anahtar Kelime bağlantılarını kesecek" + +# Marks Keywords çevirisini yapamadım #: ../src/bar_keywords.c:1038 -#, fuzzy msgid "Marks Keywords" -msgstr "Tırnaklar" +msgstr "Anahtar Kelimeler" #: ../src/bar_keywords.c:1311 -#, fuzzy, c-format +#, c-format msgid "Add \"%s\" to all selected images" -msgstr "" -"%s dosyasını\n" -"silmek üzereyim" +msgstr "Seçilen tüm resimlere \"%s\" ekle" #: ../src/bar_keywords.c:1317 #, c-format msgid "Hide \"%s\"" -msgstr "" +msgstr "\"%s\"'i gizle" #: ../src/bar_keywords.c:1324 -#, fuzzy, c-format +#, c-format msgid "Mark %d" -msgstr "Düzenle" +msgstr "%d'i işaretle" #: ../src/bar_keywords.c:1332 #, c-format msgid "Connect \"%s\" to mark" -msgstr "" +msgstr "İşaretlemek için \"%s\"'i bağla" #: ../src/bar_keywords.c:1339 -#, fuzzy, c-format +#, c-format msgid "Edit \"%s\"" -msgstr "Düzenle" +msgstr "\"%s\"'i düzenle" #: ../src/bar_keywords.c:1349 #, c-format msgid "Disconnect \"%s\" from mark %s" -msgstr "" +msgstr "%s işaretinden \"%s\"'i çıkarın" #: ../src/bar_keywords.c:1356 #, c-format msgid "Disconnect all Mark Keyword connections" -msgstr "" +msgstr "Tüm İşaretli Anahtar Kelime bağlantılarını kes" #. for the pane #: ../src/bar_keywords.c:1367 ../src/bar_keywords.c:1381 msgid "Expand checked" -msgstr "" +msgstr "Kontrol edilenleri genişlet" #: ../src/bar_keywords.c:1368 ../src/bar_keywords.c:1382 msgid "Collapse unchecked" -msgstr "" +msgstr "Kontrol edilmeyenleri daralt" #: ../src/bar_keywords.c:1369 ../src/bar_keywords.c:1383 msgid "Hide unchecked" -msgstr "" +msgstr "Kontrol edilmeyenleri gizle" #: ../src/bar_keywords.c:1370 msgid "Revert all hidden" -msgstr "" +msgstr "Tüm gizlenenleri geri al" #: ../src/bar_keywords.c:1372 -#, fuzzy msgid "Show all" -msgstr "Resim" +msgstr "Tümünü göster" #: ../src/bar_keywords.c:1373 msgid "Collapse all" -msgstr "" +msgstr "Tümünü daralt" #: ../src/bar_keywords.c:1374 msgid "Revert" -msgstr "" +msgstr "Geri al" #: ../src/bar_keywords.c:1378 msgid "On any change" -msgstr "" +msgstr "Herhangi bir değişiklik" #: ../src/bar_sort.c:500 -#, fuzzy, c-format +#, c-format msgid "" "The collection:\n" "%s\n" "already exists." msgstr "" -"%s dizini \n" -"zaten dosya halinde\n" -"var ." +"Koleksiyon:\n" +"%s\n" +"zaten var." #: ../src/bar_sort.c:501 -#, fuzzy msgid "Collection exists" -msgstr "Üstüne yaz" +msgstr "Koleksiyon var" #: ../src/bar_sort.c:515 ../src/collect.c:1126 ../src/collect-dlg.c:93 -#, fuzzy, c-format +#, c-format msgid "" "Failed to save the collection:\n" "%s" -msgstr "%s'yi silemedim \n" +msgstr "" +"Koleksiyon kaydedilemedi:\n" +"%s" #: ../src/bar_sort.c:516 ../src/collect.c:1127 ../src/collect-dlg.c:94 msgid "Save Failed" -msgstr "" +msgstr "Kaydedilemedi" #: ../src/bar_sort.c:551 ../src/bar_sort.c:723 msgid "Add Bookmark" -msgstr "" +msgstr "Yer İmi Ekle" #: ../src/bar_sort.c:555 -#, fuzzy msgid "Add Collection" -msgstr "%s'yi silemedim \n" +msgstr "Koleksiyon Ekle" #: ../src/bar_sort.c:572 ../src/shortcuts.c:118 ../src/ui_bookmark.c:297 -#, fuzzy msgid "Name:" -msgstr "Yeniden adlandır" +msgstr "Ad:" #: ../src/bar_sort.c:650 msgid "Sort Manager" -msgstr "" +msgstr "Sıralama Yöneticisi" #: ../src/bar_sort.c:659 ../src/pan-view/pan-view.c:1823 #: ../src/ui_pathsel.c:1108 -#, fuzzy msgid "Folders" -msgstr "Dosya" +msgstr "Dizinler" #: ../src/bar_sort.c:660 ../src/options.c:197 msgid "Collections" -msgstr "" +msgstr "Koleksiyonlar" #: ../src/bar_sort.c:668 ../src/utilops.c:2297 msgid "Copy" @@ -539,201 +527,185 @@ msgstr "Taşı" #: ../src/bar_sort.c:710 -#, fuzzy msgid "Add image" -msgstr "%d dosya %s" +msgstr "Resim ekle" #: ../src/bar_sort.c:713 -#, fuzzy msgid "Add selection" -msgstr "Seçenekler ..." +msgstr "Seçim ekle" #: ../src/bar_sort.c:726 msgid "Undo last image" -msgstr "" +msgstr "Son resmi geri al" #: ../src/cache.c:173 -#, fuzzy, c-format +#, c-format msgid "" "error saving sim cache data: %s\n" "error: %s\n" -msgstr "%s ayar dosyasını kaydederken bir hata oluştu\n" +msgstr "" +"Sim önbellek verileri kaydedilirken hata oluştu: %s\n" +"hatalar: %s\n" #: ../src/cache_maint.c:123 ../src/cache_maint.c:612 ../src/cache_maint.c:880 #: ../src/editors.c:1195 msgid "done" -msgstr "" +msgstr "tamam" #: ../src/cache_maint.c:313 msgid "Removing old metadata..." -msgstr "" +msgstr "Eski meta verileri kaldırılıyor..." #: ../src/cache_maint.c:317 -#, fuzzy msgid "Clearing cached thumbnails..." -msgstr "Tırnakları yükliyorum .." +msgstr "Önbelleğe alınmış küçük resimler temizleniyor..." #: ../src/cache_maint.c:321 ../src/cache_maint.c:1053 -#, fuzzy msgid "Removing old thumbnails..." -msgstr "Tırnakları yükliyorum .." +msgstr "Eski küçük resimler kaldırılıyor..." #: ../src/cache_maint.c:324 ../src/cache_maint.c:1056 msgid "Maintenance" -msgstr "" +msgstr "Bakım" #: ../src/cache_maint.c:732 -#, fuzzy msgid "Invalid folder" -msgstr "geçerli opsiyonlar :\n" +msgstr "Geçersiz dizin" #: ../src/cache_maint.c:733 msgid "The specified folder can not be found." -msgstr "" +msgstr "Belirtilen dizin bulunamadı." #: ../src/cache_maint.c:796 ../src/cache_maint.c:810 ../src/cache_maint.c:1256 -#, fuzzy msgid "Create thumbnails" -msgstr "Tırnakları arabellekte tut" +msgstr "Küçük resimler oluştur" #: ../src/cache_maint.c:804 ../src/cache_maint.c:1063 -#, fuzzy msgid "S_tart" -msgstr "Sil" +msgstr "Başla_t" #: ../src/cache_maint.c:817 ../src/preferences.c:2347 -#, fuzzy msgid "Folder:" -msgstr "Dosya" +msgstr "Dizin:" #: ../src/cache_maint.c:820 -#, fuzzy msgid "Select folder" -msgstr "Sil .." +msgstr "Dizin seç" #: ../src/cache_maint.c:824 -#, fuzzy msgid "Include subfolders" -msgstr "geçerli opsiyonlar :\n" +msgstr "Alt dizinler dahil" #: ../src/cache_maint.c:825 msgid "Store thumbnails local to source images" -msgstr "" +msgstr "Kaynak görüntüleri yerel olarak küçük resimlerde saklayın" #: ../src/cache_maint.c:834 ../src/cache_maint.c:1072 msgid "click start to begin" -msgstr "" +msgstr "başlamak için başlat'a tıkla" #: ../src/cache_maint.c:992 ../src/editors.c:1121 -#, fuzzy msgid "running..." -msgstr "Kopyala ..." +msgstr "çalışıyor..." #: ../src/cache_maint.c:1048 -#, fuzzy msgid "Clearing thumbnails..." -msgstr "Tırnakları yükliyorum .." +msgstr "Küçük resimler temizleniyor..." #: ../src/cache_maint.c:1131 ../src/cache_maint.c:1134 #: ../src/cache_maint.c:1232 ../src/cache_maint.c:1251 msgid "Clear cache" -msgstr "" +msgstr "Önbelleği temizle" #: ../src/cache_maint.c:1135 msgid "" "This will remove all thumbnails that have\n" "been saved to disk, continue?" msgstr "" +"Bu, diske kaydedilmiş tüm küçük resimleri \n" +"kaldıracak, devam edilsin mi?" #: ../src/cache_maint.c:1180 #, c-format msgid "Location: %s" -msgstr "" +msgstr "Konum: %s" #: ../src/cache_maint.c:1205 -#, fuzzy msgid "Cache Maintenance" -msgstr "" -"%s'yi yeniden\n" -"adlandır :\n" -" " +msgstr "Önbellek Bakımı" #: ../src/cache_maint.c:1217 msgid "Cache and Data Maintenance" -msgstr "" +msgstr "Önbellek ve Veri Bakımı" #: ../src/cache_maint.c:1221 -#, fuzzy msgid "Geeqie thumbnail cache" -msgstr "Tırnakları arabellekte tut" +msgstr "Geeqie küçük resim önbelleği" #: ../src/cache_maint.c:1227 ../src/cache_maint.c:1246 #: ../src/cache_maint.c:1271 msgid "Clean up" -msgstr "" +msgstr "Temizlik" #: ../src/cache_maint.c:1230 ../src/cache_maint.c:1249 msgid "Remove orphaned or outdated thumbnails." -msgstr "" +msgstr "Artık veya modası geçmiş küçük resimleri kaldırın." #: ../src/cache_maint.c:1235 -#, fuzzy msgid "Delete all cached data." -msgstr "Tırnakları arabellekte tut" +msgstr "Önbelleğe alınmış tüm verileri silin." #: ../src/cache_maint.c:1238 -#, fuzzy msgid "Shared thumbnail cache" -msgstr "Tırnakları arabellekte tut" +msgstr "Paylaşılan küçük resim önbelleği" #: ../src/cache_maint.c:1254 -#, fuzzy msgid "Delete all cached thumbnails." -msgstr "Tırnakları arabellekte tut" +msgstr "Önbelleğe alınmış tüm küçük resimleri silin." #: ../src/cache_maint.c:1260 -#, fuzzy msgid "Render" -msgstr "Yeniden adlandır" +msgstr "Oluştur" #: ../src/cache_maint.c:1263 msgid "Render thumbnails for a specific folder." -msgstr "" +msgstr "Belirli bir dizin için küçük resimleri oluşturun." #: ../src/cache_maint.c:1274 msgid "Remove orphaned keywords and comments." -msgstr "" +msgstr "Artık anahtar kelimeleri ve yorumları kaldırın." #. When does this occur ?? #: ../src/collect.c:405 ../src/image.c:186 ../src/image-overlay.c:545 #: ../src/image-overlay.c:622 msgid "Untitled" -msgstr "" +msgstr "Başlıksız" #: ../src/collect.c:409 #, c-format msgid "Untitled (%d)" -msgstr "" +msgstr "Başlıksız (%d)" #: ../src/collect.c:1051 -#, fuzzy, c-format +#, c-format msgid "%s - Collection - %s" -msgstr "Üstüne yaz" +msgstr "%s - Koleksiyon - %s" #: ../src/collect.c:1163 ../src/collect.c:1167 -#, fuzzy msgid "Close collection" -msgstr "Seçenekler ..." +msgstr "Koleksiyonu kapat" #: ../src/collect.c:1168 msgid "" "Collection has been modified.\n" "Save first?" msgstr "" +"Koleksiyon değiştirildi.\n" +"İlk önce kaydedilsin mi?" #: ../src/collect.c:1171 msgid "_Discard" -msgstr "" +msgstr "_Artık" #: ../src/collect-dlg.c:67 #, c-format @@ -742,255 +714,232 @@ "%s\n" "is a folder, collections are files" msgstr "" +"Belirtilen yol:\n" +"%s\n" +"bir dizin, koleksiyonlar dosyadır" #: ../src/collect-dlg.c:68 -#, fuzzy msgid "Invalid filename" -msgstr "geçerli opsiyonlar :\n" +msgstr "Geçersiz dosya ismi" #: ../src/collect-dlg.c:77 -#, fuzzy msgid "Overwrite File" -msgstr "Üstüne yaz" +msgstr "Dosyanın üzerine yaz" #: ../src/collect-dlg.c:82 -#, fuzzy msgid "Overwrite existing file?" -msgstr "Üstüne yaz" +msgstr "Mevcut dosyanın üzerine yazılsın mı?" #: ../src/collect-dlg.c:84 -#, fuzzy msgid "_Overwrite" -msgstr "Üstüne yaz" +msgstr "_Üstüne yaz" #: ../src/collect-dlg.c:135 #, c-format msgid "No such file '%s'." -msgstr "" +msgstr "Böyle bir dosya yok '%s'." #: ../src/collect-dlg.c:140 #, c-format msgid "'%s' is a directory, not a collection file." -msgstr "" +msgstr "'%s' bir dizin, koleksiyon dosyası değil." #: ../src/collect-dlg.c:145 #, c-format msgid "You do not have read permissions on the file '%s'." -msgstr "" +msgstr "'%s' dosyasında okuma izniniz yok." #: ../src/collect-dlg.c:151 -#, fuzzy msgid "Can not open collection file" -msgstr "%s'yi silemedim \n" +msgstr "Koleksiyon dosyası açılamıyor" #: ../src/collect-dlg.c:203 msgid "Save collection" -msgstr "" +msgstr "Koleksiyonu kaydet" #: ../src/collect-dlg.c:210 ../src/toolbar.c:84 -#, fuzzy msgid "Open collection" -msgstr "Seçenekler ..." +msgstr "Koleksiyon aç" #: ../src/collect-dlg.c:218 msgid "Append collection" -msgstr "" +msgstr "Koleksiyon ekle" #: ../src/collect-dlg.c:219 msgid "_Append" -msgstr "" +msgstr "_Ekle" #: ../src/collect-dlg.c:236 -#, fuzzy msgid "Collection Files" -msgstr "Üstüne yaz" +msgstr "Koleksiyon Dosyaları" #: ../src/collect-io.c:356 -#, fuzzy, c-format +#, c-format msgid "failed to open collection (write) \"%s\"\n" -msgstr "%s'yi silemedim \n" +msgstr "\"%s\" koleksiyonu (yazma) açılamadı\n" #: ../src/collect-io.c:381 -#, fuzzy, c-format +#, c-format msgid "" "error saving collection file: %s\n" "error: %s\n" -msgstr "%s ayar dosyasını kaydederken bir hata oluştu\n" +msgstr "" +"koleksiyon dosyası kaydedilirken hata oluştu: %s\n" +"hata: %s\n" #: ../src/collect-table.c:212 -#, fuzzy, c-format +#, c-format msgid "%s, %d images (%s, %d)" -msgstr "%d dosya (%d)%s" +msgstr "%s, %d resim (%s, %d)" #: ../src/collect-table.c:219 -#, fuzzy, c-format +#, c-format msgid "%s, %d images" -msgstr "%d dosya %s" +msgstr "%s, %d resim" #: ../src/collect-table.c:224 ../src/layout_util.c:1675 #: ../src/layout_util.c:2816 msgid "Empty" -msgstr "" +msgstr "Boş" #: ../src/collect-table.c:238 ../src/dupe.c:1362 ../src/search.c:365 #: ../src/view_file/view_file.c:848 ../src/view_file/view_file.c:957 msgid "Loading thumbs..." -msgstr "Tırnakları yükliyorum .." +msgstr "Küçük resimler yükleniyor..." #: ../src/collect-table.c:913 ../src/dupe.c:2343 ../src/dupe.c:2661 #: ../src/layout_util.c:1722 ../src/search.c:1061 -#, fuzzy msgid "_View" -msgstr "Göster" +msgstr "_Görünüm" #: ../src/collect-table.c:915 ../src/dupe.c:2345 ../src/dupe.c:2663 #: ../src/img-view.c:1319 ../src/layout_image.c:691 #: ../src/pan-view/pan-view.c:2254 ../src/search.c:1063 #: ../src/view_file/view_file.c:598 -#, fuzzy msgid "View in _new window" -msgstr "Yeni penerede göster" +msgstr "Y_eni penerede göster" #: ../src/collect-table.c:918 ../src/dupe.c:2384 ../src/dupe.c:2671 #: ../src/search.c:1098 -#, fuzzy msgid "Rem_ove" -msgstr "Yeniden adlandır" +msgstr "_Kaldır" #: ../src/collect-table.c:921 -#, fuzzy msgid "Append from file selection" -msgstr "Dosya listesini yenile" +msgstr "Dosya seçiminden ekle" #: ../src/collect-table.c:923 msgid "Append from collection..." -msgstr "" +msgstr "Koleksiyondan ekle..." #: ../src/collect-table.c:927 -#, fuzzy msgid "_Selection" -msgstr "Seçenekler ..." +msgstr "_Seçim" #: ../src/collect-table.c:929 ../src/dupe.c:2348 ../src/dupe.c:2666 #: ../src/layout_util.c:1780 ../src/search.c:1066 -#, fuzzy msgid "Select all" -msgstr "Silerken bir hata oluştu" +msgstr "Tümünü seç" #: ../src/collect-table.c:931 ../src/dupe.c:2350 ../src/dupe.c:2668 #: ../src/layout_util.c:1781 ../src/search.c:1068 msgid "Select none" -msgstr "" +msgstr "Hiçbirini seçme" #: ../src/collect-table.c:933 -#, fuzzy msgid "Invert selection" -msgstr "Seçenekler ..." +msgstr "Zıt seçim" #: ../src/collect-table.c:935 -#, fuzzy msgid "Rectangular selection" -msgstr "Seçenekler ..." +msgstr "Dikdörtgen seçimi" #: ../src/collect-table.c:947 ../src/dupe.c:2371 ../src/img-view.c:1323 #: ../src/layout_image.c:699 ../src/layout_util.c:1755 #: ../src/pan-view/pan-view.c:2258 ../src/search.c:1085 #: ../src/view_file/view_file.c:602 -#, fuzzy msgid "_Copy..." -msgstr "Kopyala ..." +msgstr "_Kopyala..." #: ../src/collect-table.c:949 ../src/dupe.c:2373 ../src/img-view.c:1324 #: ../src/layout_image.c:701 ../src/layout_util.c:1756 #: ../src/pan-view/pan-view.c:2260 ../src/search.c:1087 #: ../src/view_file/view_file.c:604 -#, fuzzy msgid "_Move..." -msgstr "Taşı ..." +msgstr "_Taşı..." #: ../src/collect-table.c:951 ../src/dupe.c:2375 ../src/img-view.c:1325 #: ../src/layout_image.c:703 ../src/layout_util.c:1757 #: ../src/pan-view/pan-view.c:2262 ../src/search.c:1089 ../src/view_dir.c:683 #: ../src/view_file/view_file.c:606 -#, fuzzy msgid "_Rename..." -msgstr "Yeniden adlandır .." +msgstr "Yeniden adlandı_r..." #: ../src/collect-table.c:953 ../src/dupe.c:2377 ../src/img-view.c:1326 #: ../src/layout_image.c:705 ../src/pan-view/pan-view.c:2264 #: ../src/search.c:1091 ../src/view_dir.c:686 ../src/view_file/view_file.c:608 -#, fuzzy msgid "_Copy path" -msgstr "Kopyala" +msgstr "Yolu _kopyala" #: ../src/collect-table.c:955 ../src/dupe.c:2379 ../src/img-view.c:1327 #: ../src/layout_image.c:706 ../src/pan-view/pan-view.c:2266 #: ../src/search.c:1093 ../src/view_dir.c:689 ../src/view_file/view_file.c:610 -#, fuzzy msgid "_Copy path unquoted" -msgstr "Kopyala" +msgstr "Alıntı olmayan yolu kopyala" #: ../src/collect-table.c:957 ../src/dupe.c:2381 ../src/img-view.c:1328 #: ../src/layout_image.c:708 ../src/layout_util.c:1758 #: ../src/layout_util.c:1759 ../src/layout_util.c:1760 #: ../src/pan-view/pan-view.c:2268 ../src/search.c:1095 ../src/view_dir.c:692 #: ../src/view_file/view_file.c:612 -#, fuzzy msgid "_Delete..." -msgstr "Sil .." +msgstr "_Sil..." #: ../src/collect-table.c:963 -#, fuzzy msgid "Randomize" -msgstr "Tesadüfen" +msgstr "Gelişigüzel" #: ../src/collect-table.c:965 ../src/view_file/view_file.c:637 msgid "_Sort" -msgstr "" +msgstr "_Sırala" #: ../src/collect-table.c:968 ../src/view_file/view_file.c:653 msgid "Show filename _text" -msgstr "" +msgstr "Dosya ismi me_tnini göster" #: ../src/collect-table.c:971 -#, fuzzy msgid "_Save collection" -msgstr "Seçenekler ..." +msgstr "Kolek_siyonu kaydet" #: ../src/collect-table.c:973 -#, fuzzy msgid "Save collection _as..." -msgstr "Seçenekler ..." +msgstr "Koleksiyonu f_arklı kaydet..." #: ../src/collect-table.c:976 ../src/layout_util.c:1751 #: ../src/view_file/view_file.c:622 -#, fuzzy msgid "_Find duplicates..." -msgstr "Yeniden adlandır .." +msgstr "_Kopyaları bul..." #: ../src/collect-table.c:978 ../src/dupe.c:2368 ../src/layout_util.c:1753 #: ../src/search.c:1082 -#, fuzzy msgid "Print..." -msgstr "Yeniden adlandır .." +msgstr "Yazdır..." #: ../src/collect-table.c:2167 ../src/dupe.c:3525 ../src/img-view.c:1487 msgid "Dropped list includes folders." -msgstr "" +msgstr "Bırakılan listede dizinler var." #: ../src/collect-table.c:2169 ../src/dupe.c:3527 ../src/img-view.c:1489 msgid "_Add contents" -msgstr "" +msgstr "İçerik _ekle" #: ../src/collect-table.c:2171 ../src/dupe.c:3528 ../src/img-view.c:1490 -#, fuzzy msgid "Add contents _recursive" -msgstr "Yeniden adlandır .." +msgstr "Özyinelemeli içe_rik ekle" #: ../src/collect-table.c:2173 ../src/dupe.c:3529 ../src/img-view.c:1491 -#, fuzzy msgid "_Skip folders" -msgstr "Başlangıç dizini" +msgstr "Di_zinleri atla" #: ../src/collect-table.c:2176 ../src/dupe.c:3531 ../src/img-view.c:1493 #: ../src/view_dir.c:426 @@ -999,42 +948,39 @@ #: ../src/color-man.c:434 ../src/exif.c:227 ../src/exif-common.c:448 msgid "sRGB" -msgstr "" +msgstr "sRGB" #: ../src/color-man.c:436 msgid "Adobe RGB compatible" -msgstr "" +msgstr "Adobe RGB uyumlu" #: ../src/color-man.c:453 -#, fuzzy msgid "Custom profile" -msgstr "Benim dosya tiplerim :" +msgstr "Özel düzen" #: ../src/debug.c:55 msgid "error" -msgstr "" +msgstr "hata" #: ../src/debug.c:56 msgid "warning" -msgstr "" +msgstr "uyarı" #: ../src/desktop_file.c:83 ../src/desktop_file.c:95 ../src/desktop_file.c:101 msgid "Can't save" -msgstr "" +msgstr "Kaydedilemiyor" #: ../src/desktop_file.c:83 msgid "Please specify file name." -msgstr "" +msgstr "Lütfen dosya adını belirtin." #: ../src/desktop_file.c:95 -#, fuzzy msgid "Could not create directory" -msgstr "Dizini yaratamadım" +msgstr "Dizin oluşturulamadı" #: ../src/desktop_file.c:191 ../src/desktop_file.c:554 -#, fuzzy msgid "Desktop file" -msgstr "Dosyayı sil" +msgstr "Masaüstü dosyası" #: ../src/desktop_file.c:300 ../src/ui_pathsel.c:494 #, c-format @@ -1042,13 +988,13 @@ "Unable to delete file:\n" "%s" msgstr "" -"%s 'yi maalesef\n" -"silemedim" +"Dosya silinemedi:\n" +"%s" #: ../src/desktop_file.c:301 ../src/ui_pathsel.c:495 ../src/utilops.c:2133 #: ../src/utilops.c:2160 ../src/utilops.c:2682 msgid "File deletion failed" -msgstr "Silerken bir hata oluştu" +msgstr "Dosya silme başarısız oldu" #: ../src/desktop_file.c:345 ../src/desktop_file.c:353 ../src/ui_pathsel.c:537 #: ../src/ui_pathsel.c:545 @@ -1061,208 +1007,198 @@ "About to delete the file:\n" " %s" msgstr "" -"%s dosyasını\n" -"silmek üzereyim" +"Dosya silinmek üzere:\n" +" %s" #: ../src/desktop_file.c:383 msgid "new.desktop" -msgstr "" +msgstr "yeni.desktop" #: ../src/desktop_file.c:467 msgid "Plugins" -msgstr "" +msgstr "Eklentiler" #: ../src/desktop_file.c:544 msgid "Hidden" -msgstr "" +msgstr "Gizli" #: ../src/desktop_file.c:563 ../src/dupe.c:2770 ../src/dupe.c:3307 #: ../src/print.c:3211 ../src/search.c:3115 ../src/ui_pathsel.c:1120 #: ../src/utilops.c:501 msgid "Path" -msgstr "" +msgstr "Yol" #: ../src/dupe.c:108 msgid "Drop files to compare them." -msgstr "" +msgstr "Karşılaştırmak için dosyaları bırakın." #: ../src/dupe.c:112 -#, fuzzy, c-format +#, c-format msgid "%d files" -msgstr "%d dosya %s" +msgstr "%d dosya" #: ../src/dupe.c:116 #, c-format msgid "%d matches found in %d files" -msgstr "" +msgstr "%d dosyada %d eşleşme bulundu" #: ../src/dupe.c:121 msgid "[set 1]" -msgstr "" +msgstr "[ayar 1]" #: ../src/dupe.c:1488 -#, fuzzy msgid "Reading checksums..." -msgstr "Tırnakları yükliyorum .." +msgstr "Sağlama toplamları okunuyor..." #: ../src/dupe.c:1521 msgid "Reading dimensions..." -msgstr "" +msgstr "Boyutlar okunuyor..." #: ../src/dupe.c:1555 msgid "Reading similarity data..." -msgstr "" +msgstr "Benzerlik verileri okunuyor..." #: ../src/dupe.c:1591 ../src/dupe.c:1622 -#, fuzzy msgid "Comparing..." -msgstr "Kopyala ..." +msgstr "Karşılaştırma..." #: ../src/dupe.c:1602 ../src/pan-view/pan-view.c:1011 -#, fuzzy msgid "Sorting..." -msgstr "Kopyala ..." +msgstr "Sıralama..." #: ../src/dupe.c:2352 msgid "Select group _1 duplicates" -msgstr "" +msgstr "Grup _1 kopyalarını seç" #: ../src/dupe.c:2354 msgid "Select group _2 duplicates" -msgstr "" +msgstr "Grup _2 kopyalarını seç" #: ../src/dupe.c:2386 ../src/dupe.c:2673 ../src/search.c:1100 msgid "C_lear" -msgstr "" +msgstr "Temiz_le" #: ../src/dupe.c:2389 ../src/dupe.c:2676 -#, fuzzy msgid "Close _window" -msgstr "Pencereyi kapat" +msgstr "_Pencereyi kapat" #: ../src/dupe.c:2549 -#, fuzzy, c-format +#, c-format msgid "%d files (set 2)" -msgstr "%d dosya %s" +msgstr "%d dosya (ayar 2)" #: ../src/dupe.c:2765 msgid "Name case-insensitive" -msgstr "" +msgstr "Ad büyük/küçük harfe duyarlı" #: ../src/dupe.c:2766 ../src/dupe.c:3304 ../src/preferences.c:1809 #: ../src/print.c:3215 ../src/search.c:3112 #: ../src/view_file/view_file_list.c:1939 -#, fuzzy msgid "Size" -msgstr "Boy :" +msgstr "Boyut" #: ../src/dupe.c:2767 ../src/dupe.c:3305 ../src/exif.c:336 #: ../src/exif-common.c:565 ../src/print.c:3213 ../src/search.c:3113 #: ../src/view_file/view_file_list.c:1943 -#, fuzzy msgid "Date" -msgstr "Sil" +msgstr "Tarih" #: ../src/dupe.c:2768 ../src/dupe.c:3306 ../src/print.c:3217 #: ../src/search.c:3114 msgid "Dimensions" -msgstr "" +msgstr "Boyutlar" #: ../src/dupe.c:2769 msgid "Checksum" -msgstr "" +msgstr "Sağlama Toplamı" #: ../src/dupe.c:2771 msgid "Similarity (high)" -msgstr "" +msgstr "Benzerlik (yüksek)" #: ../src/dupe.c:2772 msgid "Similarity" -msgstr "" +msgstr "Benzerlik" #: ../src/dupe.c:2773 msgid "Similarity (low)" -msgstr "" +msgstr "Benzerlik (düşük)" #: ../src/dupe.c:2774 msgid "Similarity (custom)" -msgstr "" +msgstr "Benzerlik (özel)" #: ../src/dupe.c:3257 ../src/toolbar.c:86 -#, fuzzy msgid "Find duplicates" -msgstr "Yeniden adlandır .." +msgstr "Kopyaları bul" #: ../src/dupe.c:3339 msgid "Compare to:" -msgstr "" +msgstr "Şununla karşılaştır:" #: ../src/dupe.c:3352 msgid "Compare by:" -msgstr "" +msgstr "Karşlaştır:" #: ../src/dupe.c:3360 ../src/preferences.c:1599 ../src/search.c:3128 msgid "Thumbnails" -msgstr "Tırnaklar" +msgstr "Küçük resimler" #: ../src/dupe.c:3368 msgid "Ignore Rotation" -msgstr "" +msgstr "Döndürmeyi Yoksay" #: ../src/dupe.c:3376 msgid "Compare two file sets" -msgstr "" +msgstr "İki dosya kümesini karşılaştırın" #: ../src/dupe.c:3396 ../src/menu.c:221 msgid "Sort" -msgstr "" +msgstr "Sırala" #: ../src/dupe.c:3404 -#, fuzzy msgid "Custom Threshold" -msgstr "Benim dosya tiplerim :" +msgstr "Özel Eşik" #: ../src/editors.c:295 #, c-format msgid "Desktop file '%s' should not include extension in Icon key: '%s'\n" -msgstr "" +msgstr "'%s' masaüstü dosyası simge anahtarında uzantı içermemelidir: '%s'\n" #. flash fired (bit 0) #: ../src/editors.c:349 ../src/exif.c:220 ../src/exif-common.c:374 -#, fuzzy msgid "yes" -msgstr "Evet" +msgstr "evet" #: ../src/editors.c:349 ../src/exif.c:219 ../src/exif-common.c:374 msgid "no" -msgstr "" +msgstr "hayır" #: ../src/editors.c:521 -#, fuzzy msgid "stopping..." -msgstr "Kopyala ..." +msgstr "durduruluyor..." #: ../src/editors.c:542 msgid "Edit command results" -msgstr "" +msgstr "Komut sonuçlarını düzenle" #: ../src/editors.c:545 #, c-format msgid "Output of %s" -msgstr "" +msgstr "%s çıktısı" #: ../src/editors.c:1072 -#, fuzzy, c-format +#, c-format msgid "" "Failed to run command:\n" "%s\n" msgstr "" -"%s 'yi maalesef\n" -"silemedim" +"Komut çalıştırılamadı:\n" +"%s\n" #: ../src/editors.c:1199 msgid "stopped by user" -msgstr "" +msgstr "kullanıcı tarafından durduruldu" #: ../src/editors.c:1284 #, c-format @@ -1270,1041 +1206,989 @@ "%s\n" "\"%s\"" msgstr "" +"%s\n" +"\"%s\"" #: ../src/editors.c:1286 -#, fuzzy msgid "Invalid editor command" -msgstr "Geçersiz dizin" +msgstr "Geçersiz düzenleyici komutu" #: ../src/editors.c:1373 msgid "Editor template is empty." -msgstr "" +msgstr "Düzenleyici şablonu boş." #: ../src/editors.c:1374 msgid "Editor template has incorrect syntax." -msgstr "" +msgstr "Düzenleyici şablonunun yanlış sözdizimi var." #: ../src/editors.c:1375 msgid "Editor template uses incompatible macros." -msgstr "" +msgstr "Düzenleyici şablonu, uyumsuz makrolar kullanır." #: ../src/editors.c:1376 msgid "Can't find matching file type." -msgstr "" +msgstr "Eşleşen dosya türü bulunamadı." #: ../src/editors.c:1377 msgid "Can't execute external editor." -msgstr "" +msgstr "Dış düzenleyici yürütülemiyor." #: ../src/editors.c:1378 msgid "External editor returned error status." -msgstr "" +msgstr "Dış düzenleyici hata durumu döndürdü." #: ../src/editors.c:1379 msgid "File was skipped." -msgstr "" +msgstr "Dosya atlanmış." #: ../src/editors.c:1380 msgid "Unknown error." -msgstr "" +msgstr "Bilinmeyen hata." #: ../src/exif.c:142 ../src/exif.c:155 ../src/exif.c:169 ../src/exif.c:194 #: ../src/exif.c:311 ../src/exif.c:658 ../src/exif-common.c:350 #: ../src/exif-common.c:353 ../src/exif-common.c:420 -#, fuzzy msgid "unknown" -msgstr "(bennebileyimne)'de" +msgstr "bilinmeyen" #: ../src/exif.c:143 -#, fuzzy msgid "top left" -msgstr "Sil" +msgstr "üst sol" #: ../src/exif.c:144 msgid "top right" -msgstr "" +msgstr "üst sağ" #: ../src/exif.c:145 msgid "bottom right" -msgstr "" +msgstr "alt sağ" #: ../src/exif.c:146 msgid "bottom left" -msgstr "" +msgstr "alt sol" #: ../src/exif.c:147 -#, fuzzy msgid "left top" -msgstr "Sil" +msgstr "sol üst" #: ../src/exif.c:148 msgid "right top" -msgstr "" +msgstr "sağ üst" #: ../src/exif.c:149 msgid "right bottom" -msgstr "" +msgstr "sağ alt" #: ../src/exif.c:150 msgid "left bottom" -msgstr "" +msgstr "sol alt" #: ../src/exif.c:157 msgid "inch" -msgstr "" +msgstr "inç" #: ../src/exif.c:158 msgid "centimeter" -msgstr "" +msgstr "santimetre" #: ../src/exif.c:170 msgid "average" -msgstr "" +msgstr "ortalama" #: ../src/exif.c:171 msgid "center weighted" -msgstr "" - +msgstr "merkez ağırlıklı" + +# programda bakmalı #: ../src/exif.c:172 msgid "spot" -msgstr "" +msgstr "nokta" #: ../src/exif.c:173 msgid "multi-spot" -msgstr "" +msgstr "çoklu nokta" #: ../src/exif.c:174 msgid "multi-segment" -msgstr "" +msgstr "çok kademeli" #: ../src/exif.c:175 msgid "partial" -msgstr "" +msgstr "kısmi" #: ../src/exif.c:176 ../src/exif.c:214 msgid "other" -msgstr "" +msgstr "diğer" #: ../src/exif.c:181 ../src/exif.c:233 msgid "not defined" -msgstr "" +msgstr "tanımlanmamış" #: ../src/exif.c:182 ../src/exif.c:261 ../src/exif.c:268 msgid "manual" -msgstr "" +msgstr "el ile" #: ../src/exif.c:183 ../src/exif.c:254 ../src/exif.c:290 ../src/exif.c:297 #: ../src/exif.c:304 -#, fuzzy msgid "normal" -msgstr "Genel" +msgstr "olağan" #: ../src/exif.c:184 msgid "aperture" -msgstr "" +msgstr "açıklık" #: ../src/exif.c:185 msgid "shutter" -msgstr "" +msgstr "deklanşör" #: ../src/exif.c:186 -#, fuzzy msgid "creative" -msgstr "Yarat" +msgstr "oluşturucu" #: ../src/exif.c:187 msgid "action" -msgstr "" +msgstr "eylem" #: ../src/exif.c:188 ../src/exif.c:275 msgid "portrait" -msgstr "" +msgstr "portre" #: ../src/exif.c:189 ../src/exif.c:274 msgid "landscape" -msgstr "" +msgstr "manzara" #: ../src/exif.c:195 msgid "daylight" -msgstr "" +msgstr "gün ışığı" #: ../src/exif.c:196 msgid "fluorescent" -msgstr "" +msgstr "floresan" #: ../src/exif.c:197 msgid "tungsten (incandescent)" -msgstr "" +msgstr "tungsten (akkor)" #: ../src/exif.c:198 msgid "flash" -msgstr "" +msgstr "flaş" #: ../src/exif.c:199 msgid "fine weather" -msgstr "" +msgstr "güzel hava" #: ../src/exif.c:200 msgid "cloudy weather" -msgstr "" +msgstr "bulutlu hava" #: ../src/exif.c:201 msgid "shade" -msgstr "" +msgstr "gölge" #: ../src/exif.c:202 msgid "daylight fluorescent" -msgstr "" +msgstr "gün ışığı floresan" #: ../src/exif.c:203 msgid "day white fluorescent" -msgstr "" +msgstr "gün beyazı floresan" #: ../src/exif.c:204 msgid "cool white fluorescent" -msgstr "" +msgstr "soğuk beyaz floresan" #: ../src/exif.c:205 msgid "white fluorescent" -msgstr "" +msgstr "beyaz floresan" #: ../src/exif.c:206 msgid "standard light A" -msgstr "" +msgstr "standart ışık A" #: ../src/exif.c:207 msgid "standard light B" -msgstr "" +msgstr "standart ışık B" #: ../src/exif.c:208 msgid "standard light C" -msgstr "" +msgstr "standart ışık C" #: ../src/exif.c:209 msgid "D55" -msgstr "" +msgstr "D55" #: ../src/exif.c:210 msgid "D65" -msgstr "" +msgstr "D65" #: ../src/exif.c:211 msgid "D75" -msgstr "" +msgstr "D75" #: ../src/exif.c:212 msgid "D50" -msgstr "" +msgstr "D50" #: ../src/exif.c:213 msgid "ISO studio tungsten" -msgstr "" +msgstr "ISO stüdyosu tungsten" #: ../src/exif.c:221 msgid "yes, not detected by strobe" -msgstr "" +msgstr "evet, çakar tarafından algılanmadı" #: ../src/exif.c:222 msgid "yes, detected by strobe" -msgstr "" +msgstr "evet, çakar tarafından algılandı" #: ../src/exif.c:228 msgid "uncalibrated" -msgstr "" +msgstr "kalibre edilmemiş" #: ../src/exif.c:234 msgid "1 chip color area" -msgstr "" +msgstr "1 çip renk alanı" #: ../src/exif.c:235 msgid "2 chip color area" -msgstr "" +msgstr "2 çip renk alanı" #: ../src/exif.c:236 msgid "3 chip color area" -msgstr "" +msgstr "3 çip renk alanı" #: ../src/exif.c:237 msgid "color sequential area" -msgstr "" +msgstr "renk sıralı alanı" #: ../src/exif.c:238 -#, fuzzy msgid "trilinear" -msgstr "Filtralama" +msgstr "üç çizgili" #: ../src/exif.c:239 msgid "color sequential linear" -msgstr "" +msgstr "renk sıralı doğrusal" #: ../src/exif.c:244 msgid "digital still camera" -msgstr "" +msgstr "dijital sabit kamera" #: ../src/exif.c:249 msgid "direct photo" -msgstr "" +msgstr "doğrudan fotoğraf" #: ../src/exif.c:255 msgid "custom" -msgstr "" +msgstr "özel" #: ../src/exif.c:260 ../src/exif.c:267 ../src/exif-common.c:388 msgid "auto" -msgstr "" +msgstr "otomatik" #: ../src/exif.c:262 -#, fuzzy msgid "auto bracket" -msgstr "Mönü adı" +msgstr "otomatik destek" #: ../src/exif.c:273 msgid "standard" -msgstr "" +msgstr "standart" #: ../src/exif.c:276 msgid "night scene" -msgstr "" +msgstr "gece çekimi" #: ../src/exif.c:281 -#, fuzzy msgid "none" -msgstr "Taşı" +msgstr "yok" #: ../src/exif.c:282 msgid "low gain up" -msgstr "" +msgstr "düşük kazanç" #: ../src/exif.c:283 msgid "high gain up" -msgstr "" +msgstr "yüksek kazanç" #: ../src/exif.c:284 -#, fuzzy msgid "low gain down" -msgstr "Pencereyi kapat" +msgstr "düşük kayıp" #: ../src/exif.c:285 msgid "high gain down" -msgstr "" +msgstr "yüksek kayıp" #: ../src/exif.c:291 ../src/exif.c:305 msgid "soft" -msgstr "" +msgstr "yumuşak" #: ../src/exif.c:292 ../src/exif.c:306 msgid "hard" -msgstr "" +msgstr "sert" #: ../src/exif.c:298 msgid "low" -msgstr "" +msgstr "düşük" #: ../src/exif.c:299 msgid "high" -msgstr "" +msgstr "yüksek" #: ../src/exif.c:312 msgid "macro" -msgstr "" +msgstr "makro" #: ../src/exif.c:313 msgid "close" -msgstr "" +msgstr "kapat" #: ../src/exif.c:314 msgid "distant" -msgstr "" +msgstr "uzak" #: ../src/exif.c:324 -#, fuzzy msgid "Image Width" -msgstr "Resim" +msgstr "Resim Genişliği" #: ../src/exif.c:325 -#, fuzzy msgid "Image Height" -msgstr "Geçersiz hedef" +msgstr "Resim Yüksekliği" #: ../src/exif.c:326 msgid "Bits per Sample/Pixel" -msgstr "" +msgstr "Örnek/Piksel başına bit" #: ../src/exif.c:327 -#, fuzzy msgid "Compression" -msgstr "Kopyala ..." +msgstr "Sıkıştırma" #: ../src/exif.c:328 -#, fuzzy msgid "Image description" -msgstr "Geçersiz hedef" +msgstr "Resim açıklaması" #: ../src/exif.c:329 msgid "Camera make" -msgstr "" +msgstr "Kamera yapma" #: ../src/exif.c:330 msgid "Camera model" -msgstr "" +msgstr "Kamera modeli" #: ../src/exif.c:331 msgid "Orientation" -msgstr "" +msgstr "Yönlendirme" #: ../src/exif.c:332 msgid "X resolution" -msgstr "" +msgstr "X çözünürlüğü" #: ../src/exif.c:333 msgid "Y Resolution" -msgstr "" +msgstr "Y çözünürlüğü" #: ../src/exif.c:334 -#, fuzzy msgid "Resolution units" -msgstr "Üstüne yaz" +msgstr "Çözünürlük birimleri" #: ../src/exif.c:335 msgid "Firmware" -msgstr "" +msgstr "Yazılım" #: ../src/exif.c:337 msgid "White point" -msgstr "" +msgstr "Beyaz nokta" #: ../src/exif.c:338 msgid "Primary chromaticities" -msgstr "" +msgstr "Birincil kromatiklikler" #: ../src/exif.c:339 msgid "YCbCy coefficients" -msgstr "" +msgstr "YCbCy katsayıları" #: ../src/exif.c:340 msgid "YCbCr positioning" -msgstr "" +msgstr "YCbCr konumlandırma" #: ../src/exif.c:341 -#, fuzzy msgid "Black white reference" -msgstr "Geeqie - yeniden adlandır" +msgstr "Siyah beyaz referans" #: ../src/exif.c:343 msgid "SubIFD Exif offset" -msgstr "" +msgstr "SubIFD Exif baskı" #. subIFD follows #: ../src/exif.c:345 msgid "Exposure time (seconds)" -msgstr "" +msgstr "Pozlama süresi (saniye)" #: ../src/exif.c:346 msgid "FNumber" -msgstr "" +msgstr "Oransal açıklık" #: ../src/exif.c:347 msgid "Exposure program" -msgstr "" +msgstr "Pozlama programı" #: ../src/exif.c:348 msgid "Spectral Sensitivity" -msgstr "" +msgstr "Görüntüsel Duyarlılık" #: ../src/exif.c:349 ../src/exif.c:385 ../src/exif-common.c:569 msgid "ISO sensitivity" -msgstr "" +msgstr "ISO Duyarlılığı" #: ../src/exif.c:350 msgid "Optoelectric conversion factor" -msgstr "" +msgstr "Optoelektrik dönüşüm etkeni" #: ../src/exif.c:351 msgid "Exif version" -msgstr "" +msgstr "Exif sürümü" #: ../src/exif.c:352 msgid "Date original" -msgstr "" +msgstr "Özgün tarih" #: ../src/exif.c:353 msgid "Date digitized" -msgstr "" +msgstr "Sayısallaştırılmış tarih" #: ../src/exif.c:354 -#, fuzzy msgid "Pixel format" -msgstr "Filtralama" +msgstr "Piksel biçimi" #: ../src/exif.c:355 msgid "Compression ratio" -msgstr "" +msgstr "Sıkıştırma oranı" #: ../src/exif.c:356 ../src/exif-common.c:566 msgid "Shutter speed" -msgstr "" +msgstr "Deklanşör hızı" #: ../src/exif.c:357 ../src/exif-common.c:567 msgid "Aperture" -msgstr "" +msgstr "Açıklık" #: ../src/exif.c:358 msgid "Brightness" -msgstr "" +msgstr "Parlaklık" #: ../src/exif.c:359 ../src/exif-common.c:568 msgid "Exposure bias" -msgstr "" +msgstr "Pozlama eğilimi" #: ../src/exif.c:360 -#, fuzzy msgid "Maximum aperture" -msgstr "Dosya" +msgstr "En fazla açıklık" #: ../src/exif.c:361 ../src/exif-common.c:572 msgid "Subject distance" -msgstr "" +msgstr "Özne uzaklığı" #: ../src/exif.c:362 msgid "Metering mode" -msgstr "" +msgstr "Ölçme kipi" #: ../src/exif.c:363 msgid "Light source" -msgstr "" +msgstr "Işık kaynağı" #: ../src/exif.c:364 ../src/exif-common.c:573 msgid "Flash" -msgstr "" +msgstr "Flaş" #: ../src/exif.c:365 ../src/exif-common.c:570 msgid "Focal length" -msgstr "" +msgstr "Odak uzaklığı" #: ../src/exif.c:366 msgid "Subject area" -msgstr "" +msgstr "Özne alanı" #: ../src/exif.c:367 msgid "MakerNote" -msgstr "" +msgstr "YapanNotu" #: ../src/exif.c:368 -#, fuzzy msgid "UserComment" -msgstr "Büyült" +msgstr "KullanıcıYorumu" #: ../src/exif.c:369 msgid "Subsecond time" -msgstr "" +msgstr "Alt İkinci zaman" #: ../src/exif.c:370 msgid "Subsecond time original" -msgstr "" +msgstr "Özgün Alt İkinci zaman" #: ../src/exif.c:371 msgid "Subsecond time digitized" -msgstr "" +msgstr "Alt İkinci zaman sayısallaştırılmış" #: ../src/exif.c:372 msgid "FlashPix version" -msgstr "" +msgstr "FlashPix sürümü" #: ../src/exif.c:373 msgid "Colorspace" -msgstr "" +msgstr "Renkalanı" #. ExifImageWidth, ExifImageHeight can also be unsigned short #: ../src/exif.c:375 ../src/preferences.c:2604 msgid "Width" -msgstr "" +msgstr "Genişlik" #: ../src/exif.c:376 ../src/preferences.c:2606 msgid "Height" -msgstr "" +msgstr "Yükseklik" #: ../src/exif.c:377 -#, fuzzy msgid "Audio data" -msgstr "Listeleri yenile" +msgstr "Ses verisi" #: ../src/exif.c:378 msgid "ExifR98 extension" -msgstr "" +msgstr "ExifR98 uzantısı" #: ../src/exif.c:379 msgid "Flash strength" -msgstr "" +msgstr "Flaş gücü" #: ../src/exif.c:380 msgid "Spatial frequency response" -msgstr "" +msgstr "Mekansal frekans cevabı" #: ../src/exif.c:381 msgid "X Pixel density" -msgstr "" +msgstr "X Piksel yoğunluğu" #: ../src/exif.c:382 msgid "Y Pixel density" -msgstr "" +msgstr "Y Piksel yoğunluğu" #: ../src/exif.c:383 msgid "Pixel density units" -msgstr "" +msgstr "Piksel yoğunluğu birimleri" #: ../src/exif.c:384 -#, fuzzy msgid "Subject location" -msgstr "Seçenekler ..." +msgstr "Özne konumu" #: ../src/exif.c:386 msgid "Sensor type" -msgstr "" +msgstr "Algılayıcı türü" #: ../src/exif.c:387 msgid "Source type" -msgstr "" +msgstr "Kaynak türü" #: ../src/exif.c:388 -#, fuzzy msgid "Scene type" -msgstr "Filtralama" +msgstr "Sahne türü" #: ../src/exif.c:389 msgid "Color filter array pattern" -msgstr "" +msgstr "Renk süzgeci sıra deseni" #. tags a4xx were added for Exif 2.2 (not just these - some above, as well) #: ../src/exif.c:391 -#, fuzzy msgid "Render process" -msgstr "Yeniden adlandır" +msgstr "Oluşturma işlemi" #: ../src/exif.c:392 msgid "Exposure mode" -msgstr "" +msgstr "Pozlama kipi" #: ../src/exif.c:393 msgid "White balance" -msgstr "" +msgstr "Beyaz dengesi" #: ../src/exif.c:394 msgid "Digital zoom ratio" -msgstr "" +msgstr "Sayısal yakınlaştırma oranı" #: ../src/exif.c:395 msgid "Focal length (35mm)" -msgstr "" +msgstr "Odak uzaklığı (35mm)" #: ../src/exif.c:396 msgid "Scene capture type" -msgstr "" +msgstr "Sahne yakalama türü" #: ../src/exif.c:397 -#, fuzzy msgid "Gain control" -msgstr "Dinamik ayarlamalar" +msgstr "Kazanç denetimi" #: ../src/exif.c:398 -#, fuzzy msgid "Contrast" -msgstr "Devam et" +msgstr "Karşıtlık" #: ../src/exif.c:399 ../src/preferences.c:2220 msgid "Saturation" -msgstr "" +msgstr "Doygunluk" #: ../src/exif.c:400 msgid "Sharpness" -msgstr "" +msgstr "Netlik" #: ../src/exif.c:401 msgid "Device setting" -msgstr "" +msgstr "Aygıt ayarları" #: ../src/exif.c:402 msgid "Subject range" -msgstr "" +msgstr "Özne alanı" #: ../src/exif.c:403 -#, fuzzy msgid "Image serial number" -msgstr "Resim" +msgstr "Resmin seri numarası" #: ../src/exif.c:1110 msgid "Can't get image comment: not compiled with Exiv2.\n" -msgstr "" +msgstr "Resim yorumu alınamıyor: Exiv2 ile derlenmedi.\n" #: ../src/exif.c:1116 msgid "Can't set image comment: not compiled with Exiv2.\n" -msgstr "" +msgstr "Resim yorumu ayarlanamıyor: Exiv2 ile derlenmedi.\n" #: ../src/exif-common.c:349 msgid "infinity" -msgstr "" +msgstr "sonsuzluk" #: ../src/exif-common.c:378 -#, fuzzy msgid "mode:" -msgstr "Dosya" +msgstr "kip:" #: ../src/exif-common.c:382 ../src/trash.c:213 msgid "on" -msgstr "" +msgstr "açık" #: ../src/exif-common.c:385 ../src/trash.c:218 msgid "off" -msgstr "" +msgstr "kapalı" #: ../src/exif-common.c:394 msgid "not detected by strobe" -msgstr "" +msgstr "çakar tarafından algılanmadı" #: ../src/exif-common.c:395 msgid "detected by strobe" -msgstr "" +msgstr "çakar tarafından algılandı" #. we ignore flash function (bit 5) #. red-eye (bit 6) #: ../src/exif-common.c:400 msgid "red-eye reduction" -msgstr "" +msgstr "kırmızı göz azaltma" #: ../src/exif-common.c:420 msgid "dot" -msgstr "" +msgstr "benek" #: ../src/exif-common.c:453 msgid "AdobeRGB" -msgstr "" +msgstr "AdobeRGB" #: ../src/exif-common.c:461 msgid "embedded" -msgstr "" +msgstr "gömülü" #: ../src/exif-common.c:556 msgid "Above Sea Level" -msgstr "" +msgstr "Deniz seviyesinden yukarıda" #: ../src/exif-common.c:556 msgid "Below Sea Level" -msgstr "" +msgstr "Deniz seviyesinin altında" #: ../src/exif-common.c:564 -#, fuzzy msgid "Camera" -msgstr "Yeniden adlandır" +msgstr "Kamera" #: ../src/exif-common.c:571 msgid "Focal length 35mm" -msgstr "" +msgstr "Odak uzaklığı 35mm" #: ../src/exif-common.c:574 -#, fuzzy msgid "Resolution" -msgstr "Üstüne yaz" +msgstr "Çözünürlük" #: ../src/exif-common.c:575 -#, fuzzy msgid "Color profile" -msgstr "%d dosya %s" +msgstr "Renk düzeni" #: ../src/exif-common.c:576 msgid "GPS position" -msgstr "" +msgstr "GPS konumu" #: ../src/exif-common.c:577 msgid "GPS altitude" -msgstr "" +msgstr "GPS yüksekliği" #: ../src/exif-common.c:578 -#, fuzzy msgid "File size" -msgstr "Dosya" +msgstr "Dosya boyutu" #: ../src/exif-common.c:579 -#, fuzzy msgid "File date" -msgstr "Filtralama" +msgstr "Dosya tarihi" #: ../src/exif-common.c:580 -#, fuzzy msgid "File mode" -msgstr "Yeniden adlandır :" +msgstr "Dosya kipi" #: ../src/filedata.c:109 -#, fuzzy, c-format +#, c-format msgid "%d bytes" -msgstr "%d dosya %s" +msgstr "%d bayt" #: ../src/filedata.c:113 #, c-format msgid "%.1f K" -msgstr "" +msgstr "%.1f K" #: ../src/filedata.c:117 #, c-format msgid "%.1f MB" -msgstr "" +msgstr "%.1f MB" #: ../src/filedata.c:122 #, c-format msgid "%.1f GB" -msgstr "" +msgstr "%.1f GB" #: ../src/filedata.c:2556 msgid "file or directory does not exist" -msgstr "" +msgstr "dosya veya dizin yok" #: ../src/filedata.c:2562 -#, fuzzy msgid "destination already exists" -msgstr "" -"%s dizini \n" -"zaten dosya halinde\n" -"var ." +msgstr "Hedef zaten var" #: ../src/filedata.c:2568 msgid "destination can't be overwritten" -msgstr "" +msgstr "hedefin üzerine yazılamaz" #: ../src/filedata.c:2574 msgid "destination directory is not writable" -msgstr "" +msgstr "hedef dizin yazılabilir değil" #: ../src/filedata.c:2580 msgid "destination directory does not exist" -msgstr "" +msgstr "hedef dizin yok" #: ../src/filedata.c:2586 msgid "source directory is not writable" -msgstr "" +msgstr "kaynak dizin yazılabilir değil" #: ../src/filedata.c:2592 msgid "no read permission" -msgstr "" +msgstr "okuma izni yok" #: ../src/filedata.c:2598 msgid "file is readonly" -msgstr "" +msgstr "dosya salt okunur" #: ../src/filedata.c:2604 msgid "destination already exists and will be overwritten" -msgstr "" +msgstr "hedef zaten var ve üzerine yazılacak" #: ../src/filedata.c:2610 -#, fuzzy msgid "source and destination are the same" -msgstr "Kaynak ve hedef eşittir, işlem durduruldu ." +msgstr "kaynak ve hedef aynı" #: ../src/filedata.c:2616 -#, fuzzy msgid "source and destination have different extension" -msgstr "Kaynak ve hedef eşittir, işlem durduruldu ." +msgstr "kaynak ve hedef farklı uzantılara sahip" #: ../src/filedata.c:2622 msgid "there are unsaved metadata changes for the file" -msgstr "" +msgstr "dosya için kaydedilmemiş meta veri değişiklikleri var" #: ../src/filedata.c:2628 msgid "another destination file has the same filename" -msgstr "" +msgstr "başka bir hedef dosya aynı dosya adına sahip" #: ../src/fullscreen.c:242 ../src/layout_util.c:1822 ../src/layout_util.c:1823 #: ../src/layout_util.c:1824 ../src/preferences.c:1822 -#, fuzzy msgid "Full screen" msgstr "Tam ekran" #: ../src/fullscreen.c:413 -#, fuzzy msgid "Full size" -msgstr "Dosya" +msgstr "Tam boy" #: ../src/fullscreen.c:421 msgid "Monitor" -msgstr "" +msgstr "Monitör" #: ../src/fullscreen.c:427 msgid "Screen" -msgstr "" +msgstr "Ekran" #: ../src/fullscreen.c:661 msgid "Determined by Window Manager" -msgstr "" +msgstr "Pencere Yöneticisi tarafından belirlenir" #: ../src/fullscreen.c:662 msgid "Active screen" -msgstr "" +msgstr "Etkin ekran" #: ../src/fullscreen.c:664 msgid "Active monitor" -msgstr "" +msgstr "Etkin monitör" #: ../src/histogram.c:121 msgid "Log Histogram on Red" -msgstr "" +msgstr "Kırmızı üzerinde Günlük Histogramı" #: ../src/histogram.c:122 msgid "Log Histogram on Green" -msgstr "" +msgstr "Yeşil üzerinde Günlük Histogramı" #: ../src/histogram.c:123 msgid "Log Histogram on Blue" -msgstr "" +msgstr "Mavi üzerinde Günlük Histogramı" #: ../src/histogram.c:124 msgid "Log Histogram on RGB" -msgstr "" +msgstr "RGB üzerinde Günlük Histogramı" #: ../src/histogram.c:125 msgid "Log Histogram on value" -msgstr "" +msgstr "Değer üzerinde Günlük Histogramı" #: ../src/histogram.c:130 msgid "Linear Histogram on Red" -msgstr "" +msgstr "Kırmızı üzerinde Doğrusal Histogram" #: ../src/histogram.c:131 msgid "Linear Histogram on Green" -msgstr "" +msgstr "Yeşil üzerinde Doğrusal Histogram" #: ../src/histogram.c:132 msgid "Linear Histogram on Blue" -msgstr "" +msgstr "Mavi üzerinde Doğrusal Histogram" #: ../src/histogram.c:133 msgid "Linear Histogram on RGB" -msgstr "" +msgstr "RGB üzerinde Doğrusal Histogram" #: ../src/histogram.c:134 msgid "Linear Histogram on value" -msgstr "" +msgstr "Değer üzerinde Doğrusal Histogram" #: ../src/history_list.c:214 -#, fuzzy, c-format +#, c-format msgid "Unable to write history lists to: %s\n" -msgstr "" -"%s dizinini maalesef\n" -"yaratamadım" +msgstr "Geçmiş listeleri yazılamıyor: %s\n" #: ../src/image.c:187 -#, fuzzy, c-format +#, c-format msgid " (Collection %s)" -msgstr "Üstüne yaz" +msgstr " (Koleksiyon %s)" #: ../src/image_load_jpeg.c:163 #, c-format msgid "Error interpreting JPEG image file (%s)" -msgstr "" +msgstr "JPEG resim dosyası yorumlanırken hata oluştu (%s)" #: ../src/img-view.c:1303 ../src/layout_image.c:674 ../src/layout_util.c:1789 #: ../src/layout_util.c:1790 ../src/layout_util.c:1805 #: ../src/layout_util.c:1806 ../src/pan-view/pan-view.c:2239 -#, fuzzy msgid "Zoom _in" -msgstr "Büyült" +msgstr "_Yakınlaştır" #: ../src/img-view.c:1304 ../src/layout_image.c:675 ../src/layout_util.c:1791 #: ../src/layout_util.c:1792 ../src/layout_util.c:1807 #: ../src/layout_util.c:1808 ../src/pan-view/pan-view.c:2241 -#, fuzzy msgid "Zoom _out" -msgstr "Küçült" +msgstr "_Uzaklaştır" #: ../src/img-view.c:1305 ../src/layout_image.c:676 ../src/layout_util.c:1793 #: ../src/layout_util.c:1794 ../src/layout_util.c:1809 #: ../src/layout_util.c:1810 ../src/pan-view/pan-view.c:2243 -#, fuzzy msgid "Zoom _1:1" -msgstr "1:1 göster" +msgstr "_1:1 Yakınlaştır" #: ../src/img-view.c:1306 ../src/layout_image.c:677 -#, fuzzy msgid "Fit image to _window" -msgstr "Pencerenin boyutuna ayarla" +msgstr "Resmi _pencereye sığdır" #: ../src/img-view.c:1315 ../src/layout_image.c:687 ../src/layout_util.c:1787 -#, fuzzy msgid "Set as _wallpaper" -msgstr "Ardalan yap" +msgstr "_Duvar kağıdı olarak ayarla" #: ../src/img-view.c:1320 ../src/layout_image.c:694 msgid "_Go to directory view" -msgstr "" +msgstr "Dizin görünümüne _git" #: ../src/img-view.c:1339 ../src/layout_image.c:719 -#, fuzzy msgid "_Stop slideshow" -msgstr "Resim şovu" +msgstr "Resim gö_sterisini durdur" #: ../src/img-view.c:1342 ../src/layout_image.c:722 -#, fuzzy msgid "Continue slides_how" -msgstr "Resim şovunu aç/kapat" +msgstr "Resim gösterisine _devam et" #: ../src/img-view.c:1347 ../src/img-view.c:1355 ../src/layout_image.c:727 #: ../src/layout_image.c:734 -#, fuzzy msgid "Pause slides_how" -msgstr "Resim şovu" +msgstr "Resim gösterisini _duraklat" #: ../src/img-view.c:1353 ../src/layout_image.c:733 -#, fuzzy msgid "_Start slideshow" -msgstr "Resim şovu" +msgstr "Resim gösterisini _başlat" #: ../src/img-view.c:1361 ../src/layout_image.c:744 #: ../src/pan-view/pan-view.c:2321 -#, fuzzy msgid "Exit _full screen" -msgstr "Tam ekrandan çık" +msgstr "Tam _ekrandan çık" #: ../src/img-view.c:1365 ../src/layout_image.c:740 #: ../src/pan-view/pan-view.c:2325 -#, fuzzy msgid "_Full screen" -msgstr "Tam ekran" +msgstr "_Tam ekran" #: ../src/img-view.c:1369 ../src/layout_util.c:1765 #: ../src/pan-view/pan-view.c:2329 -#, fuzzy msgid "C_lose window" -msgstr "Pencereyi kapat" +msgstr "Pencereyi _kapat" #: ../src/layout.c:402 ../src/view_file/view_file.c:634 msgid "Ascending" -msgstr "" +msgstr "Artan" #: ../src/layout.c:482 msgid "Scroll to top left corner" -msgstr "" +msgstr "Sol üst köşeye kaydır" #: ../src/layout.c:487 msgid "Scroll to image center" -msgstr "" +msgstr "Resim merkezine kaydır" #: ../src/layout.c:492 msgid "Keep the region from previous image" -msgstr "" +msgstr "Bölgeyi önceki resimden uzak tut" #: ../src/layout.c:579 msgid " Slideshow" -msgstr "Resim şovu" +msgstr " Resim gösterisi" #: ../src/layout.c:583 msgid " Paused" -msgstr "" +msgstr " Duraklatıldı" #: ../src/layout.c:599 -#, fuzzy, c-format +#, c-format msgid "%s, %d files (%s, %d)%s" -msgstr "%d dosya (%d)%s" +msgstr "%s, %d dosya (%s, %d)%s" #: ../src/layout.c:606 -#, fuzzy, c-format +#, c-format msgid "%s, %d files%s" -msgstr "%d dosya %s" +msgstr "%s, %d dosya%s" #: ../src/layout.c:611 #, c-format @@ -2314,1432 +2198,1269 @@ #: ../src/layout.c:657 #, c-format msgid "(no read permission) %s bytes" -msgstr "" +msgstr "(okuma izni yok) %s bayt" #: ../src/layout.c:661 -#, fuzzy, c-format +#, c-format msgid "( ? x ? ) %s bytes" -msgstr "( ? x ? ) %d byte" +msgstr "( ? x ? ) %s bayt" #: ../src/layout.c:669 -#, fuzzy, c-format +#, c-format msgid "( %d x %d ) %s bytes" -msgstr "( %d x %d ) %d byte" +msgstr "( %d x %d ) %s bayt" #: ../src/layout.c:755 -#, fuzzy msgid "Select sort order" -msgstr "Sil .." +msgstr "Sıralama düzenini seç" #: ../src/layout.c:760 -#, fuzzy msgid "Folder contents (files selected)" -msgstr "geçerli opsiyonlar :\n" +msgstr "Dizin içeriği (seçilen dosyalar)" #: ../src/layout.c:769 -#, fuzzy msgid "(Image dimensions) Image size" -msgstr "Geçersiz hedef" +msgstr "(Resim boyutları) Resim boyutu" #: ../src/layout.c:779 -#, fuzzy msgid "Select zoom mode" -msgstr "Sil .." +msgstr "Yakınlaştırma kipini seç" #. expand only in small format #: ../src/layout.c:789 msgid "[Pixel x,y coord]: (Pixel R,G,B value)" -msgstr "" +msgstr "[Piksel x, y koordinatı]: (Piksel R, G, B değeri)" #: ../src/layout.c:1429 ../src/layout_config.c:67 -#, fuzzy msgid "Tools" -msgstr "Dosya" +msgstr "Araçlar" #: ../src/layout.c:2056 msgid "Window options and layout" -msgstr "" +msgstr "Pencere seçenekleri ve düzeni" #: ../src/layout.c:2121 -#, fuzzy msgid "General options" -msgstr "Genel" +msgstr "Genel seçenekler" #: ../src/layout.c:2123 msgid "Home path (empty to use your home directory)" -msgstr "" +msgstr "Ana yol (ev dizininizi kullanmak için boş)" #: ../src/layout.c:2131 msgid "Use current" -msgstr "Şu ankini kullan" +msgstr "Geçerliyi kullan" #: ../src/layout.c:2134 -#, fuzzy msgid "Show date in directories list view" -msgstr "Geeqie - yeni dizin" +msgstr "Tarihi dizin listesi görünümünde göster" #: ../src/layout.c:2137 msgid "Exit program when this window is closed" -msgstr "" +msgstr "Bu pencere kapandığında programdan çık" #: ../src/layout.c:2140 -#, fuzzy msgid "Start-up directory:" -msgstr "Başlangıç dizini" +msgstr "Başlangıç dizini:" #: ../src/layout.c:2142 msgid "No change" -msgstr "" +msgstr "Değişiklik yok" #: ../src/layout.c:2145 -#, fuzzy msgid "Restore last path" -msgstr "Silerken bir hata oluştu" +msgstr "Son yolu geri yükle" #: ../src/layout.c:2148 -#, fuzzy msgid "Home path" -msgstr "Kopyala" +msgstr "Ev yolu" #: ../src/layout.c:2152 ../src/print.c:3375 ../src/print.c:3382 msgid "Layout" -msgstr "" +msgstr "Düzen" #: ../src/layout.c:2399 -#, fuzzy msgid "Invalid geometry\n" -msgstr "geçerli opsiyonlar :\n" +msgstr "Geçersiz geometri\n" #: ../src/layout_config.c:67 ../src/preferences.c:1941 ../src/ui_pathsel.c:1187 -#, fuzzy msgid "Files" -msgstr "Dosya" - -#: ../src/layout_config.c:67 ../src/preferences.c:108 ../src/preferences.c:1710 -#: ../src/print.c:133 +msgstr "Dosyalar" + +#: ../src/layout_config.c:67 ../src/preferences.c:108 +#: ../src/preferences.c:1710 ../src/print.c:133 msgid "Image" msgstr "Resim" #: ../src/layout_config.c:358 msgid "(drag to change order)" -msgstr "" +msgstr "(sırayı değiştirmek için sürükleyin)" #: ../src/layout_image.c:747 msgid "_Animate" -msgstr "" +msgstr "_Canlandırma" #: ../src/layout_image.c:751 -#, fuzzy msgid "Hide file _list" -msgstr "Dosya listesini göster/gizle" +msgstr "Dosya _listesini gizle" #: ../src/layout_image.c:1941 #, c-format msgid "[%*d,%*d]: RGB(%3d,%3d,%3d)" -msgstr "" +msgstr "[%*d,%*d]: RGB(%3d,%3d,%3d)" #: ../src/layout_image.c:1949 #, c-format msgid "[%*s,%*s]: RGB(---,---,---)" -msgstr "" +msgstr "[%*s,%*s]: RGB(---,---,---)" #: ../src/layout_util.c:523 -#, fuzzy msgid "Operation failed:\n" -msgstr "%s dizinini yaratamadım \n" +msgstr "İşlem başarısız:\n" #: ../src/layout_util.c:526 -#, fuzzy msgid "Cannot create tmp file" -msgstr "Dizini yaratamadım" +msgstr "tmp dosyası oluşturulamıyor" #: ../src/layout_util.c:529 -#, fuzzy msgid "File: " -msgstr "Filtralama" +msgstr "Dosya: " #: ../src/layout_util.c:533 -#, fuzzy msgid "Image orientation" -msgstr "Geçersiz hedef" +msgstr "Resim yönü" #: ../src/layout_util.c:1715 -#, fuzzy msgid "_File" -msgstr "Dosya" +msgstr "_Dosya" #: ../src/layout_util.c:1716 msgid "_Go" -msgstr "" +msgstr "_Git" #: ../src/layout_util.c:1717 ../src/menu.c:119 -#, fuzzy msgid "_Edit" -msgstr "Düzenle" +msgstr "_Düzenle" #: ../src/layout_util.c:1718 -#, fuzzy msgid "_Select" -msgstr "Seçenekler ..." +msgstr "_Seç" #: ../src/layout_util.c:1719 ../src/menu.c:372 msgid "_Orientation" -msgstr "" +msgstr "_Yönlendirme" #: ../src/layout_util.c:1720 -#, fuzzy msgid "_Rating" -msgstr "Filtralama" +msgstr "De_recelendirme" #: ../src/layout_util.c:1721 -#, fuzzy msgid "P_references" -msgstr "Seçenekler ..." +msgstr "Te_rcihler" #: ../src/layout_util.c:1723 msgid "_Files and Folders" -msgstr "" +msgstr "_Dosya ve Dizinler" #: ../src/layout_util.c:1724 -#, fuzzy msgid "_Zoom" -msgstr "Büyült" +msgstr "_Yakınlaştırma" #: ../src/layout_util.c:1725 msgid "_Color Management" -msgstr "" +msgstr "_Renk Yönetimi" #: ../src/layout_util.c:1726 msgid "_Connected Zoom" -msgstr "" +msgstr "_Bağlı Yakınlaştırma" #: ../src/layout_util.c:1727 msgid "Spli_t" -msgstr "" +msgstr "_Bölümleme" #: ../src/layout_util.c:1728 msgid "Stere_o" -msgstr "" +msgstr "Stere_o" #: ../src/layout_util.c:1729 ../src/layout_util.c:1866 -#, fuzzy msgid "Image _Overlay" -msgstr "Resim" +msgstr "Resim _Yerleşimi" #: ../src/layout_util.c:1730 msgid "_Plugins" -msgstr "" +msgstr "_Eklentiler" #: ../src/layout_util.c:1731 -#, fuzzy msgid "_Help" -msgstr "Yardım" +msgstr "_Yardım" #: ../src/layout_util.c:1733 -#, fuzzy msgid "_First Image" -msgstr "%d dosya %s" +msgstr "İlk _Resim" #: ../src/layout_util.c:1733 ../src/toolbar.c:74 -#, fuzzy msgid "First Image" -msgstr "%d dosya %s" +msgstr "İlk Resim" #: ../src/layout_util.c:1734 ../src/layout_util.c:1735 #: ../src/layout_util.c:1736 msgid "_Previous Image" -msgstr "" +msgstr "Önceki Res_im" #: ../src/layout_util.c:1734 ../src/layout_util.c:1735 #: ../src/layout_util.c:1736 ../src/toolbar.c:75 -#, fuzzy msgid "Previous Image" -msgstr "%d dosya %s" +msgstr "Önceki Resim" #: ../src/layout_util.c:1737 ../src/layout_util.c:1738 #: ../src/layout_util.c:1739 -#, fuzzy msgid "_Next Image" -msgstr "%d dosya %s" +msgstr "So_nraki Resim" #: ../src/layout_util.c:1737 ../src/layout_util.c:1738 #: ../src/layout_util.c:1739 ../src/toolbar.c:76 -#, fuzzy msgid "Next Image" -msgstr "%d dosya %s" +msgstr "Sonraki Resim" #: ../src/layout_util.c:1740 -#, fuzzy msgid "_Last Image" -msgstr "%d dosya %s" +msgstr "_Son Resim" #: ../src/layout_util.c:1740 ../src/toolbar.c:77 -#, fuzzy msgid "Last Image" -msgstr "%d dosya %s" +msgstr "Son Resim" #: ../src/layout_util.c:1741 msgid "_Back" -msgstr "" +msgstr "_Geri" #: ../src/layout_util.c:1741 ../src/toolbar.c:78 msgid "Back" -msgstr "" +msgstr "Geri" #: ../src/layout_util.c:1742 msgid "_Forward" -msgstr "" +msgstr "İle_ri" #: ../src/layout_util.c:1742 ../src/toolbar.c:79 msgid "Forward" -msgstr "" +msgstr "İleri" #: ../src/layout_util.c:1743 msgid "_Home" -msgstr "" +msgstr "_Ev" #: ../src/layout_util.c:1743 ../src/options.c:193 ../src/toolbar.c:80 #: ../src/ui_bookmark.c:567 ../src/ui_pathsel.c:1056 msgid "Home" -msgstr "" +msgstr "Ev" #: ../src/layout_util.c:1744 msgid "_Up" -msgstr "" +msgstr "Y_ukarı" #: ../src/layout_util.c:1744 ../src/toolbar.c:81 msgid "Up" -msgstr "" +msgstr "Yukarı" #: ../src/layout_util.c:1746 ../src/toolbar.c:82 -#, fuzzy msgid "New _window" -msgstr "Seçenekler ..." +msgstr "Yeni _pencere" #: ../src/layout_util.c:1746 -#, fuzzy msgid "New window" -msgstr "Seçenekler ..." +msgstr "Yeni pencere" #: ../src/layout_util.c:1747 -#, fuzzy msgid "_New collection" -msgstr "Seçenekler ..." +msgstr "Ye_ni koleksiyon" #: ../src/layout_util.c:1747 ../src/menu.c:431 ../src/toolbar.c:83 -#, fuzzy msgid "New collection" -msgstr "Seçenekler ..." +msgstr "Yeni koleksiyon" #: ../src/layout_util.c:1748 -#, fuzzy msgid "_Open collection..." -msgstr "Seçenekler ..." +msgstr "K_oleksiyon aç..." #: ../src/layout_util.c:1748 -#, fuzzy msgid "Open collection..." -msgstr "Seçenekler ..." +msgstr "Koleksiyon aç..." #: ../src/layout_util.c:1749 msgid "Open recen_t" -msgstr "" +msgstr "_Son kullanılanı aç" #: ../src/layout_util.c:1749 -#, fuzzy msgid "Open recent" -msgstr "Seçenekler ..." +msgstr "Son kullanılanı aç" #: ../src/layout_util.c:1750 -#, fuzzy msgid "_Search..." -msgstr "Kopyala ..." +msgstr "_Ara..." #: ../src/layout_util.c:1750 -#, fuzzy msgid "Search..." -msgstr "Kopyala ..." +msgstr "Ara..." #: ../src/layout_util.c:1751 -#, fuzzy msgid "Find duplicates..." -msgstr "Yeniden adlandır .." +msgstr "Kopayarı bul..." #: ../src/layout_util.c:1752 -#, fuzzy msgid "Pa_n view" -msgstr "" -"%s'yi yeniden\n" -"adlandır :\n" -" " +msgstr "Tava Görü_nümü" #: ../src/layout_util.c:1752 ../src/toolbar.c:87 -#, fuzzy msgid "Pan view" -msgstr "" -"%s'yi yeniden\n" -"adlandır :\n" -" " +msgstr "Tava görünümü" #: ../src/layout_util.c:1753 -#, fuzzy msgid "_Print..." -msgstr "Yeniden adlandır .." +msgstr "_Yazdır..." #: ../src/layout_util.c:1754 -#, fuzzy msgid "N_ew folder..." -msgstr "Sil .." +msgstr "Y_eni dizin..." #: ../src/layout_util.c:1754 -#, fuzzy msgid "New folder..." -msgstr "Sil .." +msgstr "Yeni dizin..." #: ../src/layout_util.c:1755 -#, fuzzy msgid "Copy..." -msgstr "Kopyala ..." +msgstr "Kopyala..." #: ../src/layout_util.c:1756 -#, fuzzy msgid "Move..." -msgstr "Taşı ..." +msgstr "Taşı..." #: ../src/layout_util.c:1757 -#, fuzzy msgid "Rename..." -msgstr "Yeniden adlandır .." +msgstr "Yeniden adlandır..." #: ../src/layout_util.c:1758 ../src/layout_util.c:1759 #: ../src/layout_util.c:1760 -#, fuzzy msgid "Delete..." -msgstr "Sil .." +msgstr "Sil..." #: ../src/layout_util.c:1761 ../src/view_file/view_file.c:616 -#, fuzzy msgid "Enable file _grouping" -msgstr "Dosya filtralarını kapat" +msgstr "Dosya _gruplamasını etkinleştir" #: ../src/layout_util.c:1761 -#, fuzzy msgid "Enable file grouping" -msgstr "Dosya filtralarını kapat" +msgstr "Dosya gruplamasını etkinleştir" #: ../src/layout_util.c:1762 ../src/view_file/view_file.c:618 -#, fuzzy msgid "Disable file groupi_ng" -msgstr "Dosya filtralarını kapat" +msgstr "Dosya grupla_mayı devre dışı bırak" #: ../src/layout_util.c:1762 -#, fuzzy msgid "Disable file grouping" -msgstr "Dosya filtralarını kapat" +msgstr "Dosya gruplamayı devre dışı bırak" #: ../src/layout_util.c:1763 -#, fuzzy msgid "_Copy path to clipboard" -msgstr "Kopyala" +msgstr "Yolu panoya _kopyala" #: ../src/layout_util.c:1763 msgid "Copy path to clipboard" -msgstr "" +msgstr "Yolu panoya kopyala" #: ../src/layout_util.c:1764 -#, fuzzy msgid "_Copy path unquoted to clipboard" -msgstr "Kopyala" +msgstr "Alıntılanmamış yolu panoya _kopyala" #: ../src/layout_util.c:1764 -#, fuzzy msgid "Copy path unquoted to clipboard" -msgstr "Kopyala" +msgstr "Alıntılanmamış yolu panoya kopyala" #: ../src/layout_util.c:1765 -#, fuzzy msgid "Close window" msgstr "Pencereyi kapat" #: ../src/layout_util.c:1766 -#, fuzzy msgid "_Quit" -msgstr "Yeniden adlandır .." +msgstr "Çı_k" #: ../src/layout_util.c:1766 ../src/toolbar.c:117 -#, fuzzy msgid "Quit" -msgstr "Yeniden adlandır .." +msgstr "Çık" #: ../src/layout_util.c:1767 ../src/menu.c:314 msgid "_Rotate clockwise" -msgstr "" +msgstr "Saat yönünde döndü_r" #: ../src/layout_util.c:1767 msgid "Rotate clockwise" -msgstr "" +msgstr "Saat yönünde döndür" #: ../src/layout_util.c:1768 msgid "_Rating 0" -msgstr "" +msgstr "De_recelendirme 0" #: ../src/layout_util.c:1768 -#, fuzzy msgid "Rating 0" -msgstr "Filtralama" +msgstr "Derecelendirme 0" #: ../src/layout_util.c:1769 msgid "_Rating 1" -msgstr "" +msgstr "De_recelendirme 1" #: ../src/layout_util.c:1769 -#, fuzzy msgid "Rating 1" -msgstr "Filtralama" +msgstr "Derecelendirme 1" #: ../src/layout_util.c:1770 msgid "_Rating 2" -msgstr "" +msgstr "De_recelendirme 2" #: ../src/layout_util.c:1770 -#, fuzzy msgid "Rating 2" -msgstr "Filtralama" +msgstr "Derecelendirme 2" #: ../src/layout_util.c:1771 msgid "_Rating 3" -msgstr "" +msgstr "De_recelendirme 3" #: ../src/layout_util.c:1771 -#, fuzzy msgid "Rating 3" -msgstr "Filtralama" +msgstr "Derecelendirme 3" #: ../src/layout_util.c:1772 msgid "_Rating 4" -msgstr "" +msgstr "De_recelendirme 4" #: ../src/layout_util.c:1772 -#, fuzzy msgid "Rating 4" -msgstr "Filtralama" +msgstr "Derecelendirme 4" #: ../src/layout_util.c:1773 msgid "_Rating 5" -msgstr "" +msgstr "De_recelendirme 5" #: ../src/layout_util.c:1773 -#, fuzzy msgid "Rating 5" -msgstr "Filtralama" +msgstr "Derecelendirme 5" #: ../src/layout_util.c:1774 msgid "_Rating -1" -msgstr "" +msgstr "De_recelendirme -1" #: ../src/layout_util.c:1774 msgid "Rating -1" -msgstr "" +msgstr "Derecelendirme -1" #: ../src/layout_util.c:1775 ../src/menu.c:317 msgid "Rotate _counterclockwise" -msgstr "" +msgstr "_Saat yönünün tersine çevir" #: ../src/layout_util.c:1775 msgid "Rotate counterclockwise" -msgstr "" +msgstr "Saat yönünün tersine çevir" #: ../src/layout_util.c:1776 msgid "Rotate 1_80" -msgstr "" +msgstr "1_80 derece döndür" #: ../src/layout_util.c:1776 msgid "Rotate 180" -msgstr "" +msgstr "180 derece döndür" #: ../src/layout_util.c:1777 ../src/menu.c:323 msgid "_Mirror" -msgstr "" +msgstr "_Ayna" #: ../src/layout_util.c:1777 msgid "Mirror" -msgstr "" +msgstr "Ayna" #: ../src/layout_util.c:1778 ../src/menu.c:326 msgid "_Flip" -msgstr "" +msgstr "Çe_vir" #: ../src/layout_util.c:1778 msgid "Flip" -msgstr "" +msgstr "Çevir" #: ../src/layout_util.c:1779 ../src/menu.c:329 -#, fuzzy msgid "_Original state" -msgstr "Yeniden adlandır :" +msgstr "Özgün hali" #: ../src/layout_util.c:1779 -#, fuzzy msgid "Original state" -msgstr "Yeniden adlandır :" +msgstr "Özgün hali" #: ../src/layout_util.c:1780 -#, fuzzy msgid "Select _all" -msgstr "Silerken bir hata oluştu" +msgstr "_Tümünü seç" #: ../src/layout_util.c:1781 -#, fuzzy msgid "Select _none" -msgstr "Seçenekler ..." +msgstr "Hiçbir şey seçme" #: ../src/layout_util.c:1782 -#, fuzzy msgid "_Invert Selection" -msgstr "Seçenekler ..." +msgstr "Zıt Seç_im" #: ../src/layout_util.c:1782 -#, fuzzy msgid "Invert Selection" -msgstr "Seçenekler ..." +msgstr "Zıt Seçim" #: ../src/layout_util.c:1783 -#, fuzzy msgid "P_references..." -msgstr "Seçenekler ..." +msgstr "Seçenekle_r..." #: ../src/layout_util.c:1783 -#, fuzzy msgid "Preferences..." -msgstr "Seçenekler ..." +msgstr "Seçenekler..." #: ../src/layout_util.c:1784 -#, fuzzy msgid "Configure _Plugins..." -msgstr "Seçenekleri ayarla" +msgstr "Eklentileri Ya_pılandır..." #: ../src/layout_util.c:1784 -#, fuzzy msgid "Configure Plugins..." -msgstr "Seçenekleri ayarla" +msgstr "Eklentileri Yapılandır..." #: ../src/layout_util.c:1785 -#, fuzzy msgid "_Configure this window..." -msgstr "Seçenekleri ayarla" +msgstr "Bu pen_cereyi yapılandır..." #: ../src/layout_util.c:1785 -#, fuzzy msgid "Configure this window..." -msgstr "Seçenekleri ayarla" +msgstr "Bu pencereyi yapılandır..." #: ../src/layout_util.c:1786 msgid "_Thumbnail maintenance..." -msgstr "" +msgstr "_Küçük resim bakımı..." #: ../src/layout_util.c:1786 -#, fuzzy msgid "Thumbnail maintenance..." -msgstr "Geeqie tam ekran" +msgstr "Küçük resim bakımı" #: ../src/layout_util.c:1787 -#, fuzzy msgid "Set as wallpaper" -msgstr "Ardalan yap" +msgstr "Duvar kağıdı olarak ayarla" #: ../src/layout_util.c:1788 msgid "_Save metadata" -msgstr "" +msgstr "Meta verileri _kaydet" #: ../src/layout_util.c:1788 msgid "Save metadata" -msgstr "" +msgstr "Meta verileri kaydet" #: ../src/layout_util.c:1789 ../src/layout_util.c:1790 ../src/toolbar.c:92 msgid "Zoom in" -msgstr "Büyült" +msgstr "Büyüt" #: ../src/layout_util.c:1791 ../src/layout_util.c:1792 ../src/toolbar.c:93 msgid "Zoom out" msgstr "Küçült" #: ../src/layout_util.c:1793 ../src/layout_util.c:1794 ../src/toolbar.c:94 -#, fuzzy msgid "Zoom 1:1" -msgstr "1:1 göster" +msgstr "1:1 yakınlaştır" #: ../src/layout_util.c:1795 ../src/layout_util.c:1796 #: ../src/layout_util.c:1811 ../src/layout_util.c:1812 -#, fuzzy msgid "_Zoom to fit" -msgstr "Küçült" +msgstr "Sığdırmak için _yakınlaştır" #: ../src/layout_util.c:1795 ../src/layout_util.c:1796 ../src/toolbar.c:95 -#, fuzzy msgid "Zoom to fit" -msgstr "Küçült" +msgstr "Sığdırmak için yakınlaştır" #: ../src/layout_util.c:1797 ../src/layout_util.c:1813 msgid "Fit _Horizontally" -msgstr "" +msgstr "_Yatay Olarak Sığdır" #: ../src/layout_util.c:1797 msgid "Fit Horizontally" -msgstr "" +msgstr "Yatay Olarak Sığdır" #: ../src/layout_util.c:1798 ../src/layout_util.c:1814 msgid "Fit _Vertically" -msgstr "" +msgstr "_Dikey Olarak Sığdır" #: ../src/layout_util.c:1798 msgid "Fit Vertically" -msgstr "" +msgstr "Dikey Olarak Sığdır" #: ../src/layout_util.c:1799 ../src/layout_util.c:1815 -#, fuzzy msgid "Zoom _2:1" -msgstr "1:1 göster" +msgstr "_2:1 Yakınlaştır" #: ../src/layout_util.c:1799 ../src/toolbar.c:98 -#, fuzzy msgid "Zoom 2:1" -msgstr "1:1 göster" +msgstr "2:1 Yakınlaştır" #: ../src/layout_util.c:1800 ../src/layout_util.c:1816 -#, fuzzy msgid "Zoom _3:1" -msgstr "1:1 göster" +msgstr "_3:1 Yakınlaştır" #: ../src/layout_util.c:1800 ../src/toolbar.c:99 -#, fuzzy msgid "Zoom 3:1" -msgstr "1:1 göster" +msgstr "3:1 Yakınlaştır" #: ../src/layout_util.c:1801 ../src/layout_util.c:1817 -#, fuzzy msgid "Zoom _4:1" -msgstr "1:1 göster" +msgstr "_4:1 Yakınlaştır" #: ../src/layout_util.c:1801 ../src/toolbar.c:100 -#, fuzzy msgid "Zoom 4:1" -msgstr "1:1 göster" +msgstr "4:1 Yakınlaştır" #: ../src/layout_util.c:1802 ../src/layout_util.c:1818 ../src/toolbar.c:101 -#, fuzzy msgid "Zoom 1:2" -msgstr "1:1 göster" +msgstr "1:2 Yakınlaştır" #: ../src/layout_util.c:1803 ../src/layout_util.c:1819 -#, fuzzy msgid "Zoom 1:3" -msgstr "1:1 göster" +msgstr "1:3 Yakınlaştır" #: ../src/layout_util.c:1804 ../src/layout_util.c:1820 ../src/toolbar.c:103 -#, fuzzy msgid "Zoom 1:4" -msgstr "1:1 göster" +msgstr "1:4 Yakınlaştır" #: ../src/layout_util.c:1805 ../src/layout_util.c:1806 ../src/toolbar.c:104 msgid "Connected Zoom in" -msgstr "" +msgstr "Bağlı Yakınlaştır" #: ../src/layout_util.c:1807 ../src/layout_util.c:1808 -#, fuzzy msgid "Connected Zoom out" -msgstr "Küçült" +msgstr "Bağlı Uzaklaştır" #: ../src/layout_util.c:1809 ../src/layout_util.c:1810 -#, fuzzy msgid "Connected Zoom 1:1" -msgstr "1:1 göster" +msgstr "Bağlı Yakınlaştırma 1:1" #: ../src/layout_util.c:1811 ../src/layout_util.c:1812 -#, fuzzy msgid "Connected Zoom to fit" -msgstr "Küçült" +msgstr "Sığdırmak İçin Bağlı Yakınlaştır" #: ../src/layout_util.c:1813 msgid "Connected Fit Horizontally" -msgstr "" +msgstr "Bağlı Yatay Sığdırma" #: ../src/layout_util.c:1814 msgid "Connected Fit Vertically" -msgstr "" +msgstr "Bağlı Dikey Sığdırma" #: ../src/layout_util.c:1815 -#, fuzzy msgid "Connected Zoom 2:1" -msgstr "1:1 göster" +msgstr "Bağlı Yakınlaştırma 2:1" #: ../src/layout_util.c:1816 -#, fuzzy msgid "Connected Zoom 3:1" -msgstr "1:1 göster" +msgstr "Bağlı Yakınlaştırma 3:1" #: ../src/layout_util.c:1817 -#, fuzzy msgid "Connected Zoom 4:1" -msgstr "1:1 göster" +msgstr "Bağlı Yakınlaştırma 4:1" #: ../src/layout_util.c:1818 -#, fuzzy msgid "Connected Zoom 1:2" -msgstr "1:1 göster" +msgstr "Bağlı Yakınlaştırma 1:2" #: ../src/layout_util.c:1819 -#, fuzzy msgid "Connected Zoom 1:3" -msgstr "1:1 göster" +msgstr "Bağlı Yakınlaştırma 1:3" #: ../src/layout_util.c:1820 -#, fuzzy msgid "Connected Zoom 1:4" -msgstr "1:1 göster" +msgstr "Bağlı Yakınlaştırma 1:4" #: ../src/layout_util.c:1821 -#, fuzzy msgid "_View in new window" -msgstr "Yeni penerede göster" +msgstr "_Yeni pencerede göster" #: ../src/layout_util.c:1821 -#, fuzzy msgid "View in new window" -msgstr "Yeni penerede göster" +msgstr "Yeni pencerede göster" #: ../src/layout_util.c:1822 ../src/layout_util.c:1823 #: ../src/layout_util.c:1824 -#, fuzzy msgid "F_ull screen" -msgstr "Tam ekran" +msgstr "T_am ekran" #: ../src/layout_util.c:1825 ../src/layout_util.c:1826 -#, fuzzy msgid "_Leave full screen" -msgstr "Geeqie tam ekran" +msgstr "Tam ekrandan çık" #: ../src/layout_util.c:1825 ../src/layout_util.c:1826 -#, fuzzy msgid "Leave full screen" -msgstr "Geeqie tam ekran" +msgstr "Tam ekrandan çık" #: ../src/layout_util.c:1827 msgid "_Cycle through overlay modes" -msgstr "" +msgstr "_Kaplama kipleriyle dolaş" #: ../src/layout_util.c:1827 msgid "Cycle through Overlay modes" -msgstr "" +msgstr "Kaplama kipleriyle dolaş" #: ../src/layout_util.c:1828 msgid "Cycle through histogram ch_annels" -msgstr "" +msgstr "Histogram k_anallarıyla dolaş" #: ../src/layout_util.c:1828 msgid "Cycle through histogram channels" -msgstr "" +msgstr "Histogram kanallarıyla dolaş" #: ../src/layout_util.c:1829 msgid "Cycle through histogram mo_des" -msgstr "" +msgstr "Histogram kipleriyle _dolaş" #: ../src/layout_util.c:1829 msgid "Cycle through histogram modes" -msgstr "" +msgstr "Histogram kipleriyle dolaş" #: ../src/layout_util.c:1830 -#, fuzzy msgid "_Hide file list" -msgstr "Dosya listesini göster/gizle" +msgstr "Dosya listesini _gizle" #: ../src/layout_util.c:1830 ../src/toolbar.c:105 -#, fuzzy msgid "Hide file list" -msgstr "Dosya listesini göster/gizle" +msgstr "Dosya listesini gizle" #: ../src/layout_util.c:1831 -#, fuzzy msgid "_Pause slideshow" -msgstr "Resim şovu" +msgstr "_Resim gösterisini duraklat" #: ../src/layout_util.c:1831 ../src/toolbar.c:106 -#, fuzzy msgid "Pause slideshow" -msgstr "Resim şovu" +msgstr "Resim gösterisini duraklat" #: ../src/layout_util.c:1832 msgid "Faster" -msgstr "" +msgstr "Daha hızlı" #: ../src/layout_util.c:1833 msgid "Slower" -msgstr "" +msgstr "Daha yavaş" #: ../src/layout_util.c:1834 -#, fuzzy msgid "_Refresh" -msgstr "Yenile" +msgstr "_Yenile" #: ../src/layout_util.c:1834 ../src/toolbar.c:109 -#, fuzzy msgid "Refresh" msgstr "Yenile" #: ../src/layout_util.c:1835 msgid "_Contents" -msgstr "" +msgstr "İç_erik" #: ../src/layout_util.c:1835 -#, fuzzy msgid "Contents" -msgstr "Büyült" +msgstr "İçerik" #: ../src/layout_util.c:1836 msgid "_Keyboard shortcuts" -msgstr "" +msgstr "_Klavye kısayolları" #: ../src/layout_util.c:1836 msgid "Keyboard shortcuts" -msgstr "" +msgstr "Klavye kısayolları" #: ../src/layout_util.c:1837 msgid "_Keyboard map" -msgstr "" +msgstr "_Klavye haritası" #: ../src/layout_util.c:1837 -#, fuzzy msgid "Keyboard map" -msgstr "Tırnakları yükliyorum .." +msgstr "Klavye haritası" #: ../src/layout_util.c:1838 msgid "_Release notes" -msgstr "" +msgstr "Sü_rüm notları" #: ../src/layout_util.c:1838 msgid "Release notes" -msgstr "" +msgstr "Sürüm notları" #: ../src/layout_util.c:1839 msgid "_ChangeLog" -msgstr "" +msgstr "_Değişiklikler" #: ../src/layout_util.c:1839 -#, fuzzy msgid "ChangeLog notes" -msgstr "Ev dizinime geç" +msgstr "Değişiklik notları" #: ../src/layout_util.c:1840 -#, fuzzy msgid "_About" -msgstr "Hakkında" +msgstr "H_akkında" #: ../src/layout_util.c:1840 -#, fuzzy msgid "About" msgstr "Hakkında" #: ../src/layout_util.c:1841 -#, fuzzy msgid "_Log Window" -msgstr "Pencereyi kapat" +msgstr "Gün_lük Penceresi" #: ../src/layout_util.c:1841 -#, fuzzy msgid "Log Window" -msgstr "Pencereyi kapat" +msgstr "Günlük Penceresi" #: ../src/layout_util.c:1842 -#, fuzzy msgid "_Exif window" -msgstr "Pencereyi kapat" +msgstr "Exif Penceresi" #: ../src/layout_util.c:1842 ../src/toolbar.c:111 -#, fuzzy msgid "Exif window" -msgstr "Seçenekler ..." +msgstr "Exif penceresi" #: ../src/layout_util.c:1843 msgid "_Cycle through stereo modes" -msgstr "" +msgstr "_Stereo kipleri arasında geçiş yap" #: ../src/layout_util.c:1843 msgid "Cycle through stereo modes" -msgstr "" +msgstr "Stereo kipleri arasında geçiş yap" #: ../src/layout_util.c:1844 -#, fuzzy msgid "_Next Pane" -msgstr "%d dosya %s" +msgstr "So_nraki Bölme" #: ../src/layout_util.c:1844 -#, fuzzy msgid "Next Pane" -msgstr "%d dosya %s" +msgstr "Sonraki Bölme" #: ../src/layout_util.c:1845 -#, fuzzy msgid "_Previous Pane" -msgstr "%d dosya %s" +msgstr "Önceki _Bölme" #: ../src/layout_util.c:1845 -#, fuzzy msgid "Previous Pane" -msgstr "%d dosya %s" +msgstr "Önceki Bölme" #: ../src/layout_util.c:1846 msgid "_Up Pane" -msgstr "" +msgstr "Y_ukarı Bölme" #: ../src/layout_util.c:1846 msgid "Up Pane" -msgstr "" +msgstr "Yukarı Bölme" #: ../src/layout_util.c:1847 msgid "_Down Pane" -msgstr "" +msgstr "_Aşağı Bölme" #: ../src/layout_util.c:1847 msgid "Down Pane" -msgstr "" +msgstr "Aşağı Bölme" #: ../src/layout_util.c:1848 -#, fuzzy msgid "_Write orientation to file" -msgstr "Üstüne yaz" +msgstr "Yönlendirmeyi dosyaya _yaz" #: ../src/layout_util.c:1848 -#, fuzzy msgid "Write orientation to file" -msgstr "Üstüne yaz" +msgstr "Yönlendirmeyi dosyaya yaz" #: ../src/layout_util.c:1849 msgid "_Write orientation to file (preserve timestamp)" -msgstr "" +msgstr "Yönlendirmeyi dosyaya _yaz (zaman damgasını koru)" #: ../src/layout_util.c:1849 msgid "Write orientation to file (preserve timestamp)" -msgstr "" +msgstr "Yönlendirmeyi dosyaya yaz (zaman damgasını koru)" #: ../src/layout_util.c:1854 -#, fuzzy msgid "Show _Thumbnails" -msgstr "Tırnakları arabellekte tut" +msgstr "Küçük Resimleri Gös_ter" #: ../src/layout_util.c:1854 -#, fuzzy msgid "Show Thumbnails" -msgstr "Tırnakları arabellekte tut" +msgstr "Küçük Resimleri Göster" #: ../src/layout_util.c:1855 -#, fuzzy msgid "Show _Marks" -msgstr "Resim" +msgstr "İşaretleri _Göster" #: ../src/layout_util.c:1855 -#, fuzzy msgid "Show Marks" -msgstr "Resim" +msgstr "İşaretleri Göster" #: ../src/layout_util.c:1856 -#, fuzzy msgid "Pi_xel Info" -msgstr "Filtralama" +msgstr "Pi_ksel Bilgisi" #: ../src/layout_util.c:1856 msgid "Show Pixel Info" -msgstr "" +msgstr "Piksel Bilgisini Göster" #: ../src/layout_util.c:1857 -#, fuzzy msgid "_Float file list" -msgstr "Dosya listesini dinamik et/etme" +msgstr "_Kayan dosya listesi" #: ../src/layout_util.c:1857 ../src/toolbar.c:114 -#, fuzzy msgid "Float file list" -msgstr "Dosya listesini dinamik et/etme" +msgstr "Kayan dosya listesi" #: ../src/layout_util.c:1858 -#, fuzzy msgid "Hide tool_bar" -msgstr "Geeqie Çerezleri" +msgstr "Araç çu_buğunu gizle" #: ../src/layout_util.c:1858 -#, fuzzy msgid "Hide toolbar" -msgstr "Geeqie Çerezleri" +msgstr "Araç çubuğunu gizle" #: ../src/layout_util.c:1859 msgid "_Info sidebar" -msgstr "" +msgstr "Yan çubuk b_ilgisi" #: ../src/layout_util.c:1859 ../src/toolbar.c:115 msgid "Info sidebar" -msgstr "" +msgstr "Yan çubuk bilgisi" #: ../src/layout_util.c:1860 -#, fuzzy msgid "Sort _manager" -msgstr "Büyült" +msgstr "Sırala_ma yöneticisi" #: ../src/layout_util.c:1860 ../src/toolbar.c:116 -#, fuzzy msgid "Sort manager" -msgstr "Büyült" +msgstr "Sıralama yöneticisi" #: ../src/layout_util.c:1861 -#, fuzzy msgid "Hide Bars" -msgstr "Geeqie Çerezleri" +msgstr "Çubukları Gizle" #: ../src/layout_util.c:1862 -#, fuzzy msgid "Toggle _slideshow" -msgstr "Resim şovu" +msgstr "Re_sim gösterisini aç" #: ../src/layout_util.c:1862 -#, fuzzy msgid "Toggle slideshow" -msgstr "Resim şovu" +msgstr "Resim gösterisini aç" #: ../src/layout_util.c:1863 msgid "Use _color profiles" -msgstr "" +msgstr "_Renk düzenlerini kullan" #: ../src/layout_util.c:1863 -#, fuzzy msgid "Use color profiles" -msgstr "%d dosya %s" +msgstr "Renk düzenlerini kullan" #: ../src/layout_util.c:1864 msgid "Use profile from _image" -msgstr "" +msgstr "Res_imdeki düzeni kullan" #: ../src/layout_util.c:1864 msgid "Use profile from image" -msgstr "" +msgstr "Resimdeki düzeni kullan" #: ../src/layout_util.c:1865 -#, fuzzy msgid "Toggle _grayscale" -msgstr "Resim şovu" +msgstr "_Gri tonlamalı geçiş yap" #: ../src/layout_util.c:1865 -#, fuzzy msgid "Toggle grayscale" -msgstr "Resim şovu" +msgstr "Gri tonlamalı geçiş yap" #: ../src/layout_util.c:1866 -#, fuzzy msgid "Image Overlay" -msgstr "Resim" +msgstr "Resim Yerleşimi" #: ../src/layout_util.c:1867 msgid "_Show Histogram" -msgstr "" +msgstr "Histogramı Gö_ster" #: ../src/layout_util.c:1867 msgid "Show Histogram" -msgstr "" +msgstr "Histogramı Göster" #: ../src/layout_util.c:1868 -#, fuzzy msgid "Rectangular Selection" -msgstr "Seçenekler ..." +msgstr "Dikdörtgen Seçimi" #: ../src/layout_util.c:1869 msgid "GIF _animation" -msgstr "" +msgstr "GIF c_anlandırması" #: ../src/layout_util.c:1869 msgid "Toggle GIF animation" -msgstr "" +msgstr "GIF canlandırmasını aç" #: ../src/layout_util.c:1870 -#, fuzzy msgid "_Exif rotate" -msgstr "Listeleri yenile" +msgstr "_Exif döndür" #: ../src/layout_util.c:1870 -#, fuzzy msgid "Exif rotate" -msgstr "Listeleri yenile" +msgstr "Exif döndür" #: ../src/layout_util.c:1874 -#, fuzzy msgid "Image _List" -msgstr "Resim" +msgstr "Resim _Listesi" #: ../src/layout_util.c:1874 -#, fuzzy msgid "View Images as List" -msgstr "Tırnaklar" +msgstr "Resimeleri Liste olarak görüntüle" #: ../src/layout_util.c:1875 -#, fuzzy msgid "I_cons" -msgstr "Tırnaklar" +msgstr "_Simgeler" #: ../src/layout_util.c:1875 -#, fuzzy msgid "View Images as Icons" -msgstr "Tırnaklar" +msgstr "Resimleri Simge olarak görüntüle" #: ../src/layout_util.c:1879 -#, fuzzy msgid "T_oggle Folder View" -msgstr "Resim şovu" +msgstr "Dizin Görünümünü _Değiştir" #: ../src/layout_util.c:1879 -#, fuzzy msgid "Toggle Folders View" -msgstr "Resim şovu" +msgstr "Dizin Görünümünü Değiştir" #: ../src/layout_util.c:1883 msgid "_Horizontal" -msgstr "" +msgstr "_Yatay" #: ../src/layout_util.c:1883 msgid "Split Horizontal" -msgstr "" +msgstr "Yatay Böl" #: ../src/layout_util.c:1884 msgid "_Vertical" -msgstr "" +msgstr "_Dikey" #: ../src/layout_util.c:1884 msgid "Split Vertical" -msgstr "" +msgstr "Dikey Böl" #: ../src/layout_util.c:1885 msgid "_Quad" -msgstr "" +msgstr "_Dörtlü" #: ../src/layout_util.c:1885 msgid "Split Quad" -msgstr "" +msgstr "Dörde Böl" #: ../src/layout_util.c:1886 -#, fuzzy msgid "_Single" -msgstr "Boy :" +msgstr "_Tekli" #: ../src/layout_util.c:1886 -#, fuzzy msgid "Split Single" -msgstr "Boy :" +msgstr "Tek Bölmeli" #: ../src/layout_util.c:1890 msgid "Input _0: sRGB" -msgstr "" +msgstr "Giriş _0: sRGB" #: ../src/layout_util.c:1890 msgid "Input 0: sRGB" -msgstr "" +msgstr "Giriş 0: sRGB" #: ../src/layout_util.c:1891 msgid "Input _1: AdobeRGB compatible" -msgstr "" +msgstr "Giriş _1: AdobeRGB uyumlu" #: ../src/layout_util.c:1891 msgid "Input 1: AdobeRGB compatible" -msgstr "" +msgstr "Giriş 1: AdobeRGB uyumlu" #: ../src/layout_util.c:1892 msgid "Input _2" -msgstr "" +msgstr "Giriş _2" #: ../src/layout_util.c:1892 msgid "Input 2" -msgstr "" +msgstr "Giriş 2" #: ../src/layout_util.c:1893 msgid "Input _3" -msgstr "" +msgstr "Giriş _3" #: ../src/layout_util.c:1893 msgid "Input 3" -msgstr "" +msgstr "Giriş 3" #: ../src/layout_util.c:1894 msgid "Input _4" -msgstr "" +msgstr "Giriş _4" #: ../src/layout_util.c:1894 msgid "Input 4" -msgstr "" +msgstr "Giriş 4" #: ../src/layout_util.c:1895 msgid "Input _5" -msgstr "" +msgstr "Giriş _5" #: ../src/layout_util.c:1895 msgid "Input 5" -msgstr "" +msgstr "Giriş 5" #: ../src/layout_util.c:1899 msgid "Histogram on Red" -msgstr "" +msgstr "Kırmızı Histogram" #: ../src/layout_util.c:1900 msgid "Histogram on Green" -msgstr "" +msgstr "Yeşil Histogram" #: ../src/layout_util.c:1901 msgid "Histogram on Blue" -msgstr "" +msgstr "Mavi Histogram" #: ../src/layout_util.c:1902 msgid "Histogram on RGB" -msgstr "" +msgstr "RGB Histogram" #: ../src/layout_util.c:1903 msgid "Histogram on Value" -msgstr "" +msgstr "Değer Üzerinde Histogram" #: ../src/layout_util.c:1907 msgid "Linear Histogram" -msgstr "" +msgstr "Doğrusal Histogram" #: ../src/layout_util.c:1908 msgid "_Log Histogram" -msgstr "" +msgstr "Gün_lük Histogramı" #: ../src/layout_util.c:1908 msgid "Log Histogram" -msgstr "" +msgstr "Günlük Histogramı" #: ../src/layout_util.c:1912 msgid "_Auto" -msgstr "" +msgstr "_Otomatik" #: ../src/layout_util.c:1912 msgid "Stereo Auto" -msgstr "" +msgstr "Stereo Otomatik" #: ../src/layout_util.c:1913 msgid "_Side by Side" -msgstr "" +msgstr "_Yan yana" #: ../src/layout_util.c:1913 msgid "Stereo Side by Side" -msgstr "" +msgstr "Stereo Yan Yana" #: ../src/layout_util.c:1914 msgid "_Cross" -msgstr "" +msgstr "Çapra_z" #: ../src/layout_util.c:1914 msgid "Stereo Cross" -msgstr "" +msgstr "Stereo Çapraz" #: ../src/layout_util.c:1915 msgid "_Off" -msgstr "" +msgstr "_Kapalı" #: ../src/layout_util.c:1915 msgid "Stereo Off" -msgstr "" +msgstr "Stereo Kapalı" #: ../src/layout_util.c:2226 #, c-format msgid "Mark _%d" -msgstr "" +msgstr "_%d 'i işaretle" #: ../src/layout_util.c:2227 ../src/view_file/view_file.c:550 #, c-format msgid "_Set mark %d" -msgstr "" +msgstr "%d işaretini _ayarla" #: ../src/layout_util.c:2227 -#, fuzzy, c-format +#, c-format msgid "Set mark %d" -msgstr "Silerken bir hata oluştu" +msgstr "%d işaretini ayarla" #: ../src/layout_util.c:2228 ../src/view_file/view_file.c:551 #, c-format msgid "_Reset mark %d" -msgstr "" +msgstr "%d işaretini sıfı_rla" #: ../src/layout_util.c:2228 -#, fuzzy, c-format +#, c-format msgid "Reset mark %d" -msgstr "Silerken bir hata oluştu" +msgstr "%d işaretini sıfırla" #: ../src/layout_util.c:2229 ../src/layout_util.c:2230 #: ../src/view_file/view_file.c:552 #, c-format msgid "_Toggle mark %d" -msgstr "" +msgstr "%d işaretini değiş_tir" #: ../src/layout_util.c:2229 ../src/layout_util.c:2230 -#, fuzzy, c-format +#, c-format msgid "Toggle mark %d" -msgstr "Silerken bir hata oluştu" +msgstr "%d işaretini değiştir" #: ../src/layout_util.c:2231 -#, fuzzy, c-format +#, c-format msgid "Se_lect mark %d" -msgstr "Silerken bir hata oluştu" +msgstr "%d işaretini _seç" #: ../src/layout_util.c:2231 ../src/layout_util.c:2232 -#, fuzzy, c-format +#, c-format msgid "Select mark %d" -msgstr "Silerken bir hata oluştu" +msgstr "%d işaretini seç" #: ../src/layout_util.c:2232 ../src/view_file/view_file.c:553 -#, fuzzy, c-format +#, c-format msgid "_Select mark %d" -msgstr "Silerken bir hata oluştu" +msgstr "%d işaretini _seç" #: ../src/layout_util.c:2233 ../src/view_file/view_file.c:554 -#, fuzzy, c-format +#, c-format msgid "_Add mark %d" -msgstr "Düzenle" +msgstr "%d iş_areti ekle" #: ../src/layout_util.c:2233 -#, fuzzy, c-format +#, c-format msgid "Add mark %d" -msgstr "Düzenle" +msgstr "%d işareti ekle" #: ../src/layout_util.c:2234 ../src/view_file/view_file.c:555 #, c-format msgid "_Intersection with mark %d" -msgstr "" +msgstr "%d işareti ile kes_işme" #: ../src/layout_util.c:2234 -#, fuzzy, c-format +#, c-format msgid "Intersection with mark %d" -msgstr "Silerken bir hata oluştu" +msgstr "%d işareti ile kesişme" #: ../src/layout_util.c:2235 ../src/view_file/view_file.c:556 #, c-format msgid "_Unselect mark %d" -msgstr "" +msgstr "%d işaretinin seçimini _kaldır" #: ../src/layout_util.c:2235 -#, fuzzy, c-format +#, c-format msgid "Unselect mark %d" -msgstr "Silerken bir hata oluştu" +msgstr "%d işaretinin seçimini kaldır" #: ../src/layout_util.c:2236 -#, fuzzy, c-format +#, c-format msgid "_Filter mark %d" -msgstr "Silerken bir hata oluştu" +msgstr "%d _süzme işareti" #: ../src/layout_util.c:2236 -#, fuzzy, c-format +#, c-format msgid "Filter mark %d" -msgstr "Silerken bir hata oluştu" +msgstr "%d süzme işareti" #: ../src/layout_util.c:2790 #, c-format msgid "Number of files with unsaved metadata: %d" -msgstr "" +msgstr "Kaydedilmemiş meta veri içeren dosya sayısı: %d" #: ../src/layout_util.c:2796 msgid "No unsaved metadata" -msgstr "" +msgstr "Kaydedilmemiş meta veri yok" #: ../src/layout_util.c:2843 #, c-format @@ -3747,25 +3468,27 @@ "Image profile: %s\n" "Screen profile: %s" msgstr "" +"Resim düzeni:%s\n" +"Ekran düzeni:%s" #: ../src/layout_util.c:2851 msgid "Click to enable color management" -msgstr "" +msgstr "Renk yönetimini etkinleştirmek için tıklayın" #: ../src/layout_util.c:2856 msgid "Color profiles not supported" -msgstr "" +msgstr "Renk düzenleri desteklenmiyor" #: ../src/layout_util.c:2878 #, c-format msgid "Input _%d: %s" -msgstr "" +msgstr "Giriş _%d: %s" #. something went badly wrong #: ../src/lirc.c:209 #, c-format msgid "disconnected from LIRC\n" -msgstr "" +msgstr "LIRC bağlantısı kesildi\n" #: ../src/lirc.c:234 #, c-format @@ -3774,100 +3497,100 @@ "please read the documentation of LIRC to \n" "know how to create a proper config file\n" msgstr "" +"LIRC yapılandırma dosyası okunamadı\n" +"uygun bir yapılandırma dosyası oluşturmayı\n" +"öğrenmek için lütfen LIRC belgelerini okuyun\n" #: ../src/logwindow.c:142 msgid "Log" -msgstr "" +msgstr "Günlük" #: ../src/logwindow.c:171 ../src/preferences.c:2411 msgid "Debug level:" -msgstr "" +msgstr "Hata ayıklama seviyesi:" #: ../src/main.c:361 -#, fuzzy, c-format +#, c-format msgid "" "Usage: %s [options] [path]\n" "\n" msgstr "" -"Kullanım : gqview [seçenekler] [dizin]\n" +"Kullanım: %s [seçenekler] [yol]\n" "\n" #: ../src/main.c:362 msgid "valid options are:\n" -msgstr "geçerli opsiyonlar :\n" +msgstr "geçerli seçenekler:\n" #: ../src/main.c:363 -#, fuzzy msgid " +t, --with-tools force show of tools\n" -msgstr " +t, +tools çerezleri zorunlu olarak göster\n" +msgstr " +t, --with-tools araç gösterimini zorla\n" #: ../src/main.c:364 -#, fuzzy msgid " -t, --without-tools force hide of tools\n" -msgstr " -t, -tools çerezleri zorunlu olarak gizle\n" +msgstr " -t, --without-tools araç gizlemeyi zorla\n" #: ../src/main.c:365 -#, fuzzy msgid " -f, --fullscreen start in full screen mode\n" -msgstr " -t, -tools çerezleri zorunlu olarak gizle\n" +msgstr " -f, --fullscreen tam ekran modunda başlat\n" #: ../src/main.c:366 -#, fuzzy msgid " -s, --slideshow start in slideshow mode\n" -msgstr " -t, -tools çerezleri zorunlu olarak gizle\n" +msgstr " -s, --slideshow resim gösterisi modunda başlat\n" #: ../src/main.c:367 msgid "" " -l, --list [files] [collections] open collection window for command line\n" msgstr "" +" -l, --list [dosyalar] [koleksiyonlar] komut satırı için koleksiyon " +"penceresini aç\n" #: ../src/main.c:368 msgid " --blank start with blank file list\n" -msgstr "" +msgstr " --blank boş dosya listesiyle başla\n" #: ../src/main.c:369 msgid " --geometry=XxY+XOFF+YOFF set main window location\n" -msgstr "" +msgstr " --geometry=XxY+XOFF+YOFF ana pencere konumunu ayarla\n" #: ../src/main.c:370 msgid "" " -r, --remote send following commands to open window\n" msgstr "" +" -r, --remote pencereyi açmak için aşağıdaki komutları " +"gönderin\n" #: ../src/main.c:371 -#, fuzzy msgid " -rh,--remote-help print remote command list\n" -msgstr " -t, -tools çerezleri zorunlu olarak gizle\n" +msgstr " -rh,--remote-help uzaktan komut listesini yazdır\n" #: ../src/main.c:373 -#, fuzzy msgid " --debug[=level] turn on debug output\n" -msgstr " -debug dışa-atımı aç\n" +msgstr " --debug[=level] hata ayıklama çıktısını aç\n" #: ../src/main.c:374 msgid " -g:<regexp>, --grep:<regexp> filter debug output\n" -msgstr "" +msgstr " -g:<regexp>, --grep:<regexp> hata ayıklama çıktısını süz\n" #: ../src/main.c:376 -#, fuzzy msgid " +w, --show-log-window show log window\n" -msgstr " +t, +tools çerezleri zorunlu olarak göster\n" +msgstr " +w, --show-log-window günlük penceresini göster\n" #: ../src/main.c:377 msgid " -o:<file>, --log-file:<file> save log data to file\n" -msgstr "" +msgstr " -o:<file>, --log-file:<file> günlük verisini dosyaya kaydet\n" #: ../src/main.c:378 -#, fuzzy msgid " -v, --version print version info\n" -msgstr " -t, -tools çerezleri zorunlu olarak gizle\n" +msgstr " -v, --version sürüm bilgisini yazdır\n" #: ../src/main.c:379 -#, fuzzy msgid "" " -h, --help show this message\n" "\n" -msgstr " -h, --help bu mesajı gösterir\n" +msgstr "" +" -h, --help bu iletiyi yazdır\n" +"\n" #: ../src/main.c:392 #, c-format @@ -3875,506 +3598,473 @@ "invalid or ignored: %s\n" "Use --help for options\n" msgstr "" -"%s geçersiz ya da dikkate alınmıyor\n" -"--help ile seçenekleri öğrenebilirsin\n" +"geçersiz yada dikkate alınmayan: %s\n" +"seçenekler için --help kullanın\n" #: ../src/main.c:421 -#, fuzzy msgid "Invalid or ignored remote options: " -msgstr "" -"%s geçersiz ya da dikkate alınmıyor\n" -"--help ile seçenekleri öğrenebilirsin\n" +msgstr "Geçersiz veya yok sayılan uzak seçenekler: " #: ../src/main.c:430 msgid "" "\n" "Use --remote-help for valid remote options.\n" msgstr "" +"\n" +"Geçerli uzak seçenekler için --remote-help komutunu kullanın.\n" #: ../src/main.c:532 -#, fuzzy, c-format +#, c-format msgid "Creating %s dir:%s\n" -msgstr "Dizini yaratamadım" +msgstr "%s dizini oluşturuluyor:%s\n" #: ../src/main.c:536 -#, fuzzy, c-format +#, c-format msgid "Could not create dir:%s\n" -msgstr "Dizini yaratamadım" +msgstr "Dizin oluşturulamadı:%s\n" #: ../src/main.c:588 -#, fuzzy, c-format +#, c-format msgid "error saving file: %s\n" -msgstr "%s ayar dosyasını kaydederken bir hata oluştu\n" +msgstr "dosya kaydedilirken hata oluştu: %s\n" #: ../src/main.c:607 -#, fuzzy, c-format +#, c-format msgid "" "error saving file: %s\n" "error: %s\n" -msgstr "%s ayar dosyasını kaydederken bir hata oluştu\n" +msgstr "" +"dosya kaydedilirken hata oluştu: %s\n" +"hata: %s\n" #: ../src/main.c:717 -#, fuzzy msgid "exit" -msgstr "Çık" +msgstr "Çıkış" #: ../src/main.c:722 -#, fuzzy, c-format +#, c-format msgid "Quit %s" -msgstr "Yeniden adlandır .." +msgstr "%s 'den çık" #: ../src/main.c:724 msgid "Collections have been modified. Quit anyway?" -msgstr "" +msgstr "Koleksiyonlar değiştirildi. Yine de çıkılsın mı?" #: ../src/main.c:939 ../src/remote.c:708 -#, fuzzy msgid "Command line" -msgstr "Komuta" +msgstr "Komut satırı" #: ../src/menu.c:143 msgid "Sort by size" -msgstr "" +msgstr "Boyuta göre sırala" #: ../src/menu.c:146 msgid "Sort by date" -msgstr "" +msgstr "Tarihe göre sırala" #: ../src/menu.c:149 -#, fuzzy msgid "Sort by file creation date" -msgstr "Listeleri yenile" +msgstr "Dosya oluşturma tarihine göre sırala" #: ../src/menu.c:152 -#, fuzzy msgid "Sort by Exif-date" -msgstr "Listeleri yenile" +msgstr "Exif tarihine göre sırala" #: ../src/menu.c:155 msgid "Unsorted" -msgstr "" +msgstr "Sıralanmamış" #: ../src/menu.c:158 msgid "Sort by path" -msgstr "" +msgstr "Yola göre sırala" #: ../src/menu.c:161 msgid "Sort by number" -msgstr "" +msgstr "Numaraya göre sırala" #: ../src/menu.c:164 -#, fuzzy msgid "Sort by rating" -msgstr "Listeleri yenile" +msgstr "Derecelendirmeye göre sırala" #: ../src/menu.c:168 msgid "Sort by name" -msgstr "" +msgstr "Ada göre sırala" #: ../src/menu.c:234 ../src/menu.c:243 msgid "Zoom to original size" -msgstr "Orijinal boyuta getir" +msgstr "Asıl boyuta getir" #: ../src/menu.c:237 ../src/preferences.c:1731 msgid "Fit image to window" -msgstr "Pencerenin boyutuna ayarla" +msgstr "Resmi pencereye sığdır" #: ../src/menu.c:240 msgid "Leave Zoom at previous setting" -msgstr "Önceki büyütme/küçültme ayarlarını geçerli say" +msgstr "Yakınlaştırma önceki ayarlarda kalsın" #: ../src/menu.c:295 ../src/preferences.c:1712 -#, fuzzy msgid "Zoom" -msgstr "Büyült" +msgstr "Yakınlaştır" #: ../src/menu.c:320 msgid "Rotate _180" -msgstr "" +msgstr "_180 derece döndür" #: ../src/menu.c:426 -#, fuzzy msgid "_Add to Collection" -msgstr "%s'yi silemedim \n" +msgstr "Koleksiyon_a Ekle" #: ../src/metadata.c:1702 msgid "People" -msgstr "" +msgstr "İnsanlar" #: ../src/metadata.c:1703 msgid "Family" -msgstr "" +msgstr "Aile" #: ../src/metadata.c:1704 msgid "Free time" -msgstr "" +msgstr "Boş zaman" #: ../src/metadata.c:1705 msgid "Children" -msgstr "" +msgstr "Çocuklar" #: ../src/metadata.c:1706 msgid "Sport" -msgstr "" +msgstr "Spor" #: ../src/metadata.c:1707 -#, fuzzy msgid "Culture" -msgstr "Sil" +msgstr "Kültür" #: ../src/metadata.c:1708 msgid "Festival" -msgstr "" +msgstr "Şenlik" #: ../src/metadata.c:1709 -#, fuzzy msgid "Nature" -msgstr "Sil" +msgstr "Doğa" #: ../src/metadata.c:1710 msgid "Animal" -msgstr "" +msgstr "Hayvan" #: ../src/metadata.c:1711 msgid "Bird" -msgstr "" +msgstr "Kuş" #: ../src/metadata.c:1712 msgid "Insect" -msgstr "" +msgstr "Böcek" #: ../src/metadata.c:1713 msgid "Pets" -msgstr "" +msgstr "Evcil Hayvanlar" #: ../src/metadata.c:1714 msgid "Wildlife" -msgstr "" +msgstr "Yaban hayatı" #: ../src/metadata.c:1715 -#, fuzzy msgid "Zoo" -msgstr "Büyült" +msgstr "Hayvanat bahçesi" #: ../src/metadata.c:1716 msgid "Plant" -msgstr "" +msgstr "Bitki" #: ../src/metadata.c:1717 -#, fuzzy msgid "Tree" -msgstr "Tam ekran" +msgstr "Ağaç" #: ../src/metadata.c:1718 msgid "Flower" -msgstr "" +msgstr "Çiçek" #: ../src/metadata.c:1719 msgid "Water" -msgstr "" +msgstr "Su" #: ../src/metadata.c:1720 msgid "River" -msgstr "" +msgstr "Nehir" #: ../src/metadata.c:1721 msgid "Lake" -msgstr "" +msgstr "Göl" #: ../src/metadata.c:1722 -#, fuzzy msgid "Sea" -msgstr "Kopyala ..." +msgstr "Deniz" #: ../src/metadata.c:1723 ../src/print.c:385 msgid "Landscape" -msgstr "" +msgstr "Manzara" #: ../src/metadata.c:1724 msgid "Art" -msgstr "" +msgstr "Sanat" #: ../src/metadata.c:1725 -#, fuzzy msgid "Statue" -msgstr "Sil" +msgstr "Heykel" #: ../src/metadata.c:1726 -#, fuzzy msgid "Painting" -msgstr "Filtralama" +msgstr "Boyama" #: ../src/metadata.c:1727 ../src/metadata.c:1741 msgid "Historic" -msgstr "" +msgstr "Tarihi" #: ../src/metadata.c:1728 ../src/metadata.c:1742 msgid "Modern" -msgstr "" +msgstr "Çağdaş" #: ../src/metadata.c:1729 msgid "City" -msgstr "" +msgstr "Şehir" #: ../src/metadata.c:1730 msgid "Park" -msgstr "" +msgstr "Park" #: ../src/metadata.c:1731 msgid "Street" -msgstr "" +msgstr "Sokak" #: ../src/metadata.c:1732 msgid "Square" -msgstr "" +msgstr "Kare" #: ../src/metadata.c:1733 msgid "Architecture" -msgstr "" +msgstr "Mimari" #: ../src/metadata.c:1734 msgid "Buildings" -msgstr "" +msgstr "Binalar" #: ../src/metadata.c:1735 msgid "House" -msgstr "" +msgstr "Konut" #: ../src/metadata.c:1736 msgid "Cathedral" -msgstr "" +msgstr "Katedral" #: ../src/metadata.c:1737 msgid "Palace" -msgstr "" +msgstr "Saray" #: ../src/metadata.c:1738 msgid "Castle" -msgstr "" +msgstr "Kale" #: ../src/metadata.c:1739 msgid "Bridge" -msgstr "" +msgstr "Köprü" #: ../src/metadata.c:1740 msgid "Interior" -msgstr "" +msgstr "İç" #: ../src/metadata.c:1743 msgid "Places" -msgstr "" +msgstr "Yerler" #: ../src/metadata.c:1744 -#, fuzzy msgid "Conditions" -msgstr "Seçenekleri ayarla" +msgstr "Koşullar" #: ../src/metadata.c:1745 msgid "Night" -msgstr "" +msgstr "Gece" #: ../src/metadata.c:1746 msgid "Lights" -msgstr "" +msgstr "Işıklar" #: ../src/metadata.c:1747 -#, fuzzy msgid "Reflections" -msgstr "Seçenekler ..." +msgstr "Yansımalar" #: ../src/metadata.c:1748 msgid "Sun" -msgstr "" +msgstr "Güneş" #: ../src/metadata.c:1749 msgid "Weather" -msgstr "" +msgstr "Hava" #: ../src/metadata.c:1750 msgid "Fog" -msgstr "" +msgstr "Sis" #: ../src/metadata.c:1751 msgid "Rain" -msgstr "" +msgstr "Yağmur" #: ../src/metadata.c:1752 msgid "Clouds" -msgstr "" +msgstr "Bulutlar" #: ../src/metadata.c:1753 msgid "Snow" -msgstr "" +msgstr "Kar" #: ../src/metadata.c:1754 msgid "Sunny weather" -msgstr "" +msgstr "Güneşli hava" #: ../src/metadata.c:1755 msgid "Photo" -msgstr "" +msgstr "Fotoğraf" #: ../src/metadata.c:1756 -#, fuzzy msgid "Edited" -msgstr "Düzenle" +msgstr "Düzenlenen" #: ../src/metadata.c:1757 -#, fuzzy msgid "Detail" -msgstr "Dosyaları sil" +msgstr "Ayrıntı" #: ../src/metadata.c:1758 msgid "Macro" -msgstr "" +msgstr "Makro" #: ../src/metadata.c:1759 ../src/print.c:384 msgid "Portrait" -msgstr "" +msgstr "Portre" #: ../src/metadata.c:1760 msgid "Black and White" -msgstr "" +msgstr "Siyah ve Beyaz" #: ../src/metadata.c:1761 -#, fuzzy msgid "Perspective" -msgstr "Yarat" +msgstr "Perspektif" #: ../src/options.c:195 ../src/ui_bookmark.c:578 msgid "Desktop" -msgstr "" +msgstr "Masaüstü" #: ../src/pan-view/pan-view.c:438 -#, fuzzy, c-format +#, c-format msgid "%d images, %s" -msgstr "%d dosya %s" +msgstr "%d resim, %s" #: ../src/pan-view/pan-view.c:448 #, c-format msgid "The pan view does not support the folder \"%s\"." -msgstr "" +msgstr "Tava görünümü \"%s\" dizinini desteklemiyor." #: ../src/pan-view/pan-view.c:449 msgid "Folder not supported" -msgstr "" +msgstr "Dizin desteklenmiyor" #: ../src/pan-view/pan-view.c:1001 ../src/pan-view/pan-view.c:1017 -#, fuzzy msgid "Reading image data..." -msgstr "Kopyala ..." +msgstr "Resim verileri okunuyor..." #: ../src/pan-view/pan-view.c:1076 -#, fuzzy msgid "Sorting images..." -msgstr "Kopyala ..." +msgstr "Resimler sıralanıyor..." #: ../src/pan-view/pan-view.c:1385 ../src/print.c:2609 -#, fuzzy msgid "Filename:" -msgstr "Yeniden adlandır :" +msgstr "Dosya adı:" #: ../src/pan-view/pan-view.c:1387 ../src/pan-view/pan-view.c:1812 #: ../src/preferences.c:1826 msgid "Location:" -msgstr "" +msgstr "Konum:" #: ../src/pan-view/pan-view.c:1389 ../src/pan-view/pan-view-search.c:377 -#, fuzzy msgid "Date:" -msgstr "Sil" +msgstr "Tarih:" #: ../src/pan-view/pan-view.c:1391 ../src/preferences.c:1602 #: ../src/print.c:3222 ../src/print.c:3427 msgid "Size:" -msgstr "Boy :" +msgstr "Boyut:" #: ../src/pan-view/pan-view.c:1698 ../src/search.c:2417 msgid "Folder not found" -msgstr "" +msgstr "Dizin yok" #: ../src/pan-view/pan-view.c:1699 msgid "The entered path is not a folder" -msgstr "" +msgstr "Girilen yol bir dizin değil" #: ../src/pan-view/pan-view.c:1796 -#, fuzzy msgid "Pan View" -msgstr "" -"%s'yi yeniden\n" -"adlandır :\n" -" " +msgstr "Tava Görünümü" #: ../src/pan-view/pan-view.c:1821 -#, fuzzy msgid "Timeline" -msgstr "Dosya" +msgstr "Zaman çizelgesi" #: ../src/pan-view/pan-view.c:1822 msgid "Calendar" -msgstr "" +msgstr "Takvim" #: ../src/pan-view/pan-view.c:1824 -#, fuzzy msgid "Folders (flower)" -msgstr "Dosya" +msgstr "Dizinler (çiçek)" #: ../src/pan-view/pan-view.c:1825 msgid "Grid" -msgstr "" +msgstr "Izgara" #: ../src/pan-view/pan-view.c:1834 -#, fuzzy msgid "Dots" -msgstr "Xpaint" +msgstr "Noktalar" #: ../src/pan-view/pan-view.c:1835 -#, fuzzy msgid "No Images" -msgstr "Resim" +msgstr "Resim yok" #: ../src/pan-view/pan-view.c:1836 -#, fuzzy msgid "Small Thumbnails" -msgstr "Tırnaklar" +msgstr "Küçük Resimler (küçük)" #: ../src/pan-view/pan-view.c:1837 -#, fuzzy msgid "Normal Thumbnails" -msgstr "Tırnaklar" +msgstr "Küçük Resimler (olağan)" #: ../src/pan-view/pan-view.c:1838 -#, fuzzy msgid "Large Thumbnails" -msgstr "Tırnakları yarat" +msgstr "Küçük Resimler (büyük)" #: ../src/pan-view/pan-view.c:1839 ../src/pan-view/pan-view.c:2311 msgid "1:10 (10%)" -msgstr "" +msgstr "1:10 (10%)" #: ../src/pan-view/pan-view.c:1840 ../src/pan-view/pan-view.c:2307 msgid "1:4 (25%)" -msgstr "" +msgstr "1:4 (25%)" #: ../src/pan-view/pan-view.c:1841 ../src/pan-view/pan-view.c:2303 msgid "1:3 (33%)" -msgstr "" +msgstr "1:3 (33%)" #: ../src/pan-view/pan-view.c:1842 ../src/pan-view/pan-view.c:2299 msgid "1:2 (50%)" -msgstr "" +msgstr "1:2 (50%)" #: ../src/pan-view/pan-view.c:1843 msgid "1:1 (100%)" -msgstr "" +msgstr "1:1 (100%)" #: ../src/pan-view/pan-view.c:1989 msgid "Pan View Performance" -msgstr "" +msgstr "Tava Görünümü Başarımı" #: ../src/pan-view/pan-view.c:1996 msgid "Pan view performance may be poor." -msgstr "" +msgstr "Tava görünümü başarımı düşük olabilir." #: ../src/pan-view/pan-view.c:1997 msgid "" @@ -4382,249 +4072,242 @@ "can be enabled. Note that both options must be enabled to notice a change in " "performance." msgstr "" +"Kaydırma görünümünde küçük resimlerin başarımını artırmak için aşağıdaki " +"seçenekler etkinleştirilebilir. Başarımdaki bir değişikliği fark etmek için " +"her iki seçeneğin de etkinleştirilmesi gerektiğini unutmayın." #: ../src/pan-view/pan-view.c:2005 ../src/preferences.c:1605 msgid "Cache thumbnails" -msgstr "Tırnakları arabellekte tut" +msgstr "Küçük resim önbelleği" #: ../src/pan-view/pan-view.c:2007 msgid "Use shared thumbnail cache" -msgstr "" +msgstr "Paylaşılan küçük resim önbelleğini kullan" #: ../src/pan-view/pan-view.c:2013 msgid "Do not show this dialog again" -msgstr "" +msgstr "Bu iletişim penceresini tekrar gösterme" #: ../src/pan-view/pan-view.c:2279 -#, fuzzy msgid "Sort by E_xif date" -msgstr "Listeleri yenile" +msgstr "E_xif tarihine göre sırala" #: ../src/pan-view/pan-view.c:2285 msgid "_Show Exif information" -msgstr "" +msgstr "Exif bilgisini gö_ster" #: ../src/pan-view/pan-view.c:2287 -#, fuzzy msgid "Show im_age" -msgstr "Resim" +msgstr "_Resmi göster" #: ../src/pan-view/pan-view.c:2291 -#, fuzzy msgid "_None" -msgstr "Taşı" +msgstr "_Yok" #: ../src/pan-view/pan-view.c:2295 -#, fuzzy msgid "_Full size" -msgstr "Dosya" +msgstr "_Tam boyut" #: ../src/pan-view/pan-view-filter.c:48 msgid "Require" -msgstr "" +msgstr "Gerekli" #: ../src/pan-view/pan-view-filter.c:48 msgid "R" -msgstr "" +msgstr "R" #: ../src/pan-view/pan-view-filter.c:51 -#, fuzzy msgid "Exclude" -msgstr "Dosyayı sil" +msgstr "Dışla" #: ../src/pan-view/pan-view-filter.c:51 msgid "E" -msgstr "" +msgstr "E" #: ../src/pan-view/pan-view-filter.c:54 msgid "Include" -msgstr "" +msgstr "İçer" #: ../src/pan-view/pan-view-filter.c:54 msgid "I" -msgstr "" +msgstr "I" #: ../src/pan-view/pan-view-filter.c:57 msgid "Group" -msgstr "" +msgstr "Grup" #: ../src/pan-view/pan-view-filter.c:57 msgid "G" -msgstr "" +msgstr "G" #: ../src/pan-view/pan-view-filter.c:71 -#, fuzzy msgid "Keyword Filter:" -msgstr "Tırnaklar" +msgstr "Anahtar Kelime Süzgeci:" #: ../src/pan-view/pan-view-filter.c:104 ../src/preferences.c:1989 -#, fuzzy msgid "Filter" -msgstr "Filtralama" +msgstr "Süzgeç" #: ../src/pan-view/pan-view-filter.c:139 -#, fuzzy msgid "Removed keyword…" -msgstr "Tırnaklar" +msgstr "Anahtar kelime kaldırıldı..." #: ../src/pan-view/pan-view-search.c:41 -#, fuzzy msgid "Find:" -msgstr "Filtralama" +msgstr "Bul:" #: ../src/pan-view/pan-view-search.c:66 msgid "Find" -msgstr "" +msgstr "Bul" #: ../src/pan-view/pan-view-search.c:115 msgid "path found" -msgstr "" +msgstr "yol bulundu" #: ../src/pan-view/pan-view-search.c:115 -#, fuzzy msgid "filename found" -msgstr "Yeniden adlandır :" +msgstr "dosya adı bulundu" #: ../src/pan-view/pan-view-search.c:163 msgid "partial match" -msgstr "" +msgstr "kısmi eşleşme" #: ../src/pan-view/pan-view-search.c:374 ../src/pan-view/pan-view-search.c:407 msgid "no match" -msgstr "" +msgstr "eşleşme yok" #: ../src/preferences.c:107 -#, fuzzy msgid "Unknown" -msgstr "(bennebileyimne)'de" +msgstr "Bilinmeyen" #: ../src/preferences.c:109 -#, fuzzy msgid "RAW Image" -msgstr "Resim" +msgstr "Ham Resim" #: ../src/preferences.c:111 msgid "Video" -msgstr "" +msgstr "Vidyo" #: ../src/preferences.c:559 msgid "Nearest (worst, but fastest)" -msgstr "" +msgstr "En yakın (en kötü ama en hızlı)" #: ../src/preferences.c:561 -#, fuzzy msgid "Tiles" -msgstr "Dosya" - +msgstr "Döşemeler" + +# programda bakmak lazım #: ../src/preferences.c:563 msgid "Bilinear" -msgstr "" +msgstr "Çift çizgili" #: ../src/preferences.c:565 msgid "Hyper (best, but slowest)" -msgstr "" +msgstr "Aşırı (en iyi, ama en yavaş)" #: ../src/preferences.c:590 msgid "PRIMARY" -msgstr "" +msgstr "BİRİNCİL" #: ../src/preferences.c:592 msgid "CLIPBOARD" -msgstr "" +msgstr "PANO" #: ../src/preferences.c:657 ../src/print.c:390 msgid "Custom" -msgstr "" +msgstr "Özel" #: ../src/preferences.c:740 -#, fuzzy msgid "Single image" -msgstr "%d dosya %s" +msgstr "Tek resim" #: ../src/preferences.c:742 msgid "Anaglyph Red-Cyan" -msgstr "" +msgstr "Anaglif Kırmızı-Mavi" #: ../src/preferences.c:744 msgid "Anaglyph Green-Magenta" -msgstr "" +msgstr "Anaglif Yeşil-Eflatun" #: ../src/preferences.c:746 msgid "Anaglyph Yellow-Blue" -msgstr "" +msgstr "Anaglif Sarı-Mavi" #: ../src/preferences.c:748 msgid "Anaglyph Gray Red-Cyan" -msgstr "" +msgstr "Anaglif Gri Kırmızı-Mavi" #: ../src/preferences.c:750 msgid "Anaglyph Gray Green-Magenta" -msgstr "" +msgstr "Anaglif Gri Yeşil-Eflatun" #: ../src/preferences.c:752 msgid "Anaglyph Gray Yellow-Blue" -msgstr "" +msgstr "Anaglif Gri Sarı-Mavi" #: ../src/preferences.c:754 msgid "Anaglyph Dubois Red-Cyan" -msgstr "" +msgstr "Anaglif Dubois Kırmızı-Mavi" #: ../src/preferences.c:756 msgid "Anaglyph Dubois Green-Magenta" -msgstr "" +msgstr "Anaglif Dubois Yeşil-Kırmızı" #: ../src/preferences.c:758 msgid "Anaglyph Dubois Yellow-Blue" -msgstr "" +msgstr "Anaglif Dubois Sarı-Mavi" #: ../src/preferences.c:761 msgid "Side by Side" -msgstr "" +msgstr "Yan Yana" #: ../src/preferences.c:762 msgid "Side by Side Half size" -msgstr "" +msgstr "Yan Yana Yarım boy" #: ../src/preferences.c:769 msgid "Top - Bottom" -msgstr "" +msgstr "Üst - Alt" #: ../src/preferences.c:770 msgid "Top - Bottom Half size" -msgstr "" +msgstr "Üst - Alt Yarım boy" #: ../src/preferences.c:779 ../src/preferences.c:2602 msgid "Fixed position" -msgstr "" +msgstr "Sabit konum" #: ../src/preferences.c:1118 ../src/preferences.c:1121 -#, fuzzy msgid "Reset filters" -msgstr "Dosyaları sil" +msgstr "Süzgeçleri sıfırla" #: ../src/preferences.c:1122 msgid "" "This will reset the file filters to the defaults.\n" "Continue?" msgstr "" +"Bu, dosya süzgeçlerini varsyaılanlara sıfırlayacak.\n" +"Devam edilsin mi?" #: ../src/preferences.c:1149 ../src/preferences.c:1152 msgid "Clear trash" -msgstr "" +msgstr "Çöpü temizle" #: ../src/preferences.c:1153 msgid "This will remove the trash contents." -msgstr "" +msgstr "Bu, çöp içeriğini kaldıracak." #: ../src/preferences.c:1197 ../src/preferences.c:1200 msgid "Reset image overlay template string" -msgstr "" +msgstr "Resim bindirme şablon dizesini sıfırla" #: ../src/preferences.c:1201 msgid "" "This will reset the image overlay template string to the default.\n" "Continue?" msgstr "" +"Bu, resim bindirme şablon dizesini varsayılana sıfırlayacaktır.\n" +"Devam edilsin mi?" #: ../src/preferences.c:1597 msgid "General" @@ -4632,40 +4315,43 @@ #: ../src/preferences.c:1603 ../src/preferences.c:1715 msgid "Quality:" -msgstr "" +msgstr "Nitelik:" #: ../src/preferences.c:1611 msgid "Use Geeqie thumbnail style and cache" -msgstr "" +msgstr "Geeqie küçük resim tarzını ve önbelleğini kullan" #: ../src/preferences.c:1618 msgid "Store thumbnails local to image folder (non-standard)" -msgstr "" +msgstr "Küçük resimleri yerel olarak resim dizininde sakla (standart dışı)" #: ../src/preferences.c:1625 msgid "Use standard thumbnail style and cache, shared with other applications" msgstr "" +"Diğer uygulamalarla paylaşılan standart küçük resim tarzı ve önbellek kullan" #: ../src/preferences.c:1631 msgid "Use EXIF thumbnails when available (EXIF thumbnails may be outdated)" msgstr "" +"Kullanılabilir olduğunda EXIF küçük resimlerini kullanın (EXIF küçük " +"resimleri eski olabilir)" #: ../src/preferences.c:1635 msgid "Use embedded metadata in video files as thumbnails when available" msgstr "" +"Vidyo dosyalarında gömülü meta verileri mümkünse küçük resimler olarak kullan" #: ../src/preferences.c:1642 msgid "Slide show" -msgstr "Resim şovu" +msgstr "Resim gösterisi" #: ../src/preferences.c:1653 -#, fuzzy msgid "Delay between image change hrs:mins:secs.dec" -msgstr "Resim değişiminde kaç saniye beklensin :" +msgstr "Resim değiştirme arasındaki gecikme saat:dak:sn.salise" #: ../src/preferences.c:1669 msgid "Random" -msgstr "Tesadüfen" +msgstr "Rastgele" #: ../src/preferences.c:1670 msgid "Repeat" @@ -4673,60 +4359,58 @@ #: ../src/preferences.c:1672 msgid "Image loading and caching" -msgstr "" +msgstr "Resim yükleme ve önbellekleme" #: ../src/preferences.c:1674 msgid "Decoded image cache size (Mb):" -msgstr "" +msgstr "Çözülmüş resim önbellek boyutu (Mb):" #: ../src/preferences.c:1676 msgid "Preload next image" -msgstr "" +msgstr "Sonraki resmi ön yükle" #: ../src/preferences.c:1679 -#, fuzzy msgid "Refresh on file change" -msgstr "Dosya listesini yenile" +msgstr "Dosya değişikliğinde yenile" #: ../src/preferences.c:1682 msgid "Info sidebar heights" -msgstr "" +msgstr "Bilgi kenar çubuğu yüksekliği" #: ../src/preferences.c:1683 msgid "NOTE! Geeqie must be restarted for changes to take effect" msgstr "" +"NOT! Geeqie, değişikliklerin geçerli olması için yeniden başlatılmalıdır" #: ../src/preferences.c:1685 -#, fuzzy msgid "Keywords:" -msgstr "Tırnaklar" +msgstr "Anahtar kelimeler:" #: ../src/preferences.c:1691 -#, fuzzy msgid "Comment:" -msgstr "Büyült" +msgstr "Yorum:" #: ../src/preferences.c:1694 -#, fuzzy msgid "Rating:" -msgstr "Filtralama" +msgstr "Derecelendirme:" #: ../src/preferences.c:1718 msgid "Use GPU acceleration via Clutter library" -msgstr "" +msgstr "Clutter kütüphanesi üzerinden GPU hızlandırmayı kullan" #: ../src/preferences.c:1722 msgid "Two pass rendering (apply HQ zoom and color correction in second pass)" msgstr "" +"İki geçişli oluşturma (ikinci geçişte Yüksek Nitelikli yakınlaştırma ve renk " +"düzeltmesi uygula)" #: ../src/preferences.c:1726 -#, fuzzy msgid "Zoom increment:" -msgstr "Büyült" +msgstr "Yakınlaştırma artışı:" #: ../src/preferences.c:1734 msgid "Allow enlargement of image (max. size in %)" -msgstr "" +msgstr "Resmin büyütülmesine izin ver (% olarak en fazla boyut)" #: ../src/preferences.c:1740 #, c-format @@ -4736,112 +4420,116 @@ "window\". This value sets the maximum expansion permitted in percent i.e. " "100% is full-size." msgstr "" +"Yakınlaştır \"Görüntüyü pencereye sığdır\" olarak ayarlandığında Geeqie'nin " +"geçerli görünüm alanından daha küçük görüntüler için görüntü boyutunu " +"artırmasına izin vermek için bunu etkinleştirin. Bu değer, izin verilen en " +"fazla genişlemeyi yüzde olarak belirler, yani 100% tam boyuttadır." #: ../src/preferences.c:1743 #, c-format msgid "Virtual window size (% of actual window):" -msgstr "" +msgstr "Sanal pencere boyutu (gerçek pencerenin% si):" #: ../src/preferences.c:1749 msgid "" -"This value will set the virtual size of the window when \"Fit image to window" -"\" is set. Instead of using the actual size of the window, the specified " -"percentage of the window will be used. 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." +"This value will set the virtual size of the window when \"Fit image to " +"window\" is set. Instead of using the actual size of the window, the " +"specified percentage of the window will be used. 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." msgstr "" +"Bu değer, \"Görüntüyü pencereye sığdır\" ayarlandığında pencerenin sanal " +"boyutunu ayarlar. Pencerenin gerçek boyutunu kullanmak yerine, pencerenin " +"belirtilen yüzdesi kullanılır. Görüntünün etrafında bir kenarlık (100%'den " +"düşük değerler) veya görüntüyü otomatik yakınlaştırma (100%'den büyük " +"değerler) sağlar. Tam ekran modunu da etkiler." #: ../src/preferences.c:1751 msgid "Appearance" -msgstr "" +msgstr "Görünüm" #: ../src/preferences.c:1753 -#, fuzzy msgid "Use custom border color in window mode" -msgstr "Benim dosya tiplerim :" +msgstr "Pencere kipinde özel kenarlık rengi kullan" #: ../src/preferences.c:1756 msgid "Use custom border color in fullscreen mode" -msgstr "" +msgstr "Tam ekran kipinde özel kenarlık rengi kullanın" #: ../src/preferences.c:1759 msgid "Border color" -msgstr "" +msgstr "Kenarlık rengi" #: ../src/preferences.c:1764 msgid "Alpha channel color 1" -msgstr "" +msgstr "Alfa kanalı rengi 1" #: ../src/preferences.c:1767 msgid "Alpha channel color 2" -msgstr "" +msgstr "Alfa kanalı rengi 2" #: ../src/preferences.c:1773 -#, fuzzy msgid "Convenience" -msgstr "Devam et" +msgstr "Uygunluk" #: ../src/preferences.c:1775 msgid "Auto rotate proofs using Exif information" -msgstr "" +msgstr "Exif bilgilerini kullanarak denemeleri otomatik döndür" #: ../src/preferences.c:1792 msgid "Windows" -msgstr "" +msgstr "Pencereler" #: ../src/preferences.c:1794 -#, fuzzy msgid "State" -msgstr "Sil" +msgstr "Durum" #: ../src/preferences.c:1796 msgid "Remember window positions" -msgstr "Pencere yerlerini aklında tut" +msgstr "Pencere yerlerini unutma" #: ../src/preferences.c:1799 msgid "Use saved window positions also for new windows" -msgstr "" +msgstr "Yeni pencereler için kaydedilmiş pencere konumlarını da kullanın" #: ../src/preferences.c:1803 msgid "Remember tool state (float/hidden)" -msgstr "Durumu unutma " +msgstr "Araç durumunu unutma (kayan/gizli)" #: ../src/preferences.c:1806 -#, fuzzy msgid "Remember dialog window positions" -msgstr "Pencere yerlerini aklında tut" +msgstr "İletişim penceresi yerlerini unutma" #: ../src/preferences.c:1811 msgid "Fit window to image when tools are hidden/floating" -msgstr "Çerezler gizli ya da dinamik çalışıyorsa pencereyi resme göre ayarla" +msgstr "Araçlar gizlendiğinde/kayarken görüntüyü pencereye sığdır" #: ../src/preferences.c:1815 -#, fuzzy msgid "Limit size when auto-sizing window (%):" -msgstr "Boyutu otomatik boyutlamada sınırla" +msgstr "Pencere otomatik boyutlandığında sınır boyutu (%):" #: ../src/preferences.c:1830 -#, fuzzy msgid "Smooth image flip" -msgstr "Resim" +msgstr "Düzgün resim çevirme" #: ../src/preferences.c:1832 msgid "Disable screen saver" -msgstr "" +msgstr "Ekran koruyucuyu devre dışı bırak" #: ../src/preferences.c:1836 msgid "Overlay Screen Display" -msgstr "" +msgstr "Ekran Görünümü Bindirme" #: ../src/preferences.c:1838 msgid "Image overlay template" -msgstr "" +msgstr "Resim bindirme şablonu" #: ../src/preferences.c:1851 +#, qt-format 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 " @@ -4851,245 +4539,266 @@ "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" +"<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 "" +"<i>%name%</i> resmin dosya adıyla sonuçlanır.\n" +"Ayrıca mevcut: <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> " +"(çözünürlük)\n" +"Exif verilerine erişmek için exif adını kullanın, örn. " +"<i>%formatted.Camera%</i>biçimlendirilmiş kamera adı,\n" +"<i>%Exif.Photo.DateTimeOriginal%</i> özgün çekim tarihi.\n" +"<i>%formatted.Camera:20</i> notasyonu görüntülenen verileri 20 karaktere " +"kesecek ve sonunda kesmeyi belirtmek için 3 nokta ekleyecektir.\n" +"İki veya daha fazla değişken |-sign ile bağlıysa, kullanılabilir " +"değişkenleri bir ayırıcı ile yazdırır.\n" +"Exif verilerinde ISO bilgisi yoksa \n" +"<i>%formatted.ShutterSpeed%</i>|<i>%formatted.ISOSpeedRating%</i>|<i>%formatted.FocalLength%</i> " +" \"1/20s - 400 - 80 mm\" or \"1/200 - 80 mm\" gösterebilir,\n" +"Bir satır boşsa, kaldırılır. Bu, veri bulunmadığında tamamen kaybolan " +"satırlar eklemenize izin verir.\n" #: ../src/preferences.c:1868 ../src/print.c:3220 -#, fuzzy msgid "Font" -msgstr "Xpaint" +msgstr "Yazıtipi" #: ../src/preferences.c:1880 ../src/print.c:3410 msgid "Text" -msgstr "" +msgstr "Metin" #: ../src/preferences.c:1885 msgid "Background" -msgstr "" +msgstr "Arka plan" #: ../src/preferences.c:1891 ../src/preferences.c:2069 #: ../src/preferences.c:2515 msgid "Defaults" -msgstr "" +msgstr "Varsayılan" #: ../src/preferences.c:1945 msgid "Show hidden files or folders" -msgstr "" +msgstr "Gizli dosya veya dizinleri göster" #: ../src/preferences.c:1947 msgid "Show parent folder (..)" -msgstr "" - +msgstr "Üst dizini göster (..)" + +# programda bakmak lazım #: ../src/preferences.c:1949 msgid "Case sensitive sort" -msgstr "" +msgstr "Harfe duyarlı sıralama" #: ../src/preferences.c:1951 msgid "Natural sort order" -msgstr "" +msgstr "Doğal sıralama düzeni" #: ../src/preferences.c:1953 -#, fuzzy msgid "Disable file extension checks" -msgstr "Dosya filtralarını kapat" +msgstr "Dosya uzantısı denetimlerini devre dışı bırak" #: ../src/preferences.c:1956 msgid "Disable File Filtering" -msgstr "Dosya filtralarını kapat" +msgstr "Dosya Süzmeyi Devre Dışı Bırak" #: ../src/preferences.c:1960 msgid "Grouping sidecar extensions" -msgstr "" +msgstr "Sepet uzantıları gruplaması" #: ../src/preferences.c:1967 -#, fuzzy msgid "File types" -msgstr "Filtralama" +msgstr "Dosya türleri" #: ../src/preferences.c:2024 msgid "Class" -msgstr "" +msgstr "Sınıf" #: ../src/preferences.c:2041 msgid "Writable" -msgstr "" +msgstr "Yazılabilir" #: ../src/preferences.c:2052 msgid "Sidecar is allowed" -msgstr "" +msgstr "Sepet izinlidir" #: ../src/preferences.c:2098 msgid "Metadata writing process" -msgstr "" +msgstr "Meta veri yazma işlemi" #: ../src/preferences.c:2100 msgid "Warning: Geeqie is built without Exiv2. Some options are disabled." msgstr "" +"Uyarı: Geeqie Exiv2 olmadan inşa edilmiştir. Bazı seçenekler devre dışı." #: ../src/preferences.c:2102 msgid "" "Metadata are written in the following order. The process ends after first " "success." msgstr "" +"Meta veriler aşağıdaki sırayla yazılmıştır. İşlem ilk başarıdan sonra sona " +"eriyor." #: ../src/preferences.c:2105 msgid "" "1) Save metadata in image files, or sidecar files, according to the XMP " "standard" msgstr "" +"1) XMP standardına göre meta verileri görüntü dosyalarına veya sepet " +"dosyalarına kaydedin" #: ../src/preferences.c:2111 msgid "" "2) Save metadata in '.metadata' folder, local to image folder (non-standard)" msgstr "" +"2) Meta verileri yerel olarak resim dizinine ' metadata' dizinine kaydedin " +"(standart dışı)" #: ../src/preferences.c:2114 #, c-format msgid "3) Save metadata in Geeqie private directory '%s'" -msgstr "" +msgstr "3) Geeqie '%s' özel dizinine meta verileri kaydedin" #: ../src/preferences.c:2120 msgid "Step 1: Write to image files" -msgstr "" +msgstr "Adım 1: Resim dosyalarına yaz" #: ../src/preferences.c:2128 msgid "" "Store metadata also in legacy IPTC tags (converted according to IPTC4XMP " "standard)" msgstr "" +"Meta verileri eski IPTC etiketlerinde de saklayın (IPTC4XMP standardına göre " +"dönüştürülür)" #: ../src/preferences.c:2131 msgid "Warn if the image files are unwritable" -msgstr "" +msgstr "Resim dosyalarının cevapsız olup olmadığını bildir" #: ../src/preferences.c:2134 msgid "Ask before writing to image files" -msgstr "" +msgstr "Resim dosyalarına yazmadan önce sor" #: ../src/preferences.c:2137 msgid "Create sidecar files named image.ext.xmp (as opposed to image.xmp)" -msgstr "" +msgstr "Image.ext.xmp adlı bir yardımcı dosya oluşturun (image.xmp yerine)" #: ../src/preferences.c:2140 msgid "Step 2 and 3: write to Geeqie private files" -msgstr "" +msgstr "Adım 2 ve 3: Geeqie özel dosyalarına yaz" #: ../src/preferences.c:2145 msgid "" "Use GQview legacy metadata format (supports only keywords and comments) " "instead of XMP" msgstr "" +"XMP yerine GQview eski meta veri biçimini kullanın (yalnızca anahtar " +"kelimeleri ve yorumları destekler)" #: ../src/preferences.c:2149 msgid "Miscellaneous" -msgstr "" +msgstr "Çeşitli" #: ../src/preferences.c:2150 msgid "" "Write the same description tags (keywords, comment, etc.) to all grouped " "sidecars" msgstr "" +"Tüm gruplanmış sepetlere aynı açıklama etiketlerini (anahtar kelimeler, " +"yorum vb.) yazın" #: ../src/preferences.c:2153 msgid "Allow keywords to differ only in case" -msgstr "" +msgstr "Anahtar kelimelerin yalnızca durumda farklılık göstermesine izin ver" #: ../src/preferences.c:2156 msgid "Write altered image orientation to the metadata" -msgstr "" +msgstr "Değiştirilen resim yönünü meta verilere yazın" #: ../src/preferences.c:2162 msgid "Auto-save options" -msgstr "" +msgstr "Otomatik kaydetme seçenekleri" #: ../src/preferences.c:2164 msgid "Write metadata after timeout" -msgstr "" +msgstr "Zaman aşımından sonra meta verileri yaz" #: ../src/preferences.c:2170 msgid "Timeout (seconds):" -msgstr "" +msgstr "Zaman aşımı (saniye):" #: ../src/preferences.c:2173 -#, fuzzy msgid "Write metadata on image change" -msgstr "Resim değişiminde kaç saniye beklensin :" +msgstr "Resim değişikliğinde meta veri yaz" #: ../src/preferences.c:2176 msgid "Write metadata on directory change" -msgstr "" +msgstr "Dizin değişikliğinde meta veri yaz" #: ../src/preferences.c:2216 msgid "Perceptual" -msgstr "" - +msgstr "Algısal" + +# kolorimetrik tam karşılığı nedir? #: ../src/preferences.c:2218 msgid "Relative Colorimetric" -msgstr "" +msgstr "Göreceli Renkölçüm" #: ../src/preferences.c:2222 msgid "Absolute Colorimetric" -msgstr "" +msgstr "Kesin Renkölçüm" #: ../src/preferences.c:2247 -#, fuzzy msgid "Color management" -msgstr "Büyült" +msgstr "Renk yönetimi" #: ../src/preferences.c:2249 -#, fuzzy msgid "Input profiles" -msgstr "%d dosya %s" +msgstr "Giriş düzenleri" #: ../src/preferences.c:2257 msgid "Type" -msgstr "" +msgstr "Tür" #: ../src/preferences.c:2260 msgid "Menu name" -msgstr "Mönü adı" +msgstr "Menü adı" #: ../src/preferences.c:2263 -#, fuzzy msgid "File" -msgstr "Filtralama" +msgstr "Dosya" #: ../src/preferences.c:2271 #, c-format msgid "Input %d:" -msgstr "" +msgstr "%d girişi:" #: ../src/preferences.c:2287 ../src/preferences.c:2307 -#, fuzzy msgid "Select color profile" -msgstr "Sil .." +msgstr "Renk düzeni seç" #: ../src/preferences.c:2295 -#, fuzzy msgid "Screen profile" -msgstr "%d dosya %s" +msgstr "Ekran düzeni" #: ../src/preferences.c:2299 msgid "Use system screen profile if available" -msgstr "" +msgstr "Varsa sistem ekranı düzenini kullanın" #: ../src/preferences.c:2304 msgid "Screen:" -msgstr "" +msgstr "Ekran:" #: ../src/preferences.c:2310 -#, fuzzy msgid "Render Intent:" -msgstr "Yeniden adlandır" +msgstr "Oluşturma Amacı:" #: ../src/preferences.c:2331 ../src/preferences.c:2372 msgid "Behavior" -msgstr "" +msgstr "Davranış" #: ../src/preferences.c:2333 ../src/utilops.c:2156 msgid "Delete" @@ -5097,32 +4806,27 @@ #: ../src/preferences.c:2335 msgid "Confirm file delete" -msgstr "Silmeyi onayla" +msgstr "Dosya silme işlemini onayla" #: ../src/preferences.c:2337 -#, fuzzy msgid "Enable Delete key" -msgstr "" -"%s 'yi maalesef\n" -"silemedim" +msgstr "Sil tuşunu etkinleştir" #: ../src/preferences.c:2340 -#, fuzzy msgid "Safe delete" -msgstr "Silmeyi onayla" +msgstr "Güvenli sil" #: ../src/preferences.c:2358 -#, fuzzy msgid "Maximum size:" -msgstr "Dosya" +msgstr "En fazla boyut:" #: ../src/preferences.c:2358 msgid "MB" -msgstr "" +msgstr "MB" #: ../src/preferences.c:2360 msgid "Set to 0 for unlimited size" -msgstr "" +msgstr "Sınırsız boyut için 0'a ayarlayın" #: ../src/preferences.c:2361 msgid "View" @@ -5130,262 +4834,241 @@ #: ../src/preferences.c:2374 msgid "Descend folders in tree view" -msgstr "" +msgstr "Ağaç görünümündeki dizinleri küçült" #: ../src/preferences.c:2377 msgid "In place renaming" -msgstr "" +msgstr "Yerinde yeniden adlandırma" #: ../src/preferences.c:2380 msgid "List directory view uses single click to enter" -msgstr "" +msgstr "Liste dizini görünümü girmek için tek tıklamayı kullanır" #: ../src/preferences.c:2383 msgid "Recent folder list maximum size" -msgstr "" +msgstr "Son dizin listesi en fazla boyutu" #: ../src/preferences.c:2386 msgid "Drag'n drop icon size" -msgstr "" +msgstr "Sürükle ve bırak simge boyutu" #: ../src/preferences.c:2390 -#, fuzzy msgid "Copy path clipboard selection:" -msgstr "Kopyala" +msgstr "Yol pano seçimini kopyala:" #: ../src/preferences.c:2392 msgid "Navigation" -msgstr "" +msgstr "Gezinme" #: ../src/preferences.c:2394 msgid "Progressive keyboard scrolling" -msgstr "Gelişebilir klavye kaydırması" +msgstr "Aşamalı klavye kaydırma" #: ../src/preferences.c:2396 msgid "Keyboard scrolling step multiplier:" -msgstr "" +msgstr "Klavye kaydırma adımı çarpanı:" #: ../src/preferences.c:2398 msgid "Mouse wheel scrolls image" -msgstr "" +msgstr "Fare tekerleği resim kaydırır" #: ../src/preferences.c:2400 msgid "Navigation by left or middle click on image" -msgstr "" +msgstr "Resim üzerinde sol veya orta tıklama ile gezinme" #: ../src/preferences.c:2402 msgid "Play video by left click on image" -msgstr "" +msgstr "Resmin üzerine sol tıklayarak vidyo oynatın" #: ../src/preferences.c:2405 msgid "Play with:" -msgstr "" +msgstr "Birlikte oynat:" #: ../src/preferences.c:2409 msgid "Debugging" -msgstr "" +msgstr "Hata ayıklama" #: ../src/preferences.c:2414 -#, fuzzy msgid "Timer data" -msgstr "Filtralama" +msgstr "Zamanlayıcı verileri" #: ../src/preferences.c:2417 -#, fuzzy msgid "Log Window max. lines:" -msgstr "Pencereyi kapat" +msgstr "Günlük penceresinin en fazla satır sayısı:" #: ../src/preferences.c:2435 msgid "Keyboard" -msgstr "" +msgstr "Klavye" #: ../src/preferences.c:2437 msgid "Accelerators" -msgstr "" +msgstr "Hızlandırıcılar" #: ../src/preferences.c:2456 -#, fuzzy msgid "Action" -msgstr "Seçenekler ..." +msgstr "Eylem" #: ../src/preferences.c:2478 msgid "KEY" -msgstr "" +msgstr "ANAHTAR" #: ../src/preferences.c:2489 -#, fuzzy msgid "Tooltip" -msgstr "Dosya" +msgstr "İpucu" #: ../src/preferences.c:2520 -#, fuzzy msgid "Reset selected" -msgstr "Dosyaları sil" +msgstr "Seçileni sıfırla" #: ../src/preferences.c:2535 -#, fuzzy msgid "Toolbar" -msgstr "Dosya" +msgstr "Araç çubuğu" #: ../src/preferences.c:2552 msgid "Stereo" -msgstr "" +msgstr "Stereo" #: ../src/preferences.c:2554 ../src/preferences.c:2557 msgid "Windowed stereo mode" -msgstr "" +msgstr "Pencere stereo modu" #: ../src/preferences.c:2561 ../src/preferences.c:2586 -#, fuzzy msgid "Mirror left image" -msgstr "%d dosya %s" +msgstr "Resmi sola yansıt" #: ../src/preferences.c:2564 ../src/preferences.c:2589 -#, fuzzy msgid "Flip left image" -msgstr "%d dosya %s" +msgstr "Resmi sola çevir" #: ../src/preferences.c:2567 ../src/preferences.c:2592 -#, fuzzy msgid "Mirror right image" -msgstr "%d dosya %s" +msgstr "Resmi sağa yansıt" #: ../src/preferences.c:2570 ../src/preferences.c:2595 -#, fuzzy msgid "Flip right image" -msgstr "%d dosya %s" +msgstr "Resmi sağa çevir" #: ../src/preferences.c:2572 ../src/preferences.c:2597 msgid "Swap left and right images" -msgstr "" +msgstr "Sol ve sağ resimlerin yerini değiştir" #: ../src/preferences.c:2574 ../src/preferences.c:2599 msgid "Disable stereo mode on single image source" -msgstr "" +msgstr "Tek bir görüntü kaynağında stereo kipini devre dışı bırakın" #: ../src/preferences.c:2577 ../src/preferences.c:2583 -#, fuzzy msgid "Fullscreen stereo mode" -msgstr "Tam ekran" +msgstr "Tam ekran stereo kipi" #: ../src/preferences.c:2578 msgid "Use different settings for fullscreen" -msgstr "" +msgstr "Tam ekran için farklı ayarlar kullan" #: ../src/preferences.c:2608 msgid "Left X" -msgstr "" +msgstr "Sol X" #: ../src/preferences.c:2610 msgid "Left Y" -msgstr "" +msgstr "Sol Y" #: ../src/preferences.c:2612 msgid "Right X" -msgstr "" +msgstr "Sağ X" #: ../src/preferences.c:2614 msgid "Right Y" -msgstr "" +msgstr "Sağ Y" #: ../src/preferences.c:2630 ../src/toolbar.c:89 -#, fuzzy msgid "Preferences" -msgstr "Seçenekler ..." +msgstr "Tercihler" #: ../src/preferences.c:2781 -#, fuzzy msgid "About Geeqie" -msgstr "" -"%s'yi yeniden\n" -"adlandır :\n" -" " +msgstr "Geeqie Hakkında" #: ../src/preferences.c:2791 msgid "translator-credits" -msgstr "" +msgstr "çevirmen-kredisi" #: ../src/print.c:134 -#, fuzzy msgid "Selection" -msgstr "Seçenekler ..." +msgstr "Seçim" #: ../src/print.c:135 msgid "All" -msgstr "" +msgstr "Tümü" #: ../src/print.c:146 msgid "One image per page" -msgstr "" +msgstr "Sayfa başına bir resim" #: ../src/print.c:147 msgid "Proof sheet" -msgstr "" +msgstr "Deneme sayfası" #: ../src/print.c:160 msgid "Default printer" -msgstr "" +msgstr "Varsayılan yazıcı" #: ../src/print.c:161 -#, fuzzy msgid "Custom printer" -msgstr "Benim dosya tiplerim :" +msgstr "Özel yazıcı" #: ../src/print.c:162 msgid "PostScript file" -msgstr "" +msgstr "PostScript dosyası" #: ../src/print.c:163 -#, fuzzy msgid "Image file" -msgstr "Resim" +msgstr "Resim dosyası" #: ../src/print.c:177 msgid "jpeg, low quality" -msgstr "" +msgstr "jpeg, düşük kalite" #: ../src/print.c:178 msgid "jpeg, normal quality" -msgstr "" +msgstr "jpeg, olağan kalite" #: ../src/print.c:179 msgid "jpeg, high quality" -msgstr "" +msgstr "jpeg, yüksek kalite" #: ../src/print.c:375 ../src/print.c:3222 -#, fuzzy msgid "points" -msgstr "Xpaint" +msgstr "noktalar" #: ../src/print.c:376 msgid "millimeters" -msgstr "" +msgstr "milimetre" #: ../src/print.c:377 msgid "centimeters" -msgstr "" +msgstr "santimetre" #: ../src/print.c:378 msgid "inches" -msgstr "" +msgstr "inç" #: ../src/print.c:379 msgid "picas" -msgstr "" +msgstr "harf" #: ../src/print.c:391 msgid "Letter" -msgstr "" +msgstr "Mektup" #. in 8.5 x 11 #: ../src/print.c:392 msgid "Legal" -msgstr "" +msgstr "Yasal" #. in 8.5 x 14 #: ../src/print.c:393 msgid "Executive" -msgstr "" +msgstr "Yönetici" #. in 7.25x 10.5 #. mm 841 x 1189 @@ -5401,56 +5084,56 @@ #. mm 125 x 176 #: ../src/print.c:405 msgid "Envelope #10" -msgstr "" +msgstr "Zarf #10" #. in 4.125 x 9.5 #: ../src/print.c:406 msgid "Envelope #9" -msgstr "" +msgstr "Zarf #9" #. in 3.875 x 8.875 #: ../src/print.c:407 msgid "Envelope C4" -msgstr "" +msgstr "Zarf C4" #. mm 229 x 324 #: ../src/print.c:408 msgid "Envelope C5" -msgstr "" +msgstr "Zarf C5" #. mm 162 x 229 #: ../src/print.c:409 msgid "Envelope C6" -msgstr "" +msgstr "Zarf C6" #. mm 114 x 162 #: ../src/print.c:410 msgid "Photo 6x4" -msgstr "" +msgstr "Foto 6x4" #. in 6 x 4 #: ../src/print.c:411 msgid "Photo 8x10" -msgstr "" +msgstr "Foto 8x10" #. in 8 x 10 #: ../src/print.c:412 msgid "Postcard" -msgstr "" +msgstr "Kartpostal" #. mm 100 x 148 #: ../src/print.c:413 msgid "Tabloid" -msgstr "" +msgstr "Küçük gazete" #: ../src/print.c:569 #, c-format msgid "page %d of %d" -msgstr "" +msgstr "%d'nin %d sayfası" #: ../src/print.c:761 msgid "Preview" -msgstr "" +msgstr "Önizleme" #: ../src/print.c:1069 #, c-format @@ -5458,574 +5141,522 @@ "Unable to open pipe for writing.\n" "\"%s\"" msgstr "" +"Yazmak için boru açılamıyor.\n" +"\"%s\"" #: ../src/print.c:1084 ../src/print.c:1476 ../src/ui_pathsel.c:432 -#, fuzzy, c-format +#, c-format msgid "A file with name %s already exists." -msgstr "" -"%s dizini \n" -"zaten dosya halinde\n" -"var ." +msgstr "%s isimli bir dosya zaten var." #: ../src/print.c:1099 ../src/print.c:1531 #, c-format msgid "Failure writing to file %s" -msgstr "" +msgstr "%s dosyasına yazma hatası" #: ../src/print.c:1154 ../src/print.c:1191 ../src/print.c:1227 #: ../src/print.c:1344 ../src/print.c:1417 msgid "SIGPIPE error writing to printer." -msgstr "" +msgstr "Yazıcıya yazarken SIGPIPE hatası." #: ../src/print.c:1952 #, c-format msgid "Page %d" -msgstr "" +msgstr "%d sayfası" #: ../src/print.c:1974 ../src/print.c:1979 -#, fuzzy msgid "Printing error" -msgstr "Filtralama" +msgstr "Yazdırma hatası" #: ../src/print.c:1978 #, c-format msgid "An error occured printing to %s." -msgstr "" +msgstr "%s öğesine yazdırırken bir hata oluştu." #: ../src/print.c:1982 -#, fuzzy msgid "Details" -msgstr "Dosyaları sil" +msgstr "Ayrıntılar" #: ../src/print.c:2597 ../src/print.c:3351 ../src/toolbar.c:88 -#, fuzzy msgid "Print" -msgstr "Filtralama" +msgstr "Yazdır" #: ../src/print.c:2601 #, c-format msgid "Printing %d pages to %s." -msgstr "" +msgstr "%d sayfa %s'e yazdırılıyor." #: ../src/print.c:2701 -#, fuzzy msgid "Format:" -msgstr "Genel" +msgstr "Biçim:" #: ../src/print.c:2776 msgid "Units:" -msgstr "" +msgstr "Birimler:" #: ../src/print.c:2820 msgid "Orientation:" -msgstr "" +msgstr "Yönlendirme:" #: ../src/print.c:2952 -#, fuzzy msgid "Destination:" -msgstr "Geçersiz hedef" +msgstr "Hedef:" #: ../src/print.c:3000 -#, fuzzy msgid "<printer name>" -msgstr "Yeniden adlandır :" +msgstr "<printer name>" #: ../src/print.c:3089 -#, fuzzy msgid "Unlimited" -msgstr "Silerken bir hata oluştu" +msgstr "Sınırsız" #: ../src/print.c:3207 msgid "Show" -msgstr "" +msgstr "Göster" #: ../src/print.c:3378 msgid "Source" -msgstr "" +msgstr "Kaynak" #: ../src/print.c:3390 -#, fuzzy msgid "Image size:" -msgstr "Resim" +msgstr "Resim boyutu:" #: ../src/print.c:3394 -#, fuzzy msgid "Proof size:" -msgstr "Resim" +msgstr "Deneme boyutu:" #: ../src/print.c:3420 -#, fuzzy msgid "Paper" -msgstr "Filtralama" +msgstr "Sayfa" #: ../src/print.c:3443 msgid "Margins" -msgstr "" +msgstr "Kenar boşlukları" #: ../src/print.c:3445 msgid "Left:" -msgstr "" +msgstr "Sol:" #: ../src/print.c:3448 msgid "Right:" -msgstr "" +msgstr "Sağ:" #: ../src/print.c:3451 msgid "Top:" -msgstr "" +msgstr "Üst:" #: ../src/print.c:3454 msgid "Bottom:" -msgstr "" +msgstr "Alt:" #: ../src/print.c:3463 -#, fuzzy msgid "Printer" -msgstr "Filtralama" +msgstr "Yazıcı" #: ../src/print.c:3469 -#, fuzzy msgid "Custom printer:" -msgstr "Benim dosya tiplerim :" +msgstr "Özel yazıcı:" #: ../src/print.c:3478 -#, fuzzy msgid "File:" -msgstr "Filtralama" +msgstr "Dosya:" #: ../src/print.c:3487 -#, fuzzy msgid "File format:" -msgstr "Filtralama" +msgstr "Dosya biçimi:" #: ../src/print.c:3492 msgid "DPI:" -msgstr "" +msgstr "DPI:" #: ../src/print.c:3500 -#, fuzzy msgid "Remember print settings" -msgstr "Pencere yerlerini aklında tut" +msgstr "Yazdırma ayarlarını unutma" #: ../src/rcfile.c:91 -#, fuzzy, c-format +#, c-format msgid "Option %s ignored: %s\n" -msgstr "Dizini yaratamadım" +msgstr "%s seçeneği yoksayıldı:%s\n" #: ../src/rcfile.c:532 #, c-format msgid "error saving config file: %s\n" -msgstr "%s ayar dosyasını kaydederken bir hata oluştu\n" +msgstr "yapılandırma dosyasını kaydederken bir hata oluştu: %s\n" #: ../src/rcfile.c:590 -#, fuzzy, c-format +#, c-format msgid "" "error saving config file: %s\n" "error: %s\n" -msgstr "%s ayar dosyasını kaydederken bir hata oluştu\n" +msgstr "" +"yapılandırma dosyasını kaydederken bir hata oluştu: %s\n" +"hata: %s\n" #: ../src/remote.c:752 ../src/remote.c:757 msgid "lua error: no data" -msgstr "" +msgstr "lua hatası: veri yok" #. short, long callback, extra, prefer, parameter, description #: ../src/remote.c:780 -#, fuzzy msgid "next image" -msgstr "%d dosya %s" +msgstr "sonraki resim" #: ../src/remote.c:781 msgid "previous image" -msgstr "" +msgstr "önceki resim" #: ../src/remote.c:782 -#, fuzzy msgid "first image" -msgstr "%d dosya %s" +msgstr "ilk resim" #: ../src/remote.c:783 -#, fuzzy msgid "last image" -msgstr "%d dosya %s" +msgstr "son resim" #: ../src/remote.c:784 -#, fuzzy msgid "toggle full screen" -msgstr "Tam ekrandan çık" +msgstr "tam ekrana geç" #: ../src/remote.c:785 -#, fuzzy msgid "start full screen" -msgstr "Tam ekrandan çık" +msgstr "Tam ekranı başlat" #: ../src/remote.c:786 -#, fuzzy msgid "stop full screen" -msgstr "Tam ekrandan çık" +msgstr "Tam ekranı durdur" #: ../src/remote.c:787 -#, fuzzy msgid "toggle slide show" -msgstr "Resim şovu" +msgstr "resim gösterisine geç" #: ../src/remote.c:788 -#, fuzzy msgid "start slide show" -msgstr "Resim şovu" +msgstr "resim gösterisini başlat" #: ../src/remote.c:789 -#, fuzzy msgid "stop slide show" -msgstr "Resim şovu" +msgstr "resim gösterisini durdur" #: ../src/remote.c:790 msgid "<FOLDER>" -msgstr "" +msgstr "<FOLDER>" #: ../src/remote.c:790 -#, fuzzy msgid "start recursive slide show in FOLDER" -msgstr "Resim şovu" +msgstr "DİZİN'de özyinelemeli resim gösterisi başlat" #: ../src/remote.c:791 msgid "<[H:][M:][N][.M]>" -msgstr "" +msgstr "<[H:][M:][N][.M]>" #: ../src/remote.c:791 msgid "set slide show delay to Hrs Mins N.M seconds" -msgstr "" +msgstr "resim gösterisi gecikmesini Saat Dk N.M saniye olarak ayarlayın" #: ../src/remote.c:792 msgid "show tools" -msgstr "" +msgstr "araçları göster" #: ../src/remote.c:793 -#, fuzzy msgid "hide tools" -msgstr "Geeqie Çerezleri" +msgstr "araçları gizle" #: ../src/remote.c:794 msgid "quit" -msgstr "" +msgstr "çık" #: ../src/remote.c:795 ../src/remote.c:796 ../src/remote.c:797 #: ../src/remote.c:798 ../src/remote.c:799 ../src/remote.c:801 #: ../src/remote.c:803 msgid "<FILE>" -msgstr "" +msgstr "<FILE>" #: ../src/remote.c:795 msgid "load configuration from FILE" -msgstr "" +msgstr "DOSYA'dan yapılandırma yükle" #: ../src/remote.c:796 msgid "get list of sidecars of FILE" -msgstr "" +msgstr "DOSYA yan sepetlerinin listesini al" #: ../src/remote.c:797 msgid "get destination path of FILE" -msgstr "" +msgstr "DOSYA hedef yolunu al" #: ../src/remote.c:798 -#, fuzzy msgid "open FILE, bring Geeqie window to the top" -msgstr "Yeni penerede göster" +msgstr "DOSYA'yı açın, Geeqie penceresini üstüne getirin" #: ../src/remote.c:799 msgid "open FILE, do not bring Geeqie window to the top" -msgstr "" +msgstr "DOSYA açın, Geeqie penceresini yukarı getirmeyin" #: ../src/remote.c:800 msgid "print filename of current image" -msgstr "" +msgstr "geçerli resmin dosya adını yazdır" #: ../src/remote.c:801 -#, fuzzy msgid "open FILE in new window" -msgstr "Yeni penerede göster" +msgstr "yeni pencerede DOSYA aç" #: ../src/remote.c:802 msgid "clear command line collection list" -msgstr "" +msgstr "komut satırı koleksiyon listesini temizle" #: ../src/remote.c:803 -#, fuzzy msgid "add FILE to command line collection list" -msgstr "%s'yi silemedim \n" +msgstr "komut satırı koleksiyon listesine DOSYA ekleyin" #: ../src/remote.c:804 msgid "bring the Geeqie window to the top" -msgstr "" +msgstr "Geeqie penceresini üste getir" #: ../src/remote.c:805 ../src/remote.c:806 msgid "clear|clean" -msgstr "" +msgstr "berrak|temiz" #: ../src/remote.c:805 -#, fuzzy msgid "clear or clean thumbnail cache" -msgstr "Tırnakları arabellekte tut" +msgstr "küçük resim önbelleğini temizle veya boşalt" #: ../src/remote.c:806 -#, fuzzy msgid "clear or clean shared thumbnail cache" -msgstr "Tırnakları arabellekte tut" +msgstr "paylaşılan küçük resim önbelleğini temizle veya boşalt" #: ../src/remote.c:807 msgid " clean the metadata cache" -msgstr "" +msgstr " meta veri önbelleğini temizle" #: ../src/remote.c:808 -#, fuzzy msgid "<folder> " -msgstr "Dosya" +msgstr "<folder> " #: ../src/remote.c:808 -#, fuzzy msgid " render thumbnails" -msgstr "Tırnakları arabellekte tut" +msgstr " küçük resimler oluştur" #: ../src/remote.c:809 ../src/remote.c:810 -#, fuzzy msgid "<folder> " -msgstr "Dosya" +msgstr "<folder> " #: ../src/remote.c:809 -#, fuzzy msgid "render thumbnails recursively" -msgstr "Tırnakları arabellekte tut" +msgstr "küçük resimleri özyinelemeli oluştur" #: ../src/remote.c:810 -#, fuzzy msgid " render thumbnails (see Help)" -msgstr "Tırnakları arabellekte tut" +msgstr " küçük resimler oluştur (Yardım'a bakın)" #: ../src/remote.c:811 -#, fuzzy msgid "<folder>" -msgstr "Dosya" +msgstr "<folder>" #: ../src/remote.c:811 msgid " render thumbnails recursively (see Help)" -msgstr "" +msgstr " küçük resimleri özyinelemeli oluştur (Yardım'a bakın)" #: ../src/remote.c:813 msgid "<FILE>,<lua script>" -msgstr "" +msgstr "<FILE>,<lua script>" #: ../src/remote.c:813 msgid "run lua script on FILE" -msgstr "" +msgstr "DOSYA üzerinde lua betiği çalıştır" #: ../src/remote.c:879 msgid "Remote command list:\n" -msgstr "" +msgstr "Uzaktan komut listesi:\n" #: ../src/remote.c:898 msgid "" "\n" " All other command line parameters are used as plain files if they exists.\n" msgstr "" +"\n" +" Diğer tüm komut satırı değişkenleri, varsa düz dosyalar olarak " +"kullanılır.\n" #: ../src/remote.c:948 #, c-format msgid "Remote %s not running, starting..." -msgstr "" +msgstr "Uzaktan %s çalışmıyor, başlıyor..." #: ../src/remote.c:1084 msgid "Remote not available\n" -msgstr "" +msgstr "Uzaktan mevcut değil\n" #: ../src/search.c:243 -#, fuzzy msgid "folder" -msgstr "Dosya" +msgstr "dizin" #: ../src/search.c:244 msgid "comments" -msgstr "" +msgstr "yorumlar" #: ../src/search.c:245 msgid "results" -msgstr "" +msgstr "sonuçlar" #: ../src/search.c:249 ../src/search.c:274 -#, fuzzy msgid "contains" -msgstr "Devam et" +msgstr "içeren" #: ../src/search.c:250 msgid "is" -msgstr "" +msgstr "eşittir" #: ../src/search.c:254 ../src/search.c:261 ../src/search.c:280 msgid "equal to" -msgstr "" +msgstr "eşittir" #: ../src/search.c:255 ../src/search.c:281 ../src/search.c:288 msgid "less than" -msgstr "" +msgstr "daha az" #: ../src/search.c:256 ../src/search.c:282 ../src/search.c:289 -#, fuzzy msgid "greater than" -msgstr "Tırnakları yarat" +msgstr "daha büyük" #: ../src/search.c:257 ../src/search.c:264 ../src/search.c:283 msgid "between" -msgstr "" +msgstr "arasında" #: ../src/search.c:262 msgid "before" -msgstr "" +msgstr "önce" #: ../src/search.c:263 -#, fuzzy msgid "after" -msgstr "Filtralama" +msgstr "sonra" #: ../src/search.c:268 msgid "match all" -msgstr "" +msgstr "tümüyle eşleş" #: ../src/search.c:269 msgid "match any" -msgstr "" +msgstr "herhangi biriyle eşleş" #: ../src/search.c:270 msgid "exclude" -msgstr "" +msgstr "dışla" #: ../src/search.c:275 msgid "miss" -msgstr "" +msgstr "bayan" #: ../src/search.c:287 msgid "not geocoded" -msgstr "" +msgstr "coğrafi kodlanmamış" #: ../src/search.c:340 -#, fuzzy, c-format +#, c-format msgid "%s, %d files (%s, %d)" -msgstr "%d dosya (%d)%s" +msgstr "%s, %d dosya (%s, %d)" #: ../src/search.c:345 -#, fuzzy, c-format +#, c-format msgid "%s, %d files" -msgstr "%d dosya %s" +msgstr "%s, %d dosya" #: ../src/search.c:363 -#, fuzzy msgid "Searching..." -msgstr "Kopyala ..." +msgstr "Aranıyor..." #: ../src/search.c:2045 ../src/search.c:3043 msgid "km" -msgstr "" +msgstr "km" #: ../src/search.c:2050 ../src/search.c:3044 -#, fuzzy msgid "miles" -msgstr "Dosya" +msgstr "mil" #: ../src/search.c:2342 msgid "File not found" -msgstr "" +msgstr "Dosya yok" #: ../src/search.c:2343 -#, fuzzy msgid "Please enter an existing file for image content." -msgstr "Lütfen varolan bir dizini seç" +msgstr "Lütfen resim içeriği için mevcut bir dosyayı girin." #: ../src/search.c:2368 msgid "Entry does not contain a valid lat/long value" -msgstr "" +msgstr "Giriş geçerli bir lat/long değeri içermiyor" #: ../src/search.c:2418 -#, fuzzy msgid "Please enter an existing folder to search." -msgstr "Lütfen varolan bir dizini seç" +msgstr "Lütfen aramak için mevcut bir dizin girin." #: ../src/search.c:2860 -#, fuzzy msgid "Image search" -msgstr "Resim" +msgstr "Resim ara" #: ../src/search.c:2890 -#, fuzzy msgid "Search:" -msgstr "Kopyala ..." +msgstr "Ara:" #: ../src/search.c:2904 msgid "Recurse" -msgstr "" +msgstr "Özyinelemeli" #: ../src/search.c:2909 -#, fuzzy msgid "File name" -msgstr "Yeniden adlandır :" +msgstr "Dosya adı" #: ../src/search.c:2915 ../src/search.c:3014 msgid "Match case" -msgstr "" +msgstr "Durum eşleşmesi" #: ../src/search.c:2920 -#, fuzzy msgid "File size is" -msgstr "Dosya" +msgstr "Dosya boyutu" #: ../src/search.c:2927 ../src/search.c:2943 ../src/search.c:2964 #: ../src/search.c:3026 -#, fuzzy msgid "and" -msgstr "Tesadüfen" +msgstr "ve" #: ../src/search.c:2933 -#, fuzzy msgid "File date is" -msgstr "Filtralama" +msgstr "Dosya tarihi" #: ../src/search.c:2948 -#, fuzzy msgid "Exif date" -msgstr "Listeleri yenile" +msgstr "Exif tarihi" #: ../src/search.c:2953 -#, fuzzy msgid "Image dimensions are" -msgstr "Geçersiz hedef" +msgstr "Resim boyutları" #: ../src/search.c:2974 msgid "Image content is" -msgstr "" +msgstr "Resim içeriği" #: ../src/search.c:2980 #, no-c-format msgid "% similar to" -msgstr "" +msgstr "% benzer" #: ../src/search.c:2988 -#, fuzzy msgid "Ignore rotation" -msgstr "Geçersiz hedef" +msgstr "Döndürmeyi yoksay" #: ../src/search.c:3019 -#, fuzzy msgid "Image rating is" -msgstr "Geçersiz hedef" +msgstr "Resim derecelendirmesi" #: ../src/search.c:3033 -#, fuzzy msgid "Image is" msgstr "Resim" #: ../src/search.c:3045 msgid "n.m." -msgstr "" +msgstr "n.m." #: ../src/search.c:3051 msgid "from" -msgstr "" +msgstr "şuradan" #: ../src/search.c:3056 msgid "" @@ -6037,232 +5668,221 @@ "an internet search URL\n" "See the Help file" msgstr "" +"Forma bir koordinat girin:\n" +"89.123 179.456\n" +"veya coğrafi kodlanmış bir görüntüyü sürükleyip bırakın\n" +"veya haritaya sol tıklayın ve yapıştırın\n" +"veya kes ve yapıştır veya sürükle ve bırak\n" +"bir internet arama URL'si\n" +"Yardım dosyasına bakın" #: ../src/search.c:3109 -#, fuzzy msgid "Rank" -msgstr "Tesadüfen" +msgstr "Rütbe" #: ../src/secure_save.c:405 -#, fuzzy msgid "Cannot read the file" -msgstr "Dizini yaratamadım" +msgstr "Dosya okunamıyor" #: ../src/secure_save.c:407 msgid "Cannot get file status" -msgstr "" +msgstr "Dosya durumu alınamıyor" #: ../src/secure_save.c:409 msgid "Cannot access the file" -msgstr "" +msgstr "Dosyaya erişilemiyor" #: ../src/secure_save.c:411 -#, fuzzy msgid "Cannot create temp file" -msgstr "Dizini yaratamadım" +msgstr "Temp dosyası oluşturulamıyor" #: ../src/secure_save.c:413 -#, fuzzy msgid "Cannot rename the file" -msgstr "Dizini yaratamadım" +msgstr "Dosya yeniden adlandırılamıyor" #: ../src/secure_save.c:415 msgid "File saving disabled by option" -msgstr "" +msgstr "Dosya kaydetme, seçeneğe göre devre dışı bırakıldı" #: ../src/secure_save.c:417 msgid "Out of memory" -msgstr "" +msgstr "Bellek yetersiz" #: ../src/secure_save.c:419 msgid "Cannot write the file" -msgstr "" +msgstr "Dosya yazılamıyor" #: ../src/secure_save.c:423 msgid "Secure file saving error" -msgstr "" +msgstr "Güvenli dosya kaydetme hatası" #: ../src/shortcuts.c:106 ../src/shortcuts.c:160 msgid "Add Shortcut" -msgstr "" +msgstr "Kısayol Ekle" #: ../src/thumb.c:405 msgid "Thumbnail image in cache failed to load, trying to recreate.\n" msgstr "" +"Önbellekteki küçük resim yüklenemedi, yeniden oluşturulmaya çalışıldı.\n" #: ../src/toolbar.c:85 -#, fuzzy msgid "Search" -msgstr "Kopyala ..." +msgstr "Ara" #: ../src/toolbar.c:90 -#, fuzzy msgid "Configure this window" -msgstr "Seçenekleri ayarla" +msgstr "Bu pencereyi yapılandır" #: ../src/toolbar.c:91 -#, fuzzy msgid "Thumbnail maintenance" -msgstr "Geeqie tam ekran" +msgstr "Küçük resim bakımı" #: ../src/toolbar.c:96 msgid "Fit Horizontaly" -msgstr "" +msgstr "Yatay Olarak Sığdır" #: ../src/toolbar.c:97 msgid "Fit vertically" -msgstr "" +msgstr "Dikey olarak sığdır" #: ../src/toolbar.c:102 -#, fuzzy msgid "Zoom1:3" -msgstr "1:1 göster" +msgstr "1:3 Yakınlaştır" #: ../src/toolbar.c:107 -#, fuzzy msgid "Slideshow Faster" -msgstr "Resim şovu" +msgstr "Resim Gösterisi Daha Hızlı" #: ../src/toolbar.c:108 -#, fuzzy msgid "Slideshow Slower" -msgstr "Resim şovu" +msgstr "Resim Gösterisi Daha Yavaş" #: ../src/toolbar.c:110 ../src/window.c:274 ../src/window.c:295 -#, fuzzy msgid "Help" msgstr "Yardım" #: ../src/toolbar.c:112 -#, fuzzy msgid "Show thumbnails" -msgstr "Tırnakları arabellekte tut" +msgstr "Küçük resimleri göster" #: ../src/toolbar.c:113 -#, fuzzy msgid "Show marks" -msgstr "Resim" +msgstr "İşaretleri göster" #: ../src/toolbar.c:503 msgid "Add Toolbar Item" -msgstr "" +msgstr "Araç Çubuğu Öğesi Ekle" #: ../src/trash.c:88 ../src/utilops.c:2621 ../src/utilops.c:2632 #: ../src/utilops.c:2689 msgid "Delete failed" -msgstr "Silerken bir hata oluştu" +msgstr "Silme başarısız oldu" #: ../src/trash.c:89 -#, fuzzy msgid "Unable to remove old file from trash folder" -msgstr "" -"%s'yi %s'ye \n" -"taşıyamadım\n" -"( bir hata oluştu ).\n" -" " +msgstr "Eski dosya çöp kutusu dizininden kaldırılamıyor" #: ../src/trash.c:146 -#, fuzzy msgid "Could not create folder" -msgstr "Dizini yaratamadım" +msgstr "Dizin oluşturulamadı" #: ../src/trash.c:168 msgid "Permission denied" -msgstr "" +msgstr "İzin reddedildi" #: ../src/trash.c:178 -#, fuzzy, c-format +#, c-format msgid "" "Unable to access or create the trash folder.\n" "\"%s\"" msgstr "" -"%s dizinini maalesef\n" -"yaratamadım" +"Çöp kutusu dizinine erişilemiyor veya oluşturulamıyor.\n" +"\"%s\"" #: ../src/trash.c:182 -#, fuzzy msgid "Turn off safe delete" -msgstr "Silmeyi onayla" +msgstr "Güvenli silme özelliğini kapat" #: ../src/trash.c:201 msgid "Deletion by external command" -msgstr "" +msgstr "Dış komutla silme" #: ../src/trash.c:209 #, c-format msgid " (max. %d MB)" -msgstr "" +msgstr " (en çok. %d MB)" #: ../src/trash.c:213 -#, fuzzy, c-format +#, c-format msgid "" "Safe delete: %s%s\n" "Trash: %s" -msgstr "Silmeyi onayla" +msgstr "" +"Güvenli sil: %s%s\n" +"Çöp: %s" #: ../src/trash.c:218 -#, fuzzy, c-format +#, c-format msgid "Safe delete: %s" -msgstr "Silmeyi onayla" +msgstr "Güvenli sil: %s" #: ../src/ui_bookmark.c:139 ../src/ui_bookmark.c:202 msgid "New Bookmark" -msgstr "" +msgstr "Yeni Yer İmi" #: ../src/ui_bookmark.c:285 ../src/ui_bookmark.c:291 -#, fuzzy msgid "Edit Bookmark" -msgstr "Düzenle" +msgstr "Yer İmini Düzenle" #: ../src/ui_bookmark.c:306 -#, fuzzy msgid "Path:" -msgstr "Sil" +msgstr "Yol:" #: ../src/ui_bookmark.c:315 msgid "Icon:" -msgstr "" +msgstr "Simge:" #: ../src/ui_bookmark.c:321 -#, fuzzy msgid "Select icon" -msgstr "Seçenekler ..." +msgstr "Simge seç" #: ../src/ui_bookmark.c:414 -#, fuzzy msgid "_Properties..." -msgstr "Seçenekler ..." +msgstr "Öze_llikler..." #: ../src/ui_bookmark.c:420 -#, fuzzy msgid "_Remove" -msgstr "Yeniden adlandır" +msgstr "Kaldı_r" #: ../src/ui_fileops.c:88 msgid "" "One or more filenames are not encoded with the preferred locale character " "set.\n" msgstr "" +"Bir veya daha fazla dosya adı, tercih edilen yerel ayar karakter kümesi ile " +"kodlanmamış.\n" #: ../src/ui_fileops.c:89 #, c-format msgid "Operations on, and display of these files with %s may not succeed.\n" -msgstr "" +msgstr "%s ile bu dosyaların çalışması ve gösterilmesi başarılı olmayabilir.\n" #: ../src/ui_fileops.c:91 msgid "" "If your filenames are not encoded in utf-8, try setting the environment " "variable G_BROKEN_FILENAMES=1\n" msgstr "" +"Dosya adlarınız utf-8 ile kodlanmamışsa, G_BROKEN_FILENAMES=1 ortam " +"değişkenini ayarlamayı deneyin\n" #: ../src/ui_fileops.c:93 #, c-format msgid "It appears G_BROKEN_FILENAMES is set to %s\n" -msgstr "" +msgstr "Görünüşe göre G_BROKEN_FILENAMES %s olarak ayarlanmış\n" #: ../src/ui_fileops.c:95 msgid "It appears G_BROKEN_FILENAMES is not set\n" -msgstr "" +msgstr "Görünüşe göre G_BROKEN_FILENAMES ayarlanmadı\n" #: ../src/ui_fileops.c:97 #, c-format @@ -6270,133 +5890,118 @@ "The locale appears to be set to \"%s\"\n" "(set by the LANG environment variable)\n" msgstr "" +"Yerel ayar \"%s\" olarak ayarlanmış görünüyor\n" +"(LANG ortam değişkeni tarafından ayarlanır)\n" #: ../src/ui_fileops.c:102 msgid "" "\n" "Preferred encoding appears to be UTF-8, however the file:\n" msgstr "" +"\n" +"Tercih edilen kodlama UTF-8 gibi görünüyor, ancak dosya:\n" #: ../src/ui_fileops.c:103 ../src/ui_fileops.c:106 ../src/ui_fileops.c:108 msgid "[name not displayable]" -msgstr "" +msgstr "[ad görüntülenemiyor]" #: ../src/ui_fileops.c:106 #, c-format msgid "\"%s\" is encoded in valid UTF-8." -msgstr "" +msgstr "\"%s\" geçerli UTF-8'de kodlanmış." #: ../src/ui_fileops.c:108 #, c-format msgid "\"%s\" is not encoded in valid UTF-8." -msgstr "" +msgstr "\"%s\" geçerli UTF-8'de kodlanmamış." #: ../src/ui_fileops.c:113 ../src/ui_fileops.c:118 msgid "Filename encoding locale mismatch" -msgstr "" +msgstr "Dosya adı kodlaması yerel uyuşmazlığı" #: ../src/ui_help.c:119 -#, fuzzy, c-format +#, c-format msgid "" "Unable to load:\n" "%s" msgstr "" -"%s 'yi maalesef\n" -"silemedim" +"Yüklenemedi:\n" +"%s" #: ../src/ui_pathsel.c:433 ../src/ui_pathsel.c:439 ../src/utilops.c:2320 #: ../src/utilops.c:2347 ../src/utilops.c:2813 -#, fuzzy msgid "Rename failed" -msgstr "" -"%s'yi yeniden\n" -"adlandır :\n" -" " +msgstr "Yeniden adlandırma başarısız" #: ../src/ui_pathsel.c:438 -#, fuzzy, c-format +#, c-format msgid "Failed to rename %s to %s." -msgstr "" -"%s dosyasını\n" -"%s'ye adlandırırken\n" -"maalesef bir hata\n" -"oluştu" +msgstr "%s,%s olarak yeniden adlandırılamadı." #: ../src/ui_pathsel.c:634 ../src/ui_pathsel.c:642 -#, fuzzy msgid "_Rename" -msgstr "Yeniden adlandır" +msgstr "Yeniden adlandı_r" #: ../src/ui_pathsel.c:636 ../src/ui_pathsel.c:646 -#, fuzzy msgid "Add _Bookmark" -msgstr "Düzenle" +msgstr "Yer i_mi Ekle" #: ../src/ui_pathsel.c:644 -#, fuzzy msgid "_Delete" -msgstr "Sil" +msgstr "_Sil" #: ../src/ui_pathsel.c:752 ../src/ui_pathsel.c:1058 ../src/utilops.c:2847 -#, fuzzy msgid "New folder" -msgstr "Sil .." +msgstr "Yeni dizin" #: ../src/ui_pathsel.c:762 -#, fuzzy, c-format +#, c-format msgid "" "Unable to create folder:\n" "%s" msgstr "" -"%s dizinini maalesef\n" -"yaratamadım" +"Dizin oluşturulamadı:\n" +"%s" #: ../src/ui_pathsel.c:763 -#, fuzzy msgid "Error creating folder" -msgstr "Dizini yaratırken bir hata oluştu" +msgstr "Dizin oluşturulurken bir hata oluştu" #: ../src/ui_pathsel.c:989 msgid "All Files" -msgstr "" +msgstr "Tüm Dosyalar" #: ../src/ui_pathsel.c:1061 msgid "Show hidden" -msgstr "" +msgstr "Gizlileri göster" #: ../src/ui_pathsel.c:1145 -#, fuzzy msgid "Filter:" -msgstr "Filtralama" +msgstr "Süzme:" #: ../src/ui_tabcomp.c:933 -#, fuzzy msgid "Select path" -msgstr "Silerken bir hata oluştu" +msgstr "Yol seç" #: ../src/ui_tabcomp.c:949 -#, fuzzy msgid "All files" -msgstr "%d dosya %s" +msgstr "Tüm dosyalar" #: ../src/uri_utils.c:43 msgid "Drag and Drop failed" -msgstr "" +msgstr "Sürükle ve Bırakma başarısız" #: ../src/utilops.c:590 -#, fuzzy msgid "" "\n" " Continue multiple file operation?" msgstr "" -"%s dosyasını\n" -" silemedim ,\n" -" yine de öbür dosyaları sileyim mi ?" +"\n" +" Birden fazla dosya işlemine devam edilsin mi?" #: ../src/utilops.c:597 ../src/utilops.c:1034 -#, fuzzy msgid "Co_ntinue" -msgstr "Devam et" +msgstr "Deva_m et" #: ../src/utilops.c:774 #, c-format @@ -6405,142 +6010,138 @@ "\n" "%s" msgstr "" +"Dizin içeriğinin kaldırılması bu dosyada başarısız oldu:\n" +"\n" +"%s" #: ../src/utilops.c:918 -#, fuzzy, c-format +#, c-format msgid "" "%s\n" "Unable to start external command.\n" msgstr "" -"%s 'yi maalesef\n" -"silemedim" +"%s\n" +"Dış komut başlatılamıyor.\n" #. During copy/move operations it is necessary to ensure that the #. * target directory exists before continuing with the next step. #. * If not revert to the select directory dialog #. #: ../src/utilops.c:1002 ../src/utilops.c:1155 -#, fuzzy, c-format +#, c-format msgid "%s is not a directory" -msgstr "Başlangıç dizini" +msgstr "%s bir dizin değil" #: ../src/utilops.c:1032 msgid "Really continue?" -msgstr "" +msgstr "Gerçekten devam edilsin mi?" #: ../src/utilops.c:1046 ../src/utilops.c:1160 msgid "This operation can't continue:" -msgstr "" +msgstr "Bu işlem devam edemiyor:" #: ../src/utilops.c:1503 ../src/utilops.c:1617 ../src/utilops.c:2032 msgid "Discard changes" -msgstr "" +msgstr "Değişiklikleri gözardı et" #: ../src/utilops.c:1504 ../src/utilops.c:1618 ../src/utilops.c:1982 #: ../src/utilops.c:1998 -#, fuzzy msgid "File details" -msgstr "Filtralama" +msgstr "Dosya ayrıntıları" #: ../src/utilops.c:1526 ../src/utilops.c:1635 msgid "Sidecars" -msgstr "" +msgstr "Yan sepetler" #: ../src/utilops.c:1528 -#, fuzzy msgid "Write to file" -msgstr "Üstüne yaz" +msgstr "Dosyaya yaz" #: ../src/utilops.c:1568 -#, fuzzy msgid "Choose the destination folder." -msgstr "Kaynak hedefle eşittir" +msgstr "Hedef dizini seçin." #: ../src/utilops.c:1637 -#, fuzzy msgid "New name" -msgstr "Yeniden adlandır :" +msgstr "Yeni ad" #: ../src/utilops.c:1674 -#, fuzzy msgid "Manual rename" -msgstr "Mönü adı" +msgstr "Elle yeniden adlandır" #: ../src/utilops.c:1679 -#, fuzzy msgid "Original name:" -msgstr "Yeniden adlandır :" +msgstr "Özgün ad:" #: ../src/utilops.c:1682 -#, fuzzy msgid "New name:" -msgstr "Yeniden adlandır :" +msgstr "Yeni ad:" #: ../src/utilops.c:1695 -#, fuzzy msgid "Auto rename" -msgstr "Mönü adı" +msgstr "Otomatik yeniden adlandır" #: ../src/utilops.c:1701 msgid "Begin text" -msgstr "" +msgstr "Metne başla" #: ../src/utilops.c:1709 ../src/utilops.c:1741 msgid "Start #" -msgstr "" +msgstr "Başlat #" #: ../src/utilops.c:1715 msgid "End text" -msgstr "" +msgstr "Metni bitir" #: ../src/utilops.c:1723 msgid "Padding:" -msgstr "" +msgstr "Dolgu:" #: ../src/utilops.c:1728 msgid "Formatted rename" -msgstr "" +msgstr "Biçimlendirilmiş yeniden adlandırma" #: ../src/utilops.c:1733 msgid "Format (* = original name, ## = numbers)" -msgstr "" +msgstr "Biçim (* = özgün ad, ## = sayılar)" #: ../src/utilops.c:1885 msgid "Another operation in progress.\n" -msgstr "" +msgstr "Devam eden başka bir işlem.\n" #: ../src/utilops.c:1941 -#, fuzzy, c-format +#, c-format msgid "File: '%s'\n" -msgstr "Filtralama" +msgstr "Dosya: '%s'\n" #: ../src/utilops.c:1946 msgid "with sidecar files:\n" -msgstr "" +msgstr "sepet dosyalarıyla:\n" #: ../src/utilops.c:1952 #, c-format msgid " '%s'\n" -msgstr "" +msgstr " '%s'\n" #: ../src/utilops.c:1956 msgid "" "\n" "Status: " msgstr "" +"\n" +"Durum: " #: ../src/utilops.c:1968 msgid "no problem detected" -msgstr "" +msgstr "algılanan sorun yok" #: ../src/utilops.c:1984 ../src/utilops.c:2031 -#, fuzzy msgid "Exclude file" -msgstr "Dosyayı sil" +msgstr "Dosyayı hariç tut" #: ../src/utilops.c:2029 ../src/utilops.c:2054 msgid "Overview of changed metadata" -msgstr "" +msgstr "Değişen meta verilere genel bakış" #: ../src/utilops.c:2047 #, c-format @@ -6548,164 +6149,132 @@ "The following metadata tags will be written to\n" "'%s'." msgstr "" +"Aşağıdaki meta veri etiketleri\n" +"'%s' hedefine yazılacak." #: ../src/utilops.c:2051 #, c-format msgid "The following metadata tags will be written to the image file itself." msgstr "" +"Aşağıdaki meta veri etiketleri, görüntü dosyasının kendisine yazılacaktır." #: ../src/utilops.c:2157 -#, fuzzy msgid "Delete files?" -msgstr "Dosyayı sil" +msgstr "Dosyalar silinsin mi?" #: ../src/utilops.c:2158 msgid "This will delete the following files" -msgstr "" +msgstr "Bu, aşağıdaki dosyaları siler" #: ../src/utilops.c:2177 msgid "Can't write metadata" -msgstr "" +msgstr "Meta veri yazılamıyor" #: ../src/utilops.c:2200 msgid "Write metadata" -msgstr "" +msgstr "Meta veri yaz" #: ../src/utilops.c:2201 msgid "Write metadata?" -msgstr "" +msgstr "Meta veri yazılsınmı?" #: ../src/utilops.c:2202 msgid "This will write the changed metadata into the following files" -msgstr "" +msgstr "Bu, değiştirilen meta verileri aşağıdaki dosyalara yazacaktır" #: ../src/utilops.c:2204 msgid "Metadata writing failed" -msgstr "" +msgstr "Meta veri yazma işlemi başarısız oldu" #: ../src/utilops.c:2223 ../src/utilops.c:2251 -#, fuzzy msgid "Move failed" -msgstr "" -"%s'yi yeniden\n" -"adlandır :\n" -" " +msgstr "Taşıma başarısız oldu" #: ../src/utilops.c:2248 -#, fuzzy msgid "Move files?" -msgstr "" -"%s'yi yeniden\n" -"adlandır :\n" -" " +msgstr "Dosyalar taşınsın mı?" #: ../src/utilops.c:2249 msgid "This will move the following files" -msgstr "" +msgstr "Bu, aşağıdaki dosyaları taşıyacak" #: ../src/utilops.c:2273 ../src/utilops.c:2301 -#, fuzzy msgid "Copy failed" -msgstr "" -"%s'yi yeniden\n" -"adlandır :\n" -" " +msgstr "Kopyalama başarısız oldu" #: ../src/utilops.c:2298 -#, fuzzy msgid "Copy files?" -msgstr "" -"%s'yi yeniden\n" -"adlandır :\n" -" " +msgstr "Dosyalar kopyalansın mı?" #: ../src/utilops.c:2299 ../src/utilops.c:2433 msgid "This will copy the following files" -msgstr "" +msgstr "Bu, aşağıdaki dosyaları kopyalayacaktır" #: ../src/utilops.c:2343 ../src/utilops.c:2809 msgid "Rename" msgstr "Yeniden adlandır" #: ../src/utilops.c:2344 -#, fuzzy msgid "Rename files?" -msgstr "" -"%s'yi yeniden\n" -"adlandır :\n" -" " +msgstr "Dosyalar yeniden adlandırılsın mı?" #: ../src/utilops.c:2345 msgid "This will rename the following files" -msgstr "" +msgstr "Bu aşağıdaki dosyaları yeniden adlandıracak" #: ../src/utilops.c:2397 -#, fuzzy msgid "Can't run external editor" -msgstr "Dıştan kullanılacak editörler" +msgstr "Dış düzenleyici çalıştırılamıyor" #: ../src/utilops.c:2431 -#, fuzzy msgid "Editor" -msgstr "Düzenle" +msgstr "Düzenleyici" #: ../src/utilops.c:2432 -#, fuzzy msgid "Run editor?" -msgstr "Dosyaları sil" +msgstr "Düzenleyici çalıştırılsın mı?" #: ../src/utilops.c:2435 -#, fuzzy msgid "External command failed" -msgstr "" -"%s 'yi maalesef\n" -"silemedim" +msgstr "Dış komut başarısız oldu" #: ../src/utilops.c:2604 ../src/utilops.c:2677 -#, fuzzy msgid "Delete folder" -msgstr "Sil .." +msgstr "Dizini sil" #: ../src/utilops.c:2605 -#, fuzzy msgid "Delete symbolic link?" -msgstr "" -"%s dizinini maalesef\n" -"yaratamadım" +msgstr "Sembolik bağ silinsin mi?" #: ../src/utilops.c:2607 msgid "" "This will delete the symbolic link.\n" "The folder this link points to will not be deleted." msgstr "" +"Bu, sembolik bağlantıyı siler.\n" +"Bu bağlantının işaret ettiği dizin silinmeyecek." #: ../src/utilops.c:2609 -#, fuzzy msgid "Link deletion failed" -msgstr "Silerken bir hata oluştu" +msgstr "Bağlantı silinirken bir hata oluştu" #: ../src/utilops.c:2619 -#, fuzzy, c-format +#, c-format msgid "" "Unable to remove folder %s\n" "Permissions do not allow writing to the folder." msgstr "" -"%s'yi %s'ye \n" -"taşıyamadım\n" -"( bir hata oluştu ).\n" -" " +"%s dizini kaldırılamıyor\n" +"İzinler dizine yazmaya izin vermiyor." #: ../src/utilops.c:2631 ../src/utilops.c:2688 -#, fuzzy, c-format +#, c-format msgid "Unable to list contents of folder %s" -msgstr "" -"%s dizinini maalesef\n" -"yaratamadım" +msgstr "%s dizin içeriği listelenemiyor" #: ../src/utilops.c:2645 ../src/utilops.c:2653 -#, fuzzy msgid "Folder contains subfolders" -msgstr "geçerli opsiyonlar :\n" +msgstr "Dizin alt dizinler içeriyor" #: ../src/utilops.c:2649 #, c-format @@ -6716,134 +6285,120 @@ "\n" "This folder contains subfolders which must be moved before it can be deleted." msgstr "" +"Dizin silinemedi:\n" +"\n" +"%s\n" +"\n" +"Bu dizin silinmeden önce taşınması gereken alt dizinleri içerir." #: ../src/utilops.c:2657 -#, fuzzy msgid "Subfolders:" -msgstr "Dosya" +msgstr "Alt dizinler:" #: ../src/utilops.c:2678 -#, fuzzy msgid "Delete folder?" -msgstr "Dosyayı sil" +msgstr "Dizin silinsin mi?" #: ../src/utilops.c:2679 -#, fuzzy msgid "The folder contains these files:" -msgstr "geçerli opsiyonlar :\n" +msgstr "Dizin şu dosyaları içerir:" #: ../src/utilops.c:2680 msgid "" "This will delete the folder.\n" "The contents of this folder will also be deleted." msgstr "" +"Bu, dizini siler.\n" +"Bu dizinin içeriği de silinecektir." #: ../src/utilops.c:2810 -#, fuzzy msgid "Rename folder?" -msgstr "" -"%s'yi yeniden\n" -"adlandır :\n" -" " +msgstr "Dizin yeniden adlandırılsın mı?" #: ../src/utilops.c:2811 -#, fuzzy msgid "The folder contains the following files" -msgstr "geçerli opsiyonlar :\n" +msgstr "Dizin aşağıdaki dosyaları içerir" #: ../src/utilops.c:2857 -#, fuzzy msgid "Create Folder" -msgstr "Sil .." +msgstr "Dizin Oluştur" #: ../src/utilops.c:2858 -#, fuzzy msgid "Create folder?" -msgstr "Dosyayı sil" +msgstr "Dizin oluşturulsun mu?" #: ../src/utilops.c:2861 -#, fuzzy msgid "Can't create folder" -msgstr "Dizini yaratamadım" +msgstr "Dizin oluşturulamıyor" #: ../src/view_dir.c:406 -#, fuzzy msgid "_Copy" -msgstr "Kopyala" +msgstr "_Kopyala" #: ../src/view_dir.c:408 -#, fuzzy msgid "_Move" -msgstr "Taşı" +msgstr "_Taşı" #: ../src/view_dir.c:662 msgid "_Up to parent" -msgstr "" +msgstr "Teme_le kadar" #: ../src/view_dir.c:667 -#, fuzzy msgid "_Slideshow" -msgstr "Resim şovu" +msgstr "Re_sim gösterisi" #: ../src/view_dir.c:669 -#, fuzzy msgid "Slideshow recursive" -msgstr "Resim şovu" +msgstr "Resim gösterisi özyinelemeli" #: ../src/view_dir.c:673 -#, fuzzy msgid "Find _duplicates..." -msgstr "Yeniden adlandır .." +msgstr "Ko_pyaları bul..." #: ../src/view_dir.c:675 -#, fuzzy msgid "Find duplicates recursive..." -msgstr "Yeniden adlandır .." +msgstr "Özyinelemeli kopyaları bul..." #: ../src/view_dir.c:680 msgid "_New folder..." -msgstr "" +msgstr "Ye_ni dizin..." #: ../src/view_dir.c:697 ../src/view_file/view_file.c:640 -#, fuzzy msgid "View as _List" -msgstr "Tırnaklar" +msgstr "_Liste olarak görüntüle" #: ../src/view_dir.c:700 -#, fuzzy msgid "View as _Tree" -msgstr "Tam ekran" +msgstr "Ağaç Olarak Görün_tüle" #: ../src/view_dir.c:705 -#, fuzzy msgid "Show _hidden files" -msgstr "Tırnakları arabellekte tut" +msgstr "_Gizli dosyaları göster" #: ../src/view_dir.c:708 ../src/view_file/view_file.c:658 -#, fuzzy msgid "Re_fresh" -msgstr "Yenile" +msgstr "_Yenile" #: ../src/view_file/view_file.c:643 -#, fuzzy msgid "View as _Icons" -msgstr "Tırnaklar" +msgstr "S_imge olarak görüntüle" #: ../src/view_file/view_file.c:649 -#, fuzzy msgid "Show _thumbnails" -msgstr "Tırnakları arabellekte tut" +msgstr "Küçük resimleri gös_ter" #: ../src/view_file/view_file_icon.c:1964 ../src/view_file/view_file_list.c:834 msgid " [NO GROUPING]" -msgstr "" +msgstr " [GRUP YOK]" #: ../src/view_file/view_file_list.c:460 -#, fuzzy, c-format +#, c-format msgid "" "Invalid file name:\n" "%s" -msgstr "geçerli opsiyonlar :\n" +msgstr "" +"Geçersiz dosya adı:\n" +"%s" #: ../src/view_file/view_file_list.c:461 msgid "Error renaming file"
--- a/src/Makefile.am Tue Feb 05 21:18:18 2019 +0100 +++ b/src/Makefile.am Tue Feb 05 21:18:18 2019 +0100 @@ -220,6 +220,8 @@ misc.h \ options.c \ options.h \ + osd.c \ + osd.h \ pan-view.h \ pixbuf-renderer.c \ pixbuf-renderer.h \
--- a/src/bar_exif.c Tue Feb 05 21:18:18 2019 +0100 +++ b/src/bar_exif.c Tue Feb 05 21:18:18 2019 +0100 @@ -709,6 +709,7 @@ write_char_option(outstr, indent, "id", ped->pane.id); write_char_option(outstr, indent, "title", gtk_label_get_text(GTK_LABEL(ped->pane.title))); WRITE_BOOL(ped->pane, expanded); + WRITE_BOOL(*ped, show_all); WRITE_STRING(">"); indent++; @@ -802,7 +803,7 @@ #endif } -static GtkWidget *bar_pane_exif_new(const gchar *id, const gchar *title, gboolean expanded) +static GtkWidget *bar_pane_exif_new(const gchar *id, const gchar *title, gboolean expanded, gboolean show_all) { PaneExifData *ped; @@ -815,6 +816,7 @@ ped->pane.id = g_strdup(id); ped->pane.expanded = expanded; ped->pane.type = PANE_EXIF; + ped->show_all = show_all; ped->size_group = gtk_size_group_new(GTK_SIZE_GROUP_HORIZONTAL); ped->widget = gtk_event_box_new(); @@ -850,6 +852,7 @@ gchar *title = NULL; gchar *id = g_strdup("exif"); gboolean expanded = TRUE; + gboolean show_all = FALSE; GtkWidget *ret; while (*attribute_names) @@ -860,12 +863,13 @@ if (READ_CHAR_FULL("id", id)) continue; if (READ_CHAR_FULL("title", title)) continue; if (READ_BOOL_FULL("expanded", expanded)) continue; + if (READ_BOOL_FULL("show_all", show_all)) continue; 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); + ret = bar_pane_exif_new(id, title, expanded, show_all); g_free(title); g_free(id); return ret; @@ -886,6 +890,7 @@ if (READ_CHAR_FULL("title", title)) continue; if (READ_BOOL_FULL("expanded", ped->pane.expanded)) continue; + if (READ_BOOL_FULL("show_all", ped->show_all)) continue; if (READ_CHAR_FULL("id", ped->pane.id)) continue;
--- a/src/bar_sort.c Tue Feb 05 21:18:18 2019 +0100 +++ b/src/bar_sort.c Tue Feb 05 21:18:18 2019 +0100 @@ -260,6 +260,7 @@ work = g_list_append(work, file_data_new_group(delete_list->data)); delete_list = delete_list->next; } + options->file_ops.safe_delete_enable = TRUE; file_util_delete(NULL, work, button); } break;
--- a/src/collect-table.c Tue Feb 05 21:18:18 2019 +0100 +++ b/src/collect-table.c Tue Feb 05 21:18:18 2019 +0100 @@ -34,6 +34,7 @@ #include "layout_image.h" #include "menu.h" #include "metadata.h" +#include "pixbuf_util.h" #include "print.h" #include "utilops.h" #include "ui_fileops.h" @@ -733,6 +734,15 @@ { CollectTable *ct = data; + options->file_ops.safe_delete_enable = FALSE; + file_util_delete(NULL, collection_table_popup_file_list(ct), ct->listview); +} + +static void collection_table_popup_move_to_trash_cb(GtkWidget *widget, gpointer data) +{ + CollectTable *ct = data; + + options->file_ops.safe_delete_enable = TRUE; file_util_delete(NULL, collection_table_popup_file_list(ct), ct->listview); } @@ -994,10 +1004,18 @@ G_CALLBACK(collection_table_popup_copy_path_cb), ct); menu_item_add_sensitive(menu, _("_Copy path unquoted"), over_icon, G_CALLBACK(collection_table_popup_copy_path_unquoted_cb), ct); - menu_item_add_stock_sensitive(menu, _("_Delete..."), GTK_STOCK_DELETE, over_icon, - G_CALLBACK(collection_table_popup_delete_cb), ct); + menu_item_add_divider(menu); - + menu_item_add_stock_sensitive(menu, + options->file_ops.confirm_move_to_trash ? _("Move to Trash...") : + _("Move to Trash"), PIXBUF_INLINE_ICON_TRASH, over_icon, + G_CALLBACK(collection_table_popup_move_to_trash_cb), ct); + menu_item_add_stock_sensitive(menu, + options->file_ops.confirm_delete ? _("_Delete...") : + _("_Delete"), GTK_STOCK_DELETE, over_icon, + G_CALLBACK(collection_table_popup_delete_cb), ct); + + menu_item_add_divider(menu); submenu = submenu_add_sort(NULL, G_CALLBACK(collection_table_popup_sort_cb), ct, FALSE, TRUE, FALSE, 0); menu_item_add_divider(submenu); menu_item_add(submenu, _("Randomize"),
--- a/src/collect.c Tue Feb 05 21:18:18 2019 +0100 +++ b/src/collect.c Tue Feb 05 21:18:18 2019 +0100 @@ -345,7 +345,7 @@ * * Return value must be freed with g_free() */ -gchar *collection_path(gchar *param) +gchar *collection_path(const gchar *param) { gchar *path = NULL; gchar *full_name = NULL; @@ -377,7 +377,7 @@ * * */ -gboolean is_collection(gchar *param) +gboolean is_collection(const gchar *param) { gchar *name = NULL; @@ -390,6 +390,41 @@ return FALSE; } +/** + * @brief Creates a text list of the image paths of the contents of a Collection + * @param[in] name The name of the collection, with or wihout extension + * @param[inout] contents A GString to which the image paths are appended + * + * + */ +void collection_contents(const gchar *name, GString **contents) +{ + gchar *path; + CollectionData *cd; + CollectInfo *ci; + GList *work; + FileData *fd; + + if (is_collection(name)) + { + path = collection_path(name); + cd = collection_new(""); + collection_load(cd, path, COLLECTION_LOAD_APPEND); + work = cd->list; + while (work) + { + ci = work->data; + fd = ci->fd; + *contents = g_string_append(*contents, g_strdup(fd->path)); + *contents = g_string_append(*contents, "\n"); + + work = work->next; + } + g_free(path); + collection_free(cd); + } +} + /* *------------------------------------------------------------------- * please use these to actually add/remove stuff @@ -923,6 +958,7 @@ file_util_rename(NULL, collection_table_selection_get_list(cw->table), cw->window); break; case 'D': case 'd': + options->file_ops.safe_delete_enable = TRUE; file_util_delete(NULL, collection_table_selection_get_list(cw->table), cw->window); break; case 'S': case 's':
--- a/src/collect.h Tue Feb 05 21:18:18 2019 +0100 +++ b/src/collect.h Tue Feb 05 21:18:18 2019 +0100 @@ -86,7 +86,8 @@ CollectWindow *collection_window_find_by_path(const gchar *path); gboolean collection_window_modified_exists(void); -gboolean is_collection(gchar *param); -gchar *collection_path(gchar *param); +gboolean is_collection(const gchar *param); +gchar *collection_path(const gchar *param); +void collection_contents(const gchar *name, GString **contents); #endif /* vim: set shiftwidth=8 softtabstop=0 cindent cinoptions={1s: */
--- a/src/desktop_file.c Tue Feb 05 21:18:18 2019 +0100 +++ b/src/desktop_file.c Tue Feb 05 21:18:18 2019 +0100 @@ -414,6 +414,7 @@ { gint n = GPOINTER_TO_INT(data); gint ret = 0; + gboolean bool1, bool2; switch (n) { @@ -441,6 +442,25 @@ g_free(s2); } break; + case DESKTOP_FILE_COLUMN_DISABLED: + { + gtk_tree_model_get(model, a, n, &bool1, -1); + gtk_tree_model_get(model, b, n, &bool2, -1); + + if (bool1 == bool2) + { + ret = 0; + } + else if (bool1 > bool2) + { + ret = -1; + } + else + { + ret = 1; + } + break; + } default: g_return_val_if_reached(0); @@ -449,6 +469,67 @@ return ret; } +static void plugin_disable_cb(GtkCellRendererToggle *renderer, gchar *path_str, gpointer data) +{ + EditorListWindow *ewl = data; + GtkTreePath *tpath; + GtkTreeIter iter; + GtkTreeModel *model; + gboolean disabled; + gchar *path; + GList *list; + gchar *haystack; + + tpath = gtk_tree_path_new_from_string(path_str); + model = gtk_tree_view_get_model(GTK_TREE_VIEW(ewl->view)); + gtk_tree_model_get_iter(GTK_TREE_MODEL(model), &iter, tpath); + gtk_tree_model_get(GTK_TREE_MODEL(model), &iter, DESKTOP_FILE_COLUMN_DISABLED, &disabled, -1); + gtk_tree_model_get(GTK_TREE_MODEL(model), &iter, DESKTOP_FILE_COLUMN_PATH, &path, -1); + + gtk_list_store_set(GTK_LIST_STORE(desktop_file_list), &iter, DESKTOP_FILE_COLUMN_DISABLED, !disabled, -1); + + if (!disabled) + { + options->disabled_plugins = g_list_append((options->disabled_plugins), g_strdup(path)); + } + else + { + list = options->disabled_plugins; + while (list) + { + haystack = list->data; + + if (haystack && strcmp(haystack, path) == 0) + { + g_free(haystack); + options->disabled_plugins = g_list_remove(options->disabled_plugins, haystack); + } + + list = list->next; + } + } + + layout_editors_reload_start(); + layout_editors_reload_finish(); +} + +static void plugin_disable_set_func(GtkTreeViewColumn *tree_column, GtkCellRenderer *cell, + GtkTreeModel *tree_model, GtkTreeIter *iter, gpointer data) +{ + gboolean disabled; + + gtk_tree_model_get(tree_model, iter, DESKTOP_FILE_COLUMN_DISABLED, &disabled, -1); + + if (disabled) + { + g_object_set(GTK_CELL_RENDERER(cell), "active", TRUE, NULL); + } + else + { + g_object_set(GTK_CELL_RENDERER(cell), "active", FALSE, NULL); + } +} + static void editor_list_window_create(void) { GtkWidget *win_vbox; @@ -532,6 +613,19 @@ gtk_tree_view_set_enable_search(GTK_TREE_VIEW(ewl->view), FALSE); column = gtk_tree_view_column_new(); + gtk_tree_view_column_set_title(column, _("Disabled")); + gtk_tree_view_column_set_resizable(column, TRUE); + + renderer = gtk_cell_renderer_toggle_new(); + g_signal_connect(G_OBJECT(renderer), "toggled", + G_CALLBACK(plugin_disable_cb), ewl); + gtk_tree_view_column_pack_start(column, renderer, FALSE); + gtk_tree_view_column_set_cell_data_func(column, renderer, plugin_disable_set_func, + NULL, NULL); + gtk_tree_view_append_column(GTK_TREE_VIEW(ewl->view), column); + gtk_tree_view_column_set_sort_column_id(column, DESKTOP_FILE_COLUMN_DISABLED); + + column = gtk_tree_view_column_new(); gtk_tree_view_column_set_title(column, _("Name")); gtk_tree_view_column_set_resizable(column, TRUE); renderer = gtk_cell_renderer_text_new(); @@ -579,6 +673,8 @@ GINT_TO_POINTER(DESKTOP_FILE_COLUMN_NAME), NULL); gtk_tree_sortable_set_sort_func(sortable, DESKTOP_FILE_COLUMN_PATH, editor_list_window_sort_cb, GINT_TO_POINTER(DESKTOP_FILE_COLUMN_PATH), NULL); + gtk_tree_sortable_set_sort_func(sortable, DESKTOP_FILE_COLUMN_DISABLED, editor_list_window_sort_cb, + GINT_TO_POINTER(DESKTOP_FILE_COLUMN_DISABLED), NULL); /* set initial sort order */ gtk_tree_sortable_set_sort_column_id(sortable, DESKTOP_FILE_COLUMN_NAME, GTK_SORT_ASCENDING);
--- a/src/dupe.c Tue Feb 05 21:18:18 2019 +0100 +++ b/src/dupe.c Tue Feb 05 21:18:18 2019 +0100 @@ -36,6 +36,7 @@ #include "md5-util.h" #include "menu.h" #include "misc.h" +#include "pixbuf_util.h" #include "print.h" #include "thumb.h" #include "ui_fileops.h" @@ -2249,6 +2250,15 @@ { DupeWindow *dw = data; + options->file_ops.safe_delete_enable = FALSE; + file_util_delete(NULL, dupe_listview_get_selection(dw, dw->listview), dw->window); +} + +static void dupe_menu_move_to_trash_cb(GtkWidget *widget, gpointer data) +{ + DupeWindow *dw = data; + + options->file_ops.safe_delete_enable = TRUE; file_util_delete(NULL, dupe_listview_get_selection(dw, dw->listview), dw->window); } @@ -2379,8 +2389,17 @@ G_CALLBACK(dupe_menu_copy_path_cb), dw); menu_item_add_sensitive(menu, _("_Copy path unquoted"), on_row, G_CALLBACK(dupe_menu_copy_path_unquoted_cb), dw); - menu_item_add_stock_sensitive(menu, _("_Delete..."), GTK_STOCK_DELETE, on_row, + + menu_item_add_divider(menu); + menu_item_add_stock_sensitive(menu, + options->file_ops.confirm_move_to_trash ? _("Move to Trash...") : + _("Move to Trash"), PIXBUF_INLINE_ICON_TRASH, on_row, + G_CALLBACK(dupe_menu_move_to_trash_cb), dw); + menu_item_add_stock_sensitive(menu, + options->file_ops.confirm_delete ? _("_Delete...") : + _("_Delete"), GTK_STOCK_DELETE, on_row, G_CALLBACK(dupe_menu_delete_cb), dw); + menu_item_add_divider(menu); menu_item_add_stock_sensitive(menu, _("Rem_ove"), GTK_STOCK_REMOVE, on_row, G_CALLBACK(dupe_menu_remove_cb), dw); @@ -3069,6 +3088,7 @@ file_util_rename(NULL, dupe_listview_get_selection(dw, listview), dw->window); break; case 'D': case 'd': + options->file_ops.safe_delete_enable = TRUE; file_util_delete(NULL, dupe_listview_get_selection(dw, listview), dw->window); break; default:
--- a/src/editors.c Tue Feb 05 21:18:18 2019 +0100 +++ b/src/editors.c Tue Feb 05 21:18:18 2019 +0100 @@ -184,6 +184,8 @@ gchar *try_exec; GtkTreeIter iter; gboolean category_geeqie = FALSE; + GList *work; + gboolean disabled; if (g_hash_table_lookup(editors, key)) return FALSE; /* the file found earlier wins */ @@ -352,9 +354,25 @@ if (editor->ignored) return TRUE; + work = options->disabled_plugins; + + disabled = FALSE; + while (work) + { + if (g_strcmp0(path, work->data) == 0) + { + disabled = TRUE; + break; + } + work = work->next; + } + + editor->disabled = disabled; + gtk_list_store_append(desktop_file_list, &iter); gtk_list_store_set(desktop_file_list, &iter, DESKTOP_FILE_COLUMN_KEY, key, + DESKTOP_FILE_COLUMN_DISABLED, editor->disabled, DESKTOP_FILE_COLUMN_NAME, editor->name, DESKTOP_FILE_COLUMN_HIDDEN, editor->hidden ? _("yes") : _("no"), DESKTOP_FILE_COLUMN_WRITABLE, access_file(path, W_OK), @@ -383,7 +401,7 @@ } 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); + desktop_file_list = gtk_list_store_new(DESKTOP_FILE_COLUMN_COUNT, G_TYPE_STRING, G_TYPE_BOOLEAN, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_BOOLEAN, G_TYPE_STRING); } if (editors) { @@ -470,6 +488,11 @@ strcmp(editor->key, CMD_DELETE) == 0 || strcmp(editor->key, CMD_FOLDER) == 0) return; + if (editor->disabled) + { + return; + } + *listp = g_list_prepend(*listp, editor); }
--- a/src/editors.h Tue Feb 05 21:18:18 2019 +0100 +++ b/src/editors.h Tue Feb 05 21:18:18 2019 +0100 @@ -58,6 +58,7 @@ EditorFlags flags; gboolean hidden; /* explicitly hidden, shown in configuration dialog */ gboolean ignored; /* not interesting, do not show at all */ + gboolean disabled; /* display disabled by user */ }; #define EDITOR_ERRORS(flags) ((flags) & EDITOR_ERROR_MASK) @@ -74,6 +75,7 @@ enum { DESKTOP_FILE_COLUMN_KEY, + DESKTOP_FILE_COLUMN_DISABLED, DESKTOP_FILE_COLUMN_NAME, DESKTOP_FILE_COLUMN_HIDDEN, DESKTOP_FILE_COLUMN_WRITABLE,
--- a/src/exif-common.c Tue Feb 05 21:18:18 2019 +0100 +++ b/src/exif-common.c Tue Feb 05 21:18:18 2019 +0100 @@ -662,7 +662,7 @@ /** * @brief Gets timezone data from an exif structure * @param[in] exif - * @returns TRUE if timezone data found + * @returns TRUE if timezone data found AND GPS date and time found * @param[out] exif_date_time exif date/time in the form 2018:11:30:17:05:04 * @param[out] timezone in the form "Europe/London" * @param[out] countryname in the form "United Kingdom" @@ -696,11 +696,8 @@ text_date = exif_get_data_as_text(exif, "Exif.GPSInfo.GPSDateStamp"); text_time = exif_get_data_as_text(exif, "Exif.GPSInfo.GPSTimeStamp"); - if (text_latitude && text_longitude && text_latitude_ref && - text_longitude_ref && text_date && text_time) + if (text_latitude && text_longitude && text_latitude_ref && text_longitude_ref) { - *exif_date_time = g_strconcat(text_date, ":", text_time, NULL); - lat_deg = strtok(text_latitude, "deg'"); lat_min = strtok(NULL, "deg'"); latitude = atof(lat_deg) + atof(lat_min) / 60; @@ -738,6 +735,14 @@ g_free(zd_path); } + if (ret && text_date && text_time) + { + *exif_date_time = g_strconcat(text_date, ":", text_time, NULL); + } + else + { + ret = FALSE; + } return ret; } @@ -885,7 +890,7 @@ static gchar *exif_build_formatted_star_rating(ExifData *exif) { - gint n; + gint n = 0; exif_get_integer(exif, "Xmp.xmp.Rating", &n);
--- a/src/exiv2.cc Tue Feb 05 21:18:18 2019 +0100 +++ b/src/exiv2.cc Tue Feb 05 21:18:18 2019 +0100 @@ -22,17 +22,25 @@ #ifdef HAVE_EXIV2 -#include <exiv2/image.hpp> -#include <exiv2/exif.hpp> +// Don't include the <exiv2/version.hpp> file directly +// Early Exiv2 versions didn't have version.hpp and the macros. +#include <exiv2/exiv2.hpp> #include <iostream> #include <string> // EXIV2_TEST_VERSION is defined in Exiv2 0.15 and newer. +#ifdef EXIV2_VERSION #ifndef EXIV2_TEST_VERSION -# define EXIV2_TEST_VERSION(major,minor,patch) \ +#define EXIV2_TEST_VERSION(major,minor,patch) \ ( EXIV2_VERSION >= EXIV2_MAKE_VERSION(major,minor,patch) ) #endif +#else +#define EXIV2_TEST_VERSION(major,minor,patch) (false) +#endif +#if EXIV2_TEST_VERSION(0,27,0) +#define HAVE_EXIV2_ERROR_CODE +#endif #include <sys/types.h> #include <sys/stat.h> @@ -40,27 +48,8 @@ #include <fcntl.h> #include <sys/mman.h> -#if !EXIV2_TEST_VERSION(0,17,90) -#include <exiv2/tiffparser.hpp> -#include <exiv2/tiffcomposite.hpp> -#include <exiv2/tiffvisitor.hpp> -#include <exiv2/tiffimage.hpp> -#include <exiv2/cr2image.hpp> -#include <exiv2/crwimage.hpp> -#if EXIV2_TEST_VERSION(0,16,0) -#include <exiv2/orfimage.hpp> -#endif -#if EXIV2_TEST_VERSION(0,13,0) -#include <exiv2/rafimage.hpp> -#endif -#include <exiv2/futils.hpp> -#else -#include <exiv2/preview.hpp> -#endif - -#if EXIV2_TEST_VERSION(0,17,0) -#include <exiv2/convert.hpp> -#include <exiv2/xmpsidecar.hpp> +#if EXIV2_TEST_VERSION(0,27,0) +#define EXV_PACKAGE "exiv2" #endif extern "C" { @@ -374,7 +363,11 @@ #endif Exiv2::Image *image = imageData_->image(); +#ifdef HAVE_EXIV2_ERROR_CODE + if (!image) throw Exiv2::Error(Exiv2::ErrorCode::kerInputDataReadFailed); +#else if (!image) throw Exiv2::Error(21); +#endif image->setExifData(exifData_); image->setIptcData(iptcData_); #if EXIV2_TEST_VERSION(0,16,0) @@ -394,8 +387,12 @@ sidecar->setXmpData(xmpData_); sidecar->writeMetadata(); #else +#ifdef HAVE_EXIV2_ERROR_CODE + throw Exiv2::Error(Exiv2::ErrorCode::kerNotAnImage, "xmp"); +#else throw Exiv2::Error(3, "xmp"); #endif +#endif } }
--- a/src/fullscreen.c Tue Feb 05 21:18:18 2019 +0100 +++ b/src/fullscreen.c Tue Feb 05 21:18:18 2019 +0100 @@ -248,14 +248,6 @@ gtk_window_set_decorated(GTK_WINDOW(fs->window), FALSE); gtk_container_set_border_width(GTK_CONTAINER(fs->window), 0); - /* make window fullscreen -- let Gtk do it's job, don't screw it in any way */ - gtk_window_fullscreen(GTK_WINDOW(fs->window)); - - /* move it to requested screen */ - if (options->fullscreen.screen >= 0) { - gtk_window_set_screen(GTK_WINDOW(fs->window), screen); - } - /* keep window above others, if requested */ if (options->fullscreen.above) { gtk_window_set_keep_above(GTK_WINDOW(fs->window), TRUE); @@ -281,6 +273,23 @@ GDK_HINT_WIN_GRAVITY | GDK_HINT_USER_POS | GDK_HINT_USER_SIZE); gtk_widget_realize(fs->window); +#if GTK_CHECK_VERSION(3,8,0) + if ((options->fullscreen.screen % 100) == 0) + { + GdkWindow *gdkwin; + gdkwin = gtk_widget_get_window(fs->window); + if (gdkwin != NULL) + gdk_window_set_fullscreen_mode(gdkwin, GDK_FULLSCREEN_ON_ALL_MONITORS); + } +#endif + /* make window fullscreen -- let Gtk do it's job, don't screw it in any way */ + gtk_window_fullscreen(GTK_WINDOW(fs->window)); + + /* move it to requested screen */ + if (options->fullscreen.screen >= 0) + { + gtk_window_set_screen(GTK_WINDOW(fs->window), screen); + } fs->imd = image_new(FALSE);
--- a/src/icons/Makefile.am Tue Feb 05 21:18:18 2019 +0100 +++ b/src/icons/Makefile.am Tue Feb 05 21:18:18 2019 +0100 @@ -40,8 +40,14 @@ icon_select_none.png \ icon_select_invert.png \ icon_select_rectangle.png \ - icon_file_filter.png - + icon_file_filter.png \ + icon_rotate_clockwise.png \ + icon_rotate_counter_clockwise.png \ + icon_rotate_180.png \ + icon_mirror.png \ + icon_flip.png \ + icon_original.png \ + icon_trash.png ICONS_INLINE_PAIRS = \ folder_closed $(srcdir)/folder_closed.png \ @@ -80,7 +86,14 @@ icon_select_none $(srcdir)/icon_select_none.png \ icon_select_invert $(srcdir)/icon_select_invert.png \ icon_select_rectangle $(srcdir)/icon_select_rectangle.png \ - icon_file_filter $(srcdir)/icon_file_filter.png + icon_file_filter $(srcdir)/icon_file_filter.png \ + icon_rotate_clockwise $(srcdir)/icon_rotate_clockwise.png \ + icon_rotate_counter_clockwise $(srcdir)/icon_rotate_counter_clockwise.png \ + icon_rotate_180 $(srcdir)/icon_rotate_180.png \ + icon_mirror $(srcdir)/icon_mirror.png \ + icon_flip $(srcdir)/icon_flip.png \ + icon_original $(srcdir)/icon_original.png \ + icon_trash $(srcdir)/icon_trash.png icons_inline.h: $(ICONS_INLINE) Makefile.in @sh -ec "echo '/* Auto generated file, do not edit */'; echo; \
--- a/src/image-overlay.c Tue Feb 05 21:18:18 2019 +0100 +++ b/src/image-overlay.c Tue Feb 05 21:18:18 2019 +0100 @@ -22,19 +22,16 @@ #include "main.h" #include "image-overlay.h" -#include "collect.h" -#include "exif.h" #include "filedata.h" #include "histogram.h" #include "image.h" #include "img-view.h" #include "layout.h" -#include "metadata.h" +#include "osd.h" #include "pixbuf-renderer.h" #include "pixbuf_util.h" #include "ui_fileops.h" #include "image-load.h" -#include "glua.h" /* *---------------------------------------------------------------------------- @@ -232,287 +229,6 @@ } } -static gchar *keywords_to_string(FileData *fd) -{ - GList *keywords; - GString *kwstr = NULL; - gchar *ret = NULL; - - g_assert(fd); - - keywords = metadata_read_list(fd, KEYWORD_KEY, METADATA_PLAIN); - - if (keywords) - { - GList *work = keywords; - - while (work) - { - 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 (kwstr) - { - ret = kwstr->str; - g_string_free(kwstr, FALSE); - } - - return ret; -} - -static gchar *image_osd_mkinfo(const gchar *str, ImageWindow *imd, GHashTable *vars) -{ - gchar delim = '%', imp = '|', sep[] = " - "; - gchar *start, *end; - guint pos, prev; - gboolean want_separator = FALSE; - gchar *name, *data; - GString *new; - gchar *ret; - - if (!str || !*str) return g_strdup(""); - - new = g_string_new(str); - - prev = -1; - - while (TRUE) - { - guint limit = 0; - gchar *trunc = NULL; - gchar *limpos = NULL; - gchar *extra = NULL; - gchar *extrapos = NULL; - gchar *p; - - start = strchr(new->str + (prev + 1), delim); - if (!start) - break; - end = strchr(start+1, delim); - if (!end) - break; - - /* Search for optionnal modifiers - * %name:99:extra% -> name = "name", limit=99, extra = "extra" - */ - for (p = start + 1; p < end; p++) - { - if (p[0] == ':') - { - if (g_ascii_isdigit(p[1]) && !limpos) - { - limpos = p + 1; - if (!trunc) trunc = p; - } - else - { - extrapos = p + 1; - if (!trunc) trunc = p; - break; - } - } - } - - if (limpos) - limit = (guint) atoi(limpos); - - 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 (strcmp(name, "keywords") == 0) - { - data = keywords_to_string(imd->image_fd); - } - else if (strcmp(name, "comment") == 0) - { - data = metadata_read_string(imd->image_fd, COMMENT_KEY, METADATA_PLAIN); - } - else if (strcmp(name, "imagecomment") == 0) - { - data = exif_get_image_comment(imd->image_fd); - } - else if (strcmp(name, "rating") == 0) - { - data = metadata_read_string(imd->image_fd, RATING_KEY, METADATA_PLAIN); - } -#ifdef HAVE_LUA - else if (strncmp(name, "lua/", 4) == 0) - { - gchar *tmp; - tmp = strchr(name+4, '/'); - if (!tmp) - break; - *tmp = '\0'; - data = lua_callvalue(imd->image_fd, name+4, tmp+1); - } -#endif - else - { - data = g_strdup(g_hash_table_lookup(vars, name)); - 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 *escaped = g_markup_escape_text(data, -1); - g_free(data); - data = escaped; - } - - if (extra) - { - if (data && *data) - { - /* Display data between left and right parts of extra string - * the data is expressed by a '*' character. A '*' may be escaped - * by a \. You should escape all '*' characters, do not rely on the - * current implementation which only replaces the first unescaped '*'. - * If no "*" is present, the extra string is just appended to data string. - * Pango mark up is accepted in left and right parts. - * Any \n is replaced by a newline - * Examples: - * "<i>*</i>\n" -> data is displayed in italics ended with a newline - * "\n" -> ended with newline - * "ISO *" -> prefix data with "ISO " (ie. "ISO 100") - * "\**\*" -> prefix data with a star, and append a star (ie. "*100*") - * "\\*" -> prefix data with an anti slash (ie "\100") - * "Collection <b>*</b>\n" -> display data in bold prefixed by "Collection " and a newline is appended - * - * FIXME: using background / foreground colors lead to weird results. - */ - gchar *new_data; - gchar *left = NULL; - 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] == '\\') - { - if (p[1] == 'n') - { - memmove(p+1, p+2, --len); - p[0] = '\n'; - } - else if (p[1] != '\0') - memmove(p, p+1, len--); // includes \0 - } - else if (p[0] == '*' && !left) - { - right = p + 1; - left = extra; - } - - if (left) right[-1] = '\0'; - - new_data = g_strdup_printf("%s%s%s", left ? left : "", data, right); - g_free(data); - data = new_data; - } - g_free(extra); - } - - g_string_erase(new, pos, end-start+1); - if (data && *data) - { - if (want_separator) - { - /* insert separator */ - g_string_insert(new, pos, sep); - pos += strlen(sep); - want_separator = FALSE; - } - - g_string_insert(new, pos, data); - pos += strlen(data); - } - - if (pos-prev >= 1 && new->str[pos] == imp) - { - /* pipe character is replaced by a separator, delete it - * and raise a flag if needed */ - g_string_erase(new, pos--, 1); - want_separator |= (data && *data); - } - - if (new->str[pos] == '\n') want_separator = FALSE; - - prev = pos - 1; - - g_free(name); - g_free(data); - } - - /* search and destroy empty lines */ - end = new->str; - while ((start = strchr(end, '\n'))) - { - end = start; - while (*++(end) == '\n') - ; - g_string_erase(new, start-new->str, end-start-1); - } - - g_strchomp(new->str); - - ret = new->str; - g_string_free(new, FALSE); - - return ret; -} - -typedef enum { - OSDT_NONE = 0, - OSDT_FREE = 1 << 0, - OSDT_NO_DUP = 1 << 1 -} OsdTemplateFlags; - -static void osd_template_insert(GHashTable *vars, gchar *keyword, gchar *value, OsdTemplateFlags flags) -{ - if (!value) - { - g_hash_table_insert(vars, keyword, g_strdup("")); - return; - } - - if (flags & OSDT_NO_DUP) - { - g_hash_table_insert(vars, keyword, value); - return; - } - else - { - g_hash_table_insert(vars, keyword, g_strdup(value)); - } - - if (flags & OSDT_FREE) g_free((gpointer) value); -} - static GdkPixbuf *image_osd_info_render(OverlayStateData *osd) { GdkPixbuf *pixbuf = NULL; @@ -624,7 +340,7 @@ osd_template_insert(vars, "res", NULL, OSDT_NONE); } - text = image_osd_mkinfo(options->image_overlay.template_string, imd, vars); + text = image_osd_mkinfo(options->image_overlay.template_string, imd->image_fd, vars); g_hash_table_destroy(vars); } else {
--- a/src/image.c Tue Feb 05 21:18:18 2019 +0100 +++ b/src/image.c Tue Feb 05 21:18:18 2019 +0100 @@ -154,8 +154,24 @@ pixbuf_start_x = event->x; pixbuf_start_y = event->y; - image_start_x = x_pixel; - image_start_y = y_pixel; + + if (x_pixel == -1) + { + image_start_x = 0; + } + else + { + image_start_x = x_pixel; + } + + if (y_pixel == -1) + { + image_start_y = 0; + } + else + { + image_start_y = y_pixel; + } } if (rect_id) @@ -180,13 +196,32 @@ gint rect_height; GdkPixbuf *rect_pixbuf; gint x_pixel, y_pixel; + gint image_x_pixel, image_y_pixel; if (options->draw_rectangle) { pixbuf_renderer_get_image_size(pr, &width, &height); pixbuf_renderer_get_mouse_position(pr, &x_pixel, &y_pixel); - switch_coords_orientation(imd, x_pixel, y_pixel, width, height); + + if (x_pixel == -1) + { + image_x_pixel = width; + } + else + { + image_x_pixel = x_pixel; + } + if (y_pixel == -1) + { + image_y_pixel = height; + } + else + { + image_y_pixel = y_pixel; + } + + switch_coords_orientation(imd, image_x_pixel, image_y_pixel, width, height); if (rect_id) { pixbuf_renderer_overlay_remove((PixbufRenderer *)imd->pr, rect_id); @@ -1121,6 +1156,8 @@ void image_attach_window(ImageWindow *imd, GtkWidget *window, const gchar *title, const gchar *title_right, gboolean show_zoom) { + LayoutWindow *lw; + imd->top_window = window; g_free(imd->title); imd->title = g_strdup(title); @@ -1128,7 +1165,9 @@ imd->title_right = g_strdup(title_right); imd->title_show_zoom = show_zoom; - if (!options->image.fit_window_to_image) window = NULL; + lw = layout_find_by_image(imd); + + if (!(options->image.fit_window_to_image && lw && lw->options.tools_float)) window = NULL; pixbuf_renderer_set_parent((PixbufRenderer *)imd->pr, (GtkWindow *)window);
--- a/src/img-view.c Tue Feb 05 21:18:18 2019 +0100 +++ b/src/img-view.c Tue Feb 05 21:18:18 2019 +0100 @@ -29,6 +29,7 @@ #include "filedata.h" #include "fullscreen.h" #include "image.h" +#include "image-load.h" #include "image-overlay.h" #include "layout.h" #include "layout_image.h" @@ -406,6 +407,7 @@ file_util_rename(image_get_fd(imd), NULL, imd->widget); break; case 'D': case 'd': + options->file_ops.safe_delete_enable = TRUE; file_util_delete(image_get_fd(imd), NULL, imd->widget); break; case 'W': case 'w': @@ -445,6 +447,13 @@ filelist_copy(vw->list), vw->window); } break; + case GDK_KEY_Delete: case GDK_KEY_KP_Delete: + if (options->file_ops.enable_delete_key) + { + options->file_ops.safe_delete_enable = FALSE; + file_util_delete(image_get_fd(imd), NULL, imd->widget); + } + break; default: stop_signal = FALSE; break; @@ -540,6 +549,7 @@ case GDK_KEY_Delete: case GDK_KEY_KP_Delete: if (options->file_ops.enable_delete_key) { + options->file_ops.safe_delete_enable = TRUE; file_util_delete(image_get_fd(imd), NULL, imd->widget); } break; @@ -861,6 +871,9 @@ if (cd && info) { image_change_from_collection(vw->imd, cd, info, image_zoom_get_default(NULL)); + /* Grab the fd so we can correctly size the window in + the call to image_load_dimensions() below. */ + fd = info->fd; if (options->image.enable_read_ahead) { CollectInfo * r_info = collection_next_by_info(cd, info); @@ -873,6 +886,8 @@ view_window_set_list(vw, list); vw->list_pointer = vw->list; image_change_fd(vw->imd, (FileData *)vw->list->data, image_zoom_get_default(NULL)); + /* Set fd to first in list */ + fd = vw->list->data; if (options->image.enable_read_ahead) { @@ -886,21 +901,8 @@ } /* Wait until image is loaded otherwise size is not defined */ - int count; - for (count = 10; count && !w && !h; count++) - { - image_get_image_size(vw->imd, &w, &h); - usleep(100000); - } + image_load_dimensions(fd, &w, &h); - if (image_zoom_get(vw->imd) == 0.0) - { - image_get_image_size(vw->imd, &w, &h); - } - else - { - pixbuf_renderer_get_scaled_size(PIXBUF_RENDERER(vw->imd->pr), &w, &h); - } if (options->image.limit_window_size) { gint mw = gdk_screen_width() * options->image.max_window_size / 100; @@ -920,6 +922,7 @@ gtk_widget_set_size_request(vw->imd->pr, w, h); #endif + gtk_window_set_focus_on_map(GTK_WINDOW(vw->window), FALSE); gtk_widget_show(vw->window); view_window_list = g_list_append(view_window_list, vw); @@ -1170,6 +1173,17 @@ ImageWindow *imd; imd = view_window_active_image(vw); + options->file_ops.safe_delete_enable = FALSE; + file_util_delete(image_get_fd(imd), NULL, imd->widget); +} + +static void view_move_to_trash_cb(GtkWidget *widget, gpointer data) +{ + ViewWindow *vw = data; + ImageWindow *imd; + + imd = view_window_active_image(vw); + options->file_ops.safe_delete_enable = TRUE; file_util_delete(image_get_fd(imd), NULL, imd->widget); } @@ -1334,7 +1348,16 @@ menu_item_add(menu, _("_Rename..."), G_CALLBACK(view_rename_cb), vw); menu_item_add(menu, _("_Copy path"), G_CALLBACK(view_copy_path_cb), vw); menu_item_add(menu, _("_Copy path unquoted"), G_CALLBACK(view_copy_path_unquoted_cb), vw); - menu_item_add_stock(menu, _("_Delete..."), GTK_STOCK_DELETE, G_CALLBACK(view_delete_cb), vw); + + menu_item_add_divider(menu); + menu_item_add_stock(menu, + options->file_ops.confirm_move_to_trash ? _("Move to Trash...") : + _("Move to Trash"), PIXBUF_INLINE_ICON_TRASH, + G_CALLBACK(view_move_to_trash_cb), vw); + menu_item_add_stock(menu, + options->file_ops.confirm_delete ? _("_Delete...") : + _("_Delete"), GTK_STOCK_DELETE, + G_CALLBACK(view_delete_cb), vw); menu_item_add_divider(menu);
--- a/src/layout.c Tue Feb 05 21:18:18 2019 +0100 +++ b/src/layout.c Tue Feb 05 21:18:18 2019 +0100 @@ -2532,6 +2532,14 @@ WRITE_NL(); WRITE_BOOL(*layout, toolbar_hidden); WRITE_NL(); WRITE_BOOL(*layout, show_info_pixel); + WRITE_SEPARATOR(); + + WRITE_NL(); WRITE_BOOL(*layout, bars_state.info); + WRITE_NL(); WRITE_BOOL(*layout, bars_state.sort); + WRITE_NL(); WRITE_BOOL(*layout, bars_state.tools_float); + WRITE_NL(); WRITE_BOOL(*layout, bars_state.tools_hidden); + WRITE_NL(); WRITE_BOOL(*layout, bars_state.hidden); + WRITE_SEPARATOR(); WRITE_NL(); WRITE_UINT(*layout, image_overlay.state); WRITE_NL(); WRITE_INT(*layout, image_overlay.histogram_channel); @@ -2618,6 +2626,12 @@ if (READ_BOOL(*layout, toolbar_hidden)) continue; if (READ_BOOL(*layout, show_info_pixel)) continue; + if (READ_BOOL(*layout, bars_state.info)) continue; + if (READ_BOOL(*layout, bars_state.sort)) continue; + if (READ_BOOL(*layout, bars_state.tools_float)) continue; + if (READ_BOOL(*layout, bars_state.tools_hidden)) continue; + if (READ_BOOL(*layout, bars_state.hidden)) continue; + if (READ_UINT(*layout, image_overlay.state)) continue; if (READ_INT(*layout, image_overlay.histogram_channel)) continue; if (READ_INT(*layout, image_overlay.histogram_mode)) continue;
--- a/src/layout_image.c Tue Feb 05 21:18:18 2019 +0100 +++ b/src/layout_image.c Tue Feb 05 21:18:18 2019 +0100 @@ -544,6 +544,16 @@ { LayoutWindow *lw = data; + options->file_ops.safe_delete_enable = FALSE; + file_util_delete(layout_image_get_fd(lw), NULL, + li_pop_menu_click_parent(widget, lw)); +} + +static void li_pop_menu_move_to_trash_cb(GtkWidget *widget, gpointer data) +{ + LayoutWindow *lw = data; + + options->file_ops.safe_delete_enable = TRUE; file_util_delete(layout_image_get_fd(lw), NULL, li_pop_menu_click_parent(widget, lw)); } @@ -705,7 +715,17 @@ item = menu_item_add(menu, _("_Copy path"), G_CALLBACK(li_pop_menu_copy_path_cb), lw); item = menu_item_add(menu, _("_Copy path unquoted"), G_CALLBACK(li_pop_menu_copy_path_unquoted_cb), lw); 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); + menu_item_add_divider(menu); + + item = menu_item_add_stock(menu, + options->file_ops.confirm_move_to_trash ? _("Move to Trash...") : + _("Move to Trash"), PIXBUF_INLINE_ICON_TRASH, + G_CALLBACK(li_pop_menu_move_to_trash_cb), lw); + if (!path) gtk_widget_set_sensitive(item, FALSE); + item = menu_item_add_stock(menu, + options->file_ops.confirm_delete ? _("_Delete...") : + _("_Delete"), GTK_STOCK_DELETE, + G_CALLBACK(li_pop_menu_delete_cb), lw); if (!path) gtk_widget_set_sensitive(item, FALSE); menu_item_add_divider(menu);
--- a/src/layout_util.c Tue Feb 05 21:18:18 2019 +0100 +++ b/src/layout_util.c Tue Feb 05 21:18:18 2019 +0100 @@ -372,6 +372,15 @@ { LayoutWindow *lw = data; + options->file_ops.safe_delete_enable = FALSE; + file_util_delete(NULL, layout_selection_list(lw), layout_window(lw)); +} + +static void layout_menu_move_to_trash_cb(GtkAction *action, gpointer data) +{ + LayoutWindow *lw = data; + + options->file_ops.safe_delete_enable = TRUE; file_util_delete(NULL, layout_selection_list(lw), layout_window(lw)); } @@ -381,6 +390,17 @@ if (options->file_ops.enable_delete_key) { + options->file_ops.safe_delete_enable = FALSE; + file_util_delete(NULL, layout_selection_list(lw), layout_window(lw)); + } +} +static void layout_menu_move_to_trash_key_cb(GtkAction *action, gpointer data) +{ + LayoutWindow *lw = data; + + if (options->file_ops.enable_delete_key) + { + options->file_ops.safe_delete_enable = TRUE; file_util_delete(NULL, layout_selection_list(lw), layout_window(lw)); } } @@ -1094,6 +1114,10 @@ { LayoutWindow *lw = data; + if (lw->options.bars_state.hidden == gtk_toggle_action_get_active(action)) + { + return; + } layout_bars_hide_toggle(lw); } @@ -1877,16 +1901,17 @@ { "Copy", GTK_STOCK_COPY, N_("_Copy..."), "<control>C", N_("Copy..."), CB(layout_menu_copy_cb) }, { "Move", PIXBUF_INLINE_ICON_MOVE, N_("_Move..."), "<control>M", N_("Move..."), CB(layout_menu_move_cb) }, { "Rename", PIXBUF_INLINE_ICON_RENAME, N_("_Rename..."), "<control>R", N_("Rename..."), CB(layout_menu_rename_cb) }, - { "Delete", GTK_STOCK_DELETE, N_("_Delete..."), "<control>D", N_("Delete..."), CB(layout_menu_delete_cb) }, - { "DeleteAlt1", GTK_STOCK_DELETE, N_("_Delete..."), "Delete", N_("Delete..."), CB(layout_menu_delete_key_cb) }, - { "DeleteAlt2", GTK_STOCK_DELETE, N_("_Delete..."), "KP_Delete", N_("Delete..."), CB(layout_menu_delete_key_cb) }, + { "Delete", PIXBUF_INLINE_ICON_TRASH, N_("Move to Trash..."), "<control>D", N_("Move to Trash..."), CB(layout_menu_move_to_trash_cb) }, + { "DeleteAlt1", PIXBUF_INLINE_ICON_TRASH,N_("Move to Trash..."), "Delete", N_("Move to Trash..."), CB(layout_menu_move_to_trash_key_cb) }, + { "DeleteAlt2", PIXBUF_INLINE_ICON_TRASH,N_("Move to Trash..."), "KP_Delete", N_("Move to Trash..."), CB(layout_menu_move_to_trash_key_cb) }, + { "PermanentDelete", GTK_STOCK_DELETE, N_("Delete..."), "<shift>Delete",N_("Delete..."), CB(layout_menu_delete_cb) }, { "EnableGrouping", NULL, N_("Enable file _grouping"), NULL, N_("Enable file grouping"), CB(layout_menu_enable_grouping_cb) }, { "DisableGrouping", NULL, N_("Disable file groupi_ng"), NULL, N_("Disable file grouping"), CB(layout_menu_disable_grouping_cb) }, { "CopyPath", NULL, N_("_Copy path to clipboard"), NULL, N_("Copy path to clipboard"), CB(layout_menu_copy_path_cb) }, { "CopyPathUnquoted", NULL, N_("_Copy path unquoted to clipboard"), NULL, N_("Copy path unquoted to clipboard"), CB(layout_menu_copy_path_unquoted_cb) }, { "CloseWindow", GTK_STOCK_CLOSE, N_("C_lose window"), "<control>W", N_("Close window"), CB(layout_menu_close_cb) }, { "Quit", GTK_STOCK_QUIT, N_("_Quit"), "<control>Q", N_("Quit"), CB(layout_menu_exit_cb) }, - { "RotateCW", NULL, N_("_Rotate clockwise"), "bracketright", N_("Rotate clockwise"), CB(layout_menu_alter_90_cb) }, + { "RotateCW", PIXBUF_INLINE_ICON_CW, N_("_Rotate clockwise"), "bracketright", N_("Rotate clockwise"), CB(layout_menu_alter_90_cb) }, { "Rating0", NULL, N_("_Rating 0"), "<alt>KP_0", N_("Rating 0"), CB(layout_menu_rating_0_cb) }, { "Rating1", NULL, N_("_Rating 1"), "<alt>KP_1", N_("Rating 1"), CB(layout_menu_rating_1_cb) }, { "Rating2", NULL, N_("_Rating 2"), "<alt>KP_2", N_("Rating 2"), CB(layout_menu_rating_2_cb) }, @@ -1894,11 +1919,11 @@ { "Rating4", NULL, N_("_Rating 4"), "<alt>KP_4", N_("Rating 4"), CB(layout_menu_rating_4_cb) }, { "Rating5", NULL, N_("_Rating 5"), "<alt>KP_5", N_("Rating 5"), CB(layout_menu_rating_5_cb) }, { "RatingM1", NULL, N_("_Rating -1"), "<alt>KP_Subtract", N_("Rating -1"), CB(layout_menu_rating_m1_cb) }, - { "RotateCCW", NULL, N_("Rotate _counterclockwise"), "bracketleft", N_("Rotate counterclockwise"), CB(layout_menu_alter_90cc_cb) }, - { "Rotate180", NULL, N_("Rotate 1_80"), "<shift>R", N_("Rotate 180"), CB(layout_menu_alter_180_cb) }, - { "Mirror", NULL, N_("_Mirror"), "<shift>M", N_("Mirror"), CB(layout_menu_alter_mirror_cb) }, - { "Flip", NULL, N_("_Flip"), "<shift>F", N_("Flip"), CB(layout_menu_alter_flip_cb) }, - { "AlterNone", NULL, N_("_Original state"), "<shift>O", N_("Original state"), CB(layout_menu_alter_none_cb) }, + { "RotateCCW", PIXBUF_INLINE_ICON_CCW, N_("Rotate _counterclockwise"), "bracketleft", N_("Rotate counterclockwise"), CB(layout_menu_alter_90cc_cb) }, + { "Rotate180", PIXBUF_INLINE_ICON_180, N_("Rotate 1_80"), "<shift>R", N_("Rotate 180"), CB(layout_menu_alter_180_cb) }, + { "Mirror", PIXBUF_INLINE_ICON_MIRROR, N_("_Mirror"), "<shift>M", N_("Mirror"), CB(layout_menu_alter_mirror_cb) }, + { "Flip", PIXBUF_INLINE_ICON_FLIP, N_("_Flip"), "<shift>F", N_("Flip"), CB(layout_menu_alter_flip_cb) }, + { "AlterNone", PIXBUF_INLINE_ICON_ORIGINAL, N_("_Original state"), "<shift>O", N_("Original state"), CB(layout_menu_alter_none_cb) }, { "SelectAll", PIXBUF_INLINE_ICON_SELECT_ALL, N_("Select _all"), "<control>A", N_("Select all"), CB(layout_menu_select_all_cb) }, { "SelectNone", PIXBUF_INLINE_ICON_SELECT_NONE, N_("Select _none"), "<control><shift>A", N_("Select none"), CB(layout_menu_unselect_all_cb) }, { "SelectInvert", PIXBUF_INLINE_ICON_SELECT_INVERT, N_("_Invert Selection"), "<control><shift>I", N_("Invert Selection"), CB(layout_menu_invert_selection_cb) }, @@ -2066,7 +2091,10 @@ " <menuitem action='Copy'/>" " <menuitem action='Move'/>" " <menuitem action='Rename'/>" +" <separator/>" " <menuitem action='Delete'/>" +" <menuitem action='PermanentDelete'/>" +" <separator/>" " <placeholder name='FileOpsSection'/>" " <separator/>" " <placeholder name='QuitSection'/>" @@ -3131,6 +3159,9 @@ action = gtk_action_group_get_action(lw->action_group, "ShowFileFilter"); gtk_toggle_action_set_active(GTK_TOGGLE_ACTION(action), lw->options.show_file_filter); + action = gtk_action_group_get_action(lw->action_group, "HideBars"); + gtk_toggle_action_set_active(GTK_TOGGLE_ACTION(action), (lw->options.bars_state.hidden)); + if (osd_flags & OSD_SHOW_HISTOGRAM) { action = gtk_action_group_get_action(lw->action_group, "HistogramChanR"); @@ -3383,7 +3414,14 @@ lw->options.bars_state.hidden = FALSE; if (lw->options.bars_state.sort) { - gtk_widget_show(lw->bar_sort); + if (lw->bar_sort) + { + gtk_widget_show(lw->bar_sort); + } + else + { + layout_bar_sort_set_default(lw); + } } if (lw->options.bars_state.info) { @@ -3400,7 +3438,11 @@ lw->options.bars_state.tools_float = lw->options.tools_float; lw->options.bars_state.tools_hidden = lw->options.tools_hidden; - gtk_widget_hide(lw->bar); + if (lw->bar) + { + gtk_widget_hide(lw->bar); + } + if (lw->bar_sort) gtk_widget_hide(lw->bar_sort); layout_tools_float_set(lw, lw->options.tools_float, TRUE);
--- a/src/main.c Tue Feb 05 21:18:18 2019 +0100 +++ b/src/main.c Tue Feb 05 21:18:18 2019 +0100 @@ -222,6 +222,8 @@ gboolean remote_do = FALSE; gchar *first_dir = NULL; gchar *app_lock; + gchar *pwd; + gchar *current_dir; command_line = g_new0(CommandLine, 1); @@ -442,7 +444,16 @@ printf_term(TRUE, _("\nUse --remote-help for valid remote options.\n")); } + /* prepend the current dir the remote command was made from, + * for use by any remote command that needs it + */ + current_dir = g_get_current_dir(); + pwd = g_strconcat("--PWD:", current_dir, NULL); + remote_list = g_list_prepend(remote_list, pwd); + remote_control(argv[0], remote_list, command_line->path, list, command_line->collection_list); + g_free(pwd); + g_free(current_dir); } g_list_free(remote_list);
--- a/src/options.c Tue Feb 05 21:18:18 2019 +0100 +++ b/src/options.c Tue Feb 05 21:18:18 2019 +0100 @@ -65,9 +65,11 @@ options->show_window_ids = FALSE; options->file_ops.confirm_delete = TRUE; + options->file_ops.confirm_move_to_trash = TRUE; options->file_ops.enable_delete_key = TRUE; + options->file_ops.use_system_trash = TRUE; options->file_ops.enable_in_place_rename = TRUE; - options->file_ops.safe_delete_enable = FALSE; + options->file_ops.safe_delete_enable = TRUE; options->file_ops.safe_delete_folder_maxsize = 128; options->file_ops.safe_delete_path = NULL; @@ -195,13 +197,15 @@ options->star_rating.star = STAR_RATING_STAR; options->star_rating.rejected = STAR_RATING_REJECTED; + options->printer.template_string = NULL; options->printer.image_font = g_strdup("Serif 10"); options->printer.page_font = g_strdup("Serif 10"); options->printer.page_text = NULL; - options->printer.text_fields = 1; options->printer.image_text_position = 1; options->printer.page_text_position = 3; + options->disabled_plugins = NULL; + return options; }
--- a/src/options.h Tue Feb 05 21:18:18 2019 +0100 +++ b/src/options.h Tue Feb 05 21:18:18 2019 +0100 @@ -95,8 +95,10 @@ gboolean enable_in_place_rename; gboolean confirm_delete; + gboolean confirm_move_to_trash; gboolean enable_delete_key; gboolean safe_delete_enable; + gboolean use_system_trash; gchar *safe_delete_path; gint safe_delete_folder_maxsize; } file_ops; @@ -305,15 +307,17 @@ struct { gchar *image_font; gchar *page_font; - gint text_fields; gboolean show_image_text; gboolean show_page_text; gchar *page_text; gint image_text_position; gint page_text_position; + gchar *template_string; } printer; gboolean read_metadata_in_idle; + + GList *disabled_plugins; }; ConfOptions *options;
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/osd.c Tue Feb 05 21:18:18 2019 +0100 @@ -0,0 +1,486 @@ +/* + * Copyright (C) 2018 The Geeqie Team + * + * Author: Colin Clark + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU 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., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +/* Routines for creating the Overlay Screen Display text. Also + * used for the same purposes by the Print routines + */ + +#include "main.h" +#include "osd.h" + +#include "dnd.h" +#include "exif.h" +#include "glua.h" +#include "metadata.h" +#include "ui_fileops.h" +#include "ui_misc.h" + +#include <math.h> + +static const gchar *predefined_tags[][2] = { + {"%name%", N_("Name")}, + {"%path:60%", N_("Path")}, + {"%date%", N_("Date")}, + {"%size%", N_("Size")}, + {"%zoom%", N_("Zoom")}, + {"%dimensions%", N_("Dimensions")}, + {"%collection%", N_("Collection")}, + {"%number%", N_("Image index")}, + {"%total%", N_("Images total")}, + {"%comment%", N_("Comment")}, + {"%keywords%", N_("Keywords")}, + {"%file.ctime%", N_("File ctime")}, + {"%file.mode%", N_("File mode")}, + {"%file.owner%", N_("File owner")}, + {"%file.group%", N_("File group")}, + {"%file.link%", N_("File link")}, + {"%file.class%", N_("File class")}, + {"%formatted.DateTime%", N_("Image date")}, + {"%formatted.DateTimeDigitized%", N_("Date digitized")}, + {"%formatted.ShutterSpeed%", N_("ShutterSpeed")}, + {"%formatted.Aperture%", N_("Aperture")}, + {"%formatted.ExposureBias%", N_("Exposure bias")}, + {"%formatted.Resolution%", N_("Resolution")}, + {"%formatted.Camera%", N_("Camera")}, + {"%formatted.ISOSpeedRating%", N_("ISO")}, + {"%formatted.FocalLength%", N_("Focal length")}, + {"%formatted.FocalLength35mmFilm%", N_("Focal len. 35mm")}, + {"%formatted.SubjectDistance%", N_("Subject distance")}, + {"%formatted.Flash%", N_("Flash")}, + {"%formatted.ColorProfile%", N_("Color profile")}, + {"%formatted.GPSPosition%", N_("Lat, Long")}, + {"%formatted.GPSAltitude%", N_("Altitude")}, + {"%formatted.localtime%", N_("Local time")}, + {"%formatted.timezone%", N_("Timezone")}, + {"%formatted.countryname%", N_("Country name")}, + {"%formatted.countrycode%", N_("Country code")}, + {"%rating%", N_("Rating")}, + {"%formatted.star_rating%", N_("Star rating")}, + {"%Xmp.dc.creator%", N_("© Creator")}, + {"%Xmp.dc.contributor%", N_("© Contributor")}, + {"%Xmp.dc.rights%", N_("© Rights")}, + {NULL, NULL}}; + +static GtkTargetEntry osd_drag_types[] = { + { "text/plain", GTK_TARGET_SAME_APP, TARGET_TEXT_PLAIN } +}; + +typedef struct _TagData TagData; +struct _TagData +{ + gchar *key; + gchar *title; +}; + +static void tag_button_cb(GtkWidget *widget, gpointer data) +{ + GtkTextView *image_overlay_template_view = data; + GtkTextBuffer *buffer; + TagData *td; + + buffer = gtk_text_view_get_buffer(image_overlay_template_view); + td = g_object_get_data(G_OBJECT(widget), "tag_data"); + gtk_text_buffer_insert_at_cursor(GTK_TEXT_BUFFER(buffer), td->key, -1); + + gtk_widget_grab_focus(GTK_WIDGET(image_overlay_template_view)); +} + +static void osd_dnd_get_cb(GtkWidget *btn, GdkDragContext *context, + GtkSelectionData *selection_data, guint info, + guint time, gpointer data) +{ + TagData *td; + GtkTextView *image_overlay_template_view = data; + + td = g_object_get_data(G_OBJECT(btn), "tag_data"); + gtk_selection_data_set_text(selection_data, td->key, -1); + + gtk_widget_grab_focus(GTK_WIDGET(image_overlay_template_view)); +} + +static void osd_btn_destroy_cb(GtkWidget *btn, GdkDragContext *context, + GtkSelectionData *selection_data, guint info, + guint time, gpointer data) +{ + TagData *td; + + td = g_object_get_data(G_OBJECT(btn), "tag_data"); + g_free(td->key); + g_free(td->title); +} + +static void set_osd_button(GtkTable *table, const gint rows, const gint cols, const gchar *key, const gchar *title, GtkWidget *template_view) +{ + GtkWidget *new_button; + TagData *td; + + new_button = gtk_button_new_with_label(title); + g_signal_connect(G_OBJECT(new_button), "clicked", G_CALLBACK(tag_button_cb), template_view); + gtk_widget_show(new_button); + + td = g_new0(TagData, 1); + td->key = g_strdup(key); + td->title = g_strdup(title); + + g_object_set_data(G_OBJECT(new_button), "tag_data", td); + + gtk_drag_source_set(new_button, GDK_BUTTON1_MASK, osd_drag_types, 1, GDK_ACTION_COPY); + g_signal_connect(G_OBJECT(new_button), "drag_data_get", + G_CALLBACK(osd_dnd_get_cb), template_view); + g_signal_connect(G_OBJECT(new_button), "destroy", + G_CALLBACK(osd_btn_destroy_cb), new_button); + + gtk_table_attach_defaults(table, new_button, cols, cols+1, rows, rows+1); + +} + +GtkWidget *osd_new(gint max_cols, GtkWidget *template_view) +{ + GtkWidget *hbox; + GtkWidget *vbox; + GtkWidget *vbox_buttons; + GtkWidget *group; + GtkWidget *button; + GtkWidget *scrolled; + GtkTextBuffer *buffer; + GtkWidget *label; + GtkWidget * subgroup; + gint i = 0; + gint rows = 0; + gint max_rows = 0; + gint col = 0; + gint cols = 0; + gdouble entries; + GtkWidget *viewport; + + vbox = gtk_vbox_new(FALSE, 0); + + pref_label_new(vbox, _("To include predefined tags in the template, click a button or drag-and-drop")); + + scrolled = gtk_scrolled_window_new(NULL, NULL); + gtk_box_pack_start(GTK_BOX(vbox), scrolled, FALSE, FALSE, 0); + gtk_container_set_border_width(GTK_CONTAINER(scrolled), PREF_PAD_BORDER); + gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scrolled), + GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC); + label = gtk_label_new("title"); + gtk_widget_show(scrolled); + gtk_widget_set_size_request(scrolled, -1, 140); + + viewport = gtk_viewport_new(NULL, NULL); + gtk_viewport_set_shadow_type(GTK_VIEWPORT(viewport), GTK_SHADOW_NONE); + gtk_container_add(GTK_CONTAINER(scrolled), viewport); + gtk_widget_show(viewport); + + entries = (sizeof(predefined_tags) / sizeof(predefined_tags[0])) - 1; + max_rows = ceil(entries / max_cols); + + GtkTable *table; + table = GTK_TABLE(gtk_table_new(max_rows, max_cols, FALSE)); + gtk_container_add(GTK_CONTAINER(viewport), GTK_WIDGET(table)); + gtk_widget_show(GTK_WIDGET(table)); + + for (rows = 0; rows < max_rows; rows++) + { + cols = 0; + + while (cols < max_cols && predefined_tags[i][0]) + { + set_osd_button(table, rows, cols, predefined_tags[i][0], predefined_tags[i][1], template_view); + i = i + 1; + cols++; + } + } + return vbox; +} +static gchar *keywords_to_string(FileData *fd) +{ + GList *keywords; + GString *kwstr = NULL; + gchar *ret = NULL; + + g_assert(fd); + + keywords = metadata_read_list(fd, KEYWORD_KEY, METADATA_PLAIN); + + if (keywords) + { + GList *work = keywords; + + while (work) + { + 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 (kwstr) + { + ret = kwstr->str; + g_string_free(kwstr, FALSE); + } + + return ret; +} + +gchar *image_osd_mkinfo(const gchar *str, FileData *fd, GHashTable *vars) +{ + gchar delim = '%', imp = '|', sep[] = " - "; + gchar *start, *end; + guint pos, prev; + gboolean want_separator = FALSE; + gchar *name, *data; + GString *new; + gchar *ret; + + if (!str || !*str) return g_strdup(""); + + new = g_string_new(str); + + prev = -1; + + while (TRUE) + { + guint limit = 0; + gchar *trunc = NULL; + gchar *limpos = NULL; + gchar *extra = NULL; + gchar *extrapos = NULL; + gchar *p; + + start = strchr(new->str + (prev + 1), delim); + if (!start) + break; + end = strchr(start+1, delim); + if (!end) + break; + + /* Search for optionnal modifiers + * %name:99:extra% -> name = "name", limit=99, extra = "extra" + */ + for (p = start + 1; p < end; p++) + { + if (p[0] == ':') + { + if (g_ascii_isdigit(p[1]) && !limpos) + { + limpos = p + 1; + if (!trunc) trunc = p; + } + else + { + extrapos = p + 1; + if (!trunc) trunc = p; + break; + } + } + } + + if (limpos) + limit = (guint) atoi(limpos); + + 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 (strcmp(name, "keywords") == 0) + { + data = keywords_to_string(fd); + } + else if (strcmp(name, "comment") == 0) + { + data = metadata_read_string(fd, COMMENT_KEY, METADATA_PLAIN); + } + else if (strcmp(name, "imagecomment") == 0) + { + data = exif_get_image_comment(fd); + } + else if (strcmp(name, "rating") == 0) + { + data = metadata_read_string(fd, RATING_KEY, METADATA_PLAIN); + } +#ifdef HAVE_LUA + else if (strncmp(name, "lua/", 4) == 0) + { + gchar *tmp; + tmp = strchr(name+4, '/'); + if (!tmp) + break; + *tmp = '\0'; + data = lua_callvalue(fd, name+4, tmp+1); + } +#endif + else + { + data = g_strdup(g_hash_table_lookup(vars, name)); + if (!data) + data = metadata_read_string(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 *escaped = g_markup_escape_text(data, -1); + g_free(data); + data = escaped; + } + + if (extra) + { + if (data && *data) + { + /* Display data between left and right parts of extra string + * the data is expressed by a '*' character. A '*' may be escaped + * by a \. You should escape all '*' characters, do not rely on the + * current implementation which only replaces the first unescaped '*'. + * If no "*" is present, the extra string is just appended to data string. + * Pango mark up is accepted in left and right parts. + * Any \n is replaced by a newline + * Examples: + * "<i>*</i>\n" -> data is displayed in italics ended with a newline + * "\n" -> ended with newline + * "ISO *" -> prefix data with "ISO " (ie. "ISO 100") + * "\**\*" -> prefix data with a star, and append a star (ie. "*100*") + * "\\*" -> prefix data with an anti slash (ie "\100") + * "Collection <b>*</b>\n" -> display data in bold prefixed by "Collection " and a newline is appended + * + * FIXME: using background / foreground colors lead to weird results. + */ + gchar *new_data; + gchar *left = NULL; + 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] == '\\') + { + if (p[1] == 'n') + { + memmove(p+1, p+2, --len); + p[0] = '\n'; + } + else if (p[1] != '\0') + memmove(p, p+1, len--); // includes \0 + } + else if (p[0] == '*' && !left) + { + right = p + 1; + left = extra; + } + + if (left) right[-1] = '\0'; + + new_data = g_strdup_printf("%s%s%s", left ? left : "", data, right); + g_free(data); + data = new_data; + } + g_free(extra); + } + + g_string_erase(new, pos, end-start+1); + if (data && *data) + { + if (want_separator) + { + /* insert separator */ + g_string_insert(new, pos, sep); + pos += strlen(sep); + want_separator = FALSE; + } + + g_string_insert(new, pos, data); + pos += strlen(data); + } + + if (pos-prev >= 1 && new->str[pos] == imp) + { + /* pipe character is replaced by a separator, delete it + * and raise a flag if needed */ + g_string_erase(new, pos--, 1); + want_separator |= (data && *data); + } + + if (new->str[pos] == '\n') want_separator = FALSE; + + prev = pos - 1; + + g_free(name); + g_free(data); + } + + /* search and destroy empty lines */ + end = new->str; + while ((start = strchr(end, '\n'))) + { + end = start; + while (*++(end) == '\n') + ; + g_string_erase(new, start-new->str, end-start-1); + } + + g_strchomp(new->str); + + ret = new->str; + g_string_free(new, FALSE); + + return ret; +} + +void osd_template_insert(GHashTable *vars, gchar *keyword, gchar *value, OsdTemplateFlags flags) +{ + if (!value) + { + g_hash_table_insert(vars, keyword, g_strdup("")); + return; + } + + if (flags & OSDT_NO_DUP) + { + g_hash_table_insert(vars, keyword, value); + return; + } + else + { + g_hash_table_insert(vars, keyword, g_strdup(value)); + } + + if (flags & OSDT_FREE) g_free((gpointer) value); +} +/* vim: set shiftwidth=8 softtabstop=0 cindent cinoptions={1s: */
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/osd.h Tue Feb 05 21:18:18 2019 +0100 @@ -0,0 +1,34 @@ +/* + * Copyright (C) 2018 The Geeqie Team + * + * Author: Colin Clark + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU 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., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#ifndef OSD_H +#define OSD_H + +typedef enum { + OSDT_NONE = 0, + OSDT_FREE = 1 << 0, + OSDT_NO_DUP = 1 << 1 +} OsdTemplateFlags; + +GtkWidget *osd_new(gint max_cols, GtkWidget *template_view); +gchar *image_osd_mkinfo(const gchar *str, FileData *fd, GHashTable *vars); +void osd_template_insert(GHashTable *vars, gchar *keyword, gchar *value, OsdTemplateFlags flags); +#endif +/* vim: set shiftwidth=8 softtabstop=0 cindent cinoptions={1s: */
--- a/src/pan-view/pan-view.c Tue Feb 05 21:18:18 2019 +0100 +++ b/src/pan-view/pan-view.c Tue Feb 05 21:18:18 2019 +0100 @@ -1211,7 +1211,11 @@ if (fd) file_util_rename(fd, NULL, GTK_WIDGET(pr)); break; case 'D': case 'd': - if (fd) file_util_delete(fd, NULL, GTK_WIDGET(pr)); + if (fd) + { + options->file_ops.safe_delete_enable = TRUE; + file_util_delete(fd, NULL, GTK_WIDGET(pr)); + } break; case 'F': case 'f': pan_search_toggle_visible(pw, TRUE); @@ -2151,7 +2155,24 @@ FileData *fd; fd = pan_menu_click_fd(pw); - if (fd) file_util_delete(fd, NULL, pw->imd->widget); + if (fd) + { + options->file_ops.safe_delete_enable = FALSE; + file_util_delete(fd, NULL, pw->imd->widget); + } +} + +static void pan_move_to_trash_cb(GtkWidget *widget, gpointer data) +{ + PanWindow *pw = data; + FileData *fd; + + fd = pan_menu_click_fd(pw); + if (fd) + { + options->file_ops.safe_delete_enable = TRUE; + file_util_delete(fd, NULL, pw->imd->widget); + } } static void pan_copy_path_cb(GtkWidget *widget, gpointer data) @@ -2301,8 +2322,16 @@ G_CALLBACK(pan_copy_path_cb), pw); menu_item_add_sensitive(menu, _("_Copy path unquoted"), active, G_CALLBACK(pan_copy_path_unquoted_cb), pw); - menu_item_add_stock_sensitive(menu, _("_Delete..."), GTK_STOCK_DELETE, active, - G_CALLBACK(pan_delete_cb), pw); + + menu_item_add_divider(menu); + menu_item_add_stock_sensitive(menu, + options->file_ops.confirm_move_to_trash ? _("Move to Trash...") : + _("Move to Trash"), PIXBUF_INLINE_ICON_TRASH, active, + G_CALLBACK(pan_move_to_trash_cb), pw); + menu_item_add_stock_sensitive(menu, + options->file_ops.confirm_delete ? _("_Delete...") : + _("_Delete"), GTK_STOCK_DELETE, active, + G_CALLBACK(pan_delete_cb), pw); menu_item_add_divider(menu);
--- a/src/pixbuf-renderer.c Tue Feb 05 21:18:18 2019 +0100 +++ b/src/pixbuf-renderer.c Tue Feb 05 21:18:18 2019 +0100 @@ -2879,10 +2879,15 @@ 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) + if (x_pixel != x_pixel_clamped) { /* mouse is not on pr */ - x_pixel = y_pixel = -1; + x_pixel = -1; + } + if (y_pixel != y_pixel_clamped) + { + /* mouse is not on pr */ + y_pixel = -1; } *x_pixel_return = x_pixel;
--- a/src/pixbuf_util.c Tue Feb 05 21:18:18 2019 +0100 +++ b/src/pixbuf_util.c Tue Feb 05 21:18:18 2019 +0100 @@ -139,6 +139,13 @@ { PIXBUF_INLINE_ICON_SELECT_INVERT, icon_select_invert }, { PIXBUF_INLINE_ICON_SELECT_RECTANGLE, icon_select_rectangle }, { PIXBUF_INLINE_ICON_FILE_FILTER, icon_file_filter }, + { PIXBUF_INLINE_ICON_CW, icon_rotate_clockwise }, + { PIXBUF_INLINE_ICON_CCW, icon_rotate_counter_clockwise }, + { PIXBUF_INLINE_ICON_180, icon_rotate_180 }, + { PIXBUF_INLINE_ICON_MIRROR, icon_mirror }, + { PIXBUF_INLINE_ICON_FLIP, icon_flip }, + { PIXBUF_INLINE_ICON_ORIGINAL, icon_original }, + { PIXBUF_INLINE_ICON_TRASH, icon_trash }, { NULL, NULL } }; @@ -228,6 +235,15 @@ { DEBUG_1("Couldn't load icon %s: %s", icon2, error->message); g_error_free(error); + error = NULL; + + /* try as an absolute path */ + pixbuf = gdk_pixbuf_new_from_file(icon, &error); + if (error) + { + DEBUG_1("Couldn't load icon as absolute path %s: %s", icon, error->message); + g_error_free(error); + } } g_free(icon2); }
--- a/src/pixbuf_util.h Tue Feb 05 21:18:18 2019 +0100 +++ b/src/pixbuf_util.h Tue Feb 05 21:18:18 2019 +0100 @@ -73,6 +73,14 @@ #define PIXBUF_INLINE_ICON_SELECT_INVERT "icon_select_invert" #define PIXBUF_INLINE_ICON_SELECT_RECTANGLE "icon_select_rectangle" #define PIXBUF_INLINE_ICON_FILE_FILTER "icon_file_filter" +#define PIXBUF_INLINE_ICON_TRASH "icon_trash" + +#define PIXBUF_INLINE_ICON_CW "icon_rotate_clockwise" +#define PIXBUF_INLINE_ICON_CCW "icon_rotate_counter_clockwise" +#define PIXBUF_INLINE_ICON_180 "icon_rotate_180" +#define PIXBUF_INLINE_ICON_MIRROR "icon_mirror" +#define PIXBUF_INLINE_ICON_FLIP "icon_flip" +#define PIXBUF_INLINE_ICON_ORIGINAL "icon_original" GdkPixbuf *pixbuf_copy_rotate_90(GdkPixbuf *src, gboolean counter_clockwise); GdkPixbuf *pixbuf_copy_mirror(GdkPixbuf *src, gboolean mirror, gboolean flip);
--- a/src/preferences.c Tue Feb 05 21:18:18 2019 +0100 +++ b/src/preferences.c Tue Feb 05 21:18:18 2019 +0100 @@ -39,6 +39,7 @@ #include "layout_config.h" #include "layout_util.h" #include "metadata.h" +#include "osd.h" #include "pixbuf_util.h" #include "slideshow.h" #include "toolbar.h" @@ -52,8 +53,6 @@ #include "window.h" #include "zonedetect.h" -#include <math.h> - #ifdef HAVE_LCMS #ifdef HAVE_LCMS2 #include <lcms2.h> @@ -261,7 +260,8 @@ options->file_ops.confirm_delete = c_options->file_ops.confirm_delete; options->file_ops.enable_delete_key = c_options->file_ops.enable_delete_key; - options->file_ops.safe_delete_enable = c_options->file_ops.safe_delete_enable; + options->file_ops.confirm_move_to_trash = c_options->file_ops.confirm_move_to_trash; + options->file_ops.use_system_trash = c_options->file_ops.use_system_trash; options->file_ops.safe_delete_folder_maxsize = c_options->file_ops.safe_delete_folder_maxsize; options->tools_restore_state = c_options->tools_restore_state; options->save_window_positions = c_options->save_window_positions; @@ -2055,116 +2055,7 @@ options->fullscreen.disable_saver, &c_options->fullscreen.disable_saver); } -/* overlay screen display tab */ -static const gchar *predefined_tags[][2] = { - {"%name%", N_("Name")}, - {"%path:60%*", N_("Path")}, - {"%date%", N_("Date")}, - {"%size%", N_("Size")}, - {"%zoom%", N_("Zoom")}, - {"%dimensions%", N_("Dimensions")}, - {"%collection%", N_("Collection")}, - {"%number%", N_("Collection number")}, - {"%total%", N_("Collection total")}, - {"%file.ctime%", N_("File ctime")}, - {"%file.mode%", N_("File mode")}, - {"%file.owner%", N_("File owner")}, - {"%file.group%", N_("File group")}, - {"%file.link%", N_("File link")}, - {"%file.class%", N_("File class")}, - {"%formatted.DateTime%", N_("Image date")}, - {"%formatted.DateTimeDigitized%", N_("Date digitized")}, - {"%formatted.ShutterSpeed%", N_("ShutterSpeed")}, - {"%formatted.Aperture%", N_("Aperture")}, - {"%formatted.ExposureBias%", N_("Exposure bias")}, - {"%formatted.Resolution%", N_("Resolution")}, - {"%formatted.Camera%", N_("Camera")}, - {"%formatted.ShutterSpeed%", N_("Shutter speed")}, - {"%formatted.ISOSpeedRating%", N_("ISO")}, - {"%formatted.FocalLength%", N_("Focal length")}, - {"%formatted.FocalLength35mmFilm%", N_("Focal len. 35mm")}, - {"%formatted.SubjectDistance%", N_("Subject distance")}, - {"%formatted.Flash%", N_("Flash")}, - {"%formatted.ColorProfile%", N_("Color profile")}, - {"%formatted.GPSPosition%", N_("Lat, Long")}, - {"%formatted.GPSAltitude%", N_("Altitude")}, - {"%formatted.localtime%", N_("Local time")}, - {"%formatted.timezone%", N_("Timezone")}, - {"%formatted.countryname%", N_("Country name")}, - {"%formatted.countrycode%", N_("Country code")}, - {"%formatted.star_rating%", N_("Star rating")}, - {NULL, NULL}}; - -static GtkTargetEntry osd_drag_types[] = { - { "text/plain", GTK_TARGET_SAME_APP, TARGET_TEXT_PLAIN } -}; - -typedef struct _TagData TagData; -struct _TagData -{ - gchar *key; - gchar *title; -}; - -static void tag_button_cb(GtkWidget *widget, gpointer data) -{ - GtkTextView *image_overlay_template_view = data; - GtkTextBuffer *buffer; - TagData *td; - - buffer = gtk_text_view_get_buffer(image_overlay_template_view); - td = g_object_get_data(G_OBJECT(widget), "tag_data"); - gtk_text_buffer_insert_at_cursor(GTK_TEXT_BUFFER(buffer), td->key, -1); - - gtk_widget_grab_focus(GTK_WIDGET(image_overlay_template_view)); -} - -static void osd_dnd_get_cb(GtkWidget *btn, GdkDragContext *context, - GtkSelectionData *selection_data, guint info, - guint time, gpointer data) -{ - TagData *td; - GtkTextView *image_overlay_template_view = data; - - td = g_object_get_data(G_OBJECT(btn), "tag_data"); - gtk_selection_data_set_text(selection_data, td->key, -1); - - gtk_widget_grab_focus(GTK_WIDGET(image_overlay_template_view)); -} - -static void osd_btn_destroy_cb(GtkWidget *btn, GdkDragContext *context, - GtkSelectionData *selection_data, guint info, - guint time, gpointer data) -{ - TagData *td; - - td = g_object_get_data(G_OBJECT(btn), "tag_data"); - g_free(td->key); - g_free(td->title); -} - -static void set_osd_button(GtkWidget *widget, const gchar *key, const gchar *title, - GtkWidget *image_overlay_template_view) -{ - GtkWidget *new_button; - TagData *td; - - new_button = pref_button_new(widget, NULL, _(title), TRUE, - G_CALLBACK(tag_button_cb), image_overlay_template_view); - - td = g_new0(TagData, 1); - td->key = g_strdup(key); - td->title = g_strdup(title); - - g_object_set_data(G_OBJECT(new_button), "tag_data", td); - - gtk_drag_source_set(new_button, GDK_BUTTON1_MASK, osd_drag_types, 1, GDK_ACTION_COPY); - g_signal_connect(G_OBJECT(new_button), "drag_data_get", - G_CALLBACK(osd_dnd_get_cb), image_overlay_template_view); - g_signal_connect(G_OBJECT(new_button), "destroy", - G_CALLBACK(osd_btn_destroy_cb), new_button); -} - +#define PRE_FORMATTED_COLUMNS 5 static void config_tab_osd(GtkWidget *notebook) { GtkWidget *hbox; @@ -2174,6 +2065,7 @@ GtkWidget *button; GtkWidget *image_overlay_template_view; GtkWidget *scrolled; + GtkWidget *scrolled_pre_formatted; GtkTextBuffer *buffer; GtkWidget *label; GtkWidget * subgroup; @@ -2187,33 +2079,13 @@ group = pref_group_new(vbox, FALSE, _("Overlay Screen Display"), GTK_ORIENTATION_VERTICAL); - hbox = gtk_hbox_new(FALSE, 0); - - gtk_box_pack_start(GTK_BOX(group), hbox, FALSE, FALSE, 0); - gtk_widget_show(hbox); - - pref_label_new(hbox, _("To include predefined tags in the template, click a button or drag-and-drop")); - subgroup = pref_box_new(group, FALSE, GTK_ORIENTATION_VERTICAL, PREF_PAD_GAP); - hbox = gtk_hbox_new(FALSE, 0); - gtk_box_pack_start(GTK_BOX(subgroup), hbox, FALSE, FALSE, 0); - gtk_widget_show(hbox); - - for (cols = 0; cols < 6; cols++) - { - vbox_buttons = gtk_vbox_new(FALSE, 0); - rows = 0; - - gtk_box_pack_start(GTK_BOX(hbox), vbox_buttons, FALSE, FALSE, 0); - - while (rows < 6 && predefined_tags[i][0]) - { - set_osd_button(vbox_buttons, predefined_tags[i][0], predefined_tags[i][1], image_overlay_template_view); - i = i + 1; - rows++; - } - gtk_widget_show(vbox_buttons); - } + + scrolled_pre_formatted = osd_new(PRE_FORMATTED_COLUMNS, image_overlay_template_view); + gtk_widget_set_size_request(scrolled_pre_formatted, 200, 150); + gtk_box_pack_start(GTK_BOX(subgroup), scrolled_pre_formatted, FALSE, FALSE, 0); + gtk_widget_show(scrolled_pre_formatted); + gtk_widget_show(subgroup); pref_line(group, PREF_PAD_GAP); @@ -3081,6 +2953,22 @@ } /* advanced entry tab */ +static void use_geeqie_trash_cb(GtkWidget *widget, gpointer data) +{ + if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget))) + { + c_options->file_ops.use_system_trash = FALSE; + } +} + +static void use_system_trash_cb(GtkWidget *widget, gpointer data) +{ + if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget))) + { + c_options->file_ops.use_system_trash = TRUE; + } +} + static void config_tab_behavior(GtkWidget *notebook) { GtkWidget *hbox; @@ -3099,13 +2987,15 @@ group = pref_group_new(vbox, FALSE, _("Delete"), GTK_ORIENTATION_VERTICAL); - pref_checkbox_new_int(group, _("Confirm file delete"), + pref_checkbox_new_int(group, _("Confirm permanent file delete"), options->file_ops.confirm_delete, &c_options->file_ops.confirm_delete); + pref_checkbox_new_int(group, _("Confirm move file to Trash"), + options->file_ops.confirm_move_to_trash, &c_options->file_ops.confirm_move_to_trash); pref_checkbox_new_int(group, _("Enable Delete key"), options->file_ops.enable_delete_key, &c_options->file_ops.enable_delete_key); - ct_button = pref_checkbox_new_int(group, _("Safe delete"), - options->file_ops.safe_delete_enable, &c_options->file_ops.safe_delete_enable); + ct_button = pref_radiobutton_new(group, NULL, _("Use Geeqie trash location"), + !options->file_ops.use_system_trash, G_CALLBACK(use_geeqie_trash_cb),NULL); hbox = pref_box_new(group, FALSE, GTK_ORIENTATION_HORIZONTAL, PREF_PAD_SPACE); pref_checkbox_link_sensitivity(ct_button, hbox); @@ -3133,8 +3023,12 @@ button = pref_button_new(NULL, GTK_STOCK_CLEAR, NULL, FALSE, G_CALLBACK(safe_delete_clear_cb), NULL); gtk_box_pack_end(GTK_BOX(hbox), button, FALSE, FALSE, 0); + pref_radiobutton_new(group, ct_button, _("Use system Trash bin"), + options->file_ops.use_system_trash, G_CALLBACK(use_system_trash_cb), NULL); gtk_widget_show(button); + pref_spacer(group, PREF_PAD_GROUP); + group = pref_group_new(vbox, FALSE, _("Behavior"), GTK_ORIENTATION_VERTICAL); @@ -3168,6 +3062,8 @@ table = pref_table_new(group, 2, 1, FALSE, FALSE); add_clipboard_selection_menu(table, 0, 0, _("Copy path clipboard selection:"), options->clipboard_selection, &c_options->clipboard_selection); + pref_spacer(group, PREF_PAD_GROUP); + group = pref_group_new(vbox, FALSE, _("Navigation"), GTK_ORIENTATION_VERTICAL); pref_checkbox_new_int(group, _("Progressive keyboard scrolling"), @@ -3185,6 +3081,8 @@ #ifdef DEBUG + pref_spacer(group, PREF_PAD_GROUP); + group = pref_group_new(vbox, FALSE, _("Debugging"), GTK_ORIENTATION_VERTICAL); pref_spin_new_int(group, _("Debug level:"), NULL, @@ -3419,7 +3317,7 @@ gtk_widget_show(win_vbox); notebook = gtk_notebook_new(); - gtk_notebook_set_tab_pos(GTK_NOTEBOOK(notebook), GTK_POS_TOP); + gtk_notebook_set_tab_pos(GTK_NOTEBOOK(notebook), GTK_POS_LEFT); gtk_notebook_set_scrollable(GTK_NOTEBOOK(notebook), TRUE); gtk_box_pack_start(GTK_BOX(win_vbox), notebook, TRUE, TRUE, 0);
--- a/src/print.c Tue Feb 05 21:18:18 2019 +0100 +++ b/src/print.c Tue Feb 05 21:18:18 2019 +0100 @@ -24,6 +24,7 @@ #include "exif.h" #include "filedata.h" #include "image-load.h" +#include "osd.h" #include "pixbuf_util.h" #include "ui_misc.h" #include "ui_fileops.h" @@ -37,14 +38,6 @@ /* method to use when scaling down image data */ #define PRINT_MAX_INTERP GDK_INTERP_HYPER -typedef enum { - TEXT_INFO_FILENAME = 1 << 0, - TEXT_INFO_FILEDATE = 1 << 1, - TEXT_INFO_FILESIZE = 1 << 2, - TEXT_INFO_DIMENSIONS = 1 << 3, - TEXT_INFO_FILEPATH = 1 << 4 -} TextInfo; - /* reverse order is important */ typedef enum { FOOTER_2, @@ -59,9 +52,10 @@ GtkWidget *vbox; GList *source_selection; - TextInfo text_fields; - gint job_page; + gint job_page; GtkTextBuffer *page_text; + gchar *template_string; + GtkWidget *parent; ImageLoader *job_loader; GList *print_pixbuf_queue; @@ -127,63 +121,6 @@ return TRUE; } -static void print_text_field_set(PrintWindow *pw, TextInfo field, gboolean active) -{ - if (active) - { - pw->text_fields |= field; - } - else - { - pw->text_fields &= ~field; - } -} - -static void print_text_cb_name(GtkWidget *widget, gpointer data) -{ - PrintWindow *pw = data; - gboolean active; - - active = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget)); - print_text_field_set(pw, TEXT_INFO_FILENAME, active); -} - -static void print_text_cb_path(GtkWidget *widget, gpointer data) -{ - PrintWindow *pw = data; - gboolean active; - - active = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget)); - print_text_field_set(pw, TEXT_INFO_FILEPATH, active); -} - -static void print_text_cb_date(GtkWidget *widget, gpointer data) -{ - PrintWindow *pw = data; - gboolean active; - - active = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget)); - print_text_field_set(pw, TEXT_INFO_FILEDATE, active); -} - -static void print_text_cb_size(GtkWidget *widget, gpointer data) -{ - PrintWindow *pw = data; - gboolean active; - - active = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget)); - print_text_field_set(pw, TEXT_INFO_FILESIZE, active); -} - -static void print_text_cb_dims(GtkWidget *widget, gpointer data) -{ - PrintWindow *pw = data; - gboolean active; - - active = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget)); - print_text_field_set(pw, TEXT_INFO_DIMENSIONS, active); -} - static void print_set_font_cb(GtkWidget *widget, gpointer data) { gpointer option; @@ -371,6 +308,32 @@ } } +static void set_print_image_text_string(gchar **template_string, const gchar *value) +{ + g_assert(template_string); + + g_free(*template_string); + *template_string = g_strdup(value); +} + +static void image_text_template_view_changed_cb(GtkWidget *widget, gpointer data) +{ + GtkWidget *pTextView; + GtkTextBuffer *pTextBuffer; + GtkTextIter iStart; + GtkTextIter iEnd; + + pTextView = GTK_WIDGET(data); + + pTextBuffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(pTextView)); + gtk_text_buffer_get_start_iter(pTextBuffer, &iStart); + gtk_text_buffer_get_end_iter(pTextBuffer, &iEnd); + + set_print_image_text_string(&options->printer.template_string, + gtk_text_buffer_get_text(pTextBuffer, &iStart, &iEnd, TRUE)); +} + +#define PRE_FORMATTED_COLUMNS 4 static void print_text_menu(GtkWidget *box, PrintWindow *pw) { GtkWidget *group; @@ -382,6 +345,10 @@ GtkWidget *page_text_button; GtkWidget *subgroup; GtkWidget *page_text_view; + GtkWidget *image_text_template_view; + GtkWidget *scrolled; + GtkWidget *scrolled_pre_formatted; + GtkTextBuffer *buffer; group = pref_group_new(box, FALSE, _("Image text"), GTK_ORIENTATION_VERTICAL); @@ -411,16 +378,31 @@ gtk_widget_show(hbox); pw->image_group = (gtk_radio_button_get_group(GTK_RADIO_BUTTON(button1))); - pref_checkbox_new(subgroup, _("Name"), (pw->text_fields & TEXT_INFO_FILENAME), - G_CALLBACK(print_text_cb_name), pw); - pref_checkbox_new(subgroup, _("Path"), (pw->text_fields & TEXT_INFO_FILEPATH), - G_CALLBACK(print_text_cb_path), pw); - pref_checkbox_new(subgroup, _("Date"), (pw->text_fields & TEXT_INFO_FILEDATE), - G_CALLBACK(print_text_cb_date), pw); - pref_checkbox_new(subgroup, _("Size"), (pw->text_fields & TEXT_INFO_FILESIZE), - G_CALLBACK(print_text_cb_size), pw); - pref_checkbox_new(subgroup, _("Dimensions"), (pw->text_fields & TEXT_INFO_DIMENSIONS), - G_CALLBACK(print_text_cb_dims), pw); + image_text_template_view = gtk_text_view_new(); + + scrolled_pre_formatted = osd_new(PRE_FORMATTED_COLUMNS, image_text_template_view); + gtk_box_pack_start(GTK_BOX(subgroup), scrolled_pre_formatted, FALSE, FALSE, 0); + gtk_widget_show(scrolled_pre_formatted); + gtk_widget_show(subgroup); + + gtk_widget_set_tooltip_markup(image_text_template_view, + _("Extensive formatting options are shown in the Help file")); + + scrolled = gtk_scrolled_window_new(NULL, NULL); + gtk_widget_set_size_request(scrolled, 200, 50); + 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); + gtk_box_pack_start(GTK_BOX(subgroup), scrolled, TRUE, TRUE, 5); + gtk_widget_show(scrolled); + + gtk_container_add(GTK_CONTAINER(scrolled), image_text_template_view); + gtk_widget_show(image_text_template_view); + + buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(image_text_template_view)); + if (options->printer.template_string) gtk_text_buffer_set_text(buffer, options->printer.template_string, -1); + g_signal_connect(G_OBJECT(buffer), "changed", + G_CALLBACK(image_text_template_view_changed_cb), image_text_template_view); hbox = pref_box_new(subgroup, FALSE, GTK_ORIENTATION_HORIZONTAL, PREF_PAD_BUTTON_GAP); @@ -466,8 +448,6 @@ gtk_widget_show(hbox); pw->page_group = (gtk_radio_button_get_group(GTK_RADIO_BUTTON(button2))); - GtkWidget *scrolled; - scrolled = gtk_scrolled_window_new(NULL, NULL); gtk_widget_set_size_request(scrolled, 50, 50); gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(scrolled), GTK_SHADOW_IN); @@ -517,6 +497,69 @@ } } +gchar *form_image_text(const gchar *template_string, FileData *fd, PrintWindow *pw, gint page_nr, gint total) +{ + const gchar *name; + gchar *text = NULL; + GHashTable *vars; + gchar *window_title; + gchar *delimiter; + gchar *collection_name; + + if (!fd) return NULL; + + name = fd->name; + + vars = g_hash_table_new_full(g_str_hash, g_str_equal, NULL, g_free); + + window_title = g_strdup(gtk_window_get_title(GTK_WINDOW(pw->parent))); + delimiter = g_strstr_len(window_title, -1, " - Collection - "); + if (delimiter) + { + collection_name = g_strndup(window_title, delimiter - window_title); + } + else + { + collection_name = NULL; + } + g_free(window_title); + + if (collection_name) + { + osd_template_insert(vars, "collection", collection_name, OSDT_NONE); + } + + osd_template_insert(vars, "number", g_strdup_printf("%d", page_nr + 1), OSDT_NO_DUP); + osd_template_insert(vars, "total", g_strdup_printf("%d", total), OSDT_NO_DUP); + osd_template_insert(vars, "name", (gchar *) name, OSDT_NONE); + osd_template_insert(vars, "date", fd ? ((gchar *) text_from_time(fd->date)) : "", OSDT_NONE); + osd_template_insert(vars, "size", fd ? (text_from_size_abrev(fd->size)) : g_strdup(""), OSDT_FREE); + + if (fd->pixbuf) + { + gint w, h; + w = gdk_pixbuf_get_width(fd->pixbuf); + h = gdk_pixbuf_get_height(fd->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); + } + else + { + osd_template_insert(vars, "width", NULL, OSDT_NONE); + osd_template_insert(vars, "height", NULL, OSDT_NONE); + osd_template_insert(vars, "res", NULL, OSDT_NONE); + } + + text = image_osd_mkinfo(template_string, fd, vars); + g_hash_table_destroy(vars); + + g_free(collection_name); + + return text; +} + static void draw_page(GtkPrintOperation *operation, GtkPrintContext *context, gint page_nr, gpointer data) { @@ -545,8 +588,10 @@ gdouble pango_page_height; GtkTextIter start, end; gchar *tmp; + gint total; fd = g_list_nth_data(pw->source_selection, page_nr); + total = g_list_length(pw->source_selection); pixbuf = g_list_nth_data(pw->print_pixbuf_queue, page_nr); if (fd->exif_orientation != EXIF_ORIENTATION_TOP_LEFT) @@ -560,36 +605,7 @@ if (options->printer.show_image_text) { - if (pw->text_fields & TEXT_INFO_FILENAME) - { - image_text = g_string_append(image_text, g_strdup(fd->name)); - image_text = g_string_append(image_text, "\n"); - } - if (pw->text_fields & TEXT_INFO_FILEDATE) - { - image_text = g_string_append(image_text, g_strdup(text_from_time(fd->date))); - image_text = g_string_append(image_text, "\n"); - } - if (pw->text_fields & TEXT_INFO_FILESIZE) - { - image_text = g_string_append(image_text, g_strdup(text_from_size(fd->size))); - image_text = g_string_append(image_text, "\n"); - } - if (pw->text_fields & TEXT_INFO_DIMENSIONS) - { - g_string_append_printf(image_text, "%d x %d", (gint)pixbuf_image_width, - (gint)pixbuf_image_height); - image_text = g_string_append(image_text, "\n"); - } - if (pw->text_fields & TEXT_INFO_FILEPATH) - { - image_text = g_string_append(image_text, g_strdup(fd->path)); - image_text = g_string_append(image_text, "\n"); - } - if (image_text->len > 0) - { - image_text = g_string_truncate(image_text, image_text->len - 1); - } + image_text = g_string_append(image_text, form_image_text(options->printer.template_string, fd, pw, page_nr, total)); } if (options->printer.show_page_text) @@ -789,8 +805,6 @@ gchar *tmp; GtkTextIter start, end; - options->printer.text_fields = pw->text_fields; - gtk_text_buffer_get_bounds(GTK_TEXT_BUFFER(pw->page_text), &start, &end); tmp = gtk_text_buffer_get_text(GTK_TEXT_BUFFER(pw->page_text), &start, &end, FALSE); g_free(options->printer.page_text); @@ -867,13 +881,14 @@ pw = g_new0(PrintWindow, 1); pw->source_selection = file_data_process_groups_in_selection(selection, FALSE, NULL); - pw->text_fields = options->printer.text_fields; if (print_layout_page_count(pw) == 0) { return; } + pw->parent = parent; + vbox = gtk_vbox_new(FALSE, 0); gtk_container_set_border_width(GTK_CONTAINER(vbox), PREF_PAD_BORDER); gtk_widget_show(vbox);
--- a/src/rcfile.c Tue Feb 05 21:18:18 2019 +0100 +++ b/src/rcfile.c Tue Feb 05 21:18:18 2019 +0100 @@ -355,7 +355,9 @@ /* 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.confirm_move_to_trash); WRITE_NL(); WRITE_BOOL(*options, file_ops.enable_delete_key); + WRITE_NL(); WRITE_BOOL(*options, file_ops.use_system_trash); WRITE_NL(); WRITE_BOOL(*options, file_ops.safe_delete_enable); WRITE_NL(); WRITE_CHAR(*options, file_ops.safe_delete_path); WRITE_NL(); WRITE_INT(*options, file_ops.safe_delete_folder_maxsize); @@ -495,15 +497,18 @@ WRITE_NL(); WRITE_CHAR(*options, cp_mv_rn.auto_end); WRITE_NL(); WRITE_INT(*options, cp_mv_rn.formatted_start); - /* printer */ + WRITE_SEPARATOR(); + + /* Print Text */ + WRITE_NL(); WRITE_CHAR(*options, printer.template_string); WRITE_NL(); WRITE_CHAR(*options, printer.image_font); WRITE_NL(); WRITE_CHAR(*options, printer.page_font); WRITE_NL(); WRITE_CHAR(*options, printer.page_text); - WRITE_NL(); WRITE_INT(*options, printer.text_fields); WRITE_NL(); WRITE_INT(*options, printer.image_text_position); WRITE_NL(); WRITE_INT(*options, printer.page_text_position); WRITE_NL(); WRITE_BOOL(*options, printer.show_image_text); WRITE_NL(); WRITE_BOOL(*options, printer.show_page_text); + WRITE_SEPARATOR(); } static void write_color_profile(GString *outstr, gint indent) @@ -551,6 +556,38 @@ WRITE_NL(); WRITE_STRING("</marks_tooltips>"); } +static void write_disabled_plugins(GString *outstr, gint indent) +{ + GtkTreeIter iter; + gboolean valid; + gboolean disabled; + gchar *desktop_path; + + WRITE_NL(); WRITE_STRING("<disabled_plugins>"); + indent++; + + if (desktop_file_list) + { + valid = gtk_tree_model_get_iter_first(GTK_TREE_MODEL(desktop_file_list), &iter); + while (valid) + { + gtk_tree_model_get(GTK_TREE_MODEL(desktop_file_list), &iter, DESKTOP_FILE_COLUMN_DISABLED, &disabled, -1); + gtk_tree_model_get(GTK_TREE_MODEL(desktop_file_list), &iter, DESKTOP_FILE_COLUMN_PATH, &desktop_path, -1); + + if (disabled) + { + WRITE_NL(); + write_char_option(outstr, indent, "<plugin path", desktop_path); + WRITE_STRING("/>"); + } + g_free(desktop_path); + valid = gtk_tree_model_iter_next(GTK_TREE_MODEL(desktop_file_list), &iter); + } + } + + indent--; + WRITE_NL(); WRITE_STRING("</disabled_plugins>"); +} /* *----------------------------------------------------------------------------- @@ -608,6 +645,9 @@ write_marks_tooltips(outstr, indent); WRITE_SEPARATOR(); + write_disabled_plugins(outstr, indent); + + WRITE_SEPARATOR(); keyword_tree_write_config(outstr, indent); indent--; WRITE_NL(); WRITE_STRING("</global>\n"); @@ -751,7 +791,9 @@ /* 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.confirm_move_to_trash)) continue; if (READ_BOOL(*options, file_ops.enable_delete_key)) continue; + if (READ_BOOL(*options, file_ops.use_system_trash)) continue; if (READ_BOOL(*options, file_ops.safe_delete_enable)) continue; if (READ_CHAR(*options, file_ops.safe_delete_path)) continue; if (READ_INT(*options, file_ops.safe_delete_folder_maxsize)) continue; @@ -839,11 +881,11 @@ if (READ_CHAR(*options, cp_mv_rn.auto_end)) continue; if (READ_INT(*options, cp_mv_rn.formatted_start)) continue; - /* printer */ + /* Printer text */ + if (READ_CHAR(*options, printer.template_string)) continue; if (READ_CHAR(*options, printer.image_font)) continue; if (READ_CHAR(*options, printer.page_font)) continue; if (READ_CHAR(*options, printer.page_text)) continue; - if (READ_INT(*options, printer.text_fields)) continue; if (READ_INT(*options, printer.image_text_position)) continue; if (READ_INT(*options, printer.page_text_position)) continue; if (READ_BOOL(*options, printer.show_image_text)) continue; @@ -914,6 +956,30 @@ } +static void options_load_disabled_plugins(GQParserData *parser_data, GMarkupParseContext *context, const gchar *element_name, const gchar **attribute_names, const gchar **attribute_values, gpointer data, GError **error) +{ + gint i = GPOINTER_TO_INT(data); + struct { + gchar *path; + } tmp; + + while (*attribute_names) + { + const gchar *option = *attribute_names++; + const gchar *value = *attribute_values++; + tmp.path = NULL; + if (READ_CHAR_FULL("path", tmp.path)) + { + options->disabled_plugins = g_list_append(options->disabled_plugins, g_strdup(tmp.path)); + continue; + } + + log_printf("unknown attribute %s = %s\n", option, value); + } + i++; + options_parse_func_set_data(parser_data, GINT_TO_POINTER(i)); +} + /* *----------------------------------------------------------------------------- * xml file structure (private) @@ -973,6 +1039,20 @@ } } +static void options_parse_disabled_plugins(GQParserData *parser_data, GMarkupParseContext *context, const gchar *element_name, const gchar **attribute_names, const gchar **attribute_values, gpointer data, GError **error) +{ + if (g_ascii_strcasecmp(element_name, "plugin") == 0) + { + options_load_disabled_plugins(parser_data, context, element_name, attribute_names, attribute_values, data, error); + options_parse_func_push(parser_data, options_parse_leaf, NULL, NULL); + } + else + { + log_printf("unexpected in <profile>: <%s>\n", element_name); + options_parse_func_push(parser_data, options_parse_leaf, NULL, NULL); + } +} + static void options_parse_filter(GQParserData *parser_data, GMarkupParseContext *context, const gchar *element_name, const gchar **attribute_names, const gchar **attribute_values, gpointer data, GError **error) { if (g_ascii_strcasecmp(element_name, "file_type") == 0) @@ -1053,6 +1133,11 @@ if (!keyword_tree) keyword_tree_new(); options_parse_func_push(parser_data, options_parse_keyword_tree, NULL, NULL); } + else if (g_ascii_strcasecmp(element_name, "disabled_plugins") == 0) + { + options_load_disabled_plugins(parser_data, context, element_name, attribute_names, attribute_values, data, error); + options_parse_func_push(parser_data, options_parse_disabled_plugins, NULL, NULL); + } else { log_printf("unexpected in <global>: <%s>\n", element_name);
--- a/src/remote.c Tue Feb 05 21:18:18 2019 +0100 +++ b/src/remote.c Tue Feb 05 21:18:18 2019 +0100 @@ -24,7 +24,9 @@ #include "cache_maint.h" #include "collect.h" +#include "collect-io.h" #include "filedata.h" +#include "filefilter.h" #include "image.h" #include "img-view.h" #include "layout.h" @@ -71,6 +73,38 @@ CollectionData *command_collection; }; +/* Remote commands from main.c are prepended with the current dir the remote + * command was made from. Some remote commands require this. The + * value is stored here + */ +static gchar *pwd = NULL; + +/** + * @brief Ensures file path is absolute. + * @param[in] filename Filepath, absolute or relative to calling directory + * @returns absolute path + * + * If first character of input filepath is not the directory + * separator, assume it as a relative path and prepend + * the directory the remote command was initiated from + * + * Return value must be freed with g_free() + */ +static gchar *set_pwd(gchar *filename) +{ + gchar *temp; + + if (strncmp(filename, G_DIR_SEPARATOR_S, 1) != 0) + { + temp = g_build_filename(pwd, filename, NULL); + } + else + { + temp = g_strdup(filename); + } + + return temp; +} static gboolean remote_server_client_cb(GIOChannel *source, GIOCondition condition, gpointer data) { @@ -612,7 +646,10 @@ static void gr_file_load_no_raise(const gchar *text, GIOChannel *channel, gpointer data) { - gchar *filename = expand_tilde(text); + gchar *filename; + gchar *tilde_filename = expand_tilde(text); + + filename = set_pwd(tilde_filename); if (isfile(filename)) { @@ -636,6 +673,7 @@ } g_free(filename); + g_free(tilde_filename); } static void gr_file_load(const gchar *text, GIOChannel *channel, gpointer data) @@ -718,14 +756,202 @@ } } +static void gr_render_intent(const gchar *text, GIOChannel *channel, gpointer data) +{ + gchar *render_intent; + + switch (options->color_profile.render_intent) + { + case 0: + render_intent = g_strdup("Perceptual"); + break; + case 1: + render_intent = g_strdup("Relative Colorimetric"); + break; + case 2: + render_intent = g_strdup("Saturation"); + break; + case 3: + render_intent = g_strdup("Absolute Colorimetric"); + break; + default: + render_intent = g_strdup("none"); + break; + } + + g_io_channel_write_chars(channel, render_intent, -1, NULL, NULL); + g_io_channel_write_chars(channel, "\n", -1, NULL, NULL); + + g_free(render_intent); +} + +static void get_filelist(const gchar *text, GIOChannel *channel, gboolean recurse) +{ + GList *list = NULL; + FileFormatClass class; + FileData *dir_fd; + FileData *fd; + GString *out_string = g_string_new(NULL); + GList *work; + + if (strcmp(text, "") == 0) + { + if (layout_valid(&lw_id)) + { + dir_fd = file_data_new_dir(lw_id->dir_fd->path); + } + else + { + return; + } + } + else + { + if (isdir(text)) + { + dir_fd = file_data_new_dir(text); + } + else + { + return; + } + } + + if (recurse) + { + list = filelist_recursive(dir_fd); + } + else + { + filelist_read(dir_fd, &list, NULL); + } + + work = list; + while (work) + { + fd = work->data; + g_string_append_printf(out_string, "%s", fd->path); + class = filter_file_get_class(fd->path); + + switch (class) + { + case FORMAT_CLASS_IMAGE: + out_string = g_string_append(out_string, " Class: Image"); + break; + case FORMAT_CLASS_RAWIMAGE: + out_string = g_string_append(out_string, " Class: RAW image"); + break; + case FORMAT_CLASS_META: + out_string = g_string_append(out_string, " Class: Metadata"); + break; + case FORMAT_CLASS_VIDEO: + out_string = g_string_append(out_string, " Class: Video"); + break; + case FORMAT_CLASS_COLLECTION: + out_string = g_string_append(out_string, " Class: Collection"); + break; + case FORMAT_CLASS_PDF: + out_string = g_string_append(out_string, " Class: PDF"); + break; + case FORMAT_CLASS_UNKNOWN: + out_string = g_string_append(out_string, " Class: Unknown"); + break; + default: + out_string = g_string_append(out_string, " Class: Unknown"); + break; + } + out_string = g_string_append(out_string, "\n"); + work = work->next; + } + + g_io_channel_write_chars(channel, out_string->str, -1, NULL, NULL); + g_io_channel_write_chars(channel, "\n", -1, NULL, NULL); + + g_string_free(out_string, TRUE); + filelist_free(list); + file_data_unref(dir_fd); +} + +static void gr_collection(const gchar *text, GIOChannel *channel, gpointer data) +{ + GString *contents = g_string_new(NULL); + + if (is_collection(text)) + { + collection_contents(text, &contents); + } + else + { + return; + } + + g_io_channel_write_chars(channel, contents->str, -1, NULL, NULL); + g_io_channel_write_chars(channel, "\n", -1, NULL, NULL); + + g_string_free(contents, TRUE); +} + +static void gr_collection_list(const gchar *text, GIOChannel *channel, gpointer data) +{ + + GList *collection_list = NULL; + GList *work; + GString *out_string = g_string_new(NULL); + + collect_manager_list(&collection_list, NULL, NULL); + + work = collection_list; + while (work) + { + const gchar *collection_name = work->data; + out_string = g_string_append(out_string, g_strdup(collection_name)); + out_string = g_string_append(out_string, "\n"); + + work = work->next; + } + + g_io_channel_write_chars(channel, out_string->str, -1, NULL, NULL); + g_io_channel_write_chars(channel, "\n", -1, NULL, NULL); + + string_list_free(collection_list); + g_string_free(out_string, TRUE); +} + + +static void gr_filelist(const gchar *text, GIOChannel *channel, gpointer data) +{ + get_filelist(text, channel, FALSE); +} + +static void gr_filelist_recurse(const gchar *text, GIOChannel *channel, gpointer data) +{ + get_filelist(text, channel, TRUE); +} + static void gr_file_tell(const gchar *text, GIOChannel *channel, gpointer data) { + gchar *out_string; + gchar *collection_name = NULL; + if (!layout_valid(&lw_id)) return; if (image_get_path(lw_id->image)) { - g_io_channel_write_chars(channel, image_get_path(lw_id->image), -1, NULL, NULL); + if (lw_id->image->collection && lw_id->image->collection->name) + { + collection_name = remove_extension_from_path(lw_id->image->collection->name); + out_string = g_strconcat(image_get_path(lw_id->image), " Collection: ", collection_name, NULL); + } + else + { + out_string = g_strconcat(image_get_path(lw_id->image), NULL); + } + + g_io_channel_write_chars(channel, out_string, -1, NULL, NULL); g_io_channel_write_chars(channel, "\n", -1, NULL, NULL); + + g_free(collection_name); + g_free(out_string); } } @@ -784,10 +1010,14 @@ static void gr_file_view(const gchar *text, GIOChannel *channel, gpointer data) { - gchar *filename = expand_tilde(text); + gchar *filename; + gchar *tilde_filename = expand_tilde(text); + + filename = set_pwd(tilde_filename); view_window_new(file_data_new_group(filename)); g_free(filename); + g_free(tilde_filename); } static void gr_list_clear(const gchar *text, GIOChannel *channel, gpointer data) @@ -841,6 +1071,14 @@ } } +static void gr_pwd(const gchar *text, GIOChannel *channel, gpointer data) +{ + LayoutWindow *lw = NULL; + + g_free(pwd); + pwd = g_strdup(text); +} + #ifdef HAVE_LUA static void gr_lua(const gchar *text, GIOChannel *channel, gpointer data) { @@ -906,14 +1144,23 @@ { NULL, "--get-sidecars:", gr_get_sidecars, TRUE, FALSE, N_("<FILE>"), N_("get list of sidecars of FILE") }, { NULL, "--get-destination:", gr_get_destination, TRUE, FALSE, N_("<FILE>"), N_("get destination path of FILE") }, { NULL, "file:", gr_file_load, TRUE, FALSE, N_("<FILE>"), N_("open FILE, bring Geeqie window to the top") }, + { NULL, "--file:", gr_file_load, TRUE, FALSE, N_("<FILE>"), N_("open FILE, bring Geeqie window to the top") }, { NULL, "File:", gr_file_load_no_raise, TRUE, FALSE, N_("<FILE>"), N_("open FILE, do not bring Geeqie window to the top") }, - { NULL, "--tell", gr_file_tell, FALSE, FALSE, NULL, N_("print filename of current image") }, + { NULL, "--File:", gr_file_load_no_raise, TRUE, FALSE, N_("<FILE>"), N_("open FILE, do not bring Geeqie window to the top") }, + { NULL, "--tell", gr_file_tell, FALSE, FALSE, NULL, N_("print filename [and Collection] of current image") }, { NULL, "--pixel-info", gr_pixel_info, FALSE, FALSE, NULL, N_("print pixel info of mouse pointer on current image") }, { NULL, "--get-rectangle", gr_rectangle, FALSE, FALSE, NULL, N_("get rectangle co-ordinates") }, + { NULL, "--get-render-intent", gr_render_intent, FALSE, FALSE, NULL, N_("get render intent") }, + { NULL, "--get-filelist:", gr_filelist, TRUE, FALSE, N_("[<FOLDER>]"), N_("get list of files and class") }, + { NULL, "--get-filelist-recurse:", gr_filelist_recurse, TRUE, FALSE, N_("[<FOLDER>]"), N_("get list of files and class recursive") }, + { NULL, "--get-collection:", gr_collection, TRUE, FALSE, N_("<COLLECTION>"), N_("get collection content") }, + { NULL, "--get-collection-list", gr_collection_list, FALSE, FALSE, NULL, N_("get collection list") }, { NULL, "view:", gr_file_view, TRUE, FALSE, N_("<FILE>"), N_("open FILE in new window") }, + { NULL, "--view:", gr_file_view, TRUE, FALSE, N_("<FILE>"), N_("open FILE in new window") }, { NULL, "--list-clear", gr_list_clear, FALSE, FALSE, NULL, N_("clear command line collection list") }, { NULL, "--list-add:", gr_list_add, TRUE, FALSE, N_("<FILE>"), N_("add FILE to command line collection list") }, { NULL, "raise", gr_raise, FALSE, FALSE, NULL, N_("bring the Geeqie window to the top") }, + { NULL, "--raise", gr_raise, FALSE, FALSE, NULL, N_("bring the Geeqie window to the top") }, { NULL, "--id:", gr_lw_id, TRUE, FALSE, N_("<ID>"), N_("window id for following commands") }, { NULL, "--new-window", gr_new_window, FALSE, FALSE, NULL, N_("new window") }, { NULL, "--close-window", gr_close_window, FALSE, FALSE, NULL, N_("close window") }, @@ -927,6 +1174,7 @@ #ifdef HAVE_LUA { NULL, "--lua:", gr_lua, TRUE, FALSE, N_("<FILE>,<lua script>"), N_("run lua script on FILE") }, #endif + { NULL, "--PWD:", gr_pwd, TRUE, FALSE, N_("<PWD>"), N_("for internal use only") }, { NULL, NULL, NULL, FALSE, FALSE, NULL, NULL } };
--- a/src/search.c Tue Feb 05 21:18:18 2019 +0100 +++ b/src/search.c Tue Feb 05 21:18:18 2019 +0100 @@ -37,6 +37,7 @@ #include "menu.h" #include "metadata.h" #include "misc.h" +#include "pixbuf_util.h" #include "print.h" #include "thumb.h" #include "ui_bookmark.h" @@ -1015,6 +1016,15 @@ { SearchData *sd = data; + options->file_ops.safe_delete_enable = FALSE; + file_util_delete(NULL, search_result_selection_list(sd), sd->window); +} + +static void sr_menu_move_to_trash_cb(GtkWidget *widget, gpointer data) +{ + SearchData *sd = data; + + options->file_ops.safe_delete_enable = TRUE; file_util_delete(NULL, search_result_selection_list(sd), sd->window); } @@ -1128,13 +1138,16 @@ G_CALLBACK(sr_menu_copy_path_cb), sd); menu_item_add_sensitive(menu, _("_Copy path unquoted"), on_row, G_CALLBACK(sr_menu_copy_path_unquoted_cb), sd); - menu_item_add_stock_sensitive(menu, _("_Delete..."), GTK_STOCK_DELETE, on_row, - G_CALLBACK(sr_menu_delete_cb), sd); + menu_item_add_divider(menu); - menu_item_add_stock_sensitive(menu, _("Rem_ove"), GTK_STOCK_REMOVE, on_row, - G_CALLBACK(sr_menu_remove_cb), sd); - menu_item_add_stock_sensitive(menu, _("C_lear"), GTK_STOCK_CLEAR, !empty, - G_CALLBACK(sr_menu_clear_cb), sd); + menu_item_add_stock_sensitive(menu, + options->file_ops.confirm_move_to_trash ? _("Move to Trash...") : + _("Move to Trash"), PIXBUF_INLINE_ICON_TRASH, on_row, + G_CALLBACK(sr_menu_move_to_trash_cb), sd); + menu_item_add_stock_sensitive(menu, + options->file_ops.confirm_delete ? _("_Delete...") : + _("_Delete"), GTK_STOCK_DELETE, on_row, + G_CALLBACK(sr_menu_delete_cb), sd); return menu; } @@ -1345,6 +1358,7 @@ file_util_rename(NULL, search_result_selection_list(sd), widget); break; case 'D': case 'd': + options->file_ops.safe_delete_enable = TRUE; file_util_delete(NULL, search_result_selection_list(sd), widget); break; case 'A': case 'a':
--- a/src/toolbar.c Tue Feb 05 21:18:18 2019 +0100 +++ b/src/toolbar.c Tue Feb 05 21:18:18 2019 +0100 @@ -100,6 +100,12 @@ {"Preferences", N_("Preferences"), GTK_STOCK_PREFERENCES}, {"LayoutConfig", N_("Configure this window"), GTK_STOCK_PREFERENCES}, {"Maintenance", N_("Cache maintenance"), PIXBUF_INLINE_ICON_MAINTENANCE}, + {"RotateCW", N_("Rotate clockwise"), PIXBUF_INLINE_ICON_CW}, + {"RotateCCW", N_("Rotate counterclockwise"), PIXBUF_INLINE_ICON_CCW}, + {"Rotate180", N_("Rotate 180"), PIXBUF_INLINE_ICON_180}, + {"Mirror", N_("Mirror"), PIXBUF_INLINE_ICON_MIRROR}, + {"Flip", N_("Flip"), PIXBUF_INLINE_ICON_FLIP}, + {"AlterNone", N_("Original state"), PIXBUF_INLINE_ICON_ORIGINAL}, {"ZoomIn", N_("Zoom in"), GTK_STOCK_ZOOM_IN}, {"ZoomOut", N_("Zoom out"), GTK_STOCK_ZOOM_OUT}, {"Zoom100", N_("Zoom 1:1"), GTK_STOCK_ZOOM_100},
--- a/src/trash.c Tue Feb 05 21:18:18 2019 +0100 +++ b/src/trash.c Tue Feb 05 21:18:18 2019 +0100 @@ -118,11 +118,6 @@ return dest; } -static void file_util_safe_del_toggle_cb(GtkWidget *button, gpointer data) -{ - options->file_ops.safe_delete_enable = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(button)); -} - static void file_util_safe_del_close_cb(GtkWidget *dialog, gpointer data) { GenericDialog **gd = data; @@ -138,55 +133,55 @@ if (!isfile(path)) return FALSE; - if (!isdir(options->file_ops.safe_delete_path)) - { - DEBUG_1("creating trash: %s", options->file_ops.safe_delete_path); - if (!options->file_ops.safe_delete_path || !mkdir_utf8(options->file_ops.safe_delete_path, 0755)) - { - result = _("Could not create folder"); - success = FALSE; - } - } - - if (success) + if (!options->file_ops.use_system_trash) { - gchar *dest; - - dest = file_util_safe_dest(path); - if (dest) + if (!isdir(options->file_ops.safe_delete_path)) { - DEBUG_1("safe deleting %s to %s", path, dest); - success = move_file(path, dest); - } - else - { - success = FALSE; + DEBUG_1("creating trash: %s", options->file_ops.safe_delete_path); + if (!options->file_ops.safe_delete_path || !mkdir_utf8(options->file_ops.safe_delete_path, 0755)) + { + result = _("Could not create folder"); + success = FALSE; + } } - if (!success && !access_file(path, W_OK)) + if (success) { - result = _("Permission denied"); - } - g_free(dest); - } + gchar *dest; - if (result && !gd) - { - GtkWidget *button; - gchar *buf; + dest = file_util_safe_dest(path); + if (dest) + { + DEBUG_1("safe deleting %s to %s", path, dest); + success = move_file(path, dest); + } + else + { + success = FALSE; + } - buf = g_strdup_printf(_("Unable to access or create the trash folder.\n\"%s\""), options->file_ops.safe_delete_path); - gd = file_util_warning_dialog(result, buf, GTK_STOCK_DIALOG_WARNING, NULL); - g_free(buf); + if (!success && !access_file(path, W_OK)) + { + result = _("Permission denied"); + } + g_free(dest); + } - button = gtk_check_button_new_with_label(_("Turn off safe delete")); - g_signal_connect(G_OBJECT(button), "toggled", - G_CALLBACK(file_util_safe_del_toggle_cb), NULL); - gtk_box_pack_start(GTK_BOX(gd->vbox), button, FALSE, FALSE, 0); - gtk_widget_show(button); + if (result && !gd) + { + GtkWidget *button; + gchar *buf; - g_signal_connect(G_OBJECT(gd->dialog), "destroy", - G_CALLBACK(file_util_safe_del_close_cb), &gd); + buf = g_strdup_printf(_("Unable to access or create the trash folder.\n\"%s\""), options->file_ops.safe_delete_path); + gd = file_util_warning_dialog(result, buf, GTK_STOCK_DIALOG_WARNING, NULL); + g_free(buf); + } + } + else + { + GFile *tmp = g_file_new_for_path (path); + g_file_trash(tmp, FALSE, NULL); + g_object_unref(tmp); } return success; @@ -194,7 +189,7 @@ gchar *file_util_safe_delete_status(void) { - gchar *buf; + gchar *buf = NULL; if (is_valid_editor_command(CMD_DELETE)) { @@ -204,18 +199,21 @@ { if (options->file_ops.safe_delete_enable) { - gchar *buf2; - if (options->file_ops.safe_delete_folder_maxsize > 0) - buf2 = g_strdup_printf(_(" (max. %d MB)"), options->file_ops.safe_delete_folder_maxsize); - else - buf2 = g_strdup(""); + if (!options->file_ops.use_system_trash) + { + gchar *buf2; + if (options->file_ops.safe_delete_folder_maxsize > 0) + buf2 = g_strdup_printf(_(" (max. %d MB)"), options->file_ops.safe_delete_folder_maxsize); + else + buf2 = g_strdup(""); - buf = g_strdup_printf(_("Safe delete: %s%s\nTrash: %s"), _("on"), buf2, options->file_ops.safe_delete_path); - g_free(buf2); - } - else - { - buf = g_strdup_printf(_("Safe delete: %s"), _("off")); + buf = g_strdup_printf(_("Using Geeqie Trash bin\n%s"), buf2); + g_free(buf2); + } + else + { + buf = g_strdup(_("Using system Trash bin")); + } } }
--- a/src/typedefs.h Tue Feb 05 21:18:18 2019 +0100 +++ b/src/typedefs.h Tue Feb 05 21:18:18 2019 +0100 @@ -992,6 +992,7 @@ GdkPixbuf *open; GdkPixbuf *deny; GdkPixbuf *parent; + GdkPixbuf *link; }; struct _SecureSaveInfo {
--- a/src/ui_fileops.c Tue Feb 05 21:18:18 2019 +0100 +++ b/src/ui_fileops.c Tue Feb 05 21:18:18 2019 +0100 @@ -570,36 +570,27 @@ { gchar *absolute; - char *lastslash = strrchr(sl, G_DIR_SEPARATOR); - int len = lastslash - sl + 1; + gchar *lastslash = strrchr(sl, G_DIR_SEPARATOR); + gint len = lastslash - sl + 1; - int path_max; -#ifdef PATH_MAX - path_max = PATH_MAX; -#else - path_max = pathconf(sl, _PC_PATH_MAX); - if (path_max <= 0) - path_max = 4096; -#endif - - absolute = g_malloc(path_max + 1); - + absolute = g_malloc(len + st.st_size + 1); strncpy(absolute, sl, len); strcpy(absolute + len, link_target); - strcpy(link_target, absolute); + g_free(link_target); + link_target = absolute; - char *realPath; - realPath = realpath(link_target, absolute); + gchar *realPath; + realPath = realpath(link_target, NULL); if (realPath != NULL) // successfully resolved into an absolute path { g_free(link_target); - link_target = absolute; + link_target = g_strdup(realPath); + g_free(realPath); } else // could not get absolute path, got some error instead { g_free(link_target); - g_free(absolute); goto orig_copy; // so try a "normal" copy } }
--- a/src/utilops.c Tue Feb 05 21:18:18 2019 +0100 +++ b/src/utilops.c Tue Feb 05 21:18:18 2019 +0100 @@ -2144,6 +2144,7 @@ { UtilityData *ud; GList *ungrouped = NULL; + gchar *message; if (source_fd) flist = g_list_append(flist, file_data_ref(source_fd)); @@ -2176,10 +2177,17 @@ ud->parent = parent; ud->details_func = file_util_details_dialog; - + if(options->file_ops.safe_delete_enable) + { + message = _("This will move the following files to the Trash bin"); + } + else + { + message = _("This will permanently delete the following files"); + } ud->messages.title = _("Delete"); ud->messages.question = _("Delete files?"); - ud->messages.desc_flist = _("This will delete the following files"); + ud->messages.desc_flist = message; ud->messages.desc_source_fd = ""; ud->messages.fail = _("File deletion failed");
--- a/src/view_dir.c Tue Feb 05 21:18:18 2019 +0100 +++ b/src/view_dir.c Tue Feb 05 21:18:18 2019 +0100 @@ -49,6 +49,8 @@ pf->open = gtk_widget_render_icon(widget, GTK_STOCK_OPEN, size, NULL); pf->deny = gtk_widget_render_icon(widget, GTK_STOCK_STOP, size, NULL); pf->parent = gtk_widget_render_icon(widget, GTK_STOCK_GO_UP, size, NULL); + /* FIXME: this is not a suitable icon */ + pf->link = gtk_widget_render_icon(widget, GTK_STOCK_REDO, size, NULL); #else /* GQView legacy icons */ pf->close = pixbuf_inline(PIXBUF_INLINE_FOLDER_CLOSED); @@ -67,6 +69,7 @@ g_object_unref(pf->open); g_object_unref(pf->deny); g_object_unref(pf->parent); + g_object_unref(pf->link); g_free(pf); }
--- a/src/view_dir.h Tue Feb 05 21:18:18 2019 +0100 +++ b/src/view_dir.h Tue Feb 05 21:18:18 2019 +0100 @@ -27,6 +27,7 @@ DIR_COLUMN_NAME, DIR_COLUMN_COLOR, DIR_COLUMN_DATE, + DIR_COLUMN_LINK, DIR_COLUMN_COUNT };
--- a/src/view_dir_list.c Tue Feb 05 21:18:18 2019 +0100 +++ b/src/view_dir_list.c Tue Feb 05 21:18:18 2019 +0100 @@ -149,6 +149,7 @@ FileData *fd; SortType sort_type = SORT_NAME; gboolean sort_ascend = TRUE; + gchar *link = NULL; old_list = VDLIST(vd)->list; @@ -190,7 +191,11 @@ if (access_file(fd->path, R_OK | X_OK) && fd->name) { - if (fd->name[0] == '.' && fd->name[1] == '\0') + if (islink(fd->path)) + { + pixbuf = vd->pf->link; + } + else if (fd->name[0] == '.' && fd->name[1] == '\0') { pixbuf = vd->pf->open; } @@ -237,6 +242,15 @@ match = -1; } + if (islink(fd->path)) + { + link = realpath(fd->path, NULL); + } + else + { + link = NULL; + } + if (match < 0) { GtkTreeIter new; @@ -254,6 +268,7 @@ DIR_COLUMN_POINTER, fd, DIR_COLUMN_ICON, pixbuf, DIR_COLUMN_NAME, fd->name, + DIR_COLUMN_LINK, link, DIR_COLUMN_DATE, date, -1); @@ -268,6 +283,7 @@ gtk_list_store_set(store, &iter, DIR_COLUMN_ICON, pixbuf, DIR_COLUMN_NAME, fd->name, + DIR_COLUMN_LINK, link, DIR_COLUMN_DATE, date, -1); @@ -292,6 +308,7 @@ vd->drop_fd = NULL; filelist_free(old_list); + g_free(link); return ret; } @@ -433,7 +450,7 @@ vd->type = DIRVIEW_LIST; - store = gtk_list_store_new(5, G_TYPE_POINTER, GDK_TYPE_PIXBUF, G_TYPE_STRING, G_TYPE_BOOLEAN, G_TYPE_STRING); + store = gtk_list_store_new(6, G_TYPE_POINTER, GDK_TYPE_PIXBUF, G_TYPE_STRING, G_TYPE_BOOLEAN, G_TYPE_STRING, G_TYPE_STRING); vd->view = gtk_tree_view_new_with_model(GTK_TREE_MODEL(store)); g_object_unref(store); @@ -463,6 +480,8 @@ gtk_tree_view_append_column(GTK_TREE_VIEW(vd->view), column); + gtk_tree_view_set_tooltip_column(GTK_TREE_VIEW(vd->view), DIR_COLUMN_LINK); + return vd; } /* vim: set shiftwidth=8 softtabstop=0 cindent cinoptions={1s: */
--- a/src/view_dir_tree.c Tue Feb 05 21:18:18 2019 +0100 +++ b/src/view_dir_tree.c Tue Feb 05 21:18:18 2019 +0100 @@ -133,6 +133,8 @@ { GtkTreeModel *store; GtkTreePath *tpath; + NodeData *nd; + FileData *fd = NULL; store = gtk_tree_view_get_model(GTK_TREE_VIEW(vd->view)); tpath = gtk_tree_model_get_path(store, iter); @@ -143,7 +145,18 @@ that the iter is populated */ g_signal_handlers_block_by_func(G_OBJECT(vd->view), vdtree_row_expanded, vd); gtk_tree_view_expand_row(GTK_TREE_VIEW(vd->view), tpath, FALSE); - vdtree_icon_set_by_iter(vd, iter, vd->pf->open); + gtk_tree_model_get(store, iter, DIR_COLUMN_POINTER, &nd, -1); + fd = (nd) ? nd->fd : NULL; + + if (fd && islink(fd->path)) + { + vdtree_icon_set_by_iter(vd, iter, vd->pf->link); + } + else + { + vdtree_icon_set_by_iter(vd, iter, vd->pf->open); + } + g_signal_handlers_unblock_by_func(G_OBJECT(vd->view), vdtree_row_expanded, vd); } else @@ -379,12 +392,20 @@ GdkPixbuf *pixbuf; NodeData *end; GtkTreeIter empty; + gchar *link = NULL; if (!fd) return; if (access_file(fd->path, R_OK | X_OK)) { - pixbuf = vd->pf->close; + if (islink(fd->path)) + { + pixbuf = vd->pf->link; + } + else + { + pixbuf = vd->pf->close; + } } else { @@ -397,11 +418,21 @@ nd->expanded = FALSE; nd->last_update = time(NULL); + if (islink(fd->path)) + { + link = realpath(fd->path, NULL); + } + else + { + link = NULL; + } + store = GTK_TREE_STORE(gtk_tree_view_get_model(GTK_TREE_VIEW(vd->view))); gtk_tree_store_append(store, &child, parent); gtk_tree_store_set(store, &child, DIR_COLUMN_POINTER, nd, DIR_COLUMN_ICON, pixbuf, DIR_COLUMN_NAME, nd->fd->name, + DIR_COLUMN_LINK, link, DIR_COLUMN_COLOR, FALSE, -1); /* all nodes are created with an "empty" node, so that the expander is shown @@ -429,6 +460,8 @@ } gtk_tree_path_free(tpath); } + + g_free(link); } gboolean vdtree_populate_path_by_iter(ViewDir *vd, GtkTreeIter *iter, gboolean force, FileData *target_fd) @@ -441,6 +474,7 @@ GtkTreeIter child; NodeData *nd; gboolean add_hidden = FALSE; + gchar *link = NULL; store = gtk_tree_view_get_model(GTK_TREE_VIEW(vd->view)); gtk_tree_model_get(store, iter, DIR_COLUMN_POINTER, &nd, -1); @@ -542,6 +576,18 @@ } gtk_tree_store_set(GTK_TREE_STORE(store), &child, DIR_COLUMN_NAME, fd->name, -1); + + if (islink(fd->path)) + { + link = realpath(fd->path, NULL); + } + else + { + link = NULL; + } + + gtk_tree_store_set(GTK_TREE_STORE(store), &child, DIR_COLUMN_LINK, link, -1); + cnd->version = fd->version; old = g_list_remove(old, cnd); file_data_unref(fd); @@ -577,6 +623,8 @@ nd->expanded = TRUE; nd->last_update = current_time; + g_free(link); + return TRUE; } @@ -783,7 +831,15 @@ if (fd) { vdtree_populate_path_by_iter(vd, &iter, FALSE, vd->dir_fd); - vdtree_icon_set_by_iter(vd, &iter, vd->pf->open); + + if (islink(fd->path)) + { + vdtree_icon_set_by_iter(vd, &iter, vd->pf->link); + } + else + { + vdtree_icon_set_by_iter(vd, &iter, vd->pf->open); + } } break; } @@ -822,6 +878,7 @@ GtkTreeViewColumn *column; GtkTreeIter iter; NodeData *nd = NULL; + FileData *fd; if (gtk_tree_view_get_path_at_pos(GTK_TREE_VIEW(widget), bevent->x, bevent->y, &tpath, &column, NULL, NULL)) @@ -846,7 +903,16 @@ !gtk_tree_view_row_expanded(GTK_TREE_VIEW(vd->view), tpath)) { vdtree_populate_path_by_iter(vd, &iter, FALSE, vd->dir_fd); - vdtree_icon_set_by_iter(vd, &iter, vd->pf->open); + + fd = (nd) ? nd->fd : NULL; + if (fd && islink(fd->path)) + { + vdtree_icon_set_by_iter(vd, &iter, vd->pf->link); + } + else + { + vdtree_icon_set_by_iter(vd, &iter, vd->pf->open); + } } gtk_tree_path_free(tpath); @@ -872,16 +938,51 @@ static void vdtree_row_expanded(GtkTreeView *treeview, GtkTreeIter *iter, GtkTreePath *tpath, gpointer data) { ViewDir *vd = data; + GtkTreeModel *store; + NodeData *nd = NULL; + FileData *fd; + + gtk_tree_view_set_tooltip_column(treeview, DIR_COLUMN_LINK); vdtree_populate_path_by_iter(vd, iter, FALSE, NULL); - vdtree_icon_set_by_iter(vd, iter, vd->pf->open); + store = gtk_tree_view_get_model(GTK_TREE_VIEW(treeview)); + + gtk_tree_model_get_iter(store, iter, tpath); + gtk_tree_model_get(store, iter, DIR_COLUMN_POINTER, &nd, -1); + + fd = (nd) ? nd->fd : NULL; + if (fd && islink(fd->path)) + { + vdtree_icon_set_by_iter(vd, iter, vd->pf->link); + } + else + { + vdtree_icon_set_by_iter(vd, iter, vd->pf->open); + } } static void vdtree_row_collapsed(GtkTreeView *treeview, GtkTreeIter *iter, GtkTreePath *tpath, gpointer data) { ViewDir *vd = data; + GtkTreeModel *store; + NodeData *nd = NULL; + FileData *fd; - vdtree_icon_set_by_iter(vd, iter, vd->pf->close); + vdtree_populate_path_by_iter(vd, iter, FALSE, NULL); + store = gtk_tree_view_get_model(GTK_TREE_VIEW(treeview)); + + gtk_tree_model_get_iter(store, iter, tpath); + gtk_tree_model_get(store, iter, DIR_COLUMN_POINTER, &nd, -1); + + fd = (nd) ? nd->fd : NULL; + if (fd && islink(fd->path)) + { + vdtree_icon_set_by_iter(vd, iter, vd->pf->link); + } + else + { + vdtree_icon_set_by_iter(vd, iter, vd->pf->close); + } } static gint vdtree_sort_cb(GtkTreeModel *store, GtkTreeIter *a, GtkTreeIter *b, gpointer data) @@ -958,7 +1059,7 @@ vd->dnd_drop_leave_func = vdtree_dnd_drop_expand_cancel; vd->dnd_drop_update_func = vdtree_dnd_drop_expand; - store = gtk_tree_store_new(4, G_TYPE_POINTER, GDK_TYPE_PIXBUF, G_TYPE_STRING, G_TYPE_INT); + store = gtk_tree_store_new(6, G_TYPE_POINTER, GDK_TYPE_PIXBUF, G_TYPE_STRING, G_TYPE_INT, G_TYPE_STRING, G_TYPE_STRING); vd->view = gtk_tree_view_new_with_model(GTK_TREE_MODEL(store)); g_object_unref(store); @@ -987,6 +1088,8 @@ gtk_tree_view_append_column(GTK_TREE_VIEW(vd->view), column); + gtk_tree_view_set_tooltip_column(GTK_TREE_VIEW(vd->view), DIR_COLUMN_LINK); + vdtree_setup_root(vd); g_signal_connect(G_OBJECT(vd->view), "row_expanded",
--- a/src/view_file/view_file.c Tue Feb 05 21:18:18 2019 +0100 +++ b/src/view_file/view_file.c Tue Feb 05 21:18:18 2019 +0100 @@ -28,6 +28,7 @@ #include "history_list.h" #include "layout.h" #include "menu.h" +#include "pixbuf_util.h" #include "thumb.h" #include "ui_menu.h" #include "ui_fileops.h" @@ -343,6 +344,15 @@ { ViewFile *vf = data; + options->file_ops.safe_delete_enable = FALSE; + file_util_delete(NULL, vf_pop_menu_file_list(vf), vf->listview); +} + +static void vf_pop_menu_move_to_trash_cb(GtkWidget *widget, gpointer data) +{ + ViewFile *vf = data; + + options->file_ops.safe_delete_enable = TRUE; file_util_delete(NULL, vf_pop_menu_file_list(vf), vf->listview); } @@ -624,8 +634,15 @@ G_CALLBACK(vf_pop_menu_copy_path_cb), vf); menu_item_add_sensitive(menu, _("_Copy path unquoted"), active, G_CALLBACK(vf_pop_menu_copy_path_unquoted_cb), vf); - menu_item_add_stock_sensitive(menu, _("_Delete..."), GTK_STOCK_DELETE, active, - G_CALLBACK(vf_pop_menu_delete_cb), vf); + menu_item_add_divider(menu); + menu_item_add_stock_sensitive(menu, + options->file_ops.confirm_move_to_trash ? _("Move to Trash...") : + _("Move to Trash"), PIXBUF_INLINE_ICON_TRASH, active, + G_CALLBACK(vf_pop_menu_move_to_trash_cb), vf); + menu_item_add_stock_sensitive(menu, + options->file_ops.confirm_delete ? _("_Delete...") : + _("_Delete"), GTK_STOCK_DELETE, active, + G_CALLBACK(vf_pop_menu_delete_cb), vf); menu_item_add_divider(menu); menu_item_add_sensitive(menu, _("Enable file _grouping"), active,
--- a/web/geeqie-install-debian.sh Tue Feb 05 21:18:18 2019 +0100 +++ b/web/geeqie-install-debian.sh Tue Feb 05 21:18:18 2019 +0100 @@ -1,5 +1,5 @@ #!/bin/bash -version="2018-08-20" +version="2018-10-23" description=$' Geeqie is an image viewer. This script will download, compile, and install Geeqie on Debian-based systems. @@ -51,8 +51,16 @@ "imagemagick" "ufraw (for RAW file handling)" "ufraw" +"exiv2 command line (for jpeg export)" +"exiv2" +"jpgicc (for jpeg export color correction)" +"liblcms2-utils" "markdown (for generating README help file)" "markdown" +"gphoto2 (for tethered photography and camera download plugins)" +"gphoto2" +"libimage-exiftool-perl (for jpeg extraction plugin)" +"libimage-exiftool-perl" ) # Optional for GTK3 only
--- a/web/help/GuideOptionsBehavior.html Tue Feb 05 21:18:18 2019 +0100 +++ b/web/help/GuideOptionsBehavior.html Tue Feb 05 21:18:18 2019 +0100 @@ -477,12 +477,18 @@ <a name="Delete"></a><div class="header"><h2 class="section title"><span class="title"><span class="label">11.11.1. </span>Delete</span></h2></div> <div class="block list variablelist"><dl class="variablelist"> <dt class="term dt-first"> - <span class="guilabel">Confirm file delete</span> + <span class="guilabel">Confirm permanent file delete</span> </dt> <dd> <p class="para block block-first">Prompts for confirmation before deleting files.</p> </dd> <dt class="term"> + <span class="guilabel">Confirm move file to Trash</span> + </dt> +<dd> + <p class="para block block-first">Prompts for confirmation before moving files to the trash bin.</p> + </dd> +<dt class="term"> <span class="guilabel"> Enable <span class="keycap">Delete key</span> @@ -510,7 +516,7 @@ </p> </dd> <dt class="term"> - <span class="guilabel">Safe Delete</span> + <span class="guilabel">Use Geeqie trash location</span> </dt> <dd> <p class="para block block-first">Moves deleted files to a temporary folder, for easy retrieval of deleted files. Files in the temporary folder are retained until the maximum size is reached, at which point deleting additional files will result in the removal of the oldest files to reclaim the space needed for the new files.</p> @@ -526,6 +532,12 @@ </div></div> </dd> <dt class="term"> + <span class="guilabel">Use system Trash bin</span> + </dt> +<dd> + <p class="para block block-first">Moves deleted files to the system-defined trash bin.</p> + </dd> +<dt class="term"> <span class="guilabel">Folder</span> </dt> <dd>
--- a/web/help/GuidePluginsConfig.html Tue Feb 05 21:18:18 2019 +0100 +++ b/web/help/GuidePluginsConfig.html Tue Feb 05 21:18:18 2019 +0100 @@ -492,6 +492,12 @@ </p> <div class="block list variablelist"><dl class="variablelist"> <dt class="term dt-first"> + <span class="guilabel">Disabled</span> + </dt> +<dd> + <p class="para block block-first">If the checkbox is ticked, the plugin will not be displayed in Geeqie menus.</p> + </dd> +<dt class="term"> <span class="guilabel">Name</span> </dt> <dd>
--- a/web/help/GuideReferenceKeyboardShortcuts.html Tue Feb 05 21:18:18 2019 +0100 +++ b/web/help/GuideReferenceKeyboardShortcuts.html Tue Feb 05 21:18:18 2019 +0100 @@ -894,11 +894,20 @@ </span> </td> <td class="td-colsep td-rowsep"></td> -<td class="td-rowsep">Delete selected images.</td> +<td class="td-rowsep">Move selected images to trash bin.</td> </tr> <tr class="tr-shade"> <td class="td-colsep td-rowsep"> <span class="code" dir="ltr"> + Shift + Delete + </span> + </td> +<td class="td-colsep td-rowsep"></td> +<td class="td-rowsep">Permanently delete selected images.</td> +</tr> +<tr> +<td class="td-colsep td-rowsep"> + <span class="code" dir="ltr"> Ctrl + <span class="keycap">W</span> </span> @@ -906,7 +915,7 @@ <td class="td-colsep td-rowsep"></td> <td class="td-rowsep">Close window, Geeqie exits when last window is closed.</td> </tr> -<tr> +<tr class="tr-shade"> <td class="td-colsep td-rowsep"> <span class="code" dir="ltr"> Ctrl + @@ -916,19 +925,19 @@ <td class="td-colsep td-rowsep"></td> <td class="td-rowsep">Quit Geeqie.</td> </tr> -<tr class="tr-shade"> +<tr> <td></td> <td></td> <td></td> </tr> -<tr> +<tr class="tr-shade"> <td class="td-rowsep"> <span class="emphasis emphasis-bold">Edit Menu</span> </td> <td class="td-rowsep"></td> <td class="td-rowsep"></td> </tr> -<tr class="tr-shade"> +<tr> <td class="td-colsep td-rowsep"> <span class="code" dir="ltr"> Ctrl + @@ -938,7 +947,7 @@ <td class="td-colsep td-rowsep"></td> <td class="td-rowsep">Open Geeqie preferences window.</td> </tr> -<tr> +<tr class="tr-shade"> <td class="td-colsep td-rowsep"> <span class="code" dir="ltr"> Ctrl + @@ -948,19 +957,19 @@ <td class="td-colsep td-rowsep"></td> <td class="td-rowsep">Save metadata</td> </tr> -<tr class="tr-shade"> +<tr> <td></td> <td></td> <td></td> </tr> -<tr> +<tr class="tr-shade"> <td class="td-rowsep"> <span class="emphasis emphasis-bold">Select Menu</span> </td> <td class="td-rowsep"></td> <td class="td-rowsep"></td> </tr> -<tr class="tr-shade"> +<tr> <td class="td-colsep td-rowsep"> <span class="keycap">1</span> ... @@ -969,7 +978,7 @@ <td class="td-colsep td-rowsep"></td> <td class="td-rowsep">Toggle mark 1 ... 6</td> </tr> -<tr> +<tr class="tr-shade"> <td class="td-colsep td-rowsep"> <span class="code" dir="ltr"> Ctrl + @@ -984,7 +993,7 @@ <td class="td-colsep td-rowsep"></td> <td class="td-rowsep">Select mark 1 ... 6</td> </tr> -<tr class="tr-shade"> +<tr> <td class="td-colsep td-rowsep"> <span class="code" dir="ltr"> Ctrl + @@ -994,7 +1003,7 @@ <td class="td-colsep td-rowsep"></td> <td class="td-rowsep">Select all images.</td> </tr> -<tr> +<tr class="tr-shade"> <td class="td-colsep td-rowsep"> <span class="code" dir="ltr"> Ctrl + SHIFT + @@ -1004,7 +1013,7 @@ <td class="td-colsep td-rowsep"></td> <td class="td-rowsep">Unselect all images.</td> </tr> -<tr class="tr-shade"> +<tr> <td class="td-colsep td-rowsep"> <span class="code" dir="ltr"> Ctrl + SHIFT + @@ -1014,7 +1023,7 @@ <td class="td-colsep td-rowsep"></td> <td class="td-rowsep">Invert selection.</td> </tr> -<tr> +<tr class="tr-shade"> <td class="td-colsep td-rowsep"> <span class="code" dir="ltr"> Alt + @@ -1024,33 +1033,33 @@ <td class="td-colsep td-rowsep"></td> <td class="td-rowsep">Toggle rectangular selection mode in icon view.</td> </tr> -<tr class="tr-shade"> +<tr> <td class="td-colsep td-rowsep"> <span class="keycap">M</span> </td> <td class="td-colsep td-rowsep"></td> <td class="td-rowsep">Show marks.</td> </tr> -<tr> +<tr class="tr-shade"> <td></td> <td></td> <td></td> </tr> -<tr class="tr-shade"> +<tr> <td class="td-rowsep"> <span class="emphasis emphasis-bold">View Menu</span> </td> <td class="td-rowsep"></td> <td class="td-rowsep"></td> </tr> -<tr> +<tr class="tr-shade"> <td class="td-colsep td-rowsep"> <span class="keycap">T</span> </td> <td class="td-colsep td-rowsep"></td> <td class="td-rowsep">Toggle display of thumbnails when in list view.</td> </tr> -<tr class="tr-shade"> +<tr> <td class="td-colsep td-rowsep"> <span class="code" dir="ltr"> Ctrl + @@ -1060,7 +1069,7 @@ <td class="td-colsep td-rowsep"></td> <td class="td-rowsep">Display file list as detailed list view.</td> </tr> -<tr> +<tr class="tr-shade"> <td class="td-colsep td-rowsep"> <span class="code" dir="ltr"> Ctrl + @@ -1070,7 +1079,7 @@ <td class="td-colsep td-rowsep"></td> <td class="td-rowsep">Display file list as icon view.</td> </tr> -<tr class="tr-shade"> +<tr> <td class="td-colsep td-rowsep"> <span class="code" dir="ltr"> Ctrl + @@ -1080,21 +1089,21 @@ <td class="td-colsep td-rowsep"></td> <td class="td-rowsep">Toggle folder display between list and tree views.</td> </tr> -<tr> +<tr class="tr-shade"> <td class="td-colsep td-rowsep"> <span class="keycap">R</span> </td> <td class="td-colsep td-rowsep"></td> <td class="td-rowsep">Refresh file list.</td> </tr> -<tr class="tr-shade"> +<tr> <td class="td-colsep td-rowsep"> <span class="keycap">L</span> </td> <td class="td-colsep td-rowsep"></td> <td class="td-rowsep">Toggle floating of file display.</td> </tr> -<tr> +<tr class="tr-shade"> <td class="td-colsep td-rowsep"> <span class="code" dir="ltr"> Ctrl + @@ -1104,7 +1113,7 @@ <td class="td-colsep td-rowsep"></td> <td class="td-rowsep">Toggle hiding of file display.</td> </tr> -<tr class="tr-shade"> +<tr> <td class="td-colsep td-rowsep"> <span class="code" dir="ltr"> Ctrl + @@ -1114,7 +1123,7 @@ <td class="td-colsep td-rowsep"></td> <td class="td-rowsep">Toggle EXIF sidebar.</td> </tr> -<tr> +<tr class="tr-shade"> <td class="td-colsep td-rowsep"> <span class="code" dir="ltr"> Shift + @@ -1124,7 +1133,7 @@ <td class="td-colsep td-rowsep"></td> <td class="td-rowsep">Toggle Sort Manager sidebar.</td> </tr> -<tr class="tr-shade"> +<tr> <td class="td-colsep td-rowsep"> <span class="code" dir="ltr"> Ctrl + @@ -1134,35 +1143,35 @@ <td class="td-colsep td-rowsep"></td> <td class="td-rowsep">Toggle Keywords sidebar.</td> </tr> -<tr> +<tr class="tr-shade"> <td class="td-colsep td-rowsep"> <span class="keycap">V</span> </td> <td class="td-colsep td-rowsep"></td> <td class="td-rowsep">Toggle full screen.</td> </tr> -<tr class="tr-shade"> +<tr> <td class="td-colsep td-rowsep"> <span class="keycap">I</span> </td> <td class="td-colsep td-rowsep"></td> <td class="td-rowsep">Toggle information overlay.</td> </tr> -<tr> +<tr class="tr-shade"> <td class="td-colsep td-rowsep"> <span class="keycap">S</span> </td> <td class="td-colsep td-rowsep"></td> <td class="td-rowsep">Toggle slideshow.</td> </tr> -<tr class="tr-shade"> +<tr> <td class="td-colsep td-rowsep"> <span class="keycap">P</span> </td> <td class="td-colsep td-rowsep"></td> <td class="td-rowsep">Pause slideshow.</td> </tr> -<tr> +<tr class="tr-shade"> <td class="td-colsep td-rowsep"> <span class="code" dir="ltr"> Ctrl + @@ -1172,7 +1181,7 @@ <td class="td-colsep td-rowsep"></td> <td class="td-rowsep">Slideshow faster.</td> </tr> -<tr class="tr-shade"> +<tr> <td class="td-colsep td-rowsep"> <span class="code" dir="ltr"> Ctrl + @@ -1182,49 +1191,49 @@ <td class="td-colsep td-rowsep"></td> <td class="td-rowsep">Slideshow slower.</td> </tr> -<tr> +<tr class="tr-shade"> <td class="td-colsep td-rowsep"> <span class="keycap">E</span> </td> <td class="td-colsep td-rowsep"></td> <td class="td-rowsep">Split panes horizontal.</td> </tr> -<tr class="tr-shade"> +<tr> <td class="td-colsep td-rowsep"> <span class="keycap">U</span> </td> <td class="td-colsep td-rowsep"></td> <td class="td-rowsep">Split panes vertical.</td> </tr> -<tr> +<tr class="tr-shade"> <td class="td-colsep td-rowsep"> <span class="keycap">Y</span> </td> <td class="td-colsep td-rowsep"></td> <td class="td-rowsep">Single pane.</td> </tr> -<tr class="tr-shade"> +<tr> <td class="td-colsep td-rowsep"> <span class="code" dir="ltr">Alt + Right Arrow</span> </td> <td class="td-colsep td-rowsep"></td> <td class="td-rowsep">Next split pane.</td> </tr> -<tr> +<tr class="tr-shade"> <td class="td-colsep td-rowsep"> <span class="code" dir="ltr">Alt + Left Arrow</span> </td> <td class="td-colsep td-rowsep"></td> <td class="td-rowsep">Previous split pane.</td> </tr> -<tr class="tr-shade"> +<tr> <td class="td-colsep td-rowsep"> <span class="code" dir="ltr">Alt + Up Arrow</span> </td> <td class="td-colsep td-rowsep"></td> <td class="td-rowsep">Up or previous split pane.</td> </tr> -<tr> +<tr class="tr-shade"> <td class="td-colsep"> <span class="code" dir="ltr">Alt + Down Arrow</span> </td>