Merging upstream version 1.2.1.
authorAndriy Grytsenko <andrej@rep.kiev.ua>
Thu, 3 Jul 2014 14:39:48 +0000 (17:39 +0300)
committerAndriy Grytsenko <andrej@rep.kiev.ua>
Thu, 3 Jul 2014 14:39:48 +0000 (17:39 +0300)
37 files changed:
Makefile.in
NEWS
aclocal.m4
compile
configure
configure.ac
data/pcmanfm.desktop
data/pcmanfm.desktop.in
data/ui/about.ui
depcomp
install-sh
missing
po/bg.po
po/cs.po
po/eu.po
po/fi.po
po/fr.po
po/hr.po
po/it.po
po/kk.po
po/lg.po
po/lt.po
po/nl.po
po/pt.po
po/sv.po
po/tr.po
po/zh_CN.po
po/zh_TW.po
src/Makefile.am
src/Makefile.in
src/connect-server.c
src/desktop.c
src/main-win-ui.c
src/main-win.c
src/pcmanfm.c
src/tab-page.c
src/tab-page.h

index 24b5a1b..cc7fa01 100644 (file)
@@ -79,7 +79,7 @@ subdir = .
 DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
        $(top_srcdir)/configure $(am__configure_deps) \
        $(srcdir)/config.h.in AUTHORS COPYING ChangeLog INSTALL NEWS \
-       README TODO compile depcomp install-sh missing
+       README TODO compile install-sh missing
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
diff --git a/NEWS b/NEWS
index f6d9947..0d7c4f7 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,37 @@
+Changes on 1.2.1 since 1.2.0:
+
+* Fixed update desktop config from old settings.
+
+* Fixed 'Edit'->'Rename' menu item, it should be inactive if rename isn't
+    supported.
+
+* Fixed install and uninstall for modules directory.
+
+* Port number shouldn't be added in Connect to Server dialog if port is
+    default one.
+
+* Got rid of possible memory exhausting after changing wallpaper.
+
+* Fixed icons positioning when upper reserved area is not 0.
+
+* Fixed resetting cursor in location bar to beginning after navigation.
+
+* Corrected folder popup update on folder loading so context menu is now
+    correct for the folder shown.
+
+* Fixed dragging and dropping icons behavior on desktop.
+
+* Correctly use screen number to display all the windows.
+
+* Added "System;FileTools;" into Categories for pcmanfm.desktop, those
+    are recommended categories for the FileManager one.
+
+* Reordered 'View' menu items a bit to conform with HIG.
+
+* Implemented drawing icons of dragged items as cursor to see where they
+    will end up dropped.
+
+
 Changes on 1.2.0 since 1.1.0:
 
 * Implemented accessibility for the desktop managed by pcmanfm.
index 8c1c5ca..70a1966 100644 (file)
@@ -337,7 +337,6 @@ msgstr ""
 dnl
 glib_DEFUN([GLIB_GNU_GETTEXT],
   [AC_REQUIRE([AC_PROG_CC])dnl
-   AC_REQUIRE([AC_HEADER_STDC])dnl
    
    GLIB_LC_MESSAGES
    GLIB_WITH_NLS
@@ -673,7 +672,7 @@ AU_ALIAS([AC_PROG_INTLTOOL], [IT_PROG_INTLTOOL])
 
 
 # nls.m4 serial 5 (gettext-0.18)
-dnl Copyright (C) 1995-2003, 2005-2006, 2008-2010 Free Software Foundation,
+dnl Copyright (C) 1995-2003, 2005-2006, 2008-2013 Free Software Foundation,
 dnl Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
diff --git a/compile b/compile
index 862a14e..531136b 100755 (executable)
--- a/compile
+++ b/compile
@@ -1,10 +1,9 @@
 #! /bin/sh
 # Wrapper for compilers which do not understand '-c -o'.
 
-scriptversion=2012-03-05.13; # UTC
+scriptversion=2012-10-14.11; # UTC
 
-# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2009, 2010, 2012 Free
-# Software Foundation, Inc.
+# Copyright (C) 1999-2013 Free Software Foundation, Inc.
 # Written by Tom Tromey <tromey@cygnus.com>.
 #
 # This program is free software; you can redistribute it and/or modify
@@ -113,6 +112,11 @@ func_cl_dashl ()
       lib=$dir/$lib.lib
       break
     fi
+    if test -f "$dir/lib$lib.a"; then
+      found=yes
+      lib=$dir/lib$lib.a
+      break
+    fi
   done
   IFS=$save_IFS
 
index 831f642..8f7bbfc 100755 (executable)
--- a/configure
+++ b/configure
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for pcmanfm 1.2.0.
+# Generated by GNU Autoconf 2.69 for pcmanfm 1.2.1.
 #
 # Report bugs to <http://pcmanfm.sf.net/>.
 #
@@ -580,8 +580,8 @@ MAKEFLAGS=
 # Identity of this package.
 PACKAGE_NAME='pcmanfm'
 PACKAGE_TARNAME='pcmanfm'
-PACKAGE_VERSION='1.2.0'
-PACKAGE_STRING='pcmanfm 1.2.0'
+PACKAGE_VERSION='1.2.1'
+PACKAGE_STRING='pcmanfm 1.2.1'
 PACKAGE_BUGREPORT='http://pcmanfm.sf.net/'
 PACKAGE_URL=''
 
@@ -1337,7 +1337,7 @@ if test "$ac_init_help" = "long"; then
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures pcmanfm 1.2.0 to adapt to many kinds of systems.
+\`configure' configures pcmanfm 1.2.1 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1403,7 +1403,7 @@ fi
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of pcmanfm 1.2.0:";;
+     short | recursive ) echo "Configuration of pcmanfm 1.2.1:";;
    esac
   cat <<\_ACEOF
 
@@ -1514,7 +1514,7 @@ fi
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-pcmanfm configure 1.2.0
+pcmanfm configure 1.2.1
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -1883,7 +1883,7 @@ cat >config.log <<_ACEOF
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by pcmanfm $as_me 1.2.0, which was
+It was created by pcmanfm $as_me 1.2.1, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -2746,7 +2746,7 @@ fi
 
 # Define the identity of the package.
  PACKAGE='pcmanfm'
- VERSION='1.2.0'
+ VERSION='1.2.1'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -7462,7 +7462,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by pcmanfm $as_me 1.2.0, which was
+This file was extended by pcmanfm $as_me 1.2.1, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -7528,7 +7528,7 @@ _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-pcmanfm config.status 1.2.0
+pcmanfm config.status 1.2.1
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 
index a5ad3df..d5cc638 100644 (file)
@@ -2,7 +2,7 @@
 # Process this file with autoconf to produce a configure script.
 
 AC_PREREQ([2.63])
-AC_INIT([pcmanfm], [1.2.0], [http://pcmanfm.sf.net/])
+AC_INIT([pcmanfm], [1.2.1], [http://pcmanfm.sf.net/])
 AM_INIT_AUTOMAKE([-Wall -Werror foreign no-dist-gzip dist-xz])
 
 AC_CONFIG_HEADERS([config.h])
index a819f3a..6b488e6 100644 (file)
@@ -135,7 +135,7 @@ Comment[uk]=Показує файлову систему і керує файл
 Comment[vi]=Xem hệ thống tập tin và quản lý dữ liệu
 Comment[zh_CN]=浏览文件系统和管理文件
 Comment[zh_TW]=瀏覽檔案系統及管理檔案
-Categories=FileManager;Utility;Core;GTK;
+Categories=System;FileTools;FileManager;Utility;Core;GTK;
 Exec=pcmanfm %U
 StartupNotify=true
 Terminal=false
index a980a54..b6437a8 100644 (file)
@@ -4,7 +4,7 @@ Icon=system-file-manager
 _Name=File Manager PCManFM
 _GenericName=File Manager
 _Comment=Browse the file system and manage the files
-Categories=FileManager;Utility;Core;GTK;
+Categories=System;FileTools;FileManager;Utility;Core;GTK;
 Exec=pcmanfm %U
 StartupNotify=true
 Terminal=false
index 3dca631..eb07501 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0"?><interface>
   
-<object class="GtkAboutDialog" id="dlg"><property name="border_width">5</property><property name="window_position">center-on-parent</property><property name="type_hint">dialog</property><property name="has_separator">False</property><property name="program_name">PCManFM</property><property name="version">1.2.0</property><property name="copyright" translatable="yes">Copyright (C) 2009 - 2014</property><property name="website">http://sourceforge.net/projects/pcmanfm</property><property name="license">PCMan File Manager
+<object class="GtkAboutDialog" id="dlg"><property name="border_width">5</property><property name="window_position">center-on-parent</property><property name="type_hint">dialog</property><property name="has_separator">False</property><property name="program_name">PCManFM</property><property name="version">1.2.1</property><property name="copyright" translatable="yes">Copyright (C) 2009 - 2014</property><property name="website">http://sourceforge.net/projects/pcmanfm</property><property name="license">PCMan File Manager
 
 Copyright &#169; 2009 - 2013 &#x6D2A;&#x4EFB;&#x8AED; (Hong Jen Yee)
 Copyright &#169; 2012 - 2014 Andriy Grytsenko
diff --git a/depcomp b/depcomp
index 25a39e6..4ebd5b3 100755 (executable)
--- a/depcomp
+++ b/depcomp
@@ -1,10 +1,9 @@
 #! /bin/sh
 # depcomp - compile a program generating dependencies as side-effects
 
-scriptversion=2012-03-27.16; # UTC
+scriptversion=2013-05-30.07; # UTC
 
-# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007, 2009, 2010,
-# 2011, 2012 Free Software Foundation, Inc.
+# Copyright (C) 1999-2013 Free Software Foundation, Inc.
 
 # 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
@@ -28,9 +27,9 @@ scriptversion=2012-03-27.16; # UTC
 
 case $1 in
   '')
-     echo "$0: No command.  Try '$0 --help' for more information." 1>&2
-     exit 1;
-     ;;
+    echo "$0: No command.  Try '$0 --help' for more information." 1>&2
+    exit 1;
+    ;;
   -h | --h*)
     cat <<\EOF
 Usage: depcomp [--help] [--version] PROGRAM [ARGS]
@@ -57,11 +56,65 @@ EOF
     ;;
 esac
 
+# Get the directory component of the given path, and save it in the
+# global variables '$dir'.  Note that this directory component will
+# be either empty or ending with a '/' character.  This is deliberate.
+set_dir_from ()
+{
+  case $1 in
+    */*) dir=`echo "$1" | sed -e 's|/[^/]*$|/|'`;;
+      *) dir=;;
+  esac
+}
+
+# Get the suffix-stripped basename of the given path, and save it the
+# global variable '$base'.
+set_base_from ()
+{
+  base=`echo "$1" | sed -e 's|^.*/||' -e 's/\.[^.]*$//'`
+}
+
+# If no dependency file was actually created by the compiler invocation,
+# we still have to create a dummy depfile, to avoid errors with the
+# Makefile "include basename.Plo" scheme.
+make_dummy_depfile ()
+{
+  echo "#dummy" > "$depfile"
+}
+
+# Factor out some common post-processing of the generated depfile.
+# Requires the auxiliary global variable '$tmpdepfile' to be set.
+aix_post_process_depfile ()
+{
+  # If the compiler actually managed to produce a dependency file,
+  # post-process it.
+  if test -f "$tmpdepfile"; then
+    # Each line is of the form 'foo.o: dependency.h'.
+    # Do two passes, one to just change these to
+    #   $object: dependency.h
+    # and one to simply output
+    #   dependency.h:
+    # which is needed to avoid the deleted-header problem.
+    { sed -e "s,^.*\.[$lower]*:,$object:," < "$tmpdepfile"
+      sed -e "s,^.*\.[$lower]*:[$tab ]*,," -e 's,$,:,' < "$tmpdepfile"
+    } > "$depfile"
+    rm -f "$tmpdepfile"
+  else
+    make_dummy_depfile
+  fi
+}
+
 # A tabulation character.
 tab='  '
 # A newline character.
 nl='
 '
+# Character ranges might be problematic outside the C locale.
+# These definitions help.
+upper=ABCDEFGHIJKLMNOPQRSTUVWXYZ
+lower=abcdefghijklmnopqrstuvwxyz
+digits=0123456789
+alpha=${upper}${lower}
 
 if test -z "$depmode" || test -z "$source" || test -z "$object"; then
   echo "depcomp: Variables source, object and depmode must be set" 1>&2
@@ -75,6 +128,9 @@ tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`}
 
 rm -f "$tmpdepfile"
 
+# Avoid interferences from the environment.
+gccflag= dashmflag=
+
 # Some modes work just like other modes, but use different flags.  We
 # parameterize here, but still list the modes in the big case below,
 # to make depend.m4 easier to write.  Note that we *cannot* use a case
@@ -86,32 +142,32 @@ if test "$depmode" = hp; then
 fi
 
 if test "$depmode" = dashXmstdout; then
-   # This is just like dashmstdout with a different argument.
-   dashmflag=-xM
-   depmode=dashmstdout
+  # This is just like dashmstdout with a different argument.
+  dashmflag=-xM
+  depmode=dashmstdout
 fi
 
 cygpath_u="cygpath -u -f -"
 if test "$depmode" = msvcmsys; then
-   # This is just like msvisualcpp but w/o cygpath translation.
-   # Just convert the backslash-escaped backslashes to single forward
-   # slashes to satisfy depend.m4
-   cygpath_u='sed s,\\\\,/,g'
-   depmode=msvisualcpp
+  # This is just like msvisualcpp but w/o cygpath translation.
+  # Just convert the backslash-escaped backslashes to single forward
+  # slashes to satisfy depend.m4
+  cygpath_u='sed s,\\\\,/,g'
+  depmode=msvisualcpp
 fi
 
 if test "$depmode" = msvc7msys; then
-   # This is just like msvc7 but w/o cygpath translation.
-   # Just convert the backslash-escaped backslashes to single forward
-   # slashes to satisfy depend.m4
-   cygpath_u='sed s,\\\\,/,g'
-   depmode=msvc7
+  # This is just like msvc7 but w/o cygpath translation.
+  # Just convert the backslash-escaped backslashes to single forward
+  # slashes to satisfy depend.m4
+  cygpath_u='sed s,\\\\,/,g'
+  depmode=msvc7
 fi
 
 if test "$depmode" = xlc; then
-   # IBM C/C++ Compilers xlc/xlC can output gcc-like dependency informations.
-   gccflag=-qmakedep=gcc,-MF
-   depmode=gcc
+  # IBM C/C++ Compilers xlc/xlC can output gcc-like dependency information.
+  gccflag=-qmakedep=gcc,-MF
+  depmode=gcc
 fi
 
 case "$depmode" in
@@ -134,8 +190,7 @@ gcc3)
   done
   "$@"
   stat=$?
-  if test $stat -eq 0; then :
-  else
+  if test $stat -ne 0; then
     rm -f "$tmpdepfile"
     exit $stat
   fi
@@ -143,13 +198,17 @@ gcc3)
   ;;
 
 gcc)
+## Note that this doesn't just cater to obsosete pre-3.x GCC compilers.
+## but also to in-use compilers like IMB xlc/xlC and the HP C compiler.
+## (see the conditional assignment to $gccflag above).
 ## There are various ways to get dependency output from gcc.  Here's
 ## why we pick this rather obscure method:
 ## - Don't want to use -MD because we'd like the dependencies to end
 ##   up in a subdir.  Having to rename by hand is ugly.
 ##   (We might end up doing this anyway to support other compilers.)
 ## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like
-##   -MM, not -M (despite what the docs say).
+##   -MM, not -M (despite what the docs say).  Also, it might not be
+##   supported by the other compilers which use the 'gcc' depmode.
 ## - Using -M directly means running the compiler twice (even worse
 ##   than renaming).
   if test -z "$gccflag"; then
@@ -157,15 +216,14 @@ gcc)
   fi
   "$@" -Wp,"$gccflag$tmpdepfile"
   stat=$?
-  if test $stat -eq 0; then :
-  else
+  if test $stat -ne 0; then
     rm -f "$tmpdepfile"
     exit $stat
   fi
   rm -f "$depfile"
   echo "$object : \\" > "$depfile"
-  alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
-## The second -e expression handles DOS-style file names with drive letters.
+  # The second -e expression handles DOS-style file names with drive
+  # letters.
   sed -e 's/^[^:]*: / /' \
       -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile"
 ## This next piece of magic avoids the "deleted header file" problem.
@@ -174,15 +232,15 @@ gcc)
 ## typically no way to rebuild the header).  We avoid this by adding
 ## dummy dependencies for each header file.  Too bad gcc doesn't do
 ## this for us directly.
-  tr ' ' "$nl" < "$tmpdepfile" |
 ## Some versions of gcc put a space before the ':'.  On the theory
 ## that the space means something, we add a space to the output as
 ## well.  hp depmode also adds that space, but also prefixes the VPATH
 ## to the object.  Take care to not repeat it in the output.
 ## Some versions of the HPUX 10.20 sed can't process this invocation
 ## correctly.  Breaking it into two sed invocations is a workaround.
-    sed -e 's/^\\$//' -e '/^$/d' -e "s|.*$object$||" -e '/:$/d' \
-      | sed -e 's/$/ :/' >> "$depfile"
+  tr ' ' "$nl" < "$tmpdepfile" \
+    | sed -e 's/^\\$//' -e '/^$/d' -e "s|.*$object$||" -e '/:$/d' \
+    | sed -e 's/$/ :/' >> "$depfile"
   rm -f "$tmpdepfile"
   ;;
 
@@ -200,8 +258,7 @@ sgi)
     "$@" -MDupdate "$tmpdepfile"
   fi
   stat=$?
-  if test $stat -eq 0; then :
-  else
+  if test $stat -ne 0; then
     rm -f "$tmpdepfile"
     exit $stat
   fi
@@ -209,7 +266,6 @@ sgi)
 
   if test -f "$tmpdepfile"; then  # yes, the sourcefile depend on other files
     echo "$object : \\" > "$depfile"
-
     # Clip off the initial element (the dependent).  Don't try to be
     # clever and replace this with sed code, as IRIX sed won't handle
     # lines with more than a fixed number of characters (4096 in
@@ -217,19 +273,15 @@ sgi)
     # the IRIX cc adds comments like '#:fec' to the end of the
     # dependency line.
     tr ' ' "$nl" < "$tmpdepfile" \
-    | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \
-    tr "$nl" ' ' >> "$depfile"
+      | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' \
+      | tr "$nl" ' ' >> "$depfile"
     echo >> "$depfile"
-
     # The second pass generates a dummy entry for each header file.
     tr ' ' "$nl" < "$tmpdepfile" \
-   | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
-   >> "$depfile"
+      | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
+      >> "$depfile"
   else
-    # The sourcefile does not contain any dependencies, so just
-    # store a dummy comment line, to avoid errors with the Makefile
-    # "include basename.Plo" scheme.
-    echo "#dummy" > "$depfile"
+    make_dummy_depfile
   fi
   rm -f "$tmpdepfile"
   ;;
@@ -247,9 +299,8 @@ aix)
   # current directory.  Also, the AIX compiler puts '$object:' at the
   # start of each line; $object doesn't have directory information.
   # Version 6 uses the directory in both cases.
-  dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
-  test "x$dir" = "x$object" && dir=
-  base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
+  set_dir_from "$object"
+  set_base_from "$object"
   if test "$libtool" = yes; then
     tmpdepfile1=$dir$base.u
     tmpdepfile2=$base.u
@@ -262,9 +313,7 @@ aix)
     "$@" -M
   fi
   stat=$?
-
-  if test $stat -eq 0; then :
-  else
+  if test $stat -ne 0; then
     rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
     exit $stat
   fi
@@ -273,65 +322,113 @@ aix)
   do
     test -f "$tmpdepfile" && break
   done
-  if test -f "$tmpdepfile"; then
-    # Each line is of the form 'foo.o: dependent.h'.
-    # Do two passes, one to just change these to
-    # '$object: dependent.h' and one to simply 'dependent.h:'.
-    sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
-    sed -e 's,^.*\.[a-z]*:['"$tab"' ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
-  else
-    # The sourcefile does not contain any dependencies, so just
-    # store a dummy comment line, to avoid errors with the Makefile
-    # "include basename.Plo" scheme.
-    echo "#dummy" > "$depfile"
+  aix_post_process_depfile
+  ;;
+
+tcc)
+  # tcc (Tiny C Compiler) understand '-MD -MF file' since version 0.9.26
+  # FIXME: That version still under development at the moment of writing.
+  #        Make that this statement remains true also for stable, released
+  #        versions.
+  # It will wrap lines (doesn't matter whether long or short) with a
+  # trailing '\', as in:
+  #
+  #   foo.o : \
+  #    foo.c \
+  #    foo.h \
+  #
+  # It will put a trailing '\' even on the last line, and will use leading
+  # spaces rather than leading tabs (at least since its commit 0394caf7
+  # "Emit spaces for -MD").
+  "$@" -MD -MF "$tmpdepfile"
+  stat=$?
+  if test $stat -ne 0; then
+    rm -f "$tmpdepfile"
+    exit $stat
   fi
+  rm -f "$depfile"
+  # Each non-empty line is of the form 'foo.o : \' or ' dep.h \'.
+  # We have to change lines of the first kind to '$object: \'.
+  sed -e "s|.*:|$object :|" < "$tmpdepfile" > "$depfile"
+  # And for each line of the second kind, we have to emit a 'dep.h:'
+  # dummy dependency, to avoid the deleted-header problem.
+  sed -n -e 's|^  *\(.*\) *\\$|\1:|p' < "$tmpdepfile" >> "$depfile"
   rm -f "$tmpdepfile"
   ;;
 
-icc)
-  # Intel's C compiler anf tcc (Tiny C Compiler) understand '-MD -MF file'.
-  # However on
-  #    $CC -MD -MF foo.d -c -o sub/foo.o sub/foo.c
-  # ICC 7.0 will fill foo.d with something like
-  #    foo.o: sub/foo.c
-  #    foo.o: sub/foo.h
-  # which is wrong.  We want
-  #    sub/foo.o: sub/foo.c
-  #    sub/foo.o: sub/foo.h
-  #    sub/foo.c:
-  #    sub/foo.h:
-  # ICC 7.1 will output
+## The order of this option in the case statement is important, since the
+## shell code in configure will try each of these formats in the order
+## listed in this file.  A plain '-MD' option would be understood by many
+## compilers, so we must ensure this comes after the gcc and icc options.
+pgcc)
+  # Portland's C compiler understands '-MD'.
+  # Will always output deps to 'file.d' where file is the root name of the
+  # source file under compilation, even if file resides in a subdirectory.
+  # The object file name does not affect the name of the '.d' file.
+  # pgcc 10.2 will output
   #    foo.o: sub/foo.c sub/foo.h
-  # and will wrap long lines using '\':
+  # and will wrap long lines using '\' :
   #    foo.o: sub/foo.c ... \
   #     sub/foo.h ... \
   #     ...
-  # tcc 0.9.26 (FIXME still under development at the moment of writing)
-  # will emit a similar output, but also prepend the continuation lines
-  # with horizontal tabulation characters.
-  "$@" -MD -MF "$tmpdepfile"
-  stat=$?
-  if test $stat -eq 0; then :
-  else
+  set_dir_from "$object"
+  # Use the source, not the object, to determine the base name, since
+  # that's sadly what pgcc will do too.
+  set_base_from "$source"
+  tmpdepfile=$base.d
+
+  # For projects that build the same source file twice into different object
+  # files, the pgcc approach of using the *source* file root name can cause
+  # problems in parallel builds.  Use a locking strategy to avoid stomping on
+  # the same $tmpdepfile.
+  lockdir=$base.d-lock
+  trap "
+    echo '$0: caught signal, cleaning up...' >&2
+    rmdir '$lockdir'
+    exit 1
+  " 1 2 13 15
+  numtries=100
+  i=$numtries
+  while test $i -gt 0; do
+    # mkdir is a portable test-and-set.
+    if mkdir "$lockdir" 2>/dev/null; then
+      # This process acquired the lock.
+      "$@" -MD
+      stat=$?
+      # Release the lock.
+      rmdir "$lockdir"
+      break
+    else
+      # If the lock is being held by a different process, wait
+      # until the winning process is done or we timeout.
+      while test -d "$lockdir" && test $i -gt 0; do
+        sleep 1
+        i=`expr $i - 1`
+      done
+    fi
+    i=`expr $i - 1`
+  done
+  trap - 1 2 13 15
+  if test $i -le 0; then
+    echo "$0: failed to acquire lock after $numtries attempts" >&2
+    echo "$0: check lockdir '$lockdir'" >&2
+    exit 1
+  fi
+
+  if test $stat -ne 0; then
     rm -f "$tmpdepfile"
     exit $stat
   fi
   rm -f "$depfile"
-  # Each line is of the form 'foo.o: dependent.h',
-  # or 'foo.o: dep1.h dep2.h \', or ' dep3.h dep4.h \'.
+  # Each line is of the form `foo.o: dependent.h',
+  # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'.
   # Do two passes, one to just change these to
-  # '$object: dependent.h' and one to simply 'dependent.h:'.
-  sed -e "s/^[ $tab][ $tab]*/  /" -e "s,^[^:]*:,$object :," \
-    < "$tmpdepfile" > "$depfile"
-  sed '
-    s/[ '"$tab"'][ '"$tab"']*/ /g
-    s/^ *//
-    s/ *\\*$//
-    s/^[^:]*: *//
-    /^$/d
-    /:$/d
-    s/$/ :/
-  ' < "$tmpdepfile" >> "$depfile"
+  # `$object: dependent.h' and one to simply `dependent.h:'.
+  sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile"
+  # Some versions of the HPUX 10.20 sed can't process this invocation
+  # correctly.  Breaking it into two sed invocations is a workaround.
+  sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" \
+    | sed -e 's/$/ :/' >> "$depfile"
   rm -f "$tmpdepfile"
   ;;
 
@@ -342,9 +439,8 @@ hp2)
   # 'foo.d', which lands next to the object file, wherever that
   # happens to be.
   # Much of this is similar to the tru64 case; see comments there.
-  dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
-  test "x$dir" = "x$object" && dir=
-  base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
+  set_dir_from  "$object"
+  set_base_from "$object"
   if test "$libtool" = yes; then
     tmpdepfile1=$dir$base.d
     tmpdepfile2=$dir.libs/$base.d
@@ -355,8 +451,7 @@ hp2)
     "$@" +Maked
   fi
   stat=$?
-  if test $stat -eq 0; then :
-  else
+  if test $stat -ne 0; then
      rm -f "$tmpdepfile1" "$tmpdepfile2"
      exit $stat
   fi
@@ -366,76 +461,61 @@ hp2)
     test -f "$tmpdepfile" && break
   done
   if test -f "$tmpdepfile"; then
-    sed -e "s,^.*\.[a-z]*:,$object:," "$tmpdepfile" > "$depfile"
+    sed -e "s,^.*\.[$lower]*:,$object:," "$tmpdepfile" > "$depfile"
     # Add 'dependent.h:' lines.
     sed -ne '2,${
-              s/^ *//
-              s/ \\*$//
-              s/$/:/
-              p
-            }' "$tmpdepfile" >> "$depfile"
+               s/^ *//
+               s/ \\*$//
+               s/$/:/
+               p
+             }' "$tmpdepfile" >> "$depfile"
   else
-    echo "#dummy" > "$depfile"
+    make_dummy_depfile
   fi
   rm -f "$tmpdepfile" "$tmpdepfile2"
   ;;
 
 tru64)
