sc/qa/uitest/pasteSpecial/tdf160765.py |   34 +++++++++++++++++++++++++++++++++
 sc/source/ui/miscdlgs/inscodlg.cxx     |    4 ++-
 2 files changed, 37 insertions(+), 1 deletion(-)

New commits:
commit a4f679ed901923046e4fee3e11a9fc236c4ff506
Author:     Andreas Heinisch <andreas.heini...@yahoo.de>
AuthorDate: Fri Apr 26 20:29:53 2024 +0200
Commit:     Xisco Fauli <xiscofa...@libreoffice.org>
CommitDate: Mon May 6 15:47:18 2024 +0200

    tdf#160765 - Paste Special Dialog: Remember comments checkbox
    
    After the change of tdf#139858 the comments checkbox was not remembered 
anymore after closing the dialog. In order to fix this issue, additionally 
check not only the NOTE flag but also for the ADDNOTES one.
    
    Change-Id: I8b24d231313b57a05b7e527c0865686762e5a2b1
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166762
    Reviewed-by: Andreas Heinisch <andreas.heini...@yahoo.de>
    Tested-by: Jenkins
    (cherry picked from commit 7e30434655754277bfa7ce7d8ec37b07181d2c92)
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166838
    Reviewed-by: Xisco Fauli <xiscofa...@libreoffice.org>
    (cherry picked from commit 30524d5998d38b7e216b721859c72fbfc56a5b5a)
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166890

diff --git a/sc/qa/uitest/pasteSpecial/tdf160765.py 
b/sc/qa/uitest/pasteSpecial/tdf160765.py
index 0b56be4c2dfa..c0c264432ef4 100755
--- a/sc/qa/uitest/pasteSpecial/tdf160765.py
+++ b/sc/qa/uitest/pasteSpecial/tdf160765.py
@@ -13,8 +13,42 @@ from libreoffice.calc.document import get_cell_by_position
 from libreoffice.uno.propertyvalue import mkPropertyValues
 from uitest.uihelper.calc import enter_text_to_cell
 from libreoffice.calc.paste_special import reset_default_values
+from uitest.uihelper.common import get_state_as_dict
 
 class tdf160765(UITestCase):
+    def test_tdf160765_paste_special_comments_checked(self):
+        with self.ui_test.create_doc_in_start_center("calc"):
+            xGridWin = self.xUITest.getTopFocusWindow().getChild("grid_window")
+
+            # Insert a comment in cell A1
+            xGridWin.executeAction("SELECT", mkPropertyValues({"CELL":"A1"}))
+            xArgs = mkPropertyValues({"Text": "Comment 1"})
+            self.xUITest.executeCommandWithParameters(".uno:InsertAnnotation", 
xArgs)
+
+            # Copy cell A1 to clipboard
+            xGridWin.executeAction("SELECT", mkPropertyValues({"CELL": "A1"}))
+            self.xUITest.executeCommand(".uno:Copy")
+
+            # Paste data using special options (check only comments)
+            xGridWin.executeAction("SELECT", mkPropertyValues({"CELL": "A2"}))
+            with 
self.ui_test.execute_dialog_through_command(".uno:PasteSpecial") as 
xPasteSpecialDlg:
+                reset_default_values(self, xPasteSpecialDlg)
+                xDateTimeChkBox = xPasteSpecialDlg.getChild("datetime")
+                xDateTimeChkBox.executeAction("CLICK", tuple())
+                xTextChkBox = xPasteSpecialDlg.getChild("text")
+                xTextChkBox.executeAction("CLICK", tuple())
+                xNumbersChkBox = xPasteSpecialDlg.getChild("numbers")
+                xNumbersChkBox.executeAction("CLICK", tuple())
+                xCommentsChkBox = xPasteSpecialDlg.getChild("comments")
+                xCommentsChkBox.executeAction("CLICK", tuple())
+
+            with 
self.ui_test.execute_dialog_through_command(".uno:PasteSpecial") as 
xPasteSpecialDlg:
+                xCommentsChkBox = xPasteSpecialDlg.getChild("comments")
+                # Without the fix in place, this test would have failed with
+                # AssertionError: 'true' != 'false'
+                # i.e., the comments checkbox was not remembered
+                
self.assertEqual(get_state_as_dict(xCommentsChkBox)["Selected"], "true")
+
     def test_tdf160765_undo_paste_comment(self):
         with self.ui_test.create_doc_in_start_center("calc") as document:
             xGridWin = self.xUITest.getTopFocusWindow().getChild("grid_window")
diff --git a/sc/source/ui/miscdlgs/inscodlg.cxx 
b/sc/source/ui/miscdlgs/inscodlg.cxx
index 84292dcd91c4..378b10f37fd0 100644
--- a/sc/source/ui/miscdlgs/inscodlg.cxx
+++ b/sc/source/ui/miscdlgs/inscodlg.cxx
@@ -231,7 +231,9 @@ void ScInsertContentsDlg::SetInsContentsCmdBits(const 
InsertDeleteFlags eFlags)
     mxBtnInsNumbers->set_active((InsertDeleteFlags::VALUE & eFlags) == 
InsertDeleteFlags::VALUE);
     mxBtnInsDateTime->set_active((InsertDeleteFlags::DATETIME & eFlags) == 
InsertDeleteFlags::DATETIME);
     mxBtnInsStrings->set_active((InsertDeleteFlags::STRING & eFlags) == 
InsertDeleteFlags::STRING);
-    mxBtnInsNotes->set_active((InsertDeleteFlags::NOTE & eFlags) == 
InsertDeleteFlags::NOTE);
+    // tdf#160765 - additionally check either NOTE or ADDNOTES
+    mxBtnInsNotes->set_active(((InsertDeleteFlags::NOTE | 
InsertDeleteFlags::ADDNOTES) & eFlags)
+                              != InsertDeleteFlags::NONE);
     mxBtnInsFormulas->set_active((InsertDeleteFlags::FORMULA & eFlags) == 
InsertDeleteFlags::FORMULA);
     mxBtnInsAttrs->set_active((InsertDeleteFlags::ATTRIB & eFlags) == 
InsertDeleteFlags::ATTRIB);
     mxBtnInsObjects->set_active((InsertDeleteFlags::OBJECTS & eFlags) == 
InsertDeleteFlags::OBJECTS);

Reply via email to