Resolves tdf#147301 - Disable Hidden Row/Col indicator

Off by default now
Entry in View menu added to easily switch on/off

Change-Id: I138ce90f1d2e3c2337368870803d5aa959116c3f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129712
Tested-by: Jenkins
Reviewed-by: Heiko Tietze <heiko.tietze@documentfoundation.org>
diff --git a/officecfg/registry/data/org/openoffice/Office/UI.xcu b/officecfg/registry/data/org/openoffice/Office/UI.xcu
index ed31bbb..f3b0140 100644
--- a/officecfg/registry/data/org/openoffice/Office/UI.xcu
+++ b/officecfg/registry/data/org/openoffice/Office/UI.xcu
@@ -305,7 +305,7 @@
        </node>
        <node oor:name="CalcHiddenColRow">
          <prop oor:name="IsVisible">
            <value>true</value>
            <value>false</value>
          </prop>
          <prop oor:name="Color">
            <value xsi:nil="true"/>
@@ -598,7 +598,7 @@
        </node>
        <node oor:name="CalcHiddenColRow">
          <prop oor:name="IsVisible">
            <value>true</value>
            <value>false</value>
          </prop>
          <prop oor:name="Color">
            <value xsi:nil="true"/>
diff --git a/officecfg/registry/data/org/openoffice/Office/UI/CalcCommands.xcu b/officecfg/registry/data/org/openoffice/Office/UI/CalcCommands.xcu
index 9e5129c..7098b11 100644
--- a/officecfg/registry/data/org/openoffice/Office/UI/CalcCommands.xcu
+++ b/officecfg/registry/data/org/openoffice/Office/UI/CalcCommands.xcu
@@ -1245,6 +1245,20 @@
          <value>1</value>
        </prop>
      </node>
      <node oor:name=".uno:ViewHiddenColRow" oor:op="replace">
        <prop oor:name="Label" oor:type="xs:string">
          <value xml:lang="en-US">Show Hidden Row/Column Indicator</value>
        </prop>
        <prop oor:name="ContextLabel" oor:type="xs:string">
          <value xml:lang="en-US">Hidden Row/Column Indicator</value>
        </prop>
        <prop oor:name="Properties" oor:type="xs:int">
          <value>1</value>
        </prop>
        <prop oor:name="TooltipLabel" oor:type="xs:string">
          <value xml:lang="en-US">Show the indicator for hidden rows and columns</value>
        </prop>
      </node>
      <node oor:name=".uno:NormalViewMode" oor:op="replace">
        <prop oor:name="Label" oor:type="xs:string">
          <value xml:lang="en-US">~Normal View</value>
diff --git a/sc/inc/sc.hrc b/sc/inc/sc.hrc
index 3275f86..f4a602f 100644
--- a/sc/inc/sc.hrc
+++ b/sc/inc/sc.hrc
@@ -326,7 +326,8 @@ class SvxZoomSliderItem;
#define SID_DRAWTEXT_ATTR_DLG   (FORMAT_MENU_START + 19)
#define FID_TABLE_VISIBLE       (FORMAT_MENU_START + 20)
#define FID_COL_OPT_DIRECT      (FORMAT_MENU_START + 21)
#define FORMAT_MENU_END         (FORMAT_MENU_START + 22)
#define FID_TOGGLEHIDDENCOLROW  (FORMAT_MENU_START + 22)
#define FORMAT_MENU_END         (FORMAT_MENU_START + 23)

#define EXTRA_MENU_START        (FORMAT_MENU_END)
#define FID_AUTO_CALC           (EXTRA_MENU_START + 3)
diff --git a/sc/sdi/docsh.sdi b/sc/sdi/docsh.sdi
index e1dd9a1..4b7e2fe 100644
--- a/sc/sdi/docsh.sdi
+++ b/sc/sdi/docsh.sdi
@@ -40,7 +40,7 @@ interface TableSelection
    FID_TAB_RTL         [ ExecMethod = ExecuteTable; StateMethod = GetStateTable; ]
    FID_TAB_SET_TAB_BG_COLOR    [ ExecMethod = ExecuteTable; StateMethod = GetStateTable; ]
    FID_TAB_TOGGLE_GRID [ ExecMethod = ExecuteTable; StateMethod = GetStateTable; ]

    FID_TOGGLEHIDDENCOLROW [ ExecMethod = ExecuteTable; StateMethod = GetState; ]
    SID_TABLE_ACTIVATE  [ ExecMethod = Execute; ]
}

