Issue 81990 - Possibility to move table rows and columns easily
Summary: Possibility to move table rows and columns easily
Alias: None
Product: Writer
Classification: Application
Component: editing (show other issues)
Version: OOo 2.3
Hardware: All Windows, all
: P3 Trivial (vote)
Target Milestone: ---
Assignee: AOO issues mailing list
QA Contact:
Keywords: oooqa
Depends on:
Reported: 2007-09-26 22:43 UTC by asb
Modified: 2013-08-07 14:38 UTC (History)
2 users (show)

See Also:
Latest Confirmation in: ---
Developer Difficulty: ---


Note You need to log in before you can comment on or make changes to this issue.
Description asb 2007-09-26 22:43:23 UTC
If a row in a table is copied to the clipboard and is supposed to be inserted 
elsewhere in (the same/another) table, the row from the clipboard *overwrites* 
an existing table row instead of *adding* a new one.

IMHO this is a bug since (a) this is like the difference between cut and copy: 
Inserting something should indeed *insert* the item, not *overwrite* something 
else, and (b) this behaviour if absolutely different to what I'm used to from 
other word processing applications.

This bug is independent fromt the status of the position of the "insert" key on 
the keyboard (which usually toggles insert/overwrite mode).
Comment 1 Rainer Bielefeld 2007-09-27 04:41:32 UTC
I created a sample document with columns (= heading contents) 1,2,3,4) and
further contents a shown for my tests with "2.2.1  Multilingual German version
WIN XP: [680m18(Build9161)]":

1  2  3  4  
a  b  c  d
e  f  g  h
i  j  k  l

I believe we talk about the following effect:

1. mark cells with contents "a ... d"
2. <cntrl>+<c>
3. mouseclick into cell with "e"
4. <cntrl>+<v>
   expected by user "asb": new row with contents "a ...d" should be inserted,
                           row with "e ..." should be shifted
   actual: "e  f  g  h" will be overwritten with "a  b  c  d"

I can not see anything wrong here. What would be your concept for marking 
b  c
f  g
copy and paste it after click into cell with "g"? Or if you want to insert the
row contents into an other cell with more rows and columns?

The current behaviour is the most predictable one and so, as I belive, the best one.

Because I can not find any hint in documentation that predicts a behaviour as
preferred by "asb", this seems to be no defect.

Because "asb" did not contribute a stringent, logical and comprehenceble concept  
for his wishes, I believe this issue should be set to "invalid".
Comment 2 asb 2007-09-27 16:34:56 UTC

Counterquestion: What is your concept for rearranging the rows of a table, e.g. 
a timeline consisting of a few hundred rows?

If you have to move the row "a  b  c  d" below "e  f  g  h", you'll (a) either 
mess up the table's contents completely (if you're used to the behaviour of 
Microsoft programs), or (b)

1. Mark the row "a b c d", copy it's contents
2. Move to the row "i j k l"
3. Click on the menu "Table" or type <Ctrl+t> (in German OOo),
4. Select "Insert" or type <Ctrl+g>
5. Select "Rows" or type <Ctrl+z>
6. Click on "Position: Above" or press <Return>
7. Paste the contents from the clipboard
8. Move up to the former row "a b c d"
9. Select "Table"/"Delete"/"Rows" or press <Ctrl+t>+<l>+<z>

That's a lot of clicking/typing to simply move _one_ row of a table. If you 
have to rearrange a few hundred rows, this might be driving you insane. In 
Microsoft applications and compatibles, all this can be done completely by 
using the mouse _and/or_ keyboard shortcuts, but with significantly less 
clicking/typing (Mark a row, move the cursor to the insertion point and type 
<Alt+d>+<l>, if I remember correctly; I can look this up, if anyone is 
interested; anyway, it's _a lot_ faster).

I think their (Microsofts and those of compatible apps) usability approach is 
to honor the _context_ of the operation; it recognizes if you want to do an 
operation on single cells or complete rows; if you're working on rows, the 
mouse pointer "tilts" a few degrees to the right and marks the complete row; if 
you select single cells or all cells of a row, but not the row itself (!), the 
mouse pointer as well as the inverted colour of the marked section(s) look 
different. This gives a very good feedback to what you're doing.

Thus I'd suggest that OOo Writer should allow context sensitive operations. Of 
course it doesn't necessarily have to mimic the behaviour of Microsoft-style 
apps, but it _should_ allow similar operations, and should be operatable at 
least as fast as "Word" and consorts.

Besides this usability aspects I'd like to stress again that the expected 
behaviour when _inserting_ something is that something is inserted and not 
something else is overwritten. If OOo currently can not honor the context of 
user operations, as Microsoft apllications do, it should at least honor the 
setting of the "Insert/Overwrite" key. If it's set to "Overwrite", OOo Writer 
could behave as it does now, if it is set to "Insert", it should insert the 
full row as a _new_ row.

As to the question what I would expect if marking the block "b  c" and "f  g", 
and then copy and pasting it after click into cell with "g": These are _cell_ 
operations, not _row_ operations, so they could and should behave differently.

Example to prove my point: Mark the block "c d" and "g h", copy it, move to 
"l", and insert it; OOo adds a _new_ row with the contents "_ _ _ g" (the 
underscores are suppose to signify empty cells). 3/4 of the contents to be 
pasted gets lost - that's usually not what a user expects.

For block operations, there are three ways to deal with tha I can think of:

1. Honoring the context of the operations (as described above);
2. Operating in a special block mode, a function most text editors provide;
3. Inserting the full cutted construct at the insertion point, as e.g. Mozilla 
Composer and derivates does (if you cout some cells from a table and insert 
them anywhere else, a new mini-table is inserted on the insertion point).

(3) appears to me at least as logical as the current behaviour of OOo, but it's 
IMHO not very user friendly; thus I'd suggest (1), especially when honoring 
position of the  "Insert/Overwrite" key.
Comment 3 eric.savary 2007-09-28 14:03:33 UTC
I'll try to sum up something which is complex and will need a lot of redesign...

To be defined following behaviors in a future specification.

Table sample:
1  2  3  4  
a  b  c  d
e  f  g  h
i  j  k  l

1) Moving a row (same for columns):

1.1) With the mouse
- Select  a  b  c  d
- Drag/drop to i
-> the table should look like this:

1  2  3  4  
e  f  g  h
a  b  c  d
i  j  k  l

1.2) With the keyboard:
- Select  a  b  c  d
- Use a keyboard shortcut (TBD) like Ctrl+Alt+Up/Down which is currently used to
move paragraphs.
-> the table should look like in 1.1) after pressing 2 times Ctrl+Alt+Down.

1.3) By Copy/Paste (not so easy!):
- Select  a  b  c  d
- Cursor in i
- Paste

-> OOo replaces the current row:
1  2  3  4  
a  b  c  d
e  f  g  h
a  b  c  d

-> Word inserts the row content into the first cell:
1  2  3  4  
a  b  c  d
e  f  g  h
abcdi  j  k  l

(whenever in OVERWRITE mode or not!)

Desired behavior: have an option (Paste Special?) to tell Writer *how* to *insert*

1  2  3  4  
a  b  c  d
e  f  g  h
abcdi  j  k  l

1  2  3  4  
a  b  c  d
e  f  g  h
a  b  c  d
i  j  k  l

Those are just some cases...

Comment 4 eric.savary 2007-09-28 14:04:00 UTC