Commit 36cd1ac6 authored by Bruno Coudoin's avatar Bruno Coudoin

improved image selector

svn path=/branches/gcomprixogoo/; revision=3476
parent dfc5e827
<?xml version="1.0" encoding="UTF-8"?>
<ImageSetRoot>
<ImageSet filename="gcompris/misc/car.png">
<Image filename="gcompris/misc/car.png"/>
<ImageSet filename="imageid/car.png">
<Image filename="babymatch/car.png"/>
<Image filename="imageid/car.png"/>
<Image filename="gcompris/misc/minivan.png"/>
<Image filename="gcompris/misc/truck.png"/>
<Image filename="gcompris/misc/bicycle.png"/>
<Image filename="gcompris/misc/tuxboat.png"/>
<Image filename="gcompris/misc/fishingboat.png"/>
<Image filename="gcompris/misc/sailingboat.png"/>
<Image filename="gcompris/misc/fusee.png"/>
<Image filename="gcompris/misc/tuxhelico.png"/>
<Image filename="gcompris/misc/tuxballoon.png"/>
<Image filename="gcompris/misc/tuxloco.png"/>
<Image filename="gcompris/misc/tuxplane.png"/>
<Image filename="babymatch/minivan.png"/>
<Image filename="babymatch/truck.png"/>
<Image filename="babymatch/bicycle.png"/>
<Image filename="canal_lock/tuxboat.png"/>
<Image filename="babymatch/fishingboat.png"/>
<Image filename="babymatch/sailingboat.png"/>
<Image filename="babymatch/fusee.png"/>
<Image filename="babymatch/tuxhelico.png"/>
<Image filename="babymatch/tuxballoon.png"/>
<Image filename="babymatch/tuxloco.png"/>
<Image filename="babymatch/tuxplane.png"/>
<Image filename="imageid/avion.png"/>
<Image filename="railroad/loco5.png"/>
<Image filename="railroad/wagon14.png"/>
......@@ -40,66 +40,66 @@
<Image filename="railroad/wagon6.png"/>
<Image filename="images/wagon-green.png"/>
<Image filename="images/wagon-yellow.png"/>
<Image filename="chronos/images/helico_cornu.png"/>
<Image filename="chronos/images/wright_flyer.png"/>
<Image filename="chronos/images/lindbergh.png"/>
<Image filename="chronos/images/bell_X1.png"/>
<Image filename="chronos/images/mongolfiere.png"/>
<Image filename="chronos/images/bleriot.png"/>
<Image filename="chronos/images/rafale.png"/>
<Image filename="chronos/images/Eole.png"/>
<Image filename="chronos/images/celerifere.png"/>
<Image filename="chronos/images/fardier.png"/>
<Image filename="chronos/images/st_rocket.png"/>
<Image filename="chronos/images/1955ds19.png"/>
<Image filename="chronos/images/benz1885.png"/>
<Image filename="chronos/images/bolle1878.png"/>
<Image filename="chronos/images/lancia1923.png"/>
<Image filename="chronos/images/renault1899.png"/>
<Image filename="chronos/helico_cornu.png"/>
<Image filename="chronos/wright_flyer.png"/>
<Image filename="chronos/lindbergh.png"/>
<Image filename="chronos/bell_X1.png"/>
<Image filename="chronos/mongolfiere.png"/>
<Image filename="chronos/bleriot.png"/>
<Image filename="chronos/rafale.png"/>
<Image filename="chronos/Eole.png"/>
<Image filename="chronos/celerifere.png"/>
<Image filename="chronos/fardier.png"/>
<Image filename="chronos/st_rocket.png"/>
<Image filename="chronos/1955ds19.png"/>
<Image filename="chronos/benz1885.png"/>
<Image filename="chronos/bolle1878.png"/>
<Image filename="chronos/lancia1923.png"/>
<Image filename="chronos/renault1899.png"/>
</ImageSet>
<ImageSet filename="gcompris/misc/house.png">
<Image filename="gcompris/misc/house.png"/>
<ImageSet filename="babymatch/house.png">
<Image filename="babymatch/house.png"/>
<Image filename="imageid/maison.png"/>
<Image filename="gcompris/misc/lighthouse.png"/>
<Image filename="gcompris/misc/castle.png"/>
<Image filename="gcompris/misc/crown.png"/>
<Image filename="gcompris/misc/flowerpot.png"/>
<Image filename="babymatch/lighthouse.png"/>
<Image filename="babymatch/castle.png"/>
<Image filename="babymatch/crown.png"/>
<Image filename="babymatch/flowerpot.png"/>
<Image filename="imageid/bed.png"/>
<Image filename="gcompris/misc/eggpot.png"/>
<Image filename="gcompris/misc/football.png"/>
<Image filename="babymatch/eggpot.png"/>
<Image filename="babymatch/football.png"/>
<Image filename="imageid/ballon.png"/>
<Image filename="gcompris/misc/glass.png"/>
<Image filename="gcompris/misc/lamp.png"/>
<Image filename="gcompris/misc/light.png"/>
<Image filename="gcompris/misc/pencil.png"/>
<Image filename="gcompris/misc/postcard.png"/>
<Image filename="gcompris/misc/postpoint.png"/>
<Image filename="gcompris/misc/rape.png"/>
<Image filename="gcompris/misc/raquette.png"/>
<Image filename="gcompris/misc/sofa.png"/>
<Image filename="gcompris/misc/bottle.png"/>
<Image filename="babymatch/glass.png"/>
<Image filename="babymatch/lamp.png"/>
<Image filename="babymatch/light.png"/>
<Image filename="babymatch/pencil.png"/>
<Image filename="babymatch/postcard.png"/>
<Image filename="babymatch/postpoint.png"/>
<Image filename="babymatch/rape.png"/>
<Image filename="babymatch/raquette.png"/>
<Image filename="babymatch/sofa.png"/>
<Image filename="babymatch/bottle.png"/>
<Image filename="imageid/bottle.png"/>
</ImageSet>
<ImageSet filename="gcompris/misc/tree.png">
<Image filename="gcompris/misc/cocotier.png"/>
<Image filename="gcompris/misc/cloud.png"/>
<Image filename="gcompris/misc/star.png"/>
<Image filename="gcompris/misc/egg.png"/>
<Image filename="gcompris/misc/flower.png"/>
<Image filename="gcompris/misc/sapin.png"/>
<Image filename="gcompris/misc/tree.png"/>
<ImageSet filename="babymatch/tree.png">
<Image filename="babymatch/cocotier.png"/>
<Image filename="babymatch/cloud.png"/>
<Image filename="babymatch/star.png"/>
<Image filename="babymatch/egg.png"/>
<Image filename="babymatch/flower.png"/>
<Image filename="babymatch/sapin.png"/>
<Image filename="babymatch/tree.png"/>
<Image filename="imageid/chien.png"/>
<Image filename="imageid/fish.png"/>
<Image filename="images/water_spot.png"/>
</ImageSet>
<ImageSet filename="gcompris/food/grapefruit.png">
<Image filename="gcompris/misc/apple.png"/>
<Image filename="babymatch/apple.png"/>
<Image filename="imageid/pomme.png"/>
<Image filename="gcompris/misc/peer.png"/>
<Image filename="gcompris/misc/carot.png"/>
<Image filename="gcompris/misc/cerise.png"/>
<Image filename="gcompris/misc/strawberry.png"/>
<Image filename="babymatch/peer.png"/>
<Image filename="babymatch/carot.png"/>
<Image filename="babymatch/cerise.png"/>
<Image filename="babymatch/strawberry.png"/>
<Image filename="gcompris/food/baby_bottle.png"/>
<Image filename="gcompris/food/banana.png"/>
<Image filename="imageid/banana.png"/>
......@@ -120,17 +120,17 @@
<Image filename="gcompris/food/suggar_box.png"/>
<Image filename="gcompris/food/yahourt.png"/>
</ImageSet>
<ImageSet filename="gcompris/misc/tux.png">
<Image filename="gcompris/misc/tuxboat.png"/>
<Image filename="gcompris/misc/sailingboat.png"/>
<Image filename="gcompris/misc/tuxhelico.png"/>
<Image filename="gcompris/misc/tuxballoon.png"/>
<Image filename="gcompris/misc/tuxloco.png"/>
<Image filename="gcompris/misc/tuxplane.png"/>
<Image filename="gcompris/misc/Tux_mute.png"/>
<Image filename="gcompris/misc/Tux_play.png"/>
<Image filename="gcompris/misc/tux_top_north.png"/>
<Image filename="gcompris/misc/tux_top_south.png"/>
<ImageSet filename="babymatch/tux.png">
<Image filename="babymatch/tuxboat.png"/>
<Image filename="babymatch/sailingboat.png"/>
<Image filename="babymatch/tuxhelico.png"/>
<Image filename="babymatch/tuxballoon.png"/>
<Image filename="babymatch/tuxloco.png"/>
<Image filename="babymatch/tuxplane.png"/>
<Image filename="babymatch/Tux_mute.png"/>
<Image filename="babymatch/Tux_play.png"/>
<Image filename="babymatch/tux_top_north.png"/>
<Image filename="babymatch/tux_top_south.png"/>
<Image filename="images/tux_albert.png"/>
<Image filename="images/tux_graduate.png"/>
<Image filename="images/tux-teacher.png"/>
......
This diff is collapsed.
#!/bin/sh
#
# install - install a program, script, or datafile
scriptversion=2006-12-25.00
#
# 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.
......@@ -39,481 +38,257 @@ scriptversion=2006-12-25.00
# when there is no Makefile.
#
# This script is compatible with the BSD install script, but was written
# from scratch.
# from scratch. It can only install one file at a time, a restriction
# shared with many OS's install programs.
nl='
'
IFS=" "" $nl"
# set DOITPROG to echo to test this script
# Don't use :- since 4.3BSD and earlier shells don't like it.
doit=${DOITPROG-}
if test -z "$doit"; then
doit_exec=exec
doit="${DOITPROG-}"
# put in absolute paths if you don't have them in your path; or use env. vars.
mvprog="${MVPROG-mv}"
cpprog="${CPPROG-cp}"
chmodprog="${CHMODPROG-chmod}"
chownprog="${CHOWNPROG-chown}"
chgrpprog="${CHGRPPROG-chgrp}"
stripprog="${STRIPPROG-strip}"
rmprog="${RMPROG-rm}"
mkdirprog="${MKDIRPROG-mkdir}"
transformbasename=""
transform_arg=""
instcmd="$mvprog"
chmodcmd="$chmodprog 0755"
chowncmd=""
chgrpcmd=""
stripcmd=""
rmcmd="$rmprog -f"
mvcmd="$mvprog"
src=""
dst=""
dir_arg=""
while [ x"$1" != x ]; do
case $1 in
-c) instcmd=$cpprog
shift
continue;;
-d) dir_arg=true
shift
continue;;
-m) chmodcmd="$chmodprog $2"
shift
shift
continue;;
-o) chowncmd="$chownprog $2"
shift
shift
continue;;
-g) chgrpcmd="$chgrpprog $2"
shift
shift
continue;;
-s) stripcmd=$stripprog
shift
continue;;
-t=*) transformarg=`echo $1 | sed 's/-t=//'`
shift
continue;;
-b=*) transformbasename=`echo $1 | sed 's/-b=//'`
shift
continue;;
*) if [ x"$src" = x ]
then
src=$1
else
# this colon is to work around a 386BSD /bin/sh bug
:
dst=$1
fi
shift
continue;;
esac
done
if [ x"$src" = x ]
then
echo "$0: no input file specified" >&2
exit 1
else
doit_exec=$doit
:
fi
# 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_glob='?'
initialize_posix_glob='
test "$posix_glob" != "?" || {
if (set -f) 2>/dev/null; then
posix_glob=
else
posix_glob=:
fi
}
'
posix_mkdir=
# Desired mode of installed file.
mode=0755
chgrpcmd=
chmodcmd=$chmodprog
chowncmd=
mvcmd=$mvprog
rmcmd="$rmprog -f"
stripcmd=
if [ x"$dir_arg" != x ]; then
dst=$src
src=""
src=
dst=
dir_arg=
dst_arg=
if [ -d "$dst" ]; then
instcmd=:
chmodcmd=""
else
instcmd=$mkdirprog
fi
else
# Waiting for this to be detected by the "$instcmd $src $dsttmp" command
# might cause directories to be created, which would be especially bad
# if $src (and thus $dsttmp) contains '*'.
if [ -f "$src" ] || [ -d "$src" ]
then
:
else
echo "$0: $src does not exist" >&2
exit 1
fi
if [ x"$dst" = x ]
then
echo "$0: no destination specified" >&2
exit 1
else
:
fi
# If destination is a directory, append the input filename; if your system
# does not like double slashes in filenames, you may need to add some logic
if [ -d "$dst" ]
then
dst=$dst/`basename "$src"`
else
:
fi
fi
copy_on_change=false
no_target_directory=
## this sed command emulates the dirname command
dstdir=`echo "$dst" | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'`
usage="\
Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE
or: $0 [OPTION]... SRCFILES... DIRECTORY
or: $0 [OPTION]... -t DIRECTORY SRCFILES...
or: $0 [OPTION]... -d DIRECTORIES...
# Make sure that the destination directory exists.
# this part is taken from Noah Friedman's mkinstalldirs script
In the 1st form, copy SRCFILE to DSTFILE.
In the 2nd and 3rd, copy all SRCFILES to DIRECTORY.
In the 4th, create DIRECTORIES.
# Skip lots of stat calls in the usual case.
if [ ! -d "$dstdir" ]; then
defaultIFS='
'
IFS="${IFS-$defaultIFS}"
Options:
--help display this help and exit.
--version display version info and exit.
oIFS=$IFS
# Some sh's can't handle IFS=/ for some reason.
IFS='%'
set - `echo "$dstdir" | sed -e 's@/@%@g' -e 's@^%@/@'`
IFS=$oIFS
-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.
pathcomp=''
Environment variables override the default commands:
CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG
RMPROG STRIPPROG
"
while [ $# -ne 0 ] ; do
pathcomp=$pathcomp$1
shift
while test $# -ne 0; do
case $1 in
-c) ;;
if [ ! -d "$pathcomp" ] ;
then
$mkdirprog "$pathcomp"
else
:
fi
-C) copy_on_change=true;;
pathcomp=$pathcomp/
done
fi
-d) dir_arg=true;;
if [ x"$dir_arg" != x ]
then
$doit $instcmd "$dst" &&
-g) chgrpcmd="$chgrpprog $2"
shift;;
if [ x"$chowncmd" != x ]; then $doit $chowncmd "$dst"; else : ; fi &&
if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd "$dst"; else : ; fi &&
if [ x"$stripcmd" != x ]; then $doit $stripcmd "$dst"; else : ; fi &&
if [ x"$chmodcmd" != x ]; then $doit $chmodcmd "$dst"; else : ; fi
else
--help) echo "$usage"; exit $?;;
# If we're going to rename the final executable, determine the name now.
-m) mode=$2
case $mode in
*' '* | *' '* | *'
'* | *'*'* | *'?'* | *'['*)
echo "$0: invalid mode: $mode" >&2
exit 1;;
esac
shift;;
if [ x"$transformarg" = x ]
then
dstfile=`basename "$dst"`
else
dstfile=`basename "$dst" $transformbasename |
sed $transformarg`$transformbasename
fi
-o) chowncmd="$chownprog $2"
shift;;
# don't allow the sed command to completely eliminate the filename
-s) stripcmd=$stripprog;;
if [ x"$dstfile" = x ]
then
dstfile=`basename "$dst"`
else
:
fi
-t) dst_arg=$2
shift;;
# Make a couple of temp file names in the proper directory.
-T) no_target_directory=true;;
dsttmp=$dstdir/_inst.$$_
rmtmp=$dstdir/_rm.$$_
--version) echo "$0 $scriptversion"; exit $?;;
# Trap to clean up temp files at exit.
--) shift
break;;
trap 'status=$?; rm -f "$dsttmp" "$rmtmp" && exit $status' 0
trap '(exit $?); exit' 1 2 13 15
-*) echo "$0: invalid option: $1" >&2
exit 1;;
# Move or copy the file name to the temp name
*) break;;
esac
shift
done
$doit $instcmd "$src" "$dsttmp" &&
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
done
fi
# and set any options; do chmod last to preserve setuid bits
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 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 $instcmd $src $dsttmp" command.
if test -z "$dir_arg"; then
trap '(exit $?); exit' 1 2 13 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
if [ x"$chowncmd" != x ]; then $doit $chowncmd "$dsttmp"; else :;fi &&
if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd "$dsttmp"; else :;fi &&
if [ x"$stripcmd" != x ]; then $doit $stripcmd "$dsttmp"; else :;fi &&
if [ x"$chmodcmd" != x ]; then $doit $chmodcmd "$dsttmp"; else :;fi &&
for src
do
# Protect names starting with `-'.
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
# Protect names starting with `-'.
case $dst in
-*) dst=./$dst;;
esac
# 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.
# 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 -n "$no_target_directory"; then
echo "$0: $dst_arg: Is a directory" >&2
exit 1
fi
dstdir=$dst
dst=$dstdir/`basename "$src"`
dstdir_status=0
else
# Prefer dirname, but fall back on a substitute if dirname fails.
dstdir=`
(dirname "$dst") 2>/dev/null ||
expr X"$dst" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
X"$dst" : 'X\(//\)[^/]' \| \
X"$dst" : 'X\(//\)$' \| \
X"$dst" : 'X\(/\)' \| . 2>/dev/null ||
echo X"$dst" |
sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
s//\1/
q
}
/^X\(\/\/\)[^/].*/{
s//\1/
q
}
/^X\(\/\/\)$/{
s//\1/
q
}
/^X\(\/\).*/{
s//\1/
q
}
s/.*/./; q'
`
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
{
if [ -f "$dstdir/$dstfile" ]
then
$doit $rmcmd -f "$dstdir/$dstfile" 2>/dev/null ||
$doit $mvcmd -f "$dstdir/$dstfile" "$rmtmp" 2>/dev/null ||
{
echo "$0: cannot unlink or rename $dstdir/$dstfile" >&2
(exit 1); exit
}
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-writeable 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
# Now rename the file to the real destination.
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
eval "$initialize_posix_glob"
oIFS=$IFS
IFS=/
$posix_glob set -f