Changeset 96ef0d1e in mainline
- Timestamp:
- 2026-03-07T19:50:50Z (8 hours ago)
- Branches:
- master
- Parents:
- a927af7a
- Location:
- uspace
- Files:
-
- 13 added
- 16 edited
-
app/copy/copy.c (modified) (1 diff)
-
app/meson.build (modified) (1 diff)
-
app/move/move.c (modified) (1 diff)
-
app/nav/dlg/copydlg.c (modified) (1 diff)
-
app/nav/dlg/movedlg.c (modified) (3 diffs)
-
app/nav/dlg/renamedlg.c (added)
-
app/nav/dlg/renamedlg.h (added)
-
app/nav/menu.c (modified) (4 diffs)
-
app/nav/menu.h (modified) (1 diff)
-
app/nav/meson.build (modified) (5 diffs)
-
app/nav/nav.c (modified) (6 diffs)
-
app/nav/rename.c (added)
-
app/nav/rename.h (added)
-
app/nav/test/dlg/renamedlg.c (added)
-
app/nav/types/dlg/renamedlg.h (added)
-
app/nav/types/menu.h (modified) (1 diff)
-
app/nav/types/rename.h (added)
-
app/rename/doc/doxygroups.h (added)
-
app/rename/meson.build (added)
-
app/rename/rename.c (added)
-
lib/fmgt/include/fmgt.h (modified) (1 diff)
-
lib/fmgt/include/fmgt/rename.h (added)
-
lib/fmgt/include/types/fmgt.h (modified) (1 diff)
-
lib/fmgt/meson.build (modified) (2 diffs)
-
lib/fmgt/private/fsops.h (modified) (2 diffs)
-
lib/fmgt/src/fsops.c (modified) (1 diff)
-
lib/fmgt/src/rename.c (added)
-
lib/fmgt/test/main.c (modified) (1 diff)
-
lib/fmgt/test/rename.c (added)
Legend:
- Unmodified
- Added
- Removed
-
uspace/app/copy/copy.c
ra927af7a r96ef0d1e 161 161 case fmgt_io_open: 162 162 fmt = "Error opening %s. (%s)\n"; 163 break; 164 case fmgt_io_rename: 165 fmt = "Error renaming %s. (%s)\n"; 163 166 break; 164 167 } -
uspace/app/meson.build
ra927af7a r96ef0d1e 84 84 'pkg', 85 85 'redir', 86 'rename', 86 87 'sbi', 87 88 'shutdown', -
uspace/app/move/move.c
ra927af7a r96ef0d1e 161 161 case fmgt_io_open: 162 162 fmt = "Error opening %s. (%s)\n"; 163 break; 164 case fmgt_io_rename: 165 fmt = "Error renaming %s. (%s)\n"; 163 166 break; 164 167 } -
uspace/app/nav/dlg/copydlg.c
ra927af7a r96ef0d1e 186 186 if (rc != EOK) 187 187 goto error; 188 189 ui_entry_activate(edest); 190 191 /* Select all */ 192 ui_entry_seek_start(edest, false); 193 ui_entry_seek_end(edest, true); 188 194 189 195 dialog->edest = edest; -
uspace/app/nav/dlg/movedlg.c
ra927af7a r96ef0d1e 89 89 ui_resource_t *ui_res; 90 90 fmgt_flist_entry_t *entry; 91 int rv; 91 92 char *tmove = NULL; 92 93 unsigned count; … … 129 130 if (count == 1) { 130 131 entry = fmgt_flist_first(flist); 131 rc = asprintf(&tmove, "Move \"%s\" to:", 132 entry->fname); 133 } else { 134 rc = asprintf(&tmove, "Move %u files/directories to:", 135 count); 132 rv = asprintf(&tmove, "Move \"%s\" to:", entry->fname); 133 if (rv < 0) 134 goto error; 135 } else { 136 rv = asprintf(&tmove, "Move %u files/directories to:", count); 137 if (rv < 0) 138 goto error; 136 139 } 137 140 … … 186 189 if (rc != EOK) 187 190 goto error; 191 192 ui_entry_activate(edest); 193 194 /* Select all */ 195 ui_entry_seek_start(edest, false); 196 ui_entry_seek_end(edest, true); 188 197 189 198 dialog->edest = edest; -
uspace/app/nav/menu.c
ra927af7a r96ef0d1e 60 60 ui_menu_entry_t *mverify; 61 61 ui_menu_entry_t *mcopy; 62 ui_menu_entry_t *mrename; 62 63 ui_menu_entry_t *mmove; 63 64 ui_menu_entry_t *mdelete; … … 90 91 ui_menu_entry_set_cb(mnew, nav_menu_file_new_file, (void *) menu); 91 92 92 rc = ui_menu_entry_create(mfile, "New D i~r~ectory", "Ctrl-N", &mnewdir);93 rc = ui_menu_entry_create(mfile, "New D~i~rectory", "Ctrl-N", &mnewdir); 93 94 if (rc != EOK) 94 95 goto error; … … 119 120 120 121 ui_menu_entry_set_cb(mcopy, nav_menu_file_copy, (void *) menu); 122 123 rc = ui_menu_entry_create(mfile, "~R~ename", "Ctrl-R", &mrename); 124 if (rc != EOK) 125 goto error; 126 127 ui_menu_entry_set_cb(mrename, nav_menu_file_rename, (void *) menu); 121 128 122 129 rc = ui_menu_entry_create(mfile, "~M~ove", "Ctrl-X", &mmove); … … 268 275 } 269 276 277 /** File / Rename menu entry selected. 278 * 279 * @param mentry Menu entry 280 * @param arg Argument (navigator_t *) 281 */ 282 void nav_menu_file_rename(ui_menu_entry_t *mentry, void *arg) 283 { 284 nav_menu_t *menu = (nav_menu_t *)arg; 285 286 if (menu->cb != NULL && menu->cb->file_rename != NULL) 287 menu->cb->file_rename(menu->cb_arg); 288 } 289 270 290 /** File / Move menu entry selected. 271 291 * -
uspace/app/nav/menu.h
ra927af7a r96ef0d1e 52 52 extern void nav_menu_file_verify(ui_menu_entry_t *, void *); 53 53 extern void nav_menu_file_copy(ui_menu_entry_t *, void *); 54 extern void nav_menu_file_rename(ui_menu_entry_t *, void *); 54 55 extern void nav_menu_file_move(ui_menu_entry_t *, void *); 55 56 extern void nav_menu_file_delete(ui_menu_entry_t *, void *); -
uspace/app/nav/meson.build
ra927af7a r96ef0d1e 37 37 'dlg/newfiledlg.c', 38 38 'dlg/progress.c', 39 'dlg/renamedlg.c', 39 40 'dlg/verifydlg.c', 40 41 'copy.c', … … 47 48 'newfile.c', 48 49 'panel.c', 50 'rename.c', 49 51 'verify.c', 50 52 ) … … 59 61 'dlg/newfiledlg.c', 60 62 'dlg/progress.c', 63 'dlg/renamedlg.c', 61 64 'dlg/verifydlg.c', 62 65 'copy.c', … … 68 71 'newfile.c', 69 72 'panel.c', 73 'rename.c', 70 74 'verify.c', 71 75 'test/dlg/copydlg.c', … … 77 81 'test/dlg/newfiledlg.c', 78 82 'test/dlg/progress.c', 83 'test/dlg/renamedlg.c', 79 84 'test/dlg/verifydlg.c', 80 85 'test/main.c', -
uspace/app/nav/nav.c
ra927af7a r96ef0d1e 59 59 #include "nav.h" 60 60 #include "panel.h" 61 #include "rename.h" 61 62 #include "verify.h" 62 63 … … 77 78 static void navigator_file_verify(void *); 78 79 static void navigator_file_copy(void *); 80 static void navigator_file_rename(void *); 79 81 static void navigator_file_move(void *); 80 82 static void navigator_file_delete(void *); … … 88 90 .file_verify = navigator_file_verify, 89 91 .file_copy = navigator_file_copy, 92 .file_rename = navigator_file_rename, 90 93 .file_move = navigator_file_move, 91 94 .file_delete = navigator_file_delete, … … 179 182 navigator_file_delete((void *)navigator); 180 183 break; 184 case KC_R: 185 navigator_file_rename((void *)navigator); 186 break; 181 187 case KC_Q: 182 188 ui_quit(navigator->ui); … … 715 721 /* flist ownership transferred */ 716 722 navigator_delete_dlg(navigator, flist); 723 } 724 725 /** File / Rename menu entry selected */ 726 static void navigator_file_rename(void *arg) 727 { 728 navigator_t *navigator = (navigator_t *)arg; 729 730 ui_file_list_entry_t *entry; 731 ui_file_list_entry_attr_t attr; 732 panel_t *panel; 733 734 panel = navigator_get_active_panel(navigator); 735 entry = ui_file_list_get_cursor(panel->flist); 736 ui_file_list_entry_get_attr(entry, &attr); 737 738 /* flist ownership transferred */ 739 navigator_rename_dlg(navigator, attr.name); 717 740 } 718 741 … … 871 894 fmt = "Error deleting %s."; 872 895 break; 896 case fmgt_io_rename: 897 fmt = "Error renaming %s."; 898 break; 873 899 } 874 900 -
uspace/app/nav/types/menu.h
ra927af7a r96ef0d1e 55 55 /** File / Copy */ 56 56 void (*file_copy)(void *); 57 /** File / Rename */ 58 void (*file_rename)(void *); 57 59 /** File / Move */ 58 60 void (*file_move)(void *); -
uspace/lib/fmgt/include/fmgt.h
ra927af7a r96ef0d1e 48 48 #include "fmgt/newdir.h" 49 49 #include "fmgt/newfile.h" 50 #include "fmgt/rename.h" 50 51 #include "fmgt/verify.h" 51 52 #include "fmgt/walk.h" -
uspace/lib/fmgt/include/types/fmgt.h
ra927af7a r96ef0d1e 73 73 fmgt_io_create, 74 74 /** Delete */ 75 fmgt_io_delete 75 fmgt_io_delete, 76 /** Rename */ 77 fmgt_io_rename 76 78 } fmgt_io_op_type_t; 77 79 -
uspace/lib/fmgt/meson.build
ra927af7a r96ef0d1e 36 36 'src/newdir.c', 37 37 'src/newfile.c', 38 'src/rename.c', 38 39 'src/verify.c', 39 40 'src/walk.c' … … 49 50 'test/newdir.c', 50 51 'test/newfile.c', 52 'test/rename.c', 51 53 'test/verify.c', 52 54 'test/walk.c' -
uspace/lib/fmgt/private/fsops.h
ra927af7a r96ef0d1e 38 38 #define PRIVATE_FSOPS_H 39 39 40 #include <offset.h> 40 41 #include <stddef.h> 41 42 #include <stdio.h> … … 47 48 errno_t fmgt_create_dir(fmgt_t *, const char *, bool); 48 49 errno_t fmgt_remove(fmgt_t *, const char *); 50 errno_t fmgt_rename_entry(fmgt_t *, const char *, const char *); 49 51 errno_t fmgt_read(fmgt_t *, int, const char *, aoff64_t *, void *, size_t, 50 52 size_t *); -
uspace/lib/fmgt/src/fsops.c
ra927af7a r96ef0d1e 283 283 } 284 284 285 /** Rename file or directory. 286 * 287 * @param fmgt File management object 288 * @param old_path Original filesystem path 289 * @param new_name New name (does not need to be a full path) 290 * @return EOK on success or an error code 291 */ 292 errno_t fmgt_rename_entry(fmgt_t *fmgt, const char *old_path, 293 const char *new_name) 294 { 295 fmgt_io_error_t err; 296 fmgt_error_action_t action; 297 errno_t rc; 298 299 do { 300 rc = vfs_rename_path(old_path, new_name); 301 302 if (rc == EOK) 303 break; 304 305 /* I/O error */ 306 err.fname = old_path; 307 err.optype = fmgt_io_rename; 308 err.rc = rc; 309 310 fmgt_timer_stop(fmgt); 311 action = fmgt_io_error_query(fmgt, &err); 312 fmgt_timer_start(fmgt); 313 } while (action == fmgt_er_retry); 314 315 return rc; 316 } 317 285 318 /** @} 286 319 */ -
uspace/lib/fmgt/test/main.c
ra927af7a r96ef0d1e 37 37 PCUT_IMPORT(move); 38 38 PCUT_IMPORT(newfile); 39 PCUT_IMPORT(rename); 39 40 PCUT_IMPORT(verify); 40 41 PCUT_IMPORT(walk);
Note:
See TracChangeset
for help on using the changeset viewer.
