diff options
| author | Alex Kost <alezost@gmail.com> | 2018-07-22 00:00:36 +0300 |
|---|---|---|
| committer | Alex Kost <alezost@gmail.com> | 2018-07-27 12:14:24 +0300 |
| commit | 2ae2925fac8f17fd011ff7d7781dabcb258a12d9 (patch) | |
| tree | b62d6287bb8cbae56be6c15d3ab1131d189125a0 | |
| parent | Add 'build-farm-project' command (diff) | |
| download | emacs-build-farm-2ae2925fac8f17fd011ff7d7781dabcb258a12d9.tar.gz | |
Add project button
* build-farm.el (build-farm-info-project): Inherit from 'button' face.
(build-farm-project-button-action): New procedure.
(build-farm-project): New button type.
* build-farm-build.el (build-farm-build-info-insert-project): Use it.
* build-farm-jobset.el (build-farm-jobset-info-insert-project): Use it.
| -rw-r--r-- | build-farm-build.el | 2 | ||||
| -rw-r--r-- | build-farm-jobset.el | 2 | ||||
| -rw-r--r-- | build-farm.el | 20 |
3 files changed, 21 insertions, 3 deletions
diff --git a/build-farm-build.el b/build-farm-build.el index 65ef9c3..1c1b1b3 100644 --- a/build-farm-build.el +++ b/build-farm-build.el @@ -282,7 +282,7 @@ See `build-farm-build-status-alist'." (defun build-farm-build-info-insert-project (project entry) "Insert PROJECT for build ENTRY at point." - (bui-format-insert project 'build-farm-info-project) + (bui-insert-button project 'build-farm-project) (bui-insert-indent) (build-farm-build-info-insert-button entry)) diff --git a/build-farm-jobset.el b/build-farm-jobset.el index c0d1864..bf97aa6 100644 --- a/build-farm-jobset.el +++ b/build-farm-jobset.el @@ -88,7 +88,7 @@ (defun build-farm-jobset-info-insert-project (project entry) "Insert PROJECT button for the jobset ENTRY." (let ((jobset (bui-entry-non-void-value entry 'name))) - (bui-format-insert project 'build-farm-build-info-project) + (bui-insert-button project 'build-farm-project) (bui-insert-indent) (build-farm-build-info-insert-builds-button :project project diff --git a/build-farm.el b/build-farm.el index 116d3ee..9ab8200 100644 --- a/build-farm.el +++ b/build-farm.el @@ -65,7 +65,7 @@ ;;; Faces and buttons (defface build-farm-info-project - '((t)) + '((t :inherit button)) "Face for projects in 'info' buffers." :group 'build-farm-faces) @@ -84,6 +84,24 @@ "Face for system names in 'info' buffers." :group 'build-farm-faces) +(defun build-farm-project-button-action (button) + "Display project info for project BUTTON." + (let ((search-type 'id) + (search-value (or (button-get button 'id) + (button-get button 'name) + (button-label button)))) + (require 'build-farm-project) + (bui-get-display-entries + 'build-farm-project 'info + (list (build-farm-current-url) + search-type search-value)))) + +(define-button-type 'build-farm-project + :supertype 'bui + 'face 'build-farm-info-project + 'help-echo "Display project info" + 'action 'build-farm-project-button-action) + ;;; System types |
