@ -141,14 +141,16 @@ comment_id() {
}
const() {
local q="'"
local v="${2//$q/$q\\$q$q}"
eval "$1=\"\$2\""
echo "export $1='$2'" >> config/$config/config
echo "export $1='$v '" >> config/$config/config
}
# Usage: set_data NAME DEFAULT
#
set_data() {
set_name="ROCKCFGSET_${1#ROCKCFG_}"
local q="'" set_name="ROCKCFGSET_${1#ROCKCFG_}"
if eval "[ \"\$$set_name\" ]" ; then
eval "data=\"\$$set_name\""
@ -166,7 +168,7 @@ set_data() {
fi
item="$1"
echo "export $1='$data'" >> config/$config/config
echo "export $1='${ data//$q/$q\\$q$q} '" >> config/$config/config
}
choice() {
@ -223,21 +225,25 @@ choice_action() {
}
text() {
local q="'"
set_data "$2" "$3"
if [ "$menumode" -eq 1 -a $menu_current = $menu_this ] ; then
echo -e "$2\ttext_action '$1' '$2' '$data'" >> config.data
echo -e "$2\ttext_action '$1' '$2'" \
"'${data//$q/$q\\$q$q}'" >> config.data
fi
if [ "$menumode" -gt 0 -a $menu_current = $menu_this ] ; then
xdata="$(echo $data | cut -c1-20)"
xdata="$( printf "%-${tabspace}s" \
"$(echo $data | cut -c1-20)")"
if [ "$menumode" -eq 1 ] ; then xdata="($xdata)"
else xdata="=$xdata=" ; fi
printf "'$2' '$spacer%-${tabspace} s $1'\n" \
"$xdata" >> config.dialog
printf "'$2' '$spacer%s $1'\n" \
"${ xdata//$q/$q\\$q$q} " >> config.dialog
# If you do not know what mighty esden is doin here see comment()
# If you do not know what mighty esden
# is doin here see comment()
if [ "$4" != "" ] ; then
set_help "$2" "$4"
fi
@ -248,7 +254,7 @@ text_action() {
./src/rockdialog.bin --title 'Build Config' \
--backtitle "$configtitle" \
--inputbox "$1" 9 $(( $columns - 5 )) "$3" 2> config.out
[ "$?" -eq 0 -o "$?" -eq 1 ] && eval "$2='`cat config.out` '"
[ "$?" -eq 0 -o "$?" -eq 1 ] && eval "$2=\"\$(cat config.out)\ ""
}
bool() {
@ -282,13 +288,14 @@ bool_action() {
editfile() {
if [ $ROCKCFG_EXPERT -eq 1 -o $expert -eq 0 ] ; then
local x="$spacer"
local x="$spacer" q="'"
comment ",----< $3 >----."
block_begin 0 ; spacer="${spacer%??}| "
touch "$2"
line_nr=1
while read line ; do
line="${line//$q/$q\\$q$q}"
if [ $menu_current = $menu_this ] ; then
printf "$1:${editfilenr} '$spacer%-${tabspace}s %s'\n" \
`printf "%03d:" $line_nr` "$line" >> config.dialog