Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Browser productivity enhancement - edit one column and cascade changes across selection #3561

Open
audiomuze opened this issue Aug 28, 2019 · 8 comments

Comments

@audiomuze
Copy link

commented Aug 28, 2019

Details

Sometimes it's easier to do a manual cleanup/ edit of table data in the sqlitestudio browser than running sqlite update queries. sqlitestudio already generally does a great job at this, however, the ability to simultaneously add/edit data to a single or multiple columns across rows a user has selected would provide a huge productivity gain. An illustration:

image

In the above column there are inconsistencies in the data. At very quick way to be able to achieve consistency (without running a query or using copy/paste) would be to enable the following behaviour:

  • User selects records with good data and bad data (see above pic)

  • a to enter edit mode on whichever one is highlighted by the mouse cursor and allowing the user to edit the selected field (whilst keeping the rest selected [this functionality/ behaviour already exists at present])

  • then when the user presses to accept their edit, automatically cascade that edit/change to all selected rows/columns.

@audiomuze audiomuze changed the title Browser Browser productivity enhancement - edit one column and cascade changes across selection Aug 28, 2019

@pawelsalawa

This comment has been minimized.

Copy link
Owner

commented Aug 28, 2019

You can edit one cell, quit edition mode. Select that cell, copy its value, then select all other cells you want to have the same value and paste the value to all of them at once.

Or if you just want to make all cell to contain the same value (as in example above), just copy the right value, then select all cells and paste.

Wouldn't that solve your problem?

@audiomuze

This comment has been minimized.

Copy link
Author

commented Aug 28, 2019

Yes, I do that already, but it's a lot more steps than just highlighting all you want affected, making the change and pressing enter.

Install puddletag and give it a try and you'll see why it's so useful for bulk editing. Say you have 50 rows or so, some with good data, some with bad data and the good and the bad is dispersed throughout the list - it's a lot easier to select the range, edit one good one and hit enter to have it cascade. It's a real time and trouble saver if implemented.

@pawelsalawa

This comment has been minimized.

Copy link
Owner

commented Sep 6, 2019

I'm not sure if it's easier than just ctrl+c on correct value, then select all cells and hit ctrl+v. That sounds much simpler to me. Isn't it to you?

@audiomuze

This comment has been minimized.

Copy link
Author

commented Sep 8, 2019

I'm not sure if it's easier than just ctrl+c on correct value, then select all cells and hit ctrl+v. That sounds much simpler to me. Isn't it to you?

Intuitively no, but let me play with that and give you honest feedback. I think the thing that will remain missing is the ability to select a range of "cells" and just start typing or hitting ctrl-v to paste clipboard content into the cell being edited and then having that cascade across all selection when hitting enter.

As an example, here are a number of records I'd like to change:
Scissors Cut [CBS Mastersound IC 37658 Vinyl Rip 2496
Scissors Cut [CBS Mastersound IC 37658 Vinyl Rip 2496
Scissors Cut [CBS Mastersound IC 37658 Vinyl Rip 2496
Scissors Cut [CBS Mastersound IC 37658 Vinyl Rip 2496
Scissors Cut [CBS Mastersound IC 37658 Vinyl Rip 2496
Scissors Cut [CBS Mastersound IC 37658 Vinyl Rip 2496
Scissors Cut [CBS Mastersound IC 37658 Vinyl Rip 2496
Scissors Cut [CBS Mastersound IC 37658 Vinyl Rip 2496
Scissors Cut [CBS Mastersound IC 37658 Vinyl Rip 2496
Scissors Cut [CBS Mastersound IC 37658 Vinyl Rip 2496

All instances must get changed to "Scissors Cut [CBS Mastersound IC 37658] [Vinyl Rip 24/96]". I could write an update query for that (inefficient when one is exploring data) or I could edit and correct a single instance, then copy that to clipboard, select all needing change and hit Ctrl-V.

A more efficient method (in addition to retaining existing functionality) would be to enable selection of all "cells", hitting enter to edit the last one the cursor landed on, completing the edit and pressing enter to have it cascade across the selection.

@pawelsalawa

This comment has been minimized.

Copy link
Owner

commented Sep 8, 2019

Well, that could turn out a very surprising to some people, when upon committing edition, all selected cells change their value, since they edited only one. This would have to be more distinguishable. For example a right-click menu entry to enter "multi-cell edition" instead of single cell edition, which is by default (and the only available mode at the moment).

But yes, let's keep this post for tracking, as I see no problem with adding such option in context menu and also to have configuration option to make it default (to make it work you described, but only when enabled in configuration, to avoid surprise and unintended editions by current users).

@audiomuze

This comment has been minimized.

Copy link
Author

commented Sep 8, 2019

Sorry, I don't think I was clear enough. This is how the behaviour works in puddletag:

If you've selected a series of "cells" (you're in effect doing spreadsheet type editing)

  • if you start typing all selections remain selected whilst you edit the last cell selected, overwriting its contents with what you've started typing. If you press F2 instead of just start typing then you're put into edit mode on the last cell from the selection, whilst all selections remain selected. If you press Esc the edit is abandoned. If you press Enter it is committed to that cell and all other cells you selected.
  • if after you've selected the cells you then Ctrl-Double-Click in any one of the cells in the selection you then enter Edit mode for that cell whilst all selections remain selected. You can then simply hit Enter to accept that cell's value and cascade it across all the cells you've selected - so a very quick way to change all values in a selection to another cell's pre-existing value.

I think the above behaviours (whilst adding efficiency gains for quick editing) are intuitive - why else would you pre-select multiple cells before editing a cell's contents? The rollback cells feature would in any event still be available in the event of user error, so no real risk.

Finally, unless I'm overlooking something there's no clash at all with existing editing methods - so no need to have the behaviors hidden in a sub-menu (it'll kill the intuitiveness and speed). Users will only become aware of the capability if they read the release notes and once they know about it I'm pretty sure they'll use it extensively if doing manual updates based on browsing query results

Here are two short clips to demonstrate:
https://www.dropbox.com/s/zo5i0ft5b0qrzle/demo.mp4?dl=0
https://www.dropbox.com/s/knehe6283eqa1m3/demo1.mp4?dl=0

@pawelsalawa pawelsalawa added this to the 3.3.0 milestone Sep 8, 2019

@pawelsalawa

This comment has been minimized.

Copy link
Owner

commented Sep 8, 2019

You conveinced me :) Indeed it should not be harmful for existing users and I can see how sometime it can be more handy than copy pasting the way I described it earlier.

I added it for 3.3.0 (the next release with new features, as 3.2.2 is to be bugfix release).

@audiomuze

This comment has been minimized.

Copy link
Author

commented Sep 9, 2019

Great to hear, thank you.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
2 participants
You can’t perform that action at this time.