From 5dd520820d7a9bf6d7b2a55bb9e7cc2ec53deeb5 Mon Sep 17 00:00:00 2001 From: Alex Kost Date: Sun, 22 Jul 2018 00:15:59 +0300 Subject: Add jobset button * build-farm.el (build-farm-info-jobset): Inherit from 'link' face. (build-farm-jobset): New button type. (build-farm-info-insert-jobset): New procedure. * build-farm-build.el (build-farm-build-info-insert-jobset): Use it. * build-farm-project.el (build-farm-project-info-insert-jobset): Use it. --- build-farm-build.el | 3 ++- build-farm-project.el | 8 +------- build-farm.el | 16 +++++++++++++++- 3 files changed, 18 insertions(+), 9 deletions(-) diff --git a/build-farm-build.el b/build-farm-build.el index 1c1b1b3..83345e8 100644 --- a/build-farm-build.el +++ b/build-farm-build.el @@ -288,7 +288,8 @@ See `build-farm-build-status-alist'." (defun build-farm-build-info-insert-jobset (jobset entry) "Insert JOBSET for build ENTRY at point." - (bui-format-insert jobset 'build-farm-info-jobset) + (build-farm-info-insert-jobset + (bui-entry-non-void-value entry 'project) jobset) (bui-insert-indent) (build-farm-build-info-insert-button entry)) diff --git a/build-farm-project.el b/build-farm-project.el index e33a42b..42c5d4f 100644 --- a/build-farm-project.el +++ b/build-farm-project.el @@ -88,13 +88,7 @@ (defun build-farm-project-info-insert-jobset (project jobset) "Insert info about JOBSET of the PROJECT at point." - (let ((url (build-farm-jobset-url - :root-url (build-farm-current-url) - :project project - :jobset jobset))) - (bui-insert-button jobset 'bui-url - 'url url - 'help-echo (format "Browse %s" url))) + (build-farm-info-insert-jobset project jobset) (bui-insert-indent) (build-farm-build-info-insert-builds-button :project project diff --git a/build-farm.el b/build-farm.el index 9ab8200..4c72512 100644 --- a/build-farm.el +++ b/build-farm.el @@ -70,7 +70,7 @@ :group 'build-farm-faces) (defface build-farm-info-jobset - '((t)) + '((t :inherit link)) "Face for jobsets in 'info' buffers." :group 'build-farm-faces) @@ -102,6 +102,20 @@ 'help-echo "Display project info" 'action 'build-farm-project-button-action) +(define-button-type 'build-farm-jobset + :supertype 'bui-url + 'face 'build-farm-info-jobset) + +(defun build-farm-info-insert-jobset (project jobset) + "Insert info about JOBSET of the PROJECT at point." + (let ((url (build-farm-jobset-url + :root-url (build-farm-current-url) + :project project + :jobset jobset))) + (bui-insert-button jobset 'build-farm-jobset + 'url url + 'help-echo (format "Browse %s" url)))) + ;;; System types -- cgit v1.2.3