-   # The Tru64 compiler uses -MD to generate dependencies as a side
-   # effect.  'cc -MD -o foo.o ...' puts the dependencies into 'foo.o.d'.
-   # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put
-   # dependencies in 'foo.d' instead, so we check for that too.
-   # Subdirectories are respected.
-   dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
-   test "x$dir" = "x$object" && dir=
-   base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
-
-   if test "$libtool" = yes; then
-      # With Tru64 cc, shared objects can also be used to make a
-      # static library.  This mechanism is used in libtool 1.4 series to
-      # handle both shared and static libraries in a single compilation.
-      # With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d.
-      #
-      # With libtool 1.5 this exception was removed, and libtool now
-      # generates 2 separate objects for the 2 libraries.  These two
-      # compilations output dependencies in $dir.libs/$base.o.d and
-      # in $dir$base.o.d.  We have to check for both files, because
-      # one of the two compilations can be disabled.  We should prefer
-      # $dir$base.o.d over $dir.libs/$base.o.d because the latter is
-      # automatically cleaned when .libs/ is deleted, while ignoring
-      # the former would cause a distcleancheck panic.
-      tmpdepfile1=$dir.libs/$base.lo.d   # libtool 1.4
-      tmpdepfile2=$dir$base.o.d          # libtool 1.5
-      tmpdepfile3=$dir.libs/$base.o.d    # libtool 1.5
-      tmpdepfile4=$dir.libs/$base.d      # Compaq CCC V6.2-504
-      "$@" -Wc,-MD
-   else
-      tmpdepfile1=$dir$base.o.d
-      tmpdepfile2=$dir$base.d
-      tmpdepfile3=$dir$base.d
-      tmpdepfile4=$dir$base.d
-      "$@" -MD
-   fi
-
-   stat=$?
-   if test $stat -eq 0; then :
-   else
-      rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
-      exit $stat
-   fi
-
-   for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
-   do
-     test -f "$tmpdepfile" && break
-   done
-   if test -f "$tmpdepfile"; then
-      sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
-      sed -e 's,^.*\.[a-z]*:['"$tab"' ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
-   else
-      echo "#dummy" > "$depfile"
-   fi
-   rm -f "$tmpdepfile"
-   ;;
+  # The Tru64 compiler uses -MD to generate dependencies as a side
+  # effect.  'cc -MD -o foo.o ...' puts the dependencies into 'foo.o.d'.
+  # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put
+  # dependencies in 'foo.d' instead, so we check for that too.
+  # Subdirectories are respected.
+  set_dir_from  "$object"
+  set_base_from "$object"
+
+  if test "$libtool" = yes; then
+    # Libtool generates 2 separate objects for the 2 libraries.  These
+    # two compilations output dependencies in $dir.libs/$base.o.d and
+    # in $dir$base.o.d.  We have to check for both files, because
+    # one of the two compilations can be disabled.  We should prefer
+    # $dir$base.o.d over $dir.libs/$base.o.d because the latter is
+    # automatically cleaned when .libs/ is deleted, while ignoring
+    # the former would cause a distcleancheck panic.
+    tmpdepfile1=$dir$base.o.d          # libtool 1.5
+    tmpdepfile2=$dir.libs/$base.o.d    # Likewise.
+    tmpdepfile3=$dir.libs/$base.d      # Compaq CCC V6.2-504
+    "$@" -Wc,-MD
+  else
+    tmpdepfile1=$dir$base.d
+    tmpdepfile2=$dir$base.d
+    tmpdepfile3=$dir$base.d
+    "$@" -MD
+  fi
+
+  stat=$?
+  if test $stat -ne 0; then
+    rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
+    exit $stat
+  fi
+
+  for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
+  do
+    test -f "$tmpdepfile" && break
+  done
+  # Same post-processing that is required for AIX mode.
+  aix_post_process_depfile
+  ;;
 
 msvc7)
   if test "$libtool" = yes; then
@@ -446,8 +526,7 @@ msvc7)
   "$@" $showIncludes > "$tmpdepfile"
   stat=$?
   grep -v '^Note: including file: ' "$tmpdepfile"
-  if test "$stat" = 0; then :
-  else
+  if test $stat -ne 0; then
     rm -f "$tmpdepfile"
     exit $stat
   fi
@@ -473,6 +552,7 @@ $ {
   G
   p
 }' >> "$depfile"
+  echo >> "$depfile" # make sure the fragment doesn't end with a backslash
   rm -f "$tmpdepfile"
   ;;
 
@@ -524,13 +604,14 @@ dashmstdout)
   # in the target name.  This is to cope with DOS-style filenames:
   # a dependency such as 'c:/foo/bar' could be seen as target 'c' otherwise.
   "$@" $dashmflag |
-    sed 's:^['"$tab"' ]*[^:'"$tab"' ][^:][^:]*\:['"$tab"' ]*:'"$object"'\: :' > "$tmpdepfile"
+    sed "s|^[$tab ]*[^:$tab ][^:][^:]*:[$tab ]*|$object: |" > "$tmpdepfile"
   rm -f "$depfile"
   cat < "$tmpdepfile" > "$depfile"
-  tr ' ' "$nl" < "$tmpdepfile" | \
-## Some versions of the HPUX 10.20 sed can't process this invocation
-## correctly.  Breaking it into two sed invocations is a workaround.
-    sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
+  # Some versions of the HPUX 10.20 sed can't process this sed invocation
+  # correctly.  Breaking it into two sed invocations is a workaround.
+  tr ' ' "$nl" < "$tmpdepfile" \
+    | sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' \
+    | sed -e 's/$/ :/' >> "$depfile"
   rm -f "$tmpdepfile"
   ;;
 
@@ -583,10 +664,12 @@ makedepend)
   # makedepend may prepend the VPATH from the source file name to the object.
   # No need to regex-escape $object, excess matching of '.' is harmless.
   sed "s|^.*\($object *:\)|\1|" "$tmpdepfile" > "$depfile"
-  sed '1,2d' "$tmpdepfile" | tr ' ' "$nl" | \
-## Some versions of the HPUX 10.20 sed can't process this invocation
-## correctly.  Breaking it into two sed invocations is a workaround.
-    sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
+  # Some versions of the HPUX 10.20 sed can't process the last invocation
+  # correctly.  Breaking it into two sed invocations is a workaround.
+  sed '1,2d' "$tmpdepfile" \
+    | tr ' ' "$nl" \
+    | sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' \
+    | sed -e 's/$/ :/' >> "$depfile"
   rm -f "$tmpdepfile" "$tmpdepfile".bak
   ;;
 
@@ -622,10 +705,10 @@ cpp)
     esac
   done
 
-  "$@" -E |
-    sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
-       -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' |
-    sed '$ s: \\$::' > "$tmpdepfile"
+  "$@" -E \
+    sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
+             -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
+    sed '$ s: \\$::' > "$tmpdepfile"
   rm -f "$depfile"
   echo "$object : \\" > "$depfile"
   cat < "$tmpdepfile" >> "$depfile"
@@ -657,15 +740,15 @@ msvisualcpp)
       shift
       ;;
     "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI")
-       set fnord "$@"
-       shift
-       shift
-       ;;
+        set fnord "$@"
+        shift
+        shift
+        ;;
     *)
-       set fnord "$@" "$arg"
-       shift
-       shift
-       ;;
+        set fnord "$@" "$arg"
+        shift
+        shift
+        ;;
     esac
   done
   "$@" -E 2>/dev/null |
index a9244eb..377bb86 100755 (executable)
@@ -1,7 +1,7 @@
 #!/bin/sh
 # install - install a program, script, or datafile
 
-scriptversion=2011-01-19.21; # UTC
+scriptversion=2011-11-20.07; # UTC
 
 # This originates from X11R5 (mit/util/scripts/install.sh), which was
 # later released in X11R6 (xc/config/util/install.sh) with the
@@ -35,7 +35,7 @@ scriptversion=2011-01-19.21; # UTC
 # FSF changes to this file are in the public domain.
 #
 # Calling this script install-sh is preferred over install.sh, to prevent
-# `make' implicit rules from creating a file called install from it
+# 'make' implicit rules from creating a file called install from it
 # when there is no Makefile.
 #
 # This script is compatible with the BSD install script, but was written
@@ -156,7 +156,7 @@ while test $# -ne 0; do
     -s) stripcmd=$stripprog;;
 
     -t) dst_arg=$2
-       # Protect names problematic for `test' and other utilities.
+       # Protect names problematic for 'test' and other utilities.
        case $dst_arg in
          -* | [=\(\)!]) dst_arg=./$dst_arg;;
        esac
@@ -190,7 +190,7 @@ if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then
     fi
     shift # arg
     dst_arg=$arg
-    # Protect names problematic for `test' and other utilities.
+    # Protect names problematic for 'test' and other utilities.
     case $dst_arg in
       -* | [=\(\)!]) dst_arg=./$dst_arg;;
     esac
@@ -202,7 +202,7 @@ if test $# -eq 0; then
     echo "$0: no input file specified." >&2
     exit 1
   fi
-  # It's OK to call `install-sh -d' without argument.
+  # It's OK to call 'install-sh -d' without argument.
   # This can happen when creating conditional directories.
   exit 0
 fi
@@ -240,7 +240,7 @@ fi
 
 for src
 do
-  # Protect names problematic for `test' and other utilities.
+  # Protect names problematic for 'test' and other utilities.
   case $src in
     -* | [=\(\)!]) src=./$src;;
   esac
@@ -354,7 +354,7 @@ do
              if test -z "$dir_arg" || {
                   # Check for POSIX incompatibilities with -m.
                   # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
-                  # other-writeable bit of parent directory when it shouldn't.
+                  # other-writable bit of parent directory when it shouldn't.
                   # FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
                   ls_ld_tmpdir=`ls -ld "$tmpdir"`
                   case $ls_ld_tmpdir in
diff --git a/missing b/missing
index 86a8fc3..db98974 100755 (executable)
--- a/missing
+++ b/missing
@@ -1,11 +1,10 @@
 #! /bin/sh
-# Common stub for a few missing GNU programs while installing.
+# Common wrapper for a few potentially missing GNU programs.
 
-scriptversion=2012-01-06.13; # UTC
+scriptversion=2013-10-28.13; # UTC
 
-# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006,
-# 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
-# Originally by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
+# Copyright (C) 1996-2013 Free Software Foundation, Inc.
+# Originally written by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
 
 # 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
@@ -26,68 +25,40 @@ scriptversion=2012-01-06.13; # UTC
 # the same distribution terms that you use for the rest of that program.
 
 if test $# -eq 0; then
-  echo 1>&2 "Try \`$0 --help' for more information"
+  echo 1>&2 "Try '$0 --help' for more information"
   exit 1
 fi
 
-run=:
-sed_output='s/.* --output[ =]\([^ ]*\).*/\1/p'
-sed_minuso='s/.* -o \([^ ]*\).*/\1/p'
-
-# In the cases where this matters, `missing' is being run in the
-# srcdir already.
-if test -f configure.ac; then
-  configure_ac=configure.ac
-else
-  configure_ac=configure.in
-fi
+case $1 in
 
-msg="missing on your system"
+  --is-lightweight)
+    # Used by our autoconf macros to check whether the available missing
+    # script is modern enough.
+    exit 0
+    ;;
 
-case $1 in
---run)
-  # Try to run requested program, and just exit if it succeeds.
-  run=
-  shift
-  "$@" && exit 0
-  # Exit code 63 means version mismatch.  This often happens
-  # when the user try to use an ancient version of a tool on
-  # a file that requires a minimum version.  In this case we
-  # we should proceed has if the program had been absent, or
-  # if --run hadn't been passed.
-  if test $? = 63; then
-    run=:
-    msg="probably too old"
-  fi
-  ;;
+  --run)
+    # Back-compat with the calling convention used by older automake.
+    shift
+    ;;
 
   -h|--h|--he|--hel|--help)
     echo "\
 $0 [OPTION]... PROGRAM [ARGUMENT]...
 
-Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an
-error status if there is no known handling for PROGRAM.
+Run 'PROGRAM [ARGUMENT]...', returning a proper advice when this fails due
+to PROGRAM being missing or too old.
 
 Options:
   -h, --help      display this help and exit
   -v, --version   output version information and exit
-  --run           try to run the given command, and emulate it if it fails
 
 Supported PROGRAM values:
-  aclocal      touch file \`aclocal.m4'
-  autoconf     touch file \`configure'
-  autoheader   touch file \`config.h.in'
-  autom4te     touch the output file, or create a stub one
-  automake     touch all \`Makefile.in' files
-  bison        create \`y.tab.[ch]', if possible, from existing .[ch]
-  flex         create \`lex.yy.c', if possible, from existing .c
-  help2man     touch the output file
-  lex          create \`lex.yy.c', if possible, from existing .c
-  makeinfo     touch the output file
-  yacc         create \`y.tab.[ch]', if possible, from existing .[ch]
+  aclocal   autoconf  autoheader   autom4te  automake  makeinfo
+  bison     yacc      flex         lex       help2man
 
-Version suffixes to PROGRAM as well as the prefixes \`gnu-', \`gnu', and
-\`g' are ignored when checking the name.
+Version suffixes to PROGRAM as well as the prefixes 'gnu-', 'gnu', and
+'g' are ignored when checking the name.
 
 Send bug reports to <bug-automake@gnu.org>."
     exit $?
@@ -99,228 +70,141 @@ Send bug reports to <bug-automake@gnu.org>."
     ;;
 
   -*)
-    echo 1>&2 "$0: Unknown \`$1' option"
-    echo 1>&2 "Try \`$0 --help' for more information"
+    echo 1>&2 "$0: unknown '$1' option"
+    echo 1>&2 "Try '$0 --help' for more information"
     exit 1
     ;;
 
 esac
 
-# normalize program name to check for.
-program=`echo "$1" | sed '
-  s/^gnu-//; t
-  s/^gnu//; t
-  s/^g//; t'`
-
-# Now exit if we have it, but it failed.  Also exit now if we
-# don't have it and --version was passed (most likely to detect
-# the program).  This is about non-GNU programs, so use $1 not
-# $program.
-case $1 in
-  lex*|yacc*)
-    # Not GNU programs, they don't have --version.
-    ;;
-
-  *)
-    if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
-       # We have it, but it failed.
-       exit 1
-    elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
-       # Could not run --version or --help.  This is probably someone
-       # running `$TOOL --version' or `$TOOL --help' to check whether
-       # $TOOL exists and not knowing $TOOL uses missing.
-       exit 1
-    fi
-    ;;
-esac
-
-# If it does not exist, or fails to run (possibly an outdated version),
-# try to emulate it.
-case $program in
-  aclocal*)
-    echo 1>&2 "\
-WARNING: \`$1' is $msg.  You should only need it if
-         you modified \`acinclude.m4' or \`${configure_ac}'.  You might want
-         to install the \`Automake' and \`Perl' packages.  Grab them from
-         any GNU archive site."
-    touch aclocal.m4
-    ;;
-
-  autoconf*)
-    echo 1>&2 "\
-WARNING: \`$1' is $msg.  You should only need it if
-         you modified \`${configure_ac}'.  You might want to install the
-         \`Autoconf' and \`GNU m4' packages.  Grab them from any GNU
-         archive site."
-    touch configure
-    ;;
-
-  autoheader*)
-    echo 1>&2 "\
-WARNING: \`$1' is $msg.  You should only need it if
-         you modified \`acconfig.h' or \`${configure_ac}'.  You might want
-         to install the \`Autoconf' and \`GNU m4' packages.  Grab them
-         from any GNU archive site."
-    files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}`
-    test -z "$files" && files="config.h"
-    touch_files=
-    for f in $files; do
-      case $f in
-      *:*) touch_files="$touch_files "`echo "$f" |
-                                      sed -e 's/^[^:]*://' -e 's/:.*//'`;;
-      *) touch_files="$touch_files $f.in";;
-      esac
-    done
-    touch $touch_files
-    ;;
-
-  automake*)
-    echo 1>&2 "\
-WARNING: \`$1' is $msg.  You should only need it if
-         you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'.
-         You might want to install the \`Automake' and \`Perl' packages.
-         Grab them from any GNU archive site."
-    find . -type f -name Makefile.am -print |
-          sed 's/\.am$/.in/' |
-          while read f; do touch "$f"; done
-    ;;
-
-  autom4te*)
-    echo 1>&2 "\
-WARNING: \`$1' is needed, but is $msg.
-         You might have modified some files without having the
-         proper tools for further handling them.
-         You can get \`$1' as part of \`Autoconf' from any GNU
-         archive site."
-
-    file=`echo "$*" | sed -n "$sed_output"`
-    test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
-    if test -f "$file"; then
-       touch $file
-    else
-       test -z "$file" || exec >$file
-       echo "#! /bin/sh"
-       echo "# Created by GNU Automake missing as a replacement of"
-       echo "#  $ $@"
-       echo "exit 0"
-       chmod +x $file
-       exit 1
-    fi
-    ;;
-
-  bison*|yacc*)
-    echo 1>&2 "\
-WARNING: \`$1' $msg.  You should only need it if
-         you modified a \`.y' file.  You may need the \`Bison' package
-         in order for those modifications to take effect.  You can get
-         \`Bison' from any GNU archive site."
-    rm -f y.tab.c y.tab.h
-    if test $# -ne 1; then
-        eval LASTARG=\${$#}
-       case $LASTARG in
-       *.y)
-           SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
-           if test -f "$SRCFILE"; then
-                cp "$SRCFILE" y.tab.c
-           fi
-           SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'`
-           if test -f "$SRCFILE"; then
-                cp "$SRCFILE" y.tab.h
-           fi
-         ;;
-       esac
-    fi
-    if test ! -f y.tab.h; then
-       echo >y.tab.h
-    fi
-    if test ! -f y.tab.c; then
-       echo 'main() { return 0; }' >y.tab.c
-    fi
-    ;;
-
-  lex*|flex*)
-    echo 1>&2 "\
-WARNING: \`$1' is $msg.  You should only need it if
-         you modified a \`.l' file.  You may need the \`Flex' package
-         in order for those modifications to take effect.  You can get
-         \`Flex' from any GNU archive site."
-    rm -f lex.yy.c
-    if test $# -ne 1; then
-        eval LASTARG=\${$#}
-       case $LASTARG in
-       *.l)
-           SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
-           if test -f "$SRCFILE"; then
-                cp "$SRCFILE" lex.yy.c
-           fi
-         ;;
-       esac
-    fi
-    if test ! -f lex.yy.c; then
-       echo 'main() { return 0; }' >lex.yy.c
-    fi
-    ;;
-
-  help2man*)
-    echo 1>&2 "\
-WARNING: \`$1' is $msg.  You should only need it if
-        you modified a dependency of a manual page.  You may need the
-        \`Help2man' package in order for those modifications to take
-        effect.  You can get \`Help2man' from any GNU archive site."
-
-    file=`echo "$*" | sed -n "$sed_output"`
-    test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
-    if test -f "$file"; then
-       touch $file
-    else
-       test -z "$file" || exec >$file
-       echo ".ab help2man is required to generate this page"
-       exit $?
-    fi
-    ;;
-
-  makeinfo*)
-    echo 1>&2 "\
-WARNING: \`$1' is $msg.  You should only need it if
-         you modified a \`.texi' or \`.texinfo' file, or any other file
-         indirectly affecting the aspect of the manual.  The spurious
-         call might also be the consequence of using a buggy \`make' (AIX,
-         DU, IRIX).  You might want to install the \`Texinfo' package or
-         the \`GNU make' package.  Grab either from any GNU archive site."
-    # The file to touch is that specified with -o ...
-    file=`echo "$*" | sed -n "$sed_output"`
-    test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
-    if test -z "$file"; then
-      # ... or it is the one specified with @setfilename ...
-      infile=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
-      file=`sed -n '
-       /^@setfilename/{
-         s/.* \([^ ]*\) *$/\1/
-         p
-         q
-       }' $infile`
-      # ... or it is derived from the source name (dir/f.texi becomes f.info)
-      test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info
-    fi
-    # If the file does not exist, the user really needs makeinfo;
-    # let's fail without touching anything.
-    test -f $file || exit 1
-    touch $file
-    ;;
+# Run the given program, remember its exit status.
+"$@"; st=$?
+
+# If it succeeded, we are done.
+test $st -eq 0 && exit 0
+
+# Also exit now if we it failed (or wasn't found), and '--version' was
+# passed; such an option is passed most likely to detect whether the
+# program is present and works.
+case $2 in --version|--help) exit $st;; esac
+
+# Exit code 63 means version mismatch.  This often happens when the user
+# tries to use an ancient version of a tool on a file that requires a
+# minimum version.
+if test $st -eq 63; then
+  msg="probably too old"
+elif test $st -eq 127; then
+  # Program was missing.
+  msg="missing on your system"
+else
+  # Program was found and executed, but failed.  Give up.
+  exit $st
+fi
 
-  *)
-    echo 1>&2 "\
-WARNING: \`$1' is needed, and is $msg.
-         You might have modified some files without having the
-         proper tools for further handling them.  Check the \`README' file,
-         it often tells you about the needed prerequisites for installing
-         this package.  You may also peek at any GNU archive site, in case
-         some other package would contain this missing \`$1' program."
-    exit 1
+perl_URL=http://www.perl.org/
+flex_URL=http://flex.sourceforge.net/
+gnu_software_URL=http://www.gnu.org/software
+
+program_details ()
+{
+  case $1 in
+    aclocal|automake)
+      echo "The '$1' program is part of the GNU Automake package:"
+      echo "<$gnu_software_URL/automake>"
+      echo "It also requires GNU Autoconf, GNU m4 and Perl in order to run:"
+      echo "<$gnu_software_URL/autoconf>"
+      echo "<$gnu_software_URL/m4/>"
+      echo "<$perl_URL>"
+      ;;
+    autoconf|autom4te|autoheader)
+      echo "The '$1' program is part of the GNU Autoconf package:"
+      echo "<$gnu_software_URL/autoconf/>"
+      echo "It also requires GNU m4 and Perl in order to run:"
+      echo "<$gnu_software_URL/m4/>"
+      echo "<$perl_URL>"
+      ;;
+  esac
+}
+
+give_advice ()
+{
+  # Normalize program name to check for.
+  normalized_program=`echo "$1" | sed '
+    s/^gnu-//; t
+    s/^gnu//; t
+    s/^g//; t'`
+
+  printf '%s\n' "'$1' is $msg."
+
+  configure_deps="'configure.ac' or m4 files included by 'configure.ac'"
+  case $normalized_program in
+    autoconf*)
+      echo "You should only need it if you modified 'configure.ac',"
+      echo "or m4 files included by it."
+      program_details 'autoconf'
+      ;;
+    autoheader*)
+      echo "You should only need it if you modified 'acconfig.h' or"
+      echo "$configure_deps."
+      program_details 'autoheader'
+      ;;
+    automake*)
+      echo "You should only need it if you modified 'Makefile.am' or"
+      echo "$configure_deps."
+      program_details 'automake'
+      ;;
+    aclocal*)
+      echo "You should only need it if you modified 'acinclude.m4' or"
+      echo "$configure_deps."
+      program_details 'aclocal'
+      ;;
+   autom4te*)
+      echo "You might have modified some maintainer files that require"
+      echo "the 'autom4te' program to be rebuilt."
+      program_details 'autom4te'
+      ;;
+    bison*|yacc*)
+      echo "You should only need it if you modified a '.y' file."
+      echo "You may want to install the GNU Bison package:"
+      echo "<$gnu_software_URL/bison/>"
+      ;;
+    lex*|flex*)
+      echo "You should only need it if you modified a '.l' file."
+      echo "You may want to install the Fast Lexical Analyzer package:"
+      echo "<$flex_URL>"
+      ;;
+    help2man*)
+      echo "You should only need it if you modified a dependency" \
+           "of a man page."
+      echo "You may want to install the GNU Help2man package:"
+      echo "<$gnu_software_URL/help2man/>"
     ;;
-esac
-
-exit 0
+    makeinfo*)
+      echo "You should only need it if you modified a '.texi' file, or"
+      echo "any other file indirectly affecting the aspect of the manual."
+      echo "You might want to install the Texinfo package:"
+      echo "<$gnu_software_URL/texinfo/>"
+      echo "The spurious makeinfo call might also be the consequence of"
+      echo "using a buggy 'make' (AIX, DU, IRIX), in which case you might"
+      echo "want to install GNU make:"
+      echo "<$gnu_software_URL/make/>"
+      ;;
+    *)
+      echo "You might have modified some files without having the proper"
+      echo "tools for further handling them.  Check the 'README' file, it"
+      echo "often tells you about the needed prerequisites for installing"
+      echo "this package.  You may also peek at any GNU archive site, in"
+      echo "case some other package contains this missing '$1' program."
+      ;;
+  esac
+}
+
+give_advice "$1" | sed -e '1s/^/WARNING: /' \
+                       -e '2,$s/^/         /' >&2
+
+# Propagate the correct exit status (expected to be 127 for a program
+# not found, 63 for a program that failed due to version mismatch).
+exit $st
 
 # Local variables:
 # eval: (add-hook 'write-file-hooks 'time-stamp)
index c31a07d..2cd94be 100644 (file)
--- a/po/bg.po
+++ b/po/bg.po
@@ -7,7 +7,7 @@ msgstr ""
 "Project-Id-Version: pcmanfm\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2014-01-22 00:33+0200\n"
-"PO-Revision-Date: 2014-02-14 15:49+0000\n"
+"PO-Revision-Date: 2014-04-27 22:04+0000\n"
 "Last-Translator: Радослав <reckku@gmail.com>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
 "Language: bg\n"
@@ -16,7 +16,7 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 "X-Generator: Pootle 2.5.0\n"
-"X-POOTLE-MTIME: 1392392982.0\n"
+"X-POOTLE-MTIME: 1398636269.0\n"
 
 #: ../data/ui/about.glade.in.h:1
 msgid "Copyright (C) 2009 - 2014"
@@ -107,16 +107,17 @@ msgstr "Показва_й изскачащи менюта, когато е ак
 #: ../data/ui/desktop-pref.glade.h:20
 msgid "_Use desktop as a folder (show icons on it) by path:"
 msgstr ""
+"Из_ползвай работния плот като посочена папка (показват се иконите в нея):"
 
 #: ../data/ui/desktop-pref.glade.h:21 ../data/ui/pref.glade.h:84
 msgctxt "Use path for some folder: ..."
 msgid "Default"
-msgstr ""
+msgstr "По подразбиране"
 
 #: ../data/ui/desktop-pref.glade.h:22 ../data/ui/pref.glade.h:85
 msgctxt "Use path for some folder: ..."
 msgid "Custom:"
-msgstr ""
+msgstr "По избор:"
 
 #: ../data/ui/desktop-pref.glade.h:23
 #, fuzzy
@@ -148,7 +149,7 @@ msgstr "Разширяване до ръба на екрана"
 
 #: ../data/ui/desktop-pref.glade.h:29
 msgid "Center unscaled image on the monitor"
-msgstr ""
+msgstr "Центриране на незапълващо монитора изображение"
 
 #: ../data/ui/desktop-pref.glade.h:30
 #, fuzzy
@@ -229,6 +230,7 @@ msgstr "_Действие при пускане:"
 #: ../data/ui/pref.glade.h:15
 msgid "\"_Smart shortcut\" auto-action on drop to Desktop folder"
 msgstr ""
+"Автоматично действие „_Умен пряк път“ при пускане в папка на Работния плот"
 
 #: ../data/ui/pref.glade.h:16
 msgid ""
@@ -238,6 +240,12 @@ msgid ""
 "- other files (e.g. on removable media) will be copied\n"
 "- for some external URI a shortcut will be created"
 msgstr ""
