summaryrefslogtreecommitdiff
path: root/packages/mc/mc-4.6.2/mc-utf8-look-and-feel.patch
diff options
context:
space:
mode:
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.patch206
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);