mirror of
https://github.com/MidnightCommander/mc
synced 2024-12-22 20:36:50 +03:00
Reafctor panel format storage: use GSList.
Rename structure. Constify some function arguments. Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
This commit is contained in:
parent
27470f3989
commit
3e92c40a38
@ -129,11 +129,10 @@ typedef enum
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* This describes a format item. The parse_display_format routine parses
|
* This describes a format item. The parse_display_format routine parses
|
||||||
* the user specified format and creates a linked list of format_e structures.
|
* the user specified format and creates a linked list of format_item_t structures.
|
||||||
*/
|
*/
|
||||||
typedef struct format_e
|
typedef struct format_item_t
|
||||||
{
|
{
|
||||||
struct format_e *next;
|
|
||||||
int requested_field_len;
|
int requested_field_len;
|
||||||
int field_len;
|
int field_len;
|
||||||
align_crt_t just_mode;
|
align_crt_t just_mode;
|
||||||
@ -141,7 +140,7 @@ typedef struct format_e
|
|||||||
const char *(*string_fn) (file_entry_t *, int len);
|
const char *(*string_fn) (file_entry_t *, int len);
|
||||||
char *title;
|
char *title;
|
||||||
const char *id;
|
const char *id;
|
||||||
} format_e;
|
} format_item_t;
|
||||||
|
|
||||||
/* File name scroll states */
|
/* File name scroll states */
|
||||||
typedef enum
|
typedef enum
|
||||||
@ -385,18 +384,13 @@ set_colors (const WPanel * panel)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* --------------------------------------------------------------------------------------------- */
|
/* --------------------------------------------------------------------------------------------- */
|
||||||
/** Delete format string, it is a linked list */
|
/** Delete format_item_t object */
|
||||||
|
|
||||||
static void
|
static void
|
||||||
delete_format (format_e * format)
|
format_item_free (format_item_t * format)
|
||||||
{
|
{
|
||||||
while (format != NULL)
|
g_free (format->title);
|
||||||
{
|
g_free (format);
|
||||||
format_e *next = format->next;
|
|
||||||
g_free (format->title);
|
|
||||||
g_free (format);
|
|
||||||
format = next;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* --------------------------------------------------------------------------------------------- */
|
/* --------------------------------------------------------------------------------------------- */
|
||||||
@ -797,7 +791,7 @@ format_file (WPanel * panel, int file_index, int width, int attr, gboolean issta
|
|||||||
{
|
{
|
||||||
int color = NORMAL_COLOR;
|
int color = NORMAL_COLOR;
|
||||||
int length = 0;
|
int length = 0;
|
||||||
format_e *format, *home;
|
GSList *format, *home;
|
||||||
file_entry_t *fe = NULL;
|
file_entry_t *fe = NULL;
|
||||||
filename_scroll_flag_t res = FILENAME_NOSCROLL;
|
filename_scroll_flag_t res = FILENAME_NOSCROLL;
|
||||||
|
|
||||||
@ -811,9 +805,11 @@ format_file (WPanel * panel, int file_index, int width, int attr, gboolean issta
|
|||||||
|
|
||||||
home = isstatus ? panel->status_format : panel->format;
|
home = isstatus ? panel->status_format : panel->format;
|
||||||
|
|
||||||
for (format = home; format != NULL && length != width; format = format->next)
|
for (format = home; format != NULL && length != width; format = g_slist_next (format))
|
||||||
{
|
{
|
||||||
if (format->string_fn != NULL)
|
format_item_t *fi = (format_item_t *) format->data;
|
||||||
|
|
||||||
|
if (fi->string_fn != NULL)
|
||||||
{
|
{
|
||||||
const char *txt = " ";
|
const char *txt = " ";
|
||||||
int len, perm = 0;
|
int len, perm = 0;
|
||||||
@ -821,15 +817,15 @@ format_file (WPanel * panel, int file_index, int width, int attr, gboolean issta
|
|||||||
int name_offset = 0;
|
int name_offset = 0;
|
||||||
|
|
||||||
if (fe != NULL)
|
if (fe != NULL)
|
||||||
txt = format->string_fn (fe, format->field_len);
|
txt = fi->string_fn (fe, fi->field_len);
|
||||||
|
|
||||||
len = format->field_len;
|
len = fi->field_len;
|
||||||
if (len + length > width)
|
if (len + length > width)
|
||||||
len = width - length;
|
len = width - length;
|
||||||
if (len <= 0)
|
if (len <= 0)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
if (!isstatus && panel->content_shift > -1 && strcmp (format->id, "name") == 0)
|
if (!isstatus && panel->content_shift > -1 && strcmp (fi->id, "name") == 0)
|
||||||
{
|
{
|
||||||
int str_len;
|
int str_len;
|
||||||
int i;
|
int i;
|
||||||
@ -855,9 +851,9 @@ format_file (WPanel * panel, int file_index, int width, int attr, gboolean issta
|
|||||||
|
|
||||||
if (panels_options.permission_mode)
|
if (panels_options.permission_mode)
|
||||||
{
|
{
|
||||||
if (strcmp (format->id, "perm") == 0)
|
if (strcmp (fi->id, "perm") == 0)
|
||||||
perm = 1;
|
perm = 1;
|
||||||
else if (strcmp (format->id, "mode") == 0)
|
else if (strcmp (fi->id, "mode") == 0)
|
||||||
perm = 2;
|
perm = 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -867,14 +863,12 @@ format_file (WPanel * panel, int file_index, int width, int attr, gboolean issta
|
|||||||
tty_lowlevel_setcolor (-color);
|
tty_lowlevel_setcolor (-color);
|
||||||
|
|
||||||
if (!isstatus && panel->content_shift > -1)
|
if (!isstatus && panel->content_shift > -1)
|
||||||
prepared_text =
|
prepared_text = str_fit_to_term (txt + name_offset, len, HIDE_FIT (fi->just_mode));
|
||||||
str_fit_to_term (txt + name_offset, len, HIDE_FIT (format->just_mode));
|
|
||||||
else
|
else
|
||||||
prepared_text = str_fit_to_term (txt, len, format->just_mode);
|
prepared_text = str_fit_to_term (txt, len, fi->just_mode);
|
||||||
|
|
||||||
if (perm != 0 && fe != NULL)
|
if (perm != 0 && fe != NULL)
|
||||||
add_permission_string (prepared_text, format->field_len, fe, attr, color,
|
add_permission_string (prepared_text, fi->field_len, fe, attr, color, perm != 1);
|
||||||
perm != 1);
|
|
||||||
else
|
else
|
||||||
tty_print_string (prepared_text);
|
tty_print_string (prepared_text);
|
||||||
|
|
||||||
@ -1498,8 +1492,8 @@ panel_destroy (WPanel * p)
|
|||||||
}
|
}
|
||||||
g_free (p->hist_name);
|
g_free (p->hist_name);
|
||||||
|
|
||||||
delete_format (p->format);
|
g_slist_free_full (p->format, (GDestroyNotify) format_item_free);
|
||||||
delete_format (p->status_format);
|
g_slist_free_full (p->status_format, (GDestroyNotify) format_item_free);
|
||||||
|
|
||||||
g_free (p->user_format);
|
g_free (p->user_format);
|
||||||
for (i = 0; i < LIST_FORMATS; i++)
|
for (i = 0; i < LIST_FORMATS; i++)
|
||||||
@ -1573,23 +1567,24 @@ panel_print_header (const WPanel * panel)
|
|||||||
|
|
||||||
for (i = 0; i < panel->list_cols; i++)
|
for (i = 0; i < panel->list_cols; i++)
|
||||||
{
|
{
|
||||||
format_e *format;
|
GSList *format;
|
||||||
|
|
||||||
for (format = panel->format; format != NULL; format = format->next)
|
for (format = panel->format; format != NULL; format = g_slist_next (format))
|
||||||
{
|
{
|
||||||
if (format->string_fn != NULL)
|
format_item_t *fi = (format_item_t *) format->data;
|
||||||
|
|
||||||
|
if (fi->string_fn != NULL)
|
||||||
{
|
{
|
||||||
g_string_set_size (format_txt, 0);
|
g_string_set_size (format_txt, 0);
|
||||||
|
|
||||||
if (panel->list_format == list_long
|
if (panel->list_format == list_long && strcmp (fi->id, panel->sort_field->id) == 0)
|
||||||
&& strcmp (format->id, panel->sort_field->id) == 0)
|
|
||||||
g_string_append (format_txt,
|
g_string_append (format_txt,
|
||||||
panel->sort_info.reverse
|
panel->sort_info.reverse
|
||||||
? panel_sort_up_sign : panel_sort_down_sign);
|
? panel_sort_up_sign : panel_sort_down_sign);
|
||||||
|
|
||||||
g_string_append (format_txt, format->title);
|
g_string_append (format_txt, fi->title);
|
||||||
|
|
||||||
if (panel->filter != NULL && strcmp (format->id, "name") == 0)
|
if (panel->filter != NULL && strcmp (fi->id, "name") == 0)
|
||||||
{
|
{
|
||||||
g_string_append (format_txt, " [");
|
g_string_append (format_txt, " [");
|
||||||
g_string_append (format_txt, panel->filter);
|
g_string_append (format_txt, panel->filter);
|
||||||
@ -1597,8 +1592,7 @@ panel_print_header (const WPanel * panel)
|
|||||||
}
|
}
|
||||||
|
|
||||||
tty_setcolor (HEADER_COLOR);
|
tty_setcolor (HEADER_COLOR);
|
||||||
tty_print_string (str_fit_to_term (format_txt->str, format->field_len,
|
tty_print_string (str_fit_to_term (format_txt->str, fi->field_len, J_CENTER_LEFT));
|
||||||
J_CENTER_LEFT));
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -1666,28 +1660,30 @@ parse_panel_size (WPanel * panel, const char *format, gboolean isstatus)
|
|||||||
return skip_separators (format);
|
return skip_separators (format);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* --------------------------------------------------------------------------------------------- */
|
||||||
|
|
||||||
|
/* *INDENT-OFF* */
|
||||||
/* Format is:
|
/* Format is:
|
||||||
|
|
||||||
all := panel_format? format
|
all := panel_format? format
|
||||||
panel_format := [full|half] [1-9]
|
panel_format := [full|half] [1-9]
|
||||||
format := one_format_e
|
format := one_format_item_t
|
||||||
| format , one_format_e
|
| format , one_format_item_t
|
||||||
|
|
||||||
one_format_e := just format.id [opt_size]
|
one_format_item_t := just format.id [opt_size]
|
||||||
just := [<=>]
|
just := [<=>]
|
||||||
opt_size := : size [opt_expand]
|
opt_size := : size [opt_expand]
|
||||||
size := [0-9]+
|
size := [0-9]+
|
||||||
opt_expand := +
|
opt_expand := +
|
||||||
|
|
||||||
*/
|
*/
|
||||||
|
/* *INDENT-ON* */
|
||||||
|
|
||||||
/* --------------------------------------------------------------------------------------------- */
|
static GSList *
|
||||||
|
|
||||||
static format_e *
|
|
||||||
parse_display_format (WPanel * panel, const char *format, char **error, gboolean isstatus,
|
parse_display_format (WPanel * panel, const char *format, char **error, gboolean isstatus,
|
||||||
int *res_total_cols)
|
int *res_total_cols)
|
||||||
{
|
{
|
||||||
format_e *darr, *old = NULL, *home = NULL; /* The formats we return */
|
GSList *home = NULL; /* The formats we return */
|
||||||
int total_cols = 0; /* Used columns by the format */
|
int total_cols = 0; /* Used columns by the format */
|
||||||
size_t i;
|
size_t i;
|
||||||
|
|
||||||
@ -1712,19 +1708,13 @@ parse_display_format (WPanel * panel, const char *format, char **error, gboolean
|
|||||||
|
|
||||||
while (*format != '\0')
|
while (*format != '\0')
|
||||||
{ /* format can be an empty string */
|
{ /* format can be an empty string */
|
||||||
|
format_item_t *darr;
|
||||||
align_crt_t justify; /* Which mode. */
|
align_crt_t justify; /* Which mode. */
|
||||||
gboolean set_justify = TRUE; /* flag: set justification mode? */
|
gboolean set_justify = TRUE; /* flag: set justification mode? */
|
||||||
gboolean found = FALSE;
|
gboolean found = FALSE;
|
||||||
|
|
||||||
darr = g_new0 (format_e, 1);
|
darr = g_new0 (format_item_t, 1);
|
||||||
|
home = g_slist_append (home, darr);
|
||||||
/* I'm so ugly, don't look at me :-) */
|
|
||||||
if (home == NULL)
|
|
||||||
home = old = darr;
|
|
||||||
|
|
||||||
old->next = darr;
|
|
||||||
darr->next = NULL;
|
|
||||||
old = darr;
|
|
||||||
|
|
||||||
format = skip_separators (format);
|
format = skip_separators (format);
|
||||||
|
|
||||||
@ -1815,7 +1805,7 @@ parse_display_format (WPanel * panel, const char *format, char **error, gboolean
|
|||||||
pos = 8;
|
pos = 8;
|
||||||
|
|
||||||
tmp_format = g_strndup (format, pos);
|
tmp_format = g_strndup (format, pos);
|
||||||
delete_format (home);
|
g_slist_free_full (home, (GDestroyNotify) format_item_free);
|
||||||
*error =
|
*error =
|
||||||
g_strconcat (_("Unknown tag on display format:"), " ", tmp_format, (char *) NULL);
|
g_strconcat (_("Unknown tag on display format:"), " ", tmp_format, (char *) NULL);
|
||||||
g_free (tmp_format);
|
g_free (tmp_format);
|
||||||
@ -1832,14 +1822,14 @@ parse_display_format (WPanel * panel, const char *format, char **error, gboolean
|
|||||||
|
|
||||||
/* --------------------------------------------------------------------------------------------- */
|
/* --------------------------------------------------------------------------------------------- */
|
||||||
|
|
||||||
static format_e *
|
static GSList *
|
||||||
use_display_format (WPanel * panel, const char *format, char **error, gboolean isstatus)
|
use_display_format (WPanel * panel, const char *format, char **error, gboolean isstatus)
|
||||||
{
|
{
|
||||||
#define MAX_EXPAND 4
|
#define MAX_EXPAND 4
|
||||||
int expand_top = 0; /* Max used element in expand */
|
int expand_top = 0; /* Max used element in expand */
|
||||||
int usable_columns; /* Usable columns in the panel */
|
int usable_columns; /* Usable columns in the panel */
|
||||||
int total_cols = 0;
|
int total_cols = 0;
|
||||||
format_e *darr, *home;
|
GSList *darr, *home;
|
||||||
|
|
||||||
if (format == NULL)
|
if (format == NULL)
|
||||||
format = DEFAULT_USER_FORMAT;
|
format = DEFAULT_USER_FORMAT;
|
||||||
@ -1861,10 +1851,12 @@ use_display_format (WPanel * panel, const char *format, char **error, gboolean i
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Look for the expandable fields and set field_len based on the requested field len */
|
/* Look for the expandable fields and set field_len based on the requested field len */
|
||||||
for (darr = home; darr != NULL && expand_top < MAX_EXPAND; darr = darr->next)
|
for (darr = home; darr != NULL && expand_top < MAX_EXPAND; darr = g_slist_next (darr))
|
||||||
{
|
{
|
||||||
darr->field_len = darr->requested_field_len;
|
format_item_t *fi = (format_item_t *) darr->data;
|
||||||
if (darr->expand)
|
|
||||||
|
fi->field_len = fi->requested_field_len;
|
||||||
|
if (fi->expand)
|
||||||
expand_top++;
|
expand_top++;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1880,12 +1872,16 @@ use_display_format (WPanel * panel, const char *format, char **error, gboolean i
|
|||||||
{
|
{
|
||||||
pdif = dif;
|
pdif = dif;
|
||||||
|
|
||||||
for (darr = home; darr; darr = darr->next)
|
for (darr = home; darr != NULL; darr = g_slist_next (darr))
|
||||||
if (dif != 0 && darr->field_len != 1)
|
{
|
||||||
|
format_item_t *fi = (format_item_t *) darr->data;
|
||||||
|
|
||||||
|
if (dif != 0 && fi->field_len != 1)
|
||||||
{
|
{
|
||||||
darr->field_len--;
|
fi->field_len--;
|
||||||
dif--;
|
dif--;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
total_cols = usable_columns; /* give up, the rest should be truncated */
|
total_cols = usable_columns; /* give up, the rest should be truncated */
|
||||||
@ -1899,15 +1895,20 @@ use_display_format (WPanel * panel, const char *format, char **error, gboolean i
|
|||||||
|
|
||||||
spaces = (usable_columns - total_cols) / expand_top;
|
spaces = (usable_columns - total_cols) / expand_top;
|
||||||
|
|
||||||
for (i = 0, darr = home; darr && (i < expand_top); darr = darr->next)
|
for (i = 0, darr = home; darr != NULL && i < expand_top; darr = g_slist_next (darr))
|
||||||
if (darr->expand)
|
{
|
||||||
|
format_item_t *fi = (format_item_t *) darr->data;
|
||||||
|
|
||||||
|
if (fi->expand)
|
||||||
{
|
{
|
||||||
darr->field_len += spaces;
|
fi->field_len += spaces;
|
||||||
if (i == 0)
|
if (i == 0)
|
||||||
darr->field_len += (usable_columns - total_cols) % expand_top;
|
fi->field_len += (usable_columns - total_cols) % expand_top;
|
||||||
i++;
|
i++;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return home;
|
return home;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2982,33 +2983,20 @@ chdir_to_readlink (WPanel * panel)
|
|||||||
move_down (panel);
|
move_down (panel);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* --------------------------------------------------------------------------------------------- */
|
|
||||||
|
|
||||||
static gsize
|
|
||||||
panel_get_format_field_count (WPanel * panel)
|
|
||||||
{
|
|
||||||
format_e *format;
|
|
||||||
gsize lc_index;
|
|
||||||
|
|
||||||
for (lc_index = 0, format = panel->format; format != NULL; format = format->next, lc_index++)
|
|
||||||
;
|
|
||||||
|
|
||||||
return lc_index;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* --------------------------------------------------------------------------------------------- */
|
/* --------------------------------------------------------------------------------------------- */
|
||||||
/**
|
/**
|
||||||
function return 0 if not found and REAL_INDEX+1 if found
|
function return 0 if not found and REAL_INDEX+1 if found
|
||||||
*/
|
*/
|
||||||
|
|
||||||
static gsize
|
static gsize
|
||||||
panel_get_format_field_index_by_name (WPanel * panel, const char *name)
|
panel_get_format_field_index_by_name (const WPanel * panel, const char *name)
|
||||||
{
|
{
|
||||||
format_e *format;
|
GSList *format;
|
||||||
gsize lc_index;
|
gsize lc_index;
|
||||||
|
|
||||||
for (lc_index = 1, format = panel->format;
|
for (lc_index = 1, format = panel->format;
|
||||||
format != NULL && strcmp (format->title, name) != 0; format = format->next, lc_index++)
|
format != NULL && strcmp (((format_item_t *) format->data)->title, name) != 0;
|
||||||
|
format = g_slist_next (format), lc_index++)
|
||||||
;
|
;
|
||||||
|
|
||||||
if (format == NULL)
|
if (format == NULL)
|
||||||
@ -3019,26 +3007,13 @@ panel_get_format_field_index_by_name (WPanel * panel, const char *name)
|
|||||||
|
|
||||||
/* --------------------------------------------------------------------------------------------- */
|
/* --------------------------------------------------------------------------------------------- */
|
||||||
|
|
||||||
static format_e *
|
|
||||||
panel_get_format_field_by_index (WPanel * panel, gsize lc_index)
|
|
||||||
{
|
|
||||||
format_e *format;
|
|
||||||
|
|
||||||
for (format = panel->format; format != NULL && lc_index != 0; format = format->next, lc_index--)
|
|
||||||
;
|
|
||||||
|
|
||||||
return format;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* --------------------------------------------------------------------------------------------- */
|
|
||||||
|
|
||||||
static const panel_field_t *
|
static const panel_field_t *
|
||||||
panel_get_sortable_field_by_format (WPanel * panel, gsize lc_index)
|
panel_get_sortable_field_by_format (const WPanel * panel, gsize lc_index)
|
||||||
{
|
{
|
||||||
const panel_field_t *pfield;
|
const panel_field_t *pfield;
|
||||||
format_e *format;
|
const format_item_t *format;
|
||||||
|
|
||||||
format = panel_get_format_field_by_index (panel, lc_index);
|
format = (const format_item_t *) g_slist_nth_data (panel->format, lc_index);
|
||||||
if (format == NULL)
|
if (format == NULL)
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
@ -3073,7 +3048,7 @@ panel_toggle_sort_order_prev (WPanel * panel)
|
|||||||
if (pfield == NULL)
|
if (pfield == NULL)
|
||||||
{
|
{
|
||||||
/* Sortable field not found. Try to search in each array */
|
/* Sortable field not found. Try to search in each array */
|
||||||
for (i = panel_get_format_field_count (panel);
|
for (i = g_slist_length (panel->format);
|
||||||
i != 0 && (pfield = panel_get_sortable_field_by_format (panel, i - 1)) == NULL; i--)
|
i != 0 && (pfield = panel_get_sortable_field_by_format (panel, i - 1)) == NULL; i--)
|
||||||
;
|
;
|
||||||
}
|
}
|
||||||
@ -3095,7 +3070,7 @@ panel_toggle_sort_order_next (WPanel * panel)
|
|||||||
gsize format_field_count;
|
gsize format_field_count;
|
||||||
const char *title;
|
const char *title;
|
||||||
|
|
||||||
format_field_count = panel_get_format_field_count (panel);
|
format_field_count = g_slist_length (panel->format);
|
||||||
title = panel_get_title_without_hotkey (panel->sort_field->title_hotkey);
|
title = panel_get_title_without_hotkey (panel->sort_field->title_hotkey);
|
||||||
lc_index = panel_get_format_field_index_by_name (panel, title);
|
lc_index = panel_get_format_field_index_by_name (panel, title);
|
||||||
|
|
||||||
@ -3784,18 +3759,20 @@ mark_if_marking (WPanel * panel, const mouse_event_t * event)
|
|||||||
static void
|
static void
|
||||||
mouse_sort_col (WPanel * panel, int x)
|
mouse_sort_col (WPanel * panel, int x)
|
||||||
{
|
{
|
||||||
int i;
|
int i = 0;
|
||||||
|
GSList *format = panel->format;
|
||||||
const char *lc_sort_name = NULL;
|
const char *lc_sort_name = NULL;
|
||||||
panel_field_t *col_sort_format = NULL;
|
panel_field_t *col_sort_format = NULL;
|
||||||
format_e *format;
|
|
||||||
|
|
||||||
for (i = 0, format = panel->format; format != NULL; format = format->next)
|
for (; format != NULL; format = g_slist_next (format))
|
||||||
{
|
{
|
||||||
i += format->field_len;
|
format_item_t *fi = (format_item_t *) format->data;
|
||||||
|
|
||||||
|
i += fi->field_len;
|
||||||
if (x < i + 1)
|
if (x < i + 1)
|
||||||
{
|
{
|
||||||
/* found column */
|
/* found column */
|
||||||
lc_sort_name = format->title;
|
lc_sort_name = fi->title;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -4455,7 +4432,7 @@ panel_reload (WPanel * panel)
|
|||||||
int
|
int
|
||||||
set_panel_formats (WPanel * p)
|
set_panel_formats (WPanel * p)
|
||||||
{
|
{
|
||||||
format_e *form;
|
GSList *form;
|
||||||
char *err = NULL;
|
char *err = NULL;
|
||||||
int retcode = 0;
|
int retcode = 0;
|
||||||
|
|
||||||
@ -4468,7 +4445,7 @@ set_panel_formats (WPanel * p)
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
delete_format (p->format);
|
g_slist_free_full (p->format, (GDestroyNotify) format_item_free);
|
||||||
p->format = form;
|
p->format = form;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -4483,7 +4460,7 @@ set_panel_formats (WPanel * p)
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
delete_format (p->status_format);
|
g_slist_free_full (p->status_format, (GDestroyNotify) format_item_free);
|
||||||
p->status_format = form;
|
p->status_format = form;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -67,8 +67,6 @@ enum cd_enum
|
|||||||
|
|
||||||
/*** structures declarations (and typedefs of structures)*****************************************/
|
/*** structures declarations (and typedefs of structures)*****************************************/
|
||||||
|
|
||||||
struct format_e;
|
|
||||||
|
|
||||||
typedef struct panel_field_struct
|
typedef struct panel_field_struct
|
||||||
{
|
{
|
||||||
const char *id;
|
const char *id;
|
||||||
@ -122,8 +120,8 @@ typedef struct
|
|||||||
char *user_format; /* User format */
|
char *user_format; /* User format */
|
||||||
char *user_status_format[LIST_FORMATS]; /* User format for status line */
|
char *user_status_format[LIST_FORMATS]; /* User format for status line */
|
||||||
|
|
||||||
struct format_e *format; /* Display format */
|
GSList *format; /* Display format */
|
||||||
struct format_e *status_format; /* Mini status format */
|
GSList *status_format; /* Mini status format */
|
||||||
|
|
||||||
char *panel_name; /* The panel name */
|
char *panel_name; /* The panel name */
|
||||||
struct stat dir_stat; /* Stat of current dir: used by execute () */
|
struct stat dir_stat; /* Stat of current dir: used by execute () */
|
||||||
|
Loading…
Reference in New Issue
Block a user