+"Ако е активирано тогава „Автоматично“ действие при пускане на файл върху "
+"папка на Работния плот ще се отнася за:\n"
+"- директно създаване на символни връзки за файлове от Домашна папка\n"
+"- преместване на файлове от същата файлова система\n"
+"- копиране на други файлове (например, периферни устройства)\n"
+"- създаване на пряк път за външни Интернет адреси"
 
 #: ../data/ui/pref.glade.h:21
 msgid "_Unfold tab when files are dragged onto tab button"
@@ -246,7 +254,7 @@ msgstr ""
 
 #: ../data/ui/pref.glade.h:22
 msgid "_Focus previous folder after coming to its parent"
-msgstr ""
+msgstr "Ф_окусиране на родителската папка при връщане към нея"
 
 #: ../data/ui/pref.glade.h:23
 msgid "<b>Default View</b>"
@@ -371,7 +379,7 @@ msgstr "П_риложения"
 
 #: ../data/ui/pref.glade.h:53 ../src/main-win-ui.c:239
 msgid "Dev_ices"
-msgstr ""
+msgstr "Устро_йства"
 
 #: ../data/ui/pref.glade.h:54
 #, fuzzy
@@ -430,7 +438,7 @@ msgstr ""
 
 #: ../data/ui/pref.glade.h:65
 msgid "Change folder in the tab to _Home Folder"
-msgstr ""
+msgstr "Смяна на папката в подопрозореца като _Домашна папка"
 
 #: ../data/ui/pref.glade.h:66
 msgid "_Volume Management"
@@ -507,11 +515,11 @@ msgstr "От_лагане на тест за вид на съдържаниет
 
 #: ../data/ui/pref.glade.h:83
 msgid "Use path for \"Home Folder\" button:"
-msgstr ""
+msgstr "Използване на път за бутона „Домашна папка“:"
 
 #: ../data/ui/pref.glade.h:86
 msgid "_Use current"
-msgstr ""
+msgstr "И_зползване на настоящите"
 
 #: ../data/ui/pref.glade.h:87
 msgid "_Advanced"
index 131fd51..4b1cbe0 100644 (file)
--- a/po/cs.po
+++ b/po/cs.po
@@ -7,20 +7,20 @@ msgstr ""
 "Project-Id-Version: pcmanfm2\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2014-01-22 00:33+0200\n"
-"PO-Revision-Date: 2012-10-26 10:31+0100\n"
-"Last-Translator: Alois Nešpor <info@aloisnespor.info>\n"
+"PO-Revision-Date: 2014-05-21 21:30+0000\n"
+"Last-Translator: Jan <jhelebrant@seznam.cz>\n"
 "Language-Team: Czech <radek@fastlinux.eu>\n"
 "Language: cs\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
-"X-Generator: Pootle 2.0.5\n"
+"X-Generator: Pootle 2.5.0\n"
+"X-POOTLE-MTIME: 1400707823.0\n"
 
 #: ../data/ui/about.glade.in.h:1
-#, fuzzy
 msgid "Copyright (C) 2009 - 2014"
-msgstr "Copyright (C) 2009 - 2013"
+msgstr "Copyright (C) 2009 - 2014"
 
 #. Please replace this line with your own names, one name per line.
 #: ../data/ui/about.glade.in.h:3
@@ -28,7 +28,8 @@ msgid "translator-credits"
 msgstr ""
 "Radek Tříška\n"
 "Michal Várady\n"
-"Alois Nešpor"
+"Alois Nešpor\n"
+"Jan Helebrant"
 
 #: ../data/ui/desktop-pref.glade.h:1 ../src/desktop-ui.c:34
 #: ../data/pcmanfm-desktop-pref.desktop.in.h:1
@@ -84,24 +85,20 @@ msgid "<b>Show desktop icons</b>"
 msgstr "<b>Zobrazit ikony na ploše</b>"
 
 #: ../data/ui/desktop-pref.glade.h:14
-#, fuzzy
 msgid "_Show \"Documents\" folder on the desktop"
 msgstr "_Zobrazit ikonu \"Dokumenty\" na ploše"
 
 #: ../data/ui/desktop-pref.glade.h:15
-#, fuzzy
 msgid "Sho_w \"Devices\" folder on the desktop"
-msgstr "_Zobrazit ikonu \"Dokumenty\" na ploše"
+msgstr "Zo_brazit ikonu \"Dokumenty\" na ploše"
 
 #: ../data/ui/desktop-pref.glade.h:16
-#, fuzzy
 msgid "Show \"_Trash Can\" folder on the desktop"
 msgstr "Zobrazit ikonu \"_Koš\" na ploše"
 
 #: ../data/ui/desktop-pref.glade.h:17
-#, fuzzy
 msgid "S_how connected volumes on the desktop"
-msgstr "Z_obraz ikony svazků na ploše"
+msgstr "Zobrazovat připojené svazky na ploše"
 
 #: ../data/ui/desktop-pref.glade.h:18
 msgid "_Desktop Icons"
@@ -113,27 +110,25 @@ msgstr "_Zobrazit menu poskytované okenním managerem při kliknutí na plochu"
 
 #: ../data/ui/desktop-pref.glade.h:20
 msgid "_Use desktop as a folder (show icons on it) by path:"
-msgstr ""
+msgstr "_Použít plochu jako složku (zobrazit na ní ikony) podle cesty:"
 
 #: ../data/ui/desktop-pref.glade.h:21 ../data/ui/pref.glade.h:84
 msgctxt "Use path for some folder: ..."
 msgid "Default"
-msgstr ""
+msgstr "Výchozí"
 
 #: ../data/ui/desktop-pref.glade.h:22 ../data/ui/pref.glade.h:85
 msgctxt "Use path for some folder: ..."
 msgid "Custom:"
-msgstr ""
+msgstr "Vlastní:"
 
 #: ../data/ui/desktop-pref.glade.h:23
-#, fuzzy
 msgid "Select a Desktop Folder"
-msgstr "Složka plochy"
+msgstr "Vyberte složku plochy"
 
 #: ../data/ui/desktop-pref.glade.h:24
-#, fuzzy
 msgid "_Open folders from desktop in new window"
-msgstr "Otevřít v novém okně"
+msgstr "_Otevřít složky z plochy v novém okně"
 
 #: ../data/ui/desktop-pref.glade.h:25
 msgid "Ad_vanced"
@@ -144,48 +139,40 @@ msgid "Fill with background color only"
 msgstr "Vyplnit pouze barvou pozadí"
 
 #: ../data/ui/desktop-pref.glade.h:27
-#, fuzzy
 msgid "Stretch to fill the entire monitor area"
 msgstr "Roztáhnout na celou obrazovku"
 
 #: ../data/ui/desktop-pref.glade.h:28
-#, fuzzy
 msgid "Stretch to fit the monitor area"
 msgstr "Přizpůsobit obrazovce"
 
 #: ../data/ui/desktop-pref.glade.h:29
 msgid "Center unscaled image on the monitor"
-msgstr ""
+msgstr "Vystředit obrázek na monitor bez změny velikosti"
 
 #: ../data/ui/desktop-pref.glade.h:30
-#, fuzzy
 msgid "Tile the image to fill the entire monitor area"
 msgstr "Vydlaždicovat na celou obrazovku"
 
 #: ../data/ui/desktop-pref.glade.h:31
-#, fuzzy
 msgid "Stretch and crop to fill the monitor area"
-msgstr "Roztáhnout na celou obrazovku"
+msgstr "Roztáhnout a oříznout na celou obrazovku"
 
 #: ../data/ui/desktop-pref.glade.h:32
-#, fuzzy
 msgid "Stretch to fill the complete screen"
 msgstr "Roztáhnout na celou obrazovku"
 
 #: ../data/ui/pref.glade.h:1
-#, fuzzy
 msgid "Open in current tab"
 msgstr "Otevřít v současné kartě"
 
 #: ../data/ui/pref.glade.h:2
-#, fuzzy
 msgid "Open in new tab"
 msgstr "Otevřít v nové kart_ě"
 
 #: ../data/ui/pref.glade.h:3
-#, fuzzy
 msgid "Open in new window"
-msgstr "Otevřít nové okno"
+msgstr "Otevřít v novém okně"
 
 #: ../data/ui/pref.glade.h:4
 msgid "Preferences"
@@ -205,26 +192,23 @@ msgstr "Prodleva automatického výběru v režimu 1 kliknutí (0 vypne)"
 
 #: ../data/ui/pref.glade.h:8
 msgid "Co_nfirm before deleting files"
-msgstr "Po_tvrzovat mazání souborů"
+msgstr "_Přesouvat smazané soubory do \"Koše\" namísto smazání"
 
 #: ../data/ui/pref.glade.h:9
-#, fuzzy
 msgid "_Move deleted files to \"trash can\" instead of erasing from disk"
 msgstr "_Přesouvat smazané soubory do \"Koše\" namísto smazání"
 
 #: ../data/ui/pref.glade.h:10
-#, fuzzy
 msgid "_Erase files on removable media instead of \"trash can\" creation"
 msgstr "_Smazat soubory na vyměnitelném médiu namísto vytvoření \"Koše\""
 
 #: ../data/ui/pref.glade.h:11
-#, fuzzy
 msgid "Confi_rm before moving files into \"trash can\""
 msgstr "Pot_vrdit před přesunutím souborů do \"Koše\""
 
 #: ../data/ui/pref.glade.h:12
 msgid "Don't ask options on _launch executable file"
-msgstr ""
+msgstr "Neptat se na možnosti při _spuštění spustitelného souboru"
 
 #: ../data/ui/pref.glade.h:13
 msgid "_Bookmarks:"
@@ -236,7 +220,7 @@ msgstr "Výchoz_í akce pro upustění:"
 
 #: ../data/ui/pref.glade.h:15
 msgid "\"_Smart shortcut\" auto-action on drop to Desktop folder"
-msgstr ""
+msgstr "\"_Chytrý zástupce\" auto-akce při puštění do složky Plocha"
 
 #: ../data/ui/pref.glade.h:16
 msgid ""
@@ -246,6 +230,12 @@ msgid ""
 "- other files (e.g. on removable media) will be copied\n"
 "- for some external URI a shortcut will be created"
 msgstr ""
+"Pokud je zapnuto tak \\\"Auto\\\" akce po upuštění souboru na složku Plochy "
+"bude:\n"
+"- pro soubory přímo v domovské složce se vytvoří symlink\n"
+"- soubory ve stejném souborovém systému budou přesunuty\n"
+"- ostatní soubory (např. na přenosných médiích) budou zkopírovány\n"
+"- pro některá externí URI se vytvoří zástupce"
 
 #: ../data/ui/pref.glade.h:21
 msgid "_Unfold tab when files are dragged onto tab button"
@@ -253,7 +243,7 @@ msgstr "_Rozvinout karty, pokud jsou soubory přetáhnuty do tlačítka karty"
 
 #: ../data/ui/pref.glade.h:22
 msgid "_Focus previous folder after coming to its parent"
-msgstr ""
+msgstr "_Označit předchozí složku po přechodu do její mateřské složky"
 
 #: ../data/ui/pref.glade.h:23
 msgid "<b>Default View</b>"
@@ -317,7 +307,7 @@ msgstr "Vž_dy zobrazovat lištu karet"
 
 #: ../data/ui/pref.glade.h:38
 msgid "Show icons of hidden _files shadowed"
-msgstr ""
+msgstr "Zobrazit ikony skrytých _souborů zašedlé"
 
 #: ../data/ui/pref.glade.h:39
 msgid "_Display"
@@ -333,12 +323,12 @@ msgstr "Vž_dy zobrazovat lištu karet"
 
 #: ../data/ui/pref.glade.h:42
 msgid "_Maximum width of tab label:"
-msgstr ""
+msgstr "_Maximální šířka popisky panelu:"
 
 #. Use genitive case here, context is: width is XXX characters
 #: ../data/ui/pref.glade.h:44
 msgid "characters"
-msgstr ""
+msgstr "znaků"
 
 #: ../data/ui/pref.glade.h:45
 msgid "<b>Directories Tree</b>"
@@ -353,14 +343,12 @@ msgid "<b>Show in Places:</b>"
 msgstr "<b>Zobrazit v Místech:</b>"
 
 #: ../data/ui/pref.glade.h:48
-#, fuzzy
 msgid "_Home Folder"
-msgstr "Domovská složka"
+msgstr "_Domovská složka"
 
 #: ../data/ui/pref.glade.h:49
-#, fuzzy
 msgid "Des_ktop"
-msgstr "_Pracovní plocha"
+msgstr "Pra_covní plocha"
 
 #: ../data/ui/pref.glade.h:50 ../src/main-win-ui.c:236
 msgid "_Trash Can"
@@ -368,7 +356,7 @@ msgstr "_Koš"
 
 #: ../data/ui/pref.glade.h:51
 msgid "_Filesystem Root"
-msgstr ""
+msgstr "_Kořen souborového systému"
 
 #: ../data/ui/pref.glade.h:52
 msgid "App_lications"
@@ -376,12 +364,11 @@ msgstr "Ap_likace"
 
 #: ../data/ui/pref.glade.h:53 ../src/main-win-ui.c:239
 msgid "Dev_ices"
-msgstr ""
+msgstr "Zaří_zení"
 
 #: ../data/ui/pref.glade.h:54
-#, fuzzy
 msgid "_Network"
-msgstr "Síť_ové jednotky"
+msgstr "_Síť"
 
 #: ../data/ui/pref.glade.h:55
 msgid "_Layout"
@@ -404,32 +391,28 @@ msgid "_Show available options for removable media when they are inserted"
 msgstr "_Zobrazit dostupné volby při vložení odpojitelného média"
 
 #: ../data/ui/pref.glade.h:60
-#, fuzzy
 msgid "Do_n't show available options for those media types:"
-msgstr "_Zobrazit dostupné volby při vložení odpojitelného média"
+msgstr "Ne_zobrazovat dostupné volby pro následující typy médií:"
 
 #: ../data/ui/pref.glade.h:61
-#, fuzzy
 msgid "_Remove selected"
-msgstr "%d položka vybrána"
+msgstr "_Odstranit vybrané"
 
 #: ../data/ui/pref.glade.h:62
 msgid "_Open mounted removable media in new tab instead of new window"
 msgstr "_Otevřít připojené připojitelné média v nové kartě namísto v novém okně"
 
 #: ../data/ui/pref.glade.h:63
-#, fuzzy
 msgid "When removable medium unmounted:"
-msgstr "Je vloženo odpojitelné médium"
+msgstr "Když je odpojitelné médium odpojeno:"
 
 #: ../data/ui/pref.glade.h:64
-#, fuzzy
 msgid "Clos_e tab containing removable medium"
-msgstr "Zavř_ít kartu obsahující připojitelné médium při jeho odpojení"
+msgstr "Zavř_ít kartu obsahující připojitelné médium"
 
 #: ../data/ui/pref.glade.h:65
 msgid "Change folder in the tab to _Home Folder"
-msgstr ""
+msgstr "Změnit složku v panelu na složku _Domů"
 
 #: ../data/ui/pref.glade.h:66
 msgid "_Volume Management"
@@ -441,7 +424,7 @@ msgstr "<b>Programy</b>"
 
 #: ../data/ui/pref.glade.h:68
 msgid "<i>Commands below may include extra options if necessary.</i>"
-msgstr ""
+msgstr "<i>Příkazy níže mohou zahrnovat extra možnosti pokud je potřeba.</i>"
 
 #: ../data/ui/pref.glade.h:69
 msgid "_Terminal emulator:"
@@ -454,38 +437,35 @@ msgstr "_Příkaz pro přepnutí uživatele:"
 #. Application command to format some drive
 #: ../data/ui/pref.glade.h:72
 msgid "_Format command:"
-msgstr ""
+msgstr "_Formátovací příkaz:"
 
 #: ../data/ui/pref.glade.h:73
 msgid "A_rchiver integration:"
 msgstr "In_tegrace archivátoru:"
 
 #: ../data/ui/pref.glade.h:74
-#, fuzzy
 msgid "<b>Templates</b>"
-msgstr "<b>Text</b>"
+msgstr "<b>Šablony</b>"
 
 #: ../data/ui/pref.glade.h:75
 msgid "S_how only user defined templates in menu"
-msgstr ""
+msgstr "Z_obrazit pouze uživatelem definované šablony v menu"
 
 #: ../data/ui/pref.glade.h:76
 msgid "Show _only one template for each MIME type"
-msgstr ""
+msgstr "Zobrazit pouze jednu šablonu pro každý MIME typ"
 
 #: ../data/ui/pref.glade.h:77
 msgid "Ru_n default application after creation from template"
-msgstr ""
+msgstr "Spu_stit výchozí aplikaci po vytvoření ze šablony"
 
 #: ../data/ui/pref.glade.h:78
-#, fuzzy
 msgid "<b>Other Options</b>"
-msgstr "<b>Zobrazit ikony na ploše</b>"
+msgstr "<b>Další možnosti</b>"
 
 #: ../data/ui/pref.glade.h:79
-#, fuzzy
 msgid "Use Application Startup Notify _by default"
-msgstr "_Použít Oznamování startu aplikace jako výchozí"
+msgstr "Použít Oznamování startu aplikace _jako výchozí"
 
 # velmi kostrbatý překlad!!!
 #: ../data/ui/pref.glade.h:80
@@ -501,15 +481,15 @@ msgstr ""
 
 #: ../data/ui/pref.glade.h:82
 msgid "D_efer test for content type on folder loading"
-msgstr ""
+msgstr "O_dložit test typu obsahu při načítání složky"
 
 #: ../data/ui/pref.glade.h:83
 msgid "Use path for \"Home Folder\" button:"
-msgstr ""
+msgstr "Použít cestu pro tlačítko \"Domovská složka\":"
 
 #: ../data/ui/pref.glade.h:86
 msgid "_Use current"
-msgstr ""
+msgstr "_Použít aktuální"
 
 #: ../data/ui/pref.glade.h:87
 msgid "_Advanced"
@@ -517,15 +497,15 @@ msgstr "_Rozšířené"
 
 #: ../data/ui/pref.glade.h:88
 msgid "<b>_Do not load modules matching:</b>"
-msgstr ""
+msgstr "<b>_Nenačítat moduly odpovídající:</b>"
 
 #: ../data/ui/pref.glade.h:89
 msgid "<b>_Load these modules anyway:</b>"
-msgstr ""
+msgstr "<b>_Přesto načíst tyto moduly:</b>"
 
 #: ../data/ui/pref.glade.h:90
 msgid "Modules"
-msgstr ""
+msgstr "Moduly"
 
 #: ../data/ui/pref.glade.h:91
 msgid "Auto (move if on the same FS, copy otherwise)"
@@ -546,22 +526,18 @@ msgid "Ask"
 msgstr "Ptát se"
 
 #: ../data/ui/pref.glade.h:95
-#, fuzzy
 msgid "Icon view"
 msgstr "Ikonový pohled"
 
 #: ../data/ui/pref.glade.h:96
-#, fuzzy
 msgid "Compact view"
 msgstr "Kompaktní pohled"
 
 #: ../data/ui/pref.glade.h:97
-#, fuzzy
 msgid "Thumbnail view"
 msgstr "Pohled s náhledy"
 
 #: ../data/ui/pref.glade.h:98
-#, fuzzy
 msgid "Detailed list view"
 msgstr "Detailní pohled"
 
@@ -587,60 +563,59 @@ msgstr "Vyberte požadovanou akci:"
 
 #: ../data/ui/autorun.glade.h:6
 msgid "_Always perform this action on this media type"
-msgstr ""
+msgstr "_Vždy provést tuto akci na tomto typu média"
 
 #: ../data/ui/connect.glade.h:1
 msgid "Connect to remote server"
-msgstr ""
+msgstr "Připojit ke vzdálenému serveru"
 
 #: ../data/ui/connect.glade.h:2
 msgid "<b>Specify remote folder to connect</b>"
-msgstr ""
+msgstr "<b>Určete vzdálenou složku pro připojení</b>"
 
 #: ../data/ui/connect.glade.h:3
 msgid "_Type:"
-msgstr ""
+msgstr "_Typ:"
 
 #: ../data/ui/connect.glade.h:4
 msgid "_Host:"
-msgstr ""
+msgstr "_Hostitel:"
 
 #: ../data/ui/connect.glade.h:5
 msgid "_Port:"
-msgstr ""
+msgstr "_Port:"
 
 #: ../data/ui/connect.glade.h:6
 msgid "Pa_th:"
-msgstr ""
+msgstr "Ce_sta:"
 
 #: ../data/ui/connect.glade.h:7
 msgid "_Anonymous login"
-msgstr ""
+msgstr "_Anonymní přihlášení"
 
 #: ../data/ui/connect.glade.h:8
 msgid "_Login as:"
-msgstr ""
+msgstr "_Přihlásit se jako:"
 
 #: ../data/ui/connect.glade.h:9
 msgid "SSH"
-msgstr ""
+msgstr "SSH"
 
 #: ../data/ui/connect.glade.h:10
 msgid "FTP"
-msgstr ""
+msgstr "FTP"
 
 #: ../data/ui/connect.glade.h:11
 msgid "WebDAV"
-msgstr ""
+msgstr "WebDAV"
 
 #: ../src/volume-manager.c:237
 msgid "mixed content"
-msgstr ""
+msgstr "různý obsah"
 
 #: ../src/volume-manager.c:246
-#, fuzzy
 msgid "removable disk"
-msgstr "Odpojitelný disk"
+msgstr "vyměnitelný disk"
 
 #: ../src/volume-manager.c:302
 msgid "Open in File Manager"
@@ -660,7 +635,7 @@ msgstr "Otevřít v terminál_u"
 
 #: ../src/desktop-ui.c:68
 msgid "_Remove from Desktop"
-msgstr ""
+msgstr "_Odstranit z plochy"
 
 #: ../src/desktop-ui.c:85
 msgid "Stic_k to Current Position"
@@ -671,25 +646,21 @@ msgid "Snap to _Grid"
 msgstr "Přichytit k _mřížce"
 
 #: ../src/desktop.c:946
-#, fuzzy
 msgid "Activate file"
-msgstr "<obrázek>"
+msgstr "Označit soubor"
 
 #: ../src/desktop.c:948
-#, fuzzy
 msgid "Show file menu"
-msgstr "Zobrazit skryt_é"
+msgstr "Zobrazit menu souboru"
 
 #: ../src/desktop.c:1364
-#, fuzzy
 msgid "Show desktop menu"
-msgstr "<b>Zobrazit ikony na ploše</b>"
+msgstr "Zobrazit menu plochy"
 
 #. FIXME: set name by monitor
 #: ../src/desktop.c:1436
-#, fuzzy
 msgid "Desktop"
-msgstr "_Pracovní plocha"
+msgstr "Pracovní plocha"
 
 #: ../src/main-win-ui.c:187
 msgid "_File"
@@ -717,11 +688,11 @@ msgstr "Složka"
 
 #: ../src/main-win-ui.c:192
 msgid "Empty File"
-msgstr ""
+msgstr "Prázdný soubor"
 
 #: ../src/main-win-ui.c:193
 msgid "Folder Propertie_s"
-msgstr ""
+msgstr "Vlastnosti slo_žky"
 
 #: ../src/main-win-ui.c:194
 msgid "_Close Tab"
@@ -737,43 +708,39 @@ msgstr "_Upravit"
 
 #: ../src/main-win-ui.c:198
 msgid "C_ut"
-msgstr ""
+msgstr "V_yjmout"
 
 #: ../src/main-win-ui.c:201
 msgid "Move to _Trash"
-msgstr ""
+msgstr "Přesunout do _Koše"
 
 #: ../src/main-win-ui.c:203
 msgid "Copy Pat_h(s)"
-msgstr ""
+msgstr "Kopírovat adres_u/y"
 
 #: ../src/main-win-ui.c:204
-#, fuzzy
 msgid "R_ename..."
-msgstr "_Přejmenovat"
+msgstr "P_řejmenovat"
 
 #: ../src/main-win-ui.c:205
 msgid "D_uplicate..."
-msgstr ""
+msgstr "D_uplikovat"
 
 #: ../src/main-win-ui.c:206
-#, fuzzy
 msgid "Create Lin_k..."
-msgstr "Vytvořit _nový..."
+msgstr "Vytvořit Odk_az..."
 
 #: ../src/main-win-ui.c:207
-#, fuzzy
 msgid "_Move to..."
 msgstr "_Přesunout do..."
 
 #: ../src/main-win-ui.c:208
-#, fuzzy
 msgid "Copy to_..."
 msgstr "K_opírovat do..."
 
 #: ../src/main-win-ui.c:209
 msgid "Propertie_s"
-msgstr ""
+msgstr "Vlastnost_i"
 
 #: ../src/main-win-ui.c:211
 msgid "_Invert Selection"
@@ -796,13 +763,12 @@ msgid "Reload current folder"
 msgstr "Obnovit současnou složku"
 
 #: ../src/main-win-ui.c:215
-#, fuzzy
 msgid "Tool_bar"
-msgstr "Nástro_je"
+msgstr "Panel ná_strojů"
 
 #: ../src/main-win-ui.c:216
 msgid "Pat_h Bar"
-msgstr ""
+msgstr "Adre_sní řádek"
 
 #: ../src/main-win-ui.c:217
 msgid "Side _Pane"
@@ -810,9 +776,8 @@ msgstr "Boční _panel"
 
 #. other see below: 'ShowHidden' 'ShowStatus' 'Fullscreen' 'IconView'...
 #: ../src/main-win-ui.c:219
-#, fuzzy
 msgid "Fo_lder View Mode"
-msgstr "Režim zo_brazení:"
+msgstr "Režim zo_brazení složek"
 
 #: ../src/main-win-ui.c:220
 msgid "S_ort Files"
@@ -820,18 +785,17 @@ msgstr "Ř_adit soubory"
 
 #: ../src/main-win-ui.c:222
 msgid "Zoom O_ut"
-msgstr ""
+msgstr "Od_dálit"
 
 #: ../src/main-win-ui.c:225
 msgid "Fil_ter..."
-msgstr ""
+msgstr "Filt_tr..."
 
 #: ../src/main-win-ui.c:227
 msgid "_Help"
 msgstr "_Nápověda"
 
 #: ../src/main-win-ui.c:229
-#, fuzzy
 msgid "_Keyboard Navigation"
 msgstr "_Klávesová navigace"
 
@@ -845,7 +809,7 @@ msgstr "_Předchozí složka"
 
 #: ../src/main-win-ui.c:231
 msgid "Return to previous folder in history"
-msgstr ""
+msgstr "Jít zpět do předchozí složky v historii"
 
 #: ../src/main-win-ui.c:232
 msgid "_Next Folder"
@@ -853,7 +817,7 @@ msgstr "_Následující složka"
 
 #: ../src/main-win-ui.c:232
 msgid "Go forward to next folder in history"
-msgstr ""
+msgstr "Jít vpřed do následující složky v historii"
 
 #: ../src/main-win-ui.c:233
 msgid "Pa_rent Folder"
@@ -868,30 +832,28 @@ msgid "H_ome Folder"
 msgstr "D_omovská složka"
 
 #: ../src/main-win-ui.c:234
-#, fuzzy
 msgid "Go to home folder"
-msgstr "Přejít do nadřazené složky"
+msgstr "Přejít do domovské složky"
 
 #: ../src/main-win-ui.c:235
 msgid "_Desktop"
 msgstr "_Pracovní plocha"
 
 #: ../src/main-win-ui.c:235
-#, fuzzy
 msgid "Go to desktop folder"
-msgstr "Přejít do nadřazené složky"
+msgstr "Přejít do složky plochy"
 
 #: ../src/main-win-ui.c:236
 msgid "Open trash can"
-msgstr ""
+msgstr "Otevřít koš"
 
 #: ../src/main-win-ui.c:237
 msgid "Filesyste_m Root"
