much-needed table editor improvements

leeoniya's profile image leeoniya posted 13 years ago in Feature discussion Permalink
i'd like to propose some enhancements to the table editing process in Heidi. here is some brainstorming to increase productivity...

- when creating a new table, automatically focus the "Enter table name" field. currently, even though a new table tab becomes active, nothing gets focused.

- clicking "Add" gets to be a nuisance to add new columns x50. please allow tabbing past the end of the row, or pressing Enter, or double-clicking the empty space below all the rows to add a blank new row and auto-focus it for editing.

- allow double-clicking a cell to put it into edit mode. right now you have to slow-click it twice to do this (once to focus, once to get into edit)

- improve column 'datatype' selection. allow ability to disable the tooltip in the dropdown list (it usually covers up 2 columns worth of space and flashes distractingly). it's good for beginners but awful for daily work.

- alphabetize datatypes and remove categorization - i know what i need! in fact, auto-completion instead of a dropdown would be ideal for daily use.

- add ability to have "most used" or "preferred" datatypes only/sort to top. i dont need to scroll through a list of 40 categorized, non-alphabetic datatypes when all i usually use it varchar, int, tinyint, text, enum, decimal and date/time. if the list was reduced to only what i need, alphabetized instead of categorized (since they are already colored based on type anyhow), the selection dropdown would be small, fast and useful.

- add customizable column templates. often i have a need to make a column named "monetary_amount"(decimal 8,2 default 0.00), "name" (varchar 100) or "id" (int/auto-inc/primarykey) or "abbr"(varchar 25), or "descr" (text) all these usually have the same settings across all my work. would be a good time saver not to set them out every time.

this last one is a bug rather than an enhancement

- adding a column should not copy down the previous column's properties. 90% of the time i am FORCED to unset most of the things that were copied down because they do not apply...especially across columns of different data types. why would i want length and 'default' setting of 0 from an INT(10) copied to the following VARCHAR(255) column? it is much more work for me to unset these things than to set only what i need.

please let me know how much of this makes sense and i'll open tickets for these items.

thanks,
Leon
ansgar's profile image ansgar posted 13 years ago Permalink
Reading your comments I recall some of them were already discussed in some issue, some are misunderstood, and on some we are going to disagree.

- table name focus: reasonable. But no ticket please, this is so minor.

- tabbing to add new columns:
You don't need to click "Add". Just use the shortcut from the context menu (Add: Ctrl+Ins, Delete: Ctrl+Del). No need for adding a tabbing feature.

- double click to edit:
Please try to click the contained text in the cell - if you hit the text area the editor is started immediately.

- tooltip disabling:
No, I won't add preference options for such minor stuff. The preference dialog is already overcrowded and people tend to miss certain options already, now.

- alphabetical ordering of data types:
I disagree - that's how it works in GUIs like HeidiSQL - they're always helpers for beginners. No problem for advanced users in my opinion.

- "most used" data types:
Disagree - you would miss certain data types if you only would see your most liked ones. And again, categories is the way which is easy for beginners and mostly ok for advanced users.

- column templates:
we already discussed that in some issue - there were no stars in some months so I closed that one. Additionally that would be much work for a too minor enhancement. Btw, why should this be a bug, not an enhancement?

- don't copy properties when adding:
well I had various situations where this was very useful, I can recall some dumb table having dozens of text fields, with all the same properties and only different names.
leeoniya's profile image leeoniya posted 13 years ago Permalink
- adding a column should not copy down the previous column's properties.

i meant this was the bug. because i am forced to unset properties on columns that are different (and they usually are). your scenario of a table of all-identical-columns is the exception rather than the norm. every column setting should be opt-in rather than opt-out (as it becomes through duplication). you can add an explicit button to duplicate a column if you want to maintain this special behavior feature.


"You don't need to click "Add". Just use the shortcut from the context menu (Add: Ctrl+Ins, Delete: Ctrl+Del). No need for adding a tabbing feature."

I did not know of Ctrl+Ins, because in the data tables it's just Ins, which i tried and didnt work. this helps, but i think making this just Ins like in the data tables would be beneficial with no adverse effects.


- column templates:
we already discussed that in some issue - there were no stars in some months so I closed that one. Additionally that would be much work for a too minor enhancement. Btw, why should this be a bug, not an enhancement?

i do not recall anything like this, but this is just sugar. the other enhancements are more important to me.


- double click to edit:
Please try to click the contained text in the cell - if you hit the text area the editor is started immediately.

yes, that helps. i didnt know clicking directly on the text made a difference though i did notice the behavior was different at times.


as for the datatypes, i guess i'll leave it alone. it seems you have a strong opinion on it. i'm a strong believer in the the 80-20 rule on this one. it's highly likely that 80% of your users use only 20% of the datatypes, beginners will not care about, understand, or use 80% of all datatypes available. so why not create a "common types" category at the top for 80% of users (including me, and probably yourself). i'm not sure what kind of a beginner will want to scroll 75% down the list to find the 'date' datatype?

80-20 rule http://en.wikipedia.org/wiki/Pareto_principle

:)
ansgar's profile image ansgar posted 13 years ago Permalink
Hmm... the data type tree supports incremental search by typing. For me that's very sufficient for finding the right one.
lemon_juice's profile image lemon_juice posted 13 years ago Permalink

- double click to edit:
Please try to click the contained text in the cell - if you hit the text area the editor is started immediately.



I'm trying hard to click the text in the data grid and nothing happens. The cell has to be selected first in order for the click to work, which makes it quite awkward to start the editor because there has to be two clicks with a long pause between them so the standard double-click doesn't work, neither does single click. Am I missing something?
ansgar's profile image ansgar posted 13 years ago Permalink
My comment was related to the columns list in the table structure editor, not to the data grid.
[expired user #5290]'s profile image [expired user #5290] posted 13 years ago Permalink
I agree with anse with this:
- don't copy properties when adding:
well I had various situations where this was very useful, I can recall some dumb table having dozens of text fields, with all the same properties and only different names.

but also with juice.

I'am having exactly same mixed experiences....

What about this:
Now Ctrl+Int does add©-down.
And new keystroke Alt+Ins will insert an empty one? (Here is hard to say, which properties will suit here, completely empty? Or the defaults, which are INT,10,NULL... ?)

With Datatype Tree, there is some problems:
- add a new table
- pop out the datatype dialog, and try press 'T','I' or 'S'. It should jumps over all types beginning at 'T',I or S, but it not.
'B' key jumps badly, because there is more words than one starting at 'B' (BINARY,BLOB, etc.) Strange.

Solving of this can bring compromise with lemon_juice's "most used" or "preferred" datatypes and Your categories.

Please login to leave a reply, or register at first.