autoloadocrrange

This commit is contained in:
恍兮惚兮 2024-08-15 23:21:04 +08:00
parent cea81ba61a
commit 07d1255b28
30 changed files with 27 additions and 59 deletions

View File

@ -147,7 +147,7 @@ class MAINUI:
def textsource(self, _):
if _ is None and self.textsource_p:
try:
self.textsource_p.end()
self.textsource_p.endX()
except:
print_exc()
self.hwnd = None
@ -240,7 +240,6 @@ class MAINUI:
safe_embedcallback = embedcallback if embedcallback else lambda _: 1
safe_embedcallback_none = functools.partial(safe_embedcallback, "")
if text.startswith("<notrans>"):
self.translation_ui.displayres.emit(
dict(
@ -418,8 +417,8 @@ class MAINUI:
color=globalconfig["fanyi"][engine]["color"],
res="",
onlytrans=onlytrans,
iter_context=(1, engine),
)
displayreskwargs.update(iter_context=(1, engine))
self.translation_ui.displayres.emit(displayreskwargs)
def create_translate_task(
@ -520,9 +519,8 @@ class MAINUI:
color=globalconfig["fanyi"][classname]["color"],
res=res,
onlytrans=onlytrans,
iter_context=(iter_res_status, classname),
)
if iter_res_status:
displayreskwargs.update(iter_context=(iter_res_status, classname))
self.translation_ui.displayres.emit(displayreskwargs)
if iter_res_status in (0, 2): # 0为普通1为iter2为iter终止

View File

@ -267,10 +267,6 @@ def getocrgrid(self):
"多重区域模式",
D_getsimpleswitch(globalconfig, "multiregion"),
],
[
"记忆选定区域",
D_getsimpleswitch(globalconfig, "rememberocrregions"),
],
[
"范围框颜色",
D_getcolorbutton(

View File

@ -2,7 +2,7 @@ from qtsymbols import *
import time, functools, threading, os, importlib, shutil, uuid
from traceback import print_exc
import windows, qtawesome, gobject, winsharedutils
from myutils.wrapper import threader, trypass
from myutils.wrapper import threader, trypass, tryprint
from myutils.config import (
globalconfig,
saveallconfig,
@ -308,16 +308,13 @@ class TranslatorWindow(resizableframeless):
color = kwargs.get("color")
res = kwargs.get("res")
onlytrans = kwargs.get("onlytrans") # 仅翻译,不显示
iter_context = kwargs.get("iter_context", None)
iter_context = kwargs.get("iter_context", (0, None))
clear = kwargs.get("clear", False)
if iter_context:
iter_res_status, iter_context_class = iter_context
if iter_res_status == 2: # iter结束
gobject.baseobject.transhis.getnewtranssignal.emit(name, res)
return
else:
gobject.baseobject.transhis.getnewtranssignal.emit(name, res)
if onlytrans:
return
@ -1246,6 +1243,7 @@ class TranslatorWindow(resizableframeless):
rangeselct_function(self.afterrange, auto, auto)
@tryprint
def afterrange(self, rect):
gobject.baseobject.textsource.newrangeadjustor()
gobject.baseobject.textsource.setrect(rect)
@ -1360,8 +1358,6 @@ class TranslatorWindow(resizableframeless):
gobject.baseobject.isrunning = False
self.hide()
if gobject.baseobject.textsource:
gobject.baseobject.textsource = None
endsubprocs()
gobject.baseobject.destroytray()

View File

@ -7,7 +7,6 @@ class copyboard(basetext):
def end(self):
winsharedutils.clipboard_callback_stop(self.__hwnd)
super().end()
def __callback(self, string, ismy):
if globalconfig["excule_from_self"] and ismy:

View File

@ -37,11 +37,6 @@ class ocrtext(basetext):
self.range_ui = []
self.timestamp = time.time()
super(ocrtext, self).__init__("0", "ocr")
if globalconfig["rememberocrregions"]:
for region in globalconfig["ocrregions"]:
if region:
self.newrangeadjustor()
self.setrect(region)
def newrangeadjustor(self):
if len(self.range_ui) == 0 or globalconfig["multiregion"]:
@ -85,6 +80,12 @@ class ocrtext(basetext):
[_.setstyle() for _ in self.range_ui]
def showhiderangeui(self, b):
if b and len(self.range_ui) == 0:
for region in globalconfig["ocrregions"]:
if region:
self.newrangeadjustor()
self.setrect(region)
return
for _ in self.range_ui:
if b:
_r = _.getrect()
@ -195,4 +196,3 @@ class ocrtext(basetext):
def end(self):
globalconfig["ocrregions"] = [_.getrect() for _ in self.range_ui]
[_.closesignal.emit() for _ in self.range_ui]
super().end()

View File

@ -229,7 +229,7 @@ class texthook(basetext):
def procdisc(self, pid):
self.connectedpids.remove(pid)
if len(self.connectedpids) == 0:
if len(self.connectedpids) == 0 and not self.ending:
gobject.baseobject.textsource = None
def prepares(self):
@ -564,4 +564,3 @@ class texthook(basetext):
for pid in self.connectedpids:
self.Luna_Detach(pid)
time.sleep(0.1)
super().end()

View File

@ -54,10 +54,13 @@ class basetext:
def gettextonce(self):
return None
def end(self):
self.ending = True
def end(self): ...
##################
def endX(self):
self.ending = True
self.end()
def sqlqueueput(self, xx):
try:
self.sqlqueue.put(xx)

View File

@ -302,14 +302,14 @@ class basetrans(commonbase):
else:
collectiterres += _res
callback(collectiterres, 1)
callback("", 2)
callback(collectiterres, 2)
res = collectiterres
else:
if globalconfig["fix_translate_rank"]:
# 这个性能会稍微差一点,不然其实可以全都这样的。
callback(res, 1)
callback("", 2)
callback(res, 2)
else:
callback(res, 0)
@ -391,7 +391,4 @@ class basetrans(commonbase):
msg = stringfyerror(e)
self.needreinit = True
msg = "<msg_translator>" + msg
if embedcallback:
callback(contentraw, 0)
else:
callback(msg, 0)

View File

@ -433,7 +433,6 @@
"removeuseless": false,
"currvislistuid": null,
"multiregion": false,
"rememberocrregions": false,
"ocrregions": [],
"ocr_stable_sim": 0,
"ocr_diff_sim": 0.95,

View File

@ -547,7 +547,6 @@
"外部缩放软件": "برامج التكبير الخارجي",
"保持非重复字符": "الحفاظ على الطابع غير المتكرر",
"多重区域模式": "وضع منطقة متعددة",
"记忆选定区域": "اختيار الذاكرة",
"关闭": "غلق",
"命令行启动": "بدء تشغيل سطر الأوامر",
"文本相似度阈值": "نص التشابه العتبة",

View File

@ -547,7 +547,6 @@
"外部缩放软件": "外部縮放軟體",
"保持非重复字符": "保持非重複字元",
"多重区域模式": "多重區域模式",
"记忆选定区域": "記憶選定區域",
"关闭": "關閉",
"命令行启动": "命令列啟動",
"文本相似度阈值": "文字相似度閾值",

View File

@ -554,7 +554,6 @@
"外部缩放软件": "Externí software pro škálování",
"保持非重复字符": "Zachovat neopakující se znaky",
"多重区域模式": "Víceregionální režim",
"记忆选定区域": "Oblast výběru paměti",
"关闭": "zavřít",
"命令行启动": "Spuštění příkazového řádku",
"文本相似度阈值": "Práh podobnosti textu",

View File

@ -554,7 +554,6 @@
"外部缩放软件": "Externe Skalierungssoftware",
"保持非重复字符": "Nicht wiederkehrende Zeichen beibehalten",
"多重区域模式": "Multiregionaler Modus",
"记忆选定区域": "Speicherauswahlbereich",
"关闭": "schließen",
"命令行启动": "Start der Befehlszeile",
"文本相似度阈值": "Schwellenwert für Textähnlichkeit",

View File

@ -546,7 +546,6 @@
"外部缩放软件": "External Scaling Software",
"保持非重复字符": "Keep Unduplicated Characters",
"多重区域模式": "Multi-Region Mode",
"记忆选定区域": "Remember Selected Region",
"关闭": "Close",
"命令行启动": "Command Line Startup",
"文本相似度阈值": "Text Similarity Threshold",

View File

@ -547,7 +547,6 @@
"外部缩放软件": "Software de zoom externo",
"保持非重复字符": "Mantener caracteres no repetitivos",
"多重区域模式": "Modelo multiregional",
"记忆选定区域": "Área seleccionada de memoria",
"关闭": "Cierre",
"命令行启动": "Se inicia la línea de órdenes",
"文本相似度阈值": "Umbral de similitud de texto",

View File

@ -547,7 +547,6 @@
"外部缩放软件": "Logiciel de zoom externe",
"保持非重复字符": "Garder les caractères non répétitifs",
"多重区域模式": "Mode Multi - zones",
"记忆选定区域": "Mémoriser la zone sélectionnée",
"关闭": "Fermé",
"命令行启动": "Démarrage de la ligne de commande",
"文本相似度阈值": "Seuil de similarité du texte",

View File

@ -547,7 +547,6 @@
"外部缩放软件": "Software di ridimensionamento esterno",
"保持非重复字符": "Mantieni caratteri non ripetuti",
"多重区域模式": "Modalità multi regione",
"记忆选定区域": "Area di selezione della memoria",
"关闭": "chiudi",
"命令行启动": "Avvio della riga di comando",
"文本相似度阈值": "Soglia di somiglianza del testo",

View File

@ -547,7 +547,6 @@
"外部缩放软件": "外部ズームソフトウェア",
"保持非重复字符": "非反復文字の維持",
"多重区域模式": "複数領域モード",
"记忆选定区域": "メモリ選択領域",
"关闭": "閉じる",
"命令行启动": "コマンドライン起動",
"文本相似度阈值": "テキスト類似度しきい値",

View File

@ -547,7 +547,6 @@
"外部缩放软件": "외부 확대 / 축소 소프트웨어",
"保持非重复字符": "비반복 문자 유지",
"多重区域模式": "다중 영역 모드",
"记忆选定区域": "선택한 영역 기억하기",
"关闭": "닫기",
"命令行启动": "명령줄 시작",
"文本相似度阈值": "텍스트 유사도 임계값",

View File

@ -554,7 +554,6 @@
"外部缩放软件": "Externe schaalsoftware",
"保持非重复字符": "Niet-herhalende tekens behouden",
"多重区域模式": "Multiregionale modus",
"记忆选定区域": "Geheugen selectiegebied",
"关闭": "sluiten",
"命令行启动": "Opstarten van de opdrachtregel",
"文本相似度阈值": "Drempel voor tekstgelijkenis",

View File

@ -547,7 +547,6 @@
"外部缩放软件": "Oprogramowanie do skalowania zewnętrznego",
"保持非重复字符": "Zachowaj niepowtarzające się znaki",
"多重区域模式": "Tryb wielu regionów",
"记忆选定区域": "Obszar wyboru pamięci",
"关闭": "zamknij",
"命令行启动": "Uruchamianie wiersza poleceń",
"文本相似度阈值": "Próg podobieństwa tekstu",

View File

@ -554,7 +554,6 @@
"外部缩放软件": "Software de dimensionamento externo",
"保持非重复字符": "Manter caracteres não repetitivos",
"多重区域模式": "Modo multiregional",
"记忆选定区域": "Área de selecção da memória",
"关闭": "fechar",
"命令行启动": "Arranque da linha de comandos",
"文本相似度阈值": "Limiar de similaridade do texto",

View File

@ -547,7 +547,6 @@
"外部缩放软件": "Программное обеспечение для внешнего масштабирования",
"保持非重复字符": "Сохранить символ без повторения",
"多重区域模式": "Многорегиональная модель",
"记忆选定区域": "Запоминание выбранной области",
"关闭": "Закрыть",
"命令行启动": "Запуск командной строки",
"文本相似度阈值": "Порог сходства текста",

View File

@ -554,7 +554,6 @@
"外部缩放软件": "Extern skalningsprogram",
"保持非重复字符": "Behåll tecken som inte upprepas",
"多重区域模式": "Flerregionalt sätt",
"记忆选定区域": "Minnesvalsområde",
"关闭": "stäng",
"命令行启动": "Kommandoradsstart",
"文本相似度阈值": "Tröskelvärde för textlikhet",

View File

@ -547,7 +547,6 @@
"外部缩放软件": "ซอฟต์แวร์ซูมภายนอก",
"保持非重复字符": "เก็บอักขระที่ไม่ซ้ำกัน",
"多重区域模式": "โหมดหลายโซน",
"记忆选定区域": "หน่วยความจำพื้นที่ที่เลือก",
"关闭": "ปิด",
"命令行启动": "เริ่มบรรทัดคำสั่ง",
"文本相似度阈值": "เกณฑ์ความคล้ายคลึงกันของข้อความ",

View File

@ -547,7 +547,6 @@
"外部缩放软件": "Dışarı skalama yazılımı",
"保持非重复字符": "Tekrarlamayan karakterleri tut",
"多重区域模式": "Çok bölge modu",
"记忆选定区域": "Hafıza seçim alanı",
"关闭": "kapat",
"命令行启动": "Komut satırı başlatma",
"文本相似度阈值": "Metin benzerliği eşiği",

View File

@ -547,7 +547,6 @@
"外部缩放软件": "Зовнішнє програмне забезпечення масштабу",
"保持非重复字符": "Зберегти символи, які не повторюються",
"多重区域模式": "Режим декількох регіонів",
"记忆选定区域": "Область вибору пам' яті",
"关闭": "закрити",
"命令行启动": "Запуск командного рядка",
"文本相似度阈值": "Праг подібності до тексту",

View File

@ -547,7 +547,6 @@
"外部缩放软件": "Phần mềm Zoom ngoài",
"保持非重复字符": "Giữ các ký tự không trùng lặp",
"多重区域模式": "Chế độ đa vùng",
"记忆选定区域": "Ghi nhớ vùng chọn",
"关闭": "Đóng cửa",
"命令行启动": "Chạy dòng lệnh",
"文本相似度阈值": "Ngưỡng tương tự văn bản",

View File

@ -555,7 +555,6 @@
"外部缩放软件": "",
"保持非重复字符": "",
"多重区域模式": "",
"记忆选定区域": "",
"关闭": "",
"命令行启动": "",
"文本相似度阈值": "",

View File

@ -66,7 +66,8 @@
该按钮每次都需要进行翻译选择,不会进行记忆。
1. #### <i class="fa fa-square"></i> <i class="fa fa-icon fa-rotate-right"></i> 显示/隐藏范围框
**该按钮仅在OCR模式下可用**<br>
当未选择任何OCR范围时使用该按钮显示OCR范围会自动设置OCR范围为上一次选择的OCR。
1. #### <i class="fa fa-book"></i> <i class="fa fa-icon fa-rotate-right"></i> 专有名词翻译_直接替换
1. #### <i class="fa fa-book"></i> <i class="fa fa-icon fa-rotate-right"></i> 专有名词翻译_sakura_gpt_词典
1. #### <i class="fa fa-book"></i> <i class="fa fa-icon fa-rotate-right"></i> 专有名词翻译_占位符_全局