Commit Graph

189 Commits

Author SHA1 Message Date
hantengc 02921a5b71 增加man手册 2023-10-19 11:44:15 +08:00
liulinsong f88fb42fae 将FloatButtonManager与ViewLocalSettings解耦
FloatButtonManager使用由VirtualKeyboardEntryManager定义的
ViewLocalSettings对象,不再直接定义ViewLocalSettings对象
2023-10-19 11:44:09 +08:00
liulinsong 2ec61d32e5 删除无用的代码 2023-10-19 11:44:03 +08:00
liulinsong 6d133c9929 使用fcitx5提供的新的DBus函数获取输入法列表信息 2023-10-19 11:43:50 +08:00
liulinsong b0913cfc33 修改不规范的代码
即使不需要给构造函数传递参数,也不建议省略小括号
2023-10-19 11:43:43 +08:00
hantengc 843f6346d5 给每个文件增加license声明 2023-10-19 11:43:36 +08:00
hanteng 1149dca935 add LICENSE info.
Signed-off-by: hanteng <hanteng@kylinos.cn>
2023-10-19 11:43:29 +08:00
hantengc f536615a51 修复悬浮按钮存在的锯齿问题
1.使用setMask绘制原角会存在较为严重的锯齿效果
2.重写paintEvent函数,使用QPainter绘制原角效果
2023-10-19 11:43:18 +08:00
liulinsong 3795178fe7 优化本地配置文件的写入性能
1. 因为文件IO是不靠谱的和不稳定的,所以,将本地文件的同步写入放到独立的
线程中,不再依赖于主线程,避免IO出现问题导致UI卡顿

2. 只有当上一次写入操作结束之后才会进行下一次写入操作,确保新的数据始终
能够正确覆盖旧的数据
2023-10-19 11:43:10 +08:00
liulinsong 5ee513f432 修复笔误 2023-10-19 11:43:03 +08:00
hanteng f637c93ec3 修复在调用QSystemTrayIcon接口设置setContextMenu之后右键菜单中信息无法更新问题
修改原因:右键菜单有且仅有一项的情况下,调用QSystemTrayIcon接口setContextMenu分别使用两个不同的QMenu会到导致显示信息不正确
修改方案:使用一个QMenu和一个QAciton,根据当前悬浮按钮启用和禁用情况,给QAction中添加不同的图标和文字信息,执行不同的功能。
问题原因:sni协议限制,只能获取到第一个QMenu信息
2023-10-19 11:42:56 +08:00
hanteng a0e33db875 修改虚拟键盘图标为ukui-virtual-keyboard-symbolic.svg
1.避免虚拟键盘图标和输入法框架默认图标一样,修改虚拟键盘图标为ukui-virtual-keyboard-symbolic.svg
2023-10-19 11:42:48 +08:00
liulinsong 6371993290 由任务栏决定虚拟键盘托盘上下文菜单的显示位置 2023-10-19 11:41:54 +08:00
liulinsong 318127d886 虚拟键盘后端连接断开信号只需要连接一次 2023-10-19 11:41:47 +08:00
liulinsong 808a2f15e8 由fcitx负责管理虚拟键盘的可见性
1. 虚拟键盘管理器在响应虚拟键盘关闭按钮的关闭请求时不再直接将虚拟键盘关闭,
而是将关闭请求通过IPC转发到fcitx,进而由fcitx通过IPC向虚拟键盘UI服务发出
关闭请求。

2. 虚拟键盘不再需要通知fcitx虚拟键盘的可见性发生了变化。

3. 这样做可以维护fcitx作为虚拟键盘可见性管理者的地位。虚拟键盘是否可见都以
fcitx为准。虚拟键盘UI服务只负责根据fcitx的请求来显示或者隐藏虚拟键盘。
2023-10-19 11:41:30 +08:00
liulinsong 185c379739 适配fcitx5虚拟键盘addon最新dbus接口 2023-10-19 11:41:18 +08:00
linyuxuan d2f1849d2c 完善虚拟键盘顶起功能
1. 在AppInputAreaManager的构造函数中连接顶起计时器的timeout信号和顶起的槽函数,
避免多次连接导致的多次顶起。
2. 在dummyWidget_显示后随即调用顶起接口,防止顶起失效。
2023-10-19 11:41:10 +08:00
liulinsong 4bfef5ee1f 使用不同颜色区分当前候选词和其他候选词 2023-10-19 11:41:00 +08:00
liulinsong 9f413abb05 更新当前候选词索引支持ListView滚动 2023-10-19 11:40:52 +08:00
hanteng 22d640f5d6 update changelog 2023-09-11 06:51:13 +00:00
hantengc cdecc670a9 update changelog 2023-09-04 06:39:05 +00:00
hantengc 78ec887757 update changelog 2023-08-24 02:19:54 +00:00
hantengc de2fb42485 update changelog 2023-08-16 07:27:14 +00:00
hantengc b1ad883925 update changelog 2023-08-15 06:44:57 +00:00
hantengc 4336e0ebc3 update changelog 2023-07-31 03:21:07 +00:00
hantengc 6804b16b2f update changelog 2023-07-31 03:12:03 +00:00
hanteng df2d0db2d7 add LICENSE.
Signed-off-by: hanteng <hanteng@kylinos.cn>
2023-07-26 01:51:52 +00:00
hanteng 77bdaa4d9a update changelog 2023-05-10 08:23:38 +00:00
hanteng cb0b0b97db update changelog 2023-05-04 01:39:32 +00:00
hanteng ffceaa47b2 update changelog 2023-04-27 09:36:55 +00:00
hanteng 7d295b8151 update changelog 2023-04-17 02:49:49 +00:00
hanteng 44465a7071 Merge tag 'upstream/2.0.1.0' into packaging/openkylin/yangtze 2023-04-17 10:47:37 +08:00
hanteng 2704cca03b 托盘图标支持本地化 2023-04-13 09:38:45 +08:00
liulinsong 054966ff37 集成悬浮按钮功能
1. 在虚拟键盘入口管理其中继承悬浮按钮管理器

