View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0026179 | Lazarus | IDE | public | 2014-05-17 17:46 | 2015-03-02 19:15 |
Reporter | samuel herzog | Assigned To | Juha Manninen | ||
Priority | normal | Severity | minor | Reproducibility | always |
Status | closed | Resolution | fixed | ||
OS | linux mint | ||||
Product Version | 1.3 (SVN) | ||||
Target Version | 1.4 | Fixed in Version | 1.4RC2 | ||
Summary | 0026179: It's possible to write into comboboxes inside the object inspector for boolean values. | ||||
Description | Boolean type properties are displayed as comboxboxes in the object inspector. The user shall be able to chose between true/false. The user should not be able to type something in to this comboboxes. | ||||
Steps To Reproduce | 1.) start lazarus 2.) new application 3.) select form1 4.) go into the object inspector 5.) chose for example the property "AutoSize". 6.) set focus into combobox and use the keyboard to type something. | ||||
Additional Information | see screenshot | ||||
Tags | No tags attached. | ||||
Fixed in Revision | |||||
LazTarget | - | ||||
Widgetset | GTK 2 | ||||
Attached Files |
|
related to | 0023018 | closed | Juha Manninen | Object-Inspector for Boolean-Properties should set the combobox-style to csDropDownlist |
related to | 0023146 | closed | Juha Manninen | Boolean (sets) types in Object Inspector |
|
|
|
That's allowed with qt ws also. |
|
Maybe change their styles to csDropDownList? |
|
@ Maybe change their styles to csDropDownList? I don't know exactly what component OI is, but when I tried in past to use combobox (where Style=csDropDownList) as a cell editor of stringgrid, I had problem with focus. I wasn't able to force it. I had to change it to csDropDown (editable combo) and it was OK. I believe that Juha's UseOICheckBox is the right way here. |
|
Besides that if combo = csDropDown we can easy stop typing into eg. boolean fields by setting Key := 0 in OIComboBox.KeyDown |
|
> Maybe change their styles to csDropDownList? I remember it done already a long time ago but had to be reverted. I try to find the associated report. > I believe that Juha's UseOICheckBox is the right way here. It worked already with GTK2 and QT but Windows had a redraw issue. It should be solved and theme services should be used for the actual checkbox. I try to find time for it. Delphi now has an interesting hybrid control for booleans. |
|
Samuel Herzog opened also the original issue 0023018 at 2012. In fact I did not fully understand then why it had to be reverted. Because of copy-paste? Who needs to copy-paste "True" or "False"? For "Enum"-Properties it is a good reason though. They can be long and difficult to spell. |
|
Copy could be implemented even with csDropDownList, it could be an action of the OI even "Copy current value of property". I don't get the Paste part of it though. Why would I want (or even need) to paste when I can select from drowpdown? One could argue that the current behaviour is Delphi compatible... |
|
The big reason of why using editable-combobox is quick-typing. So, I disagree to change the combobox to csDropDownList, which is non-editable by keyboard. I am faster working in Object-Inspector using keyboard, for example: * Press F11 (activate OI) * press ArrowDown / ArrowUp to find a property * PgUp / PgDown instead of scrollling by mouse. * when meet boolean type, just press [F] to change the property value to "False" or press [T] to set as "True" (see my attachment) * to end up editing a property, I press ArrowUp or ArrowDown. My keyboard layout, the [F] key is just below of [T] key. Thanks to QWERTY layout. ----------------- If you really need to don't support manual-edit any longer, please keep support of pressing [F] to "False" value and pressing [T] to "True". -------------- Note: * Current Lazarus's OI supports both lowercase & uppercase, so no matter you press [f] or [Shift+F] the value is respectively set to "False". (see my attachments) |
|
|
|
|
|
Okay, anyone could type "fals???xyz" to boolean-property. But, it wouldn't go to compiler nor Lazarus would save that value. (see my latest attachment: Lazarus showing error message box when indicating wrong value assignment). It was not a problem at all. |
|
|
|
Well...Maybe boolean type should set anything <> True to False without errors. |
|
(1) @Zeldan: Which error level you expect to avoid? Object Inspector show error in very immediately when a wrong value indicated. If you type (using keyboard) a wrong enum, this wrong value will quickly rejected by OI. This way: no wrong value like "Fals??xyz" will be saved ever in form stream (*.LFM) nor it will be ever compiled. You are worry about nothing. (2) Error box shown is really good, to notice us when we incidentally type wrong char. (3) Make error box silently is even worst, user must know if they set misspelled value. (4) I'm not married with keyboard, so I also play with mouse most often. But, once my hand touching keyboard, I shall able do anything with it quickly too. (5) Changing current behavior of OI's combobox to csDropDownList is a joke, very bad joke. (6) Nobody is perfect. Everybody could has different behavior. But for trunk / future Lazarus, don't being stupid with stupid request. Current OI is better than the asked here. |
|
This is solved by using the new Checkbox editor for booleans. It can be configured in environment settings. It may become the default editor later when it is tested enough. |
|
tested in 1.4RC2. Looks fine now. Thank you. |
Date Modified | Username | Field | Change |
---|---|---|---|
2014-05-17 17:46 | samuel herzog | New Issue | |
2014-05-17 17:46 | samuel herzog | File Added: Bildschirmfoto.png | |
2014-05-18 13:47 | Zeljan Rikalo | Note Added: 0075070 | |
2014-05-18 13:54 | Bart Broersma | Note Added: 0075072 | |
2014-05-18 14:10 | Vojtech Cihak | Note Added: 0075073 | |
2014-05-18 14:11 | Vojtech Cihak | Note Edited: 0075073 | View Revisions |
2014-05-18 14:34 | Zeljan Rikalo | Note Added: 0075078 | |
2014-05-18 16:07 | Juha Manninen | Note Added: 0075089 | |
2014-05-18 19:10 | Juha Manninen | Relationship added | related to 0023018 |
2014-05-18 19:11 | Juha Manninen | Relationship added | related to 0023146 |
2014-05-18 19:19 | Juha Manninen | Note Added: 0075094 | |
2014-05-18 19:20 | Juha Manninen | Note Edited: 0075094 | View Revisions |
2014-05-18 21:26 | Bart Broersma | Note Added: 0075097 | |
2014-05-21 07:53 | Fathony Luthfillah | Note Added: 0075153 | |
2014-05-21 07:54 | Fathony Luthfillah | File Added: OI-boolean-keyboard-used-(8bit-pixel).GIF | |
2014-05-21 08:03 | Fathony Luthfillah | Note Edited: 0075153 | View Revisions |
2014-05-21 08:07 | Fathony Luthfillah | File Added: OI-enum-keyboard-used-(8pixel).GIF | |
2014-05-21 08:14 | Fathony Luthfillah | Note Added: 0075154 | |
2014-05-21 08:14 | Fathony Luthfillah | File Added: OI-validating-the-typed-value.PNG | |
2014-05-21 08:16 | Fathony Luthfillah | Note Edited: 0075154 | View Revisions |
2014-05-21 08:49 | Zeljan Rikalo | Note Added: 0075159 | |
2014-05-21 09:38 | Fathony Luthfillah | Note Added: 0075160 | |
2015-03-01 18:24 | Martin Friebe | Target Version | 1.3 (SVN) => 1.4 |
2015-03-01 19:22 | Juha Manninen | Assigned To | => Juha Manninen |
2015-03-01 19:22 | Juha Manninen | Status | new => assigned |
2015-03-01 19:23 | Juha Manninen | Note Added: 0081546 | |
2015-03-01 19:23 | Juha Manninen | Status | assigned => resolved |
2015-03-01 19:23 | Juha Manninen | Resolution | open => fixed |
2015-03-02 19:15 | samuel herzog | Note Added: 0081568 | |
2015-03-02 19:15 | samuel herzog | Status | resolved => closed |
2015-03-02 19:15 | samuel herzog | Fixed in Version | => 1.4RC2 |