Loading app/pdfviewer/buffer.py +42 −31 Original line number Diff line number Diff line Loading @@ -63,6 +63,48 @@ class AppBuffer(Buffer): self.buffer_widget.read_mode = read_mode 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 swtich_to_read_mode(self): self.buffer_widget.switch_to_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.buffer_widget.send_input_message("Jump to: ", "jump_page") def jump_to_percent(self): self.buffer_widget.send_input_message("Jump to percent: ", "jump_percent") def remember_current_position(self): self.buffer_widget.remember_current_position() def remeber_jump(self): self.buffer_widget.remeber_jump() class PdfViewerWidget(QWidget): def __init__(self, url, background_color): Loading Loading @@ -248,37 +290,6 @@ class PdfViewerWidget(QWidget): def wheelEvent(self, event): self.update_scroll_offset(max(min(self.scroll_offset - self.scale * event.angleDelta().y() / 120 * self.mouse_scroll_offset, self.max_scroll_offset()), 0)) @build_context_wrap def keyPressEvent(self, event): if event.key() == Qt.Key_J: self.scroll_up() elif event.key() == Qt.Key_K: self.scroll_down() elif event.key() == Qt.Key_Space: self.scroll_up_page() elif event.key() == Qt.Key_B: self.scroll_down_page() elif event.key() == Qt.Key_T: self.switch_to_read_mode() elif event.key() == Qt.Key_Period: self.scroll_to_home() elif event.key() == Qt.Key_Comma: self.scroll_to_end() elif event.key() == Qt.Key_0: self.zoom_reset() elif event.key() == Qt.Key_Equal: self.zoom_in() elif event.key() == Qt.Key_Minus: self.zoom_out() elif event.key() == Qt.Key_G: self.send_input_message("Jump to: ", "jump_page") elif event.key() == Qt.Key_P: self.send_input_message("Jump to percent: ", "jump_percent") elif event.key() == Qt.Key_BracketLeft: self.remember_current_position() elif event.key() == Qt.Key_BracketRight: self.remember_jump() def get_start_page_index(self): return int(self.scroll_offset * 1.0 / self.scale / self.page_height) Loading eaf.el +27 −1 Original line number Diff line number Diff line Loading @@ -162,6 +162,26 @@ by `dired-find-alternate-file'. Otherwise they will be opened normally with `dir :type 'cons :group 'eaf) (defcustom eaf-pdfviewer-keybinding '(("j" . "scroll_up") ("k" . "scroll_down") ("SPC" . "scroll_up_page") ("b" . "scroll_down_page") ("t" . "switch_to_read_mode") ("." . "scroll_to_home") ("," . "scroll_to_end") ("0" . "zoom_reset") ("=" . "zoom_in") ("-" . "zoom_out") ("g" . "jump_to_page") ("p" . "jump_to_percent") ("[" . "remember_current_position") ("]" . "remeber_jump") ) "The keybinding of pdf viewer." :type 'cons :group 'eaf) (defun eaf-call (method &rest args) (apply 'dbus-call-method :session ; use the session (not system) bus Loading Loading @@ -372,7 +392,13 @@ We need calcuate render allocation to make sure no black border around render co (equal key-command "self-insert-command") (equal key-command "completion-select-if-within-overlay")) (equal 1 (string-width (this-command-keys)))) (eaf-call "send_key" buffer-id key-desc)) (cond ((equal buffer-app-name "pdfviewer") (let ((function-name-value (assoc key-desc eaf-pdfviewer-keybinding))) (if function-name-value (eaf-call "execute_function" buffer-id (cdr function-name-value)) (eaf-call "send_key" buffer-id key-desc)))) (t (eaf-call "send_key" buffer-id key-desc)))) ((string-match "^[CMSs]-.*" key-desc) (cond ((equal buffer-app-name "browser") (let ((function-name-value (assoc key-desc eaf-browser-keybinding))) Loading Loading
app/pdfviewer/buffer.py +42 −31 Original line number Diff line number Diff line Loading @@ -63,6 +63,48 @@ class AppBuffer(Buffer): self.buffer_widget.read_mode = read_mode 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 swtich_to_read_mode(self): self.buffer_widget.switch_to_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.buffer_widget.send_input_message("Jump to: ", "jump_page") def jump_to_percent(self): self.buffer_widget.send_input_message("Jump to percent: ", "jump_percent") def remember_current_position(self): self.buffer_widget.remember_current_position() def remeber_jump(self): self.buffer_widget.remeber_jump() class PdfViewerWidget(QWidget): def __init__(self, url, background_color): Loading Loading @@ -248,37 +290,6 @@ class PdfViewerWidget(QWidget): def wheelEvent(self, event): self.update_scroll_offset(max(min(self.scroll_offset - self.scale * event.angleDelta().y() / 120 * self.mouse_scroll_offset, self.max_scroll_offset()), 0)) @build_context_wrap def keyPressEvent(self, event): if event.key() == Qt.Key_J: self.scroll_up() elif event.key() == Qt.Key_K: self.scroll_down() elif event.key() == Qt.Key_Space: self.scroll_up_page() elif event.key() == Qt.Key_B: self.scroll_down_page() elif event.key() == Qt.Key_T: self.switch_to_read_mode() elif event.key() == Qt.Key_Period: self.scroll_to_home() elif event.key() == Qt.Key_Comma: self.scroll_to_end() elif event.key() == Qt.Key_0: self.zoom_reset() elif event.key() == Qt.Key_Equal: self.zoom_in() elif event.key() == Qt.Key_Minus: self.zoom_out() elif event.key() == Qt.Key_G: self.send_input_message("Jump to: ", "jump_page") elif event.key() == Qt.Key_P: self.send_input_message("Jump to percent: ", "jump_percent") elif event.key() == Qt.Key_BracketLeft: self.remember_current_position() elif event.key() == Qt.Key_BracketRight: self.remember_jump() def get_start_page_index(self): return int(self.scroll_offset * 1.0 / self.scale / self.page_height) Loading
eaf.el +27 −1 Original line number Diff line number Diff line Loading @@ -162,6 +162,26 @@ by `dired-find-alternate-file'. Otherwise they will be opened normally with `dir :type 'cons :group 'eaf) (defcustom eaf-pdfviewer-keybinding '(("j" . "scroll_up") ("k" . "scroll_down") ("SPC" . "scroll_up_page") ("b" . "scroll_down_page") ("t" . "switch_to_read_mode") ("." . "scroll_to_home") ("," . "scroll_to_end") ("0" . "zoom_reset") ("=" . "zoom_in") ("-" . "zoom_out") ("g" . "jump_to_page") ("p" . "jump_to_percent") ("[" . "remember_current_position") ("]" . "remeber_jump") ) "The keybinding of pdf viewer." :type 'cons :group 'eaf) (defun eaf-call (method &rest args) (apply 'dbus-call-method :session ; use the session (not system) bus Loading Loading @@ -372,7 +392,13 @@ We need calcuate render allocation to make sure no black border around render co (equal key-command "self-insert-command") (equal key-command "completion-select-if-within-overlay")) (equal 1 (string-width (this-command-keys)))) (eaf-call "send_key" buffer-id key-desc)) (cond ((equal buffer-app-name "pdfviewer") (let ((function-name-value (assoc key-desc eaf-pdfviewer-keybinding))) (if function-name-value (eaf-call "execute_function" buffer-id (cdr function-name-value)) (eaf-call "send_key" buffer-id key-desc)))) (t (eaf-call "send_key" buffer-id key-desc)))) ((string-match "^[CMSs]-.*" key-desc) (cond ((equal buffer-app-name "browser") (let ((function-name-value (assoc key-desc eaf-browser-keybinding))) Loading