summaryrefslogtreecommitdiff
path: root/build-farm.el
diff options
context:
space:
mode:
authorAlex Kost <alezost@gmail.com>2018-07-22 00:00:36 +0300
committerAlex Kost <alezost@gmail.com>2018-07-27 12:14:24 +0300
commit2ae2925fac8f17fd011ff7d7781dabcb258a12d9 (patch)
treeb62d6287bb8cbae56be6c15d3ab1131d189125a0 /build-farm.el
parentAdd 'build-farm-project' command (diff)
downloademacs-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.
Diffstat (limited to 'build-farm.el')
-rw-r--r--build-farm.el20
1 files changed, 19 insertions, 1 deletions
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