officecfg/registry/schema/org/openoffice/Office/Calc.xcs |    1 
 sc/source/ui/inc/tpview.hxx                              |    1 
 sc/source/ui/optdlg/tpview.cxx                           |   12 +++++++
 sc/uiconfig/scalc/ui/tpviewpage.ui                       |   25 +++++++++++++--
 4 files changed, 36 insertions(+), 3 deletions(-)

New commits:
commit a4d11d07fbace142cba82c30ecb09ff99b9bbb6f
Author:     Sahil Gautam <gautamsahil1...@gmail.com>
AuthorDate: Mon Nov 13 00:22:11 2023 +0530
Commit:     Mike Kaganski <mike.kagan...@collabora.com>
CommitDate: Mon Dec 4 16:22:54 2023 +0100

    tdf#33201 Checkbox Implementation for Col/row Highlight
    
    Change-Id: I32aca7128a3f01be9fd5a7150243f8fd4e82f626
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159001
    Tested-by: Jenkins
    Reviewed-by: Heiko Tietze <heiko.tie...@documentfoundation.org>
    Reviewed-by: Mike Kaganski <mike.kagan...@collabora.com>

diff --git a/officecfg/registry/schema/org/openoffice/Office/Calc.xcs 
b/officecfg/registry/schema/org/openoffice/Office/Calc.xcs
index aa58fc81a9a7..e1fe88dfa1d9 100644
--- a/officecfg/registry/schema/org/openoffice/Office/Calc.xcs
+++ b/officecfg/registry/schema/org/openoffice/Office/Calc.xcs
@@ -122,6 +122,7 @@
           <value>false</value>
         </prop>
         <prop oor:name="ColumnRowHighlighting" oor:type="xs:boolean" 
oor:nillable="false">
+          <!-- UIHints: Tools - Options -Spreadsheets - Contents - [Section] 
Display -->
           <info>
             <desc>Indicates whether the column/row highlight has been enabled 
or not.</desc>
             <label>Column/row highlighting</label>
diff --git a/sc/source/ui/inc/tpview.hxx b/sc/source/ui/inc/tpview.hxx
index 65aed43031d8..72f3b7668732 100644
--- a/sc/source/ui/inc/tpview.hxx
+++ b/sc/source/ui/inc/tpview.hxx
@@ -37,6 +37,7 @@ class ScTpContentOptions : public SfxTabPage
     std::unique_ptr<weld::CheckButton> m_xAnnotCB;
     std::unique_ptr<weld::CheckButton> m_xFormulaMarkCB;
     std::unique_ptr<weld::CheckButton> m_xValueCB;
+    std::unique_ptr<weld::CheckButton> m_xColRowHighCB;
     std::unique_ptr<weld::CheckButton> m_xAnchorCB;
     std::unique_ptr<weld::CheckButton> m_xRangeFindCB;
 
diff --git a/sc/source/ui/optdlg/tpview.cxx b/sc/source/ui/optdlg/tpview.cxx
index a31bc5d417fc..4b8595899f04 100644
--- a/sc/source/ui/optdlg/tpview.cxx
+++ b/sc/source/ui/optdlg/tpview.cxx
@@ -19,6 +19,7 @@
 
 #undef SC_DLLIMPLEMENTATION
 
+#include <officecfg/Office/Calc.hxx>
 #include <tpview.hxx>
 #include <global.hxx>
 #include <viewopti.hxx>
