Add copy_link in browser.

master
Andy Stewart 6 years ago
parent de3d0c66ef
commit b629fecfc6
  1. 17
      core/browser.py
  2. 1
      eaf.el

@ -304,6 +304,13 @@ class BrowserView(QWebEngineView):
if link != "":
self.open_url_background_buffer(link)
def copy_link(self, marker):
link = self.get_marker_link(marker)
if link != "":
clipboard = QApplication.clipboard()
clipboard.setText(link)
self.buffer.message_to_emacs.emit("Copy link")
def get_focus_text(self):
return self.execute_js(self.get_focus_text_js)
@ -452,7 +459,7 @@ class BrowserBuffer(Buffer):
for method_name in ["recover_prev_close_page", "scroll_up", "scroll_down", "scroll_left", "scroll_right",
"scroll_up_page", "scroll_down_page", "scroll_to_begin", "scroll_to_bottom",
"open_link", "open_link_new_buffer", "open_link_background_buffer",
"open_link", "open_link_new_buffer", "open_link_background_buffer", "copy_link",
"history_backward", "history_forward", "new_blank_page", "open_download_manage_page",
"refresh_page", "zoom_in", "zoom_out", "zoom_reset", "save_as_bookmark",
"download_youtube_video", "download_youtube_audio", "toggle_device",
@ -640,6 +647,8 @@ class BrowserBuffer(Buffer):
self.buffer_widget.jump_to_link_new_buffer(str(result_content).strip())
elif result_tag == "jump_link_background_buffer":
self.buffer_widget.jump_to_link_background_buffer(str(result_content).strip())
elif result_tag == "copy_link":
self.buffer_widget.copy_link(str(result_content).strip())
elif result_tag == "eval_js_file":
self.buffer_widget.eval_js_file(str(result_content))
elif result_tag == "eval_js":
@ -660,7 +669,7 @@ class BrowserBuffer(Buffer):
call_and_check_code(args, handler)
def cancel_input_message(self, result_tag):
if result_tag == "jump_link" or result_tag == "jump_link_new_buffer" or result_tag == "jump_link_background_buffer":
if result_tag == "jump_link" or result_tag == "jump_link_new_buffer" or result_tag == "jump_link_background_buffer" or result_tag == "copy_link":
self.buffer_widget.cleanup_links()
def clear_all_cookies(self):
@ -707,6 +716,10 @@ class BrowserBuffer(Buffer):
self.buffer_widget.get_link_markers()
self.send_input_message("Open Link in Background Buffer: ", "jump_link_background_buffer");
def copy_link(self):
self.buffer_widget.get_link_markers()
self.send_input_message("Copy link: ", "copy_link");
def reset_default_zoom(self):
if hasattr(self, "buffer_widget"):
self.buffer_widget.setZoomFactor(float(self.emacs_var_dict["eaf-browser-default-zoom"]))

@ -294,6 +294,7 @@ Try not to modify this alist directly. Use `eaf-setq' to modify instead."
("f" . "insert_or_open_link")
("F" . "insert_or_open_link_new_buffer")
("D" . "insert_or_open_link_background_buffer")
("c" . "insert_or_copy_link")
("d" . "insert_or_scroll_up_page")
("u" . "insert_or_scroll_down_page")
("H" . "insert_or_history_backward")

Loading…
Cancel
Save