grsync-1.2.6/ 0000775 0001750 0001750 00000000000 12672005671 010036 5 0000000 0000000 grsync-1.2.6/configure.in 0000664 0001750 0001750 00000006564 12672004503 012273 0000000 0000000 dnl Process this file with autoconf to produce a configure script.
AC_INIT(configure.in)
AM_INIT_AUTOMAKE(grsync, 1.2.6)
AM_CONFIG_HEADER(config.h)
AM_MAINTAINER_MODE
CFLAGS="-Wall -rdynamic $CFLAGS"
LIBS="-lm $LIBS"
AC_USE_SYSTEM_EXTENSIONS
AC_ISC_POSIX
AC_PROG_CC
AM_PROG_CC_STDC
AC_HEADER_STDC
PKG_CHECK_EXISTS(maemo-version, [VERSIONOK=`$PKG_CONFIG --atleast-version=5 maemo-version`
if test x"$VERSIONOK" != x; then
AC_MSG_ERROR([You need at least Maemo 5.x for this release of Grsync])
else
AC_MSG_NOTICE([Configuring for Maemo 5.x platform])
MAEMO=1
XMLFILE="grsync-maemo-ui.xml"
AC_DEFINE(MAEMO, [1], [Compile for Maemo platform.])
AC_DEFINE_UNQUOTED(XMLFILE, ["$XMLFILE"], [UI Description XML File])
pkg_modules="gtk+-2.0 >= 2.14.0 gnome-vfs-2.0 gconf-2.0 hildon-1 hildon-fm-2 libosso osso-af-settings"
OTHER_DESKTOP_ENTRIES="X-Osso-Service=it.opbyte.${PACKAGE}
X-Osso-Type=application/x-executable
Icon=${PACKAGE}"
MIMEINFO_XMLNS="xmlns='http://www.freedesktop.org/standards/shared-mime-info' xmlns:osso='http://nokia.com/osso/mime-categories'"
MIME_OSSOCAT=""
fi],
AC_MSG_NOTICE([Configuring for plain GTK+])
MAEMO=0
XMLFILE="grsync.glade"
AC_DEFINE_UNQUOTED(XMLFILE, ["$XMLFILE"], [UI Description XML File])
pkg_modules="gtk+-2.0 >= 2.16.0"
OTHER_DESKTOP_ENTRIES="Icon=grsync.png"
MIMEINFO_XMLNS="xmlns='http://www.freedesktop.org/standards/shared-mime-info'"
MIME_OSSOCAT=""
)
PKG_CHECK_MODULES(PACKAGE, [$pkg_modules])
AC_SUBST(PACKAGE_CFLAGS)
AC_SUBST(PACKAGE_LIBS)
AC_SUBST(OTHER_DESKTOP_ENTRIES)
AC_SUBST(MIMEINFO_XMLNS)
AC_SUBST(MIME_OSSOCAT)
AC_SUBST(MAEMO)
AC_SUBST(XMLFILE)
AC_ARG_ENABLE(unity,
AS_HELP_STRING([--enable-unity],[Build support for integration in Unity launcher [[default=yes]]]),
[enable_unity=$enableval],
[enable_unity="yes"])
if test x"$enable_unity" = "xyes"; then
if test "x$with_localinstall" = "xyes"; then
DBUSSERVICEDIR="${datadir}/dbus-1/services/"
else
DBUSSERVICEDIR=`$PKG_CONFIG --variable=session_bus_services_dir dbus-1`
fi
AC_SUBST(DBUSSERVICEDIR)
PKG_CHECK_MODULES(UNITY,
dee-1.0
dbusmenu-glib-0.4
unity)
AC_SUBST(UNITY_CFLAGS)
AC_SUBST(UNITY_LIBS)
AC_DEFINE(HAVE_UNITY, 1, [Unity launcher support])
CFLAGS="$UNITY_CFLAGS $CFLAGS"
LIBS="$UNITY_LIBS $LIBS"
fi
AM_CONDITIONAL(HAVE_UNITY, test x"$enable_unity" = xyes)
if test x"$MAEMO" = x1; then
desktopentrydir=`$PKG_CONFIG osso-af-settings --variable=desktopentrydir`
dbusservicedir=`$PKG_CONFIG osso-af-settings --variable=dbusservicedir`
hildonpixmapdir=`$PKG_CONFIG osso-af-settings --variable=hildonpixmapdir`
AC_SUBST(desktopentrydir)
AC_SUBST(dbusservicedir)
AC_SUBST(hildonpixmapdir)
AC_DEFINE_UNQUOTED(HILDONPIXMAPDIR, ["$hildonpixmapdir"], [Define default Maemo pixmap directory])
fi
AM_CONDITIONAL([MAEMO], [test x$MAEMO = x1])
AC_PROG_INTLTOOL()
GETTEXT_PACKAGE=grsync
AC_SUBST(GETTEXT_PACKAGE)
AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE,"$GETTEXT_PACKAGE", [Gettext package.])
dnl Add the languages which your application supports here.
ALL_LINGUAS="nl_NL it_IT zh_CN fr_FR sv_SE nb_NO tr_TR ru_RU de_DE es_ES cs_CZ gl_ES ca_ES pt_BR id_ID hr_HR zh_TW hu_HU"
AM_GLIB_GNU_GETTEXT
AC_OUTPUT([
Makefile
src/Makefile
po/Makefile.in
grsync.spec
grsync.desktop
grsync.xml
it.opbyte.grsync.service
])
grsync-1.2.6/Makefile.in 0000664 0001750 0001750 00000126576 12672004522 012036 0000000 0000000 # Makefile.in generated by automake 1.15 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2014 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
@SET_MAKE@
VPATH = @srcdir@
am__is_gnu_make = { \
if test -z '$(MAKELEVEL)'; then \
false; \
elif test -n '$(MAKE_HOST)'; then \
true; \
elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
true; \
else \
false; \
fi; \
}
am__make_running_with_option = \
case $${target_option-} in \
?) ;; \
*) echo "am__make_running_with_option: internal error: invalid" \
"target option '$${target_option-}' specified" >&2; \
exit 1;; \
esac; \
has_opt=no; \
sane_makeflags=$$MAKEFLAGS; \
if $(am__is_gnu_make); then \
sane_makeflags=$$MFLAGS; \
else \
case $$MAKEFLAGS in \
*\\[\ \ ]*) \
bs=\\; \
sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
| sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
esac; \
fi; \
skip_next=no; \
strip_trailopt () \
{ \
flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
}; \
for flg in $$sane_makeflags; do \
test $$skip_next = yes && { skip_next=no; continue; }; \
case $$flg in \
*=*|--*) continue;; \
-*I) strip_trailopt 'I'; skip_next=yes;; \
-*I?*) strip_trailopt 'I';; \
-*O) strip_trailopt 'O'; skip_next=yes;; \
-*O?*) strip_trailopt 'O';; \
-*l) strip_trailopt 'l'; skip_next=yes;; \
-*l?*) strip_trailopt 'l';; \
-[dEDm]) skip_next=yes;; \
-[JT]) skip_next=yes;; \
esac; \
case $$flg in \
*$$target_option*) has_opt=yes; break;; \
esac; \
done; \
test $$has_opt = yes
am__make_dryrun = (target_option=n; $(am__make_running_with_option))
am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
subdir = .
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/configure.in
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(top_srcdir)/configure \
$(am__configure_deps) $(dist_mimepackages_DATA) \
$(am__DIST_COMMON)
am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
configure.lineno config.status.lineno
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = config.h
CONFIG_CLEAN_FILES = grsync.spec grsync.desktop grsync.xml \
it.opbyte.grsync.service
CONFIG_CLEAN_VPATH_FILES =
AM_V_P = $(am__v_P_@AM_V@)
am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
am__v_P_0 = false
am__v_P_1 = :
AM_V_GEN = $(am__v_GEN_@AM_V@)
am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
am__v_GEN_0 = @echo " GEN " $@;
am__v_GEN_1 =
AM_V_at = $(am__v_at_@AM_V@)
am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
am__v_at_0 = @
am__v_at_1 =
SOURCES =
DIST_SOURCES =
RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
ctags-recursive dvi-recursive html-recursive info-recursive \
install-data-recursive install-dvi-recursive \
install-exec-recursive install-html-recursive \
install-info-recursive install-pdf-recursive \
install-ps-recursive install-recursive installcheck-recursive \
installdirs-recursive pdf-recursive ps-recursive \
tags-recursive uninstall-recursive
am__can_run_installinfo = \
case $$AM_UPDATE_INFO_DIR in \
n|no|NO) false;; \
*) (install-info --version) >/dev/null 2>&1;; \
esac
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
*) f=$$p;; \
esac;
am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
am__install_max = 40
am__nobase_strip_setup = \
srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
am__nobase_strip = \
for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
am__nobase_list = $(am__nobase_strip_setup); \
for p in $$list; do echo "$$p $$p"; done | \
sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
$(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
if (++n[$$2] == $(am__install_max)) \
{ print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
END { for (dir in files) print dir, files[dir] }'
am__base_list = \
sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
am__uninstall_files_from_dir = { \
test -z "$$files" \
|| { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
|| { echo " ( cd '$$dir' && rm -f" $$files ")"; \
$(am__cd) "$$dir" && rm -f $$files; }; \
}
man1dir = $(mandir)/man1
am__installdirs = "$(DESTDIR)$(man1dir)" \
"$(DESTDIR)$(Applicationsdir)" "$(DESTDIR)$(Backupdir)" \
"$(DESTDIR)$(Gladedir)" "$(DESTDIR)$(Servicedir)" \
"$(DESTDIR)$(mimepackagesdir)" "$(DESTDIR)$(icon_26x26dir)" \
"$(DESTDIR)$(icon_40x40dir)" "$(DESTDIR)$(icon_48x48dir)" \
"$(DESTDIR)$(icon_64x64dir)" "$(DESTDIR)$(icon_scalabledir)" \
"$(DESTDIR)$(mimeicondir)" "$(DESTDIR)$(pixmapdir)" \
"$(DESTDIR)$(pixmapbusydir)"
NROFF = nroff
MANS = $(man_MANS)
DATA = $(Applications_DATA) $(Backup_DATA) $(Glade_DATA) \
$(Service_DATA) $(dist_mimepackages_DATA) $(icon_26x26_DATA) \
$(icon_40x40_DATA) $(icon_48x48_DATA) $(icon_64x64_DATA) \
$(icon_scalable_DATA) $(mimeicon_DATA) $(pixmap_DATA) \
$(pixmapbusy_DATA)
RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
distclean-recursive maintainer-clean-recursive
am__recursive_targets = \
$(RECURSIVE_TARGETS) \
$(RECURSIVE_CLEAN_TARGETS) \
$(am__extra_recursive_targets)
AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
cscope distdir dist dist-all distcheck
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) \
$(LISP)config.h.in
# Read a list of newline-separated strings from the standard input,
# and print each of them once, without duplicates. Input order is
# *not* preserved.
am__uniquify_input = $(AWK) '\
BEGIN { nonempty = 0; } \
{ items[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in items) print i; }; } \
'
# Make sure the list of sources is unique. This is necessary because,
# e.g., the same source file might be shared among _SOURCES variables
# for different programs/libraries.
am__define_uniq_tagged_files = \
list='$(am__tagged_files)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | $(am__uniquify_input)`
ETAGS = etags
CTAGS = ctags
CSCOPE = cscope
DIST_SUBDIRS = $(SUBDIRS)
am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/config.h.in \
$(srcdir)/grsync.desktop.in $(srcdir)/grsync.spec.in \
$(srcdir)/grsync.xml.in $(srcdir)/it.opbyte.grsync.service.in \
AUTHORS COPYING ChangeLog INSTALL NEWS README compile depcomp \
install-sh missing mkinstalldirs
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
distdir = $(PACKAGE)-$(VERSION)
top_distdir = $(distdir)
am__remove_distdir = \
if test -d "$(distdir)"; then \
find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \
&& rm -rf "$(distdir)" \
|| { sleep 5 && rm -rf "$(distdir)"; }; \
else :; fi
am__post_remove_distdir = $(am__remove_distdir)
am__relativize = \
dir0=`pwd`; \
sed_first='s,^\([^/]*\)/.*$$,\1,'; \
sed_rest='s,^[^/]*/*,,'; \
sed_last='s,^.*/\([^/]*\)$$,\1,'; \
sed_butlast='s,/*[^/]*$$,,'; \
while test -n "$$dir1"; do \
first=`echo "$$dir1" | sed -e "$$sed_first"`; \
if test "$$first" != "."; then \
if test "$$first" = ".."; then \
dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
else \
first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
if test "$$first2" = "$$first"; then \
dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
else \
dir2="../$$dir2"; \
fi; \
dir0="$$dir0"/"$$first"; \
fi; \
fi; \
dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
done; \
reldir="$$dir2"
DIST_ARCHIVES = $(distdir).tar.gz
GZIP_ENV = --best
DIST_TARGETS = dist-gzip
distuninstallcheck_listfiles = find . -type f -print
am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \
| sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$'
distcleancheck_listfiles = find . -type f -print
ACLOCAL = @ACLOCAL@
ALL_LINGUAS = @ALL_LINGUAS@
AMTAR = @AMTAR@
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
CATALOGS = @CATALOGS@
CATOBJEXT = @CATOBJEXT@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CYGPATH_W = @CYGPATH_W@
DATADIRNAME = @DATADIRNAME@
DBUSSERVICEDIR = @DBUSSERVICEDIR@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
GMOFILES = @GMOFILES@
GMSGFMT = @GMSGFMT@
GREP = @GREP@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
INSTOBJEXT = @INSTOBJEXT@
INTLLIBS = @INTLLIBS@
INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@
INTLTOOL_MERGE = @INTLTOOL_MERGE@
INTLTOOL_PERL = @INTLTOOL_PERL@
INTLTOOL_UPDATE = @INTLTOOL_UPDATE@
INTLTOOL_V_MERGE = @INTLTOOL_V_MERGE@
INTLTOOL_V_MERGE_OPTIONS = @INTLTOOL_V_MERGE_OPTIONS@
INTLTOOL__v_MERGE_ = @INTLTOOL__v_MERGE_@
INTLTOOL__v_MERGE_0 = @INTLTOOL__v_MERGE_0@
LDFLAGS = @LDFLAGS@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LTLIBOBJS = @LTLIBOBJS@
MAEMO = @MAEMO@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MIMEINFO_XMLNS = @MIMEINFO_XMLNS@
MIME_OSSOCAT = @MIME_OSSOCAT@
MKDIR_P = @MKDIR_P@
MKINSTALLDIRS = @MKINSTALLDIRS@
MSGFMT = @MSGFMT@
MSGFMT_OPTS = @MSGFMT_OPTS@
MSGMERGE = @MSGMERGE@
OBJEXT = @OBJEXT@
OTHER_DESKTOP_ENTRIES = @OTHER_DESKTOP_ENTRIES@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_CFLAGS = @PACKAGE_CFLAGS@
PACKAGE_LIBS = @PACKAGE_LIBS@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PKG_CONFIG = @PKG_CONFIG@
PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
POFILES = @POFILES@
POSUB = @POSUB@
PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@
PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
UNITY_CFLAGS = @UNITY_CFLAGS@
UNITY_LIBS = @UNITY_LIBS@
USE_NLS = @USE_NLS@
VERSION = @VERSION@
XGETTEXT = @XGETTEXT@
XMLFILE = @XMLFILE@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_CC = @ac_ct_CC@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
am__tar = @am__tar@ --exclude=".svn"
am__untar = @am__untar@
bindir = @bindir@
build_alias = @build_alias@
builddir = @builddir@
datadir = @datadir@
datarootdir = @datarootdir@
dbusservicedir = @dbusservicedir@
desktopentrydir = @desktopentrydir@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
hildonpixmapdir = @hildonpixmapdir@
host_alias = @host_alias@
htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
intltool__v_merge_options_ = @intltool__v_merge_options_@
intltool__v_merge_options_0 = @intltool__v_merge_options_0@
libdir = @libdir@
libexecdir = @libexecdir@
localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
SUBDIRS = src po
man_MANS = grsync.1 grsync-batch.1
EXTRA_DIST = \
autogen.sh \
grsync.glade \
grsync-maemo-ui.xml \
grsync.conf \
grsync.desktop.in \
grsync.xml.in \
it.opbyte.grsync.service.in \
grsync.spec.in \
$(man_MANS) \
intltool-extract.in \
intltool-merge.in \
intltool-update.in \
src/grsync-batch \
pixmaps \
maemo-icons
@MAEMO_FALSE@Applicationsdir = $(datadir)/applications
@MAEMO_TRUE@Applicationsdir = $(desktopentrydir)
@MAEMO_FALSE@Applications_DATA = grsync.desktop
@MAEMO_TRUE@Applications_DATA = grsync.desktop
@MAEMO_TRUE@Servicedir = $(dbusservicedir)
@MAEMO_TRUE@Service_DATA = it.opbyte.grsync.service
@MAEMO_TRUE@Backupdir = /etc/osso-backup/applications
@MAEMO_TRUE@Backup_DATA = grsync.conf
@MAEMO_TRUE@icon_26x26dir = $(datadir)/icons/hicolor/26x26/hildon
@MAEMO_TRUE@icon_26x26_DATA = maemo-icons/26x26/grsync.png
@MAEMO_TRUE@icon_40x40dir = $(datadir)/icons/hicolor/40x40/hildon
@MAEMO_TRUE@icon_40x40_DATA = maemo-icons/40x40/grsync.png
@MAEMO_TRUE@icon_48x48dir = $(datadir)/icons/hicolor/48x48/hildon
@MAEMO_TRUE@icon_48x48_DATA = maemo-icons/48x48/grsync.png
@MAEMO_TRUE@icon_64x64dir = $(datadir)/icons/hicolor/64x64/hildon
@MAEMO_TRUE@icon_64x64_DATA = maemo-icons/64x64/grsync.png
@MAEMO_TRUE@icon_scalabledir = $(datadir)/icons/hicolor/scalable/hildon
@MAEMO_TRUE@icon_scalable_DATA = maemo-icons/scalable/grsync.png
Gladedir = $(datadir)/grsync
Glade_DATA = $(XMLFILE)
mimedir = $(datadir)/mime
mimepackagesdir = $(mimedir)/packages
dist_mimepackages_DATA = grsync.xml
pixmapdir = $(datadir)/pixmaps
pixmap_DATA = pixmaps/grsync.png
pixmapbusydir = $(datadir)/pixmaps
pixmapbusy_DATA = pixmaps/grsync-busy.png
mimeicondir = $(datadir)/icons/hicolor/48x48/mimetypes/
mimeicon_DATA = pixmaps/application-x-grsync-session.png
all: config.h
$(MAKE) $(AM_MAKEFLAGS) all-recursive
.SUFFIXES:
am--refresh: Makefile
@:
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
echo ' cd $(srcdir) && $(AUTOMAKE) --gnu'; \
$(am__cd) $(srcdir) && $(AUTOMAKE) --gnu \
&& exit 0; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile'; \
$(am__cd) $(top_srcdir) && \
$(AUTOMAKE) --gnu Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
echo ' $(SHELL) ./config.status'; \
$(SHELL) ./config.status;; \
*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
$(SHELL) ./config.status --recheck
$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
$(am__cd) $(srcdir) && $(AUTOCONF)
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
$(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
$(am__aclocal_m4_deps):
config.h: stamp-h1
@test -f $@ || rm -f stamp-h1
@test -f $@ || $(MAKE) $(AM_MAKEFLAGS) stamp-h1
stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status
@rm -f stamp-h1
cd $(top_builddir) && $(SHELL) ./config.status config.h
$(srcdir)/config.h.in: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
($(am__cd) $(top_srcdir) && $(AUTOHEADER))
rm -f stamp-h1
touch $@
distclean-hdr:
-rm -f config.h stamp-h1
grsync.spec: $(top_builddir)/config.status $(srcdir)/grsync.spec.in
cd $(top_builddir) && $(SHELL) ./config.status $@
grsync.desktop: $(top_builddir)/config.status $(srcdir)/grsync.desktop.in
cd $(top_builddir) && $(SHELL) ./config.status $@
grsync.xml: $(top_builddir)/config.status $(srcdir)/grsync.xml.in
cd $(top_builddir) && $(SHELL) ./config.status $@
it.opbyte.grsync.service: $(top_builddir)/config.status $(srcdir)/it.opbyte.grsync.service.in
cd $(top_builddir) && $(SHELL) ./config.status $@
install-man1: $(man_MANS)
@$(NORMAL_INSTALL)
@list1=''; \
list2='$(man_MANS)'; \
test -n "$(man1dir)" \
&& test -n "`echo $$list1$$list2`" \
|| exit 0; \
echo " $(MKDIR_P) '$(DESTDIR)$(man1dir)'"; \
$(MKDIR_P) "$(DESTDIR)$(man1dir)" || exit 1; \
{ for i in $$list1; do echo "$$i"; done; \
if test -n "$$list2"; then \
for i in $$list2; do echo "$$i"; done \
| sed -n '/\.1[a-z]*$$/p'; \
fi; \
} | while read p; do \
if test -f $$p; then d=; else d="$(srcdir)/"; fi; \
echo "$$d$$p"; echo "$$p"; \
done | \
sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \
-e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \
sed 'N;N;s,\n, ,g' | { \
list=; while read file base inst; do \
if test "$$base" = "$$inst"; then list="$$list $$file"; else \
echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \
$(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst" || exit $$?; \
fi; \
done; \
for i in $$list; do echo "$$i"; done | $(am__base_list) | \
while read files; do \
test -z "$$files" || { \
echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man1dir)'"; \
$(INSTALL_DATA) $$files "$(DESTDIR)$(man1dir)" || exit $$?; }; \
done; }
uninstall-man1:
@$(NORMAL_UNINSTALL)
@list=''; test -n "$(man1dir)" || exit 0; \
files=`{ for i in $$list; do echo "$$i"; done; \
l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \
sed -n '/\.1[a-z]*$$/p'; \
} | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \
-e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \
dir='$(DESTDIR)$(man1dir)'; $(am__uninstall_files_from_dir)
install-ApplicationsDATA: $(Applications_DATA)
@$(NORMAL_INSTALL)
@list='$(Applications_DATA)'; test -n "$(Applicationsdir)" || list=; \
if test -n "$$list"; then \
echo " $(MKDIR_P) '$(DESTDIR)$(Applicationsdir)'"; \
$(MKDIR_P) "$(DESTDIR)$(Applicationsdir)" || exit 1; \
fi; \
for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
echo "$$d$$p"; \
done | $(am__base_list) | \
while read files; do \
echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(Applicationsdir)'"; \
$(INSTALL_DATA) $$files "$(DESTDIR)$(Applicationsdir)" || exit $$?; \
done
uninstall-ApplicationsDATA:
@$(NORMAL_UNINSTALL)
@list='$(Applications_DATA)'; test -n "$(Applicationsdir)" || list=; \
files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
dir='$(DESTDIR)$(Applicationsdir)'; $(am__uninstall_files_from_dir)
install-BackupDATA: $(Backup_DATA)
@$(NORMAL_INSTALL)
@list='$(Backup_DATA)'; test -n "$(Backupdir)" || list=; \
if test -n "$$list"; then \
echo " $(MKDIR_P) '$(DESTDIR)$(Backupdir)'"; \
$(MKDIR_P) "$(DESTDIR)$(Backupdir)" || exit 1; \
fi; \
for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
echo "$$d$$p"; \
done | $(am__base_list) | \
while read files; do \
echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(Backupdir)'"; \
$(INSTALL_DATA) $$files "$(DESTDIR)$(Backupdir)" || exit $$?; \
done
uninstall-BackupDATA:
@$(NORMAL_UNINSTALL)
@list='$(Backup_DATA)'; test -n "$(Backupdir)" || list=; \
files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
dir='$(DESTDIR)$(Backupdir)'; $(am__uninstall_files_from_dir)
install-GladeDATA: $(Glade_DATA)
@$(NORMAL_INSTALL)
@list='$(Glade_DATA)'; test -n "$(Gladedir)" || list=; \
if test -n "$$list"; then \
echo " $(MKDIR_P) '$(DESTDIR)$(Gladedir)'"; \
$(MKDIR_P) "$(DESTDIR)$(Gladedir)" || exit 1; \
fi; \
for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
echo "$$d$$p"; \
done | $(am__base_list) | \
while read files; do \
echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(Gladedir)'"; \
$(INSTALL_DATA) $$files "$(DESTDIR)$(Gladedir)" || exit $$?; \
done
uninstall-GladeDATA:
@$(NORMAL_UNINSTALL)
@list='$(Glade_DATA)'; test -n "$(Gladedir)" || list=; \
files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
dir='$(DESTDIR)$(Gladedir)'; $(am__uninstall_files_from_dir)
install-ServiceDATA: $(Service_DATA)
@$(NORMAL_INSTALL)
@list='$(Service_DATA)'; test -n "$(Servicedir)" || list=; \
if test -n "$$list"; then \
echo " $(MKDIR_P) '$(DESTDIR)$(Servicedir)'"; \
$(MKDIR_P) "$(DESTDIR)$(Servicedir)" || exit 1; \
fi; \
for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
echo "$$d$$p"; \
done | $(am__base_list) | \
while read files; do \
echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(Servicedir)'"; \
$(INSTALL_DATA) $$files "$(DESTDIR)$(Servicedir)" || exit $$?; \
done
uninstall-ServiceDATA:
@$(NORMAL_UNINSTALL)
@list='$(Service_DATA)'; test -n "$(Servicedir)" || list=; \
files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
dir='$(DESTDIR)$(Servicedir)'; $(am__uninstall_files_from_dir)
install-dist_mimepackagesDATA: $(dist_mimepackages_DATA)
@$(NORMAL_INSTALL)
@list='$(dist_mimepackages_DATA)'; test -n "$(mimepackagesdir)" || list=; \
if test -n "$$list"; then \
echo " $(MKDIR_P) '$(DESTDIR)$(mimepackagesdir)'"; \
$(MKDIR_P) "$(DESTDIR)$(mimepackagesdir)" || exit 1; \
fi; \
for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
echo "$$d$$p"; \
done | $(am__base_list) | \
while read files; do \
echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(mimepackagesdir)'"; \
$(INSTALL_DATA) $$files "$(DESTDIR)$(mimepackagesdir)" || exit $$?; \
done
uninstall-dist_mimepackagesDATA:
@$(NORMAL_UNINSTALL)
@list='$(dist_mimepackages_DATA)'; test -n "$(mimepackagesdir)" || list=; \
files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
dir='$(DESTDIR)$(mimepackagesdir)'; $(am__uninstall_files_from_dir)
install-icon_26x26DATA: $(icon_26x26_DATA)
@$(NORMAL_INSTALL)
@list='$(icon_26x26_DATA)'; test -n "$(icon_26x26dir)" || list=; \
if test -n "$$list"; then \
echo " $(MKDIR_P) '$(DESTDIR)$(icon_26x26dir)'"; \
$(MKDIR_P) "$(DESTDIR)$(icon_26x26dir)" || exit 1; \
fi; \
for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
echo "$$d$$p"; \
done | $(am__base_list) | \
while read files; do \
echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(icon_26x26dir)'"; \
$(INSTALL_DATA) $$files "$(DESTDIR)$(icon_26x26dir)" || exit $$?; \
done
uninstall-icon_26x26DATA:
@$(NORMAL_UNINSTALL)
@list='$(icon_26x26_DATA)'; test -n "$(icon_26x26dir)" || list=; \
files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
dir='$(DESTDIR)$(icon_26x26dir)'; $(am__uninstall_files_from_dir)
install-icon_40x40DATA: $(icon_40x40_DATA)
@$(NORMAL_INSTALL)
@list='$(icon_40x40_DATA)'; test -n "$(icon_40x40dir)" || list=; \
if test -n "$$list"; then \
echo " $(MKDIR_P) '$(DESTDIR)$(icon_40x40dir)'"; \
$(MKDIR_P) "$(DESTDIR)$(icon_40x40dir)" || exit 1; \
fi; \
for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
echo "$$d$$p"; \
done | $(am__base_list) | \
while read files; do \
echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(icon_40x40dir)'"; \
$(INSTALL_DATA) $$files "$(DESTDIR)$(icon_40x40dir)" || exit $$?; \
done
uninstall-icon_40x40DATA:
@$(NORMAL_UNINSTALL)
@list='$(icon_40x40_DATA)'; test -n "$(icon_40x40dir)" || list=; \
files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
dir='$(DESTDIR)$(icon_40x40dir)'; $(am__uninstall_files_from_dir)
install-icon_48x48DATA: $(icon_48x48_DATA)
@$(NORMAL_INSTALL)
@list='$(icon_48x48_DATA)'; test -n "$(icon_48x48dir)" || list=; \
if test -n "$$list"; then \
echo " $(MKDIR_P) '$(DESTDIR)$(icon_48x48dir)'"; \
$(MKDIR_P) "$(DESTDIR)$(icon_48x48dir)" || exit 1; \
fi; \
for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
echo "$$d$$p"; \
done | $(am__base_list) | \
while read files; do \
echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(icon_48x48dir)'"; \
$(INSTALL_DATA) $$files "$(DESTDIR)$(icon_48x48dir)" || exit $$?; \
done
uninstall-icon_48x48DATA:
@$(NORMAL_UNINSTALL)
@list='$(icon_48x48_DATA)'; test -n "$(icon_48x48dir)" || list=; \
files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
dir='$(DESTDIR)$(icon_48x48dir)'; $(am__uninstall_files_from_dir)
install-icon_64x64DATA: $(icon_64x64_DATA)
@$(NORMAL_INSTALL)
@list='$(icon_64x64_DATA)'; test -n "$(icon_64x64dir)" || list=; \
if test -n "$$list"; then \
echo " $(MKDIR_P) '$(DESTDIR)$(icon_64x64dir)'"; \
$(MKDIR_P) "$(DESTDIR)$(icon_64x64dir)" || exit 1; \
fi; \
for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
echo "$$d$$p"; \
done | $(am__base_list) | \
while read files; do \
echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(icon_64x64dir)'"; \
$(INSTALL_DATA) $$files "$(DESTDIR)$(icon_64x64dir)" || exit $$?; \
done
uninstall-icon_64x64DATA:
@$(NORMAL_UNINSTALL)
@list='$(icon_64x64_DATA)'; test -n "$(icon_64x64dir)" || list=; \
files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
dir='$(DESTDIR)$(icon_64x64dir)'; $(am__uninstall_files_from_dir)
install-icon_scalableDATA: $(icon_scalable_DATA)
@$(NORMAL_INSTALL)
@list='$(icon_scalable_DATA)'; test -n "$(icon_scalabledir)" || list=; \
if test -n "$$list"; then \
echo " $(MKDIR_P) '$(DESTDIR)$(icon_scalabledir)'"; \
$(MKDIR_P) "$(DESTDIR)$(icon_scalabledir)" || exit 1; \
fi; \
for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
echo "$$d$$p"; \
done | $(am__base_list) | \
while read files; do \
echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(icon_scalabledir)'"; \
$(INSTALL_DATA) $$files "$(DESTDIR)$(icon_scalabledir)" || exit $$?; \
done
uninstall-icon_scalableDATA:
@$(NORMAL_UNINSTALL)
@list='$(icon_scalable_DATA)'; test -n "$(icon_scalabledir)" || list=; \
files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
dir='$(DESTDIR)$(icon_scalabledir)'; $(am__uninstall_files_from_dir)
install-mimeiconDATA: $(mimeicon_DATA)
@$(NORMAL_INSTALL)
@list='$(mimeicon_DATA)'; test -n "$(mimeicondir)" || list=; \
if test -n "$$list"; then \
echo " $(MKDIR_P) '$(DESTDIR)$(mimeicondir)'"; \
$(MKDIR_P) "$(DESTDIR)$(mimeicondir)" || exit 1; \
fi; \
for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
echo "$$d$$p"; \
done | $(am__base_list) | \
while read files; do \
echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(mimeicondir)'"; \
$(INSTALL_DATA) $$files "$(DESTDIR)$(mimeicondir)" || exit $$?; \
done
uninstall-mimeiconDATA:
@$(NORMAL_UNINSTALL)
@list='$(mimeicon_DATA)'; test -n "$(mimeicondir)" || list=; \
files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
dir='$(DESTDIR)$(mimeicondir)'; $(am__uninstall_files_from_dir)
install-pixmapDATA: $(pixmap_DATA)
@$(NORMAL_INSTALL)
@list='$(pixmap_DATA)'; test -n "$(pixmapdir)" || list=; \
if test -n "$$list"; then \
echo " $(MKDIR_P) '$(DESTDIR)$(pixmapdir)'"; \
$(MKDIR_P) "$(DESTDIR)$(pixmapdir)" || exit 1; \
fi; \
for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
echo "$$d$$p"; \
done | $(am__base_list) | \
while read files; do \
echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pixmapdir)'"; \
$(INSTALL_DATA) $$files "$(DESTDIR)$(pixmapdir)" || exit $$?; \
done
uninstall-pixmapDATA:
@$(NORMAL_UNINSTALL)
@list='$(pixmap_DATA)'; test -n "$(pixmapdir)" || list=; \
files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
dir='$(DESTDIR)$(pixmapdir)'; $(am__uninstall_files_from_dir)
install-pixmapbusyDATA: $(pixmapbusy_DATA)
@$(NORMAL_INSTALL)
@list='$(pixmapbusy_DATA)'; test -n "$(pixmapbusydir)" || list=; \
if test -n "$$list"; then \
echo " $(MKDIR_P) '$(DESTDIR)$(pixmapbusydir)'"; \
$(MKDIR_P) "$(DESTDIR)$(pixmapbusydir)" || exit 1; \
fi; \
for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
echo "$$d$$p"; \
done | $(am__base_list) | \
while read files; do \
echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pixmapbusydir)'"; \
$(INSTALL_DATA) $$files "$(DESTDIR)$(pixmapbusydir)" || exit $$?; \
done
uninstall-pixmapbusyDATA:
@$(NORMAL_UNINSTALL)
@list='$(pixmapbusy_DATA)'; test -n "$(pixmapbusydir)" || list=; \
files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
dir='$(DESTDIR)$(pixmapbusydir)'; $(am__uninstall_files_from_dir)
# This directory's subdirectories are mostly independent; you can cd
# into them and run 'make' without going through this Makefile.
# To change the values of 'make' variables: instead of editing Makefiles,
# (1) if the variable is set in 'config.status', edit 'config.status'
# (which will cause the Makefiles to be regenerated when you run 'make');
# (2) otherwise, pass the desired values on the 'make' command line.
$(am__recursive_targets):
@fail=; \
if $(am__make_keepgoing); then \
failcom='fail=yes'; \
else \
failcom='exit 1'; \
fi; \
dot_seen=no; \
target=`echo $@ | sed s/-recursive//`; \
case "$@" in \
distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
*) list='$(SUBDIRS)' ;; \
esac; \
for subdir in $$list; do \
echo "Making $$target in $$subdir"; \
if test "$$subdir" = "."; then \
dot_seen=yes; \
local_target="$$target-am"; \
else \
local_target="$$target"; \
fi; \
($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|| eval $$failcom; \
done; \
if test "$$dot_seen" = "no"; then \
$(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
fi; test -z "$$fail"
ID: $(am__tagged_files)
$(am__define_uniq_tagged_files); mkid -fID $$unique
tags: tags-recursive
TAGS: tags
tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
set x; \
here=`pwd`; \
if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
include_option=--etags-include; \
empty_fix=.; \
else \
include_option=--include; \
empty_fix=; \
fi; \
list='$(SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
test ! -f $$subdir/TAGS || \
set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
fi; \
done; \
$(am__define_uniq_tagged_files); \
shift; \
if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
if test $$# -gt 0; then \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
"$$@" $$unique; \
else \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
$$unique; \
fi; \
fi
ctags: ctags-recursive
CTAGS: ctags
ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
$(am__define_uniq_tagged_files); \
test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
&& $(am__cd) $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) "$$here"
cscope: cscope.files
test ! -s cscope.files \
|| $(CSCOPE) -b -q $(AM_CSCOPEFLAGS) $(CSCOPEFLAGS) -i cscope.files $(CSCOPE_ARGS)
clean-cscope:
-rm -f cscope.files
cscope.files: clean-cscope cscopelist
cscopelist: cscopelist-recursive
cscopelist-am: $(am__tagged_files)
list='$(am__tagged_files)'; \
case "$(srcdir)" in \
[\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
*) sdir=$(subdir)/$(srcdir) ;; \
esac; \
for i in $$list; do \
if test -f "$$i"; then \
echo "$(subdir)/$$i"; \
else \
echo "$$sdir/$$i"; \
fi; \
done >> $(top_builddir)/cscope.files
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-rm -f cscope.out cscope.in.out cscope.po.out cscope.files
distdir: $(DISTFILES)
$(am__remove_distdir)
test -d "$(distdir)" || mkdir "$(distdir)"
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
list='$(DISTFILES)'; \
dist_files=`for file in $$list; do echo $$file; done | \
sed -e "s|^$$srcdirstrip/||;t" \
-e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
case $$dist_files in \
*/*) $(MKDIR_P) `echo "$$dist_files" | \
sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
sort -u` ;; \
esac; \
for file in $$dist_files; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
if test -d "$(distdir)/$$file"; then \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
test -f "$(distdir)/$$file" \
|| cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
@list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
$(am__make_dryrun) \
|| test -d "$(distdir)/$$subdir" \
|| $(MKDIR_P) "$(distdir)/$$subdir" \
|| exit 1; \
dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
$(am__relativize); \
new_distdir=$$reldir; \
dir1=$$subdir; dir2="$(top_distdir)"; \
$(am__relativize); \
new_top_distdir=$$reldir; \
echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
($(am__cd) $$subdir && \
$(MAKE) $(AM_MAKEFLAGS) \
top_distdir="$$new_top_distdir" \
distdir="$$new_distdir" \
am__remove_distdir=: \
am__skip_length_check=: \
am__skip_mode_fix=: \
distdir) \
|| exit 1; \
fi; \
done
-test -n "$(am__skip_mode_fix)" \
|| find "$(distdir)" -type d ! -perm -755 \
-exec chmod u+rwx,go+rx {} \; -o \
! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
! -type d ! -perm -400 -exec chmod a+r {} \; -o \
! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \
|| chmod -R a+r "$(distdir)"
dist-gzip: distdir
tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
$(am__post_remove_distdir)
dist-bzip2: distdir
tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2
$(am__post_remove_distdir)
dist-lzip: distdir
tardir=$(distdir) && $(am__tar) | lzip -c $${LZIP_OPT--9} >$(distdir).tar.lz
$(am__post_remove_distdir)
dist-xz: distdir
tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz
$(am__post_remove_distdir)
dist-tarZ: distdir
@echo WARNING: "Support for distribution archives compressed with" \
"legacy program 'compress' is deprecated." >&2
@echo WARNING: "It will be removed altogether in Automake 2.0" >&2
tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
$(am__post_remove_distdir)
dist-shar: distdir
@echo WARNING: "Support for shar distribution archives is" \
"deprecated." >&2
@echo WARNING: "It will be removed altogether in Automake 2.0" >&2
shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
$(am__post_remove_distdir)
dist-zip: distdir
-rm -f $(distdir).zip
zip -rq $(distdir).zip $(distdir)
$(am__post_remove_distdir)
dist dist-all:
$(MAKE) $(AM_MAKEFLAGS) $(DIST_TARGETS) am__post_remove_distdir='@:'
$(am__post_remove_distdir)
# This target untars the dist file and tries a VPATH configuration. Then
# it guarantees that the distribution is self-contained by making another
# tarfile.
distcheck: dist
case '$(DIST_ARCHIVES)' in \
*.tar.gz*) \
GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\
*.tar.bz2*) \
bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\
*.tar.lz*) \
lzip -dc $(distdir).tar.lz | $(am__untar) ;;\
*.tar.xz*) \
xz -dc $(distdir).tar.xz | $(am__untar) ;;\
*.tar.Z*) \
uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
*.shar.gz*) \
GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\
*.zip*) \
unzip $(distdir).zip ;;\
esac
chmod -R a-w $(distdir)
chmod u+w $(distdir)
mkdir $(distdir)/_build $(distdir)/_build/sub $(distdir)/_inst
chmod a-w $(distdir)
test -d $(distdir)/_build || exit 0; \
dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
&& dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
&& am__cwd=`pwd` \
&& $(am__cd) $(distdir)/_build/sub \
&& ../../configure \
$(AM_DISTCHECK_CONFIGURE_FLAGS) \
$(DISTCHECK_CONFIGURE_FLAGS) \
--srcdir=../.. --prefix="$$dc_install_base" \
&& $(MAKE) $(AM_MAKEFLAGS) \
&& $(MAKE) $(AM_MAKEFLAGS) dvi \
&& $(MAKE) $(AM_MAKEFLAGS) check \
&& $(MAKE) $(AM_MAKEFLAGS) install \
&& $(MAKE) $(AM_MAKEFLAGS) installcheck \
&& $(MAKE) $(AM_MAKEFLAGS) uninstall \
&& $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \
distuninstallcheck \
&& chmod -R a-w "$$dc_install_base" \
&& ({ \
(cd ../.. && umask 077 && mkdir "$$dc_destdir") \
&& $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
&& $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
&& $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
} || { rm -rf "$$dc_destdir"; exit 1; }) \
&& rm -rf "$$dc_destdir" \
&& $(MAKE) $(AM_MAKEFLAGS) dist \
&& rm -rf $(DIST_ARCHIVES) \
&& $(MAKE) $(AM_MAKEFLAGS) distcleancheck \
&& cd "$$am__cwd" \
|| exit 1
$(am__post_remove_distdir)
@(echo "$(distdir) archives ready for distribution: "; \
list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x'
distuninstallcheck:
@test -n '$(distuninstallcheck_dir)' || { \
echo 'ERROR: trying to run $@ with an empty' \
'$$(distuninstallcheck_dir)' >&2; \
exit 1; \
}; \
$(am__cd) '$(distuninstallcheck_dir)' || { \
echo 'ERROR: cannot chdir into $(distuninstallcheck_dir)' >&2; \
exit 1; \
}; \
test `$(am__distuninstallcheck_listfiles) | wc -l` -eq 0 \
|| { echo "ERROR: files left after uninstall:" ; \
if test -n "$(DESTDIR)"; then \
echo " (check DESTDIR support)"; \
fi ; \
$(distuninstallcheck_listfiles) ; \
exit 1; } >&2
distcleancheck: distclean
@if test '$(srcdir)' = . ; then \
echo "ERROR: distcleancheck can only run from a VPATH build" ; \
exit 1 ; \
fi
@test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
|| { echo "ERROR: files left in build directory after distclean:" ; \
$(distcleancheck_listfiles) ; \
exit 1; } >&2
check-am: all-am
check: check-recursive
all-am: Makefile $(MANS) $(DATA) config.h
installdirs: installdirs-recursive
installdirs-am:
for dir in "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(Applicationsdir)" "$(DESTDIR)$(Backupdir)" "$(DESTDIR)$(Gladedir)" "$(DESTDIR)$(Servicedir)" "$(DESTDIR)$(mimepackagesdir)" "$(DESTDIR)$(icon_26x26dir)" "$(DESTDIR)$(icon_40x40dir)" "$(DESTDIR)$(icon_48x48dir)" "$(DESTDIR)$(icon_64x64dir)" "$(DESTDIR)$(icon_scalabledir)" "$(DESTDIR)$(mimeicondir)" "$(DESTDIR)$(pixmapdir)" "$(DESTDIR)$(pixmapbusydir)"; do \
test -z "$$dir" || $(MKDIR_P) "$$dir"; \
done
install: install-recursive
install-exec: install-exec-recursive
install-data: install-data-recursive
uninstall: uninstall-recursive
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
installcheck: installcheck-recursive
install-strip:
if test -z '$(STRIP)'; then \
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
install; \
else \
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
"INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
fi
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
clean: clean-recursive
clean-am: clean-generic mostlyclean-am
distclean: distclean-recursive
-rm -f $(am__CONFIG_DISTCLEAN_FILES)
-rm -f Makefile
distclean-am: clean-am distclean-generic distclean-hdr distclean-local \
distclean-tags
dvi: dvi-recursive
dvi-am:
html: html-recursive
html-am:
info: info-recursive
info-am:
install-data-am: install-ApplicationsDATA install-BackupDATA \
install-GladeDATA install-ServiceDATA \
install-dist_mimepackagesDATA install-icon_26x26DATA \
install-icon_40x40DATA install-icon_48x48DATA \
install-icon_64x64DATA install-icon_scalableDATA install-man \
install-mimeiconDATA install-pixmapDATA install-pixmapbusyDATA
install-dvi: install-dvi-recursive
install-dvi-am:
install-exec-am:
install-html: install-html-recursive
install-html-am:
install-info: install-info-recursive
install-info-am:
install-man: install-man1
install-pdf: install-pdf-recursive
install-pdf-am:
install-ps: install-ps-recursive
install-ps-am:
installcheck-am:
maintainer-clean: maintainer-clean-recursive
-rm -f $(am__CONFIG_DISTCLEAN_FILES)
-rm -rf $(top_srcdir)/autom4te.cache
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-recursive
mostlyclean-am: mostlyclean-generic
pdf: pdf-recursive
pdf-am:
ps: ps-recursive
ps-am:
uninstall-am: uninstall-ApplicationsDATA uninstall-BackupDATA \
uninstall-GladeDATA uninstall-ServiceDATA \
uninstall-dist_mimepackagesDATA uninstall-icon_26x26DATA \
uninstall-icon_40x40DATA uninstall-icon_48x48DATA \
uninstall-icon_64x64DATA uninstall-icon_scalableDATA \
uninstall-man uninstall-mimeiconDATA uninstall-pixmapDATA \
uninstall-pixmapbusyDATA
uninstall-man: uninstall-man1
.MAKE: $(am__recursive_targets) all install-am install-strip
.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am \
am--refresh check check-am clean clean-cscope clean-generic \
cscope cscopelist-am ctags ctags-am dist dist-all dist-bzip2 \
dist-gzip dist-lzip dist-shar dist-tarZ dist-xz dist-zip \
distcheck distclean distclean-generic distclean-hdr \
distclean-local distclean-tags distcleancheck distdir \
distuninstallcheck dvi dvi-am html html-am info info-am \
install install-ApplicationsDATA install-BackupDATA \
install-GladeDATA install-ServiceDATA install-am install-data \
install-data-am install-dist_mimepackagesDATA install-dvi \
install-dvi-am install-exec install-exec-am install-html \
install-html-am install-icon_26x26DATA install-icon_40x40DATA \
install-icon_48x48DATA install-icon_64x64DATA \
install-icon_scalableDATA install-info install-info-am \
install-man install-man1 install-mimeiconDATA install-pdf \
install-pdf-am install-pixmapDATA install-pixmapbusyDATA \
install-ps install-ps-am install-strip installcheck \
installcheck-am installdirs installdirs-am maintainer-clean \
maintainer-clean-generic mostlyclean mostlyclean-generic pdf \
pdf-am ps ps-am tags tags-am uninstall \
uninstall-ApplicationsDATA uninstall-BackupDATA \
uninstall-GladeDATA uninstall-ServiceDATA uninstall-am \
uninstall-dist_mimepackagesDATA uninstall-icon_26x26DATA \
uninstall-icon_40x40DATA uninstall-icon_48x48DATA \
uninstall-icon_64x64DATA uninstall-icon_scalableDATA \
uninstall-man uninstall-man1 uninstall-mimeiconDATA \
uninstall-pixmapDATA uninstall-pixmapbusyDATA
.PRECIOUS: Makefile
distclean-local:
rm -rf *.cache *~
# 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.
.NOEXPORT:
grsync-1.2.6/grsync.spec.in 0000664 0001750 0001750 00000002550 12137727646 012557 0000000 0000000 Name: grsync
Version: @VERSION@
Release: 1%{?dist}
Summary: A GUI for rsync
Group: Applications/Internet
License: GPL
URL: http://www.opbyte.it/grsync/
Source0: http://www.opbyte.it/release/grsync-@VERSION@.tar.gz
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires: gettext-devel, gtk2-devel >= 2.0.0
Requires: gettext, gtk2 >= 2.0.0, rsync
%description
Grsync is a GUI for rsync, the command-line directory synchronization
tool. It is in beta stage and doesn't support all of rsync features,
but can be effectively used to synchronize local directories. For
example some people use grsync to synchronize their music collection
with removable devices or to backup personal files to a networked drive.
%prep
%setup -q
%build
%configure
make %{?_smp_mflags}
%install
rm -rf $RPM_BUILD_ROOT
%makeinstall
%clean
rm -rf $RPM_BUILD_ROOT
%files
%defattr(-,root,root,-)
%doc AUTHORS ChangeLog COPYING INSTALL NEWS README
%{_bindir}/grsync
%{_mandir}/man1/grsync.1*
%{_datadir}/applications/grsync.desktop
%{_datadir}/locale/fr_FR/LC_MESSAGES/grsync.mo
%{_datadir}/locale/it_IT/LC_MESSAGES/grsync.mo
%{_datadir}/locale/nl_NL/LC_MESSAGES/grsync.mo
%{_datadir}/locale/sv_SE/LC_MESSAGES/grsync.mo
%{_datadir}/locale/zh_CN/LC_MESSAGES/grsync.mo
%{_datadir}/pixmaps/grsync.png
grsync-1.2.6/intltool-merge.in 0000664 0001750 0001750 00000000000 12137727646 013246 0000000 0000000 grsync-1.2.6/missing 0000755 0001750 0001750 00000015330 12672004522 011347 0000000 0000000 #! /bin/sh
# Common wrapper for a few potentially missing GNU programs.
scriptversion=2013-10-28.13; # UTC
# Copyright (C) 1996-2014 Free Software Foundation, Inc.
# Originally written by Fran,cois Pinard , 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
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program. If not, see .
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
# configuration script generated by Autoconf, you may include it under
# 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"
exit 1
fi
case $1 in
--is-lightweight)
# Used by our autoconf macros to check whether the available missing
# script is modern enough.
exit 0
;;
--run)
# Back-compat with the calling convention used by older automake.
shift
;;
-h|--h|--he|--hel|--help)
echo "\
$0 [OPTION]... PROGRAM [ARGUMENT]...
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
Supported PROGRAM values:
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.
Send bug reports to ."
exit $?
;;
-v|--v|--ve|--ver|--vers|--versi|--versio|--version)
echo "missing $scriptversion (GNU Automake)"
exit $?
;;
-*)
echo 1>&2 "$0: unknown '$1' option"
echo 1>&2 "Try '$0 --help' for more information"
exit 1
;;
esac
# 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
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/>"
;;
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)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
# time-stamp-time-zone: "UTC"
# time-stamp-end: "; # UTC"
# End:
grsync-1.2.6/install-sh 0000755 0001750 0001750 00000034523 12672004522 011761 0000000 0000000 #!/bin/sh
# install - install a program, script, or datafile
scriptversion=2013-12-25.23; # UTC
# This originates from X11R5 (mit/util/scripts/install.sh), which was
# later released in X11R6 (xc/config/util/install.sh) with the
# following copyright and license.
#
# Copyright (C) 1994 X Consortium
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to
# deal in the Software without restriction, including without limitation the
# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
# sell copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included in
# all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC-
# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#
# Except as contained in this notice, the name of the X Consortium shall not
# be used in advertising or otherwise to promote the sale, use or other deal-
# ings in this Software without prior written authorization from the X Consor-
# tium.
#
#
# 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
# when there is no Makefile.
#
# This script is compatible with the BSD install script, but was written
# from scratch.
tab=' '
nl='
'
IFS=" $tab$nl"
# Set DOITPROG to "echo" to test this script.
doit=${DOITPROG-}
doit_exec=${doit:-exec}
# Put in absolute file names if you don't have them in your path;
# or use environment vars.
chgrpprog=${CHGRPPROG-chgrp}
chmodprog=${CHMODPROG-chmod}
chownprog=${CHOWNPROG-chown}
cmpprog=${CMPPROG-cmp}
cpprog=${CPPROG-cp}
mkdirprog=${MKDIRPROG-mkdir}
mvprog=${MVPROG-mv}
rmprog=${RMPROG-rm}
stripprog=${STRIPPROG-strip}
posix_mkdir=
# Desired mode of installed file.
mode=0755
chgrpcmd=
chmodcmd=$chmodprog
chowncmd=
mvcmd=$mvprog
rmcmd="$rmprog -f"
stripcmd=
src=
dst=
dir_arg=
dst_arg=
copy_on_change=false
is_target_a_directory=possibly
usage="\
Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE
or: $0 [OPTION]... SRCFILES... DIRECTORY
or: $0 [OPTION]... -t DIRECTORY SRCFILES...
or: $0 [OPTION]... -d DIRECTORIES...
In the 1st form, copy SRCFILE to DSTFILE.
In the 2nd and 3rd, copy all SRCFILES to DIRECTORY.
In the 4th, create DIRECTORIES.
Options:
--help display this help and exit.
--version display version info and exit.
-c (ignored)
-C install only if different (preserve the last data modification time)
-d create directories instead of installing files.
-g GROUP $chgrpprog installed files to GROUP.
-m MODE $chmodprog installed files to MODE.
-o USER $chownprog installed files to USER.
-s $stripprog installed files.
-t DIRECTORY install into DIRECTORY.
-T report an error if DSTFILE is a directory.
Environment variables override the default commands:
CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG
RMPROG STRIPPROG
"
while test $# -ne 0; do
case $1 in
-c) ;;
-C) copy_on_change=true;;
-d) dir_arg=true;;
-g) chgrpcmd="$chgrpprog $2"
shift;;
--help) echo "$usage"; exit $?;;
-m) mode=$2
case $mode in
*' '* | *"$tab"* | *"$nl"* | *'*'* | *'?'* | *'['*)
echo "$0: invalid mode: $mode" >&2
exit 1;;
esac
shift;;
-o) chowncmd="$chownprog $2"
shift;;
-s) stripcmd=$stripprog;;
-t)
is_target_a_directory=always
dst_arg=$2
# Protect names problematic for 'test' and other utilities.
case $dst_arg in
-* | [=\(\)!]) dst_arg=./$dst_arg;;
esac
shift;;
-T) is_target_a_directory=never;;
--version) echo "$0 $scriptversion"; exit $?;;
--) shift
break;;
-*) echo "$0: invalid option: $1" >&2
exit 1;;
*) break;;
esac
shift
done
# We allow the use of options -d and -T together, by making -d
# take the precedence; this is for compatibility with GNU install.
if test -n "$dir_arg"; then
if test -n "$dst_arg"; then
echo "$0: target directory not allowed when installing a directory." >&2
exit 1
fi
fi
if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then
# When -d is used, all remaining arguments are directories to create.
# When -t is used, the destination is already specified.
# Otherwise, the last argument is the destination. Remove it from $@.
for arg
do
if test -n "$dst_arg"; then
# $@ is not empty: it contains at least $arg.
set fnord "$@" "$dst_arg"
shift # fnord
fi
shift # arg
dst_arg=$arg
# Protect names problematic for 'test' and other utilities.
case $dst_arg in
-* | [=\(\)!]) dst_arg=./$dst_arg;;
esac
done
fi
if test $# -eq 0; then
if test -z "$dir_arg"; then
echo "$0: no input file specified." >&2
exit 1
fi
# It's OK to call 'install-sh -d' without argument.
# This can happen when creating conditional directories.
exit 0
fi
if test -z "$dir_arg"; then
if test $# -gt 1 || test "$is_target_a_directory" = always; then
if test ! -d "$dst_arg"; then
echo "$0: $dst_arg: Is not a directory." >&2
exit 1
fi
fi
fi
if test -z "$dir_arg"; then
do_exit='(exit $ret); exit $ret'
trap "ret=129; $do_exit" 1
trap "ret=130; $do_exit" 2
trap "ret=141; $do_exit" 13
trap "ret=143; $do_exit" 15
# Set umask so as not to create temps with too-generous modes.
# However, 'strip' requires both read and write access to temps.
case $mode in
# Optimize common cases.
*644) cp_umask=133;;
*755) cp_umask=22;;
*[0-7])
if test -z "$stripcmd"; then
u_plus_rw=
else
u_plus_rw='% 200'
fi
cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;;
*)
if test -z "$stripcmd"; then
u_plus_rw=
else
u_plus_rw=,u+rw
fi
cp_umask=$mode$u_plus_rw;;
esac
fi
for src
do
# Protect names problematic for 'test' and other utilities.
case $src in
-* | [=\(\)!]) src=./$src;;
esac
if test -n "$dir_arg"; then
dst=$src
dstdir=$dst
test -d "$dstdir"
dstdir_status=$?
else
# Waiting for this to be detected by the "$cpprog $src $dsttmp" command
# might cause directories to be created, which would be especially bad
# if $src (and thus $dsttmp) contains '*'.
if test ! -f "$src" && test ! -d "$src"; then
echo "$0: $src does not exist." >&2
exit 1
fi
if test -z "$dst_arg"; then
echo "$0: no destination specified." >&2
exit 1
fi
dst=$dst_arg
# If destination is a directory, append the input filename; won't work
# if double slashes aren't ignored.
if test -d "$dst"; then
if test "$is_target_a_directory" = never; then
echo "$0: $dst_arg: Is a directory" >&2
exit 1
fi
dstdir=$dst
dst=$dstdir/`basename "$src"`
dstdir_status=0
else
dstdir=`dirname "$dst"`
test -d "$dstdir"
dstdir_status=$?
fi
fi
obsolete_mkdir_used=false
if test $dstdir_status != 0; then
case $posix_mkdir in
'')
# Create intermediate dirs using mode 755 as modified by the umask.
# This is like FreeBSD 'install' as of 1997-10-28.
umask=`umask`
case $stripcmd.$umask in
# Optimize common cases.
*[2367][2367]) mkdir_umask=$umask;;
.*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;;
*[0-7])
mkdir_umask=`expr $umask + 22 \
- $umask % 100 % 40 + $umask % 20 \
- $umask % 10 % 4 + $umask % 2
`;;
*) mkdir_umask=$umask,go-w;;
esac
# With -d, create the new directory with the user-specified mode.
# Otherwise, rely on $mkdir_umask.
if test -n "$dir_arg"; then
mkdir_mode=-m$mode
else
mkdir_mode=
fi
posix_mkdir=false
case $umask in
*[123567][0-7][0-7])
# POSIX mkdir -p sets u+wx bits regardless of umask, which
# is incompatible with FreeBSD 'install' when (umask & 300) != 0.
;;
*)
tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0
if (umask $mkdir_umask &&
exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1
then
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-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
d????-?r-*) different_mode=700;;
d????-?--*) different_mode=755;;
*) false;;
esac &&
$mkdirprog -m$different_mode -p -- "$tmpdir" && {
ls_ld_tmpdir_1=`ls -ld "$tmpdir"`
test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
}
}
then posix_mkdir=:
fi
rmdir "$tmpdir/d" "$tmpdir"
else
# Remove any dirs left behind by ancient mkdir implementations.
rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null
fi
trap '' 0;;
esac;;
esac
if
$posix_mkdir && (
umask $mkdir_umask &&
$doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir"
)
then :
else
# The umask is ridiculous, or mkdir does not conform to POSIX,
# or it failed possibly due to a race condition. Create the
# directory the slow way, step by step, checking for races as we go.
case $dstdir in
/*) prefix='/';;
[-=\(\)!]*) prefix='./';;
*) prefix='';;
esac
oIFS=$IFS
IFS=/
set -f
set fnord $dstdir
shift
set +f
IFS=$oIFS
prefixes=
for d
do
test X"$d" = X && continue
prefix=$prefix$d
if test -d "$prefix"; then
prefixes=
else
if $posix_mkdir; then
(umask=$mkdir_umask &&
$doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break
# Don't fail if two instances are running concurrently.
test -d "$prefix" || exit 1
else
case $prefix in
*\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;;
*) qprefix=$prefix;;
esac
prefixes="$prefixes '$qprefix'"
fi
fi
prefix=$prefix/
done
if test -n "$prefixes"; then
# Don't fail if two instances are running concurrently.
(umask $mkdir_umask &&
eval "\$doit_exec \$mkdirprog $prefixes") ||
test -d "$dstdir" || exit 1
obsolete_mkdir_used=true
fi
fi
fi
if test -n "$dir_arg"; then
{ test -z "$chowncmd" || $doit $chowncmd "$dst"; } &&
{ test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } &&
{ test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false ||
test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1
else
# Make a couple of temp file names in the proper directory.
dsttmp=$dstdir/_inst.$$_
rmtmp=$dstdir/_rm.$$_
# Trap to clean up those temp files at exit.
trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0
# Copy the file name to the temp name.
(umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") &&
# and set any options; do chmod last to preserve setuid bits.
#
# If any of these fail, we abort the whole thing. If we want to
# ignore errors from any of these, just make sure not to ignore
# errors from the above "$doit $cpprog $src $dsttmp" command.
#
{ test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } &&
{ test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } &&
{ test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } &&
{ test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } &&
# If -C, don't bother to copy if it wouldn't change the file.
if $copy_on_change &&
old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` &&
new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` &&
set -f &&
set X $old && old=:$2:$4:$5:$6 &&
set X $new && new=:$2:$4:$5:$6 &&
set +f &&
test "$old" = "$new" &&
$cmpprog "$dst" "$dsttmp" >/dev/null 2>&1
then
rm -f "$dsttmp"
else
# Rename the file to the real destination.
$doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null ||
# The rename failed, perhaps because mv can't rename something else
# to itself, or perhaps because mv is so ancient that it does not
# support -f.
{
# Now remove or move aside any old file at destination location.
# We try this two ways since rm can't unlink itself on some
# systems and the destination file might be busy for other
# reasons. In this case, the final cleanup might fail but the new
# file should still install successfully.
{
test ! -f "$dst" ||
$doit $rmcmd -f "$dst" 2>/dev/null ||
{ $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null &&
{ $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; }
} ||
{ echo "$0: cannot unlink or rename $dst" >&2
(exit 1); exit 1
}
} &&
# Now rename the file to the real destination.
$doit $mvcmd "$dsttmp" "$dst"
}
fi || exit 1
trap '' 0
fi
done
# Local variables:
# eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
# time-stamp-time-zone: "UTC"
# time-stamp-end: "; # UTC"
# End:
grsync-1.2.6/Makefile.am 0000664 0001750 0001750 00000003277 12137727646 012034 0000000 0000000 ## Process this file with automake to produce Makefile.in
SUBDIRS = src po
man_MANS = grsync.1 grsync-batch.1
EXTRA_DIST = \
autogen.sh \
grsync.glade \
grsync-maemo-ui.xml \
grsync.conf \
grsync.desktop.in \
grsync.xml.in \
it.opbyte.grsync.service.in \
grsync.spec.in \
$(man_MANS) \
intltool-extract.in \
intltool-merge.in \
intltool-update.in \
src/grsync-batch \
pixmaps \
maemo-icons
distclean-local:
rm -rf *.cache *~
am__tar = @am__tar@ --exclude=".svn"
if MAEMO
Applicationsdir = $(desktopentrydir)
Applications_DATA = grsync.desktop
Servicedir = $(dbusservicedir)
Service_DATA = it.opbyte.grsync.service
Backupdir = /etc/osso-backup/applications
Backup_DATA = grsync.conf
icon_26x26dir = $(datadir)/icons/hicolor/26x26/hildon
icon_26x26_DATA = maemo-icons/26x26/grsync.png
icon_40x40dir = $(datadir)/icons/hicolor/40x40/hildon
icon_40x40_DATA = maemo-icons/40x40/grsync.png
icon_48x48dir = $(datadir)/icons/hicolor/48x48/hildon
icon_48x48_DATA = maemo-icons/48x48/grsync.png
icon_64x64dir = $(datadir)/icons/hicolor/64x64/hildon
icon_64x64_DATA = maemo-icons/64x64/grsync.png
icon_scalabledir = $(datadir)/icons/hicolor/scalable/hildon
icon_scalable_DATA = maemo-icons/scalable/grsync.png
else
Applicationsdir = $(datadir)/applications
Applications_DATA = grsync.desktop
endif
Gladedir = $(datadir)/grsync
Glade_DATA = $(XMLFILE)
mimedir = $(datadir)/mime
mimepackagesdir = $(mimedir)/packages
dist_mimepackages_DATA = grsync.xml
pixmapdir = $(datadir)/pixmaps
pixmap_DATA = pixmaps/grsync.png
pixmapbusydir = $(datadir)/pixmaps
pixmapbusy_DATA = pixmaps/grsync-busy.png
mimeicondir = $(datadir)/icons/hicolor/48x48/mimetypes/
mimeicon_DATA = pixmaps/application-x-grsync-session.png
grsync-1.2.6/src/ 0000775 0001750 0001750 00000000000 12672005671 010625 5 0000000 0000000 grsync-1.2.6/src/Makefile.in 0000664 0001750 0001750 00000052422 12672004522 012611 0000000 0000000 # Makefile.in generated by automake 1.15 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2014 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
@SET_MAKE@
VPATH = @srcdir@
am__is_gnu_make = { \
if test -z '$(MAKELEVEL)'; then \
false; \
elif test -n '$(MAKE_HOST)'; then \
true; \
elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
true; \
else \
false; \
fi; \
}
am__make_running_with_option = \
case $${target_option-} in \
?) ;; \
*) echo "am__make_running_with_option: internal error: invalid" \
"target option '$${target_option-}' specified" >&2; \
exit 1;; \
esac; \
has_opt=no; \
sane_makeflags=$$MAKEFLAGS; \
if $(am__is_gnu_make); then \
sane_makeflags=$$MFLAGS; \
else \
case $$MAKEFLAGS in \
*\\[\ \ ]*) \
bs=\\; \
sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
| sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
esac; \
fi; \
skip_next=no; \
strip_trailopt () \
{ \
flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
}; \
for flg in $$sane_makeflags; do \
test $$skip_next = yes && { skip_next=no; continue; }; \
case $$flg in \
*=*|--*) continue;; \
-*I) strip_trailopt 'I'; skip_next=yes;; \
-*I?*) strip_trailopt 'I';; \
-*O) strip_trailopt 'O'; skip_next=yes;; \
-*O?*) strip_trailopt 'O';; \
-*l) strip_trailopt 'l'; skip_next=yes;; \
-*l?*) strip_trailopt 'l';; \
-[dEDm]) skip_next=yes;; \
-[JT]) skip_next=yes;; \
esac; \
case $$flg in \
*$$target_option*) has_opt=yes; break;; \
esac; \
done; \
test $$has_opt = yes
am__make_dryrun = (target_option=n; $(am__make_running_with_option))
am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
bin_PROGRAMS = grsync$(EXEEXT)
subdir = src
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/configure.in
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(bindir)"
PROGRAMS = $(bin_PROGRAMS)
am_grsync_OBJECTS = main.$(OBJEXT) callbacks.$(OBJEXT)
grsync_OBJECTS = $(am_grsync_OBJECTS)
am__DEPENDENCIES_1 =
grsync_DEPENDENCIES = $(am__DEPENDENCIES_1)
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
*) f=$$p;; \
esac;
am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
am__install_max = 40
am__nobase_strip_setup = \
srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
am__nobase_strip = \
for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
am__nobase_list = $(am__nobase_strip_setup); \
for p in $$list; do echo "$$p $$p"; done | \
sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
$(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
if (++n[$$2] == $(am__install_max)) \
{ print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
END { for (dir in files) print dir, files[dir] }'
am__base_list = \
sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
am__uninstall_files_from_dir = { \
test -z "$$files" \
|| { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
|| { echo " ( cd '$$dir' && rm -f" $$files ")"; \
$(am__cd) "$$dir" && rm -f $$files; }; \
}
SCRIPTS = $(bin_SCRIPTS)
AM_V_P = $(am__v_P_@AM_V@)
am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
am__v_P_0 = false
am__v_P_1 = :
AM_V_GEN = $(am__v_GEN_@AM_V@)
am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
am__v_GEN_0 = @echo " GEN " $@;
am__v_GEN_1 =
AM_V_at = $(am__v_at_@AM_V@)
am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
am__v_at_0 = @
am__v_at_1 =
DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
am__mv = mv -f
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
AM_V_CC = $(am__v_CC_@AM_V@)
am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
am__v_CC_0 = @echo " CC " $@;
am__v_CC_1 =
CCLD = $(CC)
LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
AM_V_CCLD = $(am__v_CCLD_@AM_V@)
am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
am__v_CCLD_0 = @echo " CCLD " $@;
am__v_CCLD_1 =
SOURCES = $(grsync_SOURCES)
DIST_SOURCES = $(grsync_SOURCES)
am__can_run_installinfo = \
case $$AM_UPDATE_INFO_DIR in \
n|no|NO) false;; \
*) (install-info --version) >/dev/null 2>&1;; \
esac
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
# Read a list of newline-separated strings from the standard input,
# and print each of them once, without duplicates. Input order is
# *not* preserved.
am__uniquify_input = $(AWK) '\
BEGIN { nonempty = 0; } \
{ items[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in items) print i; }; } \
'
# Make sure the list of sources is unique. This is necessary because,
# e.g., the same source file might be shared among _SOURCES variables
# for different programs/libraries.
am__define_uniq_tagged_files = \
list='$(am__tagged_files)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | $(am__uniquify_input)`
ETAGS = etags
CTAGS = ctags
am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp \
$(top_srcdir)/mkinstalldirs
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
ALL_LINGUAS = @ALL_LINGUAS@
AMTAR = @AMTAR@
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
CATALOGS = @CATALOGS@
CATOBJEXT = @CATOBJEXT@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CYGPATH_W = @CYGPATH_W@
DATADIRNAME = @DATADIRNAME@
DBUSSERVICEDIR = @DBUSSERVICEDIR@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
GMOFILES = @GMOFILES@
GMSGFMT = @GMSGFMT@
GREP = @GREP@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
INSTOBJEXT = @INSTOBJEXT@
INTLLIBS = @INTLLIBS@
INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@
INTLTOOL_MERGE = @INTLTOOL_MERGE@
INTLTOOL_PERL = @INTLTOOL_PERL@
INTLTOOL_UPDATE = @INTLTOOL_UPDATE@
INTLTOOL_V_MERGE = @INTLTOOL_V_MERGE@
INTLTOOL_V_MERGE_OPTIONS = @INTLTOOL_V_MERGE_OPTIONS@
INTLTOOL__v_MERGE_ = @INTLTOOL__v_MERGE_@
INTLTOOL__v_MERGE_0 = @INTLTOOL__v_MERGE_0@
LDFLAGS = @LDFLAGS@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LTLIBOBJS = @LTLIBOBJS@
MAEMO = @MAEMO@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MIMEINFO_XMLNS = @MIMEINFO_XMLNS@
MIME_OSSOCAT = @MIME_OSSOCAT@
MKDIR_P = @MKDIR_P@
MKINSTALLDIRS = @MKINSTALLDIRS@
MSGFMT = @MSGFMT@
MSGFMT_OPTS = @MSGFMT_OPTS@
MSGMERGE = @MSGMERGE@
OBJEXT = @OBJEXT@
OTHER_DESKTOP_ENTRIES = @OTHER_DESKTOP_ENTRIES@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_CFLAGS = @PACKAGE_CFLAGS@
PACKAGE_LIBS = @PACKAGE_LIBS@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PKG_CONFIG = @PKG_CONFIG@
PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
POFILES = @POFILES@
POSUB = @POSUB@
PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@
PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
UNITY_CFLAGS = @UNITY_CFLAGS@
UNITY_LIBS = @UNITY_LIBS@
USE_NLS = @USE_NLS@
VERSION = @VERSION@
XGETTEXT = @XGETTEXT@
XMLFILE = @XMLFILE@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_CC = @ac_ct_CC@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@
build_alias = @build_alias@
builddir = @builddir@
datadir = @datadir@
datarootdir = @datarootdir@
dbusservicedir = @dbusservicedir@
desktopentrydir = @desktopentrydir@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
hildonpixmapdir = @hildonpixmapdir@
host_alias = @host_alias@
htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
intltool__v_merge_options_ = @intltool__v_merge_options_@
intltool__v_merge_options_0 = @intltool__v_merge_options_0@
libdir = @libdir@
libexecdir = @libexecdir@
localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
INCLUDES = \
-DPACKAGE_DATA_DIR=\""$(datadir)"\" \
-DPACKAGE_LOCALE_DIR=\""$(prefix)/$(DATADIRNAME)/locale"\" \
@PACKAGE_CFLAGS@
bin_SCRIPTS = grsync-batch
grsync_SOURCES = \
main.c \
support.h \
callbacks.c callbacks.h
grsync_LDADD = @PACKAGE_LIBS@ $(INTLLIBS)
all: all-am
.SUFFIXES:
.SUFFIXES: .c .o .obj
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
&& { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/Makefile'; \
$(am__cd) $(top_srcdir) && \
$(AUTOMAKE) --gnu src/Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(am__aclocal_m4_deps):
install-binPROGRAMS: $(bin_PROGRAMS)
@$(NORMAL_INSTALL)
@list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
if test -n "$$list"; then \
echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \
$(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \
fi; \
for p in $$list; do echo "$$p $$p"; done | \
sed 's/$(EXEEXT)$$//' | \
while read p p1; do if test -f $$p \
; then echo "$$p"; echo "$$p"; else :; fi; \
done | \
sed -e 'p;s,.*/,,;n;h' \
-e 's|.*|.|' \
-e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \
sed 'N;N;N;s,\n, ,g' | \
$(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \
{ d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
if ($$2 == $$4) files[d] = files[d] " " $$1; \
else { print "f", $$3 "/" $$4, $$1; } } \
END { for (d in files) print "f", d, files[d] }' | \
while read type dir files; do \
if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
test -z "$$files" || { \
echo " $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \
$(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \
} \
; done
uninstall-binPROGRAMS:
@$(NORMAL_UNINSTALL)
@list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
files=`for p in $$list; do echo "$$p"; done | \
sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \
-e 's/$$/$(EXEEXT)/' \
`; \
test -n "$$list" || exit 0; \
echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \
cd "$(DESTDIR)$(bindir)" && rm -f $$files
clean-binPROGRAMS:
-test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS)
grsync$(EXEEXT): $(grsync_OBJECTS) $(grsync_DEPENDENCIES) $(EXTRA_grsync_DEPENDENCIES)
@rm -f grsync$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(grsync_OBJECTS) $(grsync_LDADD) $(LIBS)
install-binSCRIPTS: $(bin_SCRIPTS)
@$(NORMAL_INSTALL)
@list='$(bin_SCRIPTS)'; test -n "$(bindir)" || list=; \
if test -n "$$list"; then \
echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \
$(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \
fi; \
for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
if test -f "$$d$$p"; then echo "$$d$$p"; echo "$$p"; else :; fi; \
done | \
sed -e 'p;s,.*/,,;n' \
-e 'h;s|.*|.|' \
-e 'p;x;s,.*/,,;$(transform)' | sed 'N;N;N;s,\n, ,g' | \
$(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1; } \
{ d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
if ($$2 == $$4) { files[d] = files[d] " " $$1; \
if (++n[d] == $(am__install_max)) { \
print "f", d, files[d]; n[d] = 0; files[d] = "" } } \
else { print "f", d "/" $$4, $$1 } } \
END { for (d in files) print "f", d, files[d] }' | \
while read type dir files; do \
if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
test -z "$$files" || { \
echo " $(INSTALL_SCRIPT) $$files '$(DESTDIR)$(bindir)$$dir'"; \
$(INSTALL_SCRIPT) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \
} \
; done
uninstall-binSCRIPTS:
@$(NORMAL_UNINSTALL)
@list='$(bin_SCRIPTS)'; test -n "$(bindir)" || exit 0; \
files=`for p in $$list; do echo "$$p"; done | \
sed -e 's,.*/,,;$(transform)'`; \
dir='$(DESTDIR)$(bindir)'; $(am__uninstall_files_from_dir)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
distclean-compile:
-rm -f *.tab.c
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/callbacks.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/main.Po@am__quote@
.c.o:
@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $<
.c.obj:
@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
ID: $(am__tagged_files)
$(am__define_uniq_tagged_files); mkid -fID $$unique
tags: tags-am
TAGS: tags
tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
set x; \
here=`pwd`; \
$(am__define_uniq_tagged_files); \
shift; \
if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
if test $$# -gt 0; then \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
"$$@" $$unique; \
else \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
$$unique; \
fi; \
fi
ctags: ctags-am
CTAGS: ctags
ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
$(am__define_uniq_tagged_files); \
test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
&& $(am__cd) $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) "$$here"
cscopelist: cscopelist-am
cscopelist-am: $(am__tagged_files)
list='$(am__tagged_files)'; \
case "$(srcdir)" in \
[\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
*) sdir=$(subdir)/$(srcdir) ;; \
esac; \
for i in $$list; do \
if test -f "$$i"; then \
echo "$(subdir)/$$i"; \
else \
echo "$$sdir/$$i"; \
fi; \
done >> $(top_builddir)/cscope.files
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
distdir: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
list='$(DISTFILES)'; \
dist_files=`for file in $$list; do echo $$file; done | \
sed -e "s|^$$srcdirstrip/||;t" \
-e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
case $$dist_files in \
*/*) $(MKDIR_P) `echo "$$dist_files" | \
sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
sort -u` ;; \
esac; \
for file in $$dist_files; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
if test -d "$(distdir)/$$file"; then \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
test -f "$(distdir)/$$file" \
|| cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
check-am: all-am
check: check-am
all-am: Makefile $(PROGRAMS) $(SCRIPTS)
installdirs:
for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(bindir)"; do \
test -z "$$dir" || $(MKDIR_P) "$$dir"; \
done
install: install-am
install-exec: install-exec-am
install-data: install-data-am
uninstall: uninstall-am
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
installcheck: installcheck-am
install-strip:
if test -z '$(STRIP)'; then \
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
install; \
else \
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
"INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
fi
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
clean: clean-am
clean-am: clean-binPROGRAMS clean-generic mostlyclean-am
distclean: distclean-am
-rm -rf ./$(DEPDIR)
-rm -f Makefile
distclean-am: clean-am distclean-compile distclean-generic \
distclean-tags
dvi: dvi-am
dvi-am:
html: html-am
html-am:
info: info-am
info-am:
install-data-am:
install-dvi: install-dvi-am
install-dvi-am:
install-exec-am: install-binPROGRAMS install-binSCRIPTS
install-html: install-html-am
install-html-am:
install-info: install-info-am
install-info-am:
install-man:
install-pdf: install-pdf-am
install-pdf-am:
install-ps: install-ps-am
install-ps-am:
installcheck-am:
maintainer-clean: maintainer-clean-am
-rm -rf ./$(DEPDIR)
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-am
mostlyclean-am: mostlyclean-compile mostlyclean-generic
pdf: pdf-am
pdf-am:
ps: ps-am
ps-am:
uninstall-am: uninstall-binPROGRAMS uninstall-binSCRIPTS
.MAKE: install-am install-strip
.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean \
clean-binPROGRAMS clean-generic cscopelist-am ctags ctags-am \
distclean distclean-compile distclean-generic distclean-tags \
distdir dvi dvi-am html html-am info info-am install \
install-am install-binPROGRAMS install-binSCRIPTS install-data \
install-data-am install-dvi install-dvi-am install-exec \
install-exec-am install-html install-html-am 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-binSCRIPTS
.PRECIOUS: Makefile
# 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.
.NOEXPORT:
grsync-1.2.6/src/Makefile.am 0000664 0001750 0001750 00000000541 12137727646 012612 0000000 0000000 ## Process this file with automake to produce Makefile.in
INCLUDES = \
-DPACKAGE_DATA_DIR=\""$(datadir)"\" \
-DPACKAGE_LOCALE_DIR=\""$(prefix)/$(DATADIRNAME)/locale"\" \
@PACKAGE_CFLAGS@
bin_PROGRAMS = grsync
bin_SCRIPTS = grsync-batch
grsync_SOURCES = \
main.c \
support.h \
callbacks.c callbacks.h
grsync_LDADD = @PACKAGE_LIBS@ $(INTLLIBS)
grsync-1.2.6/src/callbacks.c 0000664 0001750 0001750 00000174112 12636540000 012624 0000000 0000000 #ifdef HAVE_CONFIG_H
# include
#endif
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#ifdef MAEMO
# include
# include
#endif
#ifdef HAVE_UNITY
#include
#endif
#include "callbacks.h"
#include "support.h"
GPid rsync_pid;
GIOChannel *chout, *cherr;
gint session_last = -1, session_set = -1, initial_width, initial_height, root_x, root_y, width, height;
gsize session_number = 0;
gboolean had_error, paused, first_load_groups = TRUE, dryrunning = FALSE, must_scroll = FALSE, is_set = FALSE;
gchar **groups = NULL, **argv, *error_list = NULL, *watch_oldfile = NULL;
GtkWidget *rsync_window = NULL;
gboolean config_output = FALSE, config_remember = TRUE, config_errorlist = FALSE, config_log = FALSE, config_log_overwrite = FALSE, config_fastscroll = TRUE;
#ifndef MAEMO
gboolean config_switchbutton = FALSE, config_trayicon = FALSE;
#endif
GTimeVal startime, pausedtime;
gchar config_command[MAXPATH], *grsync_dir, *rsync_help = NULL, *rsync_man = NULL;
FILE *log_file = NULL;
glong scroll_previous_run;
GtkStatusIcon *trayIcon = NULL;
GtkTreePath *path_set = NULL;
GtkTreeModelFilter *filter = NULL;
gboolean more = FALSE, first = TRUE;
void on_trayicon_activate(GObject *trayIcon, gpointer window) {
// gtk_widget_show(GTK_WIDGET(window));
gtk_window_deiconify(GTK_WINDOW(window));
gtk_window_set_skip_taskbar_hint((GtkWindow*) window, FALSE);
}
void set_trayicon(gboolean flag) {
if (flag) {
if (trayIcon == NULL) {
trayIcon = gtk_status_icon_new_from_file(icon);
g_signal_connect(GTK_STATUS_ICON(trayIcon), "activate", GTK_SIGNAL_FUNC(on_trayicon_activate), main_window);
}
} else {
if (trayIcon != NULL) {
g_object_unref(trayIcon);
trayIcon = NULL;
gtk_window_set_skip_taskbar_hint((GtkWindow*) main_window, FALSE);
}
}
}
void set_trayicon_icon(gboolean busy) {
if (trayIcon != NULL) gtk_status_icon_set_from_file(trayIcon, busy ? icon_busy : icon);
}
gboolean get_checkbox(gchar* name) {
#ifndef MAEMO
return gtk_toggle_button_get_active((GtkToggleButton*) gtk_builder_get_object(builder, name));
#else
return hildon_check_button_get_active((HildonCheckButton*) gtk_builder_get_object(builder, name));
#endif
}
void set_checkbox(gchar* name, gboolean val) {
#ifndef MAEMO
gtk_toggle_button_set_active((GtkToggleButton*) gtk_builder_get_object(builder, name), val);
#else
hildon_check_button_set_active((HildonCheckButton*) gtk_builder_get_object(builder, name), val);
#endif
}
void ini_get_boolean(GKeyFile* settings_file, gchar* name, gboolean* var) {
GError *error_handler = NULL;
gboolean btmp = g_key_file_get_boolean(settings_file, CONFIG_GROUP, name, &error_handler);
if (error_handler != NULL) g_clear_error(&error_handler);
else *var = btmp;
}
void ini_set_entry(GKeyFile* settings_file, gchar* session, gchar* name, gchar* widget) {
gchar* stmp = g_key_file_get_string(settings_file, session, name, NULL);
if (stmp == NULL) stmp = g_strconcat("", NULL);
gtk_entry_set_text((GtkEntry*) gtk_builder_get_object(builder, widget), stmp);
g_free(stmp);
}
void set_main_title(gchar* session, gchar* extra) {
gchar *stmp = g_strconcat("Grsync: ", session, " ", extra, NULL);
gtk_window_set_title((GtkWindow*) main_window, stmp);
if (trayIcon != NULL) gtk_status_icon_set_tooltip(trayIcon, stmp);
g_free(stmp);
}
void set_rsync_title(gchar* session, gchar* extra) {
gchar *stmp = g_strconcat("rsync: ", session, " ", extra, NULL);
gtk_window_set_title((GtkWindow*) rsync_window, stmp);
g_free(stmp);
}
void load_settings(gchar* session, gchar *filename) {
gchar settings_file_path[MAXPATH], *stmp;
static gboolean resized = FALSE;
GKeyFile *settings_file;
if (filename == NULL) g_sprintf(settings_file_path, "%s/%s", grsync_dir, "grsync.ini");
else strncpy(settings_file_path, filename, MAXPATH-1);
// initializes config_command before other functions which may use it
if (filename == NULL) strcpy(config_command, "rsync");
if (!g_file_test(settings_file_path, G_FILE_TEST_EXISTS)) {
g_printf (_("(ERROR) Can't open config file! Maybe this is the first run?\n"));
if (session != NULL) {
save_settings(session, NULL);
load_groups(session);
}
}
settings_file = g_key_file_new();
g_key_file_load_from_file(settings_file, settings_file_path, G_KEY_FILE_NONE, NULL);
if (session == NULL) {
session = g_key_file_get_start_group(settings_file);
save_settings(session, NULL);
session_last = -1; // added because of save session bug, copied from external patch
load_groups(session);
}
if (filename == NULL) {
// load configuration (preferences)
stmp = g_key_file_get_string(settings_file, CONFIG_GROUP, "command", NULL);
if (stmp != NULL) {
strncpy(config_command, stmp, MAXPATH - 1);
g_free(stmp);
}
ini_get_boolean(settings_file, "output", &config_output);
ini_get_boolean(settings_file, "remember", &config_remember);
ini_get_boolean(settings_file, "errorlist", &config_errorlist);
ini_get_boolean(settings_file, "logging", &config_log);
ini_get_boolean(settings_file, "logging_overwrite", &config_log_overwrite);
ini_get_boolean(settings_file, "fastscroll", &config_fastscroll);
#ifndef MAEMO
ini_get_boolean(settings_file, "switchbutton", &config_switchbutton);
// gtk_widget_set_visible((GtkWidget*) gtk_builder_get_object(builder, "button_switch"), config_switchbutton); ONLY WORKS IN GTK 2.18
config_switchbutton ? gtk_widget_show((GtkWidget*) gtk_builder_get_object(builder, "button_switch")) :
gtk_widget_hide((GtkWidget*) gtk_builder_get_object(builder, "button_switch"));
ini_get_boolean(settings_file, "trayicon", &config_trayicon);
set_trayicon(config_trayicon);
#endif
// load window position and size
if (!resized) {
root_x = g_key_file_get_integer(settings_file, CONFIG_GROUP, "root_x", NULL);
root_y = g_key_file_get_integer(settings_file, CONFIG_GROUP, "root_y", NULL);
width = g_key_file_get_integer(settings_file, CONFIG_GROUP, "width", NULL);
height = g_key_file_get_integer(settings_file, CONFIG_GROUP, "height", NULL);
gtk_window_move((GtkWindow*) main_window, root_x, root_y);
if (width > 0 && height > 0) gtk_window_resize((GtkWindow*) main_window, width, height);
resized = TRUE;
}
}
set_main_title(session, NULL); // put here because it should be after set_trayicon()
// load specific session
if (path_set == NULL) is_set = g_key_file_get_boolean(settings_file, session, "is_set", NULL);
if (is_set && path_set == NULL) {
GtkTreeIter iter;
gboolean enabled;
gint i = 0;
GtkTreePath *path = gtk_tree_path_new_first();
while (gtk_tree_model_get_iter((GtkTreeModel*) liststore_session, &iter, path)) {
stmp = g_strconcat("set_session_enabled_", groups[i], NULL);
enabled = g_key_file_get_boolean(settings_file, session, stmp, NULL);
g_free(stmp);
// if (enabled) gtk_list_store_set(liststore_session, &iter, 1, TRUE, -1);
gtk_list_store_set(liststore_session, &iter, 1, enabled, -1);
gtk_tree_path_next(path);
i++;
}
gtk_tree_path_free(path);
} else {
ini_set_entry(settings_file, session, "text_source", "text_source");
ini_set_entry(settings_file, session, "text_dest", "text_dest");
ini_set_entry(settings_file, session, "text_notes", "entry_notes");
ini_set_entry(settings_file, session, "text_com_before", "entry_com_before");
ini_set_entry(settings_file, session, "text_com_after", "entry_com_after");
stmp = g_key_file_get_string(settings_file, session, "text_addit", NULL);
if (stmp == NULL) stmp = g_strconcat("", NULL);
gtk_text_buffer_set_text(gtk_text_view_get_buffer((GtkTextView*) gtk_builder_get_object(builder, "textview_additional")), stmp, -1);
g_free(stmp);
set_checkbox("check_time", g_key_file_get_boolean(settings_file, session, "check_time", NULL));
set_checkbox("check_perm", g_key_file_get_boolean(settings_file, session, "check_perm", NULL));
set_checkbox("check_owner", g_key_file_get_boolean(settings_file, session, "check_owner", NULL));
set_checkbox("check_group", g_key_file_get_boolean(settings_file, session, "check_group", NULL));
set_checkbox("check_onefs", g_key_file_get_boolean(settings_file, session, "check_onefs", NULL));
set_checkbox("check_verbose", g_key_file_get_boolean(settings_file, session, "check_verbose", NULL));
set_checkbox("check_progr", g_key_file_get_boolean(settings_file, session, "check_progr", NULL));
set_checkbox("check_delete", g_key_file_get_boolean(settings_file, session, "check_delete", NULL));
set_checkbox("check_exist", g_key_file_get_boolean(settings_file, session, "check_exist", NULL));
set_checkbox("check_size", g_key_file_get_boolean(settings_file, session, "check_size", NULL));
set_checkbox("check_skipnew", g_key_file_get_boolean(settings_file, session, "check_skipnew", NULL));
set_checkbox("check_windows", g_key_file_get_boolean(settings_file, session, "check_windows", NULL));
set_checkbox("check_sum", g_key_file_get_boolean(settings_file, session, "check_sum", NULL));
set_checkbox("check_symlink", g_key_file_get_boolean(settings_file, session, "check_symlink", NULL));
set_checkbox("check_hardlink", g_key_file_get_boolean(settings_file, session, "check_hardlink", NULL));
set_checkbox("check_dev", g_key_file_get_boolean(settings_file, session, "check_dev", NULL));
set_checkbox("check_update", g_key_file_get_boolean(settings_file, session, "check_update", NULL));
set_checkbox("check_keepart", g_key_file_get_boolean(settings_file, session, "check_keepart", NULL));
set_checkbox("check_mapuser", g_key_file_get_boolean(settings_file, session, "check_mapuser", NULL));
set_checkbox("check_compr", g_key_file_get_boolean(settings_file, session, "check_compr", NULL));
set_checkbox("check_backup", g_key_file_get_boolean(settings_file, session, "check_backup", NULL));
set_checkbox("check_itemized", g_key_file_get_boolean(settings_file, session, "check_itemized", NULL));
set_checkbox("check_norecur", g_key_file_get_boolean(settings_file, session, "check_norecur", NULL));
set_checkbox("check_protectargs", g_key_file_get_boolean(settings_file, session, "check_protectargs", NULL));
set_checkbox("check_com_before", g_key_file_get_boolean(settings_file, session, "check_com_before", NULL));
set_checkbox("check_com_halt", g_key_file_get_boolean(settings_file, session, "check_com_halt", NULL));
set_checkbox("check_com_after", g_key_file_get_boolean(settings_file, session, "check_com_after", NULL));
set_checkbox("check_com_onerror", g_key_file_get_boolean(settings_file, session, "check_com_onerror", NULL));
set_checkbox("check_browse_files", g_key_file_get_boolean(settings_file, session, "check_browse_files", NULL));
#ifndef MAEMO
set_checkbox("check_superuser", g_key_file_get_boolean(settings_file, session, "check_superuser", NULL));
#endif
}
g_key_file_free (settings_file);
GtkWidget *widget = (GtkWidget*) gtk_builder_get_object(builder, "table_set");
is_set ? gtk_widget_show(widget) : gtk_widget_hide(widget);
widget = (GtkWidget*) gtk_builder_get_object(builder, "table_basic");
is_set ? gtk_widget_hide(widget) : gtk_widget_show(widget);
widget = (GtkWidget*) gtk_builder_get_object(builder, "table_advanced");
is_set ? gtk_widget_hide(widget) : gtk_widget_show(widget);
widget = (GtkWidget*) gtk_builder_get_object(builder, "table_extra");
is_set ? gtk_widget_hide(widget) : gtk_widget_show(widget);
}
void save_settings(gchar *session, gchar *filename) {
gchar settings_file_name[MAXPATH], *key_data, *stmp;
FILE *key_file;
GError *error_handler = NULL;
GKeyFile *settings_file;
if (filename == NULL) g_sprintf(settings_file_name, "%s/%s", grsync_dir, "grsync.ini");
else strncpy(settings_file_name, filename, MAXPATH-1);
g_mkdir(grsync_dir, 0700);
settings_file = g_key_file_new();
if (filename == NULL) {
g_key_file_load_from_file(settings_file, settings_file_name, G_KEY_FILE_NONE, NULL);
// save configuration (preferences)
g_key_file_set_string(settings_file, CONFIG_GROUP, "command", config_command);
g_key_file_set_boolean(settings_file, CONFIG_GROUP, "output", config_output);
g_key_file_set_boolean(settings_file, CONFIG_GROUP, "remember", config_remember);
g_key_file_set_boolean(settings_file, CONFIG_GROUP, "errorlist", config_errorlist);
g_key_file_set_boolean(settings_file, CONFIG_GROUP, "logging", config_log);
g_key_file_set_boolean(settings_file, CONFIG_GROUP, "logging_overwrite", config_log_overwrite);
g_key_file_set_boolean(settings_file, CONFIG_GROUP, "fastscroll", config_fastscroll);
#ifndef MAEMO
g_key_file_set_boolean(settings_file, CONFIG_GROUP, "switchbutton", config_switchbutton);
g_key_file_set_boolean(settings_file, CONFIG_GROUP, "trayicon", config_trayicon);
#endif
if (session_last != -1 && config_remember) g_key_file_set_string(settings_file, CONFIG_GROUP, "last_session", groups[session_last]);
// window position and size
g_key_file_set_integer(settings_file, CONFIG_GROUP, "root_x", root_x);
g_key_file_set_integer(settings_file, CONFIG_GROUP, "root_y", root_y);
g_key_file_set_integer(settings_file, CONFIG_GROUP, "width", width);
g_key_file_set_integer(settings_file, CONFIG_GROUP, "height", height);
}
// save specific session
if (is_set) {
GtkTreeIter iter;
gboolean enabled, cur_is_set;
gint i = 0;
GtkTreePath *path = gtk_tree_path_new_first();
g_key_file_remove_group(settings_file, session, NULL); // empties the group before adding
g_key_file_set_boolean(settings_file, session, "is_set", TRUE);
while (gtk_tree_model_get_iter((GtkTreeModel*) liststore_session, &iter, path)) {
gtk_tree_model_get((GtkTreeModel*) liststore_session, &iter, 2, &cur_is_set, -1);
if (cur_is_set) {
gtk_tree_model_get((GtkTreeModel*) liststore_session, &iter, 1, &enabled, -1);
if (enabled) {
stmp = g_strconcat("set_session_enabled_", groups[i], NULL);
g_key_file_set_boolean(settings_file, session, stmp, TRUE);
g_free(stmp);
}
}
gtk_tree_path_next(path);
i++;
}
gtk_tree_path_free(path);
} else {
g_key_file_set_boolean(settings_file, session, "is_set", FALSE);
g_key_file_set_string(settings_file, session, "text_source", gtk_entry_get_text((GtkEntry*) gtk_builder_get_object(builder, "text_source")));
g_key_file_set_string(settings_file, session, "text_dest", gtk_entry_get_text((GtkEntry*) gtk_builder_get_object(builder, "text_dest")));
g_key_file_set_string(settings_file, session, "text_notes", gtk_entry_get_text((GtkEntry*) gtk_builder_get_object(builder, "entry_notes")));
g_key_file_set_string(settings_file, session, "text_com_before", gtk_entry_get_text((GtkEntry*) gtk_builder_get_object(builder, "entry_com_before")));
g_key_file_set_string(settings_file, session, "text_com_after", gtk_entry_get_text((GtkEntry*) gtk_builder_get_object(builder, "entry_com_after")));
GtkTextIter iter1, iter2;
GtkTextBuffer *buf = gtk_text_view_get_buffer((GtkTextView*) gtk_builder_get_object(builder, "textview_additional"));
gtk_text_buffer_get_start_iter(buf, &iter1);
gtk_text_buffer_get_end_iter(buf, &iter2);
stmp = gtk_text_buffer_get_text(buf, &iter1, &iter2, FALSE);
g_key_file_set_string(settings_file, session, "text_addit", stmp);
g_free(stmp);
g_key_file_set_boolean(settings_file, session, "check_time", get_checkbox("check_time"));
g_key_file_set_boolean(settings_file, session, "check_perm", get_checkbox("check_perm"));
g_key_file_set_boolean(settings_file, session, "check_owner", get_checkbox("check_owner"));
g_key_file_set_boolean(settings_file, session, "check_group", get_checkbox("check_group"));
g_key_file_set_boolean(settings_file, session, "check_onefs", get_checkbox("check_onefs"));
g_key_file_set_boolean(settings_file, session, "check_verbose", get_checkbox("check_verbose"));
g_key_file_set_boolean(settings_file, session, "check_progr", get_checkbox("check_progr"));
g_key_file_set_boolean(settings_file, session, "check_delete", get_checkbox("check_delete"));
g_key_file_set_boolean(settings_file, session, "check_exist", get_checkbox("check_exist"));
g_key_file_set_boolean(settings_file, session, "check_size", get_checkbox("check_size"));
g_key_file_set_boolean(settings_file, session, "check_skipnew", get_checkbox("check_skipnew"));
g_key_file_set_boolean(settings_file, session, "check_windows", get_checkbox("check_windows"));
g_key_file_set_boolean(settings_file, session, "check_sum", get_checkbox("check_sum"));
g_key_file_set_boolean(settings_file, session, "check_symlink", get_checkbox("check_symlink"));
g_key_file_set_boolean(settings_file, session, "check_hardlink", get_checkbox("check_hardlink"));
g_key_file_set_boolean(settings_file, session, "check_dev", get_checkbox("check_dev"));
g_key_file_set_boolean(settings_file, session, "check_update", get_checkbox("check_update"));
g_key_file_set_boolean(settings_file, session, "check_keepart", get_checkbox("check_keepart"));
g_key_file_set_boolean(settings_file, session, "check_mapuser", get_checkbox("check_mapuser"));
g_key_file_set_boolean(settings_file, session, "check_compr", get_checkbox("check_compr"));
g_key_file_set_boolean(settings_file, session, "check_backup", get_checkbox("check_backup"));
g_key_file_set_boolean(settings_file, session, "check_itemized", get_checkbox("check_itemized"));
g_key_file_set_boolean(settings_file, session, "check_norecur", get_checkbox("check_norecur"));
g_key_file_set_boolean(settings_file, session, "check_protectargs", get_checkbox("check_protectargs"));
g_key_file_set_boolean(settings_file, session, "check_com_before", get_checkbox("check_com_before"));
g_key_file_set_boolean(settings_file, session, "check_com_halt", get_checkbox("check_com_halt"));
g_key_file_set_boolean(settings_file, session, "check_com_after", get_checkbox("check_com_after"));
g_key_file_set_boolean(settings_file, session, "check_com_onerror", get_checkbox("check_com_onerror"));
g_key_file_set_boolean(settings_file, session, "check_browse_files", get_checkbox("check_browse_files"));
#ifndef MAEMO
g_key_file_set_boolean(settings_file, session, "check_superuser", get_checkbox("check_superuser"));
#endif
}
key_data = g_key_file_to_data(settings_file, NULL, &error_handler);
key_file = fopen(settings_file_name, "w");
if (key_file != NULL) {
fputs(key_data, key_file);
fclose(key_file);
} else {
g_printf(_("\tUnable to save settings!\n"));
}
g_key_file_free(settings_file);
g_clear_error(&error_handler);
}
int compare_strings(const void *p1, const void *p2) {
return strcoll(*((char**) p1), *((char**) p2));
}
gboolean load_groups(gchar *session) {
gchar settings_file_path[MAXPATH], *stmp;
g_sprintf(settings_file_path, "%s/%s", grsync_dir, "grsync.ini");
if (g_file_test(settings_file_path, G_FILE_TEST_EXISTS)) {
GError *error_handler = NULL;
GKeyFile *settings_file;
GtkComboBox *combo;
GtkTreeIter iter;
gint i;
gboolean flag = FALSE;
combo = (GtkComboBox*) gtk_builder_get_object(builder, "combo_session");
gtk_list_store_clear(liststore_session);
// for (i = 0; i < session_number; i++) gtk_combo_box_remove_text(combo, 0);
settings_file = g_key_file_new();
g_key_file_load_from_file(settings_file, settings_file_path, G_KEY_FILE_NONE, &error_handler);
groups = g_key_file_get_groups(settings_file, &session_number);
if (!cmdline_session && first_load_groups && g_key_file_get_boolean(settings_file, CONFIG_GROUP, "remember", NULL)) {
stmp = g_key_file_get_string(settings_file, CONFIG_GROUP, "last_session", NULL);
if (stmp != NULL) {
session = stmp;
g_free(argv_session);
argv_session = g_strconcat(session, NULL);
}
first_load_groups = FALSE;
}
i = 0;
while (groups[i] != NULL) {
if (strcmp(groups[i], CONFIG_GROUP) == 0) {
session_number--;
g_free(groups[i]);
flag = TRUE;
} else {
if (i > 0 && flag) groups[i - 1] = groups[i];
}
i++;
}
groups[session_number] = NULL;
qsort(groups, session_number, sizeof(gchar*), compare_strings);
i = 0;
while (groups[i] != NULL) {
// gtk_combo_box_append_text(combo, groups[i]);
gtk_list_store_append(liststore_session, &iter);
gtk_list_store_set(liststore_session, &iter, 0, groups[i], 2, !g_key_file_get_boolean(settings_file, groups[i], "is_set", NULL), -1);
if (strcmp(groups[i], session) == 0) {
gtk_combo_box_set_active(combo, i);
session_last = i;
}
i++;
}
if (!filter) {
filter = (GtkTreeModelFilter*) gtk_builder_get_object(builder, "treemodelfilter_set");
gtk_tree_model_filter_set_visible_column(filter, 2);
gtk_tree_model_filter_refilter(filter);
}
g_key_file_free(settings_file);
g_clear_error(&error_handler);
if (session_last == -1) return FALSE;
}
return TRUE;
}
void show_browse_source(GtkButton *button, gpointer user_data) {
GtkWidget *dialog;
gint retval;
gchar *filename;
gboolean browse_files = get_checkbox("check_browse_files");
GtkFileChooserAction action = browse_files ? GTK_FILE_CHOOSER_ACTION_OPEN : GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER;
gchar *curr_path = (gchar*) gtk_entry_get_text((GtkEntry*) gtk_builder_get_object(builder, "text_source"));
gchar *curr_folder = g_path_get_dirname(curr_path);
#ifndef MAEMO
dialog = gtk_file_chooser_dialog_new(_("Browse"), (GtkWindow*) main_window, action, GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, GTK_STOCK_OPEN, GTK_RESPONSE_ACCEPT, NULL);
#else
dialog = hildon_file_chooser_dialog_new((GtkWindow*) main_window, action);
gtk_window_set_title(GTK_WINDOW (dialog), _("Browse"));
#endif
gtk_file_chooser_set_current_folder(GTK_FILE_CHOOSER(dialog), curr_folder);
if (browse_files) gtk_file_chooser_select_filename(GTK_FILE_CHOOSER(dialog), curr_path);
retval = gtk_dialog_run(GTK_DIALOG(dialog));
if (retval == GTK_RESPONSE_ACCEPT || retval == GTK_RESPONSE_OK) {
filename = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(dialog));
// tmp = g_strconcat(filename, browse_files ? "" : "/", NULL);
gtk_entry_set_text((GtkEntry*) gtk_builder_get_object(builder, "text_source"), filename);
g_free(filename);
}
gtk_widget_destroy(dialog);
g_free(curr_folder);
}
void show_browse_dest(GtkButton *button, gpointer user_data) {
GtkWidget *dialog;
gint retval;
gchar *filename;
gboolean browse_files = get_checkbox("check_browse_files");
GtkFileChooserAction action = browse_files ? GTK_FILE_CHOOSER_ACTION_OPEN : GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER;
gchar *curr_path = (gchar*) gtk_entry_get_text((GtkEntry*) gtk_builder_get_object(builder, "text_dest"));
gchar *curr_folder = g_path_get_dirname(curr_path);
#ifndef MAEMO
dialog = gtk_file_chooser_dialog_new(_("Browse"), (GtkWindow*) main_window, action, GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, GTK_STOCK_OPEN, GTK_RESPONSE_ACCEPT, NULL);
#else
dialog = hildon_file_chooser_dialog_new ((GtkWindow*) main_window, action);
gtk_window_set_title(GTK_WINDOW(dialog), _("Browse"));
#endif
gtk_file_chooser_set_current_folder (GTK_FILE_CHOOSER(dialog), curr_folder);
if (browse_files) gtk_file_chooser_select_filename(GTK_FILE_CHOOSER(dialog), curr_path);
retval = gtk_dialog_run(GTK_DIALOG(dialog));
if (retval == GTK_RESPONSE_ACCEPT || retval == GTK_RESPONSE_OK) {
filename = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(dialog));
gtk_entry_set_text((GtkEntry*) gtk_builder_get_object(builder, "text_dest"), filename);
g_free(filename);
}
gtk_widget_destroy(dialog);
g_free(curr_folder);
}
void set_global_progress(gdouble fraction) {
GTimeVal curtime;
glong elapsed, remaining;
static glong lastupdate = 0;
gchar tmps[50];
GtkProgressBar* progr = (GtkProgressBar*) gtk_builder_get_object(builder, "progress_global");
g_get_current_time(&curtime);
if (fraction > (gdouble)0 && fraction < (gdouble)1 && curtime.tv_sec == lastupdate) return;
lastupdate = curtime.tv_sec;
#ifdef HAVE_UNITY
UnityLauncherEntry *launcher_entry = unity_launcher_entry_get_for_desktop_id("grsync.desktop");
unity_launcher_entry_set_progress(launcher_entry, fraction);
unity_launcher_entry_set_progress_visible(launcher_entry, fraction > (gdouble)0);
#endif
gtk_progress_bar_set_fraction(progr, fraction);
elapsed = curtime.tv_sec - startime.tv_sec;
remaining = elapsed / fraction - elapsed;
if (fraction) snprintf(tmps, 49, _("%.f%% (%li:%02li elapsed, %li:%02li remaining)"), round(fraction * 100), elapsed / 60, elapsed % 60, remaining / 60, remaining % 60);
else strcpy(tmps, "0%");
gtk_progress_bar_set_text(progr, tmps);
set_main_title(groups[session_last], tmps);
}
void set_file_progress(gdouble fraction) {
GTimeVal curtime;
static glong lastupdate = 0;
gchar tmps[50];
GtkProgressBar* progr = (GtkProgressBar*) gtk_builder_get_object(builder, "progress_file");
g_get_current_time(&curtime);
if (fraction < (gdouble)1 && curtime.tv_sec == lastupdate) return;
lastupdate = curtime.tv_sec;
gtk_progress_bar_set_fraction(progr, fraction);
snprintf(tmps, 5, "%.f%%", round(fraction * 100));
gtk_progress_bar_set_text(progr, tmps);
}
void build_rsync_cmd() {
gint i = 0, j, argc_tmp;
gchar **argv_tmp, *gtmp;
GtkTextIter iter1, iter2;
GtkTextBuffer *buf;
argv = g_new(gchar *, MAXOPT);
argv_tmp = g_new(gchar *, MAXOPT);
#ifndef MAEMO
if (get_checkbox("check_superuser")) argv[i++] = "pkexec";
#endif
argv[i++] = config_command;
argv[i++] = get_checkbox("check_norecur") ? "-d" : "-r";
if (dryrunning) argv[i++] = "-n";
if (get_checkbox("check_time")) argv[i++] = "-t";
if (get_checkbox("check_perm")) argv[i++] = "-p";
if (get_checkbox("check_owner")) argv[i++] = "-o";
if (get_checkbox("check_group")) argv[i++] = "-g";
if (get_checkbox("check_onefs")) argv[i++] = "-x";
if (get_checkbox("check_verbose")) argv[i++] = "-v";
if (get_checkbox("check_progr")) argv[i++] = "--progress";
if (get_checkbox("check_delete")) argv[i++] = "--delete";
if (get_checkbox("check_exist")) argv[i++] = "--ignore-existing";
if (get_checkbox("check_size")) argv[i++] = "--size-only";
if (get_checkbox("check_skipnew")) argv[i++] = "-u";
if (get_checkbox("check_windows")) argv[i++] = "--modify-window=1";
if (get_checkbox("check_sum")) argv[i++] = "-c";
if (get_checkbox("check_symlink")) argv[i++] = "-l";
if (get_checkbox("check_hardlink")) argv[i++] = "-H";
if (get_checkbox("check_dev")) argv[i++] = "-D";
if (get_checkbox("check_update")) argv[i++] = "--existing";
if (get_checkbox("check_keepart")) argv[i++] = "--partial";
if (get_checkbox("check_mapuser")) argv[i++] = "--numeric-ids";
if (get_checkbox("check_compr")) argv[i++] = "-z";
if (get_checkbox("check_backup")) argv[i++] = "-b";
if (get_checkbox("check_itemized")) argv[i++] = "-i";
if (get_checkbox("check_protectargs")) argv[i++] = "-s";
buf = gtk_text_view_get_buffer((GtkTextView*) gtk_builder_get_object(builder, "textview_additional"));
gtk_text_buffer_get_start_iter(buf, &iter1);
gtk_text_buffer_get_end_iter(buf, &iter2);
gtmp = gtk_text_buffer_get_text(buf, &iter1, &iter2, FALSE);
if (gtmp[0]) {
g_shell_parse_argv(gtmp, &argc_tmp, &argv_tmp, NULL);
for (j = 0; j < argc_tmp && i + 3 < MAXOPT; j++) argv[i++] = g_strconcat(argv_tmp[j], NULL);
g_strfreev(argv_tmp);
}
g_free(gtmp);
// source, dest and NULL must follow only, or change the previous for cicle ending condition.
argv[i++] = (gchar*) gtk_entry_get_text((GtkEntry*) gtk_builder_get_object(builder, "text_source"));
argv[i++] = (gchar*) gtk_entry_get_text((GtkEntry*) gtk_builder_get_object(builder, "text_dest"));
argv[i++] = NULL;
}
gboolean set_next() {
static gint i = -1;
gboolean enabled, more;
GtkTreeIter iter;
if (i == -1) {
session_set = session_last;
path_set = gtk_tree_path_new_first();
i = 0;
first = TRUE;
} else {
first = FALSE;
}
while ((more = gtk_tree_model_get_iter((GtkTreeModel*) liststore_session, &iter, path_set))) {
gtk_tree_model_get((GtkTreeModel*) liststore_session, &iter, 1, &enabled, -1);
gtk_tree_path_next(path_set);
i++;
if (enabled) {
session_last = i - 1;
load_settings(groups[session_last], NULL);
break;
}
}
if (!more) {
session_last = session_set;
session_set = -1;
gtk_tree_path_free(path_set);
path_set = NULL;
i = -1;
}
return more;
}
void on_play_clicked(GtkButton *button, gpointer user_data) {
gchar *gtmp;
if (is_set) {
more = set_next();
if (!more) return;
}
build_rsync_cmd();
paused = FALSE;
// scroll_previous_run = 0;
gtk_expander_set_expanded((GtkExpander*) gtk_builder_get_object(builder, "expander_rsync"), config_output || dryrunning);
// with expander initialized, let's resize the window:
on_expander_rsync_activate((GtkExpander*) gtk_builder_get_object(builder, "expander_rsync"), NULL);
if (!is_set || first) {
if (error_list != NULL) g_free(error_list);
error_list = g_strconcat("", NULL);
}
if (config_log) {
gtmp = g_strconcat(grsync_dir, "/", groups[session_last], ".log", NULL);
log_file = fopen(gtmp, (config_log_overwrite ? "w" : "a"));
g_free(gtmp);
}
set_rsync_title(groups[session_last], "running");
gtk_button_set_label((GtkButton*) gtk_builder_get_object(builder, "close"), "gtk-stop");
gtk_button_set_label((GtkButton*) gtk_builder_get_object(builder, "button_pause"), "gtk-media-pause");
gtk_widget_set_sensitive((GtkWidget*) gtk_builder_get_object(builder, "button_pause"), TRUE);
gtk_widget_set_sensitive((GtkWidget*) gtk_builder_get_object(builder, "button_show_errors"), FALSE);
gtk_widget_set_sensitive((GtkWidget*) gtk_builder_get_object(builder, "textview_output"), FALSE);
gtk_window_set_urgency_hint((GtkWindow*) rsync_window, FALSE);
set_file_progress(0);
set_global_progress(0);
gtk_label_set_text((GtkLabel*) gtk_builder_get_object(builder, "label_file"), dryrunning ? _("Simulation in progress") : "");
if (!is_set || first) gtk_widget_show(rsync_window);
else on_rsync_show(NULL, NULL);
}
void on_dryrun_clicked(GtkButton *button, gpointer user_data) {
dryrunning = TRUE;
on_play_clicked(button, NULL);
}
void set_tooltip(gchar *long_opt, gchar *widget_str) {
gchar *tmpc, *tmpc2, *out, *opt, *oldtip;
GtkWidget *widget;
opt = rsync_man != NULL ? g_strconcat(long_opt, "\n", NULL) : g_strconcat(long_opt, " ", NULL);
out = rsync_man != NULL ? g_strconcat(rsync_man, NULL) : g_strconcat(rsync_help, NULL);
tmpc = g_strrstr(out, opt);
// tmpc = g_strstr_len(out, strlen(out), opt);
if (tmpc != NULL && *tmpc) {
while (*tmpc != '\n') tmpc--;
tmpc++;
tmpc2 = rsync_man != NULL ? strstr(tmpc, "\n\n\n") : strchr(tmpc, '\n');
*tmpc2 = '\0';
g_strstrip(tmpc);
widget = (GtkWidget*) gtk_builder_get_object(builder, widget_str);
oldtip = gtk_widget_get_tooltip_text(widget);
if (oldtip != NULL) {
tmpc2 = g_strconcat(tmpc, "\n\n", oldtip, NULL);
g_free(oldtip);
}
else tmpc2 = g_strconcat(tmpc, NULL);
gtk_widget_set_tooltip_text(widget, tmpc2);
g_free(tmpc2);
}
g_free(opt);
g_free(out);
}
void on_main_create(GtkWindow *window, gpointer user_data) {
GtkWidget *error;
gchar *stmp;
grsync_dir = g_strconcat(g_get_home_dir(), "/.grsync", NULL);
if (!load_groups(argv_session)) {
#ifndef MAEMO
error = gtk_message_dialog_new(window, GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_ERROR, GTK_BUTTONS_CANCEL,
_("The session you specified on the command line doesn't exists"));
gtk_dialog_run(GTK_DIALOG(error));
gtk_widget_destroy(error);
#else
error = hildon_banner_show_information(GTK_WIDGET (window),NULL,
_("The session you specified on the command line doesn't exists"));
hildon_banner_set_timeout(HILDON_BANNER (error),4000);
#endif
g_free(argv_session);
argv_session = g_strconcat("default", NULL);
cmdline_execute = FALSE;
load_groups(argv_session);
}
load_settings(argv_session, NULL);
stmp = g_strconcat(config_command, " --help", NULL);
if (!g_spawn_command_line_sync(stmp, &rsync_help, NULL, NULL, NULL)) {
#ifndef MAEMO
error = gtk_message_dialog_new(window, GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_ERROR, GTK_BUTTONS_CANCEL,
_("Unable to execute the rsync command line tool. It is needed by this program. You may need to install the rsync package or make it available in the default executable search PATH. See file/preferences to change the default rsync executable command."));
#else
error = hildon_note_new_information(GTK_WINDOW (window),
_("Unable to execute the rsync command line tool. It is needed by this program. You may need to install the rsync package or make it available in the default executable search PATH. See file/preferences to change the default rsync executable command."));
#endif
gtk_dialog_run(GTK_DIALOG(error));
gtk_widget_destroy(error);
} else {
// g_spawn_command_line_sync("man rsync", &rsync_man, NULL, NULL, NULL);
// g_spawn_command_line_sync("sh -c 'info rsync | egrep -A9999 \"OPTIONS$\" | grep -B9999 \"DAEMON OPTIONS\"'", &rsync_man, NULL, NULL, NULL);
set_tooltip("--times", "check_time");
set_tooltip("--perms", "check_perm");
set_tooltip("--owner", "check_owner");
set_tooltip("--group", "check_group");
set_tooltip("--one-file-system", "check_onefs");
set_tooltip("--verbose", "check_verbose");
set_tooltip("--progress", "check_progr");
set_tooltip("--delete", "check_delete");
set_tooltip("--ignore-existing", "check_exist");
set_tooltip("--size-only", "check_size");
set_tooltip("--update", "check_skipnew");
set_tooltip("--modify-window=NUM", "check_windows");
set_tooltip("--checksum", "check_sum");
set_tooltip("--hard-links", "check_hardlink");
set_tooltip("-D", "check_dev");
set_tooltip("--existing", "check_update");
set_tooltip("--partial", "check_keepart");
set_tooltip("--numeric-ids", "check_mapuser");
set_tooltip("--compress", "check_compr");
set_tooltip("--backup", "check_backup");
set_tooltip("--itemize-changes", "check_itemized");
set_tooltip("--protect-args", "check_protectargs");
}
g_free(stmp);
rsync_window = (GtkWidget*) gtk_builder_get_object(builder, "dialog_rsync");
gtk_window_get_size((GtkWindow*) rsync_window, &initial_width, &initial_height);
if (cmdline_execute) on_play_clicked((GtkButton*) window, NULL);
if (cmdline_import) on_import1_activate((GtkMenuItem*) window, argv_filename);
}
void on_main_destroy(GtkObject *object, gpointer user_data) {
gint sel = gtk_combo_box_get_active((GtkComboBox*) gtk_builder_get_object(builder, "combo_session"));
save_settings(groups[sel], NULL);
g_strfreev(groups);
if (rsync_help != NULL) g_free(rsync_help);
if (rsync_man != NULL) g_free(rsync_man);
gtk_main_quit();
}
gboolean on_main_configure_event(GtkWidget *widget, GdkEventConfigure *event, gpointer user_data) {
gtk_window_get_position((GtkWindow*) main_window, &root_x, &root_y);
gtk_window_get_size((GtkWindow*) main_window, &width, &height);
return FALSE;
}
void superkill(int sig) {
if (get_checkbox("check_superuser")) {
gchar *cmd;
gchar pidbuf[6], sigbuf[6];
sprintf(pidbuf, "%i", rsync_pid);
sprintf(sigbuf, "%i", sig);
cmd = g_strconcat("pkexec kill -", sigbuf, " ", pidbuf, NULL);
g_spawn_command_line_sync(cmd, NULL, NULL, NULL, NULL);
g_free(cmd);
} else {
kill(rsync_pid, sig);
}
}
void on_close_clicked(GtkButton *button, gpointer user_data) {
if (rsync_pid) {
if (paused) superkill(SIGCONT);
superkill(SIGTERM);
gtk_widget_set_sensitive((GtkWidget*) gtk_builder_get_object(builder, "button_pause"), FALSE);
} else {
if (more) on_play_clicked(NULL, NULL); //on_rsync_show(NULL, NULL);
else {
set_global_progress(0);
gtk_widget_hide(rsync_window);
}
}
if (cmdline_execute) on_main_destroy((GtkObject*) main_window, NULL);
}
void scroll_to_end(GtkTextView* view, gboolean final) {
GTimeVal curtime;
// if (config_fastscroll && !final) g_get_current_time(&curtime);
g_get_current_time(&curtime);
if (!config_fastscroll || final || curtime.tv_sec - scroll_previous_run >= 1) {
GtkTextBuffer *buffer;
GtkTextIter iter;
GtkTextMark *mark;
scroll_previous_run = curtime.tv_sec;
buffer = gtk_text_view_get_buffer(view);
gtk_text_buffer_get_end_iter(buffer, &iter);
mark = gtk_text_buffer_create_mark(buffer, "end_mark", &iter, TRUE);
gtk_text_view_scroll_mark_onscreen(view, mark);
gtk_text_buffer_delete_mark(buffer, mark);
}
}
void rsync_cleanup(gpointer data) {
GtkTextBuffer *buffer;
GtkTextView *view;
gchar *comm_str, *comm_out, *comm_err, *comm_after;
view = (GtkTextView*) gtk_builder_get_object(builder, "textview_output");
if (get_checkbox("check_com_after")) {
if (had_error || !get_checkbox("check_com_onerror")) {
comm_str = (gchar*) gtk_entry_get_text((GtkEntry*) gtk_builder_get_object(builder, "entry_com_after"));
if (!g_spawn_command_line_sync(comm_str, &comm_out, &comm_err, NULL, NULL)) {
comm_out = g_strconcat("", NULL);
comm_err = g_strconcat("Error launching command!\n", NULL);
}
comm_after = g_strconcat("\n", _("** Launching AFTER command:\n"), comm_str, "\n", comm_out, comm_err, NULL);
g_free(comm_out);
g_free(comm_err);
buffer = gtk_text_view_get_buffer(view);
gtk_text_buffer_insert_at_cursor(buffer, comm_after, -1);
scroll_to_end(view, FALSE);
if (config_log) fputs(comm_after, log_file);
g_free(comm_after);
}
}
gtk_button_set_label((GtkButton*) gtk_builder_get_object(builder, "close"), "gtk-close");
GtkLabel *tmpl = (GtkLabel*) gtk_builder_get_object(builder, "label_file");
if (had_error) {
gtk_label_set_markup(tmpl, _("Completed with errors!"));
gtk_widget_set_sensitive((GtkWidget*) gtk_builder_get_object(builder, "button_show_errors"), TRUE);
} else {
gtk_label_set_markup(tmpl, _("Completed successfully!"));
}
set_global_progress(1);
gtk_widget_set_sensitive((GtkWidget*) gtk_builder_get_object(builder, "button_pause"), FALSE);
gtk_widget_set_sensitive((GtkWidget*) view, TRUE);
set_rsync_title(groups[session_last], "stopped");
g_io_channel_unref(chout);
g_io_channel_unref(cherr);
g_spawn_close_pid(rsync_pid);
scroll_to_end(view, TRUE);
rsync_pid = 0;
g_free(argv);
if (watch_oldfile != NULL) g_free(watch_oldfile);
watch_oldfile = NULL;
if (config_errorlist && had_error) on_button_show_errors_clicked(NULL, NULL);
else gtk_window_set_urgency_hint((GtkWindow*) rsync_window, TRUE);
set_trayicon_icon(FALSE);
if (more || (cmdline_execute && !(config_errorlist && had_error) && !cmdline_stayopen)) on_close_clicked(NULL, NULL);
if (log_file != NULL) {
fputs("\n", log_file);
fclose(log_file);
log_file = NULL;
}
set_main_title(groups[session_last], NULL);
}
gboolean out_watch(GIOChannel *source, GIOCondition condition, gpointer data) {
GtkTextBuffer *buffer;
GtkTextIter iter, iter2;
GString *str;
static gchar *carriage = NULL;
gchar *file;
gdouble fraction, done, total;
if (condition & G_IO_IN) {
buffer = gtk_text_view_get_buffer((GtkTextView*)data);
if (carriage != NULL) {
gtk_text_buffer_get_iter_at_line(buffer, &iter, gtk_text_buffer_get_line_count(buffer) - 2);
gtk_text_buffer_get_end_iter(buffer, &iter2);
gtk_text_buffer_delete(buffer, &iter, &iter2);
}
str = g_string_new("");
g_io_channel_read_line_string(source, str, NULL, NULL);
carriage = strchr(str->str, '\r');
gtk_text_buffer_insert_at_cursor(buffer, (gchar*)str->str, -1);
scroll_to_end((GtkTextView*)data, FALSE);
if (config_log) fputs((gchar*)str->str, log_file);
if (!dryrunning) {
if (strchr(str->str, '%') && str->str[0] == ' ') {
if (watch_oldfile != NULL) file = g_strconcat(watch_oldfile, NULL);
else file = g_strconcat(str->str, NULL);
fraction = g_ascii_strtod(strchr(strchr(str->str, '%') - 4, ' '), NULL) / 100;
set_file_progress(fraction);
fraction = 0;
if (strchr(str->str, '%') != strrchr(str->str, '%')) fraction = g_ascii_strtod(strchr(strrchr(str->str, '%') - 6, ' '), NULL) / 100;
else if (strchr(str->str, '=')) {
total = g_ascii_strtod(strrchr(str->str, '/') + 1, NULL);
done = total - g_ascii_strtod(strrchr(str->str, '=') + 1, NULL);
fraction = done / total;
}
if (fraction) set_global_progress(fraction);
} else {
file = g_strconcat(str->str, NULL);
if (watch_oldfile != NULL) g_free(watch_oldfile);
watch_oldfile = g_strconcat(str->str, NULL);
}
g_strchomp(file);
if (file[0] != 0) gtk_label_set_text((GtkLabel*) gtk_builder_get_object(builder, "label_file"), file);
g_free(file);
}
g_string_free(str, TRUE);
must_scroll = TRUE;
} else {
// if (condition & G_IO_HUP || condition & G_IO_ERR) {
// g_io_channel_shutdown(source, FALSE, NULL);
// rsync_cleanup(data);
return FALSE;
}
return TRUE;
}
gboolean err_watch(GIOChannel *source, GIOCondition condition, gpointer data) {
GtkTextBuffer *buffer;
GtkTextIter iter;
GString *str;
gchar *tmpc;
if (condition & G_IO_IN) {
buffer = gtk_text_view_get_buffer((GtkTextView*)data);
str = g_string_new("");
g_io_channel_read_line_string(source, str, NULL, NULL);
if (str->len > 2) had_error = TRUE;
gtk_text_buffer_get_end_iter(buffer, &iter);
gtk_text_buffer_insert_with_tags_by_name(buffer, &iter, (gchar*)str->str, -1, "fore-red", NULL);
scroll_to_end((GtkTextView*)data, FALSE);
if (config_log) fputs((gchar*)str->str, log_file);
tmpc = g_strconcat(error_list, str->str, NULL);
g_free(error_list);
error_list = tmpc;
g_string_free(str, TRUE);
must_scroll = TRUE;
} else {
// if (condition & G_IO_HUP || condition & G_IO_ERR) {
// g_io_channel_shutdown(source, FALSE, NULL);
// rsync_cleanup(data);
return FALSE;
}
return TRUE;
}
void child_watch(GPid pid, gint status, gpointer data) {
GtkTextBuffer *buffer;
GtkTextIter iter;
gchar *tmpc, *str, buf[5];
sprintf(buf, "%i", WEXITSTATUS(status));
str = g_strconcat(_("Rsync process exit status: "), buf, "\n", NULL);
buffer = gtk_text_view_get_buffer((GtkTextView*)data);
if (status == 0) {
gtk_text_buffer_insert_at_cursor(buffer, str, -1);
} else {
gtk_text_buffer_get_end_iter(buffer, &iter);
gtk_text_buffer_insert_with_tags_by_name(buffer, &iter, str, -1, "fore-red", NULL);
tmpc = g_strconcat(error_list, str, NULL);
g_free(error_list);
error_list = tmpc;
had_error = TRUE;
}
scroll_to_end((GtkTextView*)data, FALSE);
if (config_log) fputs(str, log_file);
g_free(str);
rsync_cleanup(NULL);
must_scroll = TRUE;
}
#if defined(__FreeBSD__) || defined(__APPLE__)
gboolean child_timeout(gpointer data) {
gint status;
if (waitpid(rsync_pid, &status, WNOHANG) > 0) {
child_watch(rsync_pid, status, data);
return FALSE;
}
return TRUE;
}
#endif
gboolean scroll_idle(gpointer data) {
scroll_to_end(data, TRUE);
return FALSE;
}
void on_rsync_show(GtkWidget *widget, gpointer user_data) {
gint out, err;
GtkTextBuffer *buffer;
GtkTextView *view;
static GtkTextTag *tag = NULL;
GtkWidget *error;
gchar *comm_str, *comm_text, *comm_out, *comm_err, *comm_before, *tmpc;
gboolean halt = FALSE;
time_t rawtime;
rsync_pid = 0;
if (!is_set || first) had_error = FALSE;
gtk_label_set_ellipsize((GtkLabel*) gtk_builder_get_object(builder, "label_file"), PANGO_ELLIPSIZE_MIDDLE);
if (get_checkbox("check_com_before")) {
comm_str = (gchar*) gtk_entry_get_text((GtkEntry*) gtk_builder_get_object(builder, "entry_com_before"));
if (!g_spawn_command_line_sync(comm_str, &comm_out, &comm_err, &err, NULL) || err) {
comm_out = g_strconcat("", NULL);
comm_err = g_strconcat("Error launching command!", NULL);
gtk_label_set_text((GtkLabel*) gtk_builder_get_object(builder, "label_file"), comm_err);
if (get_checkbox("check_com_halt")) halt = TRUE;
}
comm_before = g_strconcat(_("** Launching BEFORE command:\n"), comm_str, "\n", comm_out, comm_err, "\n\n", NULL);
g_free(comm_out);
g_free(comm_err);
} else {
comm_before = g_strconcat("", NULL);
}
comm_str = g_strjoinv(" ", argv);
if (halt) tmpc = "";
else {
if (dryrunning) tmpc =_("** Launching RSYNC command (simulation mode):\n");
else tmpc = _("** Launching RSYNC command:\n");
}
time(&rawtime);
comm_text = g_strconcat("**** ", groups[session_last], " - ", ctime(&rawtime), "\n", comm_before, tmpc, comm_str, "\n\n", NULL);
g_free(comm_before);
g_free(comm_str);
view = (GtkTextView*)gtk_builder_get_object(builder, "textview_output");
PangoFontDescription *font_desc = pango_font_description_from_string("monospace 10");
gtk_widget_modify_font((GtkWidget*) view, font_desc);
pango_font_description_free(font_desc);
buffer = gtk_text_view_get_buffer(view);
if (is_set && !first) gtk_text_buffer_insert_at_cursor(buffer, "\n", -1);
else gtk_text_buffer_set_text(buffer, "", -1);
gtk_text_buffer_insert_at_cursor(buffer, comm_text, -1);
if (config_log) fputs(comm_text, log_file);
g_free(comm_text);
g_get_current_time(&startime);
if (!halt && g_spawn_async_with_pipes(NULL, argv, NULL, G_SPAWN_SEARCH_PATH | G_SPAWN_DO_NOT_REAP_CHILD, NULL, NULL, &rsync_pid, NULL, &out, &err, NULL)) {
set_trayicon_icon(TRUE);
chout = g_io_channel_unix_new(out);
cherr = g_io_channel_unix_new(err);
g_io_channel_set_flags(chout, G_IO_FLAG_NONBLOCK, NULL);
g_io_channel_set_flags(cherr, G_IO_FLAG_NONBLOCK, NULL);
// g_io_channel_set_buffer_size(chout, 32); g_io_channel_set_encoding(chout, NULL, NULL); g_io_channel_set_buffered(chout, FALSE);
if (tag == NULL) tag = gtk_text_buffer_create_tag(buffer, "fore-red", "foreground", "red", NULL);
g_io_add_watch_full(chout, G_PRIORITY_DEFAULT_IDLE - 10, G_IO_IN | G_IO_HUP | G_IO_ERR | G_IO_PRI | G_IO_NVAL, out_watch, view, NULL);
g_io_add_watch_full(cherr, G_PRIORITY_DEFAULT_IDLE - 10, G_IO_IN | G_IO_HUP | G_IO_ERR | G_IO_PRI | G_IO_NVAL, err_watch, view, NULL);
g_io_channel_set_close_on_unref(chout, TRUE);
g_io_channel_set_close_on_unref(cherr, TRUE);
#if defined(__FreeBSD__) || defined(__APPLE__)
g_timeout_add_seconds(1, child_timeout, view);
#else
g_child_watch_add_full(G_PRIORITY_DEFAULT_IDLE, rsync_pid, child_watch, view, NULL);
#endif
} else {
gtk_button_set_label((GtkButton*) gtk_builder_get_object(builder, "close"), "gtk-close");
gtk_widget_set_sensitive((GtkWidget*) gtk_builder_get_object(builder, "button_pause"), FALSE);
gtk_widget_set_sensitive((GtkWidget*) view, TRUE);
if (!halt) {
#ifndef MAEMO
error = gtk_message_dialog_new((GtkWindow*) main_window, GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_ERROR, GTK_BUTTONS_CANCEL, _("Cannot execute rsync"));
gtk_dialog_run(GTK_DIALOG(error));
gtk_widget_destroy(error);
#else
error = hildon_banner_show_information(GTK_WIDGET(main_window), NULL, _("Cannot execute rsync"));
hildon_banner_set_timeout(HILDON_BANNER(error), 4000);
#endif
}
}
}
void on_rsync_hide(GtkObject *object, gpointer user_data) {
if (rsync_pid) {
if (paused) superkill(SIGCONT);
superkill(SIGTERM);
}
dryrunning = FALSE;
}
void on_combo_session_changed(GtkComboBox *combobox, gpointer user_data) {
gint sel = gtk_combo_box_get_active((GtkComboBox*) gtk_builder_get_object(builder, "combo_session"));
if (session_last != -1 && sel != session_last) {
save_settings(groups[session_last], NULL);
session_last = sel;
load_settings(groups[session_last], NULL);
}
}
void on_session_add_clicked(GtkButton *button, gpointer user_data) {
GtkWidget *add, *confirm;
gint result, i = 0;
add = (GtkWidget*) gtk_builder_get_object(builder, "dialog_new_session");
gtk_editable_select_region((GtkEditable*) gtk_builder_get_object(builder, "entry_session_name"), 0, -1);
gtk_widget_grab_focus((GtkWidget*) gtk_builder_get_object(builder, "entry_session_name"));
result = gtk_dialog_run ((GtkDialog*) add);
if (result == GTK_RESPONSE_OK) {
save_settings(groups[session_last], NULL);
gchar *newses;
newses = (gchar*) gtk_entry_get_text((GtkEntry*) gtk_builder_get_object(builder, "entry_session_name"));
is_set = get_checkbox("checkbutton_isset");
if (strcmp(CONFIG_GROUP, newses) == 0 || strcmp("", newses) == 0 || strchr(newses, '/') != NULL) {
#ifndef MAEMO
confirm = gtk_message_dialog_new((GtkWindow*) main_window, GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_ERROR,
GTK_BUTTONS_CANCEL, _("This session name is reserved, you cannot call it like this"));
gtk_dialog_run(GTK_DIALOG(confirm));
gtk_widget_destroy(confirm);
#else
confirm = hildon_banner_show_information(GTK_WIDGET (main_window),NULL,
_("This session name is reserved, you cannot call it like this"));
hildon_banner_set_timeout(HILDON_BANNER (confirm),4000);
#endif
gtk_widget_hide(add);
return;
}
while (groups[i] != NULL && strcmp(groups[i], newses)) i++;
if (groups[i] != NULL) {
#ifndef MAEMO
confirm = gtk_message_dialog_new((GtkWindow*) main_window, GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_ERROR,
GTK_BUTTONS_CANCEL, _("A session named like this already exists"));
gtk_dialog_run(GTK_DIALOG(confirm));
gtk_widget_destroy(confirm);
#else
confirm = hildon_banner_show_information(GTK_WIDGET (main_window),NULL,
_("A session named like this already exists"));
hildon_banner_set_timeout(HILDON_BANNER (confirm),4000);
#endif
gtk_widget_hide(add);
return;
}
save_settings(newses, NULL);
session_number++;
session_last = -1; // added because of save session bug, copied from external patch
load_groups(newses);
load_settings(newses, NULL);
}
gtk_widget_hide(add);
}
void on_session_del_clicked(GtkButton *button, gpointer user_data) {
gchar settings_file_name[MAXPATH], *key_data;
FILE *key_file;
GError *error_handler = NULL;
GKeyFile *settings_file;
gint i, result;
GtkWidget *confirm;
i = gtk_combo_box_get_active((GtkComboBox*) gtk_builder_get_object(builder, "combo_session"));
if (strcmp(groups[i], "default") == 0) {
#ifndef MAEMO
confirm = gtk_message_dialog_new((GtkWindow*) main_window, GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_ERROR,
GTK_BUTTONS_CANCEL, _("You cannot delete the default session"));
gtk_dialog_run(GTK_DIALOG(confirm));
gtk_widget_destroy(confirm);
#else
confirm = hildon_banner_show_information(GTK_WIDGET (main_window),NULL,
_("You cannot delete the default session"));
hildon_banner_set_timeout(HILDON_BANNER (confirm),4000);
#endif
return;
}
#ifndef MAEMO
confirm = gtk_message_dialog_new((GtkWindow*) main_window, GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_QUESTION,
GTK_BUTTONS_OK_CANCEL, _("Are you sure you want to delete the '%s' session?"), groups[i]);
#else
gchar conftxt[255];
g_sprintf(conftxt,_("Are you sure you want to delete the '%s' session?"),groups[i]);
confirm = hildon_note_new_confirmation (GTK_WINDOW (main_window),conftxt);
#endif
result = gtk_dialog_run(GTK_DIALOG(confirm));
gtk_widget_destroy(confirm);
if (result == GTK_RESPONSE_OK) {
g_sprintf(settings_file_name, "%s/%s", grsync_dir, "grsync.ini");
settings_file = g_key_file_new();
g_key_file_load_from_file(settings_file, settings_file_name, G_KEY_FILE_NONE, NULL);
g_key_file_remove_group(settings_file, groups[i], &error_handler);
key_data = g_key_file_to_data(settings_file, NULL, &error_handler);
key_file = fopen(settings_file_name, "w");
if (key_file != NULL) {
fputs(key_data, key_file);
fclose(key_file);
} else {
g_printf(_("\tUnable to save settings!\n"));
}
g_key_file_free(settings_file);
g_clear_error(&error_handler);
session_last = -1;
load_groups("default");
load_settings("default", NULL);
}
}
void on_button_about_clicked(GtkButton *button, gpointer user_data) {
gchar *artists[] = {
_("Application icons by Roberto Gadotti "),
NULL
};
gchar *authors[] = {
_("Written by Piero Orsoni "),
_("Maemo compatibility by Luca Donaggio "),
_("Additional bug-fixing by Luca Marturana "),
_("Dutch translation by Frank de Bruijn "),
_("Simplified Chinese translation by Xie Yanbo "),
_("French translation by xavier "),
_("Swedish translation by Daniel Nylander "),
_("Turkish translation by Doruk Fisek "),
_("Russian translation by Evgenii Terechkov "),
_("German translation by Martin Lettner "),
_("Spanish translation by Ibon Castilla Varela "),
_("Czech translation by Martin Balajka "),
_("Galician translation by Daniel Espinheira "),
_("Catalan translation by Josep SÃ nchez "),
_("Brazilian Portuguese translation by Fábio Nogueira "),
_("Indonesian translation by Waluyo Adi Siswanto "),
_("Croatian translation by Bojan Vondra "),
NULL
};
gtk_show_about_dialog((GtkWindow*) main_window, "name", PACKAGE, "version", VERSION, "comments", _("Synchronize files and folders (a GTK GUI for rsync)."),
"copyright", _("(C) Piero Orsoni and others. Released under the GPL.\nSee COPYING for details"),
"website", "http://www.opbyte.it/grsync/", "artists", artists, "authors", authors, NULL);
}
void on_button_switch_clicked(GtkButton *button, gpointer user_data) {
const gchar *tmps, *tmpd;
gchar *tmp;
tmps = gtk_entry_get_text((GtkEntry*) gtk_builder_get_object(builder, "text_source"));
tmpd = gtk_entry_get_text((GtkEntry*) gtk_builder_get_object(builder, "text_dest"));
tmp = g_strconcat(tmps, NULL);
gtk_entry_set_text((GtkEntry*) gtk_builder_get_object(builder, "text_source"), tmpd);
gtk_entry_set_text((GtkEntry*) gtk_builder_get_object(builder, "text_dest"), tmp);
g_free(tmp);
}
void on_button_pause_clicked(GtkButton *button, gpointer user_data) {
GtkButton *tmpbutt = (GtkButton*) gtk_builder_get_object(builder, "button_pause");
GTimeVal tmptime;
if (paused) {
if (rsync_pid) superkill(SIGCONT);
gtk_button_set_label(tmpbutt, "gtk-media-pause");
set_rsync_title(groups[session_last], "running");
g_get_current_time(&tmptime);
startime.tv_sec += tmptime.tv_sec - pausedtime.tv_sec;
startime.tv_usec += tmptime.tv_usec - pausedtime.tv_usec;
} else {
if (rsync_pid) superkill(SIGSTOP);
gtk_button_set_label(tmpbutt, "gtk-media-play");
set_rsync_title(groups[session_last], "paused");
g_get_current_time(&pausedtime);
g_idle_add(scroll_idle, gtk_builder_get_object(builder, "textview_output"));
}
paused = !paused;
}
void on_preferences1_activate(GtkMenuItem *menuitem, gpointer user_data) {
GtkWidget *config;
gint result;
config = (GtkWidget*) gtk_builder_get_object(builder, "dialog_config");
gtk_entry_set_text((GtkEntry*) gtk_builder_get_object(builder, "entry_command"), config_command);
set_checkbox("check_output", config_output);
set_checkbox("check_remember", config_remember);
set_checkbox("check_errorlist", config_errorlist);
set_checkbox("check_log", config_log);
set_checkbox("check_log_overwrite", config_log_overwrite);
set_checkbox("check_fastscroll", config_fastscroll);
#ifndef MAEMO
set_checkbox("check_switchbutton", config_switchbutton);
set_checkbox("check_trayicon", config_trayicon);
#endif
result = gtk_dialog_run((GtkDialog*) config);
if (result == GTK_RESPONSE_OK) {
strncpy(config_command, gtk_entry_get_text((GtkEntry*) gtk_builder_get_object(builder, "entry_command")), MAXPATH - 1);
config_output = get_checkbox("check_output");
config_remember = get_checkbox("check_remember");
config_errorlist = get_checkbox("check_errorlist");
config_log = get_checkbox("check_log");
config_log_overwrite = get_checkbox("check_log_overwrite");
config_fastscroll = get_checkbox("check_fastscroll");
#ifndef MAEMO
config_switchbutton = get_checkbox("check_switchbutton");
// gtk_widget_set_visible((GtkWidget*) gtk_builder_get_object(builder, "button_switch"), config_switchbutton); ONLY WORKS IN GTK 2.18
config_switchbutton ? gtk_widget_show((GtkWidget*) gtk_builder_get_object(builder, "button_switch")) :
gtk_widget_hide((GtkWidget*) gtk_builder_get_object(builder, "button_switch"));
config_trayicon = get_checkbox("check_trayicon");
set_trayicon(config_trayicon);
#endif
}
gtk_widget_hide(config);
}
void on_rsync_info_activate(GtkMenuItem *menuitem, gpointer user_data) {
GtkWidget *dialog;
#ifdef MAEMO
GtkWidget *panarea, *label;
#endif
gchar *tmps, *result;
tmps = g_strconcat(config_command, " --version", NULL);
g_spawn_command_line_sync(tmps, &result, NULL, NULL, NULL);
#ifndef MAEMO
dialog = gtk_message_dialog_new((GtkWindow*) main_window, GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_INFO, GTK_BUTTONS_CLOSE, "%s", result);
#else
dialog = gtk_dialog_new();
gtk_window_set_default_size(GTK_WINDOW (dialog),-1,300);
panarea = hildon_pannable_area_new();
g_object_set(G_OBJECT (panarea),"mov-mode",HILDON_MOVEMENT_MODE_BOTH,NULL);
gtk_widget_show(panarea);
gtk_container_add(GTK_CONTAINER (gtk_dialog_get_content_area(GTK_DIALOG (dialog))),panarea);
label = gtk_label_new(result);
gtk_widget_show(label);
hildon_pannable_area_add_with_viewport(HILDON_PANNABLE_AREA (panarea),label);
#endif
gtk_dialog_run(GTK_DIALOG(dialog));
gtk_widget_destroy(dialog);
g_free(tmps);
g_free(result);
}
void on_commandline_activate(GtkMenuItem *menuitem, gpointer user_data) {
GtkWidget *dialog;
#ifdef MAEMO
GtkWidget *panarea, *label;
#endif
gchar *tmps;
build_rsync_cmd();
tmps = g_strjoinv(" ", argv);
#ifndef MAEMO
dialog = gtk_message_dialog_new((GtkWindow*) main_window, GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_INFO, GTK_BUTTONS_CLOSE, "%s", tmps);
#else
dialog = gtk_dialog_new();
gtk_window_set_default_size(GTK_WINDOW (dialog),-1,300);
panarea = hildon_pannable_area_new();
g_object_set(G_OBJECT (panarea),"mov-mode",HILDON_MOVEMENT_MODE_BOTH,NULL);
gtk_widget_show(panarea);
gtk_container_add(GTK_CONTAINER (gtk_dialog_get_content_area(GTK_DIALOG (dialog))),panarea);
label = gtk_label_new(tmps);
gtk_widget_show(label);
hildon_pannable_area_add_with_viewport(HILDON_PANNABLE_AREA (panarea),label);
#endif
gtk_dialog_run(GTK_DIALOG(dialog));
gtk_widget_destroy(dialog);
g_free(tmps);
g_free(argv);
}
void on_import1_activate(GtkMenuItem *menuitem, gpointer user_data) {
GtkWidget *dialog, *dialog2;
gint retval;
#ifndef MAEMO
dialog = gtk_file_chooser_dialog_new (_("Browse"), (GtkWindow*) main_window, GTK_FILE_CHOOSER_ACTION_OPEN,
GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, GTK_STOCK_OPEN, GTK_RESPONSE_ACCEPT, NULL);
#else
dialog = hildon_file_chooser_dialog_new ((GtkWindow*) main_window, GTK_FILE_CHOOSER_ACTION_OPEN);
gtk_window_set_title(GTK_WINDOW (dialog), _("Browse"));
#endif
if (user_data != NULL) gtk_file_chooser_set_filename(GTK_FILE_CHOOSER(dialog), user_data);
retval = gtk_dialog_run(GTK_DIALOG(dialog));
if (retval == GTK_RESPONSE_ACCEPT || retval == GTK_RESPONSE_OK) {
gchar *filename;
filename = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(dialog));
load_settings(NULL, filename);
#ifndef MAEMO
dialog2 = gtk_message_dialog_new((GtkWindow*) main_window, GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_INFO, GTK_BUTTONS_CLOSE, _("Session imported"));
gtk_dialog_run(GTK_DIALOG(dialog2));
gtk_widget_destroy(dialog2);
#else
dialog2 = hildon_banner_show_information(GTK_WIDGET (main_window),NULL,_("Session imported"));
hildon_banner_set_timeout(HILDON_BANNER (dialog2),2000);
#endif
g_free(filename);
}
gtk_widget_destroy(dialog);
}
void on_export1_activate(GtkMenuItem *menuitem, gpointer user_data) {
GtkWidget *dialog, *dialog2;
gchar *filename;
gint retval, i;
i = gtk_combo_box_get_active((GtkComboBox*) gtk_builder_get_object(builder, "combo_session"));
#ifndef MAEMO
dialog = gtk_file_chooser_dialog_new (_("Browse"), (GtkWindow*) main_window, GTK_FILE_CHOOSER_ACTION_SAVE,
GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, GTK_STOCK_SAVE, GTK_RESPONSE_ACCEPT, NULL);
#else
dialog = hildon_file_chooser_dialog_new ((GtkWindow*) main_window, GTK_FILE_CHOOSER_ACTION_SAVE);
gtk_window_set_title(GTK_WINDOW (dialog), _("Browse"));
#endif
filename = g_strconcat(groups[i], ".grsync", NULL);
gtk_file_chooser_set_current_name (GTK_FILE_CHOOSER (dialog), filename);
g_free(filename);
retval = gtk_dialog_run (GTK_DIALOG (dialog));
if (retval == GTK_RESPONSE_ACCEPT || retval == GTK_RESPONSE_OK) {
filename = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (dialog));
save_settings(groups[i], filename);
#ifndef MAEMO
dialog2 = gtk_message_dialog_new((GtkWindow*) main_window, GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_INFO, GTK_BUTTONS_CLOSE, _("Session exported"));
gtk_dialog_run(GTK_DIALOG(dialog2));
gtk_widget_destroy(dialog2);
#else
dialog2 = hildon_banner_show_information(GTK_WIDGET (main_window),NULL,_("Session exported"));
hildon_banner_set_timeout(HILDON_BANNER (dialog2),2000);
#endif
g_free(filename);
}
gtk_widget_destroy(dialog);
}
void on_expander_rsync_activate(GtkExpander *expander, gpointer user_data) {
if (!gtk_expander_get_expanded(expander)) {
gtk_window_resize((GtkWindow*) rsync_window, initial_width, initial_height);
gtk_widget_set_size_request(rsync_window, initial_width, initial_height);
} else {
gtk_widget_set_size_request(rsync_window, -1, -1);
}
}
void on_button_show_errors_clicked(GtkButton *button, gpointer user_data) {
GtkWidget *errors;
GtkTextBuffer *buffer;
GtkTextIter iter;
static GtkTextTag *tag = NULL;
errors = (GtkWidget*) gtk_builder_get_object(builder, "dialog_errors");
buffer = gtk_text_view_get_buffer((GtkTextView*) gtk_builder_get_object(builder, "textview_errors"));
gtk_text_buffer_set_text(buffer, "", -1);
if (tag == NULL) tag = gtk_text_buffer_create_tag(buffer, "fore-red", "foreground", "red", NULL);
gtk_text_buffer_get_start_iter(buffer, &iter);
gtk_text_buffer_insert_with_tags(buffer, &iter, error_list, -1, tag, NULL);
gtk_widget_show(errors);
}
gboolean on_main_window_window_state_event(GtkWidget *widget, GdkEventWindowState *event, gpointer user_data) {
if (trayIcon != NULL && event->changed_mask == GDK_WINDOW_STATE_ICONIFIED && (event->new_window_state & GDK_WINDOW_STATE_ICONIFIED) == GDK_WINDOW_STATE_ICONIFIED) {
// gtk_widget_hide(GTK_WIDGET(widget));
gtk_window_set_skip_taskbar_hint((GtkWindow*) widget, TRUE);
}
// else if (event->changed_mask == GDK_WINDOW_STATE_WITHDRAWN && (event->new_window_state & GDK_WINDOW_STATE_ICONIFIED) != GDK_WINDOW_STATE_ICONIFIED) {
return TRUE;
}
void on_contribute_activate(GtkMenuItem *menuitem, gpointer user_data) {
#ifdef MAEMO
g_spawn_command_line_async("dbus-send --system --type=method_call --dest=com.nokia.osso_browser /com/nokia/osso_browser/request com.nokia.osso_browser.load_url string:'http://www.opbyte.it/contribute.html'", NULL);
#else
g_spawn_command_line_async("xdg-open http://www.opbyte.it/contribute.html", NULL);
#endif
}
void on_cellrenderertoggle1_toggled(GtkCellRendererToggle *cell, gchar *path_str, gpointer data) {
GtkTreeIter iter;
GtkTreePath *path_filter = gtk_tree_path_new_from_string(path_str);
GtkTreePath *path = gtk_tree_model_filter_convert_path_to_child_path(filter, path_filter);
gboolean enabled;
gtk_tree_model_get_iter((GtkTreeModel*) liststore_session, &iter, path);
gtk_tree_model_get((GtkTreeModel*) liststore_session, &iter, 1, &enabled, -1);
enabled = !enabled;
gtk_list_store_set(liststore_session, &iter, 1, enabled, -1);
gtk_tree_path_free(path_filter);
gtk_tree_path_free(path);
}
grsync-1.2.6/src/support.h 0000664 0001750 0001750 00000001344 12137727646 012445 0000000 0000000 #ifdef HAVE_CONFIG_H
# include
#endif
#include
/*
* Standard gettext macros.
*/
#ifdef ENABLE_NLS
# include
# undef _
# define _(String) dgettext (PACKAGE, String)
# define Q_(String) g_strip_context ((String), gettext (String))
# ifdef gettext_noop
# define N_(String) gettext_noop (String)
# else
# define N_(String) (String)
# endif
#else
# define textdomain(String) (String)
# define gettext(String) (String)
# define dgettext(Domain,Message) (Message)
# define dcgettext(Domain,Message,Type) (Message)
# define bindtextdomain(Domain,Directory) (Domain)
# define _(String) (String)
# define Q_(String) g_strip_context ((String), (String))
# define N_(String) (String)
#endif
grsync-1.2.6/src/main.c 0000664 0001750 0001750 00000011323 12137727646 011646 0000000 0000000 #ifdef HAVE_CONFIG_H
# include
#endif
#include
#include "support.h"
#include "callbacks.h"
#ifdef MAEMO
# include
# include
#endif
int main (int argc, char *argv[]) {
#ifdef ENABLE_NLS
bindtextdomain(GETTEXT_PACKAGE, PACKAGE_LOCALE_DIR);
bind_textdomain_codeset(GETTEXT_PACKAGE, "UTF-8");
textdomain(GETTEXT_PACKAGE);
#endif
gtk_set_locale();
#ifdef MAEMO
hildon_gtk_init(&argc, &argv);
#else
gtk_init(&argc, &argv);
#endif
gint i = 1, result;
GError *gerror = NULL;
#ifdef MAEMO
osso_context_t *osso_cont;
HildonProgram *grsync_prog;
GtkWidget *toolbar1;
GtkWidget *appmenu;
#endif
cmdline_session = FALSE;
cmdline_execute = FALSE;
cmdline_stayopen = FALSE;
cmdline_import = FALSE;
argv_filename = NULL;
while (i < argc && argv[i] != NULL) {
if (argv[i][0] == '-') {
if (argv[i][1] == 'e') cmdline_execute = TRUE;
if (argv[i][1] == 's') cmdline_stayopen = TRUE;
if (argv[i][1] == 'i') cmdline_import = TRUE;
} else {
if (cmdline_import) argv_filename = g_strconcat(argv[i], NULL);
else {
argv_session = g_strconcat(argv[i], NULL);
cmdline_session = TRUE;
}
}
i++;
}
if (cmdline_execute && cmdline_import) {
printf(_("Error: conflicting arguments\n"));
return 22;
}
if (!cmdline_session) argv_session = g_strconcat("default", NULL);
if (cmdline_import && argv_filename == NULL) {
// disabled because of grsync.desktop Exec option
/*
printf(_("Error: missing filename\n"));
return 2;
*/
cmdline_import = FALSE;
}
icon = g_file_test(ICON_SOURCE, G_FILE_TEST_EXISTS) ? ICON_SOURCE : ICON_PACKAGE;
icon_busy = g_file_test(ICON_SOURCE_BUSY, G_FILE_TEST_EXISTS) ? ICON_SOURCE_BUSY : ICON_PACKAGE_BUSY;
gtk_window_set_default_icon_from_file(icon, NULL);
builder = gtk_builder_new();
result = gtk_builder_add_from_file(builder, XMLFILE, &gerror) || gtk_builder_add_from_file(builder, PACKAGE_DATA_DIR "/" PACKAGE "/" XMLFILE, NULL);
if (result) {
#ifdef MAEMO
/* Initialize OSSO context */
osso_cont = osso_initialize("it.opbyte." PACKAGE, VERSION, TRUE, NULL);
if (osso_cont == NULL) {
g_printerr("ERROR: Unable to properly initialize Maemo environment.\n");
return OSSO_ERROR;
}
/* Create HildonProgram and add the HildonWindow to it */
grsync_prog = HILDON_PROGRAM (hildon_program_get_instance ());
main_window = (GtkWidget*) gtk_builder_get_object(builder, "main_window");
hildon_program_add_window (grsync_prog, HILDON_WINDOW (main_window));
/* Create HildonAppMenu and add it to the HildonWindow */
appmenu = (GtkWidget*) gtk_builder_get_object(builder, "appmenu");
hildon_app_menu_append(HILDON_APP_MENU (appmenu),GTK_BUTTON (gtk_builder_get_object(builder, "switch_source_with_destination1")));
hildon_app_menu_append(HILDON_APP_MENU (appmenu),GTK_BUTTON (gtk_builder_get_object(builder, "commandline")));
hildon_app_menu_append(HILDON_APP_MENU (appmenu),GTK_BUTTON (gtk_builder_get_object(builder, "preferences1")));
hildon_app_menu_append(HILDON_APP_MENU (appmenu),GTK_BUTTON (gtk_builder_get_object(builder, "import1")));
hildon_app_menu_append(HILDON_APP_MENU (appmenu),GTK_BUTTON (gtk_builder_get_object(builder, "export1")));
hildon_app_menu_append(HILDON_APP_MENU (appmenu),GTK_BUTTON (gtk_builder_get_object(builder, "about1")));
hildon_app_menu_append(HILDON_APP_MENU (appmenu),GTK_BUTTON (gtk_builder_get_object(builder, "rsync_info")));
hildon_app_menu_append(HILDON_APP_MENU (appmenu),GTK_BUTTON (gtk_builder_get_object(builder, "contribute")));
hildon_window_set_app_menu(HILDON_WINDOW (main_window),HILDON_APP_MENU (appmenu));
gtk_widget_show_all(appmenu);
/* Add the GtkToolbar to the HildonWindow */
toolbar1 = (GtkWidget*) gtk_builder_get_object(builder, "toolbar1");
gtk_container_remove(GTK_CONTAINER (gtk_builder_get_object(builder,"vbox7")),toolbar1);
hildon_window_add_toolbar(HILDON_WINDOW (main_window),GTK_TOOLBAR (toolbar1));
gtk_widget_show_all(toolbar1);
#else
main_window = (GtkWidget*) gtk_builder_get_object(builder, "main_window");
#endif
liststore_session = (GtkListStore*) gtk_builder_get_object(builder, "liststore_session");
gtk_builder_connect_signals(builder, NULL);
on_main_create((GtkWindow*) main_window, NULL); // I run the callback now because the "show" signal seems not to be emitted with gtkbuilder
// gtk_widget_show_all(main_window); // disabled because it showed widgets hidden by gtk calls in the program; was needed on some systems, need to check again
gtk_main();
} else {
g_printerr("Error loading GtkBuilder XML file: %s - error code %u (%s)\n", XMLFILE, gerror->code, gerror->message);
}
g_free(argv_session);
g_object_unref(G_OBJECT(builder));
#ifdef MAEMO
/* De-initialize OSSO context */
osso_deinitialize(osso_cont);
#endif
return 0;
}
grsync-1.2.6/src/grsync-batch 0000775 0001750 0001750 00000007123 12137727646 013073 0000000 0000000 #!/bin/bash
while [ "`echo $1 | head -c 1`" == "-" ]; do
if [ "$1" == "-d" ]; then
DRYRUN=true
shift
continue
fi
if [ "$1" == "-f" ]; then
FROMFILE=true
shift
continue
fi
echo "Unknown option"
exit 1
done
SESSION=$1
if [ "$SESSION" == "" ]; then
echo "Grsync batch session runner ver 1.2.1"
echo "Comes under the GPL v2 - Copyright 2007->2012 Piero Orsoni (orsoni@gmail.com)"
echo "This script is part of the grsync program, see www.opbyte.it for more information"
echo
echo "Usage: grsync-batch [-d] [-f] "
echo " -d dry-run, simulate, do not really execute"
echo " -f read session from filename instead of the default configuration file"
exit 2
fi
if [ "$FROMFILE" == "" ]; then
# SESSCONF=`echo "\`cat ~/.grsync/grsync.ini\`\[" | grep -A999 "\[$SESSION\]" | tail -n +2 | grep -m 1 -B999 "\[" | head -n -2`
SESSCONF=`echo -e "\`cat ~/.grsync/grsync.ini\`\n\n\[" | grep -A999 "\[$SESSION\]" | tail -n +2 | grep -m 1 -B999 "^$"`
if [ "$SESSCONF" == "" ]; then
echo "Session not found in config file"
exit 3
fi
else
SESSCONF=`cat $SESSION | grep -A999 "\[" | tail -n +2`
if [ "$SESSCONF" == "" ]; then
echo "File not found or empty"
exit 4
fi
fi
# CONFIG=`cat ~/.grsync/grsync.ini | grep -A999 "\[__CONFIG\]" | tail -n +2 | grep -m 1 -B999 "\[" | head -n -2`
CONFIG=`cat ~/.grsync/grsync.ini | grep -A999 "\[__CONFIG\]" | tail -n +2 | grep -m 1 -B999 "^$"`
eval `echo -e "$SESSCONF\n$CONFIG" | sed s/=/=\"/ | sed s/\$/\"/`
if [ "$is_set" == "true" ]; then
echo "Session sets not yet supported"
exit 5
fi
OPTIONS="$text_addit"
if [ "$check_norecur" == "true" ]; then OPTIONS="-d $OPTIONS"; else OPTIONS="-r $OPTIONS"; fi
if [ "$DRYRUN" == "true" ]; then OPTIONS="-n $OPTIONS"; fi
if [ "$check_time" == "true" ]; then OPTIONS="-t $OPTIONS"; fi
if [ "$check_perm" == "true" ]; then OPTIONS="-p $OPTIONS"; fi
if [ "$check_owner" == "true" ]; then OPTIONS="-o $OPTIONS"; fi
if [ "$check_group" == "true" ]; then OPTIONS="-g $OPTIONS"; fi
if [ "$check_onefs" == "true" ]; then OPTIONS="-x $OPTIONS"; fi
if [ "$check_verbose" == "true" ]; then OPTIONS="-v $OPTIONS"; fi
if [ "$check_progr" == "true" ]; then OPTIONS="--progress $OPTIONS"; fi
if [ "$check_delete" == "true" ]; then OPTIONS="--delete $OPTIONS"; fi
if [ "$check_exist" == "true" ]; then OPTIONS="--ignore-existing $OPTIONS"; fi
if [ "$check_size" == "true" ]; then OPTIONS="--size-only $OPTIONS"; fi
if [ "$check_sum" == "true" ]; then OPTIONS="-c $OPTIONS"; fi
if [ "$check_symlink" == "true" ]; then OPTIONS="-l $OPTIONS"; fi
if [ "$check_hardlink" == "true" ]; then OPTIONS="-H $OPTIONS"; fi
if [ "$check_dev" == "true" ]; then OPTIONS="-D $OPTIONS"; fi
if [ "$check_update" == "true" ]; then OPTIONS="--existing $OPTIONS"; fi
if [ "$check_keepart" == "true" ]; then OPTIONS="-P $OPTIONS"; fi
if [ "$check_mapuser" == "true" ]; then OPTIONS="--numeric-ids $OPTIONS"; fi
if [ "$check_compr" == "true" ]; then OPTIONS="-z $OPTIONS"; fi
if [ "$check_backup" == "true" ]; then OPTIONS="-b $OPTIONS"; fi
if [ "$check_skipnew" == "true" ]; then OPTIONS="-u $OPTIONS"; fi
if [ "$check_windows" == "true" ]; then OPTIONS="--modify-window=1 $OPTIONS"; fi
if [ "$check_itemized" == "true" ]; then OPTIONS="-i $OPTIONS"; fi
if [ "$check_protectargs" == "true" ]; then OPTIONS="-s $OPTIONS"; fi
if [ "$check_com_before" == "true" ]; then
echo "*** Executing $text_com_before"
$text_com_before
echo
fi
COMMAND="$command $OPTIONS "
echo "*** Executing $COMMAND\"$text_source\" \"$text_dest\""
$COMMAND "$text_source" "$text_dest"
if [ "$check_com_after" == "true" ]; then
echo
echo "*** Executing $text_com_after"
$text_com_after
fi
grsync-1.2.6/src/callbacks.h 0000664 0001750 0001750 00000001636 12137727646 012654 0000000 0000000 #define MAXPATH 2048
#define MAXOPT 100
#define CONFIG_GROUP "__CONFIG"
#define ICON_SOURCE "pixmaps/grsync.png"
#define ICON_SOURCE_BUSY "pixmaps/grsync-busy.png"
#define ICON_PACKAGE PACKAGE_DATA_DIR "/" ICON_SOURCE
#define ICON_PACKAGE_BUSY PACKAGE_DATA_DIR "/" ICON_SOURCE_BUSY
GtkBuilder *builder;
GtkWidget *main_window;
gchar *argv_session, *argv_filename, *icon, *icon_busy;
gboolean cmdline_session, cmdline_execute, cmdline_stayopen, cmdline_import;
GtkListStore *liststore_session;
void save_settings(gchar *session, gchar *filename);
gboolean load_groups(gchar *session);
void on_main_create(GtkWindow *window, gpointer user_data);
void on_expander_rsync_activate(GtkExpander *expander, gpointer user_data);
void on_button_show_errors_clicked(GtkButton *button, gpointer user_data);
void on_import1_activate(GtkMenuItem *menuitem, gpointer user_data);
void on_rsync_show(GtkWidget *widget, gpointer user_data);
grsync-1.2.6/config.h.in 0000664 0001750 0001750 00000005655 12672004521 012005 0000000 0000000 /* config.h.in. Generated from configure.in by autoheader. */
/* always defined to indicate that i18n is enabled */
#undef ENABLE_NLS
/* Gettext package. */
#undef GETTEXT_PACKAGE
/* Define to 1 if you have the `bind_textdomain_codeset' function. */
#undef HAVE_BIND_TEXTDOMAIN_CODESET
/* Define to 1 if you have the `dcgettext' function. */
#undef HAVE_DCGETTEXT
/* Define if the GNU gettext() function is already present or preinstalled. */
#undef HAVE_GETTEXT
/* Define to 1 if you have the header file. */
#undef HAVE_INTTYPES_H
/* Define if your file defines LC_MESSAGES. */
#undef HAVE_LC_MESSAGES
/* Define to 1 if you have the header file. */
#undef HAVE_LOCALE_H
/* Define to 1 if you have the header file. */
#undef HAVE_MEMORY_H
/* Define to 1 if you have the header file. */
#undef HAVE_STDINT_H
/* Define to 1 if you have the header file. */
#undef HAVE_STDLIB_H
/* Define to 1 if you have the header file. */
#undef HAVE_STRINGS_H
/* Define to 1 if you have the header file. */
#undef HAVE_STRING_H
/* Define to 1 if you have the header file. */
#undef HAVE_SYS_STAT_H
/* Define to 1 if you have the header file. */
#undef HAVE_SYS_TYPES_H
/* Define to 1 if you have the header file. */
#undef HAVE_UNISTD_H
/* Unity launcher support */
#undef HAVE_UNITY
/* Define default Maemo pixmap directory */
#undef HILDONPIXMAPDIR
/* Compile for Maemo platform. */
#undef MAEMO
/* Name of package */
#undef PACKAGE
/* Define to the address where bug reports for this package should be sent. */
#undef PACKAGE_BUGREPORT
/* Define to the full name of this package. */
#undef PACKAGE_NAME
/* Define to the full name and version of this package. */
#undef PACKAGE_STRING
/* Define to the one symbol short name of this package. */
#undef PACKAGE_TARNAME
/* Define to the home page for this package. */
#undef PACKAGE_URL
/* Define to the version of this package. */
#undef PACKAGE_VERSION
/* Define to 1 if you have the ANSI C header files. */
#undef STDC_HEADERS
/* Enable extensions on AIX 3, Interix. */
#ifndef _ALL_SOURCE
# undef _ALL_SOURCE
#endif
/* Enable GNU extensions on systems that have them. */
#ifndef _GNU_SOURCE
# undef _GNU_SOURCE
#endif
/* Enable threading extensions on Solaris. */
#ifndef _POSIX_PTHREAD_SEMANTICS
# undef _POSIX_PTHREAD_SEMANTICS
#endif
/* Enable extensions on HP NonStop. */
#ifndef _TANDEM_SOURCE
# undef _TANDEM_SOURCE
#endif
/* Enable general extensions on Solaris. */
#ifndef __EXTENSIONS__
# undef __EXTENSIONS__
#endif
/* Version number of package */
#undef VERSION
/* UI Description XML File */
#undef XMLFILE
/* Define to 1 if on MINIX. */
#undef _MINIX
/* Define to 2 if the system does not provide POSIX.1 features except with
this defined. */
#undef _POSIX_1_SOURCE
/* Define to 1 if you need to in order for `stat' and other things to work. */
#undef _POSIX_SOURCE
grsync-1.2.6/ChangeLog 0000664 0001750 0001750 00000000011 12137727646 011531 0000000 0000000 See NEWS
grsync-1.2.6/grsync.xml.in 0000664 0001750 0001750 00000000464 12137727646 012427 0000000 0000000
Grsync session
Sessione di Grsync
@MIME_OSSOCAT@
grsync-1.2.6/intltool-extract.in 0000664 0001750 0001750 00000000000 12137727646 013621 0000000 0000000 grsync-1.2.6/AUTHORS 0000664 0001750 0001750 00000000236 12137727646 011040 0000000 0000000 This software is (C) Piero Orsoni (info@opbyte.it)
See application's about box for authors details.
Released under the GPL
See COPYING file for details
grsync-1.2.6/grsync.glade 0000664 0001750 0001750 00000253247 12636540436 012301 0000000 0000000
12
Add session
False
True
dialog
True
True
main_window
False
True
12
True
Enter session name you want to create:
False
False
1
200
True
True
Enter the name of the new session to create
50
True
False
False
2
Add as session set
True
True
False
Create a new session set instead of a normal session
True
3
True
end
gtk-cancel
True
True
True
False
True
False
False
0
gtk-ok
True
True
True
True
False
True
False
False
1
False
end
0
cancelbutton1
okbutton1
12
Grsync preferences
True
dialog
True
True
main_window
False
True
12
True
6
2
12
6
Show rsync output by default
True
True
False
Wether to show rsync output by default or hide it (show graphical information only)
True
True
2
3
GTK_FILL
Remember last used session
True
True
False
Whether to load the last used session at startup or use the default one
True
True
1
2
2
3
GTK_FILL
Show error list when finished
True
True
False
When rsync has finished, show all the errors encountered in a separate window
True
True
3
4
GTK_FILL
Enable logging
True
True
False
Whether to save rsync output to a log file, named like the session, which will be located in the grsync directory (usually ".grsync" into your user home)
True
True
1
2
3
4
GTK_FILL
True
True
Enter the rsync command to use, eventually including its full path
200
True
2
1
2
True
0
0
Rsync executable:
2
GTK_FILL
Fast rsync output scrolling
True
True
False
Select this if you want rsync output to scroll many lines at a time, in order to be faster
True
4
5
Enable switch button
True
True
False
Select this if you want an additional "switch source with destination" button in the basic options tab
True
1
2
4
5
Use tray icon
True
True
False
Check this box to show an icon of the application in the system tray instead of the application bar (may not work on Unity environments, like Ubuntu >= 11.4)
True
5
6
Overwrite logs
True
True
False
Whether to overwrite the logs when running a session. This will make you save space, but you'll loose the logs of the previous runs
True
True
1
2
5
6
GTK_FILL
1
True
end
gtk-cancel
True
True
True
False
True
False
False
0
gtk-ok
True
True
True
True
False
True
False
False
1
False
end
0
cancelbutton2
okbutton2
Errors list
True
dialog
True
True
True
dialog_rsync
False
True
True
12
12
True
Error list of last rsync run:
False
False
0
True
True
in
400
150
True
True
False
1
1
True
end
gtk-close
True
True
True
False
True
False
False
0
False
end
0
closebutton1
12
rsync
True
dialog
True
True
main_window
False
True
True
6
True
0
0
Idle
False
0
True
GDK_ENTER_NOTIFY_MASK | GDK_LEAVE_NOTIFY_MASK
Transfer progress of current file
0.10000000149
0%
False
3
1
True
0
0
Global progress
True
False
False
2
True
GDK_ENTER_NOTIFY_MASK | GDK_LEAVE_NOTIFY_MASK
Global transfer progress: works only with rsync version 2.6.1 or newer, and may report wrong values depending on the ability of rsync to estimate the files to be copied in advance
0.10000000149
0%
False
False
3
410
True
False
4
True
True
250
True
True
automatic
automatic
in
True
False
True
False
False
True
Rsync output:
5
1
True
end
gtk-dialog-warning
True
False
True
True
Click this button to show the error list
True
False
False
0
gtk-media-pause
True
True
False
Pause/resume rsync run
True
False
False
1
gtk-stop
True
True
False
Stops rsync and closes the window
True
False
False
2
False
end
0
button_show_errors
button_pause
close
10
About trailing slashes
False
True
center-on-parent
True
dialog
True
True
main_window
False
True
2
True
A trailing slash on the source directory avoids creating an additional directory level at the destination.
You can think of a trailing / on a source as meaning "copy the contents of this directory" as opposed to "copy the directory itself and its contents".
In other words, each of the following commands copies the files in the same way:
rsync -a /src/foo /dest
rsync -a /src/foo/ /dest/foo
fill
True
1
True
center
gtk-ok
True
True
True
True
False
False
0
False
end
0
button_trailing_ok
grsync-1.2.6/po/ 0000775 0001750 0001750 00000000000 12672005671 010454 5 0000000 0000000 grsync-1.2.6/po/ca_ES.po 0000664 0001750 0001750 00000053267 12636540620 011721 0000000 0000000 # CATALAN translation of grsync.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the grsync package.
# Josep Sà nchez Mesegué , 2009.
#
msgid ""
msgstr ""
"Project-Id-Version: 0.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-12-23 16:45+0100\n"
"PO-Revision-Date: 2008-09-06 14:22+0100\n"
"Last-Translator: Josep Sanchez Mesegue \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: ../grsync.glade.h:1
msgid "Grsync"
msgstr "Grsync"
#: ../grsync.glade.h:2
msgid "_File"
msgstr "_Fitxer"
#: ../grsync.glade.h:3
msgid "Browse S_ource"
msgstr "Tria l'_origen"
#: ../grsync.glade.h:4
msgid "Browse _Destination"
msgstr "Tria el _destÃ"
#: ../grsync.glade.h:5
#, fuzzy
msgid "Switch source with destination"
msgstr "Intercanvia origen i destÃ"
#: ../grsync.glade.h:6
msgid "_Simulation"
msgstr "_Simulació"
#: ../grsync.glade.h:7
#, fuzzy
msgid "_Rsync command line"
msgstr "Informació d'_Rsync"
#: ../grsync.glade.h:8
msgid "S_essions"
msgstr "Sess_ions"
#: ../grsync.glade.h:9
msgid "_Import"
msgstr "_Importa"
#: ../grsync.glade.h:10
msgid "_Export"
msgstr "_Exporta"
#: ../grsync.glade.h:11
msgid "_Help"
msgstr "_Ajuda"
#: ../grsync.glade.h:12
msgid "_Rsync info"
msgstr "Informació d'_Rsync"
#: ../grsync.glade.h:13
msgid "_Contribute"
msgstr ""
#: ../grsync.glade.h:14
msgid "Click to add a new session"
msgstr "Afegeix una nova sessió"
#: ../grsync.glade.h:15
msgid "Click to delete the current session"
msgstr "Elimina la sessió actual"
#: ../grsync.glade.h:16
msgid ""
"Show what would have been done, but actually do nothing (\"dry-run\" in "
"rsync language)"
msgstr ""
"Mostra el que es faria, però sense fer-ho (\"dry-run\" en llenguatge rsync)"
#: ../grsync.glade.h:17
#, fuzzy
msgid "_Simulate"
msgstr "_Simulació"
#: ../grsync.glade.h:18
msgid "Make a full run (go!)"
msgstr "Executa (endavant!)"
#: ../grsync.glade.h:19
msgid "Preserve group"
msgstr "Conserva el grup"
#: ../grsync.glade.h:20
msgid "Preserve time"
msgstr "Conserva la data"
#: ../grsync.glade.h:21
msgid "Preserve permissions"
msgstr "Conserva els permisos"
#: ../grsync.glade.h:22
msgid "Preserve owner"
msgstr "Conserva el propietari"
#: ../grsync.glade.h:23
msgid "Do not leave filesystem"
msgstr "No abandonis el sistema de fitxers"
#: ../grsync.glade.h:24
msgid "Do not cross filesystem boundaries"
msgstr "No creuis els lÃmits del sistema de fitxers"
#: ../grsync.glade.h:25
msgid "Delete on destination"
msgstr "Esborra al destÃ"
#: ../grsync.glade.h:26
msgid "Delete files in destination which are not present in the source"
msgstr "Esborra els fitxers del destà que no existeixin a l'origen"
#: ../grsync.glade.h:27
msgid "Verbose"
msgstr "Sortida detallada"
#: ../grsync.glade.h:28
msgid "Show more information"
msgstr "Mostra més informació"
#: ../grsync.glade.h:29
msgid "Show transfer progress"
msgstr "Mostra el progrés de la transferència"
#: ../grsync.glade.h:30
msgid "Ignore existing"
msgstr "Ignora els existents"
#: ../grsync.glade.h:31
msgid "Ignore files which already exist in the destination"
msgstr "Ignora els fitxers que ja existeixin al destÃ"
#: ../grsync.glade.h:32
msgid "Size only"
msgstr "Només la mida"
#: ../grsync.glade.h:33
msgid "Check size only, ignore time and checksum"
msgstr "Només verifica la mida, ignora el temps i la suma de verificació"
#: ../grsync.glade.h:34
msgid "Skip newer"
msgstr "Omet els més nous"
#: ../grsync.glade.h:35
msgid "Do not update newer files"
msgstr "No actualitzis els fitxers més nous"
#: ../grsync.glade.h:36
msgid "Windows compatibility"
msgstr "Compatibilitat amb Windows"
#: ../grsync.glade.h:37
msgid "Provides workaround for a windows FAT filesystem limitation"
msgstr ""
"Proporciona una solució a la limitació del sistema de fitxers FAT de Windows"
#: ../grsync.glade.h:38
msgid "Click to open the file browser"
msgstr "Obre el navegador de fitxers"
#: ../grsync.glade.h:39
msgid "Source directory"
msgstr "Directori origen"
#: ../grsync.glade.h:40
msgid "Destination directory"
msgstr "Directori destÃ"
#: ../grsync.glade.h:41
#, fuzzy
msgid "Click here to switch the source with the destination directory"
msgstr "I_ntercanvia origen i destÃ"
#: ../grsync.glade.h:42
#, fuzzy
msgid "Source and Destination:"
msgstr "Tria el _destÃ"
#: ../grsync.glade.h:43
msgid "Basic options"
msgstr "Opcions inicials"
#: ../grsync.glade.h:44
msgid "Always checksum"
msgstr "Compara sempre la suma de verificació"
#: ../grsync.glade.h:45
msgid "Always compare file contents (by checksum)"
msgstr ""
"Compara sempre el contingut dels fitxers (mitjançant suma de verificació)"
#: ../grsync.glade.h:46
msgid "Preserve devices"
msgstr "Conserva els dispositius"
#: ../grsync.glade.h:47
msgid "Only update existing files"
msgstr "Actualitza només els fitxers existents"
#: ../grsync.glade.h:48
msgid "Keep partially transferred files"
msgstr "Conserva els fitxers transferits parcialment"
#: ../grsync.glade.h:49
msgid "Don't map uid/gid values"
msgstr "No mapegis els valors uid/gid"
#: ../grsync.glade.h:50
msgid "Keep numeric uid/gid instead of mapping user names and group names"
msgstr ""
"Conserva els valors numèrics de uid/gid, en vers de mapejar-los a noms de "
"usuari i grup."
#: ../grsync.glade.h:51
#, fuzzy
msgid "Additional options:"
msgstr "Opcions addicionals:"
#: ../grsync.glade.h:52
msgid "Compress file data"
msgstr "Comprimeix les dades"
#: ../grsync.glade.h:53
#, fuzzy
msgid ""
"Compress file data when transferring (useful only if at least one side is "
"remote)"
msgstr "Comprimeix les dades en enviar-les"
#: ../grsync.glade.h:54
msgid "Copy symlinks as symlinks"
msgstr "Copia els enllaços simbòlics com a tal"
#: ../grsync.glade.h:55
msgid "Symbolic links are copied as such, do not copy link target file"
msgstr ""
"Els enllaços simbòlics es copien com a tal, no es copia el fitxer objectiu "
"de l'enllaç"
#: ../grsync.glade.h:56
msgid "Make backups"
msgstr "Realitza còpies de seguretat"
#: ../grsync.glade.h:57
msgid "Make backups of existing files on the destination"
msgstr "Realitza còpies de seguretat dels fitxers existents a destÃ"
#: ../grsync.glade.h:58
#, fuzzy
msgid "Copy hardlinks as hardlinks"
msgstr "Copia els enllaços simbòlics com a tal"
#: ../grsync.glade.h:59
#, fuzzy
msgid "Hard links are copied as such, do not copy link target file"
msgstr ""
"Els enllaços simbòlics es copien com són, no es copia el fitxer objectiu de "
"l'enllaç"
#: ../grsync.glade.h:60
msgid "Show itemized changes list"
msgstr "Mostra la llista de canvis per elements"
#: ../grsync.glade.h:61
msgid "Show additional information on every changed file"
msgstr "Mostra la informació addicional de cada fitxer modificat"
#: ../grsync.glade.h:62
msgid "Disable recursion"
msgstr ""
#: ../grsync.glade.h:63
msgid "If checked the subdirectories of the source folder will be ignored"
msgstr ""
#: ../grsync.glade.h:64
msgid "Additional command line options to pass to the rsync program"
msgstr "Opcions addicionals de l'intérpret d'ordres per passar a l'rsync"
#: ../grsync.glade.h:65
msgid "Protect remote args"
msgstr ""
#: ../grsync.glade.h:66
msgid ""
"Protect remote arguments from shell expansion, Avoids the need to manually "
"escape remote folders and other options which use file names like --exclude"
msgstr ""
#: ../grsync.glade.h:67
msgid "Advanced options"
msgstr "Opcions avançades"
#: ../grsync.glade.h:68
msgid "Execute this command before rsync:"
msgstr "Executa aquesta ordre abans de l'rsync:"
#: ../grsync.glade.h:69
msgid ""
"Click on this item if you want to run a command before syncing. Can be "
"useful, for instance, to mount a filesystem before starting or to do some "
"cleanup."
msgstr ""
"Feu clic per executar una ordre abans de sincronitzar. Pot ser útil, per "
"exemple, per a muntar un sistema de fitxers abans de començar o per a "
"efectuar tasques de neteja."
#: ../grsync.glade.h:70
msgid "Execute this command after rsync:"
msgstr "Executa aquesta ordre després de l'rsync:"
#: ../grsync.glade.h:71
msgid ""
"Click on this item if you want to run a command after syncing. Can be "
"useful, for instance, to unmount a filesystem at the end or to do some "
"cleanup."
msgstr ""
"Feu clic per executar una ordre després de sincronitzar. Pot ser útil, per "
"exemple, per a desmuntar un sistema de fitxers en finalitzar o per a "
"efectuar tasques de neteja."
#: ../grsync.glade.h:72
msgid "Browse files instead of folders"
msgstr "Navega pels fitxers en vers de carpetes"
#: ../grsync.glade.h:73
msgid ""
"By setting this switch, the browse source and destination buttons will open "
"a dialog for selecting files instead of folders"
msgstr ""
"Activant aquesta opció, els botons de triar origen i destà obriran un dià leg "
"per a seleccionar fitxers en vers de carpetes"
#: ../grsync.glade.h:74
msgid "Halt on failure"
msgstr "Atura si es produeix un error"
#: ../grsync.glade.h:75
msgid ""
"When running the \"before\" command, if it fails for some reason, don't run "
"rsync and halt"
msgstr ""
"Quan executis la ordre \"before\", si falla per qualsevol cosa, no executis "
"rsync i atura"
#: ../grsync.glade.h:76
msgid "On rsync error only"
msgstr "Només en cas d'error d'rsync"
#: ../grsync.glade.h:77
msgid ""
"Execute the \"after\" command only if syncronization had errors.\n"
"For example can be used to send an email only in the case there was "
"trouble.\n"
"Try a command like \"mail -s 'rsync error' you@domain.com\"."
msgstr ""
"Executa l'ordre \"after\" només si la sincronització ha fallat. \n"
"Es pot emprar per a enviar correu només en el cas que hi hagi hagut "
"problemes.\n"
"Proveu l'ordre \"mail -s 'Error d'rsync' you@domain.com\"."
#: ../grsync.glade.h:80
msgid "Notes:"
msgstr "Notes:"
#: ../grsync.glade.h:81
#, fuzzy
msgid "Free text notes on the current session"
msgstr "Notes de la sessió actual"
#: ../grsync.glade.h:82
msgid "Run as superuser"
msgstr ""
#: ../grsync.glade.h:83
msgid ""
"Run rsync with superuser (root, administrator) privileges. Use this if you "
"need to access system files, for example when doing a full system backup."
msgstr ""
#: ../grsync.glade.h:84
msgid "Extra options"
msgstr "Opcions extra"
#: ../grsync.glade.h:85
msgid "Include these sessions:"
msgstr ""
#: ../grsync.glade.h:86
#, fuzzy
msgid "Set options"
msgstr "Opcions extra"
#: ../grsync.glade.h:87
msgid "Add session"
msgstr "Afegeix una sessió"
#: ../grsync.glade.h:88
msgid "Enter session name you want to create:"
msgstr "Introduïu el nom de la sessió que voleu crear:"
#: ../grsync.glade.h:89
msgid "Enter the name of the new session to create"
msgstr "Introduïu el nom de la nova sessió que voleu crear:"
#: ../grsync.glade.h:90
#, fuzzy
msgid "Add as session set"
msgstr "Afegeix una sessió"
#: ../grsync.glade.h:91
msgid "Create a new session set instead of a normal session"
msgstr ""
#: ../grsync.glade.h:92
msgid "Grsync preferences"
msgstr "Preferències del Grsync"
#: ../grsync.glade.h:93
msgid "Show rsync output by default"
msgstr "Mostra la sortida d'rsync de manera predeterminada"
#: ../grsync.glade.h:94
msgid ""
"Wether to show rsync output by default or hide it (show graphical "
"information only)"
msgstr ""
"Mostra o oculta la sortida predeterminada d'rsync (mostra només informació "
"grà fica)"
#: ../grsync.glade.h:95
msgid "Remember last used session"
msgstr "Recorda la última sessió emprada"
#: ../grsync.glade.h:96
msgid "Whether to load the last used session at startup or use the default one"
msgstr "Carrega la última sessió emprada o la sessió predeterminada"
#: ../grsync.glade.h:97
msgid "Show error list when finished"
msgstr "Mostra la llista d'errors en acabar"
#: ../grsync.glade.h:98
msgid ""
"When rsync has finished, show all the errors encountered in a separate window"
msgstr "Quan acabi rsync mostra tots els errors en una finestra separada"
#: ../grsync.glade.h:99
msgid "Enable logging"
msgstr "Activa el registre"
#: ../grsync.glade.h:100
msgid ""
"Whether to save rsync output to a log file, named like the session, which "
"will be located in the grsync directory (usually \".grsync\" into your user "
"home)"
msgstr ""
"Desa la sortida d'rsync en un fitxer de bità cola, amb el mateix nom que el "
"de la sessió, que es troba al directori grsync (generalment \".grsync\" a la "
"vostra carpeta personal)."
#: ../grsync.glade.h:101
msgid "Enter the rsync command to use, eventually including its full path"
msgstr "Introduïu la ordre rsync a emprar, si fos el cas, amb el camà sencer"
#: ../grsync.glade.h:102
msgid "Rsync executable:"
msgstr "Executable rsync:"
#: ../grsync.glade.h:103
msgid "Fast rsync output scrolling"
msgstr "Desplaçament rà pid de la sortida de l'rsync"
#: ../grsync.glade.h:104
msgid ""
"Select this if you want rsync output to scroll many lines at a time, in "
"order to be faster"
msgstr ""
"Trieu això si voleu que rsync desplaci la sortida diverses lÃnies cada cop, "
"per a poder anar més rà pid"
#: ../grsync.glade.h:105
msgid "Enable switch button"
msgstr ""
#: ../grsync.glade.h:106
msgid ""
"Select this if you want an additional \"switch source with destination\" "
"button in the basic options tab"
msgstr ""
#: ../grsync.glade.h:107
msgid "Use tray icon"
msgstr ""
#: ../grsync.glade.h:108
msgid ""
"Check this box to show an icon of the application in the system tray instead "
"of the application bar (may not work on Unity environments, like Ubuntu >= "
"11.4)"
msgstr ""
#: ../grsync.glade.h:109
msgid "Overwrite logs"
msgstr ""
#: ../grsync.glade.h:110
msgid ""
"Whether to overwrite the logs when running a session. This will make you "
"save space, but you'll loose the logs of the previous runs"
msgstr ""
#: ../grsync.glade.h:111
msgid "Errors list"
msgstr "Llista d'errors"
#: ../grsync.glade.h:112
msgid "Error list of last rsync run:"
msgstr "Llista d'errors de la última execució de rsync"
#: ../grsync.glade.h:113
msgid "rsync"
msgstr "rsync"
#: ../grsync.glade.h:114
msgid "Idle"
msgstr "Inactiu"
#: ../grsync.glade.h:115
msgid "Transfer progress of current file"
msgstr "Progrés de la transferència del fitxer actual"
#: ../grsync.glade.h:116
msgid "Global progress"
msgstr "Progrés global"
#: ../grsync.glade.h:117
msgid ""
"Global transfer progress: works only with rsync version 2.6.1 or newer, and "
"may report wrong values depending on the ability of rsync to estimate the "
"files to be copied in advance"
msgstr ""
"Progrés global de la transferència: funciona només amb la versió 2.6.1, o "
"superior, d'rsync i pot donar valors erronis depenent de l'abilitat d'rsync "
"per a estimar amb antelació els fitxers a copiar"
#: ../grsync.glade.h:118
msgid "Rsync output:"
msgstr "Sortida d'rsync:"
#: ../grsync.glade.h:119
msgid "Click this button to show the error list"
msgstr "Feu clic en aquest botó per a mostrar la llista d'errors"
#: ../grsync.glade.h:120
msgid "Pause/resume rsync run"
msgstr "Pausa/continua l'execució d'rsync"
#: ../grsync.glade.h:121
msgid "Stops rsync and closes the window"
msgstr "Atura rsync i tanca la finestra"
#: ../grsync.glade.h:122
msgid "About trailing slashes"
msgstr ""
#: ../grsync.glade.h:123
msgid ""
"A trailing slash on the source directory avoids creating an additional "
"directory level at the destination.\n"
"You can think of a trailing / on a source as meaning \"copy the contents of "
"this directory\" as opposed to \"copy the directory itself and its contents"
"\".\n"
"\n"
"In other words, each of the following commands copies the files in the same "
"way:\n"
"\n"
"\t\t\t rsync -a /src/foo /dest\n"
"\t\t\t rsync -a /src/foo/ /dest/foo\n"
msgstr ""
#: ../src/main.c:58
#, c-format
msgid "Error: conflicting arguments\n"
msgstr ""
#: ../src/callbacks.c:138
#, c-format
msgid "(ERROR) Can't open config file! Maybe this is the first run?\n"
msgstr ""
"(ERROR) No es pot obrir el fitxer de configuració! potser és el primer cop "
"que s'executa el programa?\n"
#: ../src/callbacks.c:390 ../src/callbacks.c:1302
#, c-format
msgid "\tUnable to save settings!\n"
msgstr "\tNo es pot desar la configuració!\n"
#: ../src/callbacks.c:484 ../src/callbacks.c:487 ../src/callbacks.c:514
#: ../src/callbacks.c:517 ../src/callbacks.c:1486 ../src/callbacks.c:1490
#: ../src/callbacks.c:1521 ../src/callbacks.c:1525
msgid "Browse"
msgstr "Navega"
#: ../src/callbacks.c:553
#, c-format
msgid "%.f%% (%li:%02li elapsed, %li:%02li remaining)"
msgstr "%.f%% (%li:%02li passat, %li:%02li remanent)"
#: ../src/callbacks.c:705
msgid "Simulation in progress"
msgstr "Simulació en curs"
#: ../src/callbacks.c:757 ../src/callbacks.c:762
msgid "The session you specified on the command line doesn't exists"
msgstr "La sessió que heu especificat a l'intérpret d'ordres no existeix"
#: ../src/callbacks.c:776 ../src/callbacks.c:779
msgid ""
"Unable to execute the rsync command line tool. It is needed by this program. "
"You may need to install the rsync package or make it available in the "
"default executable search PATH. See file/preferences to change the default "
"rsync executable command."
msgstr ""
"No ha estat possible executar l'eina d'intérpret d'ordres rsync. Aquest "
"programa el necessita. Heu d'instal·lar el paquet rsync o marcar-lo com a "
"disponible al CAMà predeterminat. Veieu Fitxer/Preferències per a canviar el "
"camà predeterminat a l'executable de l'ordre rsync"
#: ../src/callbacks.c:900
#, fuzzy
msgid "** Launching AFTER command:\n"
msgstr "*** Executant l'ordre DESPRÉS:\n"
#: ../src/callbacks.c:915
msgid "Completed with errors!"
msgstr ""
"Ha finalitzat amb errors!"
#: ../src/callbacks.c:918
msgid ""
"Completed successfully!"
msgstr ""
"Ha finalitzat correctament!"
"span>"
#: ../src/callbacks.c:1051
msgid "Rsync process exit status: "
msgstr ""
#: ../src/callbacks.c:1113
#, fuzzy
msgid "** Launching BEFORE command:\n"
msgstr "*** Executando l'ordre ABANS:\n"
#: ../src/callbacks.c:1123
#, fuzzy
msgid "** Launching RSYNC command (simulation mode):\n"
msgstr "*** Executant l'ordre RSYNC (en mode simulat):\n"
#: ../src/callbacks.c:1124
#, fuzzy
msgid "** Launching RSYNC command:\n"
msgstr "*** Executant l'ordre RSYNC:\n"
#: ../src/callbacks.c:1168 ../src/callbacks.c:1172
msgid "Cannot execute rsync"
msgstr "No ha estat possible executar rsync"
#: ../src/callbacks.c:1218 ../src/callbacks.c:1223
msgid "This session name is reserved, you cannot call it like this"
msgstr "Aquest nom de sessió està reservat. No es pot emprar."
#: ../src/callbacks.c:1234 ../src/callbacks.c:1239
msgid "A session named like this already exists"
msgstr "Ja existeix una sessió amb aquest nom"
#: ../src/callbacks.c:1268 ../src/callbacks.c:1273
msgid "You cannot delete the default session"
msgstr "No es pot esborrar la sessió predeterminada"
#: ../src/callbacks.c:1281 ../src/callbacks.c:1284
#, c-format
msgid "Are you sure you want to delete the '%s' session?"
msgstr "Esteu segur de voler esborrar la sessió '%s'?"
#: ../src/callbacks.c:1316
msgid "Application icons by Roberto Gadotti "
msgstr ""
#: ../src/callbacks.c:1321
msgid "Written by Piero Orsoni "
msgstr ""
#: ../src/callbacks.c:1322
msgid "Maemo compatibility by Luca Donaggio "
msgstr ""
#: ../src/callbacks.c:1323
msgid "Additional bug-fixing by Luca Marturana "
msgstr ""
#: ../src/callbacks.c:1325
msgid "Dutch translation by Frank de Bruijn "
msgstr ""
#: ../src/callbacks.c:1326
msgid "Simplified Chinese translation by Xie Yanbo "
msgstr ""
#: ../src/callbacks.c:1327
msgid "French translation by xavier "
msgstr ""
#: ../src/callbacks.c:1328
msgid "Swedish translation by Daniel Nylander "
msgstr ""
#: ../src/callbacks.c:1329
msgid "Turkish translation by Doruk Fisek "
msgstr ""
#: ../src/callbacks.c:1330
msgid "Russian translation by Evgenii Terechkov "
msgstr ""
#: ../src/callbacks.c:1331
msgid "German translation by Martin Lettner "
msgstr ""
#: ../src/callbacks.c:1332
msgid "Spanish translation by Ibon Castilla Varela "
msgstr ""
#: ../src/callbacks.c:1333
msgid "Czech translation by Martin Balajka "
msgstr ""
#: ../src/callbacks.c:1334
msgid "Galician translation by Daniel Espinheira "
msgstr ""
#: ../src/callbacks.c:1335
msgid "Catalan translation by Josep SÃ nchez "
msgstr ""
#: ../src/callbacks.c:1336
msgid ""
"Brazilian Portuguese translation by Fábio Nogueira "
msgstr ""
#: ../src/callbacks.c:1337
msgid "Indonesian translation by Waluyo Adi Siswanto "
msgstr ""
#: ../src/callbacks.c:1338
msgid "Croatian translation by Bojan Vondra "
msgstr ""
#: ../src/callbacks.c:1342
msgid "Synchronize files and folders (a GTK GUI for rsync)."
msgstr ""
#: ../src/callbacks.c:1343
#, fuzzy
msgid ""
"(C) Piero Orsoni and others. Released under the GPL.\n"
"See COPYING for details"
msgstr ""
"(C) Piero Orsoni i altres. Distribuit sota GPL.\n"
"Vegeu AUTHORS i COPYING per a més detalls."
#: ../src/callbacks.c:1501 ../src/callbacks.c:1505
msgid "Session imported"
msgstr "Sessió importada"
#: ../src/callbacks.c:1537 ../src/callbacks.c:1541
msgid "Session exported"
msgstr "Sessió exportada"
#~ msgid ""
#~ "Source and Destination (directories need a trailing \"/\")"
#~ msgstr ""
#~ "Origen i destà (els directoris necessiten la barra al final: "
#~ "'/')"
#~ msgid "A GTK GUI for rsync"
#~ msgstr "Un GUI GTK per a rsync"
#~ msgid "Sessions"
#~ msgstr "Sessions"
#~ msgid "gtk-dialog-warning"
#~ msgstr "gtk-dialog-warning"
grsync-1.2.6/po/tr_TR.po 0000664 0001750 0001750 00000051750 12636540620 011774 0000000 0000000 # translation of grsync.po to Turkish
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
#
# Doruk Fisek , 2006.
msgid ""
msgstr ""
"Project-Id-Version: grsync\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-12-23 16:45+0100\n"
"PO-Revision-Date: 2006-10-20 14:30+0300\n"
"Last-Translator: Doruk Fisek \n"
"Language-Team: Turkish \n"
"Language: tr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: KBabel 1.11.4\n"
#: ../grsync.glade.h:1
msgid "Grsync"
msgstr "Grsync"
#: ../grsync.glade.h:2
msgid "_File"
msgstr "_Dosya"
#: ../grsync.glade.h:3
msgid "Browse S_ource"
msgstr "_Kaynağa Göz At"
#: ../grsync.glade.h:4
msgid "Browse _Destination"
msgstr "_Varışa Göz At"
#: ../grsync.glade.h:5
#, fuzzy
msgid "Switch source with destination"
msgstr "Kaynak ile varış yerini değiştir"
#: ../grsync.glade.h:6
msgid "_Simulation"
msgstr "_Simülasyon"
#: ../grsync.glade.h:7
#, fuzzy
msgid "_Rsync command line"
msgstr "_Rsync bilgisi"
#: ../grsync.glade.h:8
msgid "S_essions"
msgstr "_Oturumlar"
#: ../grsync.glade.h:9
msgid "_Import"
msgstr ""
#: ../grsync.glade.h:10
msgid "_Export"
msgstr ""
#: ../grsync.glade.h:11
msgid "_Help"
msgstr "_Yardım"
#: ../grsync.glade.h:12
msgid "_Rsync info"
msgstr "_Rsync bilgisi"
#: ../grsync.glade.h:13
msgid "_Contribute"
msgstr ""
#: ../grsync.glade.h:14
msgid "Click to add a new session"
msgstr "Yeni bir oturum eklemek için tıklayın"
#: ../grsync.glade.h:15
msgid "Click to delete the current session"
msgstr "Mevcut oturumu silmek için tıklayın"
#: ../grsync.glade.h:16
msgid ""
"Show what would have been done, but actually do nothing (\"dry-run\" in "
"rsync language)"
msgstr ""
"Ne yapılacağını göster ama gerçekte hiçbir şey yapma (rsync dilinde \"dry-run"
"\")"
#: ../grsync.glade.h:17
#, fuzzy
msgid "_Simulate"
msgstr "_Simülasyon"
#: ../grsync.glade.h:18
msgid "Make a full run (go!)"
msgstr "Çalıştır (hadi!)"
#: ../grsync.glade.h:19
msgid "Preserve group"
msgstr "Grup bilgisini koru"
#: ../grsync.glade.h:20
msgid "Preserve time"
msgstr "Zaman bilgisini koru"
#: ../grsync.glade.h:21
msgid "Preserve permissions"
msgstr "İzinlerini koru"
#: ../grsync.glade.h:22
msgid "Preserve owner"
msgstr "Sahip bilgisini koru"
#: ../grsync.glade.h:23
msgid "Do not leave filesystem"
msgstr "Dosya sisteminden ayrılma"
#: ../grsync.glade.h:24
msgid "Do not cross filesystem boundaries"
msgstr "Dosya sistem sınırlarını geçme"
#: ../grsync.glade.h:25
msgid "Delete on destination"
msgstr "Varış dizininde sil"
#: ../grsync.glade.h:26
msgid "Delete files in destination which are not present in the source"
msgstr "Kaynakta olmayan dosyaları varış dizininden sil"
#: ../grsync.glade.h:27
msgid "Verbose"
msgstr "Ayrıntılı bilgi"
#: ../grsync.glade.h:28
msgid "Show more information"
msgstr "Daha fazla bilgi göster"
#: ../grsync.glade.h:29
msgid "Show transfer progress"
msgstr "Aktarımın ilerleyişini göster"
#: ../grsync.glade.h:30
#, fuzzy
msgid "Ignore existing"
msgstr "Varolanı Yoksay"
#: ../grsync.glade.h:31
msgid "Ignore files which already exist in the destination"
msgstr "Varış dizininde olan var olan dosyaları yoksay"
#: ../grsync.glade.h:32
#, fuzzy
msgid "Size only"
msgstr "Sadece Boyut"
#: ../grsync.glade.h:33
msgid "Check size only, ignore time and checksum"
msgstr "Sadece boyutunu kontrol et, zaman ve sağlama toplamını dikkate alma"
#: ../grsync.glade.h:34
msgid "Skip newer"
msgstr ""
#: ../grsync.glade.h:35
#, fuzzy
msgid "Do not update newer files"
msgstr "Sadece var olan dosyaları güncelle"
#: ../grsync.glade.h:36
msgid "Windows compatibility"
msgstr ""
#: ../grsync.glade.h:37
msgid "Provides workaround for a windows FAT filesystem limitation"
msgstr ""
#: ../grsync.glade.h:38
msgid "Click to open the file browser"
msgstr "Dosya tarayıcısını açmak için tıklayın"
#: ../grsync.glade.h:39
msgid "Source directory"
msgstr "Kaynak dizini"
#: ../grsync.glade.h:40
msgid "Destination directory"
msgstr "Varış dizini"
#: ../grsync.glade.h:41
msgid "Click here to switch the source with the destination directory"
msgstr "Kaynak ve varış dizinlerinin yerini değiştirmek için buraya tıklayın"
#: ../grsync.glade.h:42
#, fuzzy
msgid "Source and Destination:"
msgstr "_Varışa Göz At"
#: ../grsync.glade.h:43
msgid "Basic options"
msgstr "Temel seçenekler"
#: ../grsync.glade.h:44
msgid "Always checksum"
msgstr "Her zaman sağlama toplamı"
#: ../grsync.glade.h:45
msgid "Always compare file contents (by checksum)"
msgstr "Her zaman dosya içeriklerini karşılaştır (sağlama toplamı ile)"
#: ../grsync.glade.h:46
msgid "Preserve devices"
msgstr "Aygıtları koru"
#: ../grsync.glade.h:47
msgid "Only update existing files"
msgstr "Sadece var olan dosyaları güncelle"
#: ../grsync.glade.h:48
msgid "Keep partially transferred files"
msgstr "Kısmi olarak aktarılmış dosyaları sakla"
#: ../grsync.glade.h:49
msgid "Don't map uid/gid values"
msgstr "Kullanıcı/grup (uid/gid) değerlerini eşleme"
#: ../grsync.glade.h:50
msgid "Keep numeric uid/gid instead of mapping user names and group names"
msgstr ""
"Kullanıcı ve grupları isimlerini eşleştirmek yerine numaraları ile sakla"
#: ../grsync.glade.h:51
#, fuzzy
msgid "Additional options:"
msgstr "Ek seçenekler:"
#: ../grsync.glade.h:52
msgid "Compress file data"
msgstr "Dosya verisini sıkıştır"
#: ../grsync.glade.h:53
#, fuzzy
msgid ""
"Compress file data when transferring (useful only if at least one side is "
"remote)"
msgstr "Dosya verisini aktarım sırasında sıkıştır"
#: ../grsync.glade.h:54
msgid "Copy symlinks as symlinks"
msgstr "Sembolik bağı sembolik bağ olarak kopyala"
#: ../grsync.glade.h:55
msgid "Symbolic links are copied as such, do not copy link target file"
msgstr ""
"Sembolik bağları bağ olarak kopyala, bağın hedefi olan dosyayı kopyalama"
#: ../grsync.glade.h:56
msgid "Make backups"
msgstr "Yedekler oluÅŸtur"
#: ../grsync.glade.h:57
msgid "Make backups of existing files on the destination"
msgstr "Varış noktasında var olan dosyaların yedeklerini oluştur"
#: ../grsync.glade.h:58
#, fuzzy
msgid "Copy hardlinks as hardlinks"
msgstr "Sembolik bağı sembolik bağ olarak kopyala"
#: ../grsync.glade.h:59
#, fuzzy
msgid "Hard links are copied as such, do not copy link target file"
msgstr ""
"Sembolik bağları bağ olarak kopyala, bağın hedefi olan dosyayı kopyalama"
#: ../grsync.glade.h:60
msgid "Show itemized changes list"
msgstr ""
#: ../grsync.glade.h:61
msgid "Show additional information on every changed file"
msgstr ""
#: ../grsync.glade.h:62
msgid "Disable recursion"
msgstr ""
#: ../grsync.glade.h:63
msgid "If checked the subdirectories of the source folder will be ignored"
msgstr ""
#: ../grsync.glade.h:64
msgid "Additional command line options to pass to the rsync program"
msgstr "Rsync programını çağırırken kullanılacak ek komut satırı seçenekleri"
#: ../grsync.glade.h:65
msgid "Protect remote args"
msgstr ""
#: ../grsync.glade.h:66
msgid ""
"Protect remote arguments from shell expansion, Avoids the need to manually "
"escape remote folders and other options which use file names like --exclude"
msgstr ""
#: ../grsync.glade.h:67
msgid "Advanced options"
msgstr "Gelişmiş seçenekler"
#: ../grsync.glade.h:68
msgid "Execute this command before rsync:"
msgstr "Rsync öncesi şu komutu çalıştır:"
#: ../grsync.glade.h:69
msgid ""
"Click on this item if you want to run a command before syncing. Can be "
"useful, for instance, to mount a filesystem before starting or to do some "
"cleanup."
msgstr ""
"Senkronizasyona başlamadan önce bir komut çalıştırmak istiyorsanız buraya "
"tıklayın. Örneğin başlamadan önce bir dosya sistemini bağlamak ya da biraz "
"temizlik yapmak isterseniz yararlı olabilir."
#: ../grsync.glade.h:70
msgid "Execute this command after rsync:"
msgstr "Rsync sonrasında bu komutu çalıştır:"
#: ../grsync.glade.h:71
msgid ""
"Click on this item if you want to run a command after syncing. Can be "
"useful, for instance, to unmount a filesystem at the end or to do some "
"cleanup."
msgstr ""
"Senkronizasyondan sonra bir komut çalıştırmak istiyorsanız buraya tıklayın. "
"Örneğin bitirdikten sonra bir dosya sistemini ayırmak ya da biraz temizlik "
"yapmak isterseniz yararlı olabilir."
#: ../grsync.glade.h:72
msgid "Browse files instead of folders"
msgstr ""
#: ../grsync.glade.h:73
msgid ""
"By setting this switch, the browse source and destination buttons will open "
"a dialog for selecting files instead of folders"
msgstr ""
#: ../grsync.glade.h:74
msgid "Halt on failure"
msgstr ""
#: ../grsync.glade.h:75
msgid ""
"When running the \"before\" command, if it fails for some reason, don't run "
"rsync and halt"
msgstr ""
#: ../grsync.glade.h:76
msgid "On rsync error only"
msgstr ""
#: ../grsync.glade.h:77
msgid ""
"Execute the \"after\" command only if syncronization had errors.\n"
"For example can be used to send an email only in the case there was "
"trouble.\n"
"Try a command like \"mail -s 'rsync error' you@domain.com\"."
msgstr ""
#: ../grsync.glade.h:80
msgid "Notes:"
msgstr ""
#: ../grsync.glade.h:81
#, fuzzy
msgid "Free text notes on the current session"
msgstr "Mevcut oturumu silmek için tıklayın"
#: ../grsync.glade.h:82
msgid "Run as superuser"
msgstr ""
#: ../grsync.glade.h:83
msgid ""
"Run rsync with superuser (root, administrator) privileges. Use this if you "
"need to access system files, for example when doing a full system backup."
msgstr ""
#: ../grsync.glade.h:84
msgid "Extra options"
msgstr "Ek seçenekler"
#: ../grsync.glade.h:85
msgid "Include these sessions:"
msgstr ""
#: ../grsync.glade.h:86
#, fuzzy
msgid "Set options"
msgstr "Ek seçenekler"
#: ../grsync.glade.h:87
msgid "Add session"
msgstr "Oturum ekle"
#: ../grsync.glade.h:88
msgid "Enter session name you want to create:"
msgstr "Yaratılmasını istediğiniz oturum ismini girin:"
#: ../grsync.glade.h:89
msgid "Enter the name of the new session to create"
msgstr "Yaratılacak yeni oturumun adını girin"
#: ../grsync.glade.h:90
#, fuzzy
msgid "Add as session set"
msgstr "Oturum ekle"
#: ../grsync.glade.h:91
msgid "Create a new session set instead of a normal session"
msgstr ""
#: ../grsync.glade.h:92
msgid "Grsync preferences"
msgstr "Grsync tercihleri"
#: ../grsync.glade.h:93
msgid "Show rsync output by default"
msgstr "Rsync çıktısını öntanımlı olarak göster"
#: ../grsync.glade.h:94
msgid ""
"Wether to show rsync output by default or hide it (show graphical "
"information only)"
msgstr ""
"Öntanımlı olarak rsync çıktısı gösterilsin mi saklansın mı (sadece grafik "
"bilgi göster)?"
#: ../grsync.glade.h:95
msgid "Remember last used session"
msgstr "Son kullanılan oturumu hatırla"
#: ../grsync.glade.h:96
msgid "Whether to load the last used session at startup or use the default one"
msgstr ""
"Başlangıçta son kullanılan oturum yüklensin mi yoksa öntanımlı olan mı "
"kullanılsın?"
#: ../grsync.glade.h:97
msgid "Show error list when finished"
msgstr "Tamamlanınca hata listesini göster"
#: ../grsync.glade.h:98
msgid ""
"When rsync has finished, show all the errors encountered in a separate window"
msgstr ""
"Rsync tamamlandığında, tüm karşılaşılan hataları ayrı bir pencerede göster"
#: ../grsync.glade.h:99
msgid "Enable logging"
msgstr "Kayıt tutulsun"
#: ../grsync.glade.h:100
msgid ""
"Whether to save rsync output to a log file, named like the session, which "
"will be located in the grsync directory (usually \".grsync\" into your user "
"home)"
msgstr ""
"Rsync çıktısı oturum gibi bir isimlendirme ile grsync dizinine kaydedilsin "
"mi (genellikle kullanıcı ev dizininde \".grsync\")"
#: ../grsync.glade.h:101
msgid "Enter the rsync command to use, eventually including its full path"
msgstr "Kullanılacak rsync komutunu tüm yoluyla beraber girin"
#: ../grsync.glade.h:102
msgid "Rsync executable:"
msgstr "Rsync çalıştırılabilir dosyası:"
#: ../grsync.glade.h:103
msgid "Fast rsync output scrolling"
msgstr ""
#: ../grsync.glade.h:104
msgid ""
"Select this if you want rsync output to scroll many lines at a time, in "
"order to be faster"
msgstr ""
#: ../grsync.glade.h:105
msgid "Enable switch button"
msgstr ""
#: ../grsync.glade.h:106
msgid ""
"Select this if you want an additional \"switch source with destination\" "
"button in the basic options tab"
msgstr ""
#: ../grsync.glade.h:107
msgid "Use tray icon"
msgstr ""
#: ../grsync.glade.h:108
msgid ""
"Check this box to show an icon of the application in the system tray instead "
"of the application bar (may not work on Unity environments, like Ubuntu >= "
"11.4)"
msgstr ""
#: ../grsync.glade.h:109
msgid "Overwrite logs"
msgstr ""
#: ../grsync.glade.h:110
msgid ""
"Whether to overwrite the logs when running a session. This will make you "
"save space, but you'll loose the logs of the previous runs"
msgstr ""
#: ../grsync.glade.h:111
msgid "Errors list"
msgstr "Hata listesi"
#: ../grsync.glade.h:112
msgid "Error list of last rsync run:"
msgstr "Son rsync çalışmasının hata listesi:"
#: ../grsync.glade.h:113
msgid "rsync"
msgstr "rsync"
#: ../grsync.glade.h:114
msgid "Idle"
msgstr "BoÅŸ duran"
#: ../grsync.glade.h:115
msgid "Transfer progress of current file"
msgstr "Şu anki dosyanın aktarım durumu"
#: ../grsync.glade.h:116
msgid "Global progress"
msgstr "Genel durum"
#: ../grsync.glade.h:117
msgid ""
"Global transfer progress: works only with rsync version 2.6.1 or newer, and "
"may report wrong values depending on the ability of rsync to estimate the "
"files to be copied in advance"
msgstr ""
"Genel aktarım durumu: sadece rsync 2.6.1 ya da daha yeni sürümlerinde "
"çalışır ve rsync'in kopyalanacak dosyaları önceden tahmin etme yeteneğine "
"bağlı olarak yanlış değerler verebilir"
#: ../grsync.glade.h:118
msgid "Rsync output:"
msgstr "Rsync çıktısı:"
#: ../grsync.glade.h:119
msgid "Click this button to show the error list"
msgstr ""
#: ../grsync.glade.h:120
msgid "Pause/resume rsync run"
msgstr "Rsync çalışmasını duraklat/sürdür"
#: ../grsync.glade.h:121
msgid "Stops rsync and closes the window"
msgstr "Rsync'i durdurur ve pencereyi kapatır"
#: ../grsync.glade.h:122
msgid "About trailing slashes"
msgstr ""
#: ../grsync.glade.h:123
msgid ""
"A trailing slash on the source directory avoids creating an additional "
"directory level at the destination.\n"
"You can think of a trailing / on a source as meaning \"copy the contents of "
"this directory\" as opposed to \"copy the directory itself and its contents"
"\".\n"
"\n"
"In other words, each of the following commands copies the files in the same "
"way:\n"
"\n"
"\t\t\t rsync -a /src/foo /dest\n"
"\t\t\t rsync -a /src/foo/ /dest/foo\n"
msgstr ""
#: ../src/main.c:58
#, c-format
msgid "Error: conflicting arguments\n"
msgstr ""
#: ../src/callbacks.c:138
#, c-format
msgid "(ERROR) Can't open config file! Maybe this is the first run?\n"
msgstr "(HATA) Ayar dosyası açılamıyor! Belki bu ilk çalıştırılması?\n"
#: ../src/callbacks.c:390 ../src/callbacks.c:1302
#, c-format
msgid "\tUnable to save settings!\n"
msgstr "\tAyarlar kaydedilemiyor!\n"
#: ../src/callbacks.c:484 ../src/callbacks.c:487 ../src/callbacks.c:514
#: ../src/callbacks.c:517 ../src/callbacks.c:1486 ../src/callbacks.c:1490
#: ../src/callbacks.c:1521 ../src/callbacks.c:1525
msgid "Browse"
msgstr "Göz at"
#: ../src/callbacks.c:553
#, c-format
msgid "%.f%% (%li:%02li elapsed, %li:%02li remaining)"
msgstr "%.f%% (%li:%02li geçti, %li:%02li kaldı)"
#: ../src/callbacks.c:705
msgid "Simulation in progress"
msgstr "Simülasyon devam ediyor"
#: ../src/callbacks.c:757 ../src/callbacks.c:762
msgid "The session you specified on the command line doesn't exists"
msgstr "Komut satırında belirttiğiniz oturum yok"
#: ../src/callbacks.c:776 ../src/callbacks.c:779
msgid ""
"Unable to execute the rsync command line tool. It is needed by this program. "
"You may need to install the rsync package or make it available in the "
"default executable search PATH. See file/preferences to change the default "
"rsync executable command."
msgstr ""
"Rsync komut satırı aracı çalıştırılamadı. Ona bu program tarafından ihtiyaç "
"duyulyor. Rsync paketini kurmanız ya da öntanımlı çalıştırılabilir program "
"arama yoluna (PATH) yerleştirmeniz gerekebilir. Öntanımlı rsync "
"çalıştırılabilir komutunu dosya/ayarlar bölümünden değiştirebilirsiniz."
#: ../src/callbacks.c:900
#, fuzzy
msgid "** Launching AFTER command:\n"
msgstr "*** Rsync SONRASI komutu çalıştırılıyor:\n"
#: ../src/callbacks.c:915
msgid "Completed with errors!"
msgstr "Hatalarla tamamlandı!"
#: ../src/callbacks.c:918
msgid ""
"Completed successfully!"
msgstr ""
"Başarıyla tamamlandı!"
#: ../src/callbacks.c:1051
msgid "Rsync process exit status: "
msgstr ""
#: ../src/callbacks.c:1113
#, fuzzy
msgid "** Launching BEFORE command:\n"
msgstr "*** Rsync ÖNCESİ komutu çalıştırılıyor:\n"
#: ../src/callbacks.c:1123
#, fuzzy
msgid "** Launching RSYNC command (simulation mode):\n"
msgstr "*** RSYNC komutu başlatılıyor (simülasyon kipi):\n"
#: ../src/callbacks.c:1124
#, fuzzy
msgid "** Launching RSYNC command:\n"
msgstr "*** RSYNC komutu başlatılıyor:\n"
#: ../src/callbacks.c:1168 ../src/callbacks.c:1172
msgid "Cannot execute rsync"
msgstr "Rsync'i çalıştıramadım"
#: ../src/callbacks.c:1218 ../src/callbacks.c:1223
msgid "This session name is reserved, you cannot call it like this"
msgstr "Bu oturum ismi ayrılmış durumda, oturuma bu ismi veremezsiniz"
#: ../src/callbacks.c:1234 ../src/callbacks.c:1239
msgid "A session named like this already exists"
msgstr "Aynı isimde bir oturum zaten bulunuyor"
#: ../src/callbacks.c:1268 ../src/callbacks.c:1273
msgid "You cannot delete the default session"
msgstr "Öntanımlı oturumu silemezsiniz"
#: ../src/callbacks.c:1281 ../src/callbacks.c:1284
#, c-format
msgid "Are you sure you want to delete the '%s' session?"
msgstr "'%s' oturumunu silmek istediÄŸinize emin misiniz?"
#: ../src/callbacks.c:1316
msgid "Application icons by Roberto Gadotti "
msgstr ""
#: ../src/callbacks.c:1321
msgid "Written by Piero Orsoni "
msgstr ""
#: ../src/callbacks.c:1322
msgid "Maemo compatibility by Luca Donaggio "
msgstr ""
#: ../src/callbacks.c:1323
msgid "Additional bug-fixing by Luca Marturana "
msgstr ""
#: ../src/callbacks.c:1325
msgid "Dutch translation by Frank de Bruijn "
msgstr ""
#: ../src/callbacks.c:1326
msgid "Simplified Chinese translation by Xie Yanbo "
msgstr ""
#: ../src/callbacks.c:1327
msgid "French translation by xavier "
msgstr ""
#: ../src/callbacks.c:1328
msgid "Swedish translation by Daniel Nylander "
msgstr ""
#: ../src/callbacks.c:1329
msgid "Turkish translation by Doruk Fisek "
msgstr ""
#: ../src/callbacks.c:1330
msgid "Russian translation by Evgenii Terechkov "
msgstr ""
#: ../src/callbacks.c:1331
msgid "German translation by Martin Lettner "
msgstr ""
#: ../src/callbacks.c:1332
msgid "Spanish translation by Ibon Castilla Varela "
msgstr ""
#: ../src/callbacks.c:1333
msgid "Czech translation by Martin Balajka "
msgstr ""
#: ../src/callbacks.c:1334
msgid "Galician translation by Daniel Espinheira "
msgstr ""
#: ../src/callbacks.c:1335
msgid "Catalan translation by Josep SÃ nchez "
msgstr ""
#: ../src/callbacks.c:1336
msgid ""
"Brazilian Portuguese translation by Fábio Nogueira "
msgstr ""
#: ../src/callbacks.c:1337
msgid "Indonesian translation by Waluyo Adi Siswanto "
msgstr ""
#: ../src/callbacks.c:1338
msgid "Croatian translation by Bojan Vondra "
msgstr ""
#: ../src/callbacks.c:1342
msgid "Synchronize files and folders (a GTK GUI for rsync)."
msgstr ""
#: ../src/callbacks.c:1343
#, fuzzy
msgid ""
"(C) Piero Orsoni and others. Released under the GPL.\n"
"See COPYING for details"
msgstr ""
"(C) Piero Orsoni ve diğerleri. GPL ile yayınlanmıştır.\n"
"Detaylar için AUTHORS ve COPYING dosyalarınız bakınız"
#: ../src/callbacks.c:1501 ../src/callbacks.c:1505
msgid "Session imported"
msgstr ""
#: ../src/callbacks.c:1537 ../src/callbacks.c:1541
msgid "Session exported"
msgstr ""
#~ msgid ""
#~ "Source and Destination (directories need a trailing \"/\")"
#~ msgstr ""
#~ "Kaynak ve varış (dizinlerin sonunda \"/\" bulunmalıdır)"
#~ msgid "A GTK GUI for rsync"
#~ msgstr "Rsync için bir GTK grafik arayüzü"
#~ msgid "Sessions"
#~ msgstr "Oturumlar"
#~ msgid "_Execute"
#~ msgstr "Yü_rüt"
#~ msgid "Couldn't find pixmap file: %s"
#~ msgstr "Pixmap dosyasını bulamadım: %s"
grsync-1.2.6/po/it_IT.po 0000664 0001750 0001750 00000060426 12636541074 011756 0000000 0000000 # ITALIAN translation of grsync.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the grsync package.
# FIRST AUTHOR , YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: 1.0.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-12-23 16:45+0100\n"
"PO-Revision-Date: 2010-07-01 16:39+0200\n"
"Last-Translator: Piero Orsoni \n"
"Language-Team: Italian \n"
"Language: it\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: ../grsync.glade.h:1
msgid "Grsync"
msgstr "Grsync"
#: ../grsync.glade.h:2
msgid "_File"
msgstr "_File"
#: ../grsync.glade.h:3
msgid "Browse S_ource"
msgstr "Sfoglia S_orgente"
#: ../grsync.glade.h:4
msgid "Browse _Destination"
msgstr "Sfoglia _Destinazione"
#: ../grsync.glade.h:5
msgid "Switch source with destination"
msgstr "Scambia sorgente e destinazione"
#: ../grsync.glade.h:6
msgid "_Simulation"
msgstr "_Simulazione"
#: ../grsync.glade.h:7
msgid "_Rsync command line"
msgstr "Linea di comando _Rsync"
#: ../grsync.glade.h:8
msgid "S_essions"
msgstr "Sessi_oni"
#: ../grsync.glade.h:9
msgid "_Import"
msgstr "_Importa"
#: ../grsync.glade.h:10
msgid "_Export"
msgstr "_Esporta"
#: ../grsync.glade.h:11
msgid "_Help"
msgstr "_Aiuto"
#: ../grsync.glade.h:12
msgid "_Rsync info"
msgstr "Info su _Rsync"
#: ../grsync.glade.h:13
msgid "_Contribute"
msgstr "_Contribuisci"
#: ../grsync.glade.h:14
msgid "Click to add a new session"
msgstr "Clicca per creare una nuova sessione"
#: ../grsync.glade.h:15
msgid "Click to delete the current session"
msgstr "Clicca per cancellare la sessione corrente"
#: ../grsync.glade.h:16
msgid ""
"Show what would have been done, but actually do nothing (\"dry-run\" in "
"rsync language)"
msgstr ""
"Mostra cosa farebbe, ma senza far nulla (\"dry-run\" in linguaggio rsync)"
#: ../grsync.glade.h:17
msgid "_Simulate"
msgstr "_Simula"
#: ../grsync.glade.h:18
msgid "Make a full run (go!)"
msgstr "Esecuzione completa (vai!)"
#: ../grsync.glade.h:19
msgid "Preserve group"
msgstr "Mantieni gruppo"
#: ../grsync.glade.h:20
msgid "Preserve time"
msgstr "Mantieni data"
#: ../grsync.glade.h:21
msgid "Preserve permissions"
msgstr "Mantieni permessi"
#: ../grsync.glade.h:22
msgid "Preserve owner"
msgstr "Mantieni utente"
#: ../grsync.glade.h:23
msgid "Do not leave filesystem"
msgstr "Non uscire dal filesystem"
#: ../grsync.glade.h:24
msgid "Do not cross filesystem boundaries"
msgstr "Non uscire dal filesystem"
#: ../grsync.glade.h:25
msgid "Delete on destination"
msgstr "Cancella nella destinazione"
#: ../grsync.glade.h:26
msgid "Delete files in destination which are not present in the source"
msgstr "Cancella i file nella destinazione che non ci sono nella sorgente"
#: ../grsync.glade.h:27
msgid "Verbose"
msgstr "Informazioni aggiuntive"
#: ../grsync.glade.h:28
msgid "Show more information"
msgstr "Mostra piu' informazioni"
#: ../grsync.glade.h:29
msgid "Show transfer progress"
msgstr "Mostra stato trasferimento"
#: ../grsync.glade.h:30
msgid "Ignore existing"
msgstr "Ignora esistenti"
#: ../grsync.glade.h:31
msgid "Ignore files which already exist in the destination"
msgstr "Ignora i file che esistono gia' nella destinazione"
#: ../grsync.glade.h:32
msgid "Size only"
msgstr "Solo dimensione"
#: ../grsync.glade.h:33
msgid "Check size only, ignore time and checksum"
msgstr "Confronta solo la dimensione, ignora la data e il checksum"
#: ../grsync.glade.h:34
msgid "Skip newer"
msgstr "Salta nuovi"
#: ../grsync.glade.h:35
msgid "Do not update newer files"
msgstr "Non aggiorna i file piu' nuovi sulla destinazione"
#: ../grsync.glade.h:36
msgid "Windows compatibility"
msgstr "Compatibilita' con windows"
#: ../grsync.glade.h:37
msgid "Provides workaround for a windows FAT filesystem limitation"
msgstr "Fornisce soluzione ad una limitazione del filesystem FAT di windows"
#: ../grsync.glade.h:38
msgid "Click to open the file browser"
msgstr "Clicca per aprire il file browser"
#: ../grsync.glade.h:39
msgid "Source directory"
msgstr "Directory sorgente"
#: ../grsync.glade.h:40
msgid "Destination directory"
msgstr "Directory destinazione"
#: ../grsync.glade.h:41
msgid "Click here to switch the source with the destination directory"
msgstr "Clicca per scambiare la sorgente con la destinazione"
#: ../grsync.glade.h:42
msgid "Source and Destination:"
msgstr "Sorgente e Destinazione:"
#: ../grsync.glade.h:43
msgid "Basic options"
msgstr "Opzioni di base"
#: ../grsync.glade.h:44
msgid "Always checksum"
msgstr "Checksum sempre"
#: ../grsync.glade.h:45
msgid "Always compare file contents (by checksum)"
msgstr "Confronta sempre il contenuto dei file (con checksum)"
#: ../grsync.glade.h:46
msgid "Preserve devices"
msgstr "Mantieni device"
#: ../grsync.glade.h:47
msgid "Only update existing files"
msgstr "Aggiorna solo file esistenti"
#: ../grsync.glade.h:48
msgid "Keep partially transferred files"
msgstr "Tieni file parzialmente trasferiti"
#: ../grsync.glade.h:49
msgid "Don't map uid/gid values"
msgstr "Non mappare valori uid/gid"
#: ../grsync.glade.h:50
msgid "Keep numeric uid/gid instead of mapping user names and group names"
msgstr ""
"Mantieni uid e gid numerici, non mappare i nomi degli utenti e dei gruppi"
#: ../grsync.glade.h:51
msgid "Additional options:"
msgstr "Opzioni avanzate:"
#: ../grsync.glade.h:52
msgid "Compress file data"
msgstr "Comprimi i dati"
#: ../grsync.glade.h:53
msgid ""
"Compress file data when transferring (useful only if at least one side is "
"remote)"
msgstr ""
"Comprimi i dati mentre trasferisci (utile solo se almeno una delle parti e' "
"remota)"
#: ../grsync.glade.h:54
msgid "Copy symlinks as symlinks"
msgstr "Copia symlink come tali"
#: ../grsync.glade.h:55
msgid "Symbolic links are copied as such, do not copy link target file"
msgstr ""
"I link simbolici vengono copiati come tali, non copiare il file puntato"
#: ../grsync.glade.h:56
msgid "Make backups"
msgstr "Fai copie di backup"
#: ../grsync.glade.h:57
msgid "Make backups of existing files on the destination"
msgstr "Fai copie di backup dei file gia' esistenti nella destinazione"
#: ../grsync.glade.h:58
msgid "Copy hardlinks as hardlinks"
msgstr "Copia gli hardlink come tali"
#: ../grsync.glade.h:59
msgid "Hard links are copied as such, do not copy link target file"
msgstr "Gli hard link vengono copiati come tali, non copiare il file puntato"
#: ../grsync.glade.h:60
msgid "Show itemized changes list"
msgstr "Mostra lista cambiamenti"
#: ../grsync.glade.h:61
msgid "Show additional information on every changed file"
msgstr "Mostra informazioni addizionali su tutti i file cambiati"
#: ../grsync.glade.h:62
msgid "Disable recursion"
msgstr "Disabilita ricorsione"
#: ../grsync.glade.h:63
msgid "If checked the subdirectories of the source folder will be ignored"
msgstr ""
"Se selezionato le sottocartelle della cartella sorgente saranno ignorate"
#: ../grsync.glade.h:64
msgid "Additional command line options to pass to the rsync program"
msgstr ""
"Opzioni addizionali da passare alla riga di comando del programma rsync"
#: ../grsync.glade.h:65
msgid "Protect remote args"
msgstr "Proteggi argomenti remoti"
#: ../grsync.glade.h:66
msgid ""
"Protect remote arguments from shell expansion, Avoids the need to manually "
"escape remote folders and other options which use file names like --exclude"
msgstr ""
"Proteggi gli argomenti remoti dall'espansione della shell: evita di dover "
"proteggere manualmente le cartelle remote ed altre opzioni che utilizzano "
"nomi di file come --exclude"
#: ../grsync.glade.h:67
msgid "Advanced options"
msgstr "Opzioni avanzate"
#: ../grsync.glade.h:68
msgid "Execute this command before rsync:"
msgstr "Esegui questo comando prima di rsync:"
#: ../grsync.glade.h:69
msgid ""
"Click on this item if you want to run a command before syncing. Can be "
"useful, for instance, to mount a filesystem before starting or to do some "
"cleanup."
msgstr ""
"Clicca per eseguire un comando prima di rsync. Puo' essere utile, per "
"esempio, per montare un'unita' prima di partire oppure fare della pulizia"
#: ../grsync.glade.h:70
msgid "Execute this command after rsync:"
msgstr "Esegui questo comando dopo di rsync:"
#: ../grsync.glade.h:71
msgid ""
"Click on this item if you want to run a command after syncing. Can be "
"useful, for instance, to unmount a filesystem at the end or to do some "
"cleanup."
msgstr ""
"Clicca per eseguire un comando dopo di rsync. Puo' essere utile, per "
"esempio, per montare un'unita' prima di partire oppure fare della pulizia"
#: ../grsync.glade.h:72
msgid "Browse files instead of folders"
msgstr "Scegli file anziche' cartelle"
#: ../grsync.glade.h:73
msgid ""
"By setting this switch, the browse source and destination buttons will open "
"a dialog for selecting files instead of folders"
msgstr ""
"Impostando questo parametro, i bottoni di scelta sorgente e destinazione "
"apriranno una finestra di scelta file anziche' cartelle"
#: ../grsync.glade.h:74
msgid "Halt on failure"
msgstr "Interrompi se fallisce"
#: ../grsync.glade.h:75
msgid ""
"When running the \"before\" command, if it fails for some reason, don't run "
"rsync and halt"
msgstr ""
"Quando viene lanciato il comando \"dopo\", se fallisce non lanciare la "
"sincronizzazione ed interrompi"
#: ../grsync.glade.h:76
msgid "On rsync error only"
msgstr "Solo in caso di errore rsync"
#: ../grsync.glade.h:77
msgid ""
"Execute the \"after\" command only if syncronization had errors.\n"
"For example can be used to send an email only in the case there was "
"trouble.\n"
"Try a command like \"mail -s 'rsync error' you@domain.com\"."
msgstr ""
"Esegui il comando \"dopo\" solo se la sincronizzazione ha avuto errori.\n"
"Per esempio si puo' usare per mandare una email quando ci sono stati "
"problemi.\n"
"Prova un comando come \"mail -s 'errore rsync' you@domain.com\"."
#: ../grsync.glade.h:80
msgid "Notes:"
msgstr "Note:"
#: ../grsync.glade.h:81
msgid "Free text notes on the current session"
msgstr "Note testuali libere per la sessione corrente"
#: ../grsync.glade.h:82
msgid "Run as superuser"
msgstr "Lancia come superutente"
#: ../grsync.glade.h:83
msgid ""
"Run rsync with superuser (root, administrator) privileges. Use this if you "
"need to access system files, for example when doing a full system backup."
msgstr ""
"Lancia rsync con permessi di superutente (root, amministratore). Usalo se "
"hai bisogno di accedere a file di sistema, per esempio nel caso di backup "
"dell'intero filesystem"
#: ../grsync.glade.h:84
msgid "Extra options"
msgstr "Opzioni extra"
#: ../grsync.glade.h:85
msgid "Include these sessions:"
msgstr "Includi queste sessioni:"
#: ../grsync.glade.h:86
msgid "Set options"
msgstr "Opzioni gruppo"
#: ../grsync.glade.h:87
msgid "Add session"
msgstr "Aggiungi sessione"
#: ../grsync.glade.h:88
msgid "Enter session name you want to create:"
msgstr "Inserisci il nome della nuova sessione da creare:"
#: ../grsync.glade.h:89
msgid "Enter the name of the new session to create"
msgstr "Inserisci il nome della nuova sessione da creare"
#: ../grsync.glade.h:90
msgid "Add as session set"
msgstr "Aggiungi gruppo sessioni"
#: ../grsync.glade.h:91
msgid "Create a new session set instead of a normal session"
msgstr "Crea un gruppo di sessioni invece di una sessione normale"
#: ../grsync.glade.h:92
msgid "Grsync preferences"
msgstr "Preferenze Grsync"
#: ../grsync.glade.h:93
msgid "Show rsync output by default"
msgstr "Mostra output rsync"
#: ../grsync.glade.h:94
msgid ""
"Wether to show rsync output by default or hide it (show graphical "
"information only)"
msgstr ""
"Indica se mostrare l'output di rsync o se nasconderlo (mostrando solo "
"informazioni grafiche)"
#: ../grsync.glade.h:95
msgid "Remember last used session"
msgstr "Ricorda l'ultima sessione usata"
#: ../grsync.glade.h:96
msgid "Whether to load the last used session at startup or use the default one"
msgstr ""
"Indica se caricare l'ultima sessione usata all'avvio o se usare quella di "
"default"
#: ../grsync.glade.h:97
msgid "Show error list when finished"
msgstr "Mostra lista errori alla fine"
#: ../grsync.glade.h:98
msgid ""
"When rsync has finished, show all the errors encountered in a separate window"
msgstr ""
"Quando rsync ha finito, mostra tutti gli errori incontrati in una finestra "
"separata"
#: ../grsync.glade.h:99
msgid "Enable logging"
msgstr "Abilita il log (file di registro)"
#: ../grsync.glade.h:100
msgid ""
"Whether to save rsync output to a log file, named like the session, which "
"will be located in the grsync directory (usually \".grsync\" into your user "
"home)"
msgstr ""
"Indica se registrare l'output di rsync in un file di log, con nome uguale "
"alla sessione. Questo file si trovera' nella cartella di grsync (di solito "
"\".grsync\" nella home dell'utente)"
#: ../grsync.glade.h:101
msgid "Enter the rsync command to use, eventually including its full path"
msgstr ""
"Inserisci il comando rsync da eseguire, eventualmente con percorso completo"
#: ../grsync.glade.h:102
msgid "Rsync executable:"
msgstr "Eseguibile rsync:"
#: ../grsync.glade.h:103
msgid "Fast rsync output scrolling"
msgstr "Scorrimento veloce testo di rsync"
#: ../grsync.glade.h:104
msgid ""
"Select this if you want rsync output to scroll many lines at a time, in "
"order to be faster"
msgstr ""
"Seleziona questa opzione se vuoi uno scorrimento veloce e multi linea di "
"rsync"
#: ../grsync.glade.h:105
msgid "Enable switch button"
msgstr "Abilita bottone scambia"
#: ../grsync.glade.h:106
msgid ""
"Select this if you want an additional \"switch source with destination\" "
"button in the basic options tab"
msgstr ""
"Seleziona se vuoi il tasto \"Scambia sorgente e destinazione\" nelle opzioni "
"di base"
#: ../grsync.glade.h:107
msgid "Use tray icon"
msgstr "Usa area di notifica"
#: ../grsync.glade.h:108
msgid ""
"Check this box to show an icon of the application in the system tray instead "
"of the application bar (may not work on Unity environments, like Ubuntu >= "
"11.4)"
msgstr ""
"Seleziona questa casella per mostrare un'icona del programma nell'area di "
"notifica invece che nella lista applicazioni (potrebbe non funzionare in "
"ambiente Unity, come Ubuntu >= 11.4)"
#: ../grsync.glade.h:109
msgid "Overwrite logs"
msgstr "Sovrascrivi i log"
#: ../grsync.glade.h:110
msgid ""
"Whether to overwrite the logs when running a session. This will make you "
"save space, but you'll loose the logs of the previous runs"
msgstr ""
"Attiva la sovrascrittura dei log (file di registro). Quando attivo, ogni "
"volta che si lancia una sessione, il relativo log viene riscritto, con il "
"vantaggio di risparmiare spazio su dico, ma perdendo il log delle sessioni "
"precedenti"
#: ../grsync.glade.h:111
msgid "Errors list"
msgstr "Lista errori"
#: ../grsync.glade.h:112
msgid "Error list of last rsync run:"
msgstr "Lista errori dell'ultima esecuzione:"
#: ../grsync.glade.h:113
msgid "rsync"
msgstr "rsync"
#: ../grsync.glade.h:114
msgid "Idle"
msgstr "Attesa"
#: ../grsync.glade.h:115
msgid "Transfer progress of current file"
msgstr "Stato trasferimento del file corrente"
#: ../grsync.glade.h:116
msgid "Global progress"
msgstr "Stato globale"
#: ../grsync.glade.h:117
msgid ""
"Global transfer progress: works only with rsync version 2.6.1 or newer, and "
"may report wrong values depending on the ability of rsync to estimate the "
"files to be copied in advance"
msgstr ""
"Stato globale del trasferimento: funziona solo con rsync versione 2.6.1 e "
"successivi, e puo' mostrare valori sbagliati a seconda della capacita' di "
"rsync di stimare i file da copiare in anticipo"
#: ../grsync.glade.h:118
msgid "Rsync output:"
msgstr "Risultato di rsync:"
#: ../grsync.glade.h:119
msgid "Click this button to show the error list"
msgstr "Clicca qui per vedere la lista degli errori"
#: ../grsync.glade.h:120
msgid "Pause/resume rsync run"
msgstr "Metti in pausa/riparti"
#: ../grsync.glade.h:121
msgid "Stops rsync and closes the window"
msgstr "Interrompe rsync e chiude la finestra"
#: ../grsync.glade.h:122
msgid "About trailing slashes"
msgstr "Circa le barre finali"
#: ../grsync.glade.h:123
msgid ""
"A trailing slash on the source directory avoids creating an additional "
"directory level at the destination.\n"
"You can think of a trailing / on a source as meaning \"copy the contents of "
"this directory\" as opposed to \"copy the directory itself and its contents"
"\".\n"
"\n"
"In other words, each of the following commands copies the files in the same "
"way:\n"
"\n"
"\t\t\t rsync -a /src/foo /dest\n"
"\t\t\t rsync -a /src/foo/ /dest/foo\n"
msgstr ""
"Una barra finale nella cartella sorgente evita di creare un livello "
"addizionale nella destinazione.\n"
"Puoi immaginare la barra finale sulla sorgente come \"copia il contenuto di "
"questa cartella\" al posto di \"copia la cartella stessa ed il suo contenuto"
"\"\n"
"\n"
"In altre parole, ognuno dei seguenti comandi copiano i file nella stessa "
"maniera:\n"
"\n"
"\t\t\t rsync -a /src/foo /dest\n"
"\t\t\t rsync -a /src/foo/ /dest/foo\n"
#: ../src/main.c:58
#, c-format
msgid "Error: conflicting arguments\n"
msgstr "Errore: parametri incompatibili\n"
#: ../src/callbacks.c:138
#, c-format
msgid "(ERROR) Can't open config file! Maybe this is the first run?\n"
msgstr ""
"(ERRORE) Impossibile aprire il file di configurazione! Forse e' la prima "
"esecuzione?\n"
#: ../src/callbacks.c:390 ../src/callbacks.c:1302
#, c-format
msgid "\tUnable to save settings!\n"
msgstr "\tImpossibile salvare le impostazioni!\n"
#: ../src/callbacks.c:484 ../src/callbacks.c:487 ../src/callbacks.c:514
#: ../src/callbacks.c:517 ../src/callbacks.c:1486 ../src/callbacks.c:1490
#: ../src/callbacks.c:1521 ../src/callbacks.c:1525
msgid "Browse"
msgstr "Sfoglia"
#: ../src/callbacks.c:553
#, c-format
msgid "%.f%% (%li:%02li elapsed, %li:%02li remaining)"
msgstr "%.f%% (%li:%02li passati, %li:%02li rimanenti)"
#: ../src/callbacks.c:705
msgid "Simulation in progress"
msgstr "Simulazione in corso"
#: ../src/callbacks.c:757 ../src/callbacks.c:762
msgid "The session you specified on the command line doesn't exists"
msgstr "La sessione che hai specificato da riga di comando non esiste"
#: ../src/callbacks.c:776 ../src/callbacks.c:779
msgid ""
"Unable to execute the rsync command line tool. It is needed by this program. "
"You may need to install the rsync package or make it available in the "
"default executable search PATH. See file/preferences to change the default "
"rsync executable command."
msgstr ""
"Non riesco ad eseguire il comando rsync. E' necessario per questo programma. "
"Potrebbe servire installare il pacchetto rsync o renderlo eseguibile nel "
"PATH (percorso) predefinito per i programmi. Vedi file/preferenze per "
"cambiare il comando rsync da usare"
#: ../src/callbacks.c:900
msgid "** Launching AFTER command:\n"
msgstr "** Avvio del comando PRIMA:\n"
#: ../src/callbacks.c:915
msgid "Completed with errors!"
msgstr "Completato con errori!"
#: ../src/callbacks.c:918
msgid ""
"Completed successfully!"
msgstr ""
"Completato con successo!"
"span>"
#: ../src/callbacks.c:1051
msgid "Rsync process exit status: "
msgstr "Stato di uscita del processo rsync: "
#: ../src/callbacks.c:1113
msgid "** Launching BEFORE command:\n"
msgstr "** Avvio del comando DOPO:\n"
#: ../src/callbacks.c:1123
msgid "** Launching RSYNC command (simulation mode):\n"
msgstr "** Avvio del comando RSYNC (modalita' simulazione):\n"
#: ../src/callbacks.c:1124
msgid "** Launching RSYNC command:\n"
msgstr "** Avvio del comando RSYNC:\n"
#: ../src/callbacks.c:1168 ../src/callbacks.c:1172
msgid "Cannot execute rsync"
msgstr "Impossibile eseguire rsync"
#: ../src/callbacks.c:1218 ../src/callbacks.c:1223
msgid "This session name is reserved, you cannot call it like this"
msgstr "Questo nome di sessione e' riservato, non lo si puo' usare"
#: ../src/callbacks.c:1234 ../src/callbacks.c:1239
msgid "A session named like this already exists"
msgstr "Esiste gia' una sessione con questo nome"
#: ../src/callbacks.c:1268 ../src/callbacks.c:1273
msgid "You cannot delete the default session"
msgstr "Non puoi cancellare la sessione di default"
#: ../src/callbacks.c:1281 ../src/callbacks.c:1284
#, c-format
msgid "Are you sure you want to delete the '%s' session?"
msgstr "Sei sicuro di voler cancellare la sessione '%s'?"
#: ../src/callbacks.c:1316
msgid "Application icons by Roberto Gadotti "
msgstr "Icona applicazione di Roberto Gadotti "
#: ../src/callbacks.c:1321
msgid "Written by Piero Orsoni "
msgstr "Scritto da Piero Orsoni "
#: ../src/callbacks.c:1322
msgid "Maemo compatibility by Luca Donaggio "
msgstr "Compatibilita' con Maemo di Luca Donaggio "
#: ../src/callbacks.c:1323
msgid "Additional bug-fixing by Luca Marturana "
msgstr ""
"Correzione errori aggiuntiva di Luca Marturana "
#: ../src/callbacks.c:1325
msgid "Dutch translation by Frank de Bruijn "
msgstr "Traduzione in Olandese di Frank de Bruijn "
#: ../src/callbacks.c:1326
msgid "Simplified Chinese translation by Xie Yanbo "
msgstr "Traduzione in Cinese semplificato di Xie Yanbo "
#: ../src/callbacks.c:1327
msgid "French translation by xavier "
msgstr "Traduzione in Francese di xavier "
#: ../src/callbacks.c:1328
msgid "Swedish translation by Daniel Nylander "
msgstr "Traduzione in Svedese di Daniel Nylander "
#: ../src/callbacks.c:1329
msgid "Turkish translation by Doruk Fisek "
msgstr "Traduzione in Turco di Doruk Fisek "
#: ../src/callbacks.c:1330
msgid "Russian translation by Evgenii Terechkov "
msgstr "Traduzione in Russo di Evgenii Terechkov "
#: ../src/callbacks.c:1331
msgid "German translation by Martin Lettner "
msgstr "Traduzione in Tedesco di Martin Lettner "
#: ../src/callbacks.c:1332
msgid "Spanish translation by Ibon Castilla Varela "
msgstr "Traduzione in Spagnolo di Ibon Castilla Varela "
#: ../src/callbacks.c:1333
msgid "Czech translation by Martin Balajka "
msgstr "Traduzione in Ceco di Martin Balajka "
#: ../src/callbacks.c:1334
msgid "Galician translation by Daniel Espinheira "
msgstr ""
"Traduzione in Galiziano di Daniel Espinheira "
#: ../src/callbacks.c:1335
msgid "Catalan translation by Josep SÃ nchez "
msgstr "Traduzione in Catalano di Josep SÃ nchez "
#: ../src/callbacks.c:1336
msgid ""
"Brazilian Portuguese translation by Fábio Nogueira "
msgstr ""
"Traduzione in Portoghese Brasiliano di Fábio Nogueira "
#: ../src/callbacks.c:1337
msgid "Indonesian translation by Waluyo Adi Siswanto "
msgstr "Traduzione in Indonesiano di Waluyo Adi Siswanto "
#: ../src/callbacks.c:1338
msgid "Croatian translation by Bojan Vondra "
msgstr "Traduzione in Croato di Bojan Vondra "
#: ../src/callbacks.c:1342
msgid "Synchronize files and folders (a GTK GUI for rsync)."
msgstr "Sincronizza file e cartelle (una GUI GTK di rsync)."
#: ../src/callbacks.c:1343
msgid ""
"(C) Piero Orsoni and others. Released under the GPL.\n"
"See COPYING for details"
msgstr ""
"(C) Piero Orsoni ed altri. Distribuito con GPL.\n"
"Leggi COPYING per dettagli"
#: ../src/callbacks.c:1501 ../src/callbacks.c:1505
msgid "Session imported"
msgstr "Sessione importata"
#: ../src/callbacks.c:1537 ../src/callbacks.c:1541
msgid "Session exported"
msgstr "Sessione esportata"
#~ msgid "rsync: running"
#~ msgstr "rsync: in funzione"
#~ msgid "rsync: stopped"
#~ msgstr "rsync: fermo"
#~ msgid "rsync: paused"
#~ msgstr "rsync: in pausa"
#~ msgid ""
#~ "Source and Destination (directories need a trailing \"/\")"
#~ msgstr ""
#~ "Sorgente e Destinazione (cartelle necessitano '/' finale)"
#~ msgid "Error: missing filename\n"
#~ msgstr "Errore: manca il nome file\n"
#~ msgid "A GTK GUI for rsync"
#~ msgstr "GUI GTK per rsync"
#~ msgid "Sessions"
#~ msgstr "Sessioni"
grsync-1.2.6/po/pt_BR.po 0000664 0001750 0001750 00000060413 12636540621 011745 0000000 0000000 # Portuguese translations for grsync
# Traduções em português para o pacote grsync.
# Copyright (C) 2010 THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# Fábio Nogueira , 2010.
#
msgid ""
msgstr ""
"Project-Id-Version: 0.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-12-23 16:45+0100\n"
"PO-Revision-Date: 2012-09-14 23:00-0300\n"
"Last-Translator: Fábio Nogueira \n"
"Language-Team: Brazilian Portuguese\n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
#: ../grsync.glade.h:1
msgid "Grsync"
msgstr "Grsync"
#: ../grsync.glade.h:2
msgid "_File"
msgstr "_Arquivo"
#: ../grsync.glade.h:3
msgid "Browse S_ource"
msgstr "Navegar na _Origem"
#: ../grsync.glade.h:4
msgid "Browse _Destination"
msgstr "Navegar no _Destino"
#: ../grsync.glade.h:5
#, fuzzy
msgid "Switch source with destination"
msgstr "Altenar origem com destino"
#: ../grsync.glade.h:6
msgid "_Simulation"
msgstr "_Simulação"
#: ../grsync.glade.h:7
msgid "_Rsync command line"
msgstr "_Linha de comando do Rsync"
#: ../grsync.glade.h:8
msgid "S_essions"
msgstr "S_essões"
#: ../grsync.glade.h:9
msgid "_Import"
msgstr "_Importar"
#: ../grsync.glade.h:10
msgid "_Export"
msgstr "_Exportar"
#: ../grsync.glade.h:11
msgid "_Help"
msgstr "A_juda"
#: ../grsync.glade.h:12
msgid "_Rsync info"
msgstr "_Informações sobre o Rsync"
#: ../grsync.glade.h:13
msgid "_Contribute"
msgstr "_Contribuir"
#: ../grsync.glade.h:14
msgid "Click to add a new session"
msgstr "Clique para adicionar uma nova sessão"
#: ../grsync.glade.h:15
msgid "Click to delete the current session"
msgstr "Clique para apagar a sessão atual"
#: ../grsync.glade.h:16
msgid ""
"Show what would have been done, but actually do nothing (\"dry-run\" in "
"rsync language)"
msgstr ""
"Mostrar o que teria finalizado, mas não execute nada (\"dry-run\" no idioma "
"do rsync)"
#: ../grsync.glade.h:17
msgid "_Simulate"
msgstr "S_imular"
#: ../grsync.glade.h:18
msgid "Make a full run (go!)"
msgstr "Faça uma execução completa (Vai!)"
#: ../grsync.glade.h:19
msgid "Preserve group"
msgstr "Preservar grupo"
#: ../grsync.glade.h:20
msgid "Preserve time"
msgstr "Preservar tempo"
#: ../grsync.glade.h:21
msgid "Preserve permissions"
msgstr "Preservar permissões"
#: ../grsync.glade.h:22
msgid "Preserve owner"
msgstr "Preservar dono"
#: ../grsync.glade.h:23
msgid "Do not leave filesystem"
msgstr "Não deixar o sistema de arquivos"
#: ../grsync.glade.h:24
msgid "Do not cross filesystem boundaries"
msgstr "Não cruza os limites do sistema de arquivos"
#: ../grsync.glade.h:25
msgid "Delete on destination"
msgstr "Apagar no destino"
#: ../grsync.glade.h:26
msgid "Delete files in destination which are not present in the source"
msgstr "Apaga arquivos no destino inexistentes na origem"
#: ../grsync.glade.h:27
msgid "Verbose"
msgstr "Modo detalhado"
#: ../grsync.glade.h:28
msgid "Show more information"
msgstr "Mostra maiores informações"
#: ../grsync.glade.h:29
msgid "Show transfer progress"
msgstr "Mostrar progresso da transferência"
#: ../grsync.glade.h:30
msgid "Ignore existing"
msgstr "Ignorar arquivos existentes"
#: ../grsync.glade.h:31
msgid "Ignore files which already exist in the destination"
msgstr "Ignora os arquivos que já existem no destino"
#: ../grsync.glade.h:32
msgid "Size only"
msgstr "Somente por tamanho"
#: ../grsync.glade.h:33
msgid "Check size only, ignore time and checksum"
msgstr "Verifica somente o tamanho, ignora tempo e checksum"
#: ../grsync.glade.h:34
msgid "Skip newer"
msgstr "Saltar os arquivos novos"
#: ../grsync.glade.h:35
msgid "Do not update newer files"
msgstr "Não atualiza os arquivos novos"
#: ../grsync.glade.h:36
msgid "Windows compatibility"
msgstr "Compatibilidade com o Windows"
#: ../grsync.glade.h:37
msgid "Provides workaround for a windows FAT filesystem limitation"
msgstr ""
"Fornece uma solução alternativa para a limitação do sistema de arquivos FAT "
"do Windows"
#: ../grsync.glade.h:38
msgid "Click to open the file browser"
msgstr "Clique para abrir o navegador de arquivos"
#: ../grsync.glade.h:39
msgid "Source directory"
msgstr "Diretório de origem"
#: ../grsync.glade.h:40
msgid "Destination directory"
msgstr "Diretório de destino"
#: ../grsync.glade.h:41
msgid "Click here to switch the source with the destination directory"
msgstr "Clique aqui para alternar o diretório de origem com o de destino"
#: ../grsync.glade.h:42
msgid "Source and Destination:"
msgstr "Origem e Destino"
#: ../grsync.glade.h:43
msgid "Basic options"
msgstr "Opções básicas"
#: ../grsync.glade.h:44
msgid "Always checksum"
msgstr "Comparar checksum"
#: ../grsync.glade.h:45
msgid "Always compare file contents (by checksum)"
msgstr "Sempre compara o conteúdo dos arquivos (Através do checksum)"
#: ../grsync.glade.h:46
msgid "Preserve devices"
msgstr "Preservar dispositivos"
#: ../grsync.glade.h:47
msgid "Only update existing files"
msgstr "Atualizar somente os arquivos existentes"
#: ../grsync.glade.h:48
msgid "Keep partially transferred files"
msgstr "Manter parcialmente os arquivos transferidos"
#: ../grsync.glade.h:49
msgid "Don't map uid/gid values"
msgstr "Não mapear valores uid/gid"
#: ../grsync.glade.h:50
msgid "Keep numeric uid/gid instead of mapping user names and group names"
msgstr ""
"Mantenha o uid / gid numérico ao invés do mapeamento de nomes de usuário e "
"de grupo"
#: ../grsync.glade.h:51
msgid "Additional options:"
msgstr "Opções adicionais:"
#: ../grsync.glade.h:52
msgid "Compress file data"
msgstr "Compactar os dados do arquivo"
#: ../grsync.glade.h:53
msgid ""
"Compress file data when transferring (useful only if at least one side is "
"remote)"
msgstr ""
"Compactar os dados do arquivo durante a transferência (Útil somente nas "
"conexões remotas)"
#: ../grsync.glade.h:54
msgid "Copy symlinks as symlinks"
msgstr "Copiar atalhos como atalhos"
#: ../grsync.glade.h:55
msgid "Symbolic links are copied as such, do not copy link target file"
msgstr "Os atalhos são copiados como tal, não se copia o alvo do arquivo"
#: ../grsync.glade.h:56
msgid "Make backups"
msgstr "Realizar cópias de segurança"
#: ../grsync.glade.h:57
msgid "Make backups of existing files on the destination"
msgstr "Realiza cópias de segurança dos arquivos existentes no destino"
#: ../grsync.glade.h:58
msgid "Copy hardlinks as hardlinks"
msgstr "Copiar hardlinks como hardlinks"
#: ../grsync.glade.h:59
msgid "Hard links are copied as such, do not copy link target file"
msgstr "Hard links são copiados como tal, não se copia o arquivo alvo"
#: ../grsync.glade.h:60
msgid "Show itemized changes list"
msgstr "Mostrar a lista de alterações de forma discriminada"
#: ../grsync.glade.h:61
msgid "Show additional information on every changed file"
msgstr "Mostra informações adicionais a cada arquivo alterado"
#: ../grsync.glade.h:62
msgid "Disable recursion"
msgstr "Desabilitar recursão"
#: ../grsync.glade.h:63
msgid "If checked the subdirectories of the source folder will be ignored"
msgstr "Se marcado, os sub-diretórios da pasta de origem serão ignorados"
#: ../grsync.glade.h:64
msgid "Additional command line options to pass to the rsync program"
msgstr "Opções adicionais de linha de comando para passar para o rsync"
#: ../grsync.glade.h:65
msgid "Protect remote args"
msgstr "Proteger os argumentos remotos"
#: ../grsync.glade.h:66
msgid ""
"Protect remote arguments from shell expansion, Avoids the need to manually "
"escape remote folders and other options which use file names like --exclude"
msgstr ""
"Protege os argumentos remotos da expansão shell. Evita a necessidade de "
"descartar manualmente as pastas remotas e outras opções que usam nomes de "
"arquivos como --exclude"
#: ../grsync.glade.h:67
msgid "Advanced options"
msgstr "Opções avançadas"
#: ../grsync.glade.h:68
msgid "Execute this command before rsync:"
msgstr "Executar este comando antes do rsync:"
#: ../grsync.glade.h:69
msgid ""
"Click on this item if you want to run a command before syncing. Can be "
"useful, for instance, to mount a filesystem before starting or to do some "
"cleanup."
msgstr ""
"Clique neste item se você deseja executar um comando antes da sincronização. "
"Pode ser útil, por exemplo, para montar um sistema de arquivos antes do "
"rsync ou para fazer alguma limpeza."
#: ../grsync.glade.h:70
msgid "Execute this command after rsync:"
msgstr "Executar este comando depois do rsync:"
#: ../grsync.glade.h:71
msgid ""
"Click on this item if you want to run a command after syncing. Can be "
"useful, for instance, to unmount a filesystem at the end or to do some "
"cleanup."
msgstr ""
"Clique neste item se você deseja executar um comando depois da "
"sincronização. Pode ser útil, por exemplo, para desmontar um sistema de "
"arquivos no final ou para fazer alguma limpeza."
#: ../grsync.glade.h:72
msgid "Browse files instead of folders"
msgstr "Navegar por arquivos ao invés de pastas"
#: ../grsync.glade.h:73
msgid ""
"By setting this switch, the browse source and destination buttons will open "
"a dialog for selecting files instead of folders"
msgstr ""
"Ativando esta opção, os botões de origem e destino irão abrir uma caixa de "
"diálogo para seleção de arquivos ao invés de pastas"
#: ../grsync.glade.h:74
msgid "Halt on failure"
msgstr "Parar em caso de falha"
#: ../grsync.glade.h:75
msgid ""
"When running the \"before\" command, if it fails for some reason, don't run "
"rsync and halt"
msgstr ""
"Ao executar o comando \"anterior\" ao rsync, se houver falha por algum "
"motivo, não será executado o rsync e o programa será parado"
#: ../grsync.glade.h:76
msgid "On rsync error only"
msgstr "Apenas no caso de erro do rsync"
#: ../grsync.glade.h:77
msgid ""
"Execute the \"after\" command only if syncronization had errors.\n"
"For example can be used to send an email only in the case there was "
"trouble.\n"
"Try a command like \"mail -s 'rsync error' you@domain.com\"."
msgstr ""
"Execute o comando \"posterior\" ao rsync somente se a sincronização "
"apresentar erros.\n"
"Por exemplo: Pode ser utilizado para enviar um e-mail somente em caso de "
"problemas.\n"
"Tente o comando como o \"mail -s 'erro do rsync' seu@dominio.com\"."
#: ../grsync.glade.h:80
msgid "Notes:"
msgstr "Notas:"
#: ../grsync.glade.h:81
msgid "Free text notes on the current session"
msgstr "Notas em texto livre na atual sessão"
#: ../grsync.glade.h:82
msgid "Run as superuser"
msgstr "Executar como super-usuário"
#: ../grsync.glade.h:83
msgid ""
"Run rsync with superuser (root, administrator) privileges. Use this if you "
"need to access system files, for example when doing a full system backup."
msgstr ""
"Executar o rsync como privilégios de super-usuário (root, administrador). "
"Utilize isto se você precisar acessar os arquivos do sistema, ou seja, "
"executar uma cópia de todo o sistema."
#: ../grsync.glade.h:84
msgid "Extra options"
msgstr "Opções extras"
#: ../grsync.glade.h:85
msgid "Include these sessions:"
msgstr "Incluir estas sessões:"
#: ../grsync.glade.h:86
msgid "Set options"
msgstr "Opções de configuração"
#: ../grsync.glade.h:87
msgid "Add session"
msgstr "Adicionar sessão"
#: ../grsync.glade.h:88
msgid "Enter session name you want to create:"
msgstr "Digite o nome da sessão que você quer criar:"
#: ../grsync.glade.h:89
msgid "Enter the name of the new session to create"
msgstr "Digite o nome da nova sessão a ser criada"
#: ../grsync.glade.h:90
msgid "Add as session set"
msgstr "Adicionar como configuração de sessão"
#: ../grsync.glade.h:91
msgid "Create a new session set instead of a normal session"
msgstr "Criar uma nova configuração de sessão ao invés de uma sessão normal"
#: ../grsync.glade.h:92
msgid "Grsync preferences"
msgstr "Preferências do Grsync"
#: ../grsync.glade.h:93
msgid "Show rsync output by default"
msgstr "Mostrar saÃda rsync por padrão"
#: ../grsync.glade.h:94
msgid ""
"Wether to show rsync output by default or hide it (show graphical "
"information only)"
msgstr ""
"Mostra ou esconde por padrão a saÃda do rsync (mostra somente as informações "
"gráficas)"
#: ../grsync.glade.h:95
msgid "Remember last used session"
msgstr "Lembrar última sessão utilizada"
#: ../grsync.glade.h:96
msgid "Whether to load the last used session at startup or use the default one"
msgstr ""
"Seja para carregar a última sessão usada na inicialização ou usar uma padrão"
#: ../grsync.glade.h:97
msgid "Show error list when finished"
msgstr "Mostrar lista de erros quando finalizado"
#: ../grsync.glade.h:98
msgid ""
"When rsync has finished, show all the errors encountered in a separate window"
msgstr ""
"Quando o rsync finalizar, todos os erros encontrados serão exibidos numa "
"janela separada"
#: ../grsync.glade.h:99
msgid "Enable logging"
msgstr "Ativar log"
#: ../grsync.glade.h:100
msgid ""
"Whether to save rsync output to a log file, named like the session, which "
"will be located in the grsync directory (usually \".grsync\" into your user "
"home)"
msgstr ""
"Para salvar a saÃda do rsync para um arquivo de log, com o nome da sessão, "
"que será localizado no diretório do grsync (usualmente no \".grsync\" dentro "
"do home do seu usuário)"
#: ../grsync.glade.h:101
msgid "Enter the rsync command to use, eventually including its full path"
msgstr ""
"Digite o comando rsync a ser utilizado, incluindo eventualmente seu caminho "
"completo"
#: ../grsync.glade.h:102
msgid "Rsync executable:"
msgstr "Executável do rsync"
#: ../grsync.glade.h:103
msgid "Fast rsync output scrolling"
msgstr "Rolagem rápida da saÃda do rsync"
#: ../grsync.glade.h:104
msgid ""
"Select this if you want rsync output to scroll many lines at a time, in "
"order to be faster"
msgstr ""
"Selecione esta opção se quiser que a saÃda rsync role muitas linhas ao mesmo "
"tempo, em ordem para ser mais rápido"
#: ../grsync.glade.h:105
msgid "Enable switch button"
msgstr "Habilitar botão de alternar"
#: ../grsync.glade.h:106
msgid ""
"Select this if you want an additional \"switch source with destination\" "
"button in the basic options tab"
msgstr ""
"Selecione esta opção se você quiser um botão \"alternar origem com destino\" "
"adicional na aba de opções básicas"
#: ../grsync.glade.h:107
msgid "Use tray icon"
msgstr "Usar Ãcone da bandeja"
#: ../grsync.glade.h:108
msgid ""
"Check this box to show an icon of the application in the system tray instead "
"of the application bar (may not work on Unity environments, like Ubuntu >= "
"11.4)"
msgstr ""
"Marque esta caixa para mostrar um Ãcone do aplicativo na bandeja do sistema "
"ao invés da barra de aplicativos (pode não funcionar em ambientes Unity, "
"como Ubuntu >= 11.4)"
#: ../grsync.glade.h:109
msgid "Overwrite logs"
msgstr ""
#: ../grsync.glade.h:110
msgid ""
"Whether to overwrite the logs when running a session. This will make you "
"save space, but you'll loose the logs of the previous runs"
msgstr ""
#: ../grsync.glade.h:111
msgid "Errors list"
msgstr "Lista de erros"
#: ../grsync.glade.h:112
msgid "Error list of last rsync run:"
msgstr "Lista de erros da última execução do rsync:"
#: ../grsync.glade.h:113
msgid "rsync"
msgstr "rsync"
#: ../grsync.glade.h:114
msgid "Idle"
msgstr "Inativo"
#: ../grsync.glade.h:115
msgid "Transfer progress of current file"
msgstr "Progresso de transferência do arquivo atual"
#: ../grsync.glade.h:116
msgid "Global progress"
msgstr "Progresso global"
#: ../grsync.glade.h:117
msgid ""
"Global transfer progress: works only with rsync version 2.6.1 or newer, and "
"may report wrong values depending on the ability of rsync to estimate the "
"files to be copied in advance"
msgstr ""
"Progresso da transferência global: trabalha somente com a versão 2.6.1 ou "
"mais atual do rsync, assim poderá ser informado valores errados, dependendo "
"da capacidade do rsync para estimar com antecedência os arquivos a serem "
"copiados"
#: ../grsync.glade.h:118
msgid "Rsync output:"
msgstr "SaÃda Rsync:"
#: ../grsync.glade.h:119
msgid "Click this button to show the error list"
msgstr "Clique neste botão para exibir a lista de erros"
#: ../grsync.glade.h:120
msgid "Pause/resume rsync run"
msgstr "Pausar/retomar execução do rsync"
#: ../grsync.glade.h:121
msgid "Stops rsync and closes the window"
msgstr "Pare o rsync e feche a janela"
#: ../grsync.glade.h:122
msgid "About trailing slashes"
msgstr "Sobre as barras finais"
#: ../grsync.glade.h:123
msgid ""
"A trailing slash on the source directory avoids creating an additional "
"directory level at the destination.\n"
"You can think of a trailing / on a source as meaning \"copy the contents of "
"this directory\" as opposed to \"copy the directory itself and its contents"
"\".\n"
"\n"
"In other words, each of the following commands copies the files in the same "
"way:\n"
"\n"
"\t\t\t rsync -a /src/foo /dest\n"
"\t\t\t rsync -a /src/foo/ /dest/foo\n"
msgstr ""
"Uma barra no final do diretório de origem evita a criação de um nÃvel de "
"diretório adicional ao destino.\n"
"Você pode pensar em uma / final na origem no sentido de “copiar o "
"conteúdo deste diretório” ao contrário de “copiar o próprio "
"diretório e seu conteúdo”.\n"
"\n"
"Em outras palavras, cada um dos seguintes comandos copia os arquivos do "
"mesmo jeito:\n"
"\n"
" rsync -a /src/foo /destino\n"
" rsync -a /src/foo/ /destino/foo\n"
#: ../src/main.c:58
#, c-format
msgid "Error: conflicting arguments\n"
msgstr "Erro: argumentos conflitantes\n"
#: ../src/callbacks.c:138
#, c-format
msgid "(ERROR) Can't open config file! Maybe this is the first run?\n"
msgstr ""
"(ERRO) Não foi possÃvel abrir o arquivo de configuração! Esta é a primeira "
"execução?\n"
#: ../src/callbacks.c:390 ../src/callbacks.c:1302
#, c-format
msgid "\tUnable to save settings!\n"
msgstr "\tNão é possÃvel salvar as configurações!\n"
#: ../src/callbacks.c:484 ../src/callbacks.c:487 ../src/callbacks.c:514
#: ../src/callbacks.c:517 ../src/callbacks.c:1486 ../src/callbacks.c:1490
#: ../src/callbacks.c:1521 ../src/callbacks.c:1525
msgid "Browse"
msgstr "Navegar"
#: ../src/callbacks.c:553
#, c-format
msgid "%.f%% (%li:%02li elapsed, %li:%02li remaining)"
msgstr "%.f%% (%li:%02li decorrido, %li:%02li restante)"
#: ../src/callbacks.c:705
msgid "Simulation in progress"
msgstr "Simulação em progresso"
#: ../src/callbacks.c:757 ../src/callbacks.c:762
msgid "The session you specified on the command line doesn't exists"
msgstr "A sessão especificada na linha de comando não existe"
#: ../src/callbacks.c:776 ../src/callbacks.c:779
msgid ""
"Unable to execute the rsync command line tool. It is needed by this program. "
"You may need to install the rsync package or make it available in the "
"default executable search PATH. See file/preferences to change the default "
"rsync executable command."
msgstr ""
"Não foi possÃvel executar a ferramenta de linha de comando do rsync. Isso é "
"necessário para este programa. Provavelmente você terá que instalar o pacote "
"rsync ou disponibilizá-lo através do CAMINHO padrão de pesquisa do "
"executável. Vá em Arquivo/Preferências para alterar o comando executável "
"padrão do rsync. "
#: ../src/callbacks.c:900
msgid "** Launching AFTER command:\n"
msgstr "** Carregando o comando POSTERIOR:\n"
#: ../src/callbacks.c:915
msgid "Completed with errors!"
msgstr ""
"Operação completada com erros!"
"span>"
#: ../src/callbacks.c:918
msgid ""
"Completed successfully!"
msgstr ""
"Operação completada com "
"sucesso!"
#: ../src/callbacks.c:1051
msgid "Rsync process exit status: "
msgstr "Rsync status de saÃda de processo:"
#: ../src/callbacks.c:1113
msgid "** Launching BEFORE command:\n"
msgstr "** Carregando o comando ANTERIOR:\n"
#: ../src/callbacks.c:1123
msgid "** Launching RSYNC command (simulation mode):\n"
msgstr "** Carregando o comando RSYNC (modo simulação):\n"
#: ../src/callbacks.c:1124
msgid "** Launching RSYNC command:\n"
msgstr "** Carregando o comando RSYNC:\n"
#: ../src/callbacks.c:1168 ../src/callbacks.c:1172
msgid "Cannot execute rsync"
msgstr "Não é possÃvel executar o rsync"
#: ../src/callbacks.c:1218 ../src/callbacks.c:1223
msgid "This session name is reserved, you cannot call it like this"
msgstr "Você não pode chamar a sessão por este nome pois o mesmo é reservado"
#: ../src/callbacks.c:1234 ../src/callbacks.c:1239
msgid "A session named like this already exists"
msgstr "Já existe uma sessão com este nome"
#: ../src/callbacks.c:1268 ../src/callbacks.c:1273
msgid "You cannot delete the default session"
msgstr "Você não pode deletar a sessão padrão"
#: ../src/callbacks.c:1281 ../src/callbacks.c:1284
#, c-format
msgid "Are you sure you want to delete the '%s' session?"
msgstr "Você tem certeza que deseja apagar a sessão '%s'?"
#: ../src/callbacks.c:1316
msgid "Application icons by Roberto Gadotti "
msgstr "Ãcone por Roberto Gadotti "
#: ../src/callbacks.c:1321
msgid "Written by Piero Orsoni "
msgstr "Escrito por Piero Orsoni "
#: ../src/callbacks.c:1322
msgid "Maemo compatibility by Luca Donaggio "
msgstr "Compatibilidade com o Maema por Luca Donaggio "
#: ../src/callbacks.c:1323
msgid "Additional bug-fixing by Luca Marturana "
msgstr ""
"Correção adicional de erros por Luca Marturana "
#: ../src/callbacks.c:1325
msgid "Dutch translation by Frank de Bruijn "
msgstr "Tradução holandesa por Frank de Bruijn "
#: ../src/callbacks.c:1326
msgid "Simplified Chinese translation by Xie Yanbo "
msgstr "Tradução chinesa por Xie Yanbo "
#: ../src/callbacks.c:1327
msgid "French translation by xavier "
msgstr "Tradução francesa por Xavier "
#: ../src/callbacks.c:1328
msgid "Swedish translation by Daniel Nylander "
msgstr "Tradução sueca por Daniel Nylander "
#: ../src/callbacks.c:1329
msgid "Turkish translation by Doruk Fisek "
msgstr "Tradução turca por Doruk Fisek "
#: ../src/callbacks.c:1330
msgid "Russian translation by Evgenii Terechkov "
msgstr "Tradução russa por Evgenii Terechkov "
#: ../src/callbacks.c:1331
msgid "German translation by Martin Lettner "
msgstr "Tradução alemã por Martin Lettner "
#: ../src/callbacks.c:1332
msgid "Spanish translation by Ibon Castilla Varela "
msgstr "Tradução espanhola por Ibon Castilla Varela "
#: ../src/callbacks.c:1333
msgid "Czech translation by Martin Balajka "
msgstr "Tradução checa por Martin Balajka "
#: ../src/callbacks.c:1334
msgid "Galician translation by Daniel Espinheira "
msgstr "Tradução galega por Daniel Espinheira "
#: ../src/callbacks.c:1335
msgid "Catalan translation by Josep SÃ nchez "
msgstr "Tradução catalã por Josep Sà nchez "
#: ../src/callbacks.c:1336
msgid ""
"Brazilian Portuguese translation by Fábio Nogueira "
msgstr ""
"Tradução Português do Brasil por Fábio Nogueira "
#: ../src/callbacks.c:1337
msgid "Indonesian translation by Waluyo Adi Siswanto "
msgstr "Tradução indonésia por Waluyo Adi Siswanto "
#: ../src/callbacks.c:1338
msgid "Croatian translation by Bojan Vondra "
msgstr ""
#: ../src/callbacks.c:1342
msgid "Synchronize files and folders (a GTK GUI for rsync)."
msgstr "Sincronizar arquivos e pastas (Um GTK GUI para o rsync)"
#: ../src/callbacks.c:1343
msgid ""
"(C) Piero Orsoni and others. Released under the GPL.\n"
"See COPYING for details"
msgstr ""
"(C) Piero Orsoni e outros. Lançado sobre a GPL.\n"
"Veja COPYING para maiores detalhes"
#: ../src/callbacks.c:1501 ../src/callbacks.c:1505
msgid "Session imported"
msgstr "Sessão importada"
#: ../src/callbacks.c:1537 ../src/callbacks.c:1541
msgid "Session exported"
msgstr "Sessão exportada"
grsync-1.2.6/po/zh_CN.po 0000664 0001750 0001750 00000055535 12636540620 011750 0000000 0000000 # SIMPLIFIED CHINESE translation of grsync.
# Copyright (C) 2006 THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the grsync package.
# Xie Yanbo , 2006.
#
msgid ""
msgstr ""
"Project-Id-Version: 0.2\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-12-23 16:45+0100\n"
"PO-Revision-Date: 2015-12-10 17:49+0800\n"
"Last-Translator: Tommy He \n"
"Language-Team: Simplified Chinese \n"
"Language: zh_CN\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 1.8.5\n"
#: ../grsync.glade.h:1
msgid "Grsync"
msgstr "Grsync"
#: ../grsync.glade.h:2
msgid "_File"
msgstr "文件(_F)"
#: ../grsync.glade.h:3
msgid "Browse S_ource"
msgstr "æµè§ˆæ¥æº(_O)"
#: ../grsync.glade.h:4
msgid "Browse _Destination"
msgstr "æµè§ˆç›®æ ‡(_D)"
#: ../grsync.glade.h:5
msgid "Switch source with destination"
msgstr "äº¤æ¢æ¥æºåŠç›®æ ‡"
#: ../grsync.glade.h:6
msgid "_Simulation"
msgstr "模拟(_S)"
#: ../grsync.glade.h:7
msgid "_Rsync command line"
msgstr "Rsync 命令行(_R)"
#: ../grsync.glade.h:8
msgid "S_essions"
msgstr "会è¯(_E)"
#: ../grsync.glade.h:9
msgid "_Import"
msgstr "导入(_I)"
#: ../grsync.glade.h:10
msgid "_Export"
msgstr "导出(_E)"
#: ../grsync.glade.h:11
msgid "_Help"
msgstr "帮助(_H)"
#: ../grsync.glade.h:12
msgid "_Rsync info"
msgstr "Rsync ä¿¡æ¯(_R)"
#: ../grsync.glade.h:13
msgid "_Contribute"
msgstr "贡献(_C)"
#: ../grsync.glade.h:14
msgid "Click to add a new session"
msgstr "ç‚¹å‡»æ¤æ·»åŠ ä¸€ä¸ªæ–°ä¼šè¯"
#: ../grsync.glade.h:15
msgid "Click to delete the current session"
msgstr "点击æ¤åˆ 除当å‰ä¼šè¯"
#: ../grsync.glade.h:16
msgid ""
"Show what would have been done, but actually do nothing (\"dry-run\" in "
"rsync language)"
msgstr "æ˜¾ç¤ºå°†è¦æ‰§è¡Œçš„æ“ä½œï¼Œä½†å¹¶ä¸çœŸæ£æ‰§è¡Œï¼ˆå¯¹ rsync æ¥è¯´å³æ˜¯â€œé¢„æ¼”â€ï¼‰"
#: ../grsync.glade.h:17
msgid "_Simulate"
msgstr "模拟(_S)"
#: ../grsync.glade.h:18
msgid "Make a full run (go!)"
msgstr "开始完全è¿è¡Œï¼ˆçœŸæ£æ‰§è¡Œï¼ï¼‰"
#: ../grsync.glade.h:19
msgid "Preserve group"
msgstr "ä¿ç•™å±žç»„"
#: ../grsync.glade.h:20
msgid "Preserve time"
msgstr "ä¿ç•™æ—¶é—´"
#: ../grsync.glade.h:21
msgid "Preserve permissions"
msgstr "ä¿ç•™æƒé™"
#: ../grsync.glade.h:22
msgid "Preserve owner"
msgstr "ä¿ç•™å±žä¸»"
#: ../grsync.glade.h:23
msgid "Do not leave filesystem"
msgstr "ä¸ç¦»å¼€å½“剿–‡ä»¶ç³»ç»Ÿ"
#: ../grsync.glade.h:24
msgid "Do not cross filesystem boundaries"
msgstr "ä¸è¶…越文件系统边界"
#: ../grsync.glade.h:25
msgid "Delete on destination"
msgstr "åˆ é™¤ç›®æ ‡å¤„æ–‡ä»¶"
#: ../grsync.glade.h:26
msgid "Delete files in destination which are not present in the source"
msgstr "åˆ é™¤ç›®æ ‡å¤„ä¸å˜åœ¨äºŽæ¥æºçš„æ–‡ä»¶"
#: ../grsync.glade.h:27
msgid "Verbose"
msgstr "详细信æ¯"
#: ../grsync.glade.h:28
msgid "Show more information"
msgstr "显示更多信æ¯"
#: ../grsync.glade.h:29
msgid "Show transfer progress"
msgstr "æ˜¾ç¤ºä¼ è¾“è¿›åº¦"
#: ../grsync.glade.h:30
msgid "Ignore existing"
msgstr "忽略已å˜åœ¨æ–‡ä»¶"
#: ../grsync.glade.h:31
msgid "Ignore files which already exist in the destination"
msgstr "忽略已ç»å˜åœ¨äºŽç›®æ ‡å¤„的文件"
#: ../grsync.glade.h:32
msgid "Size only"
msgstr "åªæ¯”较尺寸"
#: ../grsync.glade.h:33
msgid "Check size only, ignore time and checksum"
msgstr "åªæ¯”è¾ƒå°ºå¯¸ï¼Œå¿½ç•¥æ—¶é—´åŠæ ¡éªŒå’Œ"
#: ../grsync.glade.h:34
msgid "Skip newer"
msgstr "跳过较新的文件"
#: ../grsync.glade.h:35
msgid "Do not update newer files"
msgstr "䏿›´æ–°è¾ƒæ–°çš„æ–‡ä»¶"
#: ../grsync.glade.h:36
msgid "Windows compatibility"
msgstr "与 Windows 兼容"
#: ../grsync.glade.h:37
msgid "Provides workaround for a windows FAT filesystem limitation"
msgstr "æä¾›ç»•过 windows FAT 文件系统é™åˆ¶çš„临时方案"
#: ../grsync.glade.h:38
msgid "Click to open the file browser"
msgstr "点击以打开文件æµè§ˆå™¨"
#: ../grsync.glade.h:39
msgid "Source directory"
msgstr "æ¥æºç›®å½•"
#: ../grsync.glade.h:40
msgid "Destination directory"
msgstr "ç›®æ ‡ç›®å½•"
#: ../grsync.glade.h:41
msgid "Click here to switch the source with the destination directory"
msgstr "点击æ¤äº¤æ¢æ¥æºåŠç›®æ ‡ç›®å½•"
#: ../grsync.glade.h:42
msgid "Source and Destination:"
msgstr "æ¥æºåŠç›®æ ‡ï¼š"
#: ../grsync.glade.h:43
msgid "Basic options"
msgstr "常用选项"
#: ../grsync.glade.h:44
msgid "Always checksum"
msgstr "æ€»æ˜¯æ£€æŸ¥æ ¡éªŒç "
#: ../grsync.glade.h:45
msgid "Always compare file contents (by checksum)"
msgstr "æ€»æ˜¯æ¯”è¾ƒæ–‡ä»¶å†…å®¹ï¼ˆé€šè¿‡æ ¡éªŒå’Œï¼‰"
#: ../grsync.glade.h:46
msgid "Preserve devices"
msgstr "ä¿ç•™è®¾å¤‡ä¿¡æ¯"
#: ../grsync.glade.h:47
msgid "Only update existing files"
msgstr "åªæ›´æ–°å·²å˜åœ¨çš„æ–‡ä»¶"
#: ../grsync.glade.h:48
msgid "Keep partially transferred files"
msgstr "ä¿ç•™æœªä¼ 输完æˆçš„æ–‡ä»¶"
#: ../grsync.glade.h:49
msgid "Don't map uid/gid values"
msgstr "使用uidå’Œgid的数å—而éžåç§°"
#: ../grsync.glade.h:50
msgid "Keep numeric uid/gid instead of mapping user names and group names"
msgstr "ä¿ç•™æ•°å—化的 UID/GID è€Œä¸æ˜ 射用户å和组å"
#: ../grsync.glade.h:51
msgid "Additional options:"
msgstr "é¢å¤–选项:"
#: ../grsync.glade.h:52
msgid "Compress file data"
msgstr "ä¼ è¾“æ—¶åŽ‹ç¼©æ–‡ä»¶æ•°æ®"
#: ../grsync.glade.h:53
msgid ""
"Compress file data when transferring (useful only if at least one side is "
"remote)"
msgstr "ä¼ è¾“æ—¶åŽ‹ç¼©æ–‡ä»¶æ•°æ®ï¼ˆä»…对于至少一方为远程主机时有用)"
#: ../grsync.glade.h:54
msgid "Copy symlinks as symlinks"
msgstr "å¤åˆ¶ç¬¦å·é“¾æŽ¥"
#: ../grsync.glade.h:55
msgid "Symbolic links are copied as such, do not copy link target file"
msgstr "åŽŸæ ·å¤åˆ¶ç¬¦å·è¿žæŽ¥ï¼Œå¹¶ä¸å¤åˆ¶è¿žæŽ¥æŒ‡å‘的文件"
#: ../grsync.glade.h:56
msgid "Make backups"
msgstr "ä¿å˜å¤‡ä»½æ–‡ä»¶"
#: ../grsync.glade.h:57
msgid "Make backups of existing files on the destination"
msgstr "ä¸ºç›®æ ‡å¤„å·²å˜åœ¨çš„æ–‡ä»¶åˆ›å»ºå¤‡ä»½"
#: ../grsync.glade.h:58
msgid "Copy hardlinks as hardlinks"
msgstr "å¤åˆ¶ç¡¬è¿žæŽ¥"
#: ../grsync.glade.h:59
msgid "Hard links are copied as such, do not copy link target file"
msgstr "åŽŸæ ·å¤åˆ¶ç¡¬è¿žæŽ¥ï¼Œå¹¶ä¸å¤åˆ¶è¿žæŽ¥æŒ‡å‘的文件"
#: ../grsync.glade.h:60
msgid "Show itemized changes list"
msgstr "分列显示å˜åŒ–列表"
#: ../grsync.glade.h:61
msgid "Show additional information on every changed file"
msgstr "为æ¯ä¸ªæ”¹å˜çš„æ–‡ä»¶æ˜¾ç¤ºé¢å¤–ä¿¡æ¯"
#: ../grsync.glade.h:62
msgid "Disable recursion"
msgstr "ç¦ç”¨é€’å½’"
#: ../grsync.glade.h:63
msgid "If checked the subdirectories of the source folder will be ignored"
msgstr "è‹¥é€‰æ‹©åˆ™å¿½ç•¥æ¥æºæ–‡ä»¶å¤¹ä¸çš„å目录"
#: ../grsync.glade.h:64
msgid "Additional command line options to pass to the rsync program"
msgstr "需è¦ä¼ 递给 rsync 程åºçš„é¢å¤–命令行选项"
#: ../grsync.glade.h:65
msgid "Protect remote args"
msgstr "ä¿æŠ¤è¿œç¨‹ä¸»æœºå‚æ•°"
#: ../grsync.glade.h:66
msgid ""
"Protect remote arguments from shell expansion, Avoids the need to manually "
"escape remote folders and other options which use file names like --exclude"
msgstr ""
"ä¿æŠ¤è¿œç¨‹ä¸»æœºå‚æ•°ä¸å— Shell 扩展,é¿å…在如 --exclude ç‰éœ€è¦æ–‡ä»¶åçš„å‚æ•°ä¸éœ€è¦"
"手动转义远程目录å"
#: ../grsync.glade.h:67
msgid "Advanced options"
msgstr "高级选项"
#: ../grsync.glade.h:68
msgid "Execute this command before rsync:"
msgstr "在 rsync è¿è¡Œå‰æ‰§è¡Œä»¥ä¸‹å‘½ä»¤ï¼š"
#: ../grsync.glade.h:69
msgid ""
"Click on this item if you want to run a command before syncing. Can be "
"useful, for instance, to mount a filesystem before starting or to do some "
"cleanup."
msgstr ""
"勾选æ¤é¡¹å¦‚果您想è¦åœ¨åŒæ¥å‰æ‰§è¡Œä¸€äº›å‘½ä»¤ã€‚æŸäº›åœºæ™¯ä¸‹ä¼šå¾ˆæœ‰ç”¨ï¼Œæ¯”å¦‚åœ¨å¼€å§‹å‰æŒ‚è½½"
"文件系统或者åšä¸€äº›æ¸…ç†ã€‚"
#: ../grsync.glade.h:70
msgid "Execute this command after rsync:"
msgstr "在 rsync è¿è¡ŒåŽæ‰§è¡Œä»¥ä¸‹å‘½ä»¤ï¼š"
#: ../grsync.glade.h:71
msgid ""
"Click on this item if you want to run a command after syncing. Can be "
"useful, for instance, to unmount a filesystem at the end or to do some "
"cleanup."
msgstr ""
"勾选æ¤é¡¹å¦‚果您想è¦åœ¨åŒæ¥åŽæ‰§è¡Œä¸€äº›å‘½ä»¤ã€‚æŸäº›åœºæ™¯ä¸‹ä¼šå¾ˆæœ‰ç”¨ï¼Œæ¯”如在结æŸåŽå¸è½½"
"文件系统或者åšä¸€äº›æ¸…ç†ã€‚"
#: ../grsync.glade.h:72
msgid "Browse files instead of folders"
msgstr "æµè§ˆæ–‡ä»¶è€Œä¸æ˜¯æ–‡ä»¶å¤¹"
#: ../grsync.glade.h:73
msgid ""
"By setting this switch, the browse source and destination buttons will open "
"a dialog for selecting files instead of folders"
msgstr "通过设定æ¤å¼€å…³ï¼Œæµè§ˆæ¥æºå’Œç›®æ ‡æŒ‰é’®å°†æ‰“å¼€ä¸€ä¸ªå¯¹è¯æ¡†ä¾›é€‰æ‹©æ–‡ä»¶è€Œéžæ–‡ä»¶å¤¹"
#: ../grsync.glade.h:74
msgid "Halt on failure"
msgstr "é‡åˆ°é”™è¯¯æ—¶åœæ¢"
#: ../grsync.glade.h:75
msgid ""
"When running the \"before\" command, if it fails for some reason, don't run "
"rsync and halt"
msgstr "å¦‚æžœåœ¨æ‰§è¡Œâ€œå‰æâ€å‘½ä»¤æ—¶ç”±äºŽæŸç§åŽŸå› å¤±è´¥ï¼Œä¸å†è¿è¡Œ rsync å¹¶åœæ¢"
#: ../grsync.glade.h:76
msgid "On rsync error only"
msgstr "仅当é‡åˆ° rsync 错误时"
#: ../grsync.glade.h:77
msgid ""
"Execute the \"after\" command only if syncronization had errors.\n"
"For example can be used to send an email only in the case there was "
"trouble.\n"
"Try a command like \"mail -s 'rsync error' you@domain.com\"."
msgstr ""
"ä»…å½“åŒæ¥é”™è¯¯æ—¶æ‰§è¡Œâ€œåŽç»â€å‘½ä»¤ã€‚\n"
"比如仅在é‡åˆ°é—®é¢˜æ—¶å‘é€ç”µå邮件。\n"
"类似的命令如“mail -s 'rsync error' you@domain.comâ€ã€‚"
#: ../grsync.glade.h:80
msgid "Notes:"
msgstr "注解:"
#: ../grsync.glade.h:81
msgid "Free text notes on the current session"
msgstr "对于当å‰ä¼šè¯çš„ä»»æ„æ³¨è§£"
#: ../grsync.glade.h:82
msgid "Run as superuser"
msgstr "以超级用户è¿è¡Œ"
#: ../grsync.glade.h:83
msgid ""
"Run rsync with superuser (root, administrator) privileges. Use this if you "
"need to access system files, for example when doing a full system backup."
msgstr ""
"以 rsync æƒé™ï¼ˆæ ¹ç”¨æˆ·ï¼Œç®¡ç†å‘˜ï¼‰è¿è¡Œã€‚若您需è¦è®¿é—®ç³»ç»Ÿæ–‡ä»¶æ—¶ä½¿ç”¨æ¤é€‰é¡¹ï¼Œæ¯”如使"
"用完整系统备份时。"
#: ../grsync.glade.h:84
msgid "Extra options"
msgstr "é¢å¤–选项"
#: ../grsync.glade.h:85
msgid "Include these sessions:"
msgstr "包å«è¿™äº›ä¼šè¯ï¼š"
#: ../grsync.glade.h:86
msgid "Set options"
msgstr "组选项"
#: ../grsync.glade.h:87
msgid "Add session"
msgstr "æ·»åŠ ä¼šè¯ï¼š"
#: ../grsync.glade.h:88
msgid "Enter session name you want to create:"
msgstr "输入您想è¦åˆ›å»ºçš„会è¯å称:"
#: ../grsync.glade.h:89
msgid "Enter the name of the new session to create"
msgstr "输入您想è¦åˆ›å»ºçš„会è¯åç§°"
#: ../grsync.glade.h:90
msgid "Add as session set"
msgstr "æ·»åŠ ä¸ºä¼šè¯è®¾å®šç»„"
#: ../grsync.glade.h:91
msgid "Create a new session set instead of a normal session"
msgstr "创建一个新的会è¯ç»„è€Œä¸æ˜¯æ™®é€šä¼šè¯"
#: ../grsync.glade.h:92
msgid "Grsync preferences"
msgstr "Grsync 首选项"
#: ../grsync.glade.h:93
msgid "Show rsync output by default"
msgstr "默认显示 rsync 输出"
#: ../grsync.glade.h:94
msgid ""
"Wether to show rsync output by default or hide it (show graphical "
"information only)"
msgstr "是å¦é»˜è®¤æ˜¾ç¤º rsync 输出或者éšè—它(仅显示图形化的信æ¯ï¼‰"
#: ../grsync.glade.h:95
msgid "Remember last used session"
msgstr "è®°ä½ä¸Šæ¬¡ä½¿ç”¨è¿‡çš„会è¯"
#: ../grsync.glade.h:96
msgid "Whether to load the last used session at startup or use the default one"
msgstr "是å¦è½½å…¥ä¸Šæ¬¡ä½¿ç”¨è¿‡çš„ä¼šè¯æˆ–者使用默认会è¯"
#: ../grsync.glade.h:97
msgid "Show error list when finished"
msgstr "完æˆåŽæ˜¾ç¤ºé”™è¯¯åˆ—表"
#: ../grsync.glade.h:98
msgid ""
"When rsync has finished, show all the errors encountered in a separate window"
msgstr "当 rsync 完æˆåŽï¼Œåœ¨å¦å¤–çš„çª—å£æ˜¾ç¤ºé‡åˆ°çš„æ‰€æœ‰é”™è¯¯"
#: ../grsync.glade.h:99
msgid "Enable logging"
msgstr "å¯ç”¨æ—¥å¿—"
#: ../grsync.glade.h:100
msgid ""
"Whether to save rsync output to a log file, named like the session, which "
"will be located in the grsync directory (usually \".grsync\" into your user "
"home)"
msgstr ""
"是å¦ä¿å˜ rsync 输出为日至文件,以会è¯å称命åä¿å˜åœ¨ grsync 目录(通常是您用户"
"目录下的“.grsyncâ€ï¼‰"
#: ../grsync.glade.h:101
msgid "Enter the rsync command to use, eventually including its full path"
msgstr "输入è¦ä½¿ç”¨çš„ rsync 命令,需è¦åŒ…å«å®Œæ•´è·¯å¾„"
#: ../grsync.glade.h:102
msgid "Rsync executable:"
msgstr "Rsync 坿‰§è¡Œæ–‡ä»¶ï¼š"
#: ../grsync.glade.h:103
msgid "Fast rsync output scrolling"
msgstr "å¿«é€Ÿæ»šå± rsync 输出"
#: ../grsync.glade.h:104
msgid ""
"Select this if you want rsync output to scroll many lines at a time, in "
"order to be faster"
msgstr "勾选æ¤å¦‚æžœæ‚¨æƒ³è¦ rsync 输出一次滚动多行,从而å˜å¾—æ›´å¿«"
#: ../grsync.glade.h:105
msgid "Enable switch button"
msgstr "å¯ç”¨åˆ‡æ¢æŒ‰é’®"
#: ../grsync.glade.h:106
msgid ""
"Select this if you want an additional \"switch source with destination\" "
"button in the basic options tab"
msgstr "勾选æ¤å¦‚果您想è¦åœ¨å¸¸ç”¨é€‰é¡¹æ ‡ç¾é¡µæ‹¥æœ‰â€œåˆ‡æ¢æ¥æºåŠç›®æ ‡â€æŒ‰é’®"
#: ../grsync.glade.h:107
msgid "Use tray icon"
msgstr "ä½¿ç”¨æ‰˜ç›˜å›¾æ ‡"
#: ../grsync.glade.h:108
msgid ""
"Check this box to show an icon of the application in the system tray instead "
"of the application bar (may not work on Unity environments, like Ubuntu >= "
"11.4)"
msgstr ""
"勾选æ¤å°†åœ¨ç³»ç»Ÿæ‰˜ç›˜æ˜¾ç¤ºåº”ç”¨å›¾æ ‡ï¼Œè€Œä¸æ˜¯åº”ç”¨ç¨‹åºæ (å¯èƒ½ä¸é€‚用于 Ubuntu 11.4 以"
"上版本的 Unity 环境)"
#: ../grsync.glade.h:109
msgid "Overwrite logs"
msgstr ""
#: ../grsync.glade.h:110
msgid ""
"Whether to overwrite the logs when running a session. This will make you "
"save space, but you'll loose the logs of the previous runs"
msgstr ""
#: ../grsync.glade.h:111
msgid "Errors list"
msgstr "错误列表"
#: ../grsync.glade.h:112
msgid "Error list of last rsync run:"
msgstr "上次è¿è¡Œ rsync 的错误列表:"
#: ../grsync.glade.h:113
msgid "rsync"
msgstr "rsync"
#: ../grsync.glade.h:114
msgid "Idle"
msgstr "空闲"
#: ../grsync.glade.h:115
msgid "Transfer progress of current file"
msgstr "当剿–‡ä»¶çš„ä¼ è¾“è¿›åº¦"
#: ../grsync.glade.h:116
msgid "Global progress"
msgstr "整体进度"
#: ../grsync.glade.h:117
msgid ""
"Global transfer progress: works only with rsync version 2.6.1 or newer, and "
"may report wrong values depending on the ability of rsync to estimate the "
"files to be copied in advance"
msgstr ""
"æ•´ä½“ä¼ è¾“è¿›åº¦ï¼šä»…é€‚ç”¨äºŽ rsync 2.6.1 åŠä»¥ä¸Šç‰ˆæœ¬ï¼Œå–决于 rsync å…ˆå‰é¢„估的文件的"
"能力该汇报值å¯èƒ½ä¸å‡†ç¡®"
#: ../grsync.glade.h:118
msgid "Rsync output:"
msgstr "Rsync 输出:"
#: ../grsync.glade.h:119
msgid "Click this button to show the error list"
msgstr "ç‚¹å‡»æ¤æŒ‰é’®æ˜¾ç¤ºé”™è¯¯åˆ—表"
#: ../grsync.glade.h:120
msgid "Pause/resume rsync run"
msgstr "æš‚åœ/æ¢å¤ rsync è¿è¡Œ"
#: ../grsync.glade.h:121
msgid "Stops rsync and closes the window"
msgstr "åœæ¢ rsync 并关闿¤çª—å£"
#: ../grsync.glade.h:122
msgid "About trailing slashes"
msgstr "关于åŽç¼€çš„æ–œæ "
#: ../grsync.glade.h:123
msgid ""
"A trailing slash on the source directory avoids creating an additional "
"directory level at the destination.\n"
"You can think of a trailing / on a source as meaning \"copy the contents of "
"this directory\" as opposed to \"copy the directory itself and its contents"
"\".\n"
"\n"
"In other words, each of the following commands copies the files in the same "
"way:\n"
"\n"
"\t\t\t rsync -a /src/foo /dest\n"
"\t\t\t rsync -a /src/foo/ /dest/foo\n"
msgstr ""
"åœ¨æ¥æºç›®å½•åŽçš„åŽç¼€æ–œæ å¯ä»¥é¿å…åœ¨ç›®æ ‡å¤„åˆ›å»ºå¤šä½™çš„ç›®å½•ç»“æž„ã€‚\n"
"您å¯ä»¥è®¤ä¸ºä¸€ä¸ªåŽç¼€çš„ / 代表“å¤åˆ¶è¯¥ç›®å½•的内容â€è€Œä¸æ˜¯â€œå¤åˆ¶è¯¥ç›®å½•本身åŠå…¶å†…"
"容â€ã€‚\n"
"\n"
"æ¢ä¸ªè§’度æ¥è¯´ï¼Œä»¥ä¸‹çš„命令以相åŒçš„æ–¹å¼å¤åˆ¶æ–‡ä»¶ï¼š\n"
"\n"
"\t\t\t rsync -a /src/foo /dest\n"
"\t\t\t rsync -a /src/foo/ /dest/foo\n"
#: ../src/main.c:58
#, c-format
msgid "Error: conflicting arguments\n"
msgstr "é”™è¯¯ï¼šå‚æ•°å†²çª\n"
#: ../src/callbacks.c:138
#, c-format
msgid "(ERROR) Can't open config file! Maybe this is the first run?\n"
msgstr "(错误) ä¸èƒ½æ‰“å¼€é…置文件ï¼è¿™æ˜¯é¦–次è¿è¡Œæœ¬ç¨‹åºå—?\n"
#: ../src/callbacks.c:390 ../src/callbacks.c:1302
#, c-format
msgid "\tUnable to save settings!\n"
msgstr "\tæ— æ³•ä¿å˜è®¾ç½®ï¼\n"
#: ../src/callbacks.c:484 ../src/callbacks.c:487 ../src/callbacks.c:514
#: ../src/callbacks.c:517 ../src/callbacks.c:1486 ../src/callbacks.c:1490
#: ../src/callbacks.c:1521 ../src/callbacks.c:1525
msgid "Browse"
msgstr "æµè§ˆ"
#: ../src/callbacks.c:553
#, c-format
msgid "%.f%% (%li:%02li elapsed, %li:%02li remaining)"
msgstr "%.f%% (已用 %li:%02li ,剩余 %li:%02li )"
#: ../src/callbacks.c:705
msgid "Simulation in progress"
msgstr "模拟进行ä¸"
#: ../src/callbacks.c:757 ../src/callbacks.c:762
msgid "The session you specified on the command line doesn't exists"
msgstr "您在命令行指定的会è¯å¹¶ä¸å˜åœ¨"
#: ../src/callbacks.c:776 ../src/callbacks.c:779
msgid ""
"Unable to execute the rsync command line tool. It is needed by this program. "
"You may need to install the rsync package or make it available in the "
"default executable search PATH. See file/preferences to change the default "
"rsync executable command."
msgstr ""
"æ— æ³•è¿è¡Œ rsync 命令行工具。您需è¦å®‰è£… rsync è½¯ä»¶åŒ…ï¼Œå¹¶ç¡®è®¤å®ƒçš„å¯æ‰§è¡Œç¨‹åºä½äºŽ"
"默认查询路径 PATH ä¸ã€‚查看文件/首选项æ¥ä¿®æ”¹é»˜è®¤çš„ rsync 坿‰§è¡Œå‘½ä»¤ã€‚"
#: ../src/callbacks.c:900
msgid "** Launching AFTER command:\n"
msgstr "** å¯åЍåŽç»å‘½ä»¤ï¼š\n"
#: ../src/callbacks.c:915
msgid "Completed with errors!"
msgstr "结æŸä½†å‘生错误ï¼"
#: ../src/callbacks.c:918
msgid ""
"Completed successfully!"
msgstr "æˆåŠŸç»“æŸï¼"
#: ../src/callbacks.c:1051
msgid "Rsync process exit status: "
msgstr "Rsync 进程退出状æ€ï¼š "
#: ../src/callbacks.c:1113
msgid "** Launching BEFORE command:\n"
msgstr "** å¯åŠ¨å‰æå‘½ä»¤ï¼š\n"
#: ../src/callbacks.c:1123
msgid "** Launching RSYNC command (simulation mode):\n"
msgstr "** å¯åЍ RSYNC 命令(模拟模å¼ï¼‰ï¼š\n"
#: ../src/callbacks.c:1124
msgid "** Launching RSYNC command:\n"
msgstr "** å¯åЍ RSYNC 命令:\n"
#: ../src/callbacks.c:1168 ../src/callbacks.c:1172
msgid "Cannot execute rsync"
msgstr "æ— æ³•æ‰§è¡Œ rsync"
#: ../src/callbacks.c:1218 ../src/callbacks.c:1223
msgid "This session name is reserved, you cannot call it like this"
msgstr "该会è¯å为ä¿ç•™åï¼Œæ‚¨æ— æ³•ä»¥æ¤å调用"
#: ../src/callbacks.c:1234 ../src/callbacks.c:1239
msgid "A session named like this already exists"
msgstr "一个相åŒå‘½å的会è¯å·²å˜åœ¨"
#: ../src/callbacks.c:1268 ../src/callbacks.c:1273
msgid "You cannot delete the default session"
msgstr "您ä¸èƒ½åˆ 除默认会è¯"
#: ../src/callbacks.c:1281 ../src/callbacks.c:1284
#, c-format
msgid "Are you sure you want to delete the '%s' session?"
msgstr "您确认è¦åˆ 除会è¯â€œ%sâ€å—?"
#: ../src/callbacks.c:1316
msgid "Application icons by Roberto Gadotti "
msgstr "åº”ç”¨å›¾æ ‡ Roberto Gadotti "
#: ../src/callbacks.c:1321
msgid "Written by Piero Orsoni "
msgstr "作者 Piero Orsoni "
#: ../src/callbacks.c:1322
msgid "Maemo compatibility by Luca Donaggio "
msgstr "完善 Maemo 兼容性 Luca Donaggio "
#: ../src/callbacks.c:1323
msgid "Additional bug-fixing by Luca Marturana "
msgstr "é¢å¤–çš„é”™è¯¯ä¿®å¤ Luca Marturana "
#: ../src/callbacks.c:1325
msgid "Dutch translation by Frank de Bruijn "
msgstr "è·å…°è¯ Frank de Bruijn "
#: ../src/callbacks.c:1326
msgid "Simplified Chinese translation by Xie Yanbo "
msgstr ""
"ç®€ä½“ä¸æ–‡ Xie Yanbo ,Tommy He "
#: ../src/callbacks.c:1327
msgid "French translation by xavier "
msgstr "æ³•è¯ xavier "
#: ../src/callbacks.c:1328
msgid "Swedish translation by Daniel Nylander "
msgstr "ç‘žå…¸è¯ Daniel Nylander "
#: ../src/callbacks.c:1329
msgid "Turkish translation by Doruk Fisek "
msgstr "åœŸè€³å…¶è¯ Doruk Fisek "
#: ../src/callbacks.c:1330
msgid "Russian translation by Evgenii Terechkov "
msgstr "ä¿„è¯ Evgenii Terechkov "
#: ../src/callbacks.c:1331
msgid "German translation by Martin Lettner "
msgstr "å¾·è¯ Martin Lettner "
#: ../src/callbacks.c:1332
msgid "Spanish translation by Ibon Castilla Varela "
msgstr "西ç牙 Ibon Castilla Varela "
#: ../src/callbacks.c:1333
msgid "Czech translation by Martin Balajka "
msgstr "æ·å…‹è¯ Martin Balajka "
#: ../src/callbacks.c:1334
msgid "Galician translation by Daniel Espinheira "
msgstr "åŠ åˆ©è¥¿äºšè¯ Daniel Espinheira "
#: ../src/callbacks.c:1335
msgid "Catalan translation by Josep SÃ nchez "
msgstr "åŠ æ³°ç½—å°¼äºšè¯ Josep Sà nchez "
#: ../src/callbacks.c:1336
msgid ""
"Brazilian Portuguese translation by Fábio Nogueira "
msgstr "巴西葡è„ç‰™è¯ Fábio Nogueira "
#: ../src/callbacks.c:1337
msgid "Indonesian translation by Waluyo Adi Siswanto "
msgstr "å°åº¦å°¼è¥¿äºšè¯ Waluyo Adi Siswanto "
#: ../src/callbacks.c:1338
msgid "Croatian translation by Bojan Vondra "
msgstr "å…‹ç½—åœ°äºšè¯ Bojan Vondra "
#: ../src/callbacks.c:1342
msgid "Synchronize files and folders (a GTK GUI for rsync)."
msgstr "åŒæ¥æ–‡ä»¶åŠæ–‡ä»¶å¤¹ï¼ˆä¸€ä¸ª rsync çš„ GTK 图形å‰ç«¯ï¼‰ã€‚"
#: ../src/callbacks.c:1343
msgid ""
"(C) Piero Orsoni and others. Released under the GPL.\n"
"See COPYING for details"
msgstr ""
"(C) Piero Orsoni and others. 基于 GPL 许å¯è¯å‘布。\n"
"查看 COPYING 获å–详情"
#: ../src/callbacks.c:1501 ../src/callbacks.c:1505
msgid "Session imported"
msgstr "会è¯å·²å¯¼å…¥"
#: ../src/callbacks.c:1537 ../src/callbacks.c:1541
msgid "Session exported"
msgstr "会è¯å·²å¯¼å‡º"
#, fuzzy
#~ msgid ""
#~ "Source and Destination (directories need a trailing \"/\")"
#~ msgstr "æºè·¯å¾„åŠç›®çš„路径:(æºç›®å½•需è¦ä¿ç•™æœ€å°¾çš„‘/’å—符)"
#, fuzzy
#~ msgid "A GTK GUI for rsync"
#~ msgstr "Rsync çš„ GTK 图形界é¢ç¨‹åºã€‚\n"
#, fuzzy
#~ msgid "Sessions"
#~ msgstr "会è¯ï¼š"
#~ msgid "Couldn't find pixmap file: %s"
#~ msgstr "æ— æ³•æ‰“å¼€ä½å›¾æ–‡ä»¶ï¼š%s"
#~ msgid "_Dry Run"
#~ msgstr "预演è¿è¡Œ(_D)"
#~ msgid "About"
#~ msgstr "关于"
#~ msgid "Grsync 0.2\n"
#~ msgstr "Grsync 0.2\n"
grsync-1.2.6/po/ChangeLog 0000664 0001750 0001750 00000000000 12137727646 012145 0000000 0000000 grsync-1.2.6/po/nb_NO.po 0000664 0001750 0001750 00000057217 12636540620 011741 0000000 0000000 # Norwegian bokmål translation of grsync
# Copyright (C) 2014 Piero Orsoni
# This file is distributed under the same license as the grsync package.
#
# Alexander Nicolaysen Sørnes , 2006.
# Ã…ka Sikrom , 2015.
msgid ""
msgstr ""
"Project-Id-Version: grsync\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-12-23 16:45+0100\n"
"PO-Revision-Date: 2015-03-19 11:22+0100\n"
"Last-Translator: Ã…ka Sikrom \n"
"Language-Team: Norwegian bokmål \n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: poedit\n"
"X-Poedit-Language: nb_NO\n"
"X-Poedit-Country: NORWAY\n"
#: ../grsync.glade.h:1
msgid "Grsync"
msgstr "Grsync"
#: ../grsync.glade.h:2
msgid "_File"
msgstr "_Fil"
#: ../grsync.glade.h:3
msgid "Browse S_ource"
msgstr "Finn _kilde"
#: ../grsync.glade.h:4
msgid "Browse _Destination"
msgstr "Finn _mål"
#: ../grsync.glade.h:5
msgid "Switch source with destination"
msgstr "Bytt om kilde og mål"
#: ../grsync.glade.h:6
msgid "_Simulation"
msgstr "_Simulering"
#: ../grsync.glade.h:7
msgid "_Rsync command line"
msgstr "_Rsync-kommandoilinje"
#: ../grsync.glade.h:8
msgid "S_essions"
msgstr "_Økter"
#: ../grsync.glade.h:9
msgid "_Import"
msgstr "_Importer"
#: ../grsync.glade.h:10
msgid "_Export"
msgstr "_Eksporter"
#: ../grsync.glade.h:11
msgid "_Help"
msgstr "_Hjelp"
#: ../grsync.glade.h:12
msgid "_Rsync info"
msgstr "_Rsync-info"
#: ../grsync.glade.h:13
msgid "_Contribute"
msgstr "_Bidra"
#: ../grsync.glade.h:14
msgid "Click to add a new session"
msgstr "Trykk for å legge til en økt"
#: ../grsync.glade.h:15
msgid "Click to delete the current session"
msgstr "Trykk for å slette gjeldende økt"
#: ../grsync.glade.h:16
msgid ""
"Show what would have been done, but actually do nothing (\"dry-run\" in "
"rsync language)"
msgstr ""
"Vis hva som ville blitt gjort, men ikke gjør noe (kjent som «dry-run» på "
"rsync-språk)"
#: ../grsync.glade.h:17
msgid "_Simulate"
msgstr "_Simuler"
#: ../grsync.glade.h:18
msgid "Make a full run (go!)"
msgstr "Synkroniser nå"
#: ../grsync.glade.h:19
msgid "Preserve group"
msgstr "Behold gruppe"
#: ../grsync.glade.h:20
msgid "Preserve time"
msgstr "Behold tid"
#: ../grsync.glade.h:21
msgid "Preserve permissions"
msgstr "Behold tillatelser"
#: ../grsync.glade.h:22
msgid "Preserve owner"
msgstr "Behold eier"
#: ../grsync.glade.h:23
msgid "Do not leave filesystem"
msgstr "Ikke forlat filsystem"
#: ../grsync.glade.h:24
msgid "Do not cross filesystem boundaries"
msgstr "Ikke kryss filsystemgrenser"
#: ../grsync.glade.h:25
msgid "Delete on destination"
msgstr "Slett filer i mål"
#: ../grsync.glade.h:26
msgid "Delete files in destination which are not present in the source"
msgstr "Slett filer i målet som ikke finnes i kilden"
#: ../grsync.glade.h:27
msgid "Verbose"
msgstr "Detaljert"
#: ../grsync.glade.h:28
msgid "Show more information"
msgstr "Vis mer informasjon"
#: ../grsync.glade.h:29
msgid "Show transfer progress"
msgstr "Vis framdrift"
#: ../grsync.glade.h:30
msgid "Ignore existing"
msgstr "Ignorer eksisterende"
#: ../grsync.glade.h:31
msgid "Ignore files which already exist in the destination"
msgstr "Ignorer filer som finnes i målet allerede"
#: ../grsync.glade.h:32
msgid "Size only"
msgstr "Bare størrelse"
#: ../grsync.glade.h:33
msgid "Check size only, ignore time and checksum"
msgstr "Bare kontroller størrelse, og ignorer tid og kontrollsum"
#: ../grsync.glade.h:34
msgid "Skip newer"
msgstr "Hopp over nyere fil"
#: ../grsync.glade.h:35
msgid "Do not update newer files"
msgstr "Ikke oppdater nyere filer"
#: ../grsync.glade.h:36
msgid "Windows compatibility"
msgstr "Windows-kompatiblitet"
#: ../grsync.glade.h:37
msgid "Provides workaround for a windows FAT filesystem limitation"
msgstr "Jobber rundt begrensninger som påløper ved bruk av FAT-filsystemer"
#: ../grsync.glade.h:38
msgid "Click to open the file browser"
msgstr "Trykk for å åpne filutforsker"
#: ../grsync.glade.h:39
msgid "Source directory"
msgstr "Kildemappe"
#: ../grsync.glade.h:40
msgid "Destination directory"
msgstr "MÃ¥lmappe"
#: ../grsync.glade.h:41
msgid "Click here to switch the source with the destination directory"
msgstr "Trykk her for å bytte kildemappe med målmappe"
#: ../grsync.glade.h:42
msgid "Source and Destination:"
msgstr "Kilde og mål:"
#: ../grsync.glade.h:43
msgid "Basic options"
msgstr "Generelle valg"
#: ../grsync.glade.h:44
msgid "Always checksum"
msgstr "Bruk alltid kontrollsum"
#: ../grsync.glade.h:45
msgid "Always compare file contents (by checksum)"
msgstr "Kontroller filinnhold med kontrollsum"
#: ../grsync.glade.h:46
msgid "Preserve devices"
msgstr "Behold enheter"
#: ../grsync.glade.h:47
msgid "Only update existing files"
msgstr "Bare oppdater filer som finnes allerede"
#: ../grsync.glade.h:48
msgid "Keep partially transferred files"
msgstr "Behold delvis overførte filer"
#: ../grsync.glade.h:49
msgid "Don't map uid/gid values"
msgstr "Ikke tildel uid-/gid-verdier"
#: ../grsync.glade.h:50
msgid "Keep numeric uid/gid instead of mapping user names and group names"
msgstr ""
"Behold numeriske uid-/gid-verdier, i stedet for å slå opp bruker- og "
"gruppenavn"
#: ../grsync.glade.h:51
msgid "Additional options:"
msgstr "Tilleggsvalg:"
#: ../grsync.glade.h:52
msgid "Compress file data"
msgstr "Komprimer data"
#: ../grsync.glade.h:53
msgid ""
"Compress file data when transferring (useful only if at least one side is "
"remote)"
msgstr ""
"Komprimer filinnhold under overføring (nyttig hvis kilde og/eller mål er "
"eksternt plassert)"
#: ../grsync.glade.h:54
msgid "Copy symlinks as symlinks"
msgstr "Behold symbolske lenker"
#: ../grsync.glade.h:55
msgid "Symbolic links are copied as such, do not copy link target file"
msgstr "Symbolske lenker kopieres som lenker, i stedet for filene de peker på"
#: ../grsync.glade.h:56
msgid "Make backups"
msgstr "Ta sikkerhetskopier"
#: ../grsync.glade.h:57
msgid "Make backups of existing files on the destination"
msgstr ""
"Ta sikkerhetskopier av filer i målet som blir overskrevet eller slettet"
#: ../grsync.glade.h:58
msgid "Copy hardlinks as hardlinks"
msgstr "Kopier harde lenker som harde lenker"
#: ../grsync.glade.h:59
msgid "Hard links are copied as such, do not copy link target file"
msgstr "Harde lenker kopieres som de er, i stedet for at lenkemålet kopieres"
#: ../grsync.glade.h:60
msgid "Show itemized changes list"
msgstr "Vis endringsliste"
#: ../grsync.glade.h:61
msgid "Show additional information on every changed file"
msgstr "Vis ekstra informasjon om hver endrede fil"
#: ../grsync.glade.h:62
msgid "Disable recursion"
msgstr "Slå av rekursjon"
#: ../grsync.glade.h:63
msgid "If checked the subdirectories of the source folder will be ignored"
msgstr ""
"Hvis dette er valgt, blir eventuelle undermapper av kildemappa ignorert"
#: ../grsync.glade.h:64
msgid "Additional command line options to pass to the rsync program"
msgstr "Flere kommandolinjevalg som skal sendes videre til rsync"
#: ../grsync.glade.h:65
msgid "Protect remote args"
msgstr "Beskytt eksterne argumenter"
#: ../grsync.glade.h:66
msgid ""
"Protect remote arguments from shell expansion, Avoids the need to manually "
"escape remote folders and other options which use file names like --exclude"
msgstr ""
"Beskytt eksterne argumenter fra skall-utvidelse. Dette fjerner behovet for å "
"bruke skiftetegn på mapper og andre valg som bruker filnavn som f.eks. «--"
"exclude»"
#: ../grsync.glade.h:67
msgid "Advanced options"
msgstr "Avanserte valg"
#: ../grsync.glade.h:68
msgid "Execute this command before rsync:"
msgstr "Kjør denne kommandoen før rsync:"
#: ../grsync.glade.h:69
msgid ""
"Click on this item if you want to run a command before syncing. Can be "
"useful, for instance, to mount a filesystem before starting or to do some "
"cleanup."
msgstr ""
"Trykk på dette elementet hvis du vil kjøre en kommando før synkronisering "
"begynner. Dette kan f.eks. brukes til å montere et filsystem eller kjøre et "
"ryddeskript."
#: ../grsync.glade.h:70
msgid "Execute this command after rsync:"
msgstr "Kjør denne kommandoen etter rsync:"
#: ../grsync.glade.h:71
msgid ""
"Click on this item if you want to run a command after syncing. Can be "
"useful, for instance, to unmount a filesystem at the end or to do some "
"cleanup."
msgstr ""
"Trykk på dette elementet hvis du vil kjøre en kommando når synkronisering er "
"fullført. Dette kan f.eks. brukes til å avmontere et filsystem eller kjøre "
"et ryddeskript."
#: ../grsync.glade.h:72
msgid "Browse files instead of folders"
msgstr "Bla gjennom filer i stedet for mapper"
#: ../grsync.glade.h:73
msgid ""
"By setting this switch, the browse source and destination buttons will open "
"a dialog for selecting files instead of folders"
msgstr ""
"Hvis du velger dette, brukes knappene «Finn kilde» og «Finn mål» til å finne "
"filer i stedet for mapper"
#: ../grsync.glade.h:74
msgid "Halt on failure"
msgstr "Stopp ved programfeil"
#: ../grsync.glade.h:75
msgid ""
"When running the \"before\" command, if it fails for some reason, don't run "
"rsync and halt"
msgstr "Ikke kjør rsync hvis en kommando som kjøres først blir mislykket"
#: ../grsync.glade.h:76
msgid "On rsync error only"
msgstr "Bare ved rsync-feil"
#: ../grsync.glade.h:77
msgid ""
"Execute the \"after\" command only if syncronization had errors.\n"
"For example can be used to send an email only in the case there was "
"trouble.\n"
"Try a command like \"mail -s 'rsync error' you@domain.com\"."
msgstr ""
"Bare kjør en kommando etter synkronisering hvis synkronisering ble utført "
"med feilmeldinger.\n"
"Dette kan f.eks. brukes til å sende en e-postmelding.\n"
"Prøv «mail -s 'rsync error' navn@domene.com» eller liknende."
#: ../grsync.glade.h:80
msgid "Notes:"
msgstr "Notater:"
#: ../grsync.glade.h:81
msgid "Free text notes on the current session"
msgstr "Notater om gjeldende økt (fritekst)"
#: ../grsync.glade.h:82
msgid "Run as superuser"
msgstr "Kjør som superbruker"
#: ../grsync.glade.h:83
msgid ""
"Run rsync with superuser (root, administrator) privileges. Use this if you "
"need to access system files, for example when doing a full system backup."
msgstr ""
"Kjør rsync som superbruker. BRuk dette hvis du skal synkronisere systemfiler."
#: ../grsync.glade.h:84
msgid "Extra options"
msgstr "Ekstravalg"
#: ../grsync.glade.h:85
msgid "Include these sessions:"
msgstr "Ta med disse øktene:"
#: ../grsync.glade.h:86
msgid "Set options"
msgstr "Bruk innstillinger"
#: ../grsync.glade.h:87
msgid "Add session"
msgstr "Legg til økt"
#: ../grsync.glade.h:88
msgid "Enter session name you want to create:"
msgstr "Skriv inn navn på økta du vil opprette:"
#: ../grsync.glade.h:89
msgid "Enter the name of the new session to create"
msgstr "Skriv inn navn på ny økt som skal opprettes"
#: ../grsync.glade.h:90
msgid "Add as session set"
msgstr "Legg til som kombinasjon av økter"
#: ../grsync.glade.h:91
msgid "Create a new session set instead of a normal session"
msgstr "Lag en ny kombinasjon av økter i stedet for en vanlig økt"
#: ../grsync.glade.h:92
msgid "Grsync preferences"
msgstr "Grsync-innstillinger"
#: ../grsync.glade.h:93
msgid "Show rsync output by default"
msgstr "Vis rysnc-utdata som standard"
#: ../grsync.glade.h:94
msgid ""
"Wether to show rsync output by default or hide it (show graphical "
"information only)"
msgstr ""
"Om utdata fra rsync skal vises eller skjules (bare vis grafisk informasjon) "
"som standard"
#: ../grsync.glade.h:95
msgid "Remember last used session"
msgstr "Husk sist brukte økt"
#: ../grsync.glade.h:96
msgid "Whether to load the last used session at startup or use the default one"
msgstr "Om sist brukte økt eller standardøkt skal lastes inn ved oppstart"
#: ../grsync.glade.h:97
msgid "Show error list when finished"
msgstr "Vis feilliste når synkronisering er ferdig"
#: ../grsync.glade.h:98
msgid ""
"When rsync has finished, show all the errors encountered in a separate window"
msgstr "Vis alle oppståtte feil i eget vindu når rsync har kjørt ferdig"
#: ../grsync.glade.h:99
msgid "Enable logging"
msgstr "Slå på loggføring"
#: ../grsync.glade.h:100
msgid ""
"Whether to save rsync output to a log file, named like the session, which "
"will be located in the grsync directory (usually \".grsync\" into your user "
"home)"
msgstr ""
"Om rsync-udata skal lagres i en loggfil med øktnavnet. Loggen blir i så fall "
"plassert i grsync-mappa (typisk ~/.grsync)"
#: ../grsync.glade.h:101
msgid "Enter the rsync command to use, eventually including its full path"
msgstr ""
"Skriv inn rsync-kommando som skal brukes (evt. i form av fullstendig filsti)"
#: ../grsync.glade.h:102
msgid "Rsync executable:"
msgstr "Rsync-programfil:"
#: ../grsync.glade.h:103
msgid "Fast rsync output scrolling"
msgstr "Rask rulling av rsync-utdata"
#: ../grsync.glade.h:104
msgid ""
"Select this if you want rsync output to scroll many lines at a time, in "
"order to be faster"
msgstr ""
"Velg dette hvis du vil rulle gjennom mange rsync-utdatalinjer på én gang, "
"slik at rulling går raskere"
#: ../grsync.glade.h:105
msgid "Enable switch button"
msgstr "Slå på bytteknapp"
#: ../grsync.glade.h:106
msgid ""
"Select this if you want an additional \"switch source with destination\" "
"button in the basic options tab"
msgstr ""
"Velg dette hvis du vil ha en «Bytt om kilde og mål»-knapp i «Generelle valg»-"
"fanen"
#: ../grsync.glade.h:107
msgid "Use tray icon"
msgstr "Bruk kurvikon"
#: ../grsync.glade.h:108
msgid ""
"Check this box to show an icon of the application in the system tray instead "
"of the application bar (may not work on Unity environments, like Ubuntu >= "
"11.4)"
msgstr ""
"Velg dette for å vise et programikon i systemkurven i stedet for en vanlig "
"oppføring på programmenyen. Dette virker kanskje ikke med nyere Ubuntu-"
"versjoner (Unity) enn Ubuntu 11.04"
#: ../grsync.glade.h:109
msgid "Overwrite logs"
msgstr ""
#: ../grsync.glade.h:110
msgid ""
"Whether to overwrite the logs when running a session. This will make you "
"save space, but you'll loose the logs of the previous runs"
msgstr ""
#: ../grsync.glade.h:111
msgid "Errors list"
msgstr "Feilliste"
#: ../grsync.glade.h:112
msgid "Error list of last rsync run:"
msgstr "Feilliste fra forrige rsync-kjøring:"
#: ../grsync.glade.h:113
msgid "rsync"
msgstr "rsync"
#: ../grsync.glade.h:114
msgid "Idle"
msgstr "Ledig"
#: ../grsync.glade.h:115
msgid "Transfer progress of current file"
msgstr "Framdrift for overføring av gjeldende fil"
#: ../grsync.glade.h:116
msgid "Global progress"
msgstr "Generell framdrift"
#: ../grsync.glade.h:117
msgid ""
"Global transfer progress: works only with rsync version 2.6.1 or newer, and "
"may report wrong values depending on the ability of rsync to estimate the "
"files to be copied in advance"
msgstr ""
"Total overføringsframdrift. Dette fungerer bare med rsync-versjon 2.6.1 "
"eller nyere, og nøyaktigheten avhenger av rsyncs evne til å beregne antall "
"og hvor store filer som skal kopieres på forhånd"
#: ../grsync.glade.h:118
msgid "Rsync output:"
msgstr "Rsync-utdata:"
#: ../grsync.glade.h:119
msgid "Click this button to show the error list"
msgstr "Trykk på denne knappen for å vise feilliste"
#: ../grsync.glade.h:120
msgid "Pause/resume rsync run"
msgstr "Pause/fortsett rsync-kjøring"
#: ../grsync.glade.h:121
msgid "Stops rsync and closes the window"
msgstr "Stopper rsync og lukker vinduet"
#: ../grsync.glade.h:122
msgid "About trailing slashes"
msgstr "Om avsluttende skåstrektegn"
#: ../grsync.glade.h:123
msgid ""
"A trailing slash on the source directory avoids creating an additional "
"directory level at the destination.\n"
"You can think of a trailing / on a source as meaning \"copy the contents of "
"this directory\" as opposed to \"copy the directory itself and its contents"
"\".\n"
"\n"
"In other words, each of the following commands copies the files in the same "
"way:\n"
"\n"
"\t\t\t rsync -a /src/foo /dest\n"
"\t\t\t rsync -a /src/foo/ /dest/foo\n"
msgstr ""
"Bruk avsluttende skråstrektegn på kildemappa for å unngå å lage et nytt "
"mappenivå i målmappa.\n"
"Dette kan betraktes som «kopier innholdet i denne mappa» i stedet for "
"«kopier denne mappa og innholdet i den».\n"
"\n"
"Følgende kommandoer kopierer altså filer på samme måte:\n"
"\n"
"\t\t\t rsync -a /kilde/foo /mål\n"
"\t\t\t rsync -a /kilde/foo/ /mål/foo\n"
#: ../src/main.c:58
#, c-format
msgid "Error: conflicting arguments\n"
msgstr "Feil: motstridende argumenter\n"
#: ../src/callbacks.c:138
#, c-format
msgid "(ERROR) Can't open config file! Maybe this is the first run?\n"
msgstr ""
"(FEIL) Klarte ikke åpne oppsettsfil. Er dette første gang du kjører "
"programmet?\n"
#: ../src/callbacks.c:390 ../src/callbacks.c:1302
#, c-format
msgid "\tUnable to save settings!\n"
msgstr "\tKlarte ikke å lagre innstillinger.\n"
#: ../src/callbacks.c:484 ../src/callbacks.c:487 ../src/callbacks.c:514
#: ../src/callbacks.c:517 ../src/callbacks.c:1486 ../src/callbacks.c:1490
#: ../src/callbacks.c:1521 ../src/callbacks.c:1525
msgid "Browse"
msgstr "Bla gjennom"
#: ../src/callbacks.c:553
#, c-format
msgid "%.f%% (%li:%02li elapsed, %li:%02li remaining)"
msgstr "%.f%% (%li:%02li medgått, %li:%02li gjenstår)"
#: ../src/callbacks.c:705
msgid "Simulation in progress"
msgstr "Simulering pågår"
#: ../src/callbacks.c:757 ../src/callbacks.c:762
msgid "The session you specified on the command line doesn't exists"
msgstr "Økta du valgte på kommandolinja finnes ikke"
#: ../src/callbacks.c:776 ../src/callbacks.c:779
msgid ""
"Unable to execute the rsync command line tool. It is needed by this program. "
"You may need to install the rsync package or make it available in the "
"default executable search PATH. See file/preferences to change the default "
"rsync executable command."
msgstr ""
"Klarte ikke å kjøre rsync-kommandoen. Dette programmet må kunne kjøre rsync "
"for å fungere. Du må kanskje installere rsync, eller gjøre den tilgjengelig "
"i søkevariablen «PATH». Bruk «Fil» -> «Innstillinger» for å endre standard "
"rsync-filsti."
#: ../src/callbacks.c:900
msgid "** Launching AFTER command:\n"
msgstr "** Kjører AFTER-kommando:\n"
#: ../src/callbacks.c:915
msgid "Completed with errors!"
msgstr "Fullførte med feil."
#: ../src/callbacks.c:918
msgid ""
"Completed successfully!"
msgstr ""
"Fullførte uten problemer."
"span>"
#: ../src/callbacks.c:1051
msgid "Rsync process exit status: "
msgstr "Rsync-avslutningsstatus:"
#: ../src/callbacks.c:1113
msgid "** Launching BEFORE command:\n"
msgstr "** Kjører BEFORE-kommando:\n"
#: ../src/callbacks.c:1123
msgid "** Launching RSYNC command (simulation mode):\n"
msgstr "** Kjører RSYNC-kommando (simuleringsmodus):\n"
#: ../src/callbacks.c:1124
msgid "** Launching RSYNC command:\n"
msgstr "** Kjører RSYNC-kommando:\n"
#: ../src/callbacks.c:1168 ../src/callbacks.c:1172
msgid "Cannot execute rsync"
msgstr "Klarte ikke å kjøre rsync"
#: ../src/callbacks.c:1218 ../src/callbacks.c:1223
msgid "This session name is reserved, you cannot call it like this"
msgstr "Dette øktnavnet er resevert. Du kan ikke bruke det på denne måten"
#: ../src/callbacks.c:1234 ../src/callbacks.c:1239
msgid "A session named like this already exists"
msgstr "Det finnes allerede en økt med dette navnet"
#: ../src/callbacks.c:1268 ../src/callbacks.c:1273
msgid "You cannot delete the default session"
msgstr "Du kan ikke slette standardøkta"
#: ../src/callbacks.c:1281 ../src/callbacks.c:1284
#, c-format
msgid "Are you sure you want to delete the '%s' session?"
msgstr "Er du sikker på at du vil slette økta «%s»?"
#: ../src/callbacks.c:1316
msgid "Application icons by Roberto Gadotti "
msgstr "Programikoner av Roberto Gadotti "
#: ../src/callbacks.c:1321
msgid "Written by Piero Orsoni "
msgstr "Skrevet av Piero Orsoni "
#: ../src/callbacks.c:1322
msgid "Maemo compatibility by Luca Donaggio "
msgstr "Maemo-kompatiblitet av Luca Donaggio "
#: ../src/callbacks.c:1323
msgid "Additional bug-fixing by Luca Marturana "
msgstr "Øvrig feilretting av Luca Marturana "
#: ../src/callbacks.c:1325
msgid "Dutch translation by Frank de Bruijn "
msgstr "Nederlandsk oversettelse av Frank de Bruijn "
#: ../src/callbacks.c:1326
msgid "Simplified Chinese translation by Xie Yanbo "
msgstr "Forenklet kinesisk oversettelse av Xie Yanbo "
#: ../src/callbacks.c:1327
msgid "French translation by xavier "
msgstr "Fransk oversettelse av xavier "
#: ../src/callbacks.c:1328
msgid "Swedish translation by Daniel Nylander "
msgstr "Svensk oversettelse av Daniel Nylander "
#: ../src/callbacks.c:1329
msgid "Turkish translation by Doruk Fisek "
msgstr "Tyrkisk oversettelse av Doruk Fisek "
#: ../src/callbacks.c:1330
msgid "Russian translation by Evgenii Terechkov "
msgstr "Russisk oversettelse av Evgenii Terechkov "
#: ../src/callbacks.c:1331
msgid "German translation by Martin Lettner "
msgstr "Tysk oversettelse av Martin Lettner "
#: ../src/callbacks.c:1332
msgid "Spanish translation by Ibon Castilla Varela "
msgstr "Spansk oversettelse av Ibon Castilla Varela "
#: ../src/callbacks.c:1333
msgid "Czech translation by Martin Balajka "
msgstr "Tjekkisk oversettelse av Martin Balajka "
#: ../src/callbacks.c:1334
msgid "Galician translation by Daniel Espinheira "
msgstr ""
"Galisisk oversettelse av Daniel Espinheira "
#: ../src/callbacks.c:1335
msgid "Catalan translation by Josep SÃ nchez "
msgstr "Katalansk oversettelse av Josep SÃ nchez "
#: ../src/callbacks.c:1336
msgid ""
"Brazilian Portuguese translation by Fábio Nogueira "
msgstr ""
"Brasiliansk portugisisk oversettelse av Fábio Nogueira "
#: ../src/callbacks.c:1337
msgid "Indonesian translation by Waluyo Adi Siswanto "
msgstr "Indonesisk oversettelse av Waluyo Adi Siswanto "
#: ../src/callbacks.c:1338
msgid "Croatian translation by Bojan Vondra "
msgstr "Kroatisk oversettelse av Bojan Vondra "
#: ../src/callbacks.c:1342
msgid "Synchronize files and folders (a GTK GUI for rsync)."
msgstr "Synkroniser filer og mapper (GTK-grensesnitt for rsync)."
#: ../src/callbacks.c:1343
msgid ""
"(C) Piero Orsoni and others. Released under the GPL.\n"
"See COPYING for details"
msgstr ""
"(C) Piero Orsoni og andre. Utgitt under vilkårene i GPL.\n"
"Les fila COPYING for mer info"
#: ../src/callbacks.c:1501 ../src/callbacks.c:1505
msgid "Session imported"
msgstr "Økt importert"
#: ../src/callbacks.c:1537 ../src/callbacks.c:1541
msgid "Session exported"
msgstr "Økt eksportert"
#~ msgid ""
#~ "