tdf#107240 tdf#120432 Disable time/date entries in read-only/protected mode

Change-Id: Ia3c757fa094f17be3b4aadaee65c4699bf0c1cb1
Reviewed-on: https://gerrit.libreoffice.org/61953
Tested-by: Jenkins
Reviewed-by: Eike Rathke <erack@redhat.com>
(cherry picked from commit 525ed5d1fcb89412f0b80be0b1e35410b048c337)
Reviewed-on: https://gerrit.libreoffice.org/63452
Reviewed-by: Xisco FaulĂ­ <xiscofauli@libreoffice.org>
diff --git a/sc/sdi/scalc.sdi b/sc/sdi/scalc.sdi
index e3a60c2..271bdd1 100644
--- a/sc/sdi/scalc.sdi
+++ b/sc/sdi/scalc.sdi
@@ -3073,7 +3073,7 @@ SfxVoidItem InsertObjectStarMath SID_INSERT_SMATH
[
    AutoUpdate = FALSE,
    FastCall = FALSE,
    ReadOnlyDoc = TRUE,
    ReadOnlyDoc = FALSE,
    Toggle = FALSE,
    Container = FALSE,
    RecordAbsolute = FALSE,
@@ -6200,7 +6200,7 @@ SfxVoidItem InsertCurrentDate SID_INSERT_CURRENT_DATE
[
    AutoUpdate = FALSE,
    FastCall = FALSE,
    ReadOnlyDoc = TRUE,
    ReadOnlyDoc = FALSE,
    Toggle = FALSE,
    Container = FALSE,
    RecordAbsolute = FALSE,
@@ -6218,7 +6218,7 @@ SfxVoidItem InsertCurrentTime SID_INSERT_CURRENT_TIME
[
    AutoUpdate = FALSE,
    FastCall = FALSE,
    ReadOnlyDoc = TRUE,
    ReadOnlyDoc = FALSE,
    Toggle = FALSE,
    Container = FALSE,
    RecordAbsolute = FALSE,
diff --git a/sc/source/ui/view/cellsh.cxx b/sc/source/ui/view/cellsh.cxx
index 854794a..9b25aa7 100644
--- a/sc/source/ui/view/cellsh.cxx
+++ b/sc/source/ui/view/cellsh.cxx
@@ -896,6 +896,15 @@ void ScCellShell::GetState(SfxItemSet &rSet)
                    rSet.DisableItem( nWhich );
                break;

            case SID_INSERT_CURRENT_DATE:
            case SID_INSERT_CURRENT_TIME:
                {
                    if ( pDoc->IsTabProtected(nTab) &&
                            pDoc->HasAttrib(nPosX, nPosY, nTab, nPosX, nPosY, nTab, HasAttrFlags::Protected))
                        rSet.DisableItem( nWhich );
                }
                break;

            case SID_SELECT_SCENARIO:
                {
                    std::vector<OUString> aList;