-msgstr ""
+msgstr "Kořen sou_bor. systému"
 
 #: ../src/main-win-ui.c:237
 msgid "Go fo filesystem root"
-msgstr ""
+msgstr "Jít do kořene soubor. systému"
 
 #: ../src/main-win-ui.c:238
 msgid "_Applications"
@@ -899,118 +861,112 @@ msgstr "_Aplikace"
 
 #: ../src/main-win-ui.c:238
 msgid "Go to root of applications menu folder"
-msgstr ""
+msgstr "Přejít do kořenové složky menu aplikací"
 
 #: ../src/main-win-ui.c:239
-#, fuzzy
 msgid "Go to list of devices connected to the computer"
-msgstr "Z_obraz ikony svazků na ploše"
+msgstr "Přejít na seznam připojených zařízení"
 
 #: ../src/main-win-ui.c:240
-#, fuzzy
 msgid "Net_work"
 msgstr "Síť_ové jednotky"
 
 #: ../src/main-win-ui.c:240
-#, fuzzy
 msgid "Go to list of places on the network"
-msgstr "Z_obraz ikony svazků na ploše"
+msgstr "Přejít na seznam míst v síti"
 
 #: ../src/main-win-ui.c:241
 msgid "_Go to Location..."
-msgstr ""
+msgstr "_Jít do umístění"
 
 #: ../src/main-win-ui.c:242
 msgid "_Connect to Server..."
-msgstr ""
+msgstr "_Připojit k serveru"
 
 #: ../src/main-win-ui.c:242
 msgid "Open a window to choose remote folder location"
-msgstr ""
+msgstr "Otevřít okno pro výběr vzdáleného umístění"
 
 #: ../src/main-win-ui.c:243
 msgid "Go to the path in the location bar"
-msgstr ""
+msgstr "Jít na umístění v adresním řádku"
 
 #: ../src/main-win-ui.c:244
 msgid "_Bookmarks"
 msgstr "_Záložky"
 
 #: ../src/main-win-ui.c:245
-#, fuzzy
 msgid "_Add to Bookmarks..."
 msgstr "Přidat do záložek"
 
 #: ../src/main-win-ui.c:245
 msgid "Add current folder to bookmarks list"
-msgstr ""
+msgstr "Přidat aktuální složku do záložek"
 
 #: ../src/main-win-ui.c:246
 msgid "Too_ls"
-msgstr ""
+msgstr "Nás_stroje"
 
 #: ../src/main-win-ui.c:247
 msgid "Open Current Folder in _Terminal"
 msgstr "Otevřít současnou složku v _terminálu"
 
 #: ../src/main-win-ui.c:249
-#, fuzzy
 msgid "Fin_d Files..."
-msgstr "Nají_t soubory"
+msgstr "Nají_t soubory..."
 
 #: ../src/main-win-ui.c:249
-#, fuzzy
 msgid "Open search dialog"
-msgstr "Otevřít dialog pro nastavení pracovní plochy"
+msgstr "Otevřít dialog hledání"
 
 #: ../src/main-win-ui.c:252
-#, fuzzy
 msgid "_Run a Command in Current Folder..."
-msgstr "Obnovit současnou složku"
+msgstr "_Spustit příkaz v aktuální složce..."
 
 #. Note to translators: "Mingle..." means "Do not put folders before files" but make the translation as short as possible, please!
 #: ../src/main-win-ui.c:267
 msgid "Mingle _Files and Folders"
-msgstr ""
+msgstr "Míchat _soubory a složky (složky nejsou vždy první)"
 
 #: ../src/main-win-ui.c:270
 msgid "_Ignore Name Case"
-msgstr ""
+msgstr "_Ignorovat VELKÁ/malá písmena v názvu"
 
 #: ../src/main-win-ui.c:272
-#, fuzzy
 msgid "Sho_w Hidden"
-msgstr "Zobrazit skryt_é"
+msgstr "Zo_brazit skryté"
 
 #. Note to translators: this save is meant for folder's settings such as sort
 #: ../src/main-win-ui.c:274
 msgid "Preserve This Folder's Settings"
-msgstr ""
+msgstr "Uchovat nastavení pro tuto složku"
 
 #: ../src/main-win-ui.c:275
 msgid ""
 "Check to remember view and sort as folder setting rather than global one"
 msgstr ""
+"Zaškrtněte pro zapamatování zobrazení jako nastavení složky místo globálního "
+"nastavení"
 
 #: ../src/main-win-ui.c:277
 msgid "_Show Toolbar"
-msgstr ""
+msgstr "_Zobrazit panel nástrojů"
 
 #: ../src/main-win-ui.c:278
 msgid "Show 'New _Window' Button"
-msgstr ""
+msgstr "Zobrazit tlačítko 'Nové _okno'"
 
 #: ../src/main-win-ui.c:279
 msgid "Show 'New _Tab' Button"
-msgstr ""
+msgstr "Zobrazit tlačítko 'Nový _panel'"
 
 #: ../src/main-win-ui.c:280
 msgid "Show _Navigation Buttons"
-msgstr ""
+msgstr "Zobrazit tlačítka _navigace"
 
 #: ../src/main-win-ui.c:281
 msgid "Show '_Home' Button"
-msgstr ""
+msgstr "Zobrazit tlačítko '_Domů'"
 
 #: ../src/main-win-ui.c:282
 msgid "Sho_w Side Pane"
@@ -1021,13 +977,12 @@ msgid "Show Status B_ar"
 msgstr "Zobrazit stavový ř_ádek"
 
 #: ../src/main-win-ui.c:284
-#, fuzzy
 msgid "_Dual Pane Mode"
-msgstr "Dvojitý mód panelu"
+msgstr "_Dvoupanelový režim"
 
 #: ../src/main-win-ui.c:284
 msgid "Show two panels with folder views"
-msgstr ""
+msgstr "Zobrazit dva panely se zobrazením složek"
 
 #: ../src/main-win-ui.c:285
 msgid "Fullscreen _Mode"
@@ -1063,11 +1018,11 @@ msgstr "Podle veliko_sti"
 
 #: ../src/main-win-ui.c:310 ../src/main-win-ui.c:318
 msgid "By File _Type"
-msgstr "Podle _typu souboru"
+msgstr "Podle _přípony"
 
 #: ../src/main-win-ui.c:312
 msgid "By _Extension"
-msgstr ""
+msgstr "Podle _přípony"
 
 #: ../src/main-win-ui.c:325
 msgid "Places"
@@ -1082,51 +1037,43 @@ msgid "Remote"
 msgstr "Vzdálený"
 
 #: ../src/main-win-ui.c:333
-#, fuzzy
 msgid "_Location"
-msgstr "Ap_likace"
+msgstr "_Umístění"
 
 #: ../src/main-win-ui.c:334
 msgid "_Buttons"
-msgstr ""
+msgstr "_Tlačítka"
 
 #: ../src/main-win.c:925 ../src/main-win.c:929
 msgid "Show history of visited folders"
-msgstr ""
+msgstr "Zobrazit historii navštívených složek"
 
 #: ../src/main-win.c:934
 msgid "History"
-msgstr ""
+msgstr "Historie"
 
 #: ../src/main-win.c:948
 msgid "You are in super user mode"
 msgstr "Nacházíte se v superuživatelském režimu"
 
 #: ../src/main-win.c:1134
-#, fuzzy
 msgid "Lightweight file manager\n"
-msgstr ""
-"Jednoduchý správce souborů\n"
-"\n"
-"Vyvinul Hon Jen Yee (PCMan)"
+msgstr "Jednoduchý správce souborů\n"
 
 #: ../src/main-win.c:1139
 #, c-format
 msgid "using LibFM ver. %s\n"
-msgstr ""
+msgstr "používám LibFM ver. %s\n"
 
 #: ../src/main-win.c:1141
-#, fuzzy
 msgid ""
 "\n"
 "Developed by Hon Jen Yee (PCMan)"
 msgstr ""
-"Jednoduchý správce souborů\n"
 "\n"
 "Vyvinul Hon Jen Yee (PCMan)"
 
 #: ../src/main-win.c:1166 ../src/main-win.c:1174
-#, fuzzy
 msgid "Keyboard Navigation"
 msgstr "Klávesová navigace"
 
@@ -1138,26 +1085,19 @@ msgid ""
 "F8: focus divider between Side pane and Folder view\n"
 "F10: activate main menu\n"
 "Ctrl+L or Alt+D: jump focus to Path Bar"
-msgstr ""
-"Tab:  Zobrazení složky -> Postranní panel -> Nástrojová lišta\n"
-"Shift+Tab: Nástrojová lišta -> Postranní panel -> Zobrazení složky\n"
-"F6: změna zaměření Postranní panel <-> Zobrazení složky\n"
-"F8: dělit zaměření mezi Postranní panel a Zobrazení složky\n"
-"F10: Aktivace hlavního menu \n"
-"Ctrl+L nebo Alt+D: skok zaměření na lištu s cestou"
+msgstr "Spustit příkaz"
 
 #: ../src/main-win.c:1210
 msgid "Run a command"
-msgstr ""
+msgstr "Spustit příkaz"
 
 #: ../src/main-win.c:1211
 msgid "Enter a command to run:"
-msgstr ""
+msgstr "Zadejte příkaz ke spuštění:"
 
 #: ../src/main-win.c:1218
-#, fuzzy
 msgid "Current folder is inaccessible"
-msgstr "Otevřít současnou složku v _terminálu"
+msgstr "Aktuální složka je nepřístupná"
 
 #: ../src/main-win.c:1822
 #, c-format
@@ -1176,11 +1116,11 @@ msgstr "Přidat do záložek"
 
 #: ../src/main-win.c:2552
 msgid "Select filter"
-msgstr ""
+msgstr "Vybrat filtr"
 
 #: ../src/main-win.c:2553
 msgid "Choose a new shell pattern to show files:"
-msgstr ""
+msgstr "Vyberte novou šablonu shellu pro zobrazení souborů:"
 
 #. options only acceptable by first pcmanfm instance. These options are not passed through IPC
 #: ../src/pcmanfm.c:78
@@ -1226,7 +1166,6 @@ msgstr "SOUBOR"
 
 #. don't translate list of modes in description, please
 #: ../src/pcmanfm.c:89
-#, fuzzy
 msgid ""
 "Set mode of desktop wallpaper. MODE=(color|stretch|fit|crop|center|tile|"
 "screen)"
@@ -1249,7 +1188,6 @@ msgid "Open new window"
 msgstr "Otevřít nové okno"
 
 #: ../src/pcmanfm.c:93
-#, fuzzy
 msgid "Open a Find Files window"
 msgstr "Otevřít nástroj pro hledání souborů"
 
@@ -1267,7 +1205,7 @@ msgstr "[SOUBOR1, SOUBOR2,...]"
 
 #: ../src/pcmanfm.c:352
 msgid "Desktop manager is not active."
-msgstr ""
+msgstr "Správce plochy není aktivní."
 
 #: ../src/pcmanfm.c:598
 msgid "Terminal emulator is not set."
@@ -1308,19 +1246,19 @@ msgstr[2] " (%d skrytých)"
 
 #: ../src/pref.c:514
 msgid "Add to Modules Blacklist"
-msgstr ""
+msgstr "Přidat do blacklistu modulů"
 
 #: ../src/pref.c:515
 msgid "Enter a blacklisted module mask:"
-msgstr ""
+msgstr "Zadejte masku pro modul v blacklistu:"
 
 #: ../src/pref.c:606
 msgid "Add to Modules Whitelist"
-msgstr ""
+msgstr "Přidat do whitelistu modulů"
 
 #: ../src/pref.c:607
 msgid "Enter a whitelisted module mask:"
-msgstr ""
+msgstr "Zadejte masku pro modul ve whitelistu:"
 
 #: ../data/pcmanfm.desktop.in.h:1
 msgid "File Manager PCManFM"
index ae4977e..b3df094 100644 (file)
--- a/po/eu.po
+++ b/po/eu.po
@@ -2,13 +2,12 @@
 # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
 # This file is distributed under the same license as the PACKAGE package.
 # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-#
 msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-01-09 09:41+0100\n"
-"PO-Revision-Date: 2013-07-09 20:48+0000\n"
+"POT-Creation-Date: 2014-01-22 00:33+0200\n"
+"PO-Revision-Date: 2014-03-19 20:37+0000\n"
 "Last-Translator: Asier <asier.iturralde@gmail.com>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
 "Language: eu\n"
@@ -17,12 +16,11 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 "X-Generator: Pootle 2.5.0\n"
-"X-POOTLE-MTIME: 1373402899.0\n"
+"X-POOTLE-MTIME: 1395261449.0\n"
 
 #: ../data/ui/about.glade.in.h:1
-#, fuzzy
 msgid "Copyright (C) 2009 - 2014"
-msgstr "Copyright-a (C) 2009 - 2013"
+msgstr "Copyright-a (C) 2009 - 2014"
 
 #. Please replace this line with your own names, one name per line.
 #: ../data/ui/about.glade.in.h:3
@@ -83,24 +81,20 @@ msgid "<b>Show desktop icons</b>"
 msgstr "<b>Erakutsi mahaigaineko ikonoak</b>"
 
 #: ../data/ui/desktop-pref.glade.h:14
-#, fuzzy
 msgid "_Show \"Documents\" folder on the desktop"
-msgstr "_Erakutsi \"Nire dokumentuak\" ikonoa mahaigainean"
+msgstr "_Erakutsi \"Dokumentuak\" karpeta mahaigainean"
 
 #: ../data/ui/desktop-pref.glade.h:15
-#, fuzzy
 msgid "Sho_w \"Devices\" folder on the desktop"
-msgstr "_Erakutsi \"Nire dokumentuak\" ikonoa mahaigainean"
+msgstr "_Erakutsi \"Gailuak\" karpeta mahaigainean"
 
 #: ../data/ui/desktop-pref.glade.h:16
-#, fuzzy
 msgid "Show \"_Trash Can\" folder on the desktop"
-msgstr "Erakutsi \"_Zakarrontzia\" ikonoa mahaigainean"
+msgstr "Erakutsi \"_Zakarrontzia\" karpeta mahaigainean"
 
 #: ../data/ui/desktop-pref.glade.h:17
-#, fuzzy
 msgid "S_how connected volumes on the desktop"
-msgstr "E_rakutsi bolumenen ikonoak mahaigainean"
+msgstr "E_rakutsi konektatutako bolumenak mahaigainean"
 
 #: ../data/ui/desktop-pref.glade.h:18
 msgid "_Desktop Icons"
@@ -117,22 +111,20 @@ msgstr ""
 #: ../data/ui/desktop-pref.glade.h:21 ../data/ui/pref.glade.h:84
 msgctxt "Use path for some folder: ..."
 msgid "Default"
-msgstr ""
+msgstr "Lehenetsia"
 
 #: ../data/ui/desktop-pref.glade.h:22 ../data/ui/pref.glade.h:85
 msgctxt "Use path for some folder: ..."
 msgid "Custom:"
-msgstr ""
+msgstr "Pertsonalizatua:"
 
 #: ../data/ui/desktop-pref.glade.h:23
-#, fuzzy
 msgid "Select a Desktop Folder"
-msgstr "Mahaigaina karpeta"
+msgstr "Hautatu mahaigaineko karpeta bat"
 
 #: ../data/ui/desktop-pref.glade.h:24
-#, fuzzy
 msgid "_Open folders from desktop in new window"
-msgstr "Ireki leiho berrian"
+msgstr "_Ireki mahaigaineko karpetak leiho berrian"
 
 #: ../data/ui/desktop-pref.glade.h:25
 msgid "Ad_vanced"
@@ -172,14 +164,12 @@ msgid "Stretch to fill the complete screen"
 msgstr "Egokitu pantaila osoa betetzeko"
 
 #: ../data/ui/pref.glade.h:1
-#, fuzzy
 msgid "Open in current tab"
 msgstr "Ireki uneko fitxan"
 
 #: ../data/ui/pref.glade.h:2
-#, fuzzy
 msgid "Open in new tab"
-msgstr "Ireki fitxa _berrian"
+msgstr "Ireki fitxa berrian"
 
 #: ../data/ui/pref.glade.h:3
 #, fuzzy
@@ -333,12 +323,12 @@ msgstr "Erakutsi beti _fitxa-barra"
 
 #: ../data/ui/pref.glade.h:42
 msgid "_Maximum width of tab label:"
-msgstr ""
+msgstr "Fitxaren etiketaren zabalera _maximoa:"
 
 #. Use genitive case here, context is: width is XXX characters
 #: ../data/ui/pref.glade.h:44
 msgid "characters"
-msgstr ""
+msgstr "karaktere"
 
 #: ../data/ui/pref.glade.h:45
 msgid "<b>Directories Tree</b>"
@@ -353,12 +343,10 @@ msgid "<b>Show in Places:</b>"
 msgstr "<b>Erakutsi Lekuak-en:</b>"
 
 #: ../data/ui/pref.glade.h:48
-#, fuzzy
 msgid "_Home Folder"
-msgstr "Karpeta nagusia"
+msgstr "Karpeta _nagusia"
 
 #: ../data/ui/pref.glade.h:49
-#, fuzzy
 msgid "Des_ktop"
 msgstr "_Mahaigaina"
 
@@ -368,7 +356,7 @@ msgstr "_Zakarrontzia"
 
 #: ../data/ui/pref.glade.h:51
 msgid "_Filesystem Root"
-msgstr ""
+msgstr "_Fitxategi-sistemaren erroa"
 
 #: ../data/ui/pref.glade.h:52
 msgid "App_lications"
@@ -376,12 +364,11 @@ msgstr "_Aplikazioak"
 
 #: ../data/ui/pref.glade.h:53 ../src/main-win-ui.c:239
 msgid "Dev_ices"
-msgstr ""
+msgstr "_Gailuak"
 
 #: ../data/ui/pref.glade.h:54
-#, fuzzy
 msgid "_Network"
-msgstr "_Sareko unitateak"
+msgstr "_Sarea"
 
 #: ../data/ui/pref.glade.h:55
 msgid "_Layout"
@@ -411,9 +398,8 @@ msgstr ""
 "_Erakutsi gailu aldagarrientzat eskuragarri dauden aukerak hauek txertatzean"
 
 #: ../data/ui/pref.glade.h:61
-#, fuzzy
 msgid "_Remove selected"
-msgstr "elementu %d hautatuta"
+msgstr "_Kendu hautapena"
 
 #: ../data/ui/pref.glade.h:62
 msgid "_Open mounted removable media in new tab instead of new window"
@@ -464,9 +450,8 @@ msgid "A_rchiver integration:"
 msgstr "A_rtxibatzailearen integrazioa:"
 
 #: ../data/ui/pref.glade.h:74
-#, fuzzy
 msgid "<b>Templates</b>"
-msgstr "<b>Testua</b>"
+msgstr "<b>Txantiloiak</b>"
 
 #: ../data/ui/pref.glade.h:75
 msgid "S_how only user defined templates in menu"
@@ -481,9 +466,8 @@ msgid "Ru_n default application after creation from template"
 msgstr ""
 
 #: ../data/ui/pref.glade.h:78
-#, fuzzy
 msgid "<b>Other Options</b>"
-msgstr "<b>Erakutsi mahaigaineko ikonoak</b>"
+msgstr "<b>Beste aukerak</b>"
 
 #: ../data/ui/pref.glade.h:79
 #, fuzzy
@@ -1231,8 +1215,9 @@ msgid ""
 "Set mode of desktop wallpaper. MODE=(color|stretch|fit|crop|center|tile|"
 "screen)"
 msgstr ""
-"Ezarri mahaigaineko horma-paperaren modua. MODUA=(color|stretch|fit|center|"
-"tile) - > kolorea|egokitu|doitu|zentratu|lauza"
+"Ezarri mahaigaineko horma-paperaren modua. "
+"MODUA=(color|stretch|fit|center|tile) - > "
+"kolorea|egokitu|doitu|zentratu|lauza"
 
 #: ../src/pcmanfm.c:89
 msgid "MODE"
@@ -1267,7 +1252,11 @@ msgstr "ROLA"
 msgid "[FILE1, FILE2,...]"
 msgstr "[FITXATEGIA1, FITXATEGIA2,...]"
 
-#: ../src/pcmanfm.c:585
+#: ../src/pcmanfm.c:352
+msgid "Desktop manager is not active."
+msgstr ""
+
+#: ../src/pcmanfm.c:598
 msgid "Terminal emulator is not set."
 msgstr "Terminal-emuladorea ez dago ezarrita."
 
index 35a7c2b..86f6c8b 100644 (file)
--- a/po/fi.po
+++ b/po/fi.po
@@ -7,7 +7,7 @@ msgstr ""
 "Project-Id-Version: pcmanfm 0.9.x\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2014-01-22 00:33+0200\n"
-"PO-Revision-Date: 2014-02-10 19:35+0000\n"
+"PO-Revision-Date: 2014-03-10 13:22+0000\n"
 "Last-Translator: Juhani <juhaninumminen0@gmail.com>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
 "Language: fi\n"
@@ -18,7 +18,7 @@ msgstr ""
 "X-Generator: Pootle 2.5.0\n"
 "X-Language: fi_FI\n"
 "X-Source-Language: C\n"
-"X-POOTLE-MTIME: 1392060932.0\n"
+"X-POOTLE-MTIME: 1394457756.0\n"
 
 #: ../data/ui/about.glade.in.h:1
 msgid "Copyright (C) 2009 - 2014"
@@ -233,6 +233,11 @@ msgid ""
 "- other files (e.g. on removable media) will be copied\n"
 "- for some external URI a shortcut will be created"
 msgstr ""
+"Jos valittu, ”automaattinen” toiminto vapautettaessa Työpöytä-kansioon on:\n"
+"- suoraan kotikansiossa olevista tiedostoista luodaan symbolinen linkki\n"
+"- samalla tiedostojärjestelmällä olevat tiedostot siirretään\n"
+"- muut tiedostot (esim. siirrettävillä asemilla olevat) kopioidaan\n"
+"- joillekin ulkoisille URI:lle luodaan pikakuvake"
 
 #: ../data/ui/pref.glade.h:21
 msgid "_Unfold tab when files are dragged onto tab button"
@@ -943,6 +948,8 @@ msgstr "Säilytä kansion asetukset"
 msgid ""
 "Check to remember view and sort as folder setting rather than global one"
 msgstr ""
+"Muista näkymä- ja järjestysasetukset kansiokohtaisina eikä yleisinä "
+"asetuksina"
 
 #: ../src/main-win-ui.c:277
 msgid "_Show Toolbar"
@@ -958,7 +965,7 @@ msgstr "Näytä ’Uusi _välilehti’ -painike"
 
 #: ../src/main-win-ui.c:280
 msgid "Show _Navigation Buttons"
-msgstr ""
+msgstr "Näytä _siirtymispainikkeet"
 
 #: ../src/main-win-ui.c:281
 msgid "Show '_Home' Button"
@@ -974,11 +981,11 @@ msgstr "Näytä t_ilarivi"
 
 #: ../src/main-win-ui.c:284
 msgid "_Dual Pane Mode"
-msgstr ""
+msgstr "_Kaksi paneelia"
 
 #: ../src/main-win-ui.c:284
 msgid "Show two panels with folder views"
-msgstr ""
+msgstr "Näytä kaksi paneelia, jossa on kansionäkymä"
 
 #: ../src/main-win-ui.c:285
 msgid "Fullscreen _Mode"
@@ -1099,7 +1106,7 @@ msgstr "Kirjoita suoritettava komento:"
 
 #: ../src/main-win.c:1218
 msgid "Current folder is inaccessible"
-msgstr ""
+msgstr "Nykyinen kansio on ulottumattomissa"
 
 #: ../src/main-win.c:1822
 #, c-format
@@ -1121,7 +1128,7 @@ msgstr "Valitse suodatin"
 
 #: ../src/main-win.c:2553
 msgid "Choose a new shell pattern to show files:"
-msgstr ""
+msgstr "Valitse uusi shell-lauseke, jonka mukaisesti tiedostot näytetään:"
 
 #. options only acceptable by first pcmanfm instance. These options are not passed through IPC
 #: ../src/pcmanfm.c:78
@@ -1138,7 +1145,7 @@ msgstr "Suorita PCManFM palveluna"
 
 #: ../src/pcmanfm.c:80
 msgid "No function. Just to be compatible with nautilus"
-msgstr "Ei toimintoa – Nautilus yhteensopivuus"
+msgstr "Ei toimintoa. Valitsin on vain Nautilus-yhteensopivuuden vuoksi"
 
 #. options that are acceptable for every instance of pcmanfm and will be passed through IPC.
 #: ../src/pcmanfm.c:83
@@ -1151,7 +1158,7 @@ msgstr "Sammuta työpöydän hallinta jos se on käynnissä"
 
 #: ../src/pcmanfm.c:85
 msgid "Open desktop preference dialog"
-msgstr "Avaa työpöydän asetus valikko"
+msgstr "Avaa työpöydän asetusvalikko"
 
 #: ../src/pcmanfm.c:86
 msgid "Use --desktop option only for one screen"
@@ -1180,7 +1187,7 @@ msgstr "TILA"
 
 #: ../src/pcmanfm.c:90
 msgid "Open Preferences dialog on the page N"
-msgstr "_Avaa Asetukset-ikkuna sivulta N"
+msgstr "Avaa Asetukset-ikkuna sivulta N"
 
 #: ../src/pcmanfm.c:90
 msgid "N"
@@ -1196,7 +1203,7 @@ msgstr "Avaa tiedostojen etsintäikkuna"
 
 #: ../src/pcmanfm.c:95
 msgid "Window role for usage by window manager"
-msgstr "Ikkunan rooli ikkunanhallintaohjelman tiedoksi"
+msgstr "Ikkunan rooli ikkunanhallinnan tiedoksi"
 
 #: ../src/pcmanfm.c:95
 msgid "ROLE"
@@ -1208,7 +1215,7 @@ msgstr "[TIEDOSTO1, TIEDOSTO2, …]"
 
 #: ../src/pcmanfm.c:352
 msgid "Desktop manager is not active."
-msgstr ""
+msgstr "Työpöydänhallinta ei ole käytössä."
 
 #: ../src/pcmanfm.c:598
 msgid "Terminal emulator is not set."
@@ -1246,19 +1253,19 @@ msgstr[1] " (%d piilotettua)"
 
 #: ../src/pref.c:514
 msgid "Add to Modules Blacklist"
-msgstr ""
+msgstr "Lisää moduulien estolistalle"
 
 #: ../src/pref.c:515
 msgid "Enter a blacklisted module mask:"
-msgstr ""
+msgstr "Anna estetyn moduulin maski:"
 
 #: ../src/pref.c:606
 msgid "Add to Modules Whitelist"
-msgstr ""
+msgstr "Lisää sallittujen moduulien listalle"
 
 #: ../src/pref.c:607
 msgid "Enter a whitelisted module mask:"
-msgstr ""
+msgstr "Anna sallitun moduulin maski:"
 
 #: ../data/pcmanfm.desktop.in.h:1
 msgid "File Manager PCManFM"
index f796870..b14e271 100644 (file)
--- a/po/fr.po
+++ b/po/fr.po
@@ -8,8 +8,8 @@ msgstr ""
 "Project-Id-Version: PCManFM\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2014-01-22 00:33+0200\n"
-"PO-Revision-Date: 2014-01-26 10:49+0000\n"
-"Last-Translator: Julien <Julius22@laposte.net>\n"
+"PO-Revision-Date: 2014-04-02 07:55+0000\n"
+"Last-Translator: DDZ <drole2zebre57@yahoo.fr>\n"
 "Language-Team: \n"
 "Language: fr\n"
 "MIME-Version: 1.0\n"
