officecfg/registry/data/org/openoffice/Office/UI/Sidebar.xcu   |   42 
++++++++++
 officecfg/registry/schema/org/openoffice/Office/UI/Sidebar.xcs |    6 +
 sfx2/inc/sidebar/DeckDescriptor.hxx                            |    1 
 sfx2/source/sidebar/DeckDescriptor.cxx                         |    1 
 sfx2/source/sidebar/ResourceManager.cxx                        |    5 +
 5 files changed, 55 insertions(+)

New commits:
commit 72c90f83fb89a048c04d6cc8cfbdd44608075efa
Author:     Mike Kaganski <[email protected]>
AuthorDate: Fri Dec 6 00:55:59 2024 +0500
Commit:     Miklos Vajna <[email protected]>
CommitDate: Mon Dec 9 14:51:26 2024 +0100

    tdf#62845: Hide some sidebar panels in Viewer app mode
    
    These are confusing and cluttering the UI in this mode.
    
    Change-Id: I909f17f71846f5a7e82e43f078f32ed7b5daf159
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178009
    Reviewed-by: Miklos Vajna <[email protected]>
    Tested-by: Jenkins CollaboraOffice <[email protected]>

diff --git a/officecfg/registry/data/org/openoffice/Office/UI/Sidebar.xcu 
b/officecfg/registry/data/org/openoffice/Office/UI/Sidebar.xcu
index e038472d704e..465c8e5732bb 100644
--- a/officecfg/registry/data/org/openoffice/Office/UI/Sidebar.xcu
+++ b/officecfg/registry/data/org/openoffice/Office/UI/Sidebar.xcu
@@ -39,6 +39,9 @@
         <prop oor:name="OrderIndex" oor:type="xs:int">
           <value>100</value>
         </prop>
+        <prop oor:name="HiddenInViewer" oor:type="xs:boolean">
+          <value>true</value>
+        </prop>
       </node>
 
       <node oor:name="InspectorDeck" oor:op="replace">
@@ -59,6 +62,9 @@
         <prop oor:name="OrderIndex" oor:type="xs:int">
           <value>600</value>
         </prop>
+        <prop oor:name="HiddenInViewer" oor:type="xs:boolean">
+          <value>true</value>
+        </prop>
       </node>
 
       <node oor:name="WriterPageDeck" oor:op="replace">
@@ -79,6 +85,9 @@
         <prop oor:name="OrderIndex" oor:type="xs:int">
           <value>500</value>
         </prop>
+        <prop oor:name="HiddenInViewer" oor:type="xs:boolean">
+          <value>true</value>
+        </prop>
       </node>
 
       <node oor:name="A11yCheckDeck" oor:op="replace">
@@ -99,6 +108,9 @@
         <prop oor:name="OrderIndex" oor:type="xs:int">
           <value>900</value>
         </prop>
+        <prop oor:name="HiddenInViewer" oor:type="xs:boolean">
+          <value>true</value>
+        </prop>
       </node>
 
       <node oor:name="ShapesDeck" oor:op="replace">
@@ -119,6 +131,9 @@
         <prop oor:name="OrderIndex" oor:type="xs:int">
           <value>500</value>
         </prop>
+        <prop oor:name="HiddenInViewer" oor:type="xs:boolean">
+          <value>true</value>
+        </prop>
       </node>
 
 
@@ -142,6 +157,9 @@
         <prop oor:name="OrderIndex" oor:type="xs:int">
           <value>300</value>
         </prop>
+        <prop oor:name="HiddenInViewer" oor:type="xs:boolean">
+          <value>true</value>
+        </prop>
       </node>
 
       <node oor:name="SdMasterPagesDeck" oor:op="replace">
@@ -162,6 +180,9 @@
         <prop oor:name="OrderIndex" oor:type="xs:int">
           <value>700</value>
         </prop>
+        <prop oor:name="HiddenInViewer" oor:type="xs:boolean">
+          <value>true</value>
+        </prop>
       </node>
 
       <node oor:name="SdCustomAnimationDeck" oor:op="replace">
@@ -182,6 +203,9 @@
         <prop oor:name="OrderIndex" oor:type="xs:int">
           <value>600</value>
         </prop>
+        <prop oor:name="HiddenInViewer" oor:type="xs:boolean">
+          <value>true</value>
+        </prop>
       </node>
 
       <node oor:name="SdSlideTransitionDeck" oor:op="replace">
@@ -202,6 +226,9 @@
         <prop oor:name="OrderIndex" oor:type="xs:int">
           <value>500</value>
         </prop>
+        <prop oor:name="HiddenInViewer" oor:type="xs:boolean">
+          <value>true</value>
+        </prop>
       </node>
 
       <node oor:name="NavigatorDeck" oor:op="replace">
@@ -246,6 +273,9 @@
         <prop oor:name="OrderIndex" oor:type="xs:int">
           <value>200</value>
         </prop>
+        <prop oor:name="HiddenInViewer" oor:type="xs:boolean">
+          <value>true</value>
+        </prop>
       </node>
 
       <node oor:name="ScFunctionsDeck" oor:op="replace">
@@ -266,6 +296,9 @@
         <prop oor:name="OrderIndex" oor:type="xs:int">
           <value>500</value>
         </prop>
+        <prop oor:name="HiddenInViewer" oor:type="xs:boolean">
+          <value>true</value>
+        </prop>
       </node>
 
       <node oor:name="SwManageChangesDeck" oor:op="replace">
