Ticket #4102: dialog-shadow-code.patch

File dialog-shadow-code.patch, 18.5 KB (added by kybl, 2 years ago)

Patch for source code

  • lib/tty/tty-ncurses.c

    IDEA additional info:
    Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
    <+>UTF-8
     
    4848 
    4949#include "tty-internal.h"       /* mc_tty_normalize_from_utf8() */ 
    5050#include "tty.h" 
     51#include "color.h"              /* tty_setcolor */ 
    5152#include "color-internal.h" 
    5253#include "key.h" 
    5354#include "mouse.h" 
     
    531532    mc_curs_col = x; 
    532533} 
    533534 
     535/* --------------------------------------------------------------------------------------------- */ 
     536 
     537void 
     538tty_colorize_area (int y, int x, int rows, int cols, int color) 
     539{ 
     540    cchar_t *ctext; 
     541    wchar_t wch[10];   /* TODO not sure if the length is correct */ 
     542    attr_t attrs; 
     543    short color_pair; 
     544 
     545    if (!use_colors || x < 0 || x >= COLS || y >= LINES) 
     546        return; 
     547 
     548    tty_setcolor (color); 
     549    ctext = malloc (sizeof(cchar_t) * (cols + 1)); 
     550 
     551    for (int row = 0; row < rows; row++) 
     552    { 
     553        mvin_wchnstr (y + row, x, ctext, cols); 
     554 
     555        for (int col = 0; col < cols; col++) 
     556        { 
     557            getcchar (&ctext[col], wch, &attrs, &color_pair, NULL); 
     558            setcchar (&ctext[col], wch, attrs, color, NULL); 
     559        } 
     560 
     561        mvadd_wchnstr (y + row, x, ctext, cols); 
     562    } 
     563 
     564    free(ctext); 
     565} 
     566 
    534567/* --------------------------------------------------------------------------------------------- */ 
    535568 
    536569void 
  • lib/tty/tty.h

    IDEA additional info:
    Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
    <+>UTF-8
     
    126126extern void tty_draw_hline (int y, int x, int ch, int len); 
    127127extern void tty_draw_vline (int y, int x, int ch, int len); 
    128128extern void tty_draw_box (int y, int x, int rows, int cols, gboolean single); 
     129extern void tty_draw_box_shadow (int y, int x, int rows, int cols, int shadow_color); 
    129130extern void tty_fill_region (int y, int x, int rows, int cols, unsigned char ch); 
     131extern void tty_colorize_area (int y, int x, int rows, int cols, int color); 
    130132 
    131133extern int tty_resize (int fd); 
    132134extern void tty_refresh (void); 
  • lib/tty/tty-slang.c

    IDEA additional info:
    Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
    <+>UTF-8
     
    622622 
    623623/* --------------------------------------------------------------------------------------------- */ 
    624624 
     625void 
     626tty_colorize_area (int y, int x, int rows, int cols, int color) 
     627{ 
     628    if (!use_colors || x < 0 || x >= COLS || y >= LINES) 
     629        return; 
     630 
     631    SLsmg_set_color_in_region (color, y, x, rows, cols); 
     632} 
     633 
     634/* --------------------------------------------------------------------------------------------- */ 
     635 
    625636void 
    626637tty_set_alt_charset (gboolean alt_charset) 
    627638{ 
  • lib/widget/frame.c

    IDEA additional info:
    Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
    <+>UTF-8
     
    3939#include "lib/util.h"           /* MC_PTR_FREE */ 
    4040#include "lib/widget.h" 
    4141 
     42#include "src/setup.h"          /* dialog_shadows */ 
     43 
    4244/*** global variables ****************************************************************************/ 
    4345 
    4446/*** file scope macro definitions ****************************************************************/ 
     
    7678 
    7779    colors = widget_get_colors (w); 
    7880 
     81    if (dialog_shadows) 
     82        tty_draw_box_shadow (w->y, w->x, w->lines, w->cols, SHADOW_COLOR); 
     83 
    7984    tty_setcolor (colors[FRAME_COLOR_NORMAL]); 
    8085    tty_fill_region (w->y, w->x, w->lines, w->cols, ' '); 
    8186    tty_draw_box (w->y + d, w->x + d, w->lines - 2 * d, w->cols - 2 * d, f->single); 
  • po/cs.po

    IDEA additional info:
    Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
    <+>UTF-8
     
    19671967msgid "Rotating d&ash" 
    19681968msgstr "&Točící se dopředné lomítko" 
    19691969 
     1970msgid "Dialog shadows" 
     1971msgstr "Okna vrhají stíny" 
     1972 
    19701973msgid "Cd follows lin&ks" 
    19711974msgstr "cd následuje od&kazy" 
    19721975 
  • lib/widget/menu.c

    IDEA additional info:
    Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
    <+>UTF-8
     
    4343#include "lib/widget.h" 
    4444#include "lib/event.h"          /* mc_event_raise() */ 
    4545 
     46#include "src/setup.h"          /* dialog_shadows */ 
     47 
    4648/*** global variables ****************************************************************************/ 
    4749 
    4850const global_keymap_t *menu_map = NULL; 
     
    187189    if (column + menu->max_entry_len + 5 > (gsize) w->cols) 
    188190        column = w->cols - menu->max_entry_len - 5; 
    189191 
     192    if (dialog_shadows) 
     193        tty_draw_box_shadow (w->y + 1, w->x + column, count + 2, menu->max_entry_len + 5, SHADOW_COLOR); 
     194 
    190195    tty_setcolor (MENU_ENTRY_COLOR); 
    191196    tty_draw_box (w->y + 1, w->x + column, count + 2, menu->max_entry_len + 5, FALSE); 
    192197 
  • src/setup.h

    IDEA additional info:
    Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
    <+>UTF-8
     
    7373 
    7474/*** global variables defined in .c file *********************************************************/ 
    7575 
    76 /* global paremeters */ 
     76/* global parameters */ 
    7777extern char *global_profile_name; 
    7878extern gboolean confirm_delete; 
    7979extern gboolean confirm_directory_hotlist_delete; 
     
    8686extern gboolean clear_before_exec; 
    8787extern gboolean auto_menu; 
    8888extern gboolean drop_menus; 
     89extern gboolean dialog_shadows; 
    8990extern gboolean verbose; 
    9091extern gboolean copymove_persistent_attr; 
    9192extern gboolean classic_progressbar; 
  • doc/man/mc.1.in

    IDEA additional info:
    Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
    <+>UTF-8
     
    19071907Midnight Commander shows a rotating dash in the upper right corner 
    19081908as a work in progress indicator. 
    19091909.PP 
     1910.I Dialog shadows. 
     1911If this option is enabled, all dialogs and menus will have a "shadow" 
     1912on the right and bottom side. If disabled, dialogs and menus will be 
     1913just flat. 
     1914.PP 
    19101915.I Cd follows links. 
    19111916This option, if set, causes Midnight Commander to follow the 
    19121917logical chain of directories when changing current directory 
  • lib/tty/tty.c

    IDEA additional info:
    Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
    <+>UTF-8
     
    264264 
    265265/* --------------------------------------------------------------------------------------------- */ 
    266266 
     267void 
     268tty_draw_box_shadow (int y, int x, int rows, int cols, int shadow_color) 
     269{ 
     270    if (rows <= 0 || cols <= 0) 
     271        return; 
     272 
     273    /* draw right shadow */ 
     274    tty_colorize_area (y + 1, x + cols, rows - 1, 2, shadow_color); 
     275    /* draw bottom shadow */ 
     276    tty_colorize_area (y + rows, x + 2, 1, cols, shadow_color); 
     277} 
     278 
     279/* --------------------------------------------------------------------------------------------- */ 
     280 
    267281char * 
    268282mc_tty_normalize_from_utf8 (const char *str) 
    269283{ 
  • src/setup.c

    IDEA additional info:
    Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
    <+>UTF-8
     
    108108gboolean auto_menu = FALSE; 
    109109/* This flag indicates if the pull down menus by default drop down */ 
    110110gboolean drop_menus = FALSE; 
     111/* If true, dialog and menu window will have a shadow (on the right and bottom side) */ 
     112gboolean dialog_shadows = FALSE; 
    111113 
    112114/* Asks for confirmation when using F3 to view a directory and there 
    113115   are tagged files */ 
     
    360362#endif /* USE_INTERNAL_EDIT */ 
    361363    { "editor_ask_filename_before_edit", &editor_ask_filename_before_edit }, 
    362364    { "nice_rotating_dash", &nice_rotating_dash }, 
     365    { "dialog_shadows", &dialog_shadows }, 
    363366    { "mcview_remember_file_position", &mcview_remember_file_position }, 
    364367    { "auto_fill_mkdir_name", &auto_fill_mkdir_name }, 
    365368    { "copymove_persistent_attr", &copymove_persistent_attr }, 
  • lib/skin.h

    IDEA additional info:
    Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
    <+>UTF-8
     
    2222#define REVERSE_COLOR             mc_skin_color__cache[6] 
    2323#define COMMAND_MARK_COLOR        mc_skin_color__cache[7] 
    2424#define HEADER_COLOR              mc_skin_color__cache[8] 
     25#define SHADOW_COLOR              mc_skin_color__cache[9] 
    2526 
    2627/* Dialog colors */ 
    27 #define COLOR_NORMAL              mc_skin_color__cache[9] 
    28 #define COLOR_FOCUS               mc_skin_color__cache[10] 
    29 #define COLOR_HOT_NORMAL          mc_skin_color__cache[11] 
    30 #define COLOR_HOT_FOCUS           mc_skin_color__cache[12] 
    31 #define COLOR_TITLE               mc_skin_color__cache[13] 
     28#define COLOR_NORMAL              mc_skin_color__cache[10] 
     29#define COLOR_FOCUS               mc_skin_color__cache[11] 
     30#define COLOR_HOT_NORMAL          mc_skin_color__cache[12] 
     31#define COLOR_HOT_FOCUS           mc_skin_color__cache[13] 
     32#define COLOR_TITLE               mc_skin_color__cache[14] 
    3233 
    3334/* Error dialog colors */ 
    34 #define ERROR_COLOR               mc_skin_color__cache[14] 
    35 #define ERROR_FOCUS               mc_skin_color__cache[15] 
    36 #define ERROR_HOT_NORMAL          mc_skin_color__cache[16] 
    37 #define ERROR_HOT_FOCUS           mc_skin_color__cache[17] 
    38 #define ERROR_TITLE               mc_skin_color__cache[18] 
     35#define ERROR_COLOR               mc_skin_color__cache[15] 
     36#define ERROR_FOCUS               mc_skin_color__cache[16] 
     37#define ERROR_HOT_NORMAL          mc_skin_color__cache[17] 
     38#define ERROR_HOT_FOCUS           mc_skin_color__cache[18] 
     39#define ERROR_TITLE               mc_skin_color__cache[19] 
    3940 
    4041/* Menu colors */ 
    41 #define MENU_ENTRY_COLOR          mc_skin_color__cache[19] 
    42 #define MENU_SELECTED_COLOR       mc_skin_color__cache[20] 
    43 #define MENU_HOT_COLOR            mc_skin_color__cache[21] 
    44 #define MENU_HOTSEL_COLOR         mc_skin_color__cache[22] 
    45 #define MENU_INACTIVE_COLOR       mc_skin_color__cache[23] 
     42#define MENU_ENTRY_COLOR          mc_skin_color__cache[20] 
     43#define MENU_SELECTED_COLOR       mc_skin_color__cache[21] 
     44#define MENU_HOT_COLOR            mc_skin_color__cache[22] 
     45#define MENU_HOTSEL_COLOR         mc_skin_color__cache[23] 
     46#define MENU_INACTIVE_COLOR       mc_skin_color__cache[24] 
    4647 
    4748/* Popup menu colors */ 
    48 #define PMENU_ENTRY_COLOR         mc_skin_color__cache[24] 
    49 #define PMENU_SELECTED_COLOR      mc_skin_color__cache[25] 
    50 #define PMENU_HOT_COLOR           mc_skin_color__cache[26]      /* unused: not implemented yet */ 
    51 #define PMENU_HOTSEL_COLOR        mc_skin_color__cache[27]      /* unused: not implemented yet */ 
    52 #define PMENU_TITLE_COLOR         mc_skin_color__cache[28] 
     49#define PMENU_ENTRY_COLOR         mc_skin_color__cache[25] 
     50#define PMENU_SELECTED_COLOR      mc_skin_color__cache[26] 
     51#define PMENU_HOT_COLOR           mc_skin_color__cache[27]      /* unused: not implemented yet */ 
     52#define PMENU_HOTSEL_COLOR        mc_skin_color__cache[28]      /* unused: not implemented yet */ 
     53#define PMENU_TITLE_COLOR         mc_skin_color__cache[29] 
    5354 
    54 #define BUTTONBAR_HOTKEY_COLOR    mc_skin_color__cache[29] 
    55 #define BUTTONBAR_BUTTON_COLOR    mc_skin_color__cache[30] 
     55#define BUTTONBAR_HOTKEY_COLOR    mc_skin_color__cache[30] 
     56#define BUTTONBAR_BUTTON_COLOR    mc_skin_color__cache[31] 
    5657 
    57 #define STATUSBAR_COLOR           mc_skin_color__cache[31] 
     58#define STATUSBAR_COLOR           mc_skin_color__cache[32] 
    5859 
    5960/* 
    6061 * This should be selectable independently. Default has to be black background 
    6162 * foreground does not matter at all. 
    6263 */ 
    63 #define GAUGE_COLOR               mc_skin_color__cache[32] 
    64 #define INPUT_COLOR               mc_skin_color__cache[33] 
    65 #define INPUT_UNCHANGED_COLOR     mc_skin_color__cache[34] 
    66 #define INPUT_MARK_COLOR          mc_skin_color__cache[35] 
    67 #define INPUT_HISTORY_COLOR       mc_skin_color__cache[36] 
    68 #define COMMAND_HISTORY_COLOR     mc_skin_color__cache[37] 
     64#define GAUGE_COLOR               mc_skin_color__cache[33] 
     65#define INPUT_COLOR               mc_skin_color__cache[34] 
     66#define INPUT_UNCHANGED_COLOR     mc_skin_color__cache[35] 
     67#define INPUT_MARK_COLOR          mc_skin_color__cache[36] 
     68#define INPUT_HISTORY_COLOR       mc_skin_color__cache[37] 
     69#define COMMAND_HISTORY_COLOR     mc_skin_color__cache[38] 
    6970 
    70 #define HELP_NORMAL_COLOR         mc_skin_color__cache[38] 
    71 #define HELP_ITALIC_COLOR         mc_skin_color__cache[39] 
    72 #define HELP_BOLD_COLOR           mc_skin_color__cache[40] 
    73 #define HELP_LINK_COLOR           mc_skin_color__cache[41] 
    74 #define HELP_SLINK_COLOR          mc_skin_color__cache[42] 
    75 #define HELP_TITLE_COLOR          mc_skin_color__cache[43] 
     71#define HELP_NORMAL_COLOR         mc_skin_color__cache[39] 
     72#define HELP_ITALIC_COLOR         mc_skin_color__cache[40] 
     73#define HELP_BOLD_COLOR           mc_skin_color__cache[41] 
     74#define HELP_LINK_COLOR           mc_skin_color__cache[42] 
     75#define HELP_SLINK_COLOR          mc_skin_color__cache[43] 
     76#define HELP_TITLE_COLOR          mc_skin_color__cache[44] 
    7677 
    7778 
    78 #define VIEW_NORMAL_COLOR         mc_skin_color__cache[44] 
    79 #define VIEW_BOLD_COLOR           mc_skin_color__cache[45] 
    80 #define VIEW_UNDERLINED_COLOR     mc_skin_color__cache[46] 
    81 #define VIEW_SELECTED_COLOR       mc_skin_color__cache[47] 
     79#define VIEW_NORMAL_COLOR         mc_skin_color__cache[45] 
     80#define VIEW_BOLD_COLOR           mc_skin_color__cache[46] 
     81#define VIEW_UNDERLINED_COLOR     mc_skin_color__cache[47] 
     82#define VIEW_SELECTED_COLOR       mc_skin_color__cache[48] 
    8283 
    8384/* 
    8485 * editor colors - only 4 for normal, search->found, select, and whitespace 
    8586 * respectively 
    8687 * Last is defined to view color. 
    8788 */ 
    88 #define EDITOR_NORMAL_COLOR       mc_skin_color__cache[48] 
    89 #define EDITOR_BOLD_COLOR         mc_skin_color__cache[49] 
    90 #define EDITOR_MARKED_COLOR       mc_skin_color__cache[50] 
    91 #define EDITOR_WHITESPACE_COLOR   mc_skin_color__cache[51] 
    92 #define EDITOR_RIGHT_MARGIN_COLOR mc_skin_color__cache[52] 
    93 #define EDITOR_BACKGROUND         mc_skin_color__cache[53] 
    94 #define EDITOR_FRAME              mc_skin_color__cache[54] 
    95 #define EDITOR_FRAME_ACTIVE       mc_skin_color__cache[55] 
    96 #define EDITOR_FRAME_DRAG         mc_skin_color__cache[56] 
     89#define EDITOR_NORMAL_COLOR       mc_skin_color__cache[49] 
     90#define EDITOR_BOLD_COLOR         mc_skin_color__cache[50] 
     91#define EDITOR_MARKED_COLOR       mc_skin_color__cache[51] 
     92#define EDITOR_WHITESPACE_COLOR   mc_skin_color__cache[52] 
     93#define EDITOR_RIGHT_MARGIN_COLOR mc_skin_color__cache[53] 
     94#define EDITOR_BACKGROUND         mc_skin_color__cache[54] 
     95#define EDITOR_FRAME              mc_skin_color__cache[55] 
     96#define EDITOR_FRAME_ACTIVE       mc_skin_color__cache[56] 
     97#define EDITOR_FRAME_DRAG         mc_skin_color__cache[57] 
    9798/* color of left 8 char status per line */ 
    98 #define LINE_STATE_COLOR          mc_skin_color__cache[57] 
    99 #define BOOK_MARK_COLOR           mc_skin_color__cache[58] 
    100 #define BOOK_MARK_FOUND_COLOR     mc_skin_color__cache[59] 
     99#define LINE_STATE_COLOR          mc_skin_color__cache[58] 
     100#define BOOK_MARK_COLOR           mc_skin_color__cache[59] 
     101#define BOOK_MARK_FOUND_COLOR     mc_skin_color__cache[60] 
    101102 
    102103/* Diff colors */ 
    103 #define DFF_ADD_COLOR             mc_skin_color__cache[60] 
    104 #define DFF_CHG_COLOR             mc_skin_color__cache[61] 
    105 #define DFF_CHH_COLOR             mc_skin_color__cache[62] 
    106 #define DFF_CHD_COLOR             mc_skin_color__cache[63] 
    107 #define DFF_DEL_COLOR             mc_skin_color__cache[64] 
    108 #define DFF_ERROR_COLOR           mc_skin_color__cache[65] 
     104#define DFF_ADD_COLOR             mc_skin_color__cache[61] 
     105#define DFF_CHG_COLOR             mc_skin_color__cache[62] 
     106#define DFF_CHH_COLOR             mc_skin_color__cache[63] 
     107#define DFF_CHD_COLOR             mc_skin_color__cache[64] 
     108#define DFF_DEL_COLOR             mc_skin_color__cache[65] 
     109#define DFF_ERROR_COLOR           mc_skin_color__cache[66] 
    109110 
    110 #define MC_SKIN_COLOR_CACHE_COUNT 66 
     111#define MC_SKIN_COLOR_CACHE_COUNT 67 
    111112 
    112113/*** enums ***************************************************************************************/ 
    113114 
  • lib/skin/colors.c

    IDEA additional info:
    Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
    <+>UTF-8
     
    249249    REVERSE_COLOR = mc_skin_color_get ("core", "reverse"); 
    250250    HEADER_COLOR = mc_skin_color_get ("core", "header"); 
    251251    COMMAND_MARK_COLOR = mc_skin_color_get ("core", "commandlinemark"); 
     252    SHADOW_COLOR = mc_skin_color_get ("core", "shadow"); 
    252253 
    253254    COLOR_NORMAL = mc_skin_color_get ("dialog", "_default_"); 
    254255    COLOR_FOCUS = mc_skin_color_get ("dialog", "dfocus"); 
  • src/filemanager/boxes.c

    IDEA additional info:
    Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
    <+>UTF-8
     
    545545                    QUICK_CHECKBOX (N_("Co&mplete: show all"), 
    546546                                    &mc_global.widget.show_all_if_ambiguous, NULL), 
    547547                    QUICK_CHECKBOX (N_("Rotating d&ash"), &nice_rotating_dash, NULL), 
     548                    QUICK_CHECKBOX (N_("Dialog shadows"), &dialog_shadows, NULL), 
    548549                    QUICK_CHECKBOX (N_("Cd follows lin&ks"), &mc_global.vfs.cd_symlinks, NULL), 
    549550                    QUICK_CHECKBOX (N_("Sa&fe delete"), &safe_delete, NULL), 
    550551                    QUICK_CHECKBOX (N_("Safe overwrite"), &safe_overwrite, NULL),       /* w/o hotkey */