@@ -17,7 +17,7 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n > 1);\n"
 "X-Generator: Pootle 2.5.0\n"
-"X-POOTLE-MTIME: 1390733354.0\n"
+"X-POOTLE-MTIME: 1396425359.0\n"
 
 #: ../data/ui/about.glade.in.h:1
 msgid "Copyright (C) 2009 - 2014"
@@ -44,7 +44,7 @@ msgstr "<b>Arrière-plan</b>"
 
 #: ../data/ui/desktop-pref.glade.h:3
 msgid "Wallpaper _mode:"
-msgstr "_Positionnement du fond d’écran :"
+msgstr "_Mode d'affichage du fond d'écran :"
 
 #: ../data/ui/desktop-pref.glade.h:4
 msgid "_Wallpaper:"
@@ -89,7 +89,7 @@ msgstr "<b>Afficher les icônes du bureau</b>"
 # Il manque l'indication du caractère de raccourci clavier en français
 #: ../data/ui/desktop-pref.glade.h:14
 msgid "_Show \"Documents\" folder on the desktop"
-msgstr "Afficher le répertoire « Mes documents » _sur le bureau"
+msgstr "Afficher le dossier « Mes documents » _sur le bureau"
 
 # Il manque l'indication du caractère de raccourci clavier en français
 #: ../data/ui/desktop-pref.glade.h:15
@@ -98,11 +98,11 @@ msgstr "Afficher le répertoire « Appareils » sur le bureau"
 
 #: ../data/ui/desktop-pref.glade.h:16
 msgid "Show \"_Trash Can\" folder on the desktop"
-msgstr "Afficher le réper_toire « Corbeille » sur le bureau"
+msgstr "Afficher la « Corbeille » sur le bureau"
 
 #: ../data/ui/desktop-pref.glade.h:17
 msgid "S_how connected volumes on the desktop"
-msgstr "Affic_her les volumes connectés sur le bureau"
+msgstr "Affic_her les volumes montés sur le bureau"
 
 #: ../data/ui/desktop-pref.glade.h:18
 msgid "_Desktop Icons"
@@ -132,11 +132,11 @@ msgstr "Personnalisé :"
 
 #: ../data/ui/desktop-pref.glade.h:23
 msgid "Select a Desktop Folder"
-msgstr "Sélectionnez un répertoire de bureau"
+msgstr "Sélectionnez un dossier de bureau"
 
 #: ../data/ui/desktop-pref.glade.h:24
 msgid "_Open folders from desktop in new window"
-msgstr "Depuis le bureau, _ouvrir les répertoires dans une nouvelle fenêtre"
+msgstr "_Ouvrir les dossiers provenant du bureau dans une nouvelle fenêtre"
 
 #: ../data/ui/desktop-pref.glade.h:25
 msgid "Ad_vanced"
@@ -239,7 +239,7 @@ msgstr "Action de glissement par défau_t :"
 #: ../data/ui/pref.glade.h:15
 msgid "\"_Smart shortcut\" auto-action on drop to Desktop folder"
 msgstr ""
-"Action automatique « Raccourci _intelligent » au dépôt dans le répertoire de "
+"Action automatique « raccourci _intelligent » au dépôt dans le dossier de "
 "bureau"
 
 #: ../data/ui/pref.glade.h:16
@@ -250,13 +250,14 @@ msgid ""
 "- other files (e.g. on removable media) will be copied\n"
 "- for some external URI a shortcut will be created"
 msgstr ""
-"Si activé, l'action « Auto. » sur dépôt de fichier vers le répertoire de "
-"bureau sera alors :\n"
-" - pour des fichiers directement dans le répertoire personnel, un lien "
+"Si activé, l'action « Auto. » sur dépôt de fichier vers le dossier de bureau "
+"sera alors :\n"
+" - pour des fichiers directement dans le dossier personnel, un lien "
 "symbolique sera créé ;\n"
 " - des fichiers sur le même système de fichiers seront déplacés ;\n"
 " - les autres fichiers (par ex. sur un support amovible) seront copiés ;\n"
-" - pour certains URI externes, un raccourci sera créé."
+" - pour certains identificateurs universels (URI) externes, un raccourci "
+"sera créé."
 
 # Il manque l'indication du caractère pour le raccourci clavier
 #: ../data/ui/pref.glade.h:21
@@ -265,7 +266,7 @@ msgstr "Déplier l'onglet lorsque des fichiers sont glissés sur son bouton"
 
 #: ../data/ui/pref.glade.h:22
 msgid "_Focus previous folder after coming to its parent"
-msgstr "_Sélectionner le répertoire précédent après s'être déplacé à son parent"
+msgstr "_Sélectionner le dossier parent aussitôt après y être allé"
 
 #: ../data/ui/pref.glade.h:23
 msgid "<b>Default View</b>"
@@ -428,7 +429,7 @@ msgstr ""
 
 #: ../data/ui/pref.glade.h:60
 msgid "Do_n't show available options for those media types:"
-msgstr "_Ne pas afficher les options disponibles pour ces types de médias :"
+msgstr "_Ne pas afficher les options disponibles pour ces types de supports :"
 
 #: ../data/ui/pref.glade.h:61
 msgid "_Remove selected"
@@ -450,7 +451,7 @@ msgstr "F_ermer l'onglet du support amovible"
 
 #: ../data/ui/pref.glade.h:65
 msgid "Change folder in the tab to _Home Folder"
-msgstr "C_hanger le répertoire dans l'onglet pour le répertoire personnel"
+msgstr "C_hanger le dossier dans l'onglet pour le dossier personnel"
 
 #: ../data/ui/pref.glade.h:66
 msgid "_Volume Management"
@@ -520,14 +521,13 @@ msgstr ""
 
 #: ../data/ui/pref.glade.h:82
 msgid "D_efer test for content type on folder loading"
-msgstr "Différ_er le test de type de contenu au chargement de répertoire"
+msgstr "Différ_er la vérification du type de contenu au chargement du dossier"
 
 #: ../data/ui/pref.glade.h:83
 msgid "Use path for \"Home Folder\" button:"
-msgstr "Utiliser le chemin suivant pour le bouton « Répertoire personnel » :"
+msgstr "Utiliser le chemin suivant pour le bouton « dossier personnel » :"
 
 #: ../data/ui/pref.glade.h:86
-#, fuzzy
 msgid "_Use current"
 msgstr "_Utiliser actuel"
 
@@ -541,7 +541,7 @@ msgstr "<b>Ne pas charger les mo_dules correspondant à :</b>"
 
 #: ../data/ui/pref.glade.h:89
 msgid "<b>_Load these modules anyway:</b>"
-msgstr "<b>Charger ces modu_les de toute façon :</b>"
+msgstr "<b>Charger ces modu_les quand même :</b>"
 
 #: ../data/ui/pref.glade.h:90
 msgid "Modules"
@@ -567,19 +567,19 @@ msgstr "Demander"
 
 #: ../data/ui/pref.glade.h:95
 msgid "Icon view"
-msgstr "Vue en icônes"
+msgstr "Icônes"
 
 #: ../data/ui/pref.glade.h:96
 msgid "Compact view"
-msgstr "Vue compacte"
+msgstr "Compact"
 
 #: ../data/ui/pref.glade.h:97
 msgid "Thumbnail view"
-msgstr "Vue en miniatures"
+msgstr "Miniatures"
 
 #: ../data/ui/pref.glade.h:98
 msgid "Detailed list view"
-msgstr "Vue en liste détaillée"
+msgstr "Liste détaillée"
 
 #: ../data/ui/autorun.glade.h:1
 msgid "Removable medium is inserted"
@@ -603,7 +603,7 @@ msgstr "Veuillez sélectionner l’action à effectuer :"
 
 #: ../data/ui/autorun.glade.h:6
 msgid "_Always perform this action on this media type"
-msgstr "Toujours effectuer cette _action avec ce type de médias"
+msgstr "Toujours effectuer cette _action avec ce type de supports"
 
 #: ../data/ui/connect.glade.h:1
 msgid "Connect to remote server"
@@ -611,7 +611,7 @@ msgstr "Se connecter à un serveur distant"
 
 #: ../data/ui/connect.glade.h:2
 msgid "<b>Specify remote folder to connect</b>"
-msgstr "<b>Spécifier le répertoire distant auquel se connecter</b>"
+msgstr "<b>Spécifier le dossier distant auquel se connecter</b>"
 
 #: ../data/ui/connect.glade.h:3
 msgid "_Type:"
@@ -631,11 +631,11 @@ msgstr "Ch_emin :"
 
 #: ../data/ui/connect.glade.h:7
 msgid "_Anonymous login"
-msgstr "Identification _anonyme"
+msgstr "Connexion _anonyme"
 
 #: ../data/ui/connect.glade.h:8
 msgid "_Login as:"
-msgstr "S'_identifier comme :"
+msgstr "Se connecter en _tant que :"
 
 #: ../data/ui/connect.glade.h:9
 msgid "SSH"
@@ -679,7 +679,7 @@ msgstr "_Retirer du bureau"
 
 #: ../src/desktop-ui.c:85
 msgid "Stic_k to Current Position"
-msgstr "Blo_quer à la position courante"
+msgstr "Blo_quer à la position actuelle"
 
 #: ../src/desktop-ui.c:90
 msgid "Snap to _Grid"
@@ -767,17 +767,14 @@ msgid "D_uplicate..."
 msgstr "D_upliquer..."
 
 #: ../src/main-win-ui.c:206
-#, fuzzy
 msgid "Create Lin_k..."
-msgstr "Créer un lien..."
+msgstr "Créer un _lien..."
 
 #: ../src/main-win-ui.c:207
-#, fuzzy
 msgid "_Move to..."
 msgstr "Déplacer _vers..."
 
 #: ../src/main-win-ui.c:208
-#, fuzzy
 msgid "Copy to_..."
 msgstr "C_opier vers..."
 
@@ -820,18 +817,16 @@ msgstr "_Panneau latéral"
 # Il manque l'indication du caractère pour le raccourci clavier
 #. other see below: 'ShowHidden' 'ShowStatus' 'Fullscreen' 'IconView'...
 #: ../src/main-win-ui.c:219
-#, fuzzy
 msgid "Fo_lder View Mode"
-msgstr "Mode de vue en répertoires"
+msgstr "M_ode de vue du répertoire"
 
 #: ../src/main-win-ui.c:220
 msgid "S_ort Files"
 msgstr "_Trier les fichiers"
 
 #: ../src/main-win-ui.c:222
-#, fuzzy
 msgid "Zoom O_ut"
-msgstr "Dézoomer"
+msgstr "Zoom a_rrière"
 
 #: ../src/main-win-ui.c:225
 msgid "Fil_ter..."
@@ -855,7 +850,7 @@ msgstr "Dossier _précédent"
 
 #: ../src/main-win-ui.c:231
 msgid "Return to previous folder in history"
-msgstr "Retourner au répertoire précédent dans l'historique"
+msgstr "Retourner au dossier précédent dans l'historique"
 
 #: ../src/main-win-ui.c:232
 msgid "_Next Folder"
@@ -914,18 +909,16 @@ msgid "Go to list of devices connected to the computer"
 msgstr "Aller à la liste des appareils connectés à l'ordinateur"
 
 #: ../src/main-win-ui.c:240
-#, fuzzy
 msgid "Net_work"
-msgstr "Réseau"
+msgstr "_Réseau"
 
 #: ../src/main-win-ui.c:240
 msgid "Go to list of places on the network"
 msgstr "Aller à la liste des emplacements sur le réseau"
 
 #: ../src/main-win-ui.c:241
-#, fuzzy
 msgid "_Go to Location..."
-msgstr "Aller à l'emplacement..."
+msgstr "A_ller à l'emplacement..."
 
 #: ../src/main-win-ui.c:242
 msgid "_Connect to Server..."
@@ -958,7 +951,7 @@ msgstr "Outi_ls"
 
 #: ../src/main-win-ui.c:247
 msgid "Open Current Folder in _Terminal"
-msgstr "Ouvrir le dossier courant dans un _terminal"
+msgstr "Ouvrir le dossier actuel dans un _terminal"
 
 #: ../src/main-win-ui.c:249
 msgid "Fin_d Files..."
@@ -969,9 +962,8 @@ msgid "Open search dialog"
 msgstr "Ouvrir la boîte de dialogue de recherche"
 
 #: ../src/main-win-ui.c:252
-#, fuzzy
 msgid "_Run a Command in Current Folder..."
-msgstr "Actualiser le dossier"
+msgstr "Lancer une _commande dans le dossier courant"
 
 #. Note to translators: "Mingle..." means "Do not put folders before files" but make the translation as short as possible, please!
 #: ../src/main-win-ui.c:267
@@ -983,7 +975,6 @@ msgid "_Ignore Name Case"
 msgstr "_Ignorer la casse des noms"
 
 #: ../src/main-win-ui.c:272
-#, fuzzy
 msgid "Sho_w Hidden"
 msgstr "Afficher les fichiers _cachés"
 
@@ -1004,14 +995,12 @@ msgid "_Show Toolbar"
 msgstr "Afficher la barre d'outil_s"
 
 #: ../src/main-win-ui.c:278
-#, fuzzy
 msgid "Show 'New _Window' Button"
-msgstr "Afficher le bouton « Nouvelle fenêtre »"
+msgstr "Afficher le bouton « Nouvelle _fenêtre »"
 
 #: ../src/main-win-ui.c:279
-#, fuzzy
 msgid "Show 'New _Tab' Button"
-msgstr "Afficher le bouton « Nouvel onglet »"
+msgstr "Afficher le bouton « Nouvel _onglet »"
 
 #: ../src/main-win-ui.c:280
 msgid "Show _Navigation Buttons"
@@ -1031,9 +1020,8 @@ msgid "Show Status B_ar"
 msgstr "Afficher la barre d'ét_at"
 
 #: ../src/main-win-ui.c:284
-#, fuzzy
 msgid "_Dual Pane Mode"
-msgstr "Mode panneau do_uble"
+msgstr "Mode panneau _double"
 
 #: ../src/main-win-ui.c:284
 msgid "Show two panels with folder views"
@@ -1045,19 +1033,19 @@ msgstr "_Mode plein écran"
 
 #: ../src/main-win-ui.c:291
 msgid "_Icon View"
-msgstr "Vue en _icônes"
+msgstr "_Icônes"
 
 #: ../src/main-win-ui.c:292
 msgid "_Compact View"
-msgstr "Vue _compacte"
+msgstr "_Compact"
 
 #: ../src/main-win-ui.c:293
 msgid "_Thumbnail View"
-msgstr "Vue en _miniatures"
+msgstr "_Miniatures"
 
 #: ../src/main-win-ui.c:294
 msgid "Detailed _List View"
-msgstr "Vue en _liste détaillée"
+msgstr "_Liste détaillée"
 
 #: ../src/main-win-ui.c:307 ../src/main-win-ui.c:315
 msgid "By _Name"
@@ -1185,10 +1173,9 @@ msgid "Select filter"
 msgstr "Sélectionner un filtre"
 
 #: ../src/main-win.c:2553
-#, fuzzy
 msgid "Choose a new shell pattern to show files:"
 msgstr ""
-"Choisissez un nouveau patron d'invite de commande pour montrer les fichiers "
+"Choisissez un nouveau modèle d'invite de commande pour montrer les fichiers "
 ":"
 
 #. options only acceptable by first pcmanfm instance. These options are not passed through IPC
@@ -1215,7 +1202,7 @@ msgstr "Lancer le gestionnaire de bureau"
 
 #: ../src/pcmanfm.c:84
 msgid "Turn off desktop manager if it's running"
-msgstr "Fermer le gestionnaire de bureau s’il est en cours de fonctionnement"
+msgstr "Fermer le gestionnaire de bureau s’il est en cours d'utilisation"
 
 #: ../src/pcmanfm.c:85
 msgid "Open desktop preference dialog"
@@ -1227,7 +1214,7 @@ msgstr "Utiliser l'option --desktop pour un seul écran"
 
 #: ../src/pcmanfm.c:87
 msgid "Set desktop wallpaper from image FILE"
-msgstr "Sélectionner un fond d’écran depuis une image"
+msgstr "Sélectionner un fond d’écran à partir d'une image"
 
 #: ../src/pcmanfm.c:87
 msgid "FILE"
index a39c1f1..788fbcd 100644 (file)
--- a/po/hr.po
+++ b/po/hr.po
@@ -8,7 +8,7 @@ msgstr ""
 "Project-Id-Version: pcmanfm\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2014-01-22 00:33+0200\n"
-"PO-Revision-Date: 2014-01-13 22:59+0000\n"
+"PO-Revision-Date: 2014-03-27 10:59+0000\n"
 "Last-Translator: Ivica <ikoli@yahoo.com>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
 "Language: hr\n"
@@ -18,7 +18,7 @@ msgstr ""
 "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%"
 "10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
 "X-Generator: Pootle 2.5.0\n"
-"X-POOTLE-MTIME: 1389653980.0\n"
+"X-POOTLE-MTIME: 1395917944.0\n"
 
 #: ../data/ui/about.glade.in.h:1
 msgid "Copyright (C) 2009 - 2014"
@@ -399,9 +399,8 @@ msgstr ""
 "_Otvori montirani uklonjivi medij u novoj kartici umjesto u novom prozoru"
 
 #: ../data/ui/pref.glade.h:63
-#, fuzzy
 msgid "When removable medium unmounted:"
-msgstr "Uklonjivi medij je umetnut"
+msgstr "Kada je uklonjivi medij odmontioran:"
 
 #: ../data/ui/pref.glade.h:64
 msgid "Clos_e tab containing removable medium"
@@ -910,9 +909,8 @@ msgid "Open search dialog"
 msgstr "Otvori dijalog traženja"
 
 #: ../src/main-win-ui.c:252
-#, fuzzy
 msgid "_Run a Command in Current Folder..."
-msgstr "Ponovno učitaj trenutnu mapu"
+msgstr "_Pokreni nardbu u trenutnoj mapi..."
 
 #. Note to translators: "Mingle..." means "Do not put folders before files" but make the translation as short as possible, please!
 #: ../src/main-win-ui.c:267
@@ -1077,9 +1075,8 @@ msgid ""
 msgstr ""
 
 #: ../src/main-win.c:1210
-#, fuzzy
 msgid "Run a command"
-msgstr "_Naredba formatiranja:"
+msgstr "Pokreni naredbu"
 
 #: ../src/main-win.c:1211
 msgid "Enter a command to run:"
@@ -1105,9 +1102,8 @@ msgid "Add to Bookmarks"
 msgstr "Dodaj u zabilješke"
 
 #: ../src/main-win.c:2552
-#, fuzzy
 msgid "Select filter"
-msgstr "_Otvori odabrane datoteke"
+msgstr "Odaberi filter"
 
 #: ../src/main-win.c:2553
 msgid "Choose a new shell pattern to show files:"
@@ -1179,9 +1175,8 @@ msgid "Open new window"
 msgstr "Otvori u novom prozoru"
 
 #: ../src/pcmanfm.c:93
-#, fuzzy
 msgid "Open a Find Files window"
-msgstr "Otvori u novom prozoru"
+msgstr ""
 
 #: ../src/pcmanfm.c:95
 msgid "Window role for usage by window manager"
index a78e277..18de2bf 100644 (file)
--- a/po/it.po
+++ b/po/it.po
@@ -7,8 +7,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: pcmanfm 1.1\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-01-09 09:41+0100\n"
-"PO-Revision-Date: 2013-11-14 18:11+0000\n"
+"POT-Creation-Date: 2014-01-22 00:33+0200\n"
+"PO-Revision-Date: 2014-05-11 14:02+0000\n"
 "Last-Translator: Daniele <daniele@forsi.it>\n"
 "Language-Team: Italian <debian-l10n-italian@lists.debian.org>\n"
 "Language: it\n"
@@ -17,12 +17,11 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 "X-Generator: Pootle 2.5.0\n"
-"X-POOTLE-MTIME: 1384452687.0\n"
+"X-POOTLE-MTIME: 1399816942.0\n"
 
 #: ../data/ui/about.glade.in.h:1
-#, fuzzy
 msgid "Copyright (C) 2009 - 2014"
-msgstr "Copyright © 2009 - 2013"
+msgstr "Copyright © 2009 - 2014"
 
 #. Please replace this line with your own names, one name per line.
 #: ../data/ui/about.glade.in.h:3
@@ -85,24 +84,20 @@ msgid "<b>Show desktop icons</b>"
 msgstr "<b>Mostra icone sulla scrivania</b>"
 
 #: ../data/ui/desktop-pref.glade.h:14
-#, fuzzy
 msgid "_Show \"Documents\" folder on the desktop"
-msgstr "Mo_stra l'icona «Documenti» sulla scrivania"
+msgstr "Mo_stra la cartella «Documenti» sulla scrivania"
 
 #: ../data/ui/desktop-pref.glade.h:15
-#, fuzzy
 msgid "Sho_w \"Devices\" folder on the desktop"
-msgstr "Mo_stra l'icona «Dispositivi» sulla scrivania"
+msgstr "Mostra la cartella «Dispositi_vi» sulla scrivania"
 
 #: ../data/ui/desktop-pref.glade.h:16
-#, fuzzy
 msgid "Show \"_Trash Can\" folder on the desktop"
-msgstr "Mostra l'icona «Ces_tino» sulla scrivania"
+msgstr "Mostra la cartella «Ces_tino» sulla scrivania"
 
 #: ../data/ui/desktop-pref.glade.h:17
-#, fuzzy
 msgid "S_how connected volumes on the desktop"
-msgstr "Mostra _icone dei volumi sulla scrivania"
+msgstr "Mostra i _volumi connessi sulla scrivania"
 
 #: ../data/ui/desktop-pref.glade.h:18
 msgid "_Desktop Icons"
@@ -116,26 +111,26 @@ msgstr ""
 #: ../data/ui/desktop-pref.glade.h:20
 msgid "_Use desktop as a folder (show icons on it) by path:"
 msgstr ""
+"_Usa la scrivania come una cartella (visualizza le icone) in base al "
+"percorso:"
 
 #: ../data/ui/desktop-pref.glade.h:21 ../data/ui/pref.glade.h:84
 msgctxt "Use path for some folder: ..."
 msgid "Default"
-msgstr ""
+msgstr "Predefinito"
 
 #: ../data/ui/desktop-pref.glade.h:22 ../data/ui/pref.glade.h:85
 msgctxt "Use path for some folder: ..."
 msgid "Custom:"
-msgstr ""
+msgstr "Personalizzato:"
 
 #: ../data/ui/desktop-pref.glade.h:23
-#, fuzzy
 msgid "Select a Desktop Folder"
-msgstr "Cartella scrivania"
+msgstr "Scegli una cartella per la scrivania"
 
 #: ../data/ui/desktop-pref.glade.h:24
-#, fuzzy
 msgid "_Open folders from desktop in new window"
-msgstr "Apri in una nuova finestra"
+msgstr "Apri le cartelle dalla scrivania in una nu_ova finestra"
 
 #: ../data/ui/desktop-pref.glade.h:25
 msgid "Ad_vanced"
@@ -146,47 +141,39 @@ msgid "Fill with background color only"
 msgstr "Riempi solo con il colore di sfondo"
 
 #: ../data/ui/desktop-pref.glade.h:27
-#, fuzzy
 msgid "Stretch to fill the entire monitor area"
-msgstr "Allarga per riempire l'intero schermo"
+msgstr "Allarga per riempire tutto lo schermo"
 
 #: ../data/ui/desktop-pref.glade.h:28
-#, fuzzy
 msgid "Stretch to fit the monitor area"
-msgstr "Allarga per adattare allo schermo"
+msgstr "Restringi per far entrare tutto nello schermo"
 
 #: ../data/ui/desktop-pref.glade.h:29
 msgid "Center unscaled image on the monitor"
-msgstr ""
+msgstr "Centra l'immagine non ridimensionata nello schermo"
 
 #: ../data/ui/desktop-pref.glade.h:30
-#, fuzzy
 msgid "Tile the image to fill the entire monitor area"
-msgstr "Ripeti l'immagine per riempire l'intero schermo"
+msgstr "Ripeti l'immagine per riempire tutto lo schermo"
 
 #: ../data/ui/desktop-pref.glade.h:31
-#, fuzzy
 msgid "Stretch and crop to fill the monitor area"
-msgstr "Allarga per riempire l'intero schermo"
+msgstr "Restringi e ritaglia per riempire tutto lo schermo"
 
 #: ../data/ui/desktop-pref.glade.h:32
-#, fuzzy
 msgid "Stretch to fill the complete screen"
-msgstr "Allarga per riempire l'intero schermo"
+msgstr "Allarga per riempire tutto lo schermo"
 
 # perferenze per l'apertura dei segnalibri
 #: ../data/ui/pref.glade.h:1
-#, fuzzy
 msgid "Open in current tab"
 msgstr "Apri nella scheda attuale"
 
 #: ../data/ui/pref.glade.h:2
-#, fuzzy
 msgid "Open in new tab"
-msgstr "Apri in una nuova _scheda"
+msgstr "Apri in una nuova scheda"
 
 #: ../data/ui/pref.glade.h:3
-#, fuzzy
 msgid "Open in new window"
 msgstr "Apri una nuova finestra"
 
@@ -239,6 +226,8 @@ msgstr "Azione predefini_ta per il rilascio:"
 #: ../data/ui/pref.glade.h:15
 msgid "\"_Smart shortcut\" auto-action on drop to Desktop folder"
 msgstr ""
+"Azione automatica «_Scorciatoia intelligente» quando si rilascia sulla "
+"Scrivania"
 
 #: ../data/ui/pref.glade.h:16
 msgid ""
@@ -248,6 +237,13 @@ msgid ""
 "- other files (e.g. on removable media) will be copied\n"
 "- for some external URI a shortcut will be created"
 msgstr ""
+"Se abilitata, l'azione «Automatica» quando si rilascia un file sulla "
+"Scrivania sarà:\n"
+"- per i file direttamente nella cartella Home verrà creato un collegamento "
+"simbolico\n"
+"- i file nello stesso filesystem verranno spostati\n"
+"- altri file (es. quelli su supporti rimovibili) saranno copiati\n"
+"- per alcuni URI esterni verrà creata una scorciatoia"
 
 #: ../data/ui/pref.glade.h:21
 msgid "_Unfold tab when files are dragged onto tab button"
@@ -257,6 +253,7 @@ msgstr ""
 #: ../data/ui/pref.glade.h:22
 msgid "_Focus previous folder after coming to its parent"
 msgstr ""
+"Sposta il _focus sulla cartella precedente dopo essere venuto sul genitore"
 
 #: ../data/ui/pref.glade.h:23
 msgid "<b>Default View</b>"
@@ -319,9 +316,8 @@ msgid "Al_ways show full file names"
 msgstr "_Mostra sempre i nomi completi dei file"
 
 #: ../data/ui/pref.glade.h:38
-#, fuzzy
 msgid "Show icons of hidden _files shadowed"
-msgstr "Mostra ombreggiate le icone dei file di bac_kup"
+msgstr "Mostra ombreggiate le icone dei _file nascosti"
 
 #: ../data/ui/pref.glade.h:39
 msgid "_Display"
@@ -406,15 +402,12 @@ msgstr ""
 "Mo_stra opzioni disponibili per supporti rimovibili quando sono inseriti"
 
 #: ../data/ui/pref.glade.h:60
-#, fuzzy
 msgid "Do_n't show available options for those media types:"
-msgstr ""
-"Mo_stra opzioni disponibili per supporti rimovibili quando sono inseriti"
+msgstr "_Non mostrare le opzioni disponibili per questi tipi di supporto:"
 
 #: ../data/ui/pref.glade.h:61
