In 18.104.22.168 on the Mac, trying to drag rows and drop them overwrites other rows, instead of displacing them.
If you can use the keyboard and mouse at the same time, there are workarounds, but these aren't universally accessible, and they have their own bugs, such as #58440.
You mean that the drag operation should remains as it is in the middle of the cell but becomes an insert feature when between two cells (either row or column)? This behavior is known from lists but not spreadsheets. Probably because insert means to move cols or rows up or down resp. left/right. And how should that be done if only a few cells are being dragged and not the complete row/col?
Excel also overrides the target - after confirmation, however (with ctrl pressed the source is copied and the target is overridden, with shift the intended insertion is done). Sounds reasonable to me, but if this feature should improve accessibility only, I'd rather keep the current behavior.
An alternative workflow could be to ask how to insert the drag object (override, cancel, insert above/below | left/right) in case the target contains data.
Moving this out of UNCONFIRMED as it's a UX issue. UX team can close as WONTFIX if they so choose.
NEEDINFO from OP
I'm not an expert on Calc, or programming, or Excel either, or why LibreOffice should copy Excel. But I know that this currently requires two hands, and LibreOffice should be accessible regardless of whether we can use two hands. And I don't know why other users would have trouble reproducing this. So what more info do you need, and why?
(In reply to MarjaE from comment #4)
> So what more info do you need, and why?
You wrote "trying to drag rows and drop them overwrites other rows, instead of displacing them.", and that's not a question of accessibility because Cut/Copy > Insert (row above/below) > Paste works fine. What's your goal?
*looks through Insert menu*
I suppose it's possible to use Edit > Copy, Edit > Cut, and Edit > Paste Special, but it's not obvious. I always thought drag-and-drop was the obvious way to reorder lines. Even if it's not Excel's way, I've never used Excel.
This is a feature i previously saw and used in Google Sheets and hadnt submitted an enhancement for it. Excel also has the same functionality, though different in its implementation.
In Google Sheets, you select the rows/columns you want to move and then the mouse pointer changes to a move hand when you are over any of those rows/column headings, and then drag and drop moves the selection.
In Excel, you select the rows/columns and then the mouse cursor appears as a move cursor when the mouse is on any of the four borders of the selection, and then drag and drop moves the selection.
This moving mode could also be initialized through an entry in the heading context menu for those unaware of the functionality and also having a shortcut key for keyboard shortcut users who are selecting columns and rows with Shift + Spacebar and Ctrl + Spacebar.
IIRC there is some key Ctrl+Alt drag&drop that helps with this?
I cannot test it, because Ubuntu uses Ctrl+Alt for Navigation too.
My original bug was "One handed drag and drop?"
That would require mapping certain mouse buttons to the control+alt or command+alt combination.
(In reply to Cor Nouws from comment #8)
> IIRC there is some key Ctrl+Alt drag&drop that helps with this?
> I cannot test it, because Ubuntu uses Ctrl+Alt for Navigation too.
Tried on Mate and on Windows 7 and no key combination worked for me.
Eike: Any idea if this functionality is implemented with a particular key combination?
(In reply to Yousuf (Jay) Philips from comment #10)
> Tried on Mate and on Windows 7 and no key combination worked for me.
Press shift and use the frame to drag the selected cells.
The vertical indicator means that the copied cells would be inserted between cell A1 and A2, for instance.
Again, my suggestion is to insert when the position is a few pixels away from the cell edge and override otherwise (as today). And not to copy Excel.
I can't watch video, but pressing shift and then dragging one line overwrites the existing lines. pressing shift and simultaneously dragging requires the use of two hands.
(In reply to Heiko Tietze from comment #11)
> Press shift and use the frame to drag the selected cells.
> The vertical indicator means that the copied cells would be inserted between
> cell A1 and A2, for instance.
> Again, my suggestion is to insert when the position is a few pixels away
> from the cell edge and override otherwise (as today). And not to copy Excel.
Yes this is works in excel, but is different in LO and we are focusing on the moving of rows or columns and not cells, but thanks to it, i was able to figure out who its done in LO.
So in LO, we can drag the selected rows or columns by dragging on the selected cells. Dragging by itself is cut and paste, dragging plus ctrl is copy and paste, and dragging plus alt is move (aka cut, paste and delete). I can understand why we use cut and paste as the default for dragging selected cells, but think move should be the default when dragging rows and columns.
Bug 58440, bug 65841 and bug 39936 (not fixed in 5 years) indicate what a clusterfuck (sorry) moving rows in LibreOffice is.
What is so hard about implementing the "Insert cut rows" command from Excel?
> IIRC there is some key Ctrl+Alt drag&drop that helps with this?
I use LibreCalc on Ubuntu as well, and you must press alt after you've dragged the cells, but before you drop them. Caveats:
1. Don't drag cells by the header, but by one of the cells
2. Don't hold Alt while dragging, or Ubuntu will interpret that as the "Move window" command.
This way of moving cells is not intuitive, and there are multiple questions about moving cells on SuperUser and similar sites:
(In reply to Dan Dascalescu from comment #14)
> What is so hard about implementing the "Insert cut rows" command from Excel?
Nothing of course. Please go ahead: https://wiki.documentfoundation.org/Development
This seems to be a duplicate of bug 39936 UI: Right Click on Row/Column -> Insert Copied Cells... (paste + shift cells in one click).
Paste special does have a Shifty setting too. But this has nothing to do with the mouse, of course.
Design team discussed the topic:
+ Option 1: NAB/WFM because rarely used and dangerous action
+ Option 2: one-hand mode activated by a shortcut, e.g. ctr+foo,
which makes cursor moving rows/cols
+ vi'ish solution
Option 3: ordinary shortcuts, but not simply ctrl+cursor rather
+ ctrl+alt+cursor is used in Gnome shell for workspace
=> no good solution; but option 2 sounds easier to implement and most flexible
+ after switchting into movement mode we can act on row/col independently
from selection (left/right select the col, top/down the row)
making both possible at once
+ alternatively the movement could be done based on the selection
+ as a compromise do the second if there is a selection but otherwise the first
Does the solution (2) address also the web interface (LibreOffice Online) requirements (i.e. is it compatible)?
Rephrased the title, hopefully clarifying it slightly (if you disapprove, feel free to change it again.)
About the options mentioned in the design team discussion:
> Option 1: NAB/WFM because rarely used and dangerous action
First, it's the _opposite_ of dangerous. Rather, it's the default behavior - of deleting the target column - that's dangerous.
Also, This is not rarely used - it's very commonly used!
* You open a CSV file or ODS file someone else created. You are mostly concerned with some of the columns, and want them to be closer to the beginning of the sheet, for easier browsing / filtering. So, you drag them towards the sheet start. You could drag destructively, but - deleting data is risky, so typically you avoid it, in case you'll need that information later. Or maybe you even _know_ you need it, but it's less important.
* You start entering data into a sheet, with certain columns. But as you enter your data, you notice that the interesting changes happen in different columns than those you'd imagined. So, you want to reorder.
I would seriously consider replacing the default drag behavior to be non-destructive, and have users only delete columns by explicitly saying they want to.
> + Option 2: one-hand mode activated by a shortcut, e.g. ctr+foo,
> which makes cursor moving rows/cols
> + vi'ish solution
Why not have _that_ used for destructive drag (If anything)?
> Option 3: ordinary shortcuts, but not simply ctrl+cursor rather
> + ctrl+alt+cursor is used in Gnome shell for workspace
Don't like this much.
ctrl+alt+cursor is a 2-handed move, isn't it?