aboutsummaryrefslogtreecommitdiff
path: root/sx-question-list.el
diff options
context:
space:
mode:
authorSean Allred <code@seanallred.com>2014-11-14 14:26:29 -0500
committerSean Allred <code@seanallred.com>2014-11-14 14:26:29 -0500
commit5691471569cba78418e7b53856a77948949b81d9 (patch)
tree8c5e3da092a8485bb3f0be505e0eebc6f54b7bc9 /sx-question-list.el
parent77e519de7b1219767a25399b727c2aece6189e6c (diff)
parent9f50150b87d8b1bdd62fec30983f45b0d03de22f (diff)
Merge pull request #47 from vermiculus/switching-networks
Implement basic site switching
Diffstat (limited to 'sx-question-list.el')
-rw-r--r--sx-question-list.el13
1 files changed, 13 insertions, 0 deletions
diff --git a/sx-question-list.el b/sx-question-list.el
index ff1bdaa..a1dec7a 100644
--- a/sx-question-list.el
+++ b/sx-question-list.el
@@ -25,6 +25,7 @@
(require 'sx)
(require 'sx-time)
+(require 'sx-site)
(require 'sx-question)
(require 'sx-question-mode)
@@ -133,6 +134,7 @@ Letters do not insert themselves; instead, they are commands.
("j" sx-question-list-view-next)
("k" sx-question-list-view-previous)
("g" sx-question-list-refresh)
+ (":" sx-question-list-switch-site)
("v" sx-question-list-visit)
([?\r] sx-question-list-display-question)))
@@ -297,6 +299,17 @@ focus the relevant window."
(select-window sx-question-mode--window)
(switch-to-buffer sx-question-mode--buffer))))
+(defun sx-question-list-switch-site (site)
+ "Switch the current site to SITE and display its questions"
+ (interactive
+ (list (funcall (if ido-mode #'ido-completing-read #'completing-read)
+ "Switch to site: " (sx-site-get-api-tokens)
+ (lambda (site)
+ (not (equal site sx-question-list--current-site)))
+ t)))
+ (setq sx-question-list--current-site site)
+ (sx-question-list-refresh 'redisplay))
+
(defvar sx-question-list--buffer nil
"Buffer where the list of questions is displayed.")