-#, fuzzy
 msgid "_Remove selected"
-msgstr "%d elemento selezionato"
+msgstr "_Rimuovi selezionato"
 
 #: ../data/ui/pref.glade.h:62
 msgid "_Open mounted removable media in new tab instead of new window"
@@ -423,18 +416,16 @@ msgstr ""
 "finestre"
 
 #: ../data/ui/pref.glade.h:63
-#, fuzzy
 msgid "When removable medium unmounted:"
-msgstr "Un supporto rimovibile è stato inserito"
+msgstr "Quando un supporto rimovibile è smontato:"
 
 #: ../data/ui/pref.glade.h:64
-#, fuzzy
 msgid "Clos_e tab containing removable medium"
-msgstr "Chiudi sch_ede quando supporti rimovibili contenuti sono smontati"
+msgstr "Chiudi la sch_eda contenente il supporto rimovibile"
 
 #: ../data/ui/pref.glade.h:65
 msgid "Change folder in the tab to _Home Folder"
-msgstr ""
+msgstr "Cambia cartella in _Home nella linguetta"
 
 #: ../data/ui/pref.glade.h:66
 msgid "_Volume Management"
@@ -487,7 +478,6 @@ msgid "<b>Other Options</b>"
 msgstr "<b>Altre opzioni</b>"
 
 #: ../data/ui/pref.glade.h:79
-#, fuzzy
 msgid "Use Application Startup Notify _by default"
 msgstr "_Usa Application Startup Notify in maniera predefinita"
 
@@ -507,11 +497,11 @@ msgstr "Rinvia controllo tipo di cont_enuto al caricamento della cartella"
 
 #: ../data/ui/pref.glade.h:83
 msgid "Use path for \"Home Folder\" button:"
-msgstr ""
+msgstr "Percorso da usare per il pulsante «Home»:"
 
 #: ../data/ui/pref.glade.h:86
 msgid "_Use current"
-msgstr ""
+msgstr "_Usa attuale"
 
 #: ../data/ui/pref.glade.h:87
 msgid "_Advanced"
@@ -519,15 +509,15 @@ msgstr "_Avanzate"
 
 #: ../data/ui/pref.glade.h:88
 msgid "<b>_Do not load modules matching:</b>"
-msgstr ""
+msgstr "<b>Non caricare i moduli che corrispon_dono a:</b>"
 
 #: ../data/ui/pref.glade.h:89
 msgid "<b>_Load these modules anyway:</b>"
-msgstr ""
+msgstr "<b>Carica questi modu_li in ogni caso:</b>"
 
 #: ../data/ui/pref.glade.h:90
 msgid "Modules"
-msgstr ""
+msgstr "Moduli"
 
 #: ../data/ui/pref.glade.h:91
 msgid "Auto (move if on the same FS, copy otherwise)"
@@ -546,22 +536,18 @@ msgid "Ask"
 msgstr "Chiedi"
 
 #: ../data/ui/pref.glade.h:95
-#, fuzzy
 msgid "Icon view"
 msgstr "Vista icone"
 
 #: ../data/ui/pref.glade.h:96
-#, fuzzy
 msgid "Compact view"
 msgstr "Vista compatta"
 
 #: ../data/ui/pref.glade.h:97
-#, fuzzy
 msgid "Thumbnail view"
 msgstr "Vista anteprime"
 
 #: ../data/ui/pref.glade.h:98
-#, fuzzy
 msgid "Detailed list view"
 msgstr "Vista lista dettagliata"
 
@@ -587,60 +573,59 @@ msgstr "Per favore scegli l'azione che vuoi effettuare:"
 
 #: ../data/ui/autorun.glade.h:6
 msgid "_Always perform this action on this media type"
-msgstr ""
+msgstr "Esegui sempre questa _azione su questo media type"
 
 #: ../data/ui/connect.glade.h:1
 msgid "Connect to remote server"
-msgstr ""
+msgstr "Connetti a un server remoto"
 
 #: ../data/ui/connect.glade.h:2
 msgid "<b>Specify remote folder to connect</b>"
-msgstr ""
+msgstr "<b>Specifica la cartella remota a cui connettersi</b>"
 
 #: ../data/ui/connect.glade.h:3
 msgid "_Type:"
-msgstr ""
+msgstr "_Tipo:"
 
 #: ../data/ui/connect.glade.h:4
 msgid "_Host:"
-msgstr ""
+msgstr "_Host:"
 
 #: ../data/ui/connect.glade.h:5
 msgid "_Port:"
-msgstr ""
+msgstr "_Porta:"
 
 #: ../data/ui/connect.glade.h:6
 msgid "Pa_th:"
-msgstr ""
+msgstr "Percors_o:"
 
 #: ../data/ui/connect.glade.h:7
 msgid "_Anonymous login"
-msgstr ""
+msgstr "_Accesso anonimo"
 
 #: ../data/ui/connect.glade.h:8
 msgid "_Login as:"
-msgstr ""
+msgstr "A_ccesso come:"
 
 #: ../data/ui/connect.glade.h:9
 msgid "SSH"
-msgstr ""
+msgstr "SSH"
 
 #: ../data/ui/connect.glade.h:10
 msgid "FTP"
-msgstr ""
+msgstr "FTP"
 
 #: ../data/ui/connect.glade.h:11
 msgid "WebDAV"
-msgstr ""
+msgstr "WebDAV"
 
 #: ../src/volume-manager.c:237
 msgid "mixed content"
-msgstr ""
+msgstr "contenuto misto"
 
 #: ../src/volume-manager.c:246
-#, fuzzy
 msgid "removable disk"
-msgstr "Disco rimovibile"
+msgstr "disco rimovibile"
 
 #: ../src/volume-manager.c:302
 msgid "Open in File Manager"
@@ -660,7 +645,7 @@ msgstr "Apri nel _terminale"
 
 #: ../src/desktop-ui.c:68
 msgid "_Remove from Desktop"
-msgstr ""
+msgstr "_Rimuovi dalla scrivania"
 
 #: ../src/desktop-ui.c:85
 msgid "Stic_k to Current Position"
@@ -717,7 +702,7 @@ msgstr "File vuoto"
 
 #: ../src/main-win-ui.c:193
 msgid "Folder Propertie_s"
-msgstr ""
+msgstr "Propri_età cartella"
 
 #: ../src/main-win-ui.c:194
 msgid "_Close Tab"
@@ -733,43 +718,39 @@ msgstr "_Modifica"
 
 #: ../src/main-win-ui.c:198
 msgid "C_ut"
-msgstr ""
+msgstr "_Taglia"
 
 #: ../src/main-win-ui.c:201
 msgid "Move to _Trash"
-msgstr ""
+msgstr "_Sposta nel cestino"
 
 #: ../src/main-win-ui.c:203
 msgid "Copy Pat_h(s)"
-msgstr ""
+msgstr "Copia p_ercorsi"
 
 #: ../src/main-win-ui.c:204
-#, fuzzy
 msgid "R_ename..."
-msgstr "_Rinomina"
+msgstr "_Rinomina..."
 
 #: ../src/main-win-ui.c:205
 msgid "D_uplicate..."
-msgstr ""
+msgstr "D_uplica..."
 
 #: ../src/main-win-ui.c:206
-#, fuzzy
 msgid "Create Lin_k..."
-msgstr "Crea _nuovo..."
+msgstr "Crea collegamen_to..."
 
 #: ../src/main-win-ui.c:207
-#, fuzzy
 msgid "_Move to..."
 msgstr "S_posta in..."
 
 #: ../src/main-win-ui.c:208
-#, fuzzy
 msgid "Copy to_..."
 msgstr "C_opia in..."
 
 #: ../src/main-win-ui.c:209
 msgid "Propertie_s"
-msgstr ""
+msgstr "_Proprietà"
 
 #: ../src/main-win-ui.c:211
 msgid "_Invert Selection"
@@ -792,13 +773,12 @@ msgid "Reload current folder"
 msgstr "Ricarica la cartella corrente"
 
 #: ../src/main-win-ui.c:215
-#, fuzzy
 msgid "Tool_bar"
 msgstr "_Strumenti"
 
 #: ../src/main-win-ui.c:216
 msgid "Pat_h Bar"
-msgstr ""
+msgstr "_Barra del percorso"
 
 #: ../src/main-win-ui.c:217
 msgid "Side _Pane"
@@ -806,9 +786,8 @@ msgstr "Ri_quadro laterale"
 
 #. other see below: 'ShowHidden' 'ShowStatus' 'Fullscreen' 'IconView'...
 #: ../src/main-win-ui.c:219
-#, fuzzy
 msgid "Fo_lder View Mode"
-msgstr "Modalità _vista:"
+msgstr "Moda_lità vista cartella"
 
 #: ../src/main-win-ui.c:220
 msgid "S_ort Files"
@@ -816,11 +795,11 @@ msgstr "_Ordina file"
 
 #: ../src/main-win-ui.c:222
 msgid "Zoom O_ut"
-msgstr ""
+msgstr "Rid_uci ingrandimento"
 
 #: ../src/main-win-ui.c:225
 msgid "Fil_ter..."
-msgstr ""
+msgstr "Fil_tro..."
 
 #: ../src/main-win-ui.c:227
 msgid "_Help"
@@ -909,15 +888,15 @@ msgstr "Va all'elenco delle destinazioni nella rete"
 
 #: ../src/main-win-ui.c:241
 msgid "_Go to Location..."
-msgstr ""
+msgstr "Vai alla posi_zione..."
 
 #: ../src/main-win-ui.c:242
 msgid "_Connect to Server..."
-msgstr ""
+msgstr "_Connetti al server..."
 
 #: ../src/main-win-ui.c:242
 msgid "Open a window to choose remote folder location"
-msgstr ""
+msgstr "Apre una finestra per scegliere la posizione della cartella remota"
 
 #: ../src/main-win-ui.c:243
 msgid "Go to the path in the location bar"
@@ -928,9 +907,8 @@ msgid "_Bookmarks"
 msgstr "S_egnalibri"
 
 #: ../src/main-win-ui.c:245
-#, fuzzy
 msgid "_Add to Bookmarks..."
-msgstr "A_ggiungi ai segnalibri"
+msgstr "A_ggiungi ai segnalibri..."
 
 #: ../src/main-win-ui.c:245
 msgid "Add current folder to bookmarks list"
@@ -938,7 +916,7 @@ msgstr "Aggiunge la cartella corrente all'elenco dei segnalibri"
 
 #: ../src/main-win-ui.c:246
 msgid "Too_ls"
-msgstr ""
+msgstr "_Strumenti"
 
 #: ../src/main-win-ui.c:247
 msgid "Open Current Folder in _Terminal"
@@ -946,62 +924,61 @@ msgstr "Apri cartella corrente nel _terminale"
 
 # Nautilus usa _Search for files->C_erca file...
 #: ../src/main-win-ui.c:249
-#, fuzzy
 msgid "Fin_d Files..."
-msgstr "C_erca file"
+msgstr "C_erca file..."
 
 #: ../src/main-win-ui.c:249
 msgid "Open search dialog"
 msgstr "Apre la finestra di dialogo delle ricerche"
 
 #: ../src/main-win-ui.c:252
-#, fuzzy
 msgid "_Run a Command in Current Folder..."
-msgstr "Ricarica la cartella corrente"
+msgstr "Esegui un comando nella ca_rtella corrente..."
 
 #. Note to translators: "Mingle..." means "Do not put folders before files" but make the translation as short as possible, please!
 #: ../src/main-win-ui.c:267
 msgid "Mingle _Files and Folders"
-msgstr ""
+msgstr "Mescola _file e cartelle"
 
 #: ../src/main-win-ui.c:270
 msgid "_Ignore Name Case"
-msgstr ""
+msgstr "_Ignora maiuscole/minuscole"
 
 #: ../src/main-win-ui.c:272
-#, fuzzy
 msgid "Sho_w Hidden"
 msgstr "Mostra _nascosti"
 
 #. Note to translators: this save is meant for folder's settings such as sort
 #: ../src/main-win-ui.c:274
 msgid "Preserve This Folder's Settings"
-msgstr ""
+msgstr "Ricorda impostazioni cartella"
 
 #: ../src/main-win-ui.c:275
 msgid ""
 "Check to remember view and sort as folder setting rather than global one"
 msgstr ""
+"Selezionare per ricordare la visualizzazione e l'ordinamento come "
+"impostazioni della cartella invece che globali"
 
 #: ../src/main-win-ui.c:277
 msgid "_Show Toolbar"
-msgstr ""
+msgstr "Mo_stra barra strumenti"
 
 #: ../src/main-win-ui.c:278
 msgid "Show 'New _Window' Button"
-msgstr ""
+msgstr "Mostra pulsante «Nuova _finestra»"
 
 #: ../src/main-win-ui.c:279
 msgid "Show 'New _Tab' Button"
-msgstr ""
+msgstr "Mostra pulsante «Nuova sc_heda»"
 
 #: ../src/main-win-ui.c:280
 msgid "Show _Navigation Buttons"
-msgstr ""
+msgstr "Mostra i pulsanti di _navigazione"
 
 #: ../src/main-win-ui.c:281
 msgid "Show '_Home' Button"
-msgstr ""
+msgstr "Mostra pulsante «_Home»"
 
 #: ../src/main-win-ui.c:282
 msgid "Sho_w Side Pane"
@@ -1012,13 +989,12 @@ msgid "Show Status B_ar"
 msgstr "Mostra _barra di stato"
 
 #: ../src/main-win-ui.c:284
-#, fuzzy
 msgid "_Dual Pane Mode"
 msgstr "Modalità riquadri _gemelli"
 
 #: ../src/main-win-ui.c:284
 msgid "Show two panels with folder views"
-msgstr ""
+msgstr "Mostra due pannelli con le visualizzazioni delle cartelle"
 
 #: ../src/main-win-ui.c:285
 msgid "Fullscreen _Mode"
@@ -1058,7 +1034,7 @@ msgstr "Per _tipo di file"
 
 #: ../src/main-win-ui.c:312
 msgid "By _Extension"
-msgstr ""
+msgstr "Per _estensione"
 
 #: ../src/main-win-ui.c:325
 msgid "Places"
@@ -1073,13 +1049,12 @@ msgid "Remote"
 msgstr "Remoto"
 
 #: ../src/main-win-ui.c:333
-#, fuzzy
 msgid "_Location"
-msgstr "App_licazioni"
+msgstr "_Posizione"
 
 #: ../src/main-win-ui.c:334
 msgid "_Buttons"
-msgstr ""
+msgstr "P_ulsanti"
 
 #: ../src/main-win.c:925 ../src/main-win.c:929
 msgid "Show history of visited folders"
@@ -1134,18 +1109,16 @@ msgstr ""
 "Ctrl+L o Alt+D: porta il focus sulla Barra del percorso"
 
 #: ../src/main-win.c:1210
-#, fuzzy
 msgid "Run a command"
-msgstr "Comando di _formattazione:"
+msgstr "Esegui un comando"
 
 #: ../src/main-win.c:1211
 msgid "Enter a command to run:"
-msgstr ""
+msgstr "Inserire il comando da eseguire:"
 
 #: ../src/main-win.c:1218
-#, fuzzy
 msgid "Current folder is inaccessible"
-msgstr "Apri cartella corrente nel _terminale"
+msgstr "La cartella corrente è inaccessibile"
 
 #: ../src/main-win.c:1822
 #, c-format
@@ -1164,11 +1137,11 @@ msgstr "Aggiungi ai segnalibri"
 
 #: ../src/main-win.c:2552
 msgid "Select filter"
-msgstr ""
+msgstr "Seleziona filtro"
 
 #: ../src/main-win.c:2553
 msgid "Choose a new shell pattern to show files:"
-msgstr ""
+msgstr "Scegli un nuovo modello della shell per mostrare i file:"
 
 #. options only acceptable by first pcmanfm instance. These options are not passed through IPC
 #: ../src/pcmanfm.c:78
@@ -1214,13 +1187,12 @@ msgstr "FILE"
 
 #. don't translate list of modes in description, please
 #: ../src/pcmanfm.c:89
-#, fuzzy
 msgid ""
 "Set mode of desktop wallpaper. MODE=(color|stretch|fit|crop|center|tile|"
 "screen)"
 msgstr ""
-"Imposta lo stile per lo sfondo della scrivania. MODO=(color|stretch|fit|"
-"center|tile)"
+"Imposta lo stile per lo sfondo della scrivania. "
+"MODO=(color|stretch|fit|crop|center|tile|screen)"
 
 #: ../src/pcmanfm.c:89
 msgid "MODE"
@@ -1239,9 +1211,8 @@ msgid "Open new window"
 msgstr "Apri una nuova finestra"
 
 #: ../src/pcmanfm.c:93
-#, fuzzy
 msgid "Open a Find Files window"
-msgstr "Apri lo strumento Trova Files"
+msgstr "Apri la finestra «Trova file»"
 
 #: ../src/pcmanfm.c:95
 msgid "Window role for usage by window manager"
@@ -1255,7 +1226,11 @@ msgstr "RUOLO"
 msgid "[FILE1, FILE2,...]"
 msgstr "[FILE1, FILE2,...]"
 
-#: ../src/pcmanfm.c:585
+#: ../src/pcmanfm.c:352
+msgid "Desktop manager is not active."
+msgstr "Il gestore della scrivania non è attivo."
+
+#: ../src/pcmanfm.c:598
 msgid "Terminal emulator is not set."
 msgstr "L'emulatore di terminale non è impostato."
 
@@ -1291,19 +1266,19 @@ msgstr[1] " (%d nascosti)"
 
 #: ../src/pref.c:514
 msgid "Add to Modules Blacklist"
-msgstr ""
+msgstr "Aggiungi all'elenco dei moduli vietati"
 
 #: ../src/pref.c:515
 msgid "Enter a blacklisted module mask:"
-msgstr ""
+msgstr "Inserisci una maschera per l'elenco dei moduli vietati:"
 
 #: ../src/pref.c:606
 msgid "Add to Modules Whitelist"
-msgstr ""
+msgstr "Aggiungi all'elenco dei moduli ammessi"
 
 #: ../src/pref.c:607
 msgid "Enter a whitelisted module mask:"
-msgstr ""
+msgstr "Inserisci una maschera per l'elenco dei moduli ammessi:"
 
 #: ../data/pcmanfm.desktop.in.h:1
 msgid "File Manager PCManFM"
@@ -1319,8 +1294,7 @@ msgstr "Sfoglia il file system e gestisce i file"
 
 #: ../data/pcmanfm-desktop-pref.desktop.in.h:2
 msgid "Change desktop wallpapers and behavior of desktop manager"
-msgstr ""
-"Cambia lo sfondo della scrivania e il comportamento del desktop manager"
+msgstr "Cambia lo sfondo della scrivania e il comportamento del desktop manager"
 
 #~ msgid "Center on the screen"
 #~ msgstr "Centra nello schermo"
index 63d0ae2..c011149 100644 (file)
--- a/po/kk.po
+++ b/po/kk.po
@@ -2,13 +2,12 @@
 # Copyright (C) 2012 The LXDE team
 # This file is distributed under the same license as the LXDE package.
 # Baurzhan Muftakhidinov <baurthefirst@gmail.com>, 2012-2013.
-#
 msgid ""
 msgstr ""
 "Project-Id-Version: pcmanfm 1.1\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-01-09 09:41+0100\n"
-"PO-Revision-Date: 2014-01-13 05:04+0000\n"
+"POT-Creation-Date: 2014-01-22 00:33+0200\n"
+"PO-Revision-Date: 2014-02-20 14:21+0000\n"
 "Last-Translator: sotrud_nik <baurthefirst@gmail.com>\n"
 "Language-Team: Kazakh <kk_KZ@googlegroups.com>\n"
 "Language: kk\n"
@@ -17,7 +16,7 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=1; plural=0;\n"
 "X-Generator: Pootle 2.5.0\n"
-"X-POOTLE-MTIME: 1389589471.0\n"
+"X-POOTLE-MTIME: 1392906107.0\n"
 
 #: ../data/ui/about.glade.in.h:1
 msgid "Copyright (C) 2009 - 2014"
@@ -199,8 +198,7 @@ msgstr "Ө_шірілетін файлдарды дисктен жою орны
 
 #: ../data/ui/pref.glade.h:10
 msgid "_Erase files on removable media instead of \"trash can\" creation"
-msgstr ""
-"Ауыстыр_малы тасушыларда \"қоқыс шелегін\" жасау орнына файлдарды өшіру"
+msgstr "Ауыстыр_малы тасушыларда \"қоқыс шелегін\" жасау орнына файлдарды өшіру"
 
 #: ../data/ui/pref.glade.h:11
 msgid "Confi_rm before moving files into \"trash can\""
@@ -1214,7 +1212,11 @@ msgstr "ROLE"
 msgid "[FILE1, FILE2,...]"
 msgstr "[ФАЙЛ1, ФАЙЛ2,...]"
 
-#: ../src/pcmanfm.c:585
+#: ../src/pcmanfm.c:352
+msgid "Desktop manager is not active."
+msgstr "Жұмыс үстел басқарушысы белсенді емес."
+
+#: ../src/pcmanfm.c:598
 msgid "Terminal emulator is not set."
 msgstr "Терминал эмуляторы көрсетілмеген."
 
index 7f1776d..80d713d 100644 (file)
--- a/po/lg.po
+++ b/po/lg.po
@@ -7,7 +7,7 @@ msgstr ""
 "Project-Id-Version: 0.9.9\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2014-01-22 00:33+0200\n"
-"PO-Revision-Date: 2014-01-28 12:51+0000\n"
+"PO-Revision-Date: 2014-03-08 17:38+0000\n"
 "Last-Translator: kizito <kbirabwa@yahoo.co.uk>\n"
 "Language-Team: lg <kbirabwa@yahoo.co.uk>\n"
 "Language: lg\n"
@@ -16,7 +16,7 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 "X-Generator: Pootle 2.5.0\n"
-"X-POOTLE-MTIME: 1390913503.0\n"
+"X-POOTLE-MTIME: 1394300281.0\n"
 
 #: ../data/ui/about.glade.in.h:1
 msgid "Copyright (C) 2009 - 2014"
@@ -108,6 +108,8 @@ msgstr ""
 #: ../data/ui/desktop-pref.glade.h:20
 msgid "_Use desktop as a folder (show icons on it) by path:"
 msgstr ""
+"_Awakolerwa wabe ng'etterekero (kubeeko bufaananyi obuyunzi). Bugguke ku "
+"bisangibwa mu kifo:"
 
 #: ../data/ui/desktop-pref.glade.h:21 ../data/ui/pref.glade.h:84
 msgctxt "Use path for some folder: ..."
@@ -519,15 +521,15 @@ msgstr "_Ebyetaagisa bumanyirivu"
 
 #: ../data/ui/pref.glade.h:88
 msgid "<b>_Do not load modules matching:</b>"
-msgstr ""
+msgstr "<b>_Toteekamu busobozi obw'enyongeza obulina amanya agalimu:</b>"
 
 #: ../data/ui/pref.glade.h:89
 msgid "<b>_Load these modules anyway:</b>"
-msgstr ""
+msgstr "<b>_Obusobozi obw'enyongeza buno bwo buteekengamu bulijjo:</b>"
 
 #: ../data/ui/pref.glade.h:90
 msgid "Modules"
-msgstr ""
+msgstr "Busobozi obw'enyongeza"
 
 #: ../data/ui/pref.glade.h:91
 msgid "Auto (move if on the same FS, copy otherwise)"
@@ -739,7 +741,7 @@ msgstr "Twala mu _Bisuulidwa"
 
 #: ../src/main-win-ui.c:203
 msgid "Copy Pat_h(s)"
-msgstr ""
+msgstr "Kwata ma_kubo agagguka ku bitangaazidwa"
 
 #: ../src/main-win-ui.c:204
 msgid "R_ename..."
@@ -763,7 +765,7 @@ msgstr "Gyamu k_oppi eteekebwe mu..."
 
 #: ../src/main-win-ui.c:209
 msgid "Propertie_s"
-msgstr ""
+msgstr "Ebi_kwata ku fayiro"
 
 #: ../src/main-win-ui.c:211
 msgid "_Invert Selection"
@@ -978,7 +980,7 @@ msgstr "_Kabaawo k'ebiyamba kalabike"
 
 #: ../src/main-win-ui.c:278
 msgid "Show 'New _Window' Button"
-msgstr "Wabewo eppeesa erya \"Ddiria _Ppya\""
+msgstr "Wabewo eppeesa erya \"Ddirisa _Ppya\""
 
 #: ../src/main-win-ui.c:279
 msgid "Show 'New _Tab' Button"
@@ -986,11 +988,11 @@ msgstr "Wabewo ppeesa erya \"Ka_timbe Kapya\""
 
 #: ../src/main-win-ui.c:280
 msgid "Show _Navigation Buttons"
-msgstr ""
+msgstr "Wabeewo _mapeesa agayamba okukyusa ebirabibwa"
 
 #: ../src/main-win-ui.c:281
 msgid "Show '_Home' Button"
-msgstr ""
+msgstr "Wabeewo ppeesa erikuzza mu _tterekero ly'akawunti yo"
 
 #: ../src/main-win-ui.c:282
 msgid "Sho_w Side Pane"
@@ -1159,6 +1161,8 @@ msgstr "Londa ensunsula"
 #: ../src/main-win.c:2553
 msgid "Choose a new shell pattern to show files:"
 msgstr ""
+"Wandikawo ekiteekwa okusangibwa mu mannya ga fayiro ezinaalagibwa mu "
+"ddirisa:"
 
 #. options only acceptable by first pcmanfm instance. These options are not passed through IPC
 #: ../src/pcmanfm.c:78
@@ -1286,19 +1290,19 @@ msgstr[1] " (%d ebikise)"
 
 #: ../src/pref.c:514
 msgid "Add to Modules Blacklist"
-msgstr ""
+msgstr "Buno buteeke ku lukalala lw'obubooledwa"
 
 #: ../src/pref.c:515
 msgid "Enter a blacklisted module mask:"
-msgstr ""
+msgstr "Wandika ekigambo ekisangibwa mu linnya ly'ekigenda okuboolebwa:"
 
 #: ../src/pref.c:606
 msgid "Add to Modules Whitelist"
-msgstr ""
+msgstr "Buno buteeke ku lukalala lw'obutalina kabi"
 
 #: ../src/pref.c:607
 msgid "Enter a whitelisted module mask:"
-msgstr ""
+msgstr "Wandika ekigambo ekisangibwa mu linnya lya kitalina kabi:"
 
 #: ../data/pcmanfm.desktop.in.h:1
 msgid "File Manager PCManFM"
index d520f31..8da53fc 100644 (file)
--- a/po/lt.po
+++ b/po/lt.po
@@ -8,8 +8,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: pcmanfm\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-01-09 09:41+0100\n"
-"PO-Revision-Date: 2014-01-09 10:30+0200\n"
+"POT-Creation-Date: 2014-01-22 00:33+0200\n"
+"PO-Revision-Date: 2014-02-22 14:05+0200\n"
 "Last-Translator: Algimantas Margevičius <algimantas@margevicius.lt>\n"
 "Language-Team: Lietuvių <>\n"
 "Language: lt\n"
@@ -18,7 +18,7 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n"
 "%100<10 || n%100>=20) ? 1 : 2);\n"
-"X-Generator: Poedit 1.5.7\n"
+"X-Generator: Poedit 1.6.4\n"
 "X-POOTLE-MTIME: 1388158087.0\n"
 
 #: ../data/ui/about.glade.in.h:1
