Changeset 96ef0d1e in mainline for uspace/app


Ignore:
Timestamp:
2026-03-07T19:50:50Z (10 days ago)
Author:
Jiri Svoboda <jiri@…>
Branches:
master
Children:
01cd15bc
Parents:
a927af7a
Message:

Rename file (Navigator and command line).

Location:
uspace/app
Files:
10 added
10 edited

Legend:

Unmodified
Added
Removed
  • uspace/app/copy/copy.c

    ra927af7a r96ef0d1e  
    161161        case fmgt_io_open:
    162162                fmt = "Error opening %s. (%s)\n";
     163                break;
     164        case fmgt_io_rename:
     165                fmt = "Error renaming %s. (%s)\n";
    163166                break;
    164167        }
  • uspace/app/meson.build

    ra927af7a r96ef0d1e  
    8484        'pkg',
    8585        'redir',
     86        'rename',
    8687        'sbi',
    8788        'shutdown',
  • uspace/app/move/move.c

    ra927af7a r96ef0d1e  
    161161        case fmgt_io_open:
    162162                fmt = "Error opening %s. (%s)\n";
     163                break;
     164        case fmgt_io_rename:
     165                fmt = "Error renaming %s. (%s)\n";
    163166                break;
    164167        }
  • uspace/app/nav/dlg/copydlg.c

    ra927af7a r96ef0d1e  
    186186        if (rc != EOK)
    187187                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);
    188194
    189195        dialog->edest = edest;
  • uspace/app/nav/dlg/movedlg.c

    ra927af7a r96ef0d1e  
    8989        ui_resource_t *ui_res;
    9090        fmgt_flist_entry_t *entry;
     91        int rv;
    9192        char *tmove = NULL;
    9293        unsigned count;
     
    129130        if (count == 1) {
    130131                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;
    136139        }
    137140
     
    186189        if (rc != EOK)
    187190                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);
    188197
    189198        dialog->edest = edest;
  • uspace/app/nav/menu.c

    ra927af7a r96ef0d1e  
    6060        ui_menu_entry_t *mverify;
    6161        ui_menu_entry_t *mcopy;
     62        ui_menu_entry_t *mrename;
    6263        ui_menu_entry_t *mmove;
    6364        ui_menu_entry_t *mdelete;
     
    9091        ui_menu_entry_set_cb(mnew, nav_menu_file_new_file, (void *) menu);
    9192
    92         rc = ui_menu_entry_create(mfile, "New Di~r~ectory", "Ctrl-N", &mnewdir);
     93        rc = ui_menu_entry_create(mfile, "New D~i~rectory", "Ctrl-N", &mnewdir);
    9394        if (rc != EOK)
    9495                goto error;
     
    119120
    120121        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);
    121128
    122129        rc = ui_menu_entry_create(mfile, "~M~ove", "Ctrl-X", &mmove);
     
    268275}
    269276
     277/** File / Rename menu entry selected.
     278 *
     279 * @param mentry Menu entry
     280 * @param arg Argument (navigator_t *)
     281 */
     282void 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
    270290/** File / Move menu entry selected.
    271291 *
  • uspace/app/nav/menu.h

    ra927af7a r96ef0d1e  
    5252extern void nav_menu_file_verify(ui_menu_entry_t *, void *);
    5353extern void nav_menu_file_copy(ui_menu_entry_t *, void *);
     54extern void nav_menu_file_rename(ui_menu_entry_t *, void *);
    5455extern void nav_menu_file_move(ui_menu_entry_t *, void *);
    5556extern void nav_menu_file_delete(ui_menu_entry_t *, void *);
  • uspace/app/nav/meson.build

    ra927af7a r96ef0d1e  
    3737        'dlg/newfiledlg.c',
    3838        'dlg/progress.c',
     39        'dlg/renamedlg.c',
    3940        'dlg/verifydlg.c',
    4041        'copy.c',
     
    4748        'newfile.c',
    4849        'panel.c',
     50        'rename.c',
    4951        'verify.c',
    5052)
     
    5961        'dlg/newfiledlg.c',
    6062        'dlg/progress.c',
     63        'dlg/renamedlg.c',
    6164        'dlg/verifydlg.c',
    6265        'copy.c',
     
    6871        'newfile.c',
    6972        'panel.c',
     73        'rename.c',
    7074        'verify.c',
    7175        'test/dlg/copydlg.c',
     
    7781        'test/dlg/newfiledlg.c',
    7882        'test/dlg/progress.c',
     83        'test/dlg/renamedlg.c',
    7984        'test/dlg/verifydlg.c',
    8085        'test/main.c',
  • uspace/app/nav/nav.c

    ra927af7a r96ef0d1e  
    5959#include "nav.h"
    6060#include "panel.h"
     61#include "rename.h"
    6162#include "verify.h"
    6263
     
    7778static void navigator_file_verify(void *);
    7879static void navigator_file_copy(void *);
     80static void navigator_file_rename(void *);
    7981static void navigator_file_move(void *);
    8082static void navigator_file_delete(void *);
     
    8890        .file_verify = navigator_file_verify,
    8991        .file_copy = navigator_file_copy,
     92        .file_rename = navigator_file_rename,
    9093        .file_move = navigator_file_move,
    9194        .file_delete = navigator_file_delete,
     
    179182                        navigator_file_delete((void *)navigator);
    180183                        break;
     184                case KC_R:
     185                        navigator_file_rename((void *)navigator);
     186                        break;
    181187                case KC_Q:
    182188                        ui_quit(navigator->ui);
     
    715721        /* flist ownership transferred */
    716722        navigator_delete_dlg(navigator, flist);
     723}
     724
     725/** File / Rename menu entry selected */
     726static 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);
    717740}
    718741
     
    871894                fmt = "Error deleting %s.";
    872895                break;
     896        case fmgt_io_rename:
     897                fmt = "Error renaming %s.";
     898                break;
    873899        }
    874900
  • uspace/app/nav/types/menu.h

    ra927af7a r96ef0d1e  
    5555        /** File / Copy */
    5656        void (*file_copy)(void *);
     57        /** File / Rename */
     58        void (*file_rename)(void *);
    5759        /** File / Move */
    5860        void (*file_move)(void *);
Note: See TracChangeset for help on using the changeset viewer.