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.heinisch@yahoo.de>
Tested-by: Jenkins
(cherry picked from commit 7e30434655754277bfa7ce7d8ec37b07181d2c92)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166838
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
diff --git a/sc/qa/uitest/pasteSpecial/tdf160765.py b/sc/qa/uitest/pasteSpecial/tdf160765.py
index 0b56be4..c0c26443 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 84292dc..378b10f 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);