@@ -199,11 +199,11 @@ msgstr "Patvirtinti prieš _ištrinant failus"
 
 #: ../data/ui/pref.glade.h:9
 msgid "_Move deleted files to \"trash can\" instead of erasing from disk"
-msgstr "_Ištrintus failus perkelti į šiukšlinę, o ne ištrinti iš disko"
+msgstr "_Pašalintus failus perkelti į šiukšlinę, o ne pašalinti iš disko"
 
 #: ../data/ui/pref.glade.h:10
 msgid "_Erase files on removable media instead of \"trash can\" creation"
-msgstr "_Išimamoje laikmenoje nekurti šiukšlinės, failus ištrinti iškarto"
+msgstr "_Išimamoje laikmenoje nekurti šiukšlinės, failus pašalinti iškarto"
 
 #: ../data/ui/pref.glade.h:11
 msgid "Confi_rm before moving files into \"trash can\""
@@ -1211,7 +1211,11 @@ msgstr "ROLĖ"
 msgid "[FILE1, FILE2,...]"
 msgstr "[FAILAS1, FAILAS2,...]"
 
-#: ../src/pcmanfm.c:585
+#: ../src/pcmanfm.c:352
+msgid "Desktop manager is not active."
+msgstr "Darbastalio tvarkyklė neaktyvi."
+
+#: ../src/pcmanfm.c:598
 msgid "Terminal emulator is not set."
 msgstr "Nenustatytas terminalo emuliatorius."
 
index 9526df6..9ae4318 100644 (file)
--- a/po/nl.po
+++ b/po/nl.po
@@ -9,7 +9,7 @@ msgstr ""
 "Project-Id-Version: pcmanfm\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2014-01-22 00:33+0200\n"
-"PO-Revision-Date: 2014-01-28 09:40+0000\n"
+"PO-Revision-Date: 2014-04-21 11:35+0000\n"
 "Last-Translator: Pjotr <pjotrvertaalt@gmail.com>\n"
 "Language-Team: Dutch\n"
 "Language: nl\n"
@@ -18,7 +18,7 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 "X-Generator: Pootle 2.5.0\n"
-"X-POOTLE-MTIME: 1390902036.0\n"
+"X-POOTLE-MTIME: 1398080137.0\n"
 
 #: ../data/ui/about.glade.in.h:1
 msgid "Copyright (C) 2009 - 2014"
@@ -946,7 +946,7 @@ msgstr "Vermeng bestanden en mappen"
 
 #: ../src/main-win-ui.c:270
 msgid "_Ignore Name Case"
-msgstr "Negeer hoofdletters/kleine letters"
+msgstr "Negeer hoofdlettergebruik"
 
 #: ../src/main-win-ui.c:272
 msgid "Sho_w Hidden"
index 6813f0f..2df6bf8 100644 (file)
--- a/po/pt.po
+++ b/po/pt.po
@@ -8,7 +8,7 @@ msgstr ""
 "Project-Id-Version: pcmanfm 1.1\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2014-01-22 00:33+0200\n"
-"PO-Revision-Date: 2014-02-03 23:06+0000\n"
+"PO-Revision-Date: 2014-02-19 09:54+0000\n"
 "Last-Translator: Sérgio <smarquespt@gmail.com>\n"
 "Language-Team: \n"
 "Language: pt\n"
@@ -17,7 +17,7 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 "X-Generator: Pootle 2.5.0\n"
-"X-POOTLE-MTIME: 1391468818.0\n"
+"X-POOTLE-MTIME: 1392803656.0\n"
 
 #: ../data/ui/about.glade.in.h:1
 msgid "Copyright (C) 2009 - 2014"
@@ -932,7 +932,7 @@ msgstr "Combinar _ficheiros e pastas"
 
 #: ../src/main-win-ui.c:270
 msgid "_Ignore Name Case"
-msgstr ""
+msgstr "_Ignorar maiúsculas/minúsculas nos nomes"
 
 #: ../src/main-win-ui.c:272
 msgid "Sho_w Hidden"
index 5b0c42e..7a51f33 100644 (file)
--- a/po/sv.po
+++ b/po/sv.po
@@ -9,8 +9,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PCManFM\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-01-09 09:41+0100\n"
-"PO-Revision-Date: 2014-01-10 08:35+0000\n"
+"POT-Creation-Date: 2014-01-22 00:33+0200\n"
+"PO-Revision-Date: 2014-02-19 13:51+0000\n"
 "Last-Translator: Martin <brother@bsnet.se>\n"
 "Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n"
 "Language: sv\n"
@@ -19,7 +19,7 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 "X-Generator: Pootle 2.5.0\n"
-"X-POOTLE-MTIME: 1389342921.0\n"
+"X-POOTLE-MTIME: 1392817901.0\n"
 
 #: ../data/ui/about.glade.in.h:1
 msgid "Copyright (C) 2009 - 2014"
@@ -209,8 +209,8 @@ msgstr ""
 #: ../data/ui/pref.glade.h:10
 msgid "_Erase files on removable media instead of \"trash can\" creation"
 msgstr ""
-"Rad_era filer på flyttbart media istället för att flytta till \"papperskorgen"
-"\""
+"Rad_era filer på flyttbart media istället för att flytta till "
+"\"papperskorgen\""
 
 #: ../data/ui/pref.glade.h:11
 msgid "Confi_rm before moving files into \"trash can\""
@@ -1220,7 +1220,11 @@ msgstr "ROLL"
 msgid "[FILE1, FILE2,...]"
 msgstr "[FIL1, FIL2,...]"
 
-#: ../src/pcmanfm.c:585
+#: ../src/pcmanfm.c:352
+msgid "Desktop manager is not active."
+msgstr "Skrivbordshanteringen är inte aktiv."
+
+#: ../src/pcmanfm.c:598
 msgid "Terminal emulator is not set."
 msgstr "Terminalprogram har inte angivits."
 
index 8b5b67f..f7a2fea 100644 (file)
--- a/po/tr.po
+++ b/po/tr.po
@@ -6,8 +6,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: 0.9.x\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-01-09 09:41+0100\n"
-"PO-Revision-Date: 2014-01-09 23:17+0000\n"
+"POT-Creation-Date: 2014-01-22 00:33+0200\n"
+"PO-Revision-Date: 2014-02-24 14:27+0000\n"
 "Last-Translator: vgezer <volkangezer@gmail.com>\n"
 "Language-Team: tr <tr@li.org>\n"
 "Language: tr\n"
@@ -16,7 +16,7 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=1; plural=0;\n"
 "X-Generator: Pootle 2.5.0\n"
-"X-POOTLE-MTIME: 1389309459.0\n"
+"X-POOTLE-MTIME: 1393252069.0\n"
 
 #: ../data/ui/about.glade.in.h:1
 msgid "Copyright (C) 2009 - 2014"
@@ -1212,7 +1212,11 @@ msgstr "ROL"
 msgid "[FILE1, FILE2,...]"
 msgstr "[DOSYA1, DOSYA2,...]"
 
-#: ../src/pcmanfm.c:585
+#: ../src/pcmanfm.c:352
+msgid "Desktop manager is not active."
+msgstr "Masaüstü yöneticisi etkin değil."
+
+#: ../src/pcmanfm.c:598
 msgid "Terminal emulator is not set."
 msgstr "Uçbirim öykünücüsü seçilmedi."
 
index 0331da2..3b0ecd5 100644 (file)
@@ -6,8 +6,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: pcmanfm 1.1\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-01-09 09:41+0100\n"
-"PO-Revision-Date: 2014-01-10 09:40+0000\n"
+"POT-Creation-Date: 2014-01-22 00:33+0200\n"
+"PO-Revision-Date: 2014-02-23 12:17+0000\n"
 "Last-Translator: Wylmer <wantinghard@gmail.com>\n"
 "Language-Team: Chinese (simplified) <i18n-zh@googlegroups.com>\n"
 "Language: zh_CN\n"
@@ -16,7 +16,7 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=1; plural=0;\n"
 "X-Generator: Pootle 2.5.0\n"
-"X-POOTLE-MTIME: 1389346821.0\n"
+"X-POOTLE-MTIME: 1393157859.0\n"
 
 #: ../data/ui/about.glade.in.h:1
 msgid "Copyright (C) 2009 - 2014"
@@ -1201,7 +1201,11 @@ msgstr "角色"
 msgid "[FILE1, FILE2,...]"
 msgstr "[文件1, 文件2,...]"
 
-#: ../src/pcmanfm.c:585
+#: ../src/pcmanfm.c:352
+msgid "Desktop manager is not active."
+msgstr "桌面管理器未激活。"
+
+#: ../src/pcmanfm.c:598
 msgid "Terminal emulator is not set."
 msgstr "没有设置终端模拟器。"
 
index 6959cf3..267ea29 100644 (file)
@@ -7,7 +7,7 @@ msgstr ""
 "Project-Id-Version: 0.1\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2014-01-22 00:33+0200\n"
-"PO-Revision-Date: 2014-01-31 07:45+0000\n"
+"PO-Revision-Date: 2014-04-06 06:59+0000\n"
 "Last-Translator: wwycheuk <wwycheuk@gmail.com>\n"
 "Language-Team: zh_TW <zh_TW@li.org>\n"
 "Language: zh_TW\n"
@@ -17,7 +17,7 @@ msgstr ""
 "Plural-Forms: nplurals=1; plural=0;\n"
 "X-Generator: Pootle 2.5.0\n"
 "X-Poedit-SourceCharset: UTF-8\n"
-"X-POOTLE-MTIME: 1391154319.0\n"
+"X-POOTLE-MTIME: 1396767553.0\n"
 
 #: ../data/ui/about.glade.in.h:1
 msgid "Copyright (C) 2009 - 2014"
@@ -492,14 +492,12 @@ msgid "_Advanced"
 msgstr "進階(_A)"
 
 #: ../data/ui/pref.glade.h:88
-#, fuzzy
 msgid "<b>_Do not load modules matching:</b>"
-msgstr "<b>不載入匹配以下模式的模組:</b>"
+msgstr "<b>不載入匹配以下模式的模組(_D):</b>"
 
 #: ../data/ui/pref.glade.h:89
-#, fuzzy
 msgid "<b>_Load these modules anyway:</b>"
-msgstr "<b>強制載入這些模組:</b>"
+msgstr "<b>強制載入這些模組(_L):</b>"
 
 #: ../data/ui/pref.glade.h:90
 msgid "Modules"
@@ -842,9 +840,8 @@ msgid "_Desktop"
 msgstr "桌面(_D)"
 
 #: ../src/main-win-ui.c:235
-#, fuzzy
 msgid "Go to desktop folder"
-msgstr "到上層資料夾"
+msgstr "到桌面資料夾"
 
 #: ../src/main-win-ui.c:236
 msgid "Open trash can"
@@ -932,7 +929,7 @@ msgstr "在目前的資料夾執行指令(_R)..."
 #. Note to translators: "Mingle..." means "Do not put folders before files" but make the translation as short as possible, please!
 #: ../src/main-win-ui.c:267
 msgid "Mingle _Files and Folders"
-msgstr ""
+msgstr "混同檔案及資料夾(_F)"
 
 #: ../src/main-win-ui.c:270
 msgid "_Ignore Name Case"
index cb53f01..68e2eb9 100644 (file)
@@ -49,3 +49,10 @@ pcmanfm_LDADD = \
        $(XLIB_LIBS) \
        $(FM_LIBS) \
        $(NULL)
+
+# prepare modules directory
+install-exec-local:
+       $(MKDIR_P) "$(DESTDIR)$(libdir)/pcmanfm"
+
+uninstall-local:
+       -rmdir "$(DESTDIR)$(libdir)/pcmanfm"
index e0f0f95..5ac02ac 100644 (file)
@@ -770,7 +770,7 @@ install-dvi: install-dvi-am
 
 install-dvi-am:
 
-install-exec-am: install-binPROGRAMS
+install-exec-am: install-binPROGRAMS install-exec-local
 
 install-html: install-html-am
 
@@ -809,7 +809,8 @@ ps: ps-am
 
 ps-am:
 
-uninstall-am: uninstall-binPROGRAMS uninstall-includeHEADERS
+uninstall-am: uninstall-binPROGRAMS uninstall-includeHEADERS \
+       uninstall-local
 
 .MAKE: install-am install-strip
 
@@ -819,14 +820,22 @@ uninstall-am: uninstall-binPROGRAMS uninstall-includeHEADERS
        distdir dvi dvi-am html html-am info info-am install \
        install-am install-binPROGRAMS install-data install-data-am \
        install-dvi install-dvi-am install-exec install-exec-am \
-       install-html install-html-am install-includeHEADERS \
-       install-info install-info-am install-man install-pdf \
-       install-pdf-am install-ps install-ps-am install-strip \
-       installcheck installcheck-am installdirs maintainer-clean \
-       maintainer-clean-generic mostlyclean mostlyclean-compile \
-       mostlyclean-generic pdf pdf-am ps ps-am tags tags-am uninstall \
-       uninstall-am uninstall-binPROGRAMS uninstall-includeHEADERS
-
+       install-exec-local install-html install-html-am \
+       install-includeHEADERS install-info install-info-am \
+       install-man install-pdf install-pdf-am install-ps \
+       install-ps-am install-strip installcheck installcheck-am \
+       installdirs maintainer-clean maintainer-clean-generic \
+       mostlyclean mostlyclean-compile mostlyclean-generic pdf pdf-am \
+       ps ps-am tags tags-am uninstall uninstall-am \
+       uninstall-binPROGRAMS uninstall-includeHEADERS uninstall-local
+
+
+# prepare modules directory
+install-exec-local:
+       $(MKDIR_P) "$(DESTDIR)$(libdir)/pcmanfm"
+
+uninstall-local:
+       -rmdir "$(DESTDIR)$(libdir)/pcmanfm"
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
index 96a31b6..e6a05fd 100644 (file)
@@ -3,7 +3,7 @@
  *
  *      This file is a part of the PCManFM project.
  *
- *      Copyright 2013 Andriy Grytsenko (LStranger) <andrej@rep.kiev.ua>
+ *      Copyright 2013-2014 Andriy Grytsenko (LStranger) <andrej@rep.kiev.ua>
  *
  *      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
@@ -48,6 +48,7 @@ static void on_response(GtkDialog *dialog, gint resp, ConnectDlg *dlg)
     char *scheme = NULL;
     const char *text;
     FmPath *path;
+    int def_port, used_port;
 
     if (resp == GTK_RESPONSE_OK && gtk_combo_box_get_active_iter(dlg->server_type, &iter))
         gtk_tree_model_get(gtk_combo_box_get_model(dlg->server_type), &iter, 1, &scheme, -1);
@@ -59,8 +60,18 @@ static void on_response(GtkDialog *dialog, gint resp, ConnectDlg *dlg)
         g_string_append(str, "://");
         if (gtk_toggle_button_get_active(dlg->user_user))
             g_string_append_printf(str, "%s@", gtk_entry_get_text(dlg->login_entry));
-        g_string_append_printf(str, "%s:%d", gtk_entry_get_text(dlg->server_host),
-                               (int)gtk_spin_button_get_value(dlg->server_port));
+        g_string_append(str, gtk_entry_get_text(dlg->server_host));
+        if (strcmp(scheme, "sftp") == 0)
+            def_port = 22;
+        else if (strcmp(scheme, "ftp") == 0)
+            def_port = 21;
+        else if (strcmp(scheme, "dav") == 0)
+            def_port = 80;
+        else
+            def_port = -1;
+        used_port = (int)gtk_spin_button_get_value(dlg->server_port);
+        if (def_port != used_port)
+            g_string_append_printf(str, ":%d", used_port);
         text = gtk_entry_get_text(dlg->server_path);
         if (text[0] != '/')
             g_string_append_c(str, '/');
index 3b0703d..7a059cb 100644 (file)
@@ -277,13 +277,13 @@ static inline void load_items(FmDesktop* desktop)
                 item->area.x = g_key_file_get_integer(kf, name, "x", NULL);
                 item->area.y = g_key_file_get_integer(kf, name, "y", NULL);
                 /* pull item into screen bounds */
-                if (item->area.x < desktop->xmargin)
-                    item->area.x = desktop->xmargin;
-                if (item->area.y < desktop->ymargin)
-                    item->area.y = desktop->ymargin;
+                if (item->area.x < desktop->xmargin + desktop->working_area.x)
+                    item->area.x = desktop->xmargin + desktop->working_area.x;
+                if (item->area.y < desktop->ymargin + desktop->working_area.y)
+                    item->area.y = desktop->ymargin + desktop->working_area.y;
                 calc_item_size(desktop, item, icon);
                 /* check if item is in screen bounds and pull it if it's not */
-                out = item->area.x + item->area.width + desktop->xmargin - desktop->working_area.width;
+                out = item->area.x + item->area.width + desktop->xmargin - desktop->working_area.width - desktop->working_area.x;
                 if (out > 0)
                 {
                     if (out > item->area.x - desktop->xmargin)
@@ -292,7 +292,7 @@ static inline void load_items(FmDesktop* desktop)
                     item->icon_rect.x -= out;
                     item->text_rect.x -= out;
                 }
-                out = item->area.y + item->area.height + desktop->ymargin - desktop->working_area.height;
+                out = item->area.y + item->area.height + desktop->ymargin - desktop->working_area.height - desktop->working_area.y;
                 if (out > 0)
                 {
                     if (out > item->area.y - desktop->ymargin)
@@ -486,6 +486,12 @@ static void copy_desktop_config(FmDesktopConfig *dst, FmDesktopConfig *src)
     dst->desktop_sort_type = src->desktop_sort_type;
     dst->desktop_sort_by = src->desktop_sort_by;
     dst->folder = g_strdup(src->folder);
+#if FM_CHECK_VERSION(1, 2, 0)
+    dst->show_documents = src->show_documents;
+    dst->show_trash = src->show_trash;
+    dst->show_mounts = src->show_mounts;
+#endif
+
 }
 
 #if FM_CHECK_VERSION(1, 2, 0)
@@ -1712,7 +1718,7 @@ _next_position:
                 item->area.x = self->working_area.x + x;
                 item->area.y = self->working_area.y + y;
                 calc_item_size(self, item, icon);
