View Issue Details

IDProjectCategoryView StatusLast Update
0013238LazarusIDEpublic2013-09-03 12:07
ReporterSayyid Ibnu Husein Alatas Assigned ToMartin Friebe  
PrioritynormalSeverityfeatureReproducibilityalways
Status closedResolutionfixed 
Product Version0.9.27 (SVN) 
Target Version0.9.28Fixed in Version0.9.27 (SVN) 
Summary0013238: Blocking text while holding down Alt+Shift doesn't mark the text as a rectangular block.
DescriptionIn 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.
TagsNo tags attached.
Fixed in Revision18950
LazTarget1.4
Widgetset
Attached Files

Activities

Martin Friebe

2009-02-25 16:21

manager   ~0025734

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

Paul Ishenin

2009-02-26 03:13

manager   ~0025743

Why 1.0 target for feature request?

Graeme Geldenhuys

2009-02-26 08:22

reporter   ~0025748

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.

Martin Friebe

2009-03-07 13:23

manager   ~0025971

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)

Sayyid Ibnu Husein Alatas

2009-03-08 13:18

reporter   ~0025990

It works when blocking text using arrow keys, but using mouse, it only works if text has been blocked using arrow keys.

Martin Friebe

2009-03-08 13:29

manager   ~0025991

Alt-Mouse selection must be turned on in the editor options.

In 0.9.27
Menu "Enviroment" => "Options" => Tree/Page "Editor/General/Misc"

In 0.9.26
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.

Martin Friebe

2009-03-08 13:32

manager   ~0025992

One more note:

In Lazarus, Mouse column selection works with ALT-Left-Mouse, not with Alt-Shift-Left-Mouse.

Sayyid Ibnu Husein Alatas

2009-03-08 19:57

reporter   ~0026003

Last edited: 2009-03-08 20:08

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.

Martin Friebe

2009-03-09 13:14

manager   ~0026008

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?

Sayyid Ibnu Husein Alatas

2009-03-09 19:58

reporter   ~0026018

Last edited: 2009-03-09 20:37

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.

Martin Friebe

2009-03-09 21:11

manager   ~0026019

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)

Martin Friebe

2009-03-10 23:23

manager   ~0026035

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.

Sayyid Ibnu Husein Alatas

2009-03-11 02:45

reporter   ~0026037

Thank you, Martin.

Issue History

Date Modified Username Field Change
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