use wheel + ctrl to change font size

This commit is contained in:
2021-10-28 09:40:40 +02:00
parent ce840819b2
commit f42ff06ce8
3 changed files with 54 additions and 16 deletions

View File

@@ -148,6 +148,11 @@ class InnerBigText(QWidget):
def wheelEvent(self, event: QWheelEvent): def wheelEvent(self, event: QWheelEvent):
direction = 1 if event.angleDelta().y() < 0 else -1 direction = 1 if event.angleDelta().y() < 0 else -1
if event.modifiers() == Qt.KeyboardModifier.ControlModifier:
font_size = min(max(4, self.model.settings.get_font_size()-direction),30)
self.model.settings.font_size(font_size)
self.update()
else:
# print("wheel event fired :) %s" % (direction)) # print("wheel event fired :) %s" % (direction))
self.scroll_by_lines(direction * 3) self.scroll_by_lines(direction * 3)

View File

@@ -1,15 +1,44 @@
import math
import multiprocessing
import time
from multiprocessing import Pool
file = "/tmp/tmp123123"
from concurrent.futures import ThreadPoolExecutor
from time import sleep
def writer():
with open(file, "w+b") as f:
for i in range(0, 10):
f.write(("%s"%(i)).encode("utf8"))
time.sleep(0.5)
print("writing ", time.time())
def reader():
with open(file, "rb") as f:
for i in range(0,10):
lines = f.readlines()
time.sleep(0.5)
print("read ", time.time())
pool = Pool(5)
with pool as p:
p.apply_async(writer)
p.apply_async(reader)
pool.join()
executor = ThreadPoolExecutor(2)
future1 = executor.submit(writer)
future2 = executor.submit(reader)
print(future1.result())
print(future2.result())
before = []#[0,1,2,3]
after = ["a","b","c","d"]
both = before + after
scroll = -3
lines = 1
start = len(before) + scroll
if start+lines < len(both):
result = both[start:start+lines]
else:
result = both[-lines:]
print("%s" % result)

View File

@@ -1,9 +1,12 @@
from typing import Callable
from PyQt6.QtGui import QFont from PyQt6.QtGui import QFont
class Settings(): class Settings():
def __init__(self): def __init__(self, callback_update_ui: Callable[[], None]):
self.callback_update_ui = callback_update_ui
self.font_size(12) self.font_size(12)
@staticmethod @staticmethod
@@ -19,3 +22,4 @@ class Settings():
def font_size(self, font_size: int): def font_size(self, font_size: int):
self._font_size = font_size self._font_size = font_size
self._font = QFont("monospace", font_size) self._font = QFont("monospace", font_size)
self.callback_update_ui()