Issue 120201 - No Undo for Table Cell property edits
Summary: No Undo for Table Cell property edits
Status: CLOSED FIXED
Alias: None
Product: Draw
Classification: Application
Component: code (show other issues)
Version: 3.4.0
Hardware: All All
: P3 Normal (vote)
Target Milestone: 4.2.0
Assignee: Armin Le Grand
QA Contact:
URL:
Keywords: regression
Depends on:
Blocks:
 
Reported: 2012-07-05 07:30 UTC by Du Jing
Modified: 2017-05-20 10:35 UTC (History)
3 users (show)

See Also:
Issue Type: DEFECT
Latest Confirmation in: 4.1.0-beta
Developer Difficulty: ---


Attachments

Note You need to log in before you can comment on or make changes to this issue.
Description Du Jing 2012-07-05 07:30:13 UTC
build info:OOo-dev3.4.1-r1354891

Steps:
1.launch OO and new a presentation
2.insert a table:5 rows,5 columns
3.select the table and right click mouse to enable "Table..." and set table property

borders:
line arrangement:set outer border and all innner lines
line style:2.5 pt
color:black

background:
Fill:color,as red

click"OK"
4."Ctrl+Z" to undo all settings

defect:
undo id not ok,can't undo set table border.
Comment 1 Rainer Bielefeld 2014-03-12 09:52:15 UTC
(a) Still  Reproducible with server installation of "AOO 4.1.0-Beta – German UI
    / German locale - [AOO410m14(Build:9760)  -  Rev. 1573601 2014-03-03 
    17:47:48]" on German WIN7 Home Premium (64bit)", own separate user profile.
(b) Same in Draw, If you apply any table property like borders, color, ..., 
     the edit will not be added to the undo stack.
(c) Same still with LibO 4.2
(d) Was still ok with OOo 3.3.0, OOo 3.1.1
Comment 2 Armin Le Grand 2014-03-26 15:21:27 UTC
The undo action (CellUndo) already remembers and resets the settings (move the table to see it relayouting), but executing the undo does not trigger the needed TableLayouter::UpdateBorderLayout(). This seems necessary to get the SvxBorderLine settings recreated in the layouter from the restored items. Currently ActionChanged() is called which repaints the stuff which is normally sufficient. The repaint will create the highest Primitive in it's VOC and that is compared with the last one. Unfortunately that creation will re-use the not yet updated stuff from the TableLayouter. This shows that it is not waterproof that all changes to the table reset the TableLayouter, sigh. Checking if using ReformatText will do it (it should since it calls AdjustTextFrameWidthAndHeight on its way)...
Comment 3 Armin Le Grand 2014-03-26 15:37:47 UTC
Works as expected, preparing commit...
Comment 4 Armin Le Grand 2014-03-26 15:39:11 UTC
Okay, done.
Comment 5 SVN Robot 2014-03-26 15:48:22 UTC
"alg" committed SVN revision 1581891 into trunk:
i120201 added forcing TableLayouter to take action in table undo/redo (CellUndo)