royqh1979 / RedPanda-CPP

A light-weight C/C++ IDE based on Qt
GNU General Public License v3.0
996 stars 108 forks source link

文本编辑器光标选择 BUG #501

Closed Alan-CRL closed 2 weeks ago

Alan-CRL commented 1 month ago

在 3.2alpha 发现,而此 bug 在 3.1 中没有;

当光标选到变量上时,此时 ctrl 也是按下状态,然后松开鼠标左键会导致错误调整至定义处。易触发场景:选择代码并按 ctrl + c 复制时。 image

Ltabsyy commented 1 month ago

这就是说,按住Ctrl进行选择时,松开位置执行了Ctrl+Click操作

Alan-CRL commented 1 month ago

大体正确。主要是在 Ctrl选择 末端时按下了 ctrl 准备复制,此时左键才松开,就误触发了 Ctrl+Click操作

royqh1979 commented 1 month ago

ctrl+鼠标选择的作用是啥?为啥用鼠标选择时会按下ctrl

Alan-CRL commented 1 month ago

ctrl+鼠标选择的作用是啥?为啥用鼠标选择时会按下ctrl

@royqh1979 是鼠标选择接近尾声时,则会使用 ctrl + c 进行复制,此时左键尚未完全抬起,但是 ctrl 已经按下。结果就是左键一松开就跳转到定义处了。所以应该改为和 3.1 版本一直,需要也在这个函数上按下左键并抬起再调整,而不是抬起就跳转。

royqh1979 commented 1 month ago

3.1版本的问题是鼠标拖拽开始后按ctrl不能变成复制

我觉得应该是改成mouse左键按下时,按ctrl不再触发跳转。

这块儿我有空再仔细考虑一下。

目前想到的几个涉及的点:

  1. 鼠标拖拽复制
  2. 跳转到定义处
  3. 选择内容