Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: choose window type for shortcut and mouse select translate #156

Merged
merged 1 commit into from
Oct 4, 2023
Merged

feat: choose window type for shortcut and mouse select translate #156

merged 1 commit into from
Oct 4, 2023

Conversation

rainzm
Copy link
Contributor

@rainzm rainzm commented Aug 5, 2023

目前,划词翻译(快捷键划词)使用的是侧悬浮窗口,这和自动划词并不统一。所以增加一个选项以能够设置划词翻译使用迷你窗口:

image

可能的问题:选项前面的 label 设置为“划词翻译”好还是“快捷键划词”好?因为文档的描述使用的是划词翻译。

@tisfeng
Copy link
Owner

tisfeng commented Aug 6, 2023

还是区分一下吧,快捷键划词。最开始,只有快捷键划词这一种出发方式,因此有些地方就直接简写了,后面才添加的鼠标划词。

@tisfeng
Copy link
Owner

tisfeng commented Aug 6, 2023

你好,感谢你这个 PR,我看了一下,没有问题。

另外,根据之前的讨论 #103 (comment) ,我希望能让用户自己决定快捷键或鼠标划词触发窗口的类型,所以我想,这里应该可以再添加一个【鼠标划词窗口】设置,选项内容是“迷你窗口” 和 “侧悬浮窗口”,配合你目前添加的【快捷键划词窗口】,可以实现全局只使用一个窗口功能。

默认设置选项还是和之前保持一致,鼠标划词触发迷你窗口,快捷键划词触发侧悬浮窗口。

你这个建议也不错,对一些用户来说,可能并不需要两个窗口,那样对他们来说反而增加了复杂度。

我考虑一下,看是否可以提供一个选项,让用户选择全部只使用【侧悬浮窗口】,符合简洁的定位。

@rainzm
Copy link
Contributor Author

rainzm commented Aug 6, 2023

明白,那我改一下,提供两个下拉框,快捷键划词窗口和鼠标划词窗口,其中的选项内容都是“迷你窗口”和“侧悬浮窗口”,前者默认侧悬浮窗口,后者默认迷你窗口。

@rainzm
Copy link
Contributor Author

rainzm commented Aug 6, 2023

我平时都用 neovim 开发, xcode 编译挺好的,写代码不大会用,所以今晚搞了下如何用 neovim 开发objc,终于搞定了🤣,下周继续搞这个PR吧。

@tisfeng
Copy link
Owner

tisfeng commented Aug 7, 2023

OK,加油!

@tisfeng
Copy link
Owner

tisfeng commented Aug 15, 2023

你好,这个功能进展顺利吗,是否有遇到难题?

@rainzm
Copy link
Contributor Author

rainzm commented Aug 17, 2023

没啥问题 这周完成

@tisfeng tisfeng mentioned this pull request Aug 24, 2023
@tisfeng
Copy link
Owner

tisfeng commented Aug 26, 2023

@rainzm 这周能完成吗,或者下周也可以 🤔

@tisfeng
Copy link
Owner

tisfeng commented Sep 30, 2023

@rainzm 你好,我打算发布一个新版本,请问这个功能什么情况了?

如果有问题,那我就自己动手做了 🙁

@rainzm rainzm changed the title feat: add options to configure select translation to use mini window feat: choose window type for shortcut and mouse select translate Sep 30, 2023
@rainzm
Copy link
Contributor Author

rainzm commented Sep 30, 2023

@tisfeng hi 十分抱歉 前段时间由于工作和个人原因没有及时回复。现在我已经完成了此功能的开发。
image

只是有一个可能问题的地方,由于MMOrderedDictionary的关系,取值为0的EZWindowTypeMain不得不也暴露了出来:
image
不知道是否有方法改变。

@tisfeng
Copy link
Owner

tisfeng commented Oct 1, 2023

@rainzm 不不,这里的窗口类型选项,应该只有【迷你窗口】和【侧悬浮窗口】。

另外,你需推送到 dev 分支。

@rainzm
Copy link
Contributor Author

rainzm commented Oct 1, 2023

@tisfeng 明白,但是对于这个的实现,我有些疑惑。Easydict/Feature/Service/Model/EZEnumTypes.m
translateWindowTypeDict 去掉 EZWindowTypeMain 就不对了,这个 MMOrderedDictionary 必须先添加 0 是嘛?

@tisfeng
Copy link
Owner

tisfeng commented Oct 3, 2023

@rainzm 这个还有什么问题吗?

另外,这个 PR 是提交到 main ,你需要把它转 到 dev。

image

@rainzm
Copy link
Contributor Author

rainzm commented Oct 3, 2023

@tisfeng 是的测试有问题。首先,EZWindowType 迷你窗口和侧悬浮窗口的值是1和2。如果我去掉主窗口选项,当我再UI里面选择迷你窗口的时候,实际的选择取值是0而不是1,当我选择侧悬浮窗口的时候,实际的选择取值是1也就是迷你窗口。所以我想这里的 MMOrderedDictionary 的key和index必须一致?

@tisfeng
Copy link
Owner

tisfeng commented Oct 3, 2023

@rainzm 我有点没明白你说的问题,这样,你先把代码 PR 提交到最新的 dev,我测试一下看看会有什么问题,目前代码在 main 分支不方便测试。

@rainzm rainzm changed the base branch from main to dev October 3, 2023 12:53
@rainzm
Copy link
Contributor Author

rainzm commented Oct 3, 2023

@tisfeng ok 我解决一下冲突

@rainzm
Copy link
Contributor Author

rainzm commented Oct 3, 2023

@tisfeng 我提交了代码,我切换到dev分支后,xcode打开 Easydict.xcworkspace 文件后,不能打开项目以及编译代码,如下:
image
xcode尝试打开 Easydict.xcodeproj 版本太低:
image
我的系统和xcode都是12版本的,所以我暂时无法编译测试。抱歉。

@tisfeng
Copy link
Owner

tisfeng commented Oct 3, 2023

@rainzm OK,辛苦了,最新代码使用了 Xcode 15 的功能,后面的我来弄就可以。

@tisfeng tisfeng merged commit 4f63a93 into tisfeng:dev Oct 4, 2023
2 checks passed
@tisfeng
Copy link
Owner

tisfeng commented Oct 6, 2023

@rainzm 你好,这个已经修改完了, 7b33687?diff=split#diff-6f658970b12f273123455a4666639d9d958251610541b3260666a61621f13512R899

- (void)mouseSelectTranslateWindowTypePopUpButtonClicked:(NSPopUpButton *)button {
    NSInteger selectedIndex = button.indexOfSelectedItem;
    MMOrderedDictionary *translateWindowTypeDict = [EZEnumTypes translateWindowTypeDict];
    self.config.mouseSelectTranslateWindowType = [[translateWindowTypeDict keyAtIndex:selectedIndex] integerValue];
}

顺便修改一个方法名拼写错误问题 2e3855a#diff-7314a73c3065c261ca74c5b2b612e81d1b9d48241c48968ffc5e25f9f63b7175L303

@rainzm
Copy link
Contributor Author

rainzm commented Oct 7, 2023

好的 看了下代码 明白是哪里的问题了。

Jerry23011 pushed a commit to Jerry23011/Easydict that referenced this pull request Dec 3, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants