Changes in uspace/app/edit/edit.c [ec50d65e:e0cf963] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/app/edit/edit.c
rec50d65e re0cf963 1 1 /* 2 * Copyright (c) 202 4Jiri Svoboda2 * Copyright (c) 2021 Jiri Svoboda 3 3 * Copyright (c) 2012 Martin Sucha 4 4 * All rights reserved. … … 60 60 #include <ui/menu.h> 61 61 #include <ui/menubar.h> 62 #include <ui/menudd.h>63 62 #include <ui/menuentry.h> 64 63 #include <ui/promptdialog.h> … … 238 237 239 238 static void edit_wnd_close(ui_window_t *, void *); 240 static void edit_wnd_focus(ui_window_t *, void *, unsigned);241 239 static void edit_wnd_kbd_event(ui_window_t *, void *, kbd_event_t *); 242 static void edit_wnd_unfocus(ui_window_t *, void *, unsigned);243 240 244 241 static ui_window_cb_t edit_window_cb = { 245 242 .close = edit_wnd_close, 246 .focus = edit_wnd_focus, 247 .kbd = edit_wnd_kbd_event, 248 .unfocus = edit_wnd_unfocus 249 }; 250 251 static void edit_menubar_activate(ui_menu_bar_t *, void *); 252 static void edit_menubar_deactivate(ui_menu_bar_t *, void *); 253 254 static ui_menu_bar_cb_t edit_menubar_cb = { 255 .activate = edit_menubar_activate, 256 .deactivate = edit_menubar_deactivate 243 .kbd = edit_wnd_kbd_event 257 244 }; 258 245 … … 443 430 } 444 431 445 ui_menu_bar_set_cb(edit->menubar, &edit_menubar_cb, (void *) edit); 446 447 rc = ui_menu_dd_create(edit->menubar, "~F~ile", NULL, &mfile); 432 rc = ui_menu_create(edit->menubar, "File", &mfile); 448 433 if (rc != EOK) { 449 434 printf("Error creating menu.\n"); … … 451 436 } 452 437 453 rc = ui_menu_entry_create(mfile, " ~S~ave", "Ctrl-S", &msave);438 rc = ui_menu_entry_create(mfile, "Save", "Ctrl-S", &msave); 454 439 if (rc != EOK) { 455 440 printf("Error creating menu.\n"); … … 459 444 ui_menu_entry_set_cb(msave, edit_file_save, (void *) edit); 460 445 461 rc = ui_menu_entry_create(mfile, "Save ~A~s", "Ctrl-E", &msaveas);446 rc = ui_menu_entry_create(mfile, "Save As", "Ctrl-E", &msaveas); 462 447 if (rc != EOK) { 463 448 printf("Error creating menu.\n"); … … 473 458 } 474 459 475 rc = ui_menu_entry_create(mfile, "E ~x~it", "Ctrl-Q", &mexit);460 rc = ui_menu_entry_create(mfile, "Exit", "Ctrl-Q", &mexit); 476 461 if (rc != EOK) { 477 462 printf("Error creating menu.\n"); … … 481 466 ui_menu_entry_set_cb(mexit, edit_file_exit, (void *) edit); 482 467 483 rc = ui_menu_ dd_create(edit->menubar, "~E~dit", NULL, &medit);468 rc = ui_menu_create(edit->menubar, "Edit", &medit); 484 469 if (rc != EOK) { 485 470 printf("Error creating menu.\n"); … … 487 472 } 488 473 489 rc = ui_menu_entry_create(medit, "Cu ~t~", "Ctrl-X", &mcut);474 rc = ui_menu_entry_create(medit, "Cut", "Ctrl-X", &mcut); 490 475 if (rc != EOK) { 491 476 printf("Error creating menu.\n"); … … 495 480 ui_menu_entry_set_cb(mcut, edit_edit_cut, (void *) edit); 496 481 497 rc = ui_menu_entry_create(medit, " ~C~opy", "Ctrl-C", &mcopy);482 rc = ui_menu_entry_create(medit, "Copy", "Ctrl-C", &mcopy); 498 483 if (rc != EOK) { 499 484 printf("Error creating menu.\n"); … … 503 488 ui_menu_entry_set_cb(mcopy, edit_edit_copy, (void *) edit); 504 489 505 rc = ui_menu_entry_create(medit, " ~P~aste", "Ctrl-V", &mpaste);490 rc = ui_menu_entry_create(medit, "Paste", "Ctrl-V", &mpaste); 506 491 if (rc != EOK) { 507 492 printf("Error creating menu.\n"); … … 511 496 ui_menu_entry_set_cb(mpaste, edit_edit_paste, (void *) edit); 512 497 513 rc = ui_menu_entry_create(medit, " ~D~elete", "Del", &mdelete);498 rc = ui_menu_entry_create(medit, "Delete", "Del", &mdelete); 514 499 if (rc != EOK) { 515 500 printf("Error creating menu.\n"); … … 525 510 } 526 511 527 rc = ui_menu_entry_create(medit, "Select ~A~ll", "Ctrl-A", &mselall);512 rc = ui_menu_entry_create(medit, "Select All", "Ctrl-A", &mselall); 528 513 if (rc != EOK) { 529 514 printf("Error creating menu.\n"); … … 533 518 ui_menu_entry_set_cb(mselall, edit_edit_select_all, (void *) edit); 534 519 535 rc = ui_menu_ dd_create(edit->menubar, "~S~earch", NULL, &msearch);520 rc = ui_menu_create(edit->menubar, "Search", &msearch); 536 521 if (rc != EOK) { 537 522 printf("Error creating menu.\n"); … … 539 524 } 540 525 541 rc = ui_menu_entry_create(msearch, " ~F~ind", "Ctrl-F", &mfind);526 rc = ui_menu_entry_create(msearch, "Find", "Ctrl-F", &mfind); 542 527 if (rc != EOK) { 543 528 printf("Error creating menu.\n"); … … 547 532 ui_menu_entry_set_cb(mfind, edit_search_find, (void *) edit); 548 533 549 rc = ui_menu_entry_create(msearch, " ~R~everse Find", "Ctrl-Shift-F", &mfindr);534 rc = ui_menu_entry_create(msearch, "Reverse Find", "Ctrl-Shift-F", &mfindr); 550 535 if (rc != EOK) { 551 536 printf("Error creating menu.\n"); … … 555 540 ui_menu_entry_set_cb(mfindr, edit_search_reverse_find, (void *) edit); 556 541 557 rc = ui_menu_entry_create(msearch, "Find ~N~ext", "Ctrl-N", &mfindn);542 rc = ui_menu_entry_create(msearch, "Find Next", "Ctrl-N", &mfindn); 558 543 if (rc != EOK) { 559 544 printf("Error creating menu.\n"); … … 569 554 } 570 555 571 rc = ui_menu_entry_create(msearch, "Go To ~L~ine", "Ctrl-L", &mgoto);556 rc = ui_menu_entry_create(msearch, "Go To Line", "Ctrl-L", &mgoto); 572 557 if (rc != EOK) { 573 558 printf("Error creating menu.\n"); … … 993 978 994 979 bcnt -= off; 995 mem move(buf, buf + off, bcnt);980 memcpy(buf, buf + off, bcnt); 996 981 997 982 insert_char(c); … … 1274 1259 1275 1260 gfx_text_fmt_init(&fmt); 1276 fmt.font = font;1277 1261 fmt.color = pane->color; 1278 1262 … … 1334 1318 return rc; 1335 1319 1336 rc = gfx_puttext( &tpos, &fmt, cbuf);1320 rc = gfx_puttext(font, &tpos, &fmt, cbuf); 1337 1321 if (rc != EOK) 1338 1322 return rc; … … 1424 1408 */ 1425 1409 while (true) { 1426 int rc = asprintf(&text, "%d, %d (%d): File '%s'. Ctrl-Q Quit "1427 " F10 Menu", coord.row, coord.column, last_row, fname);1410 int rc = asprintf(&text, "%d, %d (%d): File '%s'. Ctrl-Q Quit Ctrl-S Save " 1411 "Ctrl-E Save As", coord.row, coord.column, last_row, fname); 1428 1412 if (rc < 0) { 1429 1413 n = 0; … … 2235 2219 } 2236 2220 2237 /** Window focus event2238 *2239 * @param window Window2240 * @param arg Argument (edit_t *)2241 * @param focus Focus number2242 */2243 static void edit_wnd_focus(ui_window_t *window, void *arg, unsigned focus)2244 {2245 edit_t *edit = (edit_t *)arg;2246 2247 (void)edit;2248 pane_caret_display(&pane);2249 cursor_setvis(true);2250 }2251 2252 2221 /** Window keyboard event 2253 2222 * … … 2260 2229 { 2261 2230 pane.keymod = event->mods; 2262 2263 if (ui_window_def_kbd(window, event) == ui_claimed)2264 return;2265 2231 2266 2232 if (event->type == KEY_PRESS) { … … 2271 2237 } 2272 2238 2273 /** Window unfocus event2274 *2275 * @param window Window2276 * @param arg Argument (edit_t *)2277 * @param focus Focus number2278 */2279 static void edit_wnd_unfocus(ui_window_t *window, void *arg, unsigned focus)2280 {2281 edit_t *edit = (edit_t *) arg;2282 2283 (void)edit;2284 cursor_setvis(false);2285 }2286 2287 /** Menu bar activate event2288 *2289 * @param mbar Menu bar2290 * @param arg Argument (edit_t *)2291 */2292 static void edit_menubar_activate(ui_menu_bar_t *mbar, void *arg)2293 {2294 edit_t *edit = (edit_t *)arg;2295 2296 (void)edit;2297 cursor_setvis(false);2298 }2299 2300 /** Menu bar deactivate event2301 *2302 * @param mbar Menu bar2303 * @param arg Argument (edit_t *)2304 */2305 static void edit_menubar_deactivate(ui_menu_bar_t *mbar, void *arg)2306 {2307 edit_t *edit = (edit_t *)arg;2308 2309 (void)edit;2310 pane_caret_display(&pane);2311 cursor_setvis(true);2312 }2313 2314 2239 /** File / Save menu entry selected. 2315 2240 * … … 2477 2402 { 2478 2403 edit_t *edit = (edit_t *)arg; 2404 gfx_context_t *gc = ui_window_get_gc(edit->window); 2479 2405 char *cname; 2480 2406 errno_t rc; 2481 2407 2482 (void)edit;2483 2408 ui_file_dialog_destroy(dialog); 2409 // TODO Smarter cursor management 2410 pane.rflags |= REDRAW_CARET; 2411 (void) pane_update(&pane); 2412 gfx_cursor_set_visible(gc, true); 2484 2413 2485 2414 cname = str_dup(fname); … … 2507 2436 { 2508 2437 edit_t *edit = (edit_t *)arg; 2509 2510 (void)edit; 2438 gfx_context_t *gc = ui_window_get_gc(edit->window); 2439 2511 2440 ui_file_dialog_destroy(dialog); 2441 // TODO Smarter cursor management 2442 pane.rflags |= REDRAW_CARET; 2443 (void) pane_update(&pane); 2444 gfx_cursor_set_visible(gc, true); 2512 2445 } 2513 2446 … … 2520 2453 { 2521 2454 edit_t *edit = (edit_t *)arg; 2522 2523 (void)edit; 2455 gfx_context_t *gc = ui_window_get_gc(edit->window); 2456 2524 2457 ui_file_dialog_destroy(dialog); 2458 // TODO Smarter cursor management 2459 pane.rflags |= REDRAW_CARET; 2460 (void) pane_update(&pane); 2461 gfx_cursor_set_visible(gc, true); 2525 2462 } 2526 2463 … … 2535 2472 { 2536 2473 edit_t *edit = (edit_t *) arg; 2474 gfx_context_t *gc = ui_window_get_gc(edit->window); 2537 2475 char *endptr; 2538 2476 int line; … … 2546 2484 2547 2485 caret_move_absolute(line, pane.ideal_column, dir_before, false); 2548 (void)edit;2486 // TODO Smarter cursor management 2549 2487 (void) pane_update(&pane); 2488 gfx_cursor_set_visible(gc, true); 2489 (void) gfx_update(gc); 2550 2490 } 2551 2491 … … 2558 2498 { 2559 2499 edit_t *edit = (edit_t *) arg; 2560 2561 (void)edit; 2500 gfx_context_t *gc = ui_window_get_gc(edit->window); 2501 2562 2502 ui_prompt_dialog_destroy(dialog); 2503 // TODO Smarter cursor management 2504 pane.rflags |= REDRAW_CARET; 2505 (void) pane_update(&pane); 2506 gfx_cursor_set_visible(gc, true); 2563 2507 } 2564 2508 … … 2571 2515 { 2572 2516 edit_t *edit = (edit_t *) arg; 2573 2574 (void)edit; 2517 gfx_context_t *gc = ui_window_get_gc(edit->window); 2518 2575 2519 ui_prompt_dialog_destroy(dialog); 2520 // TODO Smarter cursor management 2521 pane.rflags |= REDRAW_CARET; 2522 (void) pane_update(&pane); 2523 gfx_cursor_set_visible(gc, true); 2576 2524 } 2577 2525 … … 2586 2534 { 2587 2535 edit_t *edit = (edit_t *) arg; 2536 gfx_context_t *gc = ui_window_get_gc(edit->window); 2588 2537 char *pattern; 2589 2538 bool reverse; 2590 2539 2591 (void)edit;2592 2540 ui_prompt_dialog_destroy(dialog); 2593 2541 … … 2606 2554 search(pattern, reverse); 2607 2555 2556 // TODO Smarter cursor management 2608 2557 (void) pane_update(&pane); 2558 gfx_cursor_set_visible(gc, true); 2559 (void) gfx_update(gc); 2609 2560 } 2610 2561 … … 2617 2568 { 2618 2569 edit_t *edit = (edit_t *) arg; 2619 2620 (void)edit; 2570 gfx_context_t *gc = ui_window_get_gc(edit->window); 2571 2621 2572 ui_prompt_dialog_destroy(dialog); 2573 // TODO Smarter cursor management 2574 pane.rflags |= REDRAW_CARET; 2575 (void) pane_update(&pane); 2576 gfx_cursor_set_visible(gc, true); 2622 2577 } 2623 2578 … … 2630 2585 { 2631 2586 edit_t *edit = (edit_t *) arg; 2632 2633 (void)edit; 2587 gfx_context_t *gc = ui_window_get_gc(edit->window); 2588 2634 2589 ui_prompt_dialog_destroy(dialog); 2590 // TODO Smarter cursor management 2591 pane.rflags |= REDRAW_CARET; 2592 (void) pane_update(&pane); 2593 gfx_cursor_set_visible(gc, true); 2635 2594 } 2636 2595
Note:
See TracChangeset
for help on using the changeset viewer.