2. 为虚拟键盘托盘图标添加右键菜单功能
2023-04-13 09:38:45 +08:00
hanteng 6dd4d0b255 新增悬浮按钮管理器及悬浮按钮视图
1. 新增悬浮按钮管理器。其主要作用是负责管理悬浮按钮的可用性及其可见性

2. 新增悬浮按钮视图。其主要作用是负责提供悬浮按钮UI并响应用户输入
2023-04-13 09:38:45 +08:00
hanteng 95827274ab 重命名文件并调整代码结构
1. 将TrayEntry改为VirtualKeyboardTrayIcon

2. 优化构造函数参数顺序

3. 优化成员变量的名字
2023-04-10 11:19:02 +08:00
liulinsong b73276f303 虚拟键盘增加对高亮候选的支持
1. 虚拟键盘DBus服务更新候选列表的接口增加一个默认值为-1的形参globalCursorIndex,
以便能够兼容没有传递globalCursorIndex实现的DBus调用

2. VirtualKeyboardModel和VirtualKeyboardView以及QML中更新候选列表的接口简化为
两个参数:当前的候选列表以及高亮候选索引

3. QML中的根对象定义globalCursorIndex表示高亮候选索引
2023-04-08 18:38:16 +08:00
liulinsong bc422ed88d 输入法可用性发生变化后需要关闭输入法列表菜单 2023-04-08 18:38:16 +08:00
liulinsong faa7135eed 优化信号的名字 2023-04-08 18:38:16 +08:00
liulinsong cfa42ae842 提供处理按键消息、选择候选和设置当前输入法的函数 2023-04-04 09:23:42 +08:00
liulinsong 1c0219531c 提供移动函数和结束拖拽函数 2023-04-04 09:23:42 +08:00
liulinsong 7eac63e027 提供关闭函数和模式翻转函数 2023-04-04 09:23:40 +08:00
liulinsong 8b8d2d5b89 优化获取和使用输入法名字和当前输入法列表的逻辑
1. 向QML运行环境注册model全局变量。QML可以通过model获取输入法名字
和当前输入法列表,简化VirtualKeyboardView以及QML中的相关逻辑

2. VirtualKeyboardModel通过dbus监视fcitx5中VirtualKeyboard
addon的可用性。当其可用的时候,主动向fcitx5请求当前最新的输入法名字
和当前输入法列表

3. 虚拟键盘UI服务收到输入法激活通知后更新VirtualKeyboardModel中保存的
输入法名字

4. 虚拟键盘UI服务收到输入法列表变化通知后主动向fcitx5请求当前输入法列表

5. 由于在虚拟键盘UI显示之前VirtualKeyboardModel中的输入法名字以及当前
输入法列表都是可用状态,因此,虚拟键盘UI可以及时显示输入法按钮图标以及
弹出输入法列表,避免不必要的闪烁
2023-04-03 11:48:09 +08:00
liulinsong 2ca1efdada 统一函数命名风格
函数名的首字母需要是小写字母
2023-04-03 11:38:29 +08:00
liulinsong 6836280f04 简化VirtualKeyboardManager类的代码
使用VirtualKeyboardModel类简化VirtualKeyboardManager类,
VirtualKeyboardManager类不再跟IPC通信代码直接耦合
2023-03-31 16:48:24 +08:00
liulinsong 82ff6a6382 新增跟fcitx5进程进行IPC通信的VirtualKeyboardModel类 2023-03-31 16:46:25 +08:00
liulinsong 9c7cd56101 修改信号的名字 2023-03-30 10:20:17 +08:00
hanteng 4e8c444b10 虚拟键盘在可见性发生改变的时候发出信号通知 2023-03-30 01:42:39 +00:00
liulinsong 02d12a468c 优化获取当前输入法名字的逻辑
1. VirtualKeyboardManager类定义获取当前最新输入法名字的函数。该函数通过
dbus发出查询当前最新输入法名字的请求并在收到最新的输入法名字后发出改变
输入法名字的信号

2. VirtualKeyboardView类定义同步当前最新输入法名字的回调函数从而将该类
与dbus相关接口解耦。在虚拟键盘显示之前,通过该回调函数发出获取最新输入法
名字的请求

3. VirtualKeyboardManager类在创建VirtualKeyboardView对象的时候将获取当前最新
输入法名字的函数作为参数传递进去
2023-03-29 14:54:52 +08:00
liulinsong ef0abacef5 优化成员变量的类型和名字
1. 将成员变量的类型从QDBusInterface改为fcitx::FcitxQtControllerProxy

2. 将成员变量的名字从fcitx5ControllerInterface_改为fcitx5Controller_
2023-03-29 14:07:24 +08:00