comparison lisp/package-ui.el @ 1742:7f92ee59c996

[xemacs-hg @ 2003-10-13 18:53:23 by viteno] Core part to gain better package information by Steve Youngs in <microsoft-free.87n0c87hr2.fsf@eicq.dnsalias.org>.
author viteno
date Mon, 13 Oct 2003 18:53:24 +0000
parents d90ba01b5346
children e4307a6b9ebb
comparison
equal deleted inserted replaced
1741:b3a46c249e7b 1742:7f92ee59c996
102 (suppress-keymap m) 102 (suppress-keymap m)
103 (set-keymap-name m 'pui-display-keymap) 103 (set-keymap-name m 'pui-display-keymap)
104 (define-key m "q" 'pui-quit) 104 (define-key m "q" 'pui-quit)
105 (define-key m "g" 'pui-list-packages) 105 (define-key m "g" 'pui-list-packages)
106 (define-key m "i" 'pui-display-info) 106 (define-key m "i" 'pui-display-info)
107 (define-key m "m" 'pui-display-maintainer)
107 (define-key m "?" 'describe-mode) 108 (define-key m "?" 'describe-mode)
108 (define-key m "v" 'pui-toggle-verbosity-redisplay) 109 (define-key m "v" 'pui-toggle-verbosity-redisplay)
109 (define-key m "d" 'pui-toggle-package-delete-key) 110 (define-key m "d" 'pui-toggle-package-delete-key)
110 (define-key m "D" 'pui-toggle-package-delete-key) 111 (define-key m "D" 'pui-toggle-package-delete-key)
111 (define-key m [return] 'pui-toggle-package-key) 112 (define-key m [return] 'pui-toggle-package-key)
460 461
461 (defun pui-help-echo (extent &optional force-update) 462 (defun pui-help-echo (extent &optional force-update)
462 "Display additional package info in the modeline. 463 "Display additional package info in the modeline.
463 EXTENT determines the package to display (the package information is 464 EXTENT determines the package to display (the package information is
464 attached to the extent as properties)." 465 attached to the extent as properties)."
465 (let (pkg-sym info inst-ver auth-ver date maintainer balloon req) 466 (let (pkg-sym info inst-ver inst-auth-ver auth-ver date maintainer balloon req)
466 (if (or force-update (not (current-message)) 467 (if (or force-update (not (current-message))
467 (string-match ".*: .*: " (current-message))) 468 (string-match ".*: .*: " (current-message)))
468 (progn 469 (progn
469 (setq pkg-sym (extent-property extent 'pui-package) 470 (setq pkg-sym (extent-property extent 'pui-package)
470 info (extent-property extent 'pui-info) 471 info (extent-property extent 'pui-info)
471 inst-ver (package-get-key pkg-sym :version) 472 inst-ver (package-get-key pkg-sym :version)
473 inst-auth-ver (package-get-key pkg-sym :author-version)
472 auth-ver (package-get-info-prop info 'author-version) 474 auth-ver (package-get-info-prop info 'author-version)
473 date (package-get-info-prop info 'date) 475 date (package-get-info-prop info 'date)
474 maintainer (package-get-info-prop info 'maintainer) 476 maintainer (package-get-info-prop info 'maintainer)
475 req (package-get-info-prop info 'requires)) 477 req (package-get-info-prop info 'requires))
476 (if (not inst-ver) 478 (if (not inst-ver)
478 (if (featurep 'balloon-help) 480 (if (featurep 'balloon-help)
479 (progn 481 (progn
480 (setq balloon (format " 482 (setq balloon (format "
481 Package Information: [For package: \"%s\"] 483 Package Information: [For package: \"%s\"]
482 ================ 484 ================
483 Installed Version : %.2f 485 Installed Upstream Ver: %s Available Upstream Ver: %s
484 Author Version : %s
485 Maintainer : %s 486 Maintainer : %s
486 Released : %s 487 Released : %s
487 Required Packages : %s\n\n" 488 Required Packages : %s\n\n"
488 pkg-sym inst-ver auth-ver maintainer 489 pkg-sym inst-auth-ver auth-ver maintainer
489 date req)) 490 date req))
490 (set-extent-property extent 'balloon-help balloon))) 491 (set-extent-property extent 'balloon-help balloon)))
491 (if pui-list-verbose 492 (format
492 (format 493 "Installed upstream ver: %s Available upstream ver: %s"
493 "Inst V: %.2f Auth V: %s Maint: %s" 494 inst-auth-ver auth-ver)))))
494 inst-ver auth-ver maintainer)
495 (format "%.2f : %s : %s"
496 inst-ver auth-ver maintainer))))))
497 495
498 (defun pui-display-info (&optional no-error event) 496 (defun pui-display-info (&optional no-error event)
499 "Display additional package info in the modeline. 497 "Display additional package info in the modeline.
500 Designed to be called interactively (from a keypress)." 498 Designed to be called interactively (from a keypress)."
501 (interactive) 499 (interactive)
502 (let (extent) 500 (let (extent)
503 (save-excursion 501 (save-excursion
504 (beginning-of-line) 502 (beginning-of-line)
505 (if (setq extent (extent-at (point) (current-buffer) 'pui)) 503 (if (setq extent (extent-at (point) (current-buffer) 'pui))
506 (message (pui-help-echo extent t)) 504 (message (pui-help-echo extent t))
505 (if no-error
506 (clear-message nil)
507 (error 'invalid-operation
508 "No package under cursor!"))))))
509
510 (defun pui-display-maintainer (&optional no-error event)
511 "Display a package's maintainer in the minibuffer."
512 (interactive)
513 (let (extent pkg-sym info maintainer)
514 (save-excursion
515 (beginning-of-line)
516 (if (setq extent (extent-at (point) (current-buffer) 'pui))
517 (progn
518 (setq pkg-sym (extent-property extent 'pui-package)
519 info (extent-property extent 'pui-info)
520 maintainer (package-get-info-prop info 'maintainer))
521 (message (format "Maintainer: %s" maintainer)))
507 (if no-error 522 (if no-error
508 (clear-message nil) 523 (clear-message nil)
509 (error 'invalid-operation 524 (error 'invalid-operation
510 "No package under cursor!")))))) 525 "No package under cursor!"))))))
511 526
548 563
549 `\\[pui-toggle-package-key]' to select/unselect the current package for installation. 564 `\\[pui-toggle-package-key]' to select/unselect the current package for installation.
550 `\\[pui-toggle-package-delete-key]' to select/unselect the current package for removal. 565 `\\[pui-toggle-package-delete-key]' to select/unselect the current package for removal.
551 `\\[pui-add-required-packages]' to add any packages required by those selected. 566 `\\[pui-add-required-packages]' to add any packages required by those selected.
552 `\\[pui-install-selected-packages]' to install/delete selected packages. 567 `\\[pui-install-selected-packages]' to install/delete selected packages.
553 `\\[pui-display-info]' to display additional information about the package in the modeline. 568 `\\[pui-display-info]' to display additional information about the package in the minibuffer.
569 `\\[pui-display-maintainer]' to display the package's maintainer in the minibuffer
554 `\\[pui-list-packages]' to refresh the package list. 570 `\\[pui-list-packages]' to refresh the package list.
555 `\\[pui-toggle-verbosity-redisplay]' to toggle between a verbose and non-verbose display. 571 `\\[pui-toggle-verbosity-redisplay]' to toggle between a verbose and non-verbose display.
556 `\\[pui-quit]' to kill this buffer. 572 `\\[pui-quit]' to kill this buffer.
557 " 573 "
558 (error 'invalid-operation 574 (error 'invalid-operation