tazpanel rev 553

Add file chooser
author Pascal Bellard <pascal.bellard@slitaz.org>
date Sun Nov 22 18:40:59 2015 +0100 (2015-11-22)
parents 04c74e2d1c20
children 9860696beace
files boot.cgi index.cgi
line diff
     1.1 --- a/boot.cgi	Sat Nov 21 17:04:33 2015 +0100
     1.2 +++ b/boot.cgi	Sun Nov 22 18:40:59 2015 +0100
     1.3 @@ -403,9 +403,13 @@
     1.4  	<tr><td>$(_ 'ISO image file full path')
     1.5  			<span data-img="info" title="$(_ 'set /dev/cdrom for a physical CD-ROM')"></span>
     1.6  		</td>
     1.7 -		<td><input type="text" name="iso" value="$iso" size="50"/></td></tr>
     1.8 +		<td><span id="iso"><input type="text" name="iso" value="$iso" /></span>
     1.9 +		<button data-icon="cd" onclick="ajax('index.cgi?do=file-selection&name=iso', '1', 'iso'); return false"/>
    1.10 +		</td></tr>
    1.11  	<tr><td>$(_ 'Working directory')</td>
    1.12 -		<td><input type="text" name="workdir" value="$workdir" size="50"/></td></tr>
    1.13 +		<td><spam id="workdir"><input type="text" id="workdir" name="workdir" value="$workdir" /></spam>
    1.14 +		<button data-icon="slitaz" onclick="ajax('index.cgi?do=dir-selection&name=workdir', '1', 'workdir'); return false"/>
    1.15 +		</td></tr>
    1.16  	<tr><td>$(_ 'Target partition')
    1.17  			<span data-img="info" title="$(_ 'For hard disk installation only. Will create /slitaz tree and keep other files. No partitioning and no formatting.')"></span>
    1.18  		</td>
     2.1 --- a/index.cgi	Sat Nov 21 17:04:33 2015 +0100
     2.2 +++ b/index.cgi	Sun Nov 22 18:40:59 2015 +0100
     2.3 @@ -69,6 +69,35 @@
     2.4  
     2.5  case " $(GET) " in
     2.6  
     2.7 +	*\ do\ *)
     2.8 +		case "$(GET do)" in
     2.9 +
    2.10 +		*-selection)		# display Yad file/dir picker (AJAX)
    2.11 +			title="$(_ 'Choose file')"
    2.12 +			extra=""
    2.13 +			[ "$(GET do)" == "dir-selection" ] &&
    2.14 +				title="$(_ 'Choose directory')" &&
    2.15 +				extra="--directory"
    2.16 +			while read name arg ; do
    2.17 +				case "$(GET do)" in
    2.18 +					*$name*)
    2.19 +						extra="$extra $arg" ;;
    2.20 +				esac
    2.21 +			done <<EOT
    2.22 +multiple	--multiple
    2.23 +preview		--add-preview
    2.24 +EOT
    2.25 +			header
    2.26 +			cat <<EOT
    2.27 +<input type="text" name="$(GET name)" value="$(DISPLAY=':0.0' \
    2.28 +XAUTHORITY='/var/run/slim.auth' yad --file-selection --on-top --mouse $extra \
    2.29 +--width=500 --height=350 --title="$title")" />
    2.30 +EOT
    2.31 +			exit 0 ;;
    2.32 +
    2.33 +		esac
    2.34 +		;;
    2.35 +
    2.36  
    2.37  	*\ exec\ *)
    2.38  		# Execute command and display its result in a terminal-like window