whiptail/newt-0.51.5.patch.2004082000

375 lines
13 KiB
Plaintext

diff -Nur -x '*.orig' -x '*.rej' newt-0.51.5/dialogboxes.c mezzanine_patched_newt-0.51.5/dialogboxes.c
--- newt-0.51.5/dialogboxes.c 2003-01-03 15:54:45.000000000 -0500
+++ mezzanine_patched_newt-0.51.5/dialogboxes.c 2004-08-20 20:13:20.000000000 -0400
@@ -18,15 +18,18 @@
static void addButtons(int height, int width, newtComponent form,
newtComponent * okay, newtComponent * cancel,
+ char * left,
+ char * right,
int flags) {
if (flags & FLAG_NOCANCEL) {
- *okay = makeButton((width - 8) / 2, height - buttonHeight - 1, "Ok");
+ *okay = makeButton(((width - 18) / 3) * 2 + 9,
+ height - buttonHeight - 1, right);
*cancel = NULL;
newtFormAddComponent(form, *okay);
} else {
- *okay = makeButton((width - 18) / 3, height - buttonHeight - 1, "Ok");
- *cancel = makeButton(((width - 18) / 3) * 2 + 9,
- height - buttonHeight - 1, "Cancel");
+ *cancel = makeButton((width - 18) / 3, height - buttonHeight - 1, left);
+ *okay = makeButton(((width - 18) / 3) * 2 + 9,
+ height - buttonHeight - 1, right);
newtFormAddComponents(form, *okay, *cancel, NULL);
}
}
@@ -129,10 +132,11 @@
}
int inputBox(const char * text, int height, int width, poptContext optCon,
- int flags, const char ** result) {
+ char * left, char * right, int flags, const char ** result) {
newtComponent form, entry, okay, cancel, answer, tb;
const char * val;
int rc = DLG_OKAY;
+ int eFlag = (flags & (NEWT_FLAG_HIDDEN|NEWT_FLAG_PASSWORD));
int top;
val = poptGetArg(optCon);
@@ -141,11 +145,11 @@
form = newtForm(NULL, NULL, 0);
entry = newtEntry(1, top + 1, val, width - 2, &val,
- NEWT_FLAG_SCROLL | NEWT_FLAG_RETURNEXIT);
+ NEWT_FLAG_SCROLL | NEWT_FLAG_RETURNEXIT | eFlag);
newtFormAddComponents(form, tb, entry, NULL);
- addButtons(height, width, form, &okay, &cancel, flags);
+ addButtons(height, width, form, &okay, &cancel, left, right, flags);
answer = newtRunForm(form);
if (answer == cancel)
@@ -157,7 +161,7 @@
}
int listBox(const char * text, int height, int width, poptContext optCon,
- int flags, const char ** result) {
+ char * left, char * right, int flags, const char ** result) {
newtComponent form, okay, tb, answer, listBox;
newtComponent cancel = NULL;
const char * arg;
@@ -228,7 +232,7 @@
newtFormAddComponents(form, tb, listBox, NULL);
- addButtons(height, width, form, &okay, &cancel, flags);
+ addButtons(height, width, form, &okay, &cancel, left, right, flags);
answer = newtRunForm(form);
if (answer == cancel)
@@ -241,7 +245,8 @@
}
int checkList(const char * text, int height, int width, poptContext optCon,
- int useRadio, int flags, const char *** selections) {
+ int useRadio, char * left, char * right, int flags,
+ const char *** selections) {
newtComponent form, okay, tb, subform, answer;
newtComponent sb = NULL, cancel = NULL;
const char * arg;
@@ -329,7 +334,7 @@
newtFormAddComponents(form, tb, subform, NULL);
- addButtons(height, width, form, &okay, &cancel, flags);
+ addButtons(height, width, form, &okay, &cancel, left, right, flags);
answer = newtRunForm(form);
if (answer == cancel)
@@ -364,7 +369,8 @@
return rc;
}
-int messageBox(const char * text, int height, int width, int type, int flags) {
+int messageBox(const char * text, int height, int width, char *left,
+ char *right, int type, int flags) {
newtComponent form, yes, tb, answer;
newtComponent no = NULL;
int tFlag = (flags & FLAG_SCROLL_TEXT) ? NEWT_FLAG_SCROLL : 0;
@@ -376,7 +382,17 @@
newtTextboxSetText(tb, text);
newtFormAddComponent(form, tb);
-
+
+ /* If left=Cancel and right=Ok, we probably didn't get any --left and
+ * --right arguments passed. Assume we want Yes and No instead. This has
+ * the side effect of not being able to pass in "Cancel" and "Ok" but
+ * I can live with that.
+ */
+ if (!strcmp(left,"Cancel") && !strcmp(right,"Ok")) {
+ left = "Yes";
+ right = "No";
+ }
+
switch ( type ) {
case MSGBOX_INFO:
break;
@@ -385,9 +401,9 @@
newtFormAddComponent(form, yes);
break;
default:
- yes = makeButton((width - 16) / 3, height - 1 - buttonHeight, "Yes");
- no = makeButton(((width - 16) / 3) * 2 + 9, height - 1 - buttonHeight,
- "No");
+ yes = makeButton((width - 18) / 3, height - 1 - buttonHeight, left);
+ no = makeButton(((width - 18) / 3) * 2 + 9, height - 1 - buttonHeight,
+ right);
newtFormAddComponents(form, yes, no, NULL);
if (flags & FLAG_DEFAULT_NO)
diff -Nur -x '*.orig' -x '*.rej' newt-0.51.5/dialogboxes.h mezzanine_patched_newt-0.51.5/dialogboxes.h
--- newt-0.51.5/dialogboxes.h 2003-01-03 15:54:45.000000000 -0500
+++ mezzanine_patched_newt-0.51.5/dialogboxes.h 2004-08-20 20:13:12.000000000 -0400
@@ -16,13 +16,15 @@
#define DLG_OKAY 0
#define DLG_CANCEL 1
-int messageBox(const char * text, int height, int width, int type, int flags);
+int messageBox(const char * text, int height, int width, char *left,
+ char *right, int type, int flags);
int checkList(const char * text, int height, int width, poptContext optCon,
- int useRadio, int flags, const char *** selections);
+ int useRadio, char * left, char * right,
+ int flags, const char *** selections);
int listBox(const char * text, int height, int width, poptContext optCon,
- int flags, const char ** result);
+ char * left, char * right, int flags, const char ** result);
int inputBox(const char * text, int height, int width, poptContext optCon,
- int flags, const char ** result);
+ char * left, char * right, int flags, const char ** result);
int gauge(const char * text, int height, int width, poptContext optCon, int fd,
int flags);
void useFullButtons(int state);
diff -Nur -x '*.orig' -x '*.rej' newt-0.51.5/test.c mezzanine_patched_newt-0.51.5/test.c
--- newt-0.51.5/test.c 2003-01-04 14:15:25.000000000 -0500
+++ mezzanine_patched_newt-0.51.5/test.c 2004-08-20 20:11:39.000000000 -0400
@@ -33,13 +33,13 @@
}
int main(void) {
- newtComponent b1, b2, r1, r2, r3, e2, e3, l1, l2, l3, scale;
+ newtComponent b1, b2, r1, r2, r3, e2, e3, e4, l1, l2, l3, l4, scale;
newtComponent lb, t, rsf, answer, timeLabel;
newtComponent cs[10];
newtComponent f, chklist, e1;
struct callbackInfo cbis[3];
char results[10];
- const char * enr2, * enr3, *scaleVal;
+ const char * enr2, * enr3, * scaleVal, * enr4;
void ** selectedList;
int i, numsel;
char buf[20];
@@ -81,10 +81,11 @@
l1 = newtLabel(3, 6, "Scale:");
l2 = newtLabel(3, 7, "Scrolls:");
l3 = newtLabel(3, 8, "Hidden:");
+ l4 = newtLabel(3, 9, "Password:");
e1 = newtEntry(12, 6, "", 20, &scaleVal, 0);
e2 = newtEntry(12, 7, "Default", 20, &enr2, NEWT_FLAG_SCROLL);
-/* e3 = newtEntry(12, 8, NULL, 20, &enr3, NEWT_FLAG_HIDDEN); */
- e3 = newtEntry(12, 8, NULL, 20, &enr3, NEWT_FLAG_PASSWORD);
+ e3 = newtEntry(12, 8, NULL, 20, &enr3, NEWT_FLAG_HIDDEN);
+ e4 = newtEntry(12, 9, NULL, 20, &enr4, NEWT_FLAG_PASSWORD);
cbis[0].state = &results[0];
cbis[0].en = e1;
@@ -94,7 +95,7 @@
newtFormSetHeight(chklist, 3);
- newtFormAddComponents(f, b1, b2, l1, l2, l3, e1, e2, e3, chklist, NULL);
+ newtFormAddComponents(f, b1, b2, l1, l2, l3, l4, e1, e2, e3, e4, chklist, NULL);
newtFormAddComponents(f, rsf, scale, NULL);
lb = newtListbox(45, 1, 6, NEWT_FLAG_MULTIPLE | NEWT_FLAG_BORDER |
@@ -141,6 +142,7 @@
scaleVal = strdup(scaleVal);
enr2 = strdup(enr2);
enr3 = strdup(enr3);
+ enr4 = strdup(enr4);
selectedList = newtListboxGetSelection(lb, &numsel);
@@ -153,6 +155,7 @@
printf("got string 1: %s\n", scaleVal);
printf("got string 2: %s\n", enr2);
printf("got string 3: %s\n", enr3);
+ printf("got string 4: %s\n", enr4);
printf("\nSelected listbox items (%d):\n", numsel);
if(selectedList) {
diff -Nur -x '*.orig' -x '*.rej' newt-0.51.5/whiptail.c mezzanine_patched_newt-0.51.5/whiptail.c
--- newt-0.51.5/whiptail.c 2003-01-03 15:54:45.000000000 -0500
+++ mezzanine_patched_newt-0.51.5/whiptail.c 2004-08-20 20:13:12.000000000 -0400
@@ -47,16 +47,22 @@
int rc = 1;
int flags = 0;
int defaultNo = 0;
+ int hidden = 0;
+ int password = 0;
int separateOutput = 0;
const char * result;
const char ** selections, ** next;
char * title = NULL;
char * backtitle = NULL;
+ char * left = "Cancel";
+ char * right = "Ok";
struct poptOption optionsTable[] = {
{ "backtitle", '\0', POPT_ARG_STRING, &backtitle, 0 },
{ "checklist", '\0', 0, 0, OPT_CHECKLIST },
{ "clear", '\0', 0, &clear, 0 },
{ "defaultno", '\0', 0, &defaultNo, 0 },
+ { "hidden", '\0', 0, &hidden, 0 },
+ { "password", '\0', 0, &password, 0 },
{ "inputbox", '\0', 0, 0, OPT_INPUTBOX },
{ "fb", '\0', 0, 0, OPT_FULLBUTTONS },
{ "fullbuttons", '\0', 0, 0, OPT_FULLBUTTONS },
@@ -70,6 +76,8 @@
{ "scrolltext", '\0', 0, &scrollText, 0 },
{ "separate-output", '\0', 0, &separateOutput, 0 },
{ "title", '\0', POPT_ARG_STRING, &title, 0 },
+ { "left", '\0', POPT_ARG_STRING, &left, 0 },
+ { "right", '\0', POPT_ARG_STRING, &right, 0 },
{ "yesno", '\0', 0, 0, OPT_YESNO },
{ 0, 0, 0, 0, 0 }
};
@@ -164,32 +172,35 @@
if (noItem) flags |= FLAG_NOITEM;
if (scrollText) flags |= FLAG_SCROLL_TEXT;
if (defaultNo) flags |= FLAG_DEFAULT_NO;
+ if (hidden) flags |= NEWT_FLAG_HIDDEN;
+ if (password) flags |= NEWT_FLAG_PASSWORD;
switch (mode) {
- case MODE_MSGBOX:
- rc = messageBox(text, height, width, MSGBOX_MSG, flags);
+ case MODE_MSGBOX:
+ rc = messageBox(text, height, width, left, right, MSGBOX_MSG, flags);
break;
case MODE_INFOBOX:
- rc = messageBox(text, height, width, MSGBOX_INFO, flags);
+ rc = messageBox(text, height, width, left, right, MSGBOX_INFO, flags);
break;
case MODE_YESNO:
- rc = messageBox(text, height, width, MSGBOX_YESNO, flags);
+ rc = messageBox(text, height, width, left, right, MSGBOX_YESNO, flags);
break;
case MODE_INPUTBOX:
- rc = inputBox(text, height, width, optCon, flags, &result);
+ rc = inputBox(text, height, width, optCon, left, right, flags, &result);
if (!rc) fprintf(stderr, "%s", result);
break;
case MODE_MENU:
- rc = listBox(text, height, width, optCon, flags, &result);
+ rc = listBox(text, height, width, optCon, left, right, flags, &result);
if (!rc) fprintf(stderr, "%s", result);
break;
case MODE_RADIOLIST:
- rc = checkList(text, height, width, optCon, 1, flags, &selections);
+ rc = checkList(text, height, width, optCon, 1, left, right,
+ flags, &selections);
if (!rc) {
fprintf(stderr, "%s", selections[0]);
free(selections);
@@ -197,7 +208,8 @@
break;
case MODE_CHECKLIST:
- rc = checkList(text, height, width, optCon, 0, flags, &selections);
+ rc = checkList(text, height, width, optCon, 0, left, right, flags,
+ &selections);
if (!rc) {
for (next = selections; *next; next++) {
diff -Nur -x '*.orig' -x '*.rej' newt-0.51.5/whiptcl.c mezzanine_patched_newt-0.51.5/whiptcl.c
--- newt-0.51.5/whiptcl.c 2000-02-16 06:34:40.000000000 -0500
+++ mezzanine_patched_newt-0.51.5/whiptcl.c 2004-08-20 20:13:12.000000000 -0400
@@ -72,6 +72,8 @@
char * result;
char ** selections, ** next;
char * title = NULL;
+ char * right = "Ok";
+ char * left = "Cancel";
struct poptOption optionsTable[] = {
{ "checklist", '\0', 0, 0, OPT_CHECKLIST },
{ "defaultno", '\0', 0, &defaultNo, 0 },
@@ -83,6 +85,8 @@
{ "radiolist", '\0', 0, 0, OPT_RADIOLIST },
{ "scrolltext", '\0', 0, &scrollText, 0 },
{ "title", '\0', POPT_ARG_STRING, &title, 0 },
+ { "left", '\0', POPT_ARG_STRING, &left, 0 },
+ { "right", '\0', POPT_ARG_STRING, &right, 0 },
{ "yesno", '\0', 0, 0, OPT_YESNO },
{ 0, 0, 0, 0, 0 }
};
@@ -180,11 +184,11 @@
switch (mode) {
case MODE_MSGBOX:
- rc = messageBox(text, height, width, MSGBOX_MSG, flags);
+ rc = messageBox(text, height, width, left, right, MSGBOX_MSG, flags);
break;
case MODE_YESNO:
- rc = messageBox(text, height, width, MSGBOX_YESNO, flags);
+ rc = messageBox(text, height, width, left, right, MSGBOX_YESNO, flags);
if (rc == DLG_OKAY)
interp->result = "yes";
else
@@ -193,7 +197,7 @@
break;
case MODE_INPUTBOX:
- rc = inputBox(text, height, width, optCon, flags, &result);
+ rc = inputBox(text, height, width, optCon, left, right, flags, &result);
if (!rc) {
interp->result = strdup(result);
interp->freeProc = TCL_DYNAMIC;
@@ -201,7 +205,7 @@
break;
case MODE_MENU:
- rc = listBox(text, height, width, optCon, flags, &result);
+ rc = listBox(text, height, width, optCon, left, right, flags, &result);
if (!rc) {
interp->result = strdup(result);
interp->freeProc = TCL_DYNAMIC;
@@ -209,7 +213,8 @@
break;
case MODE_RADIOLIST:
- rc = checkList(text, height, width, optCon, 1, flags, &selections);
+ rc = checkList(text, height, width, optCon, 1, left, right,
+ flags, &selections);
if (!rc) {
interp->result = strdup(selections[0]);
interp->freeProc = TCL_DYNAMIC;
@@ -217,7 +222,8 @@
break;
case MODE_CHECKLIST:
- rc = checkList(text, height, width, optCon, 0, flags, &selections);
+ rc = checkList(text, height, width, optCon, 0, left, right,
+ flags, &selections);
if (!rc) {
for (next = selections; *next; next++)