Author: dteske
Date: Tue Feb 10 03:12:11 2015
New Revision: 278490
URL: https://svnweb.freebsd.org/changeset/base/278490

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

Modified:
  head/usr.sbin/bsdconfig/share/dialog.subr

Modified: head/usr.sbin/bsdconfig/share/dialog.subr
==============================================================================
--- head/usr.sbin/bsdconfig/share/dialog.subr   Tue Feb 10 02:55:10 2015        
(r278489)
+++ head/usr.sbin/bsdconfig/share/dialog.subr   Tue Feb 10 03:12:11 2015        
(r278490)
@@ -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]
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to