From: "Egry Gábor" <gaboregry@t-online.hu>
To: Linus Torvalds <torvalds@osdl.org>, Andrew Morton <akpm@osdl.org>
Cc: Roman Zippel <zippel@linux-m68k.org>,
Massimo Maiurana <maiurana@inwind.it>,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
KernelFR <kernelfr@traduc.org>,
Arnaldo Carvalho de Melo <acme@conectiva.com.br>
Subject: [PATCH 5/19] Kconfig I18N: lxdialog: answering
Date: Wed, 13 Jul 2005 19:13:09 +0200 [thread overview]
Message-ID: <1121274790.2975.20.camel@spirit> (raw)
In-Reply-To: <1121273456.2975.3.camel@spirit>
I18N support for answering in lxdialog. This patch is useful for
non-latin based languages.
Signed-off-by: Egry Gabor <gaboregry@t-online.hu>
---
scripts/lxdialog/menubox.c | 33 ++++++++++++++++++++++++++++++++-
scripts/lxdialog/yesno.c | 33 +++++++++++++++++++++++++++++++--
2 files changed, 63 insertions(+), 3 deletions(-)
diff -puN scripts/lxdialog/yesno.c~kconfig-i18n-05-lxdialog-key scripts/lxdialog/yesno.c
--- linux-2.6.13-rc3-i18n-kconfig/scripts/lxdialog/yesno.c~kconfig-i18n-05-lxdialog-key 2005-07-13 18:32:17.000000000 +0200
+++ linux-2.6.13-rc3-i18n-kconfig-gabaman/scripts/lxdialog/yesno.c 2005-07-13 18:32:17.000000000 +0200
@@ -43,10 +43,12 @@ print_buttons(WINDOW *dialog, int height
int
dialog_yesno (const char *title, const char *prompt, int height, int width)
{
- int i, x, y, key = 0, button = 0;
+ int i, x, y, key = 0, answer = 0, button = 0;
WINDOW *dialog;
#ifdef USE_WIDE_CURSES
- wchar_t *wtitle;
+ wchar_t *wtitle, *yes, *Yes, *no, *No;
+#else /* USE_WIDE_CURSES */
+ const char *yes, *Yes, *no, *No;
#endif /* USE_WIDE_CURSES */
/* center dialog box on screen */
@@ -107,6 +109,33 @@ dialog_yesno (const char *title, const c
while (key != ESC) {
key = wgetch (dialog);
+#ifdef USE_WIDE_CURSES
+ yes = to_wchar (_("y"));
+ Yes = to_wchar (_("Y"));
+ no = to_wchar (_("n"));
+ No = to_wchar (_("N"));
+#else /* USE_WIDE_CURSES */
+ yes = _("y");
+ Yes = _("Y");
+ no = _("n");
+ No = _("N");
+#endif /* USE_WIDE_CURSES */
+ if (yes && (yes[0] == key))
+ answer = 'y';
+ if (Yes && (Yes[0] == key))
+ answer = 'Y';
+ if (no && (no[0] == key))
+ answer = 'n';
+ if (No && (No[0] == key))
+ answer = 'N';
+#ifdef USE_WIDE_CURSES
+ free (yes);
+ free (Yes);
+ free (no);
+ free (No);
+#endif /* USE_WIDE_CURSES */
+ if (answer)
+ key = answer;
switch (key) {
case 'Y':
case 'y':
diff -puN scripts/lxdialog/menubox.c~kconfig-i18n-05-lxdialog-key scripts/lxdialog/menubox.c
--- linux-2.6.13-rc3-i18n-kconfig/scripts/lxdialog/menubox.c~kconfig-i18n-05-lxdialog-key 2005-07-13 18:32:17.000000000 +0200
+++ linux-2.6.13-rc3-i18n-kconfig-gabaman/scripts/lxdialog/menubox.c 2005-07-13 18:32:17.000000000 +0200
@@ -189,10 +189,14 @@ dialog_menu (const char *title, const ch
{
int i, j, x, y, box_x, box_y;
int key = 0, button = 0, scroll = 0, choice = 0, first_item = 0, max_choice;
+ int answer = 0;
WINDOW *dialog, *menu;
FILE *f;
#ifdef USE_WIDE_CURSES
wchar_t *wtitle, *witems, *witem2, *wcurrent;
+ wchar_t *yes, *Yes, *no, *No;
+#else /* USE_WIDE_CURSES */
+ const char *yes, *Yes, *no, *No;
#endif /* USE_WIDE_CURSES */
max_choice = MIN (menu_height, item_no);
@@ -541,7 +545,34 @@ dialog_menu (const char *title, const ch
continue; /* wait for another key press */
}
- switch (key) {
+#ifdef USE_WIDE_CURSES
+ yes = to_wchar (_("y"));
+ Yes = to_wchar (_("Y"));
+ no = to_wchar (_("n"));
+ No = to_wchar (_("N"));
+#else /* USE_WIDE_CURSES */
+ yes = _("y");
+ Yes = _("Y");
+ no = _("n");
+ No = _("N");
+#endif /* USE_WIDE_CURSES */
+ if (yes && (yes[0] == key))
+ answer = 'y';
+ if (Yes && (Yes[0] == key))
+ answer = 'Y';
+ if (no && (no[0] == key))
+ answer = 'n';
+ if (No && (No[0] == key))
+ answer = 'N';
+#ifdef USE_WIDE_CURSES
+ free (yes);
+ free (Yes);
+ free (no);
+ free (No);
+#endif /* USE_WIDE_CURSES */
+ if (answer)
+ key = answer;
+ switch (key) {
case KEY_LEFT:
case TAB:
case KEY_RIGHT:
_
next prev parent reply other threads:[~2005-07-13 17:16 UTC|newest]
Thread overview: 39+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-07-13 16:50 [PATCH 0/19] Kconfig I18N completion Egry Gábor
2005-07-13 17:04 ` [PATCH 1/19] Kconfig I18N: sublocale Egry Gábor
2005-07-13 17:07 ` [PATCH 2/19] Kconfig I18N: lxdialog: width fix Egry Gábor
2005-07-13 17:26 ` [PATCH] Kconfig: lxdialog: Enable UTF8 Jan Engelhardt
2005-07-14 0:26 ` Ken Moffat
2005-07-16 9:54 ` Sam Ravnborg
2005-07-16 10:12 ` Ken Moffat
2005-07-16 22:14 ` Ken Moffat
2005-07-13 17:09 ` [PATCH 3/19] Kconfig I18N: lxdialog Egry Gábor
2005-07-13 17:11 ` [PATCH 4/19] Kconfig I18N: lxdialog: multibyte character support Egry Gábor
2005-07-14 0:10 ` Roman Zippel
2005-07-13 17:13 ` Egry Gábor [this message]
2005-07-13 17:15 ` [PATCH 6/19] Kconfig I18N: config Egry Gábor
2005-07-13 17:17 ` [PATCH 7/19] Kconfig I18N: gconfig Egry Gábor
2005-07-13 17:18 ` [PATCH 8/19] Kconfig I18N: gconfig: GUI Egry Gábor
2005-07-13 17:20 ` [PATCH 9/19] Kconfig I18N: gconfig: answering Egry Gábor
2005-07-13 17:21 ` [PATCH 10/19] Kconfig I18N: gconfig: missing macros Egry Gábor
2005-07-13 17:23 ` [PATCH 11/19] Kconfig I18N: gconfig: symbol fix Egry Gábor
2005-07-13 17:24 ` [PATCH 12/19] Kconfig I18N: menuconfig Egry Gábor
2005-07-13 17:26 ` [PATCH 13/19] Kconfig I18N: menuconfig: answering Egry Gábor
2005-07-13 17:27 ` [PATCH 14/19] Kconfig I18N: menuconfig: missing macros Egry Gábor
2005-07-13 17:28 ` [PATCH 15/19] Kconfig I18n: xconfig Egry Gábor
2005-07-13 17:30 ` [PATCH 16/19] Kconfig I18n: xconfig: answering Egry Gábor
2005-07-13 17:31 ` [PATCH 17/19] Kconfig I18N: xconfig: symbol fix Egry Gábor
2005-07-13 17:33 ` [PATCH 18/19] Kconfig I18N: LKC: whitespace removing Egry Gábor
2005-07-14 0:12 ` Roman Zippel
2005-07-13 17:35 ` [PATCH 19/19] Kconfig I18N: UI: Hungarian translation Egry Gábor
2005-07-13 17:41 ` [PATCH 0/19] Kconfig I18N completion Linus Torvalds
2005-07-13 18:03 ` Egry Gábor
2005-07-13 20:11 ` Sam Ravnborg
2005-07-13 18:41 ` Egry Gábor
2005-07-13 19:02 ` Linus Torvalds
2005-07-15 17:41 ` Arnaldo Carvalho de Melo
2005-07-13 20:48 ` Sam Ravnborg
2005-07-14 10:03 ` Jan Engelhardt
2005-07-13 20:04 ` Jan Engelhardt
2005-07-13 20:45 ` Sam Ravnborg
2005-07-14 3:42 ` Sam Ravnborg
2005-07-14 0:06 ` Roman Zippel
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1121274790.2975.20.camel@spirit \
--to=gaboregry@t-online.hu \
--cc=acme@conectiva.com.br \
--cc=akpm@osdl.org \
--cc=kernelfr@traduc.org \
--cc=linux-kernel@vger.kernel.org \
--cc=maiurana@inwind.it \
--cc=torvalds@osdl.org \
--cc=zippel@linux-m68k.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®