]> git.neil.brown.name Git - edlib.git/commitdiff
mode-basic: add F4 and F5 function key handlers.
authorNeilBrown <neil@brown.name>
Wed, 4 Oct 2023 06:12:10 +0000 (17:12 +1100)
committerNeilBrown <neil@brown.name>
Wed, 4 Oct 2023 06:12:37 +0000 (17:12 +1100)
Signed-off-by: NeilBrown <neil@brown.name>
DOC/TODO.md
display-ncurses.c
mode-basic.c

index 9e9ddc017a4d46b691831c7362d3644538ee172e..e25e9a12e00c218d2011dacfe8dc584e7080b7e2 100644 (file)
@@ -9,6 +9,8 @@ the file.
 
 ### Triage
 
+- [ ] There is a "window:close" and a "Window:close" and they are
+      different.  Fix this!
 - [X] unknown keysequence should be reported so e.g. if keyboard
       is is Greek mode, then I will be told that Cx-b doesn't work
 - [X] menubar doesn't redraw background when resized wider.
@@ -51,7 +53,7 @@ the file.
 - [X] split range management out of autospell so it can be used by other
       modules.
 - [ ] make it easy for a make-search command to search backwards
-- [ ] Make a start on CUA mode with mouse/menu/selection support.
+- [X] Make a start on CUA mode with mouse/menu/selection support.
       Also Function keys: help, close, refresh
 
 ### Large
index ee8ce70db64af4366808912674d4b51bab452d78..84f14022e2ca6c7108f72845dace853a68f6db4f 100644 (file)
@@ -1402,6 +1402,7 @@ DEF_CMD(force_redraw)
        ncurses_start(p);
 
        clearok(curscr, 1);
+       pane_damaged(p, DAMAGED_POSTORDER);
        return 1;
 }
 
index 463537ff3f8a3da87326d2e6297310265c74dd79..acdf5cf0fecaea49215541959859fe4682b15a1b 100644 (file)
@@ -568,6 +568,18 @@ DEF_CMD(basic_interactive_delete)
        return ret < 0 ? ret : 1;
 }
 
+DEF_CMD(basic_close)
+{
+       call("Window:close", ci->focus);
+       return 1;
+}
+
+DEF_CMD(basic_refresh)
+{
+       call("window:refresh", ci->focus);
+       return 1;
+}
+
 static struct map *basic_map;
 DEF_LOOKUP_CMD(mode_basic, basic_map);
 
@@ -579,7 +591,10 @@ static void basic_init(void)
 
        m = key_alloc();
 
+       /* Some Function keys that CUA defines */
        key_add(m, "K:F1", &help_cmd.c);
+       key_add(m, "K:F4", &basic_close);
+       key_add(m, "K:F5", &basic_refresh);
 
        key_add_range(m, "K- ", "K-~", &basic_insert);
        key_add_range(m, "K-\200", "K-\377\377\377\377", &basic_insert);