add menu options for file browser open/save
authorD Herring <dherring@at.tentpost.dot.com>
Sun, 13 May 2012 13:58:20 +0000 (22:58 +0900)
committerD Herring <dherring@at.tentpost.dot.com>
Sun, 13 May 2012 14:03:10 +0000 (23:03 +0900)
config.lisp
main.lisp

index 82e8a1b..0b3aa22 100644 (file)
 
 (defparameter *key-new-file* "<Control-n>" "Create a new file")
 (defparameter *key-open-file* "<Control-o>" "Open a new file")
+(defparameter *key-open-file-browser* "<Control-Alt-o>" "Open a new file, with browser GUI")
 (defparameter *key-load-file* "<Control-l>" "Load a file from disc")
 (defparameter *key-close-file* "<Control-w>" "Close a file")
 (defparameter *key-save-file* "<Control-s>" "Save the current file")
 (defparameter *key-save-as-file* "<Control-S>" "Save the current file under a new name")
+(defparameter *key-save-as-file-browser* "<Control-Alt-s>" "Save the current file under a new name, with browser GUI")
 (defparameter *key-reload-file* "<Control-r>" "Re-load the current file")
 (defparameter *key-compile-file* "<Control-k>" "Compile the current file")
 (defparameter *key-next-file* "<Control-b>" "Cycle through open files")
index 0af3fa0..dc9d885 100644 (file)
--- a/main.lisp
+++ b/main.lisp
      (list *key-new-file* 'on-new-file)
      (list *key-close-file* 'on-close-file)
      (list *key-open-file* 'on-open-file)
+     (list *key-open-file-browser* 'on-open-file-browser)
      (list *key-save-file* 'on-save-file)
      (list *key-save-as-file* 'on-save-as-file)
+     (list *key-save-as-file-browser* 'on-save-as-file-browser)
      (list *key-load-file* 'on-load-file)
      (list *key-find* 'on-search)
      (list *key-find-again* 'on-search-again)
       (with-menu mfile
         (action "New file" on-new-file)
         (action "Open file" on-open-file)
+       (action "Open file browser" on-open-file-browser)
         (separator)
         (action "Save file" on-save-file)
         (action "Save as file" on-save-as-file)
+       (action "Save as file browser" on-save-as-file-browser)
         (separator)
         (action "Exit" on-quit))
       (with-menu medit
   (let ((filepath (get-filename *listener*)))
     (open-file filepath)))
 
+(defun on-open-file-browser (&optional event)
+  (declare (ignore event))
+  (open-file (ltk:get-open-file)))
+
 (defun on-load-file (&optional event)
   (let* ((filepath (get-filename *listener* "load:"))
          (pathname (open-file filepath)))
          (path (get-filename *listener* "save:")))
     (save-file file path)))
 
+(defun on-save-as-file-browser (&optional event)
+  (save-file
+    (selected-buffer *buffer-manager*)
+    (ltk:get-save-file)))
+
 (defun on-reload-file (&optional event)
   (let* ((buffer (selected-buffer *buffer-manager*))
          (file-path (file-path buffer)))