svn commit: r279617 - stable/10/usr.sbin/bsdconfig/share

Devin Teske dteske at FreeBSD.org
Thu Mar 5 00:42:59 UTC 2015


Author: dteske
Date: Thu Mar  5 00:42:58 2015
New Revision: 279617
URL: https://svnweb.freebsd.org/changeset/base/279617

Log:
  MFC r278490:
  Add bsdconfig api functions f_dialog_pause()/f_dialog_pause_no_cancel()

Modified:
  stable/10/usr.sbin/bsdconfig/share/dialog.subr
Directory Properties:
  stable/10/   (props changed)

Modified: stable/10/usr.sbin/bsdconfig/share/dialog.subr
==============================================================================
--- stable/10/usr.sbin/bsdconfig/share/dialog.subr	Thu Mar  5 00:42:06 2015	(r279616)
+++ stable/10/usr.sbin/bsdconfig/share/dialog.subr	Thu Mar  5 00:42:58 2015	(r279617)
@@ -1580,6 +1580,56 @@ f_xdialog_info()
 		-1 # timeout of -1 means abort when EOF on stdin
 }
 
+############################################################ PAUSE FUNCTIONS
+
+# f_dialog_pause $msg_text $duration [$hline]
+#
+# Display a message in a widget with a progress bar that runs backward for
+# $duration seconds.
+#
+f_dialog_pause()
+{
+	local pause_text="$1" duration="$2" hline="$3" height width
+	f_isinteger "$duration" || return $FAILURE
+	f_dialog_buttonbox_size height width \
+		"$DIALOG_TITLE" "$DIALOG_BACKTITLE" "$pause_text" "$hline"
+	if [ "$USE_XDIALOG" ]; then
+		$DIALOG \
+			--title "$DIALOG_TITLE"         \
+			--backtitle "$DIALOG_BACKTITLE" \
+			--ok-label "$msg_skip"          \
+			--cancel-label "$msg_cancel"    \
+			${noCancel:+--no-cancel}        \
+			--timeout "$duration"           \
+			--yesno "$pause_text"           \
+			$height $width
+	else
+		[ $duration -gt 0 ] && duration=$(( $duration - 1 ))
+		[ $duration -gt 1 ] && duration=$(( $duration - 1 ))
+		height=$(( $height + 3 )) # Add height for progress bar
+		$DIALOG \
+			--title "$DIALOG_TITLE"         \
+			--backtitle "$DIALOG_BACKTITLE" \
+			--hline "$hline"                \
+			--ok-label "$msg_skip"          \
+			--cancel-label "$msg_cancel"    \
+			${noCancel:+--no-cancel}        \
+			--pause "$pause_text"           \
+			$height $width "$duration"
+	fi
+}
+
+# f_dialog_pause_no_cancel $msg_text $duration [$hline]
+#
+# Display a message in a widget with a progress bar that runs backward for
+# $duration seconds. No cancel button is provided. Always returns success.
+#
+f_dialog_pause_no_cancel()
+{
+	noCancel=1 f_dialog_pause "$@"
+	return $SUCCESS
+}
+
 ############################################################ MSGBOX FUNCTIONS
 
 # f_dialog_msgbox $msg_text [$hline]


More information about the svn-src-all mailing list