rename files and directories in project view

This commit is contained in:
David Botton 2024-07-25 13:48:51 -04:00
parent e4985ef506
commit 42ac76f008

View file

@ -140,6 +140,7 @@
(opd (create-div menu :content "Open in dir tree" :class *builder-menu-context-item-class*))
(ops (create-div menu :content "Open in pseudo shell" :class *builder-menu-context-item-class*))
(opo (create-div menu :content "Open in os" :class *builder-menu-context-item-class*))
(ren (create-div menu :content "Rename directory" :class *builder-menu-context-item-class*))
(grp (create-div menu :content "Search directory" :class *builder-menu-context-item-class*)))
(declare (ignore title op))
(mapcar (lambda (file-extension)
@ -166,6 +167,18 @@
(declare (ignore i))
(on-shell obj :dir item))
:cancel-event t)
(set-on-click ren (lambda (i)
(declare (ignore i))
(let* ((*default-title-class* *builder-title-class*)
(*default-border-class* *builder-border-class*))
(input-dialog obj (format nil "Rename ~A to?" disp)
(lambda (result)
(when result
(rename-file item (format nil "~A~A/" dir result))
(setf item (format nil "~A~A/" dir result))
(setf (text-value (content obj)) result)))
:title "Rename Directory")))
:cancel-event t)
(set-on-click opo (lambda (i)
(declare (ignore i))
(open-file-with-os item))
@ -197,6 +210,7 @@
(opt (create-div menu :content "Open new tab" :class *builder-menu-context-item-class*))
(ope (create-div menu :content "Open emacs" :class *builder-menu-context-item-class*))
(opo (create-div menu :content "Open os default" :class *builder-menu-context-item-class*))
(ren (create-div menu :content "Rename" :class *builder-menu-context-item-class*))
(del (create-div menu :content "Delete" :class *builder-menu-context-item-class*)))
(declare (ignore title op))
(mapcar (lambda (file-extension)
@ -227,6 +241,18 @@
(declare (ignore i))
(open-file-with-os item))
:cancel-event t)
(set-on-click ren (lambda (i)
(declare (ignore i))
(let* ((*default-title-class* *builder-title-class*)
(*default-border-class* *builder-border-class*))
(input-dialog obj (format nil "Rename ~A to?" disp)
(lambda (result)
(when result
(rename-file item (format nil "~A~A" (directory-namestring item) result))
(setf item (format nil "~A~A" (directory-namestring item) result))
(setf (text-value (content obj)) result)))
:title "Rename File")))
:cancel-event t)
(set-on-click del (lambda (i)
(let* ((*default-title-class* *builder-title-class*)
(*default-border-class* *builder-border-class*))