Update dialog to version 1.1-20110302.
This commit is contained in:
commit
7a1c0d9633
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=220749
@ -1,9 +1,77 @@
|
||||
-- $Id: CHANGES,v 1.300 2010/04/28 21:27:22 tom Exp $
|
||||
-- $Id: CHANGES,v 1.333 2011/03/02 10:06:37 tom Exp $
|
||||
-- Thomas E. Dickey <dickey@invisible-island.net>
|
||||
|
||||
This version of dialog was originally from a Debian snapshot. I've done this
|
||||
to it:
|
||||
|
||||
2011/03/02
|
||||
+ add --prgbox and --programbox (adapted from patch by David Boyd).
|
||||
+ add sl.po from
|
||||
http://translationproject.org/latest/dialog/
|
||||
+ fix timeouts from 2011/01/18, which were being interpreted as
|
||||
milliseconds rather than seconds (report by Luis Moreira).
|
||||
|
||||
2011/01/18
|
||||
+ fix inconsistency in return-codes for textbox when help-button is
|
||||
used by making dlg_exit_buttoncode() a wrapper for
|
||||
dlg_ok_buttoncode().
|
||||
+ modify pause widget to use dlg_ok_buttoncode(), so help-button works.
|
||||
+ correct two infobox sample scripts, which did not pass extra
|
||||
command-line parameters due to quoting problems.
|
||||
+ add a limit-check to the timebox widget (patch by Garrett Cooper).
|
||||
+ modify --trace option to also trace the command-line parameters.
|
||||
+ account for combining characters when wrapping text (Debian #570634).
|
||||
+ correct handling of SIGWINCH in gauge widget (Debian #305705).
|
||||
+ add gauge_color, to make guage's progress-bar distinct from
|
||||
title_color (request by Dominic Derdau).
|
||||
+ update fi.po from
|
||||
http://translationproject.org/latest/dialog/
|
||||
as well as resync line-numbers in the other po-files.
|
||||
+ modify configure script and dialog program to build with NetBSD's
|
||||
wide-character curses functions, including workarounds for its
|
||||
incorrect WACS_xxx definitions. Some of the UTF-8 examples work.
|
||||
+ add back-tab for traversal of tailboxbg widgets, for symmetry with
|
||||
tab-traversal.
|
||||
+ reduce flicker in tailboxbg by checking if the input file size has
|
||||
changed.
|
||||
+ modify internals of callbacks to avoid blocking reads of their
|
||||
associated files by keyboard input.
|
||||
+ add command-line option --no-mouse, to suppress use of mouse.
|
||||
+ add configure option --enable-header-subdir to allow the header files
|
||||
to be installed into a subdirectory named for the package.
|
||||
+ modify dlg_restore_vars() to retain the updated values of
|
||||
input_result and input_length, eliminating the need for a caller to
|
||||
provide their own user buffer (prompted by report by Thiago Bimbatti
|
||||
Felicio).
|
||||
+ add a null-pointer check in show_result() for
|
||||
dialog_vars.input_result, and ensure it is set to null after freeing
|
||||
(prompted by report by Thiago Bimbatti Felicio).
|
||||
+ change order of -I options in CPPFLAGS (report by Michel Feldheim)
|
||||
+ modify pause-widget so that it no longer exits when an unrecognized
|
||||
key is pressed (patch by Creidieki M Crouch).
|
||||
+ add --with-package option to configure script to allow renaming
|
||||
of the dialog program and library, to support the package scripts.
|
||||
+ add Debian and RPM package scripts for test-builds.
|
||||
+ several improvements to configure script:
|
||||
+ quote params of ifelse()
|
||||
+ change obsolete ${name-value} to standard ${name:-value}
|
||||
+ use new macros CF_ADD_LIB/CF_ADD_LIBS to enforce consistency.
|
||||
+ AM_GNU_GETTEXT, drop $MKINSTALLDIRS, use "mkdir -p" consistently.
|
||||
+ CF_ADD_SUBDIR_PATH, workaround - if $prefix was not mkdir'd yet, no
|
||||
directories were added.
|
||||
+ CF_BUNDLED_INTL, add --with-textdomain option, to use with lynx-dev
|
||||
package
|
||||
+ CF_FIND_LINKAGE, simplify save/restore of $LIBS
|
||||
+ CF_GCC_WARNINGS, fix for Mac OS X (compiler makes conftest.dSYM
|
||||
directory)
|
||||
+ CF_HEADER_PATH, don't search for variations of everything in the
|
||||
current include-path
|
||||
+ CF_WITH_CURSES_DIR, move the calls to CF_ADD_INCDIR and
|
||||
CF_ADD_LIBDIR for the curses-directory here, from
|
||||
CF_NCURSES_CPPFLAGS and CF_NCURSES_LDFLAGS, so it will work even
|
||||
with the default checking, e.g., no --with-ncurses, etc.
|
||||
+ updated config.guess, config.sub
|
||||
|
||||
2010/04/28
|
||||
+ several improvements to configure script:
|
||||
+ modify CF_CURSES_TERM_H to handle cases such as cygwin where
|
||||
|
@ -1 +1 @@
|
||||
7:1:0 1.1 20100428
|
||||
9:0:0 1.1 20110302
|
||||
|
440
contrib/dialog/aclocal.m4
vendored
440
contrib/dialog/aclocal.m4
vendored
File diff suppressed because it is too large
Load Diff
128
contrib/dialog/argv.c
Normal file
128
contrib/dialog/argv.c
Normal file
@ -0,0 +1,128 @@
|
||||
/*
|
||||
* $Id: argv.c,v 1.1 2011/03/02 09:56:39 tom Exp $
|
||||
*
|
||||
* argv - Reusable functions for argv-parsing.
|
||||
*
|
||||
* Copyright 2011 Thomas E. Dickey
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License, version 2.1
|
||||
* as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful, but
|
||||
* WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this program; if not, write to
|
||||
* Free Software Foundation, Inc.
|
||||
* 51 Franklin St., Fifth Floor
|
||||
* Boston, MA 02110, USA.
|
||||
*/
|
||||
|
||||
#include <dialog.h>
|
||||
#include <string.h>
|
||||
|
||||
/*
|
||||
* Convert a string to an argv[], returning a char** index (which must be
|
||||
* freed by the caller). The string is modified (replacing gaps between
|
||||
* tokens with nulls).
|
||||
*/
|
||||
char **
|
||||
dlg_string_to_argv(char *blob)
|
||||
{
|
||||
size_t n;
|
||||
int pass;
|
||||
size_t length = strlen(blob);
|
||||
char **result = 0;
|
||||
|
||||
for (pass = 0; pass < 2; ++pass) {
|
||||
bool inparm = FALSE;
|
||||
bool quoted = FALSE;
|
||||
char *param = blob;
|
||||
size_t count = 0;
|
||||
|
||||
for (n = 0; n < length; ++n) {
|
||||
if (quoted && blob[n] == '"') {
|
||||
quoted = FALSE;
|
||||
} else if (blob[n] == '"') {
|
||||
quoted = TRUE;
|
||||
if (!inparm) {
|
||||
if (pass)
|
||||
result[count] = param;
|
||||
++count;
|
||||
inparm = TRUE;
|
||||
}
|
||||
} else if (blob[n] == '\\') {
|
||||
if (quoted && !isspace(UCH(blob[n + 1]))) {
|
||||
if (!inparm) {
|
||||
if (pass)
|
||||
result[count] = param;
|
||||
++count;
|
||||
inparm = TRUE;
|
||||
}
|
||||
if (pass) {
|
||||
*param++ = blob[n];
|
||||
*param++ = blob[n + 1];
|
||||
}
|
||||
}
|
||||
++n;
|
||||
} else if (!quoted && isspace(UCH(blob[n]))) {
|
||||
inparm = FALSE;
|
||||
if (pass) {
|
||||
*param++ = '\0';
|
||||
}
|
||||
} else {
|
||||
if (!inparm) {
|
||||
if (pass)
|
||||
result[count] = param;
|
||||
++count;
|
||||
inparm = TRUE;
|
||||
}
|
||||
if (pass) {
|
||||
*param++ = blob[n];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (!pass) {
|
||||
if (count) {
|
||||
result = dlg_calloc(char *, count + 1);
|
||||
assert_ptr(result, "string_to_argv");
|
||||
} else {
|
||||
break; /* no tokens found */
|
||||
}
|
||||
} else {
|
||||
*param = '\0';
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
/*
|
||||
* Count the entries in an argv list.
|
||||
*/
|
||||
int
|
||||
dlg_count_argv(char **argv)
|
||||
{
|
||||
int result = 0;
|
||||
|
||||
if (argv != 0) {
|
||||
while (argv[result] != 0)
|
||||
++result;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
int
|
||||
dlg_eat_argv(int *argcp, char ***argvp, int start, int count)
|
||||
{
|
||||
int k;
|
||||
|
||||
*argcp -= count;
|
||||
for (k = start; k <= *argcp; k++)
|
||||
(*argvp)[k] = (*argvp)[k + count];
|
||||
(*argvp)[*argcp] = 0;
|
||||
return TRUE;
|
||||
}
|
@ -1,9 +1,9 @@
|
||||
/*
|
||||
* $Id: arrows.c,v 1.29 2010/02/24 09:17:00 Samuel.Martin.Moro Exp $
|
||||
* $Id: arrows.c,v 1.33 2011/01/19 00:27:53 tom Exp $
|
||||
*
|
||||
* arrows.c -- draw arrows to indicate end-of-range for lists
|
||||
*
|
||||
* Copyright 2000-2009,2010 Thomas E. Dickey
|
||||
* Copyright 2000-2010,2011 Thomas E. Dickey
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License, version 2.1
|
||||
@ -24,6 +24,13 @@
|
||||
#include <dialog.h>
|
||||
|
||||
#ifdef USE_WIDE_CURSES
|
||||
#if defined(CURSES_WACS_ARRAY) && !defined(CURSES_WACS_SYMBOLS)
|
||||
/* workaround for NetBSD 5.1 curses */
|
||||
#undef WACS_DARROW
|
||||
#undef WACS_UARROW
|
||||
#define WACS_DARROW &(CURSES_WACS_ARRAY['.'])
|
||||
#define WACS_UARROW &(CURSES_WACS_ARRAY['-'])
|
||||
#endif
|
||||
#define add_acs(win, code) wadd_wch(win, W ## code)
|
||||
#else
|
||||
#define add_acs(win, code) waddch(win, dlg_boxchar(code))
|
||||
@ -62,7 +69,7 @@ dlg_draw_arrows2(WINDOW *win,
|
||||
chtype attr,
|
||||
chtype borderattr)
|
||||
{
|
||||
chtype save = getattrs(win);
|
||||
chtype save = dlg_get_attrs(win);
|
||||
int cur_x, cur_y;
|
||||
int limit_x = getmaxx(win);
|
||||
bool draw_top = TRUE;
|
||||
@ -127,7 +134,7 @@ dlg_draw_scrollbar(WINDOW *win,
|
||||
int len;
|
||||
int oldy, oldx, maxy, maxx;
|
||||
|
||||
chtype save = getattrs(win);
|
||||
chtype save = dlg_get_attrs(win);
|
||||
int top_arrow = (first_data != 0);
|
||||
int bottom_arrow = (next_data < total_data);
|
||||
|
||||
@ -154,7 +161,7 @@ dlg_draw_scrollbar(WINDOW *win,
|
||||
whline(win, dlg_boxchar(ACS_HLINE), 4 - len);
|
||||
}
|
||||
}
|
||||
#define BARSIZE(num) ((all_high * (num)) + all_high - 1) / total_data
|
||||
#define BARSIZE(num) (int) (((all_high * (num)) + all_high - 1) / total_data)
|
||||
|
||||
if (dialog_state.use_scrollbar) {
|
||||
int all_high = (bottom - top - 1);
|
||||
|
@ -1,9 +1,9 @@
|
||||
/*
|
||||
* $Id: buttons.c,v 1.81 2010/04/28 20:57:29 tom Exp $
|
||||
* $Id: buttons.c,v 1.84 2011/01/19 00:27:53 tom Exp $
|
||||
*
|
||||
* buttons.c -- draw buttons, e.g., OK/Cancel
|
||||
*
|
||||
* Copyright 2000-2007,2010 Thomas E. Dickey
|
||||
* Copyright 2000-2010,2011 Thomas E. Dickey
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License, version 2.1
|
||||
@ -252,7 +252,7 @@ dlg_draw_buttons(WINDOW *win,
|
||||
int vertical,
|
||||
int limit)
|
||||
{
|
||||
chtype save = getattrs(win);
|
||||
chtype save = dlg_get_attrs(win);
|
||||
int n;
|
||||
int step = 0;
|
||||
int length;
|
||||
@ -465,16 +465,7 @@ dlg_exit_label(void)
|
||||
int
|
||||
dlg_exit_buttoncode(int button)
|
||||
{
|
||||
int result = DLG_EXIT_ERROR;
|
||||
|
||||
if (dialog_vars.extra_button) {
|
||||
result = dlg_ok_buttoncode(button);
|
||||
} else if (button == 0) {
|
||||
result = DLG_EXIT_OK;
|
||||
} else if (button == 1 && dialog_vars.help_button) {
|
||||
result = DLG_EXIT_HELP;
|
||||
}
|
||||
return result;
|
||||
return dlg_ok_buttoncode(button);
|
||||
}
|
||||
|
||||
const char **
|
||||
|
@ -1,9 +1,9 @@
|
||||
/*
|
||||
* $Id: calendar.c,v 1.59 2010/01/18 09:50:44 tom Exp $
|
||||
* $Id: calendar.c,v 1.60 2011/01/03 23:29:51 tom Exp $
|
||||
*
|
||||
* calendar.c -- implements the calendar box
|
||||
*
|
||||
* Copyright 2001-2009,2010 Thomas E. Dickey
|
||||
* Copyright 2001-2010,2011 Thomas E. Dickey
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License, version 2.1
|
||||
|
@ -1,9 +1,9 @@
|
||||
/*
|
||||
* $Id: checklist.c,v 1.121 2010/01/17 19:32:17 tom Exp $
|
||||
* $Id: checklist.c,v 1.124 2011/01/19 00:27:53 tom Exp $
|
||||
*
|
||||
* checklist.c -- implements the checklist box
|
||||
*
|
||||
* Copyright 2000-2009,2010 Thomas E. Dickey
|
||||
* Copyright 2000-2010,2011 Thomas E. Dickey
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License, version 2.1
|
||||
@ -50,10 +50,10 @@ print_arrows(WINDOW *win,
|
||||
int list_height)
|
||||
{
|
||||
dlg_draw_scrollbar(win,
|
||||
scrollamt,
|
||||
scrollamt,
|
||||
scrollamt + choice,
|
||||
item_no,
|
||||
(long) (scrollamt),
|
||||
(long) (scrollamt),
|
||||
(long) (scrollamt + choice),
|
||||
(long) (item_no),
|
||||
box_x + check_x,
|
||||
box_x + list_width,
|
||||
box_y,
|
||||
@ -73,7 +73,7 @@ print_item(WINDOW *win,
|
||||
int choice,
|
||||
int selected)
|
||||
{
|
||||
chtype save = getattrs(win);
|
||||
chtype save = dlg_get_attrs(win);
|
||||
int i;
|
||||
chtype attr = A_NORMAL;
|
||||
const int *cols;
|
||||
@ -643,7 +643,7 @@ dialog_checklist(const char *title,
|
||||
: dlg_strempty());
|
||||
listitems[i].state = !dlg_strcmp(ItemStatus(i), "on");
|
||||
}
|
||||
dlg_align_columns(&listitems[0].text, sizeof(DIALOG_LISTITEM), item_no);
|
||||
dlg_align_columns(&listitems[0].text, (int) sizeof(DIALOG_LISTITEM), item_no);
|
||||
|
||||
result = dlg_checklist(title,
|
||||
cprompt,
|
||||
@ -706,7 +706,7 @@ dialog_checklist(const char *title,
|
||||
}
|
||||
}
|
||||
|
||||
dlg_free_columns(&listitems[0].text, sizeof(DIALOG_LISTITEM), item_no);
|
||||
dlg_free_columns(&listitems[0].text, (int) sizeof(DIALOG_LISTITEM), item_no);
|
||||
free(listitems);
|
||||
return result;
|
||||
}
|
||||
|
@ -1,9 +1,9 @@
|
||||
/*
|
||||
* $Id: columns.c,v 1.5 2010/01/18 10:26:36 tom Exp $
|
||||
* $Id: columns.c,v 1.7 2011/01/16 21:51:44 tom Exp $
|
||||
*
|
||||
* columns.c -- implements column-alignment
|
||||
*
|
||||
* Copyright 2008,2010 Thomas E. Dickey
|
||||
* Copyright 2008-2010,2011 Thomas E. Dickey
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License, version 2.1
|
||||
@ -79,7 +79,7 @@ split_row(char *source, unsigned *offsets, unsigned *widths)
|
||||
++result;
|
||||
} while ((next = next_col(source, offset)) != 0);
|
||||
|
||||
offset = strlen(source);
|
||||
offset = (unsigned) strlen(source);
|
||||
widths[result - 1] = offset - offsets[result - 1];
|
||||
|
||||
return result;
|
||||
@ -98,7 +98,7 @@ dlg_align_columns(char **target, int per_row, int num_rows)
|
||||
if (column_separator()) {
|
||||
char **value;
|
||||
unsigned numcols = 1;
|
||||
unsigned maxcols = 0;
|
||||
size_t maxcols = 0;
|
||||
unsigned *widths;
|
||||
unsigned *offsets;
|
||||
unsigned *maxwidth;
|
||||
@ -107,7 +107,7 @@ dlg_align_columns(char **target, int per_row, int num_rows)
|
||||
|
||||
/* first allocate arrays for workspace */
|
||||
for (each(row, value)) {
|
||||
unsigned len = strlen(*value);
|
||||
size_t len = strlen(*value);
|
||||
if (maxcols < len)
|
||||
maxcols = len;
|
||||
}
|
||||
@ -143,9 +143,9 @@ dlg_align_columns(char **target, int per_row, int num_rows)
|
||||
|
||||
assert_ptr(text, "dlg_align_columns");
|
||||
|
||||
memset(text, ' ', realwidth);
|
||||
memset(text, ' ', (size_t) realwidth);
|
||||
for (n = 0; n < cols; ++n) {
|
||||
memcpy(text + offset, *value + offsets[n], widths[n]);
|
||||
memcpy(text + offset, *value + offsets[n], (size_t) widths[n]);
|
||||
offset += maxwidth[n] + 1;
|
||||
}
|
||||
*value = text;
|
||||
|
18
contrib/dialog/config.guess
vendored
18
contrib/dialog/config.guess
vendored
@ -4,7 +4,7 @@
|
||||
# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
|
||||
# Free Software Foundation, Inc.
|
||||
|
||||
timestamp='2009-12-30'
|
||||
timestamp='2010-09-24'
|
||||
|
||||
# This file is free software; you can redistribute it and/or modify it
|
||||
# under the terms of the GNU General Public License as published by
|
||||
@ -92,7 +92,7 @@ if test $# != 0; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
trap 'exit 1' 1 2 15
|
||||
trap 'exit 1' HUP INT TERM
|
||||
|
||||
# CC_FOR_BUILD -- compiler used by this script. Note that the use of a
|
||||
# compiler to aid in system detection is discouraged as it requires
|
||||
@ -106,7 +106,7 @@ trap 'exit 1' 1 2 15
|
||||
|
||||
set_cc_for_build='
|
||||
trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
|
||||
trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
|
||||
trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" HUP INT PIPE TERM ;
|
||||
: ${TMPDIR=/tmp} ;
|
||||
{ tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
|
||||
{ test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
|
||||
@ -552,7 +552,7 @@ EOF
|
||||
echo rs6000-ibm-aix3.2
|
||||
fi
|
||||
exit ;;
|
||||
*:AIX:*:[456])
|
||||
*:AIX:*:[4567])
|
||||
IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
|
||||
if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
|
||||
IBM_ARCH=rs6000
|
||||
@ -874,8 +874,8 @@ EOF
|
||||
exit ;;
|
||||
arm*:Linux:*:*)
|
||||
eval $set_cc_for_build
|
||||
if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
|
||||
| grep -q __ARM_EABI__
|
||||
if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null | \
|
||||
grep -q __ARM_EABI__
|
||||
then
|
||||
echo ${UNAME_MACHINE}-unknown-linux-gnu
|
||||
else
|
||||
@ -968,6 +968,9 @@ EOF
|
||||
sparc:Linux:*:* | sparc64:Linux:*:*)
|
||||
echo ${UNAME_MACHINE}-unknown-linux-gnu
|
||||
exit ;;
|
||||
tile*:Linux:*:*)
|
||||
echo ${UNAME_MACHINE}-tilera-linux-gnu
|
||||
exit ;;
|
||||
vax:Linux:*:*)
|
||||
echo ${UNAME_MACHINE}-dec-linux-gnu
|
||||
exit ;;
|
||||
@ -1231,6 +1234,9 @@ EOF
|
||||
*:QNX:*:4*)
|
||||
echo i386-pc-qnx
|
||||
exit ;;
|
||||
NEO-?:NONSTOP_KERNEL:*:*)
|
||||
echo neo-tandem-nsk${UNAME_RELEASE}
|
||||
exit ;;
|
||||
NSE-?:NONSTOP_KERNEL:*:*)
|
||||
echo nse-tandem-nsk${UNAME_RELEASE}
|
||||
exit ;;
|
||||
|
67
contrib/dialog/config.sub
vendored
67
contrib/dialog/config.sub
vendored
@ -4,7 +4,7 @@
|
||||
# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
|
||||
# Free Software Foundation, Inc.
|
||||
|
||||
timestamp='2009-12-31'
|
||||
timestamp='2010-09-11'
|
||||
|
||||
# This file is (in principle) common to ALL GNU software.
|
||||
# The presence of a machine in this file suggests that SOME GNU software
|
||||
@ -124,8 +124,9 @@ esac
|
||||
# Here we must recognize all the valid KERNEL-OS combinations.
|
||||
maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
|
||||
case $maybe_os in
|
||||
nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \
|
||||
uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \
|
||||
nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
|
||||
linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
|
||||
knetbsd*-gnu* | netbsd*-gnu* | \
|
||||
kopensolaris*-gnu* | \
|
||||
storm-chaos* | os2-emx* | rtmk-nova*)
|
||||
os=-$maybe_os
|
||||
@ -282,6 +283,7 @@ case $basic_machine in
|
||||
| moxie \
|
||||
| mt \
|
||||
| msp430 \
|
||||
| nds32 | nds32le | nds32be\
|
||||
| nios | nios2 \
|
||||
| ns16k | ns32k \
|
||||
| or32 \
|
||||
@ -295,7 +297,7 @@ case $basic_machine in
|
||||
| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
|
||||
| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
|
||||
| spu | strongarm \
|
||||
| tahoe | thumb | tic4x | tic80 | tron \
|
||||
| tahoe | thumb | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
|
||||
| ubicom32 \
|
||||
| v850 | v850e \
|
||||
| we32k \
|
||||
@ -303,6 +305,15 @@ case $basic_machine in
|
||||
| z8k | z80)
|
||||
basic_machine=$basic_machine-unknown
|
||||
;;
|
||||
c54x)
|
||||
basic_machine=tic54x-unknown
|
||||
;;
|
||||
c55x)
|
||||
basic_machine=tic55x-unknown
|
||||
;;
|
||||
c6x)
|
||||
basic_machine=tic6x-unknown
|
||||
;;
|
||||
m6811 | m68hc11 | m6812 | m68hc12 | picochip)
|
||||
# Motorola 68HC11/12.
|
||||
basic_machine=$basic_machine-unknown
|
||||
@ -334,7 +345,7 @@ case $basic_machine in
|
||||
| arm-* | armbe-* | armle-* | armeb-* | armv*-* \
|
||||
| avr-* | avr32-* \
|
||||
| bfin-* | bs2000-* \
|
||||
| c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \
|
||||
| c[123]* | c30-* | [cjt]90-* | c4x-* \
|
||||
| clipper-* | craynv-* | cydra-* \
|
||||
| d10v-* | d30v-* | dlx-* \
|
||||
| elxsi-* \
|
||||
@ -368,6 +379,7 @@ case $basic_machine in
|
||||
| mmix-* \
|
||||
| mt-* \
|
||||
| msp430-* \
|
||||
| nds32-* | nds32le-* | nds32be-* \
|
||||
| nios-* | nios2-* \
|
||||
| none-* | np1-* | ns16k-* | ns32k-* \
|
||||
| orion-* \
|
||||
@ -381,7 +393,8 @@ case $basic_machine in
|
||||
| sparclite-* \
|
||||
| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \
|
||||
| tahoe-* | thumb-* \
|
||||
| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* | tile-* \
|
||||
| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
|
||||
| tile-* | tilegx-* \
|
||||
| tron-* \
|
||||
| ubicom32-* \
|
||||
| v850-* | v850e-* | vax-* \
|
||||
@ -481,6 +494,15 @@ case $basic_machine in
|
||||
basic_machine=powerpc-ibm
|
||||
os=-cnk
|
||||
;;
|
||||
c54x-*)
|
||||
basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
|
||||
;;
|
||||
c55x-*)
|
||||
basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
|
||||
;;
|
||||
c6x-*)
|
||||
basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
|
||||
;;
|
||||
c90)
|
||||
basic_machine=c90-cray
|
||||
os=-unicos
|
||||
@ -840,6 +862,12 @@ case $basic_machine in
|
||||
np1)
|
||||
basic_machine=np1-gould
|
||||
;;
|
||||
neo-tandem)
|
||||
basic_machine=neo-tandem
|
||||
;;
|
||||
nse-tandem)
|
||||
basic_machine=nse-tandem
|
||||
;;
|
||||
nsr-tandem)
|
||||
basic_machine=nsr-tandem
|
||||
;;
|
||||
@ -1074,17 +1102,10 @@ case $basic_machine in
|
||||
basic_machine=t90-cray
|
||||
os=-unicos
|
||||
;;
|
||||
tic54x | c54x*)
|
||||
basic_machine=tic54x-unknown
|
||||
os=-coff
|
||||
;;
|
||||
tic55x | c55x*)
|
||||
basic_machine=tic55x-unknown
|
||||
os=-coff
|
||||
;;
|
||||
tic6x | c6x*)
|
||||
basic_machine=tic6x-unknown
|
||||
os=-coff
|
||||
# This must be matched before tile*.
|
||||
tilegx*)
|
||||
basic_machine=tilegx-unknown
|
||||
os=-linux-gnu
|
||||
;;
|
||||
tile*)
|
||||
basic_machine=tile-unknown
|
||||
@ -1295,7 +1316,8 @@ case $os in
|
||||
| -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
|
||||
| -chorusos* | -chorusrdb* | -cegcc* \
|
||||
| -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
|
||||
| -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \
|
||||
| -mingw32* | -linux-gnu* | -linux-android* \
|
||||
| -linux-newlib* | -linux-uclibc* \
|
||||
| -uxpv* | -beos* | -mpeix* | -udk* \
|
||||
| -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
|
||||
| -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
|
||||
@ -1478,6 +1500,15 @@ case $basic_machine in
|
||||
c4x-* | tic4x-*)
|
||||
os=-coff
|
||||
;;
|
||||
tic54x-*)
|
||||
os=-coff
|
||||
;;
|
||||
tic55x-*)
|
||||
os=-coff
|
||||
;;
|
||||
tic6x-*)
|
||||
os=-coff
|
||||
;;
|
||||
# This must come before the *-dec entry.
|
||||
pdp10-*)
|
||||
os=-tops20
|
||||
|
3243
contrib/dialog/configure
vendored
3243
contrib/dialog/configure
vendored
File diff suppressed because it is too large
Load Diff
@ -1,11 +1,36 @@
|
||||
dnl $Id: configure.in,v 1.57 2010/04/28 20:33:01 tom Exp $
|
||||
dnl $Id: configure.in,v 1.64 2011/03/01 00:59:50 tom Exp $
|
||||
dnl Process this file with autoconf to produce a configure script.
|
||||
dnl ---------------------------------------------------------------------------
|
||||
dnl Copyright 1999-2010,2011 -- Thomas E. Dickey
|
||||
dnl
|
||||
dnl Permission is hereby granted, free of charge, to any person obtaining a
|
||||
dnl copy of this software and associated documentation files (the
|
||||
dnl "Software"), to deal in the Software without restriction, including
|
||||
dnl without limitation the rights to use, copy, modify, merge, publish,
|
||||
dnl distribute, distribute with modifications, sublicense, and/or sell
|
||||
dnl copies of the Software, and to permit persons to whom the Software is
|
||||
dnl furnished to do so, subject to the following conditions:
|
||||
dnl
|
||||
dnl The above copyright notice and this permission notice shall be included
|
||||
dnl in all copies or portions of the Software.
|
||||
dnl
|
||||
dnl THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
||||
dnl OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
dnl MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||
dnl IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
|
||||
dnl DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
|
||||
dnl OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR
|
||||
dnl THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
dnl
|
||||
dnl Except as contained in this notice, the name(s) of the above copyright
|
||||
dnl holders shall not be used in advertising or otherwise to promote the
|
||||
dnl sale, use or other dealings in this Software without prior written
|
||||
dnl authorization.
|
||||
dnl ---------------------------------------------------------------------------
|
||||
AC_PREREQ(2.13.20020210)
|
||||
AC_INIT(dialog.h)
|
||||
AC_CONFIG_HEADER(dlg_config.h:config.hin)
|
||||
|
||||
CF_VERSION_INFO(dialog)
|
||||
AC_ARG_PROGRAM
|
||||
|
||||
DESTDIR=
|
||||
@ -38,6 +63,24 @@ CF_LARGEFILE
|
||||
|
||||
CF_WITH_WARNINGS
|
||||
|
||||
dnl
|
||||
dnl Allow dialog program and library to be renamed.
|
||||
AC_ARG_WITH(package,
|
||||
[ --with-package=XXX rename dialog to XXX, library to libXXX.a, etc],
|
||||
[PACKAGE=$withval],
|
||||
[PACKAGE=dialog])
|
||||
CF_VERSION_INFO(dialog,$PACKAGE)
|
||||
|
||||
dnl
|
||||
dnl If package is renamed, it is useful to have the dlg_XXX headers in a
|
||||
dnl subdirectory (using the package name) so that multiple versions of the
|
||||
dnl headers can coexist.
|
||||
AC_ARG_ENABLE(header-subdir,
|
||||
[ --enable-header-subdir install dlg_XXX headers to subdirectory],
|
||||
[SUB_INC=$enableval],
|
||||
[SUB_INC=no])
|
||||
AC_SUBST(SUB_INC)
|
||||
|
||||
dnl
|
||||
dnl Checks for libraries.
|
||||
dnl
|
||||
@ -62,6 +105,8 @@ if test "$with_libtool" = "yes" ; then
|
||||
fi
|
||||
AC_SUBST(LIBTOOL_MAKE)
|
||||
|
||||
CF_WITH_CURSES_DIR
|
||||
|
||||
use_ncurses=no
|
||||
AC_ARG_WITH(ncurses,
|
||||
[ --with-ncurses compile/link with ncurses library],
|
||||
@ -107,7 +152,7 @@ CF_ARG_MSG_ENABLE([if you want the form dialog],
|
||||
CF_ARG_MSG_ENABLE([if you want the gauge dialog],
|
||||
gauge,
|
||||
[ --disable-gauge do not include the gauge dialogs],
|
||||
[EXTRAOBJS="$EXTRAOBJS guage\$o pause\$o progressbox\$o"
|
||||
[EXTRAOBJS="$EXTRAOBJS guage\$o pause\$o prgbox\$o progressbox\$o"
|
||||
AC_DEFINE(HAVE_DLG_GAUGE)],,$cf_all_widgets)
|
||||
|
||||
CF_ARG_MSG_ENABLE([if you want the tailbox dialog],
|
||||
@ -150,14 +195,24 @@ dnl
|
||||
AC_TYPE_SIGNAL
|
||||
AC_CHECK_FUNCS(\
|
||||
_nc_free_and_exit \
|
||||
btowc \
|
||||
mblen \
|
||||
mbrlen \
|
||||
mbrtowc \
|
||||
mbtowc \
|
||||
strcasecmp \
|
||||
strftime \
|
||||
tsearch \
|
||||
waitpid \
|
||||
wcsrtombs \
|
||||
wcstombs \
|
||||
wctob \
|
||||
wctomb \
|
||||
)
|
||||
|
||||
CF_CURSES_FUNCS(\
|
||||
flushinp \
|
||||
getattrs \
|
||||
getbegx \
|
||||
getbegy \
|
||||
getbegyx \
|
||||
@ -175,6 +230,7 @@ wget_wch \
|
||||
|
||||
AC_CHECK_FUNC(start_color,[AC_DEFINE(HAVE_COLOR)])
|
||||
CF_CURSES_CHTYPE
|
||||
CF_CURSES_WACS_SYMBOLS
|
||||
CF_FUNC_WAIT
|
||||
CF_MBSTATE_T
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
#!@SHELL@
|
||||
# $Id: dialog-config.in,v 1.3 2007/02/25 19:33:58 tom Exp $
|
||||
# $Id: dialog-config.in,v 1.5 2011/01/06 09:38:03 tom Exp $
|
||||
##############################################################################
|
||||
# Copyright (c) 2007 Thomas E. Dickey #
|
||||
# Copyright (c) 2007,2011 Thomas E. Dickey #
|
||||
# #
|
||||
# Permission is hereby granted, free of charge, to any person obtaining a #
|
||||
# copy of this software and associated documentation files (the "Software"), #
|
||||
@ -36,7 +36,7 @@ libdir="@libdir@"
|
||||
datadir="@datadir@"
|
||||
mandir="@mandir@"
|
||||
|
||||
THIS="dialog"
|
||||
THIS="@PACKAGE@"
|
||||
|
||||
test $# = 0 && exec @SHELL@ $0 --error
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
'\" t
|
||||
.\" $Id: dialog.1,v 1.120 2010/01/18 10:19:07 tom Exp $
|
||||
.\" Copyright 2005-2008,2010 Thomas E. Dickey
|
||||
.\" $Id: dialog.1,v 1.126 2011/03/02 01:24:21 tom Exp $
|
||||
.\" Copyright 2005-2010,2011 Thomas E. Dickey
|
||||
.\"
|
||||
.\" This program is free software; you can redistribute it and/or modify
|
||||
.\" it under the terms of the GNU Lesser General Public License, version 2.1
|
||||
@ -16,6 +16,13 @@
|
||||
.\" Free Software Foundation, Inc.
|
||||
.\" 51 Franklin St., Fifth Floor
|
||||
.\" Boston, MA 02110, USA.
|
||||
.\"
|
||||
.\" definitions for renaming
|
||||
.ds p dialog
|
||||
.ds l dialog
|
||||
.ds L Dialog
|
||||
.ds D DIALOG
|
||||
.\"
|
||||
.de ES
|
||||
.ne 8
|
||||
.IP
|
||||
@ -29,25 +36,25 @@
|
||||
.RE
|
||||
..
|
||||
.
|
||||
.TH DIALOG 1 "" "$Date: 2010/01/18 10:19:07 $"
|
||||
.TH \*D 1 "" "$Date: 2011/03/02 01:24:21 $"
|
||||
.SH NAME
|
||||
dialog \- display dialog boxes from shell scripts
|
||||
\*p \- display dialog boxes from shell scripts
|
||||
.SH SYNOPSIS
|
||||
\fBdialog --clear\fP
|
||||
\fB\*p --clear\fP
|
||||
.br
|
||||
.BI "dialog --create-rc " file
|
||||
.BI "\*p --create-rc " file
|
||||
.br
|
||||
\fBdialog --print-maxsize\fP
|
||||
\fB\*p --print-maxsize\fP
|
||||
.br
|
||||
\fBdialog\fP
|
||||
\fB\*p\fP
|
||||
\fIcommon-options\fP
|
||||
\fIbox-options\fP
|
||||
.SH DESCRIPTION
|
||||
\fBDialog\fP
|
||||
\fB\*L\fP
|
||||
is a program that will let you to present a variety of questions or
|
||||
display messages using dialog boxes from a shell script.
|
||||
These types of dialog boxes are implemented
|
||||
(though not all are necessarily compiled into \fBdialog\fR):
|
||||
(though not all are necessarily compiled into \fB\*p\fR):
|
||||
.RS
|
||||
.LP
|
||||
.nh
|
||||
@ -69,6 +76,8 @@ These types of dialog boxes are implemented
|
||||
.BR passwordbox ", "
|
||||
.BR passwordform ", "
|
||||
.BR pause ", "
|
||||
.BR prgbox ", "
|
||||
.BR programbox ", "
|
||||
.BR progressbox ", "
|
||||
.BR radiolist ", "
|
||||
.BR tailbox ", "
|
||||
@ -83,19 +92,19 @@ These types of dialog boxes are implemented
|
||||
You can put more than one dialog box into a script:
|
||||
.TP 5
|
||||
-
|
||||
Use the "\fB--and-widget\fP" token to force Dialog to proceed to the next
|
||||
Use the "\fB--and-widget\fP" token to force \fB\*p\fP to proceed to the next
|
||||
dialog unless you have pressed ESC to cancel, or
|
||||
.TP 5
|
||||
-
|
||||
Simply add the tokens for the next dialog box, making a chain.
|
||||
Dialog stops chaining when the return code from a dialog is nonzero,
|
||||
\*L stops chaining when the return code from a dialog is nonzero,
|
||||
e.g., Cancel or No (see DIAGNOSTICS).
|
||||
.PP
|
||||
Some widgets, e.g., checklist, will write text to \fBdialog\fP's output.
|
||||
Some widgets, e.g., checklist, will write text to \fB\*p\fP's output.
|
||||
Normally that is the standard error, but there are options for
|
||||
changing this: "\fB--output-fd\fP", "\fB--stderr\fP" and "\fB--stdout\fP".
|
||||
No text is written if the Cancel button (or ESC) is pressed;
|
||||
\fBdialog\fP exits immediately in that case.
|
||||
\fB\*p\fP exits immediately in that case.
|
||||
.
|
||||
.\" ************************************************************************
|
||||
.SH OPTIONS
|
||||
@ -106,26 +115,26 @@ for the benefit of those using systems with deranged locale support).
|
||||
A "\fB--\fP" by itself is used as an escape,
|
||||
i.e., the next token on the command-line is not treated as an option.
|
||||
.RS
|
||||
.B dialog --title -- --Not an option
|
||||
.B \*p --title -- --Not an option
|
||||
.RE
|
||||
.PP
|
||||
The "\fB--args\fP" option tells \fBdialog\fP to list the command-line
|
||||
The "\fB--args\fP" option tells \fB\*p\fP to list the command-line
|
||||
parameters to the standard error.
|
||||
This is useful when debugging complex scripts using
|
||||
the "\fB--\fP" and "\fB--file\fP",
|
||||
since the command-line may be rewritten as these are expanded.
|
||||
.PP
|
||||
The "\fB--file\fP" option tells \fBdialog\fP to read parameters from
|
||||
The "\fB--file\fP" option tells \fB\*p\fP to read parameters from
|
||||
the file named as its value.
|
||||
.RS
|
||||
.B dialog --file \fIparameterfile
|
||||
.B \*p --file \fIparameterfile
|
||||
.RE
|
||||
Blanks not within double-quotes are discarded
|
||||
(use backslashes to quote single characters).
|
||||
The result is inserted into the command-line,
|
||||
replacing "\fB--file\fP" and its option value.
|
||||
Interpretation of the command-line resumes from that point.
|
||||
If \fIparameterfile\fP begins with "&", \fBdialog\fP
|
||||
If \fIparameterfile\fP begins with "&", \fB\*p\fP
|
||||
interprets the following text as a file descriptor number
|
||||
rather than a filename.
|
||||
.
|
||||
@ -164,7 +173,8 @@ To compare the effects, use these:
|
||||
.ES
|
||||
All three widgets visible, staircase effect, ordered 1,2,3:
|
||||
.EX
|
||||
dialog --begin 2 2 --yesno "" 0 0 \\
|
||||
\*p \
|
||||
--begin 2 2 --yesno "" 0 0 \\
|
||||
--and-widget --begin 4 4 --yesno "" 0 0 \\
|
||||
--and-widget --begin 6 6 --yesno "" 0 0
|
||||
.EE
|
||||
@ -172,7 +182,8 @@ dialog --begin 2 2 --yesno "" 0 0 \\
|
||||
.ES
|
||||
Only the last widget is left visible:
|
||||
.EX
|
||||
dialog --clear --begin 2 2 --yesno "" 0 0 \\
|
||||
\*p \
|
||||
--clear --begin 2 2 --yesno "" 0 0 \\
|
||||
--and-widget --clear --begin 4 4 --yesno "" 0 0 \\
|
||||
--and-widget --begin 6 6 --yesno "" 0 0
|
||||
.EE
|
||||
@ -180,7 +191,8 @@ dialog --clear --begin 2 2 --yesno "" 0 0 \\
|
||||
.ES
|
||||
All three widgets visible, staircase effect, ordered 3,2,1:
|
||||
.EX
|
||||
dialog --keep-window --begin 2 2 --yesno "" 0 0 \\
|
||||
\*p \
|
||||
--keep-window --begin 2 2 --yesno "" 0 0 \\
|
||||
--and-widget --keep-window --begin 4 4 --yesno "" 0 0 \\
|
||||
--and-widget --begin 6 6 --yesno "" 0 0
|
||||
.EE
|
||||
@ -188,7 +200,8 @@ dialog --keep-window --begin 2 2 --yesno "" 0 0 \\
|
||||
.ES
|
||||
First and third widget visible, staircase effect, ordered 3,1:
|
||||
.EX
|
||||
dialog --keep-window --begin 2 2 --yesno "" 0 0 \\
|
||||
\*p \
|
||||
--keep-window --begin 2 2 --yesno "" 0 0 \\
|
||||
--and-widget --clear --begin 4 4 --yesno "" 0 0 \\
|
||||
--and-widget --begin 6 6 --yesno "" 0 0
|
||||
.EE
|
||||
@ -200,7 +213,7 @@ command.
|
||||
.IP "\fB--colors"
|
||||
Interpret embedded "\\Z" sequences in the dialog text
|
||||
by the following character,
|
||||
which tells \fBdialog\fP to set colors or video attributes:
|
||||
which tells \fB\*p\fP to set colors or video attributes:
|
||||
0 through 7 are the ANSI used in curses:
|
||||
black,
|
||||
red,
|
||||
@ -218,14 +231,14 @@ bold (perhaps bright) red.
|
||||
Restore normal settings with "\\Zn".
|
||||
.
|
||||
.IP "\fB--column-separator \fIstring"
|
||||
Tell \fBdialog\fP to split data for radio/checkboxes and menus on the
|
||||
Tell \fB\*p\fP to split data for radio/checkboxes and menus on the
|
||||
occurrences of the given string, and to align the split data into columns.
|
||||
.
|
||||
.IP "\fB--cr-wrap"
|
||||
Interpret embedded newlines in the dialog text as a newline on the screen.
|
||||
Otherwise, \fBdialog\fR will only wrap lines where needed to fit inside the text box.
|
||||
Otherwise, \fB\*p\fR will only wrap lines where needed to fit inside the text box.
|
||||
Even though you can control line breaks with this,
|
||||
\fBdialog\fR will still wrap any lines that are too long for the width of the box.
|
||||
\fB\*L\fR will still wrap any lines that are too long for the width of the box.
|
||||
Without cr-wrap, the layout of your text may be formatted to look nice
|
||||
in the source code of your script without affecting the way it will
|
||||
look in the dialog.
|
||||
@ -234,7 +247,7 @@ See also the "\fB--no-collapse\fP" and "\fB--trim\fP" options.
|
||||
.
|
||||
.IP "\fB--create-rc \fIfile"
|
||||
When
|
||||
\fBdialog\fP
|
||||
\fB\*p\fP
|
||||
supports run-time configuration,
|
||||
this can be used to dump a sample configuration file to the file specified
|
||||
by
|
||||
@ -272,7 +285,7 @@ Override the label used for "Extra" buttons.
|
||||
Note: for inputmenu widgets, this defaults to "Rename".
|
||||
.
|
||||
.IP "\fB--help"
|
||||
Prints the help message to \fBdialog\fP's output.
|
||||
Prints the help message to \fB\*p\fP's output.
|
||||
The help message is printed if no options are given.
|
||||
.
|
||||
.IP "\fB--help-button"
|
||||
@ -280,7 +293,7 @@ Show a help-button after "OK" and "Cancel" buttons,
|
||||
i.e., in checklist, radiolist and menu boxes.
|
||||
If "\fB--item-help\fR" is also given, on exit
|
||||
the return status will be the same as for the "OK" button,
|
||||
and the item-help text will be written to \fBdialog\fP's output after the token "HELP".
|
||||
and the item-help text will be written to \fB\*p\fP's output after the token "HELP".
|
||||
Otherwise, the return status will indicate that the Help button was pressed,
|
||||
and no message printed.
|
||||
.
|
||||
@ -295,16 +308,16 @@ This can be used to reconstruct the state of a checklist after processing
|
||||
the help request.
|
||||
.
|
||||
.IP "\fB--ignore"
|
||||
Ignore options that \fBdialog\fP does not recognize.
|
||||
Ignore options that \fB\*p\fP does not recognize.
|
||||
Some well-known ones such as "\fB--icon\fP" are ignored anyway,
|
||||
but this is a better choice for compatibility with other implementations.
|
||||
.
|
||||
.IP "\fB--input-fd \fIfd"
|
||||
Read keyboard input from the given file descriptor.
|
||||
Most \fBdialog\fR scripts read from the standard input,
|
||||
Most \fB\*p\fR scripts read from the standard input,
|
||||
but the gauge widget reads a pipe (which is always standard input).
|
||||
Some configurations do not work properly when
|
||||
\fBdialog\fP tries to reopen the terminal.
|
||||
\fB\*p\fP tries to reopen the terminal.
|
||||
Use this option (with appropriate juggling of file-descriptors)
|
||||
if your script must work in that type of environment.
|
||||
.
|
||||
@ -318,21 +331,21 @@ adding a column which is displayed in the bottom line of the
|
||||
screen, for the currently selected item.
|
||||
.
|
||||
.IP "\fB--keep-tite"
|
||||
Normally \fBdialog\fP checks to see if it is running in an \fBxterm\fP,
|
||||
Normally \fB\*p\fP checks to see if it is running in an \fBxterm\fP,
|
||||
and in that case tries to suppress the initialization strings that
|
||||
would make it switch to the alternate screen.
|
||||
Switching between the normal and alternate screens
|
||||
is visually distracting in a script which runs \fBdialog\fP
|
||||
is visually distracting in a script which runs \fB\*p\fP
|
||||
several times.
|
||||
Use this option to allow \fBdialog\fP to use those initialization strings.
|
||||
Use this option to allow \fB\*p\fP to use those initialization strings.
|
||||
.
|
||||
.IP "\fB--keep-window"
|
||||
Normally when \fBdialog\fR performs several \fBtailboxbg\fR widgets
|
||||
Normally when \fB\*p\fR performs several \fBtailboxbg\fR widgets
|
||||
connected by "\fB--and-widget\fR",
|
||||
it clears the old widget from the screen by painting over it.
|
||||
Use this option to suppress that repainting.
|
||||
.IP
|
||||
At exit, \fBdialog\fR repaints all of the widgets which have been
|
||||
At exit, \fB\*p\fR repaints all of the widgets which have been
|
||||
marked with "\fB--keep-window\fR", even if they are not \fBtailboxbg\fR widgets.
|
||||
That causes them to be repainted in reverse order.
|
||||
See the discussion of the "\fB--clear\fR" option for examples.
|
||||
@ -347,19 +360,19 @@ Suppress the "Cancel" button in checklist, inputbox and menu box modes.
|
||||
A script can still test if the user pressed the ESC key to cancel to quit.
|
||||
.
|
||||
.IP "\fB--no-collapse"
|
||||
Normally \fBdialog\fR converts tabs to spaces and reduces multiple
|
||||
Normally \fB\*p\fR converts tabs to spaces and reduces multiple
|
||||
spaces to a single space for text which is displayed in a message boxes, etc.
|
||||
Use this option to disable that feature.
|
||||
Note that \fBdialog\fR will still wrap text,
|
||||
Note that \fB\*p\fR will still wrap text,
|
||||
subject to the "\fB--cr-wrap\fR" and "\fB--trim\fR" options.
|
||||
.
|
||||
.IP "\fB--no-kill"
|
||||
Tells
|
||||
\fBdialog\fP
|
||||
\fB\*p\fP
|
||||
to put the
|
||||
\fBtailboxbg\fP
|
||||
box in the background,
|
||||
printing its process id to \fBdialog\fP's output.
|
||||
printing its process id to \fB\*p\fP's output.
|
||||
SIGHUP is disabled for the background process.
|
||||
.
|
||||
.IP "\fB--no-label \fIstring"
|
||||
@ -369,6 +382,9 @@ Override the label used for "No" buttons.
|
||||
Rather than draw lines around boxes, draw spaces in the same place.
|
||||
See also "\fB--ascii-lines\fR".
|
||||
.
|
||||
.IP "\fB--no-mouse
|
||||
Do not enable the mouse.
|
||||
.
|
||||
.IP "\fB--no-ok"
|
||||
.IP "\fB--nook"
|
||||
Suppress the "OK" button in checklist, inputbox and menu box modes.
|
||||
@ -383,26 +399,26 @@ Override the label used for "OK" buttons.
|
||||
.
|
||||
.IP "\fB--output-fd \fIfd"
|
||||
Direct output to the given file descriptor.
|
||||
Most \fBdialog\fR scripts write to the standard error,
|
||||
Most \fB\*p\fR scripts write to the standard error,
|
||||
but error messages may also be written there, depending on your script.
|
||||
.
|
||||
.IP "\fB--separator \fIstring"
|
||||
.IP "\fB--output-separator\fIstring"
|
||||
Specify a string that will separate the output on \fBdialog\fP's output from
|
||||
Specify a string that will separate the output on \fB\*p\fP's output from
|
||||
checklists, rather than a newline (for --separate-output) or a space.
|
||||
This applies to other widgets such as forms and editboxes which normally
|
||||
use a newline.
|
||||
.
|
||||
.IP "\fB--print-maxsize"
|
||||
Print the maximum size of dialog boxes, i.e., the screen size,
|
||||
to \fBdialog\fP's output.
|
||||
to \fB\*p\fP's output.
|
||||
This may be used alone, without other options.
|
||||
.
|
||||
.IP "\fB--print-size"
|
||||
Prints the size of each dialog box to \fBdialog\fP's output.
|
||||
Prints the size of each dialog box to \fB\*p\fP's output.
|
||||
.
|
||||
.IP "\fB--print-version"
|
||||
Prints \fBdialog\fR's version to \fBdialog\fP's output.
|
||||
Prints \fB\*p\fR's version to \fB\*p\fP's output.
|
||||
This may be used alone, without other options.
|
||||
.
|
||||
.IP "\fB--scrollbar \fIstring"
|
||||
@ -415,7 +431,7 @@ For checklist widgets, output result one line at a time, with no quoting.
|
||||
This facilitates parsing by another program.
|
||||
.
|
||||
.IP "\fB--separate-widget \fIstring"
|
||||
Specify a string that will separate the output on \fBdialog\fP's output from
|
||||
Specify a string that will separate the output on \fB\*p\fP's output from
|
||||
each widget.
|
||||
This is used to simplify parsing the result of a dialog with several widgets.
|
||||
If this option is not given,
|
||||
@ -427,7 +443,7 @@ Draw a shadow to the right and bottom of each dialog box.
|
||||
.IP "\fB--single-quoted"
|
||||
Use single-quoting as needed (and no quotes if unneeded) for the
|
||||
output of checklist's as well as the item-help text.
|
||||
If this option is not set, \fBdialog\fP uses double quotes around each item.
|
||||
If this option is not set, \fB\*p\fP uses double quotes around each item.
|
||||
That requires occasional use of backslashes to make the output useful in
|
||||
shell scripts.
|
||||
.
|
||||
@ -449,7 +465,7 @@ Direct output to the standard output.
|
||||
This option is provided for compatibility with Xdialog,
|
||||
however using it in portable scripts is not recommended,
|
||||
since curses normally writes its screen updates to the standard output.
|
||||
If you use this option, \fBdialog\fR attempts to reopen the terminal
|
||||
If you use this option, \fB\*p\fR attempts to reopen the terminal
|
||||
so it can write to the display.
|
||||
Depending on the platform and your environment, that may fail.
|
||||
.
|
||||
@ -482,7 +498,9 @@ Specifies a
|
||||
string to be displayed at the top of the dialog box.
|
||||
.
|
||||
.IP "\fB--trace \fIfilename"
|
||||
logs keystrokes to the given file.
|
||||
logs the command-line parameters and
|
||||
keystrokes to the given file.
|
||||
If \fBdialog\fP reads a configure file, it is logged as well.
|
||||
Use control/T to log a picture of the current dialog window.
|
||||
.
|
||||
.IP "\fB--trim"
|
||||
@ -556,7 +574,7 @@ The initial on/off state of each entry is specified by
|
||||
.IP
|
||||
On exit, a list of the \fItag\fP
|
||||
strings of those entries that are turned on
|
||||
will be printed on \fBdialog\fP's output.
|
||||
will be printed on \fB\*p\fP's output.
|
||||
If the "\fB--separate-output\fP" option is not given,
|
||||
the strings will be quoted to make it simple for scripts to separate them.
|
||||
See the "\fB--single-quoted\fP" option, which modifies the quoting behavior.
|
||||
@ -585,7 +603,7 @@ window to the closest match.
|
||||
Use a carriage return or the "OK" button to accept the current value
|
||||
in the text-entry window and exit.
|
||||
.IP
|
||||
On exit, the contents of the text-entry window are written to \fBdialog\fP's output.
|
||||
On exit, the contents of the text-entry window are written to \fB\*p\fP's output.
|
||||
.
|
||||
.IP "\fB--editbox \fIfilepath height width\fR"
|
||||
The edit-box dialog displays a copy of the file.
|
||||
@ -597,7 +615,7 @@ Unlike the \fB--inputbox\fP,
|
||||
you must tab to the "OK" or "Cancel" buttons to close the dialog.
|
||||
Pressing the "Enter" key within the box will split the corresponding line.
|
||||
.IP
|
||||
On exit, the contents of the edit window are written to \fBdialog\fP's output.
|
||||
On exit, the contents of the edit window are written to \fB\*p\fP's output.
|
||||
.
|
||||
.nf
|
||||
.IP "\fB--form \fItext height width formheight \fR[ \fIlabel y x item y x flen ilen \fR] \fI..."
|
||||
@ -626,7 +644,7 @@ If \fIilen\fR is zero, it is set to \fIflen\fR.
|
||||
Use up/down arrows (or control/N, control/P) to move between fields.
|
||||
Use tab to move between windows.
|
||||
.IP
|
||||
On exit, the contents of the form-fields are written to \fBdialog\fP's output,
|
||||
On exit, the contents of the form-fields are written to \fB\*p\fP's output,
|
||||
each field separated by a newline.
|
||||
The text used to fill non-editable fields
|
||||
(\fIflen\fR is zero or negative)
|
||||
@ -654,14 +672,14 @@ Typing any printable characters switches focus to the text-entry window,
|
||||
entering that character as well as scrolling the directory and filename
|
||||
windows to the closest match.
|
||||
.IP
|
||||
Typing the space character forces \fBdialog\fP to complete the current
|
||||
Typing the space character forces \fB\*p\fP to complete the current
|
||||
name (up to the point where there may be a match against more than one
|
||||
entry).
|
||||
.IP
|
||||
Use a carriage return or the "OK" button to accept the current value
|
||||
in the text-entry window and exit.
|
||||
.IP
|
||||
On exit, the contents of the text-entry window are written to \fBdialog\fP's output.
|
||||
On exit, the contents of the text-entry window are written to \fB\*p\fP's output.
|
||||
.
|
||||
.
|
||||
.IP "\fB--gauge \fItext height width [percent]\fR"
|
||||
@ -681,22 +699,22 @@ The gauge exits when EOF is reached on the standard input.
|
||||
The \fIpercent\fR value denotes the initial percentage shown in the meter.
|
||||
If not specified, it is zero.
|
||||
.IP
|
||||
On exit, no text is written to \fBdialog\fP's output.
|
||||
On exit, no text is written to \fB\*p\fP's output.
|
||||
The widget accepts no input, so the exit status is always OK.
|
||||
.
|
||||
.
|
||||
.IP "\fB--infobox \fItext height width"
|
||||
An \fBinfo\fP box is basically a \fBmessage\fP box.
|
||||
However, in this case, \fBdialog\fP
|
||||
However, in this case, \fB\*p\fP
|
||||
will exit immediately after displaying the message to the user.
|
||||
The screen is not cleared when \fBdialog\fP
|
||||
The screen is not cleared when \fB\*p\fP
|
||||
exits, so that the message will remain on the screen until the calling
|
||||
shell script clears it later.
|
||||
This is useful when you want to inform
|
||||
the user that some operations are carrying on that may require some
|
||||
time to finish.
|
||||
.IP
|
||||
On exit, no text is written to \fBdialog\fP's output.
|
||||
On exit, no text is written to \fB\*p\fP's output.
|
||||
Only an "OK" button is provided for input,
|
||||
but an ESC exit status may be returned.
|
||||
.
|
||||
@ -714,7 +732,7 @@ can be used to correct typing errors.
|
||||
If the input string is longer than
|
||||
can fit in the dialog box, the input field will be scrolled.
|
||||
.IP
|
||||
On exit, the input string will be printed on \fBdialog\fP's output.
|
||||
On exit, the input string will be printed on \fB\*p\fP's output.
|
||||
.
|
||||
.
|
||||
.IP "\fB--inputmenu \fItext height width menu-height \fR[ \fItag item \fR] \fI..."
|
||||
@ -733,7 +751,7 @@ the current item when it is pressed.
|
||||
It is possible to rename the current entry by pressing the
|
||||
\fIRename\fP
|
||||
button.
|
||||
Then \fBdialog\fP will write the following on \fBdialog\fP's output.
|
||||
Then \fB\*p\fP will write the following on \fB\*p\fP's output.
|
||||
.IP
|
||||
RENAMED <tag> <item>
|
||||
.RE
|
||||
@ -759,7 +777,7 @@ entries displayed in the menu at one time, but the menu will be
|
||||
scrolled if there are more entries than that.
|
||||
.IP
|
||||
On exit the \fItag\fP
|
||||
of the chosen menu entry will be printed on \fBdialog\fP's output.
|
||||
of the chosen menu entry will be printed on \fB\*p\fP's output.
|
||||
If the "\fB--help-button\fR" option is given, the corresponding help
|
||||
text will be printed if the user selects the help button.
|
||||
.
|
||||
@ -787,7 +805,7 @@ The meter indicates the percentage.
|
||||
.IP
|
||||
It also displays a list of the \fItag\fP- and \fIitem\fP-values at the
|
||||
top of the box.
|
||||
See dialog(3) for the tag values.
|
||||
See \*l(3) for the tag values.
|
||||
.IP
|
||||
The \fItext\fP is shown as a caption between the list and meter.
|
||||
The \fIpercent\fR value denotes the initial percentage shown in the meter.
|
||||
@ -795,7 +813,7 @@ The \fIpercent\fR value denotes the initial percentage shown in the meter.
|
||||
No provision is made for reading data from the standard input as \fB--gauge\fP
|
||||
does.
|
||||
.IP
|
||||
On exit, no text is written to \fBdialog\fP's output.
|
||||
On exit, no text is written to \fB\*p\fP's output.
|
||||
The widget accepts no input, so the exit status is always OK.
|
||||
.
|
||||
.IP "\fB--msgbox \fItext height width"
|
||||
@ -804,14 +822,14 @@ The only difference between a \fBmessage\fP box and a \fByes/no\fP
|
||||
box is that a \fBmessage\fP box has only a single \fBOK\fP button.
|
||||
You can use this dialog box to display any message you like.
|
||||
After reading the message, the user can press the \fIENTER\fP key so that
|
||||
\fBdialog\fP will exit and the calling shell script can continue its operation.
|
||||
\fB\*p\fP will exit and the calling shell script can continue its operation.
|
||||
.IP
|
||||
If the message is too large for the space,
|
||||
\fBdialog\fP may allow you to scroll it,
|
||||
\fB\*p\fP may allow you to scroll it,
|
||||
provided that the underlying curses implementation is capable enough.
|
||||
In this case, a percentage is shown in the base of the widget.
|
||||
.IP
|
||||
On exit, no text is written to \fBdialog\fP's output.
|
||||
On exit, no text is written to \fB\*p\fP's output.
|
||||
Only an "OK" button is provided for input,
|
||||
but an ESC exit status may be returned.
|
||||
.
|
||||
@ -838,7 +856,7 @@ cannot see.
|
||||
For these reasons, using "init" is highly discouraged.
|
||||
See "\fB--insecure\fP" if you do not care about your password.
|
||||
.IP
|
||||
On exit, the input string will be printed on \fBdialog\fP's output.
|
||||
On exit, the input string will be printed on \fB\*p\fP's output.
|
||||
.
|
||||
.
|
||||
.nf
|
||||
@ -848,6 +866,36 @@ This is identical to \fB--form\fP except that all text fields are
|
||||
treated as \fBpassword\fP widgets rather than \fBinputbox\fP widgets.
|
||||
.
|
||||
.
|
||||
.IP "\fB--prgbox \fItext command height width"
|
||||
.IP "\fB--prgbox \fIcommand height width"
|
||||
A \fBprgbox\fP is very similar to a \fBprogrambox\fP.
|
||||
.IP
|
||||
This dialog box is used to display the output of a command that is
|
||||
specified as an argument to \fBprgbox\fP.
|
||||
.IP
|
||||
After the command completes, the user can press the \fIENTER\fP key so that
|
||||
\fBdialog\fP will exit and the calling shell script can continue its operation.
|
||||
.IP
|
||||
If three parameters are given, it displays the text under the title,
|
||||
delineated from the scrolling file's contents.
|
||||
If only two parameters are given, this text is omitted.
|
||||
.
|
||||
.
|
||||
.IP "\fB--programbox \fItext height width"
|
||||
.IP "\fB--programbox \fIheight width"
|
||||
A \fBprogrambox\fP is very similar to a \fBprogressbox\fP.
|
||||
The only difference between a \fBprogram\fP box and a \fBprogress\fP
|
||||
box is that a \fBprogram\fP box displays an \fBOK\fP button.
|
||||
.IP
|
||||
This dialog box is used to display the piped output of a command.
|
||||
After the command completes, the user can press the \fIENTER\fP key so that
|
||||
\fBdialog\fP will exit and the calling shell script can continue its operation.
|
||||
.IP
|
||||
If three parameters are given, it displays the text under the title,
|
||||
delineated from the scrolling file's contents.
|
||||
If only two parameters are given, this text is omitted.
|
||||
.
|
||||
.
|
||||
.IP "\fB--progressbox \fItext height width"
|
||||
.IP "\fB--progressbox \fIheight width"
|
||||
A \fBprogressbox\fP is similar to an \fBtailbox\fP,
|
||||
@ -867,7 +915,7 @@ The only difference is
|
||||
that you can indicate which entry is currently selected, by setting its
|
||||
.IR status " to " on "."
|
||||
.IP
|
||||
On exit, the name of the selected item is written to \fBdialog\fP's output.
|
||||
On exit, the name of the selected item is written to \fB\*p\fP's output.
|
||||
.
|
||||
.
|
||||
.IP "\fB--tailbox \fIfile height width"
|
||||
@ -875,7 +923,7 @@ Display text from a file in a dialog box, as in a "tail -f" command.
|
||||
Scroll left/right using vi-style 'h' and 'l', or arrow-keys.
|
||||
A '0' resets the scrolling.
|
||||
.IP
|
||||
On exit, no text is written to \fBdialog\fP's output.
|
||||
On exit, no text is written to \fB\*p\fP's output.
|
||||
Only an "OK" button is provided for input,
|
||||
but an ESC exit status may be returned.
|
||||
.
|
||||
@ -886,23 +934,23 @@ as in a "tail -f &" command.
|
||||
Scroll left/right using vi-style 'h' and 'l', or arrow-keys.
|
||||
A '0' resets the scrolling.
|
||||
.IP
|
||||
Dialog treats the background task specially if there are other
|
||||
\*L treats the background task specially if there are other
|
||||
widgets (\fB--and-widget\fP) on the screen concurrently.
|
||||
Until those widgets are closed (e.g., an "OK"),
|
||||
\fBdialog\fP will perform all of the tailboxbg widgets in the same process,
|
||||
\fB\*p\fP will perform all of the tailboxbg widgets in the same process,
|
||||
polling for updates.
|
||||
You may use a tab to traverse between the widgets on the screen,
|
||||
and close them individually, e.g., by pressing \fIENTER\fP.
|
||||
Once the non-tailboxbg widgets are closed, \fBdialog\fP forks a copy of itself
|
||||
Once the non-tailboxbg widgets are closed, \fB\*p\fP forks a copy of itself
|
||||
into the background, and prints its process id if the "\fB--no-kill\fP" option
|
||||
is given.
|
||||
.IP
|
||||
On exit, no text is written to \fBdialog\fP's output.
|
||||
On exit, no text is written to \fB\*p\fP's output.
|
||||
Only an "EXIT" button is provided for input,
|
||||
but an ESC exit status may be returned.
|
||||
.IP
|
||||
NOTE:
|
||||
Older versions of \fBdialog\fP forked immediately and attempted to
|
||||
Older versions of \fB\*p\fP forked immediately and attempted to
|
||||
update the screen individually.
|
||||
Besides being bad for performance,
|
||||
it was unworkable.
|
||||
@ -928,7 +976,7 @@ A '0' resets the left/right scrolling.
|
||||
For more convenience,
|
||||
vi-style forward and backward searching functions are also provided.
|
||||
.IP
|
||||
On exit, no text is written to \fBdialog\fP's output.
|
||||
On exit, no text is written to \fB\*p\fP's output.
|
||||
Only an "EXIT" button is provided for input,
|
||||
but an ESC exit status may be returned.
|
||||
.
|
||||
@ -971,7 +1019,7 @@ button and a
|
||||
button, in which the user can switch between by pressing the
|
||||
.IR TAB " key."
|
||||
.IP
|
||||
On exit, no text is written to \fBdialog\fP's output.
|
||||
On exit, no text is written to \fB\*p\fP's output.
|
||||
In addition to the "Yes" and "No" exit codes (see DIAGNOSTICS)
|
||||
an ESC exit status may be returned.
|
||||
.IP
|
||||
@ -996,11 +1044,11 @@ Beep after a user has completed a widget by pressing one of the buttons.
|
||||
Create a sample configuration file by typing:
|
||||
.LP
|
||||
.in +1i
|
||||
"dialog --create-rc <file>"
|
||||
"\*p --create-rc <file>"
|
||||
.TP 4
|
||||
2.
|
||||
At start,
|
||||
\fBdialog\fP
|
||||
\fB\*p\fP
|
||||
determines the settings to use as follows:
|
||||
.RS
|
||||
.TP 4
|
||||
@ -1024,14 +1072,14 @@ if the file in (c) is not found, use compiled in defaults.
|
||||
.TP 4
|
||||
3.
|
||||
Edit the sample configuration file and copy it to some place that
|
||||
\fBdialog\fP
|
||||
\fB\*p\fP
|
||||
can find, as stated in step 2 above.
|
||||
.
|
||||
.\" ************************************************************************
|
||||
.SH "KEY BINDINGS"
|
||||
You can override or add to key bindings in \fBdialog\fP
|
||||
You can override or add to key bindings in \fB\*p\fP
|
||||
by adding to the configuration file.
|
||||
\fBDialog\fP's \fBbindkey\fP command maps single keys to its internal coding.
|
||||
\fB\*L\fP's \fBbindkey\fP command maps single keys to its internal coding.
|
||||
.EX
|
||||
bindkey \fIwidget\fP \fIcurses_key\fP \fIdialog_key\fP
|
||||
.EE
|
||||
@ -1042,11 +1090,11 @@ User-defined bindings override the built-in bindings.
|
||||
.PP
|
||||
The \fIcurses_key\fP can be any of the names derived from
|
||||
\fBcurses.h\fP, e.g., "HELP" from "KEY_HELP".
|
||||
\fBDialog\fP also recognizes ANSI control characters such as "^A", "^?",
|
||||
\fB\*L\fP also recognizes ANSI control characters such as "^A", "^?",
|
||||
as well as C1-controls such as "~A" and "~?".
|
||||
Finally, it allows any single character to be escaped with a backslash.
|
||||
.PP
|
||||
\fBDialog\fP's internal keycode names correspond to the
|
||||
\fB\*L\fP's internal keycode names correspond to the
|
||||
\fBDLG_KEYS_ENUM\fP type in
|
||||
\fBdlg_keys.h\fP, e.g., "HELP" from "DLGK_HELP".
|
||||
.
|
||||
@ -1057,7 +1105,7 @@ Finally, it allows any single character to be escaped with a backslash.
|
||||
Define this variable to apply any of the common options to each widget.
|
||||
Most of the common options are reset before processing each widget.
|
||||
If you set the options in this environment variable,
|
||||
they are applied to \fBdialog\fP's state after the reset.
|
||||
they are applied to \fB\*p\fP's state after the reset.
|
||||
As in the "\fB--file\fP" option,
|
||||
double-quotes and backslashes are interpreted.
|
||||
.IP
|
||||
@ -1093,14 +1141,14 @@ Normally shell scripts cannot distinguish between -1 and 255.
|
||||
.TP 15
|
||||
\fBDIALOG_TTY\fP
|
||||
Set this variable to "1" to provide compatibility with older versions
|
||||
of \fBdialog\fP which assumed that if the script redirects the standard output,
|
||||
of \fB\*p\fP which assumed that if the script redirects the standard output,
|
||||
that the "\fB--stdout\fP" option was given.
|
||||
.SH FILES
|
||||
.TP 20
|
||||
\fI$HOME/.dialogrc\fP
|
||||
default configuration file
|
||||
.SH EXAMPLES
|
||||
The \fBdialog\fP sources contain several samples
|
||||
The \fB\*p\fP sources contain several samples
|
||||
of how to use the different box options and how they look.
|
||||
Just take a look into the directory \fBsamples/\fP of the source.
|
||||
.SH DIAGNOSTICS
|
||||
@ -1109,7 +1157,7 @@ Normally they are:
|
||||
.TP 5
|
||||
0
|
||||
if
|
||||
.BR dialog " is exited by pressing the " Yes " or " OK
|
||||
.BR \*p " is exited by pressing the " Yes " or " OK
|
||||
button.
|
||||
.TP 5
|
||||
1
|
||||
@ -1132,24 +1180,24 @@ if the
|
||||
button is pressed.
|
||||
.TP 5
|
||||
-1
|
||||
if errors occur inside \fBdialog\fP
|
||||
or \fBdialog\fP is exited by pressing the \fIESC\fP key.
|
||||
if errors occur inside \fB\*p\fP
|
||||
or \fB\*p\fP is exited by pressing the \fIESC\fP key.
|
||||
.
|
||||
.\" ************************************************************************
|
||||
.SH PORTABILITY
|
||||
\fBdialog\fP works with X/Open curses.
|
||||
\fB\*L\fP works with X/Open curses.
|
||||
However, some implementations have deficiencies:
|
||||
.RS 3
|
||||
.TP 3
|
||||
-
|
||||
HPUX curses (and perhaps others) do not open the terminal properly for
|
||||
the \fInewterm\fP function.
|
||||
This interferes with \fBdialog\fP's \fB--input-fd\fP option,
|
||||
This interferes with \fB\*p\fP's \fB--input-fd\fP option,
|
||||
by preventing cursor-keys and similar escape sequences from being recognized.
|
||||
.TP 3
|
||||
-
|
||||
NetBSD curses does not support subwindows of subwindows.
|
||||
\fBdialog\fP will not display shadows of windows.
|
||||
NetBSD 5.1 curses has incomplete support for wide-characters.
|
||||
\fB\*p\fP will build, but not all examples display properly.
|
||||
.RE
|
||||
.\" ************************************************************************
|
||||
.SH COMPATIBILITY
|
||||
@ -1158,7 +1206,7 @@ You may want to write scripts which run with other \fBdialog\fP "clones".
|
||||
First, there is the "original" \fBdialog\fP program to consider (versions
|
||||
0.3 to 0.9).
|
||||
It had some misspelled (or inconsistent) options.
|
||||
The \fBdialog\fP program maps those deprecated options to the preferred ones.
|
||||
The \fB\*p\fP program maps those deprecated options to the preferred ones.
|
||||
They include:
|
||||
.RS
|
||||
.TS
|
||||
@ -1176,7 +1224,7 @@ this is an X application.
|
||||
With some care, it is possible to write useful scripts that work
|
||||
with both \fBXdialog\fP and \fBdialog\fP.
|
||||
.PP
|
||||
The \fBdialog\fP program ignores these options which are recognized
|
||||
The \fB\*p\fP program ignores these options which are recognized
|
||||
by \fBXdialog\fP:
|
||||
.RS
|
||||
.TS
|
||||
@ -1199,7 +1247,7 @@ l l.
|
||||
.TE
|
||||
.RE
|
||||
.PP
|
||||
\fBXdialog\fP's manpage has a section discussing its compatibility with \fBdialog\fP.
|
||||
\fBXdialog\fP's manpage has a section discussing its compatibility with \fB\*p\fP.
|
||||
.SS WHIPTAIL
|
||||
Then there is \fBwhiptail\fP.
|
||||
For practical purposes, it is maintained by Debian.
|
||||
@ -1207,13 +1255,13 @@ Its documentation claims
|
||||
.RS
|
||||
.sp
|
||||
.nf
|
||||
whiptail(1) is a lightweight replacement for dialog(1),
|
||||
whiptail(1) is a lightweight replacement for \*p(1),
|
||||
to provide dialog boxes for shell scripts. It is built on the
|
||||
newt windowing library rather than the ncurses library, allowing
|
||||
it to be smaller in embedded enviroments such as installers,
|
||||
rescue disks, etc.
|
||||
.sp
|
||||
whiptail is designed to be drop-in compatible with dialog, but
|
||||
whiptail is designed to be drop-in compatible with \*p, but
|
||||
has less features: some dialog boxes are not implemented, such
|
||||
as tailbox, timebox, calendarbox, etc.
|
||||
.fi
|
||||
@ -1221,31 +1269,31 @@ as tailbox, timebox, calendarbox, etc.
|
||||
.PP
|
||||
Comparing actual sizes (Debian testing, 2007/1/10):
|
||||
The total of sizes for \fBwhiptail\fP, the newt, popt and slang libraries is 757kb.
|
||||
The comparable number for \fBdialog\fP (counting ncurses) is 520kb.
|
||||
The comparable number for \fB\*p\fP (counting ncurses) is 520kb.
|
||||
Disregard the first paragraph.
|
||||
.PP
|
||||
The second paragraph is misleading, since \fBwhiptail\fP
|
||||
also does not work for common options of dialog, such as the gauge box.
|
||||
\fBwhiptail\fP is less compatible with \fBdialog\fP than the decade-old
|
||||
also does not work for common options of \*p, such as the gauge box.
|
||||
\fBwhiptail\fP is less compatible with \fB\*p\fP than the decade-old
|
||||
original dialog 0.4 program.
|
||||
.PP
|
||||
\fBwhiptail\fP's manpage borrows features from \fBdialog\fP, e.g.,
|
||||
\fBwhiptail\fP's manpage borrows features from \fB\*p\fP, e.g.,
|
||||
\fB--default-item\fP, \fB--output-fd\fP,
|
||||
but oddly cites only \fBdialog\fP versions up to 0.4 as a source.
|
||||
but oddly cites only \fB\*p\fP versions up to 0.4 as a source.
|
||||
That is, its manpage refers to features which
|
||||
were borrowed from more recent versions of \fBdialog\fP, e.g.,
|
||||
were borrowed from more recent versions of \fB\*p\fP, e.g.,
|
||||
the \fB--gauge\fP and \fB--password\fP boxes,
|
||||
as well as options such as \fB-separate-output\fP.
|
||||
Somewhat humorously, one may note that the \fBpopt\fP feature
|
||||
(undocumented in its manpage)
|
||||
of using a "--" as an escape was documented in \fBdialog\fP's manpage about
|
||||
of using a "--" as an escape was documented in \fB\*p\fP's manpage about
|
||||
a year before it was mentioned in \fBwhiptail\fP's manpage.
|
||||
\fBwhiptail\fP's manpage incorrectly attributes that to \fBgetopt\fP
|
||||
(and is inaccurate anyway).
|
||||
.PP
|
||||
Debian uses \fBwhiptail\fP for the official \fBdialog\fP variation.
|
||||
Debian uses \fBwhiptail\fP for the official \fB\*p\fP variation.
|
||||
.PP
|
||||
The \fBdialog\fP program ignores or maps these options which are recognized
|
||||
The \fB\*p\fP program ignores or maps these options which are recognized
|
||||
by \fBwhiptail\fP:
|
||||
.RS
|
||||
.TS
|
||||
@ -1275,7 +1323,7 @@ Valery Reznic - the form and progressbox widgets.
|
||||
Yura Kalinichenko adapted the gauge widget as "pause".
|
||||
.PP
|
||||
This is a rewrite (except as needed to provide compatibility)
|
||||
of the earlier version of \fBdialog 0.9a\fP,
|
||||
of the earlier version of \fB\*p 0.9a\fP,
|
||||
which lists as authors:
|
||||
.RS
|
||||
.LP
|
||||
|
@ -1,5 +1,5 @@
|
||||
.\" $Id: dialog.3,v 1.49 2010/02/23 10:33:59 tom Exp $
|
||||
.\" Copyright 2005-2009,2010 Thomas E. Dickey
|
||||
.\" $Id: dialog.3,v 1.60 2011/03/02 10:19:12 tom Exp $
|
||||
.\" Copyright 2005-2010,2011 Thomas E. Dickey
|
||||
.\"
|
||||
.\" This program is free software; you can redistribute it and/or modify
|
||||
.\" it under the terms of the GNU Lesser General Public License, version 2.1
|
||||
@ -15,24 +15,38 @@
|
||||
.\" Free Software Foundation, Inc.
|
||||
.\" 51 Franklin St., Fifth Floor
|
||||
.\" Boston, MA 02110, USA.
|
||||
.TH DIALOG 3 "" "$Date: 2010/02/23 10:33:59 $"
|
||||
.\"
|
||||
.\" definitions for renaming
|
||||
.ds p dialog
|
||||
.ds l dialog
|
||||
.ds L Dialog
|
||||
.ds D DIALOG
|
||||
.\" Bulleted paragraph
|
||||
.de bP
|
||||
.IP \(bu 4
|
||||
..
|
||||
.TH \*D 3 "" "$Date: 2011/03/02 10:19:12 $"
|
||||
.SH NAME
|
||||
dialog \- widgets and utilities for the dialog program
|
||||
\*l \- widgets and utilities for the \*p program
|
||||
.SH SYNOPSIS
|
||||
.B cc [ flag ... ] file ... -ldialog [ library ... ]
|
||||
|
||||
.B #include <dialog.h>
|
||||
.B cc [ flag ... ] file ... -l\*l [ library ... ]
|
||||
.br
|
||||
\ \ \ or
|
||||
.br
|
||||
.B cc `\*p-config --cflags` file ... `\*p-config --libs` ]
|
||||
.sp
|
||||
.B #include <\*l.h>
|
||||
.PP
|
||||
\fBDialog\fP
|
||||
\fB\*L\fP
|
||||
is a program that will let you to present a variety of questions or
|
||||
display messages using dialog boxes from a shell script.
|
||||
It is built from the \fBdialog\fP library,
|
||||
It is built from the \fB\*l\fP library,
|
||||
which consists of several widgets
|
||||
as well as utility functions that are used by the widgets
|
||||
or the main program.
|
||||
.
|
||||
.SH DESCRIPTION
|
||||
This manpage documents the features from \fI<dialog.h>\fP which
|
||||
This manpage documents the features from \fI<\*l.h>\fP which
|
||||
are likely to be important to developers using the widgets directly.
|
||||
Some hints are also given for developing new widgets.
|
||||
.
|
||||
@ -41,7 +55,7 @@ Some hints are also given for developing new widgets.
|
||||
Exit codes (passed back to the main program for its use)
|
||||
are defined with a "\fIDLG_EXIT_\fP prefix.
|
||||
The defined constants can be mapped using environment variables
|
||||
as described in \fBdialog\fP(1),
|
||||
as described in \fB\*p\fP(1),
|
||||
e.g., \fIDLG_EXIT_OK\fP corresponds to \fI$DIALOG_OK\fP.
|
||||
.PP
|
||||
Useful character constants which correspond to user input
|
||||
@ -50,11 +64,11 @@ are named with the "\fICHR_\fP" prefix, e.g.,
|
||||
.PP
|
||||
Colors and video attributes are categorized and associated with
|
||||
settings in the configuration file
|
||||
(see the discussion of \fI$DIALOGRC\fP in \fBdialog\fP(1)).
|
||||
(see the discussion of \fI$DIALOGRC\fP in \fB\*p\fP(1)).
|
||||
The \fIDIALOG_ATR(n)\fP macro is used for defining the references
|
||||
to the combined color and attribute table \fIdlg_color_table[]\fP.
|
||||
.PP
|
||||
The \fBdialog\fP application passes its command-line parameters
|
||||
The \fB\*p\fP application passes its command-line parameters
|
||||
to the widget functions. Some of those parameters are single values,
|
||||
but some of the widgets accept data as an array of values.
|
||||
Those include checklist/radiobox, menubox and formbox.
|
||||
@ -63,13 +77,13 @@ of data is expected.
|
||||
The USE_ITEM_HELP(), CHECKBOX_TAGS, MENUBOX_TAGS and FORMBOX_TAGS
|
||||
macros are used to hide this difference from the calling application.
|
||||
.PP
|
||||
Most of the other definitions found in \fI<dialog.h>\fP
|
||||
Most of the other definitions found in \fI<\*l.h>\fP
|
||||
are used for convenience in building the library or main program.
|
||||
These include definitions based on the generated \fI<dlg_config.h>\fP header.
|
||||
|
||||
.\" ************************************************************************
|
||||
.SH DATA STRUCTURES
|
||||
All of the global data for the \fBdialog\fP library is stored in
|
||||
All of the global data for the \fB\*l\fP library is stored in
|
||||
a few structures: \fIDIALOG_STATE\fP, \fIDIALOG_VARS\fP and \fIDIALOG_COLORS\fP.
|
||||
The corresponding \fIdialog_state\fP, \fIdialog_vars\fP and \fIdlg_color_table\fP
|
||||
global variables should be initialized to zeros,
|
||||
@ -79,7 +93,7 @@ As as the case with function names,
|
||||
variables beginning with "\fIdialog_\fP"
|
||||
are designed for use by the calling application
|
||||
while variables beginning with "\fIdlg_\fP"
|
||||
are intended for lower levels, e.g., by the \fBdialog\fP library.
|
||||
are intended for lower levels, e.g., by the \fB\*l\fP library.
|
||||
.\" ---------------------------------------------------------------------------
|
||||
.IP \fIDIALOG_STATE.all_windows
|
||||
This is a linked list of all windows created by the library.
|
||||
@ -104,8 +118,13 @@ If the control window for \fIDIALOG_STATE.getc_callbacks\fP is
|
||||
closed, the list is transferred to this variable.
|
||||
Closing all windows causes the application to exit.
|
||||
.\" ---------------------------------------------------------------------------
|
||||
.IP \fIDIALOG_STATE.no_mouse
|
||||
This corresponds to the command-line option "\fB--no-mouse\fP".
|
||||
If true, \fB\*p\fP will not initialize (and enable) the mouse in
|
||||
\fIinit_dialog\fP.
|
||||
.\" ---------------------------------------------------------------------------
|
||||
.IP \fIDIALOG_STATE.output
|
||||
This is set in the \fBdialog\fP application to the stream on
|
||||
This is set in the \fB\*p\fP application to the stream on
|
||||
which the application and library functions may write text results.
|
||||
Normally that is the standard error,
|
||||
since the curses library prefers to write its data to the standard output.
|
||||
@ -116,7 +135,7 @@ e.g., by using the "\fB--stdout\fP" option.
|
||||
.IP \fIDIALOG_STATE.output_count
|
||||
This is incremented by \fIdlg_does_output\fP,
|
||||
which is called by each widget that writes text to the output.
|
||||
The \fBdialog\fP application uses that to decide if it should
|
||||
The \fB\*p\fP application uses that to decide if it should
|
||||
also write a separator, i.e.,
|
||||
\fIDIALOG_STATE.separate_str\fP,
|
||||
between calls to each widget.
|
||||
@ -124,7 +143,7 @@ between calls to each widget.
|
||||
.IP \fIDIALOG_STATE.pipe_input
|
||||
This is set in \fIinit_dialog\fP to a stream which can be used by the
|
||||
\fBgauge\fP widget, which must be the application's standard input.
|
||||
The \fBdialog\fP application calls \fIinit_dialog\fP normally with
|
||||
The \fB\*p\fP application calls \fIinit_dialog\fP normally with
|
||||
\fIinput\fP set to the standard input, but optionally based on the
|
||||
"\fB--input-fd\fP" option.
|
||||
Since the application cannot read from
|
||||
@ -151,7 +170,7 @@ successfully open the terminal directly).
|
||||
.IP \fIDIALOG_STATE.separate_str
|
||||
This corresponds to the command-line option "\fB--separate-widget\fP".
|
||||
The given string
|
||||
specifies a string that will separate the output on \fBdialog\fP's output from
|
||||
specifies a string that will separate the output on \fB\*p\fP's output from
|
||||
each widget.
|
||||
This is used to simplify parsing the result of a dialog with several widgets.
|
||||
If this option is not given,
|
||||
@ -164,6 +183,10 @@ Specify the number of spaces that a tab character occupies if the
|
||||
option is given.
|
||||
The default is 8.
|
||||
.\" ---------------------------------------------------------------------------
|
||||
.IP \fIDIALOG_STATE.trace_output
|
||||
This corresponds to the command-line option "\fB--trace\fP \fIfile\fP".
|
||||
It is the file pointer to which trace messages are written.
|
||||
.\" ---------------------------------------------------------------------------
|
||||
.IP \fIDIALOG_STATE.use_colors
|
||||
This is set in \fIinit_dialog\fP if the curses implementation supports color.
|
||||
.\" ---------------------------------------------------------------------------
|
||||
@ -182,9 +205,9 @@ suppress shadows that would be drawn to the right and bottom of each dialog box.
|
||||
This corresponds to the command-line option "\fB--visit-items\fP".
|
||||
.\" ---------------------------------------------------------------------------
|
||||
.PP
|
||||
The \fBdialog\fP application resets the \fIdialog_vars\fP data before
|
||||
The \fB\*p\fP application resets the \fIdialog_vars\fP data before
|
||||
accepting options to invoke each widget.
|
||||
Most of the \fIDIALOG_VARS\fP members are set directly from \fBdialog\fP's
|
||||
Most of the \fIDIALOG_VARS\fP members are set directly from \fB\*p\fP's
|
||||
command-line options:
|
||||
.\" ---------------------------------------------------------------------------
|
||||
.IP \fIDIALOG_VARS.ascii_lines
|
||||
@ -222,18 +245,18 @@ The given \fIstring\fP overrides the label used for "Cancel" buttons.
|
||||
.IP \fIDIALOG_VARS.cant_kill
|
||||
This corresponds to the command-line option "\fB--no-kill\fP".
|
||||
If true, this tells
|
||||
\fBdialog\fP
|
||||
\fB\*p\fP
|
||||
to put the
|
||||
\fBtailboxbg\fP
|
||||
box in the background,
|
||||
printing its process id to \fBdialog\fP's output.
|
||||
printing its process id to \fB\*p\fP's output.
|
||||
SIGHUP is disabled for the background process.
|
||||
.\" ---------------------------------------------------------------------------
|
||||
.IP \fIDIALOG_VARS.colors
|
||||
This corresponds to the command-line option "\fB--colors\fP".
|
||||
If true, interpret embedded "\\Z" sequences in the dialog text
|
||||
by the following character,
|
||||
which tells dialog to set colors or video attributes:
|
||||
which tells \fB\*p\fP to set colors or video attributes:
|
||||
0 through 7 are the ANSI codes used in curses:
|
||||
black,
|
||||
red,
|
||||
@ -256,9 +279,9 @@ Restore normal settings with "\\Zn".
|
||||
This corresponds to the command-line option "\fB--cr-wrap\fP".
|
||||
If true,
|
||||
interpret embedded newlines in the dialog text as a newline on the screen.
|
||||
Otherwise, \fBdialog\fR will only wrap lines where needed to fit inside the text box.
|
||||
Otherwise, \fB\*p\fR will only wrap lines where needed to fit inside the text box.
|
||||
Even though you can control line breaks with this,
|
||||
\fBdialog\fR will still wrap any lines that are too long for the width of the box.
|
||||
\fB\*p\fR will still wrap any lines that are too long for the width of the box.
|
||||
Without cr-wrap, the layout of your text may be formatted to look nice
|
||||
in the source code of your script without affecting the way it will
|
||||
look in the dialog.
|
||||
@ -317,7 +340,7 @@ If true, some widgets show a help-button after "OK" and "Cancel" buttons,
|
||||
i.e., in checklist, radiolist and menu boxes.
|
||||
If \fB--item-help\fR is also given, on exit
|
||||
the return status will be the same as for the "OK" button,
|
||||
and the item-help text will be written to \fBdialog\fP's output after the token "HELP".
|
||||
and the item-help text will be written to \fB\*p\fP's output after the token "HELP".
|
||||
Otherwise, the return status will indicate that the Help button was pressed,
|
||||
and no message printed.
|
||||
.\" ---------------------------------------------------------------------------
|
||||
@ -342,11 +365,26 @@ This flag is set to denote whether the menubox widget
|
||||
implements a menu versus a inputmenu widget.
|
||||
.\" ---------------------------------------------------------------------------
|
||||
.IP \fIDIALOG_VARS.input_result
|
||||
This may be either a user-supplied buffer,
|
||||
or a buffer dynamically allocated by the library,
|
||||
depending on \fIDIALOG_VARS.input_length\fP:
|
||||
.RS
|
||||
.bP
|
||||
If \fIDIALOG_VARS.input_length\fP is zero,
|
||||
this is a pointer to user buffer (on the stack, or static).
|
||||
The buffer size is assumed to be \fBMAX_LEN\fP,
|
||||
which is defined in \fI<\*l.h>\fP.
|
||||
.bP
|
||||
When \fIDIALOG_VARS.input_length\fP is nonzero,
|
||||
this is a dynamically-allocated buffer used by the widgets to return
|
||||
printable results to the calling application.
|
||||
.RE
|
||||
.IP
|
||||
Certain widgets copy a result to this buffer.
|
||||
If the pointer is NULL, or if the length is insufficient for
|
||||
the result, then the \fB\*l\fP library allocates a buffer which is large enough,
|
||||
and sets \fIDIALOG_VARS.input_length\fP.
|
||||
Callers should check for this case if they have supplied their own buffer.
|
||||
.\" ---------------------------------------------------------------------------
|
||||
.IP \fIDIALOG_VARS.insecure
|
||||
This corresponds to the command-line option "\fB--insecure\fP".
|
||||
@ -362,10 +400,10 @@ screen, for the currently selected item.
|
||||
.\" ---------------------------------------------------------------------------
|
||||
.IP \fIDIALOG_VARS.keep_tite
|
||||
This is set by the command-line option "\fB--keep-tite\fP"
|
||||
to tell \fBdialog\fP to not attempt to cancel the terminal initialization
|
||||
to tell \fB\*p\fP to not attempt to cancel the terminal initialization
|
||||
(termcap \fIti\fP/\fIte\fP) sequences which correspond to xterm's alternate-screen
|
||||
switching.
|
||||
Normally \fBdialog\fP does this to avoid flickering when run several times
|
||||
Normally \fB\*p\fP does this to avoid flickering when run several times
|
||||
in a script.
|
||||
.\" ---------------------------------------------------------------------------
|
||||
.IP \fIDIALOG_VARS.keep_window
|
||||
@ -394,10 +432,10 @@ A script can still test if the user pressed the ESC key to cancel to quit.
|
||||
.\" ---------------------------------------------------------------------------
|
||||
.IP \fIDIALOG_VARS.nocollapse
|
||||
This corresponds to the command-line option "\fB--no-collapse\fP".
|
||||
Normally \fBdialog\fR converts tabs to spaces and reduces multiple
|
||||
Normally \fB\*p\fR converts tabs to spaces and reduces multiple
|
||||
spaces to a single space for text which is displayed in a message boxes, etc.
|
||||
It true, that feature is disabled.
|
||||
Note that \fBdialog\fR will still wrap text, subject to the \fB--cr-wrap\fR
|
||||
Note that \fB\*p\fR will still wrap text, subject to the \fB--cr-wrap\fR
|
||||
option.
|
||||
.\" ---------------------------------------------------------------------------
|
||||
.IP \fIDIALOG_VARS.nook
|
||||
@ -409,7 +447,7 @@ The given string overrides the label used for "OK" buttons.
|
||||
.IP \fIDIALOG_VARS.print_siz
|
||||
This corresponds to the command-line option "\fB--print-size\fP".
|
||||
If true,
|
||||
each widget prints its size to \fBdialog\fP's output when it is invoked.
|
||||
each widget prints its size to \fB\*p\fP's output when it is invoked.
|
||||
.\" ---------------------------------------------------------------------------
|
||||
.IP \fIDIALOG_VARS.quoted
|
||||
.\" ---------------------------------------------------------------------------
|
||||
@ -424,7 +462,7 @@ This corresponds to the command-line option "\fB--single-quoted\fP".
|
||||
If true,
|
||||
Use single-quoting as needed (and no quotes if unneeded) for the
|
||||
output of checklist's as well as the item-help text.
|
||||
If this option is not set, \fBdialog\fP uses double quotes around each item.
|
||||
If this option is not set, \fB\*p\fP uses double quotes around each item.
|
||||
That requires occasional use of backslashes to make the output useful in
|
||||
shell scripts.
|
||||
.IP \fIDIALOG_VARS.size_err
|
||||
@ -479,7 +517,7 @@ The given string overrides the label used for "Yes" buttons.
|
||||
.\" ************************************************************************
|
||||
.\" ************************************************************************
|
||||
.SH WIDGETS
|
||||
Functions that implement major functionality for the command-line \fBdialog\fP
|
||||
Functions that implement major functionality for the command-line \fB\*p\fP
|
||||
program, e.g., widgets, have names beginning "\fIdialog_\fP".
|
||||
|
||||
All dialog boxes have at least three parameters:
|
||||
@ -511,17 +549,14 @@ which is adjusted up to the calendar grid's minimum width if needed.
|
||||
.IP day
|
||||
is the initial day of the week shown,
|
||||
counting zero as Sunday.
|
||||
If the value is negative,
|
||||
the current day of the week is used.
|
||||
If the value is negative, the current day of the week is used.
|
||||
.IP month
|
||||
is the initial month of the year shown,
|
||||
counting one as January.
|
||||
If the value is negative,
|
||||
the current month of the year is used.
|
||||
If the value is negative, the current month of the year is used.
|
||||
.IP year
|
||||
is the initial year shown.
|
||||
If the value is negative,
|
||||
the current year is used.
|
||||
If the value is negative, the current year is used.
|
||||
.RE
|
||||
.\" ************************************************************************
|
||||
.IP \fBdialog_checklist
|
||||
@ -829,6 +864,27 @@ If zero, the height is based on the screen size.
|
||||
is the timeout to use for the progress bar.
|
||||
.RE
|
||||
.\" ************************************************************************
|
||||
.IP \fBdialog_prgbox
|
||||
implements the "\fB--prgbox\fP" option.
|
||||
.RS
|
||||
.IP title
|
||||
is the title on the top of the widget.
|
||||
.IP cprompt
|
||||
is the prompt text shown within the widget.
|
||||
If empty or null, no prompt is shown.
|
||||
.IP command
|
||||
is the name of the command to execute.
|
||||
.IP height
|
||||
is the desired height of the box.
|
||||
If zero, the height is based on the screen size.
|
||||
.IP width
|
||||
is the desired width of the box.
|
||||
If zero, the height is based on the screen size.
|
||||
.IP pauseopt
|
||||
if true, an "OK" button will be shown,
|
||||
and the dialog will wait for it to complete.
|
||||
.RE
|
||||
.\" ************************************************************************
|
||||
.IP \fBdialog_progressbox
|
||||
implements the "\fB--progressbox\fP" option.
|
||||
.RS
|
||||
@ -897,16 +953,16 @@ is the desired width of the box.
|
||||
If zero, the height is based on the screen size.
|
||||
.IP hour
|
||||
is the initial hour shown.
|
||||
If the value is negative,
|
||||
the current hour is used.
|
||||
If the value is negative, the current hour is used.
|
||||
Returns DLG_EXIT_ERROR if the value specified is greater than or equal to 24.
|
||||
.IP minute
|
||||
is the initial minute shown.
|
||||
If the value is negative,
|
||||
the current minute is used.
|
||||
If the value is negative, the current minute is used.
|
||||
Returns DLG_EXIT_ERROR if the value specified is greater than or equal to 60.
|
||||
.IP second
|
||||
is the initial second shown.
|
||||
If the value is negative,
|
||||
the current second is used.
|
||||
If the value is negative, the current second is used.
|
||||
Returns DLG_EXIT_ERROR if the value specified is greater than or equal to 60.
|
||||
.RE
|
||||
.\" ************************************************************************
|
||||
.IP \fBdialog_yesno
|
||||
@ -927,7 +983,7 @@ If zero, the height is based on the screen size.
|
||||
.\" ************************************************************************
|
||||
.SH UTILITY FUNCTIONS
|
||||
Most functions that implement lower-level
|
||||
functionality for the command-line \fBdialog\fP
|
||||
functionality for the command-line \fB\*p\fP
|
||||
program or widgets, have names beginning "\fIdlg_\fP".
|
||||
Bowing to longstanding usage, the functions that initialize the
|
||||
display and end it are named \fIinit_dialog\fP and \fIend_dialog\fP.
|
||||
@ -1025,7 +1081,7 @@ This is the number of rows in the array.
|
||||
.TP 5
|
||||
.B dlg_asciibox
|
||||
returns its parameter transformed to the
|
||||
corresponding "+" or "-", etc. for the line-drawing characters used in \fBdialog\fP.
|
||||
corresponding "+" or "-", etc. for the line-drawing characters used in \fB\*p\fP.
|
||||
If the parameter is not a line-drawing or other special character such as ACS_DARROW, it returns 0.
|
||||
.RE
|
||||
.\" ---------------------------------------------------------------------------
|
||||
@ -1118,7 +1174,7 @@ returns its parameter transformed as follows:
|
||||
if neither \fBdialog_vars.ascii_lines\fP nor \fBdialog_vars.no_lines\fP is set.
|
||||
.TP 3
|
||||
.B -
|
||||
if \fBdialog_vars.ascii_lines\fP is set, returns the corresponding "+" or "-", etc. for the line-drawing characters used in \fBdialog\fP.
|
||||
if \fBdialog_vars.ascii_lines\fP is set, returns the corresponding "+" or "-", etc. for the line-drawing characters used in \fB\*p\fP.
|
||||
.TP 3
|
||||
.B -
|
||||
otherwise, if \fBdialog_vars.no_lines\fP is set, returns a space for the line-drawing characters.
|
||||
@ -1302,7 +1358,7 @@ is a list of (pointers to) button labels terminated by a null pointer.
|
||||
.TP 5
|
||||
.B dlg_checklist
|
||||
This entrypoint provides the \fB--checklist\fP or \fP--radiolist\fP
|
||||
functionality without the limitations of \fBdialog\fP's command-line syntax
|
||||
functionality without the limitations of \fB\*p\fP's command-line syntax
|
||||
(compare to \fBdialog_checklist\fP).
|
||||
.RS
|
||||
.TP 5
|
||||
@ -1400,20 +1456,30 @@ On return, holds the updated starting line number.
|
||||
.\" ---------------------------------------------------------------------------
|
||||
.TP 5
|
||||
.B dlg_clear
|
||||
Set window to the default dialog screen attribute.
|
||||
Set window to the default \fB\*p\fP screen attribute.
|
||||
This is set in the rc-file with \fBscreen_color\fP.
|
||||
.\" ---------------------------------------------------------------------------
|
||||
.TP 5
|
||||
.B dlg_clr_result
|
||||
Free storage used for the result buffer (\fBdialog_vars.input_result\fP).
|
||||
The corresponding pointer is set to NULL.
|
||||
.\" ---------------------------------------------------------------------------
|
||||
.TP 5
|
||||
.B dlg_color_count
|
||||
Return the number of colors that can be configured in \fBdialog\fP.
|
||||
Return the number of colors that can be configured in \fB\*p\fP.
|
||||
.\" ---------------------------------------------------------------------------
|
||||
.TP 5
|
||||
.B dlg_color_setup
|
||||
Initialize the color pairs used in \fBdialog\fP.
|
||||
Initialize the color pairs used in \fB\*p\fP.
|
||||
.\" ---------------------------------------------------------------------------
|
||||
.TP 5
|
||||
.B dlg_count_argv
|
||||
Count the entries in an argument vector.
|
||||
.RS
|
||||
.TP 5
|
||||
.B argv
|
||||
Points to the argument vector.
|
||||
.RE
|
||||
.\" ---------------------------------------------------------------------------
|
||||
.TP 5
|
||||
.B dlg_count_columns
|
||||
@ -1437,7 +1503,7 @@ is the string to measure.
|
||||
.TP 5
|
||||
.B dlg_create_rc
|
||||
Create a configuration file,
|
||||
i.e., write internal tables to a file which can be read back by \fBdialog\fP
|
||||
i.e., write internal tables to a file which can be read back by \fB\*p\fP
|
||||
as an rc-file.
|
||||
.RS
|
||||
.TP 5
|
||||
@ -1504,7 +1570,7 @@ is the window to remove.
|
||||
.B dlg_does_output
|
||||
This is called each time a widget is invoked which may do output.
|
||||
It increments \fBdialog_state.output_count\fP,
|
||||
so the output function in \fBdialog\fP can test this and add a separator.
|
||||
so the output function in \fB\*p\fP can test this and add a separator.
|
||||
.\" ---------------------------------------------------------------------------
|
||||
.TP 5
|
||||
.B dlg_draw_arrows
|
||||
@ -1731,10 +1797,25 @@ is the stream on which to write the bindings.
|
||||
.RE
|
||||
.\" ---------------------------------------------------------------------------
|
||||
.TP 5
|
||||
.B dlg_eat_argv
|
||||
Remove one or more items from an argument vector.
|
||||
.RS
|
||||
.TP 5
|
||||
.B int *argcp
|
||||
in/out parameter giving the length of the argument vector.
|
||||
.B char ***argvp
|
||||
in/out parameter pointing to the argument vector.
|
||||
.B int start
|
||||
starting index.
|
||||
.B int count
|
||||
number of arguments to remove.
|
||||
.RE
|
||||
.\" ---------------------------------------------------------------------------
|
||||
.TP 5
|
||||
.B dlg_edit_offset
|
||||
Given the character-offset in the string,
|
||||
returns the display-offset where
|
||||
dialog should position the cursor.
|
||||
\fB\*p\fP should position the cursor.
|
||||
In this context, "characters" may be multicolumn,
|
||||
since the string can be a multibyte character string.
|
||||
.RS
|
||||
@ -1789,13 +1870,13 @@ is the internal exit code, e.g., \fBDLG_EXIT_OK\fP,
|
||||
which may be remapped.
|
||||
.RE
|
||||
.IP
|
||||
The \fBdialog\fP program uses this function
|
||||
The \fB\*p\fP program uses this function
|
||||
to allow shell scripts to remap the exit codes so they can distinguish ESC
|
||||
from ERROR.
|
||||
.\" ---------------------------------------------------------------------------
|
||||
.TP 5
|
||||
.B dlg_exit_buttoncode
|
||||
Map the given button index for \fBdlg_exit_label\fP into dialog's exit-code.
|
||||
Map the given button index for \fBdlg_exit_label\fP into \fB\*p\fP's exit-code.
|
||||
.RS
|
||||
.TP 5
|
||||
.B int \fIbutton
|
||||
@ -1844,7 +1925,7 @@ Cancel the local data saved by \fBdlg_last_getc\fP.
|
||||
.\" ---------------------------------------------------------------------------
|
||||
.IP dlg_editbox
|
||||
This entrypoint provides the \fB--editbox\fP
|
||||
functionality without the limitations of \fBdialog\fP's command-line syntax
|
||||
functionality without the limitations of \fB\*p\fP's command-line syntax
|
||||
(compare to \fBdialog_editbox\fP).
|
||||
.RS
|
||||
.TP 5
|
||||
@ -1874,7 +1955,7 @@ If zero, the height is adjusted to use the available screen size.
|
||||
.TP 5
|
||||
.B dlg_form
|
||||
This entrypoint provides the \fB--form\fP
|
||||
functionality without the limitations of \fBdialog\fP's command-line syntax
|
||||
functionality without the limitations of \fB\*p\fP's command-line syntax
|
||||
(compare to \fBdialog_form\fP).
|
||||
.RS
|
||||
.TP 5
|
||||
@ -1951,6 +2032,15 @@ as a side-effect, set this to true if the key-code is really a function-key.
|
||||
.RE
|
||||
.\" ---------------------------------------------------------------------------
|
||||
.TP 5
|
||||
.B dlg_get_attrs
|
||||
extract the video attributes from the given window.
|
||||
.RS
|
||||
.TP 5
|
||||
.B WINDOW * \fIwin
|
||||
is the window from which to get attributes.
|
||||
.RE
|
||||
.\" ---------------------------------------------------------------------------
|
||||
.TP 5
|
||||
.B dlg_getc_callbacks
|
||||
passes the given key-code \fIch\fP to the current window that
|
||||
has established a callback.
|
||||
@ -2001,7 +2091,7 @@ is the help-message
|
||||
.\" ---------------------------------------------------------------------------
|
||||
.TP 5
|
||||
.B dlg_killall_bg
|
||||
If \fBdialog\fP has callbacks active,
|
||||
If \fB\*p\fP has callbacks active,
|
||||
purge the list of all that are not marked
|
||||
to keep in the background.
|
||||
If any remain, run those in a background process.
|
||||
@ -2048,7 +2138,7 @@ is the window on which the binding is checked
|
||||
is the curses key-code
|
||||
.TP 5
|
||||
.B int * \fIdialog_key
|
||||
is the corresponding dialog internal code
|
||||
is the corresponding \fB\*p\fP internal code
|
||||
(see \fBDLG_KEYS_ENUM\fP in dlg_key.h).
|
||||
.RE
|
||||
.\" ---------------------------------------------------------------------------
|
||||
@ -2078,7 +2168,7 @@ is the string to search
|
||||
.TP 5
|
||||
.B dlg_menu
|
||||
This entrypoint provides the \fB--menu\fP
|
||||
functionality without the limitations of \fBdialog\fP's command-line syntax
|
||||
functionality without the limitations of \fB\*p\fP's command-line syntax
|
||||
(compare to \fBdialog_menu\fP).
|
||||
.RS
|
||||
.TP 5
|
||||
@ -2344,7 +2434,7 @@ if negative, provides a way to enumerate extra active areas on the widget.
|
||||
.TP 5
|
||||
.B dlg_ok_buttoncode
|
||||
Map the given button index for \fBdlg_ok_labels\fP
|
||||
into \fBdialog\fP's exit-code.
|
||||
into \fB\*p\fP's exit-code.
|
||||
.RS
|
||||
.TP 5
|
||||
.B int \fIbutton
|
||||
@ -2370,7 +2460,7 @@ a curses-ordinate from a dialog-ordinate.
|
||||
.B dlg_parse_bindkey
|
||||
Parse the parameters of the "bindkeys" configuration-file entry. This
|
||||
expects widget name which may be "*", followed by curses key definition and
|
||||
then dialog key definition.
|
||||
then \fB\*p\fP key definition.
|
||||
.RS
|
||||
.TP 5
|
||||
.B char * \fIparams
|
||||
@ -2394,7 +2484,7 @@ is the current button index
|
||||
.RE
|
||||
.\" ---------------------------------------------------------------------------
|
||||
.TP 5
|
||||
dlg_print_scrolled
|
||||
.B dlg_print_scrolled
|
||||
This is a wrapper for \fBdlg_print_autowrap\fP which allows the user
|
||||
to scroll too-long prompt text up/down.
|
||||
.IP
|
||||
@ -2505,7 +2595,7 @@ is the window's width
|
||||
.TP 5
|
||||
.B dlg_print_text
|
||||
Print up to \fIcols\fP columns from \fBtext\fP,
|
||||
optionally rendering \fBdialog\fP's escape sequences for attributes and color.
|
||||
optionally rendering \fB\*p\fP's escape sequences for attributes and color.
|
||||
.RS
|
||||
.TP 5
|
||||
.B WINDOW * \fIwin
|
||||
@ -2522,6 +2612,29 @@ holds the starting attributes, and is updated to reflect the final attributes
|
||||
applied to the string.
|
||||
.RE
|
||||
.\" ---------------------------------------------------------------------------
|
||||
.B dlg_progressbox
|
||||
implements the "\fB--prgbox\fP" and "\fB--progressbox\fP" options.
|
||||
.RS
|
||||
.IP title
|
||||
is the title on the top of the widget.
|
||||
.IP cprompt
|
||||
is the prompt text shown within the widget.
|
||||
If empty or null, no prompt is shown.
|
||||
.IP height
|
||||
is the desired height of the box.
|
||||
If zero, the height is based on the screen size.
|
||||
.IP width
|
||||
is the desired width of the box.
|
||||
If zero, the height is based on the screen size.
|
||||
.IP pauseopt
|
||||
if true, an "OK" button will be shown,
|
||||
and the dialog will wait for it to complete.
|
||||
With an "OK" button, it is denoted a "programbox",
|
||||
without an "OK" button, it is denoted a "progressbox".
|
||||
.IP fp
|
||||
is the file pointer, which may be a pipe or a regular file.
|
||||
.RE
|
||||
.\" ---------------------------------------------------------------------------
|
||||
.TP 5
|
||||
.B dlg_put_backtitle
|
||||
Display the background title if \fBdialog_vars.backtitle\fP is non-null.
|
||||
@ -2570,16 +2683,22 @@ contains the callback information.
|
||||
.\" ---------------------------------------------------------------------------
|
||||
.TP 5
|
||||
.B dlg_restore_vars
|
||||
Restore dialog's variables from the given variable (see \fBdialog_save_vars\fP).
|
||||
Restore \fB\*p\fP's variables from the given variable (see \fBdialog_save_vars\fP).
|
||||
.RS
|
||||
.TP 5
|
||||
.B DIALOG_VARS * \fIsave
|
||||
is the variable from which to restore.
|
||||
.RE
|
||||
.IP
|
||||
The
|
||||
\fIDIALOG_VARS.input_length\fP and
|
||||
\fIDIALOG_VARS.input_result\fP members are treated specially,
|
||||
since these are used by a widget to pass data to the caller.
|
||||
They are not modified by this function.
|
||||
.\" ---------------------------------------------------------------------------
|
||||
.TP 5
|
||||
.B dlg_result_key
|
||||
Test a dialog internal keycode to see if it corresponds to one of the push
|
||||
Test a \fB\*p\fP internal keycode to see if it corresponds to one of the push
|
||||
buttons on the widget such as "OK".
|
||||
This is only useful if there are user-defined key bindings, since there are
|
||||
no built-in bindings that map directly to \fBDLGK_OK\fP, etc.
|
||||
@ -2587,7 +2706,7 @@ Return true if a mapping was done.
|
||||
.RS
|
||||
.TP 5
|
||||
.B int \fIdialog_key
|
||||
is the dialog key to test
|
||||
is the \fB\*p\fP key to test
|
||||
.TP 5
|
||||
.B int \fIfkey
|
||||
is true if this is a function key
|
||||
@ -2598,7 +2717,7 @@ store the result of the mapping in the referenced location.
|
||||
.\" ---------------------------------------------------------------------------
|
||||
.TP 5
|
||||
.B dlg_save_vars
|
||||
Save dialog's variables into the given variable (see \fBdialog_restore_vars\fP).
|
||||
Save \fB\*p\fP's variables into the given variable (see \fBdialog_restore_vars\fP).
|
||||
.RS
|
||||
.TP 5
|
||||
.B DIALOG_VARS * \fIsave
|
||||
@ -2683,6 +2802,17 @@ is the other string
|
||||
.RE
|
||||
.\" ---------------------------------------------------------------------------
|
||||
.TP 5
|
||||
.B dlg_string_to_argv
|
||||
Convert a string to an argument vector
|
||||
returning an index (which must be freed by the caller).
|
||||
The string is modified (replacing gaps between tokens with nulls).
|
||||
.RS
|
||||
.TP 5
|
||||
.B char *\fIblob
|
||||
is the string to convert.
|
||||
.RE
|
||||
.\" ---------------------------------------------------------------------------
|
||||
.TP 5
|
||||
.B dlg_sub_window
|
||||
create a subwindow, e.g., for an input area of a widget
|
||||
.RS
|
||||
@ -2762,7 +2892,7 @@ is the window from which to remove bindings
|
||||
.\" ---------------------------------------------------------------------------
|
||||
.TP 5
|
||||
.B dlg_yes_buttoncode
|
||||
Map the given button index for \fBdlg_yes_labels\fP into \fBdialog\fP's exit-code.
|
||||
Map the given button index for \fBdlg_yes_labels\fP into \fB\*p\fP's exit-code.
|
||||
.RS
|
||||
.TP 5
|
||||
.B int \fIbutton
|
||||
@ -2775,7 +2905,7 @@ Return a list of buttons for Yes/No labels.
|
||||
.
|
||||
.\" ************************************************************************
|
||||
.SH SEE ALSO
|
||||
dialog (1).
|
||||
\fB\*p\fP (1).
|
||||
.
|
||||
.\" ************************************************************************
|
||||
.SH AUTHOR
|
||||
|
@ -1,9 +1,9 @@
|
||||
/*
|
||||
* $Id: dialog.c,v 1.177 2010/01/18 09:21:14 tom Exp $
|
||||
* $Id: dialog.c,v 1.186 2011/03/02 09:58:29 tom Exp $
|
||||
*
|
||||
* cdialog - Display simple dialog boxes from shell scripts
|
||||
*
|
||||
* Copyright 2000-2008,2010 Thomas E. Dickey
|
||||
* Copyright 2000-2010,2011 Thomas E. Dickey
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License, version 2.1
|
||||
@ -95,6 +95,7 @@ typedef enum {
|
||||
,o_no_kill
|
||||
,o_no_label
|
||||
,o_no_lines
|
||||
,o_no_mouse
|
||||
,o_no_shadow
|
||||
,o_nocancel
|
||||
,o_noitem
|
||||
@ -105,9 +106,11 @@ typedef enum {
|
||||
,o_passwordbox
|
||||
,o_passwordform
|
||||
,o_pause
|
||||
,o_prgbox
|
||||
,o_print_maxsize
|
||||
,o_print_size
|
||||
,o_print_version
|
||||
,o_programbox
|
||||
,o_progressbox
|
||||
,o_quoted
|
||||
,o_radiolist
|
||||
@ -235,6 +238,7 @@ static const Options options[] = {
|
||||
{ "no-kill", o_no_kill, 1, "" },
|
||||
{ "no-label", o_no_label, 1, "<str>" },
|
||||
{ "no-lines", o_no_lines, 1, "" },
|
||||
{ "no-mouse", o_no_mouse, 1, "" },
|
||||
{ "no-ok", o_nook, 1, "" },
|
||||
{ "no-shadow", o_no_shadow, 1, "" },
|
||||
{ "nocancel", o_nocancel, 1, NULL }, /* see --no-cancel */
|
||||
@ -246,10 +250,12 @@ static const Options options[] = {
|
||||
{ "passwordbox", o_passwordbox, 2, "<text> <height> <width> [<init>]" },
|
||||
{ "passwordform", o_passwordform, 2, "<text> <height> <width> <form height> <label1> <l_y1> <l_x1> <item1> <i_y1> <i_x1> <flen1> <ilen1>..." },
|
||||
{ "pause", o_pause, 2, "<text> <height> <width> <seconds>" },
|
||||
{ "prgbox", o_prgbox, 2, "<text> <command> <height> <width>" },
|
||||
{ "print-maxsize", o_print_maxsize, 1, "" },
|
||||
{ "print-size", o_print_size, 1, "" },
|
||||
{ "print-version", o_print_version, 5, "" },
|
||||
{ "progressbox", o_progressbox, 2, "<height> <width>" },
|
||||
{ "programbox", o_programbox, 2, "<text> <height> <width>" },
|
||||
{ "progressbox", o_progressbox, 2, "<text> <height> <width>" },
|
||||
{ "quoted", o_quoted, 1, "" },
|
||||
{ "radiolist", o_radiolist, 2, "<text> <height> <width> <list height> <tag1> <item1> <status1>..." },
|
||||
{ "screen-center", o_screen_center, 1, NULL },
|
||||
@ -286,109 +292,6 @@ static const Options options[] = {
|
||||
};
|
||||
/* *INDENT-ON* */
|
||||
|
||||
/*
|
||||
* Convert a string to an argv[], returning a char** index (which must be
|
||||
* freed by the caller). The string is modified (replacing gaps between
|
||||
* tokens with nulls).
|
||||
*/
|
||||
static char **
|
||||
string_to_argv(char *blob)
|
||||
{
|
||||
size_t n;
|
||||
int pass;
|
||||
size_t length = strlen(blob);
|
||||
char **result = 0;
|
||||
|
||||
for (pass = 0; pass < 2; ++pass) {
|
||||
bool inparm = FALSE;
|
||||
bool quoted = FALSE;
|
||||
char *param = blob;
|
||||
size_t count = 0;
|
||||
|
||||
for (n = 0; n < length; ++n) {
|
||||
if (quoted && blob[n] == '"') {
|
||||
quoted = FALSE;
|
||||
} else if (blob[n] == '"') {
|
||||
quoted = TRUE;
|
||||
if (!inparm) {
|
||||
if (pass)
|
||||
result[count] = param;
|
||||
++count;
|
||||
inparm = TRUE;
|
||||
}
|
||||
} else if (blob[n] == '\\') {
|
||||
if (quoted && !isspace(UCH(blob[n + 1]))) {
|
||||
if (!inparm) {
|
||||
if (pass)
|
||||
result[count] = param;
|
||||
++count;
|
||||
inparm = TRUE;
|
||||
}
|
||||
if (pass) {
|
||||
*param++ = blob[n];
|
||||
*param++ = blob[n + 1];
|
||||
}
|
||||
}
|
||||
++n;
|
||||
} else if (!quoted && isspace(UCH(blob[n]))) {
|
||||
inparm = FALSE;
|
||||
if (pass) {
|
||||
*param++ = '\0';
|
||||
}
|
||||
} else {
|
||||
if (!inparm) {
|
||||
if (pass)
|
||||
result[count] = param;
|
||||
++count;
|
||||
inparm = TRUE;
|
||||
}
|
||||
if (pass) {
|
||||
*param++ = blob[n];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (!pass) {
|
||||
if (count) {
|
||||
result = dlg_calloc(char *, count + 1);
|
||||
assert_ptr(result, "string_to_argv");
|
||||
} else {
|
||||
break; /* no tokens found */
|
||||
}
|
||||
} else {
|
||||
*param = '\0';
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
/*
|
||||
* Count the entries in an argv list.
|
||||
*/
|
||||
static int
|
||||
count_argv(char **argv)
|
||||
{
|
||||
int result = 0;
|
||||
|
||||
if (argv != 0) {
|
||||
while (argv[result] != 0)
|
||||
++result;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
static int
|
||||
eat_argv(int *argcp, char ***argvp, int start, int count)
|
||||
{
|
||||
int k;
|
||||
|
||||
*argcp -= count;
|
||||
for (k = start; k <= *argcp; k++)
|
||||
(*argvp)[k] = (*argvp)[k + count];
|
||||
(*argvp)[*argcp] = 0;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
/*
|
||||
* Make an array showing which argv[] entries are options. Use "--" as a
|
||||
* special token to escape the next argument, allowing it to begin with "--".
|
||||
@ -419,13 +322,13 @@ unescape_argv(int *argcp, char ***argvp)
|
||||
bool escaped = FALSE;
|
||||
if (!strcmp((*argvp)[j], "--")) {
|
||||
escaped = TRUE;
|
||||
changed = eat_argv(argcp, argvp, j, 1);
|
||||
changed = dlg_eat_argv(argcp, argvp, j, 1);
|
||||
} else if (!strcmp((*argvp)[j], "--args")) {
|
||||
fprintf(stderr, "Showing arguments at arg%d\n", j);
|
||||
for (k = 0; k < *argcp; ++k) {
|
||||
fprintf(stderr, " arg%d:%s\n", k, (*argvp)[k]);
|
||||
}
|
||||
changed = eat_argv(argcp, argvp, j, 1);
|
||||
changed = dlg_eat_argv(argcp, argvp, j, 1);
|
||||
} else if (!strcmp((*argvp)[j], "--file")) {
|
||||
if (++count_includes > limit_includes)
|
||||
dlg_exiterr("Too many --file options");
|
||||
@ -453,7 +356,7 @@ unescape_argv(int *argcp, char ***argvp)
|
||||
assert_ptr(blob, "unescape_argv");
|
||||
bytes_read = fread(blob + length,
|
||||
sizeof(char),
|
||||
BUFSIZ,
|
||||
(size_t) BUFSIZ,
|
||||
fp);
|
||||
length += bytes_read;
|
||||
if (ferror(fp))
|
||||
@ -463,8 +366,8 @@ unescape_argv(int *argcp, char ***argvp)
|
||||
|
||||
blob[length] = '\0';
|
||||
|
||||
list = string_to_argv(blob);
|
||||
if ((added = count_argv(list)) != 0) {
|
||||
list = dlg_string_to_argv(blob);
|
||||
if ((added = dlg_count_argv(list)) != 0) {
|
||||
if (added > 2) {
|
||||
size_t need = (size_t) (*argcp + added + 1);
|
||||
if (doalloc) {
|
||||
@ -505,7 +408,7 @@ unescape_argv(int *argcp, char ***argvp)
|
||||
}
|
||||
if (!escaped
|
||||
&& (*argvp)[j] != 0
|
||||
&& !strncmp((*argvp)[j], "--", 2)
|
||||
&& !strncmp((*argvp)[j], "--", (size_t) 2)
|
||||
&& isalpha(UCH((*argvp)[j][2]))) {
|
||||
dialog_opts[j] = TRUE;
|
||||
}
|
||||
@ -538,7 +441,7 @@ isOption(const char *arg)
|
||||
break;
|
||||
}
|
||||
}
|
||||
} else if (!strncmp(arg, "--", 2) && isalpha(UCH(arg[2]))) {
|
||||
} else if (!strncmp(arg, "--", (size_t) 2) && isalpha(UCH(arg[2]))) {
|
||||
result = TRUE;
|
||||
}
|
||||
}
|
||||
@ -614,7 +517,7 @@ static int
|
||||
numeric_arg(char **av, int n)
|
||||
{
|
||||
char *last = 0;
|
||||
int result = strtol(av[n], &last, 10);
|
||||
int result = (int) strtol(av[n], &last, 10);
|
||||
char msg[80];
|
||||
|
||||
if (last == 0 || *last != 0) {
|
||||
@ -666,7 +569,8 @@ show_result(int ret)
|
||||
dialog_state.output);
|
||||
either = TRUE;
|
||||
}
|
||||
if (dialog_vars.input_result[0] != '\0') {
|
||||
if (dialog_vars.input_result != 0
|
||||
&& dialog_vars.input_result[0] != '\0') {
|
||||
fputs(dialog_vars.input_result, dialog_state.output);
|
||||
either = TRUE;
|
||||
}
|
||||
@ -740,24 +644,33 @@ static int
|
||||
call_inputmenu(CALLARGS)
|
||||
{
|
||||
int tags = howmany_tags(av + 5, MENUBOX_TAGS);
|
||||
bool free_extra_label = FALSE;
|
||||
int result;
|
||||
|
||||
dialog_vars.input_menu = TRUE;
|
||||
|
||||
if (dialog_vars.max_input == 0)
|
||||
dialog_vars.max_input = MAX_LEN / 2;
|
||||
|
||||
if (dialog_vars.extra_label == 0)
|
||||
dialog_vars.extra_label = _("Rename");
|
||||
if (dialog_vars.extra_label == 0) {
|
||||
free_extra_label = TRUE;
|
||||
dialog_vars.extra_label = dlg_strclone(_("Rename"));
|
||||
}
|
||||
|
||||
dialog_vars.extra_button = TRUE;
|
||||
|
||||
*offset_add = 5 + tags * MENUBOX_TAGS;
|
||||
return dialog_menu(t,
|
||||
result = dialog_menu(t,
|
||||
av[1],
|
||||
numeric_arg(av, 2),
|
||||
numeric_arg(av, 3),
|
||||
numeric_arg(av, 4),
|
||||
tags, av + 5);
|
||||
if (free_extra_label) {
|
||||
free(dialog_vars.extra_label);
|
||||
dialog_vars.extra_label = 0;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
static int
|
||||
@ -959,6 +872,53 @@ call_mixed_gauge(CALLARGS)
|
||||
}
|
||||
#endif
|
||||
|
||||
static int
|
||||
call_prgbox(CALLARGS)
|
||||
{
|
||||
*offset_add = arg_rest(av);
|
||||
/* the original version does not accept a prompt string, but for
|
||||
* consistency we allow it.
|
||||
*/
|
||||
return ((*offset_add == 5)
|
||||
? dialog_prgbox(t,
|
||||
av[1],
|
||||
av[2],
|
||||
numeric_arg(av, 3),
|
||||
numeric_arg(av, 4), TRUE)
|
||||
: dialog_prgbox(t,
|
||||
"",
|
||||
av[1],
|
||||
numeric_arg(av, 2),
|
||||
numeric_arg(av, 3), TRUE));
|
||||
}
|
||||
|
||||
#ifdef HAVE_DLG_GAUGE
|
||||
static int
|
||||
call_programbox(CALLARGS)
|
||||
{
|
||||
int result;
|
||||
|
||||
*offset_add = arg_rest(av);
|
||||
/* this function is a compromise between --prgbox and --progressbox.
|
||||
*/
|
||||
result = ((*offset_add == 4)
|
||||
? dlg_progressbox(t,
|
||||
av[1],
|
||||
numeric_arg(av, 2),
|
||||
numeric_arg(av, 3),
|
||||
TRUE,
|
||||
dialog_state.pipe_input)
|
||||
: dlg_progressbox(t,
|
||||
"",
|
||||
numeric_arg(av, 1),
|
||||
numeric_arg(av, 2),
|
||||
TRUE,
|
||||
dialog_state.pipe_input));
|
||||
dialog_state.pipe_input = 0;
|
||||
return result;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_DLG_GAUGE
|
||||
static int
|
||||
call_progressbox(CALLARGS)
|
||||
@ -1018,6 +978,8 @@ static const Mode modes[] =
|
||||
#ifdef HAVE_DLG_GAUGE
|
||||
{o_gauge, 4, 5, call_gauge},
|
||||
{o_pause, 5, 5, call_pause},
|
||||
{o_prgbox, 4, 5, call_prgbox},
|
||||
{o_programbox, 3, 4, call_programbox},
|
||||
{o_progressbox, 3, 4, call_progressbox},
|
||||
#endif
|
||||
#ifdef HAVE_DLG_FORMBOX
|
||||
@ -1067,7 +1029,7 @@ optionValue(char **argv, int *num)
|
||||
int result = 0;
|
||||
|
||||
if (src != 0) {
|
||||
result = strtol(src, &tmp, 0);
|
||||
result = (int) strtol(src, &tmp, 0);
|
||||
if (tmp == 0 || *tmp != 0)
|
||||
src = 0;
|
||||
}
|
||||
@ -1135,7 +1097,7 @@ Help(void)
|
||||
static const char *const tbl_1[] =
|
||||
{
|
||||
"cdialog (ComeOn Dialog!) version %s",
|
||||
"Copyright 2000-2007,2008 Thomas E. Dickey",
|
||||
"Copyright 2000-2008,2011 Thomas E. Dickey",
|
||||
"This is free software; see the source for copying conditions. There is NO",
|
||||
"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.",
|
||||
"",
|
||||
@ -1156,8 +1118,8 @@ Help(void)
|
||||
"Global-auto-size if also menu_height/list_height = 0.",
|
||||
0
|
||||
};
|
||||
unsigned limit = sizeof(options) / sizeof(options[0]);
|
||||
unsigned j, k;
|
||||
size_t limit = sizeof(options) / sizeof(options[0]);
|
||||
size_t j, k;
|
||||
const Options **opts;
|
||||
|
||||
opts = dlg_calloc(const Options *, limit);
|
||||
@ -1172,7 +1134,7 @@ Help(void)
|
||||
for (j = k = 0; j < limit; j++) {
|
||||
if ((opts[j]->pass & 1)
|
||||
&& opts[j]->help != 0) {
|
||||
unsigned len = 6 + strlen(opts[j]->name) + strlen(opts[j]->help);
|
||||
size_t len = 6 + strlen(opts[j]->name) + strlen(opts[j]->help);
|
||||
k += len;
|
||||
if (k > 75) {
|
||||
fprintf(dialog_state.output, "\n ");
|
||||
@ -1204,6 +1166,9 @@ Help(void)
|
||||
static int
|
||||
process_common_options(int argc, char **argv, int offset, bool output)
|
||||
{
|
||||
#ifdef HAVE_DLG_TRACE
|
||||
int n;
|
||||
#endif
|
||||
bool done = FALSE;
|
||||
|
||||
while (offset < argc && !done) { /* Common options */
|
||||
@ -1389,6 +1354,9 @@ process_common_options(int argc, char **argv, int offset, bool output)
|
||||
dialog_vars.no_lines = TRUE;
|
||||
dialog_vars.ascii_lines = FALSE;
|
||||
break;
|
||||
case o_no_mouse:
|
||||
dialog_state.no_mouse = TRUE;
|
||||
break;
|
||||
case o_noitem:
|
||||
case o_fullbutton:
|
||||
/* ignore */
|
||||
@ -1418,6 +1386,9 @@ process_common_options(int argc, char **argv, int offset, bool output)
|
||||
#ifdef HAVE_DLG_TRACE
|
||||
case o_trace:
|
||||
dlg_trace(optionString(argv, &offset));
|
||||
for (n = 0; argv[n] != 0; ++n) {
|
||||
dlg_trace_msg("argv[%d] = %s\n", n, argv[n]);
|
||||
}
|
||||
break;
|
||||
#endif
|
||||
}
|
||||
@ -1453,8 +1424,8 @@ init_result(char *buffer)
|
||||
if (env != 0)
|
||||
env = dlg_strclone(env);
|
||||
if (env != 0) {
|
||||
special_argv = string_to_argv(env);
|
||||
special_argc = count_argv(special_argv);
|
||||
special_argv = dlg_string_to_argv(env);
|
||||
special_argc = dlg_count_argv(special_argv);
|
||||
}
|
||||
}
|
||||
if (special_argv != 0) {
|
||||
@ -1487,8 +1458,8 @@ main(int argc, char *argv[])
|
||||
#if defined(ENABLE_NLS)
|
||||
/* initialize locale support */
|
||||
setlocale(LC_ALL, "");
|
||||
bindtextdomain(PACKAGE, LOCALEDIR);
|
||||
textdomain(PACKAGE);
|
||||
bindtextdomain(NLS_TEXTDOMAIN, LOCALEDIR);
|
||||
textdomain(NLS_TEXTDOMAIN);
|
||||
#elif defined(HAVE_SETLOCALE)
|
||||
(void) setlocale(LC_ALL, "");
|
||||
#endif
|
||||
@ -1664,8 +1635,10 @@ main(int argc, char *argv[])
|
||||
&offset_add));
|
||||
offset += offset_add;
|
||||
|
||||
if (dialog_vars.input_result != my_buffer)
|
||||
if (dialog_vars.input_result != my_buffer) {
|
||||
free(dialog_vars.input_result);
|
||||
dialog_vars.input_result = 0;
|
||||
}
|
||||
|
||||
if (retval == DLG_EXIT_ESC) {
|
||||
esc_pressed = TRUE;
|
||||
|
@ -1,9 +1,9 @@
|
||||
/*
|
||||
* $Id: dialog.h,v 1.214 2010/04/28 21:11:49 tom Exp $
|
||||
* $Id: dialog.h,v 1.223 2011/03/02 10:04:09 tom Exp $
|
||||
*
|
||||
* dialog.h -- common declarations for all dialog modules
|
||||
*
|
||||
* Copyright 2000-2008,2010 Thomas E. Dickey
|
||||
* Copyright 2000-2010,2011 Thomas E. Dickey
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License, version 2.1
|
||||
@ -26,6 +26,7 @@
|
||||
|
||||
#ifndef DIALOG_H_included
|
||||
#define DIALOG_H_included 1
|
||||
/* *INDENT-OFF* */
|
||||
|
||||
#include <dlg_config.h>
|
||||
|
||||
@ -43,6 +44,8 @@
|
||||
#include <signal.h> /* fork() etc. */
|
||||
#include <math.h> /* sqrt() */
|
||||
|
||||
#undef ERR /* header conflict with Solaris xpg4 */
|
||||
|
||||
#if defined(HAVE_NCURSESW_NCURSES_H)
|
||||
#include <ncursesw/ncurses.h>
|
||||
#elif defined(HAVE_NCURSES_NCURSES_H)
|
||||
@ -60,6 +63,19 @@
|
||||
#include <unctrl.h>
|
||||
#endif
|
||||
|
||||
/* Solaris xpg4 renames these */
|
||||
#ifndef KEY_MAX
|
||||
#ifdef __KEY_MAX
|
||||
#define KEY_MAX __KEY_MAX
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifndef KEY_MIN
|
||||
#ifdef __KEY_MIN
|
||||
#define KEY_MIN __KEY_MIN
|
||||
#endif
|
||||
#endif
|
||||
|
||||
/* possible conflicts with <term.h> which may be included in <curses.h> */
|
||||
#ifdef color_names
|
||||
#undef color_names
|
||||
@ -143,7 +159,7 @@
|
||||
#define ARROWS_COL 5
|
||||
|
||||
#define MAX_LEN 2048
|
||||
#define BUF_SIZE (10*1024)
|
||||
#define BUF_SIZE (10L*1024)
|
||||
|
||||
#undef MIN
|
||||
#define MIN(x,y) ((x) < (y) ? (x) : (y))
|
||||
@ -155,7 +171,7 @@
|
||||
#define DEFAULT_ASPECT_RATIO 9
|
||||
/* how many spaces is a tab long (default)? */
|
||||
#define TAB_LEN 8
|
||||
#define WTIMEOUT_VAL 10
|
||||
#define WTIMEOUT_VAL 10 /* minimum amount of time needed for curses */
|
||||
|
||||
#ifndef A_CHARTEXT
|
||||
#define A_CHARTEXT 0xff
|
||||
@ -336,6 +352,7 @@ extern int dlg_getpary(WINDOW * /*win*/);
|
||||
#define form_active_text_attr DIALOG_ATR(30)
|
||||
#define form_text_attr DIALOG_ATR(31)
|
||||
#define form_item_readonly_attr DIALOG_ATR(32)
|
||||
#define gauge_attr DIALOG_ATR(33)
|
||||
|
||||
#define DLGK_max (KEY_MAX + 256)
|
||||
|
||||
@ -357,6 +374,9 @@ typedef struct _dlg_callback {
|
||||
/* data for dlg_add_callback_ref */
|
||||
struct _dlg_callback **caller;
|
||||
DIALOG_FREEBACK freeback;
|
||||
/* 1.1-20110107 */
|
||||
bool (*handle_input)(struct _dlg_callback *p);
|
||||
bool input_ready;
|
||||
} DIALOG_CALLBACK;
|
||||
|
||||
typedef struct _dlg_windows {
|
||||
@ -389,6 +409,8 @@ typedef struct {
|
||||
#ifdef HAVE_DLG_TRACE
|
||||
FILE *trace_output; /* option "--trace file" */
|
||||
#endif
|
||||
/* 1.1-20110106 */
|
||||
bool no_mouse; /* option "--no-mouse" */
|
||||
} DIALOG_STATE;
|
||||
|
||||
extern DIALOG_STATE dialog_state;
|
||||
@ -473,8 +495,8 @@ extern DIALOG_VARS dialog_vars;
|
||||
|
||||
#define assert_ptr(ptr,msg) if ((ptr) == 0) dlg_exiterr("cannot allocate memory in " msg)
|
||||
|
||||
#define dlg_malloc(t,n) (t *) malloc((n) * sizeof(t))
|
||||
#define dlg_calloc(t,n) (t *) calloc((n), sizeof(t))
|
||||
#define dlg_malloc(t,n) (t *) malloc((size_t)(n) * sizeof(t))
|
||||
#define dlg_calloc(t,n) (t *) calloc((size_t)(n), sizeof(t))
|
||||
#define dlg_realloc(t,n,p) (t *) realloc((p), (n) * sizeof(t))
|
||||
|
||||
/*
|
||||
@ -514,6 +536,7 @@ extern int dialog_mixedform(const char * /*title*/, const char * /*cprompt*/, in
|
||||
extern int dialog_mixedgauge(const char * /*title*/, const char * /*cprompt*/, int /*height*/, int /*width*/, int /*percent*/, int /*item_no*/, char ** /*items*/);
|
||||
extern int dialog_msgbox(const char * /*title*/, const char * /*cprompt*/, int /*height*/, int /*width*/, int /*pauseopt*/);
|
||||
extern int dialog_pause(const char * /*title*/, const char * /*cprompt*/, int /*height*/, int /*width*/, int /*seconds*/);
|
||||
extern int dialog_prgbox(const char * /*title*/, const char * /*cprompt*/, const char * /*command*/, int /*height*/, int /*width*/, int /*pauseopt*/);
|
||||
extern int dialog_progressbox(const char * /*title*/, const char * /*cprompt*/, int /*height*/, int /*width*/);
|
||||
extern int dialog_tailbox(const char * /*title*/, const char * /*file*/, int /*height*/, int /*width*/, int /*bg_task*/);
|
||||
extern int dialog_textbox(const char * /*title*/, const char * /*file*/, int /*height*/, int /*width*/);
|
||||
@ -551,6 +574,12 @@ typedef int (DIALOG_INPUTMENU) (DIALOG_LISTITEM * /*items*/, int /*current*/, ch
|
||||
extern int dlg_checklist(const char * /*title*/, const char * /*cprompt*/, int /*height*/, int /*width*/, int /*list_height*/, int /*item_no*/, DIALOG_LISTITEM * /*items*/, const char * /*states*/, int /*flag*/, int * /*current_item*/);
|
||||
extern int dlg_form(const char * /*title*/, const char * /*cprompt*/, int /*height*/, int /*width*/, int /*form_height*/, int /*item_no*/, DIALOG_FORMITEM * /*items*/, int * /*current_item*/);
|
||||
extern int dlg_menu(const char * /*title*/, const char * /*cprompt*/, int /*height*/, int /*width*/, int /*menu_height*/, int /*item_no*/, DIALOG_LISTITEM * /*items*/, int * /*current_item*/, DIALOG_INPUTMENU /*rename_menu*/);
|
||||
extern int dlg_progressbox(const char * /*title*/, const char * /*cprompt*/, int /*height*/, int /*width*/, int /*pauseopt*/, FILE * /* fp */);
|
||||
|
||||
/* argv.c */
|
||||
extern char ** dlg_string_to_argv(char * /* blob */);
|
||||
extern int dlg_count_argv(char ** /* argv */);
|
||||
extern int dlg_eat_argv(int * /* argcp */, char *** /* argvp */, int /* start */, int /* count */);
|
||||
|
||||
/* arrows.c */
|
||||
extern void dlg_draw_arrows(WINDOW * /*dialog*/, int /*top_arrow*/, int /*bottom_arrow*/, int /*x*/, int /*top*/, int /*bottom*/);
|
||||
@ -627,6 +656,7 @@ extern char * dlg_strclone(const char * /*cprompt*/);
|
||||
extern char * dlg_strempty(void);
|
||||
extern chtype dlg_asciibox(chtype /*ch*/);
|
||||
extern chtype dlg_boxchar(chtype /*ch*/);
|
||||
extern chtype dlg_get_attrs(WINDOW * /*win*/);
|
||||
extern const char * dlg_print_line(WINDOW */*win*/, chtype */*attr*/, const char */*prompt*/, int /*lm*/, int /*rm*/, int */*x*/);
|
||||
extern int dlg_box_x_ordinate(int /*width*/);
|
||||
extern int dlg_box_y_ordinate(int /*height*/);
|
||||
@ -780,5 +810,6 @@ extern void _nc_free_and_exit(int); /* nc_alloc.h normally not installed */
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
/* *INDENT-ON* */
|
||||
|
||||
#endif /* DIALOG_H_included */
|
||||
|
@ -1,9 +1,9 @@
|
||||
/*
|
||||
* $Id: dlg_colors.h,v 1.15 2007/02/18 18:23:29 tom Exp $
|
||||
* $Id: dlg_colors.h,v 1.16 2011/01/17 00:20:32 tom Exp $
|
||||
*
|
||||
* colors.h -- color attribute definitions
|
||||
*
|
||||
* Copyright 2000-2005,2006 Thomas E. Dickey
|
||||
* Copyright 2000-2007,2011 Thomas E. Dickey
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License, version 2.1
|
||||
@ -168,6 +168,10 @@
|
||||
#define DLGC_BG_FORM_TEXT COLOR_CYAN
|
||||
#define DLGC_HL_FORM_TEXT TRUE
|
||||
|
||||
#define DLGC_FG_GAUGE COLOR_BLUE
|
||||
#define DLGC_BG_GAUGE COLOR_WHITE
|
||||
#define DLGC_HL_GAUGE TRUE
|
||||
|
||||
/* End of default color definitions */
|
||||
|
||||
/*
|
||||
|
@ -1,9 +1,9 @@
|
||||
/*
|
||||
* $Id: fselect.c,v 1.74 2010/04/28 20:45:40 tom Exp $
|
||||
* $Id: fselect.c,v 1.76 2011/01/16 22:20:16 tom Exp $
|
||||
*
|
||||
* fselect.c -- implements the file-selector box
|
||||
*
|
||||
* Copyright 2000-2009,2010 Thomas E. Dickey
|
||||
* Copyright 2000-2010,2011 Thomas E. Dickey
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License, version 2.1
|
||||
@ -241,10 +241,10 @@ display_list(LIST * list)
|
||||
top = y - 1;
|
||||
bottom = y + getmaxy(list->win);
|
||||
dlg_draw_scrollbar(list->par,
|
||||
list->offset,
|
||||
list->offset,
|
||||
list->offset + getmaxy(list->win),
|
||||
list->length,
|
||||
(long) list->offset,
|
||||
(long) list->offset,
|
||||
(long) (list->offset + getmaxy(list->win)),
|
||||
(long) (list->length),
|
||||
x + 1,
|
||||
x + getmaxx(list->win),
|
||||
top,
|
||||
@ -289,7 +289,7 @@ fix_arrows(LIST * list)
|
||||
}
|
||||
|
||||
static int
|
||||
show_list(char *target, LIST * list, bool keep)
|
||||
show_list(char *target, LIST * list, int keep)
|
||||
{
|
||||
int changed = keep || find_choice(target, list);
|
||||
display_list(list);
|
||||
@ -301,7 +301,7 @@ show_list(char *target, LIST * list, bool keep)
|
||||
* to match.
|
||||
*/
|
||||
static int
|
||||
show_both_lists(char *input, LIST * d_list, LIST * f_list, bool keep)
|
||||
show_both_lists(char *input, LIST * d_list, LIST * f_list, int keep)
|
||||
{
|
||||
char *leaf = leaf_of(input);
|
||||
|
||||
@ -427,7 +427,7 @@ complete(char *name, LIST * d_list, LIST * f_list, char **buff_ptr)
|
||||
}
|
||||
|
||||
static bool
|
||||
fill_lists(char *current, char *input, LIST * d_list, LIST * f_list, bool keep)
|
||||
fill_lists(char *current, char *input, LIST * d_list, LIST * f_list, int keep)
|
||||
{
|
||||
DIR *dp;
|
||||
DIRENT *de;
|
||||
@ -528,7 +528,7 @@ usable_state(int state, LIST * dirs, LIST * files)
|
||||
* Display a dialog box for entering a filename
|
||||
*/
|
||||
static int
|
||||
dlg_fselect(const char *title, const char *path, int height, int width, bool dselect)
|
||||
dlg_fselect(const char *title, const char *path, int height, int width, int dselect)
|
||||
{
|
||||
/* *INDENT-OFF* */
|
||||
static DLG_KEYS_BINDING binding[] = {
|
||||
@ -568,8 +568,8 @@ dlg_fselect(const char *title, const char *path, int height, int width, bool dse
|
||||
WINDOW *w_text = 0;
|
||||
WINDOW *w_work = 0;
|
||||
const char **buttons = dlg_ok_labels();
|
||||
char *d_label = _("Directories");
|
||||
char *f_label = _("Files");
|
||||
const char *d_label = _("Directories");
|
||||
const char *f_label = _("Files");
|
||||
char *partial;
|
||||
int min_wide = MIN_WIDE;
|
||||
int min_items = height ? 0 : 4;
|
||||
@ -682,7 +682,7 @@ dlg_fselect(const char *title, const char *path, int height, int width, bool dse
|
||||
if (resized) {
|
||||
resized = FALSE;
|
||||
dlg_show_string(w_text, input, offset, inputbox_attr,
|
||||
0, 0, tbox_width, 0, first);
|
||||
0, 0, tbox_width, (bool) 0, (bool) first);
|
||||
}
|
||||
#endif
|
||||
|
||||
|
@ -1,9 +1,9 @@
|
||||
/*
|
||||
* $Id: guage.c,v 1.45 2010/01/19 09:15:20 tom Exp $
|
||||
* $Id: guage.c,v 1.52 2011/01/17 10:39:28 tom Exp $
|
||||
*
|
||||
* guage.c -- implements the gauge dialog
|
||||
*
|
||||
* Copyright 2000-2007,2010 Thomas E. Dickey
|
||||
* Copyright 2000-2010,2011 Thomas E. Dickey
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License, version 2.1
|
||||
@ -33,12 +33,11 @@
|
||||
#define MIN_HIGH (4)
|
||||
#define MIN_WIDE (10 + 2 * (2 + MARGIN))
|
||||
|
||||
#define isMarker(buf) !strncmp(buf, "XXX", 3)
|
||||
#define isMarker(buf) !strncmp(buf, "XXX", (size_t) 3)
|
||||
|
||||
typedef struct {
|
||||
DIALOG_CALLBACK obj;
|
||||
WINDOW *text;
|
||||
bool done;
|
||||
const char *title;
|
||||
char *prompt;
|
||||
char prompt_buf[MY_LEN];
|
||||
@ -82,6 +81,7 @@ repaint_text(MY_OBJ * obj)
|
||||
WINDOW *dialog = obj->obj.win;
|
||||
int i, x;
|
||||
|
||||
if (dialog != 0 && obj->obj.input != 0) {
|
||||
(void) werase(dialog);
|
||||
dlg_draw_box(dialog, 0, 0, obj->height, obj->width, dialog_attr, border_attr);
|
||||
|
||||
@ -102,7 +102,7 @@ repaint_text(MY_OBJ * obj)
|
||||
* attribute.
|
||||
*/
|
||||
(void) wmove(dialog, obj->height - 3, 4);
|
||||
wattrset(dialog, title_attr);
|
||||
wattrset(dialog, gauge_attr);
|
||||
|
||||
for (i = 0; i < (obj->width - 2 * (3 + MARGIN)); i++)
|
||||
(void) waddch(dialog, ' ');
|
||||
@ -131,15 +131,20 @@ repaint_text(MY_OBJ * obj)
|
||||
}
|
||||
|
||||
(void) wrefresh(dialog);
|
||||
}
|
||||
}
|
||||
|
||||
static int
|
||||
handle_input(MY_OBJ * obj)
|
||||
static bool
|
||||
handle_input(DIALOG_CALLBACK * cb)
|
||||
{
|
||||
MY_OBJ *obj = (MY_OBJ *) cb;
|
||||
bool result;
|
||||
int status;
|
||||
char buf[MY_LEN];
|
||||
|
||||
if ((status = read_data(buf, dialog_state.pipe_input)) > 0) {
|
||||
if (dialog_state.pipe_input == 0) {
|
||||
status = -1;
|
||||
} else if ((status = read_data(buf, dialog_state.pipe_input)) > 0) {
|
||||
|
||||
if (isMarker(buf)) {
|
||||
/*
|
||||
@ -172,25 +177,32 @@ handle_input(MY_OBJ * obj)
|
||||
obj->percent = atoi(buf);
|
||||
}
|
||||
} else {
|
||||
obj->done = TRUE;
|
||||
if (feof(dialog_state.pipe_input) ||
|
||||
(ferror(dialog_state.pipe_input) && errno != EINTR)) {
|
||||
dlg_remove_callback(cb);
|
||||
}
|
||||
}
|
||||
|
||||
return status;
|
||||
if (status > 0) {
|
||||
result = TRUE;
|
||||
repaint_text(obj);
|
||||
} else {
|
||||
result = FALSE;
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
static bool
|
||||
handle_my_getc(DIALOG_CALLBACK * cb, int ch, int fkey, int *result)
|
||||
{
|
||||
MY_OBJ *obj = (MY_OBJ *) cb;
|
||||
int status = TRUE;
|
||||
|
||||
*result = DLG_EXIT_OK;
|
||||
if (obj != 0) {
|
||||
if (cb != 0) {
|
||||
if (!fkey && (ch == ERR)) {
|
||||
if (handle_input(obj) > 0)
|
||||
repaint_text(obj);
|
||||
else
|
||||
status = FALSE;
|
||||
(void) handle_input(cb);
|
||||
status = (cb->input != 0);
|
||||
}
|
||||
} else {
|
||||
status = FALSE;
|
||||
@ -265,12 +277,15 @@ dialog_gauge(const char *title,
|
||||
obj->obj.keep_win = TRUE;
|
||||
obj->obj.bg_task = TRUE;
|
||||
obj->obj.handle_getc = handle_my_getc;
|
||||
obj->obj.handle_input = handle_input;
|
||||
obj->title = title;
|
||||
obj->prompt = prompt;
|
||||
obj->percent = percent;
|
||||
obj->height = height;
|
||||
obj->width = width;
|
||||
dlg_add_callback_ref((DIALOG_CALLBACK **) objref, my_cleanup);
|
||||
} else {
|
||||
obj->obj.win = dialog;
|
||||
}
|
||||
|
||||
repaint_text(obj);
|
||||
|
@ -1,7 +1,7 @@
|
||||
#! /bin/sh
|
||||
# $Id: headers-sh.in,v 1.5 2007/07/05 00:20:18 tom Exp $
|
||||
# $Id: headers-sh.in,v 1.9 2011/01/06 09:38:25 tom Exp $
|
||||
##############################################################################
|
||||
# Copyright (c) 2004,2007 Thomas E. Dickey #
|
||||
# Copyright (c) 2004-2007,2011 Thomas E. Dickey #
|
||||
# #
|
||||
# Permission is hereby granted, free of charge, to any person obtaining a #
|
||||
# copy of this software and associated documentation files (the "Software"), #
|
||||
@ -43,6 +43,7 @@
|
||||
PACKAGE=@PACKAGE@
|
||||
PKGNAME=@PACKAGE_PREFIX@
|
||||
CONFIGH=@PACKAGE_CONFIG@
|
||||
SUB_INC=@SUB_INC@
|
||||
|
||||
TMPSED=headers.sed
|
||||
|
||||
@ -54,6 +55,8 @@ alnum=_${DIGIT}${alpha}
|
||||
ALNUM=_${DIGIT}${ALPHA}
|
||||
MIXED=_${DIGIT}${ALPHA}${alpha}
|
||||
|
||||
pkgname=`echo "$PKGNAME" | tr "$ALPHA" "$alpha"`
|
||||
|
||||
if test $# = 2 ; then
|
||||
rm -f $TMPSED
|
||||
DST=$1
|
||||
@ -71,7 +74,7 @@ if test $# = 2 ; then
|
||||
done
|
||||
;;
|
||||
*)
|
||||
echo "" >> $TMPSED
|
||||
touch $TMPSED
|
||||
;;
|
||||
esac
|
||||
|
||||
@ -109,7 +112,8 @@ EOF
|
||||
# pick up autoconf-defined symbols in the config.h file
|
||||
for name in `
|
||||
egrep '^#define[ ][ ]*['$ALNUM']' $REF/$CONFIGH \
|
||||
| sed -e 's/^#define[ ][ ]*//' \
|
||||
| sed \
|
||||
-e 's/^#define[ ][ ]*//' \
|
||||
-e 's/[ ].*//' \
|
||||
| egrep -v "^${PACKAGE}_" \
|
||||
| sort -u \
|
||||
@ -118,6 +122,11 @@ EOF
|
||||
echo "s/\\<$name\\>/${PKGNAME}_$name/g" >>$TMPSED
|
||||
done
|
||||
|
||||
if test "$SUB_INC" = yes
|
||||
then
|
||||
echo "s,#include <${pkgname}_,#include <${PACKAGE}/${pkgname}_," >>$TMPSED
|
||||
fi
|
||||
|
||||
# reduce the count if possible, since some old sed's limit is 100 lines
|
||||
sort -u $TMPSED >headers.tmp
|
||||
mv headers.tmp $TMPSED
|
||||
@ -145,6 +154,24 @@ else
|
||||
# Just in case someone gzip'd manpages, remove the conflicting copy.
|
||||
test -f $DST/$NAME.gz && rm -f $DST/$NAME.gz
|
||||
|
||||
if test "$SUB_INC" = yes
|
||||
then
|
||||
case $NAME in #(vi
|
||||
${pkgname}_*) #(vi
|
||||
case "$PRG" in #(vi
|
||||
*install*)
|
||||
test -d $DST/$PACKAGE || mkdir -p $DST/$PACKAGE
|
||||
;;
|
||||
esac
|
||||
NAME=$PACKAGE/$NAME
|
||||
;;
|
||||
*)
|
||||
NAME=$PACKAGE.h
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
|
||||
eval $PRG $TMPSRC $DST/$NAME
|
||||
rm -f $TMPSRC
|
||||
fi
|
||||
# vile:ts=4 sw=4
|
||||
|
@ -1,9 +1,9 @@
|
||||
/*
|
||||
* $Id: inputstr.c,v 1.66 2010/01/15 23:13:36 tom Exp $
|
||||
* $Id: inputstr.c,v 1.69 2011/01/16 21:52:35 tom Exp $
|
||||
*
|
||||
* inputstr.c -- functions for input/display of a string
|
||||
*
|
||||
* Copyright 2000-2009,2010 Thomas E. Dickey
|
||||
* Copyright 2000-2010,2011 Thomas E. Dickey
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License, version 2.1
|
||||
@ -54,8 +54,8 @@ typedef struct _cache {
|
||||
struct _cache *cache_at; /* unique: associate caches by CACHE */
|
||||
const char *string_at; /* unique: associate caches by char* */
|
||||
#endif
|
||||
unsigned s_len; /* strlen(string) - we add 1 for EOS */
|
||||
unsigned i_len; /* length(list) - we add 1 for EOS */
|
||||
size_t s_len; /* strlen(string) - we add 1 for EOS */
|
||||
size_t i_len; /* length(list) - we add 1 for EOS */
|
||||
char *string; /* a copy of the last-processed string */
|
||||
int *list; /* indices into the string */
|
||||
} CACHE;
|
||||
@ -95,9 +95,9 @@ compare_cache(const void *a, const void *b)
|
||||
const CACHE *p = (const CACHE *) a;
|
||||
const CACHE *q = (const CACHE *) b;
|
||||
int result = 0;
|
||||
result = p->cache_at - q->cache_at;
|
||||
result = (int) (p->cache_at - q->cache_at);
|
||||
if (result == 0)
|
||||
result = p->string_at - q->string_at;
|
||||
result = (int) (p->string_at - q->string_at);
|
||||
return result;
|
||||
}
|
||||
#endif
|
||||
@ -187,12 +187,12 @@ static bool
|
||||
same_cache2(CACHE * cache, const char *string, unsigned i_len)
|
||||
{
|
||||
unsigned need;
|
||||
unsigned s_len = strlen(string);
|
||||
size_t s_len = strlen(string);
|
||||
|
||||
if (cache->s_len != 0
|
||||
&& cache->s_len >= s_len
|
||||
&& cache->list != 0
|
||||
&& SAME_CACHE(cache, string, s_len)) {
|
||||
&& SAME_CACHE(cache, string, (size_t) s_len)) {
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
@ -222,12 +222,12 @@ same_cache2(CACHE * cache, const char *string, unsigned i_len)
|
||||
* string and its associated length.
|
||||
*/
|
||||
static bool
|
||||
same_cache1(CACHE * cache, const char *string, unsigned i_len)
|
||||
same_cache1(CACHE * cache, const char *string, size_t i_len)
|
||||
{
|
||||
unsigned s_len = strlen(string);
|
||||
size_t s_len = strlen(string);
|
||||
|
||||
if (cache->s_len == s_len
|
||||
&& SAME_CACHE(cache, string, s_len)) {
|
||||
&& SAME_CACHE(cache, string, (size_t) s_len)) {
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
@ -422,10 +422,10 @@ dlg_index_columns(const char *string)
|
||||
result = wcwidth(temp[0]);
|
||||
}
|
||||
if (result < 0) {
|
||||
wchar_t *printable;
|
||||
cchar_t temp2;
|
||||
setcchar(&temp2, temp, 0, 0, 0);
|
||||
printable = wunctrl(&temp2);
|
||||
const wchar_t *printable;
|
||||
cchar_t temp2, *temp2p = &temp2;
|
||||
setcchar(temp2p, temp, 0, 0, 0);
|
||||
printable = wunctrl(temp2p);
|
||||
result = printable ? (int) wcslen(printable) : 1;
|
||||
}
|
||||
}
|
||||
|
@ -1,5 +1,32 @@
|
||||
# $Id: makefile.in,v 1.71 2010/04/28 00:45:38 tom Exp $
|
||||
# $Id: makefile.in,v 1.78 2011/03/02 09:57:24 tom Exp $
|
||||
# template makefile for DIALOG
|
||||
##############################################################################
|
||||
# Copyright (c) 1999-2010,2011 Thomas E. Dickey #
|
||||
# #
|
||||
# Permission is hereby granted, free of charge, to any person obtaining a #
|
||||
# copy of this software and associated documentation files (the "Software"), #
|
||||
# to deal in the Software without restriction, including without limitation #
|
||||
# the rights to use, copy, modify, merge, publish, distribute, distribute #
|
||||
# with modifications, sublicense, and/or sell copies of the Software, and to #
|
||||
# permit persons to whom the Software is furnished to do so, subject to the #
|
||||
# following conditions: #
|
||||
# #
|
||||
# The above copyright notice and this permission notice shall be included in #
|
||||
# all copies or substantial portions of the Software. #
|
||||
# #
|
||||
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR #
|
||||
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, #
|
||||
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL #
|
||||
# THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER #
|
||||
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING #
|
||||
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER #
|
||||
# DEALINGS IN THE SOFTWARE. #
|
||||
# #
|
||||
# Except as contained in this notice, the name(s) of the above copyright #
|
||||
# holders shall not be used in advertising or otherwise to promote the sale, #
|
||||
# use or other dealings in this Software without prior written #
|
||||
# authorization. #
|
||||
##############################################################################
|
||||
#
|
||||
SHELL = /bin/sh
|
||||
|
||||
@ -34,12 +61,12 @@ MAN3DIR = $(MANDIR)/man3
|
||||
localedir = $(prefix)/@DATADIRNAME@/locale
|
||||
|
||||
CFLAGS = @CFLAGS@
|
||||
CPPFLAGS = @CPPFLAGS@ @DEFS@ -I. -I$(srcdir) -DLOCALEDIR=\"$(localedir)\"
|
||||
CPPFLAGS = -I. -I$(srcdir) @CPPFLAGS@ @DEFS@ -DLOCALEDIR=\"$(localedir)\"
|
||||
EXTRA_CFLAGS = @EXTRA_CFLAGS@
|
||||
CC = @CC@
|
||||
CPP = @CPP@
|
||||
AR = @AR@
|
||||
LDFLAGS = @LDFLAGS@
|
||||
LDFLAGS = @EXTRA_LDFLAGS@ @LDFLAGS@
|
||||
LIBS = @LIBS@ @INTLLIBS@
|
||||
RANLIB = @LIB_PREP@
|
||||
|
||||
@ -65,7 +92,16 @@ INSTALL_DATA = @INSTALL_DATA@
|
||||
|
||||
LINK = $(LIBTOOL_LINK)
|
||||
|
||||
PACKAGE = `echo @PACKAGE@ |sed @program_transform_name@`
|
||||
# The library is always named for the package, but the program can be further
|
||||
# renamed at install time, starting with the package name.
|
||||
PACKAGE = @PACKAGE@
|
||||
ACTUAL_PROG = `echo $(PACKAGE) |sed @program_transform_name@`
|
||||
LIB_CONFIG = @PACKAGE@-config
|
||||
|
||||
# The library name $(LIB) is set at configure/make time, since it is used as a
|
||||
# makefile target. Ditto for $(PROG).
|
||||
LIB = @LIB_PREFIX@@PACKAGE@$a
|
||||
PROG = dialog$x
|
||||
#
|
||||
# Standard .c to .o compile line.
|
||||
#
|
||||
@ -91,6 +127,7 @@ PACKAGE = `echo @PACKAGE@ |sed @program_transform_name@`
|
||||
|
||||
EXTRAOBJS = @EXTRAOBJS@
|
||||
OBJECTS = $(EXTRAOBJS) \
|
||||
argv$o \
|
||||
arrows$o \
|
||||
buttons$o \
|
||||
checklist$o \
|
||||
@ -118,8 +155,6 @@ HDRS = \
|
||||
dlg_config.h \
|
||||
dlg_keys.h
|
||||
|
||||
LIB = @LIB_PREFIX@dialog$a
|
||||
PROG = dialog$x
|
||||
ALL = $(LIB) $(PROG)
|
||||
|
||||
BIN_DIRS = $(BINDIR) $(MAN1DIR)
|
||||
@ -144,7 +179,7 @@ $(LIB) : $(LIB_OBJECT)
|
||||
$(RANLIB) $@
|
||||
|
||||
dialog$x : $(LIB) dialog$o @INTLDIR_MAKE@ @INTLLIBS@
|
||||
$(LINK) -o $@ dialog$o -L. -ldialog $(LDFLAGS) $(LIBS)
|
||||
$(LINK) -o $@ dialog$o -L. -l@PACKAGE@ $(LDFLAGS) $(LIBS)
|
||||
|
||||
clean \
|
||||
distclean \
|
||||
@ -187,21 +222,27 @@ uninstall-full :: uninstall-bin uninstall-man uninstall-lib
|
||||
@echo "made $@"
|
||||
|
||||
install-bin : $(PROG) $(BINDIR)
|
||||
$(INSTALL_PROGRAM) $(PROG) $(BINDIR)/$(PACKAGE)$x
|
||||
$(INSTALL_PROGRAM) $(PROG) $(BINDIR)/$(ACTUAL_PROG)$x
|
||||
|
||||
uninstall-bin :
|
||||
$(RM) $(BINDIR)/$(PACKAGE)$x
|
||||
$(RM) $(BINDIR)/$(ACTUAL_PROG)$x
|
||||
|
||||
install-man :: $(MAN1DIR)
|
||||
$(INSTALL_DATA) $(srcdir)/dialog.1 $(MAN1DIR)/$(PACKAGE).1
|
||||
@ echo "** installing $(ACTUAL_PROG).1"
|
||||
@ $(SHELL) $(srcdir)/rename.sh \
|
||||
$(srcdir)/dialog.1 \
|
||||
$(MAN1DIR)/$(ACTUAL_PROG).1 \
|
||||
$(ACTUAL_PROG) \
|
||||
@PACKAGE@ \
|
||||
$(INSTALL_DATA)
|
||||
|
||||
uninstall-man ::
|
||||
$(RM) $(MAN1DIR)/$(PACKAGE).1
|
||||
$(RM) $(MAN1DIR)/$(ACTUAL_PROG).1
|
||||
|
||||
# most users do not want/need the library, so the install rules are distinct.
|
||||
install-lib :: $(BINDIR) dialog-config
|
||||
@ echo "** installing config script in $(BINDIR)"
|
||||
@ $(INSTALL_SCRIPT) dialog-config $(BINDIR)
|
||||
@ $(INSTALL_SCRIPT) dialog-config $(BINDIR)/$(LIB_CONFIG)
|
||||
|
||||
install-lib :: $(LIB_DIRS) $(LIB) headers.sed
|
||||
@ echo "** installing library in $(LIBDIR)"
|
||||
@ -213,20 +254,26 @@ install-lib :: $(LIB_DIRS) $(LIB) headers.sed
|
||||
@ $(SHELL) $(srcdir)/headers-sh $(INSTALL_DATA) $(INCLUDEDIR) . dlg_config.h
|
||||
|
||||
uninstall-lib :: $(BINDIR)
|
||||
$(RM) $(BINDIR)/dialog-config
|
||||
$(RM) $(BINDIR)/$(LIB_CONFIG)
|
||||
|
||||
uninstall-lib :: $(LIB_DIRS)
|
||||
- $(LIBTOOL_UNINSTALL) $(RM) $(LIBDIR)/$(LIB)
|
||||
$(RM) $(INCLUDEDIR)/dialog.h
|
||||
$(RM) $(INCLUDEDIR)/dlg_colors.h
|
||||
$(RM) $(INCLUDEDIR)/dlg_keys.h
|
||||
$(RM) $(INCLUDEDIR)/dlg_config.h
|
||||
@ $(SHELL) $(srcdir)/headers-sh $(RM) $(INCLUDEDIR) $(srcdir) dialog.h
|
||||
@ $(SHELL) $(srcdir)/headers-sh $(RM) $(INCLUDEDIR) $(srcdir) dlg_colors.h
|
||||
@ $(SHELL) $(srcdir)/headers-sh $(RM) $(INCLUDEDIR) $(srcdir) dlg_keys.h
|
||||
@ $(SHELL) $(srcdir)/headers-sh $(RM) $(INCLUDEDIR) . dlg_config.h
|
||||
|
||||
install-lib :: $(MAN3DIR)
|
||||
$(INSTALL_DATA) $(srcdir)/dialog.3 $(MAN3DIR)/$(PACKAGE).3
|
||||
@ echo "** installing @PACKAGE@.3"
|
||||
@ $(SHELL) $(srcdir)/rename.sh \
|
||||
$(srcdir)/dialog.3 \
|
||||
$(MAN3DIR)/@PACKAGE@.3 \
|
||||
$(ACTUAL_PROG) \
|
||||
@PACKAGE@ \
|
||||
$(INSTALL_DATA)
|
||||
|
||||
uninstall-lib ::
|
||||
$(RM) $(MAN3DIR)/$(PACKAGE).3
|
||||
$(RM) $(MAN3DIR)/@PACKAGE@.3
|
||||
|
||||
headers.sed : $(srcdir)/headers-sh
|
||||
$(SHELL) $(srcdir)/headers-sh $(INCLUDEDIR) $(srcdir)
|
||||
|
@ -1,9 +1,9 @@
|
||||
/*
|
||||
* $Id: menubox.c,v 1.118 2010/01/17 22:24:11 tom Exp $
|
||||
* $Id: menubox.c,v 1.120 2011/01/19 00:27:53 tom Exp $
|
||||
*
|
||||
* menubox.c -- implements the menu box
|
||||
*
|
||||
* Copyright 2000-2009,2010 Thomas E. Dickey
|
||||
* Copyright 2000-2010,2011 Thomas E. Dickey
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public Licens, version 2.1e
|
||||
@ -117,7 +117,7 @@ print_item(WINDOW *win,
|
||||
Mode selected,
|
||||
bool is_inputmenu)
|
||||
{
|
||||
chtype save = getattrs(win);
|
||||
chtype save = dlg_get_attrs(win);
|
||||
int n;
|
||||
int my_width = menu_width;
|
||||
int my_x = item_x;
|
||||
@ -188,7 +188,7 @@ input_menu_edit(WINDOW *win,
|
||||
int choice,
|
||||
char **resultp)
|
||||
{
|
||||
chtype save = getattrs(win);
|
||||
chtype save = dlg_get_attrs(win);
|
||||
char *result;
|
||||
int offset = 0;
|
||||
int key = 0, fkey = 0;
|
||||
|
@ -1,9 +1,9 @@
|
||||
/*
|
||||
* $Id: mixedgauge.c,v 1.18 2010/01/15 23:43:53 tom Exp $
|
||||
* $Id: mixedgauge.c,v 1.23 2011/01/19 00:27:53 tom Exp $
|
||||
*
|
||||
* mixedgauge.c -- implements the mixedgauge dialog
|
||||
*
|
||||
* Copyright 2007,2010 Thomas E. Dickey
|
||||
* Copyright 2007-2010,2011 Thomas E. Dickey
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License, version 2.1
|
||||
@ -89,7 +89,7 @@ status_string(char *given, char **freeMe)
|
||||
break;
|
||||
}
|
||||
} else if (*given == '-') {
|
||||
unsigned need = strlen(++given);
|
||||
size_t need = strlen(++given);
|
||||
char *temp = dlg_malloc(char, need);
|
||||
*freeMe = temp;
|
||||
sprintf(temp, "%3s%%", given);
|
||||
@ -190,8 +190,8 @@ mydraw_mixed_box(WINDOW *win, int y, int x, int height, int width,
|
||||
dlg_draw_box(win, y, x, height, width, boxchar, borderchar);
|
||||
{
|
||||
chtype attr = A_NORMAL;
|
||||
char *message = _("Overall Progress");
|
||||
chtype save2 = getattrs(win);
|
||||
const char *message = _("Overall Progress");
|
||||
chtype save2 = dlg_get_attrs(win);
|
||||
wattrset(win, title_attr);
|
||||
(void) wmove(win, y, x + 2);
|
||||
dlg_print_text(win, message, width, &attr);
|
||||
@ -223,7 +223,7 @@ dlg_update_mixedgauge(DIALOG_MIXEDGAUGE * dlg, int percent)
|
||||
* attribute.
|
||||
*/
|
||||
(void) wmove(dlg->dialog, dlg->height - 3, 4);
|
||||
wattrset(dlg->dialog, title_attr);
|
||||
wattrset(dlg->dialog, gauge_attr);
|
||||
|
||||
for (i = 0; i < (dlg->width - 2 * (3 + MARGIN)); i++)
|
||||
(void) waddch(dlg->dialog, ' ');
|
||||
|
12
contrib/dialog/package/debian/changelog
Normal file
12
contrib/dialog/package/debian/changelog
Normal file
@ -0,0 +1,12 @@
|
||||
cdialog (20110302) unstable; urgency=high
|
||||
|
||||
* Add --prgbox and --progressbox
|
||||
* Bug-fix for --timeout.
|
||||
|
||||
-- Thomas E. Dickey <dickey@invisible-island.net> Mon, 28 Feb 2011 18:42:17 -0500
|
||||
|
||||
cdialog (20110118) unstable; urgency=high
|
||||
|
||||
* Initial package release
|
||||
|
||||
-- Thomas E. Dickey <dickey@invisible-island.net> Thu, 30 Dec 2010 09:23:24 -0500
|
1
contrib/dialog/package/debian/compat
Normal file
1
contrib/dialog/package/debian/compat
Normal file
@ -0,0 +1 @@
|
||||
5
|
24
contrib/dialog/package/debian/control
Normal file
24
contrib/dialog/package/debian/control
Normal file
@ -0,0 +1,24 @@
|
||||
Source: cdialog
|
||||
Maintainer: Thomas E. Dickey <dickey@invisible-island.net>
|
||||
Section: misc
|
||||
Priority: optional
|
||||
Standards-Version: 3.8.4
|
||||
Build-Depends: debhelper (>= 5)
|
||||
Homepage: http://invisible-island.net/dialog/
|
||||
|
||||
Package: cdialog
|
||||
Architecture: any
|
||||
Depends: ${shlibs:Depends}, ${misc:Depends}
|
||||
Description: dialog - display dialog boxes from shell scripts
|
||||
Dialog is a program that will let you to present a variety of questions
|
||||
or display messages using dialog boxes from a shell script. These
|
||||
types of dialog boxes are implemented (though not all are necessarily
|
||||
compiled into dialog):
|
||||
.
|
||||
calendar, checklist, dselect, editbox, form, fselect, gauge,
|
||||
infobox, inputbox, inputmenu, menu, mixedform, mixedgauge,
|
||||
msgbox (message), passwordbox, passwordform, pause, progressbox,
|
||||
radiolist, tailbox, tailboxbg, textbox, timebox, and yesno
|
||||
(yes/no).
|
||||
.
|
||||
This package installs as "cdialog" to avoid conflict with other packages.
|
111
contrib/dialog/package/debian/copyright
Normal file
111
contrib/dialog/package/debian/copyright
Normal file
@ -0,0 +1,111 @@
|
||||
Upstream source http://invisible-island.net/dialog/dialog.html
|
||||
|
||||
Current dialog upstream maintainer: Thomas Dickey <dickey@invisible-island.net>
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
Files: *.c *.h
|
||||
Copyright 2000-2008,2010 Thomas E. Dickey
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU Lesser General Public License, version 2.1
|
||||
as published by the Free Software Foundation.
|
||||
|
||||
This program is distributed in the hope that it will be useful, but
|
||||
WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with this program; if not, write to
|
||||
Free Software Foundation, Inc.
|
||||
51 Franklin St., Fifth Floor
|
||||
Boston, MA 02110, USA.
|
||||
|
||||
An earlier version of this program lists as authors
|
||||
Savio Lam (lam836@cs.cuhk.hk)
|
||||
-------------------------------------------------------------------------------
|
||||
|
||||
Files: aclocal.m4
|
||||
Licence: other-BSD
|
||||
Copyright: 1999-2009,2010 by Thomas E. Dickey
|
||||
Permission is hereby granted, free of charge, to any person obtaining a
|
||||
copy of this software and associated documentation files (the
|
||||
"Software"), to deal in the Software without restriction, including
|
||||
without limitation the rights to use, copy, modify, merge, publish,
|
||||
distribute, distribute with modifications, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included
|
||||
in all copies or portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
||||
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||
IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
|
||||
DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
|
||||
OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR
|
||||
THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
Except as contained in this notice, the name(s) of the above copyright
|
||||
holders shall not be used in advertising or otherwise to promote the
|
||||
sale, use or other dealings in this Software without prior written
|
||||
authorization.
|
||||
|
||||
Files: install-sh
|
||||
Copyright: 1994 X Consortium
|
||||
Licence: other-BSD
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to
|
||||
deal in the Software without restriction, including without limitation the
|
||||
rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
|
||||
sell copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
|
||||
AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC-
|
||||
TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
Except as contained in this notice, the name of the X Consortium shall not
|
||||
be used in advertising or otherwise to promote the sale, use or other deal-
|
||||
ings in this Software without prior written authorization from the X Consor-
|
||||
tium.
|
||||
|
||||
FSF changes to this file are in the public domain.
|
||||
|
||||
Calling this script install-sh is preferred over install.sh, to prevent
|
||||
`make' implicit rules from creating a file called install from it
|
||||
when there is no Makefile.
|
||||
|
||||
This script is compatible with the BSD install script, but was written
|
||||
from scratch. It can only install one file at a time, a restriction
|
||||
shared with many OS's install programs.
|
||||
|
||||
Files: debian/*
|
||||
Copyright: 2010 Thomas E. Dickey
|
||||
Licence: other-BSD
|
||||
Permission to use, copy, modify, and distribute this software and its
|
||||
documentation for any purpose and without fee is hereby granted,
|
||||
provided that the above copyright notice appear in all copies and that
|
||||
both that copyright notice and this permission notice appear in
|
||||
supporting documentation, and that the name of the above listed
|
||||
copyright holder(s) not be used in advertising or publicity pertaining
|
||||
to distribution of the software without specific, written prior
|
||||
permission.
|
||||
|
||||
THE ABOVE LISTED COPYRIGHT HOLDER(S) DISCLAIM ALL WARRANTIES WITH REGARD
|
||||
TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
||||
AND FITNESS, IN NO EVENT SHALL THE ABOVE LISTED COPYRIGHT HOLDER(S) BE
|
||||
LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
||||
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
||||
ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
||||
OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
|
||||
On Debian systems, the complete text of the GNU General
|
||||
Public License can be found in '/usr/share/common-licenses/GPL-2'
|
1
contrib/dialog/package/debian/docs
Normal file
1
contrib/dialog/package/debian/docs
Normal file
@ -0,0 +1 @@
|
||||
README
|
95
contrib/dialog/package/debian/rules
Executable file
95
contrib/dialog/package/debian/rules
Executable file
@ -0,0 +1,95 @@
|
||||
#!/usr/bin/make -f
|
||||
# MAde with the aid of dh_make, by Craig Small
|
||||
# Sample debian/rules that uses debhelper. GNU copyright 1997 by Joey Hess.
|
||||
# Some lines taken from debmake, by Cristoph Lameter.
|
||||
|
||||
# Uncomment this to turn on verbose mode.
|
||||
#export DH_VERBOSE=1
|
||||
|
||||
# These are used for cross-compiling and for saving the configure script
|
||||
# from having to guess our platform (since we know it already)
|
||||
DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
|
||||
DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
|
||||
|
||||
CFLAGS =
|
||||
|
||||
ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
|
||||
CFLAGS += -O0
|
||||
else
|
||||
CFLAGS += -O2
|
||||
endif
|
||||
ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS)))
|
||||
INSTALL_PROGRAM += -s
|
||||
endif
|
||||
|
||||
|
||||
configure: configure-stamp
|
||||
configure-stamp:
|
||||
dh_testdir
|
||||
|
||||
CFLAGS="$(CFLAGS)" ./configure \
|
||||
--host=$(DEB_HOST_GNU_TYPE) \
|
||||
--build=$(DEB_BUILD_GNU_TYPE) \
|
||||
--prefix=/usr \
|
||||
--mandir=\$${prefix}/share/man \
|
||||
--enable-nls \
|
||||
--enable-header-subdir \
|
||||
--enable-widec \
|
||||
--with-libtool \
|
||||
--with-ncursesw \
|
||||
--with-package=cdialog \
|
||||
--disable-rpath-hack
|
||||
|
||||
touch configure-stamp
|
||||
|
||||
build: build-stamp
|
||||
build-stamp: configure-stamp
|
||||
dh_testdir
|
||||
|
||||
$(MAKE)
|
||||
|
||||
touch build-stamp
|
||||
|
||||
clean:
|
||||
dh_testdir
|
||||
dh_testroot
|
||||
|
||||
[ ! -f makefile ] || $(MAKE) distclean
|
||||
|
||||
rm -f configure-stamp build-stamp install-stamp
|
||||
|
||||
dh_clean
|
||||
|
||||
install: install-stamp
|
||||
install-stamp: build-stamp
|
||||
dh_testdir
|
||||
dh_testroot
|
||||
dh_clean -k
|
||||
dh_installdirs
|
||||
|
||||
$(MAKE) install DESTDIR=$(CURDIR)/debian/cdialog
|
||||
|
||||
touch install-stamp
|
||||
|
||||
# Build architecture-independent files here.
|
||||
binary-indep: build install
|
||||
# No binary-indep target.
|
||||
|
||||
# Build architecture-dependent files here.
|
||||
binary-arch: build install
|
||||
dh_testdir
|
||||
dh_testroot
|
||||
dh_installdocs
|
||||
dh_installexamples
|
||||
dh_installchangelogs CHANGES
|
||||
dh_strip
|
||||
dh_compress
|
||||
dh_fixperms
|
||||
dh_installdeb
|
||||
dh_shlibdeps
|
||||
dh_gencontrol
|
||||
dh_md5sums
|
||||
dh_builddeb
|
||||
|
||||
binary: binary-indep binary-arch
|
||||
.PHONY: build clean binary-indep binary-arch binary install install-stamp
|
1
contrib/dialog/package/debian/source/format
Normal file
1
contrib/dialog/package/debian/source/format
Normal file
@ -0,0 +1 @@
|
||||
3.0 (native)
|
4
contrib/dialog/package/debian/watch
Normal file
4
contrib/dialog/package/debian/watch
Normal file
@ -0,0 +1,4 @@
|
||||
version=3
|
||||
|
||||
opts=passive ftp://invisible-island.net/dialog/dialog-([\d.]+)\.tgz \
|
||||
debian uupdate
|
79
contrib/dialog/package/dialog.spec
Normal file
79
contrib/dialog/package/dialog.spec
Normal file
@ -0,0 +1,79 @@
|
||||
Summary: dialog - display dialog boxes from shell scripts
|
||||
%define AppProgram dialog
|
||||
%define AppVersion 1.1
|
||||
%define AppRelease 20110302
|
||||
%define ActualProg c%{AppProgram}
|
||||
# $XTermId: dialog.spec,v 1.16 2011/03/02 10:08:16 tom Exp $
|
||||
Name: %{ActualProg}
|
||||
Version: %{AppVersion}
|
||||
Release: %{AppRelease}
|
||||
License: LGPL
|
||||
Group: Applications/Development
|
||||
URL: ftp://invisible-island.net/%{AppProgram}
|
||||
Source0: %{AppProgram}-%{AppVersion}-%{AppRelease}.tgz
|
||||
Packager: Thomas Dickey <dickey@invisible-island.net>
|
||||
|
||||
%description
|
||||
Dialog is a program that will let you to present a variety of questions
|
||||
or display messages using dialog boxes from a shell script. These
|
||||
types of dialog boxes are implemented (though not all are necessarily
|
||||
compiled into dialog):
|
||||
|
||||
calendar, checklist, dselect, editbox, form, fselect, gauge,
|
||||
infobox, inputbox, inputmenu, menu, mixedform, mixedgauge,
|
||||
msgbox (message), passwordbox, passwordform, pause, progressbox,
|
||||
radiolist, tailbox, tailboxbg, textbox, timebox, and yesno
|
||||
(yes/no).
|
||||
|
||||
This package installs as "cdialog" to avoid conflict with other packages.
|
||||
%prep
|
||||
|
||||
%setup -q -n %{AppProgram}-%{AppVersion}-%{AppRelease}
|
||||
|
||||
%build
|
||||
|
||||
INSTALL_PROGRAM='${INSTALL}' \
|
||||
./configure \
|
||||
--target %{_target_platform} \
|
||||
--prefix=%{_prefix} \
|
||||
--bindir=%{_bindir} \
|
||||
--libdir=%{_libdir} \
|
||||
--mandir=%{_mandir} \
|
||||
--with-package=%{ActualProg} \
|
||||
--enable-header-subdir \
|
||||
--enable-nls \
|
||||
--enable-widec \
|
||||
--with-libtool \
|
||||
--with-ncursesw \
|
||||
--disable-rpath-hack
|
||||
|
||||
make
|
||||
|
||||
%install
|
||||
[ "$RPM_BUILD_ROOT" != "/" ] && rm -rf $RPM_BUILD_ROOT
|
||||
|
||||
make install-full DESTDIR=$RPM_BUILD_ROOT
|
||||
|
||||
strip $RPM_BUILD_ROOT%{_bindir}/%{ActualProg}
|
||||
|
||||
%clean
|
||||
[ "$RPM_BUILD_ROOT" != "/" ] && rm -rf $RPM_BUILD_ROOT
|
||||
|
||||
%files
|
||||
%defattr(-,root,root)
|
||||
%{_bindir}/%{ActualProg}
|
||||
%{_bindir}/%{ActualProg}-config
|
||||
%{_mandir}/man1/%{ActualProg}.*
|
||||
%{_mandir}/man3/%{ActualProg}.*
|
||||
%{_includedir}/%{ActualProg}.h
|
||||
%{_includedir}/%{ActualProg}/dlg_colors.h
|
||||
%{_includedir}/%{ActualProg}/dlg_config.h
|
||||
%{_includedir}/%{ActualProg}/dlg_keys.h
|
||||
%{_libdir}/lib%{ActualProg}.*
|
||||
%{_datadir}/locale/*/LC_MESSAGES/%{ActualProg}.mo
|
||||
|
||||
%changelog
|
||||
# each patch should add its ChangeLog entries here
|
||||
|
||||
* Thu Dec 30 2010 Thomas Dickey
|
||||
- initial version
|
@ -1,9 +1,9 @@
|
||||
/*
|
||||
* $Id: pause.c,v 1.22 2010/04/28 00:29:50 tom Exp $
|
||||
* $Id: pause.c,v 1.26 2011/01/18 10:16:33 tom Exp $
|
||||
*
|
||||
* pause.c -- implements the pause dialog
|
||||
*
|
||||
* Copyright 2004-2009,2010 Thomas E. Dickey
|
||||
* Copyright 2004-2010,2011 Thomas E. Dickey
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License, version 2.1
|
||||
@ -79,7 +79,7 @@ dialog_pause(const char *title,
|
||||
int key = 0, fkey;
|
||||
int result = DLG_EXIT_UNKNOWN;
|
||||
int button_high = (have_buttons ? BTN_HIGH : MARGIN);
|
||||
int guage_y;
|
||||
int gauge_y;
|
||||
char *prompt = dlg_strclone(cprompt);
|
||||
|
||||
curs_set(0);
|
||||
@ -104,7 +104,7 @@ dialog_pause(const char *title,
|
||||
MIN_HIGH + MARGIN - BTN_HIGH,
|
||||
MIN_WIDE);
|
||||
}
|
||||
guage_y = height - button_high - (1 + 2 * MARGIN);
|
||||
gauge_y = height - button_high - (1 + 2 * MARGIN);
|
||||
dlg_print_size(height, width);
|
||||
dlg_ctl_size(height, width);
|
||||
|
||||
@ -129,7 +129,7 @@ dialog_pause(const char *title,
|
||||
dlg_print_autowrap(dialog, prompt, height, width);
|
||||
|
||||
dlg_draw_box(dialog,
|
||||
guage_y, 2 + MARGIN,
|
||||
gauge_y, 2 + MARGIN,
|
||||
2 + MARGIN, width - 2 * (2 + MARGIN),
|
||||
dialog_attr,
|
||||
border_attr);
|
||||
@ -139,13 +139,13 @@ dialog_pause(const char *title,
|
||||
* in the title-attribute, and write the percentage with that
|
||||
* attribute.
|
||||
*/
|
||||
(void) wmove(dialog, guage_y + MARGIN, 4);
|
||||
(void) wmove(dialog, gauge_y + MARGIN, 4);
|
||||
wattrset(dialog, title_attr);
|
||||
|
||||
for (i = 0; i < (width - 2 * (3 + MARGIN)); i++)
|
||||
(void) waddch(dialog, ' ');
|
||||
|
||||
(void) wmove(dialog, guage_y + MARGIN, (width / 2) - 2);
|
||||
(void) wmove(dialog, gauge_y + MARGIN, (width / 2) - 2);
|
||||
(void) wprintw(dialog, "%3d", seconds);
|
||||
|
||||
/*
|
||||
@ -159,7 +159,7 @@ dialog_pause(const char *title,
|
||||
} else {
|
||||
wattrset(dialog, A_REVERSE);
|
||||
}
|
||||
(void) wmove(dialog, guage_y + MARGIN, 4);
|
||||
(void) wmove(dialog, gauge_y + MARGIN, 4);
|
||||
for (i = 0; i < x; i++) {
|
||||
chtype ch = winch(dialog);
|
||||
if (title_attr & A_REVERSE) {
|
||||
@ -215,10 +215,7 @@ dialog_pause(const char *title,
|
||||
FALSE, width);
|
||||
break;
|
||||
case DLGK_ENTER:
|
||||
/* Do not use dlg_exit_buttoncode() since we want to return
|
||||
* a cancel rather than ok if the timeout has not expired.
|
||||
*/
|
||||
result = button ? DLG_EXIT_CANCEL : DLG_EXIT_OK;
|
||||
result = dlg_ok_buttoncode(button);
|
||||
break;
|
||||
case DLGK_MOUSE(0):
|
||||
result = DLG_EXIT_OK;
|
||||
@ -229,7 +226,6 @@ dialog_pause(const char *title,
|
||||
case ERR:
|
||||
break;
|
||||
default:
|
||||
result = DLG_EXIT_OK;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -7,62 +7,63 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Dialog 1.0-20050116\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2008-06-18 18:26-0400\n"
|
||||
"POT-Creation-Date: 2011-01-16 17:57-0500\n"
|
||||
"PO-Revision-Date: 2004-07-21 00:22+0300\n"
|
||||
"Last-Translator: Abdulaziz Al-Arfaj <alarfaj0@yahoo.com>\n"
|
||||
"Language-Team: Arabic <support@arabeyes.org>\n"
|
||||
"Language: ar\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: KBabel 1.3\n"
|
||||
|
||||
#: buttons.c:385
|
||||
#: buttons.c:387
|
||||
msgid "Yes"
|
||||
msgstr "نعم"
|
||||
|
||||
#: buttons.c:393
|
||||
#: buttons.c:395
|
||||
msgid "No"
|
||||
msgstr "لا"
|
||||
|
||||
#: buttons.c:401
|
||||
#: buttons.c:403
|
||||
msgid "OK"
|
||||
msgstr "موافق"
|
||||
|
||||
#: buttons.c:409
|
||||
#: buttons.c:411
|
||||
msgid "Cancel"
|
||||
msgstr "إلغاء"
|
||||
|
||||
#: buttons.c:417
|
||||
#: buttons.c:419
|
||||
msgid "EXIT"
|
||||
msgstr ""
|
||||
|
||||
#: buttons.c:425
|
||||
#: buttons.c:427
|
||||
msgid "Extra"
|
||||
msgstr ""
|
||||
|
||||
#: buttons.c:433
|
||||
#: buttons.c:435
|
||||
msgid "Help"
|
||||
msgstr ""
|
||||
|
||||
#. Headline "Month"
|
||||
#: calendar.c:273
|
||||
#: calendar.c:298
|
||||
msgid "Month"
|
||||
msgstr ""
|
||||
|
||||
#. Headline "Year"
|
||||
#: calendar.c:293
|
||||
#: calendar.c:318
|
||||
msgid "Year"
|
||||
msgstr ""
|
||||
|
||||
#: dialog.c:741
|
||||
#: dialog.c:756
|
||||
msgid "Rename"
|
||||
msgstr ""
|
||||
|
||||
#: fselect.c:550
|
||||
#: fselect.c:571
|
||||
msgid "Directories"
|
||||
msgstr ""
|
||||
|
||||
#: fselect.c:551
|
||||
#: fselect.c:572
|
||||
msgid "Files"
|
||||
msgstr ""
|
||||
|
||||
@ -106,6 +107,6 @@ msgstr ""
|
||||
msgid "Overall Progress"
|
||||
msgstr ""
|
||||
|
||||
#: textbox.c:489
|
||||
#: textbox.c:468
|
||||
msgid "Search"
|
||||
msgstr ""
|
||||
|
@ -8,61 +8,62 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Dialog 1.0-20050116\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2008-06-18 18:26-0400\n"
|
||||
"POT-Creation-Date: 2011-01-16 17:57-0500\n"
|
||||
"PO-Revision-Date: 2004-09-13 09:02+0300\n"
|
||||
"Last-Translator: Ognyan Kulev <ogi@fmi.uni-sofia.bg>\n"
|
||||
"Language-Team: Bulgarian <dict@linux.zonebg.com>\n"
|
||||
"Language: bg\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: buttons.c:385
|
||||
#: buttons.c:387
|
||||
msgid "Yes"
|
||||
msgstr "Да"
|
||||
|
||||
#: buttons.c:393
|
||||
#: buttons.c:395
|
||||
msgid "No"
|
||||
msgstr "Не"
|
||||
|
||||
#: buttons.c:401
|
||||
#: buttons.c:403
|
||||
msgid "OK"
|
||||
msgstr ""
|
||||
|
||||
#: buttons.c:409
|
||||
#: buttons.c:411
|
||||
msgid "Cancel"
|
||||
msgstr "Отказ"
|
||||
|
||||
#: buttons.c:417
|
||||
#: buttons.c:419
|
||||
msgid "EXIT"
|
||||
msgstr ""
|
||||
|
||||
#: buttons.c:425
|
||||
#: buttons.c:427
|
||||
msgid "Extra"
|
||||
msgstr ""
|
||||
|
||||
#: buttons.c:433
|
||||
#: buttons.c:435
|
||||
msgid "Help"
|
||||
msgstr ""
|
||||
|
||||
#. Headline "Month"
|
||||
#: calendar.c:273
|
||||
#: calendar.c:298
|
||||
msgid "Month"
|
||||
msgstr ""
|
||||
|
||||
#. Headline "Year"
|
||||
#: calendar.c:293
|
||||
#: calendar.c:318
|
||||
msgid "Year"
|
||||
msgstr ""
|
||||
|
||||
#: dialog.c:741
|
||||
#: dialog.c:756
|
||||
msgid "Rename"
|
||||
msgstr ""
|
||||
|
||||
#: fselect.c:550
|
||||
#: fselect.c:571
|
||||
msgid "Directories"
|
||||
msgstr ""
|
||||
|
||||
#: fselect.c:551
|
||||
#: fselect.c:572
|
||||
msgid "Files"
|
||||
msgstr ""
|
||||
|
||||
@ -106,6 +107,6 @@ msgstr ""
|
||||
msgid "Overall Progress"
|
||||
msgstr ""
|
||||
|
||||
#: textbox.c:489
|
||||
#: textbox.c:468
|
||||
msgid "Search"
|
||||
msgstr ""
|
||||
|
@ -7,61 +7,62 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: dialog 1.1.20070704\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2008-07-20 14:31-0400\n"
|
||||
"POT-Creation-Date: 2011-01-16 17:57-0500\n"
|
||||
"PO-Revision-Date: 2008-06-10 00:50+0200\n"
|
||||
"Last-Translator: Jordi Mallach <jordi@gnu.org>\n"
|
||||
"Language-Team: Catalan <ca@dodds.net>\n"
|
||||
"Language: ca\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: buttons.c:385
|
||||
#: buttons.c:387
|
||||
msgid "Yes"
|
||||
msgstr "Sí"
|
||||
|
||||
#: buttons.c:393
|
||||
#: buttons.c:395
|
||||
msgid "No"
|
||||
msgstr "No"
|
||||
|
||||
#: buttons.c:401
|
||||
#: buttons.c:403
|
||||
msgid "OK"
|
||||
msgstr "D'acord"
|
||||
|
||||
#: buttons.c:409
|
||||
#: buttons.c:411
|
||||
msgid "Cancel"
|
||||
msgstr "Cancel·la"
|
||||
|
||||
#: buttons.c:417
|
||||
#: buttons.c:419
|
||||
msgid "EXIT"
|
||||
msgstr "SURT"
|
||||
|
||||
#: buttons.c:425
|
||||
#: buttons.c:427
|
||||
msgid "Extra"
|
||||
msgstr "Extra"
|
||||
|
||||
#: buttons.c:433
|
||||
#: buttons.c:435
|
||||
msgid "Help"
|
||||
msgstr "Ajuda"
|
||||
|
||||
#. Headline "Month"
|
||||
#: calendar.c:273
|
||||
#: calendar.c:298
|
||||
msgid "Month"
|
||||
msgstr "Mes"
|
||||
|
||||
#. Headline "Year"
|
||||
#: calendar.c:293
|
||||
#: calendar.c:318
|
||||
msgid "Year"
|
||||
msgstr "Any"
|
||||
|
||||
#: dialog.c:744
|
||||
#: dialog.c:756
|
||||
msgid "Rename"
|
||||
msgstr "Canvia el nom"
|
||||
|
||||
#: fselect.c:550
|
||||
#: fselect.c:571
|
||||
msgid "Directories"
|
||||
msgstr "Directoris"
|
||||
|
||||
#: fselect.c:551
|
||||
#: fselect.c:572
|
||||
msgid "Files"
|
||||
msgstr "Fitxers"
|
||||
|
||||
@ -105,6 +106,6 @@ msgstr "N/D"
|
||||
msgid "Overall Progress"
|
||||
msgstr "Progrés general"
|
||||
|
||||
#: textbox.c:489
|
||||
#: textbox.c:468
|
||||
msgid "Search"
|
||||
msgstr "Cerca"
|
||||
|
@ -5,61 +5,62 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Dialog\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2008-06-18 18:26-0400\n"
|
||||
"POT-Creation-Date: 2011-01-16 17:57-0500\n"
|
||||
"PO-Revision-Date: 2004-03-30 23:00+0100\n"
|
||||
"Last-Translator: Dafydd Harries <daf@muse.19inch.net>\n"
|
||||
"Language-Team: Welsh <cy@pengwyn.linux.org.uk>\n"
|
||||
"Language: cy\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: buttons.c:385
|
||||
#: buttons.c:387
|
||||
msgid "Yes"
|
||||
msgstr "Ie"
|
||||
|
||||
#: buttons.c:393
|
||||
#: buttons.c:395
|
||||
msgid "No"
|
||||
msgstr "Na"
|
||||
|
||||
#: buttons.c:401
|
||||
#: buttons.c:403
|
||||
msgid "OK"
|
||||
msgstr "Iawn"
|
||||
|
||||
#: buttons.c:409
|
||||
#: buttons.c:411
|
||||
msgid "Cancel"
|
||||
msgstr "Diddymu"
|
||||
|
||||
#: buttons.c:417
|
||||
#: buttons.c:419
|
||||
msgid "EXIT"
|
||||
msgstr "GADAEL"
|
||||
|
||||
#: buttons.c:425
|
||||
#: buttons.c:427
|
||||
msgid "Extra"
|
||||
msgstr "Ychwanegol"
|
||||
|
||||
#: buttons.c:433
|
||||
#: buttons.c:435
|
||||
msgid "Help"
|
||||
msgstr "Cymorth"
|
||||
|
||||
#. Headline "Month"
|
||||
#: calendar.c:273
|
||||
#: calendar.c:298
|
||||
msgid "Month"
|
||||
msgstr "Mis"
|
||||
|
||||
#. Headline "Year"
|
||||
#: calendar.c:293
|
||||
#: calendar.c:318
|
||||
msgid "Year"
|
||||
msgstr "Blwyddyn"
|
||||
|
||||
#: dialog.c:741
|
||||
#: dialog.c:756
|
||||
msgid "Rename"
|
||||
msgstr "Ailenwy"
|
||||
|
||||
#: fselect.c:550
|
||||
#: fselect.c:571
|
||||
msgid "Directories"
|
||||
msgstr "Cyfeiriaduron"
|
||||
|
||||
#: fselect.c:551
|
||||
#: fselect.c:572
|
||||
msgid "Files"
|
||||
msgstr "Ffeiliau"
|
||||
|
||||
@ -104,7 +105,7 @@ msgstr ""
|
||||
msgid "Overall Progress"
|
||||
msgstr ""
|
||||
|
||||
#: textbox.c:489
|
||||
#: textbox.c:468
|
||||
#, fuzzy
|
||||
msgid "Search"
|
||||
msgstr "Search"
|
||||
|
@ -8,61 +8,62 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: dialog-1.1.20070704\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2009-02-22 07:05-0500\n"
|
||||
"POT-Creation-Date: 2011-01-16 17:57-0500\n"
|
||||
"PO-Revision-Date: 2008-08-20 22:53+0200\n"
|
||||
"Last-Translator: Keld Jørn Simonsen <keld@dkuug.dk>\n"
|
||||
"Language-Team: Danish <dansk@dansk-gruppen.dk>\n"
|
||||
"Language: da\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8-bit\n"
|
||||
|
||||
#: buttons.c:385
|
||||
#: buttons.c:387
|
||||
msgid "Yes"
|
||||
msgstr "Ja"
|
||||
|
||||
#: buttons.c:393
|
||||
#: buttons.c:395
|
||||
msgid "No"
|
||||
msgstr "Nej"
|
||||
|
||||
#: buttons.c:401
|
||||
#: buttons.c:403
|
||||
msgid "OK"
|
||||
msgstr "O.K."
|
||||
|
||||
#: buttons.c:409
|
||||
#: buttons.c:411
|
||||
msgid "Cancel"
|
||||
msgstr "Anullér"
|
||||
|
||||
#: buttons.c:417
|
||||
#: buttons.c:419
|
||||
msgid "EXIT"
|
||||
msgstr "AFSLUT"
|
||||
|
||||
#: buttons.c:425
|
||||
#: buttons.c:427
|
||||
msgid "Extra"
|
||||
msgstr "Ekstra"
|
||||
|
||||
#: buttons.c:433
|
||||
#: buttons.c:435
|
||||
msgid "Help"
|
||||
msgstr "Hjælp"
|
||||
|
||||
#. Headline "Month"
|
||||
#: calendar.c:273
|
||||
#: calendar.c:298
|
||||
msgid "Month"
|
||||
msgstr "Måned"
|
||||
|
||||
#. Headline "Year"
|
||||
#: calendar.c:293
|
||||
#: calendar.c:318
|
||||
msgid "Year"
|
||||
msgstr "År"
|
||||
|
||||
#: dialog.c:744
|
||||
#: dialog.c:756
|
||||
msgid "Rename"
|
||||
msgstr "Omdøb"
|
||||
|
||||
#: fselect.c:550
|
||||
#: fselect.c:571
|
||||
msgid "Directories"
|
||||
msgstr "Kataloger"
|
||||
|
||||
#: fselect.c:551
|
||||
#: fselect.c:572
|
||||
msgid "Files"
|
||||
msgstr "Filer"
|
||||
|
||||
@ -106,6 +107,6 @@ msgstr "N/A"
|
||||
msgid "Overall Progress"
|
||||
msgstr "Samlet status"
|
||||
|
||||
#: textbox.c:489
|
||||
#: textbox.c:468
|
||||
msgid "Search"
|
||||
msgstr "Søg"
|
||||
|
@ -8,61 +8,62 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: dialog 1.1.20080819\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2008-06-18 18:26-0400\n"
|
||||
"POT-Creation-Date: 2011-01-16 17:57-0500\n"
|
||||
"PO-Revision-Date: 2009-11-08 23:48+0100\n"
|
||||
"Last-Translator: Roland Illig <roland.illig@gmx.de>\n"
|
||||
"Language-Team: German <translation-team-de@lists.sourceforge.net>\n"
|
||||
"Language: de\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: buttons.c:385
|
||||
#: buttons.c:387
|
||||
msgid "Yes"
|
||||
msgstr "Ja"
|
||||
|
||||
#: buttons.c:393
|
||||
#: buttons.c:395
|
||||
msgid "No"
|
||||
msgstr "Nein"
|
||||
|
||||
#: buttons.c:401
|
||||
#: buttons.c:403
|
||||
msgid "OK"
|
||||
msgstr "OK"
|
||||
|
||||
#: buttons.c:409
|
||||
#: buttons.c:411
|
||||
msgid "Cancel"
|
||||
msgstr "Abbrechen"
|
||||
|
||||
#: buttons.c:417
|
||||
#: buttons.c:419
|
||||
msgid "EXIT"
|
||||
msgstr "VERLASSEN"
|
||||
|
||||
#: buttons.c:425
|
||||
#: buttons.c:427
|
||||
msgid "Extra"
|
||||
msgstr "Extra"
|
||||
|
||||
#: buttons.c:433
|
||||
#: buttons.c:435
|
||||
msgid "Help"
|
||||
msgstr "Hilfe"
|
||||
|
||||
#. Headline "Month"
|
||||
#: calendar.c:273
|
||||
#: calendar.c:298
|
||||
msgid "Month"
|
||||
msgstr "Monat"
|
||||
|
||||
#. Headline "Year"
|
||||
#: calendar.c:293
|
||||
#: calendar.c:318
|
||||
msgid "Year"
|
||||
msgstr "Jahr"
|
||||
|
||||
#: dialog.c:741
|
||||
#: dialog.c:756
|
||||
msgid "Rename"
|
||||
msgstr "Bearbeiten"
|
||||
|
||||
#: fselect.c:550
|
||||
#: fselect.c:571
|
||||
msgid "Directories"
|
||||
msgstr "Verzeichnisse"
|
||||
|
||||
#: fselect.c:551
|
||||
#: fselect.c:572
|
||||
msgid "Files"
|
||||
msgstr "Dateien"
|
||||
|
||||
@ -106,6 +107,6 @@ msgstr "N/A"
|
||||
msgid "Overall Progress"
|
||||
msgstr "Gesamtfortschritt"
|
||||
|
||||
#: textbox.c:489
|
||||
#: textbox.c:468
|
||||
msgid "Search"
|
||||
msgstr "Suche"
|
||||
|
@ -1,12 +1,12 @@
|
||||
# Dialog
|
||||
# Copyright 2003-2007,2008 # Thomas Dickey
|
||||
# Copyright 2003-2010,2011 # Thomas Dickey
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: dialog 1.1.20080316\n"
|
||||
"Project-Id-Version: dialog 1.1.20110116\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2008-06-18 18:26-0400\n"
|
||||
"POT-Creation-Date: 2011-01-16 17:57-0500\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
@ -14,53 +14,53 @@ msgstr ""
|
||||
"Content-Type: text/plain; charset=CHARSET\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: buttons.c:385
|
||||
#: buttons.c:387
|
||||
msgid "Yes"
|
||||
msgstr ""
|
||||
|
||||
#: buttons.c:393
|
||||
#: buttons.c:395
|
||||
msgid "No"
|
||||
msgstr ""
|
||||
|
||||
#: buttons.c:401
|
||||
#: buttons.c:403
|
||||
msgid "OK"
|
||||
msgstr ""
|
||||
|
||||
#: buttons.c:409
|
||||
#: buttons.c:411
|
||||
msgid "Cancel"
|
||||
msgstr ""
|
||||
|
||||
#: buttons.c:417
|
||||
#: buttons.c:419
|
||||
msgid "EXIT"
|
||||
msgstr ""
|
||||
|
||||
#: buttons.c:425
|
||||
#: buttons.c:427
|
||||
msgid "Extra"
|
||||
msgstr ""
|
||||
|
||||
#: buttons.c:433
|
||||
#: buttons.c:435
|
||||
msgid "Help"
|
||||
msgstr ""
|
||||
|
||||
#. Headline "Month"
|
||||
#: calendar.c:273
|
||||
#: calendar.c:298
|
||||
msgid "Month"
|
||||
msgstr ""
|
||||
|
||||
#. Headline "Year"
|
||||
#: calendar.c:293
|
||||
#: calendar.c:318
|
||||
msgid "Year"
|
||||
msgstr ""
|
||||
|
||||
#: dialog.c:741
|
||||
#: dialog.c:756
|
||||
msgid "Rename"
|
||||
msgstr ""
|
||||
|
||||
#: fselect.c:550
|
||||
#: fselect.c:571
|
||||
msgid "Directories"
|
||||
msgstr ""
|
||||
|
||||
#: fselect.c:551
|
||||
#: fselect.c:572
|
||||
msgid "Files"
|
||||
msgstr ""
|
||||
|
||||
@ -104,6 +104,6 @@ msgstr ""
|
||||
msgid "Overall Progress"
|
||||
msgstr ""
|
||||
|
||||
#: textbox.c:489
|
||||
#: textbox.c:468
|
||||
msgid "Search"
|
||||
msgstr ""
|
||||
|
@ -6,61 +6,62 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: dialog 1.1.20070704\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2007-02-25 16:06-0500\n"
|
||||
"POT-Creation-Date: 2011-01-16 17:57-0500\n"
|
||||
"PO-Revision-Date: 2008-08-03 15:50-0300\n"
|
||||
"Last-Translator: Felipe Castro <fefcas@gmail.com>\n"
|
||||
"Language-Team: Esperanto <translation-team-eo@lists.sourceforge.net>\n"
|
||||
"Language: eo\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: buttons.c:379
|
||||
#: buttons.c:387
|
||||
msgid "Yes"
|
||||
msgstr "Jes"
|
||||
|
||||
#: buttons.c:387
|
||||
#: buttons.c:395
|
||||
msgid "No"
|
||||
msgstr "Ne"
|
||||
|
||||
#: buttons.c:395
|
||||
#: buttons.c:403
|
||||
msgid "OK"
|
||||
msgstr "Certe"
|
||||
|
||||
#: buttons.c:403
|
||||
#: buttons.c:411
|
||||
msgid "Cancel"
|
||||
msgstr "Rezigni"
|
||||
|
||||
#: buttons.c:411
|
||||
#: buttons.c:419
|
||||
msgid "EXIT"
|
||||
msgstr "ELIRI"
|
||||
|
||||
#: buttons.c:419
|
||||
#: buttons.c:427
|
||||
msgid "Extra"
|
||||
msgstr "Krome"
|
||||
|
||||
#: buttons.c:427
|
||||
#: buttons.c:435
|
||||
msgid "Help"
|
||||
msgstr "Helpo"
|
||||
|
||||
#. Headline "Month"
|
||||
#: calendar.c:273
|
||||
#: calendar.c:298
|
||||
msgid "Month"
|
||||
msgstr "Monato"
|
||||
|
||||
#. Headline "Year"
|
||||
#: calendar.c:293
|
||||
#: calendar.c:318
|
||||
msgid "Year"
|
||||
msgstr "Jaro"
|
||||
|
||||
#: dialog.c:727
|
||||
#: dialog.c:756
|
||||
msgid "Rename"
|
||||
msgstr "Renomigi"
|
||||
|
||||
#: fselect.c:548
|
||||
#: fselect.c:571
|
||||
msgid "Directories"
|
||||
msgstr "Dosierujoj"
|
||||
|
||||
#: fselect.c:549
|
||||
#: fselect.c:572
|
||||
msgid "Files"
|
||||
msgstr "Dosieroj"
|
||||
|
||||
@ -104,6 +105,6 @@ msgstr "N/A"
|
||||
msgid "Overall Progress"
|
||||
msgstr "Tuta Evoluo"
|
||||
|
||||
#: textbox.c:489
|
||||
#: textbox.c:468
|
||||
msgid "Search"
|
||||
msgstr "Serĉi"
|
||||
|
@ -7,61 +7,62 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: dialog 1.1.20080819\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2008-06-18 18:26-0400\n"
|
||||
"POT-Creation-Date: 2011-01-16 17:57-0500\n"
|
||||
"PO-Revision-Date: 2010-02-14 14:26+0100\n"
|
||||
"Last-Translator: Santiago Vila Doncel <sanvila@unex.es>\n"
|
||||
"Language-Team: Spanish <es@li.org>\n"
|
||||
"Language: es\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8-bit\n"
|
||||
|
||||
#: buttons.c:385
|
||||
#: buttons.c:387
|
||||
msgid "Yes"
|
||||
msgstr "Sí"
|
||||
|
||||
#: buttons.c:393
|
||||
#: buttons.c:395
|
||||
msgid "No"
|
||||
msgstr "No"
|
||||
|
||||
#: buttons.c:401
|
||||
#: buttons.c:403
|
||||
msgid "OK"
|
||||
msgstr "Aceptar"
|
||||
|
||||
#: buttons.c:409
|
||||
#: buttons.c:411
|
||||
msgid "Cancel"
|
||||
msgstr "Cancelar"
|
||||
|
||||
#: buttons.c:417
|
||||
#: buttons.c:419
|
||||
msgid "EXIT"
|
||||
msgstr "Salir"
|
||||
|
||||
#: buttons.c:425
|
||||
#: buttons.c:427
|
||||
msgid "Extra"
|
||||
msgstr "Extra"
|
||||
|
||||
#: buttons.c:433
|
||||
#: buttons.c:435
|
||||
msgid "Help"
|
||||
msgstr "Ayuda"
|
||||
|
||||
#. Headline "Month"
|
||||
#: calendar.c:273
|
||||
#: calendar.c:298
|
||||
msgid "Month"
|
||||
msgstr "Mes"
|
||||
|
||||
#. Headline "Year"
|
||||
#: calendar.c:293
|
||||
#: calendar.c:318
|
||||
msgid "Year"
|
||||
msgstr "Año"
|
||||
|
||||
#: dialog.c:741
|
||||
#: dialog.c:756
|
||||
msgid "Rename"
|
||||
msgstr "Renombrar"
|
||||
|
||||
#: fselect.c:550
|
||||
#: fselect.c:571
|
||||
msgid "Directories"
|
||||
msgstr "Directorios"
|
||||
|
||||
#: fselect.c:551
|
||||
#: fselect.c:572
|
||||
msgid "Files"
|
||||
msgstr "Ficheros"
|
||||
|
||||
@ -106,6 +107,6 @@ msgstr "N/A"
|
||||
msgid "Overall Progress"
|
||||
msgstr "Progreso total"
|
||||
|
||||
#: textbox.c:489
|
||||
#: textbox.c:468
|
||||
msgid "Search"
|
||||
msgstr "Buscar"
|
||||
|
@ -7,62 +7,63 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: dialog-1.1.20070704\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2008-06-18 18:26-0400\n"
|
||||
"POT-Creation-Date: 2011-01-16 17:57-0500\n"
|
||||
"PO-Revision-Date: 2007-09-20 00:01+0200\n"
|
||||
"Last-Translator: Piarres Beobide <pi@beobide.net>\n"
|
||||
"Language-Team: Basque <translation-team-eu@lists.sourceforge.net>\n"
|
||||
"Language: eu\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: KBabel 1.11.4\n"
|
||||
|
||||
#: buttons.c:385
|
||||
#: buttons.c:387
|
||||
msgid "Yes"
|
||||
msgstr "Bai"
|
||||
|
||||
#: buttons.c:393
|
||||
#: buttons.c:395
|
||||
msgid "No"
|
||||
msgstr "Ez"
|
||||
|
||||
#: buttons.c:401
|
||||
#: buttons.c:403
|
||||
msgid "OK"
|
||||
msgstr "Ados"
|
||||
|
||||
#: buttons.c:409
|
||||
#: buttons.c:411
|
||||
msgid "Cancel"
|
||||
msgstr "Utzi"
|
||||
|
||||
#: buttons.c:417
|
||||
#: buttons.c:419
|
||||
msgid "EXIT"
|
||||
msgstr "IRTEN"
|
||||
|
||||
#: buttons.c:425
|
||||
#: buttons.c:427
|
||||
msgid "Extra"
|
||||
msgstr "Gehigarria"
|
||||
|
||||
#: buttons.c:433
|
||||
#: buttons.c:435
|
||||
msgid "Help"
|
||||
msgstr "Laguntza"
|
||||
|
||||
#. Headline "Month"
|
||||
#: calendar.c:273
|
||||
#: calendar.c:298
|
||||
msgid "Month"
|
||||
msgstr "Hilabetea"
|
||||
|
||||
#. Headline "Year"
|
||||
#: calendar.c:293
|
||||
#: calendar.c:318
|
||||
msgid "Year"
|
||||
msgstr "Urtea"
|
||||
|
||||
#: dialog.c:741
|
||||
#: dialog.c:756
|
||||
msgid "Rename"
|
||||
msgstr "Berizendatu"
|
||||
|
||||
#: fselect.c:550
|
||||
#: fselect.c:571
|
||||
msgid "Directories"
|
||||
msgstr "Direktorioak"
|
||||
|
||||
#: fselect.c:551
|
||||
#: fselect.c:572
|
||||
msgid "Files"
|
||||
msgstr "Fitxategiak"
|
||||
|
||||
@ -106,6 +107,6 @@ msgstr "E/G"
|
||||
msgid "Overall Progress"
|
||||
msgstr "Aurrerapen nagusia"
|
||||
|
||||
#: textbox.c:489
|
||||
#: textbox.c:468
|
||||
msgid "Search"
|
||||
msgstr "Bilaketa"
|
||||
|
@ -1,111 +1,114 @@
|
||||
# Finnish translation for dialog.
|
||||
# Copyright © 2010 Free Software Foundation, Inc.
|
||||
# Copyright © 2005 Lauri Nurmi <lanurmi@iki.fi>
|
||||
# This file is distributed under the same license as the dialog package.
|
||||
# Lauri Nurmi <lanurmi@iki.fi>, 2005.
|
||||
# Jorma Karvonen <karvonen.jorma@gmail.com>, 2010.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: dialog 1.0-rel20041222\n"
|
||||
"Project-Id-Version: dialog 1.1.20080819\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2008-06-18 18:26-0400\n"
|
||||
"PO-Revision-Date: 2005-03-07 19:15+0200\n"
|
||||
"Last-Translator: Lauri Nurmi <lanurmi@iki.fi>\n"
|
||||
"POT-Creation-Date: 2011-01-16 17:57-0500\n"
|
||||
"PO-Revision-Date: 2010-09-06 21:24+0200\n"
|
||||
"Last-Translator: Jorma Karvonen <karvonen.jorma@gmail.com>\n"
|
||||
"Language-Team: Finnish <translation-team-fi@lists.sourceforge.net>\n"
|
||||
"Language: fi\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: buttons.c:385
|
||||
#: buttons.c:387
|
||||
msgid "Yes"
|
||||
msgstr "Kyllä"
|
||||
|
||||
#: buttons.c:393
|
||||
#: buttons.c:395
|
||||
msgid "No"
|
||||
msgstr "Ei"
|
||||
|
||||
#: buttons.c:401
|
||||
#: buttons.c:403
|
||||
msgid "OK"
|
||||
msgstr "OK"
|
||||
msgstr "Valmis"
|
||||
|
||||
#: buttons.c:409
|
||||
#: buttons.c:411
|
||||
msgid "Cancel"
|
||||
msgstr "Peru"
|
||||
|
||||
#: buttons.c:417
|
||||
#: buttons.c:419
|
||||
msgid "EXIT"
|
||||
msgstr "Poistu"
|
||||
|
||||
#: buttons.c:425
|
||||
#: buttons.c:427
|
||||
msgid "Extra"
|
||||
msgstr "Painike"
|
||||
|
||||
#: buttons.c:433
|
||||
#: buttons.c:435
|
||||
msgid "Help"
|
||||
msgstr "Ohje"
|
||||
msgstr "Opaste"
|
||||
|
||||
#. Headline "Month"
|
||||
#: calendar.c:273
|
||||
#: calendar.c:298
|
||||
msgid "Month"
|
||||
msgstr "Kuukausi"
|
||||
|
||||
#. Headline "Year"
|
||||
#: calendar.c:293
|
||||
#: calendar.c:318
|
||||
msgid "Year"
|
||||
msgstr "Vuosi"
|
||||
|
||||
#: dialog.c:741
|
||||
#: dialog.c:756
|
||||
msgid "Rename"
|
||||
msgstr "Nimeä"
|
||||
|
||||
#: fselect.c:550
|
||||
#: fselect.c:571
|
||||
msgid "Directories"
|
||||
msgstr "Kansiot"
|
||||
|
||||
#: fselect.c:551
|
||||
#: fselect.c:572
|
||||
msgid "Files"
|
||||
msgstr "Tiedostot"
|
||||
|
||||
#: mixedgauge.c:58
|
||||
msgid "Succeeded"
|
||||
msgstr ""
|
||||
msgstr "Onnistui"
|
||||
|
||||
#: mixedgauge.c:61
|
||||
#, fuzzy
|
||||
msgid "Failed"
|
||||
msgstr "Tiedostot"
|
||||
msgstr "Epäonnistui"
|
||||
|
||||
#: mixedgauge.c:64
|
||||
msgid "Passed"
|
||||
msgstr ""
|
||||
msgstr "Hyväksytty"
|
||||
|
||||
#: mixedgauge.c:67
|
||||
msgid "Completed"
|
||||
msgstr ""
|
||||
msgstr "Valmis"
|
||||
|
||||
#: mixedgauge.c:70
|
||||
msgid "Checked"
|
||||
msgstr ""
|
||||
msgstr "Valittu"
|
||||
|
||||
#: mixedgauge.c:73
|
||||
msgid "Done"
|
||||
msgstr ""
|
||||
msgstr "Valmis"
|
||||
|
||||
#: mixedgauge.c:76
|
||||
msgid "Skipped"
|
||||
msgstr ""
|
||||
msgstr "Ohitettiin"
|
||||
|
||||
#: mixedgauge.c:79
|
||||
msgid "In Progress"
|
||||
msgstr ""
|
||||
msgstr "Edistyminen"
|
||||
|
||||
#: mixedgauge.c:85
|
||||
msgid "N/A"
|
||||
msgstr ""
|
||||
msgstr "N/A"
|
||||
|
||||
#: mixedgauge.c:193
|
||||
msgid "Overall Progress"
|
||||
msgstr ""
|
||||
msgstr "Kokonaisedistyminen"
|
||||
|
||||
#: textbox.c:489
|
||||
#: textbox.c:468
|
||||
msgid "Search"
|
||||
msgstr "Etsi"
|
||||
|
@ -7,61 +7,62 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: dialog 1.1.20070704\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2008-06-18 18:26-0400\n"
|
||||
"POT-Creation-Date: 2011-01-16 17:57-0500\n"
|
||||
"PO-Revision-Date: 2008-03-28 23:14+0000\n"
|
||||
"Last-Translator: François-Xavier Coudert <fxcoudert@gmail.com>\n"
|
||||
"Language-Team: French <traduc@traduc.org>\n"
|
||||
"Language: fr\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8-bit\n"
|
||||
|
||||
#: buttons.c:385
|
||||
#: buttons.c:387
|
||||
msgid "Yes"
|
||||
msgstr "Oui"
|
||||
|
||||
#: buttons.c:393
|
||||
#: buttons.c:395
|
||||
msgid "No"
|
||||
msgstr "Non"
|
||||
|
||||
#: buttons.c:401
|
||||
#: buttons.c:403
|
||||
msgid "OK"
|
||||
msgstr "Accepter"
|
||||
|
||||
#: buttons.c:409
|
||||
#: buttons.c:411
|
||||
msgid "Cancel"
|
||||
msgstr "Annuler"
|
||||
|
||||
#: buttons.c:417
|
||||
#: buttons.c:419
|
||||
msgid "EXIT"
|
||||
msgstr "SORTIR"
|
||||
|
||||
#: buttons.c:425
|
||||
#: buttons.c:427
|
||||
msgid "Extra"
|
||||
msgstr "Extra"
|
||||
|
||||
#: buttons.c:433
|
||||
#: buttons.c:435
|
||||
msgid "Help"
|
||||
msgstr "Aide"
|
||||
|
||||
#. Headline "Month"
|
||||
#: calendar.c:273
|
||||
#: calendar.c:298
|
||||
msgid "Month"
|
||||
msgstr "Mois"
|
||||
|
||||
#. Headline "Year"
|
||||
#: calendar.c:293
|
||||
#: calendar.c:318
|
||||
msgid "Year"
|
||||
msgstr "Année"
|
||||
|
||||
#: dialog.c:741
|
||||
#: dialog.c:756
|
||||
msgid "Rename"
|
||||
msgstr "Renommer"
|
||||
|
||||
#: fselect.c:550
|
||||
#: fselect.c:571
|
||||
msgid "Directories"
|
||||
msgstr "Répertoires"
|
||||
|
||||
#: fselect.c:551
|
||||
#: fselect.c:572
|
||||
msgid "Files"
|
||||
msgstr "Fichiers"
|
||||
|
||||
@ -105,6 +106,6 @@ msgstr "N/A"
|
||||
msgid "Overall Progress"
|
||||
msgstr "Avancement général"
|
||||
|
||||
#: textbox.c:489
|
||||
#: textbox.c:468
|
||||
msgid "Search"
|
||||
msgstr "Rechercher"
|
||||
|
@ -5,61 +5,62 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: dialog 1.1.20070704\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2008-06-18 18:26-0400\n"
|
||||
"POT-Creation-Date: 2011-01-16 17:57-0500\n"
|
||||
"PO-Revision-Date: 2007-07-20 11:57-0500\n"
|
||||
"Last-Translator: Kevin Scannell <kscanne@gmail.com>\n"
|
||||
"Language-Team: Irish <gaeilge-gnulinux@lists.sourceforge.net>\n"
|
||||
"Language: ga\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: buttons.c:385
|
||||
#: buttons.c:387
|
||||
msgid "Yes"
|
||||
msgstr "Tá"
|
||||
|
||||
#: buttons.c:393
|
||||
#: buttons.c:395
|
||||
msgid "No"
|
||||
msgstr "Níl"
|
||||
|
||||
#: buttons.c:401
|
||||
#: buttons.c:403
|
||||
msgid "OK"
|
||||
msgstr "OK"
|
||||
|
||||
#: buttons.c:409
|
||||
#: buttons.c:411
|
||||
msgid "Cancel"
|
||||
msgstr "Cealaigh"
|
||||
|
||||
#: buttons.c:417
|
||||
#: buttons.c:419
|
||||
msgid "EXIT"
|
||||
msgstr "SCOIR"
|
||||
|
||||
#: buttons.c:425
|
||||
#: buttons.c:427
|
||||
msgid "Extra"
|
||||
msgstr "Breise"
|
||||
|
||||
#: buttons.c:433
|
||||
#: buttons.c:435
|
||||
msgid "Help"
|
||||
msgstr "Cabhair"
|
||||
|
||||
#. Headline "Month"
|
||||
#: calendar.c:273
|
||||
#: calendar.c:298
|
||||
msgid "Month"
|
||||
msgstr "Mí"
|
||||
|
||||
#. Headline "Year"
|
||||
#: calendar.c:293
|
||||
#: calendar.c:318
|
||||
msgid "Year"
|
||||
msgstr "Bliain"
|
||||
|
||||
#: dialog.c:741
|
||||
#: dialog.c:756
|
||||
msgid "Rename"
|
||||
msgstr "Athainmnigh"
|
||||
|
||||
#: fselect.c:550
|
||||
#: fselect.c:571
|
||||
msgid "Directories"
|
||||
msgstr "Comhadlanna"
|
||||
|
||||
#: fselect.c:551
|
||||
#: fselect.c:572
|
||||
msgid "Files"
|
||||
msgstr "Comhaid"
|
||||
|
||||
@ -103,6 +104,6 @@ msgstr "N/A/F"
|
||||
msgid "Overall Progress"
|
||||
msgstr "Dul Chun Cinn Iomlán"
|
||||
|
||||
#: textbox.c:489
|
||||
#: textbox.c:468
|
||||
msgid "Search"
|
||||
msgstr "Cuardaigh"
|
||||
|
@ -7,61 +7,62 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: dialog 1.1.20070704\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2008-06-18 18:26-0400\n"
|
||||
"POT-Creation-Date: 2011-01-16 17:57-0500\n"
|
||||
"PO-Revision-Date: 2008-05-13 23:57+0100\n"
|
||||
"Last-Translator: Diego Pérez Montes <kabute@gulo.org>\n"
|
||||
"Language-Team: Galician <proxecto@trasno.net>\n"
|
||||
"Language: gl\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: buttons.c:385
|
||||
#: buttons.c:387
|
||||
msgid "Yes"
|
||||
msgstr "Sí"
|
||||
|
||||
#: buttons.c:393
|
||||
#: buttons.c:395
|
||||
msgid "No"
|
||||
msgstr "Non"
|
||||
|
||||
#: buttons.c:401
|
||||
#: buttons.c:403
|
||||
msgid "OK"
|
||||
msgstr "Aceptar"
|
||||
|
||||
#: buttons.c:409
|
||||
#: buttons.c:411
|
||||
msgid "Cancel"
|
||||
msgstr "Cancelar"
|
||||
|
||||
#: buttons.c:417
|
||||
#: buttons.c:419
|
||||
msgid "EXIT"
|
||||
msgstr "SAÍR"
|
||||
|
||||
#: buttons.c:425
|
||||
#: buttons.c:427
|
||||
msgid "Extra"
|
||||
msgstr "Suplementario"
|
||||
|
||||
#: buttons.c:433
|
||||
#: buttons.c:435
|
||||
msgid "Help"
|
||||
msgstr "Axuda"
|
||||
|
||||
#. Headline "Month"
|
||||
#: calendar.c:273
|
||||
#: calendar.c:298
|
||||
msgid "Month"
|
||||
msgstr "Mes"
|
||||
|
||||
#. Headline "Year"
|
||||
#: calendar.c:293
|
||||
#: calendar.c:318
|
||||
msgid "Year"
|
||||
msgstr "Ano"
|
||||
|
||||
#: dialog.c:741
|
||||
#: dialog.c:756
|
||||
msgid "Rename"
|
||||
msgstr "Renomear"
|
||||
|
||||
#: fselect.c:550
|
||||
#: fselect.c:571
|
||||
msgid "Directories"
|
||||
msgstr "Directorios"
|
||||
|
||||
#: fselect.c:551
|
||||
#: fselect.c:572
|
||||
msgid "Files"
|
||||
msgstr "Ficheiros"
|
||||
|
||||
@ -105,6 +106,6 @@ msgstr "Non Dispoñible"
|
||||
msgid "Overall Progress"
|
||||
msgstr "Progreso Total"
|
||||
|
||||
#: textbox.c:489
|
||||
#: textbox.c:468
|
||||
msgid "Search"
|
||||
msgstr "Procurar"
|
||||
|
@ -6,61 +6,62 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Dialog 1.0-20050116\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2008-06-18 18:26-0400\n"
|
||||
"POT-Creation-Date: 2011-01-16 17:57-0500\n"
|
||||
"PO-Revision-Date: 2004-07-25 14:52+0200\n"
|
||||
"Last-Translator: Krunoslav Gernhard <kruno@linux.hr>\n"
|
||||
"Language-Team: Croatian <lokalizacija@linux.hr>\n"
|
||||
"Language: hr\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: buttons.c:385
|
||||
#: buttons.c:387
|
||||
msgid "Yes"
|
||||
msgstr "Da"
|
||||
|
||||
#: buttons.c:393
|
||||
#: buttons.c:395
|
||||
msgid "No"
|
||||
msgstr "Ne"
|
||||
|
||||
#: buttons.c:401
|
||||
#: buttons.c:403
|
||||
msgid "OK"
|
||||
msgstr "U redu"
|
||||
|
||||
#: buttons.c:409
|
||||
#: buttons.c:411
|
||||
msgid "Cancel"
|
||||
msgstr "Otkaži"
|
||||
|
||||
#: buttons.c:417
|
||||
#: buttons.c:419
|
||||
msgid "EXIT"
|
||||
msgstr ""
|
||||
|
||||
#: buttons.c:425
|
||||
#: buttons.c:427
|
||||
msgid "Extra"
|
||||
msgstr ""
|
||||
|
||||
#: buttons.c:433
|
||||
#: buttons.c:435
|
||||
msgid "Help"
|
||||
msgstr ""
|
||||
|
||||
#. Headline "Month"
|
||||
#: calendar.c:273
|
||||
#: calendar.c:298
|
||||
msgid "Month"
|
||||
msgstr ""
|
||||
|
||||
#. Headline "Year"
|
||||
#: calendar.c:293
|
||||
#: calendar.c:318
|
||||
msgid "Year"
|
||||
msgstr ""
|
||||
|
||||
#: dialog.c:741
|
||||
#: dialog.c:756
|
||||
msgid "Rename"
|
||||
msgstr ""
|
||||
|
||||
#: fselect.c:550
|
||||
#: fselect.c:571
|
||||
msgid "Directories"
|
||||
msgstr ""
|
||||
|
||||
#: fselect.c:551
|
||||
#: fselect.c:572
|
||||
msgid "Files"
|
||||
msgstr ""
|
||||
|
||||
@ -104,6 +105,6 @@ msgstr ""
|
||||
msgid "Overall Progress"
|
||||
msgstr ""
|
||||
|
||||
#: textbox.c:489
|
||||
#: textbox.c:468
|
||||
msgid "Search"
|
||||
msgstr ""
|
||||
|
@ -7,61 +7,62 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: dialog 1.1.20080819\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2009-03-29 19:30-0400\n"
|
||||
"POT-Creation-Date: 2011-01-16 17:57-0500\n"
|
||||
"PO-Revision-Date: 2008-07-21 13:40+0700\n"
|
||||
"Last-Translator: Andhika Padmawan <andhika.padmawan@gmail.com>\n"
|
||||
"Language-Team: Indonesian <translation-team-id@lists.sourceforge.net>\n"
|
||||
"Language: id\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: buttons.c:385
|
||||
#: buttons.c:387
|
||||
msgid "Yes"
|
||||
msgstr "Ya"
|
||||
|
||||
#: buttons.c:393
|
||||
#: buttons.c:395
|
||||
msgid "No"
|
||||
msgstr "Tidak"
|
||||
|
||||
#: buttons.c:401
|
||||
#: buttons.c:403
|
||||
msgid "OK"
|
||||
msgstr "OK"
|
||||
|
||||
#: buttons.c:409
|
||||
#: buttons.c:411
|
||||
msgid "Cancel"
|
||||
msgstr "Batal"
|
||||
|
||||
#: buttons.c:417
|
||||
#: buttons.c:419
|
||||
msgid "EXIT"
|
||||
msgstr "KELUAR"
|
||||
|
||||
#: buttons.c:425
|
||||
#: buttons.c:427
|
||||
msgid "Extra"
|
||||
msgstr "Ekstra"
|
||||
|
||||
#: buttons.c:433
|
||||
#: buttons.c:435
|
||||
msgid "Help"
|
||||
msgstr "Bantuan"
|
||||
|
||||
#. Headline "Month"
|
||||
#: calendar.c:273
|
||||
#: calendar.c:298
|
||||
msgid "Month"
|
||||
msgstr "Bulan"
|
||||
|
||||
#. Headline "Year"
|
||||
#: calendar.c:293
|
||||
#: calendar.c:318
|
||||
msgid "Year"
|
||||
msgstr "Tahun"
|
||||
|
||||
#: dialog.c:744
|
||||
#: dialog.c:756
|
||||
msgid "Rename"
|
||||
msgstr "Ganti Nama"
|
||||
|
||||
#: fselect.c:550
|
||||
#: fselect.c:571
|
||||
msgid "Directories"
|
||||
msgstr "Kamus"
|
||||
|
||||
#: fselect.c:551
|
||||
#: fselect.c:572
|
||||
msgid "Files"
|
||||
msgstr "Berkas"
|
||||
|
||||
@ -105,6 +106,6 @@ msgstr "Tak Tersedia"
|
||||
msgid "Overall Progress"
|
||||
msgstr "Keseluruhan Proses"
|
||||
|
||||
#: textbox.c:489
|
||||
#: textbox.c:468
|
||||
msgid "Search"
|
||||
msgstr "Telusur"
|
||||
|
@ -7,62 +7,63 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: dialog-1.1.20080819\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2008-06-18 18:26-0400\n"
|
||||
"POT-Creation-Date: 2011-01-16 17:57-0500\n"
|
||||
"PO-Revision-Date: 2009-09-03 17:02+0000\n"
|
||||
"Last-Translator: Sveinn í Felli <sveinki@nett.is>\n"
|
||||
"Language-Team: Icelandic <(nothing)>\n"
|
||||
"Language: is\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: KBabel 1.11.4\n"
|
||||
|
||||
#: buttons.c:385
|
||||
#: buttons.c:387
|
||||
msgid "Yes"
|
||||
msgstr "Já"
|
||||
|
||||
#: buttons.c:393
|
||||
#: buttons.c:395
|
||||
msgid "No"
|
||||
msgstr "Nei"
|
||||
|
||||
#: buttons.c:401
|
||||
#: buttons.c:403
|
||||
msgid "OK"
|
||||
msgstr "Í lagi"
|
||||
|
||||
#: buttons.c:409
|
||||
#: buttons.c:411
|
||||
msgid "Cancel"
|
||||
msgstr "Hætta við"
|
||||
|
||||
#: buttons.c:417
|
||||
#: buttons.c:419
|
||||
msgid "EXIT"
|
||||
msgstr "LOKA"
|
||||
|
||||
#: buttons.c:425
|
||||
#: buttons.c:427
|
||||
msgid "Extra"
|
||||
msgstr "Auka"
|
||||
|
||||
#: buttons.c:433
|
||||
#: buttons.c:435
|
||||
msgid "Help"
|
||||
msgstr "Hjálp"
|
||||
|
||||
#. Headline "Month"
|
||||
#: calendar.c:273
|
||||
#: calendar.c:298
|
||||
msgid "Month"
|
||||
msgstr "Mánuður"
|
||||
|
||||
#. Headline "Year"
|
||||
#: calendar.c:293
|
||||
#: calendar.c:318
|
||||
msgid "Year"
|
||||
msgstr "Ár"
|
||||
|
||||
#: dialog.c:741
|
||||
#: dialog.c:756
|
||||
msgid "Rename"
|
||||
msgstr "Endurnefna"
|
||||
|
||||
#: fselect.c:550
|
||||
#: fselect.c:571
|
||||
msgid "Directories"
|
||||
msgstr "Möppur"
|
||||
|
||||
#: fselect.c:551
|
||||
#: fselect.c:572
|
||||
msgid "Files"
|
||||
msgstr "Skrár"
|
||||
|
||||
@ -106,6 +107,6 @@ msgstr "Ekki tiltækt"
|
||||
msgid "Overall Progress"
|
||||
msgstr "Heildarframvinda"
|
||||
|
||||
#: textbox.c:489
|
||||
#: textbox.c:468
|
||||
msgid "Search"
|
||||
msgstr "Leita"
|
||||
|
@ -8,61 +8,62 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: dialog 1.1.20070704\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2008-06-18 18:26-0400\n"
|
||||
"POT-Creation-Date: 2011-01-16 17:57-0500\n"
|
||||
"PO-Revision-Date: 2007-08-06 15:47+0100\n"
|
||||
"Last-Translator: Marco Colombo <m.colombo@ed.ac.uk>\n"
|
||||
"Language-Team: Italian <tp@lists.linux.it>\n"
|
||||
"Language: it\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8-bit\n"
|
||||
|
||||
#: buttons.c:385
|
||||
#: buttons.c:387
|
||||
msgid "Yes"
|
||||
msgstr "Sì"
|
||||
|
||||
#: buttons.c:393
|
||||
#: buttons.c:395
|
||||
msgid "No"
|
||||
msgstr "No"
|
||||
|
||||
#: buttons.c:401
|
||||
#: buttons.c:403
|
||||
msgid "OK"
|
||||
msgstr "OK"
|
||||
|
||||
#: buttons.c:409
|
||||
#: buttons.c:411
|
||||
msgid "Cancel"
|
||||
msgstr "Annulla"
|
||||
|
||||
#: buttons.c:417
|
||||
#: buttons.c:419
|
||||
msgid "EXIT"
|
||||
msgstr "Esci"
|
||||
|
||||
#: buttons.c:425
|
||||
#: buttons.c:427
|
||||
msgid "Extra"
|
||||
msgstr "Extra"
|
||||
|
||||
#: buttons.c:433
|
||||
#: buttons.c:435
|
||||
msgid "Help"
|
||||
msgstr "Aiuto"
|
||||
|
||||
#. Headline "Month"
|
||||
#: calendar.c:273
|
||||
#: calendar.c:298
|
||||
msgid "Month"
|
||||
msgstr "Mese"
|
||||
|
||||
#. Headline "Year"
|
||||
#: calendar.c:293
|
||||
#: calendar.c:318
|
||||
msgid "Year"
|
||||
msgstr "Anno"
|
||||
|
||||
#: dialog.c:741
|
||||
#: dialog.c:756
|
||||
msgid "Rename"
|
||||
msgstr "Rinomina"
|
||||
|
||||
#: fselect.c:550
|
||||
#: fselect.c:571
|
||||
msgid "Directories"
|
||||
msgstr "Cartelle"
|
||||
|
||||
#: fselect.c:551
|
||||
#: fselect.c:572
|
||||
msgid "Files"
|
||||
msgstr "File"
|
||||
|
||||
@ -106,6 +107,6 @@ msgstr "N/A"
|
||||
msgid "Overall Progress"
|
||||
msgstr "Progresso complessivo"
|
||||
|
||||
#: textbox.c:489
|
||||
#: textbox.c:468
|
||||
msgid "Search"
|
||||
msgstr "Ricerca"
|
||||
|
@ -8,61 +8,62 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: dialog 1.1.20070704\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2008-07-27 18:05-0400\n"
|
||||
"POT-Creation-Date: 2011-01-16 17:57-0500\n"
|
||||
"PO-Revision-Date: 2008-07-24 00:12+0900\n"
|
||||
"Last-Translator: Takeshi Hamasaki <hmatrjp@users.sourceforge.jp>\n"
|
||||
"Language-Team: Japanese <translation-team-ja@lists.sourceforge.net>\n"
|
||||
"Language: ja\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=EUC-JP\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: buttons.c:385
|
||||
#: buttons.c:387
|
||||
msgid "Yes"
|
||||
msgstr "はい"
|
||||
|
||||
#: buttons.c:393
|
||||
#: buttons.c:395
|
||||
msgid "No"
|
||||
msgstr "いいえ"
|
||||
|
||||
#: buttons.c:401
|
||||
#: buttons.c:403
|
||||
msgid "OK"
|
||||
msgstr "了解"
|
||||
|
||||
#: buttons.c:409
|
||||
#: buttons.c:411
|
||||
msgid "Cancel"
|
||||
msgstr "取消"
|
||||
|
||||
#: buttons.c:417
|
||||
#: buttons.c:419
|
||||
msgid "EXIT"
|
||||
msgstr "終了"
|
||||
|
||||
#: buttons.c:425
|
||||
#: buttons.c:427
|
||||
msgid "Extra"
|
||||
msgstr "拡張"
|
||||
|
||||
#: buttons.c:433
|
||||
#: buttons.c:435
|
||||
msgid "Help"
|
||||
msgstr "ヘルプ"
|
||||
|
||||
#. Headline "Month"
|
||||
#: calendar.c:273
|
||||
#: calendar.c:298
|
||||
msgid "Month"
|
||||
msgstr "月"
|
||||
|
||||
#. Headline "Year"
|
||||
#: calendar.c:293
|
||||
#: calendar.c:318
|
||||
msgid "Year"
|
||||
msgstr "年"
|
||||
|
||||
#: dialog.c:744
|
||||
#: dialog.c:756
|
||||
msgid "Rename"
|
||||
msgstr "名前変更"
|
||||
|
||||
#: fselect.c:550
|
||||
#: fselect.c:571
|
||||
msgid "Directories"
|
||||
msgstr "ディレクトリ"
|
||||
|
||||
#: fselect.c:551
|
||||
#: fselect.c:572
|
||||
msgid "Files"
|
||||
msgstr "ファイル"
|
||||
|
||||
@ -106,6 +107,6 @@ msgstr "̵
|
||||
msgid "Overall Progress"
|
||||
msgstr "全体の進行状況"
|
||||
|
||||
#: textbox.c:489
|
||||
#: textbox.c:468
|
||||
msgid "Search"
|
||||
msgstr "調査"
|
||||
|
@ -7,63 +7,64 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: dialog 1.1.20070704\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2008-06-18 18:26-0400\n"
|
||||
"POT-Creation-Date: 2011-01-16 17:57-0500\n"
|
||||
"PO-Revision-Date: 2008-04-25 16:51+0200\n"
|
||||
"Last-Translator: Erdal Ronahi <erdal.ronahi@gmail.com>\n"
|
||||
"Language-Team: Kurdish <translation-team-ku@ferheng.org>\n"
|
||||
"Language: ku\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: KAider 0.1\n"
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
|
||||
#: buttons.c:385
|
||||
#: buttons.c:387
|
||||
msgid "Yes"
|
||||
msgstr "Erê"
|
||||
|
||||
#: buttons.c:393
|
||||
#: buttons.c:395
|
||||
msgid "No"
|
||||
msgstr "Na"
|
||||
|
||||
#: buttons.c:401
|
||||
#: buttons.c:403
|
||||
msgid "OK"
|
||||
msgstr "TEMAM"
|
||||
|
||||
#: buttons.c:409
|
||||
#: buttons.c:411
|
||||
msgid "Cancel"
|
||||
msgstr "Betal"
|
||||
|
||||
#: buttons.c:417
|
||||
#: buttons.c:419
|
||||
msgid "EXIT"
|
||||
msgstr "DERKETIN"
|
||||
|
||||
#: buttons.c:425
|
||||
#: buttons.c:427
|
||||
msgid "Extra"
|
||||
msgstr "Ekstra"
|
||||
|
||||
#: buttons.c:433
|
||||
#: buttons.c:435
|
||||
msgid "Help"
|
||||
msgstr "Alîkarî"
|
||||
|
||||
#. Headline "Month"
|
||||
#: calendar.c:273
|
||||
#: calendar.c:298
|
||||
msgid "Month"
|
||||
msgstr "Meh"
|
||||
|
||||
#. Headline "Year"
|
||||
#: calendar.c:293
|
||||
#: calendar.c:318
|
||||
msgid "Year"
|
||||
msgstr "Sal"
|
||||
|
||||
#: dialog.c:741
|
||||
#: dialog.c:756
|
||||
msgid "Rename"
|
||||
msgstr "Nav guherandin"
|
||||
|
||||
#: fselect.c:550
|
||||
#: fselect.c:571
|
||||
msgid "Directories"
|
||||
msgstr "Peldank"
|
||||
|
||||
#: fselect.c:551
|
||||
#: fselect.c:572
|
||||
msgid "Files"
|
||||
msgstr "Pel"
|
||||
|
||||
@ -107,6 +108,6 @@ msgstr "Tune"
|
||||
msgid "Overall Progress"
|
||||
msgstr "Pêşketina Giştî"
|
||||
|
||||
#: textbox.c:489
|
||||
#: textbox.c:468
|
||||
msgid "Search"
|
||||
msgstr "Lêgerîn"
|
||||
|
@ -6,63 +6,64 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: dialog-1.1.20070704\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2008-06-18 18:26-0400\n"
|
||||
"POT-Creation-Date: 2011-01-16 17:57-0500\n"
|
||||
"PO-Revision-Date: 2008-05-14 02:51+0300\n"
|
||||
"Last-Translator: Gintautas Miliauskas <gintas@akl.lt>\n"
|
||||
"Language-Team: Lithuanian <komp_lt@konferencijos.lt>\n"
|
||||
"Language: lt\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: KBabel 1.11.4\n"
|
||||
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
|
||||
|
||||
#: buttons.c:385
|
||||
#: buttons.c:387
|
||||
msgid "Yes"
|
||||
msgstr "Taip"
|
||||
|
||||
#: buttons.c:393
|
||||
#: buttons.c:395
|
||||
msgid "No"
|
||||
msgstr "Ne"
|
||||
|
||||
#: buttons.c:401
|
||||
#: buttons.c:403
|
||||
msgid "OK"
|
||||
msgstr "OK"
|
||||
|
||||
#: buttons.c:409
|
||||
#: buttons.c:411
|
||||
msgid "Cancel"
|
||||
msgstr "Atmesti"
|
||||
|
||||
#: buttons.c:417
|
||||
#: buttons.c:419
|
||||
msgid "EXIT"
|
||||
msgstr "IŠEITI"
|
||||
|
||||
#: buttons.c:425
|
||||
#: buttons.c:427
|
||||
msgid "Extra"
|
||||
msgstr "Papildoma"
|
||||
|
||||
#: buttons.c:433
|
||||
#: buttons.c:435
|
||||
msgid "Help"
|
||||
msgstr "Žinynas"
|
||||
|
||||
#. Headline "Month"
|
||||
#: calendar.c:273
|
||||
#: calendar.c:298
|
||||
msgid "Month"
|
||||
msgstr "Mėnuo"
|
||||
|
||||
#. Headline "Year"
|
||||
#: calendar.c:293
|
||||
#: calendar.c:318
|
||||
msgid "Year"
|
||||
msgstr "Metai"
|
||||
|
||||
#: dialog.c:741
|
||||
#: dialog.c:756
|
||||
msgid "Rename"
|
||||
msgstr "Pervadinti"
|
||||
|
||||
#: fselect.c:550
|
||||
#: fselect.c:571
|
||||
msgid "Directories"
|
||||
msgstr "Aplankai"
|
||||
|
||||
#: fselect.c:551
|
||||
#: fselect.c:572
|
||||
msgid "Files"
|
||||
msgstr "Failai"
|
||||
|
||||
@ -106,6 +107,6 @@ msgstr "N/d"
|
||||
msgid "Overall Progress"
|
||||
msgstr "Bendras progresas"
|
||||
|
||||
#: textbox.c:489
|
||||
#: textbox.c:468
|
||||
msgid "Search"
|
||||
msgstr "Ieškoti"
|
||||
|
@ -8,63 +8,64 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: dialog 1.1.20080819\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2008-06-18 18:26-0400\n"
|
||||
"POT-Creation-Date: 2011-01-16 17:57-0500\n"
|
||||
"PO-Revision-Date: 2009-04-11 20:50+0300\n"
|
||||
"Last-Translator: Rihards Prieditis <RPrieditis@inbox.lv>\n"
|
||||
"Language-Team: Latvian <translation-team-lv@lists.sourceforge.net>\n"
|
||||
"Language: lv\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: Lokalize 0.3\n"
|
||||
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);\n"
|
||||
|
||||
#: buttons.c:385
|
||||
#: buttons.c:387
|
||||
msgid "Yes"
|
||||
msgstr "Jā"
|
||||
|
||||
#: buttons.c:393
|
||||
#: buttons.c:395
|
||||
msgid "No"
|
||||
msgstr "Nē"
|
||||
|
||||
#: buttons.c:401
|
||||
#: buttons.c:403
|
||||
msgid "OK"
|
||||
msgstr "Labi"
|
||||
|
||||
#: buttons.c:409
|
||||
#: buttons.c:411
|
||||
msgid "Cancel"
|
||||
msgstr "Atcelt"
|
||||
|
||||
#: buttons.c:417
|
||||
#: buttons.c:419
|
||||
msgid "EXIT"
|
||||
msgstr "IZIET"
|
||||
|
||||
#: buttons.c:425
|
||||
#: buttons.c:427
|
||||
msgid "Extra"
|
||||
msgstr "Papildus"
|
||||
|
||||
#: buttons.c:433
|
||||
#: buttons.c:435
|
||||
msgid "Help"
|
||||
msgstr "Palīdzība"
|
||||
|
||||
#. Headline "Month"
|
||||
#: calendar.c:273
|
||||
#: calendar.c:298
|
||||
msgid "Month"
|
||||
msgstr "Mēnesis"
|
||||
|
||||
#. Headline "Year"
|
||||
#: calendar.c:293
|
||||
#: calendar.c:318
|
||||
msgid "Year"
|
||||
msgstr "Gads"
|
||||
|
||||
#: dialog.c:741
|
||||
#: dialog.c:756
|
||||
msgid "Rename"
|
||||
msgstr "Pārdēvēt"
|
||||
|
||||
#: fselect.c:550
|
||||
#: fselect.c:571
|
||||
msgid "Directories"
|
||||
msgstr "Direktorijas"
|
||||
|
||||
#: fselect.c:551
|
||||
#: fselect.c:572
|
||||
msgid "Files"
|
||||
msgstr "Faili"
|
||||
|
||||
@ -108,6 +109,6 @@ msgstr "n/z"
|
||||
msgid "Overall Progress"
|
||||
msgstr "Vispārējais progress"
|
||||
|
||||
#: textbox.c:489
|
||||
#: textbox.c:468
|
||||
msgid "Search"
|
||||
msgstr "Meklēt"
|
||||
|
@ -8,6 +8,7 @@
|
||||
|
||||
PACKAGE = @PACKAGE@
|
||||
VERSION = @VERSION@
|
||||
NLS_TEXTDOMAIN = @NLS_TEXTDOMAIN@
|
||||
|
||||
SHELL = /bin/sh
|
||||
@SET_MAKE@
|
||||
@ -26,7 +27,6 @@ subdir = po
|
||||
|
||||
INSTALL = @INSTALL@
|
||||
INSTALL_DATA = @INSTALL_DATA@
|
||||
MKINSTALLDIRS = @MKINSTALLDIRS@
|
||||
DESTDIR = @DESTDIR@
|
||||
|
||||
CC = @CC@
|
||||
@ -84,7 +84,7 @@ all-yes: $(SOURCES) $(CATALOGS)
|
||||
all-no:
|
||||
|
||||
$(srcdir)/$(PACKAGE).pot: $(POTFILES)
|
||||
$(XGETTEXT) --default-domain=$(PACKAGE) --directory=$(top_srcdir) \
|
||||
$(XGETTEXT) --default-domain=$(NLS_TEXTDOMAIN) --directory=$(top_srcdir) \
|
||||
--add-comments --keyword=_ --keyword=N_ \
|
||||
--files-from=$(srcdir)/POTFILES.in \
|
||||
&& test ! -f $(PACKAGE).po \
|
||||
@ -111,12 +111,8 @@ install-exec:
|
||||
install-data: install-data-@USE_NLS@
|
||||
install-data-no: all
|
||||
install-data-yes: all
|
||||
if test -r "$(MKINSTALLDIRS)"; then \
|
||||
$(MKINSTALLDIRS) $(DESTDIR)$(datadir); \
|
||||
else \
|
||||
mkdir -p $(DESTDIR)$(datadir); \
|
||||
fi
|
||||
@catalogs='$(CATALOGS)'; \
|
||||
@mkdir -p $(DESTDIR)$(datadir); \
|
||||
catalogs='$(CATALOGS)'; \
|
||||
for cat in $$catalogs; do \
|
||||
cat=`basename $$cat`; \
|
||||
case "$$cat" in \
|
||||
@ -125,39 +121,31 @@ install-data-yes: all
|
||||
esac; \
|
||||
lang=`echo $$cat | sed 's/\$(CATOBJEXT)$$//'`; \
|
||||
dir=$(DESTDIR)$$destdir/$$lang/LC_MESSAGES; \
|
||||
if test -r "$(MKINSTALLDIRS)"; then \
|
||||
$(MKINSTALLDIRS) $$dir; \
|
||||
else \
|
||||
mkdir -p $$dir; \
|
||||
fi; \
|
||||
if test -r $$cat; then \
|
||||
$(INSTALL_DATA) $$cat $$dir/$(PACKAGE)$(INSTOBJEXT); \
|
||||
echo "installing $$cat as $$dir/$(PACKAGE)$(INSTOBJEXT)"; \
|
||||
$(INSTALL_DATA) $$cat $$dir/$(NLS_TEXTDOMAIN)$(INSTOBJEXT); \
|
||||
echo "installing $$cat as $$dir/$(NLS_TEXTDOMAIN)$(INSTOBJEXT)"; \
|
||||
else \
|
||||
$(INSTALL_DATA) $(srcdir)/$$cat $$dir/$(PACKAGE)$(INSTOBJEXT); \
|
||||
$(INSTALL_DATA) $(srcdir)/$$cat $$dir/$(NLS_TEXTDOMAIN)$(INSTOBJEXT); \
|
||||
echo "installing $(srcdir)/$$cat as" \
|
||||
"$$dir/$(PACKAGE)$(INSTOBJEXT)"; \
|
||||
"$$dir/$(NLS_TEXTDOMAIN)$(INSTOBJEXT)"; \
|
||||
fi; \
|
||||
if test -r $$cat.m; then \
|
||||
$(INSTALL_DATA) $$cat.m $$dir/$(PACKAGE)$(INSTOBJEXT).m; \
|
||||
echo "installing $$cat.m as $$dir/$(PACKAGE)$(INSTOBJEXT).m"; \
|
||||
$(INSTALL_DATA) $$cat.m $$dir/$(NLS_TEXTDOMAIN)$(INSTOBJEXT).m; \
|
||||
echo "installing $$cat.m as $$dir/$(NLS_TEXTDOMAIN)$(INSTOBJEXT).m"; \
|
||||
else \
|
||||
if test -r $(srcdir)/$$cat.m ; then \
|
||||
$(INSTALL_DATA) $(srcdir)/$$cat.m \
|
||||
$$dir/$(PACKAGE)$(INSTOBJEXT).m; \
|
||||
$$dir/$(NLS_TEXTDOMAIN)$(INSTOBJEXT).m; \
|
||||
echo "installing $(srcdir)/$$cat as" \
|
||||
"$$dir/$(PACKAGE)$(INSTOBJEXT).m"; \
|
||||
"$$dir/$(NLS_TEXTDOMAIN)$(INSTOBJEXT).m"; \
|
||||
else \
|
||||
true; \
|
||||
fi; \
|
||||
fi; \
|
||||
done
|
||||
if test "$(PACKAGE)" = "gettext"; then \
|
||||
if test -r "$(MKINSTALLDIRS)"; then \
|
||||
$(MKINSTALLDIRS) $(DESTDIR)$(gettextsrcdir); \
|
||||
else \
|
||||
if test "$(NLS_TEXTDOMAIN)" = "gettext"; then \
|
||||
mkdir -p $(DESTDIR)$(gettextsrcdir); \
|
||||
fi; \
|
||||
$(INSTALL_DATA) $(srcdir)/makefile.inn \
|
||||
$(DESTDIR)$(gettextsrcdir)/makefile.inn; \
|
||||
else \
|
||||
@ -172,10 +160,10 @@ uninstall:
|
||||
for cat in $$catalogs; do \
|
||||
cat=`basename $$cat`; \
|
||||
lang=`echo $$cat | sed 's/\$(CATOBJEXT)$$//'`; \
|
||||
rm -f $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(PACKAGE)$(INSTOBJEXT); \
|
||||
rm -f $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(PACKAGE)$(INSTOBJEXT).m; \
|
||||
rm -f $(DESTDIR)$(gnulocaledir)/$$lang/LC_MESSAGES/$(PACKAGE)$(INSTOBJEXT); \
|
||||
rm -f $(DESTDIR)$(gnulocaledir)/$$lang/LC_MESSAGES/$(PACKAGE)$(INSTOBJEXT).m; \
|
||||
rm -f $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(NLS_TEXTDOMAIN)$(INSTOBJEXT); \
|
||||
rm -f $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(NLS_TEXTDOMAIN)$(INSTOBJEXT).m; \
|
||||
rm -f $(DESTDIR)$(gnulocaledir)/$$lang/LC_MESSAGES/$(NLS_TEXTDOMAIN)$(INSTOBJEXT); \
|
||||
rm -f $(DESTDIR)$(gnulocaledir)/$$lang/LC_MESSAGES/$(NLS_TEXTDOMAIN)$(INSTOBJEXT).m; \
|
||||
done
|
||||
rm -f $(gettextsrcdir)/po-makefile.inn
|
||||
|
||||
|
@ -6,61 +6,62 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: dialog 1.1.20070704\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2008-06-18 18:26-0400\n"
|
||||
"POT-Creation-Date: 2011-01-16 17:57-0500\n"
|
||||
"PO-Revision-Date: 2007-08-14 01:22+0800\n"
|
||||
"Last-Translator: Sharuzzaman Ahmat Raslan <sharuzzaman@myrealbox.com>\n"
|
||||
"Language-Team: Malay <translation-team-ms@lists.sourceforge.net>\n"
|
||||
"Language: ms\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: buttons.c:385
|
||||
#: buttons.c:387
|
||||
msgid "Yes"
|
||||
msgstr "Ya"
|
||||
|
||||
#: buttons.c:393
|
||||
#: buttons.c:395
|
||||
msgid "No"
|
||||
msgstr "Tidak"
|
||||
|
||||
#: buttons.c:401
|
||||
#: buttons.c:403
|
||||
msgid "OK"
|
||||
msgstr "OK"
|
||||
|
||||
#: buttons.c:409
|
||||
#: buttons.c:411
|
||||
msgid "Cancel"
|
||||
msgstr "Batal"
|
||||
|
||||
#: buttons.c:417
|
||||
#: buttons.c:419
|
||||
msgid "EXIT"
|
||||
msgstr "KELUAR"
|
||||
|
||||
#: buttons.c:425
|
||||
#: buttons.c:427
|
||||
msgid "Extra"
|
||||
msgstr "Ekstra"
|
||||
|
||||
#: buttons.c:433
|
||||
#: buttons.c:435
|
||||
msgid "Help"
|
||||
msgstr "Bantuan"
|
||||
|
||||
#. Headline "Month"
|
||||
#: calendar.c:273
|
||||
#: calendar.c:298
|
||||
msgid "Month"
|
||||
msgstr "Bulan"
|
||||
|
||||
#. Headline "Year"
|
||||
#: calendar.c:293
|
||||
#: calendar.c:318
|
||||
msgid "Year"
|
||||
msgstr "Tahun"
|
||||
|
||||
#: dialog.c:741
|
||||
#: dialog.c:756
|
||||
msgid "Rename"
|
||||
msgstr "Tukar nama"
|
||||
|
||||
#: fselect.c:550
|
||||
#: fselect.c:571
|
||||
msgid "Directories"
|
||||
msgstr "Direktori"
|
||||
|
||||
#: fselect.c:551
|
||||
#: fselect.c:572
|
||||
msgid "Files"
|
||||
msgstr "Fail"
|
||||
|
||||
@ -104,6 +105,6 @@ msgstr "Tiada"
|
||||
msgid "Overall Progress"
|
||||
msgstr "Kemajuan Keseluruhan"
|
||||
|
||||
#: textbox.c:489
|
||||
#: textbox.c:468
|
||||
msgid "Search"
|
||||
msgstr "Cari"
|
||||
|
@ -8,62 +8,63 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: dialog-1.1.20070704\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2008-06-18 18:26-0400\n"
|
||||
"POT-Creation-Date: 2011-01-16 17:57-0500\n"
|
||||
"PO-Revision-Date: 2007-10-08 12:42+0200\n"
|
||||
"Last-Translator: Benno Schulenberg <benno@vertaalt.nl>\n"
|
||||
"Language-Team: Dutch <vertaling@vrijschrift.org>\n"
|
||||
"Language: nl\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: KBabel 1.11.4\n"
|
||||
|
||||
#: buttons.c:385
|
||||
#: buttons.c:387
|
||||
msgid "Yes"
|
||||
msgstr "Ja"
|
||||
|
||||
#: buttons.c:393
|
||||
#: buttons.c:395
|
||||
msgid "No"
|
||||
msgstr "Nee"
|
||||
|
||||
#: buttons.c:401
|
||||
#: buttons.c:403
|
||||
msgid "OK"
|
||||
msgstr "OK"
|
||||
|
||||
#: buttons.c:409
|
||||
#: buttons.c:411
|
||||
msgid "Cancel"
|
||||
msgstr "Annuleren"
|
||||
|
||||
#: buttons.c:417
|
||||
#: buttons.c:419
|
||||
msgid "EXIT"
|
||||
msgstr "Afsluiten"
|
||||
|
||||
#: buttons.c:425
|
||||
#: buttons.c:427
|
||||
msgid "Extra"
|
||||
msgstr "Extra"
|
||||
|
||||
#: buttons.c:433
|
||||
#: buttons.c:435
|
||||
msgid "Help"
|
||||
msgstr "Help"
|
||||
|
||||
#. Headline "Month"
|
||||
#: calendar.c:273
|
||||
#: calendar.c:298
|
||||
msgid "Month"
|
||||
msgstr "Maand"
|
||||
|
||||
#. Headline "Year"
|
||||
#: calendar.c:293
|
||||
#: calendar.c:318
|
||||
msgid "Year"
|
||||
msgstr "Jaar"
|
||||
|
||||
#: dialog.c:741
|
||||
#: dialog.c:756
|
||||
msgid "Rename"
|
||||
msgstr "Hernoemen"
|
||||
|
||||
#: fselect.c:550
|
||||
#: fselect.c:571
|
||||
msgid "Directories"
|
||||
msgstr "Mappen"
|
||||
|
||||
#: fselect.c:551
|
||||
#: fselect.c:572
|
||||
msgid "Files"
|
||||
msgstr "Bestanden"
|
||||
|
||||
@ -107,6 +108,6 @@ msgstr "Onbeschikbaar"
|
||||
msgid "Overall Progress"
|
||||
msgstr "Voortgang"
|
||||
|
||||
#: textbox.c:489
|
||||
#: textbox.c:468
|
||||
msgid "Search"
|
||||
msgstr "Zoeken"
|
||||
|
@ -7,63 +7,64 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: dialog 1.1.20080819\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2009-03-29 19:30-0400\n"
|
||||
"POT-Creation-Date: 2011-01-16 17:57-0500\n"
|
||||
"PO-Revision-Date: 2009-03-11 10:32+0100\n"
|
||||
"Last-Translator: Michał Trzebiatowski <hippie_1968@hotmail.com>\n"
|
||||
"Language-Team: Polish <translation-team-pl@lists.sourceforge.net>\n"
|
||||
"Language: pl\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Poedit-Language: Polish\n"
|
||||
"X-Poedit-Country: POLAND\n"
|
||||
|
||||
#: buttons.c:385
|
||||
#: buttons.c:387
|
||||
msgid "Yes"
|
||||
msgstr "Tak"
|
||||
|
||||
#: buttons.c:393
|
||||
#: buttons.c:395
|
||||
msgid "No"
|
||||
msgstr "Nie"
|
||||
|
||||
#: buttons.c:401
|
||||
#: buttons.c:403
|
||||
msgid "OK"
|
||||
msgstr "OK"
|
||||
|
||||
#: buttons.c:409
|
||||
#: buttons.c:411
|
||||
msgid "Cancel"
|
||||
msgstr "Anuluj"
|
||||
|
||||
#: buttons.c:417
|
||||
#: buttons.c:419
|
||||
msgid "EXIT"
|
||||
msgstr "WYJDŹ"
|
||||
|
||||
#: buttons.c:425
|
||||
#: buttons.c:427
|
||||
msgid "Extra"
|
||||
msgstr "Ekstra"
|
||||
|
||||
#: buttons.c:433
|
||||
#: buttons.c:435
|
||||
msgid "Help"
|
||||
msgstr "Pomoc"
|
||||
|
||||
#. Headline "Month"
|
||||
#: calendar.c:273
|
||||
#: calendar.c:298
|
||||
msgid "Month"
|
||||
msgstr "Miesiąc"
|
||||
|
||||
#. Headline "Year"
|
||||
#: calendar.c:293
|
||||
#: calendar.c:318
|
||||
msgid "Year"
|
||||
msgstr "Rok"
|
||||
|
||||
#: dialog.c:744
|
||||
#: dialog.c:756
|
||||
msgid "Rename"
|
||||
msgstr "Zmień nazwę"
|
||||
|
||||
#: fselect.c:550
|
||||
#: fselect.c:571
|
||||
msgid "Directories"
|
||||
msgstr "Katalogi"
|
||||
|
||||
#: fselect.c:551
|
||||
#: fselect.c:572
|
||||
msgid "Files"
|
||||
msgstr "Pliki"
|
||||
|
||||
@ -107,6 +108,6 @@ msgstr "Brak"
|
||||
msgid "Overall Progress"
|
||||
msgstr "Ogólny postęp"
|
||||
|
||||
#: textbox.c:489
|
||||
#: textbox.c:468
|
||||
msgid "Search"
|
||||
msgstr "Szukaj"
|
||||
|
@ -9,61 +9,62 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: dialog 1.1.20080819\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2009-03-29 19:30-0400\n"
|
||||
"POT-Creation-Date: 2011-01-16 17:57-0500\n"
|
||||
"PO-Revision-Date: 2009-01-06 23:48-0200\n"
|
||||
"Last-Translator: Flamarion Jorge <flamarilinux@yahoo.com.br>\n"
|
||||
"Language-Team: Brazilian Portuguese <ldp-br@bazar.conectiva.com.br>\n"
|
||||
"Language: pt_BR\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: buttons.c:385
|
||||
#: buttons.c:387
|
||||
msgid "Yes"
|
||||
msgstr "Sim"
|
||||
|
||||
#: buttons.c:393
|
||||
#: buttons.c:395
|
||||
msgid "No"
|
||||
msgstr "Não"
|
||||
|
||||
#: buttons.c:401
|
||||
#: buttons.c:403
|
||||
msgid "OK"
|
||||
msgstr "Aceitar"
|
||||
|
||||
#: buttons.c:409
|
||||
#: buttons.c:411
|
||||
msgid "Cancel"
|
||||
msgstr "Cancelar"
|
||||
|
||||
#: buttons.c:417
|
||||
#: buttons.c:419
|
||||
msgid "EXIT"
|
||||
msgstr "Sair"
|
||||
|
||||
#: buttons.c:425
|
||||
#: buttons.c:427
|
||||
msgid "Extra"
|
||||
msgstr "Extra"
|
||||
|
||||
#: buttons.c:433
|
||||
#: buttons.c:435
|
||||
msgid "Help"
|
||||
msgstr "Ajuda"
|
||||
|
||||
#. Headline "Month"
|
||||
#: calendar.c:273
|
||||
#: calendar.c:298
|
||||
msgid "Month"
|
||||
msgstr "Mês"
|
||||
|
||||
#. Headline "Year"
|
||||
#: calendar.c:293
|
||||
#: calendar.c:318
|
||||
msgid "Year"
|
||||
msgstr "Ano"
|
||||
|
||||
#: dialog.c:744
|
||||
#: dialog.c:756
|
||||
msgid "Rename"
|
||||
msgstr "Renomear"
|
||||
|
||||
#: fselect.c:550
|
||||
#: fselect.c:571
|
||||
msgid "Directories"
|
||||
msgstr "Diretórios"
|
||||
|
||||
#: fselect.c:551
|
||||
#: fselect.c:572
|
||||
msgid "Files"
|
||||
msgstr "Arquivos"
|
||||
|
||||
@ -107,6 +108,6 @@ msgstr "N/A"
|
||||
msgid "Overall Progress"
|
||||
msgstr "Progresso Global"
|
||||
|
||||
#: textbox.c:489
|
||||
#: textbox.c:468
|
||||
msgid "Search"
|
||||
msgstr "Pesquisa"
|
||||
|
@ -9,63 +9,64 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: dialog 1.1.20070704\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2009-02-22 07:05-0500\n"
|
||||
"POT-Creation-Date: 2011-01-16 17:57-0500\n"
|
||||
"PO-Revision-Date: 2009-01-24 23:09+0300\n"
|
||||
"Last-Translator: Yuri Kozlov <yuray@komyakino.ru>\n"
|
||||
"Language-Team: Russian <gnu@mx.ru>\n"
|
||||
"Language: ru\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: KBabel 1.11.4\n"
|
||||
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
|
||||
|
||||
#: buttons.c:385
|
||||
#: buttons.c:387
|
||||
msgid "Yes"
|
||||
msgstr "Да"
|
||||
|
||||
#: buttons.c:393
|
||||
#: buttons.c:395
|
||||
msgid "No"
|
||||
msgstr "Нет"
|
||||
|
||||
#: buttons.c:401
|
||||
#: buttons.c:403
|
||||
msgid "OK"
|
||||
msgstr "OK"
|
||||
|
||||
#: buttons.c:409
|
||||
#: buttons.c:411
|
||||
msgid "Cancel"
|
||||
msgstr "Отмена"
|
||||
|
||||
#: buttons.c:417
|
||||
#: buttons.c:419
|
||||
msgid "EXIT"
|
||||
msgstr "Выход"
|
||||
|
||||
#: buttons.c:425
|
||||
#: buttons.c:427
|
||||
msgid "Extra"
|
||||
msgstr "Дополнительно"
|
||||
|
||||
#: buttons.c:433
|
||||
#: buttons.c:435
|
||||
msgid "Help"
|
||||
msgstr "Справка"
|
||||
|
||||
#. Headline "Month"
|
||||
#: calendar.c:273
|
||||
#: calendar.c:298
|
||||
msgid "Month"
|
||||
msgstr "Месяц"
|
||||
|
||||
#. Headline "Year"
|
||||
#: calendar.c:293
|
||||
#: calendar.c:318
|
||||
msgid "Year"
|
||||
msgstr "Год"
|
||||
|
||||
#: dialog.c:744
|
||||
#: dialog.c:756
|
||||
msgid "Rename"
|
||||
msgstr "Переименовать"
|
||||
|
||||
#: fselect.c:550
|
||||
#: fselect.c:571
|
||||
msgid "Directories"
|
||||
msgstr "Каталоги"
|
||||
|
||||
#: fselect.c:551
|
||||
#: fselect.c:572
|
||||
msgid "Files"
|
||||
msgstr "Файлы"
|
||||
|
||||
@ -109,6 +110,6 @@ msgstr "Н/Д"
|
||||
msgid "Overall Progress"
|
||||
msgstr "Всего выполнено"
|
||||
|
||||
#: textbox.c:489
|
||||
#: textbox.c:468
|
||||
msgid "Search"
|
||||
msgstr "Поиск"
|
||||
|
112
contrib/dialog/po/sl.po
Normal file
112
contrib/dialog/po/sl.po
Normal file
@ -0,0 +1,112 @@
|
||||
# Slovenian translation for dialog.
|
||||
# Copyright (C) 2003-2007, 2008 Thomas Dickey
|
||||
# This file is distributed under the same license as the dialog package.
|
||||
# Klemen Košir <klemen.kosir@gmx.com>, 2011.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: dialog 1.1.20080819\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2008-06-18 18:26-0400\n"
|
||||
"PO-Revision-Date: 2011-02-12 20:17+0100\n"
|
||||
"Last-Translator: Klemen Košir <klemen.kosir@gmx.com>\n"
|
||||
"Language-Team: Slovenian <translation-team-sl@lists.sourceforge.net>\n"
|
||||
"Language: sl\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Poedit-Language: Slovenian\n"
|
||||
"X-Poedit-Country: SLOVENIA\n"
|
||||
|
||||
#: buttons.c:385
|
||||
msgid "Yes"
|
||||
msgstr "Da"
|
||||
|
||||
#: buttons.c:393
|
||||
msgid "No"
|
||||
msgstr "Ne"
|
||||
|
||||
#: buttons.c:401
|
||||
msgid "OK"
|
||||
msgstr "V redu"
|
||||
|
||||
#: buttons.c:409
|
||||
msgid "Cancel"
|
||||
msgstr "Prekliči"
|
||||
|
||||
#: buttons.c:417
|
||||
msgid "EXIT"
|
||||
msgstr "IZHOD"
|
||||
|
||||
#: buttons.c:425
|
||||
msgid "Extra"
|
||||
msgstr "Dodatno"
|
||||
|
||||
#: buttons.c:433
|
||||
msgid "Help"
|
||||
msgstr "Pomoč"
|
||||
|
||||
#. Headline "Month"
|
||||
#: calendar.c:273
|
||||
msgid "Month"
|
||||
msgstr "Mesec"
|
||||
|
||||
#. Headline "Year"
|
||||
#: calendar.c:293
|
||||
msgid "Year"
|
||||
msgstr "Leto"
|
||||
|
||||
#: dialog.c:741
|
||||
msgid "Rename"
|
||||
msgstr "Preimenuj"
|
||||
|
||||
#: fselect.c:550
|
||||
msgid "Directories"
|
||||
msgstr "Imeniki"
|
||||
|
||||
#: fselect.c:551
|
||||
msgid "Files"
|
||||
msgstr "Datoteke"
|
||||
|
||||
#: mixedgauge.c:58
|
||||
msgid "Succeeded"
|
||||
msgstr "Uspelo"
|
||||
|
||||
#: mixedgauge.c:61
|
||||
msgid "Failed"
|
||||
msgstr "Spodletelo"
|
||||
|
||||
#: mixedgauge.c:64
|
||||
msgid "Passed"
|
||||
msgstr "Prestalo"
|
||||
|
||||
#: mixedgauge.c:67
|
||||
msgid "Completed"
|
||||
msgstr "Končano"
|
||||
|
||||
#: mixedgauge.c:70
|
||||
msgid "Checked"
|
||||
msgstr "Preverjeno"
|
||||
|
||||
#: mixedgauge.c:73
|
||||
msgid "Done"
|
||||
msgstr "Opravljeno"
|
||||
|
||||
#: mixedgauge.c:76
|
||||
msgid "Skipped"
|
||||
msgstr "Preskočeno"
|
||||
|
||||
#: mixedgauge.c:79
|
||||
msgid "In Progress"
|
||||
msgstr "V teku"
|
||||
|
||||
#: mixedgauge.c:85
|
||||
msgid "N/A"
|
||||
msgstr "N/A"
|
||||
|
||||
#: mixedgauge.c:193
|
||||
msgid "Overall Progress"
|
||||
msgstr "Skupni napredek"
|
||||
|
||||
#: textbox.c:489
|
||||
msgid "Search"
|
||||
msgstr "Iskanje"
|
@ -7,61 +7,62 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Dialog 1.0-20050116\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2008-06-18 18:26-0400\n"
|
||||
"POT-Creation-Date: 2011-01-16 17:57-0500\n"
|
||||
"PO-Revision-Date: 2004-11-18 02:28+0100\n"
|
||||
"Last-Translator: Elian Myftiu <elian@lycos.com>\n"
|
||||
"Language-Team: Albanian <gnome-albanian-perkthyesit@lists.sourceforge.net>\n"
|
||||
"Language: sq\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: buttons.c:385
|
||||
#: buttons.c:387
|
||||
msgid "Yes"
|
||||
msgstr "Po"
|
||||
|
||||
#: buttons.c:393
|
||||
#: buttons.c:395
|
||||
msgid "No"
|
||||
msgstr "Jo"
|
||||
|
||||
#: buttons.c:401
|
||||
#: buttons.c:403
|
||||
msgid "OK"
|
||||
msgstr "mirë"
|
||||
|
||||
#: buttons.c:409
|
||||
#: buttons.c:411
|
||||
msgid "Cancel"
|
||||
msgstr "Anullo"
|
||||
|
||||
#: buttons.c:417
|
||||
#: buttons.c:419
|
||||
msgid "EXIT"
|
||||
msgstr "Dal"
|
||||
|
||||
#: buttons.c:425
|
||||
#: buttons.c:427
|
||||
msgid "Extra"
|
||||
msgstr ""
|
||||
|
||||
#: buttons.c:433
|
||||
#: buttons.c:435
|
||||
msgid "Help"
|
||||
msgstr ""
|
||||
|
||||
#. Headline "Month"
|
||||
#: calendar.c:273
|
||||
#: calendar.c:298
|
||||
msgid "Month"
|
||||
msgstr ""
|
||||
|
||||
#. Headline "Year"
|
||||
#: calendar.c:293
|
||||
#: calendar.c:318
|
||||
msgid "Year"
|
||||
msgstr ""
|
||||
|
||||
#: dialog.c:741
|
||||
#: dialog.c:756
|
||||
msgid "Rename"
|
||||
msgstr ""
|
||||
|
||||
#: fselect.c:550
|
||||
#: fselect.c:571
|
||||
msgid "Directories"
|
||||
msgstr ""
|
||||
|
||||
#: fselect.c:551
|
||||
#: fselect.c:572
|
||||
msgid "Files"
|
||||
msgstr ""
|
||||
|
||||
@ -105,6 +106,6 @@ msgstr ""
|
||||
msgid "Overall Progress"
|
||||
msgstr ""
|
||||
|
||||
#: textbox.c:489
|
||||
#: textbox.c:468
|
||||
msgid "Search"
|
||||
msgstr ""
|
||||
|
@ -6,61 +6,62 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: dialog 1.1.20070704\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2008-06-18 18:26-0400\n"
|
||||
"POT-Creation-Date: 2011-01-16 17:57-0500\n"
|
||||
"PO-Revision-Date: 2007-07-23 00:02+0100\n"
|
||||
"Last-Translator: Daniel Nylander <po@danielnylander.se>\n"
|
||||
"Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n"
|
||||
"Language: sv\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: buttons.c:385
|
||||
#: buttons.c:387
|
||||
msgid "Yes"
|
||||
msgstr "Ja"
|
||||
|
||||
#: buttons.c:393
|
||||
#: buttons.c:395
|
||||
msgid "No"
|
||||
msgstr "Nej"
|
||||
|
||||
#: buttons.c:401
|
||||
#: buttons.c:403
|
||||
msgid "OK"
|
||||
msgstr "OK"
|
||||
|
||||
#: buttons.c:409
|
||||
#: buttons.c:411
|
||||
msgid "Cancel"
|
||||
msgstr "Avbryt"
|
||||
|
||||
#: buttons.c:417
|
||||
#: buttons.c:419
|
||||
msgid "EXIT"
|
||||
msgstr "AVSLUTA"
|
||||
|
||||
#: buttons.c:425
|
||||
#: buttons.c:427
|
||||
msgid "Extra"
|
||||
msgstr "Extra"
|
||||
|
||||
#: buttons.c:433
|
||||
#: buttons.c:435
|
||||
msgid "Help"
|
||||
msgstr "Hjälp"
|
||||
|
||||
#. Headline "Month"
|
||||
#: calendar.c:273
|
||||
#: calendar.c:298
|
||||
msgid "Month"
|
||||
msgstr "Månad"
|
||||
|
||||
#. Headline "Year"
|
||||
#: calendar.c:293
|
||||
#: calendar.c:318
|
||||
msgid "Year"
|
||||
msgstr "År"
|
||||
|
||||
#: dialog.c:741
|
||||
#: dialog.c:756
|
||||
msgid "Rename"
|
||||
msgstr "Byt namn"
|
||||
|
||||
#: fselect.c:550
|
||||
#: fselect.c:571
|
||||
msgid "Directories"
|
||||
msgstr "Kataloger"
|
||||
|
||||
#: fselect.c:551
|
||||
#: fselect.c:572
|
||||
msgid "Files"
|
||||
msgstr "Filer"
|
||||
|
||||
@ -104,6 +105,6 @@ msgstr "Inte tillgänglig"
|
||||
msgid "Overall Progress"
|
||||
msgstr "Totalt förlopp"
|
||||
|
||||
#: textbox.c:489
|
||||
#: textbox.c:468
|
||||
msgid "Search"
|
||||
msgstr "Sök"
|
||||
|
@ -7,61 +7,62 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: dialog 1.1.20080819\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2008-06-18 18:26-0400\n"
|
||||
"POT-Creation-Date: 2011-01-16 17:57-0500\n"
|
||||
"PO-Revision-Date: 2009-05-01 03:07+0300\n"
|
||||
"Last-Translator: Emanuel Feruzi <emanuel.feruzi@trilabs.co.tz>\n"
|
||||
"Language-Team: Swahili <translation-team-sw@lists.sourceforge.net>\n"
|
||||
"Language: sw\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: buttons.c:385
|
||||
#: buttons.c:387
|
||||
msgid "Yes"
|
||||
msgstr "Ndio"
|
||||
|
||||
#: buttons.c:393
|
||||
#: buttons.c:395
|
||||
msgid "No"
|
||||
msgstr "Hapana"
|
||||
|
||||
#: buttons.c:401
|
||||
#: buttons.c:403
|
||||
msgid "OK"
|
||||
msgstr "Sawa"
|
||||
|
||||
#: buttons.c:409
|
||||
#: buttons.c:411
|
||||
msgid "Cancel"
|
||||
msgstr "Ghahiri"
|
||||
|
||||
#: buttons.c:417
|
||||
#: buttons.c:419
|
||||
msgid "EXIT"
|
||||
msgstr "Funga"
|
||||
|
||||
#: buttons.c:425
|
||||
#: buttons.c:427
|
||||
msgid "Extra"
|
||||
msgstr "Nyongeza"
|
||||
|
||||
#: buttons.c:433
|
||||
#: buttons.c:435
|
||||
msgid "Help"
|
||||
msgstr "Msaada"
|
||||
|
||||
#. Headline "Month"
|
||||
#: calendar.c:273
|
||||
#: calendar.c:298
|
||||
msgid "Month"
|
||||
msgstr "Mwezi"
|
||||
|
||||
#. Headline "Year"
|
||||
#: calendar.c:293
|
||||
#: calendar.c:318
|
||||
msgid "Year"
|
||||
msgstr "Mwaka"
|
||||
|
||||
#: dialog.c:741
|
||||
#: dialog.c:756
|
||||
msgid "Rename"
|
||||
msgstr "Badili jina"
|
||||
|
||||
#: fselect.c:550
|
||||
#: fselect.c:571
|
||||
msgid "Directories"
|
||||
msgstr "Masaraka"
|
||||
|
||||
#: fselect.c:551
|
||||
#: fselect.c:572
|
||||
msgid "Files"
|
||||
msgstr "Mafaili"
|
||||
|
||||
@ -105,6 +106,6 @@ msgstr "Haitumiki"
|
||||
msgid "Overall Progress"
|
||||
msgstr "Maendeleo kwa ujumla"
|
||||
|
||||
#: textbox.c:489
|
||||
#: textbox.c:468
|
||||
msgid "Search"
|
||||
msgstr "Tafuta"
|
||||
|
@ -6,63 +6,64 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: dialog 1.1.20070704\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2008-06-18 18:26-0400\n"
|
||||
"POT-Creation-Date: 2011-01-16 17:57-0500\n"
|
||||
"PO-Revision-Date: 2007-11-22 19:23+0700\n"
|
||||
"Last-Translator: Seksan Poltree <seksan.poltree@gmail.com>\n"
|
||||
"Language-Team: Thai <seksan.poltree@gmail.com>\n"
|
||||
"Language: th\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Poedit-Language: Thai\n"
|
||||
"X-Poedit-Country: THAILAND\n"
|
||||
|
||||
#: buttons.c:385
|
||||
#: buttons.c:387
|
||||
msgid "Yes"
|
||||
msgstr "ใช่"
|
||||
|
||||
#: buttons.c:393
|
||||
#: buttons.c:395
|
||||
msgid "No"
|
||||
msgstr "ไม่"
|
||||
|
||||
#: buttons.c:401
|
||||
#: buttons.c:403
|
||||
msgid "OK"
|
||||
msgstr "ตกลง"
|
||||
|
||||
#: buttons.c:409
|
||||
#: buttons.c:411
|
||||
msgid "Cancel"
|
||||
msgstr "ยกเลิก"
|
||||
|
||||
#: buttons.c:417
|
||||
#: buttons.c:419
|
||||
msgid "EXIT"
|
||||
msgstr "ออก"
|
||||
|
||||
#: buttons.c:425
|
||||
#: buttons.c:427
|
||||
msgid "Extra"
|
||||
msgstr "เพิ่มเติม"
|
||||
|
||||
#: buttons.c:433
|
||||
#: buttons.c:435
|
||||
msgid "Help"
|
||||
msgstr "ช่วยเหลือ"
|
||||
|
||||
#. Headline "Month"
|
||||
#: calendar.c:273
|
||||
#: calendar.c:298
|
||||
msgid "Month"
|
||||
msgstr "เดือน"
|
||||
|
||||
#. Headline "Year"
|
||||
#: calendar.c:293
|
||||
#: calendar.c:318
|
||||
msgid "Year"
|
||||
msgstr "ปี"
|
||||
|
||||
#: dialog.c:741
|
||||
#: dialog.c:756
|
||||
msgid "Rename"
|
||||
msgstr "เปลี่ยนชื่อ"
|
||||
|
||||
#: fselect.c:550
|
||||
#: fselect.c:571
|
||||
msgid "Directories"
|
||||
msgstr "ไดเร็กทอรี่"
|
||||
|
||||
#: fselect.c:551
|
||||
#: fselect.c:572
|
||||
msgid "Files"
|
||||
msgstr "ไฟล์"
|
||||
|
||||
@ -106,6 +107,6 @@ msgstr "ไม่มีอยู่"
|
||||
msgid "Overall Progress"
|
||||
msgstr "ความก้าวหน้าทั้งสิ้น"
|
||||
|
||||
#: textbox.c:489
|
||||
#: textbox.c:468
|
||||
msgid "Search"
|
||||
msgstr "ค้นหา"
|
||||
|
@ -8,61 +8,62 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: dialog 1.1.20070704\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2007-02-25 16:06-0500\n"
|
||||
"POT-Creation-Date: 2011-01-16 17:57-0500\n"
|
||||
"PO-Revision-Date: 2007-08-20 07:25+0800\n"
|
||||
"Last-Translator: Meng Jie <zuxy.meng@gmail.com>\n"
|
||||
"Language-Team: Chinese (simplified) <i18n-zh@googlegroups.com>\n"
|
||||
"Language: zh_CN\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: buttons.c:379
|
||||
#: buttons.c:387
|
||||
msgid "Yes"
|
||||
msgstr "是"
|
||||
|
||||
#: buttons.c:387
|
||||
#: buttons.c:395
|
||||
msgid "No"
|
||||
msgstr "否"
|
||||
|
||||
#: buttons.c:395
|
||||
#: buttons.c:403
|
||||
msgid "OK"
|
||||
msgstr "确认"
|
||||
|
||||
#: buttons.c:403
|
||||
#: buttons.c:411
|
||||
msgid "Cancel"
|
||||
msgstr "取消"
|
||||
|
||||
#: buttons.c:411
|
||||
#: buttons.c:419
|
||||
msgid "EXIT"
|
||||
msgstr "退出"
|
||||
|
||||
#: buttons.c:419
|
||||
#: buttons.c:427
|
||||
msgid "Extra"
|
||||
msgstr "附加"
|
||||
|
||||
#: buttons.c:427
|
||||
#: buttons.c:435
|
||||
msgid "Help"
|
||||
msgstr "帮助"
|
||||
|
||||
#. Headline "Month"
|
||||
#: calendar.c:273
|
||||
#: calendar.c:298
|
||||
msgid "Month"
|
||||
msgstr "月"
|
||||
|
||||
#. Headline "Year"
|
||||
#: calendar.c:293
|
||||
#: calendar.c:318
|
||||
msgid "Year"
|
||||
msgstr "年"
|
||||
|
||||
#: dialog.c:727
|
||||
#: dialog.c:756
|
||||
msgid "Rename"
|
||||
msgstr "重命名"
|
||||
|
||||
#: fselect.c:548
|
||||
#: fselect.c:571
|
||||
msgid "Directories"
|
||||
msgstr "目录"
|
||||
|
||||
#: fselect.c:549
|
||||
#: fselect.c:572
|
||||
msgid "Files"
|
||||
msgstr "文件"
|
||||
|
||||
@ -106,6 +107,6 @@ msgstr "N/A"
|
||||
msgid "Overall Progress"
|
||||
msgstr "整体进度"
|
||||
|
||||
#: textbox.c:489
|
||||
#: textbox.c:468
|
||||
msgid "Search"
|
||||
msgstr "搜索"
|
||||
|
@ -7,62 +7,63 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: dialog 1.1.20070704\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2008-06-18 18:26-0400\n"
|
||||
"POT-Creation-Date: 2011-01-16 17:57-0500\n"
|
||||
"PO-Revision-Date: 2007-12-19 23:39+0800\n"
|
||||
"Last-Translator: Wei-Lun Chao <chaoweilun@gmail.com>\n"
|
||||
"Language-Team: Chinese (traditional) <zh-l10n@linux.org.tw>\n"
|
||||
"Language: zh_TW\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
|
||||
#: buttons.c:385
|
||||
#: buttons.c:387
|
||||
msgid "Yes"
|
||||
msgstr "是"
|
||||
|
||||
#: buttons.c:393
|
||||
#: buttons.c:395
|
||||
msgid "No"
|
||||
msgstr "否"
|
||||
|
||||
#: buttons.c:401
|
||||
#: buttons.c:403
|
||||
msgid "OK"
|
||||
msgstr "確定"
|
||||
|
||||
#: buttons.c:409
|
||||
#: buttons.c:411
|
||||
msgid "Cancel"
|
||||
msgstr "取消"
|
||||
|
||||
#: buttons.c:417
|
||||
#: buttons.c:419
|
||||
msgid "EXIT"
|
||||
msgstr "離開"
|
||||
|
||||
#: buttons.c:425
|
||||
#: buttons.c:427
|
||||
msgid "Extra"
|
||||
msgstr "其他"
|
||||
|
||||
#: buttons.c:433
|
||||
#: buttons.c:435
|
||||
msgid "Help"
|
||||
msgstr "求助"
|
||||
|
||||
#. Headline "Month"
|
||||
#: calendar.c:273
|
||||
#: calendar.c:298
|
||||
msgid "Month"
|
||||
msgstr "月"
|
||||
|
||||
#. Headline "Year"
|
||||
#: calendar.c:293
|
||||
#: calendar.c:318
|
||||
msgid "Year"
|
||||
msgstr "年"
|
||||
|
||||
#: dialog.c:741
|
||||
#: dialog.c:756
|
||||
msgid "Rename"
|
||||
msgstr "更名"
|
||||
|
||||
#: fselect.c:550
|
||||
#: fselect.c:571
|
||||
msgid "Directories"
|
||||
msgstr "目錄"
|
||||
|
||||
#: fselect.c:551
|
||||
#: fselect.c:572
|
||||
msgid "Files"
|
||||
msgstr "檔案"
|
||||
|
||||
@ -106,6 +107,6 @@ msgstr "不明"
|
||||
msgid "Overall Progress"
|
||||
msgstr "整體進度"
|
||||
|
||||
#: textbox.c:489
|
||||
#: textbox.c:468
|
||||
msgid "Search"
|
||||
msgstr "搜尋"
|
||||
|
111
contrib/dialog/prgbox.c
Normal file
111
contrib/dialog/prgbox.c
Normal file
@ -0,0 +1,111 @@
|
||||
/*
|
||||
* $Id: prgbox.c,v 1.6 2011/03/02 09:59:26 tom Exp $
|
||||
*
|
||||
* prgbox.c -- implements the prg box
|
||||
*
|
||||
* Copyright 2011 Thomas E. Dickey
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License as
|
||||
* published by the Free Software Foundation; either version 2.1 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful, but
|
||||
* WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this program; if not, write to
|
||||
* Free Software Foundation, Inc.
|
||||
* 51 Franklin St., Fifth Floor
|
||||
* Boston, MA 02110, USA.
|
||||
*/
|
||||
|
||||
#include <dialog.h>
|
||||
|
||||
/*
|
||||
* Open a pipe which ties stderr and stdout together.
|
||||
*/
|
||||
static FILE *
|
||||
dlg_popen(const char *command, const char *type)
|
||||
{
|
||||
FILE *result = 0;
|
||||
int fd[2];
|
||||
int pid;
|
||||
char *blob;
|
||||
char **argv;
|
||||
|
||||
if ((*type == 'r' || *type != 'w') && pipe(fd) == 0) {
|
||||
switch (pid = fork()) {
|
||||
case -1: /* Error. */
|
||||
(void) close(fd[0]);
|
||||
(void) close(fd[1]);
|
||||
break;
|
||||
case 0: /* child. */
|
||||
if (*type == 'r') {
|
||||
if (fd[1] != STDOUT_FILENO) {
|
||||
(void) dup2(fd[1], STDOUT_FILENO);
|
||||
(void) close(fd[1]);
|
||||
}
|
||||
(void) dup2(STDOUT_FILENO, STDERR_FILENO);
|
||||
(void) close(fd[0]);
|
||||
} else {
|
||||
if (fd[0] != STDIN_FILENO) {
|
||||
(void) dup2(fd[0], STDIN_FILENO);
|
||||
(void) close(fd[0]);
|
||||
}
|
||||
(void) close(fd[1]);
|
||||
(void) close(STDERR_FILENO);
|
||||
}
|
||||
/*
|
||||
* Bourne shell needs "-c" option to force it to use only the
|
||||
* given command. Also, it needs the command to be parsed into
|
||||
* tokens.
|
||||
*/
|
||||
if ((blob = malloc(4 + strlen(command))) != 0) {
|
||||
sprintf(blob, "-c %s", command);
|
||||
argv = dlg_string_to_argv(blob);
|
||||
execvp("sh", argv);
|
||||
}
|
||||
_exit(127);
|
||||
/* NOTREACHED */
|
||||
default: /* parent */
|
||||
if (*type == 'r') {
|
||||
result = fdopen(fd[0], type);
|
||||
(void) close(fd[1]);
|
||||
} else {
|
||||
result = fdopen(fd[1], type);
|
||||
(void) close(fd[0]);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
/*
|
||||
* Display text from a pipe in a scrolling window.
|
||||
*/
|
||||
int
|
||||
dialog_prgbox(const char *title,
|
||||
const char *cprompt,
|
||||
const char *command,
|
||||
int height,
|
||||
int width,
|
||||
int pauseopt)
|
||||
{
|
||||
int code;
|
||||
FILE *fp;
|
||||
|
||||
fp = dlg_popen(command, "r");
|
||||
if (fp == NULL)
|
||||
dlg_exiterr("pipe open failed: %s", command);
|
||||
|
||||
code = dlg_progressbox(title, cprompt, height, width, pauseopt, fp);
|
||||
|
||||
pclose(fp);
|
||||
|
||||
return code;
|
||||
}
|
@ -1,9 +1,10 @@
|
||||
/*
|
||||
* $Id: progressbox.c,v 1.8 2010/01/12 10:46:24 tom Exp $
|
||||
* $Id: progressbox.c,v 1.11 2011/03/02 01:10:08 tom Exp $
|
||||
*
|
||||
* progressbox.c -- implements the progress box
|
||||
*
|
||||
* Copyright 2005 Valery Reznic
|
||||
* Copyright 2006-2011 Thomas E. Dickey
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License as
|
||||
@ -103,18 +104,77 @@ print_line(MY_OBJ * obj, WINDOW *win, int row, int width)
|
||||
(void) waddch(win, ' ');
|
||||
}
|
||||
|
||||
/*
|
||||
* Display text from a stdin in a scrolling window.
|
||||
*/
|
||||
static int
|
||||
pause_for_ok(WINDOW *dialog, int height, int width)
|
||||
{
|
||||
/* *INDENT-OFF* */
|
||||
static DLG_KEYS_BINDING binding[] = {
|
||||
ENTERKEY_BINDINGS,
|
||||
DLG_KEYS_DATA( DLGK_ENTER, ' ' ),
|
||||
END_KEYS_BINDING
|
||||
};
|
||||
/* *INDENT-ON* */
|
||||
|
||||
int button = 0;
|
||||
int key = 0, fkey;
|
||||
int result = DLG_EXIT_UNKNOWN;
|
||||
const char **buttons = dlg_ok_label();
|
||||
int check;
|
||||
|
||||
dlg_register_window(dialog, "progressbox", binding);
|
||||
dlg_register_buttons(dialog, "progressbox", buttons);
|
||||
|
||||
dlg_draw_bottom_box(dialog);
|
||||
mouse_mkbutton(height - 2, width / 2 - 4, 6, '\n');
|
||||
dlg_draw_buttons(dialog, height - 2, 0, buttons, button, FALSE, width);
|
||||
|
||||
while (result == DLG_EXIT_UNKNOWN) {
|
||||
key = dlg_mouse_wgetch(dialog, &fkey);
|
||||
if (dlg_result_key(key, fkey, &result))
|
||||
break;
|
||||
|
||||
if (!fkey && (check = dlg_char_to_button(key, buttons)) >= 0) {
|
||||
result = check ? DLG_EXIT_HELP : DLG_EXIT_OK;
|
||||
break;
|
||||
}
|
||||
|
||||
if (fkey) {
|
||||
switch (key) {
|
||||
case DLGK_ENTER:
|
||||
result = button ? DLG_EXIT_HELP : DLG_EXIT_OK;
|
||||
break;
|
||||
case DLGK_MOUSE(0):
|
||||
result = DLG_EXIT_OK;
|
||||
break;
|
||||
case DLGK_MOUSE(1):
|
||||
result = DLG_EXIT_HELP;
|
||||
break;
|
||||
default:
|
||||
beep();
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
beep();
|
||||
}
|
||||
}
|
||||
dlg_unregister_window(dialog);
|
||||
return result;
|
||||
}
|
||||
|
||||
int
|
||||
dialog_progressbox(const char *title, const char *cprompt, int height, int width)
|
||||
dlg_progressbox(const char *title,
|
||||
const char *cprompt,
|
||||
int height,
|
||||
int width,
|
||||
int pauseopt,
|
||||
FILE *fp)
|
||||
{
|
||||
int i;
|
||||
int x, y, thigh;
|
||||
WINDOW *dialog, *text;
|
||||
MY_OBJ *obj;
|
||||
FILE *fd = dialog_state.pipe_input;
|
||||
char *prompt = dlg_strclone(cprompt);
|
||||
int result;
|
||||
|
||||
dlg_tab_correct_str(prompt);
|
||||
dlg_auto_size(title, prompt, &height, &width, MIN_HIGH, MIN_WIDE);
|
||||
@ -157,9 +217,9 @@ dialog_progressbox(const char *title, const char *cprompt, int height, int width
|
||||
(void) wnoutrefresh(dialog);
|
||||
|
||||
obj = dlg_calloc(MY_OBJ, 1);
|
||||
assert_ptr(obj, "dialog_progressbox");
|
||||
assert_ptr(obj, "dlg_progressbox");
|
||||
|
||||
obj->obj.input = fd;
|
||||
obj->obj.input = fp;
|
||||
obj->obj.win = dialog;
|
||||
obj->text = text;
|
||||
|
||||
@ -173,15 +233,41 @@ dialog_progressbox(const char *title, const char *cprompt, int height, int width
|
||||
scrollok(text, FALSE);
|
||||
print_line(obj, text, thigh - 1, width - (2 * MARGIN));
|
||||
}
|
||||
(void) wnoutrefresh(text);
|
||||
(void) wrefresh(text);
|
||||
if (obj->is_eof)
|
||||
break;
|
||||
}
|
||||
dlg_unregister_window(text);
|
||||
|
||||
if (pauseopt) {
|
||||
scrollok(text, TRUE);
|
||||
wscrl(text, 1 + MARGIN);
|
||||
(void) wrefresh(text);
|
||||
result = pause_for_ok(dialog, height, width);
|
||||
} else {
|
||||
wrefresh(dialog);
|
||||
result = DLG_EXIT_OK;
|
||||
}
|
||||
|
||||
dlg_del_window(dialog);
|
||||
free(prompt);
|
||||
free(obj);
|
||||
|
||||
return DLG_EXIT_OK;
|
||||
}
|
||||
|
||||
/*
|
||||
* Display text from a stdin in a scrolling window.
|
||||
*/
|
||||
int
|
||||
dialog_progressbox(const char *title, const char *cprompt, int height, int width)
|
||||
{
|
||||
int result;
|
||||
result = dlg_progressbox(title,
|
||||
cprompt,
|
||||
height,
|
||||
width,
|
||||
FALSE,
|
||||
dialog_state.pipe_input);
|
||||
dialog_state.pipe_input = 0;
|
||||
return result;
|
||||
}
|
||||
|
59
contrib/dialog/rename.sh
Executable file
59
contrib/dialog/rename.sh
Executable file
@ -0,0 +1,59 @@
|
||||
#! /bin/sh
|
||||
# $Id: rename.sh,v 1.3 2011/01/06 10:51:02 tom Exp $
|
||||
##############################################################################
|
||||
# Copyright (c) 2011 Thomas E. Dickey #
|
||||
# #
|
||||
# Permission is hereby granted, free of charge, to any person obtaining a #
|
||||
# copy of this software and associated documentation files (the "Software"), #
|
||||
# to deal in the Software without restriction, including without limitation #
|
||||
# the rights to use, copy, modify, merge, publish, distribute, distribute #
|
||||
# with modifications, sublicense, and/or sell copies of the Software, and to #
|
||||
# permit persons to whom the Software is furnished to do so, subject to the #
|
||||
# following conditions: #
|
||||
# #
|
||||
# The above copyright notice and this permission notice shall be included in #
|
||||
# all copies or substantial portions of the Software. #
|
||||
# #
|
||||
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR #
|
||||
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, #
|
||||
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL #
|
||||
# THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER #
|
||||
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING #
|
||||
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER #
|
||||
# DEALINGS IN THE SOFTWARE. #
|
||||
# #
|
||||
# Except as contained in this notice, the name(s) of the above copyright #
|
||||
# holders shall not be used in advertising or otherwise to promote the sale, #
|
||||
# use or other dealings in this Software without prior written #
|
||||
# authorization. #
|
||||
##############################################################################
|
||||
# install-helper for dialog's manpages, e.g., as "cdialog".
|
||||
#
|
||||
# $1 = input file
|
||||
# $2 = output file
|
||||
# $3 = actual program name that dialog is installed as
|
||||
# $4 = actual name that header/library are installed as
|
||||
# $5+ = install program and possible options
|
||||
|
||||
LANG=C; export LANG
|
||||
LC_ALL=C; export LC_ALL
|
||||
LC_CTYPE=C; export LC_CTYPE
|
||||
LANGUAGE=C; export LANGUAGE
|
||||
|
||||
SOURCE=$1; shift
|
||||
TARGET=$1; shift
|
||||
BINARY=$1; shift
|
||||
PACKAGE=$1; shift
|
||||
|
||||
CHR_LEAD=`echo "$BINARY" | sed -e 's/^\(.\).*/\1/'`
|
||||
CHR_TAIL=`echo "$BINARY" | sed -e 's/^.//'`
|
||||
ONE_CAPS=`echo $CHR_LEAD | tr '[a-z]' '[A-Z]'`$CHR_TAIL
|
||||
ALL_CAPS=`echo "$BINARY" | tr '[a-z]' '[A-Z]'`
|
||||
|
||||
sed -e "s,^\.ds p dialog\>,.ds p $BINARY," \
|
||||
-e "s,^\.ds l dialog\>,.ds l $PACKAGE," \
|
||||
-e "s,^\.ds L Dialog\>,.ds L $ONE_CAPS," \
|
||||
-e "s,^\.ds D DIALOG\>,.ds D $ALL_CAPS," \
|
||||
<$SOURCE >source.tmp
|
||||
"$@" source.tmp $TARGET
|
||||
rm -f source.tmp
|
@ -1,6 +1,14 @@
|
||||
# $Id: debian.rc,v 1.4 2005/12/01 01:18:57 tom Exp $
|
||||
# $Id: debian.rc,v 1.5 2011/01/17 00:14:53 tom Exp $
|
||||
# vile:confmode
|
||||
# Run-time configuration file for dialog, matches Debian color scheme.
|
||||
# (these are the default values for dialog)
|
||||
#
|
||||
# Types of values:
|
||||
#
|
||||
# Number - <number>
|
||||
# String - "string"
|
||||
# Boolean - <ON|OFF>
|
||||
# Attribute - (foreground,background,highlight?)
|
||||
|
||||
# Set aspect-ration.
|
||||
aspect = 0
|
||||
@ -115,3 +123,9 @@ form_active_text_color = (WHITE,BLUE,ON)
|
||||
|
||||
# Form text color
|
||||
form_text_color = (WHITE,CYAN,ON)
|
||||
|
||||
# Readonly form item color
|
||||
form_item_readonly_color = (CYAN,WHITE,ON)
|
||||
|
||||
# Dialog box gauge color
|
||||
gauge_color = (BLUE,WHITE,ON)
|
||||
|
@ -1,5 +1,5 @@
|
||||
#! /bin/sh
|
||||
# $Id: infobox5,v 1.6 2010/01/13 10:20:03 tom Exp $
|
||||
# $Id: infobox5,v 1.7 2011/01/18 09:19:09 tom Exp $
|
||||
# get rid of all flickering by constructing a script unroll the loop, leaving
|
||||
# us in curses-mode until we're done counting.
|
||||
|
||||
@ -21,7 +21,7 @@ do
|
||||
cat >>$tempfile <<EOF
|
||||
--sleep 1 \
|
||||
--begin 0 5 \
|
||||
--title "INFO BOX" "$@" \
|
||||
--title "INFO BOX" $* \
|
||||
--infobox "Hi, this is an information box. It is
|
||||
different from a message box: it will
|
||||
not pause waiting for input after displaying
|
||||
|
@ -1,5 +1,5 @@
|
||||
#! /bin/sh
|
||||
# $Id: infobox6,v 1.6 2010/01/13 10:20:03 tom Exp $
|
||||
# $Id: infobox6,v 1.7 2011/01/18 09:20:59 tom Exp $
|
||||
# get rid of all flickering by constructing a script unroll the loop, leaving
|
||||
# us in curses-mode until we're done counting.
|
||||
#
|
||||
@ -23,7 +23,7 @@ do
|
||||
cat >>$tempfile <<EOF
|
||||
--sleep 1 \
|
||||
--begin $left `expr $left + 5` \
|
||||
--title "INFO BOX" $last "$@" \
|
||||
--title "INFO BOX" $* $last
|
||||
--infobox "Hi, this is an information box. It is
|
||||
different from a message box: it will
|
||||
not pause waiting for input after displaying
|
||||
|
14
contrib/dialog/samples/msgbox-utf8
Executable file
14
contrib/dialog/samples/msgbox-utf8
Executable file
@ -0,0 +1,14 @@
|
||||
#!/bin/sh
|
||||
# $Id: msgbox-utf8,v 1.1 2011/01/18 00:25:30 tom Exp $
|
||||
# from Debian #570634
|
||||
|
||||
. ./setup-vars
|
||||
|
||||
. ./setup-utf8
|
||||
|
||||
${DIALOG-dialog} "$@" \
|
||||
--title "ทดสอบวรรณยุกต์" \
|
||||
--msgbox "วรรณยุกต์อยู่ท้ายบรรทัดได้หรือไม่" 8 23
|
||||
retval=$?
|
||||
|
||||
. ./report-button
|
14
contrib/dialog/samples/pause-both
Executable file
14
contrib/dialog/samples/pause-both
Executable file
@ -0,0 +1,14 @@
|
||||
#!/bin/sh
|
||||
# $Id: pause-both,v 1.1 2011/01/18 09:49:24 tom Exp $
|
||||
|
||||
. ./setup-vars
|
||||
|
||||
$DIALOG --title "PAUSE" \
|
||||
--help-button \
|
||||
--extra-button "$@" \
|
||||
--pause "Hi, this is a pause widget" 20 70 10
|
||||
|
||||
retval=$?
|
||||
echo return $retval
|
||||
|
||||
. ./report-button
|
13
contrib/dialog/samples/pause-extra
Executable file
13
contrib/dialog/samples/pause-extra
Executable file
@ -0,0 +1,13 @@
|
||||
#!/bin/sh
|
||||
# $Id: pause-extra,v 1.1 2011/01/18 09:49:07 tom Exp $
|
||||
|
||||
. ./setup-vars
|
||||
|
||||
$DIALOG --title "PAUSE" \
|
||||
--extra-button "$@" \
|
||||
--pause "Hi, this is a pause widget" 20 70 10
|
||||
|
||||
retval=$?
|
||||
echo return $retval
|
||||
|
||||
. ./report-button
|
6
contrib/dialog/samples/prgbox
Executable file
6
contrib/dialog/samples/prgbox
Executable file
@ -0,0 +1,6 @@
|
||||
#!/bin/sh
|
||||
# $Id: prgbox,v 1.1 2011/03/02 00:10:54 tom Exp $
|
||||
|
||||
. ./setup-vars
|
||||
|
||||
$DIALOG --title "PRGBOX" "$@" --prgbox "./shortlist" 20 70
|
6
contrib/dialog/samples/prgbox2
Executable file
6
contrib/dialog/samples/prgbox2
Executable file
@ -0,0 +1,6 @@
|
||||
#!/bin/sh
|
||||
# $Id: prgbox2,v 1.1 2011/03/02 01:25:54 tom Exp $
|
||||
|
||||
. ./setup-vars
|
||||
|
||||
$DIALOG --title "PRGBOX" "$@" --prgbox "./shortlist 3" 20 70
|
19
contrib/dialog/samples/programbox
Executable file
19
contrib/dialog/samples/programbox
Executable file
@ -0,0 +1,19 @@
|
||||
#!/bin/sh
|
||||
# $Id: programbox,v 1.1 2011/03/02 01:17:28 tom Exp $
|
||||
|
||||
. ./setup-vars
|
||||
|
||||
. ./setup-tempfile
|
||||
|
||||
ls -1 >$tempfile
|
||||
(
|
||||
while true
|
||||
do
|
||||
read text
|
||||
test -z "$text" && break
|
||||
ls -ld "$text"
|
||||
sleep 0.1
|
||||
done <$tempfile
|
||||
) |
|
||||
|
||||
$DIALOG --title "PROGRAMBOX" "$@" --programbox 20 70
|
19
contrib/dialog/samples/programbox2
Executable file
19
contrib/dialog/samples/programbox2
Executable file
@ -0,0 +1,19 @@
|
||||
#!/bin/sh
|
||||
# $Id: programbox2,v 1.1 2011/03/02 01:25:31 tom Exp $
|
||||
|
||||
. ./setup-vars
|
||||
|
||||
. ./setup-tempfile
|
||||
|
||||
ls -1 >$tempfile
|
||||
(
|
||||
while true
|
||||
do
|
||||
read text
|
||||
test -z "$text" && break
|
||||
ls -ld "$text"
|
||||
sleep 0.1
|
||||
done <$tempfile
|
||||
) |
|
||||
|
||||
$DIALOG --title "PROGRAMBOX" "$@" --programbox "ProgramBox" 20 70
|
@ -1,6 +1,10 @@
|
||||
# $Id: setup-vars,v 1.1 2010/01/13 00:16:38 tom Exp $
|
||||
# $Id: setup-vars,v 1.2 2011/01/04 00:21:43 tom Exp $
|
||||
# vile:shmode
|
||||
|
||||
# These symbols are defined to use in the sample shell scripts to make them
|
||||
# more readable. But they are (intentionally) not exported. If they were
|
||||
# exported, they would also be visible in the dialog program (a subprocess).
|
||||
|
||||
: ${DIALOG=dialog}
|
||||
|
||||
: ${DIALOG_OK=0}
|
||||
|
19
contrib/dialog/samples/shortlist
Executable file
19
contrib/dialog/samples/shortlist
Executable file
@ -0,0 +1,19 @@
|
||||
#!/bin/sh
|
||||
# $Id: shortlist,v 1.2 2011/03/02 00:11:50 tom Exp $
|
||||
# make a short listing, which writes to both stdout and stderr.
|
||||
|
||||
if test $# != 0
|
||||
then
|
||||
count=$1
|
||||
else
|
||||
count=10
|
||||
fi
|
||||
|
||||
while test $count != 0
|
||||
do
|
||||
echo "** $count -- `date`"
|
||||
w >&2
|
||||
sleep 1
|
||||
count=`expr $count - 1 2>/dev/null`
|
||||
test -z "$count" && count=0
|
||||
done
|
@ -1,4 +1,5 @@
|
||||
# $Id: slackware.rc,v 1.6 2005/12/01 01:20:16 tom Exp $
|
||||
# $Id: slackware.rc,v 1.7 2011/01/17 00:14:41 tom Exp $
|
||||
# vile:confmode
|
||||
# Run-time configuration file for dialog, matches Slackware color scheme.
|
||||
#
|
||||
# Types of values:
|
||||
@ -122,3 +123,9 @@ form_active_text_color = (BLUE,WHITE,OFF)
|
||||
|
||||
# Form text color
|
||||
form_text_color = (CYAN,BLUE,ON)
|
||||
|
||||
# Readonly form item color
|
||||
form_item_readonly_color = (CYAN,WHITE,ON)
|
||||
|
||||
# Dialog box gauge color
|
||||
gauge_color = (BLUE,WHITE,ON)
|
||||
|
@ -1,4 +1,5 @@
|
||||
# $Id: sourcemage.rc,v 1.3 2005/12/01 01:20:45 tom Exp $
|
||||
# $Id: sourcemage.rc,v 1.4 2011/01/17 00:14:25 tom Exp $
|
||||
# vile:confmode
|
||||
# Run-time configuration file for dialog, matches SourceMage color scheme.
|
||||
#
|
||||
# Types of values:
|
||||
@ -121,3 +122,9 @@ form_active_text_color = (BLACK,WHITE,OFF)
|
||||
|
||||
# Form text color
|
||||
form_text_color = (RED,BLACK,ON)
|
||||
|
||||
# Readonly form item color
|
||||
form_item_readonly_color = (CYAN,WHITE,ON)
|
||||
|
||||
# Dialog box gauge color
|
||||
gauge_color = (BLUE,WHITE,ON)
|
||||
|
@ -1,4 +1,5 @@
|
||||
# $Id: suse.rc,v 1.2 2007/02/25 17:49:12 tom Exp $
|
||||
# $Id: suse.rc,v 1.3 2011/01/17 00:15:27 tom Exp $
|
||||
# vile:confmode
|
||||
# Run-time configuration file for dialog, matches SuSE color scheme.
|
||||
#
|
||||
# Types of values:
|
||||
@ -124,3 +125,6 @@ form_text_color = (WHITE,CYAN,ON)
|
||||
|
||||
# Readonly form item color
|
||||
form_item_readonly_color = (CYAN,WHITE,ON)
|
||||
|
||||
# Dialog box gauge color
|
||||
gauge_color = (BLUE,WHITE,ON)
|
||||
|
21
contrib/dialog/samples/textbox-both
Executable file
21
contrib/dialog/samples/textbox-both
Executable file
@ -0,0 +1,21 @@
|
||||
#!/bin/sh
|
||||
# $Id: textbox-both,v 1.1 2011/01/18 09:59:47 tom Exp $
|
||||
|
||||
. ./setup-vars
|
||||
|
||||
. ./setup-tempfile
|
||||
|
||||
TEXT=/usr/share/common-licenses/GPL
|
||||
test -f $TEXT || TEXT=../COPYING
|
||||
|
||||
cat textbox.txt | expand > $tempfile
|
||||
cat $TEXT | expand >> $tempfile
|
||||
|
||||
$DIALOG --clear --title "TEXT BOX" \
|
||||
--help-button \
|
||||
--extra-button "$@" \
|
||||
--textbox "$tempfile" 22 77
|
||||
|
||||
retval=$?
|
||||
|
||||
. ./report-button
|
20
contrib/dialog/samples/textbox-help
Executable file
20
contrib/dialog/samples/textbox-help
Executable file
@ -0,0 +1,20 @@
|
||||
#!/bin/sh
|
||||
# $Id: textbox-help,v 1.1 2011/01/18 09:59:20 tom Exp $
|
||||
|
||||
. ./setup-vars
|
||||
|
||||
. ./setup-tempfile
|
||||
|
||||
TEXT=/usr/share/common-licenses/GPL
|
||||
test -f $TEXT || TEXT=../COPYING
|
||||
|
||||
cat textbox.txt | expand > $tempfile
|
||||
cat $TEXT | expand >> $tempfile
|
||||
|
||||
$DIALOG --clear --title "TEXT BOX" \
|
||||
--help-button "$@" \
|
||||
--textbox "$tempfile" 22 77
|
||||
|
||||
retval=$?
|
||||
|
||||
. ./report-button
|
@ -1,5 +1,13 @@
|
||||
# $Id: whiptail.rc,v 1.2 2005/12/01 01:21:31 tom Exp $
|
||||
# $Id: whiptail.rc,v 1.3 2011/01/17 00:15:54 tom Exp $
|
||||
# vile:confmode
|
||||
# Run-time configuration file for dialog, matches whiptail's color scheme.
|
||||
#
|
||||
# Types of values:
|
||||
#
|
||||
# Number - <number>
|
||||
# String - "string"
|
||||
# Boolean - <ON|OFF>
|
||||
# Attribute - (foreground,background,highlight?)
|
||||
|
||||
# Set aspect-ration.
|
||||
aspect = 0
|
||||
@ -114,3 +122,9 @@ form_active_text_color = (WHITE,BLUE,ON)
|
||||
|
||||
# Form text color
|
||||
form_text_color = (WHITE,CYAN,ON)
|
||||
|
||||
# Readonly form item color
|
||||
form_item_readonly_color = (CYAN,WHITE,ON)
|
||||
|
||||
# Dialog box gauge color
|
||||
gauge_color = (BLUE,WHITE,ON)
|
||||
|
@ -1,9 +1,9 @@
|
||||
/*
|
||||
* $Id: tailbox.c,v 1.56 2010/04/28 20:52:20 tom Exp $
|
||||
* $Id: tailbox.c,v 1.61 2011/01/16 21:48:16 tom Exp $
|
||||
*
|
||||
* tailbox.c -- implements the tail box
|
||||
*
|
||||
* Copyright 2000-2009,2010 Thomas E. Dickey
|
||||
* Copyright 2000-2010,2011 Thomas E. Dickey
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License, version 2.1
|
||||
@ -26,6 +26,7 @@
|
||||
|
||||
#include <dialog.h>
|
||||
#include <dlg_keys.h>
|
||||
#include <sys/stat.h>
|
||||
|
||||
typedef struct {
|
||||
DIALOG_CALLBACK obj;
|
||||
@ -34,6 +35,7 @@ typedef struct {
|
||||
int hscroll;
|
||||
int old_hscroll;
|
||||
char line[MAX_LEN + 1];
|
||||
off_t last_pos;
|
||||
} MY_OBJ;
|
||||
|
||||
/*
|
||||
@ -106,14 +108,15 @@ static void
|
||||
last_lines(MY_OBJ * obj, int target)
|
||||
{
|
||||
FILE *fp = obj->obj.input;
|
||||
long inx;
|
||||
size_t inx;
|
||||
int count = 0;
|
||||
char buf[BUFSIZ + 1];
|
||||
long size_to_read;
|
||||
size_t size_to_read;
|
||||
size_t size_as_read;
|
||||
long offset = 0;
|
||||
long fpos = 0;
|
||||
|
||||
if (fseek(fp, 0, SEEK_END) == -1
|
||||
if (fseek(fp, 0L, SEEK_END) == -1
|
||||
|| (fpos = ftell(fp)) < 0)
|
||||
dlg_exiterr("Error moving file pointer in last_lines().");
|
||||
|
||||
@ -123,21 +126,27 @@ last_lines(MY_OBJ * obj, int target)
|
||||
if (fpos >= BUFSIZ) {
|
||||
size_to_read = BUFSIZ;
|
||||
} else {
|
||||
size_to_read = fpos;
|
||||
size_to_read = (size_t) fpos;
|
||||
}
|
||||
fpos = fpos - size_to_read;
|
||||
fpos = fpos - (long) size_to_read;
|
||||
if (fseek(fp, fpos, SEEK_SET) == -1)
|
||||
dlg_exiterr("Error moving file pointer in last_lines().");
|
||||
(void) fread(buf, (size_t) size_to_read, 1, fp);
|
||||
size_as_read = fread(buf, sizeof(char), size_to_read, fp);
|
||||
if (ferror(fp))
|
||||
dlg_exiterr("Error reading file in last_lines().");
|
||||
|
||||
offset += size_to_read;
|
||||
for (inx = size_to_read - 1; inx >= 0; --inx) {
|
||||
if (size_as_read == 0) {
|
||||
fpos = 0;
|
||||
offset = 0;
|
||||
break;
|
||||
}
|
||||
|
||||
offset += (long) size_as_read;
|
||||
for (inx = size_as_read - 1; inx != 0; --inx) {
|
||||
if (buf[inx] == '\n') {
|
||||
if (++count > target)
|
||||
break;
|
||||
offset = inx + 1;
|
||||
offset = (long) (inx + 1);
|
||||
}
|
||||
}
|
||||
|
||||
@ -181,15 +190,34 @@ print_last_page(MY_OBJ * obj)
|
||||
static void
|
||||
repaint_text(MY_OBJ * obj)
|
||||
{
|
||||
FILE *fp = obj->obj.input;
|
||||
int cur_y, cur_x;
|
||||
|
||||
getyx(obj->obj.win, cur_y, cur_x);
|
||||
obj->old_hscroll = obj->hscroll;
|
||||
|
||||
print_last_page(obj);
|
||||
obj->last_pos = ftell(fp);
|
||||
|
||||
(void) wmove(obj->obj.win, cur_y, cur_x); /* Restore cursor position */
|
||||
wrefresh(obj->obj.win);
|
||||
}
|
||||
|
||||
static bool
|
||||
handle_input(DIALOG_CALLBACK * cb)
|
||||
{
|
||||
MY_OBJ *obj = (MY_OBJ *) cb;
|
||||
FILE *fp = obj->obj.input;
|
||||
struct stat sb;
|
||||
|
||||
if (fstat(fileno(fp), &sb) == 0
|
||||
&& sb.st_size != obj->last_pos) {
|
||||
repaint_text(obj);
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static bool
|
||||
handle_my_getc(DIALOG_CALLBACK * cb, int ch, int fkey, int *result)
|
||||
{
|
||||
@ -231,8 +259,8 @@ handle_my_getc(DIALOG_CALLBACK * cb, int ch, int fkey, int *result)
|
||||
clearerr(cb->input);
|
||||
ch = getc(cb->input);
|
||||
(void) ungetc(ch, cb->input);
|
||||
if ((ch != EOF) || (obj->hscroll != obj->old_hscroll)) {
|
||||
repaint_text(obj);
|
||||
if (ch != EOF) {
|
||||
handle_input(cb);
|
||||
}
|
||||
break;
|
||||
case ESC:
|
||||
@ -327,6 +355,7 @@ dialog_tailbox(const char *title, const char *file, int height, int width, int b
|
||||
obj->obj.input = fd;
|
||||
obj->obj.win = dialog;
|
||||
obj->obj.handle_getc = handle_my_getc;
|
||||
obj->obj.handle_input = bg_task ? handle_input : 0;
|
||||
obj->obj.keep_bg = bg_task && dialog_vars.cant_kill;
|
||||
obj->obj.bg_task = bg_task;
|
||||
obj->text = text;
|
||||
|
@ -1,9 +1,9 @@
|
||||
/*
|
||||
* $Id: textbox.c,v 1.97 2010/04/28 21:03:44 tom Exp $
|
||||
* $Id: textbox.c,v 1.99 2011/01/16 22:20:34 tom Exp $
|
||||
*
|
||||
* textbox.c -- implements the text box
|
||||
*
|
||||
* Copyright 2000-2009,2010 Thomas E. Dickey
|
||||
* Copyright 2000-2010,2011 Thomas E. Dickey
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License, version 2.1
|
||||
@ -72,7 +72,7 @@ lseek_obj(MY_OBJ * obj, long offset, int mode)
|
||||
static long
|
||||
ftell_obj(MY_OBJ * obj)
|
||||
{
|
||||
return lseek_obj(obj, 0, SEEK_CUR);
|
||||
return lseek_obj(obj, 0L, SEEK_CUR);
|
||||
}
|
||||
|
||||
static char *
|
||||
@ -309,7 +309,7 @@ back_lines(MY_OBJ * obj, long n)
|
||||
/* Really possible to move backward BUF_SIZE/2 bytes? */
|
||||
if (fpos < BUF_SIZE / 2 + obj->fd_bytes_read) {
|
||||
/* No, move less than */
|
||||
lseek_obj(obj, 0, SEEK_SET);
|
||||
lseek_obj(obj, 0L, SEEK_SET);
|
||||
val_to_tabize = fpos - obj->fd_bytes_read;
|
||||
} else { /* Move backward BUF_SIZE/2 bytes */
|
||||
lseek_obj(obj, -(BUF_SIZE / 2 + obj->fd_bytes_read), SEEK_CUR);
|
||||
@ -340,7 +340,7 @@ back_lines(MY_OBJ * obj, long n)
|
||||
/* Really possible to move backward BUF_SIZE/2 bytes? */
|
||||
if (fpos < BUF_SIZE / 2 + obj->fd_bytes_read) {
|
||||
/* No, move less than */
|
||||
lseek_obj(obj, 0, SEEK_SET);
|
||||
lseek_obj(obj, 0L, SEEK_SET);
|
||||
val_to_tabize = fpos - obj->fd_bytes_read;
|
||||
} else { /* Move backward BUF_SIZE/2 bytes */
|
||||
lseek_obj(obj, -(BUF_SIZE / 2 + obj->fd_bytes_read), SEEK_CUR);
|
||||
@ -465,7 +465,7 @@ get_search_term(WINDOW *dialog, char *input, int height, int width)
|
||||
int fkey = 0;
|
||||
bool first = TRUE;
|
||||
int result = DLG_EXIT_UNKNOWN;
|
||||
char *caption = _("Search");
|
||||
const char *caption = _("Search");
|
||||
int len_caption = dlg_count_columns(caption);
|
||||
const int *indx;
|
||||
int limit;
|
||||
@ -590,7 +590,7 @@ perform_search(MY_OBJ * obj, int height, int width, int key, char *search_term)
|
||||
while ((found = match_string(obj, search_term)) == FALSE) {
|
||||
if (obj->begin_reached)
|
||||
break;
|
||||
back_lines(obj, 2);
|
||||
back_lines(obj, 2L);
|
||||
}
|
||||
}
|
||||
if (found == FALSE) { /* not found */
|
||||
@ -609,7 +609,7 @@ perform_search(MY_OBJ * obj, int height, int width, int key, char *search_term)
|
||||
*/
|
||||
back_lines(obj, obj->page_length);
|
||||
} else { /* Search term found */
|
||||
back_lines(obj, 1);
|
||||
back_lines(obj, 1L);
|
||||
}
|
||||
/* Reprint page */
|
||||
wattrset(obj->text, dialog_attr);
|
||||
@ -691,10 +691,10 @@ dialog_textbox(const char *title, const char *file, int height, int width)
|
||||
|
||||
/* Get file size. Actually, 'file_size' is the real file size - 1,
|
||||
since it's only the last byte offset from the beginning */
|
||||
obj.file_size = lseek_obj(&obj, 0, SEEK_END);
|
||||
obj.file_size = lseek_obj(&obj, 0L, SEEK_END);
|
||||
|
||||
/* Restore file pointer to beginning of file after getting file size */
|
||||
lseek_obj(&obj, 0, SEEK_SET);
|
||||
lseek_obj(&obj, 0L, SEEK_SET);
|
||||
|
||||
read_high(&obj, BUF_SIZE);
|
||||
|
||||
@ -829,7 +829,7 @@ dialog_textbox(const char *title, const char *file, int height, int width)
|
||||
|
||||
if (fpos > obj.fd_bytes_read) {
|
||||
/* Yes, we have to read it in */
|
||||
lseek_obj(&obj, 0, SEEK_SET);
|
||||
lseek_obj(&obj, 0L, SEEK_SET);
|
||||
|
||||
read_high(&obj, BUF_SIZE);
|
||||
}
|
||||
@ -849,7 +849,7 @@ dialog_textbox(const char *title, const char *file, int height, int width)
|
||||
read_high(&obj, BUF_SIZE);
|
||||
}
|
||||
obj.in_buf = obj.bytes_read;
|
||||
back_lines(&obj, PAGE_LENGTH);
|
||||
back_lines(&obj, (long) PAGE_LENGTH);
|
||||
moved = TRUE;
|
||||
break;
|
||||
case DLGK_GRID_UP: /* Previous line */
|
||||
|
@ -1,9 +1,9 @@
|
||||
/*
|
||||
* $Id: timebox.c,v 1.41 2010/01/18 10:33:42 tom Exp $
|
||||
* $Id: timebox.c,v 1.43 2011/01/18 01:07:45 Garrett.Cooper Exp $
|
||||
*
|
||||
* timebox.c -- implements the timebox dialog
|
||||
*
|
||||
* Copyright 2001-2009,2010 Thomas E. Dickey
|
||||
* Copyright 2001-2010,2011 Thomas E. Dickey
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License, version 2.1
|
||||
@ -97,6 +97,8 @@ init_object(BOX * data,
|
||||
int period, int value,
|
||||
int code)
|
||||
{
|
||||
(void) code;
|
||||
|
||||
data->parent = parent;
|
||||
data->x = x;
|
||||
data->y = y;
|
||||
@ -210,6 +212,11 @@ dialog_timebox(const char *title,
|
||||
dialog = dlg_new_window(height, width,
|
||||
dlg_box_y_ordinate(height),
|
||||
dlg_box_x_ordinate(width));
|
||||
|
||||
if (hour >= 24 || minute >= 60 || second >= 60) {
|
||||
return CleanupResult(DLG_EXIT_ERROR, dialog, prompt, &save_vars);
|
||||
}
|
||||
|
||||
dlg_register_window(dialog, "timebox", binding);
|
||||
dlg_register_buttons(dialog, "timebox", buttons);
|
||||
|
||||
|
@ -1,9 +1,9 @@
|
||||
/*
|
||||
* $Id: trace.c,v 1.11 2010/01/17 15:36:26 tom Exp $
|
||||
* $Id: trace.c,v 1.12 2011/01/13 01:36:34 tom Exp $
|
||||
*
|
||||
* trace.c -- implements screen-dump and keystroke-logging
|
||||
*
|
||||
* Copyright 2007-2008,2010 Thomas E. Dickey
|
||||
* Copyright 2007-2010,2011 Thomas E. Dickey
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License, version 2.1
|
||||
@ -29,6 +29,13 @@
|
||||
|
||||
#define myFP dialog_state.trace_output
|
||||
|
||||
static void
|
||||
dlg_trace_time(const char *tag)
|
||||
{
|
||||
time_t now = time((time_t *) 0);
|
||||
fprintf(myFP, "%s %s", tag, ctime(&now));
|
||||
}
|
||||
|
||||
void
|
||||
dlg_trace_msg(const char *fmt,...)
|
||||
{
|
||||
@ -115,6 +122,8 @@ dlg_trace_chr(int ch, int fkey)
|
||||
CASE(DLGK_TRACE);
|
||||
}
|
||||
}
|
||||
} else if (ch == ERR) {
|
||||
fkey_name = "ERR";
|
||||
} else {
|
||||
fkey_name = unctrl((chtype) ch);
|
||||
if (fkey_name == 0)
|
||||
@ -134,13 +143,11 @@ dlg_trace(const char *fname)
|
||||
if (myFP == 0) {
|
||||
myFP = fopen(fname, "a");
|
||||
if (myFP != 0) {
|
||||
time_t now = time((time_t *) 0);
|
||||
fprintf(myFP, "** opened at %s", ctime(&now));
|
||||
dlg_trace_time("** opened at");
|
||||
}
|
||||
}
|
||||
} else if (myFP != 0) {
|
||||
time_t now = time((time_t *) 0);
|
||||
fprintf(myFP, "** closed at %s", ctime(&now));
|
||||
dlg_trace_time("** closed at");
|
||||
fclose(myFP);
|
||||
myFP = 0;
|
||||
}
|
||||
|
@ -1,9 +1,9 @@
|
||||
/*
|
||||
* $Id: ui_getc.c,v 1.48 2010/01/18 10:24:06 tom Exp $
|
||||
* $Id: ui_getc.c,v 1.59 2011/02/28 10:56:15 tom Exp $
|
||||
*
|
||||
* ui_getc.c - user interface glue for getc()
|
||||
*
|
||||
* Copyright 2001-2009,2010 Thomas E. Dickey
|
||||
* Copyright 2001-2010,2011 Thomas E. Dickey
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License, version 2.1
|
||||
@ -119,24 +119,105 @@ dlg_remove_callback(DIALOG_CALLBACK * p)
|
||||
}
|
||||
|
||||
/*
|
||||
* FIXME: this could be replaced by a select/poll on several file descriptors
|
||||
* A select() might find more than one input ready for service. Handle them
|
||||
* all.
|
||||
*/
|
||||
static bool
|
||||
handle_inputs(WINDOW *win)
|
||||
{
|
||||
bool result = FALSE;
|
||||
DIALOG_CALLBACK *p;
|
||||
DIALOG_CALLBACK *q;
|
||||
int cur_y, cur_x;
|
||||
int state = ERR;
|
||||
|
||||
getyx(win, cur_y, cur_x);
|
||||
for (p = dialog_state.getc_callbacks, q = 0; p != 0; p = q) {
|
||||
q = p->next;
|
||||
if ((p->handle_input != 0) && p->input_ready) {
|
||||
p->input_ready = FALSE;
|
||||
if (state == ERR) {
|
||||
state = curs_set(0);
|
||||
}
|
||||
if (p->handle_input(p)) {
|
||||
result = TRUE;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (result) {
|
||||
(void) wmove(win, cur_y, cur_x); /* Restore cursor position */
|
||||
wrefresh(win);
|
||||
curs_set(state);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
static bool
|
||||
may_handle_inputs(void)
|
||||
{
|
||||
bool result = FALSE;
|
||||
|
||||
DIALOG_CALLBACK *p;
|
||||
|
||||
for (p = dialog_state.getc_callbacks; p != 0; p = p->next) {
|
||||
if (p->input != 0) {
|
||||
result = TRUE;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
/*
|
||||
* Check any any inputs registered via callbacks, to see if there is any input
|
||||
* available. If there is, return a file-descriptor which should be read.
|
||||
* Otherwise, return -1.
|
||||
*/
|
||||
static int
|
||||
dlg_getc_ready(DIALOG_CALLBACK * p)
|
||||
check_inputs(void)
|
||||
{
|
||||
DIALOG_CALLBACK *p;
|
||||
fd_set read_fds;
|
||||
int fd = fileno(p->input);
|
||||
struct timeval test;
|
||||
int last_fd = -1;
|
||||
int fd;
|
||||
int found;
|
||||
int result = -1;
|
||||
|
||||
if ((p = dialog_state.getc_callbacks) != 0) {
|
||||
FD_ZERO(&read_fds);
|
||||
FD_SET(fd, &read_fds);
|
||||
|
||||
test.tv_sec = 0; /* Seconds. */
|
||||
test.tv_usec = (isatty(fd) /* Microseconds. */
|
||||
? (WTIMEOUT_VAL * 1000)
|
||||
: 1);
|
||||
return (select(fd + 1, &read_fds, (fd_set *) 0, (fd_set *) 0, &test) == 1)
|
||||
&& (FD_ISSET(fd, &read_fds));
|
||||
while (p != 0) {
|
||||
p->input_ready = FALSE;
|
||||
if (p->input != 0 && (fd = fileno(p->input)) >= 0) {
|
||||
FD_SET(fd, &read_fds);
|
||||
if (last_fd < fd)
|
||||
last_fd = fd;
|
||||
}
|
||||
p = p->next;
|
||||
}
|
||||
|
||||
test.tv_sec = 0;
|
||||
test.tv_usec = WTIMEOUT_VAL * 1000;
|
||||
found = select(last_fd + 1, &read_fds,
|
||||
(fd_set *) 0,
|
||||
(fd_set *) 0,
|
||||
&test);
|
||||
|
||||
if (found > 0) {
|
||||
for (p = dialog_state.getc_callbacks; p != 0; p = p->next) {
|
||||
if (p->input != 0
|
||||
&& (fd = fileno(p->input)) >= 0
|
||||
&& FD_ISSET(fd, &read_fds)) {
|
||||
p->input_ready = TRUE;
|
||||
result = fd;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
int
|
||||
@ -146,14 +227,16 @@ dlg_getc_callbacks(int ch, int fkey, int *result)
|
||||
DIALOG_CALLBACK *p, *q;
|
||||
|
||||
if ((p = dialog_state.getc_callbacks) != 0) {
|
||||
if (check_inputs() >= 0) {
|
||||
do {
|
||||
q = p->next;
|
||||
if (dlg_getc_ready(p)) {
|
||||
if (p->input_ready) {
|
||||
if (!(p->handle_getc(p, ch, fkey, result))) {
|
||||
dlg_remove_callback(p);
|
||||
}
|
||||
}
|
||||
} while ((p = q) != 0);
|
||||
}
|
||||
code = (dialog_state.getc_callbacks != 0);
|
||||
}
|
||||
return code;
|
||||
@ -219,32 +302,10 @@ valid_file(FILE *fp)
|
||||
return code;
|
||||
}
|
||||
|
||||
/*
|
||||
* Read a character from the given window. Handle repainting here (to simplify
|
||||
* things in the calling application). Also, if input-callback(s) are set up,
|
||||
* poll the corresponding files and handle the updates, e.g., for displaying a
|
||||
* tailbox.
|
||||
*/
|
||||
int
|
||||
dlg_getc(WINDOW *win, int *fkey)
|
||||
static int
|
||||
really_getch(WINDOW *win, int *fkey)
|
||||
{
|
||||
WINDOW *save_win = win;
|
||||
int ch = ERR;
|
||||
int before_lookup;
|
||||
int result;
|
||||
bool done = FALSE;
|
||||
bool literal = FALSE;
|
||||
DIALOG_CALLBACK *p;
|
||||
int interval = dialog_vars.timeout_secs;
|
||||
time_t expired = time((time_t *) 0) + dialog_vars.timeout_secs;
|
||||
time_t current;
|
||||
|
||||
if (dialog_state.getc_callbacks != 0)
|
||||
wtimeout(win, WTIMEOUT_VAL);
|
||||
else if (interval > 0)
|
||||
wtimeout(win, interval);
|
||||
|
||||
while (!done) {
|
||||
int ch;
|
||||
#ifdef USE_WIDE_CURSES
|
||||
int code;
|
||||
mbstate_t state;
|
||||
@ -292,6 +353,68 @@ dlg_getc(WINDOW *win, int *fkey)
|
||||
last_getc = ch;
|
||||
*fkey = (ch > KEY_MIN && ch < KEY_MAX);
|
||||
#endif
|
||||
return ch;
|
||||
}
|
||||
|
||||
static DIALOG_CALLBACK *
|
||||
next_callback(DIALOG_CALLBACK * p)
|
||||
{
|
||||
if ((p = dialog_state.getc_redirect) != 0) {
|
||||
p = p->next;
|
||||
} else {
|
||||
p = dialog_state.getc_callbacks;
|
||||
}
|
||||
return p;
|
||||
}
|
||||
|
||||
static DIALOG_CALLBACK *
|
||||
prev_callback(DIALOG_CALLBACK * p)
|
||||
{
|
||||
DIALOG_CALLBACK *q;
|
||||
|
||||
if ((p = dialog_state.getc_redirect) != 0) {
|
||||
if (p == dialog_state.getc_callbacks) {
|
||||
for (p = dialog_state.getc_callbacks; p->next != 0; p = p->next) ;
|
||||
} else {
|
||||
for (q = dialog_state.getc_callbacks; q->next != p; q = q->next) ;
|
||||
p = q;
|
||||
}
|
||||
} else {
|
||||
p = dialog_state.getc_callbacks;
|
||||
}
|
||||
return p;
|
||||
}
|
||||
|
||||
/*
|
||||
* Read a character from the given window. Handle repainting here (to simplify
|
||||
* things in the calling application). Also, if input-callback(s) are set up,
|
||||
* poll the corresponding files and handle the updates, e.g., for displaying a
|
||||
* tailbox.
|
||||
*/
|
||||
int
|
||||
dlg_getc(WINDOW *win, int *fkey)
|
||||
{
|
||||
WINDOW *save_win = win;
|
||||
int ch = ERR;
|
||||
int before_lookup;
|
||||
int result;
|
||||
bool done = FALSE;
|
||||
bool literal = FALSE;
|
||||
DIALOG_CALLBACK *p = 0;
|
||||
int interval = (dialog_vars.timeout_secs * 1000);
|
||||
time_t expired = time((time_t *) 0) + dialog_vars.timeout_secs;
|
||||
time_t current;
|
||||
|
||||
if (may_handle_inputs())
|
||||
wtimeout(win, WTIMEOUT_VAL);
|
||||
else if (interval > 0)
|
||||
wtimeout(win, interval);
|
||||
|
||||
while (!done) {
|
||||
/*
|
||||
* If there was no pending file-input, check the keyboard.
|
||||
*/
|
||||
ch = really_getch(win, fkey);
|
||||
if (literal) {
|
||||
done = TRUE;
|
||||
continue;
|
||||
@ -320,32 +443,38 @@ dlg_getc(WINDOW *win, int *fkey)
|
||||
&& current >= expired) {
|
||||
dlg_exiterr("timeout");
|
||||
}
|
||||
if (dlg_getc_callbacks(ch, *fkey, &result)) {
|
||||
dlg_raise_window(win);
|
||||
} else {
|
||||
done = (interval <= 0);
|
||||
}
|
||||
if (!valid_file(stdin)
|
||||
|| !valid_file(dialog_state.screen_output)) {
|
||||
ch = ESC;
|
||||
done = TRUE;
|
||||
} else if (check_inputs()) {
|
||||
if (handle_inputs(win))
|
||||
dlg_raise_window(win);
|
||||
else
|
||||
done = TRUE;
|
||||
} else {
|
||||
done = (interval <= 0);
|
||||
}
|
||||
break;
|
||||
case DLGK_FIELD_PREV:
|
||||
/* FALLTHRU */
|
||||
case KEY_BTAB:
|
||||
/* FALLTHRU */
|
||||
case DLGK_FIELD_NEXT:
|
||||
/* FALLTHRU */
|
||||
case TAB:
|
||||
/* Handle tab as a special case for traversing between the nominal
|
||||
* "current" window, and other windows having callbacks. If the
|
||||
* nominal (control) window closes, we'll close the windows with
|
||||
* callbacks.
|
||||
/* Handle tab/backtab as a special case for traversing between the
|
||||
* nominal "current" window, and other windows having callbacks.
|
||||
* If the nominal (control) window closes, we'll close the windows
|
||||
* with callbacks.
|
||||
*/
|
||||
if (dialog_state.getc_callbacks != 0 &&
|
||||
before_lookup == TAB) {
|
||||
if ((p = dialog_state.getc_redirect) != 0) {
|
||||
p = p->next;
|
||||
} else {
|
||||
p = dialog_state.getc_callbacks;
|
||||
}
|
||||
(before_lookup == TAB ||
|
||||
before_lookup == KEY_BTAB)) {
|
||||
if (before_lookup == TAB)
|
||||
p = next_callback(p);
|
||||
else
|
||||
p = prev_callback(p);
|
||||
if ((dialog_state.getc_redirect = p) != 0) {
|
||||
win = p->win;
|
||||
} else {
|
||||
|
@ -1,9 +1,9 @@
|
||||
/*
|
||||
* $Id: util.c,v 1.201 2010/04/28 21:12:42 tom Exp $
|
||||
* $Id: util.c,v 1.211 2011/01/19 00:31:43 tom Exp $
|
||||
*
|
||||
* util.c -- miscellaneous utilities for dialog
|
||||
*
|
||||
* Copyright 2000-2008,2010 Thomas E. Dickey
|
||||
* Copyright 2000-2010,2011 Thomas E. Dickey
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License, version 2.1
|
||||
@ -99,7 +99,8 @@ DIALOG_COLORS dlg_color_table[] =
|
||||
DATA(A_NORMAL, ITEMHELP, itemhelp, "Item help-text"),
|
||||
DATA(A_BOLD, FORM_ACTIVE_TEXT, form_active_text, "Active form text"),
|
||||
DATA(A_REVERSE, FORM_TEXT, form_text, "Form text"),
|
||||
DATA(A_NORMAL, FORM_ITEM_READONLY, form_item_readonly, "Readonly form item")
|
||||
DATA(A_NORMAL, FORM_ITEM_READONLY, form_item_readonly, "Readonly form item"),
|
||||
DATA(A_REVERSE, GAUGE, gauge, "Dialog box gauge")
|
||||
};
|
||||
/* *INDENT-ON* */
|
||||
|
||||
@ -327,7 +328,11 @@ init_dialog(FILE *input, FILE *output)
|
||||
(void) keypad(stdscr, TRUE);
|
||||
(void) cbreak();
|
||||
(void) noecho();
|
||||
|
||||
if (!dialog_state.no_mouse) {
|
||||
mouse_open();
|
||||
}
|
||||
|
||||
dialog_state.screen_initialized = TRUE;
|
||||
|
||||
#ifdef HAVE_COLOR
|
||||
@ -398,6 +403,24 @@ dlg_color_count(void)
|
||||
return sizeof(dlg_color_table) / sizeof(dlg_color_table[0]);
|
||||
}
|
||||
|
||||
/*
|
||||
* Wrapper for getattrs(), or the more cumbersome X/Open wattr_get().
|
||||
*/
|
||||
chtype
|
||||
dlg_get_attrs(WINDOW *win)
|
||||
{
|
||||
chtype result;
|
||||
#ifdef HAVE_GETATTRS
|
||||
result = getattrs(win);
|
||||
#else
|
||||
attr_t my_result;
|
||||
short my_pair;
|
||||
wattr_get(win, &my_result, &my_pair, NULL);
|
||||
result = my_result;
|
||||
#endif
|
||||
return result;
|
||||
}
|
||||
|
||||
/*
|
||||
* Reuse color pairs (they are limited), returning a COLOR_PAIR() value if we
|
||||
* have (or can) define a pair with the given color as foreground on the
|
||||
@ -436,7 +459,7 @@ dlg_color_pair(int foreground, int background)
|
||||
static chtype
|
||||
define_color(WINDOW *win, int foreground)
|
||||
{
|
||||
chtype attrs = getattrs(win);
|
||||
chtype attrs = dlg_get_attrs(win);
|
||||
int pair;
|
||||
short fg, bg, background;
|
||||
|
||||
@ -487,6 +510,34 @@ centered(int width, const char *string)
|
||||
return left;
|
||||
}
|
||||
|
||||
#ifdef USE_WIDE_CURSES
|
||||
static bool
|
||||
is_combining(const char *txt, int *combined)
|
||||
{
|
||||
bool result = FALSE;
|
||||
|
||||
if (*combined == 0) {
|
||||
if (UCH(*txt) >= 128) {
|
||||
wchar_t wch;
|
||||
mbstate_t state;
|
||||
size_t given = strlen(txt);
|
||||
size_t len;
|
||||
|
||||
memset(&state, 0, sizeof(state));
|
||||
len = mbrtowc(&wch, txt, given, &state);
|
||||
if ((int) len > 0 && wcwidth(wch) == 0) {
|
||||
*combined = (int) len - 1;
|
||||
result = TRUE;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
result = TRUE;
|
||||
*combined -= 1;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Print up to 'cols' columns from 'text', optionally rendering our escape
|
||||
* sequence for attributes and color.
|
||||
@ -501,6 +552,9 @@ dlg_print_text(WINDOW *win, const char *txt, int cols, chtype *attr)
|
||||
bool thisTab;
|
||||
bool ended = FALSE;
|
||||
chtype useattr;
|
||||
#ifdef USE_WIDE_CURSES
|
||||
int combined = 0;
|
||||
#endif
|
||||
|
||||
getyx(win, y_origin, x_origin);
|
||||
while (cols > 0 && (*txt != '\0')) {
|
||||
@ -582,7 +636,12 @@ dlg_print_text(WINDOW *win, const char *txt, int cols, chtype *attr)
|
||||
getyx(win, y_after, x_after);
|
||||
if (thisTab && (y_after == y_origin))
|
||||
tabbed += (x_after - x_before);
|
||||
if (y_after != y_origin || x_after >= cols + tabbed + x_origin) {
|
||||
if ((y_after != y_origin) ||
|
||||
(x_after >= (cols + tabbed + x_origin)
|
||||
#ifdef USE_WIDE_CURSES
|
||||
&& !is_combining(txt, &combined)
|
||||
#endif
|
||||
)) {
|
||||
ended = TRUE;
|
||||
}
|
||||
}
|
||||
@ -656,6 +715,14 @@ dlg_print_line(WINDOW *win,
|
||||
wrap_inx = test_inx;
|
||||
}
|
||||
wrap_ptr = prompt + indx[wrap_inx];
|
||||
#ifdef USE_WIDE_CURSES
|
||||
if (UCH(*wrap_ptr) >= 128) {
|
||||
int combined = 0;
|
||||
while (is_combining(wrap_ptr, &combined)) {
|
||||
++wrap_ptr;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Print the line if we have a window pointer. Otherwise this routine
|
||||
@ -774,6 +841,8 @@ dlg_print_scrolled(WINDOW *win,
|
||||
int oldy, oldx;
|
||||
int last = 0;
|
||||
|
||||
(void) pauseopt; /* used only for ncurses */
|
||||
|
||||
getyx(win, oldy, oldx);
|
||||
#ifdef NCURSES_VERSION
|
||||
if (pauseopt) {
|
||||
@ -1105,12 +1174,12 @@ dlg_auto_sizefile(const char *title,
|
||||
offset++;
|
||||
|
||||
if (offset > len)
|
||||
len = offset;
|
||||
len = (int) offset;
|
||||
|
||||
count++;
|
||||
}
|
||||
|
||||
/* now 'count' has the number of lines of fd and 'len' the max lenght */
|
||||
/* now 'count' has the number of lines of fd and 'len' the max length */
|
||||
|
||||
*height = MIN(SLINES, count + numlines + boxlines);
|
||||
*width = MIN(SCOLS, MAX((len + nc), mincols));
|
||||
@ -1142,7 +1211,7 @@ dlg_draw_box(WINDOW *win, int y, int x, int height, int width,
|
||||
chtype boxchar, chtype borderchar)
|
||||
{
|
||||
int i, j;
|
||||
chtype save = getattrs(win);
|
||||
chtype save = dlg_get_attrs(win);
|
||||
|
||||
wattrset(win, 0);
|
||||
for (i = 0; i < height; i++) {
|
||||
@ -1179,7 +1248,7 @@ static void
|
||||
draw_childs_shadow(WINDOW *parent, WINDOW *child)
|
||||
{
|
||||
if (has_colors()) { /* Whether terminal supports color? */
|
||||
chtype save = getattrs(parent);
|
||||
chtype save = dlg_get_attrs(parent);
|
||||
|
||||
dlg_draw_shadow(parent,
|
||||
getbegy(child) - getbegy(parent),
|
||||
@ -1254,7 +1323,7 @@ dlg_exit(int code)
|
||||
if ((name = getenv(table[n].name)) != 0) {
|
||||
value = strtol(name, &temp, 0);
|
||||
if (temp != 0 && temp != name && *temp == '\0') {
|
||||
code = value;
|
||||
code = (int) value;
|
||||
overridden = TRUE;
|
||||
}
|
||||
}
|
||||
@ -1509,7 +1578,7 @@ dlg_draw_title(WINDOW *win, const char *title)
|
||||
{
|
||||
if (title != NULL) {
|
||||
chtype attr = A_NORMAL;
|
||||
chtype save = getattrs(win);
|
||||
chtype save = dlg_get_attrs(win);
|
||||
int x = centered(getmaxx(win), title);
|
||||
|
||||
wattrset(win, title_attr);
|
||||
@ -1920,7 +1989,7 @@ dlg_clr_result(void)
|
||||
char *
|
||||
dlg_set_result(const char *string)
|
||||
{
|
||||
unsigned need = string ? strlen(string) + 1 : 0;
|
||||
unsigned need = string ? (unsigned) strlen(string) + 1 : 0;
|
||||
|
||||
/* inputstr.c needs a fixed buffer */
|
||||
if (need < MAX_LEN)
|
||||
@ -1953,9 +2022,9 @@ void
|
||||
dlg_add_result(const char *string)
|
||||
{
|
||||
unsigned have = (dialog_vars.input_result
|
||||
? strlen(dialog_vars.input_result)
|
||||
? (unsigned) strlen(dialog_vars.input_result)
|
||||
: 0);
|
||||
unsigned want = strlen(string) + 1 + have;
|
||||
unsigned want = (unsigned) strlen(string) + 1 + have;
|
||||
|
||||
if ((want >= MAX_LEN)
|
||||
|| (dialog_vars.input_length != 0)
|
||||
@ -1964,14 +2033,14 @@ dlg_add_result(const char *string)
|
||||
if (dialog_vars.input_length == 0
|
||||
|| dialog_vars.input_result == 0) {
|
||||
|
||||
char *save = dialog_vars.input_result;
|
||||
char *save_result = dialog_vars.input_result;
|
||||
|
||||
dialog_vars.input_length = want * 2;
|
||||
dialog_vars.input_result = dlg_malloc(char, dialog_vars.input_length);
|
||||
assert_ptr(dialog_vars.input_result, "dlg_add_result malloc");
|
||||
dialog_vars.input_result[0] = 0;
|
||||
if (save != 0)
|
||||
strcpy(dialog_vars.input_result, save);
|
||||
dialog_vars.input_result[0] = '\0';
|
||||
if (save_result != 0)
|
||||
strcpy(dialog_vars.input_result, save_result);
|
||||
} else if (want >= dialog_vars.input_length) {
|
||||
dialog_vars.input_length = want * 2;
|
||||
dialog_vars.input_result = dlg_realloc(char,
|
||||
@ -2008,7 +2077,7 @@ must_quote(char *string)
|
||||
bool code = FALSE;
|
||||
|
||||
if (*string != '\0') {
|
||||
unsigned len = strlen(string);
|
||||
size_t len = strlen(string);
|
||||
if (strcspn(string, quote_delimiter()) != len)
|
||||
code = TRUE;
|
||||
else if (strcspn(string, "\n\t ") != len)
|
||||
@ -2096,10 +2165,20 @@ dlg_save_vars(DIALOG_VARS * vars)
|
||||
*vars = dialog_vars;
|
||||
}
|
||||
|
||||
/*
|
||||
* Most of the data in DIALOG_VARS is normally set by command-line options.
|
||||
* The input_result member is an exception; it is normally set by the dialog
|
||||
* library to return result values.
|
||||
*/
|
||||
void
|
||||
dlg_restore_vars(DIALOG_VARS * vars)
|
||||
{
|
||||
char *save_result = dialog_vars.input_result;
|
||||
unsigned save_length = dialog_vars.input_length;
|
||||
|
||||
dialog_vars = *vars;
|
||||
dialog_vars.input_result = save_result;
|
||||
dialog_vars.input_length = save_length;
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -4,11 +4,12 @@ DIALOG= ${.CURDIR}/../../../contrib/dialog
|
||||
|
||||
LIB= dialog
|
||||
SHLIB_MAJOR= 7
|
||||
SRCS= arrows.c buttons.c calendar.c checklist.c columns.c dlg_keys.c \
|
||||
editbox.c fselect.c formbox.c guage.c inputbox.c inputstr.c \
|
||||
menubox.c mixedform.c mixedgauge.c mouse.c mousewget.c \
|
||||
msgbox.c pause.c progressbox.c rc.c tailbox.c textbox.c \
|
||||
timebox.c trace.c ui_getc.c util.c version.c yesno.c
|
||||
SRCS= argv.c arrows.c buttons.c calendar.c checklist.c columns.c \
|
||||
dlg_keys.c editbox.c fselect.c formbox.c guage.c inputbox.c \
|
||||
inputstr.c menubox.c mixedform.c mixedgauge.c mouse.c \
|
||||
mousewget.c msgbox.c pause.c prgbox.c progressbox.c rc.c \
|
||||
tailbox.c textbox.c timebox.c trace.c ui_getc.c util.c \
|
||||
version.c yesno.c
|
||||
INCS= dialog.h dlg_colors.h dlg_config.h dlg_keys.h
|
||||
MAN= dialog.3
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user