Changes in uspace/app/edit/edit.c [8190e63:7e752b2] in mainline


Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/app/edit/edit.c

    r8190e63 r7e752b2  
    4040#include <vfs/vfs.h>
    4141#include <io/console.h>
    42 #include <io/color.h>
     42#include <io/style.h>
    4343#include <io/keycode.h>
    4444#include <errno.h>
     
    100100static bool cursor_visible;
    101101
    102 static int scr_rows, scr_columns;
     102static ipcarg_t scr_rows;
     103static ipcarg_t scr_columns;
    103104
    104105#define ROW_BUF_SIZE 4096
     
    475476static void file_save_as(void)
    476477{
    477         char *old_fname, *fname;
    478         int rc;
    479 
    480         old_fname = (doc.file_name != NULL) ? doc.file_name : "";
     478        const char *old_fname = (doc.file_name != NULL) ? doc.file_name : "";
     479        char *fname;
     480       
    481481        fname = filename_prompt("Save As", old_fname);
    482482        if (fname == NULL) {
     
    485485        }
    486486
    487         rc = file_save(fname);
     487        int rc = file_save(fname);
    488488        if (rc != EOK)
    489489                return;
     
    506506        asprintf(&str, "%s: %s", prompt, init_value);
    507507        status_display(str);
    508         console_goto(con, 1 + str_length(str), scr_rows - 1);
     508        console_set_pos(con, 1 + str_length(str), scr_rows - 1);
    509509        free(str);
    510510
    511         console_set_color(con, COLOR_WHITE, COLOR_BLACK, 0);
     511        console_set_style(con, STYLE_INVERTED);
    512512
    513513        max_len = min(INFNAME_MAX_LEN, scr_columns - 4 - str_length(prompt));
     
    553553        str = wstr_to_astr(buffer);
    554554
    555         console_set_color(con, COLOR_BLACK, COLOR_WHITE, 0);
     555        console_set_style(con, STYLE_NORMAL);
    556556
    557557        return str;
     
    672672{
    673673        int sh_rows, rows;
    674         int i, j;
    675674
    676675        sheet_get_num_rows(&doc.sh, &sh_rows);
     
    679678        /* Draw rows from the sheet. */
    680679
    681         console_goto(con, 0, 0);
     680        console_set_pos(con, 0, 0);
    682681        pane_row_range_display(0, rows);
    683682
    684683        /* Clear the remaining rows if file is short. */
    685 
     684       
     685        int i;
     686        ipcarg_t j;
    686687        for (i = rows; i < pane.rows; ++i) {
    687                 console_goto(con, 0, i);
     688                console_set_pos(con, 0, i);
    688689                for (j = 0; j < scr_columns; ++j)
    689690                        putchar(' ');
     
    718719        wchar_t c;
    719720        size_t pos, size;
    720         unsigned s_column;
     721        int s_column;
    721722        coord_t csel_start, csel_end, ctmp;
    722723
     
    737738        /* Draw rows from the sheet. */
    738739
    739         console_goto(con, 0, 0);
     740        console_set_pos(con, 0, 0);
    740741        for (i = r0; i < r1; ++i) {
    741742                /* Starting point for row display */
     
    757758                    coord_cmp(&rbc, &csel_end) < 0) {
    758759                        fflush(stdout);
    759                         console_set_color(con, COLOR_BLACK, COLOR_RED, 0);
     760                        console_set_style(con, STYLE_SELECTED);
    760761                        fflush(stdout);
    761762                }
    762763
    763                 console_goto(con, 0, i);
     764                console_set_pos(con, 0, i);
    764765                size = str_size(row_buf);
    765766                pos = 0;
    766767                s_column = pane.sh_column;
    767768                while (pos < size) {
    768                         if (csel_start.row == rbc.row && csel_start.column == s_column) {
     769                        if ((csel_start.row == rbc.row) && (csel_start.column == s_column)) {
    769770                                fflush(stdout);
    770                                 console_set_color(con, COLOR_BLACK, COLOR_RED, 0);
     771                                console_set_style(con, STYLE_SELECTED);
    771772                                fflush(stdout);
    772773                        }
    773774       
    774                         if (csel_end.row == rbc.row && csel_end.column == s_column) {
     775                        if ((csel_end.row == rbc.row) && (csel_end.column == s_column)) {
    775776                                fflush(stdout);
    776                                 console_set_color(con, COLOR_BLACK, COLOR_WHITE, 0);
     777                                console_set_style(con, STYLE_NORMAL);
    777778                                fflush(stdout);
    778779                        }
     
    780781                        c = str_decode(row_buf, &pos, size);
    781782                        if (c != '\t') {
    782                                 printf("%lc", c);
     783                                printf("%lc", (wint_t) c);
    783784                                s_column += 1;
    784785                        } else {
     
    792793                }
    793794
    794                 if (csel_end.row == rbc.row && csel_end.column == s_column) {
     795                if ((csel_end.row == rbc.row) && (csel_end.column == s_column)) {
    795796                        fflush(stdout);
    796                         console_set_color(con, COLOR_BLACK, COLOR_WHITE, 0);
     797                        console_set_style(con, STYLE_NORMAL);
    797798                        fflush(stdout);
    798799                }
     
    808809                        putchar(' ');
    809810                fflush(stdout);
    810                 console_set_color(con, COLOR_BLACK, COLOR_WHITE, 0);
     811                console_set_style(con, STYLE_NORMAL);
    811812        }
    812813
     
    819820        spt_t caret_pt;
    820821        coord_t coord;
    821         char *fname;
    822         int n;
    823822
    824823        tag_get_pt(&pane.caret_pos, &caret_pt);
    825824        spt_get_coord(&caret_pt, &coord);
    826825
    827         fname = (doc.file_name != NULL) ? doc.file_name : "<unnamed>";
    828 
    829         console_goto(con, 0, scr_rows - 1);
    830         console_set_color(con, COLOR_WHITE, COLOR_BLACK, 0);
    831         n = printf(" %d, %d: File '%s'. Ctrl-Q Quit  Ctrl-S Save  "
     826        const char *fname = (doc.file_name != NULL) ? doc.file_name : "<unnamed>";
     827
     828        console_set_pos(con, 0, scr_rows - 1);
     829        console_set_style(con, STYLE_INVERTED);
     830        int n = printf(" %d, %d: File '%s'. Ctrl-Q Quit  Ctrl-S Save  "
    832831            "Ctrl-E Save As", coord.row, coord.column, fname);
    833         printf("%*s", scr_columns - 1 - n, "");
     832       
     833        int pos = scr_columns - 1 - n;
     834        printf("%*s", pos, "");
    834835        fflush(stdout);
    835         console_set_color(con, COLOR_BLACK, COLOR_WHITE, 0);
     836        console_set_style(con, STYLE_NORMAL);
    836837
    837838        pane.rflags |= REDRAW_CARET;
     
    847848
    848849        spt_get_coord(&caret_pt, &coord);
    849         console_goto(con, coord.column - pane.sh_column,
     850        console_set_pos(con, coord.column - pane.sh_column,
    850851            coord.row - pane.sh_row);
    851852}
     
    11521153static void status_display(char const *str)
    11531154{
    1154         console_goto(con, 0, scr_rows - 1);
    1155         console_set_color(con, COLOR_WHITE, COLOR_BLACK, 0);
    1156         printf(" %*s ", -(scr_columns - 3), str);
     1155        console_set_pos(con, 0, scr_rows - 1);
     1156        console_set_style(con, STYLE_INVERTED);
     1157       
     1158        int pos = -(scr_columns - 3);
     1159        printf(" %*s ", pos, str);
    11571160        fflush(stdout);
    1158         console_set_color(con, COLOR_BLACK, COLOR_WHITE, 0);
     1161        console_set_style(con, STYLE_NORMAL);
    11591162
    11601163        pane.rflags |= REDRAW_CARET;
Note: See TracChangeset for help on using the changeset viewer.