From 04a8d1c040869920366eebb76a861ddca42973f6 Mon Sep 17 00:00:00 2001 From: David Lawrence Ramsey Date: Tue, 28 Sep 2004 22:14:58 +0000 Subject: [PATCH] add a multibuffer mode toggle to the "Execute Command" prompt, for consistency with the "Read File" prompt git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@1952 35c25a1d-7b9e-4130-9fde-d3aeb78583b8 --- ChangeLog | 3 +++ src/files.c | 26 ++++++++++++++++++++++++-- src/global.c | 7 ++++++- 3 files changed, 33 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index 7a2084c0..a9349bfe 100644 --- a/ChangeLog +++ b/ChangeLog @@ -54,6 +54,9 @@ CVS code - extended keypad values. This is needed for UTF-8 support. Changes to get_kbinput(), get_translated_kbinput(), get_shortcut(), get_edit_input(), etc. (DLR) + - Add a multibuffer mode toggle to the "Execute Command" prompt, + for consistency with the "Read File" prompt. Changes to + do_insertfile() and shortcut_init(). (DLR) - files.c: do_insertfile() - Readd the NANO_SMALL #ifdef around the start_again: label to diff --git a/src/files.c b/src/files.c index e356c4e7..76190402 100644 --- a/src/files.c +++ b/src/files.c @@ -494,6 +494,7 @@ void do_insertfile(void) else #endif msg = N_("File to insert [from %s] "); + i = statusq(TRUE, insertfile_list, ans, #ifndef NANO_SMALL NULL, @@ -520,8 +521,29 @@ void do_insertfile(void) } #endif /* ENABLE_MULTIBUFFER */ if (i == NANO_EXTCMD_KEY) { - int j = statusq(TRUE, extcmd_list, ans, NULL, - _("Command to execute")); + int j; + + exec_again: /* Go here when the user toggles multibuffer mode. */ + +#ifdef ENABLE_MULTIBUFFER + if (ISSET(MULTIBUFFER)) + msg = N_("Command to execute in new buffer"); + else +#endif + msg = N_("Command to execute"); + + j = statusq(TRUE, extcmd_list, ans, NULL, _(msg)); + +#ifdef ENABLE_MULTIBUFFER + if (j == TOGGLE_MULTIBUFFER_KEY) { + /* Don't allow toggling if we're in view mode. */ + if (!ISSET(VIEW_MODE)) { + TOGGLE(MULTIBUFFER); + ans = mallocstrcpy(NULL, answer); + } + goto exec_again; + } +#endif if (j == -1 || answer == NULL || answer[0] == '\0') goto start_again; diff --git a/src/global.c b/src/global.c index 90225378..2d852271 100644 --- a/src/global.c +++ b/src/global.c @@ -247,6 +247,7 @@ void shortcut_init(int unjustify) const char *regexp_msg = N_("Regexp"); #endif const char *history_msg = N_("History"); + const char *new_buffer_msg = N_("New Buffer"); #endif /* !NANO_SMALL */ #ifndef DISABLE_BROWSER const char *to_files_msg = N_("To Files"); @@ -898,7 +899,7 @@ void shortcut_init(int unjustify) * disabled. It's useless since inserting files is disabled. */ /* Translators: try to keep this string under 22 characters long */ if (!ISSET(RESTRICTED)) - sc_init_one(&insertfile_list, NANO_NO_KEY, N_("New Buffer"), + sc_init_one(&insertfile_list, NANO_NO_KEY, new_buffer_msg, IFHELP(nano_multibuffer_msg, TOGGLE_MULTIBUFFER_KEY), NANO_NO_KEY, NANO_NO_KEY, NOVIEW, 0); #endif @@ -938,6 +939,10 @@ void shortcut_init(int unjustify) sc_init_one(&extcmd_list, NANO_CANCEL_KEY, cancel_msg, IFHELP(nano_cancel_msg, NANO_NO_KEY), NANO_NO_KEY, NANO_NO_KEY, VIEW, 0); + + sc_init_one(&extcmd_list, NANO_NO_KEY, new_buffer_msg, + IFHELP(nano_multibuffer_msg, TOGGLE_MULTIBUFFER_KEY), NANO_NO_KEY, + NANO_NO_KEY, NOVIEW, 0); #endif #ifndef DISABLE_BROWSER -- 2.39.5