tisfeng / Easydict

一个简洁优雅的词典翻译 macOS App。开箱即用,支持离线 OCR 识别,支持有道词典,🍎 苹果系统词典,🍎 苹果系统翻译,OpenAI,Gemini,DeepL,Google,Bing,腾讯,百度,阿里,小牛,彩云和火山翻译。A concise and elegant Dictionary and Translator macOS App for looking up words and translating text.
GNU General Public License v3.0
6.45k stars 328 forks source link

🐞 反馈问题:快捷键划词翻译,窗口高度计算有误,出现大片空白 #452

Closed tisfeng closed 1 month ago

tisfeng commented 4 months ago

请先确认以下事项:

问题描述

目测是这个 #418 PR 导致,几乎每次都会出现。

https://github.com/tisfeng/Easydict/assets/25194972/2c5ed4e9-034c-4b8c-9a5a-730bacbee1d4

该问题是否可以稳定重现?

可重现

重现步骤

*

截图

image

期望结果

*

解决方案(可选)

No response

设备型号 && 系统版本

*

是否愿意提交 PR 解决该问题?

tisfeng commented 4 months ago

这个建议 https://github.com/tisfeng/Easydict/issues/404 是可以的,但感觉实现方式不是很好,之前测试偶尔会出现 tips view 一闪而过的情况。

这段代码很丑陋,嵌套逻辑太多,容易出问题。

else if ([self isTipsCellRow:row]) {
        if (!self.tipsCell) {
            height = 100;
        } else {
            height = [self.tipsCell cellHeight];
        }
    }
tisfeng commented 4 months ago

每次快捷键划词查询时,会先重置 queryText,可能会导致这里误判。

- (BOOL)isShowTipsView {
    if (Configuration.shared.disableTipsView) {
        return NO;
    }
    if (EZ_isEmptyString(self.queryModel.queryText) && 
        !self.hasShowTips &&
        self.queryModel.actionType != EZActionTypeInputQuery) {
        return YES;
    }
    return NO;
}
AkaShark commented 4 months ago

okay 我晚点看看这个问题

tisfeng commented 3 months ago

有时候 OCR 截图翻译也会莫名出现 tips view,就很怪。

image
tisfeng commented 3 months ago

如果暂时不能解决,我们可以考虑先 revert 掉这个 feature。

AkaShark commented 3 months ago

okay 这俩天感冒了,一直没来得及看下,稍后我会看看,如果解决起来比较复杂的话,我先把这个feature revert掉

tisfeng commented 3 months ago

ok,先保重身体。

AkaShark commented 3 months ago

sorry 最近有点忙... 这个issue 会周末解决下~

tisfeng commented 3 months ago

待修复好这个问题后,你可以用 tips view 优化一下 OCR 错误显示 https://github.com/tisfeng/Easydict/issues/478

tisfeng commented 3 months ago

另外,这个错误提示内容可以修改一下,不要使用随机,改成参数指定错误类型,这样方便其他地方使用。

AkaShark commented 3 months ago

okay