mirror of https://github.com/MidnightCommander/mc
usermenu: clarify compilation w/o internal editor.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
This commit is contained in:
parent
de1edb72f8
commit
683122482b
|
@ -1785,7 +1785,7 @@ user_menu (WEdit * edit, const char *menu_file, int selected_entry)
|
|||
edit_save_block (edit, block_file, start_mark, end_mark);
|
||||
|
||||
/* run shell scripts from menu */
|
||||
if (user_menu_cmd (edit, menu_file, selected_entry)
|
||||
if (user_menu_cmd (CONST_WIDGET (edit), menu_file, selected_entry)
|
||||
&& (mc_stat (block_file_vpath, &status) == 0) && (status.st_size != 0))
|
||||
{
|
||||
int rc = 0;
|
||||
|
|
|
@ -44,9 +44,10 @@
|
|||
#include "lib/vfs/vfs.h"
|
||||
#include "lib/strutil.h"
|
||||
#include "lib/util.h"
|
||||
#include "lib/widget.h"
|
||||
|
||||
#include "src/editor/edit.h" /* WEdit, BLOCK_FILE */
|
||||
#ifdef USE_INTERNAL_EDIT
|
||||
#include "src/editor/edit.h" /* WEdit */
|
||||
#endif
|
||||
#include "src/viewer/mcviewer.h" /* for default_* externs */
|
||||
|
||||
#include "src/args.h" /* mc_run_param0 */
|
||||
|
@ -219,10 +220,13 @@ test_type (WPanel * panel, char *arg)
|
|||
p. Returns the point after condition. */
|
||||
|
||||
static char *
|
||||
test_condition (const WEdit * edit_widget, char *p, gboolean * condition)
|
||||
test_condition (const Widget * edit_widget, char *p, gboolean * condition)
|
||||
{
|
||||
char arg[256];
|
||||
const mc_search_type_t search_type = easy_patterns ? MC_SEARCH_T_GLOB : MC_SEARCH_T_REGEX;
|
||||
#ifdef USE_INTERNAL_EDIT
|
||||
const WEdit *e = (const WEdit *) edit_widget;
|
||||
#endif
|
||||
|
||||
/* Handle one condition */
|
||||
for (; *p != '\n' && *p != '&' && *p != '|'; p++)
|
||||
|
@ -249,11 +253,11 @@ test_condition (const WEdit * edit_widget, char *p, gboolean * condition)
|
|||
case 'f': /* file name pattern */
|
||||
p = extract_arg (p, arg, sizeof (arg));
|
||||
#ifdef USE_INTERNAL_EDIT
|
||||
if (edit_widget != NULL)
|
||||
if (e != NULL)
|
||||
{
|
||||
const char *edit_filename;
|
||||
|
||||
edit_filename = edit_get_file_name (edit_widget);
|
||||
edit_filename = edit_get_file_name (e);
|
||||
*condition = mc_search (arg, DEFAULT_CHARSET, edit_filename, search_type);
|
||||
}
|
||||
else
|
||||
|
@ -264,11 +268,11 @@ test_condition (const WEdit * edit_widget, char *p, gboolean * condition)
|
|||
break;
|
||||
case 'y': /* syntax pattern */
|
||||
#ifdef USE_INTERNAL_EDIT
|
||||
if (edit_widget != NULL)
|
||||
if (e != NULL)
|
||||
{
|
||||
const char *syntax_type;
|
||||
|
||||
syntax_type = edit_get_syntax_type (edit_widget);
|
||||
syntax_type = edit_get_syntax_type (e);
|
||||
if (syntax_type != NULL)
|
||||
{
|
||||
p = extract_arg (p, arg, sizeof (arg));
|
||||
|
@ -360,7 +364,7 @@ debug_out (char *start, char *end, gboolean condition)
|
|||
the point just before the end of line. */
|
||||
|
||||
static char *
|
||||
test_line (const WEdit * edit_widget, char *p, gboolean * result)
|
||||
test_line (const Widget * edit_widget, char *p, gboolean * result)
|
||||
{
|
||||
char operator;
|
||||
|
||||
|
@ -426,7 +430,7 @@ test_line (const WEdit * edit_widget, char *p, gboolean * result)
|
|||
/** FIXME: recode this routine on version 3.0, it could be cleaner */
|
||||
|
||||
static void
|
||||
execute_menu_command (const WEdit * edit_widget, const char *commands, gboolean show_prompt)
|
||||
execute_menu_command (const Widget * edit_widget, const char *commands, gboolean show_prompt)
|
||||
{
|
||||
FILE *cmd_file;
|
||||
int cmd_file_fd;
|
||||
|
@ -742,7 +746,7 @@ check_format_var (const char *p, char **v)
|
|||
/* --------------------------------------------------------------------------------------------- */
|
||||
|
||||
char *
|
||||
expand_format (const WEdit * edit_widget, char c, gboolean do_quote)
|
||||
expand_format (const Widget * edit_widget, char c, gboolean do_quote)
|
||||
{
|
||||
WPanel *panel = NULL;
|
||||
char *(*quote_func) (const char *, gboolean);
|
||||
|
@ -750,7 +754,9 @@ expand_format (const WEdit * edit_widget, char c, gboolean do_quote)
|
|||
char *result;
|
||||
char c_lc;
|
||||
|
||||
#ifndef USE_INTERNAL_EDIT
|
||||
#ifdef USE_INTERNAL_EDIT
|
||||
const WEdit *e = (const WEdit *) edit_widget;
|
||||
#else
|
||||
(void) edit_widget;
|
||||
#endif
|
||||
|
||||
|
@ -761,8 +767,8 @@ expand_format (const WEdit * edit_widget, char c, gboolean do_quote)
|
|||
{
|
||||
case MC_RUN_FULL:
|
||||
#ifdef USE_INTERNAL_EDIT
|
||||
if (edit_widget != NULL)
|
||||
fname = edit_get_file_name (edit_widget);
|
||||
if (e != NULL)
|
||||
fname = edit_get_file_name (e);
|
||||
else
|
||||
#endif
|
||||
{
|
||||
|
@ -781,7 +787,7 @@ expand_format (const WEdit * edit_widget, char c, gboolean do_quote)
|
|||
|
||||
#ifdef USE_INTERNAL_EDIT
|
||||
case MC_RUN_EDITOR:
|
||||
fname = edit_get_file_name (edit_widget);
|
||||
fname = edit_get_file_name (e);
|
||||
break;
|
||||
#endif
|
||||
|
||||
|
@ -828,29 +834,29 @@ expand_format (const WEdit * edit_widget, char c, gboolean do_quote)
|
|||
}
|
||||
case 'c':
|
||||
#ifdef USE_INTERNAL_EDIT
|
||||
if (edit_widget != NULL)
|
||||
if (e != NULL)
|
||||
{
|
||||
result = g_strdup_printf ("%u", (unsigned int) edit_get_cursor_offset (edit_widget));
|
||||
result = g_strdup_printf ("%u", (unsigned int) edit_get_cursor_offset (e));
|
||||
goto ret;
|
||||
}
|
||||
#endif
|
||||
break;
|
||||
case 'i': /* indent equal number cursor position in line */
|
||||
#ifdef USE_INTERNAL_EDIT
|
||||
if (edit_widget != NULL)
|
||||
if (e != NULL)
|
||||
{
|
||||
result = g_strnfill (edit_get_curs_col (edit_widget), ' ');
|
||||
result = g_strnfill (edit_get_curs_col (e), ' ');
|
||||
goto ret;
|
||||
}
|
||||
#endif
|
||||
break;
|
||||
case 'y': /* syntax type */
|
||||
#ifdef USE_INTERNAL_EDIT
|
||||
if (edit_widget != NULL)
|
||||
if (e != NULL)
|
||||
{
|
||||
const char *syntax_type;
|
||||
|
||||
syntax_type = edit_get_syntax_type (edit_widget);
|
||||
syntax_type = edit_get_syntax_type (e);
|
||||
if (syntax_type != NULL)
|
||||
{
|
||||
result = g_strdup (syntax_type);
|
||||
|
@ -862,7 +868,7 @@ expand_format (const WEdit * edit_widget, char c, gboolean do_quote)
|
|||
case 'k': /* block file name */
|
||||
case 'b': /* block file name / strip extension */
|
||||
#ifdef USE_INTERNAL_EDIT
|
||||
if (edit_widget != NULL)
|
||||
if (e != NULL)
|
||||
{
|
||||
char *file;
|
||||
|
||||
|
@ -880,7 +886,7 @@ expand_format (const WEdit * edit_widget, char c, gboolean do_quote)
|
|||
break;
|
||||
case 'n': /* strip extension in editor */
|
||||
#ifdef USE_INTERNAL_EDIT
|
||||
if (edit_widget != NULL)
|
||||
if (e != NULL)
|
||||
{
|
||||
result = strip_ext (quote_func (fname, FALSE));
|
||||
goto ret;
|
||||
|
@ -950,7 +956,7 @@ expand_format (const WEdit * edit_widget, char c, gboolean do_quote)
|
|||
*/
|
||||
|
||||
gboolean
|
||||
user_menu_cmd (const WEdit * edit_widget, const char *menu_file, int selected_entry)
|
||||
user_menu_cmd (const Widget * edit_widget, const char *menu_file, int selected_entry)
|
||||
{
|
||||
char *p;
|
||||
char *data, **entries;
|
||||
|
|
|
@ -6,8 +6,7 @@
|
|||
#define MC__USERMENU_H
|
||||
|
||||
#include "lib/global.h"
|
||||
|
||||
#include "src/editor/edit.h" /* WEdit */
|
||||
#include "lib/widget.h"
|
||||
|
||||
/*** typedefs(not structures) and defined constants **********************************************/
|
||||
|
||||
|
@ -19,8 +18,8 @@
|
|||
|
||||
/*** declarations of public functions ************************************************************/
|
||||
|
||||
gboolean user_menu_cmd (const WEdit * edit_widget, const char *menu_file, int selected_entry);
|
||||
char *expand_format (const WEdit * edit_widget, char c, gboolean do_quote);
|
||||
gboolean user_menu_cmd (const Widget * edit_widget, const char *menu_file, int selected_entry);
|
||||
char *expand_format (const Widget * edit_widget, char c, gboolean do_quote);
|
||||
int check_format_view (const char *p);
|
||||
int check_format_var (const char *p, char **v);
|
||||
int check_format_cd (const char *p);
|
||||
|
|
Loading…
Reference in New Issue