Changeset cd0dce3 in mainline
- Timestamp:
- 2026-02-11T23:17:49Z (13 hours ago)
- Branches:
- master
- Parents:
- f9c30b9a
- Location:
- uspace
- Files:
-
- 13 added
- 13 edited
-
app/meson.build (modified) (1 diff)
-
app/nav/dlg/newdirdlg.c (added)
-
app/nav/dlg/newdirdlg.h (added)
-
app/nav/menu.c (modified) (3 diffs)
-
app/nav/menu.h (modified) (1 diff)
-
app/nav/meson.build (modified) (5 diffs)
-
app/nav/nav.c (modified) (5 diffs)
-
app/nav/newdir.c (added)
-
app/nav/newdir.h (added)
-
app/nav/test/dlg/newdirdlg.c (added)
-
app/nav/types/dlg/newdirdlg.h (added)
-
app/nav/types/menu.h (modified) (1 diff)
-
app/nav/types/newdir.h (added)
-
app/newdir/doc/doxygroups.h (added)
-
app/newdir/meson.build (added)
-
app/newdir/newdir.c (added)
-
lib/fmgt/include/fmgt.h (modified) (1 diff)
-
lib/fmgt/include/fmgt/newdir.h (added)
-
lib/fmgt/meson.build (modified) (2 diffs)
-
lib/fmgt/private/fsops.h (modified) (1 diff)
-
lib/fmgt/src/copy.c (modified) (1 diff)
-
lib/fmgt/src/fsops.c (modified) (3 diffs)
-
lib/fmgt/src/move.c (modified) (1 diff)
-
lib/fmgt/src/newdir.c (added)
-
lib/fmgt/test/fsops.c (modified) (1 diff)
-
lib/fmgt/test/newdir.c (added)
Legend:
- Unmodified
- Added
- Removed
-
uspace/app/meson.build
rf9c30b9a rcd0dce3 72 72 'nav', 73 73 'netecho', 74 'newdir', 74 75 'newfile', 75 76 'nic', -
uspace/app/nav/menu.c
rf9c30b9a rcd0dce3 55 55 ui_menu_t *mfile; 56 56 ui_menu_entry_t *mnew; 57 ui_menu_entry_t *mnewdir; 57 58 ui_menu_entry_t *mopen; 58 59 ui_menu_entry_t *medit; … … 88 89 ui_menu_entry_set_cb(mnew, nav_menu_file_new_file, (void *) menu); 89 90 91 rc = ui_menu_entry_create(mfile, "New Di~r~ectory", "Ctrl-N", &mnewdir); 92 if (rc != EOK) 93 goto error; 94 95 ui_menu_entry_set_cb(mnewdir, nav_menu_file_new_dir, (void *) menu); 96 90 97 rc = ui_menu_entry_create(mfile, "~O~pen", "Enter", &mopen); 91 98 if (rc != EOK) … … 189 196 } 190 197 198 /** File / New Directory menu entry selected. 199 * 200 * @param mentry Menu entry 201 * @param arg Argument (navigator_t *) 202 */ 203 void nav_menu_file_new_dir(ui_menu_entry_t *mentry, void *arg) 204 { 205 nav_menu_t *menu = (nav_menu_t *)arg; 206 207 if (menu->cb != NULL && menu->cb->file_new_dir != NULL) 208 menu->cb->file_new_dir(menu->cb_arg); 209 } 210 191 211 /** File / Open menu entry selected. 192 212 * -
uspace/app/nav/menu.h
rf9c30b9a rcd0dce3 46 46 extern void nav_menu_destroy(nav_menu_t *); 47 47 extern ui_control_t *nav_menu_ctl(nav_menu_t *); 48 extern void nav_menu_file_new_dir(ui_menu_entry_t *, void *); 48 49 extern void nav_menu_file_new_file(ui_menu_entry_t *, void *); 49 50 extern void nav_menu_file_open(ui_menu_entry_t *, void *); -
uspace/app/nav/meson.build
rf9c30b9a rcd0dce3 33 33 'dlg/ioerrdlg.c', 34 34 'dlg/movedlg.c', 35 'dlg/newdirdlg.c', 35 36 'dlg/newfiledlg.c', 36 37 'dlg/progress.c', … … 41 42 'move.c', 42 43 'nav.c', 44 'newdir.c', 43 45 'newfile.c', 44 46 'panel.c', … … 51 53 'dlg/ioerrdlg.c', 52 54 'dlg/movedlg.c', 55 'dlg/newdirdlg.c', 53 56 'dlg/newfiledlg.c', 54 57 'dlg/progress.c', … … 58 61 'move.c', 59 62 'nav.c', 63 'newdir.c', 60 64 'newfile.c', 61 65 'panel.c', … … 65 69 'test/dlg/ioerrdlg.c', 66 70 'test/dlg/movedlg.c', 71 'test/dlg/newdirdlg.c', 67 72 'test/dlg/newfiledlg.c', 68 73 'test/dlg/progress.c', -
uspace/app/nav/nav.c
rf9c30b9a rcd0dce3 53 53 #include "menu.h" 54 54 #include "move.h" 55 #include "newdir.h" 55 56 #include "newfile.h" 56 57 #include "nav.h" … … 69 70 70 71 static void navigator_file_new_file(void *); 72 static void navigator_file_new_dir(void *); 71 73 static void navigator_file_open(void *); 72 74 static void navigator_file_edit(void *); … … 78 80 static nav_menu_cb_t navigator_menu_cb = { 79 81 .file_new_file = navigator_file_new_file, 82 .file_new_dir = navigator_file_new_dir, 80 83 .file_open = navigator_file_open, 81 84 .file_edit = navigator_file_edit, … … 153 156 case KC_M: 154 157 navigator_new_file_dlg(navigator); 158 break; 159 case KC_N: 160 navigator_new_dir_dlg(navigator); 155 161 break; 156 162 case KC_E: … … 448 454 } 449 455 456 /** File / New Directory menu entry selected */ 457 static void navigator_file_new_dir(void *arg) 458 { 459 navigator_t *navigator = (navigator_t *)arg; 460 461 navigator_new_dir_dlg(navigator); 462 } 463 450 464 /** File / Open menu entry selected */ 451 465 static void navigator_file_open(void *arg) -
uspace/app/nav/types/menu.h
rf9c30b9a rcd0dce3 45 45 /** File / New File */ 46 46 void (*file_new_file)(void *); 47 /** File / New Directory */ 48 void (*file_new_dir)(void *); 47 49 /** File / Open */ 48 50 void (*file_open)(void *); -
uspace/lib/fmgt/include/fmgt.h
rf9c30b9a rcd0dce3 45 45 #include "fmgt/flist.h" 46 46 #include "fmgt/move.h" 47 #include "fmgt/newdir.h" 47 48 #include "fmgt/newfile.h" 48 49 #include "fmgt/verify.h" -
uspace/lib/fmgt/meson.build
rf9c30b9a rcd0dce3 33 33 'src/fsops.c', 34 34 'src/move.c', 35 'src/newdir.c', 35 36 'src/newfile.c', 36 37 'src/verify.c', … … 45 46 'test/main.c', 46 47 'test/move.c', 48 'test/newdir.c', 47 49 'test/newfile.c', 48 50 'test/verify.c', -
uspace/lib/fmgt/private/fsops.h
rf9c30b9a rcd0dce3 45 45 errno_t fmgt_open(fmgt_t *, const char *, int *); 46 46 errno_t fmgt_create_file(fmgt_t *, const char *, int *, fmgt_exists_action_t *); 47 errno_t fmgt_create_dir(fmgt_t *, const char * );47 errno_t fmgt_create_dir(fmgt_t *, const char *, bool); 48 48 errno_t fmgt_remove(fmgt_t *, const char *); 49 49 errno_t fmgt_read(fmgt_t *, int, const char *, aoff64_t *, void *, size_t, -
uspace/lib/fmgt/src/copy.c
rf9c30b9a rcd0dce3 64 64 65 65 (void)dest; 66 return fmgt_create_dir(fmgt, dest );66 return fmgt_create_dir(fmgt, dest, false); 67 67 } 68 68 -
uspace/lib/fmgt/src/fsops.c
rf9c30b9a rcd0dce3 135 135 * @param fmgt File management object 136 136 * @param dname Directory name 137 * @return EOK on success or an error code 138 */ 139 errno_t fmgt_create_dir(fmgt_t *fmgt, const char *dname) 137 * @param exclusive If @c true, directory must not exist. 138 * @return EOK on success or an error code 139 */ 140 errno_t fmgt_create_dir(fmgt_t *fmgt, const char *dname, bool exclusive) 140 141 { 141 142 fmgt_io_error_t err; … … 146 147 rc = vfs_link_path(dname, KIND_DIRECTORY, NULL); 147 148 148 /* It is okay if the directory exists. */149 149 if (rc == EOK || rc == EEXIST) 150 150 break; … … 160 160 } while (action == fmgt_er_retry); 161 161 162 if (rc == EEXIST )162 if (rc == EEXIST && !exclusive) 163 163 return EOK; 164 164 -
uspace/lib/fmgt/src/move.c
rf9c30b9a rcd0dce3 66 66 67 67 (void)dest; 68 return fmgt_create_dir(fmgt, dest );68 return fmgt_create_dir(fmgt, dest, false); 69 69 } 70 70 -
uspace/lib/fmgt/test/fsops.c
rf9c30b9a rcd0dce3 122 122 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 123 123 124 rc = fmgt_create_dir(fmgt, p );124 rc = fmgt_create_dir(fmgt, p, true); 125 125 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 126 126
Note:
See TracChangeset
for help on using the changeset viewer.
