mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
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:
_



  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®