@@ -290,6 +323,9 @@
         <prop oor:name="OrderIndex" oor:type="xs:int">
           <value>600</value>
         </prop>
+        <prop oor:name="HiddenInViewer" oor:type="xs:boolean">
+          <value>true</value>
+        </prop>
       </node>
 
       <node oor:name="SwDesignDeck" oor:op="replace">
@@ -313,6 +349,9 @@
         <prop oor:name="IsExperimental" oor:type="xs:boolean">
           <value>true</value>
         </prop>
+        <prop oor:name="HiddenInViewer" oor:type="xs:boolean">
+          <value>true</value>
+        </prop>
       </node>
 
       <node oor:name="ElementsDeck" oor:op="replace">
@@ -333,6 +372,9 @@
         <prop oor:name="OrderIndex" oor:type="xs:int">
           <value>300</value>
         </prop>
+        <prop oor:name="HiddenInViewer" oor:type="xs:boolean">
+          <value>true</value>
+        </prop>
       </node>
 
     </node>
diff --git a/officecfg/registry/schema/org/openoffice/Office/UI/Sidebar.xcs 
b/officecfg/registry/schema/org/openoffice/Office/UI/Sidebar.xcs
index 4b5d13b63c5f..29c42c2c8393 100644
--- a/officecfg/registry/schema/org/openoffice/Office/UI/Sidebar.xcs
+++ b/officecfg/registry/schema/org/openoffice/Office/UI/Sidebar.xcs
@@ -140,6 +140,12 @@
         </info>
         <value>false</value>
       </prop>
+      <prop oor:name="HiddenInViewer" oor:type="xs:boolean">
+        <info>
+          <desc>This flag controls whether the deck is hidden when viewer 
application mode is enabled.</desc>
+        </info>
+        <value>false</value>
+      </prop>
     </group>
     <group oor:name="Panel">
       <info>
diff --git a/sfx2/inc/sidebar/DeckDescriptor.hxx 
b/sfx2/inc/sidebar/DeckDescriptor.hxx
index 8fde0c0330f7..dc9174c79383 100644
--- a/sfx2/inc/sidebar/DeckDescriptor.hxx
+++ b/sfx2/inc/sidebar/DeckDescriptor.hxx
@@ -39,6 +39,7 @@ public:
     bool mbIsEnabled;
     sal_Int32 mnOrderIndex;
     bool mbExperimental;
+    bool mbHiddenInViewerMode = false;
 
     OUString msNodeName; // some impress deck nodes names are different from 
their Id
 
diff --git a/sfx2/source/sidebar/DeckDescriptor.cxx 
b/sfx2/source/sidebar/DeckDescriptor.cxx
index 29af33e33f22..97aa42cc0f3c 100644
--- a/sfx2/source/sidebar/DeckDescriptor.cxx
+++ b/sfx2/source/sidebar/DeckDescriptor.cxx
@@ -41,6 +41,7 @@ DeckDescriptor::DeckDescriptor (const DeckDescriptor& rOther)
       mbIsEnabled(rOther.mbIsEnabled),
       mnOrderIndex(rOther.mnOrderIndex),
       mbExperimental(rOther.mbExperimental),
+      mbHiddenInViewerMode(rOther.mbHiddenInViewerMode),
       mpDeck(rOther.mpDeck)
 {
 }
diff --git a/sfx2/source/sidebar/ResourceManager.cxx 
b/sfx2/source/sidebar/ResourceManager.cxx
index d4e5b9722815..29ddb809d167 100644
--- a/sfx2/source/sidebar/ResourceManager.cxx
+++ b/sfx2/source/sidebar/ResourceManager.cxx
@@ -130,6 +130,8 @@ std::shared_ptr<DeckDescriptor> 
ResourceManager::ImplGetDeckDescriptor(std::u16s
 {
     for (auto const& deck : maDecks)
     {
+        if (deck->mbHiddenInViewerMode && 
officecfg::Office::Common::Misc::ViewerAppMode::get())
+            continue;
         if (deck->mbExperimental && 
!officecfg::Office::Common::Misc::ExperimentalMode::get())
             continue;
         if (deck->msId == rsDeckId)
@@ -169,6 +171,8 @@ const ResourceManager::DeckContextDescriptorContainer& 
ResourceManager::GetMatch
     std::multimap<sal_Int32,DeckContextDescriptor> aOrderedIds;
     for (auto const& deck : maDecks)
     {
+        if (deck->mbHiddenInViewerMode && 
officecfg::Office::Common::Misc::ViewerAppMode::get())
+            continue;
         if (deck->mbExperimental && 
!officecfg::Office::Common::Misc::ExperimentalMode::get())
             continue;
 
@@ -281,6 +285,7 @@ void ResourceManager::ReadDeckList()
         rDeckDescriptor.msHelpId = "SIDEBAR_" + 
rDeckDescriptor.msId.toAsciiUpperCase();
         rDeckDescriptor.mnOrderIndex = getInt32(aDeckNode, "OrderIndex");
         rDeckDescriptor.mbExperimental = getBool(aDeckNode, "IsExperimental");
+        rDeckDescriptor.mbHiddenInViewerMode = getBool(aDeckNode, 
"HiddenInViewer");
 
         rDeckDescriptor.msNodeName = aDeckName;
 

Reply via email to