Add eaf-toggle-fullscreen command.

master
Andy Stewart 6 years ago
parent 165f43b7c7
commit 6975e07210
  1. 2
      app/js-video-player/buffer.py
  2. 4
      app/js-video-player/index.html
  3. 2
      core/browser.py
  4. 19
      core/buffer.py
  5. 8
      eaf.el

@ -39,7 +39,7 @@ class AppBuffer(BrowserBuffer):
index_file = "file://" + (os.path.join(os.path.dirname(__file__), "index.html"))
self.buffer_widget.setUrl(QUrl(index_file))
for method_name in ["toggle_play", "toggle_fullscreen", "forward", "backward", "restart", "increase_volume", "decrease_volume"]:
for method_name in ["toggle_play", "forward", "backward", "restart", "increase_volume", "decrease_volume"]:
self.build_js_method(method_name)
QTimer.singleShot(500, self.play_video)

@ -24,10 +24,6 @@
player.togglePlay();
}
function toggle_fullscreen() {
player.fullscreen.toggle();
}
function get_current_time() {
return player.currentTime;
}

@ -366,8 +366,6 @@ class BrowserBuffer(Buffer):
close_page = QtCore.pyqtSignal(str)
get_focus_text = QtCore.pyqtSignal(str, str)
open_dev_tools_tab = QtCore.pyqtSignal(object)
enter_fullscreen_request = QtCore.pyqtSignal()
exit_fullscreen_request = QtCore.pyqtSignal()
def __init__(self, buffer_id, url, config_dir, arguments, emacs_var_dict, module_path, is_dark_mode, fit_to_view, background_color):
Buffer.__init__(self, buffer_id, url, arguments, emacs_var_dict, module_path, is_dark_mode, fit_to_view, background_color)

@ -159,6 +159,8 @@ class Buffer(QGraphicsScene):
goto_left_tab = QtCore.pyqtSignal()
goto_right_tab = QtCore.pyqtSignal()
aspect_ratio_change = QtCore.pyqtSignal()
enter_fullscreen_request = QtCore.pyqtSignal()
exit_fullscreen_request = QtCore.pyqtSignal()
def __init__(self, buffer_id, url, arguments, emacs_var_dict, module_path, is_dark_mode, fit_to_view, background_color):
super(QGraphicsScene, self).__init__()
@ -175,11 +177,28 @@ class Buffer(QGraphicsScene):
self.buffer_widget = None
self.is_fullscreen = False
self.current_event_string = ""
self.aspect_ratio = 0
self.vertical_padding_ratio = 1.0 / 8
self.enter_fullscreen_request.connect(self.enable_fullscreen)
self.exit_fullscreen_request.connect(self.disable_fullscreen)
def toggle_fullscreen(self):
if self.is_fullscreen:
self.exit_fullscreen_request.emit()
else:
self.enter_fullscreen_request.emit()
def enable_fullscreen(self):
self.is_fullscreen = True
def disable_fullscreen(self):
self.is_fullscreen = False
def set_aspect_ratio(self, aspect_ratio):
self.aspect_ratio = aspect_ratio
self.aspect_ratio_change.emit()

@ -111,6 +111,7 @@
(define-key map [remap describe-bindings] #'eaf-describe-bindings)
(define-key map (kbd "C-c b") #'eaf-open-bookmark)
(define-key map (kbd "C-c e") #'eaf-open-external)
(define-key map (kbd "M-'") #'eaf-toggle-fullscreen)
(define-key map (kbd "M-/") #'eaf-get-path-or-url)
(define-key map (kbd "M-[") #'eaf-share-path-or-url)
(define-key map (vector 'remap #'keyboard-quit) #'eaf-keyboard-quit)
@ -376,7 +377,6 @@ Try not to modify this alist directly. Use `eaf-setq' to modify instead."
'(("SPC" . "toggle_play")
("M-g" . "exit_fullscreen")
("<f12>" . "open_dev_tool_page")
("f" . "toggle_fullscreen")
("h" . "backward")
("l" . "forward")
("r" . "restart")
@ -909,6 +909,11 @@ When called interactively, copy to ‘kill-ring’."
(eaf-call "call_function" eaf--buffer-id "get_url"))
(message "This command can only be called in an EAF buffer!")))
(defun eaf-toggle-fullscreen ()
"Toggle fullscreen."
(interactive)
(eaf-call "execute_function" eaf--buffer-id "toggle_fullscreen" (key-description (this-command-keys-vector))))
(defun eaf-share-path-or-url ()
"Share the current file path or web URL as QRCode."
(interactive)
@ -1868,6 +1873,7 @@ Make sure that your smartphone is connected to the same WiFi network as this com
| C-c b | eaf-open-bookmark |
| C-c e | eaf-open-external |
| M-/ | eaf-get-path-or-url |
| M-' | eaf-toggle-fullscreen |
| M-[ | eaf-share-path-or-url |
* Browser Edit Mode

Loading…
Cancel
Save