Fix madmutt for stupid terms with only 64 colors.
[apps/madmutt.git] / lib-ui / enter.c
index 1005365..7fb61cc 100644 (file)
@@ -8,9 +8,8 @@
  * please see the file GPL in the top level source directory.
  */
 
-#include <lib-lib/lib-lib.h>
+#include <lib-ui/lib-ui.h>
 
-#include "curses.h"
 #include "enter.h"
 #include "menu.h"
 
@@ -56,12 +55,12 @@ static int my_addwch (wchar_t wc)
   int n = wcwidth (wc);
 
   if (iswprint(wc) && n > 0)
-    return mutt_addwch (wc);
+    return waddwch(stdscr, wc);
   if (!(wc & ~0x7f))
-    return printw ("^%c", ((int) wc + 0x40) & 0x7f);
+    return wprintw (stdscr, "^%c", ((int) wc + 0x40) & 0x7f);
   if (!(wc & ~0xffff))
-    return printw ("\\u%04x", (int) wc);
-  return printw ("\\u%08x", (int) wc);
+    return wprintw (stdscr, "\\u%04x", (int) wc);
+  return wprintw (stdscr, "\\u%08x", (int) wc);
 }
 
 static size_t width_ceiling (const wchar_t * s, size_t n, int w1)
@@ -243,7 +242,7 @@ int _mutt_enter_string (char *buf, size_t buflen, int y, int x,
           width_ceiling (state->wbuf, state->lastchar,
                          my_wcswidth (state->wbuf,
                                       state->curpos) - width / 2);
-      move (y, x);
+      wmove (stdscr, y, x);
       w = 0;
       for (i = state->begin; i < state->lastchar; i++) {
         w += my_wcwidth (state->wbuf[i]);
@@ -251,10 +250,10 @@ int _mutt_enter_string (char *buf, size_t buflen, int y, int x,
           break;
         my_addwch (state->wbuf[i]);
       }
-      clrtoeol ();
-      move (y,
-            x + my_wcswidth (state->wbuf + state->begin,
-                             state->curpos - state->begin));
+      wclrtoeol (stdscr);
+      wmove (stdscr, y,
+             x + my_wcswidth (state->wbuf + state->begin,
+                              state->curpos - state->begin));
     }
     mutt_refresh ();