diff --git a/tools/clog-builder-templates.lisp b/tools/clog-builder-templates.lisp index e276a88..b9bc905 100644 --- a/tools/clog-builder-templates.lisp +++ b/tools/clog-builder-templates.lisp @@ -73,6 +73,26 @@ create-div's" (template-copy fname www-dir dir :base-dir nil)) (asdf:clear-source-registry))) +(defun add-template-dir (panel target) + (declare (ignore target)) + (let ((*default-title-class* *builder-title-class*) + (*default-border-class* *builder-border-class*)) + (input-dialog panel "Add Project Directory" + (lambda (result) + (when result + (pushnew result + (symbol-value (read-from-string "ql:*local-project-directories*")) + :test #'equalp) + (add-select-option (project-list panel) result result :selected t) + (let ((*default-title-class* *builder-title-class*) + (*default-border-class* *builder-border-class*)) + (alert-dialog panel (format nil "~A added to ql:*local-project-directories* temporarily.~% ~ + Use the generated run-ql or run-ocicl scripts in the created project ~% + or add to Options -> Edit preferences.lisp to work with your project in ~% + future." + result) + :width 500 :height 250))))))) + ;; Handle panel-clog-templates events (defun fill-button-clicked (panel) diff --git a/tools/panel-project-directory.clog b/tools/panel-project-directory.clog index 946242b..1036e2f 100644 --- a/tools/panel-project-directory.clog +++ b/tools/panel-project-directory.clog @@ -1,33 +1,6 @@ - -
- + +
+
\ No newline at end of file diff --git a/tools/panel-project-directory.lisp b/tools/panel-project-directory.lisp index 608feb8..e5ed768 100644 --- a/tools/panel-project-directory.lisp +++ b/tools/panel-project-directory.lisp @@ -9,34 +9,37 @@ (clog-obj &key hidden class style html-id (auto-place t)) (let ((panel (change-class - (clog:create-div clog-obj :content - "
- + + + class=\"\" id=\"CLOGB3930736272\">Add Alternative Directory
" :hidden hidden :class class :style style :html-id html-id :auto-place auto-place) 'project-dir))) (setf (slot-value panel 'other-button) - (attach-as-child clog-obj "CLOGB3930207072" :clog-type + (attach-as-child clog-obj "CLOGB3930736272" :clog-type 'clog:clog-button :new-id t)) (setf (slot-value panel 'select-button) - (attach-as-child clog-obj "CLOGB3930207071" :clog-type + (attach-as-child clog-obj "CLOGB3930736271" :clog-type 'clog:clog-button :new-id t)) (setf (slot-value panel 'project-list) - (attach-as-child clog-obj "CLOGB3930207070" :clog-type + (attach-as-child clog-obj "CLOGB3930736270" :clog-type 'clog:clog-select :new-id t)) (setf (slot-value panel 'frame) - (attach-as-child clog-obj "CLOGB3930207069" :clog-type + (attach-as-child clog-obj "CLOGB3930736269" :clog-type 'clog:clog-div :new-id t)) (let ((target (project-list panel))) (declare (ignorable target)) @@ -53,26 +56,5 @@ (clog:set-on-click (other-button panel) (lambda (target) (declare (ignorable target)) - (let ((*default-title-class* *builder-title-class*) - (*default-border-class* *builder-border-class*)) - (input-dialog panel "Add Project Directory" - (lambda (result) - (when result - (pushnew result - quicklisp-client:*local-project-directories* - :test #'equalp) - (add-select-option (project-list panel) result - result :selected t) - (let ((*default-title-class* - *builder-title-class*) - (*default-border-class* - *builder-border-class*)) - (alert-dialog panel - (format nil - "~A added to ql:*local-project-directories* temporarily.~% ~ - Use the generated run-ql or run-ocicl scripts in the created project ~% - or add to Options -> Edit preferences.lisp to work with your project in ~% - future." - result) - :width 500 :height 250)))))))) + (add-template-dir panel target))) panel)) \ No newline at end of file