@@ -42,6 +43,7 @@ ScTpContentOptions::ScTpContentOptions(weld::Container* 
pPage, weld::DialogContr
     , m_xAnnotCB(m_xBuilder->weld_check_button("annot"))
     , m_xFormulaMarkCB(m_xBuilder->weld_check_button("formulamark"))
     , m_xValueCB(m_xBuilder->weld_check_button("value"))
+    , m_xColRowHighCB(m_xBuilder->weld_check_button("colrowhigh"))
     , m_xAnchorCB(m_xBuilder->weld_check_button("anchor"))
     , m_xRangeFindCB(m_xBuilder->weld_check_button("rangefind"))
     , m_xObjGrfLB(m_xBuilder->weld_combo_box("objgrf"))
@@ -71,6 +73,7 @@ ScTpContentOptions::ScTpContentOptions(weld::Container* 
pPage, weld::DialogContr
     m_xAnnotCB->set_accessible_description(ScResId(STR_A11Y_DESC_ANNOT));
     m_xFormulaMarkCB->connect_toggled(aCBHdl);
     m_xValueCB->connect_toggled(aCBHdl);
+    m_xColRowHighCB->connect_toggled(aCBHdl);
     m_xAnchorCB->connect_toggled(aCBHdl);
 
     m_xVScrollCB->connect_toggled(aCBHdl);
@@ -156,6 +159,13 @@ bool    ScTpContentOptions::FillItemSet( SfxItemSet* 
rCoreSet )
         rCoreSet->Put(SfxBoolItem(SID_SC_OPT_SYNCZOOM, 
m_xSyncZoomCB->get_active()));
         bRet = true;
     }
+    if (m_xColRowHighCB->get_state_changed_from_saved())
+    {
+        auto pChange(comphelper::ConfigurationChanges::create());
+        
officecfg::Office::Calc::Content::Display::ColumnRowHighlighting::set(m_xColRowHighCB->get_active(),
 pChange);
+        pChange->commit();
+        bRet = true;
+    }
 
     return bRet;
 }
@@ -171,6 +181,7 @@ void    ScTpContentOptions::Reset( const SfxItemSet* 
rCoreSet )
     m_xAnnotCB   ->set_active(m_xLocalOptions->GetOption(VOPT_NOTES));
     
m_xFormulaMarkCB->set_active(m_xLocalOptions->GetOption(VOPT_FORMULAS_MARKS));
     m_xValueCB   ->set_active(m_xLocalOptions->GetOption(VOPT_SYNTAX));
+    
m_xColRowHighCB->set_active(officecfg::Office::Calc::Content::Display::ColumnRowHighlighting::get());
     m_xAnchorCB  ->set_active(m_xLocalOptions->GetOption(VOPT_ANCHOR));
 
     m_xObjGrfLB  ->set_active( 
static_cast<sal_uInt16>(m_xLocalOptions->GetObjMode(VOBJ_TYPE_OLE)) );
@@ -206,6 +217,7 @@ void    ScTpContentOptions::Reset( const SfxItemSet* 
rCoreSet )
     m_xAnnotCB->save_state();
     m_xFormulaMarkCB->save_state();
     m_xValueCB->save_state();
+    m_xColRowHighCB->save_state();
     m_xAnchorCB->save_state();
     m_xObjGrfLB->save_value();
     m_xDiagramLB->save_value();
diff --git a/sc/uiconfig/scalc/ui/tpviewpage.ui 
b/sc/uiconfig/scalc/ui/tpviewpage.ui
index b96283d18b69..df87f8e27b3a 100644
--- a/sc/uiconfig/scalc/ui/tpviewpage.ui
+++ b/sc/uiconfig/scalc/ui/tpviewpage.ui
@@ -20,7 +20,7 @@
             <property name="label-xalign">0</property>
             <property name="shadow-type">none</property>
             <child>
-              <!-- n-columns=1 n-rows=7 -->
+              <!-- n-columns=1 n-rows=8 -->
               <object class="GtkGrid" id="grid6">
                 <property name="visible">True</property>
                 <property name="can-focus">False</property>
@@ -127,7 +127,7 @@
                   </object>
                   <packing>
                     <property name="left-attach">0</property>
-                    <property name="top-attach">5</property>
+                    <property name="top-attach">6</property>
                   </packing>
                 </child>
                 <child>
@@ -146,7 +146,26 @@
                   </object>
                   <packing>
                     <property name="left-attach">0</property>
-                    <property name="top-attach">6</property>
+                    <property name="top-attach">7</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkCheckButton" id="colrowhigh">
+                    <property name="label" translatable="yes" 
context="tpviewpage|value">Column/Row highlighting</property>
+                    <property name="visible">True</property>
+                    <property name="can-focus">True</property>
+                    <property name="receives-default">False</property>
+                    <property name="use-underline">True</property>
+                    <property name="draw-indicator">True</property>
+                    <child internal-child="accessible">
+                      <object class="AtkObject" id="colrowhigh-atkobject">
+                      <property name="AtkObject::accessible-description" 
translatable="yes" context="extended_tip|value">Mark the Column/row 
highlighting box to show row/column highlighting for the row and column of the 
active cell.</property>
+                      </object>
+                    </child>
+                  </object>
+                  <packing>
+                    <property name="left-attach">0</property>
+                    <property name="top-attach">5</property>
                   </packing>
                 </child>
               </object>

Reply via email to