mirror of
https://github.com/HIllya51/LunaTranslator.git
synced 2024-12-29 00:24:13 +08:00
auto
This commit is contained in:
parent
9a08591e62
commit
3e498ded19
@ -14,6 +14,8 @@ from PyQt5.QtWidgets import (
|
||||
QTabBar,
|
||||
QLabel,
|
||||
)
|
||||
from myutils.hwnd import grabwindow
|
||||
|
||||
from urllib.parse import quote
|
||||
from PyQt5.QtGui import QPixmap, QImage
|
||||
from traceback import print_exc
|
||||
@ -107,7 +109,21 @@ class statusbutton(QPushButton):
|
||||
self.statuschanged2.emit((self.idx) % len(self.colors))
|
||||
self.seticon()
|
||||
|
||||
|
||||
class autoremovelineedit(QLineEdit):
|
||||
def check(self):
|
||||
last=self.text()
|
||||
if os.path.exists(last) and os.path.isfile(last):
|
||||
norm_dir1 = os.path.normpath(last)
|
||||
norm_dir2 = os.path.normpath(os.path.abspath('./cache'))
|
||||
print(norm_dir1,norm_dir2)
|
||||
if norm_dir1.startswith(norm_dir2):
|
||||
os.remove(last)
|
||||
def setText(self,s):
|
||||
self.check()
|
||||
super().setText(s)
|
||||
def clear(self):
|
||||
self.check()
|
||||
|
||||
class AnkiWindow(QWidget):
|
||||
__ocrsettext = pyqtSignal(str)
|
||||
refreshhtml = pyqtSignal()
|
||||
@ -371,6 +387,10 @@ class AnkiWindow(QWidget):
|
||||
_TR("自动TTS"),
|
||||
getsimpleswitch(globalconfig["ankiconnect"], "autoruntts"),
|
||||
)
|
||||
layout.addRow(
|
||||
_TR("自动截图"),
|
||||
getsimpleswitch(globalconfig["ankiconnect"], "autocrop"),
|
||||
)
|
||||
|
||||
layout.addRow(
|
||||
_TR("录音时模拟按键_1"),
|
||||
@ -422,11 +442,11 @@ class AnkiWindow(QWidget):
|
||||
cropbutton = QPushButton(qtawesome.icon("fa.crop"), "")
|
||||
cropbutton.clicked.connect(self.crop)
|
||||
|
||||
self.audiopath = QLineEdit()
|
||||
self.audiopath = autoremovelineedit()
|
||||
self.audiopath.setReadOnly(True)
|
||||
self.audiopath_sentence = QLineEdit()
|
||||
self.audiopath_sentence = autoremovelineedit()
|
||||
self.audiopath_sentence.setReadOnly(True)
|
||||
self.editpath = QLineEdit()
|
||||
self.editpath = autoremovelineedit()
|
||||
self.editpath.setReadOnly(True)
|
||||
self.viewimagelabel = QLabel()
|
||||
self.editpath.textChanged.connect(self.wrappedpixmap)
|
||||
@ -563,7 +583,6 @@ class AnkiWindow(QWidget):
|
||||
self.editpath.clear()
|
||||
self.audiopath.clear()
|
||||
self.audiopath_sentence.clear()
|
||||
|
||||
def errorwrap(self):
|
||||
try:
|
||||
self.addanki()
|
||||
@ -813,12 +832,15 @@ class searchwordW(closeashidewindow):
|
||||
sentence = self.searchtext.text() + sentence
|
||||
self.searchtext.setText(sentence)
|
||||
|
||||
self.ankiwindow.example.setPlainText(gobject.baseobject.currenttext)
|
||||
self.search(sentence)
|
||||
|
||||
self.ankiwindow.example.setPlainText(gobject.baseobject.currenttext)
|
||||
if globalconfig["ankiconnect"]["autoruntts"]:
|
||||
self.ankiwindow.langdu()
|
||||
self.ankiwindow.langdu2()
|
||||
|
||||
|
||||
if globalconfig["ankiconnect"]["autocrop"]:
|
||||
grabwindow(self.ankiwindow.editpath.setText)
|
||||
def search(self, sentence):
|
||||
sentence = sentence.strip()
|
||||
if sentence == "":
|
||||
|
@ -9,7 +9,7 @@ from myutils.wrapper import threader
|
||||
|
||||
|
||||
@threader
|
||||
def grabwindow():
|
||||
def grabwindow(callback=None):
|
||||
|
||||
fnamebase = "./cache/screenshot/{}".format(0)
|
||||
try:
|
||||
@ -33,6 +33,8 @@ def grabwindow():
|
||||
@threader
|
||||
def _():
|
||||
winrtutils._winrt_capture_window(fname + "_winrt_magpie.png", hwnd)
|
||||
if callback and os.path.exists(fname + "_winrt_magpie.png"):
|
||||
callback(os.path.abspath(fname + "_winrt_magpie.png"))
|
||||
|
||||
_()
|
||||
hwnd = windows.FindWindow("LosslessScaling", None)
|
||||
@ -41,32 +43,39 @@ def grabwindow():
|
||||
@threader
|
||||
def _():
|
||||
winrtutils._winrt_capture_window(fname + "_winrt_lossless.png", hwnd)
|
||||
if callback and os.path.exists(fname + "_winrt_lossless.png"):
|
||||
callback(os.path.abspath(fname + "_winrt_lossless.png"))
|
||||
|
||||
_()
|
||||
hwnd = windows.GetForegroundWindow()
|
||||
try:
|
||||
if hwnd == int(gobject.baseobject.translation_ui.winId()):
|
||||
hwnd = gobject.baseobject.textsource.hwnd
|
||||
hwnd = gobject.baseobject.textsource.hwnd
|
||||
except:
|
||||
pass
|
||||
hwnd = windows.GetForegroundWindow()
|
||||
|
||||
@threader
|
||||
def _():
|
||||
winrtutils._winrt_capture_window(fname + "_winrt.png", hwnd)
|
||||
|
||||
_()
|
||||
_ = windows.GetClientRect(hwnd)
|
||||
rate = dynamic_rate(hwnd, _)
|
||||
w, h = int(_[2] / rate), int(_[3] / rate)
|
||||
print(_)
|
||||
print(h, w, rate)
|
||||
p = QApplication.primaryScreen().grabWindow(hwnd, 0, 0, w, h)
|
||||
p = p.toImage().copy(0, 0, w, h)
|
||||
if not p.allGray():
|
||||
p.save(fname + "_gdi.png")
|
||||
gobject.baseobject.translation_ui.displaystatus.emit(
|
||||
"saved to " + fname, "red", True, True
|
||||
)
|
||||
if callback and os.path.exists(fname + "_gdi.png"):
|
||||
callback(os.path.abspath(fname + "_gdi.png"))
|
||||
|
||||
if not callback:
|
||||
|
||||
gobject.baseobject.translation_ui.displaystatus.emit(
|
||||
"saved to " + fname, "red", True, True
|
||||
)
|
||||
|
||||
@threader
|
||||
def _():
|
||||
winrtutils._winrt_capture_window(fname + "_winrt.png", hwnd)
|
||||
if callback and os.path.exists(fname + "_winrt.png"):
|
||||
callback(os.path.abspath(fname + "_winrt.png"))
|
||||
|
||||
if p.allGray() or (not callback):
|
||||
_()
|
||||
|
||||
|
||||
def dynamic_rate(hwnd, rect):
|
||||
|
@ -193,7 +193,8 @@
|
||||
"use":false,
|
||||
"keycode":120
|
||||
}
|
||||
}
|
||||
},
|
||||
"autocrop":false
|
||||
},
|
||||
"ankiwindow": [
|
||||
100,
|
||||
@ -363,7 +364,7 @@
|
||||
},
|
||||
"grabwindow": {
|
||||
"use": false,
|
||||
"tip": "前景窗口截屏",
|
||||
"tip": "窗口截图",
|
||||
"icon": "fa.camera"
|
||||
},
|
||||
"resize": {
|
||||
@ -608,7 +609,7 @@
|
||||
},
|
||||
"_21": {
|
||||
"use": false,
|
||||
"name": "前景窗口截屏",
|
||||
"name": "窗口截图",
|
||||
"keystring": ""
|
||||
},
|
||||
"_22": {
|
||||
|
@ -791,5 +791,7 @@
|
||||
"编码": "ترميز",
|
||||
"自动TTS": "التلقائي تحويل النص إلى كلام",
|
||||
"使用webview显示": "عرض باستخدام WebView",
|
||||
"录音时模拟按键": "التناظرية مفتاح التسجيل"
|
||||
"录音时模拟按键": "التناظرية مفتاح التسجيل",
|
||||
"窗口截图": "نافذة لقطة",
|
||||
"自动截图": "لقطة التلقائي"
|
||||
}
|
@ -791,5 +791,7 @@
|
||||
"编码": "編碼",
|
||||
"自动TTS": "自動TTS",
|
||||
"使用webview显示": "使用webview顯示",
|
||||
"录音时模拟按键": "錄音時類比按鍵"
|
||||
"录音时模拟按键": "錄音時類比按鍵",
|
||||
"窗口截图": "視窗截圖",
|
||||
"自动截图": "自動截圖"
|
||||
}
|
@ -791,5 +791,7 @@
|
||||
"编码": "coding",
|
||||
"自动TTS": "Automatic TTS",
|
||||
"使用webview显示": "Display using webview",
|
||||
"录音时模拟按键": "Simulate buttons during recording"
|
||||
"录音时模拟按键": "Simulate buttons during recording",
|
||||
"窗口截图": "Window screenshot",
|
||||
"自动截图": "Automatic screenshot"
|
||||
}
|
@ -791,5 +791,7 @@
|
||||
"编码": "Codificación",
|
||||
"自动TTS": "TTS automático",
|
||||
"使用webview显示": "Mostrar con Webview",
|
||||
"录音时模拟按键": "Teclas de simulación durante la grabación"
|
||||
"录音时模拟按键": "Teclas de simulación durante la grabación",
|
||||
"窗口截图": "Captura de pantalla de la ventana",
|
||||
"自动截图": "Captura de pantalla automática"
|
||||
}
|
@ -791,5 +791,7 @@
|
||||
"编码": "Codage",
|
||||
"自动TTS": "Tts automatique",
|
||||
"使用webview显示": "Afficher avec webview",
|
||||
"录音时模拟按键": "Simulation des touches lors de l'enregistrement"
|
||||
"录音时模拟按键": "Simulation des touches lors de l'enregistrement",
|
||||
"窗口截图": "Capture d'écran de la fenêtre",
|
||||
"自动截图": "Capture d'écran automatique"
|
||||
}
|
@ -791,5 +791,7 @@
|
||||
"编码": "codifica",
|
||||
"自动TTS": "TTS automatico",
|
||||
"使用webview显示": "Visualizzazione tramite webview",
|
||||
"录音时模拟按键": "Simula pulsanti durante la registrazione"
|
||||
"录音时模拟按键": "Simula pulsanti durante la registrazione",
|
||||
"窗口截图": "Schermata finestra",
|
||||
"自动截图": "Schermata automatica"
|
||||
}
|
@ -791,5 +791,7 @@
|
||||
"编码": "エンコード",
|
||||
"自动TTS": "自動TTS",
|
||||
"使用webview显示": "webview表示の使用",
|
||||
"录音时模拟按键": "録音時アナログボタン"
|
||||
"录音时模拟按键": "録音時アナログボタン",
|
||||
"窗口截图": "ウィンドウのスクリーンショット",
|
||||
"自动截图": "自動スクリーンショット"
|
||||
}
|
@ -791,5 +791,7 @@
|
||||
"编码": "인코딩",
|
||||
"自动TTS": "자동 TTS",
|
||||
"使用webview显示": "웹뷰를 사용하여 표시",
|
||||
"录音时模拟按键": "녹음 시 시뮬레이션 키"
|
||||
"录音时模拟按键": "녹음 시 시뮬레이션 키",
|
||||
"窗口截图": "창 캡처",
|
||||
"自动截图": "자동 캡처"
|
||||
}
|
@ -791,5 +791,7 @@
|
||||
"编码": "kodowanie",
|
||||
"自动TTS": "Automatyczny TTS",
|
||||
"使用webview显示": "Wyświetlanie przy użyciu widoku internetowego",
|
||||
"录音时模拟按键": "Symulowanie przycisków podczas nagrywania"
|
||||
"录音时模拟按键": "Symulowanie przycisków podczas nagrywania",
|
||||
"窗口截图": "Zrzut ekranu okna",
|
||||
"自动截图": "Automatyczny zrzut ekranu"
|
||||
}
|
@ -791,5 +791,7 @@
|
||||
"编码": "Код",
|
||||
"自动TTS": "Автоматический TTS",
|
||||
"使用webview显示": "Использовать webview",
|
||||
"录音时模拟按键": "Клавиша моделирования при записи"
|
||||
"录音时模拟按键": "Клавиша моделирования при записи",
|
||||
"窗口截图": "Снимок окна",
|
||||
"自动截图": "Автоматический снимок экрана"
|
||||
}
|
@ -791,5 +791,7 @@
|
||||
"编码": "การเข้ารหัส",
|
||||
"自动TTS": "TTS อัตโนมัติ",
|
||||
"使用webview显示": "ใช้ webview เพื่อแสดงผล",
|
||||
"录音时模拟按键": "การจำลองปุ่มกดเมื่อบันทึก"
|
||||
"录音时模拟按键": "การจำลองปุ่มกดเมื่อบันทึก",
|
||||
"窗口截图": "ภาพหน้าจอของหน้าต่าง",
|
||||
"自动截图": "ภาพหน้าจออัตโนมัติ"
|
||||
}
|
@ -791,5 +791,7 @@
|
||||
"编码": "coding",
|
||||
"自动TTS": "Otomatik TTS",
|
||||
"使用webview显示": "Web görüntüsünü kullanarak göster",
|
||||
"录音时模拟按键": "Kaydedirken düğmeleri simüle edin"
|
||||
"录音时模拟按键": "Kaydedirken düğmeleri simüle edin",
|
||||
"窗口截图": "Window screenshot",
|
||||
"自动截图": "Otomatik ekran fotoğrafı"
|
||||
}
|
@ -791,5 +791,7 @@
|
||||
"编码": "кодування",
|
||||
"自动TTS": "Автоматичний TTS",
|
||||
"使用webview显示": "Показувати за допомогою веб- перегляду",
|
||||
"录音时模拟按键": "Імітувати кнопки під час запису"
|
||||
"录音时模拟按键": "Імітувати кнопки під час запису",
|
||||
"窗口截图": "Знімок вікна",
|
||||
"自动截图": "Автоматичний знімок екрана"
|
||||
}
|
@ -791,5 +791,7 @@
|
||||
"编码": "Mã hóa",
|
||||
"自动TTS": "Tự động TTS",
|
||||
"使用webview显示": "Sử dụng WebView để hiển thị",
|
||||
"录音时模拟按键": "Mô phỏng các phím khi ghi âm"
|
||||
"录音时模拟按键": "Mô phỏng các phím khi ghi âm",
|
||||
"窗口截图": "Ảnh chụp cửa sổ",
|
||||
"自动截图": "Ảnh chụp màn hình tự động"
|
||||
}
|
@ -87,7 +87,7 @@
|
||||
"附加音源": "",
|
||||
"图标2": "",
|
||||
"如果你感觉该软件对你有帮助,欢迎微信扫码赞助,谢谢~": "",
|
||||
"前景窗口截屏": "",
|
||||
"窗口截图": "",
|
||||
"OCR最短间隔时间(s)": "",
|
||||
"自动获取系统代理": "",
|
||||
"是否使用快捷键": "",
|
||||
@ -791,5 +791,7 @@
|
||||
"编码": "",
|
||||
"自动TTS": "",
|
||||
"使用webview显示": "",
|
||||
"录音时模拟按键": ""
|
||||
"录音时模拟按键": "",
|
||||
"前景窗口截屏": "",
|
||||
"自动截图": ""
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user