View Issue Details
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0013238||Lazarus||IDE||public||2009-02-24 12:52||2013-09-03 12:07|
|Reporter||Sayyid Ibnu Husein Alatas||Assigned To||Martin Friebe|
|Product Version||0.9.27 (SVN)|
|Target Version||0.9.28||Fixed in Version||0.9.27 (SVN)|
|Summary||0013238: Blocking text while holding down Alt+Shift doesn't mark the text as a rectangular block.|
|Description||In Delphi IDE, blocking text (either using arrow keys or mouse) while holding down Alt+Shift will mark the text as a rectangular block. This is a quite helpul feature in certain cases. I'll be glad to see the Lazarus IDE have this feature.|
|Tags||No tags attached.|
|Fixed in Revision||18950|
Some of it is already there:
- There is a checkbox in the option dialog->Editor->general->misc: "Alt key sets column mode". It works for mouse selection only.
- You can go to the "Key Mappings" "Text Selection Commands" and assign shortcode's there. There are 3 modi, Normal, column or Line.
Use a shortcode to change the mode, and all selections will stick to it.
I keep the feature request open, as "Alt shift" for keyboard selection is not yet available
||Why 1.0 target for feature request?|
||The "alt key sets column mode" might be there, but it's not usable under Linux (Gnome desktop). By default Gnome uses the Alt+<left click> to move windows without clicking on the title bar of that window. So "Alt+Shift+<left click>" might be a better default that just "Alt+<left click>" to enable column selection mode.|
Based on a patch by dmitry boyarintsev, thanks.
Please close if ok.
(Please note there is another known issue with column selection and undo/redo. This is in progress)
||It works when blocking text using arrow keys, but using mouse, it only works if text has been blocked using arrow keys.|
Alt-Mouse selection must be turned on in the editor options.
Menu "Enviroment" => "Options" => Tree/Page "Editor/General/Misc"
Menu "Enviroment" => "Editor Options" => Tab "General"
There is a check-box "Alt-key sets column mode". (It affects the selection by mouse, and only the selection by mouse)
Please check your settings.
If you are sure, that your settings are correct and it still does not work, then please re-open, but you need to provide more details (Laz Version, Revision, Your OS, WidgetSet; Your settings (best upload them); works never, sometimes not, in which cases ?)
(This is needed since it works here.)
Please note that some OS, handle Alt-Mouse themselves (Some Windowmanager use it to move windows). If your OS steals the input, Lazarus can not handle it.
If you are unsure about your settings, please use the forum or mailing list, thanks.
If it works, please close the issue.
One more note:
In Lazarus, Mouse column selection works with ALT-Left-Mouse, not with Alt-Shift-Left-Mouse.
Why Lazarus prefer Alt+LeftMouse to Alt+Shift+LeftMouse? Why must differentiate the way of making column selection using arrow keys and using mouse? As Graeme Geldenhuys said beforehand, Alt+LeftMouse is not usable under Gnome desktop. My personal opinion is that in this case, the Delphi IDE way is more convenient. However, Lazarus developers might have good reasons for choosing Alt+LeftMouse.
There was no specific reason, other than, I wasn't aware of the case (gnome) where it does not work.
Thanks for the feedback. I will look at this.
Also, this made me inspect normal mouse selection. And I found it differs between
- hold left mouse, and select
=> selection starts at the point where left mouse was pressed
- hold left shift-mouse, and select
=> selection starts where the caret was (which can be different from where the mouse was pressed)
implementing shift-alt-mouse I would tend to make the same behavioural difference?
However, this will affect users who cant use the simple alt-mouse (without shift)
What do you think?
Martin, I have reinvestigated column selection behaviour in Delphi IDE, and I realize that there was a mistake in my report which was based on my memory long time ago. In fact, to make a column selection using mouse, Delphi IDE just requires Alt+LeftMouse. However, Alt+LeftMouse problem in some Window Manager (e.g. GNOME) should be considered too.
I agree with you that implementing Alt+Shift+LeftMouse would tend to make the same behavioural difference. I think, Lazarus should provide an alternative combination keys to make a column selection using mouse--Ctrl+Alt+LeftMouse for example-- to help GNOME programmers. As a consequence, we might not need the "Alt key sets column mode" option in Environment settings because the simple Alt+LeftMouse will always be handled by IDE (just for Delphi compatibility sake). What do you think? I will close this issue immediately after hearing your opinion. Thank's.
I will add the shift-alt, as described.
I will look into what can be done about alt-ctrl => need to asses the risk that people accidental trigger "jump to implementation" (which is just ctrl-mouse)
Revision 18950 makes shift-alt-left-mouse behave the way shift-mouse already did. The selection is started from where the caret was before the mouse click. (of course using Alt it is in column mode).
As for Gnome or Windowmanager that have their own Alt-Key handling:
It should be possible to use Meta(Windows-Key)-Alt-Mouse. This was already possible before.
Ctrl is not advisable (even so it works), because it triggers the code jump.
||Thank you, Martin.|
|2009-02-24 12:52||Sayyid Ibnu Husein Alatas||New Issue|
|2009-02-25 16:13||Martin Friebe||Status||new => assigned|
|2009-02-25 16:13||Martin Friebe||Assigned To||=> Martin Friebe|
|2009-02-25 16:14||Martin Friebe||LazTarget||=> 1.0|
|2009-02-25 16:21||Martin Friebe||Note Added: 0025734|
|2009-02-26 03:13||Paul Ishenin||Note Added: 0025743|
|2009-02-26 08:22||Graeme Geldenhuys||Note Added: 0025748|
|2009-02-26 14:09||Martin Friebe||LazTarget||1.0 => post 1.2|
|2009-03-07 13:23||Martin Friebe||Fixed in Revision||=> 18908|
|2009-03-07 13:23||Martin Friebe||Status||assigned => resolved|
|2009-03-07 13:23||Martin Friebe||Fixed in Version||=> 0.9.27 (SVN)|
|2009-03-07 13:23||Martin Friebe||Resolution||open => fixed|
|2009-03-07 13:23||Martin Friebe||Note Added: 0025971|
|2009-03-07 13:23||Martin Friebe||Target Version||=> 0.9.28|
|2009-03-08 13:18||Sayyid Ibnu Husein Alatas||Status||resolved => assigned|
|2009-03-08 13:18||Sayyid Ibnu Husein Alatas||Resolution||fixed => reopened|
|2009-03-08 13:18||Sayyid Ibnu Husein Alatas||Note Added: 0025990|
|2009-03-08 13:29||Martin Friebe||Status||assigned => resolved|
|2009-03-08 13:29||Martin Friebe||Resolution||reopened => fixed|
|2009-03-08 13:29||Martin Friebe||Note Added: 0025991|
|2009-03-08 13:30||Martin Friebe||Status||resolved => assigned|
|2009-03-08 13:30||Martin Friebe||Resolution||fixed => reopened|
|2009-03-08 13:32||Martin Friebe||Status||assigned => resolved|
|2009-03-08 13:32||Martin Friebe||Resolution||reopened => fixed|
|2009-03-08 13:32||Martin Friebe||Note Added: 0025992|
|2009-03-08 19:57||Sayyid Ibnu Husein Alatas||Status||resolved => assigned|
|2009-03-08 19:57||Sayyid Ibnu Husein Alatas||Resolution||fixed => reopened|
|2009-03-08 19:57||Sayyid Ibnu Husein Alatas||Note Added: 0026003|
|2009-03-08 20:08||Sayyid Ibnu Husein Alatas||Note Edited: 0026003|
|2009-03-09 13:14||Martin Friebe||Note Added: 0026008|
|2009-03-09 13:33||Martin Friebe||Status||assigned => feedback|
|2009-03-09 19:58||Sayyid Ibnu Husein Alatas||Note Added: 0026018|
|2009-03-09 20:37||Sayyid Ibnu Husein Alatas||Note Edited: 0026018|
|2009-03-09 21:11||Martin Friebe||Note Added: 0026019|
|2009-03-09 21:11||Martin Friebe||Status||feedback => assigned|
|2009-03-10 23:23||Martin Friebe||Fixed in Revision||18908 => 18950|
|2009-03-10 23:23||Martin Friebe||Status||assigned => resolved|
|2009-03-10 23:23||Martin Friebe||Resolution||reopened => fixed|
|2009-03-10 23:23||Martin Friebe||Note Added: 0026035|
|2009-03-11 02:45||Sayyid Ibnu Husein Alatas||Status||resolved => closed|
|2009-03-11 02:45||Sayyid Ibnu Husein Alatas||Note Added: 0026037|
|2013-09-03 12:07||Martin Friebe||LazTarget||post 1.2 => 1.4|