Skip to content

Commit

Permalink
Add search and open link in browser of rss reader.
Browse files Browse the repository at this point in the history
  • Loading branch information
manateelazycat committed Jan 5, 2020
1 parent e28216f commit d07e445
Show file tree
Hide file tree
Showing 3 changed files with 42 additions and 0 deletions.
36 changes: 36 additions & 0 deletions app/rss-reader/buffer.py
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,11 @@ def __init__(self, buffer_id, url, config_dir, arguments):

self.add_widget(RSSReaderWidget(config_dir))

self.buffer_widget.browser.message_to_emacs = self.message_to_emacs
self.buffer_widget.browser.set_emacs_var = self.set_emacs_var
self.buffer_widget.browser.eval_in_emacs = self.eval_in_emacs
self.buffer_widget.browser.send_input_message = self.send_input_message

def handle_input_message(self, result_type, result_content):
if result_type == "add_subscription":
self.buffer_widget.add_subscription(result_content)
Expand Down Expand Up @@ -90,6 +95,37 @@ def scroll_to_begin(self):
def scroll_to_bottom(self):
self.buffer_widget.browser.scroll_to_bottom()

def handle_input_message(self, result_type, result_content):
if result_type == "search_text_forward":
self.buffer_widget.browser._search_text(str(result_content))
elif result_type == "search_text_backward":
self.buffer_widget.browser._search_text(str(result_content), True)
elif result_type == "jump_link":
self.buffer_widget.browser.jump_to_link(str(result_content))
elif result_type == "jump_link_new_buffer":
self.buffer_widget.browser.jump_to_link(str(result_content), "true")

def cancel_input_message(self, result_type):
if result_type == "jump_link" or result_type == "jump_link_new_buffer":
self.buffer_widget.browser.cleanup_links()

def action_quit(self):
self.buffer_widget.browser.search_quit()

def open_link(self):
self.buffer_widget.browser.open_link()
self.send_input_message("Open Link: ", "jump_link");

def open_link_new_buffer(self):
self.buffer_widget.browser.open_link_new_buffer()
self.send_input_message("Open Link in New Buffer: ", "jump_link_new_buffer");

def search_text_forward(self):
self.buffer_widget.browser.search_text_forward()

def search_text_backward(self):
self.buffer_widget.browser.search_text_backward()

class RSSReaderWidget(QWidget):

def __init__(self, config_dir):
Expand Down
4 changes: 4 additions & 0 deletions eaf.el
Original file line number Diff line number Diff line change
Expand Up @@ -293,6 +293,10 @@ Try not to modify this alist directly. Use `eaf-setq' to modify instead."
("k" . "prev_article")
("J" . "last_article")
("K" . "first_article")
("M-s" . "open_link")
("M-S" . "open_link_new_buffer")
("C-s" . "search_text_forward")
("C-r" . "search_text_backward")
("C-n" . "scroll_up")
("C-p" . "scroll_down")
("C-v" . "scroll_up_page")
Expand Down
2 changes: 2 additions & 0 deletions eaf.py
Original file line number Diff line number Diff line change
Expand Up @@ -161,6 +161,8 @@ def create_buffer(self, buffer_id, url, module_path, arguments):
# Add create new window callback if module is browser
if module_path == "app.browser.buffer":
app_buffer.buffer_widget.create_new_browser_window_callback = self.create_new_browser_window
elif module_path == "app.rss-reader.buffer":
app_buffer.buffer_widget.browser.create_new_browser_window_callback = self.create_new_browser_window

# Restore buffer session.
self.restore_buffer_session(app_buffer)
Expand Down

0 comments on commit d07e445

Please sign in to comment.