Changeset f6304727 in mainline for uspace/app/nav/nav.c
- Timestamp:
- 2026-03-08T21:20:30Z (9 days ago)
- Branches:
- master
- Children:
- 13277e3
- Parents:
- 01cd15bc
- File:
-
- 1 edited
-
uspace/app/nav/nav.c (modified) (11 diffs)
Legend:
- Unmodified
- Added
- Removed
-
uspace/app/nav/nav.c
r01cd15bc rf6304727 64 64 #define EDITOR_CMD "/app/edit" 65 65 66 static void wnd_resize(ui_window_t *, void *); 66 67 static void wnd_close(ui_window_t *, void *); 67 68 static void wnd_kbd(ui_window_t *, void *, kbd_event_t *); 68 69 69 70 static ui_window_cb_t window_cb = { 71 .resize = wnd_resize, 70 72 .close = wnd_close, 71 73 .kbd = wnd_kbd … … 96 98 }; 97 99 100 static void navigator_panel_rect(navigator_t *, unsigned, gfx_rect_t *); 98 101 static void navigator_panel_activate_req(void *, panel_t *); 99 102 static void navigator_panel_file_open(void *, panel_t *, const char *); … … 133 136 .close = navigator_exists_close 134 137 }; 138 139 /** Window size has changed. 140 * 141 * @param window Window 142 * @param arg Argument (navigator) 143 */ 144 static void wnd_resize(ui_window_t *window, void *arg) 145 { 146 navigator_t *navigator = (navigator_t *) arg; 147 unsigned i; 148 gfx_rect_t rect; 149 150 nav_menu_resize(navigator->menu); 151 152 for (i = 0; i < navigator_panels; i++) { 153 navigator_panel_rect(navigator, i, &rect); 154 panel_set_rect(navigator->panel[i], &rect); 155 } 156 } 135 157 136 158 /** Window close button was clicked. … … 207 229 } 208 230 231 static void navigator_panel_rect(navigator_t *navigator, unsigned i, 232 gfx_rect_t *rect) 233 { 234 gfx_rect_t arect; 235 gfx_coord_t pw; 236 237 ui_window_get_app_rect(navigator->window, &arect); 238 239 /* Panel width */ 240 pw = (arect.p1.x - arect.p0.x) / navigator_panels; 241 242 rect->p0.x = arect.p0.x + pw * i; 243 rect->p0.y = arect.p0.y + 1; 244 rect->p1.x = arect.p0.x + pw * (i + 1); 245 rect->p1.y = arect.p1.y - 1; 246 } 247 209 248 /** Create navigator. 210 249 * … … 220 259 gfx_rect_t rect; 221 260 gfx_rect_t arect; 222 gfx_coord_t pw;223 261 unsigned i; 224 262 errno_t rc; … … 242 280 if (rc != EOK) { 243 281 printf("Error creating window.\n"); 282 244 283 goto error; 245 284 } … … 269 308 } 270 309 271 /* Panel width */ 272 pw = (arect.p1.x - arect.p0.x) / 2; 273 274 for (i = 0; i < 2; i++) { 310 /* Create panels. */ 311 for (i = 0; i < navigator_panels; i++) { 275 312 rc = panel_create(navigator->window, i == 0, 276 313 &navigator->panel[i]); … … 278 315 goto error; 279 316 280 rect.p0.x = arect.p0.x + pw * i; 281 rect.p0.y = arect.p0.y + 1; 282 rect.p1.x = arect.p0.x + pw * (i + 1); 283 rect.p1.y = arect.p1.y - 1; 317 navigator_panel_rect(navigator, i, &rect); 284 318 panel_set_rect(navigator->panel[i], &rect); 285 319 … … 326 360 unsigned i; 327 361 328 for (i = 0; i < 2; i++) {362 for (i = 0; i < navigator_panels; i++) { 329 363 if (navigator->panel[i] != NULL) { 330 364 ui_fixed_remove(navigator->fixed, … … 437 471 /* First refresh inactive panel. */ 438 472 439 for (i = 0; i < 2; i++) {473 for (i = 0; i < navigator_panels; i++) { 440 474 if (!panel_is_active(navigator->panel[i])) { 441 475 rc = panel_refresh(navigator->panel[i]); … … 450 484 */ 451 485 452 for (i = 0; i < 2; i++) {486 for (i = 0; i < navigator_panels; i++) { 453 487 if (panel_is_active(navigator->panel[i])) { 454 488 rc = panel_refresh(navigator->panel[i]);
Note:
See TracChangeset
for help on using the changeset viewer.
