Loading app/pdf-viewer/buffer.py +5 −42 Original line number Diff line number Diff line Loading @@ -40,6 +40,11 @@ class AppBuffer(Buffer): self.add_widget(PdfViewerWidget(url, config_dir, QColor(0, 0, 0, 255), buffer_id, emacs_var_dict)) self.buffer_widget.translate_double_click_word.connect(self.translate_text) for method_name in ["scroll_up", "scroll_down", "scroll_up_page", "scroll_down_page", "scroll_to_home", "scroll_to_end", "zoom_reset", "zoom_in", "zoom_out", "save_current_pos", "jump_to_saved_pos", "toggle_read_mode", "toggle_inverted_mode", "toggle_mark_link"]: self.build_widget_method(method_name) def get_table_file(self): return self.buffer_widget.table_file_path Loading Loading @@ -83,54 +88,12 @@ class AppBuffer(Buffer): self.buffer_widget.inverted_mode = inverted_mode == "True" self.buffer_widget.update() def scroll_up(self): self.buffer_widget.scroll_up() def scroll_down(self): self.buffer_widget.scroll_down() def scroll_up_page(self): self.buffer_widget.scroll_up_page() def scroll_down_page(self): self.buffer_widget.scroll_down_page() def toggle_read_mode(self): self.buffer_widget.toggle_read_mode() def scroll_to_home(self): self.buffer_widget.scroll_to_home() def scroll_to_end(self): self.buffer_widget.scroll_to_end() def zoom_reset(self): self.buffer_widget.zoom_reset() def zoom_in(self): self.buffer_widget.zoom_in() def zoom_out(self): self.buffer_widget.zoom_out() def jump_to_page(self): self.send_input_message("Jump to Page: ", "jump_page") def jump_to_percent(self): self.send_input_message("Jump to Percent: ", "jump_percent") def save_current_pos(self): self.buffer_widget.save_current_pos() def jump_to_saved_pos(self): self.buffer_widget.jump_to_saved_pos() def toggle_inverted_mode(self): self.buffer_widget.toggle_inverted_mode() def toggle_mark_link(self): self.buffer_widget.toggle_mark_link() def jump_to_link(self): self.buffer_widget.add_mark_jump_link_tips() self.send_input_message("Jump to Link: ", "jump_link") Loading app/rss-reader/buffer.py +18 −50 Original line number Diff line number Diff line Loading @@ -36,53 +36,30 @@ class AppBuffer(Buffer): self.add_widget(RSSReaderWidget(config_dir)) def add_subscription(self): self.send_input_message("Subscribe to RSS feed: ", "add_subscription") def delete_subscription(self): self.send_input_message("Are you sure you want to delete the current feed? (y or n): ", "delete_subscription") def next_subscription(self): self.buffer_widget.next_subscription() for method_name in ["next_subscription", "prev_subscription", "next_article", "prev_article", "first_subscription", "last_subscription", "first_article", "last_article"]: self.build_widget_method(method_name) def prev_subscription(self): self.buffer_widget.prev_subscription() for method_name in ["scroll_up", "scroll_down", "scroll_up_page", "scroll_down_page", "scroll_to_begin", "scroll_to_bottom", "search_text_forward", "search_text_backward"]: self.build_browser_method(method_name) def next_article(self): self.buffer_widget.next_article() def prev_article(self): self.buffer_widget.prev_article() def first_subscription(self): self.buffer_widget.first_subscription() def last_subscription(self): self.buffer_widget.last_subscription() self.build_browser_method("action_quit", "search_quit") def first_article(self): self.buffer_widget.first_article() def last_article(self): self.buffer_widget.last_article() def scroll_up(self): self.buffer_widget.browser.scroll_up() def scroll_down(self): self.buffer_widget.browser.scroll_down() def scroll_up_page(self): self.buffer_widget.browser.scroll_up_page() def build_browser_method(self, method_name, widget_method_name=None, message=None): if widget_method_name: setattr(self, method_name, getattr(self.buffer_widget.browser, widget_method_name)) else: setattr(self, method_name, getattr(self.buffer_widget.browser, method_name)) def scroll_down_page(self): self.buffer_widget.browser.scroll_down_page() if message != None: self.message_to_emacs.emit(message) def scroll_to_begin(self): self.buffer_widget.browser.scroll_to_begin() def add_subscription(self): self.send_input_message("Subscribe to RSS feed: ", "add_subscription") def scroll_to_bottom(self): self.buffer_widget.browser.scroll_to_bottom() def delete_subscription(self): self.send_input_message("Are you sure you want to delete the current feed? (y or n): ", "delete_subscription") def handle_input_message(self, result_type, result_content): if result_type == "search_text_forward": Loading @@ -103,9 +80,6 @@ class AppBuffer(Buffer): 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"); Loading @@ -114,12 +88,6 @@ class AppBuffer(Buffer): 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): Loading app/video-player/buffer.py +3 −6 Original line number Diff line number Diff line Loading @@ -33,6 +33,9 @@ class AppBuffer(Buffer): self.add_widget(VideoPlayerWidget()) self.buffer_widget.play(url) for method_name in ["play_backward", "play_forward"]: self.build_widget_method(method_name) def all_views_hide(self): # Pause video before all views hdie, otherwise will got error "Internal data stream error". if self.buffer_widget.media_player.state() == QMediaPlayer.PlayingState: Loading @@ -58,12 +61,6 @@ class AppBuffer(Buffer): self.buffer_widget.media_player.play() self.buffer_widget.video_need_replay = True def play_backward(self): self.buffer_widget.seek_backward() def play_forward(self): self.buffer_widget.seek_forward() class VideoPlayerWidget(QWidget): def __init__(self, parent=None): Loading core/browser.py +13 −78 Original line number Diff line number Diff line Loading @@ -351,11 +351,23 @@ class BrowserBuffer(Buffer): self.buffer_widget.loadStarted.connect(self.start_progress) self.buffer_widget.loadProgress.connect(self.update_progress) self.buffer_widget.loadFinished.connect(self.stop_progress) self.buffer_widget.web_page.windowCloseRequested.connect(self.request_close_buffer) self.profile.defaultProfile().downloadRequested.connect(self.handle_download_request) for method_name in ["search_text_forward", "search_text_backward", "zoom_out", "zoom_in", "zoom_reset", "scroll_left", "scroll_right", "scroll_up", "scroll_down", "scroll_up_page", "scroll_down_page", "scroll_to_begin", "scroll_to_bottom", "refresh_page", "undo_action", "redo_action", "get_url", "set_focus_text", "clear_focus", "dark_mode"]: self.build_widget_method(method_name) self.build_widget_method("history_backward", "back") self.build_widget_method("history_forward", "forward") self.build_widget_method("action_quit", "search_quit") self.build_widget_method("yank_text", "yank_text", "Yank text.") self.build_widget_method("kill_text", "kill_text", "Kill text.") def handle_download_request(self, download_item): self.try_start_aria2_daemon() Loading Loading @@ -406,40 +418,10 @@ class BrowserBuffer(Buffer): if result_type == "jump_link" or result_type == "jump_link_new_buffer" or result_type == "jump_link_background_buffer": self.buffer_widget.cleanup_links() def search_text_forward(self): self.buffer_widget.search_text_forward() def search_text_backward(self): self.buffer_widget.search_text_backward() def history_backward(self): self.buffer_widget.back() def history_forward(self): self.buffer_widget.forward() def clear_all_cookies(self): self.buffer_widget.clear_cookies() self.message_to_emacs.emit("Cleared all cookies.") def action_quit(self): self.buffer_widget.search_quit() def zoom_out(self): self.buffer_widget.zoom_out() def zoom_in(self): self.buffer_widget.zoom_in() def zoom_reset(self): self.buffer_widget.zoom_reset() def scroll_left(self): self.buffer_widget.scroll_left() def scroll_right(self): self.buffer_widget.scroll_right() def try_start_aria2_daemon(self): if not is_port_in_use(6800): with open(os.devnull, "w") as null_file: Loading @@ -464,48 +446,10 @@ class BrowserBuffer(Buffer): self.try_start_aria2_daemon() self.buffer_widget.open_download_manage_page() def scroll_up(self): self.buffer_widget.scroll_up() def scroll_down(self): self.buffer_widget.scroll_down() def scroll_up_page(self): self.buffer_widget.scroll_up_page() def scroll_down_page(self): self.buffer_widget.scroll_down_page() def scroll_to_begin(self): self.buffer_widget.scroll_to_begin() def scroll_to_bottom(self): self.buffer_widget.scroll_to_bottom() def refresh_page(self): self.buffer_widget.refresh_page() def copy_text(self): self.buffer_widget.copy_text() self.message_to_emacs.emit("Copy '" + self.buffer_widget.get_selection_text() + "'") def yank_text(self): self.buffer_widget.yank_text() self.message_to_emacs.emit("Yank text.") def kill_text(self): self.buffer_widget.kill_text() self.message_to_emacs.emit("Kill text.") def undo_action(self): self.buffer_widget.undo_action() def redo_action(self): self.buffer_widget.redo_action() def get_url(self): return self.buffer_widget.get_url() def open_link(self): self.buffer_widget.get_link_markers() self.send_input_message("Open Link: ", "jump_link"); Loading @@ -529,9 +473,6 @@ class BrowserBuffer(Buffer): else: self.message_to_emacs.emit("No active input element.") def set_focus_text(self, new_text): self.buffer_widget.set_focus_text(new_text) def is_focus(self): return self.buffer_widget.get_focus_text() != None Loading Loading @@ -698,11 +639,5 @@ class BrowserBuffer(Buffer): else: self.buffer_widget.select_all() def clear_focus(self): self.buffer_widget.clear_focus() def eval_js_file(self): self.send_input_message("Eval JS: ", "eval_js_file", "file") def dark_mode(self): self.buffer_widget.dark_mode() core/buffer.py +9 −0 Original line number Diff line number Diff line Loading @@ -300,3 +300,12 @@ class Buffer(QGraphicsScene): def get_url(self): return self.url def build_widget_method(self, method_name, widget_method_name=None, message=None): if widget_method_name: setattr(self, method_name, getattr(self.buffer_widget, widget_method_name)) else: setattr(self, method_name, getattr(self.buffer_widget, method_name)) if message != None: self.message_to_emacs.emit(message) Loading
app/pdf-viewer/buffer.py +5 −42 Original line number Diff line number Diff line Loading @@ -40,6 +40,11 @@ class AppBuffer(Buffer): self.add_widget(PdfViewerWidget(url, config_dir, QColor(0, 0, 0, 255), buffer_id, emacs_var_dict)) self.buffer_widget.translate_double_click_word.connect(self.translate_text) for method_name in ["scroll_up", "scroll_down", "scroll_up_page", "scroll_down_page", "scroll_to_home", "scroll_to_end", "zoom_reset", "zoom_in", "zoom_out", "save_current_pos", "jump_to_saved_pos", "toggle_read_mode", "toggle_inverted_mode", "toggle_mark_link"]: self.build_widget_method(method_name) def get_table_file(self): return self.buffer_widget.table_file_path Loading Loading @@ -83,54 +88,12 @@ class AppBuffer(Buffer): self.buffer_widget.inverted_mode = inverted_mode == "True" self.buffer_widget.update() def scroll_up(self): self.buffer_widget.scroll_up() def scroll_down(self): self.buffer_widget.scroll_down() def scroll_up_page(self): self.buffer_widget.scroll_up_page() def scroll_down_page(self): self.buffer_widget.scroll_down_page() def toggle_read_mode(self): self.buffer_widget.toggle_read_mode() def scroll_to_home(self): self.buffer_widget.scroll_to_home() def scroll_to_end(self): self.buffer_widget.scroll_to_end() def zoom_reset(self): self.buffer_widget.zoom_reset() def zoom_in(self): self.buffer_widget.zoom_in() def zoom_out(self): self.buffer_widget.zoom_out() def jump_to_page(self): self.send_input_message("Jump to Page: ", "jump_page") def jump_to_percent(self): self.send_input_message("Jump to Percent: ", "jump_percent") def save_current_pos(self): self.buffer_widget.save_current_pos() def jump_to_saved_pos(self): self.buffer_widget.jump_to_saved_pos() def toggle_inverted_mode(self): self.buffer_widget.toggle_inverted_mode() def toggle_mark_link(self): self.buffer_widget.toggle_mark_link() def jump_to_link(self): self.buffer_widget.add_mark_jump_link_tips() self.send_input_message("Jump to Link: ", "jump_link") Loading
app/rss-reader/buffer.py +18 −50 Original line number Diff line number Diff line Loading @@ -36,53 +36,30 @@ class AppBuffer(Buffer): self.add_widget(RSSReaderWidget(config_dir)) def add_subscription(self): self.send_input_message("Subscribe to RSS feed: ", "add_subscription") def delete_subscription(self): self.send_input_message("Are you sure you want to delete the current feed? (y or n): ", "delete_subscription") def next_subscription(self): self.buffer_widget.next_subscription() for method_name in ["next_subscription", "prev_subscription", "next_article", "prev_article", "first_subscription", "last_subscription", "first_article", "last_article"]: self.build_widget_method(method_name) def prev_subscription(self): self.buffer_widget.prev_subscription() for method_name in ["scroll_up", "scroll_down", "scroll_up_page", "scroll_down_page", "scroll_to_begin", "scroll_to_bottom", "search_text_forward", "search_text_backward"]: self.build_browser_method(method_name) def next_article(self): self.buffer_widget.next_article() def prev_article(self): self.buffer_widget.prev_article() def first_subscription(self): self.buffer_widget.first_subscription() def last_subscription(self): self.buffer_widget.last_subscription() self.build_browser_method("action_quit", "search_quit") def first_article(self): self.buffer_widget.first_article() def last_article(self): self.buffer_widget.last_article() def scroll_up(self): self.buffer_widget.browser.scroll_up() def scroll_down(self): self.buffer_widget.browser.scroll_down() def scroll_up_page(self): self.buffer_widget.browser.scroll_up_page() def build_browser_method(self, method_name, widget_method_name=None, message=None): if widget_method_name: setattr(self, method_name, getattr(self.buffer_widget.browser, widget_method_name)) else: setattr(self, method_name, getattr(self.buffer_widget.browser, method_name)) def scroll_down_page(self): self.buffer_widget.browser.scroll_down_page() if message != None: self.message_to_emacs.emit(message) def scroll_to_begin(self): self.buffer_widget.browser.scroll_to_begin() def add_subscription(self): self.send_input_message("Subscribe to RSS feed: ", "add_subscription") def scroll_to_bottom(self): self.buffer_widget.browser.scroll_to_bottom() def delete_subscription(self): self.send_input_message("Are you sure you want to delete the current feed? (y or n): ", "delete_subscription") def handle_input_message(self, result_type, result_content): if result_type == "search_text_forward": Loading @@ -103,9 +80,6 @@ class AppBuffer(Buffer): 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"); Loading @@ -114,12 +88,6 @@ class AppBuffer(Buffer): 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): Loading
app/video-player/buffer.py +3 −6 Original line number Diff line number Diff line Loading @@ -33,6 +33,9 @@ class AppBuffer(Buffer): self.add_widget(VideoPlayerWidget()) self.buffer_widget.play(url) for method_name in ["play_backward", "play_forward"]: self.build_widget_method(method_name) def all_views_hide(self): # Pause video before all views hdie, otherwise will got error "Internal data stream error". if self.buffer_widget.media_player.state() == QMediaPlayer.PlayingState: Loading @@ -58,12 +61,6 @@ class AppBuffer(Buffer): self.buffer_widget.media_player.play() self.buffer_widget.video_need_replay = True def play_backward(self): self.buffer_widget.seek_backward() def play_forward(self): self.buffer_widget.seek_forward() class VideoPlayerWidget(QWidget): def __init__(self, parent=None): Loading
core/browser.py +13 −78 Original line number Diff line number Diff line Loading @@ -351,11 +351,23 @@ class BrowserBuffer(Buffer): self.buffer_widget.loadStarted.connect(self.start_progress) self.buffer_widget.loadProgress.connect(self.update_progress) self.buffer_widget.loadFinished.connect(self.stop_progress) self.buffer_widget.web_page.windowCloseRequested.connect(self.request_close_buffer) self.profile.defaultProfile().downloadRequested.connect(self.handle_download_request) for method_name in ["search_text_forward", "search_text_backward", "zoom_out", "zoom_in", "zoom_reset", "scroll_left", "scroll_right", "scroll_up", "scroll_down", "scroll_up_page", "scroll_down_page", "scroll_to_begin", "scroll_to_bottom", "refresh_page", "undo_action", "redo_action", "get_url", "set_focus_text", "clear_focus", "dark_mode"]: self.build_widget_method(method_name) self.build_widget_method("history_backward", "back") self.build_widget_method("history_forward", "forward") self.build_widget_method("action_quit", "search_quit") self.build_widget_method("yank_text", "yank_text", "Yank text.") self.build_widget_method("kill_text", "kill_text", "Kill text.") def handle_download_request(self, download_item): self.try_start_aria2_daemon() Loading Loading @@ -406,40 +418,10 @@ class BrowserBuffer(Buffer): if result_type == "jump_link" or result_type == "jump_link_new_buffer" or result_type == "jump_link_background_buffer": self.buffer_widget.cleanup_links() def search_text_forward(self): self.buffer_widget.search_text_forward() def search_text_backward(self): self.buffer_widget.search_text_backward() def history_backward(self): self.buffer_widget.back() def history_forward(self): self.buffer_widget.forward() def clear_all_cookies(self): self.buffer_widget.clear_cookies() self.message_to_emacs.emit("Cleared all cookies.") def action_quit(self): self.buffer_widget.search_quit() def zoom_out(self): self.buffer_widget.zoom_out() def zoom_in(self): self.buffer_widget.zoom_in() def zoom_reset(self): self.buffer_widget.zoom_reset() def scroll_left(self): self.buffer_widget.scroll_left() def scroll_right(self): self.buffer_widget.scroll_right() def try_start_aria2_daemon(self): if not is_port_in_use(6800): with open(os.devnull, "w") as null_file: Loading @@ -464,48 +446,10 @@ class BrowserBuffer(Buffer): self.try_start_aria2_daemon() self.buffer_widget.open_download_manage_page() def scroll_up(self): self.buffer_widget.scroll_up() def scroll_down(self): self.buffer_widget.scroll_down() def scroll_up_page(self): self.buffer_widget.scroll_up_page() def scroll_down_page(self): self.buffer_widget.scroll_down_page() def scroll_to_begin(self): self.buffer_widget.scroll_to_begin() def scroll_to_bottom(self): self.buffer_widget.scroll_to_bottom() def refresh_page(self): self.buffer_widget.refresh_page() def copy_text(self): self.buffer_widget.copy_text() self.message_to_emacs.emit("Copy '" + self.buffer_widget.get_selection_text() + "'") def yank_text(self): self.buffer_widget.yank_text() self.message_to_emacs.emit("Yank text.") def kill_text(self): self.buffer_widget.kill_text() self.message_to_emacs.emit("Kill text.") def undo_action(self): self.buffer_widget.undo_action() def redo_action(self): self.buffer_widget.redo_action() def get_url(self): return self.buffer_widget.get_url() def open_link(self): self.buffer_widget.get_link_markers() self.send_input_message("Open Link: ", "jump_link"); Loading @@ -529,9 +473,6 @@ class BrowserBuffer(Buffer): else: self.message_to_emacs.emit("No active input element.") def set_focus_text(self, new_text): self.buffer_widget.set_focus_text(new_text) def is_focus(self): return self.buffer_widget.get_focus_text() != None Loading Loading @@ -698,11 +639,5 @@ class BrowserBuffer(Buffer): else: self.buffer_widget.select_all() def clear_focus(self): self.buffer_widget.clear_focus() def eval_js_file(self): self.send_input_message("Eval JS: ", "eval_js_file", "file") def dark_mode(self): self.buffer_widget.dark_mode()
core/buffer.py +9 −0 Original line number Diff line number Diff line Loading @@ -300,3 +300,12 @@ class Buffer(QGraphicsScene): def get_url(self): return self.url def build_widget_method(self, method_name, widget_method_name=None, message=None): if widget_method_name: setattr(self, method_name, getattr(self.buffer_widget, widget_method_name)) else: setattr(self, method_name, getattr(self.buffer_widget, method_name)) if message != None: self.message_to_emacs.emit(message)