diff --git a/sc/sdi/scalc.sdi b/sc/sdi/scalc.sdi
index fb52b40..861c767 100644
--- a/sc/sdi/scalc.sdi
+++ b/sc/sdi/scalc.sdi
@@ -5851,6 +5851,23 @@ SfxBoolItem ViewValueHighlighting FID_TOGGLESYNTAX
    GroupId = SfxGroupId::View;
]

SfxBoolItem ViewHiddenColRow FID_TOGGLEHIDDENCOLROW

[
    AutoUpdate = FALSE,
    FastCall = FALSE,
    ReadOnlyDoc = TRUE,
    Toggle = TRUE,
    Container = FALSE,
    RecordAbsolute = FALSE,
    RecordPerSet;


    AccelConfig = TRUE,
    MenuConfig = TRUE,
    ToolBoxConfig = TRUE,
    GroupId = SfxGroupId::View;
]

SfxBoolItem Visible FID_TABLE_VISIBLE

diff --git a/sc/source/ui/view/tabvwsha.cxx b/sc/source/ui/view/tabvwsha.cxx
index 414a293..06e8e0a 100644
--- a/sc/source/ui/view/tabvwsha.cxx
+++ b/sc/source/ui/view/tabvwsha.cxx
@@ -495,6 +495,11 @@ void ScTabViewShell::GetState( SfxItemSet& rSet )
                    rSet.DisableItem( nWhich );     // enabled only if several sheets are selected
                break;

            case FID_TOGGLEHIDDENCOLROW:
                const svtools::ColorConfig& rColorCfg = SC_MOD()->GetColorConfig();
                rSet.Put( SfxBoolItem( nWhich, rColorCfg.GetColorValue(svtools::CALCHIDDENROWCOL).bIsVisible) );
                break;

        } // switch ( nWitch )
        nWhich = aIter.NextWhich();
    } // while ( nWitch )
diff --git a/sc/source/ui/view/tabvwshf.cxx b/sc/source/ui/view/tabvwshf.cxx
index 3890373..f0d5e5f 100644
--- a/sc/source/ui/view/tabvwshf.cxx
+++ b/sc/source/ui/view/tabvwshf.cxx
@@ -862,7 +862,14 @@ void ScTabViewShell::ExecuteTable( SfxRequest& rReq )
                    }
                }
                break;

        case FID_TOGGLEHIDDENCOLROW:
                {
                    svtools::EditableColorConfig aEditableConfig;
                    svtools::ColorConfigValue aValue = aEditableConfig.GetColorValue(svtools::CALCHIDDENROWCOL);
                    aValue.bIsVisible = !aValue.bIsVisible;
                    aEditableConfig.SetColorValue(svtools::CALCHIDDENROWCOL, aValue);
                }
                break;
        default:
                OSL_FAIL("unknown message for ViewShell");
                break;
diff --git a/sc/uiconfig/scalc/menubar/menubar.xml b/sc/uiconfig/scalc/menubar/menubar.xml
index eeb746d..00254f6 100644
--- a/sc/uiconfig/scalc/menubar/menubar.xml
+++ b/sc/uiconfig/scalc/menubar/menubar.xml
@@ -165,6 +165,7 @@
      </menu:menu>
      <menu:menuseparator/>
      <menu:menuitem menu:id=".uno:ViewValueHighlighting"/>
      <menu:menuitem menu:id=".uno:ViewHiddenColRow"/>
      <menu:menuitem menu:id=".uno:ToggleFormula"/>
      <menu:menuitem menu:id=".uno:ShowAnnotations"/>
      <menu:menuseparator/>