diff options
Diffstat (limited to 'packages/mc/mc-4.6.2/mc-utf8-look-and-feel.patch')
-rw-r--r-- | packages/mc/mc-4.6.2/mc-utf8-look-and-feel.patch | 206 |
1 files changed, 0 insertions, 206 deletions
diff --git a/packages/mc/mc-4.6.2/mc-utf8-look-and-feel.patch b/packages/mc/mc-4.6.2/mc-utf8-look-and-feel.patch deleted file mode 100644 index 83ad60135d..0000000000 --- a/packages/mc/mc-4.6.2/mc-utf8-look-and-feel.patch +++ /dev/null @@ -1,206 +0,0 @@ -Index: mc-4.6.2~git20080311/src/main.c -================================================================================ ---- mc-4.6.2/src/main.c -+++ mc-4.6.2/src/main.c -@@ -276,6 +276,9 @@ - /* The user's shell */ - const char *shell = NULL; - -+/* Is the LANG UTF-8 ? */ -+gboolean is_utf8 = FALSE; -+ - /* mc_home: The home of MC */ - char *mc_home = NULL; - -@@ -2126,6 +2129,16 @@ - int - main (int argc, char *argv[]) - { -+ /* Check whether we have UTF-8 locale */ -+ char *lang = getenv("LANG"); -+ size_t len = 0; -+ -+ if ( lang ) -+ len = strlen(lang); -+ -+ if ( len >= 5 && !strcasecmp(&lang[len-5],"UTF-8") ) -+ is_utf8 = TRUE; -+ - /* We had LC_CTYPE before, LC_ALL includs LC_TYPE as well */ - setlocale (LC_ALL, ""); - bindtextdomain ("mc", LOCALEDIR); ---- mc-4.6.2/src/main.h -+++ mc-4.6.2/src/main.h -@@ -69,6 +69,7 @@ - extern int only_leading_plus_minus; - extern int output_starts_shell; - extern int midnight_shutdown; -+extern gboolean is_utf8; - extern char cmd_buf [512]; - extern const char *shell; - ---- mc-4.6.2/src/screen.c -+++ mc-4.6.2/src/screen.c -@@ -892,6 +892,9 @@ - } - #endif /* HAVE_SLANG */ - -+ vscrollbar (panel->widget, panel->widget.lines, panel->widget.cols-1, 2, 2, -+ panel->selected, panel->count, TRUE); -+ - if (panel->active) - attrset (REVERSE_COLOR); - -@@ -1493,7 +1496,7 @@ - panel->dirty = 1; - - /* Status needn't to be split */ -- usable_columns = ((panel->widget.cols-2)/((isstatus) -+ usable_columns = ((panel->widget.cols-3)/((isstatus) - ? 1 - : (panel->split+1))) - (!isstatus && panel->split); - ---- mc-4.6.2/src/widget.c -+++ mc-4.6.2/src/widget.c -@@ -1944,52 +1944,86 @@ - return in; - } - -- --/* Listbox widget */ -+/* Vertical scrollbar widget */ - --/* Should draw the scrollbar, but currently draws only -- * indications that there is more information -- */ --static int listbox_cdiff (WLEntry *s, WLEntry *e); -- --static void --listbox_drawscroll (WListbox *l) -+void -+vscrollbar (Widget widget, int height, int width, int tpad, int bpad, -+ int selected, int count, gboolean color) - { - int line; -- int i, top; -- int max_line = l->height-1; -- -+ int i; -+ - /* Are we at the top? */ -- widget_move (&l->widget, 0, l->width); -- if (l->list == l->top) -- one_vline (); -+ widget_move (&widget, tpad, width); -+#ifndef UTF8 -+ if (!selected) -+ one_vline (); - else -- addch ('^'); -+ addch ('^'); -+#else -+ if (color) attrset (MARKED_COLOR); -+ if (is_utf8) -+ SLsmg_write_string("▴"); -+ else -+ addch ('^'); -+ if (color) attrset (NORMAL_COLOR); -+#endif - - /* Are we at the bottom? */ -- widget_move (&l->widget, max_line, l->width); -- top = listbox_cdiff (l->list, l->top); -- if ((top + l->height == l->count) || l->height >= l->count) -- one_vline (); -+ widget_move (&widget, height-1-bpad, width); -+#ifndef UTF8 -+ if (selected == count-1) -+ one_vline (); -+ else -+ addch ('v'); -+#else -+ if (color) attrset (MARKED_COLOR); -+ if (is_utf8) -+ SLsmg_write_string("▾"); - else -- addch ('v'); -+ addch('v'); -+ if (color) attrset (NORMAL_COLOR); -+#endif - - /* Now draw the nice relative pointer */ -- if (l->count) -- line = 1+ ((l->pos * (l->height-2)) / l->count); -+ if (count > 1) -+ line = tpad + 1 + ((selected * (height-3-tpad-bpad)) / (count-1)); - else -- line = 0; -- -- for (i = 1; i < max_line; i++){ -- widget_move (&l->widget, i, l->width); -- if (i != line) -- one_vline (); -- else -- addch ('*'); -+ line = 0; -+ -+ for (i = tpad + 1; i < height-1-bpad; i++){ -+ widget_move (&widget, i, width); -+ if (i != line) -+#ifndef UTF8 -+ one_vline (); -+ else -+ addch ('*'); -+#else -+ if (is_utf8) -+ SLsmg_write_string("▒"); -+ else -+ one_vline(); -+ else { -+ if (color) attrset (MARKED_COLOR); -+ if (is_utf8) -+ SLsmg_write_string("◈"); -+ else -+ addch('*'); -+ if (color) attrset (NORMAL_COLOR); -+ } -+#endif - } - } -- --static void -+ -+ -+/* Listbox widget */ -+ -+/* Should draw the scrollbar, but currently draws only -+ * indications that there is more information -+ */ -+static int listbox_cdiff (WLEntry *s, WLEntry *e); -+ -+void - listbox_draw (WListbox *l, int focused) - { - WLEntry *e; -@@ -2032,7 +2066,7 @@ - if (!l->scrollbar) - return; - attrset (normalc); -- listbox_drawscroll (l); -+ vscrollbar (l->widget, l->height, l->width, 0, 0, l->pos, l->count, FALSE); - } - - /* Returns the number of items between s and e, ---- mc-4.6.2/src/widget.h -+++ mc-4.6.2/src/widget.h -@@ -187,6 +187,10 @@ - /* Listbox manager */ - WLEntry *listbox_get_data (WListbox *l, int pos); - -+/* Vertical scrollbar */ -+void vscrollbar (Widget widget, int height, int width, int tpad, int bpad, -+ int selected, int count, gboolean color); -+ - /* search text int listbox entries */ - WLEntry *listbox_search_text (WListbox *l, const char *text); - void listbox_select_entry (WListbox *l, WLEntry *dest); |