Dyalog / ride

Cross-platform IDE for Dyalog APL
https://dyalog.github.io/ride
MIT License
202 stars 31 forks source link

Editor: clicking on X on a tab may merely alter the order of the tabs #89

Closed dyaandys closed 7 years ago

dyaandys commented 7 years ago

⎕ed ⎕fx¨2,/⊂¨'foo' 'goo' 'hoo' 'joo' Move the cursor ontop of the "X" on the tab for goo. Wait until the name appears in the hint. Click the left mouse button. Order of tabs is now hoo foo goo .. not the expected foo hoo. Sometimes the selected function's tab moves to the front of the list.

IDE: Version: 4.0.2644 Platform: Win32 Date: 2017-02-16 10:37:54 +0000 Git commit: 167f1aa6f75189bf7f9e19c1ff888f3d1dc02782 Preferences:{ "favs":"[{\"type\":\"connect\",\"ssh_auth_type\":\"pass\",\"ssh_tnl_auth_type\":\"pass\",\"name\":\"debian7dev\",\"host\":\"debian7dev.dyalog.bramley\",\"port\":\"4502\"},{\"type\":\"connect\",\"ssh_auth_type\":\"pass\",\"ssh_tnl_auth_type\":\"pass\",\"name\":\"dfsaix\",\"host\":\"10.0.61.100\",\"port\":\"9003\"},{\"ssh_auth_type\":\"pass\",\"ssh_tnl_auth_type\":\"pass\",\"name\":\"mac0\",\"host\":\"mac0\"},{\"ssh_auth_type\":\"pass\",\"ssh_tnl_auth_type\":\"pass\",\"name\":\"local\",\"host\":\"127.0.0.1\",\"port\":\"9999\",\"type\":\"start\",\"exe\":\"C:\\Program Files\\Dyalog\\Dyalog APL-64 16.0 Unicode\\dyalog.exe\"},{\"ssh_auth_type\":\"pass\",\"ssh_tnl_auth_type\":\"pass\",\"name\":\"p7-61qa\",\"host\":\"p7-61qa\",\"port\":\"4503\"}]", "kbdLocale":"en_GB", "lineNums":"0", "selectedExe":"C:\Program Files\Dyalog\Dyalog APL-64 16.0 Unicode\dyalog.exe", "wse":"1" }

Interpreter: Version: 16.0.29184 Platform: Windows-64 Edition: Unicode/64 Date: Feb 14 2017 at 18:10:45

jayfoad commented 7 years ago

I can reproduce this on Linux.

flouc001 commented 7 years ago

@jayfoad I can't reproduce this on Linux or Windows using the latest builds:

RIDE v4.0.2649 IDE v16.0.29401

I have followed @dyaandys steps and no re-ordering occurs.

dyaandys commented 7 years ago

Still does it for me:

IDE: Version: 4.0.2770 Platform: Win32 Date: 2017-04-05 13:05:18 +0100 Git commit: a17291a4ecad98825ead11036777fc07170c3676 Preferences:{ "favs":"[{\"type\":\"connect\",\"ssh_auth_type\":\"pass\",\"ssh_tnl_auth_type\":\"pass\",\"name\":\"debian7dev\",\"host\":\"debian7dev.dyalog.bramley\",\"port\":\"4502\"},{\"type\":\"connect\",\"ssh_auth_type\":\"pass\",\"ssh_tnl_auth_type\":\"pass\",\"name\":\"dfsaix\",\"host\":\"10.0.61.100\",\"port\":\"9003\"},{\"ssh_auth_type\":\"pass\",\"ssh_tnl_auth_type\":\"pass\",\"name\":\"mac0\",\"host\":\"mac0\"},{\"ssh_auth_type\":\"pass\",\"ssh_tnl_auth_type\":\"pass\",\"name\":\"local\",\"host\":\"127.0.0.1\",\"port\":\"9999\",\"type\":\"start\",\"exe\":\"C:\\Program Files\\Dyalog\\Dyalog APL-64 16.0 Unicode\\dyalog.exe\"},{\"ssh_auth_type\":\"pass\",\"ssh_tnl_auth_type\":\"pass\",\"name\":\"p7-61qa\",\"host\":\"p7-61qa\",\"port\":\"4503\"}]", "kbdLocale":"en_GB", "lineNums":"0", "selectedExe":"C:\Program Files\Dyalog\Dyalog APL-64 16.0 Unicode\dyalog.exe", "title":"{WSID} {PID}", "wse":"1", "zoom":"-2" }

Interpreter: Version: 16.0.29640 Platform: Linux-64 Edition: Unicode/64 Date: Apr 3 2017 at 02:06:36

jayfoad commented 7 years ago

Two observations:

  1. Clicking on the X of a non-focused tab does not close that tab, it just focuses it. This feels wrong to me. In my browser, I can close any tab (focused or not) by clicking its X.

  2. A "long" click on a tab (and it doesn't need to be very long at all, only 0.25 second or so) will invoke some tab reordering mode, which by default seems to take the tab you've clicked on and move it to the rightmost position. I guess this is what Andy was seeing. This also feels wrong. Being able to drag the tab to a different position is nice, but if I "drag" without actually moving my mouse pointer at all the tab should stay where it is.