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;