-                while (y < item->area.y + item->area.height)
+                while (self->working_area.y + y < item->area.y + item->area.height)
                     y += self->cell_h;
                 if(y > bottom)
                 {
@@ -1746,7 +1752,7 @@ _next_position_rtl:
                 item->area.x = self->working_area.x + x;
                 item->area.y = self->working_area.y + y;
                 calc_item_size(self, item, icon);
-                while (y < item->area.y + item->area.height)
+                while (self->working_area.y + y < item->area.y + item->area.height)
                     y += self->cell_h;
                 if(y > bottom)
                 {
@@ -1796,6 +1802,10 @@ static void paint_item(FmDesktop* self, FmDesktopItem* item, cairo_t* cr, GdkRec
 #endif
     int text_x, text_y;
 
+    /* FIXME: don't draw dragged items on desktop, they are moved with mouse
+    if (item->is_selected && self->dragging)
+        return; */
+
 #if GTK_CHECK_VERSION(3, 0, 0)
     style = gtk_widget_get_style_context(widget);
 #else
@@ -1892,14 +1902,14 @@ static void move_item(FmDesktop* desktop, FmDesktopItem* item, int x, int y, gbo
         redraw_item(desktop, item);
 
     /* correct coords to put item within working area still */
-    if (x > desktop->working_area.width - desktop->xmargin - item->area.width)
-        x = desktop->working_area.width - desktop->xmargin - item->area.width;
-    if (x < desktop->xmargin)
-        x = desktop->xmargin;
-    if (y > desktop->working_area.height - desktop->ymargin - item->area.height)
-        y = desktop->working_area.height - desktop->ymargin - item->area.height;
-    if (y < desktop->ymargin)
-        y = desktop->ymargin;
+    if (x > desktop->working_area.x + desktop->working_area.width - desktop->xmargin - item->area.width)
+        x = desktop->working_area.x + desktop->working_area.width - desktop->xmargin - item->area.width;
+    if (x < desktop->working_area.x + desktop->xmargin)
+        x = desktop->working_area.x + desktop->xmargin;
+    if (y > desktop->working_area.y + desktop->working_area.height - desktop->ymargin - item->area.height)
+        y = desktop->working_area.y + desktop->working_area.height - desktop->ymargin - item->area.height;
+    if (y < desktop->working_area.y + desktop->ymargin)
+        y = desktop->working_area.y + desktop->ymargin;
 
     dx = x - item->area.x;
     dy = y - item->area.y;
@@ -2042,6 +2052,32 @@ static void paint_rubber_banding_rect(FmDesktop* self, cairo_t* cr, GdkRectangle
     cairo_restore(cr);
 }
 
+static void _free_cache_image(FmBackgroundCache *cache)
+{
+#if GTK_CHECK_VERSION(3, 0, 0)
+    XFreePixmap(cairo_xlib_surface_get_display(cache->bg),
+                cairo_xlib_surface_get_drawable(cache->bg));
+    cairo_surface_destroy(cache->bg);
+#else
+    g_object_unref(cache->bg);
+#endif
+    cache->bg = NULL;
+    cache->wallpaper_mode = FM_WP_COLOR; /* for cache check */
+}
+
+static void _clear_bg_cache(FmDesktop *self)
+{
+    while(self->cache)
+    {
+        FmBackgroundCache *bg = self->cache;
+
+        self->cache = bg->next;
+        _free_cache_image(bg);
+        g_free(bg->filename);
+        g_free(bg);
+    }
+}
+
 static void update_background(FmDesktop* desktop, int is_it)
 {
     GtkWidget* widget = (GtkWidget*)desktop;
@@ -2068,11 +2104,11 @@ static void update_background(FmDesktop* desktop, int is_it)
 
         if(is_it >= 0) /* signal "changed::wallpaper" */
         {
+            int i;
+
             wallpaper = desktop->conf.wallpaper;
             if((gint)cur_desktop >= desktop->conf.wallpapers_configured)
             {
-                int i;
-
                 desktop->conf.wallpapers = g_renew(char *, desktop->conf.wallpapers, cur_desktop + 1);
                 /* fill the gap with current wallpaper */
                 for(i = MAX(desktop->conf.wallpapers_configured,0); i < (int)cur_desktop; i++)
@@ -2080,8 +2116,29 @@ static void update_background(FmDesktop* desktop, int is_it)
                 desktop->conf.wallpapers[cur_desktop] = NULL;
                 desktop->conf.wallpapers_configured = cur_desktop + 1;
             }
-            g_free(desktop->conf.wallpapers[cur_desktop]);
-            desktop->conf.wallpapers[cur_desktop] = g_strdup(wallpaper);
+            /* free old image if it's not used anymore */
+            else if (g_strcmp0(desktop->conf.wallpapers[cur_desktop], wallpaper))
+            {
+                wallpaper = desktop->conf.wallpapers[cur_desktop];
+                if (wallpaper)
+                {
+                    for (i = 0; i < desktop->conf.wallpapers_configured; i++)
+                        if (i != (int)cur_desktop && /* test if it's used */
+                            g_strcmp0(desktop->conf.wallpapers[i], wallpaper) == 0)
+                            break;
+                    if (i == desktop->conf.wallpapers_configured) /* no matches */
+                    {
+                        for (cache = desktop->cache; cache; cache = cache->next)
+                            if (strcmp(wallpaper, cache->filename) == 0)
+                                break;
+                        if (cache)
+                            _free_cache_image(cache);
+                    }
+                    g_free(wallpaper);
+                }
+                wallpaper = desktop->conf.wallpaper;
+                desktop->conf.wallpapers[cur_desktop] = g_strdup(wallpaper);
+            }
         }
         else /* desktop refresh */
         {
@@ -2113,7 +2170,10 @@ static void update_background(FmDesktop* desktop, int is_it)
         }
     }
     else
+    {
+        _clear_bg_cache(desktop);
         wallpaper = desktop->conf.wallpaper;
+    }
 
     if(desktop->conf.wallpaper_mode != FM_WP_COLOR && wallpaper && *wallpaper)
     {
@@ -2134,14 +2194,7 @@ static void update_background(FmDesktop* desktop, int is_it)
             if(cache)
             {
                 /* the same file but mode was changed */
-#if GTK_CHECK_VERSION(3, 0, 0)
-                XFreePixmap(cairo_xlib_surface_get_display(cache->bg),
-                            cairo_xlib_surface_get_drawable(cache->bg));
-                cairo_surface_destroy(cache->bg);
-#else
-                g_object_unref(cache->bg);
-#endif
-                cache->bg = NULL;
+                _free_cache_image(cache);
             }
             else if(desktop->cache)
             {
@@ -2433,30 +2486,16 @@ static void on_rows_reordered(FmFolderModel* model, GtkTreePath* parent_tp, GtkT
 /* ---------------------------------------------------------------------
     Events handlers */
 
-static void _clear_bg_cache(FmDesktop *self)
-{
-    while(self->cache)
-    {
-        FmBackgroundCache *bg = self->cache;
-
-        self->cache = bg->next;
-#if GTK_CHECK_VERSION(3, 0, 0)
-        XFreePixmap(cairo_xlib_surface_get_display(bg->bg),
-                    cairo_xlib_surface_get_drawable(bg->bg));
-        cairo_surface_destroy(bg->bg);
-#else
-        g_object_unref(bg->bg);
-#endif
-        g_free(bg->filename);
-        g_free(bg);
-    }
-}
-
 static void update_working_area(FmDesktop* desktop)
 {
     GdkScreen* screen = gtk_widget_get_screen((GtkWidget*)desktop);
+    GdkRectangle geom;
 #if GTK_CHECK_VERSION(3, 4, 0)
     gdk_screen_get_monitor_workarea(screen, desktop->monitor, &desktop->working_area);
+    /* we need working area coordinates within the monitor not the screen */
+    gdk_screen_get_monitor_geometry(screen, desktop->monitor, &geom);
+    desktop->working_area.x -= geom.x;
+    desktop->working_area.y -= geom.y;
 #else
     GdkWindow* root = gdk_screen_get_root_window(screen);
     Atom ret_type;
@@ -2467,7 +2506,9 @@ static void update_working_area(FmDesktop* desktop)
     gulong* working_area;
 
     /* default to screen size */
-    gdk_screen_get_monitor_geometry(screen, desktop->monitor, &desktop->working_area);
+    gdk_screen_get_monitor_geometry(screen, desktop->monitor, &geom);
+    desktop->working_area.width = geom.width;
+    desktop->working_area.height = geom.height;
 
     if(XGetWindowProperty(GDK_WINDOW_XDISPLAY(root), GDK_WINDOW_XID(root),
                        XA_NET_NUMBER_OF_DESKTOPS, 0, 1, False, XA_CARDINAL, &ret_type,
@@ -2499,24 +2540,23 @@ static void update_working_area(FmDesktop* desktop)
     }
     working_area = ((gulong*)prop) + cur_desktop * 4;
 
-    if((gint)working_area[0] > desktop->working_area.x &&
-       (gint)working_area[0] < desktop->working_area.x + desktop->working_area.width)
-    {
-        desktop->working_area.width -= (working_area[0] - desktop->working_area.x);
-        desktop->working_area.x = (gint)working_area[0];
-    }
-    if((gint)working_area[1] > desktop->working_area.y &&
-       (gint)working_area[1] < desktop->working_area.y + desktop->working_area.height)
-    {
-        desktop->working_area.height -= (working_area[1] - desktop->working_area.y);
-        desktop->working_area.y = (gint)working_area[1];
-    }
-    if((gint)(working_area[0] + working_area[2]) < desktop->working_area.x + desktop->working_area.width)
-        desktop->working_area.width = working_area[0] + working_area[2] - desktop->working_area.x;
-    if((gint)(working_area[1] + working_area[3]) < desktop->working_area.y + desktop->working_area.height)
-        desktop->working_area.height = working_area[1] + working_area[3] - desktop->working_area.y;
+    desktop->working_area.x = (gint)working_area[0] - geom.x;
+    desktop->working_area.y = (gint)working_area[1] - geom.y;
+    if(desktop->working_area.x > 0 &&
+       desktop->working_area.x < desktop->working_area.width)
+        desktop->working_area.width -= desktop->working_area.x;
+    if(desktop->working_area.y > 0 &&
+       desktop->working_area.y < desktop->working_area.height)
+        desktop->working_area.height -= desktop->working_area.y;
+    if(desktop->working_area.x + (gint)working_area[2] < desktop->working_area.width)
+        desktop->working_area.width = working_area[2] + desktop->working_area.x;
+    if(desktop->working_area.y + (gint)working_area[3] < desktop->working_area.height)
+        desktop->working_area.height = working_area[3] + desktop->working_area.y;
     g_debug("got working area: %d.%d.%d.%d", desktop->working_area.x, desktop->working_area.y,
             desktop->working_area.width, desktop->working_area.height);
+    /* we need working area coordinates within the monitor not the screen */
+    desktop->working_area.x = MAX(0, desktop->working_area.x);
+    desktop->working_area.y = MAX(0, desktop->working_area.y);
 
     XFree(prop);
 _out:
@@ -2831,6 +2871,9 @@ static FmDesktopItem* hit_test(FmDesktop* self, GtkTreeIter *it, int x, int y)
     if(model && gtk_tree_model_get_iter_first(model, it)) do
     {
         item = fm_folder_model_get_item_userdata(self->model, it);
+        /* we cannot drop dragged items onto themselves */
+        if (item->is_selected && self->dragging)
+            continue;
         if(is_point_in_rect(&item->icon_rect, x, y)
          || is_point_in_rect(&item->text_rect, x, y))
             return item;
@@ -2971,24 +3014,6 @@ static FmDesktopItem* get_nearest_item(FmDesktop* desktop, FmDesktopItem* item,
     return ret;
 }
 
-static gboolean has_selected_item(FmDesktop* desktop)
-{
-    GtkTreeModel* model;
-    GtkTreeIter it;
-
-    if (!desktop->model)
-        return FALSE;
-    model = GTK_TREE_MODEL(desktop->model);
-    if(gtk_tree_model_get_iter_first(model, &it)) do
-    {
-        FmDesktopItem* item = fm_folder_model_get_item_userdata(desktop->model, &it);
-        if(item->is_selected)
-            return TRUE;
-    }
-    while(gtk_tree_model_iter_next(model, &it));
-    return FALSE;
-}
-
 static void set_focused_item(FmDesktop* desktop, FmDesktopItem* item)
 {
     if(item != desktop->focus)
@@ -3392,6 +3417,8 @@ static gboolean on_button_release(GtkWidget* w, GdkEventButton* evt)
     else if(self->dragging)
     {
         self->dragging = FALSE;
+        /* FIXME: restore after drag */
+        queue_layout_items(self);
     }
     else if(fm_config->single_click && evt->button == 1)
     {
@@ -3515,29 +3542,13 @@ static gboolean on_motion_notify(GtkWidget* w, GdkEventMotion* evt)
 
     if(self->dragging)
     {
+        /* FIXME: never reached */
     }
     else if(self->rubber_bending)
     {
         update_rubberbanding(self, evt->x, evt->y);
     }
-    else
-    {
-        if (gtk_drag_check_threshold(w,
-                                    self->drag_start_x,
-                                    self->drag_start_y,
-                                    evt->x, evt->y))
-        {
-            GtkTargetList* target_list;
-            if(has_selected_item(self))
-            {
-                self->dragging = TRUE;
-                target_list = gtk_drag_source_get_target_list(w);
-                gtk_drag_begin(w, target_list,
-                             GDK_ACTION_COPY|GDK_ACTION_MOVE|GDK_ACTION_LINK,
-                             1, (GdkEvent*)evt);
-            }
-        }
-    }
+    /* we use auto-DnD so no DnD check is possible here */
 
     return TRUE;
 }
@@ -3820,6 +3831,7 @@ static void desktop_search_preedit_changed(GtkIMContext *im_context,
 static void desktop_search_position(FmDesktop *desktop)
 {
     GtkRequisition requisition;
+    GdkRectangle geom;
     gint x, y;
 
     /* make sure the search dialog is realized */
@@ -3832,8 +3844,10 @@ static void desktop_search_position(FmDesktop *desktop)
 #endif
 
     /* put it into right upper corner */
-    x = desktop->working_area.x + desktop->working_area.width - requisition.width;
-    y = desktop->working_area.y;
+    gdk_screen_get_monitor_geometry(gtk_widget_get_screen((GtkWidget*)desktop),
+                                    desktop->monitor, &geom);
+    x = geom.x + desktop->working_area.x + desktop->working_area.width - requisition.width;
+    y = geom.y + desktop->working_area.y;
 
     gtk_window_move(GTK_WINDOW(desktop->search_window), x, y);
 }
@@ -4375,6 +4389,157 @@ static void on_drag_data_received (GtkWidget *dest_widget,
     gtk_drag_finish(drag_context, TRUE, FALSE, time);
 }
 
+static GdkPixbuf *_create_drag_icon(FmDesktop *desktop, gint *x, gint *y)
+{
+    GtkTreeModel *model;
+    FmDesktopItem *item;
+    cairo_surface_t *s;
+    GdkPixbuf *pixbuf;
+    cairo_t *cr;
+    GdkPixbuf *icon;
+    GtkTreeIter it;
+    GdkRectangle area, icon_rect;
+#if !GTK_CHECK_VERSION(3, 0, 0)
+    guchar *dest_data, *src_data;
+    int dest_stride, src_stride, _x, _y;
+#endif
+
+    if (!desktop->model)
+        return NULL;
+    model = GTK_TREE_MODEL(desktop->model);
+    if (!gtk_tree_model_get_iter_first(model, &it))
+        return NULL;
+
+    /* determine the size of complete pixbuf */
+    area.width = 0; /* mark it */
+    do
+    {
+        item = fm_folder_model_get_item_userdata(desktop->model, &it);
+        if (!item->is_selected)
+            continue;
+        if (area.width == 0)
+            area = item->icon_rect;
+        else
+        {
+            if (item->icon_rect.x < area.x)
+            {
+                area.width += (area.x - item->icon_rect.x);
+                area.x = item->icon_rect.x;
+            }
+            if (item->icon_rect.x + item->icon_rect.width > area.x + area.width)
+                area.width = item->icon_rect.x + item->icon_rect.width - area.x;
+            if (item->icon_rect.y < area.y)
+            {
+                area.height += (area.y - item->icon_rect.y);
+                area.y = item->icon_rect.y;
+            }
+            if (item->icon_rect.y + item->icon_rect.height > area.y + area.height)
+                area.height = item->icon_rect.y + item->icon_rect.height - area.y;
+        }
+    }
+    while(gtk_tree_model_iter_next(model, &it));
+
+    /* now create the pixbuf */
+    if (area.width == 0) /* no selection??? */
+        return NULL;
+    area.width += 2;
+    area.height += 2;
+    s = cairo_image_surface_create(CAIRO_FORMAT_ARGB32, area.width, area.height);
+    cr = cairo_create(s);
+
+    gtk_tree_model_get_iter_first(model, &it);
+    do
+    {
+        item = fm_folder_model_get_item_userdata(desktop->model, &it);
+        if (!item->is_selected)
+            continue;
+        /* FIXME: should we render name too, or is it too heavy? */
+        icon = NULL;
+        gtk_tree_model_get(model, &it, FM_FOLDER_MODEL_COL_ICON, &icon, -1);
+        /* draw the icon */
+        if (icon)
+        {
+            icon_rect.x = item->icon_rect.x - area.x + 1;
+            icon_rect.width = item->icon_rect.width;
+            icon_rect.y = item->icon_rect.y - area.y + 1;
+            icon_rect.height = item->icon_rect.height;
+//g_debug("icon at %d %d %d %d",icon_rect.x,icon_rect.y,icon_rect.width,icon_rect.height);
+            gdk_cairo_set_source_pixbuf(cr, icon, icon_rect.x, icon_rect.y);
+            gdk_cairo_rectangle(cr, &icon_rect);
+            cairo_fill(cr);
+            g_object_unref(icon);
+        }
+    }
+    while(gtk_tree_model_iter_next(model, &it));
+
+    cairo_destroy (cr);
+#if GTK_CHECK_VERSION(3, 0, 0)
+    pixbuf = gdk_pixbuf_get_from_surface(s, 0, 0, area.width, area.height);
+#else
+    /* GTK2 has no API gdk_pixbuf_get_from_surface() but we cannot
+       preserve transparency using gdk_pixbuf_get_from_drawable() so
+       therefore have to implement that API behavior here instead */
+    pixbuf = gdk_pixbuf_new(GDK_COLORSPACE_RGB, TRUE, 8, area.width, area.height);
+    cairo_surface_flush(s);
+    dest_data = gdk_pixbuf_get_pixels(pixbuf);
+    dest_stride = gdk_pixbuf_get_rowstride(pixbuf);
+    src_data = cairo_image_surface_get_data(s);
+    src_stride = cairo_image_surface_get_stride(s);
+
+    /* convert alpha from cairo_surface_t into GdkPixbuf format */
+    for (_y = 0; _y < area.height; _y++)
+    {
+        guint32 *src = (guint32 *) src_data;
+
+        for (_x = 0; _x < area.width; _x++)
+        {
+            guint alpha = src[_x] >> 24;
+
+            if (alpha == 0)
+            {
+                dest_data[_x * 4 + 0] = 0;
+                dest_data[_x * 4 + 1] = 0;
+                dest_data[_x * 4 + 2] = 0;
+            }
+            else
+            {
+                dest_data[_x * 4 + 0] = (((src[_x] & 0xff0000) >> 16) * 255 + alpha / 2) / alpha;
+                dest_data[_x * 4 + 1] = (((src[_x] & 0x00ff00) >>  8) * 255 + alpha / 2) / alpha;
+                dest_data[_x * 4 + 2] = (((src[_x] & 0x0000ff) >>  0) * 255 + alpha / 2) / alpha;
+            }
+            dest_data[_x * 4 + 3] = alpha;
+        }
+        src_data += src_stride;
+        dest_data += dest_stride;
+    }
+#endif
+    cairo_surface_destroy(s);
+    *x = area.x;
+    *y = area.y;
+    return pixbuf;
+}
+
+static void on_drag_begin (GtkWidget *widget, GdkDragContext *drag_context)
+{
+    /* GTK auto-dragging started a drag, update state */
+    FmDesktop *desktop = FM_DESKTOP(widget);
+    gint x, y, icon_x, icon_y;
+    GdkPixbuf *pix = _create_drag_icon(desktop, &x, &y);
+
+    desktop->dragging = TRUE;
+
+    /* FIXME: set drag cursor to selected items */
+    if (pix)
+    {
+        icon_x = desktop->drag_start_x - x;
+        icon_y = desktop->drag_start_y - y;
+        gtk_drag_set_icon_pixbuf(drag_context, pix, icon_x, icon_y);
+        g_object_unref(pix);
+    }
+
+    queue_layout_items(desktop);
+}
+
 static void on_dnd_src_data_get(FmDndSrc* ds, FmDesktop* desktop)
 {
     FmFileInfoList* files = _dup_selected_files(FM_FOLDER_VIEW(desktop));
@@ -4677,6 +4842,10 @@ static GObject* fm_desktop_constructor(GType type, guint n_construct_properties,
 
     /* init dnd support */
     self->dnd_src = fm_dnd_src_new((GtkWidget*)self);
+#if !FM_CHECK_VERSION(1, 2, 1)
+    /* FIXME: override pre-1.2.1 handler from FmDndSrc to allow icon change */
+    g_signal_connect_after(self, "drag-begin", G_CALLBACK(on_drag_begin), NULL);
+#endif
     /* add our own targets */
     fm_dnd_src_add_targets((GtkWidget*)self, dnd_targets, G_N_ELEMENTS(dnd_targets));
     g_signal_connect(self->dnd_src, "data-get", G_CALLBACK(on_dnd_src_data_get), self);
@@ -4761,6 +4930,9 @@ static void fm_desktop_class_init(FmDesktopClass *klass)
     widget_class->drag_drop = on_drag_drop;
     widget_class->drag_data_received = on_drag_data_received;
     widget_class->drag_leave = on_drag_leave;
+#if FM_CHECK_VERSION(1, 2, 1)
+    widget_class->drag_begin = on_drag_begin;
+#endif
     /* widget_class->drag_data_get = on_drag_data_get; */
 
     if(XInternAtoms(gdk_x11_get_default_xdisplay(), atom_names,
index bb8af03..d98d342 100644 (file)
@@ -65,6 +65,38 @@ static const char main_menu_xml[] =
   "<menu action='ViewMenu'>"
     "<menuitem action='Reload'/>"
     "<separator/>"
+    "<menuitem action='ShowHidden'/>"
+    "<menu action='Sort'>"
+      "<menuitem action='Asc'/>"
+      "<menuitem action='Desc'/>"
+      "<separator/>"
+      "<menuitem action='ByName'/>"
+      "<menuitem action='ByMTime'/>"
+      "<menuitem action='BySize'/>"
+      "<menuitem action='ByType'/>"
+#if FM_CHECK_VERSION(1, 2, 0)
+      "<menuitem action='ByExt'/>"
+#endif
+#if FM_CHECK_VERSION(1, 0, 2)
+      "<separator/>"
+#if FM_CHECK_VERSION(1, 2, 0)
+      "<menuitem action='MingleDirs'/>"
+#endif
+      "<menuitem action='SortIgnoreCase'/>"
+#endif
+    "</menu>"
+    "<menu action='FolderView'>"
+#if FM_CHECK_VERSION(1, 2, 0)
+      "<placeholder name='ViewModes'/>"
+#else
+      "<menuitem action='IconView'/>"
+      "<menuitem action='ThumbnailView'/>"
+      "<menuitem action='CompactView'/>"
+      "<menuitem action='ListView'/>"
+#endif
+    "</menu>"
+    "<menuitem action='SavePerFolder'/>"
+    "<separator/>"
     "<menu action='Toolbar'>"
       "<menuitem action='ShowToolbar'/>"
       "<separator/>"
@@ -99,38 +131,6 @@ static const char main_menu_xml[] =
     "<separator/>"
     "<menuitem action='Filter'/>"
 #endif
-    "<separator/>"
-    "<menu action='FolderView'>"
-#if FM_CHECK_VERSION(1, 2, 0)
-      "<placeholder name='ViewModes'/>"
-#else
-      "<menuitem action='IconView'/>"
-      "<menuitem action='ThumbnailView'/>"
-      "<menuitem action='CompactView'/>"
-      "<menuitem action='ListView'/>"
-#endif
-    "</menu>"
-    "<menu action='Sort'>"
-      "<menuitem action='Asc'/>"
-      "<menuitem action='Desc'/>"
-      "<separator/>"
-      "<menuitem action='ByName'/>"
-      "<menuitem action='ByMTime'/>"
-      "<menuitem action='BySize'/>"
-      "<menuitem action='ByType'/>"
-#if FM_CHECK_VERSION(1, 2, 0)
-      "<menuitem action='ByExt'/>"
-#endif
-#if FM_CHECK_VERSION(1, 0, 2)
-      "<separator/>"
-#if FM_CHECK_VERSION(1, 2, 0)
-      "<menuitem action='MingleDirs'/>"
-#endif
-      "<menuitem action='SortIgnoreCase'/>"
-#endif
-    "</menu>"
-    "<menuitem action='ShowHidden'/>"
-    "<menuitem action='SavePerFolder'/>"
   "</menu>"
   "<menu action='BookmarksMenu'>"
     "<menuitem action='AddBookmark'/>"
index 6a65035..5532ddf 100644 (file)
@@ -356,8 +356,6 @@ static void on_folder_view_sel_changed(FmFolderView* fv, gint n_sel, FmMainWin*
     gtk_action_set_sensitive(act, has_selected);
     act = gtk_ui_manager_get_action(win->ui, "/menubar/EditMenu/CopyPath");
     gtk_action_set_sensitive(act, has_selected);
-    act = gtk_ui_manager_get_action(win->ui, "/menubar/EditMenu/Rename");
-    gtk_action_set_sensitive(act, n_sel == 1); /* can rename only single file */
     act = gtk_ui_manager_get_action(win->ui, "/menubar/EditMenu/Link");
     gtk_action_set_sensitive(act, has_selected);
     act = gtk_ui_manager_get_action(win->ui, "/menubar/EditMenu/CopyTo");
@@ -366,6 +364,21 @@ static void on_folder_view_sel_changed(FmFolderView* fv, gint n_sel, FmMainWin*
     gtk_action_set_sensitive(act, has_selected);
     act = gtk_ui_manager_get_action(win->ui, "/menubar/EditMenu/FileProp");
     gtk_action_set_sensitive(act, has_selected);
+    /* special handling for 'Rename' option: we can rename only single file,
+       and also because GIO doesn't support changing the .desktop files
+       display names, therefore we have to disable it in some cases */
+    has_selected = FALSE;
+    if (n_sel == 1)
+    {
+        FmFileInfoList *files = fm_folder_view_dup_selected_files(fv);
+        FmFileInfo *fi = fm_file_info_list_peek_head(files);
+        if (fm_file_info_can_set_name(fi) && !fm_file_info_is_shortcut(fi)
+            && !fm_file_info_is_desktop_entry(fi))
+            has_selected = TRUE;
+        fm_file_info_list_unref(files);
+    }
+    act = gtk_ui_manager_get_action(win->ui, "/menubar/EditMenu/Rename");
+    gtk_action_set_sensitive(act, has_selected);
 }
 
 static gboolean on_view_key_press_event(FmFolderView* fv, GdkEventKey* evt, FmMainWin* win)
@@ -475,9 +488,6 @@ static void on_history_item(GtkMenuItem* mi, FmMainWin* win)
     GList* l = g_object_get_qdata(G_OBJECT(mi), main_win_qdata);
 #endif
     fm_tab_page_history(page, l);
-    /* update folder popup */
-    fm_folder_view_set_active(win->folder_view, FALSE);
-    fm_folder_view_add_popup(win->folder_view, GTK_WINDOW(win), NULL);
     _update_hist_buttons(win);
 }
 
@@ -1513,18 +1523,12 @@ static void _update_hist_buttons(FmMainWin* win)
 static void on_go_back(GtkAction* act, FmMainWin* win)
 {
     fm_tab_page_back(win->current_page);
-    /* update folder popup */
-    fm_folder_view_set_active(win->folder_view, FALSE);
-    fm_folder_view_add_popup(win->folder_view, GTK_WINDOW(win), NULL);
     _update_hist_buttons(win);
 }
 
 static void on_go_forward(GtkAction* act, FmMainWin* win)
 {
     fm_tab_page_forward(win->current_page);
-    /* update folder popup */
-    fm_folder_view_set_active(win->folder_view, FALSE);
-    fm_folder_view_add_popup(win->folder_view, GTK_WINDOW(win), NULL);
     _update_hist_buttons(win);
 }
 
@@ -1584,17 +1588,20 @@ void fm_main_win_chdir_by_name(FmMainWin* win, const char* path_str)
 
 void fm_main_win_chdir(FmMainWin* win, FmPath* path)
 {
+    GtkWidget *current_focus;
+
     /* NOTE: fm_tab_page_chdir() calls fm_side_pane_chdir(), which can
      * trigger on_side_pane_chdir() callback. So we need to block it here. */
     g_signal_handlers_block_by_func(win->side_pane, on_side_pane_chdir, win);
     fm_tab_page_chdir(win->current_page, path);
-    /* update folder popup */
-    fm_folder_view_set_active(win->folder_view, FALSE);
-    fm_folder_view_add_popup(win->folder_view, GTK_WINDOW(win), NULL);
     g_signal_handlers_unblock_by_func(win->side_pane, on_side_pane_chdir, win);
     _update_hist_buttons(win);
     update_view_menu(win);
     update_file_menu(win, path);
+    /* bug SF#842: if location is focused then set cursor at end of field */
+    current_focus = gtk_window_get_focus(GTK_WINDOW(win));
+    if (current_focus == (GtkWidget*)win->location)
+        gtk_editable_set_position(GTK_EDITABLE(win->location), -1);
 }
 
 #if 0
@@ -2140,6 +2147,17 @@ static void on_tab_page_got_focus(FmTabPage* page, FmMainWin* win)
         gtk_notebook_set_current_page(win->notebook, n);
 }
 
+/* this callback may be called only after tab page is added */
+static void on_tab_page_loaded(FmTabPage *page, FmMainWin *win)
+{
+    FmFolderView *folder_view = fm_tab_page_get_folder_view(page);
+
+    /* update folder popup */
+    fm_folder_view_set_active(folder_view, FALSE);
+    fm_folder_view_add_popup(folder_view, GTK_WINDOW(win), NULL);
+    fm_folder_view_set_active(folder_view, (page == win->current_page));
+}
+
 #if FM_CHECK_VERSION(1, 0, 2)
 static void on_folder_view_filter_changed(FmFolderView* fv, FmMainWin* win)
 {
@@ -2291,6 +2309,8 @@ static void on_notebook_page_added(GtkNotebook* nb, GtkWidget* page, guint num,
                      G_CALLBACK(on_tab_page_status_text), win);
     g_signal_connect(tab_page, "got-focus",
                      G_CALLBACK(on_tab_page_got_focus), win);
+    g_signal_connect(tab_page, "loaded",
+                     G_CALLBACK(on_tab_page_loaded), win);
     /* FIXME: remove direct access */
     g_signal_connect(tab_page->folder_view, "sort-changed",
                      G_CALLBACK(on_folder_view_sort_changed), win);
@@ -2338,6 +2358,8 @@ static void on_notebook_page_removed(GtkNotebook* nb, GtkWidget* page, guint num
                                          on_tab_page_status_text, win);
     g_signal_handlers_disconnect_by_func(tab_page,
                                          on_tab_page_got_focus, win);
+    g_signal_handlers_disconnect_by_func(tab_page,
+                                         on_tab_page_loaded, win);
     if(folder_view)
     {
         g_signal_handlers_disconnect_by_func(folder_view,
index 2fe3482..3867772 100644 (file)
@@ -320,7 +320,7 @@ gboolean pcmanfm_run(gint screen_num)
     if(!files_to_open)
     {
         /* FIXME: use screen number from client and pointer position */
-        FmDesktop *desktop = fm_desktop_get(0, 0);
+        FmDesktop *desktop = fm_desktop_get(screen_num, 0);
 
         /* Launch desktop manager */
         if(show_desktop)
@@ -355,6 +355,7 @@ gboolean pcmanfm_run(gint screen_num)
             /* ignore desktop-oriented commands if no desktop support */
             if (desktop_pref || wallpaper_mode || set_wallpaper)
             {
+                /* FIXME: add "on this X screen/monitor" into diagnostics */
                 fm_show_error(NULL, NULL, _("Desktop manager is not active."));
                 return FALSE;
             }
@@ -590,25 +591,34 @@ void pcmanfm_save_config(gboolean immediate)
 
 void pcmanfm_open_folder_in_terminal(GtkWindow* parent, FmPath* dir)
 {
+#if !FM_CHECK_VERSION(1, 2, 0)
     GAppInfo* app;
     char** argv;
     int argc;
+#endif
+
     if(!fm_config->terminal)
     {
         fm_show_error(parent, NULL, _("Terminal emulator is not set."));
         fm_edit_preference(parent, PREF_ADVANCED);
         return;
     }
+#if FM_CHECK_VERSION(1, 2, 0)
+    else
+    {
+#else
     if(!g_shell_parse_argv(fm_config->terminal, &argc, &argv, NULL))
         return;
     app = g_app_info_create_from_commandline(argv[0], NULL, 0, NULL);
     g_strfreev(argv);
     if(app)
     {
-        GError* err = NULL;
         GdkAppLaunchContext* ctx = gdk_app_launch_context_new();
-        char* cwd_str;
         char* old_cwd = g_get_current_dir();
+        const char *old_pwd = g_getenv("PWD");
+#endif
+        GError* err = NULL;
+        char* cwd_str;
 
         if(fm_path_is_native(dir))
             cwd_str = fm_path_to_str(dir);
@@ -618,22 +628,36 @@ void pcmanfm_open_folder_in_terminal(GtkWindow* parent, FmPath* dir)
             cwd_str = g_file_get_path(gf);
             g_object_unref(gf);
         }
+#if FM_CHECK_VERSION(1, 2, 0)
+        if (!fm_terminal_launch(cwd_str, &err))
+#else
+        /* this is a bit dirty to manipulate environment but what else to do? */
+        g_setenv("PWD", cwd_str, TRUE);
         gdk_app_launch_context_set_screen(ctx, parent ? gtk_widget_get_screen(GTK_WIDGET(parent)) : gdk_screen_get_default());
         gdk_app_launch_context_set_timestamp(ctx, gtk_get_current_event_time());
         g_chdir(cwd_str); /* FIXME: currently we don't have better way for this. maybe a wrapper script? */
         g_free(cwd_str);
 
         if(!g_app_info_launch(app, NULL, G_APP_LAUNCH_CONTEXT(ctx), &err))
+#endif
         {
             fm_show_error(parent, NULL, err->message);
             g_error_free(err);
         }
+#if FM_CHECK_VERSION(1, 2, 0)
+        g_free(cwd_str);
+#else
         g_object_unref(ctx);
         g_object_unref(app);
 
         /* switch back to old cwd and fix #3114626 - PCManFM 0.9.9 Umount partitions problem */
         g_chdir(old_cwd); /* This is really dirty, but we don't have better solution now. */
         g_free(old_cwd);
+        if (old_pwd)
+            g_setenv("PWD", old_pwd, TRUE);
+        else
+            g_unsetenv("PWD");
+#endif
     }
 }
 
index 7f032df..975cf49 100644 (file)
@@ -66,6 +66,7 @@ enum {
     OPEN_DIR,
     STATUS,
     GOT_FOCUS,
+    LOADED,
     N_SIGNALS
 };
 
@@ -156,6 +157,15 @@ static void fm_tab_page_class_init(FmTabPageClass *klass)
                     NULL, NULL,
                     g_cclosure_marshal_VOID__VOID,
                     G_TYPE_NONE, 0);
+    /* the folder finished loading */
+    signals[LOADED] =
+        g_signal_new("loaded",
+                    G_TYPE_FROM_CLASS(klass),
+                    G_SIGNAL_RUN_FIRST,
+                    G_STRUCT_OFFSET (FmTabPageClass, loaded),
+                    NULL, NULL,
+                    g_cclosure_marshal_VOID__VOID,
+                    G_TYPE_NONE, 0);
 
     popup_qdata = g_quark_from_static_string("tab-page::popup-filelist");
 }
@@ -665,6 +675,7 @@ static void on_folder_finish_loading(FmFolder* folder, FmTabPage* page)
 
     _tab_unset_busy_cursor(page);
     /* g_debug("finish-loading"); */
+    g_signal_emit(page, signals[LOADED], 0);
 }
 
 static void on_folder_unmount(FmFolder* folder, FmTabPage* page)
index 76cc768..cfd7f10 100644 (file)
@@ -89,6 +89,7 @@ struct _FmTabPageClass
     //void (*open_dir)(FmTabPage* page, guint where, FmPath* path);
     void (*status)(FmTabPage* page, guint type, const char* status_text);
     void (*got_focus)(FmTabPage* page);
+    void (*loaded)(FmTabPage* page);
 };
 
 /* Side Pane mode extensions */