Changeset 1ec732a in mainline for uspace/app/nav
- Timestamp:
- 2025-11-28T20:40:11Z (6 weeks ago)
- Branches:
- master
- Children:
- 144fafd
- Parents:
- 3a4c6d9
- Location:
- uspace/app/nav
- Files:
-
- 6 added
- 9 edited
-
dlg/progress.c (modified) (2 diffs)
-
dlg/progress.h (modified) (2 diffs)
-
dlg/verifydlg.c (added)
-
dlg/verifydlg.h (added)
-
menu.c (modified) (3 diffs)
-
menu.h (modified) (1 diff)
-
meson.build (modified) (3 diffs)
-
nav.c (modified) (5 diffs)
-
newfile.c (modified) (1 diff)
-
types/dlg/progress.h (modified) (1 diff)
-
types/dlg/verifydlg.h (added)
-
types/menu.h (modified) (1 diff)
-
types/verify.h (added)
-
verify.c (added)
-
verify.h (added)
Legend:
- Unmodified
- Added
- Removed
-
uspace/app/nav/dlg/progress.c
r3a4c6d9 r1ec732a 134 134 /* FIXME: Auto layout */ 135 135 if (ui_is_textmode(ui)) { 136 rect.p0.x = 3;136 rect.p0.x = 1; 137 137 rect.p0.y = 2; 138 rect.p1.x = 4 7;138 rect.p1.x = 49; 139 139 rect.p1.y = 3; 140 } else { 141 rect.p0.x = 10; 142 rect.p0.y = 35; 143 rect.p1.x = 390; 144 rect.p1.y = 50; 145 } 146 147 ui_label_set_rect(label, &rect); 148 ui_label_set_halign(label, gfx_halign_center); 149 150 rc = ui_fixed_add(fixed, ui_label_ctl(label)); 151 if (rc != EOK) 152 goto error; 153 154 dialog->ltotal_prog = label; 155 label = NULL; 156 157 rc = ui_label_create(ui_res, "XXX of XXX (XXX%)", &label); 158 if (rc != EOK) 159 goto error; 160 161 /* FIXME: Auto layout */ 162 if (ui_is_textmode(ui)) { 163 rect.p0.x = 1; 164 rect.p0.y = 4; 165 rect.p1.x = 49; 166 rect.p1.y = 5; 140 167 } else { 141 168 rect.p0.x = 10; … … 240 267 * 241 268 * @param dialog Progress dialog 242 * @param text New text for current file progress269 * @param progress Progress 243 270 * 244 271 * @return EOK on success or an error code 245 272 */ 246 errno_t progress_dlg_set_curf_prog(progress_dlg_t *dialog, const char *text) 247 { 273 errno_t progress_dlg_set_progress(progress_dlg_t *dialog, 274 fmgt_progress_t *progress) 275 { 276 char buf[128]; 248 277 errno_t rc; 249 278 250 rc = ui_label_set_text(dialog->lcurf_prog, text); 279 snprintf(buf, sizeof(buf), "Total: %s files, %s.", 280 progress->total_procf, progress->total_procb); 281 282 rc = ui_label_set_text(dialog->ltotal_prog, buf); 251 283 if (rc != EOK) 252 284 return rc; 253 285 254 return ui_label_paint(dialog->lcurf_prog); 286 rc = ui_label_paint(dialog->ltotal_prog); 287 if (rc != EOK) 288 return rc; 289 290 snprintf(buf, sizeof(buf), "Current file: %s of %s (%s done).", 291 progress->curf_procb, progress->curf_totalb, 292 progress->curf_percent); 293 294 rc = ui_label_set_text(dialog->lcurf_prog, buf); 295 if (rc != EOK) 296 return rc; 297 298 rc = ui_label_paint(dialog->lcurf_prog); 299 if (rc != EOK) 300 return rc; 301 302 return EOK; 255 303 } 256 304 -
uspace/app/nav/dlg/progress.h
r3a4c6d9 r1ec732a 38 38 39 39 #include <errno.h> 40 #include <fmgt.h> 40 41 #include <types/ui/ui.h> 41 42 #include "../types/dlg/progress.h" … … 46 47 extern void progress_dlg_set_cb(progress_dlg_t *, progress_dlg_cb_t *, 47 48 void *); 48 extern errno_t progress_dlg_set_ curf_prog(progress_dlg_t *, const char*);49 extern errno_t progress_dlg_set_progress(progress_dlg_t *, fmgt_progress_t *); 49 50 extern void progress_dlg_destroy(progress_dlg_t *); 50 51 -
uspace/app/nav/menu.c
r3a4c6d9 r1ec732a 57 57 ui_menu_entry_t *mopen; 58 58 ui_menu_entry_t *medit; 59 ui_menu_entry_t *mverify; 59 60 ui_menu_entry_t *mfsep; 60 61 ui_menu_entry_t *mexit; … … 97 98 ui_menu_entry_set_cb(medit, nav_menu_file_edit, (void *) menu); 98 99 100 rc = ui_menu_entry_create(mfile, "~V~erify", "Ctrl-V", &mverify); 101 if (rc != EOK) 102 goto error; 103 104 ui_menu_entry_set_cb(mverify, nav_menu_file_verify, (void *) menu); 105 99 106 rc = ui_menu_entry_sep_create(mfile, &mfsep); 100 107 if (rc != EOK) … … 194 201 } 195 202 203 /** File / Verify menu entry selected. 204 * 205 * @param mentry Menu entry 206 * @param arg Argument (navigator_t *) 207 */ 208 void nav_menu_file_verify(ui_menu_entry_t *mentry, void *arg) 209 { 210 nav_menu_t *menu = (nav_menu_t *)arg; 211 212 if (menu->cb != NULL && menu->cb->file_verify != NULL) 213 menu->cb->file_verify(menu->cb_arg); 214 } 215 196 216 /** File / Exit menu entry selected. 197 217 * -
uspace/app/nav/menu.h
r3a4c6d9 r1ec732a 49 49 extern void nav_menu_file_open(ui_menu_entry_t *, void *); 50 50 extern void nav_menu_file_edit(ui_menu_entry_t *, void *); 51 extern void nav_menu_file_verify(ui_menu_entry_t *, void *); 51 52 extern void nav_menu_file_exit(ui_menu_entry_t *, void *); 52 53 -
uspace/app/nav/meson.build
r3a4c6d9 r1ec732a 32 32 'dlg/newfiledlg.c', 33 33 'dlg/progress.c', 34 'dlg/verifydlg.c', 34 35 'main.c', 35 36 'menu.c', … … 37 38 'newfile.c', 38 39 'panel.c', 40 'verify.c', 39 41 ) 40 42 … … 43 45 'dlg/newfiledlg.c', 44 46 'dlg/progress.c', 47 'dlg/verifydlg.c', 45 48 'menu.c', 46 49 'nav.c', 47 50 'newfile.c', 48 51 'panel.c', 52 'verify.c', 49 53 'test/main.c', 50 54 'test/menu.c', -
uspace/app/nav/nav.c
r3a4c6d9 r1ec732a 53 53 #include "nav.h" 54 54 #include "panel.h" 55 #include "verify.h" 55 56 56 57 #define EDITOR_CMD "/app/edit" … … 67 68 static void navigator_file_open(void *); 68 69 static void navigator_file_edit(void *); 70 static void navigator_file_verify(void *); 69 71 static void navigator_file_exit(void *); 70 72 … … 73 75 .file_open = navigator_file_open, 74 76 .file_edit = navigator_file_edit, 77 .file_verify = navigator_file_verify, 75 78 .file_exit = navigator_file_exit 76 79 }; … … 135 138 navigator_file_edit((void *)navigator); 136 139 break; 140 case KC_V: 141 navigator_file_verify((void *)navigator); 142 break; 137 143 case KC_Q: 138 144 ui_quit(navigator->ui); … … 526 532 } 527 533 534 /** File / Verify menu entry selected */ 535 static void navigator_file_verify(void *arg) 536 { 537 navigator_t *navigator = (navigator_t *)arg; 538 539 ui_file_list_entry_t *entry; 540 ui_file_list_entry_attr_t attr; 541 fmgt_flist_t *flist; 542 panel_t *panel; 543 errno_t rc; 544 545 panel = navigator_get_active_panel(navigator); 546 entry = ui_file_list_get_cursor(panel->flist); 547 ui_file_list_entry_get_attr(entry, &attr); 548 549 rc = fmgt_flist_create(&flist); 550 if (rc != EOK) 551 return; 552 553 rc = fmgt_flist_append(flist, attr.name); 554 if (rc != EOK) { 555 fmgt_flist_destroy(flist); 556 return; 557 } 558 559 /* flist ownership transferred */ 560 navigator_verify_dlg(navigator, flist); 561 } 562 528 563 /** File / Exit menu entry selected */ 529 564 static void navigator_file_exit(void *arg) -
uspace/app/nav/newfile.c
r3a4c6d9 r1ec732a 259 259 { 260 260 navigator_t *nav = (navigator_t *)arg; 261 char buf[128]; 262 263 snprintf(buf, sizeof(buf), "Written %s of %s (%s done).", 264 progress->curf_procb, progress->curf_totalb, 265 progress->curf_percent); 266 progress_dlg_set_curf_prog(nav->progress_dlg, buf); 261 262 progress_dlg_set_progress(nav->progress_dlg, progress); 267 263 } 268 264 -
uspace/app/nav/types/dlg/progress.h
r3a4c6d9 r1ec732a 46 46 /** Dialog window */ 47 47 ui_window_t *window; 48 /** Label with total progress */ 49 ui_label_t *ltotal_prog; 48 50 /** Label with current file progress */ 49 51 ui_label_t *lcurf_prog; -
uspace/app/nav/types/menu.h
r3a4c6d9 r1ec732a 49 49 /** File / Edit */ 50 50 void (*file_edit)(void *); 51 /** File / Verify */ 52 void (*file_verify)(void *); 51 53 /** File / Exit */ 52 54 void (*file_exit)(void *);
Note:
See TracChangeset
for help on using the changeset viewer.
