diff options
author | Balazs Santha <santha.balazs@simonyi.bme.hu> | 2021-07-14 15:18:47 +0200 |
---|---|---|
committer | Michael Stahl <michael.stahl@allotropia.de> | 2021-07-15 16:04:56 +0200 |
commit | 554c3692b7e3b51ce6ce7772509ba7a2e8777d3a (patch) | |
tree | edcb91346818a303de171fd94966001b3a931b00 /sw/qa/uitest/writer_tests7 | |
parent | 0e7021de592b07894c57ab920acb40e10be8b26e (diff) |
tdf#134452 sw: fix page break disappears after applying table style
After setting the break and pagedesc property of a table, applying a table style (autoformat) caused the loss of these settings.
This was because, when applying a table style, the SwTableAutoFormat::RestoreTableProperties() overrid these settings with its own default settings.
As the autoformats can never be modified, and they don't really use these two props, the easiest way to prevent any problem was to completely remove these properties and its uses.
Unfortunately, m_aBreak couldn't be removed entirely, as the autoformats are stored in a binary file, and to be able to read and write these files the offset of the subsequent items must not be changed.
Change-Id: Ieba439d3ba5da892b39f00f8b61c5c8467306635
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/118662
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
Diffstat (limited to 'sw/qa/uitest/writer_tests7')
-rw-r--r-- | sw/qa/uitest/writer_tests7/tdf134452.py | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/sw/qa/uitest/writer_tests7/tdf134452.py b/sw/qa/uitest/writer_tests7/tdf134452.py new file mode 100644 index 000000000000..ce13e8db2270 --- /dev/null +++ b/sw/qa/uitest/writer_tests7/tdf134452.py @@ -0,0 +1,49 @@ +# -*- tab-width: 4; indent-tabs-mode: nil; py-indent-offset: 4 -*- +# +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. +# +from uitest.framework import UITestCase +from uitest.uihelper.common import get_state_as_dict +from libreoffice.uno.propertyvalue import mkPropertyValues +from uitest.uihelper.common import select_pos + +# Bug 134452 - Applying a table style caused the loss of break/pagedesc props of the table + + +class tdf134452(UITestCase): + def test_tdf134452(self): + with self.ui_test.create_doc_in_start_center("writer"): + xWriterDoc = self.xUITest.getTopFocusWindow() + xWriterEdit = xWriterDoc.getChild("writer_edit") + xWriterEdit.executeAction("TYPE", mkPropertyValues({"KEYCODE": "RETURN"})) + with self.ui_test.execute_dialog_through_command(".uno:InsertTable") as xDialog: + formatlbinstable = xDialog.getChild("formatlbinstable") + entry = formatlbinstable.getChild("1") + entry.executeAction("SELECT", tuple()) + #setting the break and pageDesc properties + with self.ui_test.execute_dialog_through_command(".uno:TableDialog") as xDialog: + tabcontrol = xDialog.getChild("tabcontrol") + select_pos(tabcontrol, "1") + xbreak = xDialog.getChild("break") + xbreak.executeAction("CLICK", tuple()) + self.assertEqual("true", get_state_as_dict(xbreak)["Selected"]) + xpagestyle = xDialog.getChild("pagestyle") + xpagestyle.executeAction("CLICK", tuple()) + self.assertEqual("true", get_state_as_dict(xpagestyle)["Selected"]) + + #applying table style on the table + #without the fix, break and pageDesc properties would be overriden and lost + document = self.ui_test.get_component() + tables = document.getTextTables() + tables[0].setPropertyValue("TableTemplateName", "Box List Red") + + with self.ui_test.execute_dialog_through_command(".uno:TableDialog") as xDialog: + tabcontrol = xDialog.getChild("tabcontrol") + select_pos(tabcontrol, "1") + xbreak = xDialog.getChild("break") + self.assertEqual("true", get_state_as_dict(xbreak)["Selected"]) + xpagestyle = xDialog.getChild("pagestyle") + self.assertEqual("true", get_state_as_dict(xpagestyle)["Selected"]) +# vim: set shiftwidth=4 softtabstop=4 expandtab: |