Changeset ec50d65e in mainline for uspace/lib/ui/src
- Timestamp:
- 2024-06-22T09:13:30Z (13 months ago)
- Branches:
- master
- Children:
- 49aaa0e
- Parents:
- 743f2cdd
- git-author:
- Jiri Svoboda <jiri@…> (2024-06-22 09:12:48)
- git-committer:
- Jiri Svoboda <jiri@…> (2024-06-22 09:13:30)
- Location:
- uspace/lib/ui/src
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/ui/src/menubar.c
r743f2cdd rec50d65e 1 1 /* 2 * Copyright (c) 202 3Jiri Svoboda2 * Copyright (c) 2024 Jiri Svoboda 3 3 * All rights reserved. 4 4 * … … 66 66 static ui_evclaim_t ui_menu_bar_ctl_kbd_event(void *, kbd_event_t *); 67 67 static ui_evclaim_t ui_menu_bar_ctl_pos_event(void *, pos_event_t *); 68 static void ui_menu_bar_activate_ev(ui_menu_bar_t *); 69 static void ui_menu_bar_deactivate_ev(ui_menu_bar_t *); 68 70 69 71 /** Menu bar control ops */ … … 131 133 ui_control_delete(mbar->control); 132 134 free(mbar); 135 } 136 137 /** Set menu bar callbacks. 138 * 139 * @param mbar Menu bar 140 * @param cb Callbacks 141 * @param arg Callback argument 142 */ 143 void ui_menu_bar_set_cb(ui_menu_bar_t *mbar, ui_menu_bar_cb_t *cb, void *arg) 144 { 145 mbar->cb = cb; 146 mbar->arg = arg; 133 147 } 134 148 … … 288 302 } 289 303 304 if (!mbar->active) 305 ui_menu_bar_activate_ev(mbar); 290 306 mbar->active = true; 291 307 } else { 308 if (mbar->active) 309 ui_menu_bar_deactivate_ev(mbar); 292 310 mbar->active = false; 293 311 } … … 640 658 641 659 (void) ui_menu_bar_paint(mbar); 660 ui_menu_bar_activate_ev(mbar); 642 661 } 643 662 … … 649 668 { 650 669 ui_menu_bar_select(mbar, NULL, false, 0); 670 ui_menu_bar_deactivate_ev(mbar); 651 671 } 652 672 … … 700 720 } 701 721 722 /** Send menu bar activate event. 723 * 724 * @param mbar Menu bar 725 */ 726 static void ui_menu_bar_activate_ev(ui_menu_bar_t *mbar) 727 { 728 if (mbar->cb != NULL && mbar->cb->activate != NULL) 729 mbar->cb->activate(mbar, mbar->arg); 730 } 731 732 /** Send menu bar deactivate event. 733 * 734 * @param mbar Menu bar 735 */ 736 static void ui_menu_bar_deactivate_ev(ui_menu_bar_t *mbar) 737 { 738 if (mbar->cb != NULL && mbar->cb->deactivate != NULL) 739 mbar->cb->deactivate(mbar, mbar->arg); 740 } 741 702 742 /** @} 703 743 */ -
uspace/lib/ui/src/window.c
r743f2cdd rec50d65e 1 1 /* 2 * Copyright (c) 202 3Jiri Svoboda2 * Copyright (c) 2024 Jiri Svoboda 3 3 * All rights reserved. 4 4 * … … 318 318 { 319 319 ui_window_t *window; 320 ui_window_t *pwindow = NULL; 320 321 display_info_t info; 321 322 gfx_coord2_t scr_dims; … … 505 506 *rwindow = window; 506 507 508 if (ui_is_fullscreen(ui)) 509 pwindow = ui_window_get_active(ui); 510 507 511 list_append(&window->lwindows, &ui->windows); 512 513 if (ui_is_fullscreen(ui)) { 514 /* Send unfocus event to previously active window */ 515 if (pwindow != NULL) 516 ui_window_send_unfocus(pwindow, 0); 517 } 518 508 519 return EOK; 509 520 error: … … 531 542 { 532 543 ui_t *ui; 544 ui_window_t *nwindow; 533 545 534 546 if (window == NULL) … … 558 570 if (ui_is_fullscreen(ui)) { 559 571 ui_paint(ui); 572 /* Send focus event to newly active window */ 573 nwindow = ui_window_get_active(ui); 574 if (nwindow != NULL) 575 ui_window_send_focus(nwindow, 0); 560 576 } 561 577
Note:
See TracChangeset
for help on using the changeset viewer.