From patchwork Sat Nov 7 06:45:38 2009 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bernhard Kaindl X-Patchwork-Id: 58302 Received: from vger.kernel.org (vger.kernel.org [209.132.176.167]) by demeter.kernel.org (8.14.2/8.14.2) with ESMTP id nA76koVn029267 for ; Sat, 7 Nov 2009 06:46:50 GMT Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751211AbZKGGp5 (ORCPT ); Sat, 7 Nov 2009 01:45:57 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1751078AbZKGGp4 (ORCPT ); Sat, 7 Nov 2009 01:45:56 -0500 Received: from mail.gmx.net ([213.165.64.20]:45232 "HELO mail.gmx.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with SMTP id S1751100AbZKGGpq (ORCPT ); Sat, 7 Nov 2009 01:45:46 -0500 Received: (qmail invoked by alias); 07 Nov 2009 06:45:51 -0000 Received: from 85-127-140-254.dynamic.xdsl-line.inode.at (EHLO localhost.localdomain) [85.127.140.254] by mail.gmx.net (mp006) with SMTP; 07 Nov 2009 07:45:51 +0100 X-Authenticated: #154622 X-Provags-ID: V01U2FsdGVkX19J2Hw4Sp9JrMOOZW1d3rFTDT4oFZPHhCWny7dUOT MbROlsznmkQSgV From: Bernhard Kaindl To: linux-kernel@vger.kernel.org Cc: Bernhard Kaindl , linux-kbuild@vger.kernel.org Subject: [PATCH 2/4] menuconfig: allow editing of remarks for config symbols Date: Sat, 7 Nov 2009 07:45:38 +0100 Message-Id: <617c40ae9e206b4f246998fe075644c752bc0bc3.1256767265.git.aragorn@Anduril.ringwar.org> X-Mailer: git-send-email 1.6.5.2 In-Reply-To: References: In-Reply-To: References: X-Y-GMX-Trusted: 0 X-FuHaFi: 0.49 Sender: linux-kbuild-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kbuild@vger.kernel.org diff --git a/scripts/kconfig/lxdialog/menubox.c b/scripts/kconfig/lxdialog/menubox.c index fa9d633..6b6bc48 100644 --- a/scripts/kconfig/lxdialog/menubox.c +++ b/scripts/kconfig/lxdialog/menubox.c @@ -383,6 +383,7 @@ do_resize: case 'n': case 'm': case '/': + case '<': /* save scroll info */ *s_scroll = scroll; delwin(menu); @@ -402,6 +403,8 @@ do_resize: return 6; case '/': return 7; + case '<': + return 8; } return 0; case 'h': diff --git a/scripts/kconfig/mconf.c b/scripts/kconfig/mconf.c index d829535..50a9b10 100644 --- a/scripts/kconfig/mconf.c +++ b/scripts/kconfig/mconf.c @@ -276,6 +276,7 @@ static int single_menu_mode; static void conf(struct menu *menu); static void conf_choice(struct menu *menu); static void conf_string(struct menu *menu); +static void conf_remark(struct menu *menu); static void conf_load(void); static void conf_save(void); static void show_textbox(const char *title, const char *text, int r, int c); @@ -619,6 +620,9 @@ static void conf(struct menu *menu) case 7: search_conf(); break; + case 8: + conf_remark(submenu); + break; } } } @@ -743,6 +747,53 @@ static void conf_string(struct menu *menu) } } +/** + * Based on conf_string(), this edits the remark for a config symbol + */ +static void conf_remark(struct menu *menu) +{ + const char *prompt = menu_get_prompt(menu); + + if (!prompt || !menu->sym) { + show_textbox(NULL, + N_("Editing comments for menus without a config symbol\n" + "is currently not supported."), 6, 63); + return; + } + + while (1) { + int res; + dialog_clear(); + res = dialog_inputbox(prompt ? _(prompt) : _("Main Menu"), + _("Edit the remark below"), 10, 75, + menu->sym->remark); + switch (res) { + case 0: + if (!dialog_input_result[0] && !menu->sym->remark) + return; + if (menu->sym->remark) { + if (!strcmp(menu->sym->remark, dialog_input_result)) + return; + free(menu->sym->remark); + } + if (dialog_input_result[0]) { + menu->sym->remark = strdup(dialog_input_result); + } else { + menu->sym->remark = NULL; + } + /* Write new .config{,-remarks} on exit: */ + sym_add_change_count(1); + sym_clear_all_valid(); + return; + case 1: + show_help(menu); + break; + case KEY_ESC: + return; + } + } +} + static void conf_load(void) {