fix page zooming on some pcs

This commit is contained in:
Izalia Mae 2023-01-29 10:51:04 -05:00
parent 480f64a495
commit 6874d1c0aa

View file

@ -34,7 +34,7 @@ class WebviewHandler(ComponentBase):
connect(self.webview, 'enter-fullscreen', self.handle_fullscreen, 'enter')
connect(self.webview, 'leave-fullscreen', self.handle_fullscreen, 'exit')
#connect(self.webview, 'insecure-content-detected', self.handle_insecure_content, original_args=True)
# connect(self.webview, 'load-failed-with-tls-errors', self.handle_tls_error, original_args=True)
connect(self.webview, 'load-failed-with-tls-errors', self.handle_tls_error, original_args=True)
connect(self.webview, 'mouse-target-changed', self.handle_mouse_hover, original_args=True)
connect(self.webview, 'resource-load-started', self.handle_resource_load, original_args=True)
connect(self.webview, 'run-file-chooser', self.handle_file_chooser, original_args=True)
@ -127,7 +127,7 @@ class WebviewHandler(ComponentBase):
menu.new_action('media_open', 'Open Media', self.tab.load_url, url.media)
menu.new_action('media_new', 'Open Media In New Tab', self.window.tab_new, url.media, switch=True)
menu.new_action('media_bg', 'Open Media In Background Tab', self.window.tab_new, url.media)
menu.new_action('media_dl', 'Download Media', self.app.context.download_uri, url.media)
menu.new_action('media_dl', 'Download Media', self.context.download_uri, url.media)
menu.new_sep()
if data.image:
@ -369,7 +369,7 @@ class WebviewHandler(ComponentBase):
self.window.notification(f'Cannot open url: {url}', 'warning')
elif not self.webview.can_show_mime_type(url.mimetype):
self.app.context.download_uri(url)
self.context.download_uri(url)
return
@ -486,8 +486,8 @@ class WebviewHandler(ComponentBase):
def handle_scroll_event(self, webview, event):
if not event.state == Gdk.ModifierType.CONTROL_MASK:
return
if Gdk.ModifierType.CONTROL_MASK.value_nicks[0] not in event.state.value_nicks:
return False
zoom = webview.get_zoom_level()
@ -503,30 +503,6 @@ class WebviewHandler(ComponentBase):
return True
def handle_scroll_event2(self, webview, event):
if not event.state == Gdk.ModifierType.CONTROL_MASK:
return
zoom = webview.get_zoom_level()
if event.direction == Gdk.ScrollDirection.DOWN:
if zoom <= 0.2:
return True
webview.set_zoom_level(zoom - 0.1)
elif event.direction == Gdk.ScrollDirection.UP:
if zoom >= 4.0:
return True
webview.set_zoom_level(zoom + 0.1)
elif event.direction in {Gdk.ScrollDirection.LEFT, Gdk.ScrollDirection.RIGHT}:
webview.set_zoom_level(1.0)
return True
## calling list_text_fields causes a crash half the time
def handle_submit_form(self, webview, form):
form_data = form.list_text_fields()
@ -561,9 +537,9 @@ class WebviewHandler(ComponentBase):
with self.db.session as s:
if s.get_config('allow_local_unsigned') and url.address.is_type('local', 'loopback', 'private'):
self.tab.context.allow_tls_certificate_for_host(cert, url.host)
self.context.allow_tls_certificate_for_host(cert, url.host)
webview.load_uri(url)
return True
return
msg = cert_error_msg.get(err, f'TLS error: {url}')
@ -573,7 +549,7 @@ class WebviewHandler(ComponentBase):
context = {'error_message': msg.format(url=url), 'title': 'TLS Error'}
webview.load_html(self.app.template.render('error.haml', context))
return True
return False
def handle_set_url(self, webview, url):