From bf55c325ced85ca476086af326cc77069c94b394 Mon Sep 17 00:00:00 2001
From: 23rd <23rd@vivaldi.net>
Date: Sun, 27 Oct 2024 05:01:25 +0300
Subject: [PATCH] Fixed hotkey to reset IV zoom.

---
 Telegram/Resources/iv_html/page.js        | 7 +++++--
 Telegram/SourceFiles/iv/iv_controller.cpp | 2 ++
 2 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/Telegram/Resources/iv_html/page.js b/Telegram/Resources/iv_html/page.js
index fda34772f..9bd67163a 100644
--- a/Telegram/Resources/iv_html/page.js
+++ b/Telegram/Resources/iv_html/page.js
@@ -72,6 +72,9 @@ var IV = {
 		}
 	},
 	frameKeyDown: function (e) {
+		const key0 = (e.key === '0')
+			|| (e.code === 'Key0')
+			|| (e.keyCode === 48);
 		const keyW = (e.key === 'w')
 			|| (e.code === 'KeyW')
 			|| (e.keyCode === 87);
@@ -81,12 +84,12 @@ var IV = {
 		const keyM = (e.key === 'm')
 			|| (e.code === 'KeyM')
 			|| (e.keyCode === 77);
-		if ((e.metaKey || e.ctrlKey) && (keyW || keyQ || keyM)) {
+		if ((e.metaKey || e.ctrlKey) && (keyW || keyQ || keyM || key0)) {
 			e.preventDefault();
 			IV.notify({
 				event: 'keydown',
 				modifier: e.ctrlKey ? 'ctrl' : 'cmd',
-				key: keyW ? 'w' : keyQ ? 'q' : 'm',
+				key: key0 ? '0' : keyW ? 'w' : keyQ ? 'q' : 'm',
 			});
 		} else if (e.key === 'Escape' || e.keyCode === 27) {
 			e.preventDefault();
diff --git a/Telegram/SourceFiles/iv/iv_controller.cpp b/Telegram/SourceFiles/iv/iv_controller.cpp
index 606570166..62348a986 100644
--- a/Telegram/SourceFiles/iv/iv_controller.cpp
+++ b/Telegram/SourceFiles/iv/iv_controller.cpp
@@ -957,6 +957,8 @@ void Controller::processKey(const QString &key, const QString &modifier) {
 		minimize();
 	} else if (key == u"q"_q && modifier == ctrl) {
 		quit();
+	} else if (key == u"0"_q && modifier == ctrl) {
+		_delegate->ivSetZoom(kDefaultZoom);
 	}
 }